1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-25 20:02:40 +01:00
Commit Graph

533 Commits

Author SHA1 Message Date
Filip Gawin
512ac6f5ee Fix double promotion 2017-10-25 01:17:46 +01:00
Anonymous Maarten
fa36c56813 rwgame: close window explicitly at end of event loop to free GL Context 2017-10-18 21:52:29 +01: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
Christoph Heiss
6cab5ee31a Fix some warnings
openrw/rwengine/src/engine/GameData.cpp:358:26: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
    textureslots[slot] = std::move(loadTextureArchive(name));
                         ^
openrw/rwengine/src/engine/GameData.cpp:358:26: note: remove std::move call here
    textureslots[slot] = std::move(loadTextureArchive(name));
                         ^~~~~~~~~~                        ~

openrw/rwengine/src/objects/CharacterObject.cpp:16:18: warning: unused variable 'enter_offset' [-Wunused-variable]
static glm::vec3 enter_offset(0.81756252f, 0.34800607f, -0.486281008f);
                 ^

In file included from openrw/rwgame/RWGame.cpp:5:
openrw/rwgame/states/BenchmarkState.hpp:33:23: warning: 'BenchmarkState::getCamera' hides overloaded virtual function
      [-Woverloaded-virtual]
    const ViewCamera& getCamera();
                      ^
openrw/rwgame/State.hpp:51:31: note: hidden overloaded virtual function 'State::getCamera' declared here: different number of
      parameters (1 vs 0)
    virtual const ViewCamera& getCamera(float alpha);
                              ^
In file included from openrw/rwgame/RWGame.cpp:6:
openrw/rwgame/states/IngameState.hpp:53:18: warning: 'draw' overrides a member function but is not marked 'override'
      [-Winconsistent-missing-override]
    virtual void draw(GameRenderer* r);
                 ^
