Commit Graph

3495 Commits

Author SHA1 Message Date
Luke Street aba51246d8 CDrone: Remove redundant field 2020-09-09 02:30:11 -04:00
Luke Street 535f44deec CDrone: Fix UpdateTouchBounds 2020-09-09 02:30:11 -04:00
Luke Street fbdfdb0fa4 CDrone: Fix CanRenderUnsorted 2020-09-09 02:30:11 -04:00
Luke Street e0f4128901 CDrone: Fix knockback variant 2020-09-09 02:30:11 -04:00
Luke Street f93400c8c2 CDrone: AcceptScriptMsg fixes 2020-09-06 18:12:15 -04:00
Lioncash d66f534a8c CParticleDatabase: Simplify insert into emplace call
Same behavior, but much more succinct and constructs the std::string in
place.
2020-08-25 18:44:58 -04:00
Luke Street 87437881a0 CCharAnimTime & CPOINode: Fix operator< 2020-08-24 18:42:43 -04:00
Luke Street bd882edee6 ScriptLoader: Fix float ordering for CAtomicBeta
Fixes #325
2020-08-24 04:00:30 -04:00
Luke Street f96a02e7ae CAtomicBeta: Some member renaming 2020-08-24 03:59:30 -04:00
Luke Street a224d27043 CAtomicAlpha: Fix DoUserAnimEvent, AggressionCheck 2020-08-24 03:33:26 -04:00
Luke Street 3f17c72b30 CCharAnimTime: Fix operator== between Infinity 2020-08-24 02:28:18 -04:00
Luke Street a0e1864312 CFlaahgra: Fix stun issues 2020-08-24 01:58:30 -04:00
Luke Street fb1c2b95a2 CPuddleSpore: Fix CalculateBoundingBox
Fixes #348
2020-08-23 20:21:43 -04:00
Lioncash a32e21df14 General: Resolve -Wcast-qual warnings
We can just avoid casting away const in order to resolve these warnings.
2020-08-23 15:54:54 -04:00
Lioncash cadf85bc58 General: Resolve -Wcomma warnings
Resolves compilation warnings by just making the chained statements
their own separate statements.
2020-08-23 15:49:26 -04:00
Lioncash 4dc553e72a General: Resolve several -Wextra-semi warnings
Remove redundant semicolons and also amends some macros to require
semicolon termination.
2020-08-23 15:45:54 -04:00
Luke Street 08a8dd7eeb CRipperControlledPlatform: Implement Move
Fixes #346
2020-08-23 14:54:56 -04:00
Luke Street 4568b2e3f6 CRipper: AddPlatform & KnockBack fixes 2020-08-23 14:08:25 -04:00
Luke Street 6a7b87bea1 CScriptSpecialFunction: SpinnerController fixes 2020-08-23 13:06:01 -04:00
Luke Street 7513b7b9bc CFlaahgra: Some member renaming 2020-08-23 03:37:22 -04:00
Luke Street 95fa99ce7a CFlaahgra: Implement ShouldSpecialAttack, ShouldFire 2020-08-23 01:59:59 -04:00
Luke Street 015f9c06ae CFlaahgra: Remove redundant (non-existent?) method 2020-08-17 03:13:09 -04:00
Luke Street 7833b9532b CFlaahgra: Add Accept 2020-08-17 03:07:43 -04:00
Luke Street 970aac39a5 CFlaahgra: Finish SpecialAttack implementation 2020-08-17 03:04:40 -04:00
Luke Street a3484facf8 CFlaahgra: Use std::array in Cover 2020-08-17 03:04:29 -04:00
Luke Street ab4cf9549a CFlaahgra: Implement ProjectileAttack Deactivate 2020-08-17 02:51:01 -04:00
Luke Street bf2d15f6ea CFlaahgra: Revert a change to Growth 2020-08-17 02:47:38 -04:00
Luke Street 8904528d67 CFlaahgra: Attack fixes 2020-08-17 02:34:34 -04:00
Luke Street 7644149340 CFlaahgra: Growth fixes 2020-08-17 02:01:12 -04:00
Luke Street 848375a939 CFlaahgra: Add NoStaticCollision to SetMaterialProperties exclude 2020-08-15 04:37:14 -04:00
Luke Street c436ea1405 CFlaahgra: UpdateAimPosition fixes 2020-08-15 04:35:17 -04:00
Luke Street e6fc0c3b3e CFlaahgra: UpdateSmallScaleReGrowth fixes 2020-08-15 04:21:07 -04:00
Luke Street f7b2055ed3 CFlaahgra: Fix references to skFlaahgraDamageColor 2020-08-15 04:17:27 -04:00
Luke Street 1bfb699b48 CFlaahgra: Fix UpdateHeadDamageVulnerability 2020-08-15 04:13:35 -04:00
Luke Street 161a287ae3 CFlaahgra: CalculateFallDirection fixes & renaming 2020-08-15 04:04:49 -04:00
Luke Street 31e2bd6e24 CFlaahgra: SetupCollisionManagers & joint name fixes 2020-08-15 03:50:17 -04:00
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
Lioncash dca87e7dce CPlayerGun: Convert missed literal to a boolean literal
whoops.
2020-04-19 23:39:04 -04:00
Lioncash 1f8f3726e6 CPlayerGun: Make use of bool literal where appropriate
Avoids a conversion to bool from int.
2020-04-19 23:35:07 -04:00
Luke Street 32c44cbf05 Merge branch 'master' into omegapirate
# Conflicts:
#	Runtime/GuiSys/CAuiImagePane.cpp
2020-04-19 22:12:18 -04:00
Luke Street 1fd28d3fc3 CStateMachine: Use logvisor report for state logging 2020-04-19 22:11:09 -04:00
Lioncash f0133c9eef CAuiImagePane: Eliminate implicit conversions
We can make them explicit instead.
2020-04-19 22:06:30 -04:00
Lioncash ecdedb5d8f CActorModelParticles: Make IsMediumOrLarge() parameter a const reference
Nothing about the parameter is modified.
2020-04-19 21:44:31 -04:00
Luke Street 2185dc30f1 CStateManager: Fix seek again (I tested it this time) 2020-04-19 21:40:08 -04:00
Luke Street 764432882c CStateManager: Fix wrong stream position on error 2020-04-19 21:27:08 -04:00
Luke Street d5fcb4a917 CStateManager: Revert debug commit 2020-04-19 21:20:25 -04:00
Luke Street 24acb585f8 MSVC & zeus fixes; update hecl-gui 2020-04-19 21:09:30 -04:00
Luke Street de5513e277 COmegaPirate: Renaming & fixes 2020-04-19 19:26:25 -04:00
Luke Street 4e88f503ac COmegaPirate: Implement CFlash 2020-04-19 02:47:25 -04:00
Lioncash ec5d680be0 CBurstFire: Unindent conditionals where applicable
Makes it nicer to read early-exit conditions.
2020-04-19 00:40:46 -04:00
Luke Street e50d363e88 CPlayerGun: Rename EMissileState; minor CMotionState::Update fix 2020-04-19 00:26:53 -04:00
Luke Street a3e0c42794
Merge pull request #312 from lioncash/explicit
MkCastTo: Make operator bool instances explicit
2020-04-19 00:24:15 -04:00
Luke Street 025a989e12 CElementGen: Use x338_moduColor in RenderModels 2020-04-18 23:41:35 -04:00
Lioncash 2c3e5e205f MkCastTo: Make operator bool instances explicit
Prevents error prone implicit conversions.
2020-04-18 23:02:11 -04:00
Luke Street 0a2d0bcfe9
Merge pull request #313 from lioncash/bug
CToken: Amend incorrect return value of TToken's operator=
2020-04-18 18:16:42 -04:00
Luke Street 30f2ac3f26 Merge branch 'master' into omegapirate 2020-04-18 18:14:51 -04:00
Luke Street 7f15390d4f Editor: Only create Win32 console & redirect logging if not attached 2020-04-18 03:02:44 -04:00
Phillip Stephens df75c00203
Fix WideScreenFilter crash 2020-04-17 15:32:26 -07:00
Lioncash 76f0b57340 General: Use bool literals where applicable
More indicative of the passed in type compared to raw values.
2020-04-17 17:43:56 -04:00
Lioncash 8e5fc3668c CToken: Amend incorrect return value of TToken's operator=
This should be returning by reference, not the pointer of this.
2020-04-17 17:16:33 -04:00
Lioncash 0b05c906df CScriptEffect: Eliminate variable shadowing
Avoids clashing names.
2020-04-17 16:31:02 -04:00
Luke Street 8f5caca1e5 CMemoryCardSysWin: Add includes 2020-04-17 15:10:52 -04:00
Luke Street 61e656e732 CDvdFile: Remove const from auto type for MSVC 2020-04-17 15:01:31 -04:00
Luke Street 36bbc5004f CDvdFile: Use auto for string_view::begin 2020-04-17 14:52:25 -04:00
Luke Street 4a8f077d92 MP1: Use _SYS_STR where needed 2020-04-17 14:39:40 -04:00
Luke Street 248e7654fa MP1: char -> boo::SystemChar 2020-04-17 14:31:29 -04:00
Luke Street 73b9d2024b MP1: Use SystemStringConv for printing version string 2020-04-17 14:24:06 -04:00
Lioncash 5491f3ff23 CKnockBackController: Simplify initialization of x24_ in constructor
Same behavior, less code.
2020-04-17 13:17:27 -04:00
Lioncash 26ac3b166d CKnockBackController: Make use of braces where applicable
Makes code more consistent.

