1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-09-15 15:02:34 +02:00
Commit Graph

71 Commits

Author SHA1 Message Date
Daniel Evans
4202297e0e Render debug view UI with ImGui 2019-05-22 23:33:17 +01:00
Anonymous Maarten
e77a7caf74 rwgame: add imgui demo window 2019-05-21 00:01:59 +01:00
Filip Gawin
dd8de77b8e Cleanup headers of rwengine 2019-01-20 20:00:00 +01:00
Filip Gawin
1a7d4ac7e6 Cleanup interfaces of rwgame 2019-01-20 20:00:00 +01:00
Anonymous Maarten
c066077a4c Revert "Disable warnings caused by register in bullet"
This reverts commit 4940ae0d6b.
2019-01-05 05:14:25 +01:00
Anonymous Maarten
53b45f7f25 rwgame: make StateManager non-static
This allows RWGame to be relaunched multiple times in the same process
2019-01-01 23:17:40 +01:00
Anonymous Maarten
8b38fda984 rwgame: merge argument + configuration file parsing + add tests
- definition of arguments an configuration parameters is centralized
  in rwgame/RWConfig.inc
- argument parsing is tested
- the try/catch in main is less weird now (imho)
2018-12-28 00:58:10 +01:00
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