Commit Graph

3159 Commits

Author SHA1 Message Date
Luke Street 3e1dee99f1 CFlaahgra: Fix CFlaahgraPlants origin 2020-08-15 03:34:24 -04:00
Luke Street 30f7716946 CFlaahgra: AcceptScriptMsg Damage fixes 2020-08-15 03:25:13 -04:00
Luke Street 88d5c4c239 CFlaahgra: Fix damageColor, set doTargetDistanceTest 2020-08-15 03:08:53 -04:00
Luke Street 8c2d954a01 CFlaahgraTentacle: Fixes & implement Death 2020-08-14 01:08:11 -04:00
Luke Street 9de84dace3 CFlaahgraPlants: Set xf4_damageInfo in constructor 2020-08-14 00:41:37 -04:00
Luke Street 261544131f CFlaahgraPlants: AcceptScriptMsg fixes 2020-08-14 00:30:41 -04:00
Luke Street 232619a7d3 CFlaahgraProjectile: Implement AcceptScriptMsg 2020-08-14 00:21:55 -04:00
Luke Street ab3b9ca803 CFlaahgra: Implement CreateProjectile & EUserEventType::Projectile 2020-08-14 00:13:55 -04:00
Luke Street b24c748e1a CFlaahgra: Fix SetCollisionActorBounds args in Attack 2020-08-12 23:58:14 -04:00
Lioncash 6703529445 CInGameGuiManager: Make use of std::all_of in CheckDGRPLoadComplete()
When ranges are implemented in all compilers, we can simplify this
significantly.
2020-08-03 01:18:13 -04:00
Lioncash b6473bd225 CInGameGuiManager: Make DGRP strings string_views
Same behavior, but allows eliminating runtime strlen calls.
2020-08-03 01:06:14 -04:00
Lioncash 403ce6a4b7 CMapWorld: Make use of designated initializers 2020-08-03 00:59:26 -04:00
Lioncash b88dd6b373 CGroundMovement: Make use of designated initializers
Same behavior, less duplication of variable names.
2020-08-02 22:54:34 -04:00
Lioncash d9dde388f5 CFireFlea: Mark helper functions as const
These don't modify internal member state at all and can be marked as
such.
2020-08-02 05:34:14 -04:00
Lioncash 97f2576e2a CFBStreamedCompression: Eliminate undefined pointer casting
Some (but not all pointer casting in this file is undefined behavior).
To rectify this, we can make use of a light wrapper around memcpy to
make all of this well-defined.
2020-08-02 03:34:32 -04:00
Lioncash c9f5483c59 CLineRendererShaders: Make use of static inline variables
Same behavior, less code.
2020-08-02 03:02:08 -04:00
Lioncash 83c2023bbb CElementGenShaders: Make use of static inline variables
Same behavior, less code
2020-08-02 02:57:02 -04:00
Lioncash 4e1ff26f56 CDecalShaders: Make use of static inline variables
Same behavior, less code.
2020-08-02 02:53:15 -04:00
Lioncash 1b52070f4f CActorContraption: Unindent code in CreateFlameThrower() where applicable
We can invert a conditional to allow much of the code to be unindented.
2020-08-02 02:28:48 -04:00
Lioncash 4b140d8954 CAnimData: Move variable closer to usage spot
Keeps the code localized, and doesn't unnecessarily execute the
constructor until necessary.
2020-08-02 02:20:10 -04:00
Lioncash 4e9b22962c CModelData: Remove usages of const_cast
Allows readers to know that these functions do affect member state.
2020-08-01 23:45:49 -04:00
Lioncash 25c017e0cc CModelBoo: Make use of static inline variables
Same behavior, but allows all the initializers to be in one place,
rather than throughout the cpp file.
2020-08-01 23:33:50 -04:00
Lioncash e9084df80b CFBStreamedAnimReaderTotals: Remove redundant memset
We can just make use of make_unique instead, which does it as part of
the interface.
2020-08-01 06:29:21 -04:00
Lioncash 88e6a04f13 CCollidable*: Make use of static inline variables where applicable
Allows relocating initialization with the rest of the variables.
2020-08-01 05:31:25 -04:00
Lioncash 55da593e59 CCinematicCamera: Unindent code in GetInterpolatedSplinePoint()
Puts the empty case into the conditional to allow unindenting most of
the code block.
2020-08-01 05:12:30 -04:00
Lioncash a746ac45e4 CCinematicCamera: Eliminate some sign conversion warnings 2020-08-01 05:11:32 -04:00
Lioncash 391e97fbd1 CBooRenderer: Eliminate mixed signedness bitwise ANDing
Prevents sign mismatch warnings.
2020-08-01 04:42:06 -04:00
Lioncash cb2fe959a4 CSfxManager: Make use of designated initializers
Same behavior, less duplication of variable names.
2020-07-31 22:46:11 -04:00
Luke Street bc3b6ff274 CFireFlea: Correct CPathFindSearch flags 2020-07-12 23:28:14 -04:00
Luke Street 61577b16d2 CFlyingPirate: Remove useless references 2020-07-12 23:28:03 -04:00
Luke Street a2bcb4d086 CTryclops: Fixes & cleanup 2020-07-12 23:27:40 -04:00
Luke Street dbd52f8917 CBomb: Correctly initialize x170_prevLocation 2020-07-12 23:24:07 -04:00
Luke Street 3279ebea9a CTryclops: Implement sub8025dbd0 2020-07-12 05:58:48 -04:00
Luke Street 97d2c6895f CStateManager: Fix condition in BuildDynamicLightListForWorld 2020-07-07 06:14:41 -04:00
Luke Street c001985a79 CPlayer: Remove duplicated function call 2020-07-07 04:36:18 -04:00
shiiion cf86338a84 initial flamethrower weapon implementation 2020-06-25 22:37:45 -04:00
Luke Street 0d8a766146 CScriptBallTrigger: Apply force fixes
Fixes #337
2020-06-25 19:33:43 -04:00
Luke Street 7e8bc8dac8 CIceSheegoth: Remove constexpr from virtual function 2020-06-13 20:22:27 -04:00
Lioncash 17ed0794e9 CIceSheegoth: Add missing reference ampersands to IsClosestSheegoth()
Same behavior, but doesn't make copies of the vector and
reserved_vector (the reserved vector in particular is 2056 bytes in size
and this function is called in a loop, so this can have quite an
impact).
2020-06-11 10:28:00 -04:00
Lioncash 5f899b6c6c CIceSheegoth: Mark IsMouthCollider() as a const member function
This doesn't modify internal member state, so we can mark this as const.
2020-06-11 10:23:33 -04:00
Lioncash 3352f0e812 CIceSheegoth: Make use of TCastToConstPtr where applicable
Makes the immutability of the data enforced and explicit.
2020-06-11 10:22:13 -04:00
Lioncash 58186ad5df CIceSheegoth: Make use of in-class initializers for bitfields
Same behavior, less code.
2020-06-11 10:18:03 -04:00
Lioncash 2a357a1006 CDrone: Make use of in-class initializers for bitfields
Eliminates some code.
2020-06-11 10:16:12 -04:00
Lioncash 76a9d8f0f9 CDrone: Correct Z component calculation in TargetCover()
GM8E v0 multiplies by one in this case, not zero
2020-06-11 10:12:45 -04:00
Luke Street 73d6465095 CPlayer: Fix logic in ChooseTransitionToAnimation 2020-06-07 14:12:51 -04:00
Luke Street 932b5587a2 Build fixes & cleanup for CDrone, CIceSheegoth 2020-06-06 16:40:51 -04:00
Luke Street ca96676057 Merge remote-tracking branch 'origin/icesheegoth' 2020-06-06 16:27:08 -04:00
Luke Street feb163e107 Merge remote-tracking branch 'origin/drone' 2020-06-06 16:25:48 -04:00
Phillip Stephens 86942c44ef
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-06-03 04:12:11 -07:00
Phillip Stephens 9f4663491b
CScriptPlayerActor: Add missing SetActive 2020-06-03 04:11:06 -07:00
Luke Street 8d2d5ef5d5 COmegaPirate: MSVC runtime fix for skeleton asset IDs 2020-05-31 22:05:48 -04:00
Luke Street ab01cb5f1a CFrontEndUI: Remove audio group on destruction 2020-05-31 20:27:52 -04:00
Luke Street eb979c9760 rstl: Check __cpp_lib_concepts for contiguous_iterator_tag 2020-05-27 14:50:12 -04:00
Luke Street d44eccc386 Runtime: constexpr fixes for gcc 2020-05-27 13:02:20 -04:00
Luke Street c4ccb1cfce CStaticInterference: Fix id reference 2020-05-27 12:45:17 -04:00
Luke Street 330eeebf08 CRasterFont: Remove ignored maybe_unused attributes 2020-05-27 12:40:35 -04:00
Lioncash a0bdb2588f CParticleDatabase: Make use of heterogenous lookup
Resolves a TODO. (Technically this can be done with C++17 only, as
std::map allows heterogenous lookup since that standard).

