Daniel Evans
34c70b0be2
Allow ModelFrame, Atomic, Geometry to exist outside of a Clump
...
This changes the Clump data structure to simplify it and move some
of the concerns into the Atomic and Frame types.
2017-02-08 21:44:25 +00:00
Daniel Evans
a0eaf5b8b0
Move Atomic and Geometry out of Clump class
2017-02-08 21:44:25 +00:00
Daniel Evans
8e4d73fca9
Rename Model -> Clump
2017-02-08 21:44:25 +00:00
Daniel Evans
162ff258c8
Load ped group data
2017-02-08 20:30:30 +00:00
Daniel Evans
79533fac8a
Load ped type relationship data
2017-02-08 20:30:30 +00:00
Daniel Evans
4f5987c7b0
Load and associated pedstats with ped models
2017-02-08 20:30:29 +00:00
Daniel Evans
bb6698e373
Implement Hierarchy of game ZoneData
...
This allows querying of the most specific ZoneData for a given point
2017-01-30 00:24:44 +00:00
Daniel Evans
8d10c80196
Remove all traces of WorkContext
2016-12-02 01:00:22 +00:00
Daniel Evans
b65a513bbb
Remove usages of WorkContext
2016-12-02 00:56:38 +00:00
Daniel Evans
9c8690bfae
Fix Control enum order which was causing excessive aliasing
2016-11-19 23:50:34 +00:00
Daniel Evans
d62e8a6cd2
Make MenuEntry height a property of the Menu
2016-10-24 21:29:41 +01:00
Daniel Evans
613d386488
Improve Menu system implementation
2016-10-24 21:29:41 +01:00
Daniel Evans
5c78930c1b
Remove InventoryItem and WeaponItem
...
They served no purpose other than to awkwardly implement weapon firing
This is now handled in the Weapon::fire* functions, and everything else
has been changed to reference weapon data or inventory indices directly
2016-10-19 22:14:52 +01:00
Daniel Evans
462479b992
Remove ResourceHandle.hpp
2016-10-05 22:38:35 +01:00
Daniel Evans
9b45a31834
Remove BackgroundLoader.hpp
2016-10-05 22:38:35 +01:00
Daniel Evans
62ad6b8628
Remove monolithic model list
2016-10-05 22:38:03 +01:00
Daniel Evans
6951434be8
Load objects directly
2016-09-27 22:49:08 +01:00
Daniel Evans
218ffdf66c
Load and associate model data when creating objects
2016-09-27 22:49:07 +01:00
Daniel Evans
6888fa3558
Load and associate MODELFILE entries
2016-09-27 22:48:48 +01:00
Daniel Evans
996a82c4bf
Overhaul Model data handling to improve accuracy
2016-09-27 22:48:45 +01:00
Daniel Evans
707ee4b32a
Rename ObjectData.hpp -> ModelData.hpp
2016-09-11 02:59:02 +01:00
Daniel Evans
3015b7f3e0
clang-format files in tests
2016-09-09 21:13:22 +01:00
Daniel Evans
7b7e65e002
Fix file include path in test_FileIndex.cpp
2016-09-09 21:13:15 +01:00
Daniel Evans
0abfc695fb
Remove GameData::openFile
...
The openFile API is not useful for implementing the correct
behaviour, so the underlying FileIndex method will be removed
soon.
2016-09-07 22:06:38 +01:00
Daniel Evans
d7dea62f04
remove unused method FileIndex::findFile
2016-09-07 22:06:38 +01:00
dan
810c6658d0
use openFilePath to open data files
2016-09-07 22:06:38 +01:00
Daniel Evans
03309d76d9
Don't defer loading IDE files
2016-09-07 01:34:42 +01:00
dan
306f6fa9d7
Use findFilePath when loading data files
...
This should make file loading more reliable for case sensitive
operating systems.
2016-09-07 00:42:27 +01:00
Daniel Evans
674ce55af3
Replace findPathRealCase with FileIndex methods
...
This introduces indexGameDirectory and findFilePath.
indexGameDirectory indexes the files in the game directory.
findFilePath returns the on-disk location of a case-insensitive
game data path.
2016-09-06 00:23:25 +01:00
Daniel Evans
3a53089d68
Merge pull request #190 from tsjost/fix/timecheat
...
Add method to modify game time properly
2016-08-23 00:28:54 +01:00
Daniel Evans
67aa5150ca
Replace mb strings with 16-bit char strings
...
The game indexes into the font map directly, it doesn't use any font
encoding scheme like UTF-16. This corrects the behaviour and removes
dependancy on iconv.
2016-08-21 17:40:35 +01:00
Timmy Sjöstedt
03d27a0e80
Implemented method to modify game time properly
2016-08-17 01:03:31 +02:00
Daniel Evans
d8841c7561
Remove include directory from rwengine for consistency
2016-08-07 14:41:45 +01:00
darkf
196f9f6d25
Rewrite FileIndex to use boost::filesystem instead of POSIX
2016-08-03 18:31:47 -07:00
Daniel Evans
07945e767e
Merge pull request #168 from danhedron/feature/build-hash
...
Add Git SHA1 hash to RWGame for versioning
2016-08-01 19:42:14 +01:00
Daniel Evans
ded631dad6
Add Git SHA1 hash to RWGame for versioning
2016-08-01 19:34:53 +01:00
Daniel Evans
f860e4c9a7
Overhaul object transformation handling
...
Objects must now write back to their position and rotations using
updateTransform(position, rotation) to updae their transform. This
allows the getPosition and getRotation methods to become non virtual
2016-07-02 20:37:04 +01:00
Daniel Evans
600333e20b
Merge pull request #159 from danhedron/feature/traffic-vehicles
...
Parked traffic and out-of-view spawning
2016-06-29 23:04:00 +01:00
Daniel Evans
30e4a7faf1
Merge pull request #137 from haphzd/patch-1
...
File loading improvements
2016-06-29 22:26:58 +01:00
Daniel Evans
69e7d32f3a
Use view frustum for traffic spawning and cleanup
2016-06-27 22:33:22 +01:00
haphzd
593aa73bda
Use existing file loading method for SCM
2016-06-26 13:25:26 +03:00
Jannik Vogel
9bfb9f8002
CMake: Use FindSDL2.cmake
2016-06-22 23:58:27 +02:00
Christoph Heiss
649f7b144d
Replace SFML with SDL2
...
This entirely replaces all remaining SFML pieces with SDL2 and
brings OpenRW up to OpenGL 3.3
2016-06-22 12:29:39 +02:00
Daniel Evans
dd70e41bbd
Add TESTS_NODATA to build tests without data
2016-06-16 21:22:18 +01:00
Daniel Evans
81fe7166bd
Disable broken object tests until the correct behaviour is known
2016-06-03 23:17:39 +01:00
Daniel Evans
5f4400f362
Fix character test to actually be correct
2016-05-28 01:32:48 +01:00
Daniel Evans
eef34c972a
Script pickups: implement weapon pickups, improve pickup code
2016-05-25 23:00:52 +01:00
Daniel Evans
b7ac33caec
Improve activities: canSkip(), let player cancel vehicle enter.
...
Closes #32
2016-05-24 23:49:01 +01:00
Daniel Evans
2ee4a6e533
Add configuration file to replace OPENRW_GAME_PATH env var
...
This will permit the storage of other user settings like language and
video settings.
2016-05-20 02:10:11 +01:00
Daniel Evans
9f85f283cb
CMake: FindSFML+FindMAD, set library paths as SYSTEM, remove dead stuff.
2016-05-19 22:30:06 +01:00
Timmy Sjöstedt
b8062714a9
Work around Boost having moved stuff around, fixes #20
2016-05-19 22:28:01 +02:00
Daniel Evans
5721333fb0
Overhaul script text display with new text logic system.
...
Logic for displaying text now belongs in ScreenText, which will
handle type specific text display.
2016-05-07 18:29:08 +01:00
Daniel Evans
e7faa60926
Make unit tests work again, fixing tests & code
2016-05-02 17:38:04 +01:00
Daniel Evans
8a5be54b91
Overhaul animation system and character activities
...
Replaces animator with a simpler system that can overlay multiple
animations
Character animation split into two layers, motion and action.
Walking, running and jumping animations are played on the first
layer, actions such as firing can be overlayed on the second.
More work is needed to limit overlap to only the weapons that make
sense.
2016-04-17 04:54:19 +01:00
Daniel Evans
f3b81c5690
Bring tests back up to compiling and running. Only a few are failing
2016-04-15 01:06:10 +01:00
Daniel Evans
691bba5dca
New inventory implementation and split char state
2016-04-10 18:57:40 +01:00
Daniel Evans
14269d8ae5
Move first of lower level code into rwlib; tear out GLEW.
2016-04-07 01:13:46 +01:00
Daniel Evans
bf1c8bb0ca
Fix crashes from mixing player / character references
2015-07-01 23:16:06 +01:00
Daniel Evans
7ceaac370c
Load Weapon inventory data from save files
2015-06-14 21:52:47 +01:00
Daniel Evans
5d3ac6218e
Implement Game Object ID allocation
2015-04-29 21:03:53 +01:00
Daniel Evans
85b1ab120f
Move GameState out of GameWorld ownership
2015-04-27 03:55:18 +01:00
Daniel Evans
5db4c28f04
Refactor Object Definition information to GameData
2015-04-24 18:10:42 +01:00
Daniel Evans
a4f0ef7f44
Fix test crash caused by double free
2015-04-24 15:36:46 +01:00
Daniel Evans
e04f9a8d40
Move GameData from GameWorld
2015-04-18 01:11:17 +01:00
Daniel Evans
b672e41acf
Remove Logger ownership from GameWorld
2015-04-03 03:07:08 +01:00
Daniel Evans
d1e7dcdcd1
Overhaul Loader framework for Models
...
- Replace background model loader with generic background loader
- Replace ModelHandle object with generic resource handle
2015-04-03 03:04:50 +01:00
Daniel Evans
abf43f07c8
New File handling implementation
...
- move FileHandle into a separate header
- Implement FileIndex, a system to normalize filenames and sources
2015-04-03 03:04:50 +01:00
Daniel Evans
fe4926e5d6
Add object lifetime values, clean up spawned traffic
2015-02-18 16:00:55 +00:00
Daniel Evans
9407ee3135
Add test implementation of pedestrian spawning
2015-02-18 15:29:39 +00:00
Daniel Evans
2ccc1fc33c
Add initial TrafficDirector open spawn point methods
2015-02-17 01:31:20 +00:00
Daniel Evans
2344024f08
Text rendering
2015-02-07 22:55:06 +00:00
Daniel Evans
77f2277a68
Improved vehicle door dynamics with opening doors
2014-12-14 20:45:58 +00:00
Daniel Evans
25a3a0183b
Overhaul vehicle part system with VehicleObject::Part
2014-12-14 01:32:00 +00:00
Daniel Evans
330fa56b77
Fix animation test case
2014-12-12 00:36:45 +00:00
Daniel Evans
1fb8162a7c
Fix broken object data test cases
2014-12-11 18:34:39 +00:00
Daniel Evans
584618e991
Overhaul animation support with Skeleton class.
...
Move frame transform data into Skeleton instead of Animator.
Animator now responsible for mutating Skeleton state.
Skeleton is more flexible for things like vehicle skeletons.
2014-12-11 17:48:47 +00:00
Daniel Evans
7d92fbb9f2
Huge rwviewer changes for new objects.
...
+ Change to Object Viewer to list all object types
2014-09-19 00:10:05 +01:00
Daniel Evans
cfca1cbdc8
Refactor Object data into heirarchy
...
+ All Object Data classes inheirt from ObjectInformation which stores
the ID and class_type, which maps to the IDE name.
- Remove all object mappings except for objectTypes, which now stores
all of them.
2014-09-17 03:13:02 +01:00
Daniel Evans
c3956ac888
Refactor some text data loading to seperate class
2014-09-13 03:29:32 +01:00
Daniel Evans
f7398f17f8
Refactor character movement.
2014-08-26 22:54:26 +01:00
Daniel Evans
4d78cacd84
Improve CMake detection of platform libraries
2014-08-16 23:02:34 +01:00
Timmy Sjöstedt
70cadb7a86
Fixed another Bullet inclusion path.
2014-08-16 00:20:58 +02:00
Timmy Sjöstedt
460473f461
Link OpenGL with CMake find package.
2014-08-16 00:20:13 +02:00
Timmy Sjöstedt
a854a11dc3
Added linking to iconv
...
TODO make it cmake-y
2014-08-16 00:19:04 +02:00
Daniel Evans
ba7eb63941
Refactor and cleanup camera control.
...
rwengine
+ Make renderWorld() take a ViewCamera parameter.
+ add rotation and getView to ViewCamera
+ correct directions for vehicle and character movement.
rwgame
+ Remove GenericState
+ Add State::getCamera() to control the ViewCamera used for rendering
+ Clean up state camera control
+ Remove now unused view parameters from main
2014-08-12 21:15:26 +01:00
Daniel Evans
5aaead1974
Fix potential non-return in LoaderIMG
2014-08-11 18:16:18 +01:00
Daniel Evans
b1c82e3582
Fix compilation under clang, fix majority of warnings
2014-08-11 17:58:43 +01:00
Daniel Evans
6c78b0c3c5
Refactor DFF Loader, underlying stream handling
...
+ Fix some model related memory leaks
2014-08-04 22:24:37 +01:00
Daniel Evans
aa841c0ed3
Merge branch 'script-tool'
...
Conflicts:
rwengine/include/engine/GameObject.hpp
rwengine/include/engine/GameWorld.hpp
rwengine/include/render/GameRenderer.hpp
rwengine/src/render/GameRenderer.cpp
2014-07-30 13:55:39 +01:00
Daniel Evans
688ee493b4
Add GXT loading support and i18n of prints.
2014-07-28 06:20:39 +01:00
Daniel Evans
5b9c95d346
Add Initial Cutscene playback implementation
...
+ Add CutsceneData structures to store the data required.
+ Implement screen fading in and out (todo: splash screen fading)
+ Add GameData::openFile2() returns a handle to open file memory + size
+ Fix fog implementation
+ Add screenspace rect to GameRenderer for fades and cinematics
2014-07-28 02:27:55 +01:00
Daniel Evans
c3e2172f3b
Initial Script Machine implementation + some ops
2014-07-23 23:57:21 +01:00
Daniel Evans
c35c2c636a
Add thrown projectiles, support for queued deletion
2014-07-20 21:21:51 +01:00
Daniel Evans
770a87dd2b
Add correct collision response for molotov + rpg
2014-07-17 01:46:24 +01:00
Daniel Evans
f8f17db68f
add ProjectileObject with support for grenades
2014-07-14 01:29:05 +01:00
Daniel Evans
b8860722fd
Further implement weapons and pickups
...
Inventory can now by cycled
Weapon Pickups are created infront of the spawn
2014-07-04 21:06:56 +01:00
Daniel Evans
0214a29ca3
Implement character inventory items, with weapon
2014-06-29 22:14:46 +01:00
Daniel Evans
1673e439fd
Cleanup test
2014-06-28 17:20:49 +01:00
Daniel Evans
87a04d9119
Added weapon scan for HITSCAN
...
WeaponScans contain data required to affect objects in the world with
weapon damage
2014-06-28 03:22:53 +01:00
Daniel Evans
3a3fb9aff4
fix errenous test cases
2014-06-26 18:16:35 +01:00
Daniel Evans
1244a87665
Add weapon data loading
2014-06-26 17:55:17 +01:00
Daniel Evans
3ccf5ebaa2
Door and bonnet dynamics
2014-06-20 00:47:45 +01:00
Daniel Evans
8cbf1eaefe
Animator procedural frame orientation
2014-06-19 19:18:34 +01:00
Daniel Evans
9f257ea4c4
Animator update and vehicle frame damage
...
Refactor Animator to handle frame visibility, removing isFrameVisible()
Make frames be removed if they are damaged due to physics.
2014-06-18 05:08:15 +01:00
Daniel Evans
3a156063d8
Improve renderer and LOD handling
2014-06-17 21:46:54 +01:00
Daniel Evans
2c16134abd
Initial, unstable, water dynamics
2014-06-13 21:54:17 +01:00
Daniel Evans
65b5c84b92
Initial dynamic object implementation
2014-06-11 21:00:53 +01:00
Daniel Evans
891b12272c
Rename more classes to better names
2014-06-06 17:17:39 +01:00
Daniel Evans
439749e34f
Rename Object classes and files
2014-06-06 15:22:26 +01:00
Daniel Evans
61931145fe
Threaded model and texture loading
2014-06-06 13:12:20 +01:00
Daniel Evans
f24ceeb42f
Overhaul worker interface
2014-06-04 11:53:11 +01:00
Daniel Evans
51e4fb9989
Data Loader interface
2014-06-04 06:02:41 +01:00
Daniel Evans
d56a3badc0
Overhaul animation system; tick alpha
...
Animators now store Frame keyframes more sensibly
Animators can interpolate between two keyframes on an alpha
Add tick alpha value to the rendering pipeline
2014-06-02 04:58:41 +01:00
Daniel Evans
c8f5e7ead2
Fixed more broken vehicle interaction
2014-05-31 19:22:43 +01:00
Daniel Evans
052ce629c4
Refactor Animator to support multiple animations
2014-05-31 12:15:20 +01:00
Daniel Evans
04842a628a
Primitive debug menu; vehicle enter animation
2014-05-31 08:18:50 +01:00
Daniel Evans
d7b738cdc1
Replace Activity switch with objects
2014-05-29 11:12:40 +01:00
Daniel Evans
532738077e
Initial shift to AIController controlling
2014-05-29 09:34:59 +01:00
Daniel Evans
c5451f5fd4
Fix compiler errors and test problems
2014-05-25 22:30:50 +01:00
Daniel Evans
bd96b0b190
Added vehicle damage flags
2014-03-01 04:12:35 +00:00
Daniel Evans
e1a37e44c4
Cleaned up some object data
...
Renamed some vehicle related data objects
Changed types on some vehicle data containers
Renamed GTAObject to GameObject
2014-02-28 11:23:51 +00:00
Daniel Evans
caa1fd301e
fix cmake source dir paths
2014-02-28 07:24:20 +00:00
Daniel Evans
70dba94de4
Viewer archive loading
2014-02-10 15:34:09 +00:00
Daniel Evans
00dd9ee31e
more test
2014-02-10 12:09:16 +00:00
Daniel Evans
16b59f3943
Renamed Components
2014-01-26 03:45:55 +00:00
Daniel Evans
4c595d0439
Menu directional movement support
2014-01-01 00:37:16 +00:00
Daniel Evans
1cf006958f
Menu test variation
2013-12-27 21:58:47 +00:00
Daniel Evans
aa5522497b
Initial game state tracking
2013-12-26 23:18:55 +00:00
Daniel Evans
e04be824aa
Menu Framework
2013-12-25 19:54:22 +00:00
Daniel Evans
dc32c9c6ce
Renamed some objects to Game*
2013-12-20 16:02:46 +00:00
Daniel Evans
5dc40cb07b
Removed redundant include dirs for framework2
2013-12-20 14:03:32 +00:00
Daniel Evans
c2037ec26e
Global files
2013-12-12 10:58:14 +00:00
Daniel Evans
55909409f4
Disabled Atlas Tests
2013-12-12 08:15:07 +00:00
Daniel Evans
73c7e136e2
Merge branch 'master' of bitbucket.org:danharibo/gtfw
2013-12-12 02:55:39 +00:00
Daniel Evans
acb36be852
Object Destruction
2013-12-12 02:55:31 +00:00
Daniel Evans
f24f1da797
Health debug and tests
2013-12-10 21:47:56 +00:00
Daniel Evans
206b3979e8
Added TextureAtlas, broke rendering
2013-09-11 11:10:42 +00:00