Commit Graph

813 Commits

Author SHA1 Message Date
Lioncash 8d0a8ea52e SCAN: Convert file-scope std::vector into constexpr std::array
Same behavior, but without any runtime heap allocations at program
start.
2020-03-29 08:46:03 -04:00
Phillip Stephens 1c5fd85b57
Correct ITweakPlayerRes offset 2020-03-01 16:56:38 -08:00
Luke S be51b0323f
Merge pull request #169 from lioncash/array
ITweakPlayerRes: Make use of std::array where applicable
2020-02-28 10:35:57 -05:00
Luke S 1cfe88fab1
Merge pull request #168 from lioncash/bind
SpecBase: Remove redundant std::bind
2020-02-28 10:35:30 -05:00
Lioncash 3f3b0e6ba8 ITweakPlayerRes: Make use of std::array where applicable
Performs the same changes that were recently applied to ITweakGunRes for
consistency. Also eliminates some sign conversion warnings and
deduplicates some array sizes.
2020-02-28 01:50:32 -05:00
Lioncash be4252127b SpecBase: Remove redundant std::bind
std::thread can already execute the supplied function as is without the
assistance of std::bind.
2020-02-28 01:25:14 -05:00
Lioncash fc3ef2fddd SpecBase: Flatten loop within flattenDependenciesBlend()
We can use insert() with make_move_iterator() to perform the same
behavior, minus unnecessary copies.

While we're at it, we can collapse the code within the Area case, since
it's the exact same as the Mesh code.
2020-02-26 14:52:20 -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
Lioncash b608a72aad ITweakGunRes: Remove unnecessary c_str() calls
These functions already return the data type that GetResourceIdByName()
expects. Has the side-effect of also eliminating unnecessary strlen
calls.
2020-02-25 15:34:22 -05:00
Lioncash a92bc16265 ITweakPlayerRes: Remove unnecessary calls to .data()
All of these functions return a string_view, which is accepted by
GetResourceIdByName(), so this avoids several unnecessary std::strlen
calls.
2020-02-25 02:09:45 -05:00
Lioncash 189b03c001 ITweakPlayerRes: Fix mismatched icon retrievals within ResolveResources()
Previously, all of these icons were using the first top icon, rather
than their own respective icons.

This amends that.
2020-02-25 02:07:15 -05:00
Lioncash 5ff100fdd1 DNAMP1/ScriptObjects: Convert SCRIPT_OBJECT_DB into a std::array
Now that all elements of the std::vector would otherwise be constexpr,
we can use a std::array here instead, given they're all able to
deterministically be available at compile-time.

This gets rid of a runtime static heap allocation at program start.
2020-02-24 03:42:24 -05:00
Lioncash 2ec236fc45 DNAMP1/ScriptObjects: Trim headers in ScriptObjects.hpp
All of these can be migrated into the cpp file, since they're only used
there.

