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
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
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
Jack Andersen
dfcad01c2f
Fix TypedVariant building with MSVC
2019-10-18 15:31:54 -10: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
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
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
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
822227a1ca
Temporary xxhash fixes, update submodules
2019-09-06 23:30:53 -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
Phillip Stephens
fbb5b86401
Compile fixes
2019-08-31 01:59:38 -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
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
Phillip Stephens
52f9922820
Merge pull request #18 from lioncash/noexcept
...
hecl/hecl: noexcept correctness changes
2019-08-24 00:47:45 -07: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
Lioncash
a7bd496698
hecl/hecl: Remove pointer casts from Hash constructor interface
...
The interface accepts const void* as the input type, so there's no need
to explicitly pointer cast the input data.
2019-08-24 02:55:09 -04:00
Lioncash
e127fed0fd
hecl/hecl: Mark Hash interface as noexcept
...
These are utilized within some hash implementations, which shouldn't
throw, so these member functions can be marked as noexcept.
2019-08-24 02:52:27 -04:00
Lioncash
09fe937bc3
hecl/hecl: Make hash_combine_impl noexcept
...
This is used to implement hashes, and since hash implementations
shouldn't throw, these shouldn't as well.
2019-08-24 02:46:47 -04:00
Lioncash
f957dd594b
hecl/hecl: Mark byte swapping functions as noexcept
...
These are frequently used within hash implementations, which should be
noexcept by default. Given it doesn't make sense to throw exceptions
from these functions anyways, they can be made noexcept.
2019-08-24 02:46:44 -04:00
Phillip Stephens
e12e0057c3
Minor compile fixes
2019-08-23 16:58:15 -07:00
Phillip Stephens
ff7e95546b
Merge pull request #16 from lioncash/string
...
hecl/Compilers: Amend minor string related code
2019-08-23 16:36:53 -07:00
Lioncash
11b3bf0889
Connection: Alphabetize friend class/struct declarations
2019-08-23 13:44:33 -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
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
Phillip Stephens
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
Phillip Stephens
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
Lioncash
9dcf7e7f08
hecl/hecl: Add smart pointer variant of Fopen
...
Provides a wrapper API over Fopen in order to prevent resource leaks.
2019-08-21 19:28:14 -04:00
Lioncash
6c9fdfcbb7
Connection: Replace std::string _writeStr override with std::string_view
...
Same thing, but usable without the need to construct a std::string
instance for things like string literals.
2019-08-21 18:30:07 -04:00
Lioncash
5d157e97b3
General: Use override where applicable
2019-08-21 18:20:07 -04:00
Phillip Stephens
bcfea9a09a
Merge pull request #10 from lioncash/cv
...
CVar: Remove redundant const return for toLiteral() and toWideLiteral()
2019-08-20 19:31:06 -07:00
Lioncash
b9e5417a94
CVar: Remove redundant const return for toLiteral() and toWideLiteral()
...
This can actually inhibit copy elision
2019-08-20 10:15:14 -04:00
Lioncash
9b735a853c
Database: Silence -Wdocumentation warnings
...
Amends two Doxygen parameter references.
2019-08-19 23:22:03 -04:00
Lioncash
7635b9c6c1
Database: Remove unused includes
...
Quite a few includes aren't directly used anywhere within the header
itself. We can remove these to avoid unintentionally propagating them
into other source files.
2019-08-19 23:14:27 -04:00
Lioncash
263c0697bc
Database: Use nullptr instead of NULL where applicable
2019-08-19 23:09:41 -04:00
Lioncash
66125c2b3b
Database: Convert typedefs into using aliases
2019-08-19 23:08:35 -04:00
Lioncash
93ec114e0c
Database: Use [[maybe_unused]] instead of (void)
...
Same behavior, but without the need to duplicate the variable name.
2019-08-19 23:06:57 -04:00
Phillip Stephens
401ef19682
Merge pull request #5 from lioncash/fcc
...
hecl/FourCC: Remove undefined behavior and make rest of interface constexpr where applicable
2019-08-15 07:47:29 -07:00
Phillip Stephens
23551de349
Merge pull request #3 from lioncash/str
...
hecl/hecl: Minor changes and improvements to string utilities
2019-08-15 07:47:17 -07:00
Lioncash
477645f15d
hecl/FourCC: Amend clang-format discrepancies
...
These were formatting discrepancies that existed before all of the
previous changes. We may as well resolve them so that others don't run
into them.
2019-08-15 06:49:20 -04:00
Lioncash
9e7661eb7a
hecl/FourCC: Make rest of FourCC interface constexpr where applicable
...
Finally, we can make the rest of the interface constexpr, except for
toString().
2019-08-15 06:48:38 -04:00