Commit graph

293 commits

Author SHA1 Message Date
Vsevolod Kremianskii
71583fc53b refactor: Refactor singletons
- Remove aliases to make singleton calls explicit
- Rename Manager classes
2020-10-26 10:07:24 +07:00
Vsevolod Kremianskii
a867d6aa0f doc: Update the project architecture diagram
[ci skip]
2020-10-26 09:43:17 +07:00
Vsevolod Kremianskii
020c7387bf refactor: Split libsystem into multiple libraries
- Move each subsystem into a separate library
- Extract caches from ResourceManager to avoid circular dependencies
2020-10-26 09:21:21 +07:00
Vsevolod Kremianskii
e3fa1853dc chore: Fix end of namespace comments in resource namespace 2020-10-25 19:37:01 +07:00
Vsevolod Kremianskii
f6ac42000e fix: Fix party selection GUI loading in TSL 2020-10-25 14:20:55 +07:00
Vsevolod Kremianskii
6465566b32 feat: Add support for MOD files (lip sync, game saves) 2020-10-25 13:53:34 +07:00
Vsevolod Kremianskii
82cf6e3384 feat: Implement party management 2020-10-25 11:48:03 +07:00
Vsevolod Kremianskii
a87d59f83f feat: Party selection GUI progress 2020-10-24 13:42:42 +07:00
Vsevolod Kremianskii
88867b0406 chore: Update portraits in the equipment screen based on the party 2020-10-22 18:36:45 +07:00
Vsevolod Kremianskii
456663f383 feat: Implement showPartySelectionGUI routine 2020-10-22 09:58:33 +07:00
Vsevolod Kremianskii
ea16a4060f refactor: Automatically reset focus on control click 2020-10-22 08:29:02 +07:00
Vsevolod Kremianskii
fe1ab7a424 refactor: Prefer dependency injection to callbacks in concrete GUIs 2020-10-22 07:54:52 +07:00
Vsevolod Kremianskii
fce658500b ci: Fix build 2020-10-21 08:25:17 +07:00
Vsevolod Kremianskii
cca98f5298 feat: Implement more of party management 2020-10-20 21:33:26 +07:00
Vsevolod Kremianskii
72aec62ece fix: Fix collision detection between creatures 2020-10-20 19:47:44 +07:00
Vsevolod Kremianskii
cb155fd1c0 fix: Fix triggers not being triggerred 2020-10-20 19:27:29 +07:00
Vsevolod Kremianskii
752144b05d chore: Add virtual dtor to net::Command 2020-10-20 19:12:12 +07:00
Vsevolod Kremianskii
9240666c47 chore: Cleanup Game, Module and Area classes 2020-10-20 19:05:52 +07:00
Vsevolod Kremianskii
a0170b640b doc: Add drafts of the combat system diagrams
[ci skip]
2020-10-20 13:17:53 +07:00
Vsevolod Kremianskii
2dbd485570 doc: Rename classes.drawio to modules.drawio
[ci skip]
2020-10-20 11:47:40 +07:00
Vsevolod Kremianskii
744a38e383 refactor: Transfer responsibility from the Game class to concrete GUIs 2020-10-20 08:52:54 +07:00
Vsevolod Kremianskii
b35e91764d refactor: Refactor music handling in the Game class 2020-10-20 07:59:56 +07:00
Vsevolod Kremianskii
80df5f2e28 chore: Cleanup the Game class 2020-10-20 07:55:50 +07:00
Vsevolod Kremianskii
54deb15e89 refactor: Remove saving/loading state on module load
I want to come up with a better architecture.
2020-10-19 22:04:29 +07:00
Vsevolod Kremianskii
ab02686b3c refactor: Remove most of the multiplayer game logic
I want to come up with a better architecture.
2020-10-19 22:04:29 +07:00
Vsevolod Kremianskii
4e1b8d8690 refactor: Drop synchronize Object attribute
This is only used for the multiplayer.
2020-10-19 21:04:51 +07:00
Vsevolod Kremianskii
1162ee4eba fix: Fix Game.setLocalNumber method 2020-10-19 21:04:50 +07:00
Vsevolod Kremianskii
1a36e8060b refactor: Move CommandType enum into the mp library 2020-10-19 21:04:50 +07:00
Vsevolod Kremianskii
a01dbbb229 feat: Add first methods to the Party class 2020-10-19 20:30:36 +07:00
Vsevolod Kremianskii
279b9c3919 chore: Allocate temporary collections on the stack
This is to avoid race conditions in the future.
2020-10-19 16:28:00 +07:00
Vsevolod Kremianskii
6c5dca834e refactor: Use LightSceneNode for dynamic lighting
This is to support lights that are not part of a model.
2020-10-19 15:25:32 +07:00
Vsevolod Kremianskii
8a6eef8865 doc: Update the Project Architecture diagram
[ci skip]
2020-10-19 14:44:34 +07:00
Vsevolod Kremianskii
3aa51c5d34 refactor: Make scene a separate namespace 2020-10-19 14:01:37 +07:00
Vsevolod Kremianskii
a0d7a6e485 refactor: Extract core folder into the system folder 2020-10-19 13:36:09 +07:00
Vsevolod Kremianskii
2880ddf93a refactor: Move MultiplayerMode into mp library 2020-10-19 13:30:08 +07:00
Vsevolod Kremianskii
b2338b15ee refactor: Extract multiplayer code into a separate library
This is to reduce coupling between singleplayer and multiplayer.
2020-10-19 13:23:39 +07:00
Vsevolod Kremianskii
9fbf529a64 refactor: Extract libsystem sources into system folder 2020-10-19 13:11:01 +07:00
Vsevolod Kremianskii
48889f1599 doc: Update rendering system diagram
[ci skip]
2020-10-19 11:34:50 +07:00
Vsevolod Kremianskii
285c323db6 fix: Fix talking head animation 2020-10-19 11:07:50 +07:00
Vsevolod Kremianskii
349606a4be chore: Adjust animation blending
- Blend into walking and running animations
- Reduce transition duration to 250 ms
2020-10-19 10:50:23 +07:00
Vsevolod Kremianskii
5086f0c3b4 feat: Implement smooth transition between animations 2020-10-19 10:21:39 +07:00
Vsevolod Kremianskii
7aafa8a0bb refactor: Make all model nodes direct children of the ModelSceneNode
This is to simplify animation blending in the future.
2020-10-19 01:17:48 +07:00
Vsevolod Kremianskii
db651b47e4 chore: Cleanup SceneNodeAnimator 2020-10-18 12:59:06 +07:00
Vsevolod Kremianskii
c82c63dd17 refactor: Remove playAnimation overload for attached models 2020-10-18 08:25:27 +07:00
Vsevolod Kremianskii
cf6f1efd8d fix: Fix facial animation not playing when speaking 2020-10-18 08:09:09 +07:00
Vsevolod Kremianskii
b3a87aaa92 fix: Use center of AABB as speaker position for non-characters 2020-10-17 18:14:32 +07:00
Vsevolod Kremianskii
82c918c9ce feat: Implement two more standard dialog angles 2020-10-17 18:10:24 +07:00
Vsevolod Kremianskii
1a33641b5c fix: Fix animated camera behaviour
- Fix camera animation not being played
- If WaitFlags is set to 1, wait until the end of animation
- Use CamFieldOfView dialog entry field
2020-10-17 16:42:19 +07:00
Vsevolod Kremianskii
e8c0d1260f refactor: Refactor model scene nodes
- Extract animation code into the SceneNodeAnimator class
- Combine MeshSceneNode and LightSceneNode into ModelNodeSceneNode
- Make a ModelNodeSceneNode for every ModelNode
2020-10-17 15:55:07 +07:00
Vsevolod Kremianskii
c134ebd1f3 feat: Initial animated camera implementation 2020-10-15 22:12:22 +07:00