Reduces number of allocations necessary for lookups.
2020-05-27 06:54:22 -04:00
Lioncash 055e4a8bec COmegaPirate: Simplify enum qualifiers
The base class doesn't need to be qualified on the enum type.
2020-05-26 18:00:14 -04:00
Lioncash ff9506b7a9 COmegaPirate: Make use of TCastToConstPtr where applicable
Makes read-only intent explicit.
2020-05-26 17:56:23 -04:00
Lioncash fecfb14f35 CBodyState: Make references const where applicable
The referenced objects aren't modified
2020-05-25 22:21:36 -04:00
Luke Street e1cd1278f6 Update macOS build instructions 2020-05-24 12:03:33 -04:00
Luke Street a8d62d1cbd rstl: Add iterator_category workaround for atdna 2020-05-22 04:08:32 -04:00
Luke Street 07bb2d74b5
Merge pull request #321 from lioncash/contiguous
rstl: Make iterator tag use std::contiguous_iterator_tag
2020-05-22 03:43:50 -04:00
Luke Street 23870c53aa Merge remote-tracking branch 'origin/master' 2020-05-22 03:37:08 -04:00
Luke Street de2996a941 CMetroid: Implement UpdateVolume, IsPlayerUnderwater, IsHunterAttacking 2020-05-22 03:34:48 -04:00
Luke Street e0866ebdd4 CMetroid: More implementation & fixes 2020-05-21 12:50:17 -04:00
Luke Street 56d31254cd CKnockBackController: Fix EKnockBackType 2020-05-21 11:32:48 -04:00
Lioncash 1158a171e7 CFontImageDef: Collapse IsLoaded() into a std::all_of call
Same behavior, less code. C++20 ranges will allow shortening this in the
future.
2020-05-21 01:40:31 -04:00
Lioncash 6063ec2540 CFontRenderState: Eliminate sign conversion in SetColor()
Same behavior, minus a sign conversion warning.
2020-05-21 01:33:39 -04:00
Luke Street 8f56219900 CChozoGhost: Add missing call to SetAnimationStateRange 2020-05-20 23:45:44 -04:00
Lioncash 32a4087f69 CScriptAiJumpPoint: Mark reference as const in AcceptScriptMsg
None of the data members of the referenced connections are modified.
2020-05-20 14:32:24 -04:00
Lioncash 5536417474 CScannableObjectInfo: Resolve unused parameter warning
This is unused, so we can just not specify it.
2020-05-20 14:03:20 -04:00
Lioncash 47cfaf17bd CScriptActor: Remove unused printf code
Given it's not actively used or tied into the logging system, we can get
rid of this to prevent it from ever bitrotting.
2020-05-20 13:59:21 -04:00
Lioncash 1049a1a590 CScriptActorRotate: Make use of insert_or_assign in UpdateActors()
Same behavior, minus potentially avoidable default constructions that
immediately get overwritten.
2020-05-20 13:50:01 -04:00
Lioncash 677ed1ce9a CScriptSpawnPoint: Resolve sign conversion warnings
operator[] takes a size_t, not an int.
2020-05-20 12:19:03 -04:00
Lioncash 38213bae99 CTeamAiMgr: Convert type into an enum class
Makes the sorting type explicit at the call site, rather than using
magic values.
2020-05-19 23:50:02 -04:00
Lioncash 96129264a3 CTeamAiMgr: Make use of TCastToConstPtr where applicable
Makes mutability explicit.
2020-05-19 23:47:05 -04:00
Lioncash e1ddabaff8 CTeamAiMgr: Make use of std::any_of in ShouldUpdateRoles()
Same behavior, less code.
2020-05-19 23:41:58 -04:00
Lioncash e73e704d20 CPlayerState: Make GetPickupTotal() a const member function
This doesn't modify internal member state.
2020-05-19 22:25:27 -04:00
Lioncash 9ce7c72a1c CStaticInterference: Shorten some find_if calls
While we're at it, we can also const qualify a reference
2020-05-19 22:17:25 -04:00
Lioncash 463e9e9f60 CStaticInterference: Eliminate sign conversion warnings in constructor
We can just accept a size_t to prevent warnings from occurring.
2020-05-19 22:14:21 -04:00
Lioncash f204d43333 rstl: Make iterator tag use std::contiguous_iterator_tag
Given we're iterating over a contiguous sequence with iterators like
these, we can use the contiguous_iterator_tag introduced within C++20 to
signify this.
2020-05-19 16:01:02 -04:00
Luke Street eddaa24b1e CDamageVulnerability: Fix WeaponHits 2020-05-17 12:25:04 -04:00
Luke Street 74d9bf4abc CMetroid: More AI impl & fixes 2020-05-17 11:21:52 -04:00
Luke Street 3cafee2abd CMetroid: Implement SuckEnergyFromTarget 2020-05-17 02:46:23 -04:00
Luke Street 6ad1aa79ab Merge branch 'master' into metroid 2020-05-16 23:12:00 -04:00
Lioncash 871d3dc6ec CPatterned: Make skDamageColor fully constexpr 2020-05-15 16:51:20 -04:00
Lioncash 7d3b43712d CElitePirate: Make IsArmClawCollider internally linked
We can fully collapse this into a helper function and simplify the
parameters on it.
2020-05-14 22:21:55 -04:00
Lioncash d9540c31ce CElitePirate: Simplify IsArmClawCollider()
We can collapse this down into a std::any_of call.
2020-05-14 21:59:14 -04:00
Luke Street c1f7358d96 CWideScreenFilter: Implement DrawFilter 2020-05-14 19:23:43 -04:00
Luke Street 72880f6286 CScriptDebris: Assign dieOnProjectile 2020-05-14 11:59:34 -04:00
Luke Street ff62fddc89 CMetaree: Fix Halt delay 2020-05-14 11:27:23 -04:00
Phillip Stephens 47d767c441
CRidley: Various fixes, now you can kick the dragon's ass 2020-05-14 06:06:21 -07:00
Phillip Stephens 6e3370d90f
Merge pull request #320 from lioncash/reverse
rstl: Remove need for manual reverse iterators
2020-05-14 04:42:19 -07:00
Phillip Stephens 9c217c9115
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-05-13 06:20:52 -07:00
Phillip Stephens a432a79cd4
Various Ridley fixes 2020-05-13 06:20:40 -07:00
Luke Street 514fc33fd8 CElitePirate: Add missing ShakeCamera function 2020-05-12 23:51:03 -04:00
Lioncash f2d0939a15 CParticleSwooshShaders: Remove unused file-scope variable
Same behavior, one less runtime static constructor.
2020-05-12 20:50:35 -04:00
Lioncash 4e718a805f CFluidPlaneShader: Replace explicit operator bool calls with the analogous named function
Same behavior, more informative to the reader about what is being
checked for.
2020-05-12 20:45:32 -04:00
Lioncash 942b972398 CTweaks: Collapse namespace specifiers into nested namespaces
Same behavior, less code.
2020-05-12 20:39:18 -04:00
Lioncash a17ff08662 CPhazonHealingNodule: It helps to commit your editor changes before pushing
Intended to be part of 4b5074b298
2020-05-12 20:33:59 -04:00
Lioncash 4b5074b298 RuntimeCommon: Const qualify auto references where source is const
Marks references that would be deduced as const automatically with const
to be explicit to the reader.
2020-05-12 20:32:51 -04:00
Lioncash 8e77d6175c CTextureBoo: Make use of std::array where applicable
Allows dehardcoding some array sizes.
2020-05-12 20:23:27 -04:00
Lioncash e0a44bdf45 CTextureBoo: Prevent signed conversion warnings from occurring in Convert* helper functions 2020-05-12 20:03:58 -04:00
Lioncash fee8d91dca CTextureBoo: Make use of anonymous namespace
Makes some helper functions have internal linkage, silencing some
-Wmissing-declarations warnings, and also allows preventing ODR
violations from ever occurring with the RGBA8 and DXT1Block structs.
2020-05-12 20:01:58 -04:00
Lioncash bfbb027117 CSlideShow: Collapse loop into std::all_of
Same behavior, less code. We can also make this function fully
internally linked, given it doesn't depend on instance state.
2020-05-12 19:53:19 -04:00
Lioncash fd2f2e146c CFluidPlaneCPU: Convert define into a typed constant
Same behavior, less preprocessor.
2020-05-12 17:00:00 -04:00
Lioncash 75494a501a CFluidPlaneCPU: Early exit in CTurbulence constructor
Allows unindenting code.
2020-05-12 16:58:30 -04:00
Lioncash dc32bee499 CFluidPlaneCPU: Eliminate sign conversions in CTurbulence constructor 2020-05-12 16:57:42 -04:00
Lioncash c60290819e CMorphBall: Collapse common code within ApplyGravity()
All that differs between the conditionals is the gravity value used, so
we can collapse all of this down to simply conditionally retrieve that.
2020-05-11 18:42:39 -04:00
Lioncash 0af9b16b92 CMorphBall: Take torque by const reference in SpinToSpeed()
Same behavior, minus unnecessary copies and consistency with the rest of
the API.
2020-05-11 18:23:54 -04:00
Lioncash 37138fb584 CMorphBall: Convert TCastToPtr to TCastToConstPtr
Same behavior, but makes the read-only intent explicit.
2020-05-11 14:23:15 -04:00
Lioncash a73a7b22e7 CMorphBall: Brace statements where applicable
Makes the code consistent and also makes mutability explicit in large
calculations.
2020-05-10 22:18:33 -04:00
Lioncash e9ea73ec98 CRidley: Amend formatting of skFloats
Makes the formatting less wonky.
2020-05-10 19:47:28 -04:00
Lioncash c0a0a35f01 CRidley: Collapse for loop into ranged for loop
Same behavior, no unnecessary induction variable.
2020-05-10 19:41:13 -04:00
Lioncash 98ce18385a CRidley: Fix missing comma in skWingEffects
Previously all the elements past WingSmokeSmall8 would be off by one.
This corrects that.
2020-05-10 19:32:11 -04:00
Lioncash 8508524479 CRidley: Amend formatting of skSomeStruct
Makes it consistent with the other arrays.
2020-05-10 19:30:59 -04:00
Lioncash a79c42862c CRidley: Join namespace into nested namespace specifiers
Same behavior, less noise.
2020-05-10 19:30:19 -04:00
Lioncash 9929c9ab02 CRidley: Correct breastPlate_LCTR sphere joint radius
GM8Ev0 sets this as 0.3.
2020-05-09 23:39:12 -04:00
Lioncash 306b8ad289 CRidley: Mark skDirectNormal and skIceWeakness as constexpr
Allows elimination of runtime initializers.
2020-05-09 22:41:32 -04:00
Lioncash ec79a9de89 CPlayer: Resolve unused variable warnings 2020-05-09 22:35:56 -04:00
Lioncash f7ce3f2133 CEnvFxManager: Silence unused variable warnings 2020-05-09 22:30:10 -04:00
Lioncash 25ea6d98bc CFlameThrower: Silence unused variable warning 2020-05-09 22:28:56 -04:00
Lioncash 0f11a00cc0 CBeamProjectile: Silence unused variable warning 2020-05-09 22:27:54 -04:00
Lioncash 5f80504e6e CCompoundTargetReticle: Silence unused variable warning 2020-05-09 22:26:46 -04:00
Lioncash b3d6901f56 CGuiPane: Make static resolving of virtual function in ctor explicit
virtual functions statically resolve in the constructor and destructor.
This makes it explicit to the user that this static resolving behavior
is indeed what is intended
2020-05-09 22:23:44 -04:00
Lioncash 665b4f496d CFlameThrower: Assign thermal hot to xe6_27_thermalVisorFlags instead of ORing
Previously the code was neglecting to clear the flags entirely before
assigning the new value to it.
2020-05-09 22:05:55 -04:00
Lioncash 77861a9b9f CWaveBuster: Add AcceptScriptMsg implementation 2020-05-09 21:55:19 -04:00
Lioncash cd13a49649 CWaveBuster: Add Accept implementation
More low hanging fruit that can be resolved.
2020-05-09 21:17:22 -04:00
Lioncash 3dddfa63cf CWaveBuster: Add AddToRenderer implementation
Low hanging fruit and fairly trivial to implement.
2020-05-09 21:12:12 -04:00
Lioncash 5a5c6f76a4 CStateManager: Make bracing explicit
Makes one of the most heavily read parts of the codebase fully
consistent across the board.

