Daniel Evans
ddb62ed3cd
Rewrite of camera and character look code
...
Make states responsible for interpolating camera transformation
Apply look direction to character orientation
2016-12-04 01:06:27 +00:00
Daniel Evans
d75c476221
Remove global texture list and use a slot name to lookup textures
2016-12-03 21:59:37 +00:00
Daniel Evans
b65a513bbb
Remove usages of WorkContext
2016-12-02 00:56:38 +00:00
Daniel Evans
6ef99c0de9
Fix crash starting new game
...
The player doesn't always exist, so we do need to check..
2016-11-24 21:30:43 +00:00
Daniel Evans
f0e0e6e747
Extract game input state handling from IngameState
...
Prevents input getting "stuck" when input is removed in the pause menu
2016-11-19 23:50:34 +00:00
Daniel Evans
40f18dabb0
zero all input when player input is disabled
2016-11-19 23:50:34 +00:00
Daniel Evans
57edc3648b
Detect event starts by double-buffering state
2016-11-19 23:50:34 +00:00
Daniel Evans
684e32f4a9
Simplify Script system by removing SCMOpcodes
...
This was just a useless container for a set of modules. We only have
one module now so don't bother with it. This means we can remove some
more raw new & deletes from RWGame too.
2016-10-24 21:29:41 +01:00
Daniel Evans
fb4d9ea8c3
Use unique_ptr for GameWorld instance
2016-10-24 21:29:41 +01:00
Daniel Evans
81c27da97b
Make GameState instance a direct member of RWGame
2016-10-24 21:29:41 +01:00
Daniel Evans
32352baedd
Remove very dead debug code
2016-10-24 21:29:41 +01: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
6a7802de87
Overhaul State and StateManager to remove pointers
...
Removed raw State pointers in favour of unique_ptrs
Avoid allowing control flow to re-enter States that have exited
Defer releasing states until the end of the frame
2016-10-24 21:29:40 +01:00
Daniel Evans
c54273bb63
Correct RWGame.hpp header guard
2016-10-19 22:34:51 +01:00
Daniel Evans
ad998e8a80
Avoid allocating RWGame members where possible
...
These objects don't need to be dynamically allocated, they can
take on the same lifetime as RWGame itself.
2016-10-19 22:34:51 +01:00
Daniel Evans
2f118631dc
Move some non-game code into GameBase class
...
This moves window setup and configuration loading into a base
class so that RWGame can focus on game related matters
2016-10-19 22:34:51 +01:00
Daniel Evans
657a726a9b
Initialise logging outside of RWGame
2016-10-19 22:34:51 +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
13f504d699
Draw nearby object state in object debug view
2016-10-13 22:31:26 +01:00
Daniel Evans
fe0d2f92b0
Initial objects debug view
2016-10-13 22:31:26 +01:00
Daniel Evans
c4a34da36a
Simplify debug stats text
2016-10-13 22:31:26 +01:00
Daniel Evans
baca296436
Remove useless information from debug stats
2016-10-13 22:31:26 +01:00
Daniel Evans
40d27b4a07
Clean up debug view selection code
2016-10-13 22:31:26 +01:00
Daniel Evans
02efff6f8f
Merge pull request #241 from danhedron/new-object-data
...
Correct object data storage
2016-10-10 20:51:25 +01:00
Daniel Evans
e31c30efe9
Improve loading of hard-coded models
2016-10-10 20:49:44 +01:00
Daniel Evans
17315c7974
Make the test vehicle list explicit
...
The object order is no longer sorted, so we have to specify exactly
which vehicles to spawn in the test mode
2016-10-05 22:38:35 +01:00
Daniel Evans
6951434be8
Load objects directly
2016-09-27 22:49:08 +01:00
Daniel Evans
996a82c4bf
Overhaul Model data handling to improve accuracy
2016-09-27 22:48:45 +01:00
Daniel Evans
fe77995e1f
Fix uninitialised moneyTimer variable
2016-09-12 00:35:09 +01:00
Daniel Evans
a403cc87b7
clang-format files in rwgame/states
2016-09-09 21:13:20 +01:00
Daniel Evans
e39ee21ca8
clang-format files in rwgame
2016-09-09 21:13:20 +01:00
Daniel Evans
53e996aac7
Merge pull request #234 from danhedron/improved-file-handling
...
Improved file handling for un-archived files
2016-09-07 22:39:35 +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
Sven Stucki
f5d76fbbcd
Catch all command line parsing errors, properly exit on --help
2016-09-06 20:11:54 +02:00
Sven Stucki
0847c85abd
Make --test work without --newgame, update help text
2016-09-06 20:11:53 +02:00
Sven Stucki
431e218a64
Use Boost to parse command line arguments ( #177 )
...
There are still some rough edges, first version to send in for
discussion.
2016-09-06 20:11:41 +02:00
Jannik Vogel
70f777c685
Zero-Pad displayed money value and slowly update it
2016-09-02 15:35:34 +02:00
Jannik Vogel
5f86003758
Add cheat handler
2016-09-02 15:33:45 +02:00
Daniel Evans
92b7f922b4
Merge pull request #230 from svenstucki/quit
...
Make sure SDL_Quit() is called on exit
2016-09-01 22:59:33 +01:00
Sven Stucki
449289c06a
Make sure SDL_Quit() is called on exit
2016-09-01 22:58:06 +02:00
Jannik Vogel
c3c1c8781e
Adjust debug-camera speed
2016-09-01 02:56:47 +02:00
Jannik Vogel
4ac3bc185f
Fix debug-camera speed-modifier
2016-09-01 02:56:29 +02:00
Jannik Vogel
72a03fcdd6
Fix debug-camera undefined behaviour
2016-09-01 02:53:28 +02:00
Daniel Evans
3dca19f971
Merge pull request #216 from danhedron/handle-init-failure-1
...
Improve SDL & GL initialisation failure handling
2016-08-31 23:14:21 +01:00
Daniel Evans
609790674a
Use new GTA3Module
2016-08-30 19:57:47 +01:00
Daniel Evans
47d654854e
Remove SetWindowGrab to allow dismissing the error dialog
...
If an error occurs while the game is running, the window grabbing input
focus would prevent the mouse from being able to click on "OK".
Since SetRelativeMouseMode already warps the cursor for us we don't
need to grab the input.
2016-08-27 00:40:10 +01:00
Daniel Evans
95481c6d2e
Catch fatal exceptions and show an error dialog
...
We also print to stderr, but sometimes stderr is unavailable so we should
show a dialog.
2016-08-25 23:32:30 +01:00