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
Phillip Stephens
244e9febb3
Minor fixes
2020-04-08 12:20:27 -07:00
Phillip Stephens
94dbd091ae
Implement CDroneLaser
2020-04-08 10:54:46 -07:00
Luke Street
1f55b5f92e
CGrenadeLauncher: Fix UpdateFollowPlayer
2020-04-07 19:26:22 -04:00
Phillip Stephens
784e956819
Drone: Remove redundant include
2020-04-07 16:13:11 -07:00
Phillip Stephens
37c8b9d33c
Drone: Implement Think
2020-04-07 16:11:50 -07: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
Phillip Stephens
4c3caa2a7f
Drone: Initial Think imp
2020-04-06 13:58:39 -07:00
Phillip Stephens
e4c3248ad8
Drone: Start implementing state functions
2020-04-06 13:58:39 -07:00
Phillip Stephens
08b1dbcf4f
Drone: Implement AcceptScriptMsg
2020-04-06 13:58:39 -07:00
Phillip Stephens
ff0cf969c2
Initial CDrone imps
2020-04-06 13:58:36 -07:00
Luke Street
4d3050cac4
COmegaPirate: Add call to AvoidStaticCollisionWithinRadius
2020-04-06 16:57:48 -04:00
Phillip Stephens
d033ddeb1d
Initial CDrone imp
2020-04-06 13:57:36 -07: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
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
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
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
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
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
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
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
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
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
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
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
1415265ef2
Runtime: Default destructors where applicable
...
Same behavior, but allows the destructors to be trivial, etc.
2020-03-31 04:50:26 -04: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
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
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
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
Luke Street
4ada5a00cb
CElitePirate: Nearly complete implementation
2020-03-29 03:28:14 -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
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
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
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
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
0cc8e76d64
CActorContraption: Make use of structured bindings where applicable
...
Same behavior, but with better names than `first` or `second`.
2020-03-20 23:13:29 -04:00
Luke Street
6d757f021f
CFlyingPirateRagDoll: Implement Update
2020-03-18 04:50:41 -04:00
Luke Street
851304ded9
CFlyingPirate: Finish Think implementation
2020-03-18 02:53:53 -04:00
Phillip Stephens
eb9efbf8c3
Initial PATH support for MP2
2020-03-17 23:12:43 -07:00
Luke Street
642bf379ce
CFlyingPirate: Add CPathFindSearch flags
2020-03-18 01:39:32 -04:00
Luke Street
6f89dbb240
CFlyingPirate: More small fixes
2020-03-18 01:20:24 -04:00
Luke Street
932615593e
CFlyingPirateRagDoll: Implement PreRender, Prime
2020-03-18 01:20:24 -04:00
Luke Street
57386e6269
CFlyingPirate: Small fixes
2020-03-18 01:19:23 -04:00
Luke Street
8897d38c6a
CFlyingPirate: Fix Lurk state delay
2020-03-18 01:19:23 -04:00
Luke Street
651e28e921
CFlyingPirate: Fix TargetPatrol
2020-03-18 01:19:23 -04:00
Luke Street
26ae8beb74
CFlyingPirate: Small fixes
2020-03-18 01:19:23 -04:00
Luke Street
1bcd0916ca
CFlyingPirate: Fixes; implement all functions
2020-03-18 01:18:48 -04:00
Luke Street
13d8c3fdd1
CFlyingPirate: First draft almost done
2020-03-18 01:18:48 -04:00
Luke Street
11ea9d3aa6
CFlyingPirate: More method implementations
2020-03-18 01:18:48 -04:00
Luke Street
d4982270e8
CFlyingPirate: Start implementing methods
2020-03-18 01:18:48 -04:00
Luke Street
5765fd8951
CFlyingPirate: Method definitions & CFlyingPirateRagDoll constructor
2020-03-18 01:18:48 -04:00
Luke Street
e925dc2628
CFlyingPirate: Start implementation
2020-03-18 01:18:48 -04:00
Lioncash
b52e8dc6aa
CMainFlow: std::move shared_ptr in SetGameState
...
Same behavior, but without a redundant atomic reference count
increment/decrement.
2020-03-17 19:15:09 -04:00
Luke Street
dc77fb0c41
Merge pull request #234 from lioncash/puddle
...
CPuddleSpore: Make static const class data internally linked
2020-03-16 19:11:04 -04:00
Lioncash
ff8e4c18a1
CPuffer: Make use of std::array where applicable
...
Allows direct size querying, which allows removing the use of direct
hardcoded array sizes.
2020-03-16 16:37:40 -04:00
Lioncash
2ae02eefb0
CPuddleSpore: Make static const class data internally linked
...
Makes the data an implementation detail and also allows for the
string_view array to be declared constexpr.
2020-03-16 16:26:19 -04:00
Luke Street
2f7e2dd85e
Merge pull request #231 from lioncash/blur
...
CPauseScreenBlur: Remove const_cast in Draw()
2020-03-16 16:14:03 -04:00
Luke Street
6ea64becb4
Merge pull request #230 from lioncash/pause2
...
CPauseScreenBase: Minor cleanup
2020-03-16 16:13:42 -04:00
Lioncash
b9be092635
CPauseScreenBlur: Remove const_cast in Draw()
...
Draw() clearly modifies the internals of the class in a non-caching
manner, so this member function should really not have a const qualifier
on it.
2020-03-16 16:00:12 -04:00
Phillip Stephens
574fc9b840
CJellyZap fixes
2020-03-15 19:00:52 -07:00
Lioncash
1a7ad1a7f6
CPauseScreenBase: Make use of std::array in GetImagePaneName()
...
We can make use of std::array here and also make the array constexpr.
This can also be moved into the function in order to hide its scope.
2020-03-15 21:26:59 -04:00
Lioncash
6e921e3258
CPauseScreenBase: Mark colors as constexpr within UpdateSideTable()
...
Same behavior, but allows eliding construction at runtime.
2020-03-15 21:26:47 -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
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
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
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
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
052aa80bac
Fix initial AI issues
2020-03-06 18:03:13 -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
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
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
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
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
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
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
Luke Street
9e0e053906
CScriptSpecialFunction: Further ThinkSpinnerController implementation
2020-03-03 03:31:58 -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
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
Luke Street
ae591d4817
Add MP1_VARIABLE_DELTA_TIME option (for high refresh rates; buggy)
2020-02-25 14:15:53 -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
c8291ee3dc
Merge pull request #154 from lioncash/constexpr
...
CSamusDoll: Minor changes
2020-02-24 03:00:11 -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
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
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
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
Phillip Stephens
8d90edd55f
Initial CChozoGhost imp
2020-01-20 20:00:40 -08:00
Luke Street
72e068419f
Merge branch 'pr-126'
2020-01-17 19:57:50 -05:00
Lioncash
9ce652bfd6
CNewIntroBoss: Correct base class call to DoUserAnimEvent()
...
This function actually calls CPatterned's implementation of
DoUserAnimEvent(), not CActor's.
2020-01-15 15:32:18 -05:00
Lioncash
1cb289f243
RuntimeCommon: Normalize cpp inclusions
...
Normalizes the headers for the cpp files in the RuntimeCommon target.
Now all headers and source files within the RuntimeCommon/RuntimeCommonB
targets are normalized and consistent with one another.
2020-01-15 09:15:47 -05:00
Phillip Stephens
677687f228
Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/urde
2020-01-05 20:25:21 -08:00
Phillip Stephens
841996a872
More work on CThardus
2020-01-05 20:24:54 -08:00
Luke Street
67d0fa55df
Fix shriekbat damage
2020-01-02 19:54:59 -05:00
Phillip Stephens
21159e604e
More CThardus
2019-12-14 15:50:29 -08:00
Phillip Stephens
1a13f7e4ee
Update submodules, initial CTextureCache
2019-12-10 20:51:33 -08:00
Phillip Stephens
697a100bca
Implement CScriptSpecialFunction::ThinkAreaDamage, and more CThardus
2019-11-24 07:32:45 -08:00
Phillip Stephens
655dc01a06
Add support for override paks
2019-11-21 07:37:08 -08:00
Phillip Stephens
b23575f2aa
Stop GCC's whining
2019-11-19 15:15:45 -08:00
Phillip Stephens
8b6dff70b4
Properly cleanup Xorg in visigen, various fixes and cleanups in URDE, more CRidley imps
2019-11-19 15:06:25 -08:00
Phillip Stephens
4762c7b832
Finish Ridley's AI function implementations
2019-11-14 08:39:20 -08:00
Phillip Stephens
e059f224d4
Fix behavior translation, still needs work
2019-11-13 10:44:43 -08:00
Phillip Stephens
8881376195
Some ridley fixes
2019-11-13 09:58:49 -08:00
Phillip Stephens
a1c7692d36
More CRidley imps
2019-11-12 12:25:21 -08:00
Phillip Stephens
3b101267f8
Merge pull request #88 from lioncash/radar
...
Graphics/Shaders: Minor changes
2019-11-10 08:03:42 -08:00
Lioncash
902f4fb5c5
Graphics/Shaders: Use forward declarations where applicable
...
Now, with all of the headers normalized, we can safely convert some
headers into forward declarations without needing to worry about
potentially breaking code in other headers or source files.
2019-11-09 20:22:09 -05:00
Phillip Stephens
6c1f682e0f
Initial CRidley implementation
2019-11-09 15:48:46 -08:00
Phillip Stephens
77b61b0e68
Fix saves sending you to incorrect rooms, fix triggers
2019-11-05 09:18:14 -08:00
Phillip Stephens
1a5179feb2
Fix CSpacePirate activating too early
2019-11-05 02:22:14 -08:00
Phillip Stephens
e5c8592d5a
Merge pull request #118 from lioncash/seg
...
CSegId: Minor changes
2019-10-26 19:51:08 -07:00
Lioncash
660d092cad
CSegId: Add member functions for querying validity
...
Allows querying validity of segment IDs without hardcoding the magic
value that signifies an invalid ID.
2019-10-26 22:43:11 -04:00
Lioncash
c4ad797953
CArtifactDoll: Collapse loop into std::all_of
...
Same thing, but directly stores to a variable.
2019-10-26 14:57:21 -04:00
Lioncash
7a8edc8d5e
CArtifactDoll: Make use of std::array where applicable
2019-10-26 14:57:21 -04:00
Lioncash
26b24d604a
CArtifactDoll: Make use of an anonymous namespace
...
Provides a unified section to place internally linked data.
2019-10-26 14:57:21 -04:00
Lioncash
bea9c5bb74
CArtifactDoll: Organize cpp includes
2019-10-26 14:57:17 -04:00
Lioncash
3a0daa3ab9
CLogBookScreen: Use forward declarations where applicable
...
Allows for avoiding the over exposing of types through the header when
included in other translation units or headers.
2019-10-15 10:25:43 -04:00
Lioncash
5b8f3f6693
CLogBookScreen: Organize cpp includes
...
Tidies them up to be consistent with its header.
2019-10-15 10:13:30 -04:00
Lioncash
4db0e49851
CLogBookScreen: Invert conditional within UpdateBodyText()
...
Allows unindenting the contained code by one level.
2019-10-15 10:05:53 -04:00
Lioncash
b93f7a4ceb
CLogBookScreen: Use std::u16string's append() member instead of operator+
...
Appends to the existing buffer instead of constructing a superfluous
temporary.
2019-10-15 10:03:54 -04:00
Lioncash
d64824d3e5
CLogBookScreen: Make use of std::any_of within IsScanCategoryReady()
...
Same thing but collapses into a single return.
2019-10-15 10:00:15 -04:00
Lioncash
251a2a7723
CLogBookScreen: Make use of structured bindings where applicable
...
Allows decomposing long pair names into their constituent elements
2019-10-15 09:57:24 -04:00
Lioncash
f21ee0786a
CLogBookScreen: Make signed/unsigned/FP conversions explicit
...
Silences warnings relating to signed/unsigned comparisons and
conversions to floating-point types.
2019-10-15 09:36:10 -04:00
Lioncash
3951a07bfa
CLogBookScreen: Dehardcode constants where applicable
...
We can just query the containers for the iteration value
2019-10-15 09:16:13 -04:00
Lioncash
4b78d51a85
CLogBookScreen: Use emplace_back where applicable
...
Allows simplifying code and constructing elements in place instead of
copying them (which is what would occur with the defautl move
constructor).
2019-10-15 07:22:01 -04:00
Phillip Stephens
5f0f3ea45c
More tweak CVars
2019-10-05 07:07:13 -07:00
Lioncash
67cd0d44c6
CAtomicBeta: Make skBombLocators an internal array
...
Like with CAtomicAlpha, we can also fully hide this array from external
view by making it internally linked.
2019-10-03 01:34:45 -04:00
Lioncash
abe8b9510b
CAtomicBeta: Organize cpp includes
2019-10-03 01:30:04 -04:00
Lioncash
e0e38b569e
CAtomicAlpha: Remove .data() call in SBomb constructor
...
We can just use the std::string_view constructor for std::string, which
eliminates an unnecessary strlen call.
2019-10-03 01:26:50 -04:00
Lioncash
18eb2b73b1
CAtomicAlpha: Use emplace_back where applicable
...
Simplifies the construction of the SBomb instances, while also
constructing in place.
2019-10-03 01:26:50 -04:00
Lioncash
c882003d37
CAtomicAlpha: Make skBombLocators an internal array
...
This is only used within the cpp file, so we can relocate its definition
there to make it fully internally-linked.
2019-10-03 01:26:50 -04:00
Lioncash
ee791d6a37
CAtomicAlpha: Organize cpp includes
2019-10-03 01:26:42 -04:00
Phillip Stephens
7d2ad7b1b2
Merge pull request #93 from lioncash/loop
...
CSlideShow: Use ranged for loops in constructor
2019-10-01 06:43:56 -07:00
Phillip Stephens
d2e9495686
Merge pull request #96 from lioncash/array2
...
CFinalInput, ControlMapper: Use std::array where applicable
2019-10-01 06:43:23 -07:00
Jack Andersen
e1d46755a3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-09-30 21:41:42 -10:00
Jack Andersen
16ca0d24c2
Explicit Asset ID refactor
2019-09-30 21:38:03 -10:00
Lioncash
dc565969e6
CFinalInput: Use std::array where applicable
...
Allows simplifying copies and gets rid of hardcoded size values.
2019-10-01 01:59:56 -04:00
Lioncash
2eb5e7c446
CSlideShow: Use emplace_back where applicable
...
Same behavior, but constructs in place instead of potentially copying.
2019-09-30 18:07:34 -04:00
Lioncash
b7e0dbd354
CSlideShow: Use ranged for loops in constructor
...
Same behavior, but without hard-coded magic size values.
2019-09-30 18:06:33 -04:00
Lioncash
6ad5de497f
CSeedling: Make skNeedleLocators an array of std::string_view
...
Makes the strings non-allocating. This also eliminates 12 runtime static
constructors that need to execute on program start.
2019-09-28 20:22:31 -04:00
Lioncash
3f743d5c9f
CSeedling: Use std::array with skNeedleLocators
...
Makes the array strongly-typed and impervious to implicit array to
pointer decay.
2019-09-28 20:21:24 -04:00
Lioncash
2a34b6be68
CSeedling: Move skNeedleLocators into the cpp file
...
This can be entirely hidden from external view, making it an
implementation detail.
2019-09-28 20:15:39 -04:00
Lioncash
08d4addc70
CSeedling: Organize source file includes
...
Tidies it up a little.
2019-09-28 20:08:45 -04:00
Lioncash
a633b8e8fd
General: Normalize RuntimeCommon include paths
...
Performs the same normalizing done to the RuntimeCommonB target, now all
of the runtime headers have normalized include paths.
2019-09-28 04:14:29 -04:00
Lioncash
027c10464f
CMemoryCardDriver: Correct erroneous fallthrough within HandleCardError()
...
In the game executable itself, there exists no fallthrough here (which
makes sense, given all IO errors would be reported as character set
errors, otherwise).
2019-09-24 16:36:43 -04:00
Phillip Stephens
68e2fad74f
Fix TCastTo.hpp inclusions, add comment to warn against modifying include path
2019-09-21 06:07:13 -07:00
Lioncash
96f035f24b
CMorphBall: Use std::array where applicable
...
Makes the arrays strongly-typed and impervious to implicit
array->pointer decay.
This also uncovered an out of bounds memory read within UpdateEffects
cause by said array->pointer decay.
2019-09-16 21:11:30 -04:00
Lioncash
86218421f5
CFrontEndUI: Use std::array where applicable
...
Makes the array types strongly-typed and also allows us to eliminate a
few magic values within the code.
2019-09-14 16:26:29 -04:00
Lioncash
b6ea391755
CFrontEndUI: Enclose file-local data within an anonymous namespace
...
Gets rid of the need to write static, and also makes it impossible to
violate the ODR for any declared types within the namespace (e.g.
FEMovie).
2019-09-14 15:45:17 -04:00
Lioncash
2a10e547d2
CFrontEndUI: Sort includes
...
Tidies up the includes for the translation unit and alphabetizes them
for easier reading.
2019-09-14 15:42:12 -04:00
Lioncash
f9079f0215
Runtime: Make use of std::make_unique where applicable
...
Makes use of the C++14 make_unique allocation function to allocate class
instances where applicable instead of a reset with a new operator within
it.
This doesn't touch cases where buffers are allocated, given make_unique
would zero-initialize them.
2019-09-12 04:09:48 -04:00
Lioncash
9983366a53
RumbleFxTable: Use std::array for the lookup table
...
Strongly enforces the type of the array and also allows size querying,
etc, directly from the type.
2019-09-10 19:13:34 -04:00
Lioncash
d25f4fa9a3
MP1/CFlaahgraTentacle: Amend sphere collision list appending
...
This was always using the first element in the array to append t the
output joint list, resulting in incorrect names and radius values.
2019-09-06 09:43:32 -04:00
Lioncash
5aafd3935b
CGBASupport: Amend code to compile with jbus changes
2019-09-04 01:56:08 -04:00
Phillip Stephens
256994c199
Initial CEnergyBall, update submodules, various fixes
2019-08-31 02:02:21 -07:00
Phillip Stephens
9866bac443
Update jbus, initial CEnergyBall stub
2019-08-23 01:32:48 -07:00
Phillip Stephens
e855cbd902
Update hecl, fix CFlickerBat's targetable state being inverted
2019-08-20 06:58:13 -07:00
Lioncash
afab3e0327
Runtime: Make const/non-const getters have the same name
...
Makes for a more consistent interface, as getters won't have different
names to remember based off whether or not they're const qualified.
2019-08-14 12:45:57 -04:00
Phillip Stephens
2ace76e3d2
Merge pull request #41 from lioncash/const
...
RuntimeCommon: Use const on member functions where applicable
2019-08-14 06:36:27 -07:00
Phillip Stephens
64489c7461
Merge pull request #39 from lioncash/bind
...
MP1: Migrate from std::bind to lambdas
2019-08-14 06:36:06 -07:00
Lioncash
d3d629d405
RuntimeCommon: Use const on member functions where applicable
...
Adds missing const qualifiers on class member functions that don't
modify instance state.
2019-08-14 09:25:39 -04:00
Lioncash
8b7945e76f
MP1: Migrate from std::bind to lambdas
...
Provides a more straightforward means of supplying custom behavior in
place. Lambdas also typically optimize better compared to std::bind
objects.
2019-08-14 04:55:21 -04:00
Lioncash
acb9ac92e7
Runtime/CGameOptions: Use std::array where applicable
...
Makes the data a little more strongly typed; preventing implicit
array->pointer decay. It also allows simplifying assignments within the
CGameState code.
While we're at it, we can also eliminate several instances of magic
numbers related to the array sizes throughout the code.
2019-08-14 03:24:00 -04:00
Phillip Stephens
7eb3bce499
Update submodules, more CMetroidBeta imps
2019-08-13 14:41:15 -07:00
Phillip Stephens
ebdcfb6b51
Initial CMetroidBeta imps
2019-08-11 08:14:52 -07:00
Phillip Stephens
a572100176
Add CRipper files
2019-08-10 20:02:54 -07:00
Phillip Stephens
ad5e395a51
Fixes for `override` modernization
2019-08-10 17:49:41 -07:00
Phillip Stephens
1e625e0995
Fix missed `override` declarations
2019-08-09 15:07:52 -07:00
Lioncash
9312eef905
RuntimeCommon: Use override where applicable
...
Continues the override modernization by applying it to the main
RuntimeCommon target. Resolves around 1100+ cases where override can be
used.
2019-08-09 17:39:42 -04:00
Phillip Stephens
2f65d6d3a2
Merge branch 'namespace' of https://github.com/lioncash/urde into lioncache-namespace
2019-08-08 20:33:05 -07:00
Lioncash
fc906eec66
MP1/CMFGame: Remove erroneous forward declaration
...
This type is actually defined within the urde::MP1 namespace, not the
top-level urde namespace.
We remove the namespace itself however, given the header for that type
is already being included.
2019-08-08 23:10:00 -04:00
Phillip Stephens
ff83dbc676
Minor fixes and cleanup
2019-08-03 17:02:53 -07:00
Jack Andersen
5acf9ecbcf
Graphics debug groups and bug fixes
2019-07-20 22:42:52 -10:00
Jack Andersen
b4fe474de3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-07-19 18:29:06 -10:00
Jack Andersen
7a3da1f7a6
Massive fmtlib refactor
2019-07-19 18:27:21 -10:00
Phillip Stephens
1a9ca77603
Update ScriptObject DNAs to match known values
2019-07-19 01:30:11 -07:00
Phillip Stephens
e552030d40
Fix approach PathFind call
2019-07-16 15:33:18 -07:00
Phillip Stephens
18d6372c28
Finish CTryclops patterned functions
2019-07-16 15:28:14 -07:00
Phillip Stephens
328749d1ba
More CFlaahgra imps, initial CTryclops imps
2019-07-16 08:54:07 -07:00
Jack Andersen
e38a3ece89
More CBabygoth fixes
2019-07-06 22:22:35 -10:00
Jack Andersen
fd0bfc3acf
Minor flamethrower and babygoth fixes
2019-06-30 20:14:42 -10:00
Jack Andersen
003146f614
Work on CBabygoth
2019-06-29 21:29:49 -10:00
Phillip Stephens
44cae7bdb9
More CFlaahgra imps
2019-06-26 18:06:03 -07:00
Jack Andersen
a1745cff96
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-06-20 20:03:26 -10:00
Jack Andersen
77af3f0ebd
CPuddleToadGamma and animation system fixes
2019-06-20 20:02:56 -10:00
Phillip Stephens
eb43e9bdee
Silly compile fixes
2019-06-20 14:27:50 -07:00
Phillip Stephens
a67ea52617
More CFlaahgraImps
2019-06-20 14:22:06 -07:00
Phillip Stephens
6df0fcde50
Minor CElementGen cleanup, implement CFlaahgraPlants
2019-06-20 14:17:03 -07:00
Phillip Stephens
8c35cd02f0
More CFlaahgra imps
2019-06-19 14:11:13 -07:00
Phillip Stephens
568e15a89a
More Flaahgra imps
2019-06-18 18:55:38 -07:00
Phillip Stephens
6ae550e9d6
More CFlaahgra imps
2019-06-17 18:39:56 -07:00
Jack Andersen
9ccc4227cb
Initial support for asynchronous shader compilation
2019-06-15 20:25:29 -10:00
Jack Andersen
8266f52cc2
rstl::optional is no more
2019-06-11 16:14:39 -10:00
Jack Andersen
0e8e3e906c
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-06-11 16:05:44 -10:00
Jack Andersen
e218b8aeb5
CActorContraption fixes, better CMake dependency handling
2019-06-11 16:05:17 -10:00
Phillip Stephens
b7b65b04a4
Initial Flaahgra implementations
2019-06-10 01:28:33 -07:00
Phillip Stephens
0322b5b234
CFlaahgraTentacle doesn't actually create a shadow
2019-06-09 17:13:19 -07:00
Phillip Stephens
b251bc541f
CFlaahgraTentacle implementations (needs testing)
2019-06-09 17:09:07 -07:00
Jack Andersen
77d0ef942d
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-06-05 14:08:24 -10:00
Jack Andersen
b7aa3e06d2
Per-stage shader hashing
2019-06-05 14:07:50 -10:00
Jack Andersen
410d7896f7
Support for rendering dynamic cubemaps
2019-05-31 17:41:01 -10:00
Phillip Stephens
b18576cf58
Initial CMagdolite imps
2019-05-14 15:30:15 -07:00
Phillip Stephens
28071851ad
Initial CFlameThrower imps
2019-04-16 01:00:46 -07:00
Jack Andersen
3a0d2930fa
Numerous uninitialized memory fixes
2019-04-06 19:14:48 -10:00
Jack Andersen
b72cc490e8
Implement CFishCloud
2019-04-02 18:32:31 -10:00
Phillip Stephens
799ff4a64b
Finalize CBloodFlower imps
2019-03-23 22:45:47 -07:00
Phillip Stephens
27643313f9
Implement CBloodFlower and more CBabygoth imps
2019-03-22 17:36:10 -07:00
Jack Andersen
99b1a8ef49
Lots of bug fixes
2019-03-12 17:46:20 -10:00
Jack Andersen
52b36795ac
Proper handling for persistently resident resources
2019-03-09 23:37:36 -10:00
Jack Andersen
2f963b9ce3
Various bug fixes
2019-03-08 22:58:27 -10:00
Jack Andersen
67b9882dbe
Thermal visor fixes
2019-02-24 22:14:59 -10:00
Jack Andersen
8df0a4913c
zeus constexpr refactor and thermal visor fixes
2019-02-23 21:15:54 -10:00