2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-07-10 13:25:53 +00:00

7059 Commits

Author SHA1 Message Date
Lioncash
5c7bb9e7d7 CollisionPrimitive: Make collisition primitive types and comparisons constexpr capable
Allows them to be used within constexpr contexts.
2019-10-29 18:36:21 -04:00
e5c8592d5a
Merge pull request #118 from lioncash/seg
CSegId: Minor changes
2019-10-26 19:51:08 -07:00
Lioncash
660d092cad CSegId: Add member functions for querying validity
Allows querying validity of segment IDs without hardcoding the magic
value that signifies an invalid ID.
2019-10-26 22:43:11 -04:00
118fb22ce0
Merge pull request #117 from lioncash/layout
CCharLayoutInfo: Minor changes
2019-10-26 18:37:59 -07:00
Lioncash
30af6f0bfb CSegId: Make constexpr capable
Allows the class to be used within constexpr contexts, given it's such a
small class.
2019-10-26 21:36:30 -04:00
Lioncash
69831b4a13 CCharLayoutInfo: Make constructors explicit
Makes constructions of the types visibly explicit, given they aren't
conversion constructors.
2019-10-26 21:27:03 -04:00
Lioncash
bb9da96870 CCharLayoutInfo: Invert conditional within GetFromParentUnrotated()
Inverts the conditional to be in terms of the true case, making it a
little nicer to read.
2019-10-26 21:24:10 -04:00
Lioncash
9193f4c4d7 CCharLayoutInfo: Make use of const where applicable
Makes trivial variables const to make it explicit that they aren't
modified.
2019-10-26 21:21:57 -04:00
Lioncash
293d19cf13 CCharLayoutInfo: std::move std::string instance in CCharLayoutInfo constructor
Avoids performing a copy (and by extension also avoids redundant
allocations).
2019-10-26 21:19:57 -04:00
Lioncash
e7b0470f55 CCharLayoutInfo: Use heterogenous lookup with std::map
Allows using std::string_view with std::map without the need to
construct a completely new std::string instance. Making the lookups via
GetSegIdFromString() completely non-allocating.

Notably, this also allows it to properly function with
non-null-terminated string_view instances.
2019-10-26 21:17:49 -04:00
0042e44521
Merge pull request #116 from lioncash/name
CParticleGenInfo: Use slightly more full names for parameters where applicable
2019-10-26 17:51:57 -07:00
83c0ad1e72
Merge pull request #114 from lioncash/model
CModel: Implement CModelFlags' operator!= in terms of operator==
2019-10-26 17:51:40 -07:00
5865552d7f
Merge pull request #113 from lioncash/artifact
CArtifactDoll: Minor changes
2019-10-26 17:51:30 -07:00
Lioncash
bbdfe3d962 CParticleGenInfo: Provide slightly more full names for parameters where applicable
Makes Intellisense and any function highlighting systems a little more
informative.
2019-10-26 20:37:35 -04:00
Lioncash
a82dd4f11f CParticleGenInfo: Name bool parameter for SetParticleEmission
Allows the parameter name to be visible in code completion and
highlighting.
2019-10-26 20:32:44 -04:00
Lioncash
8f28786048 CModel: Implement CModelFlags' operator!= in terms of operator==
Same behavior, less code.
2019-10-26 14:58:38 -04:00
Lioncash
c4ad797953 CArtifactDoll: Collapse loop into std::all_of
Same thing, but directly stores to a variable.
2019-10-26 14:57:21 -04:00
Lioncash
7a8edc8d5e CArtifactDoll: Make use of std::array where applicable 2019-10-26 14:57:21 -04:00
Lioncash
26b24d604a CArtifactDoll: Make use of an anonymous namespace
Provides a unified section to place internally linked data.
2019-10-26 14:57:21 -04:00
Lioncash
bea9c5bb74 CArtifactDoll: Organize cpp includes 2019-10-26 14:57:17 -04:00
def854cc61
Update hecl 2019-10-24 22:50:13 -07:00
02d4292179 Add missing brace (where the heck did it go?) 2019-10-24 22:49:41 -07:00
5efd827e99
Merge pull request #115 from lioncash/const
CAnimData: Remove usage of const_cast within Touch()
2019-10-24 22:47:14 -07:00
246e233dce
Cleanup CPathFindArea 2019-10-24 22:44:37 -07:00
a9dee6e268 Minor string fix 2019-10-24 22:43:45 -07:00
bc15ab2157 Merge pull request #32 from lioncash/console
Console: Minor changes
2019-10-24 22:41:08 -07:00
Lioncash
eae1a1d06d CAnimData: Remove usage of const_cast within Touch()
We can just call the function normally without the need for a
const_cast.
2019-10-23 20:44:19 -04:00
Lioncash
a0e6ec0de7 Console: Make State enum an enum class
Makes the enum strongly typed and impervious to implicit conversions.
2019-10-21 01:53:05 -04:00
Lioncash
12d6a5ce05 Console: Make isOpen() a const member function
This member function doesn't modify internal member state, so it can be
turned into a const qualified member function.
2019-10-21 01:49:23 -04:00
Lioncash
78aa42032a Console: Make truncation explicit within proc()
Makes floating-point truncation explicit.
2019-10-21 01:40:34 -04:00
Lioncash
358acfe944 Console: Use std::move within vreport()
Avoids redundant copies when emplacing into the log container.
2019-10-21 01:37:07 -04:00
Lioncash
c8eab43489 Console: Make commandExists() a const qualified member function
This doesn't modify internal console state, so it can be turned into a
const qualified member function.
2019-10-21 01:30:19 -04:00
Lioncash
deb09550d3 Console: Eliminate redundant strlen call in commandExists()
By using the std::string_view constructor for std::string, we can avoid
the char* constructor, which would require a strlen call in order to
determine the string size. This also allows it to work with
non-null-terminated strings.
2019-10-21 01:28:22 -04:00
Lioncash
96721d96ae Console: Avoid unnecessary copies and lookups within executeCommand()
We can make use of the result of a find() call to avoid performing two
redundant lookups into the command map and also use std::move to avoid
performing potentially reallocating copies.
2019-10-21 01:26:21 -04:00
Lioncash
7fbdf384de Console: Reuse iterator in unregisterCommand()
We can use the result of the first lookup to avoid doing another
redundant lookup to perform the erasure.