While we're at it, we can mark variables const where applicable to make
mutability explicit.
2020-05-09 19:34:17 -04:00
Lioncash 439a55ed98 CStateManager: Silence sign conversion and truncation warnings in LoadScriptObjects() 2020-05-09 19:33:33 -04:00
Luke Street 9608efc222 CMetroid: Implement KnockBack, TelegraphAttack & more 2020-05-09 18:39:11 -04:00
Luke Street 7759b3f0dc CBodyStateCmdMgr: constexpr CBodyStateCmds 2020-05-09 18:37:34 -04:00
Luke Street 977912a1be rstl::reserved_vector: constexpr constructors 2020-05-09 18:36:57 -04:00
Luke Street e8ce4c2e27 CMetroid: More function implementations 2020-05-09 02:51:02 -04:00
Lioncash ef15fd5b18 RetroTypes: Eliminate casts where applicable
Same behavior, minus any type casting.
2020-05-08 19:39:23 -04:00
Lioncash fba8849ed3 rstl: Remove need for manual reverse iterators
We can make use of std::make_reverse_iterator to automatically create
the reverse iterators. This allows eliminating some code specifically
for handling the reverse iterators.
2020-05-08 19:31:15 -04:00
Lioncash 5d209c8dc8 General: Mark a handful of deduced const variables as const explicitly
Same behavior, but makes it explicit to the reader that these are const.

