Commit Graph

3897 Commits

Author SHA1 Message Date
Lioncash 23bae06742 CNewIntroBoss: Make use of std::array where applicable
Same behavior but without implicit array to pointer decay.
2020-04-12 11:18:57 -04:00
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 4625374a7f ParticleCommon: Make operator bool conversions explicit
Prevents any implicit error-prone conversions to bool from occurring.
2020-04-12 10:16:14 -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
Luke Street 038e2f3172
Merge pull request #305 from lioncash/constexpr3
CModel: Make CModelFlags constexpr.
2020-04-11 16:36:42 -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
Luke Street 7e8ca5e808 Add -DLLVM_ROOT_DIR to appveyor 2020-04-11 16:07:05 -04:00