2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-08-29 13:35:43 +00:00

466 Commits

Author SHA1 Message Date
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
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
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
Jack Andersen
72fabc9329 Minor blender exception detection bug fix 2019-10-12 18:54:07 -10:00
Jack Andersen
88e68e8aa3 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl 2019-09-30 21:30:17 -10:00
Jack Andersen
8a73a8ee48 Code style improvements 2019-09-30 21:23:35 -10:00
6b56f2e6a4 Minor fixes 2019-09-29 08:17:01 -07:00
7fd54effc9 Various fixes and improvements to CVars 2019-09-29 05:44:01 -07:00
Lioncash
8bac46508c General: Be explicit about SeekOrigin type
This will make turning SeekOrigin into an enum class a little smoother
without breaking hecl.
2019-09-07 12:33:03 -04:00
822227a1ca Temporary xxhash fixes, update submodules 2019-09-06 23:30:53 -07:00
b263f29da2 Update athena 2019-09-04 19:37:52 -07:00
Lioncash
5e66bee28c General: Include necessary includes
Ensures all necessary includes are included and also removes headers
that aren't necessary
2019-09-04 19:23:55 -04:00
Jack Andersen
c180cbd529 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl 2019-08-31 10:38:33 -10:00
Jack Andersen
a434118f27 Update submodules 2019-08-31 10:38:06 -10:00
Lioncash
4f19e8623e Project: Eliminate local variable shadowing
Eliminates trivial variable shadowing warnings.
2019-08-30 11:47:18 -04:00
Lioncash
6968f8a301 hecl/hecl: Use nullptr where applicable 2019-08-24 16:14:59 -04:00
Lioncash
e5a0d657b3 hecl/hecl: Remove pointer casts from GetTmpDir()
We can just make the pointers point to const data, eliminating the need
to cast away const.
2019-08-24 16:04:30 -04:00
Lioncash
40b2e3edde hecl/hecl: Dehardcode sizes where applicable
Queries the source arrays for the size instead of replicating it
elsewhere.
2019-08-24 16:00:49 -04:00
Lioncash
0a6edbad2c hecl/hecl: Tidy up GetSystemLocations()
Converts a define into a constexpr variable, also joins declarations
with assignments where applicable.
2019-08-24 16:00:44 -04:00
Lioncash
bc7a6563cf hecl/hecl: Simplify SetThreadRes() 2019-08-24 15:36:35 -04:00
Lioncash
32fec587b5 hecl/hecl: Collapse InProgress() into std::any_of()
Same thing, more straightforward.
2019-08-24 15:32:18 -04:00
Lioncash
e96eb4cac6 hecl/hecl: Include relevant headers
Ensures the translation unit includes exactly what it needs.
2019-08-24 15:28:54 -04:00
Lioncash
5e98cb139a hecl/hecl: Convert std::string/std::wstring to views
Gets rid of two static constructors.
2019-08-24 15:23:57 -04:00
Lioncash
7088235bc4 hecl: Correct fmt formatting specifiers
These should be using {}-style formatting specifiers instead of printf
style. While we're at it, std::move the std::string instances where
applicable to potentially avoid reallocations.
2019-08-24 03:21:16 -04:00
e12e0057c3 Minor compile fixes 2019-08-23 16:58:15 -07:00
ff7e95546b Merge pull request #16 from lioncash/string
hecl/Compilers: Amend minor string related code
2019-08-23 16:36:53 -07:00
Lioncash
2d7dd9bf5b Connection: Collapse emplace_back(), back() pairs
emplace_back() already returns a reference to the constructed member, so
we don't need to query it via back() again.
2019-08-23 14:02:18 -04:00
Lioncash
cbcfdcb67a Connection: Eliminate variable shadowing
Amends trivial cases of variable shadowing.
2019-08-23 13:56:11 -04:00
Lioncash
6492117d60 Connection: Remove <iostream> include
Avoids injecting a static constructor into translation units including
this source file, even if nothing in the source file uses the iostream
facilities.

Instead, we can replace this with an ostream include. While we're at it,
we can make sure we include everything necessary within the source file.
2019-08-23 13:44:30 -04:00
Lioncash
877ca7ad87 Connection: Make use of std::array where applicable
Uses std::array in place of C arrays where not used as a buffer.
2019-08-23 12:44:55 -04:00
Lioncash
a3caa28483 Connection: Collapse definition of operator== for Vert
This can be collapsed down to a single tie comparison
2019-08-23 12:32:13 -04:00
Lioncash
8fdd9a15c4 Connection: Collapse VertInBank into std::any_of
Same thing, single line.
2019-08-23 12:26:14 -04:00
Lioncash
5d30a9d7ea Connection: Use nullptr instead of NULL where applicable
Same behavior, stronger typing.
2019-08-23 12:08:08 -04:00
Lioncash
2e16f882d2 hecl/Compilers: Make use of nullptr over NULL
Same behavior, stricter type.
2019-08-23 11:56:37 -04:00
Lioncash
d59d453db3 hecl/Compilers: Convert fprintf calls over to fmt::print
Makes the Metal code more consistent with the other compilers. While
we're at it we can also fix accidental printf leftovers within the
existing fmt format strings.
2019-08-23 11:53:39 -04:00
Lioncash
73cf8df409 hecl/Compilers: Convert printf call over to fmt::print
Same behavior, but properly handles the case where the given string_view
may not be null terminated.
2019-08-23 11:49:55 -04:00
Lioncash
3b60cee576 hecl/Compilers: Make name strings constexpr
Same behavior (as of C++17), without the need to duplicate the variable
name.
2019-08-23 11:42:12 -04:00
e691b95cbf Merge pull request #15 from lioncash/file
hecl/hecl: Introduce FopenUnique
2019-08-21 23:16:25 -07:00
Lioncash
fb9e4df372 hecl: Make use of FopenUnique
Makes use of the introduced API function to eliminate the need to
explicit fclose FILE* instances.
2019-08-22 01:16:48 -04:00
Lioncash
7bb3912d39 General: Make operator bool() explicit where applicable
Makes conversions to bool slightly less error-prone by requiring them to
be explicit in non-obvious contexts.
2019-08-22 01:15:38 -04:00
120ed20bfa Merge pull request #14 from lioncash/string
Connection: Replace std::string _writeStr overload with std::string_view
2019-08-21 20:23:56 -07:00
3ef555dba4 Merge pull request #11 from lioncash/lock
General: Make use of lock deduction guides
2019-08-21 20:23:43 -07:00
Lioncash
d00cb36fc2 Connection: Amend clang-format discrepancies 2019-08-21 19:16:46 -04:00