Commit Graph

1024 Commits

Author SHA1 Message Date
06f6656c85 [ox/std] Shift away 4 lowest bits of random numbers generated in UUID,
as Xoroshiro128+ is apparently weaker for those bits
2023-03-03 00:57:25 -06:00
317e714373 [ox/preloader] Cleanup 2023-02-25 22:25:14 -06:00
1767821161 [ox/std] Fix various issues with Optional copy and move constructors 2023-02-19 16:48:35 -06:00
edd21017d3 [ox/std] Make Optional more like std::optional 2023-02-19 01:40:29 -06:00
2e051f947d [ox/mc,oc] Add support for ox::Array serialization 2023-02-18 17:07:14 -06:00
762804905a [ox] Make UUID serializable, and make serialize as a string in OC 2023-02-16 01:36:20 -06:00
d17f536832 [ox/std] Add write(Writer_c, StringView) 2023-02-13 21:35:37 -06:00
b6ed919b01 [ox/std] Fix ox::join to work with list types that done have a front function 2023-02-13 19:08:46 -06:00
777a6d54f0 [ox/std] Add test for UUID::generate() and fix bug 2023-02-13 19:08:04 -06:00
a96d173fdc [ox/std] Fix BString(StringView) constructor 2023-02-12 22:30:28 -06:00
ba7ee92ad2 [ox/fs] Add error messgae to PassthroughFS::statPath 2023-02-12 21:45:18 -06:00
6d4c57d37d [ox/std] Fix BString == and != operators 2023-02-12 21:14:16 -06:00
54eebf81da [ox/std] Add UUID str conv test and fix bugs found 2023-02-12 20:38:29 -06:00
2b821b73ff [ox/std] Add UUID fromString 2023-02-12 00:02:07 -06:00
e19559d7a7 [ox/claw] Add non-ox::Buffer version of readClaw function 2023-02-11 23:59:37 -06:00
af3de01e1b [ox/preloader] clang-tidy fix 2023-02-11 23:56:03 -06:00
9561a68483 [ox/std] Fix BString assign and compare 2023-02-11 02:32:24 -06:00
86f639c7f7 [ox/std] Add tests for UUID int to hex str conversion 2023-02-08 21:40:29 -06:00
4f906f6e47 [ox/std] Add UUID implementation 2023-02-08 21:37:17 -06:00
dba31d2cd9 [ox/model] Fix ModelUnion to copy type on copy and move 2023-02-07 23:19:18 -06:00
eb55144211 [ox/std] Make ox::min/max use values instead of refs for integrals, add CommonRefWith 2023-02-07 01:35:50 -06:00
5de5eee215 [ox/std] Fix alignment of Optional's buffer 2023-02-07 01:33:30 -06:00
d571d49cce [ox/std] Fix String to StringView compare 2023-02-07 01:30:59 -06:00
6769bb63d9 [ox/std] Fix Optional 2023-02-06 22:43:30 -06:00
3c9e6d10ea [ox/std] Add StringView split and find functions 2023-02-05 00:33:27 -06:00
b1b2780eb9 [ox] GBA fixes 2023-02-03 21:56:30 -06:00
26a1f2e4ad [ox/fs] Add error message to an error 2023-02-03 02:02:57 -06:00
83589287bc [ox/model] Add default type params arg to buildTypeId 2023-02-03 00:22:11 -06:00
17cb40c0ec [ox/model] Add type name and version functions overload option 2023-01-30 23:13:07 -06:00
838187797a [ox/fs] Fix a log message's channel 2023-01-27 01:34:43 -06:00
1cfa594c92 [ox/fs] Wrap overloaded virtual functions in FileSystem 2023-01-27 00:00:35 -06:00
94cb2e982a [ox] Add logconn for Bullock logging 2023-01-25 02:08:52 -06:00
e1fa48ea2f [ox/model] Fix FieldCounter to count CString fields 2023-01-25 00:21:23 -06:00
4cb6992178 [ox/std] Add Vector::emplace 2023-01-14 19:42:17 -06:00
3cd638737a [ox] Update more C strings to StringViews 2023-01-03 03:31:22 -06:00
5508dc5dc0 [ox/std] Make String::beginsWtih and endsWith functions that take StringViews 2023-01-03 03:30:33 -06:00
55ea405a54 [ox/std] Add toStdStringView and endsWith functions 2022-12-31 17:14:09 -06:00
ca07dc6152 [ox] Replace C strings in FS with StringView 2022-12-31 14:58:35 -06:00
887d3b3d13 [ox/std] Remove some unnecessary/breaking checks in BasicString::set functions 2022-12-29 02:12:11 -06:00
b08559b3f3 [ox/model] MSVC fix 2022-12-19 00:19:28 -06:00
c9f1b3aaa3 [ox/claw] MSVC fix 2022-12-18 23:27:59 -06:00
b818c1e3d6 [ox/std] Change __has_include_nexts to __has_include 2022-12-18 21:11:41 -06:00
706f5b345a [ox/claw] Remove ambiguous second TypeInfoCatcher::setTypeInfo 2022-12-18 21:11:12 -06:00
22a7ff74ce [ox/std] Fix unnecessary implicit sign conversion 2022-12-18 21:04:44 -06:00
4077f0bddc [ox] Fix for Windows 2022-12-18 21:04:44 -06:00
1dddf4ad9d [ox] MSVC fixes 2022-12-18 16:39:20 -06:00
839a791ddd [ox/std] Add ox::make to wrap new in exception handling 2022-12-17 13:54:26 -06:00
26d6143006 [ox/model] Change <> markers for type params to ## in type IDs to deal with NTFS' ineptitude 2022-12-17 13:38:59 -06:00
44f45e64e9 [nostalgia/studio] Add ClawViewer for unknown types 2022-12-15 01:36:55 -06:00
461e3d61ef [ox/preloader] Add ptr handling 2022-12-05 17:40:22 -06:00
030d46a999 [ox/std] Cleanup mGBA logging 2022-12-05 17:28:42 -06:00
cd4a9300a5 [ox/preloader] Fix Vector preloading 2022-12-04 22:31:51 -06:00
fe42702e88 [ox/oc] Fix to iterate to next field of parent after reading array 2022-12-04 14:55:29 -06:00
ea7ccf40b1 [ox/model] Fix null ptr use when describing nested Vectors 2022-12-04 01:48:56 -06:00
7434d949e7 [ox/std] Begin mGBA registers with REG_MGBA_ 2022-12-03 17:24:58 -06:00
1868d53ecb [ox/std] Remove write size output from mGBA logging function 2022-12-03 17:00:00 -06:00
3f86932ad8 [ox/std] Add mGBA logging 2022-12-03 16:48:07 -06:00
3040e6c90a [ox/preloader] Make Preloader use small string section of strings when able 2022-12-03 16:32:56 -06:00
517ffddf04 [ox/preloader] Fix ox::String handling, add start and end alloc functions 2022-12-03 01:47:04 -06:00
5bac497293 [ox/preloader] Fix SizeCather::pad 2022-12-03 01:43:45 -06:00
86c33019fe [ox/std] Fix VectorMemMap sizeOf 2022-12-03 01:42:23 -06:00
a946f8dae1 [ox/model] Fix sizeOf functions 2022-12-03 01:32:09 -06:00
7c07fc9726 [ox/preloader] Make Preloader::pad protected 2022-12-01 02:33:45 -06:00
5be8ed533e [ox/preloader] Fix alignment and add preload function 2022-12-01 01:59:27 -06:00
593a57a0ce [ox] Make setTypeInfo functions in model handlers consistent 2022-12-01 00:09:05 -06:00
50e2fadcd1 [ox/oc] Fix sub-object read not to return early 2022-11-30 22:51:57 -06:00
ae26838324 [ox/preloader] Rename BufferWriter::data() to BufferWriter::buff(), make return type const ref 2022-11-30 20:49:52 -06:00
e0381cd98a [ox/preloader] Remove unused files 2022-11-30 20:49:13 -06:00
512522711a [ox/fs] Cleanup unnecessary c_str()s 2022-11-30 20:48:52 -06:00
858a30ee08 [ox/fs] Fix FileAddress paths initialized from StringView to null terminate 2022-11-30 20:48:09 -06:00
1839b68a4a [ox/claw] Remove temporary assert that was placed for debugging 2022-11-30 20:47:28 -06:00
04c882388e [ox/preloader] Remove GbaPlatSpec 2022-11-30 02:26:24 -06:00
cbb496c59f [ox] Add StringView, Writer system, Preloader system 2022-11-30 01:45:11 -06:00
c6c18c18d3 [ox/std] Add support for custom allocators in Vector 2022-08-16 01:30:12 -05:00
bc98c42be6 [ox/model] Make TypeStore::getInit always overwrite old value 2022-08-13 20:42:06 -05:00
84d54ba340 [ox/mc] Fix decoding of int64s 2022-08-13 20:30:48 -05:00
714d9fe433 [ox/std] Add support for integral types as keys in HashMap 2022-08-07 10:23:09 -05:00
28960dd680 [ox/std] Add toLittleEndian and toBigEndian functions 2022-08-07 10:22:45 -05:00
c6ba893583 [ox/std] Add default constructor to ox::Error 2022-08-01 21:49:34 -05:00
57785ebf99 [ox/model] Remove unused includes 2022-08-01 21:49:07 -05:00
0d9c7867aa [ox/std] Add is_const_v 2022-07-30 18:28:57 -05:00
b14e41d057 [ox/fs] Change FileAddress default type from Inode to None 2022-07-29 21:37:58 -05:00
f8f5b059ed [ox/std] Fix Result::moveTo to not move if error 2022-07-24 01:22:40 -05:00
1302d5bf85 [ox] Add const char *const* fieldString handlers to OC and MC writers 2022-07-21 02:18:56 -05:00
6b9d9c50c7 [ox/fs] Add separate case for write in FileLocation model 2022-07-21 02:17:11 -05:00
3a2995a67b [ox/std] Fix Vector move to not do small vector opt in consteval 2022-07-19 21:10:50 -05:00
6ddeb29c92 [ox/model] Fix move constructors and operators in ModelValue system 2022-07-19 21:09:02 -05:00
e71866b1a2 [ox/model] Remove _t from integer type descriptors 2022-07-19 20:49:13 -05:00
63c8503cb6 [ox/std] Remove std::iterator 2022-07-14 21:37:04 -05:00
94e3ed217a [ox] Fix for GCC pedantry around potential null ptrs that will never happen 2022-07-13 21:20:11 -05:00
ca9bf786b1 [ox/fs] Make some PassThroughFS functions noexcept 2022-07-12 00:52:28 -05:00
82dc1895d5 [ox/std] Fix VectorAllocator copy constructor to take a const reference 2022-07-10 16:01:55 -05:00
3310dbba51 [jsoncpp] Add MSVC check 2022-07-09 22:05:53 -05:00
793f635d2c [ox/model] Change B:* type names to B.* 2022-07-09 21:30:11 -05:00
522bb42e8f [ox/model] Remove ModelObject copyModel and moveModel operations
These operations will require a lot more work to work correctly. This feature might be worth revisiting at some point though.
2022-07-09 01:43:21 -05:00
3ca252320f [ox/model] Remove ModelValue::operator= and add iterators to ModelObject 2022-07-09 01:02:30 -05:00
f8d2b9e1a7 [ox/mc] Remove debug line from test 2022-07-09 00:43:28 -05:00
93e72ae938 [ox/model] Fix Vector support for ModelValue system 2022-07-07 20:02:26 -05:00
7d95dbaa99 [ox/fs] Fix PassthroughFS mkdir for recursive cases 2022-07-04 12:40:57 -05:00
ca64f95be3 [ox] Overhaul serialization/model system and add ModelValue/ModelObject/ModelUnion variant system 2022-07-04 02:39:20 -05:00
bc391b45fc [ox/model] Cleanup alreadyExisted checks in DescWriter 2022-05-29 22:35:36 -05:00
c4a1655a8f [ox] Make model type version mandatory 2022-05-29 22:21:05 -05:00
ee851d7013 [ox/claw] Add readClaw function that uses an existing instance of T 2022-05-29 01:19:25 -05:00
40cc222cd8 [ox/model] Add Reflect op type, fix union field type output, bump desc type versions 2022-05-29 01:17:10 -05:00
d5252a45d3 [ox/oc] Make write omit lists if length is 0 2022-05-28 20:33:05 -05:00
885f4a8713 [ox/std] Make Optional run destructor and constexpr friendly 2022-05-28 19:56:43 -05:00
9c3a46d144 [ox] Make TypeStore own all type info 2022-05-28 19:55:46 -05:00
440d9c0a46 [ox/std] Add another redundant check to suppress GCC's pedantry 2022-05-28 18:58:33 -05:00
779b18e410 [ox/std] Add operator std::string and operator const char* to String 2022-05-28 03:19:50 -05:00
addc2233e7 [ox/std] Make HashMap::at return a pointer instead of reference 2022-05-28 03:18:10 -05:00
dfd6670dfe [ox/std] Delete UniquePtr copy operators 2022-05-28 02:37:15 -05:00
9417307a8e [ox/std] Fix problems in building with GCC 12 2022-05-25 01:07:48 -05:00
c7af7bc54c [ox/fs] Fix memory leak in FileAddress move 2022-05-24 20:31:30 -05:00
f2ddd15d63 [ox] Fix compiler warnings 2022-05-21 16:17:32 -05:00
4ee08441b0 [ox/claw] Fix error codes to differ 2022-05-19 22:22:31 -05:00
71f6364ea3 [ox/fs] Fix FileAddress(String) to allocate correct amount of memory 2022-05-18 03:27:45 -05:00
b5210ff897 [ox/std] Add ox::errCode for extracting error code from Error 2022-04-10 03:04:15 -05:00
9d74eca436 [ox/std] Use std::construct_at in Vector instead placement new 2022-04-10 03:03:07 -05:00
cf7f9b9088 [ox/std] Add std::construct_at 2022-04-10 03:02:57 -05:00
a02d496de5 [ox/std] Add Result::Result(const Result<U> other) 2022-03-26 16:53:00 -05:00
82021b8ee5 [ox] Cleanup mc and std tests 2022-03-24 20:47:25 -05:00
803cd28087 [ox/fs] Add FileAddress::FileAddress(ox::String) and FileAddress::operator==(ox::String) 2022-03-24 20:45:22 -05:00
9161a1a8ef [ox/std] Add BasicString::beginsWith 2022-03-23 03:08:04 -05:00
ccfc7d5405 [ox/std] Remove placement new from Array 2022-03-23 03:05:50 -05:00
0790d8e9c2 [jsoncpp] Remove install from CMake file 2022-03-20 02:17:00 -05:00
0a9bc78a8d [jsoncpp] Remove bin path CMake settings 2022-03-17 03:54:18 -05:00
b43f5e3b98 [ox/std] Fix MaxValue for signed ints 2022-03-17 03:53:46 -05:00
5c783da3fc [ox/mc] Re-enable test 2022-03-16 03:20:24 -05:00
179d311598 [ox/std] Fix C++20 deprecation issue with Vector::iterator 2022-03-16 03:19:45 -05:00
0739c7d611 [ox] Fix for MSVC 2022-03-16 02:53:07 -05:00
52df6efcfc [jsoncpp] Switch to object library 2022-03-12 02:35:48 -06:00
41cc78db66 [ox] Fix jsoncpp include path export 2022-03-12 02:34:04 -06:00
7005ef0bcf [ox] Make jsoncpp only included for builds using stdlib 2022-03-11 22:36:14 -06:00
5a4b539ac1 [ox] Bundle jsoncpp under deps 2022-03-11 22:30:42 -06:00
b96d33bbb9 Merge commit '7eef3bf1545663791252b2a3cad437ec9fcfc9cc' as 'deps/ox/deps/jsoncpp' 2022-03-11 22:21:02 -06:00
a092c393a6 [ox/claw] Improve Claw read error reporting 2022-03-05 11:38:20 -06:00
1372ea9bc9 [ox/std] Make toStr(Error)'s return type template-able 2022-03-05 11:37:55 -06:00
e90d6da01b [ox/std] Fix problem with calling Vector::insert on end of list 2022-03-05 11:37:07 -06:00
6cebe52904 [ox] Fix MC negative int encoding and bump MC version to 2 2022-03-03 01:25:54 -06:00
bd2dd3f000 [ox/std] Add Integer_c concept to fix string + and += duplication of std::size_t with some compilers/platforms 2022-03-02 23:42:12 -06:00
187edcd1d3 [ox/std] Add is_move_constructible 2022-02-26 22:53:50 -06:00
329ecb3266 [ox/model] Cleanup template style 2022-02-26 22:47:19 -06:00
13ba8430c7 [ox/std] Change Result(type&&) to use forward 2022-02-26 10:05:11 -06:00
8d0bf40037 [ox/std] Fix Vector copy assign not to assign to uninitialized memory 2022-02-26 03:02:16 -06:00
21883a046e [ox/std] Add ox::join(del, strList) 2022-02-23 23:41:31 -06:00
7c6df56414 [ox/std] Add String::operator+=(std::size_t) 2022-02-23 23:40:48 -06:00
642b2b04b7 [ox/std] Make ResizedInt use static_cast to get better error messages 2022-02-23 23:40:02 -06:00
69b3245ba3 [ox/std] Make ~Vector constexpr 2022-02-23 23:36:28 -06:00
eea466750c [ox/std] Cleanup BasicString 2022-02-21 02:12:12 -06:00
8a93e44aba [ox] Replace delete invocations with safeDelete 2022-02-21 02:10:26 -06:00
812e4b4c96 [ox/std] Add safeDelete functions 2022-02-21 02:07:53 -06:00
af97a834c0 [ox/std] Add safeDelete functions 2022-02-21 02:00:11 -06:00
5faafad54c [ox/std] Fix BasicString(const char*) for Linux 2022-02-20 21:15:30 -06:00
64c74cb9c1 [ox/std] Fix infinite recursing in BasicString(const char*) 2022-02-20 15:02:36 -06:00
4e2d7ea9dd [ox/std] Fix Vector::expandCap to deallocate the correct amount of memory 2022-02-19 16:42:21 -06:00
5b7dacd51f [ox/claw] Set default write format to MetalClaw 2022-02-19 01:44:27 -06:00
53939a28c6 [ox/std] Add const char *toStr(const ox::Error&) 2022-02-19 01:43:29 -06:00
dc2a5039f8 [ox/std] Fix hardware detection for GCC on ARM64 2022-02-19 01:34:43 -06:00
f9c3c17592 [ox/std] Make Vector::back constexpr 2022-02-19 01:34:20 -06:00
c1fc3d48b2 [ox/std] Replace some OX_USE_STDLIBs with __has_include 2022-02-17 21:26:16 -06:00
21d12fee94 [ox] Make model TypeVersion mandatory so Claw can do version checking 2022-02-17 04:09:44 -06:00
3389656ecf [ox/claw] Fix typo in error msg 2022-02-17 03:31:20 -06:00
0c6e47e0b3 [ox/claw] Fix Claw read to check for type/version compatibility 2022-02-17 02:50:14 -06:00
1d17b3df82 [ox/std] Remove use of emplace_back from ox::Array constructor 2022-02-17 01:52:12 -06:00
8927f0e9c8 [ox/std] Cleanup oxDebug static_asserts 2022-02-16 20:13:31 -06:00
0e4bebcc3d [ox/std] Change initial Vector size to small vector size 2022-02-16 02:28:00 -06:00
627fb387e6 [ox/std] Add operator+(...) to BString 2022-02-16 01:57:03 -06:00
18f02ae25e [ox/model] Add oxModelFieldRename macro 2022-02-13 13:37:48 -06:00
610dc2ceca [ox/std] Move ox::defines::OS to ox::OS 2022-02-12 14:22:28 -06:00
5ea36836bd [ox/model] Make model friend macro constexpr and noexcept 2022-02-10 02:06:13 -06:00
959f75d2db [ox/fs] Cleanup unnecessary reinterpret_casts 2022-02-10 02:02:44 -06:00
0d368b3c02 [ox/std] Add min and max tests 2022-02-10 02:00:59 -06:00
f5c7c26340 [ox/std] Remove unnecessary functions from ox::Array 2022-02-08 02:11:59 -06:00
50eb01115d [ox/std] Silently suppress small Vector in constexpr 2022-02-05 01:33:08 -06:00
4e0cd1444d [ox/std] Add missing iterator functions to String and Vector 2022-02-04 22:48:49 -06:00
60aa172d98 [ox/std] Make release version of oxAssert constexpr 2022-02-04 22:45:22 -06:00
40ce78c684 [ox/std] Add array.hpp to install list 2022-02-03 22:21:37 -06:00
27f5523e70 [ox/std] Add ox::Array 2022-02-03 21:45:45 -06:00
d4e903b593 [ox/std] Remove unnecessary include 2022-02-03 00:40:14 -06:00
395e262e3e [ox/mc] Add writer fieldString function 2022-02-03 00:38:28 -06:00
78942ce21d [ox/std] Add ox::clamp 2022-02-03 00:22:37 -06:00
1aebe93c52 [ox/std] Replace std::cerr with oxErrf 2022-02-02 01:48:04 -06:00
ac9cd26367 [ox/std] Make oxAssert sort of usable in constexpr 2022-02-01 21:20:13 -06:00
180cac5cc6 [ox/std] Add std::is_constant_evaluated() 2022-02-01 20:06:10 -06:00
99550b60ee [ox/std] Move most macros to def.hpp in anticipation of C++20 modules 2022-01-28 19:57:19 -06:00
f10373864d [ox/fs] Fix duplication of dir entries on update of file 2022-01-28 19:44:20 -06:00
2be5b0f6bc [ox] Add a new oxfs tool 2022-01-28 02:07:42 -06:00
df782129bb [ox/mc] Fix string support in MC and add support for ox::BasicString 2022-01-27 20:58:33 -06:00
ff76d2f453 [ox/std] Make HashMap::expand move new Pair Vector instead of copy 2022-01-27 01:47:35 -06:00
81f2865fcc [ox/std] Move bit.hpp static_asserts to cpp file 2022-01-26 21:14:32 -06:00
2d429d30a3 [ox/std] Add print of assert condition to assert output 2022-01-26 21:14:11 -06:00
4a9b0e5dc3 [ox/std] Change default small Vector size to 0 2022-01-26 01:43:26 -06:00
fcc4cf3308 [ox/model] Add macros to simplify model definition 2022-01-26 01:36:29 -06:00
f687134943 [ox/fs] Improve const-correctness of FileSystem 2022-01-26 01:27:31 -06:00
9ee6cfbbfd [ox] Run liccor 2022-01-13 02:05:02 -06:00
fe5fe179f2 [ox/sd] Remove ox::move 2021-12-17 21:02:50 -06:00
5ed806f4c0 [ox/std] Make sfmt usable as constexpr 2021-12-11 19:16:29 -06:00
163fcf1785 [ox] Remove std::move calls that suppressed copy elision 2021-12-11 19:16:29 -06:00
37664ede05 [ox/std] Deprecate ox::move 2021-12-11 19:16:29 -06:00
7aead742eb [ox/model] Add requireModelTypeName 2021-12-11 19:16:29 -06:00