Commit graph

658 commits

Author SHA1 Message Date
Vsevolod Kremianskii
9191757d19 feat: Improve triggers
- Triggers track objects that are inside
- Triggers are triggered for all creatures, not just party leader
2020-11-12 12:55:41 +07:00
Vsevolod Kremianskii
bd0c6c4124 refactor: Move trigger intersection test inside the Trigger 2020-11-12 12:37:05 +07:00
Vsevolod Kremianskii
e6f6eebe93 feat: Implement IsObjectPartyMember routine 2020-11-12 12:27:20 +07:00
Vsevolod Kremianskii
2fc6fd71c3 feat: Implement OnEnter script for triggers 2020-11-12 12:09:09 +07:00
Vsevolod Kremianskii
4ec98e768e feat: Implement static cameras
This includes refactoring of the camera handling: camera type is moved
into the Game class.
2020-11-12 11:38:04 +07:00
Vsevolod Kremianskii
6c1b8b244c fix: Non-selectable objects do not contribute to ray casting 2020-11-11 16:08:11 +07:00
Vsevolod Kremianskii
d5fba043c1 fix: Increase max conversation distance 2020-11-11 16:02:53 +07:00
Vsevolod Kremianskii
3995514034 fix: Do not set default hilight color for main menu 2020-11-11 15:53:18 +07:00
Vsevolod Kremianskii
7c7efa624f fix: Fix creature appearance
When loading texture name from racetex, do not append a number to it.
2020-11-11 15:52:18 +07:00
Vsevolod Kremianskii
59965c3824 fix: Check collision with doors 2020-11-11 15:28:22 +07:00
Vsevolod Kremianskii
34c61a1825 perf: Make scene node visibility check earlier 2020-11-11 14:46:14 +07:00
Vsevolod Kremianskii
53ce918a64 fix: Use talkdummy node for object selection and conversations
This improves interaction with non-character creatures.
2020-11-11 14:42:12 +07:00
Vsevolod Kremianskii
5434305274 feat: Add ability to print debug info on selected object 2020-11-11 14:34:11 +07:00
Vsevolod Kremianskii
58358ce367 refactor: Move scene graph filling into the scene graph itself 2020-11-11 13:57:29 +07:00
Vsevolod Kremianskii
44f43df928 fix: Limit max walkmesh collision distance
This fixes collision detection bugs, e.g. in danm13.
2020-11-11 09:43:38 +07:00
Vsevolod Kremianskii
fa4ce53c65 feat: Add program option to immediately load a module 2020-11-11 09:09:03 +07:00
Vsevolod Kremianskii
a26082e9ea fix: Fix rancor and hutt transparency issues 2020-11-11 00:40:05 +07:00
Vsevolod Kremianskii
6bd8682257 feat: Disable frustum culling for individual model nodes
It produces visual artifacts, e.g. in tar_m02aa.
2020-11-11 00:37:20 +07:00
Vsevolod Kremianskii
34eebd3de4 fix: Improve mesh transparency identification
This fixes certain visual artifacts, e.g. in danm16.
2020-11-11 00:30:56 +07:00
Vsevolod Kremianskii
164aaed883 fix: Make lightsabers not affected by lighting 2020-11-10 23:36:03 +07:00
Vsevolod Kremianskii
95886c7dcf fix: Use transparency hint when sorting transparent meshes
This fixes certain visual artifacts.
2020-11-10 23:24:05 +07:00
Vsevolod Kremianskii
e1180766b4 feat: Implement frustum culling and distance sorting in the octree
Unused yet because of a performance penalty.
2020-11-10 22:50:24 +07:00
Vsevolod Kremianskii
4f0de94510 fix: Character models are always considered opaque
This fixes certain visual artifacts.
2020-11-10 19:22:12 +07:00
Vsevolod Kremianskii
375a92d7ef perf: Frustum cull individual model nodes as well as game objects
This adds up to 40 percent increase in FPS relative to a culling based
on glm::project.
2020-11-10 18:15:26 +07:00
Vsevolod Kremianskii
a490021d78 feat: Implement proper frustum culling
This yields a 30 percent improvement in FPS on my machine.
2020-11-10 17:19:57 +07:00
Vsevolod Kremianskii
ac0ad1b026 refactor: Move PthFile and DlgFile into game namespace 2020-11-10 14:49:01 +07:00
Vsevolod Kremianskii
743d0ebfd5 refactor: Move MdlFile and BwmFile to format folder 2020-11-10 14:27:59 +07:00
Vsevolod Kremianskii
7cf42df34c refactor: Move Mp3File and WavFile into format folder 2020-11-10 14:23:16 +07:00
Vsevolod Kremianskii
c6d381b11b refactor: Do not use glm in libresource and libscript 2020-11-10 14:07:02 +07:00
Vsevolod Kremianskii
015446c51b doc: Update modules diagram
[ci skip]
2020-11-10 13:57:40 +07:00
Vsevolod Kremianskii
f5deeb480e refactor: Rename libsystem to libcommon 2020-11-10 13:44:48 +07:00
Vsevolod Kremianskii
a467f52e6e refactor: Do not use glm in libaudio 2020-11-10 13:33:52 +07:00
Vsevolod Kremianskii
934e57cb3c feat: Add initial Octree implementation 2020-11-09 19:33:36 +07:00
Vsevolod Kremianskii
48bf44cf15 chore: Cleanup SceneGraph header file 2020-11-09 15:33:14 +07:00
Vsevolod Kremianskii
489f7e64e9 feat: Measure average FPS of a program execution 2020-11-09 14:59:13 +07:00
Vsevolod Kremianskii
06c443bd42 feat: Play consecutive sounds with an interval 2020-11-09 14:27:12 +07:00
Vsevolod Kremianskii
32c04ad0c7 feat: Implement environmental sounds 2020-11-09 14:20:50 +07:00
Vsevolod Kremianskii
5f2adc5e34 feat: Click to skip movies 2020-11-09 10:13:51 +07:00
Vsevolod Kremianskii
edd7c9b0bb fix: Fix overlaying of music and movie audio 2020-11-09 09:50:12 +07:00
Vsevolod Kremianskii
4f6ad28edd feat: Add a separate audio type for movies 2020-11-09 08:59:52 +07:00
Vsevolod Kremianskii
1e5ab10f8d feat: Play legal video for TSL as well as KotOR 2020-11-09 08:55:10 +07:00
Vsevolod Kremianskii
0ebd9f12bb feat: Implement audio playback in movies, refactor BikFile 2020-11-09 08:49:52 +07:00
Vsevolod Kremianskii
bd41a0ee59 build: Build with movie support by default 2020-11-08 22:04:54 +07:00
Vsevolod Kremianskii
1a50e274ff build: Enable libvideo compilation on Unix systems 2020-11-08 10:02:04 -05:00
Vsevolod Kremianskii
8545b1eb33 feat: Implement video playback using FFmpeg 2020-11-08 21:08:52 +07:00
Vsevolod Kremianskii
f0da4eaa89 fix: Fix loading resources with size 0 2020-11-08 18:24:37 +07:00
Vsevolod Kremianskii
d9b359ce85 feat: Progress on Bink video playback 2020-11-08 18:18:29 +07:00
Vsevolod Kremianskii
3982c241d8 feat: Initial save/load game implementation 2020-11-08 14:02:44 +07:00
Vsevolod Kremianskii
04dc2a87bd refactor: Streamline the BinaryFile class 2020-11-08 10:04:32 +07:00
Vsevolod Kremianskii
0d9962dc50 refactor: Make use of the StreamReader in the BinaryFile 2020-11-08 00:37:51 +07:00