Commit graph

428 commits

Author SHA1 Message Date
Vsevolod Kremianskii
a54c3d16d3 fix: Fix object selection on mouse motion 2020-11-01 15:16:39 +07:00
Vsevolod Kremianskii
39804cb4d2 feat: Change cursor based on the selected object 2020-11-01 14:26:25 +07:00
Vsevolod Kremianskii
bfe467dab0 chore: Replace Unicode copyright symbol with "(c)"
This is to improve code portability.
2020-10-31 16:19:51 +07:00
Vsevolod Kremianskii
634d7e27a4 fix: Use up to 8 buffers per sound instance
This fixes a bug I have on Linux.
2020-10-31 16:09:29 +07:00
Vsevolod Kremianskii
f1262595d0 feat: Object activation adds actions to the action queue 2020-10-30 10:35:03 +07:00
Vsevolod Kremianskii
bd4e42fba9 fix: Fix animated camera being updated twice per frame 2020-10-30 08:36:10 +07:00
Vsevolod Kremianskii
1e45cf2f0c refactor: Refactor object clicking in the Module class 2020-10-30 08:33:57 +07:00
Vsevolod Kremianskii
d4b577041a refactor: Move call to SceneGraph::prepare to Game::drawWorld 2020-10-29 10:53:30 +07:00
Vsevolod Kremianskii
83f25e5d6b refactor: Remove UpdateContext struct 2020-10-29 10:52:12 +07:00
Vsevolod Kremianskii
cc042d98e7 refactor: Move active camera tracking to the Game class
This fixes a bug with certain objects being hidden when in conversation.
2020-10-29 10:46:11 +07:00
Vsevolod Kremianskii
b6dfb6bb88 fix: Fix use-after-free in SceneNode::removeChild 2020-10-29 09:52:03 +07:00
Vsevolod Kremianskii
1f769e90b1 build: Fix compilation error on Debian 2020-10-29 09:43:35 +07:00
Vsevolod Kremianskii
2542dc13e0 build: Implicitly link against Boost.System
This fixes a compilation error on Debian using GCC.
2020-10-29 09:31:28 +07:00
Vsevolod Kremianskii
139b5656e2 refactor: Update visiblity per frame in a centralized fashion 2020-10-28 13:00:47 +07:00
Vsevolod Kremianskii
bd41f7c9a2 refactor: Extract declarations from game/types.h
- Move MovementType to the Creature class
- Move CameraType and CameraStyle into the camera folder
- Move ObjectType into the object folder
2020-10-28 12:32:39 +07:00
Vsevolod Kremianskii
030c02b14b refactor: Use vector of pairs for class levels 2020-10-28 11:04:23 +07:00
Vsevolod Kremianskii
4c9fe75c9c fix: Fix selection reticle display when target is behind camera 2020-10-28 10:33:38 +07:00
Vsevolod Kremianskii
2bb0428add refactor: Simplify HUD updates
Get camera matrices directly from the Game object.
2020-10-28 10:26:43 +07:00
Vsevolod Kremianskii
8f3af5a5b0 feat: Add more RP definitions 2020-10-28 10:21:55 +07:00
Vsevolod Kremianskii
98e949783d refactor: Refactor HUD
- Remove context classes: HUD and overlays now query the Game object
- Remove debug functionality: I want to redesign it
2020-10-28 10:00:38 +07:00
Vsevolod Kremianskii
8994cfa26b feat: Add scaffolding for the role-playing system 2020-10-28 08:54:52 +07:00
Vsevolod Kremianskii
577c48293d refactor: Move Blueprints class to the blueprint folder 2020-10-28 08:32:16 +07:00
Vsevolod Kremianskii
3283ebd702 refactor: Move video code to a separate library 2020-10-28 08:28:00 +07:00
Vsevolod Kremianskii
671a252bad fix: Fix crash in equipment screen 2020-10-28 01:38:46 +07:00
Vsevolod Kremianskii
25bfe66cdd feat: Add scaffolding for video playback 2020-10-28 01:15:37 +07:00
Vsevolod Kremianskii
32d050cd0a feat: Implement switching the party leader 2020-10-28 00:00:02 +07:00
Vsevolod Kremianskii
9ca1d7a29a refactor: Move party tracking responsibility from Area to the Game class 2020-10-27 23:25:38 +07:00
Vsevolod Kremianskii
97b606e029 refactor: Persist party members in the Party class 2020-10-27 12:42:01 +07:00
Vsevolod Kremianskii
c67902d1dd feat: Create party members from blueprints if available 2020-10-27 12:17:56 +07:00
Vsevolod Kremianskii
b638551c00 refactor: Store and reuse loaded modules
This is how global game state will be tracked.
2020-10-27 11:34:37 +07:00
Vsevolod Kremianskii
52ad37ea25 refactor: Make Resources.getString return a string 2020-10-26 13:23:48 +07:00
Vsevolod Kremianskii
72432858c3 refactor: Cleanup Resources class 2020-10-26 13:15:07 +07:00
Vsevolod Kremianskii
8794e74a5d refactor: Simplify dependency injection when Game is injected 2020-10-26 12:09:24 +07:00
Vsevolod Kremianskii
6dbbd46deb refactor: Confine OpenGL calls to librender 2020-10-26 11:11:58 +07:00
Vsevolod Kremianskii
807b00e0e3 refactor: Remove librender dependency on libscene 2020-10-26 10:41:54 +07:00
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