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
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
Daniel Evans
45abee6093
Improve ingame camera with invert y option in configuration.
2016-05-22 15:58:36 +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
b0a2ae4da5
Implement a trivial profiler for perf. overview
2016-04-26 23:35:04 +01:00
Daniel Evans
243bfb18a8
Overhaul breakpoint handling
2015-07-09 13:58:14 +01:00
Daniel Evans
5344b8bfa1
Merge remote-tracking branch 'origin/rwng-debugger' into rwng-saves
2015-07-02 00:13:32 +01:00
Daniel Evans
8b18712d1f
Merge branch 'rwng-disassembly' into rwng
...
Conflicts:
rwgame/RWGame.hpp
rwgame/ingamestate.cpp
2015-05-03 23:31:45 +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
8d1c7e802d
Add RWGame::hasFocus(), fix mouse warping
2015-05-01 00:46:20 +01:00
Daniel Evans
25f62a0a47
Refactor GameWorld into GameState
...
+ GameState now contains a GameWorld point to store the runtime world
data
2015-04-27 15:31:39 +01:00
Daniel Evans
0507bfdae6
Fix Dynamic objects not visually moving
2015-04-27 04:12:58 +01:00
Daniel Evans
85b1ab120f
Move GameState out of GameWorld ownership
2015-04-27 03:55:18 +01:00
Daniel Evans
4b2fbbd3d8
Fix AI Graph discombobulation and debug rendering
2015-04-20 02:19:30 +01:00
Timmy Sjöstedt
efadffb03b
Spool up a HttpServer thread on script start
2015-04-19 22:38:01 +02:00
Daniel Evans
e04f9a8d40
Move GameData from GameWorld
2015-04-18 01:11:17 +01:00
Daniel Evans
97afc19cfb
Add Improved Profiling statistics
2015-04-12 19:47:47 +01:00
Daniel Evans
4cf36b8fd6
Add more rendering metrics for GL performance
2015-04-09 23:54:56 +01:00
Daniel Evans
159510cace
Add breakpoints to ScriptMachine, remove from GameWorld.
...
+ Adds breakpoints on program counter values to the ScriptMachine.
+ Adds breakpoint handler for acting on breakpoints
+ Remove GameWorld::script and make RWGame responsible for script
2015-04-04 03:12:28 +01:00
Daniel Evans
b672e41acf
Remove Logger ownership from GameWorld
2015-04-03 03:07:08 +01:00
Daniel Evans
49a8b9b2f4
Change how draw calls are counted
2015-04-03 03:07:08 +01:00
Daniel Evans
a967e190de
Remove GameRenderer from GameWorld
...
- Particle rendering is broken, since objects can't access renderer
2015-04-03 03:04:50 +01:00
Daniel Evans
f9382af485
Add frametime and FPS to debug stats
2015-02-16 00:44:30 +00:00
Daniel Evans
be023b5093
Overhaul texture handling, add TextureData handles.
...
+ Use shared ptrs to track loaded texture handles
+ Cache textures on models to avoid lookups
2015-02-16 00:36:11 +00:00
Daniel Evans
2344024f08
Text rendering
2015-02-07 22:55:06 +00:00
Daniel Evans
854228e91b
Re-implement -w and -h window size arguments
2015-01-30 10:04:25 +00:00
Daniel Evans
f47fad4bc2
Move game code into RWGame class and refactor
2014-09-16 19:22:43 +01:00