Phillip Stephens
bb9359c579
Merge pull request #266 from lioncash/make
...
CParticleElectric: Use std::make_unique where applicable
2020-03-23 23:28:59 -07:00
Phillip Stephens
498df6588b
Merge pull request #265 from lioncash/type
...
RetroTypes: Minor adjustments
2020-03-23 23:28:38 -07:00
Phillip Stephens
734f1d2db5
Merge pull request #264 from lioncash/move
...
General: Remove unnecessary std::move calls
2020-03-23 23:28:24 -07:00
Phillip Stephens
425f8d4cc8
Merge pull request #263 from lioncash/array3
...
CDecal: Make use of std::array where applicable
2020-03-23 23:28:08 -07:00
Phillip Stephens
dbbf9e33fd
Merge pull request #262 from lioncash/nullopt
...
CBeamProjectile: Explicitly return std::nullopt in GetTouchBounds()
2020-03-23 23:27:54 -07:00
Phillip Stephens
1c841d10f8
Merge pull request #261 from lioncash/const7
...
CBomb: Make file-scope material filter constexpr
2020-03-23 23:27:39 -07:00
Phillip Stephens
dc6954491b
Merge pull request #260 from lioncash/array2
...
CPlayerState: Make g_typeNameMap a compile-time array
2020-03-23 23:27:19 -07:00
Phillip Stephens
4dc73e56a0
Merge pull request #259 from lioncash/default
...
CPlayerState: Default CPowerUp constructor and also remove undefined behavior
2020-03-23 23:27:06 -07:00
Phillip Stephens
2e43266714
Merge pull request #258 from lioncash/emplaced
...
General: Make use of emplace_back where applicable
2020-03-23 23:26:51 -07:00
Phillip Stephens
6c7fdc11a0
Merge pull request #257 from lioncash/virt
...
CWorld: Rename IMapWorld to IGetMapWorld()
2020-03-23 23:26:35 -07:00
Phillip Stephens
6c9d6bc38b
Merge pull request #256 from lioncash/binding
...
CActorContraption: Make use of structured bindings where applicable
2020-03-23 23:26:19 -07:00
Lioncash
70c51c3a86
CPlayer: Un-nest code within FinishNewScan()
...
Makes this function much nicer to read.
2020-03-23 02:44:44 -04:00
Lioncash
7a29f4bf52
CParticleSwoosh: Resolve sign-conversion warnings
...
Resolves trivial warnings within loop condition checks.
2020-03-23 00:38:23 -04:00
Lioncash
a2517a504e
CIntElement: Remove const_cast
...
CIESampleAndHold caches values internally for use later in a non-visible
manner to the user of the class. This is a good place for mutable to be
used.
This improves the readability of the GetValue() implementation.
2020-03-22 06:05:59 -04:00
Lioncash
cd184daeba
CAnimData: Give names to function prototype parameters
...
Provides at least some form of name for all functions in the interface.
This allows IDEs to perform proper name inspection (as well as being
slightly more informative to the reader in some cases).
2020-03-22 05:42:11 -04:00
Lioncash
34a0e9f23d
CParticleElectric: Use std::make_unique where applicable
...
Makes it obvious that std::unique_ptr instances are being created within the
implementation code.
2020-03-22 05:27:49 -04:00
Lioncash
8cd27ac822
RetroTypes: Take types in comparisons by value where applicable
...
CAssetId, TEditorId, and TUniqueId are all small enough to fit within
registers as is, so we can take these types by value, which allows for
eliminating unnecessary memory referencing.
2020-03-22 04:44:45 -04:00
Lioncash
6ed2415f6f
RetroTypes: Mark return types as [[nodiscard]] where applicable
...
Given the types within this header are quite widely used within the
codebase, it's worth it in this scenario to annotate functions that
expect their return value to be used with the [[nodiscard]] attribute.
2020-03-22 04:43:26 -04:00
Lioncash
0e54861455
General: Remove unnecessary std::move calls
...
There's no real need to std::move a primitive type. A copy will be
performed either way. We can remove std::move in this case to improve
readability.
2020-03-22 00:56:04 -04:00
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
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
Lioncash
9d5857e139
CGuiSliderGroup: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-03-17 22:22:06 -04:00
Lioncash
fc466ff062
CFlameThrower: Resolve sign-conversion warnings in DoCollisionCheck()
...
Resolves trivial sign conversion warnings and also makes some variables
const where applicable.
2020-03-17 21:55:24 -04:00
Lioncash
457c116275
CCollisionInfoList: Simplify definition of begin() and end()
...
Same behavior, but without a verbose return type.
2020-03-17 21:41:54 -04:00
Lioncash
1d6354ba26
CDrawStringOptions: Resize vector within constructor
...
Same behavior, but constructs the vector with the necessary size, rather
than constructing and resizing after the fact.
2020-03-17 21:35:08 -04:00
Lioncash
fa6006003d
CAuiEnergyBarT01: Make use of std::array where applicable
...
Same behavior, but allows dehardcoding array sizes.
2020-03-17 21:26:57 -04:00
Lioncash
e534f00706
CAuiEnergyBarT01: Convert typedef into using alias
...
Same behavior, but nicer to read.
2020-03-17 21:24:01 -04:00
Lioncash
15e4d4aa01
CAuiImagePane: Make use of std::array where applicable
...
Same behavior, stronger typing.
2020-03-17 21:22:17 -04:00
Lioncash
ec7bca8c20
CLight: Collapse std::max calls into one
...
We can use the overload that takes an initializer list to make it easier
to read.
2020-03-17 20:54:56 -04:00
Lioncash
e821f736de
CLight: Mark caching member variables as mutable
...
Member variables acting as caches is one of the areas where marking
variables as mutable makes sense.
We can do this to allow for the elimination of const_cast in some member
functions.
2020-03-17 20:47:12 -04:00
Lioncash
9483b64c91
CLight: Mark kDefaultPosition and kDefaultDirection as constexpr
...
Same behavior, but allows runtime constructors to be elided.
2020-03-17 20:44:22 -04:00
Lioncash
17a1f90a89
CLight: Prevent implicit double->float truncations
...
We can just mark these literals as floats to keep the arithmetic
operating on floats instead of doubles.
2020-03-17 20:42:39 -04:00
Lioncash
1dd1542106
CLight: Remove unnecessary initializer list initializers
...
These are already initialized within the class definition, so they don't
need to be respecified here.
2020-03-17 20:39:29 -04:00
Lioncash
6077814a0e
CMapWorld: Provide parameter names in header for functions
...
Makes it more self-documenting from the interface alone and also allows
IDE inspections to be more convenient.
2020-03-17 20:12:32 -04:00
Lioncash
1fa74087fc
CMapWorld: Remove usages of const_cast
...
Internals of this class are definitely being modified through some of
these calls, so they should be made non-const. This allows the
modifications to have their const_cast calls removed, making the code a
little nicer to read.
2020-03-17 20:00:14 -04:00
Lioncash
03f7047549
CMapArea: Make use of std::array where applicable
2020-03-17 19:36:19 -04:00
Lioncash
62682fe19f
CMapArea: Resolve variable name shadowing
2020-03-17 19:22:13 -04:00
Lioncash
b570168359
CMapArea: Remove type-punning undefined behavior within PostConstruct()
...
Casting up from unsigned char or char to an unrelated type isn't
permitted by the C++ standard in the manner it's currently being done.
We can utilize std::memcpy to mitigate this.
2020-03-17 19:20:37 -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
Lioncash
e5e4a6482c
CLineRenderer: Make use of std::array where applicable
...
Same behavior, but without the potential for unintentional array to
pointer decay.
2020-03-17 19:07:27 -04:00
Lioncash
858162e0c1
CLineRenderer: Remove unnecessary casts to bool
...
These constructs function identically without the need for casting.
2020-03-17 19:04:01 -04:00
Lioncash
b1e5bf72b6
CFogVolumeFilter: Make use of std::array where applicable
...
Makes data strongly typed and also allows for the removal of some
hardcoded array sizes.
2020-03-17 18:52:47 -04:00
Luke Street
6ddbd15cfc
Merge pull request #237 from lioncash/state
...
CStateManager: Casting-related cleanups
2020-03-16 20:19:31 -04:00
Luke Street
488614563e
Merge pull request #236 from lioncash/sign
...
CGrappleArm: Minor changes
2020-03-16 20:18:31 -04:00
Lioncash
179f0b5f08
CStateManager: Remove instances of const_cast where applicable
...
Eliminates trivial casts that don't require much modifications to other
existing interfaces.
2020-03-16 20:16:15 -04:00
Luke Street
87eeafe0b0
CSnakeWeedSwarm: Renaming & cleanup
2020-03-16 20:15:22 -04:00
Lioncash
58b112dbe6
CStateManager: Convert reinterpret_cast instances over to static_cast
...
Conversions from void* can be done with static_cast.
2020-03-16 20:05:41 -04:00
Lioncash
0ae2364b24
CStateManager: Remove unnecessary casts
2020-03-16 20:01:57 -04:00
Lioncash
258409bc7d
CGrappleArm: Remove const_cast within RenderXRayModel()
...
Same behavior, but without a cast.
2020-03-16 19:53:04 -04:00
Lioncash
9063b16d36
CGrappleArm: Convert reinterpret_cast to static_cast in PointGenerator()
...
It's permissible to use static_cast when converting from void* to
another type.
2020-03-16 19:16:46 -04:00
Lioncash
0cbfc6d169
CGrappleArm: Move skDependencyNames into BuildSuitDependencyList()
...
Same behavior, but narrows the visible scope of the array.
2020-03-16 19:12:55 -04:00
Lioncash
d0d6210ccd
CGrappleArm: Resolve sign mismatch warnings in loops
2020-03-16 19:11:16 -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