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
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