1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-22 10:22:52 +01:00
Commit Graph

497 Commits

Author SHA1 Message Date
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
Daniel Evans
4ce275c381 Improve debug server functionality and appearence 2015-07-06 00:54:13 +01:00
Daniel Evans
868883fd36 Add Debugger functionality
* Include Angluar JS for UI
* Improve styling slightly
* Add Interrupt/Continue buttons and api URLs
* List of threads when game is paused
2015-07-03 02:52:43 +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
49695a2dc6 Further game save loading
* Give object types individual id namespaces.
2015-06-24 01:48:26 +01:00
Daniel Evans
7ceaac370c Load Weapon inventory data from save files 2015-06-14 21:52:47 +01:00
Daniel Evans
77ca5d96ea Expand Save Game loading to garage data 2015-06-14 18:08:55 +01:00
Daniel Evans
cd7bb3af15 Proof of concept loading save data from save files 2015-06-14 02:44:51 +01:00
Daniel Evans
5399948e05 Merge branch 'rwng' of github.com:danharibo/openrw into rwng 2015-05-18 02:44:56 +01:00
Daniel Evans
69f9e8fea9 Refactor player input from other input 2015-05-18 00:33:06 +01:00
Daniel Evans
228db73c7f Update readme informations 2015-05-10 23:57:13 +01:00
Daniel Evans
98ce9d90e1 Implement some text based markup 2015-05-09 04:02:15 +01:00
Daniel Evans
fc7642a4d7 Prevent mouse issues when focus is lost 2015-05-09 02:27:07 +01:00
Daniel Evans
8e82604fc3 Fix area indicator rendering.
* Increase alpha value from 1/255.
* Don't clear tick data unless the game is updating.
2015-05-09 00:49:28 +01:00
Daniel Evans
ab00f33504 Add multiple camera angles 2015-05-08 23:53:56 +01:00
Daniel Evans
013940c38a Remove focus check from RWGame tick 2015-05-08 17:54:11 +01:00
Daniel Evans
f9ce9a2057 Overhaul camera behaviour 2015-05-04 04:35:22 +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
a7da8ea424 Remove raw GameObject pointer usage in GameState 2015-05-01 03:53:42 +01:00
Daniel Evans
8d1c7e802d Add RWGame::hasFocus(), fix mouse warping 2015-05-01 00:46:20 +01:00
Daniel Evans
5d3ac6218e Implement Game Object ID allocation 2015-04-29 21:03:53 +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
1daa5a6fb2 Move GameObject to objects directory 2015-04-27 02:09:56 +01:00
Timmy Sjöstedt
db8e4ea1aa Pass HTTP method & path to dispatch() 2015-04-25 01:10:01 +02:00
Timmy Sjöstedt
a697ec382e Parse the first line in the HTTP request 2015-04-25 01:09:40 +02:00
Timmy Sjöstedt
dc9c4c3b72 Accept incoming connections in a loop 2015-04-25 01:08:19 +02:00
Timmy Sjöstedt
fc0777717e Refactored handling request to separate method 2015-04-24 22:59:10 +02:00
Daniel Evans
5db4c28f04 Refactor Object Definition information to GameData 2015-04-24 18:10:42 +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
Timmy Sjöstedt
31b625d391 Started implementing HttpServer 2015-04-19 22:37:13 +02:00
Daniel Evans
e04f9a8d40 Move GameData from GameWorld 2015-04-18 01:11:17 +01:00
Daniel Evans
367b40d868 Merge branch 'rwng' of bitbucket.org:danharibo/openrw into rwng 2015-04-14 10:33:16 +01:00
Daniel Evans
97afc19cfb Add Improved Profiling statistics 2015-04-12 19:47:47 +01:00
Daniel Evans
9eb1a415c5 Convert debug times to milliseconds 2015-04-11 02:21:15 +01:00
Daniel Evans
4cf36b8fd6 Add more rendering metrics for GL performance 2015-04-09 23:54:56 +01:00
Timmy Sjöstedt
2db7c7e01f Fixed Average FPS counter not resetting variable. 2015-04-06 21:02:12 +02:00
Timmy Sjöstedt
230b6d9a85 Added jumps to Garage & Airport 2015-04-05 20:07:17 +02:00
Timmy Sjöstedt
7838f75947 Display average frametime & FPS over n frames 2015-04-05 20:06:15 +02:00
Daniel Evans
5b065615f3 Improve Loading screen 2015-04-05 02:12:54 +01:00
Daniel Evans
66b7c878c1 Improve game text behaviour
* Fix messages not being cleared
* Implemented clearing help messages
2015-04-05 02:08:51 +01:00
Daniel Evans
2e9962ef26 Re-implement functional character jumping 2015-04-04 21:50:08 +01:00
Daniel Evans
27c6afba31 Improve character dynamics, step behaviour 2015-04-04 21:23:53 +01:00
Daniel Evans
2f2e099ca6 Merge ClosestNotMeRaycastCallback into header 2015-04-04 20:00:59 +01:00
Daniel Evans
12f717c67e Implement raycast camera - world collisions 2015-04-04 18:34:35 +01:00
Daniel Evans
a54e4a384e Improve test state
* Move test spawn to the parking garage
* Add --test option to start a new testing session
* Add information about camera position to DebugState
2015-04-04 17:48:36 +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
95b6e6a676 Improve pausing behaviour with State::shouldWorldUpdate() 2015-04-03 15:38:24 +01:00
Daniel Evans
bc54fac53a Merge branch 'rwng' of bitbucket.org:danharibo/openrw into rwng
Conflicts:
	rwgame/RWGame.cpp
