Commit Graph

862 Commits

Author SHA1 Message Date
Lioncash 4625374a7f ParticleCommon: Make operator bool conversions explicit
Prevents any implicit error-prone conversions to bool from occurring.
2020-04-12 10:16:14 -04:00
Jack Andersen 5b4441ac36 Update fmtlib 2020-04-11 12:51:39 -10:00
Phillip Stephens 30bcdb2b2f
Add TextureCache support to MP2 and 3 2020-04-11 00:53:04 -07:00
Jack Andersen 3dd485e0eb Fix MP3 PASS extract with null textures 2020-04-10 19:42:14 -10:00
Jack Andersen 26f272735d Set compiler flags for building with C++20 2020-04-10 19:05:55 -10:00
Phillip Stephens 5f2ce02b05
Fix extracting RS5FE.pak 2020-04-09 23:26:27 -07:00
Phillip Stephens 0085f0b16f
Merge branch 'mp2-fixes' 2020-04-09 20:27:22 -07:00
Jack Andersen 9a87a24439 Remove redundant condition from MP2's GetNoShare 2020-04-09 17:21:05 -10:00
Jack Andersen ad411a940b Merge branch 'mp2-fixes' of ssh://git.axiodl.com:6431/AxioDL/urde into mp2-fixes 2020-04-09 17:20:48 -10:00
Jack Andersen 380cc13abb Fixes for MP3 2020-04-09 17:20:20 -10:00
Luke Street 859d5e9068 DNAMP2: Mark FrontEnd as non-shared 2020-04-09 22:46:09 -04:00
Lioncash e22ecf644d SpecMP1: Remove usage of const_cast
The preceding commit marked this mutex as mutable, so we can remove the
const_cast usage here.
2020-04-09 20:28:48 -04:00
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
Jack Andersen e858c929e3 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into mp2-fixes 2020-04-09 13:04:37 -10:00
Jack Andersen a668a623cb Exclude bitmap3 from MP3's PATH 2020-04-08 20:03:52 -10:00
Jack Andersen e4ade45fd1 Remove unnecessary includes 2020-04-08 19:50:29 -10:00
Jack Andersen 73f245ee27 Specialize PATH by PAKBridge 2020-04-08 19:46:40 -10:00
Jack Andersen df229671c4 MP2 PATH support 2020-04-08 19:19:50 -10:00
Jack Andersen 5b0a4b5f60 Implement MP2 shader extraction presets 2020-04-08 16:24:18 -10: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 0c3d6c7f27
Initiaal material imps 2020-03-24 23:13:31 -07:00
Phillip Stephens eb9efbf8c3
Initial PATH support for MP2 2020-03-17 23:12:43 -07:00
Phillip Stephens 25842949a9
Initial MP2 fixes 2020-03-17 15:56:14 -07:00