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
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
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
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
e31c30efe9
Improve loading of hard-coded models
2016-10-10 20:49:44 +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
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
5f86003758
Add cheat handler
2016-09-02 15:33:45 +02:00
Sven Stucki
449289c06a
Make sure SDL_Quit() is called on exit
2016-09-01 22:58:06 +02:00
Daniel Evans
609790674a
Use new GTA3Module
2016-08-30 19:57:47 +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
d823a97308
Make debug keys use gameOffsetTime method
2016-08-17 01:03:31 +02:00
Daniel Evans
2f0b24c6ea
Merge pull request #188 from danhedron/feature/cleanup-script
...
Script cleanup and remove old tool
2016-08-12 23:36:26 +01:00
Jannik Vogel
cda72bb87f
Don't grab mouse cursor before going ingame
2016-08-12 02:14:15 +02:00
Jannik Vogel
f7fca167dc
Allow language selection in config
2016-08-12 02:14:15 +02:00
Jannik Vogel
e7c772967f
Switch default english.gxt to american.gxt
2016-08-12 02:14:15 +02:00
Jannik Vogel
571fd08631
Replace strcasecmp with boost::iequals
2016-08-12 02:14:15 +02:00
Jannik Vogel
cb347143f8
Cleanup: Replace non-std C++ code
2016-08-12 02:14:15 +02:00
Daniel Evans
8a985309f9
Remove breakpoint system from ScriptMachine
2016-08-12 01:02:24 +01:00
Daniel Evans
a0b995c97e
Move game state classes into states folder
2016-08-07 14:32:22 +01:00
darkf
836e51aff7
Torch the HTTP script debugger
2016-08-03 13:30:40 -07:00
darkf
03f050fc04
Use C++11 member initializers in RWGame
2016-08-02 04:45:14 -07:00
darkf
a574649dce
Silence a lot of warnings
2016-08-02 04:31:12 -07:00
Daniel Evans
ded631dad6
Add Git SHA1 hash to RWGame for versioning
2016-08-01 19:34:53 +01:00
darkf
d3084ad721
Rework how exiting and cleanup is handled.
...
This involves a few changes. The first changes involve
allocating GameWindow and WorkContext on the heap, so that
RWGame still owns them but chooses when they're freed.
The work queue is given a method to stop the worker thread
without destroying the work context, so that subsystems
relying on the work context may still function to shut down.
Then RWGame is rearranged to cleanup separate subsystems
in an order that does not conflict (i.e., stop the work queue,
shut down other subsystems, then the renderer, *then* the window.)
The window needs to be cleaned up *after* the renderer because it
owns the OpenGL context.
2016-07-31 07:04:52 -07: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
45103c3440
Add vehicle generators to AI debug view
2016-06-27 22:33:22 +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
haphzd
c19df1d936
Don't load hud.txd twice
2016-06-26 13:25:25 +03:00
Daniel Evans
9aaeb2ceda
Remove screenshot functionality, as it's broken.
2016-06-23 22:43:00 +01: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
Christoph Heiss
572f61e076
Replace sf::Clock with std::chrono::steady_clock
2016-06-22 10:43:47 +02:00
Timmy Sjöstedt
9e2db1bd11
Enable mouse cursor in menus, fixes #46
2016-05-23 18:44:38 +02:00
Daniel Evans
46961f8c33
Request a non zero number of stencil bits.
2016-05-22 16:07:33 +01:00