2015-04-03 03:17:14 +01:00
Timmy Sjöstedt
1010861d0d Removed weird angle calculation that broke the camera in vehicles. 2015-04-03 03:07:08 +01:00
Daniel Evans
b672e41acf Remove Logger ownership from GameWorld 2015-04-03 03:07:08 +01:00
Timmy Sjöstedt
3b73621aab Fixed passing int instead of float to glm::radians 2015-04-03 03:07:08 +01:00
Timmy Sjöstedt
59f7ca8b35 Fixed camera to take Y mouse movement into account.
TODO: Make camera not intersect world geometry and other objects.
2015-04-03 03:07:08 +01:00
Timmy Sjöstedt
4af866c92e Added default 90° FOV. 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
6851c5e011 Improve graphics performance
+ Add Framebuffer rendering to store data
+ Re-implement water using projected grid aproach
2015-04-03 03:07:07 +01:00
Daniel Evans
f655e454d6 Implement new VisualFX system for particles etc.
- VisualFX stores data about effects like particles and lighting
- Only particles initial implementation
- World stores active VisualFX
2015-04-03 03:04:50 +01:00
Daniel Evans
d1e7dcdcd1 Overhaul Loader framework for Models
- Replace background model loader with generic background loader
- Replace ModelHandle object with generic resource handle
2015-04-03 03:04:50 +01:00
Daniel Evans
ce4b8fc83a Remove old file indexing system and IO handling
- Use FileIndex inside GameData to handle normalisation
- Remove old raw pointer API for loading data
2015-04-03 03:04:50 +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
dfd68abd8e Add new Logger system.
- Supports multiple log recievers.
- Onscreen log needs to be re-written.
- Replaces GameWorld::logX().
2015-04-03 03:04:50 +01:00
Daniel Evans
3801e69e81 Improve TextRenderer kerning and performance 2015-04-03 02:56:37 +01:00
Daniel Evans
c3debe530f Add --newgame switch to RWGame
+ Starts the game script execution without showing the menu
2015-04-03 01:26:20 +01:00
Daniel Evans
90eb909273 Minor vehicle camera improvements 2015-04-01 05:05:21 +01:00
Timmy Sjöstedt
290933d197 Removed weird angle calculation that broke the camera in vehicles. 2015-03-30 14:31:00 +02:00
Daniel Evans
3975816164 Remove Logger ownership from GameWorld 2015-03-30 02:45:58 +01:00
Timmy Sjöstedt
bc325b8857 Fixed passing int instead of float to glm::radians 2015-03-30 02:03:44 +02:00
Timmy Sjöstedt
7729ae171d Fixed camera to take Y mouse movement into account.
TODO: Make camera not intersect world geometry and other objects.
2015-03-30 01:47:10 +02:00
Timmy Sjöstedt
4b915d5271 Added default 90° FOV. 2015-03-30 01:46:41 +02:00
Daniel Evans
980ef71e96 Change how draw calls are counted 2015-03-28 13:54:28 +00:00
Daniel Evans
30e059a0b6 Improve graphics performance
+ Add Framebuffer rendering to store data
+ Re-implement water using projected grid aproach
2015-03-28 13:42:29 +00:00
Daniel Evans
2985a70354 Implement new VisualFX system for particles etc.
- VisualFX stores data about effects like particles and lighting
- Only particles initial implementation
- World stores active VisualFX
2015-03-06 16:55:46 +00:00
Daniel Evans
46cd7b8f51 Overhaul Loader framework for Models
- Replace background model loader with generic background loader
- Replace ModelHandle object with generic resource handle
2015-03-06 04:38:22 +00:00
Daniel Evans
dfe6ec3eaa Remove old file indexing system and IO handling
- Use FileIndex inside GameData to handle normalisation
- Remove old raw pointer API for loading data
2015-03-06 01:40:29 +00:00
Daniel Evans
cf0c37dcc2 Remove GameRenderer from GameWorld
- Particle rendering is broken, since objects can't access renderer
2015-03-05 16:36:14 +00:00
Daniel Evans
536b3f9f0c Add new Logger system.
- Supports multiple log recievers.
- Onscreen log needs to be re-written.
- Replaces GameWorld::logX().
2015-03-05 03:37:13 +00:00
Daniel Evans
cdff0aa275 Handle window close event 2015-02-26 02:06:43 +00:00
Daniel Evans
fe4926e5d6 Add object lifetime values, clean up spawned traffic 2015-02-18 16:00:55 +00:00
Daniel Evans
9407ee3135 Add test implementation of pedestrian spawning 2015-02-18 15:29:39 +00:00
Daniel Evans
f9382af485 Add frametime and FPS to debug stats 2015-02-16 00:44:30 +00:00
Daniel Evans
b59c689a5e Improve timestep and clock handling 2015-02-16 00:39:19 +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
9eb4c62a04 Improve HUD and UI rendering
+ Add names for some styles to reduce confusion
+ Move some HUD drawing into a seperate file
2015-02-15 12:41:51 +00:00
Daniel Evans
9855bf2967 Improve map rendering, UI viewport
+ UI Viewport is now window sized
+ Map renderer now supports rotating
2015-02-15 01:41:24 +00:00
Daniel Evans
2344024f08 Text rendering 2015-02-07 22:55:06 +00:00
Daniel Evans
538d0c02f9 Add city.wav 2015-02-04 17:16:46 +00:00
Daniel Evans
441109bc99 Add fullscreen option 2015-01-30 10:07:53 +00:00
Daniel Evans
854228e91b Re-implement -w and -h window size arguments 2015-01-30 10:04:25 +00:00
Daniel Evans
dda2d5a245 Make disable input opcode take effect 2015-01-27 15:25:45 +00:00
Daniel Evans
d5a906eb3f Increase FOV while cinematic mode is set 2015-01-27 13:59:09 +00:00
Daniel Evans
0d730547fa Fix issues with HUD and widescreen mode 2015-01-26 01:32:21 +00:00
Daniel Evans
87ca358717 Adjust game map a little more 2015-01-25 18:42:29 +00:00
Daniel Evans
cbebbbed87 Minor adjustments to the map 2015-01-25 18:31:22 +00:00
Daniel Evans
87435a2576 Add map renderer and ingame radar display 2015-01-25 18:25:55 +00:00
Daniel Evans
1961661d14 Implement visible goals for locating characters 2015-01-23 17:18:16 +00:00
Daniel Evans
6890572542 Disable debug rendering of doors 2015-01-23 12:25:40 +00:00
Daniel Evans
4ea6e14299 Improve vehicle door dynamics
+ Vehicle doors should move in the right direction now
+ Fix debugging draw class for bullet
2015-01-22 20:16:28 +00:00
Daniel Evans
3f40ba0e18 Add AI Goal system, FollowLeader goal.
+ Add support for setting leader, e.g. Misty follows you during "Luigi's Girls".
2015-01-22 15:00:30 +00:00
Daniel Evans
0c84873be2 Add more opcodes, can now finish mission 1 2015-01-22 11:11:16 +00:00
Daniel Evans
185687b1b5 Add and improve functionality for first mission.
+ Improve GoTo activity behaviour, jumping to target.
+ Fixed crash on non-existing audio file
+ Added correct conditional flag to conditional opcodes
+ Fixed seat state on exit from non 0th seat
+ Implement many opcodes
2015-01-21 20:40:31 +00:00
Daniel Evans
ed62b758d2 Implement more opcodes
* Is Vehicle Flipped, Create character in vehicle, get time of day and many more
2014-12-17 22:53:25 +00:00
Daniel Evans
f3adc5ea5a Improve Help Box display 2014-12-17 14:38:27 +00:00
Daniel Evans
e3c78fd09c Add more opcodes 2014-12-17 00:39:52 +00:00
Daniel Evans
7963becbd1 Add more opcodes and vehicle handling 2014-12-16 19:17:22 +00:00
Daniel Evans
2709e7d252 Implement and declare more opcodes 2014-12-16 03:30:51 +00:00
Daniel Evans
7e4dea5139 More Script Engine improvements and fixes
* Implement and declare many more opcodes
* Fix incorrect behaviour of If / else jump constructs.
2014-12-16 03:03:15 +00:00
Daniel Evans
a55bcc557d Implement some AI and zone opcodes
* Add disabled flag to AI nodes

