Daniel Evans
185ba23f05
Fix all compiler warnings in rwengine.
2016-04-28 00:54:42 +01:00
Daniel Evans
3e9b0c64e4
Re-implement object rendering using a depth-sorted approach.
...
This moves the object rendering logic into ObjectRenderer. This makes
GameRenderer a bit smaller.
There are some rendering logic decisions that haven't been brought
back yet since they may be better placed elsewhere.
2016-04-19 01:20:54 +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
8cd50fadf0
Remove mHealth, clean up code & hook up character health & armour
2016-04-14 01:23:21 +01:00
Daniel Evans
07f7b19ca2
Make it possible to fire weapons again
2016-04-13 21:16:27 +01:00
Daniel Evans
93bf5c6eed
Add more opcodes to fix unimplemented opcode crash
2016-04-10 22:27:44 +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
77ca5d96ea
Expand Save Game loading to garage data
2015-06-14 18:08:55 +01:00
Daniel Evans
c1c2d7341f
Make certain AI Behviours and opcodes use sprint
2015-05-09 04:40:41 +01:00
Daniel Evans
91065b6af4
Initial Save + Load implementation
...
* Fix VM Global Addressing
* Modify VM structures to simplify storage
* Add explicit GameWorld::createPlayer() method
* Move gameTime to GameState for storage
* Add SaveGame class for reading + writing
* New Dependancy: cereal
2015-05-03 05:23:44 +01:00
Daniel Evans
5d3ac6218e
Implement Game Object ID allocation
2015-04-29 21:03:53 +01:00
Daniel Evans
0507bfdae6
Fix Dynamic objects not visually moving
2015-04-27 04:12:58 +01:00
Daniel Evans
1daa5a6fb2
Move GameObject to objects directory
2015-04-27 02:09:56 +01:00
Daniel Evans
8ff137017c
Simplify Character Movement
2015-04-14 23:03:34 +01:00
Daniel Evans
2e9962ef26
Re-implement functional character jumping
2015-04-04 21:50:08 +01:00
Daniel Evans
27c6afba31
Improve character dynamics, step behaviour
2015-04-04 21:23:53 +01:00
Daniel Evans
6b38a3e267
Move CollisionInstance into dynamics
2015-04-04 20:11:48 +01:00
Timmy Sjöstedt
33e9920b48
Initialized physRaycater to null, as to not delete an uninitialized pointer later.
2015-04-03 03:07:08 +01:00
Daniel Evans
f655e454d6
Implement new VisualFX system for particles etc.
...
- VisualFX stores data about effects like particles and lighting
- Only particles initial implementation
- World stores active VisualFX
2015-04-03 03:04:50 +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
abb6576785
Add implementation for more generic pickups
2015-01-27 02:38:08 +00:00
Daniel Evans
5d41002b36
Further improve vehicle door dynamics
...
+ Rename some part target angle names
+ Improve behaviour of opening and closing doors
+ Use different animations for right hand side of vehicle
2015-01-23 02:03:21 +00:00
Daniel Evans
4ea6e14299
Improve vehicle door dynamics
...
+ Vehicle doors should move in the right direction now
+ Fix debugging draw class for bullet
2015-01-22 20:16:28 +00:00
Daniel Evans
ed62b758d2
Implement more opcodes
...
* Is Vehicle Flipped, Create character in vehicle, get time of day and many more
2014-12-17 22:53:25 +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
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
f7398f17f8
Refactor character movement.
2014-08-26 22:54:26 +01:00
Daniel Evans
668848952b
Initial rendering refactor
2014-08-22 14:29:46 +01:00
Daniel Evans
b1c82e3582
Fix compilation under clang, fix majority of warnings
2014-08-11 17:58:43 +01:00
Daniel Evans
97fee9b4a8
Fix many memory leaks code duplication
...
+ Move collision data construction into CollisionInstance
+ CollisionInstance also handles related cleanup
+ Fix leaks from AINodes
2014-08-10 23:31:59 +01:00
Daniel Evans
51fa23a04c
Implement more correct behaviour for "switch model" opcode
2014-08-01 15:48:11 +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
02838ce3b4
Implement cutscene objects and animations (sans skinning)
...
+ Add CutsceneObject for non-interactive animating objects
+ Implement HIER section to load cutscene object data
2014-07-30 13:46:14 +01:00
Daniel Evans
3c665e7d2b
Add many opcodes, implement some of them.
...
+ Fix thread-relative jumps
+ GameObject::setHeading(degrees) sets object rotation from a heading.
+ Add More GameState from opcodes.
+ Decouple game hours from the engine clock
+ Add VehicleObject::setRotation()
+ Add GameWorld::getGroundAtPosition(pos) for OpCodes
+ Fix Handling of fixed-point SCM parameters
+ Update IngameState to use GameState::player if it exists
+ Add skip-time button to skip opening cutscene (F12)
2014-07-27 00:44:21 +01:00
Daniel Evans
fa3f2cc3ea
Add more opcodes, implement some
2014-07-25 03:38:47 +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
e5cc47132f
Initial documentation pass
...
Add a nice doxygen file.
2014-07-09 05:04:48 +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
aa7f77009c
Refactor objects into a single set to DRY
2014-07-01 23:04:23 +01:00
Daniel Evans
0214a29ca3
Implement character inventory items, with weapon
2014-06-29 22:14:46 +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
74d6bed7f3
Improve vehicle dynamics
...
Decrease margin on vehicles and world to mitigate poping
Improve frame damage response
2014-06-18 23:05:59 +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