1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-09-19 08:52:33 +02:00
Commit Graph

64 Commits

Author SHA1 Message Date
Petar Kukolj
45ea1df74c Fix style errors 2018-10-30 15:08:25 +01:00
Petar Kukolj
262523c211 Add HUDDrawer class and add a test 2018-10-30 15:08:25 +01:00
Filip Gawin
4940ae0d6b Disable warnings caused by register in bullet
To revert when https://github.com/bulletphysics/bullet3/pull/1941
will be merged.
2018-10-29 16:35:32 +01:00
Anonymous Maarten
32d3ab7508 rwengine+tests: disable C4305 warning for bullet3
warning C4305: 'argument': truncation from 'double' to 'const btScalar'
2018-09-16 00:52:41 +02:00
Daniel Evans
52dbe78b4a
Merge pull request #621 from danhedron/feat/use_microprofile
Use microprofile for profiling
2018-09-04 00:41:01 +01:00
Daniel Evans
be55b616f7 Add additional profiler scopes for increased resolution 2018-09-01 22:58:25 +01:00
Daniel Evans
080a0fe050 Use microprofile for profiling 2018-09-01 22:58:24 +01:00
Filip Gawin
711fa70950 Remove unneeded dynamic alocation of SCMFile 2018-09-01 17:50:03 +02:00
Daniel Evans
4e1535ca99 rwgame: Refactor run() into seperate methods to ease profiling 2018-08-30 20:28:10 +01:00
Filip Gawin
495c831972 Mark classes as final
It lets complier to make extra optimization.

See:
https://gcc.godbolt.org/#compilers:!((compiler:g6,options:'-O2+-Wall++-
xc%2B%2B+-
std%3Dc%2B%2B11',sourcez:MYGwhgzhAECC0G8BQAHArgIxAS2ALiWiOgDdsAnAFzTBFIHtsATaAMwAoBKaAXmgAYA3EgC%2BwpKEgwAQtDzR0WXHESpMOfIWIlGLDt1bYAdrWj0SAU3LlmF4WKQTwUaAGE5C9cvjJFGgsQMzGxcZpbWtvbiOsGs9PTs0gBk0BjcyIEYAHT69o4xLBhg5OyuKcDpWkTAOVz2QAA%3D%3D)),filterAsm:
(commentOnly:!t,directives:!t,intel:!t,labels:!t),version:3
2018-07-07 22:55:10 +02:00
Filip Gawin
76c15c2a82 Usage of default member initializer 2018-07-03 20:08:03 +02:00
husho
ca576ac3cf Refactor: moved getPlayer to World class 2018-06-03 03:40:59 +03:00
husho
214095ba02 Improved game loop to support game speed 2018-05-22 22:40:51 +03:00
Lucas Eriksson
3e96ad9c92 Stop using default initialization onglm datatypes.
It results in undefined behaviour with glm 0.9.9
2018-02-09 22:33:10 +00:00
Anonymous Maarten
d07beff43e rwengine: iwyu: reduce warnings in objects subdirectory 2018-01-08 22:52:48 +00:00
Filip Gawin
4a3a6daa9f Change type of GameBase dtor to virtual
There's no usage of this class, so
I've set dtor to pure virtual.
2018-01-08 22:35:21 +00:00
Filip Gawin
bc8652baba Interpolating dynamic objects
How?
Calling stepsimulation each frame,
bullet interpolate vehicles and characters for us.

Removed unneeded code:
"float alpha = fmod(dt, GAME_TIMESTEP) / GAME_TIMESTEP;"
It looks like alpha shift is

I also removed unneeded variable clock
and refactored names to match bullet's example.

We should alse think about problem of
crossing the range of float.
2017-10-18 21:29:17 +01:00
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
b65a513bbb Remove usages of WorkContext 2016-12-02 00:56:38 +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
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
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
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
e39ee21ca8 clang-format files in rwgame 2016-09-09 21:13:20 +01:00
Jannik Vogel
5f86003758 Add cheat handler 2016-09-02 15:33:45 +02:00
Jannik Vogel
d2d8a97a09 Fix SDL2 #include paths 2016-08-12 02:13:22 +02: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
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