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
Luke Street
316128b7af
Use bintoc_compress; reduce URDE/HECL binary sizes
2020-03-02 02:02:57 -05: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
Lioncash
2517fac404
RetroDataSpec: Make member functions const where applicable
...
Marks member functions that don't modify instance state as const.
2019-08-14 22:25:15 -04:00
Phillip Stephens
ad5e395a51
Fixes for `override` modernization
2019-08-10 17:49:41 -07:00
Lioncash
a5a2516138
RetroDataSpec: Use override where applicable
...
Continues the override modernizations, applying the keyword where
applicable to the RetroDataSpec target.
2019-08-10 00:24:30 -04:00
Phillip Stephens
1d3e5cdb70
Implement Oculus loader
2019-08-09 14:55:59 -07:00
Phillip Stephens
ff83dbc676
Minor fixes and cleanup
2019-08-03 17:02:53 -07:00
Phillip Stephens
9d2cbf61ed
Add texture cache containing information about textures
2019-08-03 16:44:52 -07:00
Jack Andersen
0ab08daae7
Windows build fixes
2019-07-27 15:21:31 -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
9579900706
Fix WorldTeleporter derp
2019-07-19 09:50:01 -07: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
7ec637034b
Update file download locations
2019-07-12 01:06:23 -07:00
Jack Andersen
003146f614
Work on CBabygoth
2019-06-29 21:29:49 -10:00
Jack Andersen
77af3f0ebd
CPuddleToadGamma and animation system fixes
2019-06-20 20:02:56 -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
e218b8aeb5
CActorContraption fixes, better CMake dependency handling
2019-06-11 16:05:17 -10:00
Jack Andersen
486c925a45
Merge branch 'shader-refactor'
2019-05-10 13:10:12 -10: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
a63a61fef8
Implement CWallCrawlerSwarm
2019-03-23 22:06:59 -10:00
Jack Andersen
99b1a8ef49
Lots of bug fixes
2019-03-12 17:46:20 -10:00
Jack Andersen
f40bf707f6
DCLN OBB transform fix
2019-03-07 18:16:42 -10:00
Jack Andersen
8b9f073635
Various rendering fixes
2019-03-02 20:19:42 -10:00
Jack Andersen
ca5cf5c77c
Cook all AGSCs simultaneously
2019-02-28 10:34:59 -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
fb1f65434d
Fix IA8 texture decoding
2019-02-16 09:16:34 -08: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
7d29c6e25a
More bug fixes
2019-01-30 21:52:21 -10:00
Jack Andersen
c9a38c567f
Fix for extracting animations which animate undefined bones
2019-01-29 11:36:43 -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
Jack Andersen
147a9396c4
CBeetle implementation
2018-12-30 19:01:42 -10:00
Jack Andersen
e716d05cec
Switch to lzokay library
2018-12-19 17:45:48 -10: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
ec1cb75b25
Finish CSpacePirate implementation
2018-12-12 21:39:16 -10:00
Jack Andersen
636c82a568
New code style refactor
2018-12-07 19:30:43 -10:00
Jack Andersen
7c7da6671a
SIMD refactor
2018-12-07 15:49:15 -10:00
Jack Andersen
e1fa938127
Work on CSpacePirate
2018-11-25 16:15:44 -10: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
Jack Andersen
660e7cd239
Work on CParasite
2018-11-12 23:20:11 -10:00
Jack Andersen
d4bb7d64eb
All CPatterned functions implemented
2018-11-10 17:27:54 -10:00
Jack Andersen
87e5aea6f5
Correct handling of empty skinned models
2018-11-08 20:57:16 -10:00
Jack Andersen
3f7431286c
Handle triple-overdraw edge case
2018-11-08 18:34:49 -10:00
Jack Andersen
304fc7e69e
More reliable 2-face model extraction
2018-11-08 14:25:55 -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
98c7525176
Initially working CEnvFxManager
2018-11-01 22:16:16 -10:00
Jack Andersen
3147b49b3d
EVNT extraction fix
2018-10-27 15:22:55 -10:00
Jack Andersen
29dad50cca
Particle, map and line renderer fixes
2018-10-25 18:37:22 -10:00
Jack Andersen
45fb8db388
Integrate SDNA parser for checking .blend types
2018-10-21 23:29:44 -10:00
Jack Andersen
8fb77eac2c
Various bug fixes
2018-10-20 18:14:00 -10:00
Jack Andersen
3f4aeffb17
Merge branch 'shader-refactor'
2018-10-15 17:17:37 -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
489470feda
Implement CBomb
2018-09-08 18:13:56 -07:00
Jack Andersen
56eeada360
Windows fixes
2018-09-02 20:34:09 -10: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
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
Jack Andersen
f8b8211b0f
Name PathCamera property fields
2018-06-25 19:42:16 -10:00
Jack Andersen
cfe384b5c2
Better octree generation density
2018-06-23 13:09:16 -10:00
Jack Andersen
718d2cb29e
Water rendering order fix, morphball visor fixes
2018-06-21 11:04:16 -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
Jack Andersen
941c4d793c
Fix CScriptEffect translation set
2018-06-12 16:32:02 -10:00
Phillip Stephens
c0b8b89a9b
Various CScriptSpecialFunction implementation, more debugOverlay CVars
2018-06-08 14:00:18 -07:00