1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-10-05 08:37:20 +02:00
Commit Graph

493 Commits

Author SHA1 Message Date
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
698f5a9d91 Fix some Vehicle behaviour
* Remove characters from vehicle occupants on destruction

* Fix Player being warped back to vehicle on critical reset
2014-12-18 03:31:09 +00:00
Daniel Evans
857951d7df Destroy Vehicle Parts that are still active 2014-12-18 02:38:36 +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
ff04daf633 Fix Vehicle Collision objects not being destroyed 2014-12-17 19:31:01 +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
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
13192c8524 Improve animation interpolation 2014-12-13 00:59:23 +00:00
Daniel Evans
e0b0c4f168 Improve animation interpolation 2014-12-12 12:30:23 +00:00
Daniel Evans
330fa56b77 Fix animation test case 2014-12-12 00:36:45 +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
Daniel Evans
4d78cacd84 Improve CMake detection of platform libraries 2014-08-16 23:02:34 +01:00
Timmy Sjöstedt
7dde2af9f3 Added <string> to ScriptTypes. 2014-08-16 00:21:12 +02:00
Timmy Sjöstedt
dd9863bda3 Add numeric header for DFF loader. 2014-08-15 23:58:03 +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
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