1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-07 19:32:49 +01:00
Commit Graph

193 Commits

Author SHA1 Message Date
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
25f28dbb42 New File handling implementation
- move FileHandle into a separate header
- Implement FileIndex, a system to normalize filenames and sources
2015-02-26 03:57:28 +00:00
Daniel Evans
7f2c5a4645 Initial Traffic wandering algorithm (pedestrians only) 2015-02-26 01:15:17 +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
2ccc1fc33c Add initial TrafficDirector open spawn point methods 2015-02-17 01:31:20 +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
eed2377e50 Improve vehicle dynamics
- Fix bouyancy not working at all
- Make it difficult to flip a vehicle going around corners
2015-01-28 01:55:35 +00:00
Daniel Evans
dda2d5a245 Make disable input opcode take effect 2015-01-27 15:25:45 +00:00
Daniel Evans
6a4afea4e6 Make it possible to start the 2nd Luigi mission 2015-01-27 15:02:10 +00:00
Daniel Evans
c87a4a7cb1 Re-allocate audio clips when a new clip is loaded 2015-01-27 13:09:16 +00:00
Daniel Evans
abb6576785 Add implementation for more generic pickups 2015-01-27 02:38:08 +00:00
Daniel Evans
206c61e326 Merge branch 'master' of bitbucket.org:danharibo/openrw 2015-01-27 00:50:55 +00:00
Daniel Evans
cafb002d3b Add more blip opcodes, with sprites 2015-01-27 00:48:09 +00:00
Daniel Evans
5271b6e78b Merge branch 'master' of bitbucket.org:danharibo/openrw 2015-01-26 14:40:17 +00:00
Daniel Evans
d7d52dc892 Improve cutscenes to load wav audio too 2015-01-26 14:40:09 +00:00
Daniel Evans
91cd7c7edd Add blips and some opcodes 2015-01-26 01:16:25 +00:00
Daniel Evans
87ca358717 Adjust game map a little more 2015-01-25 18:42:29 +00:00
Daniel Evans
87435a2576 Add map renderer and ingame radar display 2015-01-25 18:25:55 +00:00
Daniel Evans
9f1162a945 Add entering to any passenger seat 2015-01-23 17:54:17 +00:00
Daniel Evans
1961661d14 Implement visible goals for locating characters 2015-01-23 17:18:16 +00:00
Daniel Evans
da2ae998f9 Implement object visibility control 2015-01-23 12:25:15 +00:00
Daniel Evans
5d41002b36 Further improve vehicle door dynamics
+ Rename some part target angle names
+ Improve behaviour of opening and closing doors
+ Use different animations for right hand side of vehicle
2015-01-23 02:03:21 +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
eef4a2d87e Move object script functions to seperate module
Not all script functions involving objects have been moved, some
further movement is expected.
2015-01-19 12:20:35 +00:00
Daniel Evans
39ff9df337 Refactor script system to bind named functions.
Replace ugly macros with named functions and binding to script modules
2015-01-16 02:32: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
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
0ddc8458d1 Add vehicle generator data and opcodes. 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
646d0c67fc Improve Script debugging output messages 2014-12-15 20:44:36 +00:00
Daniel Evans
77f2277a68 Improved vehicle door dynamics with opening doors 2014-12-14 20:45:58 +00:00
Daniel Evans
25a3a0183b Overhaul vehicle part system with VehicleObject::Part 2014-12-14 01:32:00 +00:00
Daniel Evans
27104f7b79 Add Jump activity to improve jump dynamics 2014-12-13 01:24:06 +00:00
Daniel Evans
e0b0c4f168 Improve animation interpolation 2014-12-12 12:30:23 +00:00
Daniel Evans
1fb8162a7c Fix broken object data test cases 2014-12-11 18:34:39 +00:00
Daniel Evans
584618e991 Overhaul animation support with Skeleton class.
Move frame transform data into Skeleton instead of Animator.
Animator now responsible for mutating Skeleton state.
Skeleton is more flexible for things like vehicle skeletons.
2014-12-11 17:48:47 +00:00
Daniel Evans
7d92fbb9f2 Huge rwviewer changes for new objects.
+ Change to Object Viewer to list all object types
2014-09-19 00:10:05 +01: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
c3956ac888 Refactor some text data loading to seperate class 2014-09-13 03:29:32 +01:00
Daniel Evans
f7398f17f8 Refactor character movement. 2014-08-26 22:54:26 +01:00
Daniel Evans
668848952b Initial rendering refactor 2014-08-22 14:29:46 +01:00
Timmy Sjöstedt
7dde2af9f3 Added <string> to ScriptTypes. 2014-08-16 00:21:12 +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
Daniel Evans
5aaead1974 Fix potential non-return in LoaderIMG 2014-08-11 18:16:18 +01:00
Daniel Evans
b1c82e3582 Fix compilation under clang, fix majority of warnings 2014-08-11 17:58:43 +01:00
Daniel Evans
97fee9b4a8 Fix many memory leaks code duplication
+ Move collision data construction into CollisionInstance
+ CollisionInstance also handles related cleanup

