2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-07-05 03:55:52 +00:00

1243 Commits

Author SHA1 Message Date
e4a775f18e Avoid duplicate athena/extern/zlib import 2020-03-04 02:35:32 -05:00
3d0451a496 Compile fix 2020-03-03 16:52:57 -08:00
2149af68fa Merge pull request #35 from AxioDL/bintoc-compress
Add bintoc --compress
2020-03-03 16:47:09 -08:00
7abe527032 Merge pull request #34 from linkmauve/xdg-basedir
Respect the XDG base directory specification
2020-03-03 16:45:08 -08:00
4f045dd0fa Merge pull request #33 from lioncash/transparent
hecl/hecl: Allow CaseInsensitiveCompare to be used with heterogenous lookup
2020-03-03 16:44:55 -08:00
8d8f92c898 Add bintoc --compress 2020-03-02 02:00:49 -05:00
Emmanuel Gil Peyrot
32578f7520 Respect the XDG base directory specification
This helps unclutter the home directory from useless dotfiles, moving
them where they belong.

See https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2020-02-25 12:29:15 +01:00
7afe13b713 Update boo (MSAN fix) 2020-02-25 02:32:58 -05:00
Lioncash
eebb25a39c hecl/hecl: Allow CaseInsensitiveCompare to be used with heterogenous lookup
It's quite common to see maps or sets that make use of a string->object
association, usually as <std::string, T>. However, this can result in
inefficient code when performing lookups or indexing, as something like:

std::map<std::string, T> some_map;

...

auto iter = some_map.find("Name");

...

will result in a std::string instance being constructed around "Name",
which is less than ideal.

With a heterogenous comparator, however (such as std::less<>), like:

std::map<std::string, T, std::less<>>

we allow the container to do automatic type deduction and comparisons.
This allows types comparable to the key type to be used in find calls,
etc, without actually needing to construct the key type around the other
type.

The main way to enable containers to perform such behavior is by
defining a type named is_transparent within the comparator type.
2020-02-24 04:31:55 -05:00
05cd085264 Update boo 2020-02-21 13:51:03 -05:00
3294047a06 Require Blender 2.81+ 2019-12-22 18:39:24 -05:00
005a87917b Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/hecl 2019-12-10 20:50:50 -08:00
46c3778bc0 Update athena 2019-12-10 20:50:31 -08:00
fddf1aca14 Update athena 2019-12-08 13:34:21 -08:00
02d4292179 Add missing brace (where the heck did it go?) 2019-10-24 22:49:41 -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
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
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
dfcad01c2f Fix TypedVariant building with MSVC 2019-10-18 15:31:54 -10:00
Jack Andersen
3506ee1796 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl 2019-10-12 18:54:33 -10:00
Jack Andersen
72fabc9329 Minor blender exception detection bug fix 2019-10-12 18:54:07 -10:00
8a3b19126a Fix shader generation 2019-10-12 07:12:50 -07: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
df007bc253 Merge pull request #30 from lioncash/noexcept
FourCC: Make rest of interface noexcept where applicable
2019-09-30 01:31:34 -07:00
Lioncash
9138ad691c FourCC: Make rest of interface noexcept where applicable
Makes the interface consistent and allows their use within noexcept
contexts.
2019-09-30 03:13:08 -04: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
e80d0319fa Update athena 2019-09-27 20:38:19 -07:00
2a150f2e7f Update athena 2019-09-26 06:54:24 -07:00
78d70a8056 Merge pull request #29 from lioncash/endian
TypedVariant: Be explicit about athena's Endian type
2019-09-21 05:45:14 -07:00
Lioncash
72732a1ea7 TypedVariant: Be explicit about athena's Endian type
Allows this code to still compile if the Endian enum is ever changed
into an enum class.
2019-09-20 17:56:15 -04:00
Lioncash
8814ecbc4c TypedVariant: Apply formatting to macros
Applies clang-format to the macros to prevent the changes from being
placed into the following change.
2019-09-20 17:52:28 -04:00
35988aff00 Update athena 2019-09-14 08:46:41 -07:00
e4dcda11b3 Merge pull request #28 from lioncash/endian
General: Be explicit about athena's Endian type
2019-09-14 08:38:37 -07:00
Lioncash
aaf5bae201 General: Be explicit about athena's Endian type
Allows this code to build if the enumeration is ever changed into a
strongly-typed enumeration.
2019-09-14 10:59:39 -04:00
ce4144952b Merge pull request #27 from lioncash/constexpr
Backend: Make ExtensionSlot's constructor constexpr
2019-09-13 00:10:16 -07:00
Lioncash
9901653634 Backend: Make ExtensionSlot's constructor constexpr
These are used within a file-scope lookup table in urde. Without this,
technically those constructors are runtime static constructors.

This allows the compiler to initialize them at compile-time.
2019-09-11 01:52:26 -04:00
d13559bf51 Update submdoules 2019-09-10 04:07:31 -07:00