Commit Graph

1254 Commits

Author SHA1 Message Date
Luke Street a22a5e9473 Add MallocNanoZone=1 on macOS for Blender 2020-04-15 00:44:09 -04:00
Luke Street 54ca8e4f86 Update boo 2020-04-14 22:13:41 -04:00
Luke Street ff12c94eca Default to Blender 2.82 path on Windows 2020-04-14 22:10:49 -04:00
Luke Street 1f151b621f Update athena 2020-04-14 20:59:48 -04:00
Luke Street 89a1cedba1 Move Editor cvars to CVarCommons 2020-04-14 15:20:00 -04:00
Luke Street aba42eba52 Add variableDt cvar 2020-04-14 14:40:03 -04:00
Luke Street 776e9394ac Don't limit CpuCountOverride to nproc 2020-04-13 01:10:03 -04:00
Jack Andersen 6a8714c1f3 Update fmtlib 2020-04-11 12:48:11 -10:00
Jack Andersen 7ce829d134 Fix PyOutStream streambuf for MS STL 2020-04-10 18:58:06 -10:00
Jack Andersen 8fd6664984 Additional addon features for MP3 2020-04-09 17:19:33 -10:00
Jack Andersen 2c98306dff add update_height parameter to Nodegrid.place_node 2020-04-09 13:40:19 -10:00
Jack Andersen 81c5750c44 Update athena 2020-04-08 20:03:17 -10:00
Jack Andersen 5720ba9873 Update athena 2020-04-08 19:19:42 -10:00
Jack Andersen 9bb45dae80 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl 2020-04-08 16:23:48 -10:00
Jack Andersen c98442de9a Emit material chunk if socket value differs from default 2020-04-08 16:23:12 -10:00
Lioncash 57fa706311 hecl: Allow Time instances to be constexpr
Some constructors accept primitive values. These can be made constexpr.
2020-04-05 09:35:31 -04:00
Lioncash b5a26d5136 VertexBufferPool: Make Token move constructor and move assignment noexcept
Same behavior, but allows the type to be used nicely with containers and
move facilities that rely on std::move_if_noexcept.
2020-04-05 09:28:05 -04:00
Lioncash caca49b3bd UniformBufferPool: Make Token move constructor and move assignment noexcept
Allows the type to be used with containers and facilities that make use
of std::move_if_noexcept, etc.
2020-04-05 09:26:29 -04:00
Lioncash 1a031f54c4 ProjectPath: Remove unused file-scope std::regex instance
Same behavior, minus an unnecessary heap allocation on program start.
2020-04-05 09:22:28 -04:00
Lioncash c48303c2c2 Database: Add missing const qualifier 2020-04-05 09:21:58 -04:00
Lioncash 393e824838 Project: Make checkForLine() a const member function
This only ever queries the existence of a line, so it can be made const.
2020-04-05 09:16:33 -04:00
Lioncash 613b503cd6 FourCC: Remove constexpr from IStreamReader constructor
IStreamReader isn't constexpr, so this will result in a compilation
error if used.
2020-04-05 09:13:29 -04:00
Lioncash ede801b344 Project: Use emplace_back where applicable in lockAndRead()
Same behavior, but allows for in-place construction.
2020-04-05 09:12:27 -04:00
Lioncash 45556184b4 HMDL_RT: Make use of std::make_unique
More straightforward than using raw new within a reset() call.
2020-04-05 09:05:37 -04:00
Lioncash ebb0a161c3 HMDL_RT: Remove unnecessary pointer cast
The MemoryReader class already accepts const qualified data, so there's
no need to cast away const.
2020-04-05 09:03:38 -04:00
Jack Andersen e7f17d56c2 Add IStreamReader overloaded constructor to DNAFourCC 2020-03-28 18:10:55 -10:00
Luke Street 7b63b8e197 bintoc: Use ZLIB_INLCUDE_DIR 2020-03-04 02:41:03 -05:00
Luke Street e4a775f18e Avoid duplicate athena/extern/zlib import 2020-03-04 02:35:32 -05:00
Phillip Stephens 3d0451a496 Compile fix 2020-03-03 16:52:57 -08:00
Phillip Stephens 2149af68fa Merge pull request #35 from AxioDL/bintoc-compress
Add bintoc --compress
2020-03-03 16:47:09 -08:00
Phillip Stephens 7abe527032 Merge pull request #34 from linkmauve/xdg-basedir
Respect the XDG base directory specification
2020-03-03 16:45:08 -08:00
Phillip Stephens 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
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 46c3778bc0 Update athena 2019-12-10 20:50:31 -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
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
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
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
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
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
Phillip Stephens 7ab3ae5c30 Update athena 2019-09-07 07:07:42 -07:00
Phillip Stephens 822227a1ca Temporary xxhash fixes, update submodules 2019-09-06 23:30:53 -07:00
Lioncash c297c6c7a9 ApplicationTools: Link in boo and hecl-light
Ensures that the include paths are always automatically added to the
shader targets.
2019-09-06 02:10:58 -04:00
Phillip Stephens 6c8ffcddad Update athena 2019-09-05 01:10:05 -07:00
Phillip Stephens 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 0b30fedef5 Update boo 2019-08-31 11:20:43 -10: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
Phillip Stephens fbb5b86401 Compile fixes 2019-08-31 01:59:38 -07:00
Lioncash 4f19e8623e Project: Eliminate local variable shadowing
Eliminates trivial variable shadowing warnings.
2019-08-30 11:47:18 -04:00
Phillip Stephens 1269cd74c3 Update athena 2019-08-26 16:00:29 -07:00
Phillip Stephens 41d87cf80e Update boo 2019-08-26 15:58:10 -07:00
Phillip Stephens 5a5194dd4a Update Boo 2019-08-25 18:29:01 -07:00
Lioncash 4ca9a57540 hecl/hecl: Remove windows ifdef in CaseInsensitiveCompare
This is technically still usable for non-Windows systems, given there's
nothing directly Windows-specific about the operator overload
2019-08-25 21:22:44 -04:00
Phillip Stephens 3daaeac76b Update boo 2019-08-24 17:58:26 -07:00
Phillip Stephens 34505ea557 Update boo 2019-08-24 14:45:57 -07:00
Phillip Stephens 9725c12c52 Merge pull request #21 from lioncash/move
CVar: std::move listeners within addListener()
2019-08-24 14:43:47 -07:00
Lioncash 3dc10e7473 CVar: std::move listeners within addListener()
std::function is allowed to heap allocate in order to hold any necessary
captures, so we should be std::move-ing instances here in order to avoid
potentially performing reallocations.
2019-08-24 16:27:29 -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