Commit Graph

956 Commits

Author SHA1 Message Date
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 59f979db67
Actually implement AssetNameMap in DNAMP1 2020-04-22 03:38:48 -07: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
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 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 ecdedb5d8f CActorModelParticles: Make IsMediumOrLarge() parameter a const reference
Nothing about the parameter is modified.
2020-04-19 21:44:31 -04:00
Luke Street 24acb585f8 MSVC & zeus fixes; update hecl-gui 2020-04-19 21:09:30 -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
Lioncash 2c3e5e205f MkCastTo: Make operator bool instances explicit
Prevents error prone implicit conversions.
2020-04-18 23:02:11 -04:00
Luke Street 30f2ac3f26 Merge branch 'master' into omegapirate 2020-04-18 18:14:51 -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 0b05c906df CScriptEffect: Eliminate variable shadowing
Avoids clashing names.
2020-04-17 16:31:02 -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
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 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 582d8a6999
Initial PAL/JP/Trilogy imps, various cleanup 2020-04-15 22:26:14 -07:00
Phillip Stephens e553a9022f
Fix CMemoryCardSys 2020-04-15 04:27:06 -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
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 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 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 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 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
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 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
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
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
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 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
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 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
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