Commit Graph

1138 Commits

Author SHA1 Message Date
Luke Street dbbb3cdc4e CScriptMazeNode: Always free CMazeState 2020-09-21 20:56:44 -04:00
Luke Street a35bfc49b5 CScriptMazeNode: Fix reversed enter/target & add debug rendering 2020-09-21 20:42:54 -04:00
Luke Street df2d191be8 CScriptMazeNode: Renaming & more cleanup 2020-09-21 18:38:11 -04:00
Luke Street c23a047a93 CScriptMazeNode: Signed fixes & cleanup 2020-09-20 16:36:24 -04:00
Luke Street eb124a9470 CScriptMazeNode: Working implementation 2020-09-20 03:25:56 -04:00
Luke Street 2cca2b8513 CScriptMazeNode: Finish initial implementation 2020-09-20 01:47:12 -04:00
Luke Street a533ee3538 CScriptMazeNode: Initial implementation of sub_802899c8 2020-09-19 16:32:23 -04:00
Luke Street cf68c7dd9d CScriptMazeNode: Finish initial implementation of Reset 2020-09-19 15:52:15 -04:00
Luke Street 47f456e4e7 CScriptMazeNode: Start implementing AcceptScriptMsg 2020-09-19 14:52:43 -04:00
Luke Street 529e8f6a07 CScriptMazeNode: Implement Reset 2020-09-19 13:44:32 -04:00
Luke Street e486e01b2a CScriptMazeNode: Implement GenerateObjects & more structures 2020-09-19 13:30:44 -04:00
Luke Street 76de1541f2 Runtime: Resolve -Wrange-loop-analysis warnings (part 2) 2020-09-18 17:04:50 -04:00
Luke Street 5b44ac143d CPatterned: ApproachDest fixes 2020-09-16 02:18:03 -04:00
Luke Street 69ded7eca8 Fix bitfield check in CPatterned::PathFind & update zeus (CVector3f::isZero fix) 2020-09-16 00:42:44 -04:00
Phillip Stephens 803acd9ac6
Fix Drone crashing by loading a model as a particle 2020-09-14 22:49:10 -07:00
Luke Street edadcbef17 CDrone: Implement SetVisorFlareEnabled, UpdateVisorFlare 2020-09-14 01:22:11 -04:00
Phillip Stephens e64591bbf8
CThardus: Fix knee collider, attempt to fix healthbar 2020-09-12 21:08:14 -07:00
Phillip Stephens fb69ae741d
Fix Thardus' structure and implement basic behavior 2020-09-12 18:40:19 -07:00
Phillip Stephens 2ca0cd2bdd
Final CThardusRockProjectile imps, cleanup needed 2020-09-12 18:40:19 -07:00
Phillip Stephens 1ba68175e9
More CThardus imps, add CRandom16 stats 2020-09-12 18:40:19 -07:00
Phillip Stephens 7847b59705
More CThardus imps 2020-09-12 18:40:15 -07:00
Phillip Stephens dc4b79eec3
Merge branch 'new-flamethrower' of https://github.com/shiiion/urde into shiiion-new-flamethrower 2020-09-10 11:03:28 -07:00
Luke Street bd882edee6 ScriptLoader: Fix float ordering for CAtomicBeta
Fixes #325
2020-08-24 04:00:30 -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 6a7b87bea1 CScriptSpecialFunction: SpinnerController fixes 2020-08-23 13:06:01 -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 73d6465095 CPlayer: Fix logic in ChooseTransitionToAnimation 2020-06-07 14:12: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 d44eccc386 Runtime: constexpr fixes for gcc 2020-05-27 13:02:20 -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 56d31254cd CKnockBackController: Fix EKnockBackType 2020-05-21 11:32:48 -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 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
Luke Street eddaa24b1e CDamageVulnerability: Fix WeaponHits 2020-05-17 12:25:04 -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
Luke Street 72880f6286 CScriptDebris: Assign dieOnProjectile 2020-05-14 11:59:34 -04: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
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 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
Luke Street e8ce4c2e27 CMetroid: More function implementations 2020-05-09 02:51:02 -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 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 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 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 ca659bdcbc CMetroid: Add fields & function definitions 2020-05-08 04:19:51 -04:00
Luke Street 34b2383dfd MP1/CMain: Add missing fields 2020-05-07 23:20:23 -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 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
Luke Street 1578a9481b CScriptAiJumpPoint: Fix GetInUse 2020-04-29 03:03:14 -04: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 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 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 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
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
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
Luke Street 449d8409d8 CMagdolite: Fix lock-on, retreat & loader 2020-04-21 04:46:07 -04:00
Luke Street 5f66ab2219 CMagdolite: Minor cleanup 2020-04-21 01:32:16 -04:00