Prevents cases where the reader might assume that just because the
variable isn't const qualified that it must be mutable, when it actually
isn't.
2020-05-08 18:41:29 -04:00
Lioncash 6658be66c2 CTextParser: Mark parameter to u16stof as const
The data being pointed to isn't modified.
2020-05-08 18:34:51 -04:00
Lioncash 73bb7c71b4 CGameArea: Make use of [[maybe_unused]] in WarmupShaders()
Same behavior, but silences compilation warnings about unused locals.
2020-05-08 17:12:58 -04:00
Lioncash fef9e6ff2d CAuxWeapon: Make skComboNames contain std::string_view instances
Removes unnecessary runtime strlen calls.
2020-05-08 17:01:49 -04:00
Lioncash a0c4b6b3ec CAiFuncMap: Store std::string_view instances instead of std::string
We only make use of static string entries, so we can make use of
std::string view to elide several memory allocations.
2020-05-08 16:38:19 -04:00
Lioncash a9be7b45b2 CAiFuncMap: Reserve containers before adding entries
Eliminates some reallocation churn.
2020-05-08 16:30:59 -04:00
Lioncash 10c6c6729f CParticleSwoosh: Make virtual call in constructor explicit
virtual functions statically resolve in constructors and destructors.
This makes it obvious that we want the statically resolving behavior to
the reader.
2020-05-08 16:09:57 -04:00
Lioncash b495472ee7 CPathFindRegion: Brace statements where applicable
Makes code fully consistent across the board. While we're at it, we can
make intended constness explicit.
2020-05-08 16:00:29 -04:00
Lioncash 8baab44a5d CPathFindRegion: Make const variant of Data() return a const qualified member
Enforces read-only pointer semantics
2020-05-08 15:52:17 -04:00
Lioncash ed37919018 CPathFindRegion: Resolve sign conversion warning
The only place this is used is in an unsigned context.
2020-05-08 15:49:29 -04:00
Luke Street 78b364a445 CMetroid: Add EGammaType 2020-05-08 05:22:12 -04:00
Luke Street ac30616efb CMetroid: Implement GetDamageVulnerability 2020-05-08 05:05:47 -04:00
Luke Street ca659bdcbc CMetroid: Add fields & function definitions 2020-05-08 04:19:51 -04:00
Lioncash dc8a0d0d88 CRelayTracker: Simplify RemoveRelay()
We can make this significantly nicer to read by making use of C++20's
consistent container erasure functions.
2020-05-08 01:16:23 -04:00
Lioncash 49836025f7 CObjectList: Simplify cbegin() and cend()
We can just use the const variants of begin() and end() now.
2020-05-08 00:25:20 -04:00
Luke Street 34b2383dfd MP1/CMain: Add missing fields 2020-05-07 23:20:23 -04:00
Luke Street 1c775a7ea7 CElitePirate/COmegaPirate: Cleanup & renaming 2020-05-07 19:13:43 -04:00
Luke Street 8aef93473e
Merge pull request #319 from lioncash/object
CObjectList: Minor interface modifications
2020-05-07 17:38:32 -04:00
Lioncash 579ae79291 General: Mark CMaterialFilter instances constexpr where applicable
Allows omission of runtime overhead.
2020-05-07 14:14:18 -04:00
Lioncash 33411ceeca CScriptDistanceFog: Brace conditionals where applicable 2020-05-07 13:44:13 -04:00
Lioncash 470d649604 CScriptDock: Brace conditionals where applicable 2020-05-07 13:43:08 -04:00
Lioncash 49dd7a874b CScriptDockAreaChange: Brace conditionals where applicable 2020-05-07 13:38:59 -04:00
Lioncash 269b28f391 CScriptDoor: Brace conditionals where applicable 2020-05-07 13:38:20 -04:00
Lioncash 631c449453 CScriptEffect: Brace conditionals where applicable 2020-05-07 13:33:17 -04:00
Lioncash e4abedf16f CScriptEMPulse: Brace conditionals where applicable 2020-05-07 13:29:46 -04:00
Lioncash 51ffc0ef26 CScriptGenerator: Brace conditionals where applicable 2020-05-07 13:28:30 -04:00
Lioncash bea6709cc4 CScriptGunTurret: Brace conditionals where applicable 2020-05-07 13:25:29 -04:00
Lioncash 34d989c443 CScriptHUDMemo: Brace conditionals where applicable 2020-05-07 13:06:47 -04:00
Lioncash beb7884b54 CScriptMemoryRelay: Brace conditionals where applicable 2020-05-07 13:05:21 -04:00
Lioncash c3d6324ea1 CScriptMidi: Brace conditionals where applicable 2020-05-07 13:04:19 -04:00
Lioncash 510778b7cd CScriptPickup: Brace conditionals where applicable 2020-05-07 13:02:52 -04:00
Lioncash c3f723007e CScriptPickupGenerator: Brace conditionals where applicable 2020-05-07 13:00:45 -04:00
Lioncash 8698cc3cd5 CScriptPlayerActor: Brace conditionals where applicable 2020-05-07 12:41:00 -04:00
Lioncash c308b2e3c5 CScriptPlayerHint: Brace conditionals where applicable 2020-05-07 12:36:06 -04:00
Lioncash e47d0446b1 CScriptPointOfInterest: Brace conditionals where applicable 2020-05-07 12:35:31 -04:00
Lioncash 192cbd5e14 CScriptRandomRelay: Brace conditionals where applicable 2020-05-07 12:34:57 -04:00
Lioncash 7145917e30 CScriptRelay: Brace conditionals where applicable 2020-05-07 12:33:25 -04:00
Lioncash 1315189990 CScriptRipple: Brace conditionals where applicable 2020-05-07 12:29:43 -04:00
Lioncash 2bf190048d CScriptRoomAcoustics: Brace conditionals where applicable 2020-05-07 12:28:45 -04:00
Lioncash e691628289 CScriptShadowProjector: Brace conditionals where applicable 2020-05-07 12:27:49 -04:00
Lioncash 7186e57a9d CScriptSound: Brace conditionals where applicable 2020-05-07 12:26:05 -04:00
Lioncash ecbcb86bc5 CScriptSpawnPoint: Brace conditionals where applicable 2020-05-07 12:18:57 -04:00
Lioncash 750e0a8643 CScriptSpecialFunction: Brace conditionals where applicable 2020-05-07 12:16:53 -04:00
Lioncash 568e8c0d88 CScriptSpiderBallWaypoint: Brace conditionals where applicable 2020-05-07 12:03:44 -04:00
Lioncash 90e67898e4 CScriptSpindleCamera: Brace conditionals where applicable 2020-05-07 11:59:29 -04:00
Lioncash 5cc1cd799a CScriptSteam: Brace conditionals where applicable 2020-05-07 11:50:21 -04:00
Lioncash 52cc84374d CScriptStreamedMusic: Brace conditionals where applicable 2020-05-07 11:49:31 -04:00
Lioncash 79a25cab5e CScriptSwitch: Brace conditionals where applicable 2020-05-07 11:48:34 -04:00
Lioncash 0fa7e0a73b CScriptTargetingPoint: Brace conditionals where applicable 2020-05-07 11:47:59 -04:00
Lioncash bb578468f4 CScriptTimer: Brace conditionals where applicable 2020-05-07 11:47:05 -04:00
Lioncash ca718f938e CScriptTrigger: Brace conditionals where applicable 2020-05-07 11:45:53 -04:00
Lioncash 29f6ef0f76 CScriptVisorFlare: Brace conditionals where applicable 2020-05-07 11:41:56 -04:00
Lioncash d517db5c5d CScriptVisorGoo: Brace conditionals where applicable
Makes the code consistent.
2020-05-07 11:41:14 -04:00
Lioncash f78c85f37c CScriptWaypoint: Brace conditionals where applicable
Makes the code consistent.
2020-05-07 11:39:11 -04:00
Lioncash 717d422fc4 CScriptWater: Brace conditionals where applicable 2020-05-07 11:36:17 -04:00
Lioncash 2014854f7c CObjectList: Provide operator== for iterators
Makes the interface logically symmetrical in terms of allowed
comparisons.
2020-05-07 08:25:55 -04:00
Lioncash 762a4634cb CObjectList: Make constructor explicit
Prevents error-prone implicit constructions from taking place.
2020-05-07 08:22:54 -04:00
Lioncash 35fd50ded3 CObjectList: Add const overloads for begin() and end()
Allows iterating in a ranged for loop in const contexts.
2020-05-07 08:22:32 -04:00
Lioncash c81d6632bb CScriptActor: Brace statements where applicable
Makes the code consistent.
2020-05-07 08:19:14 -04:00
Lioncash 63fda8f1c7 CScriptActorRotate: Brace statements where applicable
Makes code consistent.
2020-05-07 08:11:09 -04:00
Lioncash e8dc27bfaa CScriptAiJumpPoint: Brace statements where applicable
Makes the code consistent.
2020-05-07 08:01:38 -04:00
Lioncash bdcf6dee66 CScriptAreaAttributes: Brace statements where applicable
Makes the code consistent.
2020-05-07 07:59:20 -04:00
Lioncash 0bb3fcae3b CScriptBallTrigger: Brace statements where applicable
Makes the code consistent.
2020-05-07 07:58:15 -04:00
Lioncash ec6416e387 CScriptBeam: Brace statements where applicable
Makes the code consistent.
2020-05-07 07:55:24 -04:00
Lioncash 23b14232be CScriptCamera*Keyframe: Brace statements where applicable
Makes the code consistent.
2020-05-07 07:54:19 -04:00
Lioncash d6ad152a97 CScriptCameraHint: Brace statements where applicable
Makes code consistent.
2020-05-07 07:51:50 -04:00
Lioncash a8fd2a1992 CScriptCameraHintTrigger: Brace statements where applicable
Same behavior, more consistent code.
2020-05-07 07:45:08 -04:00
Lioncash ed231b85e9 CScriptCameraPitchVolume: Brace statements where applicable
Makes the code consistent.
2020-05-07 07:43:35 -04:00
Lioncash dab1784302 CScriptDamageableTrigger: Brace conditions where applicable
Makes code consistent.
2020-05-07 07:40:26 -04:00
Lioncash ff0d14b52d CScriptDamageableTrigger: Mark helper functions as static where applicable
Makes them internally linked.
2020-05-07 07:37:04 -04:00
Lioncash af61cba8db CScriptDebris: Brace statements where applicable
Makes code fully consistent style-wise.
2020-05-07 07:29:21 -04:00
Lioncash d3ad8e104b CScriptDebris: Remove redundant constructor initializers
These are initialized within the class definition.
2020-05-07 07:18:09 -04:00
Luke Street d30ce2b218 CScriptPlatform: Fix breakable behavior; CScriptColorModulate fixes 2020-05-07 02:19:58 -04:00
Lioncash 40ede53949 CScriptWorldTeleporter: Unindent code in StartTransition()
We can make use of an early-return to unindent code by one level.
2020-05-03 10:28:28 -04:00
Lioncash d0233b7767 CTeamAiMgr: Make reference parameters to GetTeamAiMgr() const
No modifications to these parameters are being made, so we can make that
explicit in the interface.
2020-05-02 22:39:51 -04:00
Lioncash 21a33b01ad CTeamAiMgr: Collapse two loops into count_if
Same behavior, less code.

