Luke Street
e1d622d47b
Merge pull request #221 from lioncash/emplace
...
CFontImageDef: Make use of emplace_back where applicable
2020-03-15 19:44:23 -04:00
Lioncash
1926966d21
CCharAnimTime: Make constructors constexpr where applicable
...
These can be made constexpr to allow use at compile-time, given these
only hold an enum and a floating point value.
2020-03-15 19:41:54 -04:00
Lioncash
15db1b2647
CAnimSourceReader: Make use of std::find_if where applicable
2020-03-15 18:55:30 -04:00
Lioncash
9541ed1919
CAnimSourceReader: Make use of emplace() where applicable
...
Same behavior, but with less code.
2020-03-15 18:42:19 -04:00
Lioncash
7c1528688b
CAnimSource: Simplify ClampZeroToOne()
...
We can make use of std::clamp instead of std::min and std::max
2020-03-15 18:30:58 -04:00
Lioncash
ff92b72f91
CMemoryCardSys: Make CardResult's conversion operator explicit
...
Prevents implicit error-prone conversions to bool
2020-03-14 22:18:42 -04:00
Lioncash
e6812a7cd9
CArchitectureQueue: Make operator bool explicit
...
Prevents potentially error-prone implicit conversion contexts.
2020-03-14 21:42:38 -04:00
Lioncash
f5cc056a9e
CGameHintInfo: Take CVParamTransfer parameter by const reference
...
Avoids trivial unnecessary copies.
2020-03-14 21:28:46 -04:00
Lioncash
659b8a43d3
CGameOptions: Make use of std::string_view where applicable
...
Enforces the use of valid strings in the interface. Also reduces c_str()
noise a little bit.
2020-03-14 20:09:23 -04:00
Lioncash
e64dfe76b2
CFontImageDef: Make use of emplace_back where applicable
...
Same behavior, but constructs the instances directly within the
container.
2020-03-14 18:45:37 -04:00
Lioncash
e0392d69c4
CHudEnergyInterface: Make use of std::array where applicable
2020-03-14 17:59:39 -04:00
Lioncash
c4796ed090
CHudMissileInterface: Make use of std::array where applicable
2020-03-14 17:57:05 -04:00
Lioncash
9fafb24fb9
CHudVisorBeamMenu: Make use of std::array where applicable
2020-03-14 17:52:30 -04:00
Lioncash
07542ff335
CHudThreatInterface: Make use of std::array where applicable
...
Same behavior, but with stronger typing.
2020-03-14 17:38:57 -04:00
Phillip Stephens
f7fdbc07ba
Merge pull request #219 from lioncash/false
...
CPathCamera: Change 0 to false in CPathCamera constructor
2020-03-13 15:30:59 -07:00
Phillip Stephens
6567ae8d42
Merge pull request #218 from lioncash/emplace
...
Runtime: Collapse emplace_back() calls where applicable
2020-03-13 15:30:43 -07:00
Phillip Stephens
55955973a1
Merge pull request #217 from lioncash/sign
...
AutoMapper/*: Resolve sign conversion warnings
2020-03-13 15:30:24 -07:00
Phillip Stephens
0c17e4fdd7
Merge pull request #216 from lioncash/line
...
CLineRenderer: Silence -Wmaybe-uninitialized warning
2020-03-13 15:30:14 -07:00
Phillip Stephens
75c184d710
CHierarchyPoseBuilder corrections
2020-03-13 15:29:20 -07:00
Lioncash
92fb31fd40
CPathCamera: Change 0 to false in CPathCamera constructor
...
Same thing, but without implicit conversion to bool
2020-03-13 17:38:14 -04:00
Lioncash
097d4a4422
Runtime: Collapse emplace_back() calls where applicable
...
Same behavior, but with less code.
2020-03-13 17:14:44 -04:00
Lioncash
7c1e468d31
CMapWorldInfo: Rename IsAreaVisted -> IsAreaVisted
...
Same thing, but without the typo.
2020-03-13 16:19:02 -04:00
Lioncash
ddcbf51260
CMapUniverse: Resolve sign conversion warning in Draw()
...
Resolves a trivial implicit sign conversion warning.
2020-03-13 16:11:40 -04:00
Lioncash
014601cf67
CMapWorldInfo: Resolve sign conversion warnings
...
Resolves trivial implicit sign conversion warnings.
2020-03-13 16:10:23 -04:00
Lioncash
4601abf5df
CMapArea: Resolve sign conversion warning in Draw()
...
Resolves a trivial sign-conversion warning.
2020-03-13 16:07:41 -04:00
Lioncash
c37b3df27b
CLineRenderer: Silence -Wmaybe-uninitialized warning
...
We can just initialize maxTriVerts to zero to prevent warnings from
occurring.
2020-03-12 19:15:51 -04:00
Phillip Stephens
df4487bae8
Merge pull request #215 from lioncash/none
...
CFrontEndUI: Default initialize SFrontEndFrame's x4_action to EAction::None
2020-03-12 15:11:11 -07:00
Phillip Stephens
eb38d96d9a
Merge pull request #214 from lioncash/virtual
...
CGunWeapon: Make destructor virtual
2020-03-12 15:11:02 -07:00
Phillip Stephens
97e33bdf11
Merge pull request #213 from lioncash/unique
...
CProjectileWeaponDataFactory: Make GetGeneratorDesc() return a unique_ptr
2020-03-12 15:10:49 -07:00
Phillip Stephens
7601888e34
Merge pull request #212 from lioncash/power-color
...
CPowerBomb: Make kFadeColor internally linked
2020-03-12 15:10:40 -07:00
Phillip Stephens
8badbd3f35
Merge pull request #211 from lioncash/init
...
CPlayerEnergyDrain: Initialize x10_energyDrainTime on construction
2020-03-12 15:10:28 -07:00
Phillip Stephens
ce5ce35743
Merge pull request #210 from lioncash/bob
...
CPlayerCameraBob: Minor cleanup
2020-03-12 15:10:19 -07:00
Phillip Stephens
2a2b471671
Merge pull request #209 from lioncash/cast
...
CPlayerGun: Minor cleanup
2020-03-12 15:10:07 -07:00
Phillip Stephens
ac46b898bc
Merge pull request #208 from lioncash/wave
...
CWaveBuster: Implement GetTouchBounds()
2020-03-12 15:09:57 -07:00
Phillip Stephens
196a545f9a
Merge pull request #207 from lioncash/get
...
CElectricBeamProjectile: Remove unnecessary get() calls in PreRender()
2020-03-12 15:09:47 -07:00
Phillip Stephens
bb8e33461d
Merge pull request #206 from lioncash/gen
...
CElementGen: Minor cleanup
2020-03-12 15:09:36 -07:00
Phillip Stephens
5f2db40528
Merge pull request #205 from lioncash/fn
...
CFactoryMgr: Minor cleanup
2020-03-12 15:09:11 -07:00
Phillip Stephens
12ad192436
Merge pull request #204 from lioncash/move
...
Character/*: std::move constructor parameters where applicable
2020-03-12 15:09:00 -07:00
Phillip Stephens
3a37be9d27
Minor CFlaahgra fixes
2020-03-12 15:06:01 -07:00
Lioncash
90e866d2d5
CFrontEndUI: Default initialize SFrontEndFrame's x4_action to EAction::None
...
This is the initial value that GM8E v0 assigns to this member variable.
Previously it was being left uninitialized on construction.
2020-03-12 17:35:36 -04:00
Lioncash
2c091ac124
CGunWeapon: Make destructor virtual
...
This class is used as polymorphic type, so the destructor should be
marked as virtual to prevent any potential undefined behavior.
This also more closely matches the GM8E v0 binary itself.
2020-03-12 17:20:45 -04:00
Lioncash
05bccae70e
CDecalDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:46:02 -04:00
Lioncash
1f42b9be93
CParticleElectricDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:20:48 -04:00
Lioncash
59bbbdf41c
CParticleSwooshDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:17:42 -04:00
Lioncash
93121c38f7
CProjectileWeaponDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:00:23 -04:00
Lioncash
ee952b9c99
CPowerBomb: Make kFadeColor internally linked
...
Hides the name from external view entirely and allows the color instance
to be constexpr.
2020-03-12 10:13:37 -04:00
Lioncash
d51518dc57
CPlayerEnergyDrain: Make constructor explicit
...
Prevents error-prone implicit constructions from occurring.
2020-03-12 10:01:31 -04:00
Lioncash
e628cbf1be
CPlayerEnergyDrain: Initialize x10_energyDrainTime on construction
...
GM8E v0 initializes this to zero when constructing the class. This also
makes the entire class have a consistent initial state.
2020-03-12 09:57:43 -04:00
Luke Street
cfd568bb39
Merge branch 'chozoghosts'
2020-03-11 17:17:00 -04:00
Phillip Stephens
190c369aeb
Fix crashes with FusionSuit active
2020-03-11 06:48:30 -07:00
Luke Street
860f7c7f33
CChozoGhost: Minor fixes & renaming
2020-03-11 02:16:55 -04:00
Luke Street
123ddfd33a
CChozoGhost: InPosition -> ShouldAttack
2020-03-11 00:22:03 -04:00
Luke Street
155cd3759f
CChozoGhost: Minor FindBestAnchor fixes
2020-03-10 23:47:14 -04:00
Lioncash
179d19412b
CPlayerCameraBob: Make static non-const member variables private
...
Prevents accidental modification of the values from occurring in code
that makes use of them. Many of these constants aren't even used outside
of the class itself in the first place.
2020-03-09 20:55:12 -04:00
Lioncash
f622ed364d
CPlayerCameraBob: Make use of std::array where applicable
2020-03-09 20:33:37 -04:00
Lioncash
73f11a6132
CPlayerGun: Make use of std::array where applicable
2020-03-09 16:33:10 -04:00
Lioncash
1838e43078
CPlayerGun: Relocate file-static variables and constants into a single anonymous namespace
...
Keeps all file-static variables organized together.
2020-03-09 16:15:55 -04:00
Lioncash
3abaccb238
CPlayerGun: Resolve trivial implicit sign conversion warnings
2020-03-09 16:04:13 -04:00
Lioncash
9e5dc627ea
CWaveBuster: Implement GetTouchBounds()
...
Implements GetTouchBounds() according to the implementation within the
GM8E v0 binary.
Fills out the implementation of CWaveBuster a little bit.
2020-03-09 14:51:04 -04:00
Lioncash
06dfc3406e
CElectricBeamProjectile: Remove unnecessary get() calls in PreRender()
...
Same behavior, less code.
2020-03-09 13:55:26 -04:00
Lioncash
15dce1683e
CElementGen: std::move TToken instance in constructor
...
Allows the parameter to be moved into via calling code.
2020-03-09 13:07:53 -04:00
Lioncash
af2a82b5a7
CElementGen: Make GetSystemCount() a const member function
...
This doesn't modify internal member state, so this can be made a const
member function.
2020-03-09 13:03:42 -04:00
Lioncash
a8486cf479
CElementGen: Resolve sign-conversion warnings in loops
...
Prevents implicit truncation to int from occurring.
2020-03-09 13:01:42 -04:00
Lioncash
9db07b037a
CElementGen: Make use of std::array where applicable
2020-03-09 12:53:28 -04:00
Lioncash
35adfe8abf
CElementGen: Alphabetize forward declarations
...
Makes them nicer to visually scan over.
2020-03-09 12:33:24 -04:00
Luke Street
985daa3092
CCharAnimTime: Re-add algorithm include
2020-03-09 12:21:08 -04:00
Lioncash
0a158af0cb
CFactoryMgr: Resolve variable shadowing warning in MakeObjectFromMemory()
...
Resolvable with a trivial variable renaming.
2020-03-09 12:19:58 -04:00
Lioncash
91a2562fff
CFactoryMgr: Make use of std::array
...
Same behavior, with stronger typing. We can also leverage the iterator
member functions directly.
2020-03-09 12:17:18 -04:00
Luke Street
24817d6b01
CCharAnimTime: Fixes & cleanup
2020-03-09 12:09:54 -04:00
Lioncash
34eb507a9d
CFactoryMgr: std::move function instances in AddFactory()
...
std::function is allowed to allocate on the heap, so this potentially
prevents unnecessary allocations.
We can also use insert_or_assign() to prevent unnecessary default
initialization of std::function that immediately get overridden.
2020-03-09 12:04:51 -04:00
Lioncash
39b561b089
CTransitionManager: std::move constructor parameters where applicable
...
Allows calling code to move into the constructor
2020-03-09 11:58:10 -04:00
Lioncash
3a96c574b2
CTransitionDatabaseGame: std::move constructor parameters where applicable
...
Same behavior, but allows the parameters to be moved into from calling
code.
2020-03-09 11:58:10 -04:00
Lioncash
815f492e0f
CSequenceHelper: std::move constructor parameters where applicable
...
Same behavior, but allows for calling code to move into the interface.
2020-03-09 11:58:10 -04:00
Lioncash
cff12f0986
TAnimSourceInfo: std::move constructor parameter where applicable
...
Allows calling code to move into the constructor.
2020-03-09 11:58:10 -04:00
Lioncash
9fe671af99
CAnimTreeSequence: std::move constructor parameters where applicable
...
Allows the constructor arguments to be moved into the constructor.
2020-03-09 11:58:07 -04:00
Lioncash
fa23d0bb9c
CAnimTreeLoopIn: std::move constructor parameters where applicable
...
Allows the constructor parameters to be moved into.
2020-03-09 11:31:53 -04:00
Lioncash
ab17c1cf2f
CAnimationManager: std::move parameters to constructor where applicable
...
Allows calling code to move into the respective arguments.
2020-03-09 11:27:36 -04:00
Lioncash
e289643742
CAnimData: std::move constructor arguments where applicable
...
Same behavior, but allows calling code to move into the respective
parameters now.
2020-03-09 11:25:23 -04:00
Lioncash
79565d7f52
CAnimSourceInfo: std::move TSubAnimTypeToken instance in constructor
...
Provides the same behavior, but allows calling code to move into the
constructor.
2020-03-09 11:11:27 -04:00
Lioncash
3cec19437a
CAnimSysContext: std::move TToken instance in constructor
...
Provides the same interface, but allows for calling code to move into
the constructor.
2020-03-09 11:08:17 -04:00
Lioncash
280e4ce07d
CAnimTreeAnimReaderContainer: std::move shared_ptr in constructor
...
Provides the same behavior, but without a redundant atomic reference
count increment and decrement.
2020-03-09 11:06:20 -04:00
Luke Street
5c9dd55b80
CChozoGhost: Fix IsOnGround
2020-03-09 10:41:34 -04:00
Luke Street
830db8772d
Merge remote-tracking branch 'origin/master' into chozoghosts
2020-03-09 10:12:40 -04:00
Phillip Stephens
d93df18a37
Fix `CScriptDistanceFog::AcceptScriptMessage`
2020-03-08 23:18:57 -07:00
Luke Street
7b9a037c95
Merge pull request #203 from lioncash/identical
...
CBallCamera: Collapse identical switch cases within AvoidGeometry()
2020-03-08 23:45:52 -04:00
Luke Street
6e9a80de5d
CVisorFlare: Rename "near" to avoid MSVC conflict
2020-03-08 23:44:44 -04:00
Lioncash
363386cbd9
CBallCamera: Collapse identical switch cases within AvoidGeometry()
...
Same behavior, but less code.
This is identical in behavior to the code within the GM8E v0 binary.
2020-03-08 23:40:22 -04:00
Lioncash
45c1bc9652
CStaticRes: Make use of CAssetId's IsValid() member function within operator bool
...
We should be testing against IsValid() here to handle all cases that
indicate invalid values, as opposed to only handling the zero case.
2020-03-08 22:49:33 -04:00
Lioncash
209cd4a54e
CStaticRes: Make operator bool explicit
...
Prevents potentially error-prone conversions to bool. Similar to the
changes recently made to CToken.
2020-03-08 21:20:08 -04:00
Lioncash
2233a78fe2
CToken: Add HasReference() member function
...
Has the same semantics of operator bool(), but explains at the call site
what is actually being tested for in the relation to the object itself.
Aims to make readability slightly better (and removed the need for
casts).
2020-03-08 21:13:37 -04:00
Phillip Stephens
fc5170ede9
Merge pull request #200 from lioncash/temp
...
CLogBookScreen: Remove unconditional return true in IsScanComplete()
2020-03-08 18:03:54 -07:00
Phillip Stephens
a28b7a8df7
Merge pull request #199 from lioncash/octree
...
CPVSVisOctree: Use static qualifying name for ReadBoundingBoxBig()
2020-03-08 18:03:44 -07:00
Phillip Stephens
f07d4e9630
Merge pull request #198 from lioncash/move
...
CResFactory: Resolve use-after-move in AddToLoadList()
2020-03-08 18:03:28 -07:00
Phillip Stephens
b492c91ccf
Merge pull request #197 from lioncash/cond
...
CFontRenderState: Collapse common switch cases in RefreshColor()
2020-03-08 18:03:17 -07:00
Phillip Stephens
b01fa0c5bf
Merge pull request #196 from lioncash/saveable
...
CSaveableState: Initialize vectors in the constructor initializer list
2020-03-08 18:03:01 -07:00
Phillip Stephens
dd54f93da4
Merge pull request #195 from lioncash/unused
...
CPlayer: Make use of unused CCollidableAABox in ProcessInput()
2020-03-08 18:02:52 -07:00
Phillip Stephens
3011a839eb
Merge pull request #194 from lioncash/init
...
CProjectileInfo: Initialize result variable to false within PredictInterceptPos
2020-03-08 18:02:41 -07:00
Phillip Stephens
51bb2244da
Merge pull request #193 from lioncash/explicit
...
CToken: Make operator bool explicit
2020-03-08 18:02:30 -07:00
Phillip Stephens
3e59f7a455
Prepare for pr-193
2020-03-08 18:01:29 -07:00
Lioncash
2a1df559a9
CLogBookScreen: Remove unconditional return true in IsScanComplete()
...
This was temporarily added in for debugging purposes in the past but was
never removed.
2020-03-08 11:15:13 -04:00
Phillip Stephens
f06c26e7d6
Fix infinite loop in CObjectList, and add an assert to detect invalid assignments
2020-03-07 09:14:07 -08:00
Lioncash
8d42eb4287
CPVSVisOctree: Initialize in-class member variables where applicable
...
Provides a deterministic initial state for the default constructor.
2020-03-07 05:01:29 -05:00
Lioncash
4034e3b31f
CPVSVisOctree: Make use of std::array where applicable
...
Makes the arrays strongly typed.
2020-03-07 04:50:19 -05:00
Lioncash
969bcdba35
CPVSVisOctree: Use static qualifying name for ReadBoundingBoxBig()
...
It looks very odd using the name of the object being initialized to call
through to a static member function. We can disambiguate this by making
use of the qualifying name directly.
2020-03-07 04:46:19 -05:00
Lioncash
0a47e623fd
CResFactory: Resolve use-after-move in AddToLoadList()
...
The behavior on the right hand side would occur before the actual
assignment, making the tag value invalidated. Instead, we copy the tag
before the move is performed to keep the data valid when inserting it
into the map.
2020-03-07 03:56:16 -05:00
Lioncash
a490eaf8ff
CFontRenderState: Collapse common switch cases in RefreshColor()
...
Same behavior, less code.
2020-03-07 03:44:54 -05:00
Lioncash
815a38288a
CSaveableState: Initialize vectors in the constructor initializer list
...
Initializes the vectors in place, rather than constructing them and then
resizing.
2020-03-06 22:47:39 -05:00
Lioncash
830e1c59d2
CPlayer: Make nearby variables const
...
Makes nearby variables from the previous change const to make their
immutability explicit.
2020-03-06 22:08:56 -05:00
Lioncash
a2b6b4515d
CPlayer: Make use of unused CCollidableAABox in ProcessInput()
...
GM8E v0 makes use of the temporary collidable AA box. This amends the
code to make use of it.
2020-03-06 22:06:44 -05:00
Lioncash
27fb2008dc
CProjectileInfo: Initialize result variable to false within PredictInterceptPos()
...
GM8E v0 sets this to false before performing any further calculations.
This also prevents accidental uninitialized usages from occurring if
this is ever changed in the future.
While we're in the same area we can make bracing consistent.
2020-03-06 21:57:39 -05:00
Lioncash
a6367c0688
CToken: Make operator bool explicit
...
Prevents potential error-prone conversions from occurring
2020-03-06 21:42:07 -05:00
Phillip Stephens
052aa80bac
Fix initial AI issues
2020-03-06 18:03:13 -08:00
Phillip Stephens
4daa8ac374
CModelBoo: Fix missing cast
2020-03-06 16:27:33 -08:00
Phillip Stephens
17f25457c5
CGameArea::CAreaObjectList fix
2020-03-06 16:20:52 -08:00
Phillip Stephens
76e0a1f8f5
Merge pull request #192 from lioncash/init
...
CEyeball: Eliminate unnecessary runtime initializer in Think()
2020-03-06 16:15:15 -08:00
Phillip Stephens
7358570d51
Merge pull request #191 from lioncash/const
...
CObjectList: Make IsQualified() a const member function
2020-03-06 16:14:59 -08:00
Phillip Stephens
24baafb996
Merge pull request #190 from lioncash/render
...
CBooRenderer: Minor cleanup
2020-03-06 16:14:47 -08:00
Phillip Stephens
ae25392d19
Merge pull request #189 from lioncash/model
...
CModelBoo: Make static data constexpr where applicable
2020-03-06 16:14:05 -08:00
Phillip Stephens
f8e40e600f
Merge pull request #188 from lioncash/class
...
CModelShaders: Make EExtendedShader an enum class
2020-03-06 16:13:54 -08:00
Phillip Stephens
b44e43c7c0
Merge pull request #187 from lioncash/make
...
CThardus: Minor tidying changes
2020-03-06 16:13:42 -08:00
Phillip Stephens
ab65fae969
Merge pull request #186 from lioncash/array
...
CInGameGuiManager: Make use of std::array where applicable
2020-03-06 16:13:33 -08:00
Phillip Stephens
c9e7b2c2ff
Merge pull request #185 from lioncash/reference2
...
CParticleGenInfo: Fix missing ampersand in GetParticleSystem() member function
2020-03-06 16:13:22 -08:00
Phillip Stephens
915a0785a5
Merge pull request #184 from lioncash/reference
...
CHierarchyPoseBuilder: Fix missing ampersand in CharLayoutInfo() return value
2020-03-06 16:13:05 -08:00
Phillip Stephens
96af6157bd
Merge pull request #183 from lioncash/move
...
CThardus: std::move vector instances in constructor
2020-03-06 16:12:53 -08:00
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
Phillip Stephens
1cccaac115
Final CChozoGhost imps
2020-03-06 07:16:55 -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
e43bfe1e58
More CChozoGhost imps
2020-03-05 07:42:12 -08:00
Phillip Stephens
58cca6ffa8
More chozoghost imps
2020-03-05 01:56:04 -08:00
Phillip Stephens
50a20d7322
More CChozoGhost imps
2020-03-04 18:41:11 -08:00
Phillip Stephens
9d77d7313c
More ChozoGhost imps
2020-03-04 18:41:10 -08:00
Phillip Stephens
d91e86a94a
Initial CChozoGhost stubs
2020-03-04 18:41:10 -08: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
Lioncash
3147d39cd9
CScript*: Return std::nullopt in GetTouchBounds()
...
In some implementations, returning via default construction for
std::optional can cause the entire inner buffer to be zeroed out.
Returning with std::nullopt causes only the internal validity flag to be
set and nothing more.
2020-02-01 01:06:43 -05:00
Lioncash
c944d04614
CScriptPlatform: Amend delta time value in AcceptScriptMsg for deletion
...
Game code makes use of 1.66666675f here, not 0.0f.
2020-01-31 23:53:39 -05:00
Lioncash
9a8f99faa5
CScriptDock: Make EDockState an enum class
...
Makes the enum type strongly typed. All usages currently allow for this
anyways.
2020-01-31 21:34:10 -05:00
Lioncash
458ff8949a
IGameArea: Make Dock's reference count variable signed
...
In all usage cases, this variable is used with functions that expect a
signed value. This eliminates quite a few signed mismatch warnings.
2020-01-31 21:29:53 -05:00
Lioncash
a3ebe8727f
CScriptSound: Remove active check within AcceptScriptMsg() deactivate path
...
Game code doesn't check for active status within this branch, and
there's no comment indicating whether or not this difference was intentional.
2020-01-31 17:37:46 -05:00
Lioncash
495ff19aad
CDamageInfo: Make certain constructors constexpr
...
Allows eliminating potential runtime static constructors by allowing
file-scope instances to be declared constexpr.
2020-01-31 02:06:14 -05:00
Phillip Stephens
918f1a9fcb
Merge pull request #136 from lioncash/rainsplash
...
CRainSplashGenerator: Amend lower bound constant for speed in SSplashLine::Update()
2020-01-30 20:12:11 -08:00
Phillip Stephens
968c3394c6
Merge pull request #135 from lioncash/dash-elements
...
CPlayer: Add missing element to skDashStrafeDistances
2020-01-30 20:12:00 -08:00
Phillip Stephens
d7f475166f
Merge pull request #134 from lioncash/function-error
...
CPlayer: Fix function call mismatch within SidewaysDashAllowed()
2020-01-30 20:11:49 -08:00
Phillip Stephens
b1322a5613
Merge pull request #133 from lioncash/trunc-float
...
CTextParser: Resolve double->float truncation within ParseTag()
2020-01-30 20:11:39 -08:00
Phillip Stephens
0116e56332
Merge pull request #132 from lioncash/static-instance
...
CRealElement: Remove redundant instance() call in CRELifetimeTween::GetValue()
2020-01-30 20:11:24 -08:00
Phillip Stephens
11352ef042
Merge pull request #131 from lioncash/top-const
...
CActor: Remove top-level const from GetScaledLocatorTransform() and GetLocatorTransform()
2020-01-30 20:11:12 -08:00
Phillip Stephens
9eb69dfd8b
Merge pull request #130 from lioncash/naming
...
CAutoMapper: Make SAutoMapperRenderState constructor parameter names more informative
2020-01-30 20:10:54 -08:00
Phillip Stephens
004d8bab22
Merge pull request #129 from lioncash/emplace
...
CGuiTextSupport: Make use of emplace_back() in AddText()
2020-01-30 20:10:41 -08:00
Lioncash
1aa24bd287
CRainSplashGenerator: Amend lower bound constant for speed in SSplashLine::Update()
...
Game code actually uses a constant of 4.0f as the lower bound for speed, not
0.015625f.
2020-01-30 22:20:49 -05:00
Lioncash
29ca2b6062
CPlayer: Add missing element to skDashStrafeDistances
...
This was previously missing the initial element within the array,
causing all the elements in the table to be shifted to the left by one.
This corrects that.
2020-01-29 03:51:50 -05:00
Lioncash
264c897bb5
CPlayer: Fix function call mismatch within SidewaysDashAllowed()
...
This function actually calls GetPressInput() here, not
GetDigitalInput().
2020-01-29 03:18:36 -05:00
Lioncash
03f2ebc768
CTextParser: Resolve double->float truncation within ParseTag()
...
This should be prepended with the f suffix to prevent double to float
implicit truncation.
2020-01-29 02:26:50 -05:00
Lioncash
13afd9b033
CRealElement: Remove redundant instance() call in CRELifetimeTween::GetValue()
...
This only needs to be called once.
2020-01-29 02:07:55 -05:00
Lioncash
edf5511af4
CActor: Remove top-level const from GetScaledLocatorTransform() and GetLocatorTransform()
...
Same behavior, less code.
2020-01-29 01:50:31 -05:00