Commit Graph

487 Commits

Author SHA1 Message Date
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
Jack Andersen eff677ca20 Update boo 2018-06-11 15:16:00 -10:00
Jack Andersen 03cb7cf237 Ensure lighting extension is passed vec3 2018-06-06 18:36:46 -10: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 0aac384e60 Fix windows build 2018-05-01 17:41:51 -07: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 2c5a662fec Add adjacent area lightmap cooking 2018-04-08 14:08:33 -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 f2d6f643c9 PATH cooking bug fix 2018-02-26 00:38:50 -10:00
Jack Andersen 3acb9c9e3d Initial PATH cooking support 2018-02-24 22:23:00 -10:00
Jack Andersen 2f6d9d2509 Minor macro adjustment 2018-02-23 20:33:01 -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 2f840e5321 Merge commit 'f47d7d9' 2018-01-21 18:41:17 -08:00
Phillip Stephens 24abe43865 Restore old CVar system 2018-01-21 18:40:11 -08:00
Jack Andersen f546400cc1 Update boo 2018-01-21 12:03:48 -10:00
Jack Andersen ac29a724ba Deep color CVar and GLSL backend bug fixes 2018-01-15 20:30:37 -10: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 4543e2a87e Merge commit 'c46f861' 2018-01-13 23:38:17 -08:00
Phillip Stephens 52c14848d9 Various minor fixes 2018-01-13 23:37:00 -08:00
Jack Andersen 7a815e2962 Add missing <sstream> include 2018-01-13 20:40:42 -10: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 24ee3fa21e Windows build fix 2018-01-11 04:38:35 -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 308af03115 Disable cotire unity build 2017-12-31 16:53:17 -10:00
Jack Andersen 9daa74e08e Windows PCH fixes 2017-12-29 15:07:15 -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 758c602dc5 Add ASan build capability 2017-12-11 16:05:28 -10: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 79f0336588 UWP fixes 2017-12-06 18:09:27 -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 b382188a5c Remove debugging changes 2017-11-21 00:22:36 -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 b9490877a4 Iterator fix 2017-11-06 22:05:40 -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 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 a5b7a7b96c Windows fixes 2017-10-23 17:11:44 -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 7c3bac2951 Add perspective division to texture matrix processing 2017-09-30 18:25:49 -10:00
Phillip Stephens cc8415b4f6 update boo 2017-09-10 01:08:52 -07:00
Jack Andersen 2674989a4a Generate pool skin index for CPU-based skinning operations 2017-08-20 19:46:26 -10:00
Jack Andersen 6d997e4ffa NULL path bug fix 2017-08-17 17:18:52 -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 d8ed2fd157 Isolate hecl::SystemChar in single header 2017-06-10 08:22:40 -10:00
Phillip Stephens c72ee72f6f Conform other platforms 2017-05-29 01:18:54 -07:00
Phillip Stephens 145c152012 Fix GLSL reflection shader compile errors. 2017-05-28 23:00:17 -07: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