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