Commit Graph

3832 Commits

Author SHA1 Message Date
Lioncash 2b4b7c36a5 CDecal: Make use of std::array where applicable
Same behavior, but with stronger-typing and no implicit array to pointer
decay.
2020-03-21 01:53:41 -04:00
Lioncash bf590dd855 CBeamProjectile: Explicitly return std::nullopt in GetTouchBounds()
Allows some implementations to completely avoid zeroing out the internal
buffer within the std::optional instance.
2020-03-21 01:46:59 -04:00
Lioncash 5b7e440ff7 CBomb: Make file-scope material filter constexpr
Allows the data to be placed into the read-only segment.
2020-03-21 01:42:46 -04:00
Lioncash 83c9af9153 CPlayerState: Make g_typeNameMap a compile-time array
While useful as a map, this causes an allocation that occurs during
program start and lasts until the program terminates, even if the
relevant code is never executed.

Given the total number of elements is quite small, we can convert this
into a compile-time array and perform the lookup with that instead.
While we're at it, we can eliminate an unnecessary second lookup into
said array by reusing the iterator from the first find.
2020-03-21 00:57:05 -04:00
Lioncash ff703b1189 CPlayerState: Remove undefined behavior within CPlayerState constructor
Type-punning via a union is currently undefined behavior according to
the C++ standard, so we can use std::memcpy instead to accomplish the
same thing.
2020-03-21 00:39:40 -04:00
Lioncash ba6f55a928 CPlayerState: Default CPowerUp constructor
Same behavior but allows the constructor to be considered trivial.

While we're at it, we can make the constructors constexpr, considering
the data structure only holds two primitives.
2020-03-21 00:34:16 -04:00
Lioncash fc4df76afc General: Make use of emplace_back where applicable
Allows for in-place construction. Also results in less code to read in
certain usages.
2020-03-21 00:30:12 -04:00
Lioncash 8a9e76a345 CWorld: Rename IMapWorld to IGetMapWorld()
Allows const overloading to function properly and prevents potential
compilation errors from occurring if constness on functions is ever
changed.
2020-03-20 23:27:07 -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
Luke Street 36ac0a8d78 CStateManager: Fix CMapWorld const reference 2020-03-18 01:18:00 -04:00
Luke Street 9e05819f05
Merge pull request #253 from lioncash/const4
CRelayTracker: Make HasRelay() a const member function
2020-03-18 01:09:31 -04:00
Luke Street f6e2f196ce
Merge pull request #252 from lioncash/resize2
CRumbleVoice: Resize vectors within constructor initializer list
2020-03-18 01:09:09 -04:00
Luke Street 92c9ec02e5
Merge pull request #251 from lioncash/rumble
CInputGenerator: Make use of std::array where applicable
2020-03-18 01:08:12 -04:00
Luke Street dcf96e9826
Merge pull request #250 from lioncash/statemgr
CStateManager: Make use of std::array where applicable
2020-03-18 01:07:21 -04:00
Luke Street 93be0fbc72
Merge pull request #249 from lioncash/list
CObjectList: Make use of std::array where applicable
2020-03-18 01:05:42 -04:00
Luke Street 44325a5ad4
Merge pull request #248 from lioncash/slider
CGuiSliderGroup: Make use of std::array where applicable
2020-03-18 01:05:30 -04:00
Luke Street a7b2ad15dc
Merge pull request #247 from lioncash/sign-mismatch
CFlameThrower: Resolve sign-conversion warnings in DoCollisionCheck()
2020-03-18 01:05:16 -04:00
Luke Street 66c321d4a8
Merge pull request #246 from lioncash/def
CCollisionInfoList: Simplify definition of begin() and end()
2020-03-18 01:04:19 -04:00
Luke Street b13a6b491b
Merge pull request #245 from lioncash/drawstring
CDrawStringOptions: Resize vector within constructor
2020-03-18 01:04:08 -04:00
Luke Street 7c8de88fd7
Merge pull request #244 from lioncash/pane
CAui*: Make use of std::array where applicable
2020-03-18 01:03:50 -04:00
Lioncash cb4884fcef CRelayTracker: Make HasRelay() a const member function
While we're at it, we can make use of HasRelay() internally where
applicable to simplify code a little bit.
2020-03-18 01:03:35 -04:00
Luke Street dcc7affb8f
Merge pull request #243 from lioncash/light
CLight: Minor cleanup
2020-03-18 01:03:04 -04:00
Luke Street b3b8c33006
Merge pull request #242 from lioncash/const2
CMapWorld: Minor changes
2020-03-18 01:01:45 -04:00
Luke Street cecac3472a
Merge pull request #241 from lioncash/float
CMapArea: Minor changes
2020-03-18 01:00:20 -04:00
Luke Street a1c8867e83
Merge pull request #240 from lioncash/move
CMainFlow: std::move shared_ptr in SetGameState
2020-03-18 00:59:24 -04:00
Luke Street 18ef68df2a
Merge pull request #239 from lioncash/line
CLineRenderer: Minor changes
2020-03-18 00:58:46 -04:00
Luke Street dc0c721af7
Merge pull request #238 from lioncash/array2
CFogVolumeFilter: Make use of std::array where applicable
2020-03-18 00:58:28 -04:00
Luke Street fcf7044bf2 Merge remote-tracking branch 'github/recovery' 2020-03-18 00:45:49 -04:00
Lioncash 488e377374 CRumbleVoice: Collapse repeated std::max calls in GetIntensity()
We can make use of the std::max overload that takes an initializer list.
2020-03-18 00:34:29 -04:00
Lioncash 71399d0944 CRumbleVoice: Correct bool->s16 conversion
Given the return type of the function is an s16, we can just use 0
directly here.
2020-03-18 00:32:51 -04:00
Lioncash 2701f060ee CRumbleVoice: Resize vectors within constructor initializer list
Same behavior, but constructs in place with the size, rather than
constructing and then resizing.

x20_handleIds cannot be done the same way unfortunately, as
reserved_vector doesn't have a constructor accepting a size argument
like std::vector does.
2020-03-18 00:28:44 -04:00
Lioncash e83d5caea6 CInputGenerator: Make use of std::array where applicable
Allows removing hardcoded array sizes.
2020-03-17 23:29:11 -04:00
Lioncash bf11be46ad CStateManager: Make use of std::array where applicable
Same behavior, but allows dehardcoding array sizes and makes the array
types more strongly typed.
2020-03-17 23:10:41 -04:00
Lioncash 9e6f86cb16 CObjectList: Make use of std::array where applicable
Same behavior, but with stronger typing.
2020-03-17 22:38:21 -04:00