Where applicable we can also unindent code.
2020-04-17 13:17:27 -04:00
Phillip Stephens acf513c6bf
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-04-17 05:54:17 -07:00
Phillip Stephens a06594f404
Fix CAutoMapper strings, disable saving on non-USA/GC versions 2020-04-17 05:53:22 -07:00
Lioncash 58040eb53d CKnockBackController: Make CalculateExtraHurlVelocity() a const member function
This doesn't modify internal member state, so it can be marked const

While we're at it we can also invert the conditional to unindent the
main calculation.
2020-04-17 01:07:41 -04:00
Lioncash b55d1e4c77 CKnockBackController: Make use of const references where applicable
In many cases the CPatterned& parameter is only used for read-only
querying. We can make this explicit in the interface.
2020-04-17 01:03:12 -04:00
Lioncash 49cc019699 CKnockBackController: Make GetKnockBackCharacterState() a const member function
This doesn't modify internal instance state, so this can be made const.
2020-04-17 00:58:29 -04:00
Lioncash 529d7e58bd CFishCloud: Initialize x230_whichModel on construction
Provides a deterministic initial state.
2020-04-17 00:49:06 -04:00
Lioncash fa9f0fdc61 CFishCloud: Brace statements where applicable
Makes the code more uniform and consistent.

