Commit graph

1359 commits

Author SHA1 Message Date
Vsevolod Kremianskii
14669e5e9e refactor: Refactor fragment shaders, optimize dynamic lighting
- Cache lights per model scene node
- Limit fragment color by the texture color
- Enable dynamic lighting in all shaders
- Reuse common fragment shader code
- Account for light multiplier and attenuation
2020-09-22 10:36:38 +07:00
Vsevolod Kremianskii
f8488ee537 fix: Fix TSL animation problems after refactoring 2020-09-21 13:39:08 +07:00
Vsevolod Kremianskii
025145588d feat: Improve dynamic lighting
- Increase max light count to 8
- Sort by priority first, then by distance to light
2020-09-21 08:19:58 +07:00
Vsevolod Kremianskii
c6f2ee69a8 feat: Initial dynamic light implementation 2020-09-20 23:20:17 +07:00
Vsevolod Kremianskii
edbad211d9 doc: Restructure readme file
[ci skip]
2020-09-20 19:30:00 +07:00
Vsevolod Kremianskii
68730a4d7a doc: Add Similar Projects section to the readme file 2020-09-20 17:06:17 +07:00
Vsevolod Kremianskii
14d9975dc4 feat: Use VIS file to hide invisible rooms and objects 2020-09-20 13:15:11 +07:00
Vsevolod Kremianskii
597a126699 refactor: Cleanup, minor refactoring 2020-09-20 09:58:18 +07:00
Vsevolod Kremianskii
a18d7d15c1 build: Fix build of tools 2020-09-19 08:10:46 +07:00
Vsevolod Kremianskii
d2e5c2b5d5 chore: Remove unused includes 2020-09-19 08:05:53 +07:00
Vsevolod Kremianskii
e37ada215c refactor: Extract debug level management into a separate file 2020-09-19 08:01:11 +07:00
Vsevolod Kremianskii
e69621e07b fix: Fix Clang compilation 2020-09-19 07:49:09 +07:00
Vsevolod Kremianskii
0d50e1e07d refactor: Optimize scene graph rendering
Create mesh scene nodes once per model scene node
2020-09-18 23:31:02 +07:00
Vsevolod Kremianskii
f1ee974e72 refactor: Rename ModelInstance to ModelSceneNode 2020-09-16 13:39:58 +07:00
Vsevolod Kremianskii
c35ab726ad feat: Implement FPS counter 2020-09-16 08:48:39 +07:00
Vsevolod Kremianskii
430a37263f refactor: Rename ModelSceneNode to MeshSceneNode 2020-09-15 22:23:26 +07:00
Vsevolod Kremianskii
06051bd3ab refactor: Group MDL model classes into model folder 2020-08-27 08:40:51 +07:00
Vsevolod Kremianskii
05be195132 refactor: Remove excessive calls to initGL
Initialize GL resources at load.
2020-08-27 08:25:05 +07:00
Vsevolod Kremianskii
f26ed703fc refactor: Extract object management from Area into ObjectContainer
Also optimize searching objects by tag and id.
2020-08-27 07:57:52 +07:00
Vsevolod Kremianskii
06c9ec0513 refactor: Refactor area rendering
- Change render list to scene graph
- Sort only transparent nodes
2020-08-27 00:01:21 +07:00
Vsevolod Kremianskii
e231833bf2 refactor: Refactor items
- Rename Item to ItemTemplate
- Add Item game object
2020-08-26 20:00:56 +07:00
Vsevolod Kremianskii
bfc350bbbd chore: Fix Clang compilation issues 2020-08-26 18:36:01 +07:00
Vsevolod Kremianskii
8890a1bd82 refactor: Refactor game objects
- Split Object class into Object and SpatialObject
- Inherit Module and Area from Object
- Move object creation into (Multiplayer)ObjectFactory class
2020-08-26 18:21:57 +07:00
Luis Cáceres
c34eba71d0 chore: Accept moved or copied Action in Creature::enqueueAction
Callers of Creature::enqueueAction (such as some methods in game/script/routines_common.cpp) often try to perform a move, but since the old Creature::enqueueAction accepted only a const ref, it ended up copying instead of moving.

