Commit Graph

4199 Commits

Author SHA1 Message Date
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 52867f9bf8
Merge pull request #300 from lioncash/compiler
CMakeLists: Specify /std:c++latest on MSVC
2020-04-09 10:47:02 -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
Jack Andersen a668a623cb Exclude bitmap3 from MP3's PATH 2020-04-08 20:03:52 -10:00
Jack Andersen e4ade45fd1 Remove unnecessary includes 2020-04-08 19:50:29 -10:00
Jack Andersen 73f245ee27 Specialize PATH by PAKBridge 2020-04-08 19:46:40 -10:00
Jack Andersen df229671c4 MP2 PATH support 2020-04-08 19:19:50 -10:00
Jack Andersen 5b0a4b5f60 Implement MP2 shader extraction presets 2020-04-08 16:24:18 -10: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 d5043fc319 CMakeLists: Specify /std:c++latest on MSVC
Makes use of the latest standards on MSVC, allowing potential
compilation issues to be diagnosed as soon as possible
2020-04-07 07:34:11 -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