Commit Graph

1867 Commits

Author SHA1 Message Date
Phillip Stephens 4b13f8768b
Merge pull request #181 from lioncash/ref
CInGameGuiManager: Take std::shared_ptr by const reference in DoStateTransition()
2020-03-06 16:12:35 -08:00
Lioncash 00ff91eece CEyeball: Remove unnecessary .get() call
Dereferencing is already supported on smart pointers, so we don't need
to call .get() here.
2020-03-06 07:30:27 -05:00
Lioncash c3809162bf CEyeball: Eliminate unnecessary runtime initialzer in Think()
We can just fold the result into the constant directly, which allows us
to avoid the need for a static runtime initializer. This is bit-exact
with what the result would be, so this is fine.
2020-03-06 07:30:05 -05:00
Lioncash 80e2e97dc4 CObjectList: Make IsQualified() a const member function
None of the implementations modify object instance state, so this can be
made const qualified.
2020-03-06 04:36:39 -05:00
Lioncash b1426867bf CBooRenderer: Make use of std::array where applicable
Makes the data strongly typed and allows eliminating some hardcoded
sizes.
2020-03-06 02:25:40 -05:00
Lioncash 4f7f5cf09a CBooRenderer: Make Buckets class mostly internal
This is only ever functionally used within this translation unit, so we
can hide the class internally.
2020-03-06 01:16:02 -05:00
Lioncash 3c4e25062d CModelBoo: Make static data constexpr where applicable
Gets rid of potential runtime-initializers.
2020-03-06 00:46:30 -05:00
Lioncash d9664d165f CModelShaders: Make EExtendedShader an enum class
Prevents pollution of the urde namespace with general names like Flat,
etc.
2020-03-06 00:16:31 -05:00
Lioncash 3717480eeb CThardus: Make use of std::array where applicable
Dehardcodes some sizes and gets rid of two instances of implicit sign
conversions.
2020-03-05 23:22:30 -05:00
Lioncash 3b6218fa67 CThardus: Make use of std::make_unique where applicable
Same thing, but more straightforward.
2020-03-05 23:15:24 -05:00
Lioncash 84fde9ceca CInGameGuiManager: Make use of std::array where applicable
Allows us to eliminate some hardcoded array sizes.
2020-03-05 22:02:29 -05:00
Lioncash 40277bedac CParticleGenInfo: Fix missing ampersand in GetParticleSystem() member function
Previously the particle system shared pointer would always be returned
by value, rather than by reference.
2020-03-05 21:36:04 -05:00
Lioncash 4c90adf074 CHierarchyPoseBuilder: Fix missing ampersand in CharLayoutInfo() return value
Previously this function was always returning by value, rather than by
reference, like what its contained called function does.
2020-03-05 21:28:23 -05:00
Lioncash 6917132a94 CThardus: std::move vector instances in constructor
Previously the std::move calls wouldn't do anything, as the parameters
were constant references, so we can take them by value and move into the
constructor and then move the parameters into the member variables.

