Commit Graph

3008 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