While we're at it, we can use std::string's std::string_view constructor
in order to avoid an unnecessary strlen() call.
2019-10-21 01:07:41 -04:00
Lioncash
5d2987588b Console: Use emplace in registerCommand()
Allows avoiding a redundant initial element. We can also remove the
const from the std::function rvalue to allow a std::move to take effect.

We can also use the std::string_view constructor for std::string to
avoid an unnecessary strlen() call.
2019-10-21 01:03:30 -04:00
Lioncash
cbd40382bf Console: Convert std::bind to lambda functions
Same behavior, but more efficient than wrapping the function.
2019-10-21 00:53:15 -04:00
0feffbdbb7 Merge pull request #31 from lioncash/empty
CVar: Use std::string::empty where applicable
2019-10-20 18:34:39 -07:00
18382e5bb6
Merge pull request #112 from lioncash/emplace
rstl: Return reference to emplaced element in emplace_back()
2019-10-20 18:33:06 -07:00
ce45cd279c
Merge pull request #111 from lioncash/array
CGunWeapon: Minor changes
2019-10-20 18:32:57 -07:00
Lioncash
23f323b0f7 CVar: Use std::string::empty where applicable
We can use empty() instead of comparing against a default constructed
new instance.
2019-10-19 19:24:06 -04:00
Lioncash
18f64dac8d rstl: Amend unrelated clang-format discrepancies
Avoids others being hit by these if any changes in the header ever need
to be made in the future.
2019-10-19 02:06:33 -04:00
Lioncash
15e856404d rstl: Return reference to emplaced element in emplace_back()
Follows the behavior of the C++17 variant of emplace_back, which returns
a reference to the emplaced element.

This allows eliminating cases like:

container.emplace_back(some, things, arguments);
container.back().blah();

... // subsequent modifications to the element

given we can just retrieve the reference from the emplace_back call.
2019-10-19 02:05:09 -04:00
Lioncash
26a9ceab60 CGunWeapon: Eliminate const_cast usages in DrawMuzzleFx()
We can just make the temporary variable non-const to eliminate the need
for const_casts.
2019-10-19 01:11:19 -04:00
Lioncash
271ee6d8c3 CGunWeapon: Make use of algorithms where applicable
We can leverage these to also eliminate some hardcoded sizes.
2019-10-19 01:11:05 -04:00
Lioncash
c228baf5f7 CGunWeapon: Make use of std::array where applicable
Makes the arrays strongly typed and also allows us to dehardcode some
loop boundary constants.
2019-10-19 01:07:01 -04:00
Lioncash
c36e6a85b9 CGunWeapon: Organize cpp includes
Makes the source file consistent with the header.
2019-10-19 00:03:38 -04:00
Jack Andersen
dfcad01c2f Fix TypedVariant building with MSVC 2019-10-18 15:31:54 -10:00
6a3eba0091
Merge pull request #103 from lioncash/unique
CParticleDataFactory: Use unique_ptr where applicable
2019-10-18 01:01:40 -07:00
c63ee167da
Merge pull request #110 from lioncash/override
MkCastTo: Use override where applicable
2019-10-18 01:00:31 -07:00