Ranges in C++20 will allow us to further simplify this in the future.
2020-05-02 22:09:52 -04:00
Lioncash 748dbb8740 CTargetingManager: Mark CheckLoadComplete() as const
This member function doesn't alter internal member state.
2020-05-02 21:56:58 -04:00
Lioncash d3dbe15fcc CSpawnSystemKeyframeData: Remove unnecessary includes 2020-05-02 21:28:52 -04:00
Luke Street 973eb622c7 CAnimTreeSequence: Add EpsilonZero check 2020-04-30 02:17:06 -04:00
Luke Street 3570ed8e24
Merge pull request #318 from lioncash/draw
CGuiWidgetDrawParms: Make constexpr constructible
2020-04-30 01:28:09 -04:00
Luke Street 1578a9481b CScriptAiJumpPoint: Fix GetInUse 2020-04-29 03:03:14 -04:00
Luke Street abfd5a464f CGroundMovement: Fix CheckFalling not being called consistently 2020-04-29 02:09:20 -04:00
Phillip Stephens 92076a3bd3
Implement CBurrower 2020-04-28 07:16:10 -07:00
Phillip Stephens 9b94dd7c3a
Fix compiling CGameOptionsTouchBar 2020-04-26 18:47:01 -07:00
Phillip Stephens 5724be3294
CIceSheegoth: Implement AddToRenderer and AttractProjectiles 2020-04-26 17:43:22 -07:00
Lioncash 1948ec3274 CWallWalker: Remove unused variables in PreThink
We can leave a comment documenting this to make the code itself a little
nicer to read.
2020-04-26 03:28:48 -04:00
Lioncash d4264b6469 CWallWalker: Eliminate signed->unsigned implicit conversion in header
Prevents compiler warnings.
2020-04-26 03:22:03 -04:00
Lioncash 4f56bf8eb6 CWallWalker: Simplify CCollisionSurface initializer
Allows it to sit on one line.
2020-04-26 03:20:47 -04:00
Lioncash deff9d054b CTimeProvider: Move global instance to cpp file
This isn't used anywhere externally, so we can keep it hidden in the cpp
file.
2020-04-26 03:05:57 -04:00
Lioncash 002102c530 RumbleFxTable: Make table constexpr
Eliminates any potential runtime initializers.
2020-04-26 01:27:46 -04:00
Lioncash 6c475b6764 CGuiWidgetDrawParms: Make constexpr constructible
We can allow this structure to be constructed in a constexpr context.

