Commit graph

195 commits

Author SHA1 Message Date
Vsevolod Kremianskii
0fcb37f45f refactor: Extract creature animation handling into a separate class 2020-12-10 13:48:40 +07:00
Vsevolod Kremianskii
798eb3f809 refactor: Rename files with utility functions in libgame
- characters to characterutil
- classes to classutil
- colors to colorutil
- factions to factionutil
- portraits to portraitutil
2020-12-10 13:09:54 +07:00
Vsevolod Kremianskii
534c9f92eb chore: Remove unused WaypointBlueprint 2020-12-09 20:30:45 +07:00
UW Admin
2508f4fc28 nit: style and fix build error. 2020-12-07 22:28:08 +07:00
Vsevolod Kremianskii
5677bf29cb refactor: Refactor map
- Extract map logic into a separate class
- Load map properties as part of the area
2020-12-07 08:38:31 +07:00
Vsevolod Kremianskii
249270c2e0 feat: Implement video streaming 2020-12-06 15:00:18 +07:00
Vsevolod Kremianskii
c4dc990bec refactor: Move AABB class into libcommon 2020-11-28 22:26:39 +07:00
Vsevolod Kremianskii
2fb0183bbe refactor: Restructure classes in librender
- Rename format folder into image
- Move MdlFile class into model folder
- Move BwmFile class into the parent folder
2020-11-28 21:32:56 +07:00
Vsevolod Kremianskii
e409d8314f chore: Remove Octree class
It is redundnant and is unlikely to be used.
2020-11-28 15:13:32 +07:00
Vsevolod Kremianskii
26e9473db6 refactor: Move scene node classes into a separate folder 2020-11-28 15:09:02 +07:00
Vsevolod Kremianskii
5d43bc0572 refactor: Move rendering pipelines into libscene 2020-11-28 14:15:40 +07:00
Vsevolod Kremianskii
f66791aaa4 refactor: Refactor combat
Streamline timers, switch from real-time to turn-based combat.
2020-11-21 19:13:05 +07:00
Vsevolod Kremianskii
83c69e1010 chore: Switch to a centralized copyright notice
Contributors are listed in a separate CONTRIBUTORS file.
2020-11-18 13:06:55 +07:00
Vsevolod Kremianskii
4d12a769af refactor: Cleanup combat, split timer classes, fix style issues 2020-11-17 16:52:48 +07:00
Vsevolod Kremianskii
e61c8fdd71 Merge remote-tracking branch 'uwadmin12/combat-basic' into combat-basic 2020-11-17 13:29:20 +07:00
Vsevolod Kremianskii
88571f3840 feat: Implement force move and jump actions 2020-11-16 21:46:40 +07:00
UW Admin
491aadac34 fix: style issues per request 2020-11-16 01:14:10 -05:00
Vsevolod Kremianskii
e5f15f2c4a refactor: Drop custom vector and quaternion classes
They were redundant with no real benefit.
2020-11-16 12:45:36 +07:00
Vsevolod Kremianskii
390b7bde91 feat: Implement location script routines 2020-11-16 11:48:21 +07:00
Vsevolod Kremianskii
7537960c03 build: Link against libatomic on Unix systems 2020-11-15 07:58:05 -05:00
Vsevolod Kremianskii
aa128580ab refactor: Split script routine implementations into multiple files 2020-11-15 18:17:21 +07:00
Vsevolod Kremianskii
28168f9a23 reactor: Make CreatureAttributes a class 2020-11-15 17:08:52 +07:00
Vsevolod Kremianskii
cfa652575e refactor: Confine all OpenAL calls to the audio thread
To make sure, return SoundHandle, not SoundInstance from the
AudioPlayer.
2020-11-14 23:42:18 +07:00
UW Admin
8d7b55e7cf feat: basic combat architecture. 2020-11-14 01:08:25 -05:00
Brian Allred
a70264c394 fix: Fix building on Windows (broken by previous fix) 2020-11-13 08:29:19 +07:00
Brian Allred
0c74db9a6d fix: Fix building on certain Linux distros 2020-11-13 08:29:19 +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
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
f5deeb480e refactor: Rename libsystem to libcommon 2020-11-10 13:44:48 +07:00
Vsevolod Kremianskii
934e57cb3c feat: Add initial Octree implementation 2020-11-09 19:33:36 +07:00
Vsevolod Kremianskii
32c04ad0c7 feat: Implement environmental sounds 2020-11-09 14:20:50 +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
a182063e2e refactor: Add StreamReader and StreamWriter classes 2020-11-07 23:52:53 +07:00
Vsevolod Kremianskii
304520473b feat: Add bare in-game options and save/load menus 2020-11-07 12:43:30 +07:00
Vsevolod Kremianskii
07d13abbeb refactor: Rename game/gui/menu to game/gui/ingame 2020-11-07 10:47:13 +07:00
Vsevolod Kremianskii
f735bd673d feat: Load character attributes from blueprint and during chargen 2020-11-06 13:08:23 +07:00
Vsevolod Kremianskii
c4d31c6a51 feat: Add bare versions of the remaining in-game menus 2020-11-05 01:25:52 +07:00
Vsevolod Kremianskii
0d59555718 feat: Add bare inventory and character menus, refactor in-game menus 2020-11-03 11:01:59 +07:00
Vsevolod Kremianskii
47bb4f0e7e chore: Add a custom program icon 2020-11-02 22:53:29 +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
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
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