While we're in the same area, we can make use of const where applicable.
2020-04-17 00:47:25 -04:00
Lioncash 3715e6dcbb CFlameWarp: Make use of const where applicable
Makes algorithms easier to follow by explicitly marking immutable
state.
2020-04-17 00:27:22 -04:00
Lioncash ed125031f3 CFluidUVMotion: Collapse separate resize and assignment into a constructor call
We can pre-size and insert the elements all at the same time.
2020-04-16 21:11:31 -04:00
Phillip Stephens c85f1a64dd
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-04-16 17:20:25 -07:00
Phillip Stephens ba3b23edaa
Disable saving on non-NTSC-U versions 2020-04-16 17:19:55 -07:00
Lioncash 20e5595042 CGameState: Always initialize x80_
Provides a deterministic initial state.
2020-04-16 20:00:26 -04:00
Lioncash a551dbc21d CGameState: Silence implicit truncation warnings
Ensures boolean conditions are used where applicable.
2020-04-16 20:00:20 -04:00
Lioncash f844f2028b CGameOptions: Give all function prototype parameters a name
Makes the interface more self-documenting and also allows better IDE
introspection.
2020-04-16 19:49:35 -04:00
Lioncash e7ef1e0b5e CGameOptions: Make TuneScreenBrightness() a const member function
This member function doesn't modify internal class state.
2020-04-16 19:42:22 -04:00
Lioncash c32c42e12b CGameOptions: Amend wonky formatting of VisorOptsNew 2020-04-16 13:00:08 -04:00
Phillip Stephens be45be9d67
Fix FrontEnd options screen 2020-04-16 03:35:51 -07:00
Phillip Stephens 9365c35000
Finish fixing STRG indices 2020-04-16 03:25:59 -07:00
Phillip Stephens 8e2636c14c
Undo debug code 2020-04-15 23:58:00 -07:00
Phillip Stephens c64e3d2ba7
Initial string fixes 2020-04-15 23:57:04 -07:00
Phillip Stephens 582d8a6999
Initial PAL/JP/Trilogy imps, various cleanup 2020-04-15 22:26:14 -07:00
Phillip Stephens 52b4db2f00
Integrate URDEVersionInfo 2020-04-15 06:42:44 -07:00
Phillip Stephens e553a9022f
Fix CMemoryCardSys 2020-04-15 04:27:06 -07:00
Phillip Stephens 8a974d6e5e
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-04-15 00:57:37 -07:00
Phillip Stephens 1eade15395
Add version info to extracted data, clean up MP1.* 2020-04-15 00:56:59 -07:00
Luke Street b020904e84 Comment out printfs entirely 2020-04-14 22:14:27 -04:00
Luke Street eb89a17817 CDummyWorld: Fix IGetAreaId 2020-04-14 21:15:38 -04:00
Lioncash 6436184a3f CWorld: Make use of find_if in GetAreaIdForSaveId()
Same behavior minus any explicit mutable state.
2020-04-14 16:40:13 -04:00
Lioncash 86b94ad915 CWorld: Make use of std::find_if in IGetAreaId
Removes explicit mutable state. This can be further simplified in the
future with ranges.
2020-04-14 16:31:17 -04:00
Lioncash 655805ffcb CWorld: Add missing override specifier 2020-04-14 16:17:26 -04:00
Lioncash 8e89ac234f CElementGen: Initialize x80_timeDeltaScale on construction
Provides deterministic state upon construction, which is nicer for
debugging.
2020-04-14 16:11:38 -04:00
Lioncash 384efebf55 CElementGen: Collapse loop into a ranged-for loop
Same behavior, nicer syntax.
2020-04-14 16:08:21 -04:00
Lioncash c14721611b CEnergyProjectile: Make use of const where applicable
While we're at it, make use of consistent bracing, given some
conditionals traveled over one line.
2020-04-14 15:47:45 -04:00
Luke Street 9cf95b5c10 Editor: Move cvars to CVarCommons 2020-04-14 15:20:51 -04:00
Luke Street 94be460a1b MP1: Convert MP1_VARIABLE_DELTA_TIME to cvar 2020-04-14 14:41:02 -04:00
Lioncash 3c8ce3dc99 CGuiTextSupport: Amend typo in debug group label
This is within the Render() function, so we can rename the group name.
2020-04-14 13:34:50 -04:00
Lioncash 5381c011a0 CParticleElectric: Eliminate several sign conversion instances
Makes sign conversion cases explicit and eliminates them entirely in
other cases.
2020-04-14 12:30:38 -04:00
Lioncash 4cbf8ef513 CParticleElectric: Mark CGlobalRandom instance as maybe unused
This has a stateful destructor, so we mark it as unused to silence
unused variable warnings.
2020-04-14 12:16:25 -04:00
Lioncash 8aef2cf95d CParticleElectric: Make use of const where applicable
Makes it easier to read long functions by knowing which variables are
mutable.
2020-04-14 04:20:03 -04:00
Lioncash fed72614ef CParticleSwoosh: Use const where applicable
Given the length of some functions, this makes following flow nicer,
since it's easier to visually see which variables get modified.
2020-04-14 03:56:27 -04:00
Lioncash 6fbf6734c2 CParticleSwoosh: Eliminate variable shadowing 2020-04-14 03:31:31 -04:00
Lioncash 480d27e68c CParticleSwoosh: Initialize class data members
Makes for deterministic initial state.
2020-04-14 03:27:15 -04:00
Luke Street 112322be5a
Merge pull request #311 from lioncash/sign
CScanDisplay: Eliminate implicit sign conversions
2020-04-14 02:10:13 -04:00
Luke Street 594fe2fcbd
Merge pull request #310 from lioncash/table
CFluidPlane: Make use of std::array where applicable
2020-04-14 02:09:19 -04:00
Lioncash 59a788a987 CParticleGlobals: Eliminate implicit type conversions
Makes them all explicit for the reader.
2020-04-13 18:44:51 -04:00
Lioncash 2c7d10c4b4 CCompoundTargetReticle: Brace statements where applicable 2020-04-13 17:16:23 -04:00
Lioncash 85f930ef2e CCompoundTargetReticle: Convert unnecessary floats into bools
Using floats here is extremely suspect and almost certainly
unintentional.
2020-04-13 16:54:45 -04:00
Lioncash 1767338aba CCompoundTargetReticle: Make eliminate hardcoded size
We can just query the capacity to dehardcode it.
2020-04-13 16:52:01 -04:00
Lioncash e26afe887f CCompoundTargetReticle: Make use of std::array where applicable
Same behavior, stronger typing.