This fixes that, and allows for both copies and moves into Creature::enqueueAction.
2020-08-26 18:05:25 +07:00
Luis Cáceres
7bd4b3e161 fix: Missing include <atomic> 2020-08-26 17:00:42 +07:00
Vsevolod Kremianskii
9e97335433 style: Use raw string literals for shaders 2020-08-24 09:40:35 +07:00
Vsevolod Kremianskii
78a16fda22 feat: Load light properties from MDL file 2020-08-24 08:32:53 +07:00
Vsevolod Kremianskii
f6ccbb75d1 fix: Fix rancor/hutt transparency issues 2020-08-23 22:27:28 +07:00
Vsevolod Kremianskii
13fb08e3b5 fix: Fix animation scaling (c_rancors) 2020-08-23 22:05:17 +07:00
Vsevolod Kremianskii
fbf49399f5 feat: Partially implement item containers 2020-08-23 21:02:59 +07:00
Vsevolod Kremianskii
2fdd2b203d feat: Implement 3D controls 2020-08-23 16:26:35 +07:00
Vsevolod Kremianskii
593284f108 feat: Load cursors from executable file 2020-08-18 16:37:24 +07:00
Vsevolod Kremianskii
1f23e8301e feat: Implement dialog synchronization in multiplayer 2020-08-16 23:47:17 +07:00
Vsevolod Kremianskii
64b8ad60fd refactor: Refactor multiplayer, optimize message exchange 2020-08-16 20:29:51 +07:00
Vsevolod Kremianskii
2e73eca295 chore: Log TCP events with debug level 2 and 3 2020-08-16 11:33:08 +07:00
Vsevolod Kremianskii
b2cfe9322a chore: Do not load main menu in client mode 2020-08-16 11:31:26 +07:00
Vsevolod Kremianskii
8f388b7939 feat: Make Carth/Bastila and Atton/Kreia the default party 2020-08-16 10:18:35 +07:00
Vsevolod Kremianskii
1906b20b7a feat: Play head talk animation at 25% speed 2020-08-16 09:58:57 +07:00
Vsevolod Kremianskii
c81b14ff20 fix(game): Fix talk animation not playing after moving 2020-08-16 09:37:38 +07:00
Vsevolod Kremianskii
2f1a839377 feat: Implement searching for nth object by tag 2020-08-15 11:41:01 +07:00
Vsevolod Kremianskii
78db64d5bc feat: Play separate talk animation for head and body 2020-08-15 11:41:01 +07:00
Vsevolod Kremianskii
6aac395452 feat: Implement cursor rendering 2020-08-14 14:37:24 +07:00
Vsevolod Kremianskii
65e1b7006f chore: Do not add QueueEmpty action to creatures 2020-08-14 12:39:26 +07:00
Vsevolod Kremianskii
289ed25a57 feat: Play music during main menu and chargen 2020-08-14 12:30:20 +07:00
Vsevolod Kremianskii
cfd689e4b5 feat: Show gender and class description during class selection 2020-08-14 11:21:01 +07:00
Vsevolod Kremianskii
aa4f9224ad refactor: Split Area definition into multiple files 2020-08-14 09:46:34 +07:00
Vsevolod Kremianskii
e5163aa787 feat: Add script actions to the action queue 2020-08-14 09:08:34 +07:00
Vsevolod Kremianskii
e7de31ffa5 fix(game): Use object id instead of tag for dialog speakers 2020-08-12 10:02:57 +07:00
Vsevolod Kremianskii
eb3eb08de0 feat: Implement dialog reply selection using numeric keys 2020-08-12 08:52:55 +07:00
Vsevolod Kremianskii
90687ac5fd fix(game): Remove restrictions from local booleans/numbers 2020-08-12 08:34:51 +07:00