* Move ZoneData structure into own file

* Add Gang density to ZoneData.
2014-12-16 03:03:04 +00:00
Daniel Evans
d3a3436a09 Improve vehicle camera 2014-12-14 23:21:30 +00:00
Daniel Evans
27104f7b79 Add Jump activity to improve jump dynamics 2014-12-13 01:24:06 +00:00
Daniel Evans
b444e0da04 Add time control debug keys 2014-12-13 00:59:09 +00:00
Daniel Evans
17a649f045 Fix crash at exit due caused by rendering to closed window 2014-12-11 18:11:36 +00:00
Daniel Evans
cfca1cbdc8 Refactor Object data into heirarchy
+ All Object Data classes inheirt from ObjectInformation which stores
  the ID and class_type, which maps to the IDE name.
- Remove all object mappings except for objectTypes, which now stores
  all of them.
2014-09-17 03:13:02 +01:00
Daniel Evans
f47fad4bc2 Move game code into RWGame class and refactor 2014-09-16 19:22:43 +01:00
Daniel Evans
668848952b Initial rendering refactor 2014-08-22 14:29:46 +01:00
Daniel Evans
4d78cacd84 Improve CMake detection of platform libraries 2014-08-16 23:02:34 +01:00
Timmy Sjöstedt
460473f461 Link OpenGL with CMake find package. 2014-08-16 00:20:13 +02:00
Timmy Sjöstedt
a854a11dc3 Added linking to iconv
TODO make it cmake-y
2014-08-16 00:19:04 +02:00
Timmy Sjöstedt
dfafa9e218 Fixed Bullet include paths. 2014-08-15 23:49:58 +02:00
Daniel Evans
ba7eb63941 Refactor and cleanup camera control.
rwengine
+ Make renderWorld() take a ViewCamera parameter.
+ add rotation and getView to ViewCamera
+ correct directions for vehicle and character movement.