While we're at it, we can eliminate a case of variable shadowing.
2020-04-13 16:50:37 -04:00
Lioncash c6278c0e9f CCompoundTargetReticle: Initialize all data members
Provides deterministic initial state.
2020-04-13 16:41:28 -04:00
Lioncash 2850b7e7fb CWallCrawlerSwarm: Initialize all CBoid members
Provides a deterministic initial state.
2020-04-13 16:36:24 -04:00
Lioncash 7fcd6f41cf CStateMachine: Initialize data members where applicable
Provides a deterministic initial state.
2020-04-13 16:34:18 -04:00
Lioncash 0d97104cf2 CScriptSpindleCamera: Initialize x33c_24_inResetThink in constructor
Provides a deterministic initial state.
2020-04-13 16:32:41 -04:00
Lioncash 4341dfae50 CScriptPickup: Initialize x274_tractorTime in constructor
Provides a deterministic initial state upon construction.
2020-04-13 16:31:28 -04:00
Lioncash a554e5d4a6 CPathFindSearch: Initialize xcc_result in constructor
Provides a deterministic initial state upon construction.
2020-04-13 16:29:12 -04:00
Lioncash 9f21f8ef55 CFluidPlaneCPU: Initialize m_cachedDoubleLightmapBlend and m_cachedAdditive
Provides a deterministic initial state upon construction.
2020-04-13 16:27:21 -04:00
Lioncash 498c940479 CFluidPlane: Initialize all members of SRippleInfo
Provides a deterministic initial state, which is useful for debugging.
2020-04-13 16:25:36 -04:00
Lioncash 5b9a689703 CParticleSwoosh: Initialize x68_frame on construction
Provides a deterministic initial state, which makes for nicer debugging.
2020-04-13 16:23:07 -04:00
Lioncash 93622d9b4b CIntElement: Initialize x14_holdVal in CIESampleAndHold
Provides a deterministic initial state upon construction, which makes
for nicer debugging.
2020-04-13 16:20:51 -04:00
Lioncash 786675f307 CTextExecuteBuffer: Move initialization of xa8_curWordIt into initializer list 2020-04-13 16:18:38 -04:00
Lioncash 50ba80247b CTextExecuteBuffer: Initialize xac_curY and xb0_curX in the constructor
Provides a deterministic initial state upon construction for easier
debugging.
2020-04-13 16:18:02 -04:00
Luke Street 654e3e705e Update hecl; disable MP1_VARIABLE_DELTA_TIME 2020-04-13 15:02:07 -04:00
Lioncash 6806d4914c CHudBossEnergyInterface: Initialize x0_alpha on construction
Provides a deterministic initial state which is helpful for debugging.
2020-04-13 15:00:44 -04:00
Lioncash 67786721ff CHudBossEnergyInterface: Make use of structured bindings in constructor
Same behavior, minus a verbose type name.
2020-04-13 14:59:47 -04:00
Lioncash 4e6150acc4 CHudDecoInterface: Make missed virtual call in constructor explicit
Missed this one in the previous commit.
2020-04-13 14:54:15 -04:00
Lioncash c8be142846 CHudDecoInterface: Make virtual calls in constructor explicitly qualified
Virtual functions called in a constructor or destructor are statically
resolved. Given this is a potential source of bugs, we qualify these
functions to make it explicit that this is indeed the kind of behavior
desired.
2020-04-13 14:52:34 -04:00
Lioncash 3a5a3e2011 CHudRadarInterface: Make use of const where applicable
Same behavior, but makes it obvious some references are only used in a
read-only manner.
2020-04-13 14:25:59 -04:00
Lioncash 29cd228d03 CMorphBall: Eliminate hardcoded sizes
We can query the container capacity directly instead of hardcoding it
in.
2020-04-13 14:10:52 -04:00
Lioncash 2ad45e481f CAuxWeapon: Use names for sound IDs
Same behavior, but slightly more self-documenting on what they actually
are.
2020-04-13 10:36:38 -04:00
Phillip Stephens 5aae402149
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-04-13 00:48:15 -07:00
Phillip Stephens 6838515d3d
Fix ALPH default value 2020-04-13 00:48:00 -07:00
Lioncash 7d6e466b68 CDecalManager: Make use of std::nullopt where applicable
Same thing, less verbose.
2020-04-13 01:43:06 -04:00
Lioncash 6fc32f44df CRumbleGenerator: Make use of fmt::print instead of printf
Less need to care about formatting specifiers.
2020-04-12 22:41:19 -04:00
Lioncash 0a01a30bf5 CScanDisplay: Eliminate implicit sign conversions
Removes implicit sign conversions and also dehardcodes quite a bit of
sizes.
2020-04-12 22:05:52 -04:00
Lioncash 8000fb9e42 CScannableObjectInfo: Remove hardcoded capacity size
We can just query the container for this.
2020-04-12 21:45:11 -04:00
Lioncash e91432ebf0 CScannableObjectInfo: Make use of size_t in constructor
Gets rid of unnecessary zero extensions and keeps loop variables the
same sized type as the comparison type.

While we're at it we can collapse a loop into a ranged for and get rid
of some avoidable sign conversions.
2020-04-12 21:42:54 -04:00
Lioncash 414c06b33e CScriptDebris: Make use of std::array
Same behavior, stronger typing.
2020-04-12 21:07:17 -04:00
Lioncash 7df73b6f4c CScriptDock: Get rid of variable shadowing
Same behavior, less bug vectors.
2020-04-12 15:29:53 -04:00
Lioncash 7fb2b6ac0b CScriptDock: Make dock material list constexpr
Same behavior, no runtime overhead.
2020-04-12 15:28:18 -04:00
Lioncash 175502cb0d CScriptMazeNode: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 15:23:28 -04:00
Lioncash c84f430852 CScriptPlatform: Simplify IsRider()
Same behavior, less code.
2020-04-12 15:11:24 -04:00
Lioncash fd5c6f9e59 CScriptPlatform: Make use of TCastToConstPtr where applicable
Makes the read-only intent more explicit to the reader.
2020-04-12 14:59:59 -04:00
Lioncash ff847eaf41 CScriptPlatform: Make platform material list constexpr
Same behavior, no runtime overhead.
2020-04-12 14:11:11 -04:00
Lioncash 1d112134cf CScriptPlayerHint: Make use of std::any_of/std::find_if where applicable
Same behavior, can be simplified even further with ranges in the future.
2020-04-12 14:00:34 -04:00
Lioncash ff123f7820 General: Make use of static_cast within point generators
The more restrictive static_cast is permissable when casting from void*.
2020-04-12 13:29:34 -04:00
Lioncash 5d85cd496a CFluidPlane: Make use of std::array where applicable
Makes all the arrays strongly typed. We can also use type aliases to
greatly shorten some type definitions.
2020-04-12 12:17:12 -04:00
Lioncash fa1e4f38df CScriptWater: Mark SolidFilter as constexpr
Same behavior, minus runtime initializers.
2020-04-12 11:59:08 -04:00
Lioncash dfa206eda9 CScriptSpecialFunction: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 11:58:08 -04:00
Lioncash beaccf4f9e CScriptSound: Mark kSolidFilter as constexpr
Same behavior minus runtime initializers.
2020-04-12 11:56:37 -04:00
Lioncash 2e575c184e CPatterned: Make use of constexpr where applicable 2020-04-12 11:55:40 -04:00
Lioncash d8e7239bc6 CKnockBackController: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 11:53:17 -04:00
Lioncash b2ec3e7eac CGameArea: Make use of std::array where applicable
Same behavior, stronger typing, and optional runtime checking in debug
mode.
2020-04-12 11:36:19 -04:00
Lioncash a433a7852f CIceBeam/CPhazonBeam: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 11:34:59 -04:00
Lioncash b631b5f3a1 CGunWeapon: Mark skShootAnim as constexpr
Enforce it as constexpr. The initializer is likely optimized away
anyways, given the array only contains primitives, but this is more
consistent.
2020-04-12 11:31:28 -04:00
Lioncash 96e3eaf726 CSplashScreen: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 11:30:09 -04:00
Lioncash f74471f603 CWarWasp: Make use of std::array where applicable
Same behavior, no array to pointer decay.
2020-04-12 11:23:30 -04:00
Lioncash cb857bd737 CSpankWeed: Make use of std::array where applicable
Same behavior, but without array to pointer decay.
2020-04-12 11:21:08 -04:00
Lioncash 23bae06742 CNewIntroBoss: Make use of std::array where applicable
Same behavior but without implicit array to pointer decay.
2020-04-12 11:18:57 -04:00
Lioncash 02a684cfdf CFlaahgra: Migrate static data into the cpp file
Same behavior, but completely makes them internally linked.

