Commit graph

274 commits

Author SHA1 Message Date
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
Vsevolod Kremianskii
936d6d0a5c feat: Implement stunt models in conversations 2021-01-06 18:28:39 +07:00
Vsevolod Kremianskii
53f069e57d refactor: Extract abilities and skills from CreatureAttributes 2021-01-05 14:56:48 +07:00
Vsevolod Kremianskii
589919dd2d feat: Implement more of levelling up, refactor GUI
Extract duplicate GUI configuration into GameGUI.
2021-01-05 08:01:40 +07:00
Vsevolod Kremianskii
415f3c80d2 feat: Add support code for levelling up 2021-01-04 18:39:18 +07:00
Vsevolod Kremianskii
1ff8b46521 refactor: Drop CreatureConfiguration in favor of StaticCreatureBlueprint 2021-01-04 11:09:53 +07:00
Vsevolod Kremianskii
bd4cee6bde refactor: Refactor creature class management
Replace classutil with Classes and CreatureClass.
2021-01-03 12:09:30 +07:00
Vsevolod Kremianskii
956bca3d64 chore: Update year in copyright notices 2021-01-02 22:06:11 +07:00
Vsevolod Kremianskii
9dc0ddba6c feat: Add support for custom character generation (minus actual values) 2020-12-30 14:08:57 +07:00
Vsevolod Kremianskii
82716d8685 feat: Implement random name generation 2020-12-29 23:52:13 +07:00
Vsevolod Kremianskii
91bc755a06 feat: Implement time routines 2020-12-29 20:17:10 +07:00
Vsevolod Kremianskii
f4a37f15dd refactor: Rename CameraObject to PlaceableCamera to match nwscript.nss 2020-12-18 18:48:35 +07:00
Vsevolod Kremianskii
2128ca8bc1 refactor: Extract structs and classes from game/types.h 2020-12-18 16:22:14 +07:00
Vsevolod Kremianskii
58f5b6feaf refactor: Run scripts through the ScriptRunner class 2020-12-17 14:28:48 +07:00
Vsevolod Kremianskii
f923b24fef feat: Implement effect creation script routines 2020-12-12 16:44:51 +07:00
Vsevolod Kremianskii
901d07aecd refactor: Move damageresolver and factionutil into rp folder 2020-12-12 12:32:59 +07:00
Vsevolod Kremianskii
5e5305a713 refactor: Major refactoring of the scripting subsystem
- Use smart pointers for objects and engine types instead of ids
- Use helper functions to access routine arguments
2020-12-12 11:09:59 +07:00
Vsevolod Kremianskii
c24955f857 feat: Implement logging to a file 2020-12-11 15:35:51 +07:00
Vsevolod Kremianskii
525c0b3025 feat: Implement simple attack rolls and damage calculation 2020-12-10 17:26:28 +07:00
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