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
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
0fc53c91dc
Merge pull request #303 from lioncash/size
...
IAnimReader: Make use of size_t for capacity and iterators
2020-04-11 02:12:41 -04:00
Luke Street
304340bd35
Merge pull request #304 from AxioDL/remove-union-bitfields
...
Runtime: Replace bitfield unions with explicit initializers
2020-04-11 02:12:21 -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
Luke Street
22880abb7e
Runtime/Weapon: Replace bitfield unions with constructor initializers
2020-04-11 00:49:02 -04:00
Luke Street
c7ca8dc3a7
Runtime/Particle: Replace bitfield unions with constructor initializers
2020-04-11 00:39:49 -04:00
Lioncash
0414235e76
CTransitionDatabaseGame: Tidy up GetMetaTrans()
...
We can leverage auto here to make the lambda functions significantly
less verbose.
2020-04-10 23:51:18 -04:00
Lioncash
72370910ad
IAnimReader: Make use of size_t for capacity and iterators
...
Allows using container sizes and capacities without needing to cast
them, allowing for dehardcoding of array sizes in some scenarios.
2020-04-10 23:24:52 -04:00
Luke Street
f483f5c1e6
CPersistentOptions: Initialize bitfields in default constructor
2020-04-10 15:47:36 -04:00
Luke Street
153004faee
Runtime/MP1/World: Replace bitfield unions with constructor initializers
2020-04-10 15:33:05 -04:00
Luke Street
402e45ecb5
Runtime/MP1: Replace bitfield unions with constructor initializers
2020-04-10 15:25:40 -04:00
Luke Street
d23e76db54
Runtime/Input: Replace bitfield unions with constructor initializers
2020-04-10 15:12:46 -04:00
Luke Street
e38a7f97bd
Runtime/GuiSys: Replace bitfield unions with constructor initializers
2020-04-10 15:11:10 -04:00
Luke Street
232823ae69
Runtime/Graphics: Replace bitfield unions with constructor initializers
2020-04-10 15:03:31 -04:00
Luke Street
f83b970e75
Runtime/Collision: Replace bitfield unions with constructor initializers
2020-04-10 15:03:24 -04:00
Luke Street
4a3ce8453f
Runtime/Graphics: Replace bitfield unions with constructor initializers
2020-04-10 15:03:15 -04:00
Luke Street
496bb3e624
Runtime/Camera: Replace bitfield unions with constructor initializers
2020-04-10 15:03:05 -04:00
Luke Street
8e691d0f73
Runtime/Audio: Replace bitfield unions with constructor initializers
2020-04-10 15:02:55 -04:00
Luke Street
346d110b79
Runtime: Replace bitfield unions with constructor initializers
2020-04-10 15:02:36 -04:00
Lioncash
89e2e65100
CCameraManager: Eliminate variable shadowing
...
We can get rid of shadowing in an inner scope.
2020-04-10 13:43:55 -04:00
Lioncash
8e263ff11b
CMapWorldInfo: Name all function prototype parameters
...
Same thing but is more consistent and allows IDEs to do better parameter
introspection.
2020-04-10 13:25:47 -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
1e6b6622fe
CGuiFrame: Remove unnecessary mutable specifiers
...
We can just drop the const qualifier on ProcessMouseInput() to make the
mutable specifier unnecessary.
2020-04-10 02:17:50 -04:00
Phillip Stephens
0085f0b16f
Merge branch 'mp2-fixes'
2020-04-09 20:27:22 -07: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
Lioncash
124356b4e7
CSimpleShadow: Remove mutable specifier on m_filter
...
This is no longer necessary now that we can remove the const qualifier
on Render().
2020-04-09 21:44:49 -04:00
Lioncash
cd0a3780c0
CRainSplashGenerator: Remove mutable specifier from m_renderer
...
We can just drop the const specifiers on relevant member functions to
get rid of the need for this.
2020-04-09 21:40:48 -04:00
Lioncash
2fadaf544d
CCompoundTargetReticle: Remove mutable specifier on x28_noDrawTicks
...
This is no longer needed at all.
2020-04-09 21:35:16 -04:00
Lioncash
b72d217a68
CCompoundTargetingReticle: Remove mutable specifier on m_scanRetRenderer
...
This can be trivially resolved by dropping const qualifiers on the
necessary member functions.
2020-04-09 21:31:22 -04:00
Lioncash
35ca901784
CHudRadarInterface: Remove mutable specifiers from class members
...
We can just drop the const qualifiers on the relevant member functions
to make these unnecessary.
2020-04-09 21:23:50 -04:00
Lioncash
27813e5fc3
CThardus: Remove mutable specifier from m_flareFilter
...
Now that Render() is non-const, this specifier is no longer necessary.
2020-04-09 21:19:56 -04:00
Lioncash
1bacb69fc2
CPlasmaProjectile: Remove mutable specifier from m_renderObjs
...
Now that Render() is non-const, this is no longer necessary.
2020-04-09 21:17:20 -04:00
Lioncash
061b7f9a98
CCollisionActorManager: Remove usage of const_cast
...
We can just make Destroy() a non-const member function to eliminate the
need for this cast.
2020-04-09 20:33:49 -04:00
Lioncash
b89069e1b8
CBooRenderer: Remove usages of const_cast
...
We can just remove the const qualifier on model here.
2020-04-09 20:22:50 -04:00
Lioncash
57d9e0f294
CFlaahgra: Remove two usages of const_cast
...
These are no longer necessary.
2020-04-09 20:21:04 -04:00
Lioncash
4834720bb0
CGrappleArm: Remove usage of const_cast in RenderXRayModel()
...
This is no longer necessary.
2020-04-09 20:18:45 -04:00
Luke Street
3b0b3a39f9
COmegaPirate/CPhazonHealingNodule/CPhazonPool: Remove usages of const_cast
2020-04-09 20:15:25 -04:00
Lioncash
0c1b47faf8
CProjectileWeapon: Remove usages of const_cast
...
Now that the base Render() function was made non-const, it's trivial to
apply this to the other classes like CProjectileWeapon.
2020-04-09 20:09:14 -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
Jack Andersen
e858c929e3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into mp2-fixes
2020-04-09 13:04:37 -10:00
Luke Street
d131d72efa
Merge pull request #302 from lioncash/render2
...
CActor: Make Render() a non-const function
2020-04-09 18:55:51 -04:00
Lioncash
b8afcb42a3
CFlaahgraTentacle: Make use of TCastToConstPtr where applicable
...
Same behavior, but makes the read-only semantics explicit.
2020-04-09 17:43:15 -04:00
Lioncash
ef70d894f5
CFlaahgraTentacle: Make private static data completely internally linked
...
Given these aren't referenced anywhere else, we can make them fully
internally linked. We can also make the joint list fully constexpr.
2020-04-09 17:38:06 -04:00
Lioncash
0e4bd8bf13
MP1: Make use of nullptr where applicable
...
Same behavior, more indicative of what is being passed.
2020-04-09 17:18:38 -04:00
Lioncash
aabc0b7114
CStateManager: Mark material filters and lists as constexpr in TestRayDamage()
...
Allows potential runtime initializers to be elided.
2020-04-09 14:52:52 -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
74bce8458b
Merge pull request #299 from lioncash/const2
...
CGunWeapon: Eliminate usages of const_cast
2020-04-09 10:46:52 -04:00
Luke Street
529fced48a
Merge pull request #298 from lioncash/filter
...
CCameraFilter: Make Draw() non-const
2020-04-09 10:46:37 -04:00
Luke Street
416ca4653b
CScriptEffect: Minor fixes
2020-04-07 23:39:01 -04:00
Luke Street
1f55b5f92e
CGrenadeLauncher: Fix UpdateFollowPlayer
2020-04-07 19:26:22 -04:00
Luke Street
1dc90f78d3
CScriptPlatform: Fix AddRider assign to copy
2020-04-07 15:41:26 -04:00
Lioncash
ad1f56bfda
CPowerBeam: Make use of std::array where applicable
...
Same behavior, stronger typing.
We can also narrow the scope of the array.
2020-04-07 13:57:06 -04:00
Lioncash
5405dad069
CWeaponMgr: Make use of size_t in IncrCount()
...
Keeps this function consistent with the previous change.
2020-04-07 13:40:14 -04:00
Lioncash
8ba2af9b5a
CWeaponMgr: Avoid unnecessary repeated std::map lookups
...
Avoids trivial redundant std::map indexes by doing the lookup once and
then referring to the looked up object instead of doing repeated
lookups.
2020-04-07 13:38:36 -04:00
Lioncash
db0091e9cd
CWordBreakTables: Make use of std::array where applicable
...
Same behavior, but allows directly querying iterators. We can also make
these arrays constexpr.
2020-04-07 13:24:23 -04:00
Lioncash
fe32cea8fc
CRainSplashGenerator: Always initialize x24_generateInterval
...
Provides a deterministic consistent initial state.
2020-04-07 13:02:02 -04:00
Lioncash
3ea8eb21cf
CInterpolationCamera: Always initialize x1d8_24_sinusoidal
...
Provides a deterministic consistent initial state.
2020-04-07 12:58:47 -04:00
Lioncash
db9a52fae3
CBodyState: Resolve sign conversion warnings in GetLocoAnimation()
2020-04-07 12:56:29 -04:00
Lioncash
ce710a94f6
CBodyState: Always initialize x3c8_primeTime
...
Provides a deterministic consistent state upon construction
2020-04-07 12:55:41 -04:00
Lioncash
45dca4a25b
CStreamAudioManager: Always initialize x74_oneshot
...
Provides deterministic consistent state when constructing the class.
2020-04-07 12:53:05 -04:00
Lioncash
3865dfbfe5
CSfxManager: Always initialize x1a_reverb and x55_cachedMaxVol
...
Provides a deterministic initial state.
2020-04-07 12:49:43 -04:00
Lioncash
2ab59eec52
CSfxManager: Make use of std::array where applicable
...
Same behavior, but with stronger typing.
2020-04-07 12:47:57 -04:00
Lioncash
d677d2ac1d
CSfxManager: Always initialize m_isEmitter
...
Provides a deterministic initial state.
While we're at it, we can remove an unnecessary initializer.
2020-04-07 12:42:03 -04:00
Lioncash
18ad2595cf
CCameraFilter: Always initialize m_shape
...
Provides a deterministic initial state and prevents any potential
uninitialized reads.
2020-04-07 12:36:45 -04:00
Lioncash
5fe494f683
CLayoutDescription: Always initialize xc_scale
...
Provides a total deterministic initial state for the data member.
2020-04-07 12:34:15 -04:00
Lioncash
c3ddbfae89
CBodyState: Always initialize x8_jumpType
...
Provides a deterministic initial state for the member.
2020-04-07 12:32:06 -04:00
Lioncash
56f48e8745
CAdditiveBodyState: Dehardcode array size
2020-04-07 12:31:33 -04:00
Lioncash
2b1a86794b
CAdditiveBodyState: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-04-07 12:27:47 -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
Lioncash
18c0111edb
CModelData: Give all function prototype parameters names
...
Makes the interface more self-documenting and allows IDE introspection
to function better.
2020-04-07 07:13:18 -04:00
Lioncash
cf7d5be6c1
CTryclops: Fix incorrect transform being passed to Teleport() in LaunchPlayer()
...
GM8E v0 makes use of tmpXf here with Teleport(), not the passed in
transform.
2020-04-07 06:58:41 -04:00
Lioncash
40f184bfac
ICollisionFilter: Add virtual destructor
...
Prevents any potential undefined behavior from occurring through
polymorphic use.
2020-04-07 06:06:56 -04:00
Lioncash
f0ff83e39a
CTransitionDatabase: Add virtual destructor
...
Prevents any undefined behavior from occurring through polymorphic
usage.
2020-04-07 06:04:58 -04:00
Lioncash
8182688b34
CAnimationDatabase: Add virtual destructor
...
Given this class is used polymorphically, this is cautionary to prevent
any potential undefined behavior from occurring through refactors over
time.
2020-04-07 06:03:14 -04:00
Lioncash
f17042ab77
CStreamAudioManager: Make use of std::array where applicable
...
Dehardcodes a lot of repeated array sizes.
2020-04-07 06:01:14 -04:00
Luke Street
4d3050cac4
COmegaPirate: Add call to AvoidStaticCollisionWithinRadius
2020-04-06 16:57:48 -04:00
Luke Street
ab8e00880e
CPhazonHealingNodule: Add missing functions
2020-04-06 16:56:10 -04:00
Luke Street
61444da8ff
COmegaPirate: Implement all functions
2020-04-06 16:56:10 -04:00
Luke Street
a4b1e7f85f
COmegaPirate: Implement Faint, Growth, JumpBack, Suck; continue Think implementation
2020-04-06 16:56:10 -04:00
Luke Street
46afe6eae8
COmegaPirate: Implement DoubleSnap & finish DoUserAnimEvent
2020-04-06 16:56:10 -04:00
Luke Street
802849c711
CPhazonPool: Implementation
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
4d48febca2
CPhazonHealingNodule: Implementation
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
Luke Street
9dd77d6a10
CGameCollision: Add AvoidStaticCollisionWithinRadius
2020-04-06 16:53:54 -04:00
Lioncash
cfa6299704
CShockWave: Resolve sign conversion warning
...
int was being used when size_t should have been.
2020-04-06 13:25:30 -04:00
Lioncash
f96ea81d69
CPASDatabase: Resolve sign-conversion warnings
...
We can leverage size_t here to resolve sign-conversion warnings.
While we're in the same area, we can remove a use of at() for
std::vector, given a bounds check already precedes it.
2020-04-06 13:21:06 -04:00
Lioncash
8dcd6b3109
CBodyState: Make use of HasAnims()
...
We can replace the usages of GetNumAnims with this now.
2020-04-06 13:17:19 -04:00
Lioncash
891fd05442
CPASAnimState: Add HasAnims()
...
GetNumAnims() is only used in two places to do existence checking. We
can just provide a dedicated function for this and also have size
querying as well.
2020-04-06 13:15:13 -04:00
Lioncash
6381f021b7
CPASAnimState: Make use of size_t for GetAnimParmData()
...
Given the rest of the interface now uses size_t, we can convert this
over. While we're at it, we can also take the result of the at() call
inside of it in order to avoid any copies of data altogether.
2020-04-06 13:10:43 -04:00
Lioncash
17c1582ba2
CPASAnimState: Make PickRandomAnimation() private
...
This isn't used externally anywhere.
2020-04-06 13:06:31 -04:00
Lioncash
0b74a3e995
CPASAnimState: Make use of size_t for indices
...
Same behavior, but plays nicer with containers.
This can technically result in less zero-extensions with regards to
memory indexing and registers, but this wasn't the underlying reason for the change.
2020-04-06 13:02:22 -04:00
Lioncash
4043b63721
CPASAnimState: Make computation functions private
...
These are currently only used internally.
2020-04-06 12:56:29 -04:00
Lioncash
92d65462b9
CCameraSpline: Resolve sign-conversion warnings
...
All call sites are already compatible with these changes, so they can
safely be made.
2020-04-06 12:50:28 -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
5f7a33e2ec
CThardus: convert 0 literal to false
...
Same behavior, but matches the type of the parameter.
2020-04-06 08:43:41 -04:00
Lioncash
0a0ac955b5
CThardus: std::move std::vector instance in constructor
...
Same behavior, no reallocations.
2020-04-06 08:41:18 -04:00
Lioncash
6e7e761126
CCollidableOBBTree: Don't cast away const in constructor
...
Same behavior, minus a cast.
2020-04-06 07:11:34 -04:00
Lioncash
0e0ca4caa9
CAnimSource: Eliminate variable shadowing
...
Gets rid of two -Wshadow warnings.
2020-04-06 07:04:49 -04:00
Lioncash
f7962cb3f7
CRasterFont: Extend CFontInfo buffer to 64 characters
...
GM8E v0 seems to be using at least a buffer 64 characters in size, not
40.
2020-04-06 06:59:22 -04:00
Lioncash
296cb3df2b
CMemoryCardDriver: Make use of std::array where applicable
...
Stronger typing and also allows eliminating several hardcoded data
sizes.
2020-04-06 06:23:48 -04:00
Lioncash
c97fedd989
CCollisionSurface: Return std::array by reference from GetVerts()
...
Same behavior, facilitates better static analysis for out-of-bounds
accesses, and also even allows size querying if necessary.
2020-04-06 06:02:52 -04:00
Lioncash
ecf3cfdb49
CCollisionSurface: Collapse separate CVector3f instances into std::array
...
Will allow converting GetVertices() over to returning a reference to
std::array, rather than simply a pointer.
2020-04-06 05:54:24 -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
f0eadfe56c
CMetroidAreaCollider: Make use of std::array where applicable
...
Makes arrays strongly typed and allows eliminating some hardcoded array
sizes. We can also use it to make input data to some data types and
functions significantly more informative.
This also makes it easier for static analysis tools to track out of
bounds accesses if they ever occur.
2020-04-06 05:19:13 -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
741adfe45c
CPASAnimParm: Make constexpr capable
...
Allows the type to be used in constexpr scenarios and allows for
compile-time elimination of initializers.
2020-04-06 02:55:05 -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
22eb5c837e
CollisionUtil: Make use of const where applicable
...
Makes it explicit which variables are mutating within algorithms, making
them nicer to follow.
2020-04-06 02:02:52 -04:00
Lioncash
39f5fddd63
CollisionUtil: Make use of std::array where applicable
...
Same behavior, stronger typing. Also allows dehardcoding some array
sizes.
2020-04-06 01:41:16 -04:00
Lioncash
80c6424fd0
CCollidableOBBTree: Eliminate variable shadowing
...
Resolves a -Wshadow warning.
2020-04-06 01:23:08 -04:00
Lioncash
c3ba3927db
CCollidableOBBTree: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-04-06 01:21:20 -04:00
Lioncash
e76804079d
COBBTree: Return std::array from GetTriangleVertexIndices() directly
...
While the game binary uses an out pointer here, we can slightly modify
it in this case in order to make it more difficult to misuse the
call-sites by returning the data directly as a std::array.
2020-04-06 01:17:24 -04:00
Lioncash
248a4e57c9
COBBTree: Always initialize x4c_hit
...
Same behavior, but provides deterministic state on construction, which
can make debugging much nicer.
2020-04-06 01:05:29 -04:00
Lioncash
c6952442c7
COBBTree: Remove use of operator bool directly
...
Same behavior, but more idiomatic.
2020-04-06 01:01:44 -04:00
Lioncash
e34db8c0e6
COBBTree: Eliminate sign conversion warnings
...
Multiplying a u16 results in an int.
2020-04-06 01:00:58 -04:00
Lioncash
2e6bd0f05e
CGunWeapon: Eliminate usages of const_cast
...
Eliminates trivial usages of const_cast by making Draw related functions
non-const. This also allows removing the mutable specifiers from several
shader data members.
2020-04-06 00:52:47 -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
19cfb92d5d
COBBTree: Simplify make_unique call
...
We can use nullptr here instead of typing out the name of the type.
2020-04-06 00:51:04 -04:00
Luke Street
58adce472a
CMappableObject: Fix call to data()
2020-04-06 00:03:34 -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
Phillip Stephens
786634e181
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde
2020-04-05 05:13:14 -07:00
Phillip Stephens
eab08cbe2d
Merge branch 'lioncash-find'
2020-04-05 05:12:25 -07:00
Lioncash
0a7ccace44
CCharacterFactory: Eliminate usages of const_cast within CreateCharacter()
...
We can simply make this member function non-const and eliminate the need
for casts like this.
2020-04-05 08:11:51 -04:00
Phillip Stephens
5fc8f2ccd2
Merge branch 'find' of https://github.com/lioncash/urde into lioncash-find
2020-04-05 05:11:20 -07:00
Phillip Stephens
28853f5ea6
Merge branch 'constexpr5' of https://github.com/lioncash/urde into lioncash-constexpr5
2020-04-05 05:10:42 -07:00
Lioncash
6ba0641b79
CCameraFilter: Make Draw() non-const
...
Eliminates another usage of const_cast.
2020-04-05 08:05:04 -04:00
Lioncash
b99122dae8
CFrontEndUI: Remove use of const_cast in Draw()
...
These casts are no longer necessary.
2020-04-05 07:12:07 -04:00
Lioncash
4d2e51c0b9
CSamusHud: Make Draw() non-const
...
Allows eliminating usages of const_cast.
2020-04-05 07:09:13 -04:00
Lioncash
3e9e434d96
CPlayerVisor: Make Draw() non-const
...
Allows eliminating const_cast usages.
2020-04-05 07:00:40 -04:00
Lioncash
be4e7f8ff7
CMFGame: Remove unnecessary const_cast
...
This is no longer necessary, considering that Draw() isn't const
qualified anymore.
2020-04-05 06:52:19 -04:00
Lioncash
a952ff1110
CCollisionEdge: Make constructors constexpr
...
Makes the default and non-stream iterator constexpr, which allows for
elimination of a runtime initializer.
2020-04-05 06:46:03 -04:00
Lioncash
af6e3b21f8
COBBTree: Make use of std::array where applicable
2020-04-05 06:41:22 -04:00
Lioncash
039e43c511
CMapWorldInfo: Actually add the mutable specifiers
...
Note to self, actually stage changes before pushing.
2020-04-05 06:36:17 -04:00
Lioncash
42c560b9df
CMapWorldInfo: Remove use of const_cast
...
Same behavior, but explicitly marks the member variables as mutable.
This is fine given they act as an underlying cache and don't directly
alter the behavior of the interface.
2020-04-05 06:30:25 -04:00
Lioncash
2755f3f4f8
CMapWorldInfo: Eliminate truncation and sign conversion warnings
2020-04-05 06:29:27 -04:00
Lioncash
755529b67a
CMappableObject: Make use of std::array where applicable
...
Same behavior, but also allows eliminating hardcoded array sizes.
2020-04-05 06:15:18 -04:00
Lioncash
94264f6fe6
CRasterFont: Collapse loop into a std::find_if in InternalGetGlyph()
...
Same behavior, less code.
2020-04-05 06:01:29 -04:00
Lioncash
1279be5e56
CGraphics: Mark internal file-scope matrices as constexpr
...
Same behavior, but allows omission of runtime initializers.
2020-04-05 05:48:54 -04:00
Lioncash
95199848d3
CGraphics: Make use of std::array where applicable
2020-04-05 05:46:07 -04:00
Lioncash
8808a3a324
CFireFlea: Unindent FindSafeRoute()
...
Makes the function much nicer to follow by using guard clauses to
unindent the code.
2020-04-05 05:36:28 -04:00
Lioncash
99c564cfe4
CFireFlea: Make colors constexpr internal details
...
Same behavior, but makes the color constants fully internal details.
2020-04-05 05:25:47 -04:00
Lioncash
a49d26f800
CParticleElectric: Return std::nullopt in GetBounds()
...
Same behavior, but avoids zeroing out the internal buffer in some
implementations of std::optional.
2020-04-05 05:12:25 -04:00
Lioncash
852dd5c6bf
CParticleGenInfo: Collapse TCastToPtr into conditions
...
Same behavior, but more compact.
2020-04-05 05:10:28 -04:00
Lioncash
39e8ee9a80
CBodyState: Return 1.0f directly in UpdateLocomotionAnimation()
...
Same behavior, but less verbose.
2020-04-05 03:24:56 -04:00
Lioncash
71e3fb1817
CBodyState: Eliminate usages of const_cast
...
This is clearly modifying the command, so we should allow for modifying
of command instances if necessary.
2020-04-05 03:21:33 -04:00
Lioncash
1fb28a03a3
CBodyState: Mark reference parameters as const where applicable
...
Makes the parameters explicit about whether or not they're modified.
2020-04-05 03:10:35 -04:00
Lioncash
9ddb726155
CBodyState: Make use of const where applicable
...
Same behavior, but makes read-only intent explicit.
2020-04-05 02:58:22 -04:00
Lioncash
1b01b232e6
CCinematicCamera: Make use of const where applicable
...
Makes read-only intent explicit.
2020-04-05 01:45:08 -04:00
Lioncash
4e55edf0fe
CCameraSpline: Make use of TCastToConstPtr where applicable
...
Makes the read-only intent explicit.
2020-04-05 01:25:55 -04:00
Lioncash
7d8bcfbd5e
CCameraManager: Make use of TCastToConstPtr where applicable
...
Makes the read-only behavior explicit.
2020-04-05 01:19:51 -04:00
Lioncash
75cd9b6cf3
CBallCamera: Make use of TCastToConstPtr where applicable
...
Same behavior, but makes the read-only nature explicit.
2020-04-05 00:54:40 -04:00
Lioncash
8a732194a6
CGameCollision: Eliminate the use of const_cast
2020-04-05 00:30:58 -04:00
Lioncash
4c6ab60110
CGameOptions: Eliminate type punning in CHintOptions constructor and PutTo()
...
Type punning with unions is undefined behavior.
2020-04-03 02:19:28 -04:00
Lioncash
b122fd30a8
CGameProjectile: Return std::nullopt in GetTouchBounds()
...
Same behavior, but doesn't potentially unnecessary zero out the entirety
of the buffer within the optional and only sets a single byte.
2020-04-03 02:07:54 -04:00
Lioncash
d47f8c2784
CGameProjectile: Make use of TCastToConstPtr before
...
Same behavior, but more indiciative of read-only semantics.
2020-04-03 01:58:00 -04:00
Lioncash
eb1209b492
CFlameWarp: Dehardcode container sizes
...
Same behavior, less magic numbers.
2020-04-03 01:10:22 -04:00
Lioncash
ad30f0c61c
CActorModelParticles: Make GetParticleDGRPTokens take a std::string_view
...
Same behavior, but provides a more type-safe interface. All internal
functions called within the function operate on std::string_view
anyways.
2020-04-03 00:36:53 -04:00
Lioncash
75aa359855
CActorModelParticles: Use static_cast instead of reinterpret_cast in PointGenerator()
...
Casting from void* to a concrete type is permitted with static_cast.
2020-04-03 00:28:14 -04:00
Lioncash
a80838b2df
CActorModelParticles: Don't cast away const in SetupHook()
...
Now that we have a non-const overload, we don't need to cast away const
any longer, removing a cast-qual warning.
2020-04-03 00:26:35 -04:00
Lioncash
9ac1a94a5f
CActorModelParticles: Add non-const overload of FindSystem()
...
Same behavior but returns a non-const iterator, which will be used in a
following change.
2020-04-03 00:24:52 -04:00
Lioncash
b33fcf9e02
CActorModelParticles: Collapse FindSystem() into a find_if call
...
Same behavior, less code.
2020-04-03 00:22:37 -04:00
Lioncash
c913502d90
CActorModelParticles: Dehardcode container sizes where applicable
2020-04-03 00:08:09 -04:00
Lioncash
93dd28988d
CGameArea: Make use of std::make_unique where applicable
2020-04-02 22:02:57 -04:00
Lioncash
d240e40a17
CCameraShakeData: Make classes and structs constexpr where applicable
...
Same behavior, but allows eliminating file-scope initializers needing to
be run on program start.
2020-04-02 21:40:19 -04:00
Lioncash
f1e28a1290
CPlasmaBeam: Make use of std::array where applicable
...
Same behavior, no implicit array to pointer decay.
2020-04-02 21:10:51 -04:00
Lioncash
a8594d144b
CPlasmaProjectile: Make use of std::array where applicable
...
Allows dehardcoding array sizes.
2020-04-02 20:55:28 -04:00
Lioncash
66711ce023
CSamusHud: Dehardcode sizes where applicable
2020-04-02 08:34:38 -04:00
Lioncash
013b715c63
CSamusHud: Make use of std::array where applicable
...
Same behavior without any array->pointer decay.
2020-04-02 08:25:52 -04:00
Lioncash
333fee56e3
CPlayer: Const correctness and bracing consistency changes
...
Minor surface-level changes to make it nicer to see that certain
variables don't get modified within some operations.
Given some functions are quite large, this is generally nice to see.
2020-04-02 07:39:00 -04:00
Lioncash
e7e73e8658
CPlayer: Make use of std::make_unique for x76c_cameraBob
...
Same behavior, but more consistent with other usages of
std::make_unique.
2020-04-02 03:48:31 -04:00
Lioncash
e956402956
CPlayerEnergyDrain: Collapse loop into std::accumulate
...
Same behavior, less code.
2020-04-02 03:45:07 -04:00
Luke Street
ca6b3dd3f6
Merge pull request #294 from lioncash/cseg
...
CSegStatementSet: Minor changes
2020-04-02 02:32:00 -04:00
Luke Street
206be48b43
Merge pull request #292 from lioncash/automap
...
CAutoMapper: Eliminate usages of const_cast
2020-04-02 02:31:00 -04:00
Lioncash
0ae638eef9
CCollisionActorManager: Make use of std::nullopt
...
Gets rid of unnecessary zeroing out of the internal buffer on some
implementations.
2020-04-02 02:08:15 -04:00
Lioncash
6931737aef
CCollisionActorManager: Minor tidying
...
Bracing consistency and using const where applicable.
2020-04-02 02:06:44 -04:00
Lioncash
d26521b41d
CElitePirate: Add missing const specifiers
...
Note to self: Remember to stage all of the necessary changes in commits.
2020-04-02 01:55:38 -04:00
Lioncash
b562905266
CElitePirate: Mark functions const where applicable
...
These don't modify instance state, so we can mark these as const.
2020-04-02 00:37:24 -04:00
Lioncash
b3753c6a92
CElitePirate: Make use of TCastToConstPtr where applicable
...
Makes read-only semantics more obvious at a glance.
2020-04-02 00:35:09 -04:00
Lioncash
60000c163b
CElitePirate: Collapse indexing into back() calls where applicable
...
Same behavior, but more compact.
2020-04-02 00:24:24 -04:00
Lioncash
6e179bfa87
CElitePirate: Remove unnecessary reference qualifiers
...
Same behavior, but makes locations where copies occur much more
explicit.
2020-04-02 00:22:48 -04:00
Lioncash
6017e99aac
CGrenadeLauncher: Remove stray reference qualifier on a copy operation
...
Same behavior, but more explicit about a copy needing to occur here.
2020-04-01 23:59:05 -04:00
Lioncash
b95d84a570
CGrenadeLauncher: Resolve sign conversion warnings in constructor
2020-04-01 23:57:53 -04:00
Lioncash
f10eb618bf
CGrenadeLauncher: Remove reference qualifiers where unnecessary
...
While allowed by the standard, this obscures cases where actual copies
are occurring.
2020-04-01 23:56:07 -04:00
Lioncash
e3775a8fca
CRidley: qualify virtual function call in constructor
...
Signifies that we intentionally want to call this virtual function in
the constructor.
2020-04-01 23:09:11 -04:00
Lioncash
388e5f2e7f
CRidley: Make use of std::make_unique where applicable
2020-04-01 23:08:08 -04:00
Luke Street
de59ea45eb
ScriptLoader: Zero out itemCounts
2020-04-01 21:17:05 -04:00
Luke Street
62e58553c5
CBouncyGrenade/CGrenadeLauncher: Explicit constructor fixes
2020-04-01 15:32:38 -04:00
Luke Street
1e15e0d1f3
Merge remote-tracking branch 'origin/master' into elitepirate
...
# Conflicts:
# Runtime/World/CPatterned.hpp
2020-04-01 15:02:56 -04:00
Luke Street
0c1f4fa738
CElitePirate/etc: Use prefix increment/decrement
2020-04-01 15:01:44 -04:00
Luke Street
bb7699be46
CElitePirate/CShockWave: Renaming
2020-04-01 14:54:01 -04:00
Luke Street
162b232979
CElitePirate: Fix melee & contact damage
2020-04-01 03:39:05 -04:00
Luke Street
d4ff239f91
CShockWave: Implement Touch
2020-04-01 02:41:31 -04:00
Luke Street
6e5c32abfd
CBouncyGrenade: Pass bounding box to CPhysicsActor
2020-04-01 01:38:48 -04:00
Lioncash
233b2ccbbf
CSegStatementSet: Make use of std::array
...
Same behavior, but without implicit array to pointer decay.
2020-04-01 00:36:50 -04:00
Lioncash
c02d5a91b8
CSegStatementSet: Make x4_segData private
...
Accessors already exist to access the data individually, so we can just
use those instead.
2020-04-01 00:34:12 -04:00
Lioncash
da75543c76
CRainSplashGenerator: Dehardcode line vector size in constructor
...
We can query the capacity instead.
2020-04-01 00:27:56 -04:00
Lioncash
254a96313a
CSkinnedModel: Convert typedef into using alias
...
Same behavior, nicer to read.
2020-04-01 00:06:52 -04:00
Lioncash
7117e298d9
IVaryingAnimationTimeScale: Add virtual destructor
...
This is used in a polymorphic context, so we should be specifying a
virtual destructor to prevent undefined behavior when deleting instances
from the base class.
2020-03-31 23:55:15 -04:00
Luke Street
deba91bfc0
CGrenadeLauncher: Fix rendering
2020-03-31 21:29:14 -04:00
Luke Street
ffd94d1106
COmegaPirate: Stub
2020-03-31 14:17:47 -04:00
Lioncash
47555c725b
CAutoMapper: Eliminate usages of const_cast
...
Same behavior, but makes it explicit from the interface that
modifications are clearly going on from within the class.
2020-03-31 06:57:07 -04:00
Lioncash
12e42ba58a
CMapWorld: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-03-31 06:18:58 -04:00
Lioncash
92833b185a
CMapWorld: Move internally linked entities into an anonymous namespace
...
Same behavior, but prevents any potential ODR violations from occurring.
2020-03-31 06:16:07 -04:00
Lioncash
91f75a4c60
IAnimReader: Add missing override specifiers
2020-03-31 06:11:08 -04:00
Lioncash
2f0d774ed8
General: Make use of emplace_back where applicable
2020-03-31 05:33:10 -04:00
Lioncash
7b9018dbf0
CModelData: Initialize m_drawInstCount to zero
...
Allows for deterministic initial state to make debugging nicer.
2020-03-31 04:53:04 -04:00
Lioncash
1415265ef2
Runtime: Default destructors where applicable
...
Same behavior, but allows the destructors to be trivial, etc.
2020-03-31 04:50:26 -04:00
Phillip Stephens
d167293552
Merge pull request #291 from lioncash/name
...
IAnimReader: Make use of std::string_view where applicable
2020-03-31 01:20:20 -07:00
Phillip Stephens
7b0c043721
Merge pull request #288 from lioncash/explicit
...
Runtime: Add more usages of explicit
2020-03-31 01:19:40 -07:00
Lioncash
67f6666ea1
Runtime: Add more usages of explicit
...
Prevents error-prone implicit conversions where applicable.
This targets the regular RuntimeCommon target this time around.
2020-03-31 03:53:49 -04:00
Luke Street
b43d4eaddc
CElitePirate: Implement SpecialAttack, CShockWave
2020-03-31 03:29:00 -04:00
Lioncash
2c36b0bb83
IAnimReader: Make use of std::string_view where applicable
...
Same behavior, but allows interoperating with different string types in
a more straightforward manner.
2020-03-31 03:13:02 -04:00
Lioncash
aa8d147350
CAnimTreeDoubleChild: Correct call to VGetBoolPOIState() in VGetInt32POIState()
...
Like the previous change, it's awfully suspect to be interpreting all
integer values as bools.
2020-03-31 02:43:48 -04:00
Lioncash
03c0a8a5f6
CAnimTreeAnimReaderContainer: Correct call to VGetBoolPOIState() within VGetInt32POIState()
...
It seems quite suspect to read all integral values as bools.
2020-03-31 02:06:56 -04:00
Lioncash
260dbaca7d
CAnimData: Rename IceModel() to GetIceModel()
...
Allows const overloading to work and prevents compilation errors from
occuring if the const qualifier on an instance changes over refactoring.
2020-03-31 01:26:00 -04:00
Luke Street
f0927d937a
CGrenadeLauncher: Remove redundant CColor
2020-03-30 23:39:41 -04:00
Luke Street
782a13c0a4
CGrenadeLauncher: Fix CModelFlags assignment
2020-03-30 23:31:46 -04:00
Luke Street
2e3d1c980b
CElitePirate: Implement AttractProjectiles; fix CGameProjectile material list
2020-03-30 23:10:51 -04:00
Luke Street
684bbd5903
CElitePirate: Bug fixes, make member variables private, cleanup
2020-03-30 20:40:38 -04:00
Luke Street
ed254b460e
Revert some clang-tidy changes
2020-03-30 19:42:11 -04:00
Luke Street
571050245d
Add .clang-tidy and apply fixes
2020-03-30 19:31:14 -04:00
Lioncash
3e4731bf7f
CWallCrawlerSwarm: Minor tidying changes
...
- Amends formatting according to clang-format.
- Makes use of const where applicable
- More consistent bracing
2020-03-30 19:05:48 -04:00
Lioncash
e5a0959ef0
CWallCrawlerSwarm: Make use of size_t where applicable
...
Avoids unnecessary upper register clearing.
2020-03-30 19:05:48 -04:00
Lioncash
e1273faa68
CWallCrawlerSwarm: Eliminate some sign conversion warnings
...
Same behavior, less warnings.
2020-03-30 19:05:48 -04:00
Luke Street
cc8603fbec
Merge pull request #286 from lioncash/const-cast
...
CIOWin: Make Draw() non-const
2020-03-30 18:40:40 -04:00
Lioncash
7ff3d29794
CWallCrawlerSwarm: Mark static const data as constexpr
...
Same behavior, but allows elision of initializers. While we're at it, we
can convert an array over to std::array.
2020-03-30 05:44:35 -04:00
Luke Street
bc1135f0cf
CBouncyGrenade: Use explicit SMoverData constructor
2020-03-30 03:14:33 -04:00
Luke Street
bc08792523
CBouncyGrenade implementation
2020-03-30 03:05:16 -04:00
Lioncash
312b8f219a
CWorld: Dehardcode magic number in CheckWorldComplete()
...
Same behavior, no magic number.
2020-03-30 00:58:03 -04:00
Lioncash
802ac13812
CWorld: Make use of std::array where applicable
2020-03-30 00:54:38 -04:00
Lioncash
79b1e26052
IGameArea: Amend formatting of EChain
...
Makes for nicer visual scanning.
2020-03-30 00:47:29 -04:00
Lioncash
6ae935924b
IRenderer/CBooRenderer: Add parameter names to function prototypes
...
Makes the interface more self-documenting and allows IDEs to perform
better parameter introspection
2020-03-30 00:34:38 -04:00
Lioncash
111f0c3d3a
IRenderer: Convert typedef to using alias
...
Same behavior, but nicer to read.
2020-03-30 00:18:38 -04:00
Luke Street
fbbd73db48
CGrenadeLauncher implementation
2020-03-29 23:45:55 -04:00
Lioncash
6dce70895c
CIOWin: Make Draw() non-const
...
Allows removing several const_cast usages within the codebase.
2020-03-29 21:56:49 -04:00
Lioncash
0d3bab4c14
CScanDisplay: Remove use of const_cast
...
The draw function is essentially not fully const in behavior, so we can
remove the const qualifiers where necessary.
2020-03-29 21:44:10 -04:00
Lioncash
2d8e94911a
CGuiTextSupport: Eliminate the use of const_cast
...
We can supply a const and non-const variant to eliminate the need to
const_cast here.
2020-03-29 21:37:11 -04:00
Lioncash
f3afcf7299
CGuiTextPane: Remove stray unnecessary const_cast in Draw()
...
Draw() isn't const qualified, so there's no need to cast away const
here.
2020-03-29 21:25:47 -04:00
Lioncash
1d725587e5
CSortedLists: Remove const_cast in all BuildNearList() implementations
...
Same behavior, but nicer to read.
2020-03-29 21:22:52 -04:00
Lioncash
0a366855bc
CSortedLists: Add names to all function prototypes
...
More self-documenting and allows parameter inspection in IDEs to
function nicer.
2020-03-29 21:18:18 -04:00
Lioncash
eecd03428d
CSortedLists: Remove use of const_cast in AddToLinkedList()
...
Same behavior, but nicer to read.
2020-03-29 21:17:59 -04:00
Lioncash
6d2ef0360f
CGameState: Resolve sign conversion warnings in PutTo()
...
Same behavior, but makes conversions explicit.
2020-03-29 21:03:24 -04:00
Lioncash
45ea19040d
CGameState: Make use of std::array where applicable
2020-03-29 20:58:31 -04:00
Lioncash
24fe7ec499
CGameState: Remove use of const_cast
...
Same behavior, but nicer to read.
2020-03-29 20:52:34 -04:00
Lioncash
603942daaf
CTextRenderBuffer: Remove use of const_cast in Render()
...
Makes for much less casting.
2020-03-29 20:27:04 -04:00
Lioncash
04a42980ab
Revert "Revert "CTextRenderBuffer: Forward declare structs where applicable""
...
This reverts commit 16745f3a7b
.
We can simply default the move constructor and move assignment operator
to make this work.
2020-03-29 20:09:16 -04:00
Phillip Stephens
16745f3a7b
Revert "CTextRenderBuffer: Forward declare structs where applicable"
2020-03-29 16:35:02 -07:00
Phillip Stephens
f3721844b9
Merge pull request #282 from lioncash/struct
...
CTextRenderBuffer: Forward declare structs where applicable
2020-03-29 16:04:32 -07:00
Lioncash
232ae12802
CGuiTextPane: Make use of std::array where applicable
...
Same behavior, but with stronger typing and allows removing of a
hardcoded array size.
2020-03-29 08:00:40 -04:00
Lioncash
0aff4dc21e
CTextRenderBuffer: Remove use of const_cast within Render()
...
Same behavior but way less casting.
2020-03-29 04:42:58 -04:00
Lioncash
20b74c4818
CTextRenderBuffer: Forward declare structs where applicable
...
These are only used internally, so we can completely hide these structs
from external view.
This allows their implementation to be changed without needing to
recompile all the headers that include it.
2020-03-29 03:54:29 -04:00
Luke Street
4ada5a00cb
CElitePirate: Nearly complete implementation
2020-03-29 03:28:14 -04:00
Jack Andersen
3e07a06355
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2020-03-28 21:21:53 -10:00
Jack Andersen
d1c2ae71c2
Ensure consistent override usage in TCachedToken
2020-03-28 21:20:44 -10:00
Jack Andersen
eefb975f23
Merge branch 'noexcept' of https://github.com/lioncash/urde
2020-03-28 21:08:43 -10:00
Lioncash
fda08db9b1
CHudVisorBeamMenu: Dehardcode array sizes
...
Same behavior, but queries the container for the size rather than
hardcoding it in loop bounds.
2020-03-29 03:08:41 -04:00
Lioncash
413483a996
CHudFreeLookInterfaceXRay: Assign free look and control held flags in SetFreeLookState()
...
GM8Ev0 does this.
2020-03-29 02:08:51 -04:00
Lioncash
ad07b993c8
CHudFreeLookInterface: Collapse conditional within SetFreeLookState()
...
Same behavior, less code.
2020-03-29 02:03:20 -04:00
Lioncash
59fbefbd58
CGuiWidget: Provide names for all function prototypes
...
Makes parameter introspection nicer with IDEs and also renames ambiguous
"v" names to something more self-descriptive.
2020-03-29 01:52:23 -04:00
Lioncash
764dac0adc
CToken: Add missing override specifiers
2020-03-28 05:55:17 -04:00
Phillip Stephens
0db6f96a17
Merge pull request #279 from lioncash/constexpr
...
CScannableParameters: Mark CScannableParameters as constexpr
2020-03-27 23:54:26 -07:00
Lioncash
54c6122cbd
CToken: Mark move assignment operator as noexcept
...
Allows containers and anything using std::move_if_noexcept to perform a
move instead of a copy.
2020-03-27 20:56:04 -04:00
Lioncash
2558da714e
Runtime: Remove unnecessary smart pointer .get() calls
...
Same behavior, less code to read.
2020-03-27 20:50:45 -04:00
Lioncash
194cdf145f
Runtime: Use nullptr where applicable
...
Same behavior, but no magic 0 value.
While we're in the same area, we can do minor cosmetic changes.
2020-03-27 20:18:54 -04:00
Lioncash
05988ce31c
CScannableParameters: Mark CScannableParameters as constexpr
...
This only contains a single member, so this can trivially be marked
constexpr.
2020-03-27 20:07:33 -04:00
Phillip Stephens
e0fe365dfd
Merge pull request #278 from lioncash/explicit
...
General: Make use of explicit constructors where applicable
2020-03-27 14:10:19 -07:00
Lioncash
241a66dc0a
General: Make use of explicit constructors where applicable
...
Gets rid of potential error prone implicitly constructing constructors.
2020-03-27 06:00:17 -04:00
Luke Street
4f7e0a85a3
CElitePirate: More function implementations
2020-03-27 02:47:34 -04:00
Lioncash
e46a37e893
MP1: Make use of std::array where applicable
...
Same behavior, stronger typing, and allows eliminating hardcoded sizes
in some places.
2020-03-27 01:07:29 -04:00
Lioncash
a77b9cb609
MP1: Join namespaces
...
Same behavior, less code.
2020-03-27 01:02:35 -04:00
Luke Street
108fd502bf
CElitePirate/CFlyingPirate: Updates from symbol map
2020-03-26 21:42:18 -04:00
Luke Street
0886a39d81
CElitePirate: DoUserAnimEvent; create CShockWave
2020-03-26 18:09:50 -04:00
Luke Street
6150548e91
CElitePirate: Finish implementing AcceptScriptMsg
2020-03-26 15:24:56 -04:00
Lioncash
fcf70aeb2a
CGuiWidgetIdDB: Remove redundant std::make_pair funcs
...
Same behavior, less code.
2020-03-26 03:55:28 -04:00
Luke Street
c33703bd93
CElitePirate: Start impl; create CGrenadeLauncher
2020-03-26 03:30:54 -04:00
Lioncash
74600588fa
Add missing includes pt.2
...
Some missing includes that actually need to be present.
2020-03-26 03:14:03 -04:00
Lioncash
be6b5406a9
CPatterned/ScriptLoader: Convert function typedefs to using aliases
...
Same thing, but more readable.
2020-03-26 03:09:56 -04:00
Lioncash
d9a9e0f51e
CEnvFxManager: Take std::vector by value and std::move
...
Same behavior, but allows calling code to move into the parameter,
avoiding copies.
2020-03-26 02:56:10 -04:00
Lioncash
dd76e73e11
ITweak: Default virtual destructor
...
Same behavor, but allows the destructor to be trivial.
2020-03-26 01:14:41 -04:00
Lioncash
51afa94e8c
Add missing includes where applicable
...
Resolves a few required dependencies
2020-03-26 01:10:55 -04:00
Lioncash
4169e3d91d
CSnakeWeedSwarm: Mark several member functions as const
...
These don't alter instance state, so they can be const member functions.
2020-03-26 01:05:32 -04:00
Lioncash
43e0d16c5d
CSnakeWeedSwarm: Use emplace_back in CreateBoid()
...
Same behavior, but with in-place construction instead.
2020-03-26 01:00:29 -04:00
Lioncash
2164854e87
CVisorFlare: Pass flares by value and use std::move
...
Same behavior, but allows calling code to move into the parameter and
avoid copies entirely.
2020-03-26 00:32:49 -04:00
Lioncash
477c5770c6
rstl: Add [[nodiscard]] to interface functions where applicable
...
Not using the result of these functions is considered a bug and should
be signified as such by a compiler.
2020-03-25 23:43:20 -04:00
Lioncash
f4b3fb947e
CScanDisplay: Make constructor explicit
...
Prevents error-prone implicit construction from occurring.
2020-03-25 20:46:08 -04:00
Lioncash
3c17336fb0
CSaveWorld: Make constructor explicit
...
Prevents error-prone implicit constructions from occurring.
2020-03-25 20:42:21 -04:00
Phillip Stephens
566c356612
Initial ElitePirate imps
2020-03-25 18:14:15 -04:00
Phillip Stephens
e5df609673
CElitePirate: Initial stubbing
2020-03-25 18:14:15 -04:00
Lioncash
98b9556f3e
CProjectileWeapon: Return std::nullopt instead of {} where applicable
...
Prevents some implementations from zeroing out their internal buffer
unnecessarily (libstdc++ and libc++).
2020-03-25 16:03:09 -04:00
Lioncash
6365f2ee1c
CPowerBomb: Return std::nullopt in GetTouchBounds()
...
Avoids unnecessary zeroing of the internal buffer of std::optional in
some implementations (libstdc++ and libc++).
2020-03-25 15:56:59 -04:00
Lioncash
cda5a48970
CRelayTracker: Add names to function prototypes
...
Allows IDE introspections at call sites to function nicer.
2020-03-25 15:53:49 -04:00
Lioncash
c5c888daa6
CRippleManager: Rename Ripples() to GetRipples()
...
Allows const overloading to work and prevents compilation errors from
occurring if the constness ever changes.
2020-03-25 04:22:34 -04:00
Lioncash
4f9e53933e
CPathFindArea: Amend bitset size
...
The previous commit meant to contain this size.
2020-03-25 04:15:55 -04:00
Lioncash
d0292fdc5d
CPathFindArea: Make use of std::bitmap with CPFBitSet
...
Same behavior, but without the need to roll the operations ourselves.
2020-03-25 04:12:55 -04:00
Lioncash
81dcc0604b
CParticleElectric: Make use of std::array where applicable
...
Prevents array to pointer decay.
2020-03-25 03:58:37 -04:00
Lioncash
c61bee13db
CParticleElectric: Add parameters to function prototypes
...
Makes the interface more self-documenting.
2020-03-25 03:58:37 -04:00
Luke Street
c08b5a4c98
CFlyingPirate: Fix Aqua Pirates
2020-03-25 03:48:10 -04:00
Luke Street
da648b18d8
CSpankWeed: Fix collision manager null deref
2020-03-25 03:47:56 -04:00
Lioncash
90d61ae7ed
CAutoMapper: Add names to function prototypes
2020-03-25 03:03:24 -04:00
Luke Street
7ee2a3b912
Merge pull request #254 from AxioDL/flyingpirate
...
CFlyingPirate implementation
2020-03-25 03:01:10 -04:00
Luke Street
815d83d843
CFlyingPirateRagDoll: Fix particles & length constraints
2020-03-25 02:57:57 -04:00
Lioncash
51c1ffecd6
CActorContraption: Add names to parameters in prototypes
...
Makes it more self-documenting from the interface alone.
2020-03-25 02:46:22 -04:00
Lioncash
20548ddeaa
CCameraSpline: Make constructor explicit
...
Same behavior, but prevents error-prone implicit constructions from
occurring.
2020-03-25 02:41:07 -04:00
Lioncash
f1fce0f631
CCameraSpline: Add names to prototypes
...
More self-documenting from the interface alone.
2020-03-25 02:40:03 -04:00
Lioncash
7bced5308b
CCameraManager: Add names to parameters in prototypes
...
More self documenting and allows IDE inspections to be better.
2020-03-25 02:33:34 -04:00
Lioncash
a862b792de
CBoneTracking: Make use of parameter in SetActive()
...
GM8E v0 makes use of the parameter and doesn't always set the value to
true.
2020-03-25 02:12:56 -04:00
Luke Street
556f870dc8
Merge branch 'pr-277'
2020-03-25 02:09:09 -04:00
Luke Street
f91536ebee
Merge branch 'pr-276'
2020-03-25 02:09:05 -04:00
Luke Street
8314d5b6ef
Merge branch 'pr-255'
2020-03-25 02:09:02 -04:00
Luke Street
3734a09ed3
CGuiWidget: Make GetIsFinishedLoading non-const
2020-03-25 02:01:47 -04:00
Lioncash
40fc3f9dd8
CModelBoo: Remove usages of const_cast
...
Many functions are modifying internals of CBooModel and const-casting
is performed in order to work around functions being const when they
really shouldn't be.
This amends the function signatures in order to allow these functions to
exist without const_cast, making code much nicer to read.
2020-03-25 02:01:46 -04:00
Lioncash
e38d86fe59
CPhysicsActor: Amend constructor names for CPhysicsState
...
These were previously undescriptive names despite the member variables
being fully named. We can amend the parameters here.
2020-03-25 01:56:58 -04:00
Lioncash
81ae6bdda2
CPhysicsActor: Add names to parameters in prototypes
...
Allows better introspection in IDEs and makes the interface itself more
self-documenting.
2020-03-25 01:54:17 -04:00
Lioncash
22036859db
CPASDatabase: Add names to parameters in prototypes
...
Makes IDE introspection better.
2020-03-25 01:43:27 -04:00
Lioncash
fad980dc19
CBodyController: Make HasBodyInfo() accept a const reference
...
This only queries state and doesn't actually modify it.
2020-03-25 01:39:08 -04:00
Lioncash
f875bdf024
CBodyController: Add names to parameters in interface
...
Makes the interface more self-documenting and allows IDEs to perform
better introspection at call sites.
2020-03-25 01:36:54 -04:00
Lioncash
ab6c45c7a8
CWorld: Provide parameter names for prototypes
...
More self-documenting from the interface alone and allows IDE
inspections at callsites to be better.
2020-03-25 01:27:56 -04:00
Lioncash
985b85d9db
CAudioGroupSet: Eliminate undefined behavior within LoadData()
...
Eliminates aliasing violations.
2020-03-25 01:14:27 -04:00
Lioncash
855fc0ced9
CAreaOctTree: Add names to parameters in prototypes
...
Allows IDEs to perform better inspections at call sites.
2020-03-25 00:45:33 -04:00
Lioncash
f2b1e44ee1
CEntity: Rename ConnectionList() to GetConnectionList()
...
Allows const overloading to function, preventing compilation errors from
occuring across constness changes.
2020-03-24 21:29:44 -04:00
Lioncash
8644b8393b
CEntity: Add parameter names to interface
...
Allows IDEs to perform better parameter inspection.
2020-03-24 21:28:15 -04:00
Lioncash
f323638fb7
CCollisionActor: Provide parameter names in interface where applicable
...
Makes the interface more self-documenting at a glance and allows IDEs to
do better parameter inspection at call sites.
2020-03-24 21:16:30 -04:00
Phillip Stephens
e8f0d29a3b
Merge pull request #275 from lioncash/const-over
...
CPlayerState: Rename HealthInfo() to GetHealthInfo()
2020-03-24 17:45:59 -07:00
Phillip Stephens
01a0c68db9
Merge pull request #274 from lioncash/health
...
CGameState: Set HP value in LoadGameFileState()
2020-03-24 17:45:43 -07:00
Phillip Stephens
c72f388929
Merge pull request #273 from lioncash/team-uninit
...
CTeamAiMgr: Initialize x90_timeSinceMelee and x90_timeSinceRanged to 0.0f in constructor
2020-03-24 17:45:29 -07:00
Phillip Stephens
9aece39445
Merge pull request #272 from lioncash/uninit
...
CFluidPlane: Always initialize mul to 0.0f in CalculateRippleIntensity()
2020-03-24 17:45:15 -07:00
Lioncash
ef93a601eb
CPlayerState: Rename HealthInfo() to GetHealthInfo()
...
Allows const overloading to function and prevents compilation errors
from occurring if constness changes through future changes of any sort.
2020-03-24 06:20:37 -04:00
Lioncash
9fba0bf50b
CGameState: Set HP value in LoadGameFileState()
...
GM8E v0 stores the HP value of the loaded player state into the returned
GameFileStateInfo instance.
This prevents the health member from being returned uninitialized.
2020-03-24 06:14:26 -04:00
Lioncash
64d0563872
CTeamAiMgr: Initialize x90_timeSinceMelee and x90_timeSinceRanged to 0.0f in constructor
...
Makes all class members have a deterministic initial state.
2020-03-24 05:19:05 -04:00
Lioncash
f416a814a1
CFluidPlane: Always initialize mul to 0.0f in CalculateRippleIntensity()
...
Avoids a -Wmaybe-uninitialized warning.
2020-03-24 05:14:01 -04:00
Lioncash
35ea097028
CPlayer: Add parameter names to prototypes
...
Makes them more self-documenting from the interface alone and also
allows IDEs to perform better parameter and argument inspection.
2020-03-24 04:33:54 -04:00
Phillip Stephens
fc87bd8022
Merge pull request #270 from lioncash/brace
...
CPlayer: Un-nest code within FinishNewScan()
2020-03-23 23:29:59 -07:00
Phillip Stephens
af2738c7b1
Merge pull request #269 from lioncash/sconv
...
CParticleSwoosh: Resolve sign-conversion warnings
2020-03-23 23:29:44 -07:00
Phillip Stephens
00691c1175
Merge pull request #268 from lioncash/intconst
...
CIntElement: Remove const_cast
2020-03-23 23:29:26 -07:00
Phillip Stephens
d62c163086
Merge pull request #267 from lioncash/iface
...
CAnimData: Give names to function prototype parameters
2020-03-23 23:29:12 -07:00
Phillip Stephens
bb9359c579
Merge pull request #266 from lioncash/make
...
CParticleElectric: Use std::make_unique where applicable
2020-03-23 23:28:59 -07:00
Phillip Stephens
498df6588b
Merge pull request #265 from lioncash/type
...
RetroTypes: Minor adjustments
2020-03-23 23:28:38 -07:00
Phillip Stephens
734f1d2db5
Merge pull request #264 from lioncash/move
...
General: Remove unnecessary std::move calls
2020-03-23 23:28:24 -07:00
Phillip Stephens
425f8d4cc8
Merge pull request #263 from lioncash/array3
...
CDecal: Make use of std::array where applicable
2020-03-23 23:28:08 -07:00
Phillip Stephens
dbbf9e33fd
Merge pull request #262 from lioncash/nullopt
...
CBeamProjectile: Explicitly return std::nullopt in GetTouchBounds()
2020-03-23 23:27:54 -07:00
Phillip Stephens
1c841d10f8
Merge pull request #261 from lioncash/const7
...
CBomb: Make file-scope material filter constexpr
2020-03-23 23:27:39 -07:00
Phillip Stephens
dc6954491b
Merge pull request #260 from lioncash/array2
...
CPlayerState: Make g_typeNameMap a compile-time array
2020-03-23 23:27:19 -07:00
Phillip Stephens
4dc73e56a0
Merge pull request #259 from lioncash/default
...
CPlayerState: Default CPowerUp constructor and also remove undefined behavior
2020-03-23 23:27:06 -07:00
Phillip Stephens
2e43266714
Merge pull request #258 from lioncash/emplaced
...
General: Make use of emplace_back where applicable
2020-03-23 23:26:51 -07:00
Phillip Stephens
6c7fdc11a0
Merge pull request #257 from lioncash/virt
...
CWorld: Rename IMapWorld to IGetMapWorld()
2020-03-23 23:26:35 -07:00
Phillip Stephens
6c9d6bc38b
Merge pull request #256 from lioncash/binding
...
CActorContraption: Make use of structured bindings where applicable
2020-03-23 23:26:19 -07:00