We can also make use of std::array and dehardcode some array sizes.
2020-04-12 11:16:35 -04:00
Lioncash f5418d30aa CEyeBall: Move string_view instance to cpp file
Same behavior, but gives the string full internal linkage.
2020-04-12 11:08:20 -04:00
Lioncash bfea80fc4a CBabygoth: Mark IsDestinationObstructed() as const
This doesn't alter class state, so we can mark it as const.
2020-04-12 11:05:56 -04:00
Lioncash abd576a43a CBabygoth: Make use of std::array where applicable
Same behavior, no implicit array to pointer decay. We can also move all
this data into the cpp file fully.
2020-04-12 11:03:50 -04:00
Lioncash f1aca12e6b CQuitGameScreen: Make use of std::array where applicable
Same behavior, but more strongly typed and without any implicit array to
pointer decay.
2020-04-12 10:59:07 -04:00
Lioncash eba3270c14 CMFGame: Make use of std::array where applicable 2020-04-12 10:55:22 -04:00
Lioncash c296f0ab8f CInventoryScreen: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-12 10:52:03 -04:00
Lioncash aee2259972 CTexturedQuadFilter: Mark DefaultRect as constexpr
Same behavior, minus runtime initializers.
2020-04-12 10:40:36 -04:00
Lioncash 3efc8486a4 CColoredQuadFilter: Mark DefaultRect as constexpr
Same behavior, minus runtime initializers.
2020-04-12 10:39:02 -04:00
Lioncash e0c187c607 CModelBoo: Make use of std::array where applicable
Allows decoding some array sizes.
2020-04-12 10:35:56 -04:00
Lioncash c203a0de7c CGraphics: Mark skCubeBasisMats as constexpr
Same behavior, minus potential runtime initializers.
2020-04-12 10:31:07 -04:00
Lioncash 66f5685590 CMaterialFilter: Mark skPassEverything as constexpr
Removes any potential runtime initializers.
2020-04-12 10:28:02 -04:00
Lioncash 724505e6dc CAreaOctTree: Make use of std::array where applicable
Prevents any implicit array to pointer decay from occurring.
2020-04-12 10:25:41 -04:00
Lioncash 5fc0802373 CPathCamera: Mark kLineOfSightFilter as constexpr
Same behavior, minus any potential runtime initializers.
2020-04-12 10:21:35 -04:00
Lioncash 535c02abe8 CCameraShakeData: Mark skChargedShotCameraShakeData as constexpr
Same behavior, minus potential runtime initializers.
2020-04-12 10:20:24 -04:00
Lioncash c662634226 CBallCamera: Mark BallCameraFilter as constexpr
Allows removal of runtime initializers.
2020-04-12 10:19:13 -04:00
Lioncash 14f6dd2cd8 CFluidUVMotion: Return std::array by value from CalculateFluidTextureOffset()
Same behavior, but allows for easier use of API and makes it harder to
misuse. It also makes it easier for analysis to determine out of bounds,
given we leverage std::array rather than a pointer that causes arrays to
decay and lose their size information.
2020-04-12 09:23:52 -04:00
Lioncash 3c8619ba44 CFluidPlaneManager: Make use of std::array where applicable
Eliminates any potential implicit array to pointer decay.
2020-04-12 09:09:18 -04:00
Lioncash 2069694b59 CFluidPlane: Make use of HasReference() instead of operator bool
Looks a little less out of place while performing the same behavior.
IDE's can also do lookup more reliably on a regular function as opposed
to a conversion operator.
2020-04-12 08:52:23 -04:00
Lioncash aa8f17d847 CFire: Return std::nullopt in GetTouchBounds()
Avoids unnecessarily zeroing out the entire internal buffer in
std::optional in some implementations (libstdc++/libc++).
2020-04-12 08:46:23 -04:00
Lioncash 9e168d3497 CPlasmaProjectile: Make PlayerEffectResource instances contain CAssetIds
Uses the wrapper type instead of the raw type.
2020-04-12 07:30:00 -04:00
Lioncash 976bf0d83e CGameOption: Mark C-Pad arrays constexpr
Allows elision of runtime initializers.
2020-04-12 05:43:14 -04:00
Lioncash 1085600f30 CGameOption: Eliminate truncations to bool 2020-04-12 05:43:14 -04:00
Luke Street 5e748a0d7f Particle/C*EPulse: Fix implementations 2020-04-12 05:38:44 -04:00
Lioncash 3c9fef492a CGameOptions: Mark GameOptionsRegistry as constexpr
Same behavior but eliminates potential runtime initializers.
2020-04-12 05:27:44 -04:00
Lioncash d5e57b5348 CCompoundTargetReticle: Make skZeroRenderState constexpr
Allows eliding runtime initializers where applicable. Particularly for
the static data.
2020-04-12 04:19:53 -04:00
Luke Street 32134990c3
Merge pull request #309 from lioncash/constexpr8
CMorphBall: Make use of constexpr on file-scope arrays
2020-04-12 03:06:59 -04:00
Luke Street 56cebfbacd
Merge pull request #308 from AxioDL/fmtlib-update
Update fmtlib
2020-04-12 03:06:46 -04:00
Luke Street 9f8064b4a1
Merge pull request #307 from lioncash/constexpr7
CModel: Mark CModelFlag instances as constexpr where applicable
2020-04-12 03:06:12 -04:00
Lioncash 1fff540102 CAnimPlaybackParms: Make class constexpr constructible
Allows for removal of some trivial runtime initializers.
2020-04-11 20:55:46 -04:00
Lioncash fef6711ce8 CMorphBall: Make use of constexpr on file-scope arrays
Same behavior, but allows elision of runtime initializers.
2020-04-11 20:41:52 -04:00
Lioncash 1b42bda711 CParticleDataFactory: Make operator bool() instances explicit
Gets rid of implicit error-prone conversions to bool
2020-04-11 20:33:02 -04:00
Lioncash d6f2e27d8a CParticleGlobals: Make use of std::array where applicable 2020-04-11 20:29:36 -04:00
Lioncash 7d42b2d763 CParticleGlobals: Initialize all data members
Provides a deterministic initial state.
2020-04-11 20:23:40 -04:00
Lioncash 9d6b9142bb CParticleSwoosh: Make use of std::array where applicable
Same behavior, no implicit array to pointer decay.
2020-04-11 20:20:47 -04:00
Lioncash 76e226f831 CWorldTransManager: Convert one missed array over to std::array 2020-04-11 19:55:23 -04:00
Lioncash 58fdb64ab5 CWorldTransManager: Initialize all members on construction
Provides a deterministic initial state upon construction, making
debugging easier.
2020-04-11 19:53:30 -04:00
Lioncash e72507b20c CWorldTransManager: Make use of std::array where applicable
Provides stronger typing, and eliminates any potential implicit array to
pointer decay.
2020-04-11 19:50:49 -04:00
Lioncash 54dededb9b CNewFlameThrower: Make constructor take a std::array by reference
Same behavior, but enforces the size requirement instead of accepting
any arbitrary const CAssetId* pointer.
2020-04-11 19:37:42 -04:00
Lioncash fa0dcf5b12 WeaponCommon: Use string_view with get_asset_id_from_name()
Internal functions expect a std::string_view, so we can just make the
parameter a string_view as well to push the responsibility outwards into
the caller.
2020-04-11 19:33:00 -04:00
Lioncash ff6c1fdd3d IOStreams: Make constructors for CBitStreamReader and CZipInputStream explicit
Same behavior minus the error prone implicit constructions.
2020-04-11 19:23:28 -04:00
Jack Andersen 5b4441ac36 Update fmtlib 2020-04-11 12:51:39 -10:00
Lioncash 75c07677ed CModel: Mark CModelFlag instances as constexpr where applicable
Allows more runtime initializes to potentially be elided.
2020-04-11 16:56:13 -04:00
Luke Street 7055b6983f
Merge pull request #306 from lioncash/random
CRandom16: Make constructor explicit
2020-04-11 16:36:51 -04:00
Lioncash 4bdcc5efdb CModel: Make CModelFlags constexpr constructible.
Allows initializers to be elided where applicable.

