Lioncash
cf054f35a3
SpecBase: Remove usages of const_cast
...
It's generally the case that mutexes are marked as mutable whenever they
need to be used within a const class context, given they don't directly
participate as a bitwise member of the class, but only transiently exist
so that synchronization operations can occur.
Given that, marking the member as mutable in this case makes sense.
2020-04-09 20:26:31 -04:00
Lioncash
fa2f37a14c
DNAMP3/PAK: Make use of unique_ptr in getBuffer()
...
Same motivation as the previous change: seating the allocated memory
into a type that will always do the right thing immediately, rather than
later.
2020-04-05 10:20:59 -04:00
Lioncash
9e503edaf1
PAK: Make use of unique_ptr in getBuffer()
...
Same behavior, however we seat the allocated memory into a unique_ptr
from the get-go to prevent any possible memory being leaked.
2020-04-05 10:16:09 -04:00
Lioncash
11c40415f5
TXTR: Mark constexpr functions static
...
Same behavior, but makes them internally linked.
2020-03-31 20:36:45 -04:00
Lioncash
d3295cbb87
TXTR: Make use of const(typedefs) where applicable
...
Same behavior, but signifies read-only semantics.
Also resolves a few -Wcast-qual warnings.
2020-03-31 17:36:17 -04:00
Lioncash
8132375c69
TXTR: Eliminate variable shadowing
2020-03-31 17:02:55 -04:00
Lioncash
d337327b97
DNACommon: Mark hash overloads as noexcept
...
These functions shouldn't throw at all.
By extension, also mark the UniqueID class interfaces as noexcept.
2020-03-31 16:55:19 -04:00
Lioncash
96fa7af8b5
STRG: Convert file-scope std::vector to std::array
...
Eliminates a runtime-static constructor and heap allocation at program
start.
2020-03-31 14:15:09 -04:00
Lioncash
16c37abf79
DNAMP3: Prevent unnecessary copies
2020-03-31 13:24:34 -04:00
Lioncash
93f107cb79
STRG: Avoid unnecessary copies
...
Makes several functions significantly less copy intensive. See previous
commit for reason.
2020-03-31 13:23:21 -04:00
Lioncash
3d0270cf82
DNAMP2: Prevent unnecessary copies
...
Auto-deduces the exact type instead of using a similar, but slightly off
pair type (which causes a copy).
2020-03-31 13:19:50 -04:00
Lioncash
d8ed1a5e79
RetroDataSpec: Convert typedefs to using aliases
...
Same behavior, but nicer to read.
2020-03-31 13:11:24 -04:00
Lioncash
9ef2fbba5a
RetroDataSpec: Make use of make_unique where applicable
...
Same behavior, but without a mildly wonky way of performing it.
2020-03-31 13:06:27 -04:00
Lioncash
53694481e5
SpecMP2: Make use of emplace_back()'s return value
...
Same behavior, less code.
2020-03-31 12:46:20 -04:00
Lioncash
e6f217bf25
SpecMP2: Prevent unnecessary copies in buildPaks()
...
Uses auto to properly deduce the intended return type in iteration (pair
with a const string), which prevents a copy from needing to be
generated.
2020-03-31 12:43:42 -04:00
Lioncash
97fd815afa
SpecMP1: Make use of emplace_back() where applicable
...
Same behavior, but allows in-place construction.
2020-03-31 12:40:37 -04:00
Lioncash
9af90efb7d
SpecMP1: Make use of emplace_back()'s return value
...
Same behavior, less code.
2020-03-31 12:38:31 -04:00
Lioncash
305262eb29
SpecMP1: Prevent unnecessary copies in buildPaks
...
Previously the type mismatched by a single const qualifier, which meant
a copy would have to occur.
Instead, we can use auto to avoid this issue from occurring and allowing
the proper type to be automatically deduced.
2020-03-31 12:36:18 -04:00
Lioncash
ac28575e9d
SpecMP3: Make use of emplace_back()'s return value
...
Same behavior, less code.
2020-03-31 12:33:51 -04:00
Lioncash
be1d77f550
SpecMP3: Remove unnecessary initializer
2020-03-31 12:33:51 -04:00
Lioncash
94c4c0f102
SpecMP3: Prevent unnecessary copies
...
Prevents iterating over elements by value and also uses auto to ensure
the iterated item matches 1:1.
2020-03-31 12:32:57 -04:00
Lioncash
315becf1b5
ATBL: Collapse std::vector construction and resize into one another
...
Same behavior, less code.
2020-03-31 07:36:26 -04:00
Lioncash
3e084d2ae2
AROTBuilder: Convert defines into constexpr variables
...
Same behavior, but with concrete types.
2020-03-31 07:33:25 -04:00
Lioncash
da4b1d5e7d
AROTBuilder: Collapse manual loops into ranged for loops
...
Same behavior, minus the induction variable to follow
2020-03-31 07:31:04 -04:00
Lioncash
84141eeb25
AROTBuilder: Eliminate variable shadowing
2020-03-31 07:31:04 -04:00
Lioncash
a2709f1d20
AROTBuilder: Make use of std::array where applicable
...
While we're at it, we can dehardcode some sizes.
2020-03-31 07:31:01 -04:00
Jack Andersen
76fc829c6b
Merge branch 'new-particle-metaclass'
2020-03-30 11:38:01 -10:00
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
Jack Andersen
566b15766c
Refactor particle serialization to use generative meta-information
2020-03-28 21:29:27 -10: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