Commit Graph

2947 Commits

Author SHA1 Message Date
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