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
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
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
416ca4653b
CScriptEffect: Minor fixes
2020-04-07 23:39:01 -04:00
Luke Street
1dc90f78d3
CScriptPlatform: Fix AddRider assign to copy
2020-04-07 15:41:26 -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
Phillip Stephens
ff0cf969c2
Initial CDrone imps
2020-04-06 13:58:36 -07:00
Phillip Stephens
d033ddeb1d
Initial CDrone imp
2020-04-06 13:57:36 -07:00
Luke Street
46afe6eae8
COmegaPirate: Implement DoubleSnap & finish DoUserAnimEvent
2020-04-06 16:56:10 -04:00
Luke Street
c9f96d47d2
CPhazonPool: Initial structure
2020-04-06 16:56:10 -04:00
Luke Street
80b383b68f
CPhazonHealingNodule: Add DEFINE_PATTERNED
2020-04-06 16:56:10 -04:00
Luke Street
0bef9104b5
CPhazonHealingNodule: Create class
2020-04-06 16:56:10 -04:00
Luke Street
93751972ac
COmegaPirate: Implement AcceptScriptMsg & collision setup
2020-04-06 16:56:10 -04:00
Luke Street
fb9765656c
COmegaPirate: Start implementation
2020-04-06 16:56:10 -04:00
Lioncash
dd7d9c024f
CGameLight: Add parameter names to function prototypes
...
Same behavior, but more self-documenting from interface alone. Also
allows better parameter introspection.
2020-04-06 08:46:38 -04:00
Lioncash
41c2ede092
CScriptWater: Make private const data internally linked
...
Same behavior, but allows completely hiding it from external view and
also allows making the data constexpr.
2020-04-06 05:42:15 -04:00
Lioncash
c9e8b3366d
CFluidPlane: Resolve constness related compile errors that slipped through
...
Gotta love Find References not, in fact, finding all the references.
2020-04-06 05:31:09 -04:00
Lioncash
d708337e90
CScriptDamageableTrigger: Make member variables private
...
Previously, everything about the class was made public.
2020-04-06 04:48:10 -04:00
Lioncash
27f3078c8a
CScriptDamageableTrigger: Mark x254_fluidPlane as mutable
...
A temporary stop-gap to hold over until Render is made non-const.
2020-04-06 04:45:33 -04:00
Lioncash
402216447a
CFluidPlane: Make Render() non-const
...
Allows making the shader instances non-mutable.
2020-04-06 02:18:14 -04:00
Lioncash
cabbfcc320
CActor: Make AddToRenderer() non-const
...
This member function alters instance state in a few implementations, so
it shouldn't be made const.
The state manager parameter also shouldn't be const. Retrieved data
from the post constructed instance is further modified in some
implementations. This removes the constness on this parameter in order
to fix more const_cast usages in a follow-up change.
2020-04-06 00:52:10 -04:00
Lioncash
f77fb2089b
General: Pass std::nullopt to CAnimData::Render instead of {}
...
Prevents some implementations (libstdc++ and libc++) from completely zeroing out the underlying
buffer and instead sets a single byte flag.
Eliminates unnecessary memsets.
2020-04-05 08:24:42 -04:00