Commit Graph

720 Commits

Author SHA1 Message Date
Lioncash e4b22ea9d8 CMorphBall: Place internally linked data within an anonymous namespace
Keeps all internal data within one place and also prevents any potential
ODR violations from occurring in relation to any of these.
2019-09-16 14:53:52 -04:00
Lioncash 8c59ace5fe CMorphBall: Clean up includes 2019-09-16 14:43:33 -04:00
Lioncash 0281029015 CEntityInfo: std::move vector in constructor
Allows calling code to potentially avoid copies altogether by moving
into the constructor.
2019-09-15 16:22:35 -04:00
Lioncash 0d2b2f45a8 CStringExtras: Prevent potential out of bounds reads with CompareCaseInsensitive
The strcasecmp and _stricmp functions expect the passed in strings to
be null-terminated, however we we're also exposing a std::string_view
overload for that function. std::string_view instances aren't required
to be null-terminated, so this makes the interface a little unsafe.

We can use std::lexicographical_compare() to provide the same behavior
and also properly handle the case of non-null-terminated strings.
2019-09-14 16:43:04 -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 5baf3206f4 CActorModelParticles: Make DGRP array constexpr
Technically this array wasn't readonly and contained a sequence of
modifiable elements. We can make this constexpr so that the compiler can
definitively place it into the read-only segment.
2019-09-09 20:44:23 -04:00
Lioncash c9271809a7 CAiFuncMap: Remove unused static std::vector
This isn't used, so we can remove it and get rid of a static
constructor.
2019-09-08 18:08:10 -04:00
Lioncash 20a0585cc5 CAiFuncMap: Convert typedefs into type aliases
Same thing, but reads a little nicer.
2019-09-08 18:08:10 -04:00
Lioncash 2f06fcba0a CAiFuncMap: Avoid redundant map lookups in getters
We can just use the result of the find operation instead of rehashing
into the map to retrieve the entry.

