Commit graph

230 commits

Author SHA1 Message Date
Vsevolod Kremianskii
b5a44bc98e feat(launcher): Add game directory selection and configuration saving 2021-03-09 22:43:53 +07:00
Vsevolod Kremianskii
9ba8da5ab4 feat: Add basic launcher executable
Barely useful at this point.
2021-03-09 21:19:55 +07:00
Vsevolod Kremianskii
4d46f9c292 chore: Drop experimental multiplayer code
It was supposed to be rewritten either way.
2021-03-08 14:56:18 +07:00
Vsevolod Kremianskii
32e81a037b build: Make libvideo non-optional 2021-03-08 14:45:59 +07:00
Vsevolod Kremianskii
df8fec4193 chore: Drop support for SWTOR assets
This doesn't really add to the project.
2021-03-08 12:33:50 +07:00
Vsevolod Kremianskii
013f746cff chore: Drop JobExecutor class
It is unused and is not available on Ubuntu 18.04 out of the box.
2021-03-08 12:18:05 +07:00
Vsevolod Kremianskii
46f9d2024e feat: Load more data from the walkmesh files 2021-03-08 12:06:33 +07:00
Vsevolod Kremianskii
989d39c651 feat: Implement ProgressBar, show loading screen progress 2021-02-27 12:35:03 +07:00
Vsevolod Kremianskii
1eb43b00a1 feat: Make alpha and self-illumination color animatable properties 2021-02-24 21:23:29 +07:00
Vsevolod Kremianskii
6c2d51f161 feat: Implement GFF writer 2021-02-22 16:29:05 +07:00
Vsevolod Kremianskii
ceaac82d8a refactor: Refactor 2DA and GFF file formats
- Separate data structures and format handling
- Convert TwoDaRow into a POD structure
2021-02-21 23:33:30 +07:00
Vsevolod Kremianskii
6ae62610e9 feat: Add empty Encounter(Blueprint) classes 2021-02-21 11:59:28 +07:00
Vsevolod Kremianskii
7a44fcd278 refactor: Drop nested types.h files for simplicity 2021-02-21 10:31:13 +07:00
Vsevolod Kremianskii
565d6e0bd2 build: Use GLM from external by default 2021-02-21 08:46:49 +07:00
Vsevolod Kremianskii
52348d13a9 feat: Enable lightmaps in PBR, tweak follow distance and mouse sensitivity 2021-02-15 15:56:10 +07:00
Vsevolod Kremianskii
8a7a00069f feat: In PBR setting convert self-illuminated nodes to light sources 2021-02-15 00:16:56 +07:00
Vsevolod Kremianskii
7f5a47dee6 perf: Implement instanced particle rendering 2021-02-14 16:06:30 +07:00
Vsevolod Kremianskii
721e8c3e58 refactor: Use a single PixelFormat enum for textures and renderbuffers 2021-02-14 13:06:09 +07:00
Vsevolod Kremianskii
88c78c8bae feat: Add OpenGL renderbuffer abstraction 2021-02-14 11:59:34 +07:00
Vsevolod Kremianskii
df61386f9a refactor: Move scene animation classes into animation folder 2021-02-14 10:20:13 +07:00
Vsevolod Kremianskii
4f3e28d8df refactor: Delete CubeSceneNode in favor of MeshSceneNode 2021-02-14 10:11:17 +07:00
Vsevolod Kremianskii
1d72765265 refactor: Reorganize librender files 2021-02-14 09:36:57 +07:00
Vsevolod Kremianskii
730263881f refactor: Replace Singleton with boost::noncopyable 2021-02-14 08:55:35 +07:00
Vsevolod Kremianskii
d6d14fed0e refactor: Move mesh management into Meshes class 2021-02-13 23:57:35 +07:00
Vsevolod Kremianskii
78e8126961 refactor: Add Singleton base class to reduce duplication 2021-02-13 22:14:28 +07:00
Vsevolod Kremianskii
bdd369f5e4 feat: Finalize PBR support, refactor shaders
- Implement loading materials from material.2da
- Fix BRDF lookup texture creation
- Add a global variable to switch between PBR and Blinn-Phong
2021-02-13 18:46:31 +07:00
Vsevolod Kremianskii
9ff3227c3a feat: Enable loading metallic and roughness from lookup table 2021-02-12 21:19:31 +07:00
Vsevolod Kremianskii
c927bffce8 feat: Implement specular IBL as part of PBR
While at it, refactor framebuffer and texture abstractions.
2021-02-12 19:28:02 +07:00
Vsevolod Kremianskii
157c562ab9 feat: Implement physically based rendering 2021-02-12 02:05:30 +07:00
Vsevolod Kremianskii
8df62d5b48 refactor: Refactor SceneNodeAnimator
AnimationChannel is extracted into a separate class.
2021-02-11 16:51:42 +07:00
Vsevolod Kremianskii
2566e0d1e4 feat: Implement loading LIP files in conversations 2021-02-10 17:54:55 +07:00
Vsevolod Kremianskii
2f4d568c15 refactor: Streamline and cleanup tools 2021-02-09 14:53:53 +07:00
Vsevolod Kremianskii
41dca204fa feat: Add JSON to 2DA conversion tool 2021-02-09 12:40:14 +07:00
Vsevolod Kremianskii
3f3fe8663e refactor: Merge libnet into libmp 2021-02-08 17:26:42 +07:00
Vsevolod Kremianskii
4fa24a2842 refactor: Reimplement GR2 models and JBA animations
Still not working properly...
2021-02-08 02:05:19 +07:00
Vsevolod Kremianskii
ed1731c4b7 refactor: Move models(.h|.cpp) into model folder 2021-02-07 22:36:55 +07:00
Vsevolod Kremianskii
f9e54cbd10 refactor: Move libmp, libnet and libtor into experimental folder 2021-02-07 20:54:11 +07:00
Vsevolod Kremianskii
b90c1d9f4a refactor: Move TOR support code into a separate library 2021-02-07 20:45:10 +07:00
Vsevolod Kremianskii
c23100b95e feat: Add partial support for SWTOR animations 2021-02-04 22:37:49 +07:00
Vsevolod Kremianskii
2b0e9fa9d4 feat: Add support for GR2 model files (SWTOR) 2021-01-31 22:14:52 +07:00
Vsevolod Kremianskii
4b323899d6 feat: Render trigger geometry, toggleable by a flag 2021-01-31 14:09:03 +07:00
Vsevolod Kremianskii
e900157122 feat(render): Add LIP file support (untested) 2021-01-31 10:33:19 +07:00
Vsevolod Kremianskii
43bc1ac9ec feat: Implement combat sounds
- Party leader selection sound
- Death sound
- Ranged weapon shot sound

Also refactor sound set handling as part of this commit.
2021-01-31 01:31:37 +07:00
Vsevolod Kremianskii
53fbfe49fc feat(game): Implement map notes 2021-01-30 23:22:15 +07:00
Vsevolod Kremianskii
3bc66751f7 fix: Fix rendering of multiline listbox items 2021-01-28 15:49:34 +07:00
Vsevolod Kremianskii
2c6955bd22 refactor: Refactor conversations
Computer conversation is now a separate GUI.
2021-01-28 13:54:16 +07:00
Vsevolod Kremianskii
19d6981290 feat: Implement one-line conversations 2021-01-27 21:10:20 +07:00
Vsevolod Kremianskii
27645f5d38 feat: Implement onClick and onEnter GUI sounds 2021-01-20 16:32:46 +07:00
Vsevolod Kremianskii
d0d5d1eeed feat: Implement loading creatures sound sets 2021-01-20 01:47:33 +07:00
Vsevolod Kremianskii
c68e631c89 chore: Cleanup and document SceneNodeAnimator 2021-01-19 14:20:16 +07:00