Lioncash
789650d4c0
driver/ToolBase: Convert typedef into using alias
...
Same thing, but a little nicer to read.
2019-08-19 22:51:07 -04:00
Lioncash
f746b30b03
driver: Make tool constructors explicit
...
Enforces being explicit when constructing instances of these types.
2019-08-19 22:49:27 -04:00
Lioncash
11364cbd53
driver/ToolBase: Make operator bool() explicit
...
Prevents error-prone conversions to bool.
2019-08-19 22:35:32 -04:00
Lioncash
c390f3d489
driver: Add missing override specifiers where applicable
...
Adds missing override specifiers to enforce correct virtual member
function signatures.
2019-08-19 22:34:15 -04:00
Lioncash
d3ac48715f
driver/main: Use separate variables for error checking in main()
...
Avoids reusing the same variable for two different areas of behavior and
uses separately named variables. This can help debugging if the first
condition isn't true, but the tool run condition is true, as it provides
an error count to compare against.
2019-08-19 21:57:25 -04:00
Lioncash
7647fa3ca6
driver/main: Factor out argument handling to its own function
...
Factors out the ToolPassInfo construction to its own function keep the
code isolated from everything else. Also simplifies the assignment in
main().
We can also migrate the global cwdbuf into this function to narrow its
scope down.
2019-08-19 21:50:02 -04:00
Lioncash
d76d776a0e
driver/main: Factor out tool construction code to its own function
...
Isolates the tool construction code and also makes the assignment within
main more straightforward. While we're at it, we can also make use of
std::make_unique within the relocated function.
2019-08-19 21:38:23 -04:00
Lioncash
fd61ba6cc7
driver/main: Factor out project finding code to its own function
...
Keeps the logic contained within its own function and makes the
assignment more straightforward within main().
2019-08-19 21:18:05 -04:00
Phillip Stephens
1fb18dbf26
Update boo
2019-08-18 18:49:27 -07:00
Phillip Stephens
269ca8a7ec
Update boo
2019-08-17 22:59:38 -07:00
Phillip Stephens
e4d66745f5
Update submodules
2019-08-16 18:38:25 -07:00
Phillip Stephens
c411f6e784
Update athena
2019-08-15 16:08:31 -07:00
Phillip Stephens
5ae5edfc46
Update athena
2019-08-15 08:41:04 -07:00
Phillip Stephens
fb529992ca
Update athena
2019-08-15 07:52:37 -07: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
64ac2e423e
hecl/FourCC: Make use of constexpr constructors where applicable
2019-08-15 06:48:38 -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
Lioncash
2f9010bc9f
hecl/FourCC: Eliminate magic values in DNAFourCC
2019-08-15 06:48:38 -04:00
Lioncash
1382bbf365
hecl/FourCC: Implement operator!= in terms of operator==
...
Deduplicates the amount of written code. Now code only needs to ever
change in operator== to automatically reflect across the two functions.
2019-08-15 06:48:38 -04:00
Lioncash
06c436b68d
hecl/FourCC: Eliminate undefined behavior within FourCC interface
...
Type punning like this isn't actually well-defined behavior. Only
casting to char/unsigned char is well defined. This presents a problem
when using FourCC instances in constexpr contexts, given constexpr
contexts are forbidden from having undefined behavior in them.
Because of that, any attempt to use the const char* constructor within a
constexpr context would always result in a compilation error.
2019-08-15 06:48:31 -04:00
Lioncash
0f74cce2ca
hecl/FourCC: Tidy up constructors
...
Marks constructors as noexcept and explicitly defaults the copy
constructor/assignment and move constructor/assignment.
2019-08-15 05:28:11 -04:00
Lioncash
9ec19d99cd
hecl/hecl: Make hash constructors explicit where applicable
2019-08-15 03:06:56 -04:00
Lioncash
06548409f8
hecl/hecl: Make Hash constexpr
2019-08-15 03:00:42 -04:00
Lioncash
216b038a7d
hecl/SystemChar: Unify StrLen implementations and make constexpr
...
We can utilize std::char_traits to generically handle the defined
character type. Since C++17, std::char_traits' length() function is
constexpr, so we can also make StrLen constexpr.
2019-08-15 02:28:31 -04:00
Lioncash
58e0c7eaa7
hecl/SystemChar: Cast to unsigned char before calling tolower/toupper
...
Performed for the same reasons outlined within
b32f16b519eafacb9de4852855486270f73d5e2e (avoiding undefined behavior).
2019-08-15 02:28:31 -04:00
Lioncash
b63d848846
hecl/hecl: Amend lingering formatting inconsistencies
...
Amends formatting issues that were pre-existing to get them out of the
way.
2019-08-15 02:28:09 -04:00
Lioncash
485782e3a7
hecl/hecl: Convert typedefs to using aliases
...
Same thing, but slightly nicer to read.
2019-08-15 02:26:12 -04:00
Lioncash
eb872cdf88
hecl/hecl: Assign ResourceLock's good member in the initializer list
...
Same behavior, but more idiomatic. While we're at it, we can make said
constructor and the conversion operator explicit to make the class a
little less error-prone.
2019-08-15 02:26:12 -04:00
Lioncash
92b87676c2
hecl/hecl: Make Entry take SystemString by value and move it
...
This allows callers to move into the constructor and subsequently move
into the member variable, avoiding copies altogether.
2019-08-15 02:26:12 -04:00
Lioncash
dae3e6123f
hecl/hecl: Make string conv operator+ instances friend functions
...
Makes both operators symmetrical to one another.
2019-08-15 02:26:12 -04:00
Lioncash
c7aae83a75
hecl/hecl: Slightly improve resource usage within string conv operator+ funcs
...
We already construct a std::string instance, so we can just append to
it instead of creating another temporary with std::string's operator+.
We also change this to append using the string view getter functions, as
this allows the appending process to do less work. When a pointer is
passed in, a strlen call would need to be performed in order to
determine the total characters to append. However, we already know the
size (via the string view).
2019-08-15 02:26:12 -04:00
Lioncash
c513a4b61f
hecl/hecl: Make use of std::char_traits with StrNCmp
...
Same behavior, but allows removing the use of ifdefs, unifying the code
paths.
2019-08-15 02:26:12 -04:00
Lioncash
ef6b41ea15
hecl/hecl: Amend string functions operating on string views to use interface functions
...
We don't really need to call out to the C functions to perform the
comparison behavior when the views already have a comparison function
as part of their interface.
2019-08-15 02:26:03 -04:00
Lioncash
e0b5a4e2f7
hecl/hecl: Cast to unsigned char before calling std::isspace
...
std::string_view instances can contain character values that lie outside
the range of an unsigned char (negative values). If such a value is
passed into std::isspace, then the behavior of the function is
undefined. To avoid this, we add these casts.
2019-08-15 01:21:10 -04:00
Lioncash
91ff474c44
hecl/hecl: Handle bounded strings within CaseInsensitiveCompare
...
std::string_view instances aren't guaranteed to be null-terminated, so
we shouldn't be treating them as if they are in these functions, and
should instead use a bounded comparison based off their sizes.
This way we prevent an edge-case from ever becoming a problem and also
remove an ifdef, making the code uniform across all implementations.
2019-08-15 01:21:04 -04:00
Phillip Stephens
9dc1373201
Update boo
2019-08-14 06:52:24 -07:00
Phillip Stephens
78e88679a9
Update boo
2019-08-13 14:40:21 -07:00
Phillip Stephens
a7c97b313c
Update athena
2019-08-10 17:47:40 -07: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
Jack Andersen
b483acb8d3
Update submodules
2019-07-06 22:21:39 -10:00
Phillip Stephens
efa7463a9a
shaderc metal "error" fix
2019-07-01 01:26:42 -07:00
Phillip Stephens
cfd365bebe
Update boo
2019-06-30 21:03:54 -07:00
Phillip Stephens
b251de5fd0
Update boo
2019-06-30 20:40:26 -07:00
Phillip Stephens
385f60cea3
Update boo
2019-06-30 20:15:40 -07:00
Jack Andersen
3256a05a99
Update boo
2019-06-20 20:02:34 -10:00
Jack Andersen
49eb971037
Update boo
2019-06-15 20:25:03 -10: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
82fc24ebe6
Update boo
2019-06-02 21:51:26 -10:00
Jack Andersen
4de7e2c0d6
Update boo
2019-05-31 23:27:44 -10:00
Jack Andersen
c8c6936e0c
Update boo
2019-05-31 17:40:30 -10:00
Jack Andersen
50ca5553ab
Ensure ApplicationReps.hpp is generated in binary directory
2019-05-10 13:08:05 -10:00
Jack Andersen
e1b01a0962
Update boo
2019-05-09 18:10:04 -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
6816fea5b8
Update athena
2019-03-23 22:05:36 -10:00
Jack Andersen
4bb697cbdf
Update boo
2019-03-09 23:14:04 -10:00
Jack Andersen
72b14a78a0
Correct indirect texture sampling swizzle
2019-03-07 17:33:50 -10:00
Jack Andersen
3759bf1b3d
Avoid redundant pool destroy/allocs
2019-03-04 22:34:03 -10:00
Jack Andersen
f262e59e68
Update boo
2019-03-03 13:03:33 -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
d13bd28281
Update boo
2019-02-17 19:46:29 -10:00
Jack Andersen
fc40190933
Implicit switch fallthrough refactor
2019-02-17 19:44:46 -10:00
Jack Andersen
fdbfbf74fd
Update athena
2019-02-15 15:31:21 -10:00
Jack Andersen
f46cd474a6
Update boo
2019-02-11 21:19:02 -10:00
Jack Andersen
3cc65704d3
Disable contiguous surface splitting
2019-02-09 18:41:13 -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
Jack Andersen
8cbb1e650f
Update boo
2019-01-21 18:23:42 -10:00
Jack Andersen
0178e8b7d6
PATH generation fixes for blender addon
2019-01-15 18:22:30 -10:00
Jack Andersen
6ff366f214
Update boo
2019-01-02 17:47:07 -10:00
Jack Andersen
96895c6150
Update submodules
2018-12-30 19:01:30 -10:00
Jack Andersen
1d95cf9221
Update lzokay
2018-12-26 11:39:49 -10:00
Jack Andersen
206e54210c
Switch to lzokay library
2018-12-19 17:44:40 -10:00
Jack Andersen
838afd73ae
Update athena
2018-12-16 17:52:24 -10:00
Jack Andersen
0af86ab3c2
Update submodules
2018-12-15 20:30:35 -10:00
Jack Andersen
f695aa44d4
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl
2018-12-12 21:39:03 -10:00
Jack Andersen
d8da828d12
Update athena
2018-12-12 21:38:40 -10:00
Phillip Stephens
f776f89bee
Minor Console fixes
2018-12-09 21:12:10 -08:00
Jack Andersen
7a68a5350b
Update athena
2018-12-07 20:44:26 -10: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
Phillip Stephens
6695e9596d
Fix heclTest build
2018-11-09 15:31:51 -08:00
Jack Andersen
e2ec1f69a3
Vertex shaders do rigging computations in object space
2018-11-07 14:53:00 -10:00
Jack Andersen
e140b16af8
Update boo
2018-11-04 21:25:18 -10:00
Jack Andersen
b2586432c7
Proper CRLF-handling for #define
2018-11-01 14:32:28 -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
808e46a4ef
Update boo
2018-10-18 16:19:17 -10:00
Jack Andersen
561bdac1c4
macOS build fixes
2018-10-18 14:57:16 -10:00
Jack Andersen
3698199403
Reflection sampler fixes
2018-10-18 13:55:42 -10:00
Jack Andersen
2e824b6bb5
Update boo
2018-10-16 17:26:21 -10:00
Jack Andersen
ba6e920034
Generate ApplicationReps.hpp in binary directory
2018-10-16 15:01:33 -10:00
Jack Andersen
46a6fc67ed
Update submodules
2018-10-15 21:26:26 -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
d1f0450401
Convert to pragma once
2018-10-06 17:38:44 -10:00
Jack Andersen
0c3dece31d
Update logvisor
2018-10-06 16:57:55 -10:00
Jack Andersen
0ee18025dd
Huge shader infrastructure refactor
2018-10-06 16:53:57 -10:00
Jack Andersen
170ff23843
Ensure bintoc creates output directory
2018-09-08 11:34:37 -10:00
Jack Andersen
31e3ee4d34
Update boo
2018-09-03 14:15:16 -10:00
Jack Andersen
808f227b8d
Update boo
2018-09-02 20:33:02 -10:00
Jack Andersen
e16ef9709d
Update submodules
2018-09-02 14:45:32 -10:00
Jack Andersen
be1184f822
Update boo
2018-08-27 19:42:14 -10:00
Jack Andersen
ddc415b668
Update submodules
2018-08-27 17:47:39 -10:00
Jack Andersen
a53748aff8
Update submodules
2018-08-25 21:57:25 -10:00
Jack Andersen
7ab391ccee
Update submodules
2018-08-24 22:38:48 -10:00
Jack Andersen
4da4b76434
Update submodules
2018-08-19 10:07:47 -10:00
Jack Andersen
9a0934482e
Update boo
2018-08-18 14:28:34 -10:00
Jack Andersen
0d64508ad4
Update submodules
2018-08-18 12:16:53 -10:00
Jack Andersen
e41680d467
Update athena
2018-08-09 20:19:07 -10:00
Jack Andersen
66fa8bbf9b
Update submodules
2018-07-27 18:33:24 -10:00
Jack Andersen
5b5e8212c3
Update boo
2018-06-27 15:15:57 -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
Jack Andersen
eff677ca20
Update boo
2018-06-11 15:16:00 -10:00
Jack Andersen
11f6617c2f
Update boo
2018-06-07 14:43:18 -10:00
Jack Andersen
03cb7cf237
Ensure lighting extension is passed vec3
2018-06-06 18:36:46 -10:00
Jack Andersen
cded4dfe1d
Update boo
2018-06-01 20:06:10 -10:00
Jack Andersen
56a0661d33
Update boo
2018-06-01 14:02:20 -10:00
Jack Andersen
4c974c5275
Update boo
2018-05-31 20:37:40 -10:00
Jack Andersen
b50f0d8c10
Update boo
2018-05-28 17:41:13 -10:00
Jack Andersen
37ff06314e
Windows fixes
2018-05-28 10:24:16 -10:00
Jack Andersen
13e6bf0274
Update boo
2018-05-27 11:35:49 -10:00
Jack Andersen
1689902af3
Update boo
2018-05-26 19:14:06 -10:00
Jack Andersen
ae1c4ce890
Update boo
2018-05-26 18:20:27 -10:00
Jack Andersen
c6b979f38e
Update boo
2018-05-26 11:29:54 -10:00
Jack Andersen
5bfa33c21f
Update boo
2018-05-25 17:42:03 -10:00
Jack Andersen
c11557bcff
Make SIGINT a bit cleaner for packaging
2018-05-25 17:07:04 -10:00
Jack Andersen
ec58e5b35f
Use glslang from upstream remote
2018-05-25 12:17:22 -10:00