1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-09-19 17:01:44 +02:00
Commit Graph

1112 Commits

Author SHA1 Message Date
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
2f6417e3d0 Fix crash in InstanceObject::changeModel 2014-08-11 20:12:20 +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
8d839a9e10 Fix missing variable in ObjectData block 2014-08-03 17:42:31 +01:00
Daniel Evans
5a472941f1 Add more info output on shader compilation, fix shaders 2014-08-03 17:29:53 +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
81712a12b1 Use destroyQueued instead of iteration for cutscene cleanup 2014-07-30 13:57:41 +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
4c9e2cb24b Remove and re-home debug functionality
Remove the unused command list from rwgame
2014-07-09 20:47:20 +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
ddf4bd3585 Fix weird nvidia shader compiler error 2014-07-02 13:26:37 +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
39cf86f056 Improve vehicle and item interaction 2014-06-30 02:18:02 +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
15c41d137d Improve material rendering, fix texture loading 2014-06-19 16:31:01 +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
abf91c9a3c Fix world <=> Vehicle <=> vehicle collision 2014-06-18 07:32:08 +01:00
Daniel Evans
692cfaa335 Fix texture lookup index
Alpha texture name is actually important.
2014-06-18 06:59:24 +01:00
Daniel Evans
9f257ea4c4 Animator update and vehicle frame damage
Refactor Animator to handle frame visibility, removing isFrameVisible()
Make frames be removed if they are damaged due to physics.
2014-06-18 05:08:15 +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
4ce4465cc7 Fix vehicle collision triangles 2014-06-16 01:39:44 +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
d437e9697e Improve water dynamics and rendering 2014-06-14 18:48:14 +01:00
Daniel Evans
2c16134abd Initial, unstable, water dynamics 2014-06-13 21:54:17 +01:00
Daniel Evans
77aa71df7e Improve water rendering 2014-06-12 00:15:05 +01:00
Daniel Evans
65b5c84b92 Initial dynamic object implementation 2014-06-11 21:00:53 +01:00
Daniel Evans
0cdbb0c09c Fix multi-clump LOD instances 2014-06-10 20:53:50 +01:00
Daniel Evans
04de3c1a8f Fix compiler warnings 2014-06-10 17:51:55 +01:00
Daniel Evans
e060b6d0b1 Fix root frame index bug 2014-06-08 22:40:46 +01:00
Daniel Evans
208a2a9897 Primitive water rendering 2014-06-08 19:04:47 +01:00
Daniel Evans
62d2658c2d Limit vehicle top speeds 2014-06-07 16:38:33 +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
f24ceeb42f Overhaul worker interface 2014-06-04 11:53:11 +01:00
Daniel Evans
51e4fb9989 Data Loader interface 2014-06-04 06:02:41 +01:00
Daniel Evans
b99314939b Vehicle exiting animation 2014-06-02 22:18:30 +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
8e8aef8890 Allow animating with the root translation 2014-06-02 00:08:48 +01:00
Daniel Evans
3be84c02c1 Remove string comparision from getFrameMatrix 2014-06-01 20:18:52 +01:00
Daniel Evans
602218579c Make it possible to interrupt activities 2014-06-01 18:44:43 +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
6eb45bc710 Fix crash when jumping without character 2014-05-31 20:30:03 +01:00
Daniel Evans
12f9bf08a9 Remove some comments 2014-05-31 19:47:04 +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
052ce629c4 Refactor Animator to support multiple animations 2014-05-31 12:15:20 +01:00
Daniel Evans
04842a628a Primitive debug menu; vehicle enter animation 2014-05-31 08:18:50 +01:00
Daniel Evans
d7b738cdc1 Replace Activity switch with objects 2014-05-29 11:12:40 +01:00
Daniel Evans
532738077e Initial shift to AIController controlling 2014-05-29 09:34:59 +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
411b913025 Fixed RT and RTS frame matrix order 2014-03-01 11:30:01 +00:00
Daniel Evans
52d90a9b26 Animations working again 2014-03-01 11:19:33 +00:00
Daniel Evans
bd96b0b190 Added vehicle damage flags 2014-03-01 04:12:35 +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
c5171eb673 Added documentation 2014-02-13 10:57:25 +00:00
Daniel Evans
42c9480271 Add Readme and Copying files 2014-02-13 09:51:42 +00:00
Daniel Evans
1b9687dedd Frame information 2014-02-12 06:42:07 +00:00
Daniel Evans
a49bfd9d99 Preperations for actual visuals 2014-02-11 05:46:29 +00:00
Daniel Evans
70dba94de4 Viewer archive loading 2014-02-10 15:34:09 +00:00
Daniel Evans
9f0834e65e Fix frame name loading 2014-02-10 09:48:40 +00:00
Daniel Evans
be39a691cf Improved colour representation 2014-02-10 09:22:12 +00:00
Daniel Evans
d9bb0be308 Use new drawing structures 2014-02-10 08:55:01 +00:00
Daniel Evans
975c7a5c32 Add new structures for renderer data 2014-02-10 05:43:20 +00:00
Daniel Evans
0773829dfc Refactored rendering and frames 2014-02-09 03:14:43 +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