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
Jack Andersen
7b05b41d34
Windows build fixes
2019-07-27 15:19:48 -10:00
Jack Andersen
6988f86672
Massive fmtlib refactor
2019-07-19 18:22:58 -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
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
3759bf1b3d
Avoid redundant pool destroy/allocs
2019-03-04 22:34:03 -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
470182de06
Support for diffuse texture identification in IR
2019-02-23 21:14:43 -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
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
808e46a4ef
Update boo
2018-10-18 16:19:17 -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
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
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
56a0661d33
Update boo
2018-06-01 14:02:20 -10:00
Jack Andersen
c11557bcff
Make SIGINT a bit cleaner for packaging
2018-05-25 17:07:04 -10:00
Jack Andersen
77f814192e
Windows build fixes
2018-05-24 20:34:58 -10:00
Jack Andersen
d0d330062f
Resource tracing and memory leak fixes
2018-05-19 20:12:32 -10:00
Jack Andersen
9c30a44a65
Fix see through collision material
2018-05-10 21:02:19 -10:00
Phillip Stephens
eae0dbd2bb
Add ability to flag commands
2018-04-29 20:11:37 -07:00
Phillip Stephens
031c139e2d
Merge commit '13b41ab'
2018-04-26 14:11:49 -07:00
Phillip Stephens
694bc0a888
Add ability to unregister command on the fly
2018-04-26 14:10:32 -07:00
Jack Andersen
aa84d7c725
Add emissive cycles shaders
2018-04-14 20:04:08 -10:00
Jack Andersen
396790181a
Minimized shader hash generation; more compatible MultiProgressPrinter
2018-04-07 10:52:35 -10:00
Jack Andersen
b54dedb22b
Minor cook fixes
2018-04-03 22:28:13 -10:00
Jack Andersen
94988eb9e5
GX shader cook fixes; Resource cook passes
2018-04-01 18:26:21 -10:00
Jack Andersen
c9f61eb9da
Fixes for GameCube targeting
2018-03-27 22:06:34 -10:00
Jack Andersen
d1a66e15d4
Add parallel progress printing
2018-03-23 11:40:12 -10:00
Jack Andersen
3acb9c9e3d
Initial PATH cooking support
2018-02-24 22:23:00 -10:00
Jack Andersen
06797cd9fc
Add PATH .blend file type
2018-02-23 20:15:12 -10:00
Jack Andersen
3eedbd3c3b
Template-based DNA refactor
2018-02-21 21:23:15 -10:00
Jack Andersen
7a60440d58
Add shader mode for constant alpha overwrite
2018-02-04 20:54:35 -10:00
Jack Andersen
1b861eaa61
Non-clobbering YAML serialize operation
2018-01-22 18:40:09 -10:00
Phillip Stephens
24abe43865
Restore old CVar system
2018-01-21 18:40:11 -08:00
Jack Andersen
ac29a724ba
Deep color CVar and GLSL backend bug fixes
2018-01-15 20:30:37 -10:00
Phillip Stephens
da5ba6cdf3
Registration fix for Vec*CVar and StringCVar
2018-01-15 07:58:40 -08:00
Phillip Stephens
8cef2f5192
Add ability to enable developer mode in-code
2018-01-15 05:18:03 -08:00
Phillip Stephens
5c66ffc5df
Refactor CVar class
2018-01-15 04:34:02 -08:00
Phillip Stephens
52c14848d9
Various minor fixes
2018-01-13 23:37:00 -08:00
Phillip Stephens
f777d034f2
Implement core Console behavior and CVarManager commands
2018-01-13 18:39:32 -08:00
Phillip Stephens
7f6913e046
Fix linux build, initial logvisor integration into Console
2018-01-11 08:26:33 -08:00
Phillip Stephens
e247733d04
Initial `Console` implementation
2018-01-11 01:36:00 -08:00
Jack Andersen
2d0f079991
Add CVarCommons; hecl-light library
2018-01-09 20:16:18 -10:00
Jack Andersen
b3ca5b1e1e
Changes to support MSAA rendering
2018-01-06 19:17:45 -10:00
Jack Andersen
aae0dc56b7
Huge compile performance refactor
2017-12-28 21:56:31 -10:00
Phillip Stephens
0e4310903d
Update boo; Add initial GUI mode support
2017-12-15 18:13:20 -08:00
Jack Andersen
93711460f8
More flexible cull-mode options for shader extensions
2017-12-09 19:29:23 -10:00
Jack Andersen
a60a02a31e
Add flip flag for collision triangles
2017-12-08 19:15:26 -10:00
Jack Andersen
559096feeb
UWP support
2017-12-05 17:22:31 -10:00
Jack Andersen
d4ce1d4913
ProjectPath bug fixes
2017-12-01 19:49:45 -10:00
Jack Andersen
1987a6e3d3
Implement asprintf for Windows
2017-11-24 16:49:50 -10:00
Jack Andersen
ddf7c983da
Major refactor of hecl parser using @hackyourlife architecture
2017-11-20 23:33:28 -10:00
Jack Andersen
b41b21cb4b
Windows fixes
2017-11-13 17:34:05 -10:00
Jack Andersen
4111d49d64
string_view refactor
2017-11-12 20:13:53 -10:00
Jack Andersen
a3b9a32633
Remaining object tracker platforms
2017-11-05 20:56:17 -10:00
Jack Andersen
d2fda8a373
Changes to support new boo object tracker API
2017-11-04 20:15:03 -10:00
Jack Andersen
3e18e519ce
Windows fixes
2017-10-29 21:29:07 -10:00
Jack Andersen
337e087182
0-size buffer fix
2017-10-27 21:08:17 -10:00
Jack Andersen
a2c5d891b5
Various bug fixes
2017-10-27 00:10:08 -10:00
Jack Andersen
5e99ee1d95
Minor improvements
2017-10-25 19:37:15 -10:00
Jack Andersen
b7208bfc5f
Implement `hecl package`
2017-10-24 21:46:32 -10:00
Jack Andersen
48ec4cf6eb
Various bug fixes
2017-10-21 20:10:59 -10:00
Jack Andersen
ebad51dc2e
Add DCLN blend type
2017-10-16 19:51:13 -10:00
Jack Andersen
2674989a4a
Generate pool skin index for CPU-based skinning operations
2017-08-20 19:46:26 -10:00
Jack Andersen
f761810e8c
Other platforms for SteamFinder
2017-07-23 13:44:17 -10:00
Jack Andersen
14277fa386
Add Steam app finder, fix missing blender cube bug
2017-07-22 23:20:28 -10:00
Jack Andersen
40a26ae19d
Add missing string.h and algorithm includes
2017-06-10 19:01:17 -10:00
Jack Andersen
7e01a86330
Windows fixes
2017-06-10 08:40:27 -10:00
Jack Andersen
d8ed2fd157
Isolate hecl::SystemChar in single header
2017-06-10 08:22:40 -10:00
Jack Andersen
a0efeb3c07
Add visibility mode field for mappable objects
2017-04-22 11:44:18 -10:00
Jack Andersen
8bfac09158
Add map visibility mode property
2017-04-18 13:38:23 -10:00
Jack Andersen
21e2a26e36
HLSL reflection fix
2017-03-26 08:21:01 -10:00
Jack Andersen
b860d962ae
Reflection shader support
2017-03-25 19:51:58 -10:00
Jack Andersen
ed5085e42b
MAPA/MAPU bug fixes
2017-03-20 11:14:20 -10:00
Jack Andersen
53521a0eea
Initial blender addon support for MAPA and MAPU types
2017-03-19 19:08:51 -10:00
Jack Andersen
165094b949
Merge branch 'master' of https://github.com/AxioDL/hecl
2017-03-13 21:03:35 -10:00
Jack Andersen
626056f3b9
Refactor for boo upgrades
2017-03-13 21:03:22 -10:00
Jack Andersen
2478495cbb
GCC compile fixes
2017-03-10 20:32:12 -10:00
Jack Andersen
b30381a5fd
Move xxhash to boo
2017-03-04 21:55:32 -10:00
Jack Andersen
89f216d94f
Add hecl::PathRelative()
2017-02-24 21:58:36 -10:00
Jack Andersen
8c3a7da616
Updates to support VISI generation
2017-02-23 22:27:07 -10:00
Phillip Stephens
d67d54ddd0
Change how 32bit hashes are calculated to prevent collisions
2017-02-13 13:27:43 -08:00
Jack Andersen
86f9f62ef6
Targeted subresource generation for Actor and World blends
2017-02-12 20:51:15 -10:00
Jack Andersen
ae9b2309cf
Add RecrusiveMakeDir
2017-02-03 17:45:39 -10:00
Jack Andersen
8469ee8fac
Update athena, minor buffer pool changes
2017-01-31 21:19:15 -10:00
Jack Andersen
c6671b114e
FRME cook fixes
2017-01-28 17:56:54 -10:00
Phillip Stephens
c840625080
Add Char16ToWide helper function
2017-01-23 23:55:26 -08:00
Jack Andersen
b8abd466dd
char16_t formatting support
2017-01-23 21:40:09 -10:00
Jack Andersen
aecaab27a4
Create directory chains at a late point during extract
2017-01-16 15:21:13 -10:00
Phillip Stephens
c4ee610169
Fix stack related crash in getGlobResults
2017-01-01 15:19:03 -08:00
Phillip Stephens
279b4b1d68
Update Collision cook process
2016-12-28 11:41:03 -08:00
Jack Andersen
77c3d1e184
BlenderConnection stability improvements for Windows
2016-12-25 12:15:31 -10:00
Jack Andersen
0bf5499717
More portable std::atomic_bool initialization
2016-12-24 21:24:19 -10:00
Jack Andersen
d7c5dff1f0
Windows fixes
2016-12-24 21:02:34 -10:00
Jack Andersen
75847c67d3
Better thread contention handling for BlenderConnection
2016-12-24 15:35:30 -10:00
Jack Andersen
3d4355182f
Squelch redefinition warnings
2016-12-16 13:05:11 -10:00
Jack Andersen
121f566848
Use atomics for pool buffer ref-counts
2016-12-14 12:56:32 -10:00
Jack Andersen
46b04925c3
More graceful handling of non-installed blender
2016-12-12 10:09:53 -10:00
Jack Andersen
399cdfc657
Update submodules
2016-12-11 10:20:55 -10:00
Jack Andersen
f0b73d268d
Update submodules
2016-12-10 15:51:51 -10:00
Jack Andersen
b12b858f3d
Integrate llvm BitVector and MathExtras
2016-12-09 16:32:20 -10:00
Jack Andersen
aa408ccfec
Move LTO-problematic definitions out of header
2016-10-10 15:21:15 -10:00
Jack Andersen
7f5ba744da
Additional BlenderConnection World capabilities
2016-10-07 17:40:08 -10:00
Jack Andersen
e65fe14c53
BlenderConnection tweaks
2016-10-02 12:34:10 -10:00
Jack Andersen
4f53d886ce
Implement world cooker
2016-10-01 13:18:52 -10:00
Jack Andersen
835976be56
BlenderConnection::compileWorld() stub
2016-09-30 12:41:01 -10:00
Jack Andersen
c0f060d6ad
Remove unnecessary glob regex
2016-09-24 15:57:43 -10:00
Jack Andersen
c1dcf6d23e
Windows Fixes
2016-09-18 15:02:57 -10:00
Jack Andersen
6de25c1d1d
Refinements to avoid bad level linkages
2016-09-18 13:46:49 -10:00
Jack Andersen
5303b9bda1
Dramatic shader cache performance improvement
2016-09-11 18:52:55 -10:00
Jack Andersen
691d53304c
Add skin bank count field to HMDL metadata
2016-09-04 12:47:09 -10:00
Jack Andersen
0d048657d4
comment capitalization
2016-08-31 13:07:40 -10:00
Jack Andersen
f0b1837300
Add handy StringUtils begin/end compare functions
2016-08-30 15:13:00 -10:00
Jack Andersen
07c21ec489
ProjectPath hashing fix
2016-08-28 14:28:24 -10:00
Jack Andersen
719c62f09f
Add ResourceLock for detecting parallel resource collisions
2016-08-11 16:33:03 -10:00
Jack Andersen
ca4d50c62b
More reliable shader cache; update submodules
2016-08-08 08:22:32 -10:00
Jack Andersen
07fcc2db92
Metal extended shader fixes
2016-08-03 13:46:25 -10:00
Jack Andersen
e17d5c0b83
GLSL generation fixes
2016-08-01 19:54:40 -10:00
Jack Andersen
7e42581cf0
HLSL extended shader support
2016-07-31 18:34:08 -10:00
Jack Andersen
f9cae24c5d
Add alpha-test functionality for applicable blend modes
2016-07-31 13:35:46 -10:00
Jack Andersen
ec859598e9
Metal platform conformance
2016-07-31 10:26:08 -10:00
Jack Andersen
9531d2bb02
Fixes for extended shaders
2016-07-30 18:45:28 -10:00
Jack Andersen
0acf4865ca
Initial extended shader refactor
2016-07-30 16:06:13 -10:00
Jack Andersen
4aa4668073
Pre-emptive blending mode determination in IR loader
2016-07-26 12:05:21 -10:00
Jack Andersen
c74f05f9ac
Access color registers from lighting uniform on Metal
2016-07-20 19:18:12 -10:00
Jack Andersen
23f52a1ead
Add support for normalizing TCG configs
2016-07-18 17:41:55 -10:00
Jack Andersen
c544d99f98
Shader variable emit fixes
2016-07-07 14:05:45 -10:00