Commit Graph

365 Commits (9a437ec75a41cc32e716da7d88cf36007f30f268)

Author SHA1 Message Date
Brett 825e2c71a4 comments on the area allocator 2023-12-18 19:51:55 -05:00
Brett 19743d2be0 memory time 2023-12-18 19:22:29 -05:00
Brett b012b9f27c area allocator workings (basic, needs improvement) 2023-12-18 02:02:35 -05:00
Brett 57be387904 Merge remote-tracking branch 'refs/remotes/tpgc/main' 2023-12-16 15:53:18 -05:00
Brett 0f48bb8060 stacky 2023-12-16 15:53:02 -05:00
Brett 445a0028f7 vector? 2023-12-16 02:46:44 -05:00
Brett a691ca76b0 hashmap was in a bad place 2023-12-16 02:40:03 -05:00
Brett 4de984bdb8 emscript on system.h 2023-12-16 02:37:24 -05:00
Brett bda044de1e box 2023-12-15 14:03:33 -05:00
Brett 19f775b919 boxes now work nicely 2023-12-15 02:36:50 -05:00
Brett 1d52b21131 ascii box now fixed and back to where it was 2023-12-15 01:49:42 -05:00
Brett 90f271961f visit 2023-12-11 17:52:24 -05:00
Brett c1c989d416 love lambdas 2023-12-11 16:58:20 -05:00
Brett 4e526f1e8e boxes
need to make titleless boxes work next
2023-12-11 16:48:44 -05:00
Brett caaf91e9c7 boxes 2023-12-11 14:57:10 -05:00
Brett 7aae8272c3 memory tests 2023-12-10 15:15:23 -05:00
Brett 319f7a3771 static vector 2023-12-10 14:54:08 -05:00
Brett e6d096a486 move ranges around (utility over memory)
TOOD: add reverse
2023-12-10 13:21:26 -05:00
Brett ce6ade1a90 minior cleanup 2023-12-09 21:21:14 -05:00
Brett 8c862f5a8f enumerate fast enough 2023-12-09 15:32:02 -05:00
Brett eb9cd030e3 working on enumerate 2023-12-09 13:44:16 -05:00
Brett 704e77419f test 2023-12-08 20:44:45 -05:00
Brett a4220e3c0d test 2023-12-08 20:11:58 -05:00
Brett 8defbaf70d hot chocolate 2023-12-07 16:03:38 -05:00
Brett da891be991 fix memory leak in assert, add demangling and link options to find function names 2023-12-07 15:59:26 -05:00
Brett de84f9573b Merge remote-tracking branch 'refs/remotes/tpgc/main' + explict fixes 2023-12-03 17:02:50 -05:00
Brett 743cb4ae91 sexy columns 2023-12-03 17:01:51 -05:00
Brett 03c63cdf90 formatting broken 2023-12-01 15:03:47 -05:00
Brett 34451b5b86 please make all men gay -brett (to santa, xmas forever list) 2023-12-01 12:02:20 -05:00
Brett 98b5f6fa1e minor formatting 2023-11-30 20:14:18 -05:00
Brett e2b278e8bd working now 2023-11-30 19:56:45 -05:00
Brett da32f9b98a Autism (Ascii trees)
making ascii trees because fun
2023-11-29 21:36:22 -05:00
Brett 583807af96 fix profiler sorting 2023-11-26 18:05:38 -05:00
Brett f5886416bf move blackbox to utility 2023-11-26 17:35:06 -05:00
Brett f99ea36a85 utility is useless 2023-11-24 13:45:14 -05:00
Brett 02c62a2d63 move blackboxes to system 2023-11-22 21:21:17 -05:00
Brett 6514736262 add format to cycles to make look nice 2023-11-22 20:39:46 -05:00
Brett 06f87c9734 fix missing cstring 2023-11-17 01:47:24 -05:00
Brett fd9fa5454d compiler support for blackbox 2023-11-14 01:05:28 -05:00
Brett 5472783bd7 it's still recursive but it's honest work 2023-11-13 15:32:39 -05:00
Brett 3d7abd2765 fix assert, working on loading 2023-11-13 15:15:27 -05:00
Brett 19baf8b048 include recursive 2023-11-13 14:27:51 -05:00
Brett 32e2d48cd3 worsen logging 2023-11-10 12:40:10 -05:00
Brett bd7976cf71 fix logging 2023-11-09 21:11:34 -05:00
Brett e912e7e272 ranges 2023-11-09 19:11:56 -05:00
Brett da7627dd3b memory 2023-11-09 19:07:24 -05:00
Brett e28f30bcec fix uninit error 2023-11-09 15:28:17 -05:00
Brett 97860853cf size check 2023-11-08 20:25:47 -05:00
Brett 1ada8d3912 we sexy man 2023-11-08 18:50:16 -05:00
Brett a555b53a61 update memory to check for size bounds: 2023-11-06 18:35:09 -05:00
Brett 1a72728aeb warning fix 2023-11-06 00:43:44 -05:00
Brett 288076ed02 improve scoped_buffer, it now handles copying 2023-11-05 19:05:32 -05:00
Brett 15bcd37834 make argparse work on c++ 17 2023-11-02 16:02:40 -04:00
Brett 1d8f9b4bbd fix memory leak 2023-10-27 14:32:15 -04:00
Brett 585429e345 order 2023-10-27 14:31:11 -04:00
Brett 0eb6db500b holy const batman 2023-10-27 14:30:16 -04:00
Brett 52c5f2b7b3 make reference 2023-10-27 14:29:41 -04:00
Brett f639b4f83c add default constructor to scoped_buffer 2023-10-27 14:26:31 -04:00
Brett 55c497475e why 2023-10-27 01:11:05 -04:00
Brett 827ee4bd55 move CPP20 constexpr to compat 2023-10-27 00:00:01 -04:00
Brett 8d2bb93b2d fs hack 2023-10-26 20:06:03 -04:00
Brett 5d539c1a2f fs hack 2023-10-26 20:01:01 -04:00
Brett a3179d1a36 compat 2023-10-26 19:44:44 -04:00
Brett 0d6f396a15 fun2 2023-10-26 16:36:27 -04:00
Brett cf49d155de fun 2023-10-26 16:35:42 -04:00
Brett a3d35b8e04 add support for gcc 8.5 2023-10-26 16:27:39 -04:00
Brett e059f1a7ef CONSTEXPR 20 2023-10-26 16:15:14 -04:00
Brett fcceff189b CONSTEXPR c++20 string functions 2023-10-25 14:30:24 -04:00
Brett 96af65a675 move 2023-10-25 01:26:44 -04:00
Brett 82583a444d .data() 2023-10-25 01:26:26 -04:00
Brett 6252525091 .data() 2023-10-25 01:23:33 -04:00
Brett 4010df0e3f const ptr 2023-10-25 01:23:16 -04:00
Brett d59cfd0d4a backwards compat 2023-10-24 21:44:24 -04:00
Brett 63ae93c6e6 move around to bytes and make it faster 2023-10-24 21:43:22 -04:00
Brett 5a07594e42 fix assert 2023-10-15 17:48:10 -04:00
Brett 76b2d57f05 add split for char 2023-10-15 16:43:20 -04:00
Brett 88ef415f8b add missing return 2023-10-14 18:36:32 -04:00
Brett 4f4ed1918b add string char contains overload 2023-10-14 18:35:11 -04:00
Brett ce642a30b7 rename 2023-10-14 17:06:10 -04:00
Brett f55e7d931b add string numbers check 2023-10-14 17:05:51 -04:00
Brett 4486edee60 add .get for argparse (does a get_cast), add rdtsc for profilers 2023-10-03 00:43:08 -04:00
Brett 0bbcb8eeef Merge remote-tracking branch 'github/main' 2023-09-21 23:24:03 -04:00
Brett 029132c622 macro sackro allocator get fuckedero 2023-09-21 23:23:27 -04:00
Brett a438baeca3 fix time returning only extra nanoseconds. function now returns the total nanoseconds sine starting the program
this might be changed in the future
2023-09-17 16:24:53 -04:00
Brett 6fc5496c76 remove path test 2023-09-13 16:52:23 -04:00
Brett e2d932ea78 cpu timer 2023-09-13 16:49:56 -04:00
Brett 215220f98b move defines to c++ 2023-09-07 00:23:13 -04:00
Brett 465f1a4fc8 fix assert not requiring ; at the end 2023-09-07 00:21:02 -04:00
Brett 650af9877f inline some string functions - disable warnings 2023-08-31 21:47:32 -04:00
Brett d3ed46686e add gcount to fs utils 2023-08-25 03:41:43 -04:00
Brett 1b4e36416a make exception API more consistent
blt_throw no longer halts execution
BLT_THROW has been added which throws the exception
2023-08-23 15:26:36 -04:00
Brett 9348207ffb Add exceptions / assertions
Only works for linux / GNU
2023-08-23 15:23:47 -04:00
Brett 1d03938f95 SQLite 2023-08-18 02:21:22 -04:00
Brett 6579a3f5cb remove static from random dev 2023-08-17 12:20:59 -04:00
Brett ea986bbc95 only allow uuid.h if openssl is included in parent project 2023-08-17 12:14:59 -04:00
Brett 1e8f431f9e UUID 2023-08-15 19:25:06 -04:00
Brett 7f9d9bf241 fix issue with blt:logging using non-namespaced log function in macro expansion 2023-08-14 22:49:32 -04:00
Brett 04fd3aec8b static, nbt, cassert, algoritmn, get exposed
Basically fix a bunch of stuff that came up in production
2023-08-09 21:48:30 -04:00
Brett 4ae730c9bb remove blt::logging from argparse
use std::cout now as it produces more logical outputs
2023-08-07 22:39:25 -04:00
Brett e91c915238 fix logging memory errors 2023-08-03 01:48:24 -04:00
Brett 4a3c03dd5e add -vvv support and add some actions + version 2023-08-02 14:00:11 -04:00
Brett 620a16574d update hashmap to include hash, eq and alloc 2023-07-30 14:04:59 -04:00
Brett 147c46a1a4 fix cmake lists and move hashmap decl to hashmap.h 2023-07-29 17:41:45 -04:00
Brett 7b7d9df67b NBT appears to be completely working 2023-07-28 01:35:01 -04:00
Brett 126faa0b03 NBT working!! 2023-07-27 01:47:11 -04:00
Brett c4c23e9cc6 NBT finished, need to add decoder / tests
- evil hacks are not fun (blt::nbt::_internal_ forward declares list and compound for use inside list / compound)
- list could be made faster by bulk allocating when type is known however i believe the compiler is smart enough to do this for me
- testing that should be a todo!
2023-07-26 13:09:41 -04:00
Brett cf7c6f2237 logging NONE will now output without format string 2023-07-25 14:06:04 -04:00
Brett 983d7de820 std::function is slow!!
maybe change blt::logging to use something a little faster. base class + virtual function isn't that slow!
2023-07-24 03:30:23 -04:00
Brett f5d6ef19a4 remove format changes 2023-07-24 02:55:03 -04:00
Brett 85fdc4fa65 Move constructing is now allowed for the scoped buffer, copy assignment disallowed.
Copy assignment isn't allowed because T cannot be guaranteed to be copyable and I don't want this class to involve type traits
2023-07-24 02:52:11 -04:00
Brett 31855dd0a4 move math functions to math.h
format contained a rounding function and power function, they are now in math.h
2023-07-24 02:44:25 -04:00
Brett 0d5abd143f readme update plus time functions and cleaner scoped_buffer WITH begin()/end()
scoped_buffer update will break most uses
2023-07-24 02:39:03 -04:00
Brett 7fd3fbadb3 change default to not log to file! 2023-07-23 23:21:16 -04:00
Brett ec16f5412b new randomness functions 2023-07-23 13:10:11 -04:00
Brett 529d996a38 fix minor date issue 2023-07-22 18:26:39 -04:00
Brett 8ce22fd53a Add STREAM macro varaints to the disabled logging section 2023-07-22 12:55:44 -04:00
Brett fa55b5e929 update cmake logging config and README.md 2023-07-21 22:45:23 -04:00
Brett f325d7aa83 BLT logging v2 2023-07-21 22:21:09 -04:00
Brett 0ba2254729 logging to file 2023-07-21 18:06:55 -04:00
Brett 7e1007526f add functions to change logging settings (global\!) 2023-07-21 16:52:44 -04:00
Brett b9b501d391 new blt logging works fine! 2023-07-21 16:49:48 -04:00
Brett f5069859c5 Merge remote-tracking branch 'github/main' 2023-07-21 03:56:11 -04:00
Brett db9c6c9446 strings 2023-07-21 03:54:06 -04:00
Brett 889f24d402 logging 2.0 is almost at first working build 2023-07-21 03:32:42 -04:00
Brett 58ba957b1d working on logging 2.0. Format defined, custom tags added. 2023-07-20 22:38:17 -04:00
Brett 7033474455 memory\!, working on logging! 2023-07-20 21:44:52 -04:00
Brett fc8aa8204a fix bug in useless string buffer (use += on std::string, faster) 2023-07-11 17:50:40 -04:00
Brett f15a89328f add string writing support to string buffer 2023-07-10 19:08:23 -04:00
Brett d883adaf5c Change toString() to str() to better replicate the std 2023-07-10 18:55:20 -04:00
Brett 5426aa8359 add template for string buffer 2023-07-10 18:54:04 -04:00
Brett d06c7ebeb6 String buffer 2023-07-10 18:45:43 -04:00
Brett a1331db389 blt logging 2023-06-26 21:33:42 -04:00
Brett 94624bddec Merge remote-tracking branch 'refs/remotes/tpgc/main' 2023-04-08 12:44:49 -04:00
Brett 5116981057 add prefix to LOG_LEVEL 2023-04-08 12:44:31 -04:00
Paragon-Win a6a2ee966c Fix windows! 2023-04-07 00:02:21 -04:00
Brett 89df343e4f fix most warnings 2023-04-05 17:21:19 -04:00
Brett 289af13171 fix incorrect translate function 2023-04-01 02:55:00 -04:00
Brett d50e13dcb6 add warning to round 2023-03-05 17:21:40 -05:00
Brett c025299ee4 rounding 2023-03-05 17:21:14 -05:00
Brett 62d929171c fromBytes 2023-03-05 17:06:07 -05:00
Brett 831a485209 unbdo 2023-03-05 13:01:38 -05:00
Brett 063a679278 pt 2023-03-05 13:00:24 -05:00
Brett 2b60b2621f nullptr_initalizer 2023-03-05 12:57:57 -05:00
Brett 48e126214b update queues for better stl complience 2023-03-05 12:00:45 -05:00
Brett bd89abb2f3 random tests 2023-03-04 22:38:25 -05:00
Brett cd4e4581ae move math.h to math subdir, update version to 5.0 2023-02-28 23:33:39 -05:00
Brett 7ff48d4916 cleanup math
-Moved matrix and vectors into their own file
-math.h now includes all math components
-math moved into sub-folder
-matrix class updated
-new vector types added
2023-02-28 23:20:56 -05:00
Brett c1f3f7f2b8 Trying 2023-02-16 00:13:26 -05:00
Brett bd5a2b9277 revert 2023-02-16 00:08:39 -05:00
Brett fa8b67b6c9 fix average 2023-02-16 00:06:36 -05:00
Brett 08524cd280 averagizer 2023-02-16 00:03:01 -05:00
Brett 596c75dc6f add ortho matrix 2023-02-15 00:41:06 -05:00
Brett e50cc74bf3 Added dot product 2023-02-11 15:25:28 -05:00
Brett 128fc2f9dc Fix system namespace 2023-02-11 12:53:32 -05:00
Brett f64535671d fix perspective matrix 2023-02-11 12:09:15 -05:00
Brett 1147d02c20 Another perspective change 2023-02-11 12:07:03 -05:00
Brett a01d5eba90 adjusting the perpsective formula 2023-02-11 12:05:47 -05:00
Brett 5ecb127519 Fix issue with loader.h linking 2023-02-10 17:54:27 -05:00
Brett 20ce0e2e9b Fix perspective calc 2023-02-08 23:21:25 -05:00
Brett ba35e4645b Perspective in math.h 2023-02-08 23:01:01 -05:00
Brett cf48035378 shader processing 2023-02-08 22:30:20 -05:00
Brett cbc703b852 Cleaned up logging and added file location + line number 2023-02-08 17:22:27 -05:00
Brett f1cb6f05f5 flush 2023-02-08 14:12:21 -05:00
Brett b4548166c3 Finally fully fix logging issue
-buffer size is now calculated
-overflows have been fixed
-temporary buffer is allocated on the heap.
2023-02-08 13:40:28 -05:00
Brett 3109ec13c0 vectors and matrix 2023-02-07 22:34:10 -05:00
Brett d25cdd9de0 minor warning fix 2023-02-06 21:54:01 -05:00
Brett 12a5985916 Push V0.3.2a 2023-01-29 23:36:42 -05:00
Brett 38e6abe4e3 Writing and Reading buffers 2023-01-29 22:27:48 -05:00
Brett 060e1a8efb Tables now have names 2023-01-29 17:10:36 -05:00
Brett 483713b265 tests cleanup, NBT UTF
The UTF8 implementaion is ripped from openjdk-source's java source code, adapted by me for c++
2023-01-29 15:24:33 -05:00
Brett 33b0b7bbbb Cleanup + making way for NBT! 2023-01-27 10:45:18 -05:00
Brett f68f23ae30 Update 0.3a!
Added table format (TODO: add title to table!)
printing of profiler
ordered table printing to come
TODO: add old table print back, default to table print!
2023-01-27 00:49:44 -05:00
Brett 8ec971f8ce Printing 2023-01-26 12:21:19 -05:00
Brett e58f20d16e Better profiler 2023-01-26 00:59:36 -05:00
Brett bc4bf76be7 Add stream version of the logging macros 2023-01-24 23:01:34 -05:00
Brett 51a1468cf0 Console logging 2023-01-24 17:56:48 -05:00
Brett 4562171205 Logging macros now print new line even if the supplied string does not include one.
this is done because the use of macros does not support complex line outputs and therefore there will never be a case where \n is not desired.
2023-01-24 15:19:44 -05:00
Brett 6816ddaf7a Logging is now working with all types + formatting
Can provide raw data types like ints, long, float, byte, double etc. Will be printed out as a full line. This cannot be avoided as writing requires the prefix, which cannot be calculated via discrete macro calls. At least not easily.
Performance of the logging needs to be tested
plus writing to filesystem is required.
2023-01-24 15:16:47 -05:00
Brett 5e1deefe48 Add time to the log output 2023-01-23 23:53:37 -05:00
Brett d025b0595c Logging works for the most part, more features need to be added 2023-01-23 17:52:32 -05:00
Brett cf96536468 Logging begin 2023-01-23 10:15:37 -05:00
Brett dee1c92532 string contains functions as well 2023-01-22 18:08:50 -05:00
Brett 69ab5d7079 Added some std::string functions from c++ 20 2023-01-22 17:54:24 -05:00
Brett e2a358ffd1 Basic window class 2023-01-16 14:08:28 -05:00
Brett 4a5c1799ce Fix delete function for dual children nodes 2023-01-12 23:11:17 -05:00
Brett 4b89ec2ee1 Two children delete is still broken. Single / no child delete works fine. 2023-01-12 14:09:34 -05:00
Brett 89f77e3aa9 Delete is broken 2023-01-12 12:18:39 -05:00
Brett 60c1371a9d Switching to recursive delete. Fixed search 2023-01-11 18:56:42 -05:00
Brett 33ee1f2dc7 Fix insert? 2023-01-10 22:58:49 -05:00
Brett 21aa7ed6ac Allow non-default constructor objects? 2023-01-10 22:48:02 -05:00
Brett e5613c8007 Fix insert root node with false default value 2023-01-10 22:46:27 -05:00
Brett 6a2a5948fb Fix null issue 2023-01-10 22:32:14 -05:00
Brett 15eaf59503 Fix search infinite loop on not foundo 2023-01-10 22:30:54 -05:00
Brett 0926d7cc00 Fix node return issue 2023-01-10 22:29:26 -05:00
Brett db27eae97b Switch to ** 2023-01-10 22:28:32 -05:00
Brett 5d76457678 fix 2023-01-10 22:21:23 -05:00
Brett 7ca975d6a0 Add some debug as insert appears to be broken 2023-01-10 22:16:57 -05:00
Brett a34b7e968b Fix binary tree 2023-01-10 22:05:47 -05:00
Brett fa18b01220 Working on binary trees 2023-01-10 10:45:11 -05:00
Brett 9c87a56ed0 Forgot++ 2023-01-05 12:40:08 -05:00