This also allows us to make the getter const qualified.
2019-09-08 18:08:10 -04:00
Lioncash 1cfe83d8d1 CAiFuncMap: Replace map indexing with emplace in the constructor
Provides the same behavior, but without default initializing a map entry
that immediately gets overridden in the assignment.
2019-09-08 18:08:10 -04:00
Lioncash 2c6aed7033 World/CScript*: Pass by reference over by value
Based off the use of the const, it's likely that these were intended to
be references, rather than be copied by value
2019-09-06 10:49:54 -04:00
Phillip Stephens 256994c199
Initial CEnergyBall, update submodules, various fixes 2019-08-31 02:02:21 -07:00
Lioncash fa608acb06 CPatterned: Correct use of bool in bitfield
This is incremented within PathFind(), however, because the type within
this bitfield is a bool, this can trigger compilation warnings (rightly
so). So we can make it a uint32_t to make it obvious that the
incrementing behavior is intended.
2019-08-23 22:26:07 -04:00
Phillip Stephens 9866bac443 Update jbus, initial CEnergyBall stub 2019-08-23 01:32:48 -07:00
Phillip Stephens fa7785d024 Fix GetAreaFog 2019-08-14 12:56:46 -07:00
Lioncash afab3e0327 Runtime: Make const/non-const getters have the same name
Makes for a more consistent interface, as getters won't have different
names to remember based off whether or not they're const qualified.
2019-08-14 12:45:57 -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
Phillip Stephens ad5e395a51 Fixes for `override` modernization 2019-08-10 17:49:41 -07:00
Phillip Stephens 1d3e5cdb70 Implement Oculus loader 2019-08-09 14:55:59 -07: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 b4fe474de3 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-07-19 18:29:06 -10:00
Jack Andersen 7a3da1f7a6 Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
Phillip Stephens 1a9ca77603 Update ScriptObject DNAs to match known values 2019-07-19 01:30:11 -07:00
Phillip Stephens cdf9545de4 Fix MemoryRelay handling in DataSpec 2019-07-16 19:10:57 -07:00
Phillip Stephens 328749d1ba More CFlaahgra imps, initial CTryclops imps 2019-07-16 08:54:07 -07:00
Jack Andersen e38a3ece89 More CBabygoth fixes 2019-07-06 22:22:35 -10:00
Jack Andersen 003146f614 Work on CBabygoth 2019-06-29 21:29:49 -10:00
Phillip Stephens 44cae7bdb9 More CFlaahgra imps 2019-06-26 18:06:03 -07:00
Jack Andersen 77af3f0ebd CPuddleToadGamma and animation system fixes 2019-06-20 20:02:56 -10:00
Jack Andersen 9ccc4227cb Initial support for asynchronous shader compilation 2019-06-15 20:25:29 -10:00
Jack Andersen 37307e1cf6 Various CActorContraption fixes 2019-06-14 14:39:20 -10:00
Jack Andersen 0e8e3e906c Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-06-11 16:05:44 -10:00
Jack Andersen e218b8aeb5 CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
Phillip Stephens 2f2ab149d4 Initial `CScriptSpecialFunction::ThinkSpinnerController` 2019-06-10 20:09:38 -07:00
Phillip Stephens b7b65b04a4 Initial Flaahgra implementations 2019-06-10 01:28:33 -07:00
Phillip Stephens b251bc541f CFlaahgraTentacle implementations (needs testing) 2019-06-09 17:09:07 -07:00
Jack Andersen b7aa3e06d2 Per-stage shader hashing 2019-06-05 14:07:50 -10:00
Jack Andersen 410d7896f7 Support for rendering dynamic cubemaps 2019-05-31 17:41:01 -10:00
Jack Andersen 486c925a45 Merge branch 'shader-refactor' 2019-05-10 13:10:12 -10:00
Phillip Stephens c3527e1688 Fix compile issues 2019-05-09 20:15:26 -07:00
Phillip Stephens 81f1e22fc2 More CFlameThrower imps, implement `CScriptSpecialFunction::ThinkChaffTarget` and `CScriptSpecialFunction::ObjectFollowObject` 2019-05-09 19:33:56 -07:00
Jack Andersen 233d13ceb9 Refactor for blender 2.8 and new shader model 2019-05-07 17:50:21 -10: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 8e2db0795b Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-03-23 22:07:22 -10:00
Jack Andersen a63a61fef8 Implement CWallCrawlerSwarm 2019-03-23 22:06:59 -10:00
Phillip Stephens d3a251589c Revert convenience macro in ScriptLoader 2019-03-23 18:54:46 -07:00
Jack Andersen 99b1a8ef49 Lots of bug fixes 2019-03-12 17:46:20 -10:00
Jack Andersen 52b36795ac Proper handling for persistently resident resources 2019-03-09 23:37:36 -10:00
Jack Andersen 2f963b9ce3 Various bug fixes 2019-03-08 22:58:27 -10:00
Jack Andersen f40bf707f6 DCLN OBB transform fix 2019-03-07 18:16:42 -10:00
Jack Andersen 4b042f6f9a OpenGL memory leak fix 2019-03-04 22:34:43 -10:00
Jack Andersen 8b9f073635 Various rendering fixes 2019-03-02 20:19:42 -10:00
Phillip Stephens 5ebf465a53 Minor fixes in CGameState and CScriptEffect 2019-02-24 15:04:10 -08: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
Phillip Stephens c1c22eb065 Fix IA4 encoding/decoding 2019-02-11 17:58:12 -08:00
Jack Andersen 01af7b735d Implement CScriptSpindleCamera 2019-02-09 18:41:35 -10:00
Jack Andersen 88591f48f0 More bug fixes 2019-02-07 21:56:54 -10:00
Jack Andersen 5f8b65e3b5 Various bug fixes 2019-02-07 15:08:15 -10:00
Phillip Stephens 157946810a Minor fixes to CFrontEndUI, add elapsed seconds to save selection 2019-02-03 13:20:05 -08:00
Phillip Stephens 0bb51f067c Various fixes and minor code cleanup, issue warning when attempting to load an unimplemented object 2019-01-31 12:44:05 -08:00
Jack Andersen 7d29c6e25a More bug fixes 2019-01-30 21:52:21 -10:00
Jack Andersen c3d8afa852 Pathfinding and generator fixes 2019-01-29 22:38:16 -10:00
Jack Andersen ad2681f857 Windows fixes 2019-01-28 22:28:35 -10:00
Phillip Stephens 4dd40f519e Fix CScriptGenerator infinite recursion, update submodules 2019-01-26 15:22:51 -08:00
Jack Andersen cf9062bba5 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-01-22 21:52:38 -10:00
Jack Andersen 137968ecc7 Bug fixes and CAutoMapper mouse events 2019-01-22 21:52:19 -10:00
Phillip Stephens 049f51382b Initial CAtomicBeta imps, needs variable names 2019-01-22 21:59:53 -08:00
Jack Andersen 47c6b5cba8 Bug fixes and CGuiFrame mouse events 2019-01-19 20:43:11 -10:00
Jack Andersen 851e113dc0 Implement CWarWasp 2019-01-15 18:22:44 -10:00
Jack Andersen f9b0614327 Various bug fixes 2019-01-04 22:34:09 -10:00
Jack Andersen d60fcc99c9 Fix CNewIntroBoss and particle bugs 2019-01-04 17:28:02 -10:00
Jack Andersen 5b55320e9b Implement CPlasmaProjectile 2019-01-02 17:47:28 -10:00
Phillip Stephens 4f3c8daf27 Initial CBabygoth imps 2018-12-31 00:37:52 -08:00
Jack Andersen 147a9396c4 CBeetle implementation 2018-12-30 19:01:42 -10:00
Jack Andersen 0ec81477cf CRagDoll fixes 2018-12-26 20:26:34 -10:00
Phillip Stephens d657a8ecf6 Implement CAtomicAlpha 2018-12-17 20:42:17 -08:00
Jack Andersen b7f35e0528 CRelAngle fix 2018-12-16 17:52:51 -10:00
Jack Andersen f184291461 ANCS PAS I/O fix 2018-12-15 20:32:07 -10:00
Jack Andersen dac8fc3eb5 Space pirate bug fixes 2018-12-14 20:29:41 -10:00
Jack Andersen ccf87925b9 Merge fixes 2018-12-12 21:47:50 -10:00
Jack Andersen 001d4ab7dc Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-12-12 21:40:55 -10:00
Jack Andersen ec1cb75b25 Finish CSpacePirate implementation 2018-12-12 21:39:16 -10:00
Phillip Stephens d30ceb6611 More CPuddleSpore implementations 2018-12-12 11:50:37 -08:00
Phillip Stephens 11c3c557bd Initiial CPuddleSpore imp 2018-12-10 20:17:02 -08:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Jack Andersen 41ae32be31 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-12-07 18:36:12 -10:00
Jack Andersen 7c7da6671a SIMD refactor 2018-12-07 15:49:15 -10:00
Phillip Stephens dd705a3db9 Implement CSeedling 2018-12-05 16:46:35 -08:00
Phillip Stephens 0ec9f1f4eb Finish CSpankWeed 2018-12-03 18:31:15 -08:00
Phillip Stephens 9b2fd002c6 Implement CEyeBall, disable CPuddleToadGamma (preventing softlocks), initial CSpankWeed 2018-12-01 18:32:26 -08:00
Phillip Stephens 9948532957 Initial CPuddleToadGamma imps 2018-11-30 16:44:33 -08:00
Jack Andersen e1fa938127 Work on CSpacePirate 2018-11-25 16:15:44 -10:00
Jack Andersen 9c88971df6 Initial CSpacePirate and rag doll imps 2018-11-23 22:09:35 -10:00
Jack Andersen e736d8fa83 Fix CAnimSource reader POI handling 2018-11-20 14:51:15 -10:00
Phillip Stephens 925464dd56 Initial CEyeBall imps 2018-11-20 16:02:20 -08:00
Jack Andersen eeb54df8d7 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-11-18 19:04:46 -10:00
Jack Andersen fbe144bbbd Working CParasite 2018-11-18 19:04:33 -10:00
Phillip Stephens 96f20512bb More CScriptSpecialFunction imps, fix intermittent crash in CAnimTreeTweenBase 2018-11-18 21:01:39 -08:00
Jack Andersen 22da3a0f89 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-11-18 15:19:58 -10:00
Jack Andersen 35a3923cdf Various bug fixes 2018-11-18 15:19:44 -10:00
Phillip Stephens b2b0a6aee0 CMetaree imps 2018-11-17 21:10:06 -08:00
Phillip Stephens ea4848196a Implement CNewIntroBoss 2018-11-16 21:05:57 -08:00
Phillip Stephens e6082d17f5 Initial CSteeringBehaviors imps 2018-11-14 11:23:34 -08:00
Phillip Stephens a7e81073ae CDamageInfo fixes, initial CPuffer 2018-11-13 20:16:11 -08:00
Jack Andersen 660e7cd239 Work on CParasite 2018-11-12 23:20:11 -10:00
Jack Andersen bf3636a16e Lots of CParasite implementations 2018-11-11 18:21:36 -10:00
Jack Andersen 94333e4726 Finish CStateMachine 2018-11-10 20:24:24 -10:00
Jack Andersen 9512f6c98d Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-11-10 17:28:24 -10:00
Jack Andersen d4bb7d64eb All CPatterned functions implemented 2018-11-10 17:27:54 -10: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 0b3a9e1865 Implement CPatterned::KnockBack 2018-11-05 20:16:12 -10:00
Jack Andersen d6051f8808 Implement CKnockBackController 2018-11-04 20:12:53 -10:00
Jack Andersen 4c306e7e40 Implement CHUDBillboardEffect, bug fixes 2018-11-03 15:08:44 -10:00
Jack Andersen d140f35886 All CEnvFxManager effects working 2018-11-02 22:46:12 -10:00
Jack Andersen 97f18efd27 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-11-01 22:16:42 -10:00
Jack Andersen 98c7525176 Initially working CEnvFxManager 2018-11-01 22:16:16 -10:00
Phillip Stephens 134f5a68a2 Implement CScriptDebugCameraWaypoint loader 2018-10-30 15:21:29 -07:00
Jack Andersen 93e9e2f6f1 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2018-10-27 15:23:27 -10:00
Jack Andersen 3147b49b3d EVNT extraction fix 2018-10-27 15:22:55 -10:00
Phillip Stephens dd30f51761 Initial CScriptGun implementation, more loaders 2018-10-27 17:20:30 -07:00
Jack Andersen 427f5d8786 Various bug fixes 2018-10-26 20:16:12 -10: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 8d839d8a17 Scan visor and waterbox fix 2018-10-16 17:26:55 -10:00
Jack Andersen b139e1c000 Fix space jump 2018-10-16 15:49:58 -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 8b25548482 Various bug fixes, implement `CMain::WarpTo` 2018-09-20 20:41:57 -07:00
Phillip Stephens 94fd52d0ea HUD and CPlayer bug fixes 2018-09-20 11:17:09 -07:00
Phillip Stephens 02d54fd5ca Initial CParasite implementation 2018-09-16 16:22:35 -07:00
Phillip Stephens ac33e46590 Remove debug function call 2018-09-13 17:50:16 -07:00
Phillip Stephens 679ce01a61 More CPatterned imps 2018-09-13 17:49:34 -07:00
Phillip Stephens c3d8967605 Implement CPowerBomb 2018-09-09 18:04:57 -07:00
Phillip Stephens ee97ede3fe Initial CPatterned imps 2018-09-07 16:51:07 -07:00
Phillip Stephens 95fbcf914c Finish CAi imps 2018-09-06 22:24:55 -07:00
Phillip Stephens 1a372d2589 Add support for InvDstMultiply blending for shadows, initial CAi implementation 2018-09-06 20:37:39 -07:00
Jack Andersen e46ec80b64 Integrate Amuse into hecl cook/extract for MP1/2 2018-09-02 14:46:16 -10:00
Jack Andersen 5a60a0acfc Amuse API changes 2018-08-27 19:44:16 -10:00
Phillip Stephens 56a48cd624 Initial DNAMP3 fixes various missing loader imps 2018-07-08 16:03:35 -07:00
Jack Andersen ef1f9d564c Big Door initial animation fix 2018-06-29 15:35:43 -10:00
Jack Andersen d0af2cb4f7 Finish CScriptPlatform 2018-06-29 10:21:36 -10:00
Jack Andersen 3a9e7b2f9b PVS and DCLN bug fixes 2018-06-27 20:47:34 -10:00