This also allows us to remove the cpp file, given it's no longer
necessary.
2020-04-26 01:15:04 -04:00
Lioncash 07ebdd364c CDamageVulnerability: Make constructors constexpr
Eliminates any potential runtime initializers related to file-scope
constant instances of this class.
2020-04-26 01:06:26 -04:00
Lioncash 0ad1f8ba42 CDamageVulnerability: Amend typo in parameter name 2020-04-26 00:56:45 -04:00
Lioncash f1ff48c38b CDamageVulnerability: Remove unnecessary inline specifiers
These functions are already marked static, so they're already a
candidate for inlining.

We can mark them as constexpr though, given how trivial they are.
2020-04-26 00:54:36 -04:00
Lioncash b76b956339 CElementGen: Give all function prototype parameters names 2020-04-25 03:16:08 -04:00
Lioncash 57d953a045 CElementGen: Eliminate sign conversion warnings with function parameters
Makes the expected types explicit.
2020-04-25 03:09:29 -04:00
Lioncash eb4362a4d4 CDecalDataFactory: Remove unused includes 2020-04-25 02:52:53 -04:00
Lioncash 96070f0c89 CGuiTextPane: Eliminate implicit float->int conversions 2020-04-25 02:28:52 -04:00
Phillip Stephens 4e0b933357
CIceSheegoth: Implement ShakePlayer and minor fixes 2020-04-24 16:34:23 -07:00
Phillip Stephens 86acf6dce7
CIceSheegoth: Call the correct PathFind... I'm an idiot 2020-04-24 07:42:54 -07:00
Phillip Stephens 7b9fecfdc6
CIceSheegoth: Final state implementations 2020-04-24 07:36:49 -07:00
Luke Street 3c48da0cdb Merge remote-tracking branch 'origin/trim' 2020-04-24 02:43:56 -04:00
Lioncash d7c9135d27 CBomb: Fix boolean parameter not being used within SetFuseDisabled()
Prevents silent logic bugs, particularly given this function is called
with true as well inside CTryclops::InMaxRange.
2020-04-24 01:12:04 -04:00
Lioncash 27861d5c78 CUVElement: Convert stateful structs into classes
Avoids exposing the internals of the data by default (since they were
previously fully accessible).
2020-04-24 00:59:51 -04:00
Lioncash b32bc296ad CUVElement/CVectorElement: Make use of [[maybe_unused]] where applicable 2020-04-24 00:58:44 -04:00
Lioncash 4a9095a2af CRealElement: Make use of [[maybe_unused]] where applicable 2020-04-24 00:57:13 -04:00
Lioncash f620b4325f CIntElement: Make use of [[maybe_unused]] where applicable 2020-04-24 00:55:43 -04:00
Lioncash 102d62846c CColorElement: Make use of [[maybe_unused]] where applicable 2020-04-24 00:54:08 -04:00
Lioncash 6d53912770 CStringTable: Make use of [[maybe_unused]] where applicable 2020-04-23 21:24:39 -04:00
Lioncash ee0762db32 CRasterFont: Make use of [[maybe_unused]] where applicable 2020-04-23 21:23:17 -04:00
Lioncash 5e9bf292d7 CTextureCache: Make use of [[maybe_unused]] where applicable 2020-04-23 21:15:30 -04:00
Lioncash 600076030f CStateManager: Make use of bool parameter in SetWarping()
Allows toggling the warping.
2020-04-23 21:12:52 -04:00
Lioncash 25b0c69818 CSaveWorld: Make use of [[maybe_unused]] where applicable
Prevents unused parameter warnings.
2020-04-23 20:51:59 -04:00
Lioncash 301eb24301 CInGameTweakManagerBase: Make internal members of CTweakValue private 2020-04-23 20:48:43 -04:00
Lioncash e4dedac2b6 CInGameTweakManagerBase: Make use of algorithms where applicable 2020-04-23 20:44:31 -04:00
Lioncash e1dfe9ff8e CGameOptionsTouchBar: Make use of [[maybe_unused]] where applicable
Silences unused parameter warnings
2020-04-23 20:34:05 -04:00
Lioncash 14e0067a97 CDependencyGroup: Make use of [[maybe_unused]] where applicable 2020-04-23 20:31:29 -04:00
Lioncash 4a6c3cde3c CWorldLight: Eliminate variable shadowing
While we're at it, we can make use of structured bindings.
2020-04-23 07:25:07 -04:00
Lioncash 4e3363a98b CScriptActorKeyframe: Eliminate variable shadowing 2020-04-23 07:22:10 -04:00
Lioncash 9ec9f42457 CPathFindSearch: Eliminate variable shadowing 2020-04-23 07:19:41 -04:00
Lioncash 078acce378 CMorphBall: Eliminate variable shadowing 2020-04-23 07:18:43 -04:00
Lioncash 31cf98646b CModVectorElement: Eliminate variable shadowing
Prevents "a" from clashing with a local variable.
2020-04-23 07:16:49 -04:00
Lioncash 9fa689a806 CMemoryCardSys: Eliminate variable shadowing
Prevents names from clashing with variables from outside the loop scope.
2020-04-23 07:13:22 -04:00
Lioncash e0bb66f7f0 CParticleElectricDataFactory: Remove unused includes 2020-04-23 03:58:10 -04:00
Lioncash eefeb5cd0b CGameArea: Remove undefined behavior type-punning in a few functions
We can make use of std::memcpy here to get around this.
2020-04-23 03:06:04 -04:00
Lioncash df3aed75fe CGameArea: Eliminate implicit sign conversions in Validate() 2020-04-23 02:53:24 -04:00
Lioncash 419d40051d CGuiTextSupport: Make enum formatting consistent 2020-04-23 02:41:22 -04:00
Lioncash b700da547e CGuiTextSupport: Invert conditionals where applicable
Unindents code and allows for easier placement of breakpoints when the
conditions are equal to the early exit path.
2020-04-23 02:39:39 -04:00
Lioncash 787fc3276f CGuiTextSupport: Use const references where applicable 2020-04-23 02:36:45 -04:00
Lioncash a21fb1da35 CGuiObject: Remove unused includes 2020-04-23 02:27:11 -04:00
Lioncash 2b2edfa871 CGrappleArm: Invert conditionals where applicable
Makes early-exit conditions nicer to follow and also unindents some
code.
2020-04-23 01:57:18 -04:00
Phillip Stephens 1b1907d910
CIceSheegoth: Minor fixes 2020-04-22 16:46:52 -07:00
Phillip Stephens 97a25f01e2
Initial state implementations 2020-04-22 15:06:15 -07:00
Phillip Stephens b1a897d246
CIceSheegoth: Implement Think 2020-04-22 15:06:15 -07:00
Phillip Stephens 3779b205b7
Initial CIceSheegoth stubout 2020-04-22 15:06:15 -07:00
Phillip Stephens 59f979db67
Actually implement AssetNameMap in DNAMP1 2020-04-22 03:38:48 -07:00
Luke Street 14c92e85ce Use pas::EAnimationState in CPAS* 2020-04-22 05:09:27 -04:00
Lioncash 535717fbd8 CGameArea: Make use of std::array where applicable 2020-04-22 02:19:14 -04:00
Lioncash 664d08469c CEnvFxManager: Make use of std::array where applicable
Same behavior, less code.
2020-04-22 02:16:37 -04:00
Lioncash 52f51c111a CAmbientAI: Return std::nullopt in GetTouchBounds()
Allows implementations to avoid zeroing out the internal buffer of the
std::optional.
2020-04-22 02:10:55 -04:00
Lioncash 472e97aac0 CAreaOctTree: Make use of std::array where applicable 2020-04-22 02:05:22 -04:00
Lioncash f24559890a TSegIdMap: Make use of std::array where applicable
Stronger typing and eliminates array to pointer decay.
2020-04-22 01:59:29 -04:00
Lioncash fe642bde8b CCameraBlurFilter: Make use of std::array where applicable
Same behavior, less hardcoded sizes.
2020-04-22 00:13:43 -04:00
Luke Street 4741172f9f
Merge pull request #316 from lioncash/init2
RuntimeCommon: Make use of bitfield initializers where applicable
2020-04-21 22:52:25 -04:00
Luke Street 12d8d534c6 CParticleElectric: Fix CalculatePoints 2020-04-21 22:32:37 -04:00
Luke Street fc7e8d4993 CElectricBeamProjectile: Finish implementation 2020-04-21 22:04:37 -04:00
Luke Street 8488dca336 CPlayer: Long fall anim/dmg fix 2020-04-21 20:43:34 -04:00
Luke Street 82aa99f858 CScriptCameraWaypoint: Fix Arrived 2020-04-21 20:35:37 -04:00
Lioncash fa3e639a9d RuntimeCommon: Make use of bitfield initializers where applicable
Continues and finishes the migration towards initializing all bitfield
members where applicable
2020-04-21 17:16:19 -04:00
Luke Street 1571531cd7 CMagdolite: Renaming 2020-04-21 14:15:17 -04:00
Luke Street 449d8409d8 CMagdolite: Fix lock-on, retreat & loader 2020-04-21 04:46:07 -04:00
Luke Street b4dad2adf5 CMagdolite: Fix SetupCollisionActors 2020-04-21 02:15:02 -04:00
Luke Street 5f66ab2219 CMagdolite: Minor cleanup 2020-04-21 01:32:16 -04:00
Phillip Stephens 0c96380897 Minor fixes, start renaming member variables 2020-04-21 01:06:52 -04:00
Phillip Stephens d1c796f2a9 Initial CMagdolite imps 2020-04-21 01:06:52 -04:00
Luke Street d3a44259c3
Merge pull request #315 from lioncash/init
RuntimeCommonB: Make use of bitfield initializers where applicable
2020-04-21 00:56:39 -04:00
Lioncash 554893ef85 RuntimeCommonB: Make use of bitfield initializers where applicable
Given that we now target C++20, we can make use of bitfield initializers
where applicable.
2020-04-20 15:57:25 -04:00
Luke Street 7b1e041123
Merge pull request #301 from AxioDL/omegapirate
OmegaPirate implementation
2020-04-20 03:21:04 -04:00
Luke Street 2ee2bbc0c1 COmegaPirate: Fix CFlash rendering 2020-04-20 03:20:22 -04:00
Luke Street 3563a1c8c4 COmegaPirate: Fix UpdateScale & Landed; renaming 2020-04-20 02:14:17 -04:00
Lioncash 2103c38f54 CCompoundTargetReticle: Remove unused variable
This is only used in COrbitPointMarker.
2020-04-20 00:48:29 -04:00
Lioncash 1d0151ccbc General: Make use of lock deduction guides 2020-04-20 00:38:10 -04:00