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

544 Commits

Author SHA1 Message Date
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
Daniel Evans
c35c2c636a Add thrown projectiles, support for queued deletion 2014-07-20 21:21:51 +01:00
Daniel Evans
f8f17db68f add ProjectileObject with support for grenades 2014-07-14 01:29:05 +01:00
Daniel Evans
a8c2312b87 Add corona to pickups 2014-07-09 22:28:25 +01:00
Daniel Evans
4c9e2cb24b Remove and re-home debug functionality
Remove the unused command list from rwgame
2014-07-09 20:47:20 +01:00
Daniel Evans
b8860722fd Further implement weapons and pickups
Inventory can now by cycled
Weapon Pickups are created infront of the spawn
2014-07-04 21:06:56 +01:00
Daniel Evans
aa7f77009c Refactor objects into a single set to DRY 2014-07-01 23:04:23 +01:00
Daniel Evans
0214a29ca3 Implement character inventory items, with weapon 2014-06-29 22:14:46 +01:00
Daniel Evans
3ccf5ebaa2 Door and bonnet dynamics 2014-06-20 00:47:45 +01:00
Daniel Evans
27cc58e510 Add camera raycast to prevent camera clipping through world 2014-06-19 17:58:45 +01:00
Daniel Evans
74d6bed7f3 Improve vehicle dynamics
Decrease margin on vehicles and world to mitigate poping
Improve frame damage response
2014-06-18 23:05:59 +01:00
Daniel Evans
4d228e40c7 Improve CMake scripts
Look for bullet using the FindBullet package
2014-06-18 17:07:51 +01:00
Daniel Evans
3a156063d8 Improve renderer and LOD handling 2014-06-17 21:46:54 +01:00
Daniel Evans
9bd39fa89d Improve vehicle behaviour and water interaction 2014-06-17 00:48:19 +01:00
Daniel Evans
7063952d56 Redo uprooting dynamics 2014-06-16 01:29:36 +01:00
Daniel Evans
0a3167d1e9 Refactor shader init and source 2014-06-15 02:12:45 +01:00
Daniel Evans
014bff2a4e Add water dynamics to dynamic instances 2014-06-15 01:34:13 +01:00
Daniel Evans
bec157c598 boat driving force 2014-06-14 20:11:53 +01:00
Daniel Evans
2c16134abd Initial, unstable, water dynamics 2014-06-13 21:54:17 +01:00
Daniel Evans
65b5c84b92 Initial dynamic object implementation 2014-06-11 21:00:53 +01:00
Daniel Evans
04de3c1a8f Fix compiler warnings 2014-06-10 17:51:55 +01:00
Daniel Evans
34478b6651 Fix GLM syntax issue 2014-06-10 17:08:46 +01:00
Daniel Evans
55742a4e11 Debug mode freelook 2014-06-08 22:18:03 +01:00
Daniel Evans
b2e1c0fad2 Improve vehicle dynamics 2014-06-07 04:11:20 +01:00
Daniel Evans
891b12272c Rename more classes to better names 2014-06-06 17:17:39 +01:00
Daniel Evans
439749e34f Rename Object classes and files 2014-06-06 15:22:26 +01:00
Daniel Evans
61931145fe Threaded model and texture loading 2014-06-06 13:12:20 +01:00
Daniel Evans
fdd8c930f8 Display current activity 2014-06-02 22:18:13 +01:00
Daniel Evans
d56a3badc0 Overhaul animation system; tick alpha
Animators now store Frame keyframes more sensibly
Animators can interpolate between two keyframes on an alpha
Add tick alpha value to the rendering pipeline
2014-06-02 04:58:41 +01:00
Daniel Evans
d4f11c4b72 Render world in physics debug mode 2014-06-01 20:44:07 +01:00
Daniel Evans
2fb86b741c Improve UI display 2014-06-01 18:26:53 +01:00
Daniel Evans
6d604ffec0 Fixed TEXDICTION and wheel rendering 2014-06-01 17:41:09 +01:00
Daniel Evans
624fc737d3 Add debug menu vehicle list 2014-06-01 13:17:35 +01:00
Daniel Evans
48b35f4310 Make camera follow vehicle rotation 2014-05-31 20:19:15 +01:00
Daniel Evans
38077939bc Fix wheels being not rotated 2014-05-31 19:45:29 +01:00
Daniel Evans
c8f5e7ead2 Fixed more broken vehicle interaction 2014-05-31 19:22:43 +01:00
Daniel Evans
7acec24597 Fix camera angles being outta whack 2014-05-31 12:38:30 +01:00
Daniel Evans
04842a628a Primitive debug menu; vehicle enter animation 2014-05-31 08:18:50 +01:00
Daniel Evans
532738077e Initial shift to AIController controlling 2014-05-29 09:34:59 +01:00
Daniel Evans
6fe65d725b Refactor states 2014-05-26 05:34:49 +01:00
Daniel Evans
623a1f4ce2 Fix radians / game path in rwgame 2014-05-25 22:47:10 +01:00
Daniel Evans
c5451f5fd4 Fix compiler errors and test problems 2014-05-25 22:30:50 +01:00
Daniel Evans
f289b6d0b0 Connected animation translation to Character movement 2014-03-02 10:38:50 +00:00
Daniel Evans
e1a37e44c4 Cleaned up some object data
Renamed some vehicle related data objects
Changed types on some vehicle data containers
Renamed GTAObject to GameObject
2014-02-28 11:23:51 +00:00
Daniel Evans
caa1fd301e fix cmake source dir paths 2014-02-28 07:24:20 +00:00
Daniel Evans
42c9480271 Add Readme and Copying files 2014-02-13 09:51:42 +00:00
Daniel Evans
326fe4eeb3 Merge branch 'objects' 2014-01-29 08:47:01 +00:00
Daniel Evans
16b59f3943 Renamed Components 2014-01-26 03:45:55 +00:00