Commit graph

313 commits

Author SHA1 Message Date
Vsevolod Kremianskii
c3ba96b222 Rename rp folder in libgame into d20 2021-03-27 10:27:50 +07:00
Vsevolod Kremianskii
6a17b286e9 Cleanup Routines, unify code style in routine implementations 2021-03-26 16:44:24 +07:00
Vsevolod Kremianskii
80061cc43f Drop Action source files
They were redundant.
2021-03-25 00:34:31 +07:00
Vsevolod Kremianskii
70956e438d Store ExecutionContext as a smart pointer in Variable
This is to save space.
2021-03-24 23:51:42 +07:00
Vsevolod Kremianskii
c6deb588ec Implement more combat-related routines 2021-03-23 20:46:05 +07:00
Vsevolod Kremianskii
8a7885e19e Implement get*Target combat routines 2021-03-23 19:59:16 +07:00
Vsevolod Kremianskii
581984f7c0 Implement Get/SetNPCAIStyle 2021-03-23 18:37:16 +07:00
Vsevolod Kremianskii
6d35fdb455 Implement creature perception (sight and hearing) 2021-03-23 15:01:25 +07:00
Vsevolod Kremianskii
9c5be9b87a Refactor resource management
- Move GameID into libgame
- Move resource provider registration into Game
- Move GUI background loading into GameGUI
2021-03-23 13:21:24 +07:00
Vsevolod Kremianskii
e65ecd6ca4 Refactor animation keyframes 2021-03-22 22:40:36 +07:00
Vsevolod Kremianskii
ac55ac6a8d Read Danglymesh header and AABB tree from MDL 2021-03-22 19:27:54 +07:00
Vsevolod Kremianskii
100f318c81 Refactor MDL model loading
Read structs directly from memory.
2021-03-22 18:41:33 +07:00
Vsevolod Kremianskii
48bc91a675 Add ERF/MOD writer 2021-03-20 14:24:22 +07:00
Vsevolod Kremianskii
08fc51f3aa Improve grass rendering 2021-03-19 12:31:42 +07:00
Vsevolod Kremianskii
9143e884fc perf: Make drawSingle non-virtual in SceneNode 2021-03-18 23:47:56 +07:00
Vsevolod Kremianskii
0be6771175 feat: Load surface walkability from surfacemat.2da 2021-03-18 23:17:54 +07:00
Vsevolod Kremianskii
4eda8ce7a7 refactor: Replace dynamic casts with static casts in game objects 2021-03-16 15:13:57 +07:00
Vsevolod Kremianskii
d32d974545 Replace FPS counter with ProfileOverlay 2021-03-16 00:33:24 +07:00
Vsevolod Kremianskii
4d0483f487 feat: Load faction dispositions from repute.2da 2021-03-14 14:38:51 +07:00
Vsevolod Kremianskii
a45ad2fe27 feat: Implement MoveToLocation and FollowLeader actions 2021-03-14 13:57:02 +07:00
Vsevolod Kremianskii
c07cf9ee5d feat: Implement playing Ready animation 2021-03-14 13:14:32 +07:00
Vsevolod Kremianskii
498d6efd8d feat: Implement ActionWait 2021-03-14 10:11:33 +07:00
Vsevolod Kremianskii
3e2567a26f feat: Initial find nearest creature by criterias implementation 2021-03-12 22:24:31 +07:00
Vsevolod Kremianskii
5efd1e02b8 chore: Log caller tag when executing a script 2021-03-11 19:04:49 +07:00
Vsevolod Kremianskii
c120f8382e feat: Add Stopwatch utility class 2021-03-11 18:19:45 +07:00
Vsevolod Kremianskii
cee4c4b048 refactor: Move talktable management from Resources into Strings 2021-03-11 17:02:06 +07:00
Vsevolod Kremianskii
da7f5eebbb build: Rename launcher to reone-launcher 2021-03-11 16:21:39 +07:00
Vsevolod Kremianskii
be572da467 feat(tools): Add tool to create RIM archives from folders 2021-03-11 16:12:28 +07:00
Vsevolod Kremianskii
9ac90910ac build: Add _CRT_SECURE_NO_WARNINGS to all targets on WIN32 2021-03-11 14:59:18 +07:00
Vsevolod Kremianskii
0e9aa13753 refactor: Rename *File classes to *Reader 2021-03-11 14:58:55 +07:00
Vsevolod Kremianskii
ac8e2b47f0 build: Fix building launcher on Debian 2021-03-10 03:48:59 -05:00
Vsevolod Kremianskii
6b3f489ed5 feat(launcher): Group graphics settings under a static box 2021-03-10 10:21:56 +07:00
Vsevolod Kremianskii
675e933844 refactor: Differentiate GOG TSL from Steam TSL
Steam TSL has slightly different cursors in the executable.
2021-03-10 00:58:11 +07:00
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
Vsevolod Kremianskii
da1880d1db refactor: Move file loaders into format subdirectory 2021-01-19 13:56:51 +07:00
Vsevolod Kremianskii
6b56f7de24 refactor: Give concrete names to util files 2021-01-19 12:59:00 +07:00
Vsevolod Kremianskii
e1a9b981ee refactor: Reuse KeyBifProvider in the ModuleProbe tool 2021-01-19 12:37:04 +07:00
Vsevolod Kremianskii
e52912dd8a refactor: Extract Key/BIF handling into a separate class 2021-01-19 11:59:56 +07:00
Vsevolod Kremianskii
33345559e9 refactor: Refactor and document Resources
Make resource caches non-static members of the class.
2021-01-19 11:40:16 +07:00
Vsevolod Kremianskii
793cb45b22 refactor: Use file extensions in ResourceType, extract IResourceProvider 2021-01-19 10:53:12 +07:00
Vsevolod Kremianskii
6fd165cd38 feat: Add ModuleProbe tool
ModuleProbe generates a JSON file describing a game module.
2021-01-18 00:48:16 +07:00
Vsevolod Kremianskii
4be0627f2e fix: Fix cube map side order and orientation
- Swap +x and -x faces
- Rotate individual cube faces to match what the original engine does
2021-01-14 21:58:24 +07:00
Vsevolod Kremianskii
672f86fecf feat: Implement TPC to TGA conversion in reone-tools 2021-01-13 20:30:48 +07:00
Vsevolod Kremianskii
ac2a7ae2b4 feat: Add s3tc library 2021-01-13 16:45:31 +07:00
Vsevolod Kremianskii
b585bb79a8 feat: Properly implement fountain emitters 2021-01-11 17:23:39 +07:00
Vsevolod Kremianskii
0f26b589ff feat: Initial fountain emitter implementation 2021-01-10 20:13:21 +07:00
Vsevolod Kremianskii
7eb38cea59 feat: Implement partial emitter loading 2021-01-10 15:24:29 +07:00
Vsevolod Kremianskii
127022a0d9 refactor: Refactor combat, fix TSL crashes 2021-01-10 11:38:21 +07:00
Vsevolod Kremianskii
cd0772bb06 feat: Load class saving throws 2021-01-10 11:17:15 +07:00
Vsevolod Kremianskii
097c518d72 feat: Implement GetItemPossessedBy 2021-01-08 17:46:17 +07:00
Vsevolod Kremianskii
2c219022e1 feat: Implement playAnimation action 2021-01-06 20:27:47 +07:00