Lioncash
a862b792de
CBoneTracking: Make use of parameter in SetActive()
...
GM8E v0 makes use of the parameter and doesn't always set the value to
true.
2020-03-25 02:12:56 -04:00
Luke Street
556f870dc8
Merge branch 'pr-277'
2020-03-25 02:09:09 -04:00
Luke Street
f91536ebee
Merge branch 'pr-276'
2020-03-25 02:09:05 -04:00
Luke Street
8314d5b6ef
Merge branch 'pr-255'
2020-03-25 02:09:02 -04:00
Luke Street
3734a09ed3
CGuiWidget: Make GetIsFinishedLoading non-const
2020-03-25 02:01:47 -04:00
Lioncash
40fc3f9dd8
CModelBoo: Remove usages of const_cast
...
Many functions are modifying internals of CBooModel and const-casting
is performed in order to work around functions being const when they
really shouldn't be.
This amends the function signatures in order to allow these functions to
exist without const_cast, making code much nicer to read.
2020-03-25 02:01:46 -04:00
Lioncash
e38d86fe59
CPhysicsActor: Amend constructor names for CPhysicsState
...
These were previously undescriptive names despite the member variables
being fully named. We can amend the parameters here.
2020-03-25 01:56:58 -04:00
Lioncash
81ae6bdda2
CPhysicsActor: Add names to parameters in prototypes
...
Allows better introspection in IDEs and makes the interface itself more
self-documenting.
2020-03-25 01:54:17 -04:00
Lioncash
22036859db
CPASDatabase: Add names to parameters in prototypes
...
Makes IDE introspection better.
2020-03-25 01:43:27 -04:00
Lioncash
fad980dc19
CBodyController: Make HasBodyInfo() accept a const reference
...
This only queries state and doesn't actually modify it.
2020-03-25 01:39:08 -04:00
Lioncash
f875bdf024
CBodyController: Add names to parameters in interface
...
Makes the interface more self-documenting and allows IDEs to perform
better introspection at call sites.
2020-03-25 01:36:54 -04:00
Lioncash
ab6c45c7a8
CWorld: Provide parameter names for prototypes
...
More self-documenting from the interface alone and allows IDE
inspections at callsites to be better.
2020-03-25 01:27:56 -04:00
Lioncash
985b85d9db
CAudioGroupSet: Eliminate undefined behavior within LoadData()
...
Eliminates aliasing violations.
2020-03-25 01:14:27 -04:00
Lioncash
855fc0ced9
CAreaOctTree: Add names to parameters in prototypes
...
Allows IDEs to perform better inspections at call sites.
2020-03-25 00:45:33 -04:00
Lioncash
f2b1e44ee1
CEntity: Rename ConnectionList() to GetConnectionList()
...
Allows const overloading to function, preventing compilation errors from
occuring across constness changes.
2020-03-24 21:29:44 -04:00
Lioncash
8644b8393b
CEntity: Add parameter names to interface
...
Allows IDEs to perform better parameter inspection.
2020-03-24 21:28:15 -04:00
Lioncash
f323638fb7
CCollisionActor: Provide parameter names in interface where applicable
...
Makes the interface more self-documenting at a glance and allows IDEs to
do better parameter inspection at call sites.
2020-03-24 21:16:30 -04:00
Phillip Stephens
e8f0d29a3b
Merge pull request #275 from lioncash/const-over
...
CPlayerState: Rename HealthInfo() to GetHealthInfo()
2020-03-24 17:45:59 -07:00
Phillip Stephens
01a0c68db9
Merge pull request #274 from lioncash/health
...
CGameState: Set HP value in LoadGameFileState()
2020-03-24 17:45:43 -07:00
Phillip Stephens
c72f388929
Merge pull request #273 from lioncash/team-uninit
...
CTeamAiMgr: Initialize x90_timeSinceMelee and x90_timeSinceRanged to 0.0f in constructor
2020-03-24 17:45:29 -07:00
Phillip Stephens
9aece39445
Merge pull request #272 from lioncash/uninit
...
CFluidPlane: Always initialize mul to 0.0f in CalculateRippleIntensity()
2020-03-24 17:45:15 -07:00
Lioncash
ef93a601eb
CPlayerState: Rename HealthInfo() to GetHealthInfo()
...
Allows const overloading to function and prevents compilation errors
from occurring if constness changes through future changes of any sort.
2020-03-24 06:20:37 -04:00
Lioncash
9fba0bf50b
CGameState: Set HP value in LoadGameFileState()
...
GM8E v0 stores the HP value of the loaded player state into the returned
GameFileStateInfo instance.
This prevents the health member from being returned uninitialized.
2020-03-24 06:14:26 -04:00
Lioncash
64d0563872
CTeamAiMgr: Initialize x90_timeSinceMelee and x90_timeSinceRanged to 0.0f in constructor
...
Makes all class members have a deterministic initial state.
2020-03-24 05:19:05 -04:00
Lioncash
f416a814a1
CFluidPlane: Always initialize mul to 0.0f in CalculateRippleIntensity()
...
Avoids a -Wmaybe-uninitialized warning.
2020-03-24 05:14:01 -04:00
Lioncash
35ea097028
CPlayer: Add parameter names to prototypes
...
Makes them more self-documenting from the interface alone and also
allows IDEs to perform better parameter and argument inspection.
2020-03-24 04:33:54 -04:00
Phillip Stephens
fc87bd8022
Merge pull request #270 from lioncash/brace
...
CPlayer: Un-nest code within FinishNewScan()
2020-03-23 23:29:59 -07:00
Phillip Stephens
af2738c7b1
Merge pull request #269 from lioncash/sconv
...
CParticleSwoosh: Resolve sign-conversion warnings
2020-03-23 23:29:44 -07:00
Phillip Stephens
00691c1175
Merge pull request #268 from lioncash/intconst
...
CIntElement: Remove const_cast
2020-03-23 23:29:26 -07:00
Phillip Stephens
d62c163086
Merge pull request #267 from lioncash/iface
...
CAnimData: Give names to function prototype parameters
2020-03-23 23:29:12 -07:00
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
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
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
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
7039232a95
Merge pull request #233 from lioncash/pos
...
CPoseAsTransforms: Make use of std::array where applicable
2020-03-16 16:14:40 -04:00
Luke Street
4a64d92433
Merge pull request #232 from lioncash/blur2
...
CPhazonSuitFilter: Convert define into local variable
2020-03-16 16:14:25 -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
f45e2362c5
CPoseAsTransforms: Make use of std::array where applicable
2020-03-16 16:08:25 -04:00
Lioncash
cc6d50a1aa
CPoseAsTransforms: Mark constructor as explicit
...
Prevents potentially error-prone implicit constructions.
2020-03-16 16:05:52 -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
Lioncash
bb075d51ed
CPhazonSuitFilter: Convert define into local variable
...
Same behavior, but with a more localized scope.
2020-03-16 15:57:21 -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
Lioncash
a9082bc445
CCollisionActor: Mark gkDefaultCollisionActorMaterials as constexpr
...
While we're at it, change the g to s, since it's internally linked.
2020-03-15 20:04:15 -04:00
Luke Street
eeb09f512d
Merge pull request #220 from lioncash/array
...
CHud*: Make use of std::array where applicable
2020-03-15 19:56:33 -04:00
Luke Street
79f6dbac73
Merge pull request #228 from lioncash/time
...
CCharAnimTime: Make constructors constexpr where applicable
2020-03-15 19:46:39 -04:00
Luke Street
76f12c5c38
Merge pull request #227 from lioncash/pair
...
CAnimSourceReader: Minor cleanup
2020-03-15 19:46:21 -04:00
Luke Street
797c583ed7
Merge pull request #226 from lioncash/clamp
...
CAnimSource: Simplify ClampZeroToOne()
2020-03-15 19:45:37 -04:00
Luke Street
70c60ecf2f
Merge pull request #225 from lioncash/bool
...
CArchitectureQueue: Make operator bool explicit
2020-03-15 19:45:22 -04:00
Luke Street
04c226e645
Merge pull request #224 from lioncash/explicit2
...
CMemoryCardSys: Make CardResult's conversion operator explicit
2020-03-15 19:45:13 -04:00
Luke Street
5804032fb4
Merge pull request #223 from lioncash/ref
...
CGameHintInfo: Take CVParamTransfer parameter by const reference
2020-03-15 19:45:02 -04:00
Luke Street
4eaed95c11
Merge pull request #222 from lioncash/view
...
CGameOptions: Make use of std::string_view where applicable
2020-03-15 19:44:47 -04:00
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
316128b7af
Use bintoc_compress; reduce URDE/HECL binary sizes
2020-03-02 02:02:57 -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
Lioncash
88cecd80ec
CAutoMapper: In-class initialize SAutoMapperRenderState member variables
...
Simplifies the parameterized constructor a little bit and provides a
consistent initial state for the default constructor.
2020-01-28 13:29:59 -05:00
Lioncash
50fbd2ad42
CAutoMapper: Make SAutoMapperRenderState constructor parameter names more informative
2020-01-28 13:26:48 -05:00
Lioncash
7f20cd0883
CGuiTextSupport: Make use of emplace_back() in AddText()
...
Same behavior, less code.
2020-01-28 00:22:19 -05:00
Lioncash
3d5ed90d1a
CWeaponMode: Make constexpr capable
...
Given this is such a simple type, this can be made usable with
constexpr. This allows the type to be usable at file-scope without
potentially incurring a runtime constructor.
2020-01-23 23:12:18 -05:00
Phillip Stephens
516ea136f4
Merge pr-127
2020-01-20 20:05:21 -08:00
Phillip Stephens
8d90edd55f
Initial CChozoGhost imp
2020-01-20 20:00:40 -08:00
Lioncash
b847930a85
CCameraManager: Collapse loop into std::find_if in RemoveCameraShaker
...
We can collapse the loop into a find_if call here, since it only does a
look up and nothing more.
2020-01-20 12:57:23 -05:00
Lioncash
b3fcbf9a89
CCameraManager: Resolve signed/unsigned mismatch in RemoveCameraShaker
...
An unsigned value is passed into RemoveCameraShaker at its only usage
spot. This also resolves unsigned/signed comparisons within the function
itself.
2020-01-20 12:51:52 -05:00
Luke Street
72e068419f
Merge branch 'pr-126'
2020-01-17 19:57:50 -05:00
Luke Street
a66a965437
Merge branch 'pr-125'
2020-01-17 19:57:48 -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
ab2ad38220
CPatterned: Mark CMaterialList instance in CollidedWith as constexpr
...
This isn't ever modified, so we can mark it constexpr to eliminate
potential runtime initializers.
2020-01-15 14:48:21 -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
Lioncash
221cc5c6b8
RuntimeCommonB: Normalize cpp file includes
...
Like the prior changes normalizing the inclusions within headers, this
tackles the cpp files of the RuntimeCommonB target, making these source
files consistent with their headers.
2019-12-22 18:12:04 -05:00
Phillip Stephens
21159e604e
More CThardus
2019-12-14 15:50:29 -08:00
Phillip Stephens
8689d599c5
GCC Fixes
2019-12-14 01:14:58 -08:00
Phillip Stephens
70747e23d5
Fix font rendering and world teleporter in MPT and PAL
2019-12-11 10:55:19 -08:00
Phillip Stephens
b507799478
Add texture info lookup
2019-12-11 00:37:30 -08:00
Phillip Stephens
1a13f7e4ee
Update submodules, initial CTextureCache
2019-12-10 20:51:33 -08:00
Phillip Stephens
4e5921c952
Update submodules
2019-12-10 20:51:23 -08:00
Phillip Stephens
34e78a2dd0
Move CParticleGlobals from the executable and onto the heap, minor fixes, update wiki link
2019-12-03 00:47:05 -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
940ab1f662
World/CFluidPlaneGPU: Name variable to be more meaningful in RenderStripWithRipples()
2019-11-09 20:22:16 -05:00
Lioncash
136a229a1a
Graphics/Shaders: Use std::array where applicable
...
Makes the arrays strongly typed and impervious to array->pointer decay.
This also allows simplifying some operations (such as being able to call
fill() instead of needing to use std::fill, etc).
2019-11-09 20:22:16 -05:00
Lioncash
417506572c
Graphics/Shaders/CCameraBlurFilter: Move Vert definition into cpp file
...
This is private and not used anywhere in the exposed interface, so this
can be moved into the cpp file to make it an implementation detail and
allow moving a zeus header into the cpp file.
2019-11-09 20:22:16 -05: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
21ed1b6660
Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/urde
2019-11-09 15:49:09 -08:00
Phillip Stephens
6c1f682e0f
Initial CRidley implementation
2019-11-09 15:48:46 -08:00
Lioncash
0546553f2d
IOStreams: Replace CZipSupport with lambda functions
...
We can safely replace the class with direct lambda functions, given they
don't need to capture any state.
2019-11-09 02:57:39 -05:00
Lioncash
9a728a38d6
IOStreams: Use 1U when shifting bitmasks
...
Otherwise this is technically shifting a signed value, which can lead to
warnings. While we're at it, we can use UINT32_MAX instead of
0xFFFFFFFF to mean the same thing.
2019-11-08 19:05:45 -05:00
Lioncash
95a0b0e559
IOStreams: Remove reinterpret_casts where applicable
...
We can simply make use of writeBytes() where applicable, which does it
for us, which makes the code a slight bit less verbose.
2019-11-08 18:55:13 -05:00
Lioncash
3894c0539e
IOStreams: Use fmt where applicable
...
Eliminates the use of printf and instead uses fmt so types can
automatically be formatted without the use of casts.
While we're at it, we can resolve a sign-conversion warning in
PrintBinary().
2019-11-08 18:51:07 -05:00
Lioncash
cf8fe1861f
IOStreams: Normalize cpp file inclusions
2019-11-08 18:45:31 -05:00
Phillip Stephens
f2c207b85e
Fix regression
2019-11-06 10:12:20 -08:00
Phillip Stephens
297513c8d4
Fix Impact Crater causing an infinite loop for simply not having a skybox
2019-11-06 09:33:45 -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
b87f94802d
Merge pull request #120 from lioncash/collision
...
CCollisionResponseData: Minor changes
2019-10-30 01:13:40 -07:00
Phillip Stephens
ec7f6804cb
Merge pull request #119 from lioncash/constexpr
...
CollisionPrimitive: Make collision primitive types constexpr capable
2019-10-30 01:13:31 -07:00
Lioncash
fff7b90c85
CCollisionResponseData: In-class initialize primitives
...
Avoids needing to give them their own entry within the constructor
initializer list.
2019-10-29 19:43:23 -04:00
Lioncash
156c0e8cd0
CCollisionResponseData: Name parameters in function declarations
...
Allows IDEs and other introspection tools to be more useful when
indicating parameters in function calls.
2019-10-29 19:41:53 -04:00
Lioncash
9c391f90e3
CCollisionResponseData: Join vector initializations into constructor initializer list
...
Generally provides marginally better code generation.
We can also fill x10_sfx with the invalid SFX constant at the same time
instead of performing a resize and then filling it again.
2019-10-29 19:41:53 -04:00
Lioncash
3d67088697
CCollisionResponseData: Make use of std::array where applicable
...
Allows us to replace some heap allocating file-scope std::vector
instances with constexpr std::arrays, eliminating quite a few static
constructors.
2019-10-29 19:41:48 -04:00
Lioncash
c1beec5bb0
CCollisionResponseData: Organize cpp inclusions
...
Organizes them alphabetically to make for better human reading.
2019-10-29 19:27:21 -04:00
Lioncash
d7dd256d38
CollisionPrimitive: Make use of constexpr types where applicable
...
We can now mark some usages of these types as constexpr and also make
them fully internal to the translation unit.
2019-10-29 18:36:26 -04:00
Lioncash
5c7bb9e7d7
CollisionPrimitive: Make collisition primitive types and comparisons constexpr capable
...
Allows them to be used within constexpr contexts.
2019-10-29 18:36:21 -04: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
Phillip Stephens
118fb22ce0
Merge pull request #117 from lioncash/layout
...
CCharLayoutInfo: Minor changes
2019-10-26 18:37:59 -07:00
Lioncash
30af6f0bfb
CSegId: Make constexpr capable
...
Allows the class to be used within constexpr contexts, given it's such a
small class.
2019-10-26 21:36:30 -04:00
Lioncash
69831b4a13
CCharLayoutInfo: Make constructors explicit
...
Makes constructions of the types visibly explicit, given they aren't
conversion constructors.
2019-10-26 21:27:03 -04:00
Lioncash
bb9da96870
CCharLayoutInfo: Invert conditional within GetFromParentUnrotated()
...
Inverts the conditional to be in terms of the true case, making it a
little nicer to read.
2019-10-26 21:24:10 -04:00
Lioncash
9193f4c4d7
CCharLayoutInfo: Make use of const where applicable
...
Makes trivial variables const to make it explicit that they aren't
modified.
2019-10-26 21:21:57 -04:00
Lioncash
293d19cf13
CCharLayoutInfo: std::move std::string instance in CCharLayoutInfo constructor
...
Avoids performing a copy (and by extension also avoids redundant
allocations).
2019-10-26 21:19:57 -04:00
Lioncash
e7b0470f55
CCharLayoutInfo: Use heterogenous lookup with std::map
...
Allows using std::string_view with std::map without the need to
construct a completely new std::string instance. Making the lookups via
GetSegIdFromString() completely non-allocating.
Notably, this also allows it to properly function with
non-null-terminated string_view instances.
2019-10-26 21:17:49 -04:00
Phillip Stephens
0042e44521
Merge pull request #116 from lioncash/name
...
CParticleGenInfo: Use slightly more full names for parameters where applicable
2019-10-26 17:51:57 -07:00
Phillip Stephens
83c0ad1e72
Merge pull request #114 from lioncash/model
...
CModel: Implement CModelFlags' operator!= in terms of operator==
2019-10-26 17:51:40 -07:00
Phillip Stephens
5865552d7f
Merge pull request #113 from lioncash/artifact
...
CArtifactDoll: Minor changes
2019-10-26 17:51:30 -07:00
Lioncash
bbdfe3d962
CParticleGenInfo: Provide slightly more full names for parameters where applicable
...
Makes Intellisense and any function highlighting systems a little more
informative.
2019-10-26 20:37:35 -04:00
Lioncash
a82dd4f11f
CParticleGenInfo: Name bool parameter for SetParticleEmission
...
Allows the parameter name to be visible in code completion and
highlighting.
2019-10-26 20:32:44 -04:00
Lioncash
8f28786048
CModel: Implement CModelFlags' operator!= in terms of operator==
...
Same behavior, less code.
2019-10-26 14:58:38 -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
Phillip Stephens
5efd827e99
Merge pull request #115 from lioncash/const
...
CAnimData: Remove usage of const_cast within Touch()
2019-10-24 22:47:14 -07:00
Phillip Stephens
246e233dce
Cleanup CPathFindArea
2019-10-24 22:44:37 -07:00
Lioncash
eae1a1d06d
CAnimData: Remove usage of const_cast within Touch()
...
We can just call the function normally without the need for a
const_cast.
2019-10-23 20:44:19 -04:00
Phillip Stephens
18382e5bb6
Merge pull request #112 from lioncash/emplace
...
rstl: Return reference to emplaced element in emplace_back()
2019-10-20 18:33:06 -07:00
Lioncash
18f64dac8d
rstl: Amend unrelated clang-format discrepancies
...
Avoids others being hit by these if any changes in the header ever need
to be made in the future.
2019-10-19 02:06:33 -04:00
Lioncash
15e856404d
rstl: Return reference to emplaced element in emplace_back()
...
Follows the behavior of the C++17 variant of emplace_back, which returns
a reference to the emplaced element.
This allows eliminating cases like:
container.emplace_back(some, things, arguments);
container.back().blah();
... // subsequent modifications to the element
given we can just retrieve the reference from the emplace_back call.
2019-10-19 02:05:09 -04:00
Lioncash
26a9ceab60
CGunWeapon: Eliminate const_cast usages in DrawMuzzleFx()
...
We can just make the temporary variable non-const to eliminate the need
for const_casts.
2019-10-19 01:11:19 -04:00
Lioncash
271ee6d8c3
CGunWeapon: Make use of algorithms where applicable
...
We can leverage these to also eliminate some hardcoded sizes.
2019-10-19 01:11:05 -04:00
Lioncash
c228baf5f7
CGunWeapon: Make use of std::array where applicable
...
Makes the arrays strongly typed and also allows us to dehardcode some
loop boundary constants.
2019-10-19 01:07:01 -04:00
Lioncash
c36e6a85b9
CGunWeapon: Organize cpp includes
...
Makes the source file consistent with the header.
2019-10-19 00:03:38 -04:00
Phillip Stephens
6a3eba0091
Merge pull request #103 from lioncash/unique
...
CParticleDataFactory: Use unique_ptr where applicable
2019-10-18 01:01:40 -07:00
Phillip Stephens
c63ee167da
Merge pull request #110 from lioncash/override
...
MkCastTo: Use override where applicable
2019-10-18 01:00:31 -07:00
Lioncash
853df176ed
MkCastTo: Use override where applicable
...
Generates the derived classes with the override specifier to prevent
warnings.
2019-10-17 22:15:25 -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
76f90569ca
Merge pull request #108 from lioncash/case
...
CAutoMapper: Collapse case statements in ProcessMapZoomInput()
2019-10-13 13:12:20 -07:00
Lioncash
040c724a8a
CAutoMapper: Collapse case statements in ProcessMapZoomInput()
...
Same behavior as the game executable, but without the code duplication.
2019-10-12 13:57:01 -04:00
Phillip Stephens
668f8da97d
Merge pull request #106 from lioncash/find
...
CCollisionPrimitive: Simplify the InitAdd* member functions
2019-10-12 07:29:13 -07:00
Phillip Stephens
6996ebfbec
Merge pull request #105 from lioncash/collision
...
CCollisionPrimitive: Minor cleanup
2019-10-12 07:29:04 -07:00
Phillip Stephens
aa956fff55
Merge pull request #104 from lioncash/cuv
...
CUVElement: Provide initial value for cv in GetValueUV()
2019-10-12 07:28:54 -07:00
Lioncash
21c1ed2940
CBallCamera: Use bool instead of float for holding boolean value
...
Using a float is very suspect and also more expensive in terms of
code-gen to access and modify the variable.
2019-10-12 02:25:24 -04:00
Lioncash
5f4aba60e1
CCollisionPrimitive: Simplify the InitAdd* member functions
...
We can extract the duplicated behavior out into its own member function
and then reuse it in order to deduplicate repeated behavior.
This allows simplifying the member functions in a manner that allows
declaring most of the variables const. The lack of mutable behavior
within these functions makes it much nicer to read.
2019-10-12 00:27:18 -04:00
Lioncash
d2a44dbc0b
CollidableAABox: Default destructor
...
Same behavior, but remains consistent with the rest of the codebase.
2019-10-11 22:53:01 -04:00
Lioncash
da4a33f01a
CCollisionPrimitive: Default virtual destructor
...
Same behavior, but more consistent with the existing interface, given
a constructor is defaulted.
2019-10-11 22:39:58 -04:00
Lioncash
9cbe8ba885
CCollisionPrimitive: Use using for type aliases where applicable
...
Same behavior, better readability.
2019-10-11 22:36:57 -04:00
Lioncash
af7d8e9095
CUVElement: Provide initial value for cv in GetValueUV()
...
The game executable itself sets this variable to an initial value of 1
prior to calling cycleFrames' GetValue() member function.
2019-10-11 17:05:26 -04:00
Lioncash
35fb0e4911
CUVElement: Use const where applicable
...
While we're at it, we can also make conversions to float explicit.
2019-10-11 17:05:23 -04:00
Lioncash
7430b70b73
CParticleDataFactory: Use unique_ptr where applicable
...
Same behavior, but makes the functions a little safer in terms of memory
management.
2019-10-11 15:16:13 -04:00
Lioncash
8b58cdc268
CIntElement: Add class to handle RTOI int elements
...
Within the int element handling code, there seems to be a missing
implementation (with the FourCC 'RTOI'), which seems to take two 32-bit
floating point values, multiplies them, then converts the result to a 32-bit
integer.
2019-10-06 08:52:41 -04:00
Phillip Stephens
5f0f3ea45c
More tweak CVars
2019-10-05 07:07:13 -07:00
Lioncash
ff940612bc
CIntElement: Make use of std::clamp within CIEClamp's overrides
...
Same behavior, less code.
2019-10-04 19:51:38 -04:00
Lioncash
3407a59ad7
CIntElement: Simplify CIEKeyframeEmitter's GetMaxValue()
...
We can just use std::max_element here to collapse the loop into an
assignment.
2019-10-04 19:46:36 -04:00
Lioncash
af0c2c41e3
CIntElement: Organize cpp includes
2019-10-04 19:38:31 -04:00
Lioncash
83873b580e
CIntElement: Join variable declarations with assignments where applicable
2019-10-04 19:38:26 -04:00
Lioncash
d4b9124b9f
rstl: Allow move constructors and assignment operators to be conditionally noexcept
...
Makes the constructors and assignment operators for reserved_vector
noexcept, allowing them to play nicely with standard facilities and
avoid needing to copy construct where avoidable.
2019-10-04 01:28:27 -04:00
Lioncash
b2d9283b3c
rstl: Provide full set of type aliases in reserved_vector
...
Allows for better integration with standard library facilities and
templates, now that types can be queried.
2019-10-04 00:43:47 -04:00
Lioncash
00a4df5aa6
rstl: Make use of variable templates where applicable
...
While we're at it, we can use if constexpr on some conditional checks.
2019-10-04 00:20:31 -04:00
Lioncash
cbcba6f184
rstl: Organize headers
...
We can also make includes a little nicer for the compiler by only
including logvisor headers when performing debug builds.
2019-10-04 00:08:46 -04:00
Phillip Stephens
b9b9eddd1e
Merge pull request #99 from lioncash/typo
...
CElementGen: Correct FourCC in SetTranslation()
2019-10-03 07:01:31 -07:00
Lioncash
66b198d1a4
CElementGen: Correct FourCC in SetTranslation()
...
The game executable checks for a FourCC of ELSC within this function,
not SELC.
2019-10-03 09:45:26 -04: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
Lioncash
44306ab528
CAutoMapper: Eliminate cases of variable shadowing
...
Silences two variable shadowing warnings.
2019-10-01 22:43:23 -04:00
Lioncash
3383e65761
CAutoMapper: Use size_t instead of u32 as loop variable type where applicable
...
Uses the same sized type as the .size() call to prevent potential
overflow false-positives.
2019-10-01 22:40:13 -04:00
Lioncash
eca34bede5
CAutoMapper: Use emplace_back where applicable
...
Allows for in-place construction.
2019-10-01 22:37:52 -04:00
Lioncash
23ca919c18
CAutoMapper: Use std::array where applicable
2019-10-01 22:31:07 -04:00
Lioncash
a5d18002be
CAutoMapper: Organize cpp includes
2019-10-01 22:12:15 -04:00
Phillip Stephens
b38ba6b636
Revert static_cast in MkCastTo.py
2019-10-01 07:27:20 -07:00
Phillip Stephens
df9b8bc05d
Merge pull request #90 from lioncash/noexcept
...
RetroTypes: Make functions noexcept where applicable
2019-10-01 06:44:39 -07:00
Phillip Stephens
60ecede3fd
Merge pull request #91 from lioncash/string
...
CAudioSys: Minor cleanup
2019-10-01 06:44:26 -07:00
Phillip Stephens
be2da2f363
Merge pull request #92 from lioncash/fwd
...
ICollisionFilter: Use forward declarations where applicable
2019-10-01 06:44:08 -07: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
6bcdf98eeb
Merge pull request #94 from lioncash/default
...
CIOWin: Default the virtual destructor
2019-10-01 06:43:45 -07:00
Phillip Stephens
4d94923a23
Merge pull request #95 from lioncash/gen
...
MkCastTo: Use '_v' variants of type traits where applicable
2019-10-01 06:43:33 -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
Phillip Stephens
d5277b4d91
Remove invalid include
2019-10-01 06:41:55 -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
f0186e7ceb
ControlMapper: Use std::array where applicable
2019-10-01 02:11:02 -04: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
91bdfa86f6
MkCastTo: Use static_cast instead of reinterpret_cast
...
If the type is convertible to the other one, then a static_cast will be
able to perform the conversion (assuming the type itself is
constructible). If it isn't, then nullptr will just be converted to a
null version of T*.
2019-09-30 22:22:12 -04:00
Lioncash
bf65456a2c
MkCastTo: Use '_v' variants of type traits where applicable
...
Same thing, but less typing, slightly shrinking the file size.
2019-09-30 22:15:53 -04:00
Lioncash
99a7e64a8a
CIOWin: Default the virtual destructor
...
No functional change. Just maintains consistency with the rest of the
codebase.
2019-09-30 18:20:11 -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
4442421586
ICollisionFilter: Use forward declarations where applicable
...
With the headers all normalized, we can safely convert the only
ICollisionFilter include into a forward declaration.
2019-09-30 17:20:59 -04:00
Lioncash
9af64d3895
CAudioSys: Convert file-scope std::string into a constexpr string_view.
...
Eliminates a static constructor that needs to run at program start.
2019-09-30 11:03:47 -04:00
Lioncash
dea89e7664
CAudioSys: Remove construction of pairs in emplace calls
...
The purpose of emplace is to construct the pair within the map. While
using make_pair will result in the same behavior, it's a tad more
verbose than it needs to be.
2019-09-30 11:00:49 -04:00
Lioncash
f1d08c4fbf
CAudioSys: Place file-scope locals within an anonymous namespace
...
Prevents any potential violations of the ODR from occuring.
2019-09-30 10:59:31 -04:00
Lioncash
c77153b03c
RetroTypes: Make SObjectTag's operator bool explicit
...
Prevents potentially error-prone implicit conversions to bool.
2019-09-30 09:00:17 -04:00
Lioncash
8176bf75ef
RetroTypes: Make functions noexcept where applicable
...
Given these are used quite frequently, it's better to explicitly mark
these as noexcept so that they may be used within noexcept contexts.
2019-09-30 08:58:34 -04:00
Lioncash
c17b268c57
IVParamObj: Make default constructor of CVParamTransfer constexpr
...
std::shared_ptr's default constructor is constexpr, so we can apply it
to CVParamTransfer to allow using it within constexpr contexts, granting
more flexibility to the type.
2019-09-30 02:56:00 -04:00
Lioncash
cdf6361d6c
IVParamObj: Make rest of interface noexcept where applicable
...
Allows a few of these member functions to be used within noexcept
contexts.
2019-09-30 02:55:39 -04:00
Lioncash
026de44611
IVParamObj: Explicitly supply copy and move constructor/assingnment operators
...
Since the copy constructor is provided, we should explicitly specify the
others to make behavior explicit (and prevent the copy constructor from
being considered over the move constructor in certain scenarios).
2019-09-30 02:55:25 -04:00
Lioncash
541adb02d2
CToken: std::move buildParams within CObjectReference's constructor
...
CVParamTransfer contains a std::shared_ptr, so a copy here performs an
unnecessary reference count increment and decrement. We can std::move
here to avoid this.
2019-09-30 02:34:10 -04:00
Lioncash
2014650d58
CToken: Mark CToken's move constructor noexcept
...
The move constructor doesn't perform any behavior that would result in
an exception being thrown. Marking it as noexcept allows the type to
play nicely with facilities that make use of std::is_move_constructible
to determine whether copies can be avoided or not in certain
circumstances (e.g. the standard library; notably, std::vector).
We can't mark the move assignment operator as noexcept currently,
however, as it calls into interfaces outside of CToken.
2019-09-30 02:32:29 -04:00
Phillip Stephens
79ac5d76df
Update hecl, more CVar imps
2019-09-29 08:17:55 -07: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
Phillip Stephens
00cff89141
Merge pull request #86 from lioncash/header
...
General: Normalize RuntimeCommon include paths
2019-09-28 08:02:35 -07:00
Phillip Stephens
b60ad339d5
Fix CStringExtras::CompareCaseInsensitive, `std::lexicographical_compare` does not have the intended behavior
2019-09-28 08:00:49 -07: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
359f505787
CCameraManager: Collapse private static variables into functions
...
Four of the five variables aren't modified, so they can be specified
directly within the functions and just be reused in place of the
variable names. This allows the constants to be elided or put into
read-only memory if necessary. It also makes the mutable value explicit.
2019-09-27 22:46:59 -04:00
Phillip Stephens
3a8d669b68
Merge pull request #84 from lioncash/emplace
...
CBooRenderer: Use emplace_back() where applicable
2019-09-26 06:54:57 -07:00
Phillip Stephens
a914d5499a
Merge pull request #83 from lioncash/driver
...
CMemoryCardDriver: Correct erroneous fallthrough within HandleCardError
2019-09-26 06:54:46 -07:00
Lioncash
178e0e2cbc
CBooRenderer: Use emplace_back() where applicable
...
Given the appended types consist of trivial types, it's more efficient
in this context to construct the data in place over using push_back,
which will cause a redundant copy (move semantics on trivial types are a
copy).
2019-09-24 22:51:38 -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
Lioncash
36d04456dd
General: Normalize RuntimeCommonB include paths
...
Finishes the normalizing of all of includes within the RuntimeCommonB target's headers.
2019-09-23 17:22:37 -04:00
Lioncash
06789d1860
General: Normalize several headers' include paths
...
Normalizes the include paths and makes them consistent. Also adds any
missing includes relevant to the interface.
2019-09-22 20:36:33 -04:00
Lioncash
8dcffbb67f
CBurstFire: Use std::array where applicable
...
Makes the array type strongly typed and prevents implicit array to
pointer decay.
2019-09-22 09:48:07 -04:00
Lioncash
adf9610138
CBurstFire: Tidy up includes
...
Includes all necessary headers and uses a forward declaration where
applicable. Ensures inclusion changes in other headers don't break the compilation
of these headers and source files.
2019-09-22 09:45:01 -04:00
Phillip Stephens
2e8eec91ea
Missed one
2019-09-21 06:10:54 -07:00
Phillip Stephens
68e2fad74f
Fix TCastTo.hpp inclusions, add comment to warn against modifying include path
2019-09-21 06:07:13 -07:00
Phillip Stephens
a89852fc46
Merge pull request #79 from lioncash/trunc
...
CAuiEnergyBarT01: Prevent truncation within DownloadBarCoordFunc
2019-09-21 05:44:27 -07:00
Phillip Stephens
88e057bf11
Merge pull request #78 from lioncash/const2
...
CGuiWidgetDrawParms: Mark Default instance as const
2019-09-21 05:44:00 -07:00
Phillip Stephens
110f07256d
Merge pull request #77 from lioncash/state
...
CPlayerState: Make use of std::array where applicable
2019-09-21 05:43:49 -07:00
Lioncash
3f06dd0a64
CAuiEnergyBarT01: Prevent truncation within DownloadBarCoordFunc
...
Without float literals, the calculation is performed in double precision
and then truncated down to float implicitly.
2019-09-19 22:31:46 -04:00
Lioncash
04cc300019
CGuiWidgetDrawParms: Mark Default instance as const
...
This isn't ever modified, so it can be made const to prevent
unintentional modification (and allow it to be placed within the RO
segment).
2019-09-19 21:46:11 -04:00
Lioncash
f49c8e9d6c
CPlayerState: Use std::array where applicable
...
Prevents implicit array->pointer decay and makes for a more convenient
data type.
2019-09-19 15:42:50 -04:00
Lioncash
f4fd182741
CPlayerState: Move arrays into an anonymous namespace where applicable
...
Keeps local arrays together and makes it impossible to accidentally
violate the ODR.
2019-09-19 15:36:39 -04:00
Lioncash
bc285913c8
CPlayerState: Organize includes
2019-09-19 15:27:20 -04:00
Lioncash
019ee29a0c
CPlayer: Make file-scope CMaterialFilter instances constexpr
...
Now that the interface is constexpr, we can mark these as constexpr.
2019-09-19 15:18:44 -04:00
Phillip Stephens
9c2fd54546
Merge pull request #75 from lioncash/matlist
...
CMaterialFilter/CMaterialList: Make interface constexpr
2019-09-19 01:21:56 -07:00
Lioncash
2d8111531f
CMaterialFilter: Make interface constexpr
...
A few instances of CMaterialFilter are constructed at file-scope using
the Make* functions and the constructor. Given these aren't constexpr,
this means these are technically runtime function calls. We can make
these constexpr to allow the initialization to be done at compile-time,
slightly improving startup time.
2019-09-18 13:00:04 -04:00
Lioncash
0e39c64bfc
CMaterialList: Make interface constexpr
2019-09-18 12:45:11 -04:00
Lioncash
1f13fc05a0
CMaterialFilter/CMaterialList: Amend inclusions
2019-09-18 12:38:14 -04:00
Lioncash
6ec903f9ac
CPlayer: Use std::array where applicable
...
Makes the arrays strongly-typed and impervious to implicit
array->pointer decay. We can also eliminate a few hardcoded magic
values.
2019-09-18 12:28:44 -04:00
Lioncash
70fb763180
CPlayer: Enclose translation-unit-local data within an anonymous namespace
...
Keeps all local data within one spot and prevents any potential ODR
violations related to them from occurring.
2019-09-18 12:27:15 -04:00
Lioncash
33f10e2552
CPlayer: Organize includes
2019-09-18 11:50:26 -04:00
Lioncash
45cdc38ac0
CPlayer: Use size_t with SfxIdFromMaterial
...
Allows passing in sizes without potential truncation from size_t,
allowing nicer use of std::size() to dehardcode some magic values.
2019-09-17 14:52:42 -04: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
e4b22ea9d8
CMorphBall: Place internally linked data within an anonymous namespace
...
Keeps all internal data within one place and also prevents any potential
ODR violations from occurring in relation to any of these.
2019-09-16 14:53:52 -04:00
Lioncash
8c59ace5fe
CMorphBall: Clean up includes
2019-09-16 14:43:33 -04:00
Phillip Stephens
823df9643a
Merge pull request #71 from lioncash/enum
...
CSortedLists: Minor changes
2019-09-15 22:06:06 -07:00
Lioncash
a5ab077dc3
CSortedLists: Use std::array where applicable
...
Prevents implicit array to pointer decay and allows us to simplify a bit
of the code.
2019-09-15 19:27:19 -04:00
Lioncash
f5d486f0ca
CSortedLists: Turn ESortedList into an enum class
...
Prevents namespace pollution and makes the type more strongly-enforced
with regards to implicit conversions
2019-09-15 18:52:02 -04:00
Lioncash
0281029015
CEntityInfo: std::move vector in constructor
...
Allows calling code to potentially avoid copies altogether by moving
into the constructor.
2019-09-15 16:22:35 -04:00
Phillip Stephens
cc236dcaba
Merge pull request #69 from lioncash/frontend
...
CFrontEndUI: Use std::array where applicable
2019-09-14 19:24:12 -07:00
Phillip Stephens
0120a43e0e
Merge pull request #68 from lioncash/insensitive
...
CStringExtras: Prevent potential out of bounds reads with CompareCaseInsensitive
2019-09-14 19:23:59 -07:00
Lioncash
991d048694
CStringExtras: Prevent undefined behavior within IndexOfSubstring
...
Unlikely to occur, but does completely prevent the case of undefined
behavior if a non-ascii character ends up within the given string.
2019-09-14 16:43:06 -04:00
Lioncash
0d2b2f45a8
CStringExtras: Prevent potential out of bounds reads with CompareCaseInsensitive
...
The strcasecmp and _stricmp functions expect the passed in strings to
be null-terminated, however we we're also exposing a std::string_view
overload for that function. std::string_view instances aren't required
to be null-terminated, so this makes the interface a little unsafe.
We can use std::lexicographical_compare() to provide the same behavior
and also properly handle the case of non-null-terminated strings.
2019-09-14 16:43:04 -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
Phillip Stephens
9b816d471b
Compile fixes
2019-09-14 10:08:09 -07:00
Phillip Stephens
613f690c42
Merge pull request #66 from lioncash/lockfire
...
CCompoundTargetReticle: Fix typo in lock fire string
2019-09-13 00:11:37 -07:00
Lioncash
0aa749ce0c
CCompoundTargetReticle: Fix typo in lock fire string
...
In the actual game executable, the string is stored with a lower-case 'i', not an upper-case one.
2019-09-12 06:40:52 -04:00
Lioncash
20696fd500
CCompoundTargetReticle: Declare file-scope strings as arrays
...
Reduces the overall size of the resulting binary, as only the string
data will be stored rather than the string and a pointer pointing to
said string data.
2019-09-12 06:38:05 -04:00
Lioncash
267fd2962a
CCompoundTargetReticle: Move private strings into the cpp file
...
This is an internal detail, so we don't need to expose this in the
header,
2019-09-12 05:45:53 -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
d7493d5920
CRumbleVoice: Make SAdsrDelta interface constexpr
...
Makes the API consistent between SAdsrData and SAdsrDelta.
2019-09-10 19:13:34 -04:00
Lioncash
6ca5143b15
CRumbleVoice: Make SAdsrData constructors constexpr
...
Technically all file-scope instances have runtime-static constructors
otherwise. This allows the compiler to completely elide them from a
language point of view.
2019-09-10 19:02:22 -04:00
Phillip Stephens
60409d2f6a
Merge pull request #63 from lioncash/char
...
CActorModelParticles: Make DGRP array constexpr
2019-09-10 04:03:06 -07:00
Lioncash
5baf3206f4
CActorModelParticles: Make DGRP array constexpr
...
Technically this array wasn't readonly and contained a sequence of
modifiable elements. We can make this constexpr so that the compiler can
definitively place it into the read-only segment.
2019-09-09 20:44:23 -04:00
Phillip Stephens
e2ab93dfac
Update submodules
2019-09-09 04:21:01 -07:00
Phillip Stephens
f07fc458d2
Merge pull request #62 from lioncash/crc
...
CCRC32: Move table declaration into the cpp file
2019-09-08 17:49:44 -07:00
Lioncash
f430a00314
CCRC32: Move table declaration into the cpp file
...
This can be moved entirely into the cpp file, making it an
implementation detail.
2019-09-08 18:18:29 -04:00
Lioncash
c9271809a7
CAiFuncMap: Remove unused static std::vector
...
This isn't used, so we can remove it and get rid of a static
constructor.
2019-09-08 18:08:10 -04:00
Lioncash
20a0585cc5
CAiFuncMap: Convert typedefs into type aliases
...
Same thing, but reads a little nicer.
2019-09-08 18:08:10 -04:00
Lioncash
2f06fcba0a
CAiFuncMap: Avoid redundant map lookups in getters
...
We can just use the result of the find operation instead of rehashing
into the map to retrieve the entry.
This also allows us to make the getter const qualified.
2019-09-08 18:08:10 -04:00
Lioncash
1cfe83d8d1
CAiFuncMap: Replace map indexing with emplace in the constructor
...
Provides the same behavior, but without default initializing a map entry
that immediately gets overridden in the assignment.
2019-09-08 18:08:10 -04:00
Phillip Stephens
12c3942e65
Merge pull request #57 from lioncash/ref
...
World/CScript*: Pass by reference over by value
2019-09-06 23:21:23 -07:00
Phillip Stephens
eae1f1ab82
Merge pull request #56 from lioncash/tentacle
...
MP1/CFlaahgraTentacle: Amend sphere collision list appending
2019-09-06 23:21:01 -07:00
Lioncash
5b1e783a90
ControlMapper: Prevent array overrun cases
...
These should be comparing with >=, not >.
The command table descriptions also weren't kept in sync with the
enumeration.
2019-09-06 11:18:13 -04:00
Lioncash
2c6aed7033
World/CScript*: Pass by reference over by value
...
Based off the use of the const, it's likely that these were intended to
be references, rather than be copied by value
2019-09-06 10:49:54 -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
Phillip Stephens
a1819ca079
Merge pull request #50 from lioncash/jbus
...
General: Amend relevant code to compile with jbus changes
2019-09-03 23:12:06 -07:00
Phillip Stephens
2d1d11fb56
Update submodules, fix compiling against kabufuda
2019-09-03 23:11:04 -07:00
Lioncash
5aafd3935b
CGBASupport: Amend code to compile with jbus changes
2019-09-04 01:56:08 -04:00
Lioncash
d5fa8b72b0
CStringTable: Remove unnecessary initializer
...
std::unique_ptr always initializes to nullptr. We can remove this
implicit convertion from 0 to nullptr.
2019-09-01 03:16:54 -04:00
Lioncash
e23dfbd8db
CStringTable: Use std::array instead of std::vector
...
Gets rid of a static constructor, as well as a few heap allocations
2019-09-01 03:13:45 -04:00
Phillip Stephens
256994c199
Initial CEnergyBall, update submodules, various fixes
2019-08-31 02:02:21 -07:00
Lioncash
1d3062b33f
General: Make use of FopenUnique where applicable
...
Migrates to the hecl Fopen variant that automatically closes its
contained file handle if it goes out of scope.
2019-08-26 15:03:58 -04:00
Phillip Stephens
2a60b9fbf4
Update submodules, minor fixes
2019-08-25 18:29:25 -07:00
Lioncash
fa608acb06
CPatterned: Correct use of bool in bitfield
...
This is incremented within PathFind(), however, because the type within
this bitfield is a bool, this can trigger compilation warnings (rightly
so). So we can make it a uint32_t to make it obvious that the
incrementing behavior is intended.
2019-08-23 22:26:07 -04: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
Phillip Stephens
a41bd828e7
Update submodules
2019-08-18 18:49:54 -07:00
Phillip Stephens
fa7785d024
Fix GetAreaFog
2019-08-14 12:56:46 -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
bab78f96a5
Merge pull request #40 from lioncash/constexpr
...
RetroTypes: Make types constexpr where applicable
2019-08-14 06:36:16 -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
1f8ed5af25
RetroTypes: Make types constexpr where applicable
...
These are generally used as basic tags and ID types, so these can have a
constexpr interface. This is particularly beneficial, given some of
these types are used in file-static lookup tables.
Without being constexpr, these type's constructors in that case are
technically runtime static constructors. While most compilers will
initialize the type at compile-time, this would be dependent on the
optimizer. By marking them constexpr, we allow it outright. It also
allows those arrays to be made constexpr as well.
2019-08-14 05:20:43 -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
Phillip Stephens
bade450431
Merge pull request #37 from lioncash/conversion
...
Runtime/Input/CFinalInput: Correct return value of AKey, ASpecialKey and AMouseButton
2019-08-14 01:05:05 -07: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
Lioncash
27a8274e3b
Runtime/Input/CFinalInput: Make comparison operators const
...
While we're at it, we can also provide an inequality operator for
logical symmetry.
2019-08-14 02:11:50 -04:00
Lioncash
e9e9de26b2
Runtime/Input/CFinalInput: Correct return value of AKey, ASpecialKey and AMouseButton
...
The other A-prefixed functions all return a float value, however these
are truncating float values to bool. We can amend this to prevent
potential compilation warnings.
2019-08-14 02:07:02 -04:00
Lioncash
09f917a9aa
Runtime/Weapon/CGameProjectile: Fix misnamed virtual function
...
This has a vaguely equivalent name to FluidFXThink (which has an
uppercase X). Given this function isn't explicitly called anywhere
directly, this is assumed to be a typo.
2019-08-14 02:00:09 -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
Phillip Stephens
1d3e5cdb70
Implement Oculus loader
2019-08-09 14:55:59 -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
5eaa7a23e8
Merge branch 'override' of https://github.com/lioncash/urde
2019-08-09 06:27:54 -07:00
Phillip Stephens
8089566788
Merge branch 'assign' of https://github.com/lioncash/urde
2019-08-09 06:27:05 -07:00
Lioncash
2059535b55
RuntimeCommonB: Use the override specifier where applicable
...
Applies the override keyword where applicable to indicate visually where
member function overriding is occurring. This only targets
the RuntimeCommonB target as a starting point, which resolves around
900+ cases where the keyword could be used.
2019-08-09 09:13:26 -04:00
Lioncash
af8731f2d2
GuiSys/CInstruction: Correct erroneous assignment in TestLargestFont
...
Without this, x20_largestMonoW will never be any value other than zero,
which is indicative of a logic bug.
2019-08-09 07:08:04 -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
d648f156b8
Revert original dolphin hash idea completely
2019-08-03 17:05:40 -07:00
Phillip Stephens
ff83dbc676
Minor fixes and cleanup
2019-08-03 17:02:53 -07:00
Jack Andersen
0ab08daae7
Windows build fixes
2019-07-27 15:21:31 -10: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
cdf9545de4
Fix MemoryRelay handling in DataSpec
2019-07-16 19:10:57 -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
87023b432e
Fixes in ANIM cooking
2019-06-15 16:22:23 -10:00
Jack Andersen
37307e1cf6
Various CActorContraption fixes
2019-06-14 14:39:20 -10:00
Jack Andersen
bfa5b218f0
Remove unneeded debug messages
2019-06-11 16:20:15 -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
2f2ab149d4
Initial `CScriptSpecialFunction::ThinkSpinnerController`
2019-06-10 20:09:38 -07: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
4a4cf58b6f
HLSL cubemaps
2019-05-31 23:28:12 -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
Jack Andersen
486c925a45
Merge branch 'shader-refactor'
2019-05-10 13:10:12 -10:00
Jack Andersen
5f4ebcb2f5
Windows fixes
2019-05-09 18:09:01 -10:00
Phillip Stephens
c3527e1688
Fix compile issues
2019-05-09 20:15:26 -07:00
Phillip Stephens
81f1e22fc2
More CFlameThrower imps, implement `CScriptSpecialFunction::ThinkChaffTarget` and `CScriptSpecialFunction::ObjectFollowObject`
2019-05-09 19:33:56 -07:00
Jack Andersen
233d13ceb9
Refactor for blender 2.8 and new shader model
2019-05-07 17:50:21 -10: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
Jack Andersen
8e2db0795b
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-03-23 22:07:22 -10:00
Jack Andersen
a63a61fef8
Implement CWallCrawlerSwarm
2019-03-23 22:06:59 -10:00
Phillip Stephens
799ff4a64b
Finalize CBloodFlower imps
2019-03-23 22:45:47 -07:00
Phillip Stephens
d3a251589c
Revert convenience macro in ScriptLoader
2019-03-23 18:54:46 -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
f40bf707f6
DCLN OBB transform fix
2019-03-07 18:16:42 -10:00
Jack Andersen
4b042f6f9a
OpenGL memory leak fix
2019-03-04 22:34:43 -10:00
Jack Andersen
ed4ebf0af1
Metal fixes
2019-03-03 18:45:22 -10:00
Jack Andersen
54f0724de5
D3D fixes
2019-03-03 13:04:18 -10:00
Jack Andersen
8b9f073635
Various rendering fixes
2019-03-02 20:19:42 -10:00
Jack Andersen
4cb26976bd
More thermal visor fixes; face reflection fix
2019-02-26 18:52:01 -10:00
Jack Andersen
67b9882dbe
Thermal visor fixes
2019-02-24 22:14:59 -10:00
Phillip Stephens
5ebf465a53
Minor fixes in CGameState and CScriptEffect
2019-02-24 15:04:10 -08:00
Jack Andersen
1b31a8fbc3
Windows fixes
2019-02-23 22:42:33 -10:00
Jack Andersen
8df0a4913c
zeus constexpr refactor and thermal visor fixes
2019-02-23 21:15:54 -10:00
Jack Andersen
1186b8097c
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-02-17 19:48:01 -10:00
Jack Andersen
48eaa2545b
Working CScriptGunTurret
2019-02-17 19:47:46 -10:00
Phillip Stephens
5209432b62
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde
2019-02-16 09:17:28 -08:00
Phillip Stephens
fb1f65434d
Fix IA8 texture decoding
2019-02-16 09:16:34 -08:00
Jack Andersen
6441bcc3a2
GCC build fix
2019-02-15 15:32:05 -10:00
Phillip Stephens
c1c22eb065
Fix IA4 encoding/decoding
2019-02-11 17:58:12 -08:00
Jack Andersen
01af7b735d
Implement CScriptSpindleCamera
2019-02-09 18:41:35 -10:00
Jack Andersen
88591f48f0
More bug fixes
2019-02-07 21:56:54 -10:00
Jack Andersen
5f8b65e3b5
Various bug fixes
2019-02-07 15:08:15 -10:00
Jack Andersen
5600bf5172
MSVC static library split hack
2019-02-06 18:10:07 -10:00
Phillip Stephens
825acbaa0d
Rename `warpto` command to simply `warp` to match command line argument
2019-02-06 17:55:28 -08:00
Phillip Stephens
6ead37804b
Add ability to remove items (WIP)
2019-02-06 17:26:53 -08:00
Jack Andersen
d0e34e0ac3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-02-03 14:02:01 -10:00
Jack Andersen
a353c7ddcf
Metal shader fixes
2019-02-03 14:01:44 -10:00
Phillip Stephens
157946810a
Minor fixes to CFrontEndUI, add elapsed seconds to save selection
2019-02-03 13:20:05 -08:00
Phillip Stephens
0bb51f067c
Various fixes and minor code cleanup, issue warning when attempting to load an unimplemented object
2019-01-31 12:44:05 -08:00
Jack Andersen
7d29c6e25a
More bug fixes
2019-01-30 21:52:21 -10:00
Jack Andersen
c3d8afa852
Pathfinding and generator fixes
2019-01-29 22:38:16 -10:00
Jack Andersen
c8765bc1b9
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-01-29 10:14:49 -10:00
Jack Andersen
89906be162
Consistent lighting clamping
2019-01-29 10:14:34 -10:00
Jack Andersen
ad2681f857
Windows fixes
2019-01-28 22:28:35 -10:00
Phillip Stephens
4dd40f519e
Fix CScriptGenerator infinite recursion, update submodules
2019-01-26 15:22:51 -08:00
Jack Andersen
cf9062bba5
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-01-22 21:52:38 -10:00
Jack Andersen
137968ecc7
Bug fixes and CAutoMapper mouse events
2019-01-22 21:52:19 -10:00
Phillip Stephens
d5f3f370c8
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde
2019-01-22 22:00:59 -08:00
Phillip Stephens
049f51382b
Initial CAtomicBeta imps, needs variable names
2019-01-22 21:59:53 -08:00
Jack Andersen
aeb6a9a147
More mouse events for pause screen
2019-01-21 18:23:51 -10:00
Jack Andersen
1b019b734b
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-01-20 18:10:56 -10:00
Jack Andersen
f3f9924309
Initial mouse events for pause screen
2019-01-20 18:10:34 -10:00
Phillip Stephens
05e5fb9774
More CBabygoth Imps
2019-01-20 14:28:25 -08:00
Jack Andersen
47c6b5cba8
Bug fixes and CGuiFrame mouse events
2019-01-19 20:43:11 -10:00
Jack Andersen
851e113dc0
Implement CWarWasp
2019-01-15 18:22:44 -10:00
Jack Andersen
f9b0614327
Various bug fixes
2019-01-04 22:34:09 -10:00
Jack Andersen
d60fcc99c9
Fix CNewIntroBoss and particle bugs
2019-01-04 17:28:02 -10:00
Jack Andersen
5b55320e9b
Implement CPlasmaProjectile
2019-01-02 17:47:28 -10:00
Phillip Stephens
4f3c8daf27
Initial CBabygoth imps
2018-12-31 00:37:52 -08:00
Jack Andersen
147a9396c4
CBeetle implementation
2018-12-30 19:01:42 -10:00
Jack Andersen
0ec81477cf
CRagDoll fixes
2018-12-26 20:26:34 -10:00
Phillip Stephens
d657a8ecf6
Implement CAtomicAlpha
2018-12-17 20:42:17 -08:00
Phillip Stephens
6fe99a7ddf
Finish CFlickerBat imps
2018-12-16 21:40:27 -08:00
Jack Andersen
b7f35e0528
CRelAngle fix
2018-12-16 17:52:51 -10:00
Phillip Stephens
62d68a98da
Fix crash while taking damage in morphball
2018-12-16 13:10:18 -08:00
Jack Andersen
f184291461
ANCS PAS I/O fix
2018-12-15 20:32:07 -10:00
Jack Andersen
dac8fc3eb5
Space pirate bug fixes
2018-12-14 20:29:41 -10:00
Jack Andersen
ccf87925b9
Merge fixes
2018-12-12 21:47:50 -10:00
Jack Andersen
001d4ab7dc
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-12-12 21:40:55 -10:00
Jack Andersen
ec1cb75b25
Finish CSpacePirate implementation
2018-12-12 21:39:16 -10:00
Phillip Stephens
d30ceb6611
More CPuddleSpore implementations
2018-12-12 11:50:37 -08:00
Phillip Stephens
11c3c557bd
Initiial CPuddleSpore imp
2018-12-10 20:17:02 -08:00
Phillip Stephens
c7573ae52f
Finalize CFireFlea
2018-12-09 21:12:55 -08:00
Jack Andersen
14747e39e1
Windows fixes
2018-12-07 20:46:17 -10:00
Jack Andersen
636c82a568
New code style refactor
2018-12-07 19:30:43 -10:00
Jack Andersen
41ae32be31
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-12-07 18:36:12 -10:00
Jack Andersen
7c7da6671a
SIMD refactor
2018-12-07 15:49:15 -10:00
Phillip Stephens
dd705a3db9
Implement CSeedling
2018-12-05 16:46:35 -08:00
Phillip Stephens
eafe1d54a6
Fix samus not taking damage from CSpankWeed
2018-12-03 18:48:40 -08:00
Phillip Stephens
0ec9f1f4eb
Finish CSpankWeed
2018-12-03 18:31:15 -08:00
Phillip Stephens
9b2fd002c6
Implement CEyeBall, disable CPuddleToadGamma (preventing softlocks), initial CSpankWeed
2018-12-01 18:32:26 -08:00
Phillip Stephens
9948532957
Initial CPuddleToadGamma imps
2018-11-30 16:44:33 -08:00
Jack Andersen
e1fa938127
Work on CSpacePirate
2018-11-25 16:15:44 -10:00
Jack Andersen
9c88971df6
Initial CSpacePirate and rag doll imps
2018-11-23 22:09:35 -10:00
Jack Andersen
e736d8fa83
Fix CAnimSource reader POI handling
2018-11-20 14:51:15 -10:00
Phillip Stephens
925464dd56
Initial CEyeBall imps
2018-11-20 16:02:20 -08:00
Jack Andersen
eeb54df8d7
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-11-18 19:04:46 -10:00
Jack Andersen
fbe144bbbd
Working CParasite
2018-11-18 19:04:33 -10:00
Phillip Stephens
96f20512bb
More CScriptSpecialFunction imps, fix intermittent crash in CAnimTreeTweenBase
2018-11-18 21:01:39 -08:00
Jack Andersen
22da3a0f89
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-11-18 15:19:58 -10:00
Jack Andersen
35a3923cdf
Various bug fixes
2018-11-18 15:19:44 -10:00
Phillip Stephens
b2b0a6aee0
CMetaree imps
2018-11-17 21:10:06 -08:00
Jack Andersen
57c1196599
Various bug fixes
2018-11-17 18:01:29 -10:00
Jack Andersen
b099be63dd
Bug fixes
2018-11-17 14:10:26 -10:00
Phillip Stephens
28d695eea4
Push missing CBoneTracking.hpp
2018-11-17 14:49:32 -08:00
Phillip Stephens
ea4848196a
Implement CNewIntroBoss
2018-11-16 21:05:57 -08:00
Jack Andersen
cc4a895818
Finish CSteeringBehaviors
2018-11-15 20:06:20 -10:00
Phillip Stephens
5c3cfb519c
Initial CFlickerbat imps
2018-11-14 15:00:08 -08:00
Phillip Stephens
e6082d17f5
Initial CSteeringBehaviors imps
2018-11-14 11:23:34 -08:00
Phillip Stephens
a7e81073ae
CDamageInfo fixes, initial CPuffer
2018-11-13 20:16:11 -08:00
Jack Andersen
660e7cd239
Work on CParasite
2018-11-12 23:20:11 -10:00
Jack Andersen
bf3636a16e
Lots of CParasite implementations
2018-11-11 18:21:36 -10:00
Jack Andersen
94333e4726
Finish CStateMachine
2018-11-10 20:24:24 -10:00
Jack Andersen
9512f6c98d
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-11-10 17:28:24 -10:00
Jack Andersen
d4bb7d64eb
All CPatterned functions implemented
2018-11-10 17:27:54 -10:00
Phillip Stephens
89ece2e9b2
Proper CRandom16 usage
...
More CScriptGunTurret imps
2018-11-09 18:48:06 -08:00
Jack Andersen
4c61119970
Fix CStateManager::GetIdListForScript
2018-11-07 15:08:11 -10:00
Jack Andersen
1aab0528f3
Various bug fixes
2018-11-07 14:53:38 -10:00
Jack Andersen
0b3a9e1865
Implement CPatterned::KnockBack
2018-11-05 20:16:12 -10:00
Jack Andersen
3ef7386978
Proper interleaved rendering of indirect-textured particle instances
2018-11-04 21:25:28 -10:00
Jack Andersen
d6051f8808
Implement CKnockBackController
2018-11-04 20:12:53 -10:00
Jack Andersen
4c306e7e40
Implement CHUDBillboardEffect, bug fixes
2018-11-03 15:08:44 -10:00
Jack Andersen
d140f35886
All CEnvFxManager effects working
2018-11-02 22:46:12 -10:00
Jack Andersen
97f18efd27
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-11-01 22:16:42 -10:00
Jack Andersen
98c7525176
Initially working CEnvFxManager
2018-11-01 22:16:16 -10:00
Phillip Stephens
134f5a68a2
Implement CScriptDebugCameraWaypoint loader
2018-10-30 15:21:29 -07:00
Jack Andersen
93e9e2f6f1
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-10-27 15:23:27 -10:00
Jack Andersen
3147b49b3d
EVNT extraction fix
2018-10-27 15:22:55 -10:00
Phillip Stephens
dd30f51761
Initial CScriptGun implementation, more loaders
2018-10-27 17:20:30 -07:00
Jack Andersen
427f5d8786
Various bug fixes
2018-10-26 20:16:12 -10:00
Jack Andersen
29dad50cca
Particle, map and line renderer fixes
2018-10-25 18:37:22 -10:00
Jack Andersen
a2da358fd3
More D3D fixes
2018-10-22 15:31:00 -10:00
Jack Andersen
b76ee77ecf
Fix CMoviePlayer from rendering upside down on Vulkan
2018-10-20 19:39:16 -10:00
Jack Andersen
8fb77eac2c
Various bug fixes
2018-10-20 18:14:00 -10:00
Jack Andersen
395e5c191b
macOS build fixes
2018-10-18 16:44:41 -10:00
Jack Andersen
27ca93178a
Upside-down OpenGL reflection fix
2018-10-18 13:55:59 -10:00
Jack Andersen
290c79b57e
Fix AABB-point collision issue
2018-10-18 09:44:43 -10:00
Jack Andersen
93ff138ba9
16-bit fog volume LUT; fog is now 256x sexier
2018-10-17 22:28:57 -10:00
Jack Andersen
f433821320
Implement --warp command-line arguments
2018-10-17 18:51:59 -10:00
Jack Andersen
8d839d8a17
Scan visor and waterbox fix
2018-10-16 17:26:55 -10:00
Jack Andersen
b139e1c000
Fix space jump
2018-10-16 15:49:58 -10:00
Jack Andersen
3f4aeffb17
Merge branch 'shader-refactor'
2018-10-15 17:17:37 -10:00
Jack Andersen
919140c06f
macOS API sync
2018-10-15 17:17:02 -10:00
Jack Andersen
1851308021
Windows fixes
2018-10-14 10:16:21 -10:00
Phillip Stephens
bbfe61efbf
Various loader implementations
2018-10-11 15:57:05 -07:00
Jack Andersen
1559163f98
Shader refactor bug fixes and attachment model extract/cook
2018-10-11 10:50:05 -10:00
Jack Andersen
c91e5df986
Convert to pragma once
2018-10-06 17:42:33 -10:00
Jack Andersen
9461e98512
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into shader-refactor
2018-10-06 16:59:32 -10:00
Jack Andersen
c307e354ca
Huge shader refactor
2018-10-06 16:59:17 -10:00
Phillip Stephens
8b25548482
Various bug fixes, implement `CMain::WarpTo`
2018-09-20 20:41:57 -07:00
Phillip Stephens
94fd52d0ea
HUD and CPlayer bug fixes
2018-09-20 11:17:09 -07:00
Phillip Stephens
02d54fd5ca
Initial CParasite implementation
2018-09-16 16:22:35 -07:00
Phillip Stephens
ac33e46590
Remove debug function call
2018-09-13 17:50:16 -07:00
Phillip Stephens
679ce01a61
More CPatterned imps
2018-09-13 17:49:34 -07:00
Phillip Stephens
c3d8967605
Implement CPowerBomb
2018-09-09 18:04:57 -07:00
Phillip Stephens
489470feda
Implement CBomb
2018-09-08 18:13:56 -07:00
Phillip Stephens
ee97ede3fe
Initial CPatterned imps
2018-09-07 16:51:07 -07:00
Phillip Stephens
95fbcf914c
Finish CAi imps
2018-09-06 22:24:55 -07:00
Phillip Stephens
1a372d2589
Add support for InvDstMultiply blending for shadows, initial CAi implementation
2018-09-06 20:37:39 -07:00
Jack Andersen
e46ec80b64
Integrate Amuse into hecl cook/extract for MP1/2
2018-09-02 14:46:16 -10:00
Jack Andersen
5a60a0acfc
Amuse API changes
2018-08-27 19:44:16 -10:00
Jack Andersen
273796b284
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-07-09 08:09:00 -10:00
Jack Andersen
67197621a1
Fix fixed position camera hint
2018-07-09 08:08:44 -10:00
Phillip Stephens
56a48cd624
Initial DNAMP3 fixes various missing loader imps
2018-07-08 16:03:35 -07:00
Jack Andersen
ef1f9d564c
Big Door initial animation fix
2018-06-29 15:35:43 -10:00
Jack Andersen
d0af2cb4f7
Finish CScriptPlatform
2018-06-29 10:21:36 -10:00
Jack Andersen
3a9e7b2f9b
PVS and DCLN bug fixes
2018-06-27 20:47:34 -10:00
Jack Andersen
680cb7b353
Finish CInterpolationCamera
2018-06-27 15:17:01 -10:00
Phillip Stephens
8df333b29a
Initial CInterpolationCamera Imps
2018-06-25 23:58:43 -07:00
Jack Andersen
f8b8211b0f
Name PathCamera property fields
2018-06-25 19:42:16 -10:00
Jack Andersen
68504f5c3a
Work on CPathCamera
2018-06-25 19:24:31 -10:00
Phillip Stephens
21b25f72a3
Initial CPathCamera imps
2018-06-24 18:02:29 -07:00
Jack Andersen
186acae5d8
Initial CScriptPlatform collision
2018-06-23 16:39:53 -10:00
Jack Andersen
4ddec7e10c
Make CLineRenderer supply verts in clip-space
2018-06-23 15:01:29 -10:00
Jack Andersen
19ffd74468
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-06-23 13:09:41 -10:00
Jack Andersen
cfe384b5c2
Better octree generation density
2018-06-23 13:09:16 -10:00
Phillip Stephens
e116d887c7
Implement CSnakeWeedSwarm loader
2018-06-23 16:08:16 -07:00
Jack Andersen
bc9d225c89
Fix boost ball and other collision issues
2018-06-21 19:11:20 -10:00
Jack Andersen
f4b01e9c3f
Fix AMD crash with instanced particle shaders
2018-06-21 17:08:47 -10:00
Jack Andersen
4a19b160b9
Follow 30-degree rule when exiting morph ball
2018-06-21 14:45:29 -10:00
Jack Andersen
718d2cb29e
Water rendering order fix, morphball visor fixes
2018-06-21 11:04:16 -10:00
Jack Andersen
cd3bba2f0e
Working grapple beam
2018-06-20 14:57:57 -10:00
Jack Andersen
64dd7b1643
Update fixNES
2018-06-18 21:03:00 -10:00
Jack Andersen
58c00b6c9c
Update fixNES integration
2018-06-18 11:38:51 -10:00
Jack Andersen
56b1e562ce
Initial integration of updated fixNES
2018-06-16 10:09:12 -10:00
Jack Andersen
079c343557
ANIM cook fix; OBB generation crash fix
2018-06-15 16:26:58 -10:00
Jack Andersen
513d9c99cd
VisorParameters scan passthrough property
2018-06-15 10:37:00 -10:00
Phillip Stephens
de952f8e8b
Implement god mode, and CWeaponMgr
2018-06-13 12:36:11 -07:00
Phillip Stephens
4d8cf17078
Better handling for logging CVar
2018-06-12 20:20:49 -07:00
Jack Andersen
cfb01b80f0
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-06-12 16:32:22 -10:00
Jack Andersen
941c4d793c
Fix CScriptEffect translation set
2018-06-12 16:32:02 -10:00
Phillip Stephens
f6719cbec1
Initial implementations to support world teleportation via console, Add CVar for logging script messages
2018-06-12 19:08:11 -07:00
Jack Andersen
00a4cbdac7
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-06-11 15:17:36 -10:00
Jack Andersen
1e36329ed4
Implement Metal fluid plane tessellation shader
2018-06-11 15:16:27 -10:00
Phillip Stephens
c0b8b89a9b
Various CScriptSpecialFunction implementation, more debugOverlay CVars
2018-06-08 14:00:18 -07:00
Jack Andersen
8f9d7da3ee
Implement tessellation shader for HLSL
2018-06-07 15:15:46 -10:00
Jack Andersen
1456026875
Fix GLSL switch statement
2018-06-06 18:51:23 -10:00
Jack Andersen
5fb95d69d3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-06-06 18:44:11 -10:00
Jack Andersen
ac424ff9eb
Implement CFluidPlaneGPU for GPU-computed water ripples
2018-06-06 18:43:26 -10:00
Phillip Stephens
53f5265648
Sometimes I hate git
2018-06-04 12:30:04 -07:00
Phillip Stephens
cb2b9fa8bd
Initial CScriptGunTurret Implementation
2018-06-04 12:15:35 -07:00
Jack Andersen
e63102e180
Implement water rippling and fix CFluidPlane memory access errors
2018-06-03 15:56:21 -10:00
Jack Andersen
a5f25bf3f4
Fix water rendering
2018-06-02 20:11:39 -10:00
Jack Andersen
357a7efa9a
Various bug fixes
2018-06-01 20:06:40 -10:00
Jack Andersen
56a5cfd115
Fix TSan-reported race conditions
2018-06-01 14:03:31 -10:00
Jack Andersen
7e45600bed
Major Vulkan performance improvement
2018-05-27 11:35:58 -10:00
Jack Andersen
cc6d79e280
Various bug fixes
2018-05-26 18:22:38 -10:00
Jack Andersen
92ed463051
synchronize macOS with latest changes
2018-05-26 11:30:19 -10:00
Jack Andersen
0d3a67e78f
Fix area token loading
2018-05-25 17:07:29 -10:00
Jack Andersen
98549a7785
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-24 20:40:18 -10:00
Jack Andersen
70b3404b7c
Windows build fixes and warning avoidance
2018-05-24 20:39:38 -10:00
Phillip Stephens
48f41b6c73
Minor fixes to CMetroidAreaCollider and CHudThreatInterface
2018-05-24 18:23:27 -07:00
Jack Andersen
3ceaa82035
Fill in remaining door properties
2018-05-21 21:53:42 -10:00
Jack Andersen
1ada86cc03
Vulkan fixes
2018-05-21 21:51:08 -10:00
Phillip Stephens
e982497055
Fix bug where CGameArea::Validate/PostConstruct attempts to reuse old section buffers
2018-05-20 19:10:55 -07:00
Jack Andersen
536f943858
Vulkan backend fixes
2018-05-20 12:38:56 -10:00
Phillip Stephens
f4bd59bb2f
Disable CPatterned branches in CScriptActorKeyframe for now, update submodules
2018-05-20 08:38:44 -07:00
Jack Andersen
f6259cc8c6
Remove recursion depth check
2018-05-19 20:23:13 -10:00
Jack Andersen
13747ff61f
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-19 20:15:22 -10:00
Jack Andersen
f60af632b3
Big fixes and big memory leak refactor (linux only for now)
2018-05-19 20:14:57 -10:00
Phillip Stephens
259a2d431c
Initial CScriptSpecialFunction implementations
2018-05-19 22:01:17 -07:00
Phillip Stephens
d2c2af326d
Minor fixes to CScriptDoor
2018-05-19 14:14:37 -07:00
Jack Andersen
5f03362149
More bug fixes
2018-05-18 19:16:08 -10:00
Jack Andersen
979a54a8a8
More bug fixes
2018-05-17 18:16:33 -10:00
Jack Andersen
055c8e8a47
Various fixes
2018-05-16 18:55:33 -10:00
Jack Andersen
e943a60694
CScriptColorModulate fixes
2018-05-16 14:04:07 -10:00
Jack Andersen
c6d7950896
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-15 18:08:09 -10:00
Jack Andersen
0987866896
Implement CScriptDebris; EVNT POI fixes
2018-05-15 18:07:38 -10:00
Phillip Stephens
9929dfbc6a
Fix logic derp in Think
2018-05-14 19:59:52 -07:00
Jack Andersen
10d36ac1d6
Fix actor physics move
2018-05-14 16:56:05 -10:00
Phillip Stephens
0c49c8ea9e
Implement CScriptActorKeyframe
2018-05-14 14:44:09 -07:00
Jack Andersen
e7c3942754
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-13 18:39:35 -10:00
Jack Andersen
317aa9af25
Finish CScriptPlayerActor
2018-05-13 18:38:58 -10:00
Phillip Stephens
8d395d932e
Implement CScriptEffect, more fixes for CScritDock
2018-05-13 20:38:36 -07:00
Jack Andersen
9130b9459a
More particle bug fixes
2018-05-13 13:27:47 -10:00
Jack Andersen
faf0ac7d27
Particle POI fix, implement ORNT mode for particles
2018-05-12 18:09:11 -10:00
Jack Andersen
41034fefda
Fix see though collision material
2018-05-10 21:02:42 -10:00
Jack Andersen
280ae47b15
Add dedicated Binaries directory for build targets
2018-05-10 12:00:03 -10:00
Jack Andersen
3911a2873d
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-09 21:25:40 -10:00
Jack Andersen
12430610f1
Lots of bug fixes
2018-05-09 21:25:26 -10:00
Phillip Stephens
fdf55e7272
Implement CScriptHUDMemo, increase render bucket size, initial debug overlay
2018-05-09 19:56:54 -07:00
Jack Andersen
b58ebc1af5
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-07 19:10:39 -10:00
Jack Andersen
1c977e8021
Scan visor fixes
2018-05-07 19:10:24 -10:00
Phillip Stephens
3bc1fc1160
Various area streaming fixes, implement missing object loaders
2018-05-07 19:19:09 -07:00
Jack Andersen
81d2276458
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-05-07 16:12:39 -10:00
Jack Andersen
70e791babc
Missing SCAN packaging fix
2018-05-07 16:11:07 -10:00
Phillip Stephens
ff59786c74
Add missing files
2018-05-06 17:52:35 -07:00
Phillip Stephens
f5ea144b47
Various level streaming fixes, remove support for uncooked rep
2018-05-06 17:47:40 -07:00
Jack Andersen
9d25d44fe8
CGuiFrame destructor fix
2018-05-06 13:47:55 -10:00
Phillip Stephens
734b25cad3
Fix doors and various area streaming bugs
2018-05-01 17:43:31 -07:00
Phillip Stephens
711c3e0d2c
Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor
2018-04-29 20:12:41 -07:00
Phillip Stephens
6d60ccfd04
Various fixes and tweaks, Implement CExplosion, Add cheats
2018-04-26 14:12:20 -07:00
Jack Andersen
4a490e7d43
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2018-04-07 10:56:54 -10:00
Jack Andersen
ed4d7445c7
More fixes for GameCube cooking
2018-04-07 10:55:57 -10:00
Phillip Stephens
531b34b62d
Revert std::ceil on completion rate calculation
2018-04-06 17:22:08 -07:00
Jack Andersen
898114d803
PART MBSP property yaml fix
2018-04-04 20:58:11 -10:00
Jack Andersen
d5e471bac3
Several GameCube cooking fixes
2018-04-03 22:31:29 -10:00
Jack Andersen
06d755cf4c
GameCube spec cook fixes
2018-04-01 18:27:24 -10:00
Jack Andersen
7a2fbfc582
Initial work on GameCube package targeting
2018-03-27 22:09:41 -10:00
Jack Andersen
7c0bf75f7a
Various windows fixes and additions
2018-03-23 11:56:17 -10:00
Jack Andersen
7100ed437f
macOS decal rendering support
2018-03-16 17:41:01 -10:00
Jack Andersen
08569104c2
Projectile collision fix
2018-03-14 14:27:45 -10:00
Jack Andersen
017185109f
Fix disappearing actor issue
2018-03-04 13:23:21 -10:00
Jack Andersen
055de86170
ANIM serialization fix
2018-03-03 20:15:40 -10:00
Jack Andersen
48c285be11
FONT serialization fix; implement CPathFindSpline functions
2018-03-03 18:25:57 -10:00
Jack Andersen
d8eb8abc48
Attempted Windows build fix
2018-03-02 21:53:50 -10:00
Jack Andersen
cb2988c9a4
Finish pathfinding implementations
2018-03-02 19:49:13 -10:00
Jack Andersen
2018ef17d2
Work on pathfinding
2018-02-28 20:17:16 -10:00
Phillip Stephens
0c95ee6665
Update submodules, fix Linux build
2018-02-27 17:46:14 -08:00
Jack Andersen
e4ff23c279
Massive template-based DNA refactor
2018-02-21 21:24:51 -10:00
Jack Andersen
b405f33ded
Correct rstl::prereserved_vector implementation
2018-02-14 18:37:21 -10:00
Jack Andersen
98518e7d44
Implement CPFArea constructor
2018-02-13 21:51:18 -10:00
Jack Andersen
74ce62726d
Working space warp effect for charge beam
2018-02-12 20:46:59 -10:00
Jack Andersen
e263345b0a
Fix ShotSmoke effect
2018-02-12 12:27:40 -10:00
Jack Andersen
46a4a37cc6
Initial working projectiles
2018-02-11 19:30:21 -10:00
Jack Andersen
547471c6ba
Work on projectiles
2018-02-10 19:27:00 -10:00
Jack Andersen
4423250f36
Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/urde
2018-02-09 20:26:49 -10:00
Jack Andersen
3754962301
Finish CProjectileWeapon
2018-02-09 20:26:12 -10:00
Phillip Stephens
d35cc2ce1d
Fix CScriptActorRotate
2018-02-09 17:23:18 -08:00
Jack Andersen
083571e693
Work on CGameProjectile
2018-02-08 21:12:26 -10:00
Jack Andersen
ae6797f24b
Fix player dynamic collision
2018-02-07 20:18:27 -10:00
Jack Andersen
8ab75b2c8f
Implement asynchonous memory card for Win32
2018-02-06 15:38:46 -10:00
Jack Andersen
13c0361021
Changes to support asynchronous kabufuda API
2018-02-06 12:02:31 -10:00
Jack Andersen
59af54afad
Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/urde
2018-02-04 20:57:18 -10:00
Jack Andersen
ac8dfde174
Various bug fixes and CActor rendering
2018-02-04 20:56:09 -10:00
Jack Andersen
97835607d9
More windows build fixes
2018-02-03 20:46:47 -10:00
Jack Andersen
acf2dab66f
Fix NES memory card saves
2018-02-02 17:00:21 -10:00
Jack Andersen
15e5b4bbb8
NESEmulator save fixes
2018-02-02 14:35:19 -10:00
Jack Andersen
93fc2d8072
Initial fixNES integration
2018-02-01 13:19:34 -10:00
Jack Andersen
36f1473f3e
All animation nodes implemented
2018-01-29 15:04:01 -10:00