While we're at it, we can initialize the vectors in place instead of
constructing and then assigning to them.
2020-03-05 21:19:32 -05:00
Lioncash 50f8f3e17e CInGameGuiManager: Take std::shared_ptr by const reference in DoStateTransition()
Trivially avoids an atomic reference count increment and decrement.
2020-03-05 20:47:07 -05:00
Phillip Stephens 2f9dd38bbe
Silence discard errors 2020-03-04 18:40:03 -08:00
Luke Street 74d01debe1
Merge pull request #180 from lioncash/flamethrower
CFlameThrower: Amend virtual interface discrepancies
2020-03-04 13:42:21 -05:00
Lioncash 88cb5acdca CFlameThrower: Amend virtual interface discrepancies
GM8E v0 overrides Render(), GetTouchBounds() and Touch() and does
nothing within them. This updates the interface to match it.
2020-03-04 06:52:50 -05:00
Lioncash f0c3903951 CSpacePirate: Make use of std::array with constexpr data
Makes data strongly typed, making pointer decay explicit.
2020-03-04 04:44:54 -05:00
Lioncash 4b3d48ebc1 CSpacePirate: Make static const data internally linked
Makes the symbols fully internally linked and also allows marking them
constexpr.
2020-03-04 04:33:11 -05:00
Phillip Stephens 09f7096913
Disable variable delta time 2020-03-03 16:50:25 -08:00
Phillip Stephens 80dbc1920c
Update submodules 2020-03-03 16:49:13 -08:00
Phillip Stephens 366d6b96ee
Merge pull request #178 from lioncash/data
CScriptGunTurret: Remove unnecessary data() call in AcceptScriptMsg()
2020-03-03 16:43:43 -08:00
Phillip Stephens abfd77c3ba
Merge pull request #177 from lioncash/burst
CScriptGunTurret: Move static const data into the cpp file
2020-03-03 16:43:34 -08:00
Lioncash 70c3a7ddf5 CScriptGunTurret: Remove unnecessary data() call in AcceptScriptMsg()
We can use append() instead of data(). This allows the size of the
string view instance to be used directly instead of redundantly doing a
string size lookup.
2020-03-03 06:30:20 -05:00
Luke Street 9e0e053906 CScriptSpecialFunction: Further ThinkSpinnerController implementation 2020-03-03 03:31:58 -05:00
Lioncash 245a8145c7 CScriptGunTurret: Make use of std::array with file-static data 2020-03-03 03:12:35 -05:00
Lioncash f4fc17bee0 CScriptGunTurret: Move static const data into the cpp file
Makes the data fully internally linked and also allows making said data
constexpr.
2020-03-03 03:05:02 -05:00
Luke Street 12393d4c4d CSnakeWeedSwarm: Fix lighting 2020-03-01 03:05:16 -05:00
Luke Street 17b9813b3e CSnakeWeedSwarm: Rendering & state fixes 2020-03-01 02:52:17 -05:00
Luke Street f064bc2f7b CSnakeWeedSwarm: Initialize bitfields; some more cleanup 2020-03-01 01:59:12 -05:00
Luke Street 046fbe7760 CSnakeWeedSwarm: Cleanup, renaming & fixes 2020-03-01 01:59:12 -05:00
Luke Street 34a80aab81 CSnakeWeedSwarm: Implement ApplyRadiusDamage 2020-03-01 01:59:12 -05:00
Luke Street f50f5cedef CSnakeWeedSwarm: Implement remaining methods 2020-03-01 01:59:12 -05:00
Phillip Stephens 9f5f0abab4
More CThardus imps, add reference CTevPass imps 2020-02-29 17:11:41 -08:00
Luke S 617844efce
Merge pull request #175 from lioncash/fixme
CFlaahgraTentacle: Remove FIXME comment in ShouldAttack()
2020-02-29 16:56:50 -05:00
Lioncash 5e705515ed CFlaahgraTentacle: Remove FIXME comment in ShouldAttack()
GM8E v0 does exactly this, so we can consider this double-checked
2020-02-29 06:18:30 -05:00
Lioncash 9434be8562 CFlaahgraTentacle: Amend floating point value within Play case in AcceptScriptMsg()
GM8E v0 sets this to 0.04f.
2020-02-29 05:54:38 -05:00
Luke S 58a2f6aeb2
Merge pull request #173 from lioncash/c_str
Runtime: Remove unnecessary c_str() calls
2020-02-28 11:16:57 -05:00
Luke S e0b84df5de
Merge pull request #172 from lioncash/move
CCharacterInfo: Minor allocation related changes
2020-02-28 10:39:35 -05:00
Luke S e7de5311c2
Merge pull request #171 from lioncash/const
CPAS*: Minor cleanup
2020-02-28 10:37:36 -05:00
Luke S 55521fb5df
Merge pull request #170 from lioncash/collision
CollisionUtil: Replace FINDMINMAX macro with std::minmax()
2020-02-28 10:36:46 -05:00
Lioncash f1256faeb7 Runtime: Remove unnecessary c_str() calls
Makes for less noisy code and also gets rid of unnecessary std::strlen
calls in the case things are passed to a std::string_view parameter.
2020-02-28 05:26:41 -05:00
Lioncash 718d8d5d6f CPASParmInfo: Make data members private
These aren't used outside of the class, we only need to make
EWeightFunction public.
2020-02-28 05:00:16 -05:00
Lioncash 9524208cd2 CCharacterInfo: Remove unnecessary top-level const in return value of GetAnimationIndex()
Same behavior, less code.
2020-02-28 04:56:45 -05:00
Lioncash 63cf485f27 CCharacterInfo: std::move std::string instance where applicable
Avoids potentially reallocating strings where it's not necessary to do
so.
2020-02-28 04:55:09 -05:00
Lioncash 435a6ea1d4 CCharacterInfo: Make use of emplace_back() where applicable
We can construct these elements in place. While we're at it, we can mark
the count variables at const to be explicit.
2020-02-28 04:51:18 -05:00
Lioncash d2c86f98d1 CCharacterInfo: std::move vectors in CParticleResData's constructor
Same behavior, but allows the caller to move into the constructor,
potentially avoiding copies altogether.
2020-02-28 04:49:07 -05:00
Lioncash d79b9d925e CPAS*: Make constructors explicit
Prevents undesirable implicit constructions from occurring.
2020-02-28 04:38:23 -05:00
Lioncash fe05c42be4 CPASAnimState: Remove const_cast usages
A cache is typically a use case for mutable (as the outside user of the
class wouldn't directly rely on the cache as part of the API, this would
only function to assist the API perform better), so we can mark the
selection cache as mutable and make the code nicer to read overall.
2020-02-28 04:33:42 -05:00
Lioncash 9cb5d11405 CollisionUtil: Replace FINDMINMAX macro with std::minmax()
Same thing, but already provided by the language.
2020-02-28 02:27:24 -05:00
Luke S 751838f00e
Merge pull request #166 from lioncash/redundant
CGroundMovement: Collapse 'dampUnderwater ? 0.2f : 0.2f' conditional
2020-02-26 13:19:22 -05:00
Luke S 5fa244a058
Merge pull request #165 from lioncash/elastic
CGroundMovement: Set optsCopy's wall elastic constant to 0.03f
2020-02-26 13:17:18 -05:00
Lioncash 62330903cc CGroundMovement: Collapse 'dampUnderwater ? 0.2f : 0.2f' conditional
The conditional itself aside, in GM8E v0, this is always assigned as
0.2f.
2020-02-26 04:18:58 -05:00
Lioncash 6afcf634b0 CGroundMovement: Set optsCopy's wall elastic constant to 0.03f
In GM8E v0, the wall elastic constant of the copied SMovementOptions
instance is set to 0.03f.
2020-02-26 04:12:09 -05:00
Lioncash 2b4888dcb6 CMidiManager: std::move sequencer within SetAudioSysHandle()
Provides the same behavior but without a redundant reference count
increment and then decrement.
2020-02-26 03:16:11 -05:00
Luke S 08604d770a
Merge pull request #163 from lioncash/data
ITweakGunRes: Minor cleanup
2020-02-25 22:32:25 -05:00
Lioncash e80d9c7192 ITweakGunRes: Make use of std::array where applicable
Deduplicates a few array sizes and makes the member variables more
strongly typed.
2020-02-25 15:50:37 -05:00
Luke S 83507f0226
Merge pull request #162 from lioncash/false
CAuxWeapon: Replace always false condition with false in Fire()
2020-02-25 14:42:14 -05:00
Luke S 5454fc213b
Merge pull request #161 from lioncash/return
CPlayer: Add missing return within UpdateOrbitModeTimer()
2020-02-25 14:19:32 -05:00
Luke Street ae591d4817 Add MP1_VARIABLE_DELTA_TIME option (for high refresh rates; buggy) 2020-02-25 14:15:53 -05:00
Lioncash 450bcd019e CAuxWeapon: Replace always false condition with false in Fire()
Given we already check if chargeState is Normal previously, there's no
way that this can also be Charged at the same time.
2020-02-25 04:36:10 -05:00
Lioncash 79c409c5e0 CPlayer: Add missing return within UpdateOrbitModeTimer()
Previously, any call to this function would always reset the timer to
0.0, rather than potentially decrement it.

