Commit graph

247 commits

Author SHA1 Message Date
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
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
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
25bfe66cdd feat: Add scaffolding for video playback 2020-10-28 01:15:37 +07:00
Vsevolod Kremianskii
6dbbd46deb refactor: Confine OpenGL calls to librender 2020-10-26 11:11:58 +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
82cf6e3384 feat: Implement party management 2020-10-25 11:48:03 +07:00
Vsevolod Kremianskii
456663f383 feat: Implement showPartySelectionGUI routine 2020-10-22 09:58:33 +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
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
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
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
Vsevolod Kremianskii
51de55b6bf feat: Implement standard dialog camera angles 2020-10-14 16:56:27 +07:00
Vsevolod Kremianskii
975e53d1cc refactor: Extract findPortrait to a separate file 2020-10-12 07:58:35 +07:00
Vsevolod Kremianskii
b295610b4c refactor: Move color declarations to a separate header 2020-10-12 07:55:06 +07:00
Vsevolod Kremianskii
6061b325e2 refactor: Move util from game to audio namespace 2020-10-12 07:50:22 +07:00
Vsevolod Kremianskii
e0c75977d0 feat: Add placeholders for party management 2020-10-11 22:56:25 +07:00
Vsevolod Kremianskii
3575499033 test: Simplify unit test discovery 2020-10-11 16:56:50 +07:00
Vsevolod Kremianskii
a57fe44f97 refactor: Refactor actions into a class hierarchy 2020-10-11 16:14:15 +07:00
Vsevolod Kremianskii
aece694246 refactor: Rename actions to actionexecutor 2020-10-11 14:16:09 +07:00
Vsevolod Kremianskii
2d0f19bc0a refactor: Extract action queue into a separate class 2020-10-11 14:05:41 +07:00
Vsevolod Kremianskii
8e3b5f931a test: Fix running unit tests 2020-10-11 12:55:10 +07:00
Vsevolod Kremianskii
016673a245 build: Rename libengine to libsystem 2020-10-11 12:04:36 +07:00
Vsevolod Kremianskii
a9ed02b120 build: Compile Program class as part of the reone executable 2020-10-11 11:53:17 +07:00
Vsevolod Kremianskii
36e6855c5d build: Extract game logic to a separate static library
This is decouple engine subsystems from the game logic.
2020-10-11 11:02:29 +07:00
Vsevolod Kremianskii
c795188eab build: Output executables and static libraries to separate directories 2020-10-11 10:50:55 +07:00
Vsevolod Kremianskii
e097fde9fb refactor: Extract text input from console to a separate class 2020-10-11 09:46:34 +07:00
Vsevolod Kremianskii
5848249a7c refactor: Refactor 3D control initialization
Use builder pattern.
2020-10-10 21:28:09 +07:00
Vsevolod Kremianskii
e530440b2a test: Add first unit test 2020-10-10 15:25:36 +07:00
Vsevolod Kremianskii
12dd8a1ec0 ci: Fix Travis CI build 2020-10-10 15:09:20 +07:00
Vsevolod Kremianskii
9e10fa5943 build: Rewrite CMakeLists.txt using a static library 2020-10-10 15:00:01 +07:00
Vsevolod Kremianskii
0a1c5b41c6 feat: Implement more of character generation 2020-10-06 18:39:51 +07:00
Vsevolod Kremianskii
edd124afe6 feat: Initial quick or custom panel implementation 2020-10-03 21:50:16 +07:00
Vsevolod Kremianskii
cd5aceac1c refactor: Refactor GUI loading 2020-10-03 17:57:42 +07:00
Vsevolod Kremianskii
9a108fefb1 refactor: Refactor 3D control rendering
- Use a scene graph for rendering
- Extract rendering pipeline to separate classes
2020-10-03 16:19:43 +07:00
Vsevolod Kremianskii
bf2d908e3a refactor: Rename resource/archive to resource/collection 2020-10-03 08:11:07 +07:00
Vsevolod Kremianskii
5441474880 refactor: Refactor resources
- Rename resources namespace to resource
- Move blueprints to the resource namespace
2020-10-02 22:34:02 +07:00
Vsevolod Kremianskii
1bc0447d68 refactor: Rename multiplayer folder to mp 2020-10-02 16:33:20 +07:00
Vsevolod Kremianskii
08df98b6f8 refactor: Rename factory.(h|cpp) to objectfactory.(h|cpp) 2020-10-02 16:31:47 +07:00
Vsevolod Kremianskii
8477972b5c refactor: Move Area and Module classes into object folder 2020-10-02 16:24:50 +07:00
Vsevolod Kremianskii
1445cdb203 refactor: Extract action execution into a separate class 2020-10-02 16:14:07 +07:00
Vsevolod Kremianskii
3c1d94d876 refactor: Extract object selection into a separate class 2020-10-02 14:27:33 +07:00
Vsevolod Kremianskii
391ffb1823 refactor: Extract collision detection into a separate class 2020-10-02 13:08:33 +07:00
Vsevolod Kremianskii
11dc80a3aa refactor: Move player controls to the Player class 2020-10-01 20:01:45 +07:00
Vsevolod Kremianskii
ef2d119783 refactor: Rename NavMesh to Pathfinding 2020-09-29 23:11:50 +07:00
Vsevolod Kremianskii
63576e6317 refactor: Move cameras into game namespace 2020-09-29 23:02:46 +07:00
Vsevolod Kremianskii
98ae597500 refactor: Make camera part of a scene graph 2020-09-29 13:20:06 +07:00
Vsevolod Kremianskii
c253cf3638 refactor: Rename GUIQuad to Quad 2020-09-29 08:15:36 +07:00
Vsevolod Kremianskii
2d1662ebee feat: Render 3D controls using FBO 2020-09-28 23:11:00 +07:00
Vsevolod Kremianskii
0819b41a5e refactor: Combine Area and ObjectContainer classes 2020-09-28 17:39:22 +07:00
Vsevolod Kremianskii
72bba03898 refator: Remove IRoutineCallbacks interface 2020-09-28 16:18:05 +07:00
Vsevolod Kremianskii
d467c7f97a feat: Implement vanilla object selection 2020-09-28 11:56:10 +07:00
Vsevolod Kremianskii
5fc8880f9f feat: Implement equipment screen, get items from containers 2020-09-26 15:43:44 +07:00
Vsevolod Kremianskii
c0f5d7f347 feat: Initial console implementation 2020-09-25 23:59:24 +07:00
Vsevolod Kremianskii
4e0f6f67f7 feat: Improve pathfinding
- Use PTH files instead of dynamic graph creation
- Fix path always being skipped
- Remove pathfinding distance limit
2020-09-23 23:07:40 +07:00
Vsevolod Kremianskii
8e02dc9004 refactor: Refactor BlueprintManager, add placeholder blueprint classes 2020-09-23 08:56:22 +07:00
Vsevolod Kremianskii
cc2c342bde refactor: Rename templates to blueprints
Templates are a C++ term.
2020-09-23 08:16:17 +07:00
Vsevolod Kremianskii
a18d7d15c1 build: Fix build of tools 2020-09-19 08:10:46 +07:00
Vsevolod Kremianskii
e37ada215c refactor: Extract debug level management into a separate file 2020-09-19 08:01:11 +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
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
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
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
64b8ad60fd refactor: Refactor multiplayer, optimize message exchange 2020-08-16 20:29:51 +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
67384c7949 chore: Log conventional byte code names 2020-08-11 13:52:16 +07:00
Vsevolod Kremianskii
d419c059cf refactor: Move RoutineManager to game namespace 2020-08-10 16:27:43 +07:00
Vsevolod Kremianskii
44a25851f7 refactor: Move script management to ResourceManager 2020-08-10 12:47:18 +07:00
Vsevolod Kremianskii
9e974a845b chore(game): Rename GUI files and classes 2020-08-10 12:23:23 +07:00
Vsevolod Kremianskii
2900bfedfb refactor: Rename manager.(h|cpp) to resources.(h|cpp) 2020-08-10 11:59:02 +07:00
Vsevolod Kremianskii
e1598aaeae refactor: Refactor scripts, move routines to the game namespace 2020-08-10 11:53:19 +07:00
Vsevolod Kremianskii
bd26b5fd3d feat: Implement character generation: class and portrait selection 2020-08-08 23:26:44 +07:00
Vsevolod Kremianskii
bc19568369 refactor: Refactor GUI, use built-in module selection 2020-08-08 08:36:38 +07:00
Vsevolod Kremianskii
ad7a3b664a feat(game, gui): Implement dialog GUI 2020-08-07 08:12:28 +07:00
Vsevolod Kremianskii
94cca1981b feat(script): Implement scripting subsystem 2020-08-05 13:46:35 +07:00
Vsevolod Kremianskii
37fd02e55c refactor: Move tools to a separate executable 2020-08-05 07:46:56 +07:00
Vsevolod Kremianskii
0fa578e6a7 Change license to GNU GPL 3 2020-08-03 08:06:55 +07:00
Vsevolod Kremianskii
122f2c0a41 build: Add Boost.System dependency to CMakeLists.txt 2020-08-03 07:38:41 +07:00
Vsevolod Kremianskii
d479faefa2 Initial commit 2020-08-02 22:47:59 +07:00