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
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
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
822227a1ca
Temporary xxhash fixes, update submodules
2019-09-06 23:30:53 -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
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
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
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
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
Phillip Stephens
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
Lioncash
ac4858b857
Connection: Replace usages of goto
2019-08-21 19:16:02 -04:00
Lioncash
5d157e97b3
General: Use override where applicable
2019-08-21 18:20:07 -04:00
Lioncash
82109b785d
General: Make use of lock deduction guides
...
Allows dehardcoding the type within the locks.
2019-08-21 17:01:03 -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
645f20c308
CVarManager: Deduplicate repetitive names
...
We can just assign the repeated portion of the expression to a reference
instead of continually re-accessing the same variable, making it nicer
to read.
2019-08-20 06:29:17 -04:00
Lioncash
cfced1bf0a
CVarManager: Eliminate redundant map lookups
...
We can simply utilize the iterator of the previous existence check to
access the member instead of hashing through the map again.
2019-08-20 06:23:25 -04:00
Lioncash
4818198e41
CVarManager: Brace multi-line statements
...
Makes intentions explicit.
2019-08-20 06:10:23 -04:00
Lioncash
a16327df68
CVarManager: Use std::any_of for restartRequired()
...
Same thing, but more concise.
2019-08-20 06:08:12 -04:00
Lioncash
a1a18c6816
CVarManager: Use insert_or_assign where applicable
...
Avoids the need to create an initial entry in the map which is then
overwritten with the value being assigned to it.
2019-08-20 06:06:55 -04:00
Lioncash
64ac2e423e
hecl/FourCC: Make use of constexpr constructors where applicable
2019-08-15 06:48:38 -04:00
Jack Andersen
7b05b41d34
Windows build fixes
2019-07-27 15:19:48 -10:00
Jack Andersen
08d15514a9
Update submodules
2019-07-20 22:42:03 -10:00
Jack Andersen
6988f86672
Massive fmtlib refactor
2019-07-19 18:22:58 -10:00
Phillip Stephens
efa7463a9a
shaderc metal "error" fix
2019-07-01 01:26:42 -07:00
Jack Andersen
4fa1a2f3b7
Fixes for ANCS cooking
2019-06-14 14:37:53 -10:00
Jack Andersen
31caec79dd
Windows build fixes
2019-06-12 15:29:52 -10:00
Jack Andersen
387f8fa864
Blender Python API updates and better CMake dependency handling
2019-06-11 16:01:19 -10:00
Jack Andersen
7cc157c8b9
Support for per-stage shader hashing
2019-06-05 14:07:29 -10:00
Jack Andersen
f596cbff83
Windows fixes for refactor
2019-05-09 18:07:48 -10:00
Jack Andersen
92e2c03a01
Fix skin binding unordered_map use
2019-05-08 13:38:00 -10:00
Jack Andersen
5c59acddf2
Blender 2.8 refactor
2019-05-07 17:47:34 -10:00
Jack Andersen
8b1b674a7d
Ensure uninitialized data is not accessed in normal operation
2019-04-06 18:54:58 -10:00
Jack Andersen
2ab5c1436b
Add True and False tests for bitwise enums
2019-04-02 18:29:04 -10:00
Jack Andersen
72b14a78a0
Correct indirect texture sampling swizzle
2019-03-07 17:33:50 -10:00
Jack Andersen
927be4e839
Proper blending modes for handling alpha test
2019-03-02 20:17:41 -10:00
Jack Andersen
1f04f7ae12
Add closefrom call to RunProcess
2019-02-26 19:13:19 -10:00
Jack Andersen
6626557cc4
TexGen bug fix with diffuse-only pass
2019-02-26 18:50:13 -10:00
Jack Andersen
8e8ecaf4aa
Add fallback for diffuse expression
2019-02-24 22:10:34 -10:00
Jack Andersen
a9254f6643
Ensure pipes aren't duplicated between blender instances
2019-02-24 00:14:44 -10:00
Jack Andersen
470182de06
Support for diffuse texture identification in IR
2019-02-23 21:14:43 -10:00
Jack Andersen
fc40190933
Implicit switch fallthrough refactor
2019-02-17 19:44:46 -10:00
Jack Andersen
b6af26fa91
addColor term for standard shader model
2019-02-07 21:55:39 -10:00
Jack Andersen
d88c9cc21b
Debug mode for metal shaders
2019-02-03 15:38:14 -10:00
Jack Andersen
23a6d66a8c
Add -j argument for hecl cooking
2019-02-03 14:01:12 -10:00
Jack Andersen
f35285b076
Windows fixes
2019-01-28 22:25:51 -10:00
Phillip Stephens
7542cb9650
Minor fixes
2019-01-26 15:21:30 -08:00
Phillip Stephens
f776f89bee
Minor Console fixes
2018-12-09 21:12:10 -08:00
Jack Andersen
72193079ae
New code style refactor
2018-12-07 19:18:42 -10:00
Jack Andersen
54c466276b
SIMD refactor
2018-12-07 15:31:11 -10:00
Jack Andersen
1b073abb76
Change cheats CVar key
2018-11-23 22:08:44 -10:00
Jack Andersen
e2ec1f69a3
Vertex shaders do rigging computations in object space
2018-11-07 14:53:00 -10:00
Jack Andersen
344148e3b3
Add direct SDNA parser for blend files
2018-10-21 22:14:32 -10:00
Jack Andersen
a230eeb3b1
Macros for shader extensions to determine blend factors
2018-10-20 18:13:25 -10:00
Jack Andersen
3698199403
Reflection sampler fixes
2018-10-18 13:55:42 -10:00
Jack Andersen
d395f4a79e
macOS build fixes
2018-10-15 17:15:05 -10:00
Jack Andersen
61a50aa57e
Windows sync fixes for API changes
2018-10-14 10:09:15 -10:00
Jack Andersen
aef455e1ab
Attachment model support in blender addon
2018-10-11 10:48:13 -10:00
Jack Andersen
0ee18025dd
Huge shader infrastructure refactor
2018-10-06 16:53:57 -10:00
Jack Andersen
e16ef9709d
Update submodules
2018-09-02 14:45:32 -10:00
Jack Andersen
3f45710fb2
Fix cook tool crash
2018-06-15 16:26:30 -10:00
Phillip Stephens
61f744e15d
Defer values for unregistered CVars
2018-06-12 20:19:08 -07:00
Phillip Stephens
801214d9a8
Add support for string literals in Console::executeString, add implicit get/set for CVars
2018-06-12 19:03:29 -07:00