Greatly reduces the amount of work the preprocessor has to do in files
that include this one.
2020-02-24 03:42:05 -05:00
Lioncash e27ac1e2a1 DNAMP1/ScriptObjects: Eliminate several runtime static constructors
All of these entries make use of captureless lambdas, so there's no need
to make use of std::function. We can just use a regular function
pointer, which allows making all of the file-static entries within
IScriptObject constexpr. Eliminating all of their runtime static
constructors.
2020-02-24 03:20:39 -05:00
Jcw87 7be3f4febb Fixed character type mismatch. 2020-02-15 12:24:50 -08:00
Phillip Stephens 8d90edd55f
Initial CChozoGhost imp 2020-01-20 20:00:40 -08:00
Luke Street 56c3221733 Merge branch 'blender2.81' 2019-12-22 18:32:55 -05:00
Phillip Stephens 1a13f7e4ee
Update submodules, initial CTextureCache 2019-12-10 20:51:33 -08:00
Luke Street cce11d3cd9 Blender 2.81 support 2019-12-10 18:45:55 -05: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 9e2486ba0e
Use `std::string::empty` rather than string comparison 2019-10-13 19:47:24 -07:00
Phillip Stephens 6260708ba4
Cook/cache fixes for unset original IDs 2019-10-13 19:45:43 -07:00
Phillip Stephens 5f0f3ea45c
More tweak CVars 2019-10-05 07:07:13 -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
Phillip Stephens 79ac5d76df
Update hecl, more CVar imps 2019-09-29 08:17:55 -07:00
Phillip Stephens 56b198838f
Update hecl 2019-09-29 05:44:37 -07:00
Lioncash 5b7f159233 General: Be explicit about athena's Endian type
Allows this code to still compile if the Endian type is ever changed
into a strong enumeration.
2019-09-14 11:01:01 -04:00
Lioncash bf818a883e DataSpec: Be explicit about athena's SeekOrigin type
This was missed in 9c0d13f001
2019-09-08 16:44:02 -04:00
Lioncash 9c0d13f001 DataSpec: Be explicit about athena's SeekOrigin type
Allows code to still function properly if the enum is changed into an
enum class.
2019-09-07 21:20:01 -04:00
Phillip Stephens c2777b42f8
Merge pull request #55 from lioncash/typo
WPSC: Correct typo within WPSM's _read() function
2019-09-06 23:20:29 -07:00
Lioncash 8556a74196 WPSC: Correct typo within WPSM's _read() function
This should be calling read() on xunk_SPS1, not xunk_SPS2
2019-09-06 08:42:35 -04:00
Lioncash 66ce2774d5 DNAMP1/CTweakPlayerGun: Prevent array overrun cases
These arrays are both 5 elements in size. Accessing them at index 5
would be out of bounds.
2019-09-06 08:13:10 -04:00
Lioncash 7a0e7f449e PAK: Make operator bool() explicit for PAKEntryReadStream
Prevents potential error-prone conversions to bool.
2019-09-05 00:59:32 -04:00
Lioncash 107dfc4203 PAK: Zero initialize m_sz and m_pos of PAKEntryReadStream
Provides a deterministic initial state for the members in the case of
the default constructor.
2019-09-05 00:57:57 -04:00
Lioncash da89e7cf45 SpecBase: Add missing includes 2019-09-04 19:30:04 -04:00
Jack Andersen ca0ca94b18 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-08-31 10:40:41 -10:00
Jack Andersen cffb56a24e MacOS build fixes 2019-08-31 10:40:07 -10:00
Phillip Stephens 256994c199
Initial CEnergyBall, update submodules, various fixes 2019-08-31 02:02:21 -07:00
Phillip Stephens 3ca09f60db
atdna fixes 2019-08-26 20:02:31 -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 4ac54f39cd Merge branch 'fwd' of https://github.com/lioncash/urde into lioncash-fwd 2019-08-23 20:43:15 -07:00
Lioncash 7f7a18a708 DataSpec/DNACommon: Resolve indirect includes where applicable
Avoids indirect inclusions where applicable and includes the necessary
headers as used by the interface. This way, it prevents code from
failing to compile due to changes in other header inclusions.
2019-08-23 22:03:03 -04:00
Phillip Stephens f2b551b89b Minor compile fixes, fix potential undefined behavior in CMDL.cpp 2019-08-23 17:09:21 -07:00
Lioncash b064967de8 DNACommon: Replace platform-specific string conversion functions with standard facilities
These can be replaced with std::strtoull and std::wcstoull, eliminating
a platform-specific ifdef.
2019-08-23 14:27:00 -04:00
Phillip Stephens a41bd828e7 Update submodules 2019-08-18 18:49:54 -07:00
Phillip Stephens 44ea9e68ed Update submodules 2019-08-17 23:01:05 -07:00
Phillip Stephens d4b36699b7
Merge pull request #43 from lioncash/spec-const
RetroDataSpec: Make member functions const where applicable
2019-08-15 07:46:46 -07:00
Lioncash 11098374a4 RetroDataSpec: Use fmt::print where applicable
Replaces uses of fprintf with fmt::print where applicable. For trivial
character insertion, we can make use of fputc instead of fprintf.
2019-08-14 22:44:49 -04:00