rwgame
+ Remove GenericState
+ Add State::getCamera() to control the ViewCamera used for rendering
+ Clean up state camera control
+ Remove now unused view parameters from main
2014-08-12 21:15:26 +01:00
Timmy Sjöstedt
e504118e5b Fixed mouse control being doubly inverted. 2014-08-11 22:16:44 +02:00
Daniel Evans
ed38fb48fc Remove unused option 2014-08-11 20:09:56 +01:00
Daniel Evans
b1c82e3582 Fix compilation under clang, fix majority of warnings 2014-08-11 17:58:43 +01:00
Daniel Evans
d270b75141 Improve rendering performance
+ Fix some bad values for glActiveTexture()
+ Move work processing queue into update() to avoid clogging the render
  thread
+ Add some extra values for frames and geometry drawn
2014-08-03 13:37:11 +01:00
Daniel Evans
6a1dacaa54 Implement object opacity and instance fade-out 2014-08-02 21:35:58 +01:00
Daniel Evans
8c224c0c85 Improve display of debug text 2014-08-01 22:22:49 +01:00
Daniel Evans
c7256e60fb Implement fade to splash screen 2014-08-01 22:03:00 +01:00
Daniel Evans
97ad0414f7 Add Cutscene Audio, via libmad
+ MADStream probably needs a good look over, for saftey's sake
2014-08-01 21:04:58 +01:00
Daniel Evans
a3764efdfd Normalize FOV with aspect ratio 2014-08-01 15:48:05 +01:00
Daniel Evans
4214162ed0 Implement some text related opcodes 2014-07-30 15:48:51 +01:00
Daniel Evans
aa841c0ed3 Merge branch 'script-tool'
Conflicts:
	rwengine/include/engine/GameObject.hpp
	rwengine/include/engine/GameWorld.hpp
	rwengine/include/render/GameRenderer.hpp
	rwengine/src/render/GameRenderer.cpp
2014-07-30 13:55:39 +01:00
Daniel Evans
688ee493b4 Add GXT loading support and i18n of prints. 2014-07-28 06:20:39 +01:00
Daniel Evans
5b9c95d346 Add Initial Cutscene playback implementation
+ Add CutsceneData structures to store the data required.
+ Implement screen fading in and out (todo: splash screen fading)
+ Add GameData::openFile2() returns a handle to open file memory + size
+ Fix fog implementation
+ Add screenspace rect to GameRenderer for fades and cinematics
2014-07-28 02:27:55 +01:00
Daniel Evans
3c665e7d2b Add many opcodes, implement some of them.
+ Fix thread-relative jumps
+ GameObject::setHeading(degrees) sets object rotation from a heading.
+ Add More GameState from opcodes.
+ Decouple game hours from the engine clock
+ Add VehicleObject::setRotation()
+ Add GameWorld::getGroundAtPosition(pos) for OpCodes
+ Fix Handling of fixed-point SCM parameters
+ Update IngameState to use GameState::player if it exists
+ Add skip-time button to skip opening cutscene (F12)
2014-07-27 00:44:21 +01:00
Daniel Evans
c3e2172f3b Initial Script Machine implementation + some ops 2014-07-23 23:57:21 +01:00