Luke Street
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
Luke Street
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
Luke Street
05cd085264
Update boo
2020-02-21 13:51:03 -05:00
Luke Street
3294047a06
Require Blender 2.81+
2019-12-22 18:39:24 -05:00
Phillip Stephens
005a87917b
Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/hecl
2019-12-10 20:50:50 -08:00
Phillip Stephens
46c3778bc0
Update athena
2019-12-10 20:50:31 -08:00
Phillip Stephens
fddf1aca14
Update athena
2019-12-08 13:34:21 -08:00
Phillip Stephens
02d4292179
Add missing brace (where the heck did it go?)
2019-10-24 22:49:41 -07:00
Phillip Stephens
a9dee6e268
Minor string fix
2019-10-24 22:43:45 -07:00
Phillip Stephens
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
Phillip Stephens
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
Phillip Stephens
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
Phillip Stephens
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
Phillip Stephens
6b56f2e6a4
Minor fixes
2019-09-29 08:17:01 -07:00
Phillip Stephens
7fd54effc9
Various fixes and improvements to CVars
2019-09-29 05:44:01 -07:00
Phillip Stephens
e80d0319fa
Update athena
2019-09-27 20:38:19 -07:00
Phillip Stephens
2a150f2e7f
Update athena
2019-09-26 06:54:24 -07:00
Phillip Stephens
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
Phillip Stephens
35988aff00
Update athena
2019-09-14 08:46:41 -07:00
Phillip Stephens
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
Phillip Stephens
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
Phillip Stephens
d13559bf51
Update submdoules
2019-09-10 04:07:31 -07:00
Phillip Stephens
b1438a88da
Update athena
2019-09-09 04:20:29 -07:00
Phillip Stephens
23dabdaf37
Merge pull request #25 from lioncash/target
...
ApplicationTools: Link in boo and hecl-light
2019-09-09 04:19:37 -07:00
Phillip Stephens
f35e4c27c2
Update submodules
2019-09-08 00:15:48 -07:00
Phillip Stephens
43611bd0b7
Merge pull request #26 from lioncash/enum
...
General: Be explicit about SeekOrigin type
2019-09-08 00:11:52 -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