GM8E v0 always returns within the conditional.
2020-02-25 02:17:22 -05:00
Luke S 4ae3bca176
Merge pull request #159 from lioncash/constexpr
CJellyZap: Make kPlayerFilter constexpr
2020-02-24 21:35:54 -05:00
Lioncash c3294977ff CJellyZap: Make kPlayerFilter constexpr
This can be trivially made constexpr. We can also make this a fully
internally linked identifier.
2020-02-24 20:12:58 -05:00
Luke S 97ab8a56d9
Merge pull request #157 from lioncash/optional-goo
CScriptVisorGoo: Use std::make_optional where applicable
2020-02-24 03:12:17 -05:00
Luke S 1d9224f55c
Merge pull request #156 from lioncash/moving
CSkinnedModel: std::move constructor arguments where applicable
2020-02-24 03:00:59 -05:00
Luke S 551be30b9e
Merge pull request #155 from lioncash/initializer
CGraphics: Silence missing initializer warning
2020-02-24 03:00:31 -05:00
Luke S c8291ee3dc
Merge pull request #154 from lioncash/constexpr
CSamusDoll: Minor changes
2020-02-24 03:00:11 -05:00
Lioncash b3b71a2e76 CScriptVisorGoo: Use std::make_optional where applicable
Same behavior, but without a verbose type name.
2020-02-24 02:57:47 -05:00
Lioncash 6c6df4d4ee CSkinnedModel: std::move constructor arguments where applicable
Fairly straightforward change. We can move the elements here to make use
of the move constructor over the copy constructor.
2020-02-24 02:36:44 -05:00
Lioncash 35ae2c2981 CGraphics: Silence missing initializer warning
Makes the initializer field for the aspect member explicit along with
the rest of the supplied values.
2020-02-24 02:28:27 -05:00
Lioncash 7e2ef9c8ea CSamusDoll: Eliminate variable shadowing in Draw() 2020-02-24 01:50:44 -05:00
Lioncash 9042dddc8c CSamusDoll: Make use of std::array where applicable
Makes the data strongly typed and also allows tooling runtime checks for
debug builds if implementations support it (which MSVC, libstdc++ and
libc++ all support).
2020-02-24 01:48:13 -05:00
Lioncash 61dff4367d CSamusDoll: Make use of an anonymous namespace
Makes a separate area for internally linked data.
2020-02-24 01:39:23 -05:00
Lioncash 08ebecdaaf CSamusDoll: Mark skInitialOffset as constexpr
Allows the vector to be initialized at compile-time.
2020-02-24 01:34:59 -05:00
Luke Street 16586c200b Merge branch 'pr-153' 2020-02-21 13:46:52 -05:00
Luke Street f1dd82066a Start implementing CSnakeWeedSwarm 2020-02-20 23:27:12 -05:00
Luke Street a978b030c3 Fix infra model for CWallCrawlerSwarm 2020-02-20 21:50:54 -05:00
Jcw87 e835528fe8 MSVC compile fixes. 2020-02-16 00:10:08 -08:00
Phillip Stephens f251c73e6a
Merge branch 'pr-151' 2020-02-13 14:17:40 -08:00
Lioncash da4dde2437 CAtomicBeta: Correct division arithmetic error in Think()
This is supposed to be a multiplication, not a division (at least this
is what v0-00 does).
2020-02-12 04:57:07 -05:00
Phillip Stephens 0bdad38175
Merge branch 'pr-150' 2020-02-11 20:05:07 -08:00
Lioncash 88f445c94d CParasite: Make static CMaterialList instances constexpr where applicable
Same behavior, but allows the data to be stored within the read-only
segment.
2020-02-11 09:33:58 -05:00
Lioncash 1edcbf7ec6 CMetaree: Set locomotion type to crouched if deactivated in InActive()
v0-00 sets this locomotion type when the deactivation flag is set.
2020-02-07 19:32:51 -05:00
Phillip Stephens 61f9adfa70
Merge branch 'pr-148' 2020-02-07 14:25:31 -08:00
Phillip Stephens 6501d56baa
Merge branch 'pr-147' 2020-02-07 14:24:21 -08:00
Phillip Stephens 60f8dfb9d1
Final CCollisionInfoList imps 2020-02-07 14:20:04 -08:00
Lioncash 16f7925652 CFireFlea: Set CPathFindSearch's padding to 50.0f within AcceptScriptMsg()
v0-00 sets the padding member of CPathFindSearch here to 50.0, not a
member variable that's part of the CFireFlea class.
2020-02-07 16:27:56 -05:00
Lioncash d4245b016f CPuddleToadGamma: Migrate static constants into the cpp file
Makes the data fully internally-linked. This also allows declaring
skBellyOffset as constexpr.