While we're at it, we can make the conditional flag tests more explicit
and eliminate implicit truncation in the case of the second flag test.
2020-04-11 16:16:19 -04:00
Lioncash 75d8988ee8 CRandom16: Make constructor explicit
Same behavior, minus the implicit conversions upon construction.
2020-04-11 16:15:05 -04:00
Lioncash 01bb0f3840 CWorld: Separate enum definition from declaration
Allows more flexibility if anything ever gets moved around and is
arguably nicer to read.
2020-04-11 15:29:01 -04:00
Lioncash 515103aa92 CWeaponDescription: Make operator bool() explicit
Eliminates potential error-prone implicit conversions.
2020-04-11 15:04:55 -04:00
Lioncash 886d951736 CCameraShakeData: Make use of boolean literals where applicable in LoadCameraShakeData
Same behavior, minus the implicit conversions to bool.
2020-04-11 14:33:27 -04:00
Phillip Stephens 9375514868
Fix CRipper 2020-04-11 07:29:06 -07:00
Luke Street 072ac0df16 Runtime: Wrap printf calls in #ifndef NDEBUG 2020-04-11 02:35:55 -04:00
Luke Street e23c3d3705 Runtime: Wrap fmt::print calls in #ifndef NDEBUG 2020-04-11 02:25:41 -04:00
Luke Street 0fc53c91dc
Merge pull request #303 from lioncash/size
IAnimReader: Make use of size_t for capacity and iterators
2020-04-11 02:12:41 -04:00
Luke Street 304340bd35
Merge pull request #304 from AxioDL/remove-union-bitfields
Runtime: Replace bitfield unions with explicit initializers
2020-04-11 02:12:21 -04:00
Luke Street 22ac7d8099 CScriptCoverPoint: Fix GetAttackDirection return value 2020-04-11 02:09:58 -04:00
Luke Street 0339c16e20 CScriptCoverPoint: Fix GetAttackDirection 2020-04-11 02:02:28 -04:00
Luke Street bb7e94f304 Runtime/World: Replace bitfield unions with constructor initializers 2020-04-11 01:50:10 -04:00
Luke Street 22880abb7e Runtime/Weapon: Replace bitfield unions with constructor initializers 2020-04-11 00:49:02 -04:00
Luke Street c7ca8dc3a7 Runtime/Particle: Replace bitfield unions with constructor initializers 2020-04-11 00:39:49 -04:00
Lioncash 0414235e76 CTransitionDatabaseGame: Tidy up GetMetaTrans()
We can leverage auto here to make the lambda functions significantly
less verbose.
2020-04-10 23:51:18 -04:00
Lioncash 72370910ad IAnimReader: Make use of size_t for capacity and iterators
Allows using container sizes and capacities without needing to cast
them, allowing for dehardcoding of array sizes in some scenarios.
2020-04-10 23:24:52 -04:00
Luke Street f483f5c1e6 CPersistentOptions: Initialize bitfields in default constructor 2020-04-10 15:47:36 -04:00
Luke Street 153004faee Runtime/MP1/World: Replace bitfield unions with constructor initializers 2020-04-10 15:33:05 -04:00
Luke Street 402e45ecb5 Runtime/MP1: Replace bitfield unions with constructor initializers 2020-04-10 15:25:40 -04:00
Luke Street d23e76db54 Runtime/Input: Replace bitfield unions with constructor initializers 2020-04-10 15:12:46 -04:00
Luke Street e38a7f97bd Runtime/GuiSys: Replace bitfield unions with constructor initializers 2020-04-10 15:11:10 -04:00
Luke Street 232823ae69 Runtime/Graphics: Replace bitfield unions with constructor initializers 2020-04-10 15:03:31 -04:00
Luke Street f83b970e75 Runtime/Collision: Replace bitfield unions with constructor initializers 2020-04-10 15:03:24 -04:00
Luke Street 4a3ce8453f Runtime/Graphics: Replace bitfield unions with constructor initializers 2020-04-10 15:03:15 -04:00
Luke Street 496bb3e624 Runtime/Camera: Replace bitfield unions with constructor initializers 2020-04-10 15:03:05 -04:00
Luke Street 8e691d0f73 Runtime/Audio: Replace bitfield unions with constructor initializers 2020-04-10 15:02:55 -04:00
Luke Street 346d110b79 Runtime: Replace bitfield unions with constructor initializers 2020-04-10 15:02:36 -04:00
Lioncash 89e2e65100 CCameraManager: Eliminate variable shadowing
We can get rid of shadowing in an inner scope.
2020-04-10 13:43:55 -04:00
Lioncash 8e263ff11b CMapWorldInfo: Name all function prototype parameters
Same thing but is more consistent and allows IDEs to do better parameter
introspection.
2020-04-10 13:25:47 -04:00
Lioncash f74c2d446f CEnvFxManager: Remove mutable keywords where applicable
We can just make the relevant functions non-const to remove the use of
mutable here.
2020-04-10 13:22:22 -04:00
Lioncash 1e6b6622fe CGuiFrame: Remove unnecessary mutable specifiers
We can just drop the const qualifier on ProcessMouseInput() to make the
mutable specifier unnecessary.
2020-04-10 02:17:50 -04:00
Phillip Stephens 0085f0b16f
Merge branch 'mp2-fixes' 2020-04-09 20:27:22 -07:00
Lioncash e0a4dc37a4 CPathFindSearch: Remove use of mutable on m_viz
We can just drop the const qualifier on DebugDraw() to get rid of the
need to specify this.
2020-04-09 21:50:01 -04:00
Lioncash 549f58d835 CScriptDamageableTrigger: Remove mutable specifier on x254_fluidPlane
This is no longer necessary now that Render() is non-const.
2020-04-09 21:46:57 -04:00
Lioncash 124356b4e7 CSimpleShadow: Remove mutable specifier on m_filter
This is no longer necessary now that we can remove the const qualifier
on Render().
2020-04-09 21:44:49 -04:00
Lioncash cd0a3780c0 CRainSplashGenerator: Remove mutable specifier from m_renderer
We can just drop the const specifiers on relevant member functions to
get rid of the need for this.
2020-04-09 21:40:48 -04:00
Lioncash 2fadaf544d CCompoundTargetReticle: Remove mutable specifier on x28_noDrawTicks
This is no longer needed at all.
2020-04-09 21:35:16 -04:00
Lioncash b72d217a68 CCompoundTargetingReticle: Remove mutable specifier on m_scanRetRenderer
This can be trivially resolved by dropping const qualifiers on the
necessary member functions.
2020-04-09 21:31:22 -04:00
Lioncash 35ca901784 CHudRadarInterface: Remove mutable specifiers from class members
We can just drop the const qualifiers on the relevant member functions
to make these unnecessary.
2020-04-09 21:23:50 -04:00
Lioncash 27813e5fc3 CThardus: Remove mutable specifier from m_flareFilter
Now that Render() is non-const, this specifier is no longer necessary.
2020-04-09 21:19:56 -04:00
Lioncash 1bacb69fc2 CPlasmaProjectile: Remove mutable specifier from m_renderObjs
Now that Render() is non-const, this is no longer necessary.
2020-04-09 21:17:20 -04:00
Lioncash 061b7f9a98 CCollisionActorManager: Remove usage of const_cast
We can just make Destroy() a non-const member function to eliminate the
need for this cast.
2020-04-09 20:33:49 -04:00
Lioncash b89069e1b8 CBooRenderer: Remove usages of const_cast
We can just remove the const qualifier on model here.
2020-04-09 20:22:50 -04:00
Lioncash 57d9e0f294 CFlaahgra: Remove two usages of const_cast
These are no longer necessary.
2020-04-09 20:21:04 -04:00
Lioncash 4834720bb0 CGrappleArm: Remove usage of const_cast in RenderXRayModel()
This is no longer necessary.
2020-04-09 20:18:45 -04:00
Luke Street 3b0b3a39f9 COmegaPirate/CPhazonHealingNodule/CPhazonPool: Remove usages of const_cast 2020-04-09 20:15:25 -04:00
Lioncash 0c1b47faf8 CProjectileWeapon: Remove usages of const_cast
Now that the base Render() function was made non-const, it's trivial to
apply this to the other classes like CProjectileWeapon.
2020-04-09 20:09:14 -04:00
Luke Street 6b814262fc Merge remote-tracking branch 'origin/master' into omegapirate 2020-04-09 20:06:33 -04:00
Lioncash a2f7527388 CScriptPlayerActor: Remove two usages of const_cast
While we're at it, we can also simplify the implementation of
GetPostConstructed().
2020-04-09 20:05:53 -04:00
Lioncash c796cf5315 CScriptSpecialFunction: Remove unnecessary const_cast in AcceptScriptMsg()
This const_cast isn't required at all any more.
2020-04-09 19:55:31 -04:00
Jack Andersen e858c929e3 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into mp2-fixes 2020-04-09 13:04:37 -10:00
Luke Street d131d72efa
Merge pull request #302 from lioncash/render2
CActor: Make Render() a non-const function
2020-04-09 18:55:51 -04:00
Lioncash b8afcb42a3 CFlaahgraTentacle: Make use of TCastToConstPtr where applicable
Same behavior, but makes the read-only semantics explicit.
2020-04-09 17:43:15 -04:00
Lioncash ef70d894f5 CFlaahgraTentacle: Make private static data completely internally linked
Given these aren't referenced anywhere else, we can make them fully
internally linked. We can also make the joint list fully constexpr.
2020-04-09 17:38:06 -04:00
Lioncash 0e4bd8bf13 MP1: Make use of nullptr where applicable
Same behavior, more indicative of what is being passed.
2020-04-09 17:18:38 -04:00
Lioncash aabc0b7114 CStateManager: Mark material filters and lists as constexpr in TestRayDamage()
Allows potential runtime initializers to be elided.
2020-04-09 14:52:52 -04:00
Lioncash bfd17e4513 CActor: Make Render() a non-const function
A few implementations of Render() contain const-casts nested within its
their call hierarchy to get around the fact that this function is marked
const. We can just make the member function non-const to allow removal
of these casts in follow up changes.
2020-04-09 14:32:20 -04:00
Luke Street 7774bc06ca
Merge pull request #297 from lioncash/render
CActor: Make AddToRenderer() non-const
2020-04-09 10:55:16 -04:00
Luke Street 74bce8458b
Merge pull request #299 from lioncash/const2
CGunWeapon: Eliminate usages of const_cast
2020-04-09 10:46:52 -04:00
Luke Street 529fced48a
Merge pull request #298 from lioncash/filter
CCameraFilter: Make Draw() non-const
2020-04-09 10:46:37 -04:00
Phillip Stephens 244e9febb3
Minor fixes 2020-04-08 12:20:27 -07:00
Phillip Stephens 94dbd091ae
Implement CDroneLaser 2020-04-08 10:54:46 -07:00
Luke Street 416ca4653b CScriptEffect: Minor fixes 2020-04-07 23:39:01 -04:00
Luke Street 1f55b5f92e CGrenadeLauncher: Fix UpdateFollowPlayer 2020-04-07 19:26:22 -04:00
Phillip Stephens 784e956819
Drone: Remove redundant include 2020-04-07 16:13:11 -07:00
Phillip Stephens 37c8b9d33c
Drone: Implement Think 2020-04-07 16:11:50 -07:00
Luke Street 1dc90f78d3 CScriptPlatform: Fix AddRider assign to copy 2020-04-07 15:41:26 -04:00
Lioncash ad1f56bfda CPowerBeam: Make use of std::array where applicable
Same behavior, stronger typing.