openrw/rwgame/State.hpp:28:18: note: overridden virtual function is here
    virtual void draw(GameRenderer* r) {
                 ^
In file included from openrw/rwgame/RWGame.cpp:6:
openrw/rwgame/states/IngameState.hpp:60:23: warning: 'getCamera' overrides a member function but is not marked 'override'
      [-Winconsistent-missing-override]
    const ViewCamera& getCamera(float alpha);
                      ^
openrw/rwgame/State.hpp:51:31: note: overridden virtual function is here
    virtual const ViewCamera& getCamera(float alpha);
                              ^
openrw/rwgame/RWGame.cpp:242:22: warning: unused variable 'vehicleModel' [-Wunused-variable]
            uint16_t vehicleModel = 110;  // @todo Which cars are spawned?!
                     ^

In file included from openrw/rwengine/src/script/modules/GTA3Module.cpp:1:
In file included from openrw/rwengine/src/engine/GameState.hpp:7:
openrw/rwengine/src/engine/ScreenText.hpp:140:63: warning: suggest braces around initialization of subobject [-Wmissing-braces]
        const std::array<GameString, sizeof...(args)> vals = {args...};
                                                              ^~~~
                                                              {   }
openrw/rwengine/src/script/modules/GTA3ModuleImpl.inl:5669:16: note: in instantiation of function template specialization
      'ScreenText::format<std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> > >'
      requested here
                        ScreenText::format(
                                    ^
In file included from openrw/rwengine/src/script/modules/GTA3Module.cpp:1:
In file included from openrw/rwengine/src/engine/GameState.hpp:7:
openrw/rwengine/src/engine/ScreenText.hpp:140:63: warning: suggest braces around initialization of subobject [-Wmissing-braces]
        const std::array<GameString, sizeof...(args)> vals = {args...};
                                                              ^~~~
                                                              {   }
openrw/rwengine/src/script/modules/GTA3ModuleImpl.inl:10214:18: note: in instantiation of function template specialization
      'ScreenText::format<std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> >,
      std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> > >' requested here
            ScreenText::format(script::gxt(args, gxtEntry),
                        ^

openrw/rwgame/State.cpp:40:42: warning: unused parameter 'alpha' [-Wunused-parameter]
const ViewCamera& State::getCamera(float alpha) {
                                         ^

openrw/rwengine/src/render/ObjectRenderer.cpp:20:17: warning: unused variable 'kWorldDrawDistanceFactor'
      [-Wunused-const-variable]
constexpr float kWorldDrawDistanceFactor = kDrawDistanceFactor;
                ^
2017-10-13 19:54:10 +01:00
Waritnan Sookbuntherng
c4f532fd56 Pause chase when the game paused 2017-10-13 19:12:30 +01:00
Daniel Evans
887e0333c8 Improve state access to always get the current scene
Prevents events being recieved by states that are no-longer in effect

Fixes #292
2017-09-17 00:45:58 +01:00
Anonymous Maarten
a1333360c5 rwlib: Add option to abort/break on failed checks or at request
- RW_ABORT/RW_ASSERT/RW_BREAKPOINT are only defined in debug mode
- the callback is needed to unlock the mouse when entering
    the debugger
2017-09-16 22:19:39 +01:00
darkf
1bca493dfa Remove last mman reference 2017-09-16 19:50:51 +01:00
Aldoxtor
7a8c602c75 add missing override 2017-09-12 01:40:31 +01:00
Anonymous Maarten
0308f809d6 config: Add the unknown keys to the what() message 2017-08-15 15:58:01 +01:00
Anonymous Maarten
a92f24cbb4 config: unknown data will be kept in memory and saved onto disk 2017-08-15 15:58:01 +01:00
Aldoxtor
81734ae2fe initialize some variables in constructor 2017-04-21 20:24:32 +01:00
vflyson
57ad566681 improve the ammo count display logic 2017-03-13 19:15:15 +00:00
vflyson
87fb087485 only allow to scroll through weapons if alive 2017-03-13 19:15:15 +00:00
Anonymous Maarten
d8cda62668 config: fix input string parsing 2017-02-20 01:01:30 +00:00
Anonymous Maarten
e28e429b86 rwgame+config: show an error dialog when an error occurred on parsing the config file 2017-02-20 01:01:30 +00:00
Anonymous Maarten
76f2665acf config: log parsing Errors to a ParseResult object (which is queryable) 2017-02-20 01:01:30 +00:00
Anonymous Maarten
e0813e4378 config: fix TempFile.touch() + TempFile test + extra doc of getValidConfig 2017-02-20 01:01:30 +00:00
Anonymous Maarten
90001b11ac config: fix reading of illegal values
The parser would crash when trying to convert e.g. "d" to an integer.
2017-02-20 01:01:30 +00:00
Anonymous Maarten
fe156e2984 config: bail out on invalid values
Avoid srcTree being filled with un-initialized values
such as bools, ints, floats...
2017-02-20 01:01:30 +00:00
Anonymous Maarten
66b09a64a5 config: added default INI string test + simplified tests + removed WTF 2017-02-20 01:01:30 +00:00
Anonymous Maarten
8f5664498c config: saveConfig + tests added 2017-02-20 01:01:30 +00:00
Anonymous Maarten
ed185f2526 config: add tests on reading good and bad configuration files 2017-02-20 01:01:30 +00:00
Anonymous Maarten
1dc06d9a35 config: do not use dynamic memory + bail out early on error 2017-02-20 01:01:30 +00:00
Anonymous Maarten
05db65dbbc config: allow reading INI from string, file, default and current config
This (slightly more complicated implementation) allows us,
once a configuration menu has been implemented,
to store the current/new configuration to a INI file.

The definitions of the parameters in rwgame/GameConfig.cpp
is limited to one location.
2017-02-20 01:01:30 +00:00
Anonymous Maarten
a725a51baa spelling: recieve -> receive 2017-02-20 01:01:30 +00:00
Anonymous Maarten
65b14fcb9c config: use boost::property_tree for INI read and default generation
* remove inih
* input.invert_y has now behavior as described on wiki
2017-02-20 01:01:30 +00:00
vflyson
aa8ea65f92 properly display the ammo count for weapons which don't have a clip 2017-02-19 00:57:30 +00:00
vflyson
9fc38c5d51 display the proper UI icon texture for detonator 2017-02-19 00:57:30 +00:00
vflyson
4121378729 make it impossible to scroll through weapons while driving 2017-02-19 00:57:30 +00:00
Vincent Flyson
481a705c39 make the health indicator blink if low (#267)
* make the health indicator blink if low
2017-02-15 00:30:28 +00:00
Daniel Evans
8e4d73fca9 Rename Model -> Clump 2017-02-08 21:44:25 +00:00
Daniel Evans
bb9e368dca Prevent traffic from spawning in cutscenes 2017-01-30 21:40:17 +00:00
Daniel Evans
bb6698e373 Implement Hierarchy of game ZoneData
This allows querying of the most specific ZoneData for a given point
2017-01-30 00:24:44 +00:00
haphzd
e6ec1b69f0 Bring back culling events counter 2016-12-10 22:19:38 +03:00
haphzd
b5079f4ae2 Update profiler graphs drawing routine to use GameString 2016-12-10 21:52:02 +03:00
Daniel Evans
7c41821b6c Use relative mouse motion to control player look 2016-12-06 22:43:01 +00:00
Daniel Evans
247f66f60d Move cutscene and fixed camera control into IngameState 2016-12-04 01:33:26 +00: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
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
Daniel Evans
0a0d2a188f Hide window until we are done creating a context 2016-08-25 20:40:25 +01:00
Daniel Evans
880328877e Handle SDL initialisation failure by throwing errors 2016-08-24 21:33:31 +01:00
Jannik Vogel
bdfa30729f Replace uses of cmath constants by glm 2016-08-23 23:05:22 +02: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
f82d48d52a Add constants for non alphanumeric symbols 2016-08-23 00:05:25 +01:00
Daniel Evans
398e184cd6 Use GameString in RWGame, using localised strings.
This adds:
- Localised GameStrings in the menus, replacing hard-coded strings
- Changes the default menu font to match the game
2016-08-23 00:05:25 +01:00
Daniel Evans
cdebd16532 Remove iconv from CMake configuration 2016-08-23 00:05:25 +01:00
Daniel Evans
3123571894 Convert save games to use GameStringChar 2016-08-23 00:05:18 +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
e449a25071 Replace hack with correct font-map lookup function 2016-08-16 21:46:53 +01:00
Kamil Rytarowski
0ef224df90 Add preliminary NetBSD support
The iconv(3) function on NetBSD has a custom prototype due to old mistake in
the POSIX specification. The issue has been resolved but we keep using original
form with a constified parameter.
2016-08-13 21:33:04 +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
Jannik Vogel
bda0107bb1 Cleanup: include-what-you-use 2016-08-12 02:14:15 +02:00
Jannik Vogel
d2d8a97a09 Fix SDL2 #include paths 2016-08-12 02:13:22 +02:00
Daniel Evans
8a985309f9 Remove breakpoint system from ScriptMachine 2016-08-12 01:02:24 +01:00
Aaron Bieber
e8b28c7168 add support for OpenBSD 2016-08-11 17:51:27 -06:00
Daniel Evans
d8841c7561 Remove include directory from rwengine for consistency 2016-08-07 14:41:45 +01:00
Daniel Evans
a0b995c97e Move game state classes into states folder 2016-08-07 14:32:22 +01:00
darkf
e58be26be8 Fix the construction of WorkContext
Previously the worker thread was constructed before the queue was, leading to
unfortunate race conditions. This fixes that, along with unrelated minor cleanup.
2016-08-05 09:42:03 -07: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
6d6d772653 Open binary files in binary mode 2016-08-02 04:38:35 -07:00
darkf
a574649dce Silence a lot of warnings 2016-08-02 04:31:12 -07:00
Daniel Evans
f3151fe0b7 Merge pull request #166 from danhedron/feature/input-improvements
Seperate Input state from binding
2016-08-01 20:06:37 +01:00
Daniel Evans
07945e767e Merge pull request #168 from danhedron/feature/build-hash
Add Git SHA1 hash to RWGame for versioning
2016-08-01 19:42:14 +01:00
Daniel Evans
ded631dad6 Add Git SHA1 hash to RWGame for versioning 2016-08-01 19:34:53 +01:00
Daniel Evans
c48bc26c1e Merge pull request #158 from danhedron/feature/physics-overhaul-1
MotionStates & physics cleanup
2016-08-01 19:32:30 +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
haphzd
347c30d429 WinSock2 (just to build, probably doesn't work) 2016-07-28 14:46:56 +03:00
haphzd
114abe2286 Windows/MinGW-W64 compatibility 2016-07-28 14:46:48 +03:00
Daniel Evans
78cdedcb3b Add Look left & right in vehicles 2016-07-02 21:20:45 +01:00
Daniel Evans
c2fc2359e3 Add primitive sprint behaviour 2016-07-02 20:51:30 +01:00
Daniel Evans
91428fbff1 Use input state for player movement 2016-07-02 20:51:30 +01:00
Daniel Evans
ae55b888e0 Update game state from SDL events 2016-07-02 20:51:30 +01:00
Daniel Evans
827653a12b Add Default control mapping for ingamestate 2016-07-02 20:50:49 +01:00
Daniel Evans
b3fe87c2ea Clean up CollisionInstance and some of VehicleObject 2016-07-02 20:37:04 +01: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
orbea
27c6334cb1 CMake: Add BIN_DIR and DOC_DIR (#165)
* CMake: Add BIN_DIR and DOC_DIR

* CMake: Fix typo
2016-06-29 22:19:03 +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
a58486fc4f Merge pull request #147 from danhedron/fix/script-opcode-1
Fix opcodes 0x0213 & 0x032B
2016-06-25 22:34:43 +01:00
Daniel Evans
64c3277736 Use createPickup in test mode 2016-06-25 21:35:34 +01:00
Daniel Evans
9aaeb2ceda Remove screenshot functionality, as it's broken. 2016-06-23 22:43:00 +01:00
Jannik Vogel
9bfb9f8002 CMake: Use FindSDL2.cmake 2016-06-22 23:58:27 +02: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
9835b0fc61 Replace sf::TcpListener/sf::TcpSocket with a drop-in implementation 2016-06-22 11:13:41 +02:00
Christoph Heiss
572f61e076 Replace sf::Clock with std::chrono::steady_clock 2016-06-22 10:43:47 +02:00
Daniel Evans
8798b99394 Add wrap-around key movement to menu system 2016-06-21 19:40:00 +01:00
Daniel Evans
cb49e59c86 Fix some unused variable compiler warnings in rwgame 2016-06-21 19:32:43 +01:00
Daniel Evans
a08f20dd5b Add Weapon debug menu 2016-06-21 19:26:44 +01:00
Daniel Evans
e83201b45b Improve camera for taller vehicles 2016-06-20 20:26:01 +01:00
Jannik Vogel
49c05bced9 Add vehicle mission spawner to debug menu 2016-06-20 20:26:01 +01:00
Daniel Evans
d1cbdaff94 Add Kill All Peds debug command 2016-06-20 20:26:01 +01:00
Daniel Evans
877d5db2d1 Improve spawning of Vehicles and Follows in debug menu 2016-06-20 20:26:01 +01:00
Daniel Evans
e9127fac6a Overhaul debug menu organisation 2016-06-16 23:42:50 +01:00
Daniel Evans
1157d1dd7c Remove broken save related menu entries 2016-06-16 22:51:49 +01:00
Jannik Vogel
ab6d3e5b3a Add 'Jump to Docks' to debug menu 2016-06-04 18:50:50 +02:00
Daniel Evans
1f5fcb16ca Merge pull request #121 from JayFoxRox/improve-text
Improve text styles
2016-06-04 17:41:32 +01:00
Jannik Vogel
6bb43324a2 Support negative shadow offsets for texts and force shadow colour 2016-06-02 18:57:54 +02:00
Jannik Vogel
873e2d4040 Add option to disable collision for garage doors in debug menu 2016-06-02 17:50:52 +02:00
Jannik Vogel
846771aa82 Add option to flip vehicle in debug menu 2016-05-29 14:59:47 +02:00
Jannik Vogel
79b7ec2b17 Add option to jump to camera position in debug menu 2016-05-29 14:59:47 +02:00
Jannik Vogel
2e002013bd Add car spawner to debug menu 2016-05-26 22:17:11 +02:00
Daniel Evans
eef34c972a Script pickups: implement weapon pickups, improve pickup code 2016-05-25 23:00:52 +01:00
Dmitry Marakasov
c302f10b19 Add FreeBSD support
For now, there's only single OS-dependent bit of code, it it should be
handled on FreeBSD just like on Linux. While here, change macro testing
from #if XXX to #if defined(XXX), this is clener and not prone to
"undefined macro" errors
2016-05-25 18:32:17 +03:00
Daniel Evans
b7ac33caec Improve activities: canSkip(), let player cancel vehicle enter.
Closes #32
2016-05-24 23:49:01 +01:00
Daniel Evans
478cbf6187 Make forward direction part of character state to simplify
This allows activities to make the final call about what direction a
character should be facing based on the direction they want to be
looking.
2016-05-23 21:40:55 +01:00
Timmy Sjöstedt
9e2db1bd11 Enable mouse cursor in menus, fixes #46 2016-05-23 18:44:38 +02:00
Daniel Evans
6178cd03e3 Remove const from return value 2016-05-22 20:03:14 +01:00
Daniel Evans
46961f8c33 Request a non zero number of stencil bits. 2016-05-22 16:07:33 +01:00
Daniel Evans
45abee6093 Improve ingame camera with invert y option in configuration. 2016-05-22 15:58:36 +01:00
Daniel Evans
39c639fc60 Overhaul ingame camera implementation, much better now. 2016-05-21 19:13:27 +01:00
Christoph Heiss
3c4ce72488 Fix GameConfig::getDefaultConfigPath for OS X.
Under OS X, configuration files are usually stored in $HOME/Library/Preferences/<appname>.
2016-05-21 19:04:29 +02: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
9f85f283cb CMake: FindSFML+FindMAD, set library paths as SYSTEM, remove dead stuff. 2016-05-19 22:30:06 +01:00
Rob Crittenden
a1072de670 Don't hardcode screenshot directory (still hardcodes filename)
Signed-off-by: Rob Crittenden <rcrit@greyoak.com>
2016-05-19 11:17:23 -04:00
Daniel Evans
11365a3c73 Remove old text rendering logic code. 2016-05-07 18:35:09 +01:00
Daniel Evans
5721333fb0 Overhaul script text display with new text logic system.
Logic for displaying text now belongs in ScreenText, which will
handle type specific text display.
2016-05-07 18:29:08 +01:00
Daniel Evans
185ba23f05 Fix all compiler warnings in rwengine. 2016-04-28 00:54:42 +01:00
Daniel Evans
b0a2ae4da5 Implement a trivial profiler for perf. overview 2016-04-26 23:35:04 +01:00
Daniel Evans
4fc177d98a Improve benchmark output 2016-04-20 21:25:48 +01:00
Daniel Evans
3e9b0c64e4 Re-implement object rendering using a depth-sorted approach.
This moves the object rendering logic into ObjectRenderer. This makes
GameRenderer a bit smaller.

There are some rendering logic decisions that haven't been brought
back yet since they may be better placed elsewhere.
2016-04-19 01:20:54 +01:00
Daniel Evans
74f0e7f67c Added Benchmark mode (--benchmark file) 2016-04-18 02:31:52 +01:00
Daniel Evans
aecc43c75b Fix nans occuring when there was no movement 2016-04-18 00:10:44 +01:00
Daniel Evans
8a5be54b91 Overhaul animation system and character activities
Replaces animator with a simpler system that can overlay multiple
animations

Character animation split into two layers, motion and action.
Walking, running and jumping animations are played on the first
layer, actions such as firing can be overlayed on the second.
More work is needed to limit overlap to only the weapons that make
sense.
2016-04-17 04:54:19 +01:00
Daniel Evans
8575408ca2 Fix crash if there is no player object 2016-04-16 14:06:54 +01:00
Daniel Evans
e5dc1105b4 Improve HUD with rounding and CRUISE CONTROL FOR COOL. 2016-04-14 01:21:25 +01:00
Daniel Evans
07f7b19ca2 Make it possible to fire weapons again 2016-04-13 21:16:27 +01:00
Daniel Evans
46621093f9 Initial chase scene implementation, opening cutscene chase works 2016-04-13 01:47:19 +01:00
Daniel Evans
14c33024b7 Add missing break that was preventing sprinting 2016-04-12 01:02:33 +01:00
Daniel Evans
7888f05ca4 Re-implement map rendering with nice circular minimap 2016-04-12 01:02:09 +01:00
Daniel Evans
0548206893 Hide armour and add wanted background to HUD 2016-04-10 19:21:58 +01:00
Daniel Evans
f3dba16f06 Add more elements to the UI: Weapon icon & health 2016-04-10 18:58:34 +01:00
Daniel Evans
42c8e46a34 Fix error in game menu preventing testing from working 2016-04-10 18:58:18 +01:00
Daniel Evans
691bba5dca New inventory implementation and split char state 2016-04-10 18:57:40 +01:00
Daniel Evans
38c5184639 Implement initial player info UI 2016-04-10 05:53:49 +01:00
Daniel Evans
909f00b079 Clean up game state structure to better match save format 2016-04-09 22:29:32 +01:00
Daniel Evans
d7604531eb Migrate first save state struct and update loading 2016-04-09 02:21:22 +01:00
Daniel Evans
1df6b5c38f Add RW_DEBUG and RW_UNIMPLEMETED() macros 2016-04-09 01:28:33 +01:00
Daniel Evans
14269d8ae5 Move first of lower level code into rwlib; tear out GLEW. 2016-04-07 01:13:46 +01:00
Daniel Evans
e2bd2b704e Fix crash caused by thread clobbering 2015-07-09 18:29:38 +01:00
Daniel Evans
243bfb18a8 Overhaul breakpoint handling 2015-07-09 13:58:14 +01:00
Daniel Evans
5461f1a5bb Improve debugger functionality and display
* Display Breakpoint information
* Current instruction is hilighted
2015-07-07 03:48:32 +01:00