Commit Graph

374 Commits

Author SHA1 Message Date
Lioncash af7d8e9095 CUVElement: Provide initial value for cv in GetValueUV()
The game executable itself sets this variable to an initial value of 1
prior to calling cycleFrames' GetValue() member function.
2019-10-11 17:05:26 -04:00
Lioncash 35fb0e4911 CUVElement: Use const where applicable
While we're at it, we can also make conversions to float explicit.
2019-10-11 17:05:23 -04:00
Lioncash 7430b70b73 CParticleDataFactory: Use unique_ptr where applicable
Same behavior, but makes the functions a little safer in terms of memory
management.
2019-10-11 15:16:13 -04:00
Lioncash 8b58cdc268 CIntElement: Add class to handle RTOI int elements
Within the int element handling code, there seems to be a missing
implementation (with the FourCC 'RTOI'), which seems to take two 32-bit
floating point values, multiplies them, then converts the result to a 32-bit
integer.
2019-10-06 08:52:41 -04:00
Lioncash ff940612bc CIntElement: Make use of std::clamp within CIEClamp's overrides
Same behavior, less code.
2019-10-04 19:51:38 -04:00
Lioncash 3407a59ad7 CIntElement: Simplify CIEKeyframeEmitter's GetMaxValue()
We can just use std::max_element here to collapse the loop into an
assignment.
2019-10-04 19:46:36 -04:00
Lioncash af0c2c41e3 CIntElement: Organize cpp includes 2019-10-04 19:38:31 -04:00
Lioncash 83873b580e CIntElement: Join variable declarations with assignments where applicable 2019-10-04 19:38:26 -04:00
Lioncash 66b198d1a4 CElementGen: Correct FourCC in SetTranslation()
The game executable checks for a FourCC of ELSC within this function,
not SELC.
2019-10-03 09:45:26 -04:00
Lioncash 36d04456dd General: Normalize RuntimeCommonB include paths
Finishes the normalizing of all of includes within the RuntimeCommonB target's headers.
2019-09-23 17:22:37 -04:00
Lioncash 06789d1860 General: Normalize several headers' include paths
Normalizes the include paths and makes them consistent. Also adds any
missing includes relevant to the interface.
2019-09-22 20:36:33 -04:00
Lioncash f9079f0215 Runtime: Make use of std::make_unique where applicable
Makes use of the C++14 make_unique allocation function to allocate class
instances where applicable instead of a reset with a new operator within
it.

