2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-06-05 05:13:27 +00:00

768 Commits

Author SHA1 Message Date
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
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
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
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
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
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
256994c199
Initial CEnergyBall, update submodules, various fixes 2019-08-31 02:02:21 -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
9866bac443 Update jbus, initial CEnergyBall stub 2019-08-23 01:32:48 -07:00
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
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
ad5e395a51 Fixes for override modernization 2019-08-10 17:49:41 -07:00
1d3e5cdb70 Implement Oculus loader 2019-08-09 14:55:59 -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
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
1a9ca77603 Update ScriptObject DNAs to match known values 2019-07-19 01:30:11 -07:00
cdf9545de4 Fix MemoryRelay handling in DataSpec 2019-07-16 19:10:57 -07:00
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
003146f614 Work on CBabygoth 2019-06-29 21:29:49 -10:00
44cae7bdb9 More CFlaahgra imps 2019-06-26 18:06:03 -07:00
Jack Andersen
77af3f0ebd CPuddleToadGamma and animation system fixes 2019-06-20 20:02:56 -10:00
Jack Andersen
9ccc4227cb Initial support for asynchronous shader compilation 2019-06-15 20:25:29 -10:00
Jack Andersen
37307e1cf6 Various CActorContraption fixes 2019-06-14 14:39:20 -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
2f2ab149d4 Initial CScriptSpecialFunction::ThinkSpinnerController 2019-06-10 20:09:38 -07:00
b7b65b04a4 Initial Flaahgra implementations 2019-06-10 01:28:33 -07:00
b251bc541f CFlaahgraTentacle implementations (needs testing) 2019-06-09 17:09:07 -07:00
Jack Andersen
b7aa3e06d2 Per-stage shader hashing 2019-06-05 14:07:50 -10:00
Jack Andersen
410d7896f7 Support for rendering dynamic cubemaps 2019-05-31 17:41:01 -10:00
Jack Andersen
486c925a45 Merge branch 'shader-refactor' 2019-05-10 13:10:12 -10:00
c3527e1688 Fix compile issues 2019-05-09 20:15:26 -07:00
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
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
d3a251589c Revert convenience macro in ScriptLoader 2019-03-23 18:54:46 -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