We can also narrow the scope of the array.
2020-04-07 13:57:06 -04:00
Lioncash 5405dad069 CWeaponMgr: Make use of size_t in IncrCount()
Keeps this function consistent with the previous change.
2020-04-07 13:40:14 -04:00
Lioncash 8ba2af9b5a CWeaponMgr: Avoid unnecessary repeated std::map lookups
Avoids trivial redundant std::map indexes by doing the lookup once and
then referring to the looked up object instead of doing repeated
lookups.
2020-04-07 13:38:36 -04:00
Lioncash db0091e9cd CWordBreakTables: Make use of std::array where applicable
Same behavior, but allows directly querying iterators. We can also make
these arrays constexpr.
2020-04-07 13:24:23 -04:00
Lioncash fe32cea8fc CRainSplashGenerator: Always initialize x24_generateInterval
Provides a deterministic consistent initial state.
2020-04-07 13:02:02 -04:00
Lioncash 3ea8eb21cf CInterpolationCamera: Always initialize x1d8_24_sinusoidal
Provides a deterministic consistent initial state.
2020-04-07 12:58:47 -04:00
Lioncash db9a52fae3 CBodyState: Resolve sign conversion warnings in GetLocoAnimation() 2020-04-07 12:56:29 -04:00
Lioncash ce710a94f6 CBodyState: Always initialize x3c8_primeTime
Provides a deterministic consistent state upon construction
2020-04-07 12:55:41 -04:00
Lioncash 45dca4a25b CStreamAudioManager: Always initialize x74_oneshot
Provides deterministic consistent state when constructing the class.
2020-04-07 12:53:05 -04:00
Lioncash 3865dfbfe5 CSfxManager: Always initialize x1a_reverb and x55_cachedMaxVol
Provides a deterministic initial state.
2020-04-07 12:49:43 -04:00
Lioncash 2ab59eec52 CSfxManager: Make use of std::array where applicable
Same behavior, but with stronger typing.
2020-04-07 12:47:57 -04:00
Lioncash d677d2ac1d CSfxManager: Always initialize m_isEmitter
Provides a deterministic initial state.

