Commit Graph

1067 Commits

Author SHA1 Message Date
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 c67c9b08f8 Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/hecl 2019-06-20 20:02:43 -10:00
Jack Andersen 3256a05a99 Update boo 2019-06-20 20:02:34 -10:00
Phillip Stephens b8ebd9aeab Update boo 2019-06-20 15:44:23 -07: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