+ Fix leaks from AINodes
2014-08-10 23:31:59 +01:00
Daniel Evans
d2e19fbdb3 Refactor SubGeometry to use a vector for storage
+ Use memcpy to populate subgeometry data
2014-08-10 20:09:54 +01:00
Daniel Evans
d0188880d3 Fix various warnings 2014-08-06 00:23:50 +01:00
Daniel Evans
6353822f48 Fix character animation 2014-08-05 15:09:42 +01:00
Daniel Evans
eea4118eed Change threading in naieve attempt at fixing crash 2014-08-05 13:41:44 +01:00
Daniel Evans
6c78b0c3c5 Refactor DFF Loader, underlying stream handling
+ Fix some model related memory leaks
2014-08-04 22:24:37 +01:00
Daniel Evans
be347e88dc Remove accidentally commited files 2014-08-03 17:51:43 +01:00
Daniel Evans
88008a448b Improve MADStream code, delay audio start. 2014-08-03 17:50:40 +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
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
51fa23a04c Implement more correct behaviour for "switch model" opcode 2014-08-01 15:48:11 +01:00
Daniel Evans
a3764efdfd Normalize FOV with aspect ratio 2014-08-01 15:48:05 +01:00
Daniel Evans
8ae618913d Implement more opcodes, fix behaviour in others
+ Fix Model reference offsets (indicated by negative values)
+ Fix Create Instance to use SCM models
+ Add Change instance model opcode
2014-08-01 15:00:36 +01:00
Daniel Evans
c0dc78eb2c Refactor opcodes 2014-08-01 00:33:38 +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
02838ce3b4 Implement cutscene objects and animations (sans skinning)
+ Add CutsceneObject for non-interactive animating objects
+ Implement HIER section to load cutscene object data
2014-07-30 13:46:14 +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
fa3f2cc3ea Add more opcodes, implement some 2014-07-25 03:38:47 +01:00
Daniel Evans
c3e2172f3b Initial Script Machine implementation + some ops 2014-07-23 23:57:21 +01:00
Daniel Evans
e0a0c4882f Refactor Script loading into engine 2014-07-21 00:34:28 +01:00
Daniel Evans
c35c2c636a Add thrown projectiles, support for queued deletion 2014-07-20 21:21:51 +01:00
Daniel Evans
770a87dd2b Add correct collision response for molotov + rpg 2014-07-17 01:46:24 +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
e5cc47132f Initial documentation pass
Add a nice doxygen file.
2014-07-09 05:04:48 +01:00
Daniel Evans
67fbc5afa3 Improve weapon and animation dynamics
Fix issue with 0-rotation animation frames
Improve weapon shot origin alignment (still bad)
2014-07-09 02:06:59 +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
3c57d9278c Refactor object rendering into seperate functions 2014-07-01 22:00:45 +01:00
Daniel Evans
0e48687c27 InventoryItem virtual dtor 2014-06-30 02:19:40 +01:00
Daniel Evans
799127f8f8 Implement weapon firing, debug tracers 2014-06-30 01:56:45 +01:00
Daniel Evans
0214a29ca3 Implement character inventory items, with weapon 2014-06-29 22:14:46 +01:00
Daniel Evans
87a04d9119 Added weapon scan for HITSCAN
WeaponScans contain data required to affect objects in the world with
weapon damage
2014-06-28 03:22:53 +01:00
Daniel Evans
1244a87665 Add weapon data loading 2014-06-26 17:55:17 +01:00
Daniel Evans
a4591695e9 Flatten low quality water 2014-06-25 01:12:32 +01:00
Daniel Evans
3ccf5ebaa2 Door and bonnet dynamics 2014-06-20 00:47:45 +01:00
Daniel Evans
8cbf1eaefe Animator procedural frame orientation 2014-06-19 19:18:34 +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