While we're at it, we can also make the solid filter constexpr as well,
given it isn't modified anywhere. This allows the data to be placed
within the read-only segment and potentially gets rid of a runtime
static constructor.
2020-02-07 15:55:23 -05:00
Lioncash 0dd7e3e7bf CFlickerBat: Add missing SetMuted() call within Death()
v0-00 contains a call to SetMuted(false) in game code.
2020-02-07 09:38:56 -05:00
Phillip Stephens 330a1bff76
Merge pull request #145 from lioncash/blood-collision
CBloodFlower: Implement GetCollisionResponseType
2020-02-03 14:45:21 -08:00
Phillip Stephens 67e4c2e135
Merge pull request #144 from lioncash/blood-const
CBloodFlower: Mark sFireEffects as constexpr
2020-02-03 14:45:02 -08:00
Phillip Stephens 28ee845564
Merge pull request #143 from lioncash/steering
CWarWasp: Amend damping radius value within ApplyNormalSteering()
2020-02-03 14:44:39 -08:00
Phillip Stephens 569886de6a
Merge pull request #142 from lioncash/decay
CScriptPlatform: Amend delta time value in AcceptScriptMsg for deletion
2020-02-03 14:44:21 -08:00
Phillip Stephens 48570cd956
Merge pull request #141 from lioncash/dock-aa
CScript*: Return std::nullopt in GetTouchBounds()
2020-02-03 14:43:58 -08:00
Phillip Stephens 06d7a3e00a
Merge pull request #140 from lioncash/enum-class
CScriptDock: Make EDockState an enum class
2020-02-03 14:43:28 -08:00
Lioncash d1a714cf1a CBloodFlower: Implement GetCollisionResponseType
CBloodFlower seems to be missing the implementation from v0-00. This
change adds in its equivalent behavior.
2020-02-03 10:42:26 -05:00
Lioncash 855841607b CBloodFlower: Mark sFireEffects as constexpr
Allows the strings to be put into the read-only section of the binary
(and makes it explicit that the strings aren't modified).

While we're at it we can make use of std::array.
2020-02-03 10:14:19 -05:00
Lioncash f675bc3857 CWarWasp: Amend damping radius value within ApplyNormalSteering()
GM8E v0-00 uses 2.5 for the second Arrival() damping radius value, not 3.0.
2020-02-01 16:37:23 -05:00