Lioncash
02a684cfdf
CFlaahgra: Migrate static data into the cpp file
...
Same behavior, but completely makes them internally linked.
We can also make use of std::array and dehardcode some array sizes.
2020-04-12 11:16:35 -04:00
Lioncash
f5418d30aa
CEyeBall: Move string_view instance to cpp file
...
Same behavior, but gives the string full internal linkage.
2020-04-12 11:08:20 -04:00
Lioncash
bfea80fc4a
CBabygoth: Mark IsDestinationObstructed() as const
...
This doesn't alter class state, so we can mark it as const.
2020-04-12 11:05:56 -04:00
Lioncash
abd576a43a
CBabygoth: Make use of std::array where applicable
...
Same behavior, no implicit array to pointer decay. We can also move all
this data into the cpp file fully.
2020-04-12 11:03:50 -04:00
Lioncash
f1aca12e6b
CQuitGameScreen: Make use of std::array where applicable
...
Same behavior, but more strongly typed and without any implicit array to
pointer decay.
2020-04-12 10:59:07 -04:00
Lioncash
eba3270c14
CMFGame: Make use of std::array where applicable
2020-04-12 10:55:22 -04:00
Lioncash
c296f0ab8f
CInventoryScreen: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-04-12 10:52:03 -04:00
Lioncash
aee2259972
CTexturedQuadFilter: Mark DefaultRect as constexpr
...
Same behavior, minus runtime initializers.
2020-04-12 10:40:36 -04:00
Lioncash
3efc8486a4
CColoredQuadFilter: Mark DefaultRect as constexpr
...
Same behavior, minus runtime initializers.
2020-04-12 10:39:02 -04:00
Lioncash
e0c187c607
CModelBoo: Make use of std::array where applicable
...
Allows decoding some array sizes.
2020-04-12 10:35:56 -04:00
Lioncash
c203a0de7c
CGraphics: Mark skCubeBasisMats as constexpr
...
Same behavior, minus potential runtime initializers.
2020-04-12 10:31:07 -04:00
Lioncash
66f5685590
CMaterialFilter: Mark skPassEverything as constexpr
...
Removes any potential runtime initializers.
2020-04-12 10:28:02 -04:00
Lioncash
724505e6dc
CAreaOctTree: Make use of std::array where applicable
...
Prevents any implicit array to pointer decay from occurring.
2020-04-12 10:25:41 -04:00
Lioncash
5fc0802373
CPathCamera: Mark kLineOfSightFilter as constexpr
...
Same behavior, minus any potential runtime initializers.
2020-04-12 10:21:35 -04:00
Lioncash
535c02abe8
CCameraShakeData: Mark skChargedShotCameraShakeData as constexpr
...
Same behavior, minus potential runtime initializers.
2020-04-12 10:20:24 -04:00
Lioncash
c662634226
CBallCamera: Mark BallCameraFilter as constexpr
...
Allows removal of runtime initializers.
2020-04-12 10:19:13 -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
Lioncash
9e168d3497
CPlasmaProjectile: Make PlayerEffectResource instances contain CAssetIds
...
Uses the wrapper type instead of the raw type.
2020-04-12 07:30:00 -04:00
Lioncash
976bf0d83e
CGameOption: Mark C-Pad arrays constexpr
...
Allows elision of runtime initializers.
2020-04-12 05:43:14 -04:00
Lioncash
1085600f30
CGameOption: Eliminate truncations to bool
2020-04-12 05:43:14 -04:00
Luke Street
5e748a0d7f
Particle/C*EPulse: Fix implementations
2020-04-12 05:38:44 -04:00
Lioncash
3c9fef492a
CGameOptions: Mark GameOptionsRegistry as constexpr
...
Same behavior but eliminates potential runtime initializers.
2020-04-12 05:27:44 -04:00
Lioncash
d5e57b5348
CCompoundTargetReticle: Make skZeroRenderState constexpr
...
Allows eliding runtime initializers where applicable. Particularly for
the static data.
2020-04-12 04:19:53 -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
1b42bda711
CParticleDataFactory: Make operator bool() instances explicit
...
Gets rid of implicit error-prone conversions to bool
2020-04-11 20:33:02 -04:00
Lioncash
d6f2e27d8a
CParticleGlobals: Make use of std::array where applicable
2020-04-11 20:29:36 -04:00
Lioncash
7d42b2d763
CParticleGlobals: Initialize all data members
...
Provides a deterministic initial state.
2020-04-11 20:23:40 -04:00
Lioncash
9d6b9142bb
CParticleSwoosh: Make use of std::array where applicable
...
Same behavior, no implicit array to pointer decay.
2020-04-11 20:20:47 -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
Lioncash
54dededb9b
CNewFlameThrower: Make constructor take a std::array by reference
...
Same behavior, but enforces the size requirement instead of accepting
any arbitrary const CAssetId* pointer.
2020-04-11 19:37:42 -04:00
Lioncash
fa0dcf5b12
WeaponCommon: Use string_view with get_asset_id_from_name()
...
Internal functions expect a std::string_view, so we can just make the
parameter a string_view as well to push the responsibility outwards into
the caller.
2020-04-11 19:33:00 -04:00
Lioncash
ff6c1fdd3d
IOStreams: Make constructors for CBitStreamReader and CZipInputStream explicit
...
Same behavior minus the error prone implicit constructions.
2020-04-11 19:23:28 -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
Luke Street
7055b6983f
Merge pull request #306 from lioncash/random
...
CRandom16: Make constructor explicit
2020-04-11 16:36:51 -04:00
Lioncash
4bdcc5efdb
CModel: Make CModelFlags constexpr constructible.
...
Allows initializers to be elided where applicable.
While we're at it, we can make the conditional flag tests more explicit
and eliminate implicit truncation in the case of the second flag test.
2020-04-11 16:16:19 -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
Lioncash
515103aa92
CWeaponDescription: Make operator bool() explicit
...
Eliminates potential error-prone implicit conversions.
2020-04-11 15:04:55 -04:00
Lioncash
886d951736
CCameraShakeData: Make use of boolean literals where applicable in LoadCameraShakeData
...
Same behavior, minus the implicit conversions to bool.
2020-04-11 14:33:27 -04:00
Phillip Stephens
9375514868
Fix CRipper
2020-04-11 07:29:06 -07:00