While we're at it, we can remove an unnecessary initializer.
2020-04-07 12:42:03 -04:00
Lioncash 18ad2595cf CCameraFilter: Always initialize m_shape
Provides a deterministic initial state and prevents any potential
uninitialized reads.
2020-04-07 12:36:45 -04:00
Lioncash 5fe494f683 CLayoutDescription: Always initialize xc_scale
Provides a total deterministic initial state for the data member.
2020-04-07 12:34:15 -04:00
Lioncash c3ddbfae89 CBodyState: Always initialize x8_jumpType
Provides a deterministic initial state for the member.
2020-04-07 12:32:06 -04:00
Lioncash 56f48e8745 CAdditiveBodyState: Dehardcode array size 2020-04-07 12:31:33 -04:00
Lioncash 2b1a86794b CAdditiveBodyState: Make use of std::array where applicable
Same behavior, stronger typing.
2020-04-07 12:27:47 -04:00
Lioncash 139d290d7d CWorldTransManager: Mark lightPos as constexpr in UpdateLights()
Allows the compiler to optimize the initialization away if it chooses to
do so.
2020-04-07 07:23:14 -04:00
Lioncash 7ba5a5b183 CWorldLight: Explicitly default copy assignment, move assignment and move constructor
Makes the interface consistent with how the constructor is specified.
2020-04-07 07:19:50 -04:00
Lioncash 18c0111edb CModelData: Give all function prototype parameters names
Makes the interface more self-documenting and allows IDE introspection
to function better.
2020-04-07 07:13:18 -04:00
Lioncash cf7d5be6c1 CTryclops: Fix incorrect transform being passed to Teleport() in LaunchPlayer()
GM8E v0 makes use of tmpXf here with Teleport(), not the passed in
transform.
2020-04-07 06:58:41 -04:00
Lioncash 40f184bfac ICollisionFilter: Add virtual destructor
Prevents any potential undefined behavior from occurring through
polymorphic use.
2020-04-07 06:06:56 -04:00