This doesn't touch cases where buffers are allocated, given make_unique
would zero-initialize them.
2019-09-12 04:09:48 -04:00
Lioncash d3d629d405 RuntimeCommon: Use const on member functions where applicable
Adds missing const qualifiers on class member functions that don't
modify instance state.
2019-08-14 09:25:39 -04:00
Lioncash 2059535b55 RuntimeCommonB: Use the override specifier where applicable
Applies the override keyword where applicable to indicate visually where
member function overriding is occurring. This only targets
the RuntimeCommonB target as a starting point, which resolves around
900+ cases where the keyword could be used.
2019-08-09 09:13:26 -04:00
Jack Andersen 5acf9ecbcf Graphics debug groups and bug fixes 2019-07-20 22:42:52 -10:00
Jack Andersen 7a3da1f7a6 Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
Jack Andersen fd0bfc3acf Minor flamethrower and babygoth fixes 2019-06-30 20:14:42 -10:00
Phillip Stephens 6df0fcde50 Minor CElementGen cleanup, implement CFlaahgraPlants 2019-06-20 14:17:03 -07:00
Jack Andersen 87023b432e Fixes in ANIM cooking 2019-06-15 16:22:23 -10:00
Jack Andersen e218b8aeb5 CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
Phillip Stephens 81f1e22fc2 More CFlameThrower imps, implement `CScriptSpecialFunction::ThinkChaffTarget` and `CScriptSpecialFunction::ObjectFollowObject` 2019-05-09 19:33:56 -07:00
Phillip Stephens 28071851ad Initial CFlameThrower imps 2019-04-16 01:00:46 -07:00
Jack Andersen 3a0d2930fa Numerous uninitialized memory fixes 2019-04-06 19:14:48 -10:00
Jack Andersen b72cc490e8 Implement CFishCloud 2019-04-02 18:32:31 -10:00
Jack Andersen 99b1a8ef49 Lots of bug fixes 2019-03-12 17:46:20 -10:00
Jack Andersen 2f963b9ce3 Various bug fixes 2019-03-08 22:58:27 -10:00
Jack Andersen 8b9f073635 Various rendering fixes 2019-03-02 20:19:42 -10:00
Jack Andersen 8df0a4913c zeus constexpr refactor and thermal visor fixes 2019-02-23 21:15:54 -10:00
Jack Andersen 48eaa2545b Working CScriptGunTurret 2019-02-17 19:47:46 -10:00
Jack Andersen ad2681f857 Windows fixes 2019-01-28 22:28:35 -10:00
Jack Andersen d60fcc99c9 Fix CNewIntroBoss and particle bugs 2019-01-04 17:28:02 -10:00
Phillip Stephens d30ceb6611 More CPuddleSpore implementations 2018-12-12 11:50:37 -08:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Jack Andersen 7c7da6671a SIMD refactor 2018-12-07 15:49:15 -10:00
Jack Andersen 9c88971df6 Initial CSpacePirate and rag doll imps 2018-11-23 22:09:35 -10:00
Phillip Stephens a7e81073ae CDamageInfo fixes, initial CPuffer 2018-11-13 20:16:11 -08:00
Phillip Stephens 89ece2e9b2 Proper CRandom16 usage
More CScriptGunTurret imps
2018-11-09 18:48:06 -08:00
Jack Andersen 1aab0528f3 Various bug fixes 2018-11-07 14:53:38 -10:00
Jack Andersen 3ef7386978 Proper interleaved rendering of indirect-textured particle instances 2018-11-04 21:25:28 -10:00
Jack Andersen 4c306e7e40 Implement CHUDBillboardEffect, bug fixes 2018-11-03 15:08:44 -10:00
Phillip Stephens dd30f51761 Initial CScriptGun implementation, more loaders 2018-10-27 17:20:30 -07:00
Jack Andersen 29dad50cca Particle, map and line renderer fixes 2018-10-25 18:37:22 -10:00
Jack Andersen 8fb77eac2c Various bug fixes 2018-10-20 18:14:00 -10:00
Jack Andersen 3f4aeffb17 Merge branch 'shader-refactor' 2018-10-15 17:17:37 -10:00
Phillip Stephens bbfe61efbf Various loader implementations 2018-10-11 15:57:05 -07:00
Jack Andersen c91e5df986 Convert to pragma once 2018-10-06 17:42:33 -10:00
Jack Andersen 9461e98512 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into shader-refactor 2018-10-06 16:59:32 -10:00
Jack Andersen c307e354ca Huge shader refactor 2018-10-06 16:59:17 -10:00
Phillip Stephens 94fd52d0ea HUD and CPlayer bug fixes 2018-09-20 11:17:09 -07:00
Phillip Stephens c3d8967605 Implement CPowerBomb 2018-09-09 18:04:57 -07:00
Jack Andersen 5a60a0acfc Amuse API changes 2018-08-27 19:44:16 -10:00
Jack Andersen cd3bba2f0e Working grapple beam 2018-06-20 14:57:57 -10:00
Jack Andersen 941c4d793c Fix CScriptEffect translation set 2018-06-12 16:32:02 -10:00
Jack Andersen 8f9d7da3ee Implement tessellation shader for HLSL 2018-06-07 15:15:46 -10:00
Jack Andersen a5f25bf3f4 Fix water rendering 2018-06-02 20:11:39 -10:00
Jack Andersen cc6d79e280 Various bug fixes 2018-05-26 18:22:38 -10:00
Jack Andersen 70b3404b7c Windows build fixes and warning avoidance 2018-05-24 20:39:38 -10:00
Jack Andersen f60af632b3 Big fixes and big memory leak refactor (linux only for now) 2018-05-19 20:14:57 -10:00
Jack Andersen 979a54a8a8 More bug fixes 2018-05-17 18:16:33 -10:00
Phillip Stephens 0c49c8ea9e Implement CScriptActorKeyframe 2018-05-14 14:44:09 -07:00
Phillip Stephens 8d395d932e Implement CScriptEffect, more fixes for CScritDock 2018-05-13 20:38:36 -07:00
Jack Andersen 9130b9459a More particle bug fixes 2018-05-13 13:27:47 -10:00
Jack Andersen faf0ac7d27 Particle POI fix, implement ORNT mode for particles 2018-05-12 18:09:11 -10:00
Jack Andersen 12430610f1 Lots of bug fixes 2018-05-09 21:25:26 -10:00
Phillip Stephens 711c3e0d2c Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor 2018-04-29 20:12:41 -07:00
Phillip Stephens 6d60ccfd04 Various fixes and tweaks, Implement CExplosion, Add cheats 2018-04-26 14:12:20 -07:00
Jack Andersen 7100ed437f macOS decal rendering support 2018-03-16 17:41:01 -10:00
Jack Andersen 017185109f Fix disappearing actor issue 2018-03-04 13:23:21 -10:00
Jack Andersen 46a4a37cc6 Initial working projectiles 2018-02-11 19:30:21 -10:00
Jack Andersen 547471c6ba Work on projectiles 2018-02-10 19:27:00 -10:00
Jack Andersen 3754962301 Finish CProjectileWeapon 2018-02-09 20:26:12 -10:00
Jack Andersen ac8dfde174 Various bug fixes and CActor rendering 2018-02-04 20:56:09 -10:00
Jack Andersen 36f1473f3e All animation nodes implemented 2018-01-29 15:04:01 -10:00
Jack Andersen bb10423267 Various particle bug fixes 2018-01-26 22:34:46 -10:00
Jack Andersen 7a179eb10a Various bug fixes 2018-01-13 20:44:22 -10:00
Jack Andersen 73ae278c87 Several collision fixes 2017-12-17 16:54:50 -10:00
Jack Andersen 8901ac2150 Various fixes 2017-12-09 19:30:01 -10:00
Jack Andersen 3894749675 Changes to support boo object tracker API 2017-11-04 20:17:12 -10:00
Jack Andersen 484a4900a0 CMorphBall Complete 2017-09-29 17:45:57 -10:00
Jack Andersen 2c4967ca4d More work on CMorphBall 2017-09-16 17:13:03 -10:00
Jack Andersen 27cee61765 Implement array-based rstl::reserved_vector 2017-09-10 21:08:30 -10:00
Jack Andersen 10092821c8 Initial round of CMorphBall implementations 2017-09-10 16:18:49 -10:00
Jack Andersen 53ec80ce72 Implement CFlameWarp 2017-09-09 23:04:51 -10:00
Jack Andersen 149eed4b73 Implement CAuxBeam 2017-09-09 14:36:21 -10:00
Jack Andersen 361aa1512b Finish CGunWeapon 2017-09-04 17:00:19 -10:00
Jack Andersen 640623f3ef Finish CGrappleArm 2017-09-03 16:22:46 -10:00
Phillip Stephens 870e8c80ee Refactor ResId into CAssetId 2017-08-12 22:26:14 -07:00
Phillip Stephens 2dee7c72cb Fix build error 2017-08-01 03:08:42 -07:00
Phillip Stephens 9afacd791b CActorModelParticles work 2017-07-31 03:47:04 -07:00
Jack Andersen 6c257e1811 Work on CPlayer 2017-07-15 20:13:37 -10:00
Jack Andersen 47e73f9f80 Add particle data binding for rendering PMUS quads 2017-06-12 08:20:07 -10:00
Jack Andersen 14a4bc2050 ZERY fix 2017-06-10 18:07:09 -10:00
Jack Andersen f8f3bf407a Finish CParticleElectric 2017-06-10 16:57:35 -10:00
Jack Andersen f3acc97d63 Implement actual CParticleSwoosh rendering 2017-06-09 19:34:39 -10:00
Jack Andersen 302bd76ebd Implement remaining CParticleSwoosh renderers 2017-06-05 19:05:09 -10:00
Jack Andersen a07097855b Work on CParticleSwoosh renderers 2017-06-04 16:40:29 -10:00
Jack Andersen ca9170bc88 Several initial CParticleSwoosh implementations 2017-06-03 18:54:47 -10:00
Jack Andersen 6da6e37d42 Conform CElementGen with retail 2017-06-03 15:01:09 -10:00
Jack Andersen db8a7d3433 CParticleDatabase implementations 2017-06-02 20:03:07 -10:00
Jack Andersen 08cbeceb80 Windows build fixes 2017-05-08 09:10:09 -10:00
Jack Andersen b2d375a1d7 Finish CSamusDoll 2017-05-05 19:21:42 -10:00
Jack Andersen db12dd2ea2 Implement CStateManager::Update 2017-03-23 19:30:16 -10:00
Jack Andersen 6c81cea420 Windows fixes and updated rendering interface 2017-03-17 13:33:02 -10:00
Jack Andersen 1629882113 Refactors to support fog volume rendering 2017-03-13 21:03:58 -10:00
Jack Andersen c407e75943 Frontface culling support for Metal 2017-03-10 11:08:51 -10:00
Jack Andersen ce723d5505 Frontface culling support boo sync 2017-03-10 10:52:53 -10:00
Jack Andersen 9b9ba95d45 Sync with boo shader cache 2017-03-05 13:03:23 -10:00
Jack Andersen cac0e328f7 Tons of DrawWorld-related implementations 2017-03-03 18:31:08 -10:00
Phillip Stephens ac5f28eeff Add missing factories, update hecl 2017-02-13 13:29:00 -08:00
Phillip Stephens a8f5efb6e5 Fix command line args on macOS when passed via open, implement CScriptCameraPitchVolume 2017-01-23 02:31:15 -08:00
Phillip Stephens 12c6163e32 Fix CMemoryCardSys shutdown crash 2017-01-22 09:36:25 -08:00
Jack Andersen e9222c7aba Merge branch 'master' of https://github.com/AxioDL/urde 2017-01-21 15:53:11 -10:00
Jack Andersen 0744a2307a Several architectural fixes and additions 2017-01-21 15:40:12 -10:00
Phillip Stephens 362fb6b00d Implement CParticleGenInfoGeneric 2017-01-20 22:03:37 -08:00
Jack Andersen 513d283bee Merge branch 'master' of https://github.com/AxioDL/urde 2016-12-22 20:43:26 -10:00
Jack Andersen d7f79d6ec3 Work on CMemoryCardDriver 2016-12-22 20:41:39 -10:00
Phillip Stephens 598f64002c Silence warnings, and fix Windows build 2016-12-21 11:27:15 -08:00
Jack Andersen 9b6ab93ae5 Remove unnecessary and RVO-detrimental moves 2016-10-02 18:39:31 -10:00
Phillip Stephens c20eb76189 Various imps and stubs 2016-09-13 22:45:46 -07:00
Jack Andersen f4ea728a61 Resource factories now provided with self-ref 2016-09-02 09:32:57 -10:00
Jack Andersen 0aaeed2aeb const_cast refactor 2016-08-28 18:22:54 -10:00
Jack Andersen f95d6c8ada OpenGL enum change; Metal <10.11 fixes 2016-08-23 18:35:35 -10:00
Phillip Stephens a840cc7afb CBodyState and CStateMachine work 2016-08-15 13:43:04 -07:00
Phillip Stephens cedf3dba4e prelim CDecal imps 2016-08-04 15:24:28 -07:00
Phillip Stephens 62ce5286fe CMapWorld stubs, and compile fixes 2016-07-28 00:33:55 -07:00
Phillip Stephens ed5220793f COBBTree::GetSurface imp 2016-07-27 23:37:50 -07:00
Phillip Stephens 9b62191975 Various imps, completed CCollisionResponse RE 2016-07-24 23:24:57 -07:00
Jack Andersen 952b96fa79 GLSL refactors to support Vulkan 2016-07-07 14:07:11 -10:00
Phillip Stephens 4d56b0f876 OS X < 10.11 2016-07-05 14:51:00 -07:00
Phillip Stephens 9bc184e4eb Shader error fixes, update amuse 2016-07-03 17:01:39 -07:00
Jack Andersen 2e784a1941 Vulkan Updates 2016-07-01 17:46:02 -10:00
Jack Andersen 10784b7dc5 Updates for Vulkan rendering 2016-06-30 16:33:16 -10:00
Phillip Stephens 40cd1226fa Re-add accidentally removed CRSM types 2016-06-23 12:40:09 -07:00
Phillip Stephens 56320d2442 DGRP Extract Fix 2016-06-01 23:26:50 -07:00
Phillip Stephens 00a98bce85 Various implementatations 2016-04-29 03:08:46 -07:00
Phillip Stephens c55db47941 PASDatabase imps
Add SpecialFunction loader
2016-04-27 12:59:38 -07:00
Phillip Stephens 6d9ccc7f89 Various Implementations 2016-04-24 22:53:06 -07:00
Jack Andersen b60d55d784 Bad level link fixes 2016-04-23 18:03:30 -10:00
Phillip Stephens 4615f37f59 Various imps 2016-04-22 13:22:45 -07:00
Jack Andersen abff623cf6 Prep MP1::CMain for testing 2016-04-15 10:42:40 -10:00
Jack Andersen 86c21a77ac Function-scope statics aren't as efficient as file-scope ones 2016-04-14 17:26:01 -10:00
Jack Andersen c91bfade75 CCharacterFactory imps 2016-04-14 17:02:21 -10:00
Jack Andersen 8608b52774 CModelData imps 2016-04-14 11:42:47 -10:00
Jack Andersen 5de5c3d85f Character factory support classes 2016-04-12 20:07:23 -10:00
Phillip Stephens b3687e46cc Initial CBodyState stubs 2016-04-07 00:10:08 -07:00
Jack Andersen 5c1d8492db HLSL lighting shaders 2016-04-04 09:34:54 -10:00
Jack Andersen c26a288a8c Vulkan API sync 2016-04-03 20:37:15 -10:00
Jack Andersen 9f0e9a808b Implement Metal lighting shader 2016-04-03 20:16:03 -10:00
Jack Andersen 929f8263fc Windows Fixes; D3D depth support 2016-04-02 19:25:34 -10:00
Phillip Stephens dc978a4c79 Add Global Project
Fix Particle Crashes
2016-04-02 01:44:23 -07:00