Commit Graph

163 Commits

Author SHA1 Message Date
056c0b3aea Add DqnFixedString, remove DqnIni, minor cleanup 2018-06-11 16:26:57 +10:00
2c24eacc28 Clean up const func decls and vector constructors 2018-06-09 14:29:19 +10:00
6998fb84de Simplify DqnArray usage (zero is init), add multi-insert 2018-05-28 23:07:29 +10:00
8c34a0e6d1 Remove reliance on windows.h 2018-05-18 23:19:50 +10:00
101037b856 Tabs to spaces 2018-05-17 21:19:58 +10:00
0bc8a48dbd Fix off by 1 error in DqnString::Expand() 2018-03-11 21:26:18 +11:00
dc22ba2a02 Const overloads for DqnJson_Get, restore InitLiteralNoAlloc 2018-03-11 01:23:04 +11:00
6fcf111d2d Make library work on unix again 2018-03-09 02:03:05 +11:00
Doyle Thai
540deb4774 Update lib with named bool parameters and minor fixes 2018-02-20 00:21:00 +11:00
Doyle Thai
7f2950b3dd Add slices, make returned bufs are null terminated 2018-02-07 16:39:40 +11:00
Doyle Thai
b0217483db Fix mem leak in hash, add reset tail for allocator 2018-02-05 17:42:27 +11:00
Doyle Thai
701140287f Try separate mem apis for head/tail 2018-02-05 01:50:36 +11:00
Doyle Thai
019aad46ca Write tests for testing realloc stack 2018-02-03 23:11:14 +11:00
Doyle Thai
9be5194b17 Write more tests for push pop to tail 2018-02-03 21:39:15 +11:00
Doyle Thai
b8157a3c9f Draft double-ended stack allocator for temp malloc 2018-02-03 20:58:15 +11:00
Doyle Thai
7228a8b344 Fix memstack free not clearing metadata 2018-02-03 15:51:47 +11:00
Doyle Thai
21ff2f43dc Write basic tests for new revamped memstacks 2018-02-03 02:49:54 +11:00
Doyle Thai
1fc49c4fde Cleanup tests to be more structured 2018-02-02 23:26:05 +11:00
Doyle Thai
15a4c6ad22 Revamp MemStack with bounds guarding and simplify api 2018-02-02 19:34:44 +11:00
Doyle Thai
87b7d3362c Return true on resize to 0 for arrays 2018-02-01 00:08:42 +11:00
Doyle Thai
f838cc79bf Add strutil getlastbackslash 2018-01-29 19:03:20 +11:00
Doyle Thai
06b0f25f2a Fix realloc bug destroying memory in stack 2018-01-28 12:43:53 +11:00
Doyle Thai
86d2db397c Update array api 2018-01-26 14:54:03 +11:00
Doyle Thai
47bf005dbf Fix string init with 0 sized literal crash 2018-01-25 18:55:05 +11:00
Doyle Thai
b8aee7cef9 Fix off by 1byte error on tracking string free 2018-01-25 16:43:51 +11:00
Doyle Thai
9f25d5a98e Add msvc natvis for better debugging 2018-01-25 12:26:33 +11:00
Doyle Thai
a412bf0bfa Add file copy, better log, iterator for array 2018-01-24 14:58:03 +11:00
Doyle Thai
1464181cc2 Add clear function to hashtable 2018-01-21 21:18:34 +11:00
Doyle Thai
0468024f35 Fix array off by 1 in remove/get 2018-01-21 13:28:53 +11:00
Doyle Thai
7e996981d6 Fix memstack not freeing right size block 2018-01-20 21:08:04 +11:00
Doyle Thai
121c630126 Change memAPI to ptr, add mem info, improve assert 2018-01-20 19:03:29 +11:00
Doyle Thai
2d7b942010 Disable sso strings because problems. 2018-01-19 23:56:25 +11:00
Doyle Thai
398ca0bc96 Add SSO for strings, memStack quick initialiser 2018-01-19 21:52:34 +11:00
Doyle Thai
feeec0c610 Remove useless request api in DqnMemAPI 2018-01-19 13:48:01 +11:00
Doyle Thai
912ca43056 Fix formatting and clean up documentation 2018-01-18 20:25:44 +11:00
Doyle Thai
db25c5997f Minor fixes, add trim whitespace 2018-01-18 16:01:37 +11:00
Doyle Thai
7809185daa Fix string append crash on 0 len 2018-01-06 16:53:53 +11:00
Doyle Thai
fd00b9071c Minor const changes, string fix and name changes 2018-01-06 00:46:44 +11:00
Doyle Thai
5876c16abe Fix array resize crash on 0 initialisation 2018-01-04 16:27:50 +11:00
Doyle Thai
8209593f57 Fix literals not working with strings in structs 2018-01-04 16:07:18 +11:00
Doyle Thai
18967312d6 Clean up DqnFile to be more C++ and minor fixes 2018-01-04 00:40:27 +11:00
Doyle Thai
ee4f8eca17 Finally fix clip rect bug? 2017-12-06 19:08:49 +11:00
Doyle Thai
3d3d741ad6 Add missing default constructor for DqnV2i 2017-11-12 00:14:49 +11:00
Doyle Thai
25d6308a5f List removal for arrays, template specialize sort 2017-11-11 20:08:43 +11:00
Doyle Thai
88bac561ec Update vector and rect api to use constructors 2017-11-10 23:14:50 +11:00
Doyle Thai
2f6624fad7 Make DqnRnd a class, make array memapi aware 2017-11-08 21:32:06 +11:00
Doyle Thai
25098ca74c Add hash table and binary search to library 2017-10-29 20:30:07 +11:00
Doyle Thai
15dad9d8d2 Simplify DqnMemAPI and DqnMemStack api 2017-10-29 12:45:00 +11:00
Doyle Thai
d01e2fbc2f Remove the need for isFreeable in strings 2017-10-29 11:51:16 +11:00
Doyle Thai
b6a3600283 Clean up tests, fix DqnString bug, rename DqnDir 2017-10-29 11:41:26 +11:00
Doyle Thai
3ee5500124 Remove C-style api for strings, fix stack alloc bug 2017-10-28 23:25:17 +11:00
Doyle Thai
bfa00944c6 Various fixes, string lib, start removing C-style API 2017-10-28 19:58:09 +11:00
Doyle Thai
5533ad0b68 Fix typos, add utilties for wstr/file reading 2017-07-26 21:31:17 +10:00
Doyle Thai
d2ebb53322 Fix mat4 lookat, add translate[3f|v3] 2017-07-16 20:47:49 +10:00
Doyle Thai
be0b84a244 Static analysis cppcheck 2017-07-13 12:50:01 +10:00
979679470b Fix DqnMat4_Rotate not normalising axis 2017-07-04 14:22:24 +10:00
924aa84e7d Fix problem exposing platform w/o implementation 2017-07-03 15:17:09 +10:00
f8a4d4fe4b Fix crashes on unix using gcc -O3 2017-07-02 16:31:29 +10:00
2d163fa554 Add fix for strict-aliasing in DqnRnd 2017-07-02 14:47:38 +10:00
cbf7b4d606 Add quicksort generic to lib 2017-06-28 22:47:27 +10:00
825caefe4a Fix non-used param bugs, add minimal win32 sample 2017-06-27 17:45:51 +10:00
db1f76996c Add quicker filesize query, and ReadEntireFile() 2017-06-26 21:46:28 +10:00
866126e735 Make atomic add allow amounts not just +-1 2017-06-26 12:37:52 +10:00
fca8db0366 Port atomics, mutex lock and job queue to unix 2017-06-26 01:57:51 +10:00
19c427d756 Add opt. RAII-isms for destruction, fix thread bug
Thread Bug: Incorrectly using && operator for while
(DqnJobQueue_TryExecuteNextJob(queue) &&
!DqnJobQueue_AllJobsComplete(queue)) causing it to prematurely exit if
the main thread has completed its work before other threads have
completed the remainder. Should be using an || operator, so instead
creating a helper function which encapsulates this functionality.
2017-06-24 14:59:48 +10:00
886425eaa3 Add CPP api for dqn file and lock 2017-06-24 11:00:44 +10:00
45bc637773 Expose job queue, update init function 2017-06-23 23:12:20 +10:00
f9de41b6c0 Add cpp members to DqnArray 2017-06-23 21:17:26 +10:00
3d61d66388 Fix destructor premature call in memstack cpp api 2017-06-23 19:05:51 +10:00
9bb8efcf9d Add CPP member functions to DqnMemStack 2017-06-23 15:30:21 +10:00
187fc14d02 DqnTimer unix implementation 2017-06-22 18:10:44 +10:00
f464e869ec Add compile time asserts, table of contents 2017-06-22 16:16:28 +10:00
b2639447d0 Reorganise layout with table of contents 2017-06-22 14:43:53 +10:00
81c68ad908 Add better documentation 2017-06-22 14:00:11 +10:00
84149d0ad1 Add file write tests and delete functionality 2017-06-22 01:26:08 +10:00
93bbc25b11 Fix compile and warnings on MSVC 2017-06-21 19:01:36 +10:00
a067fed81f Implement dir read/free and file write in Unix 2017-06-21 18:52:14 +10:00
245e6b11f1 Basic file open/close/read implemented in Unix 2017-06-21 18:05:30 +10:00
036afb9b10 Implemented unix DqnFile_Open 2017-06-21 17:48:00 +10:00
73b5d05df8 Enable more warnings for unix, fix StrtoF32 bug 2017-06-21 14:54:57 +10:00
341388bb70 Get basics to compile & work in unix 2017-06-21 14:10:53 +10:00
b1e7fdc264 Reorganise platform specific code 2017-06-20 22:23:34 +10:00
307621fb03 Add more win32 functions from dtrenderer 2017-06-20 19:19:52 +10:00
65ee7bab4b Add new mat4 functions and some external testing 2017-06-08 16:41:24 +10:00
fceac54ecb Add helper V4 functions, change allocate to push 2017-05-26 01:10:32 +10:00
25744855ee Switch membuffer to memstack and add pop 2017-05-22 18:50:21 +10:00
034de12235 Add support for scientific notation in strtof32 2017-05-20 22:59:21 +10:00
44ef3759e5 Fix strtoi64 and add a basic strtof32 function 2017-05-20 19:11:28 +10:00
5c06410929 Various small changes and helper functions
- Fix typo for int32_t and int64_t
- Add new helper functions to convert v2i to v2 and back
- Add DqnRect_ClipRect to restrict rect to some specified clip-rect
- Improve I32ToStr and StrToI32 to support up to I64
2017-05-15 17:45:53 +10:00
73f0fd448c Differentiate between freeing [non]linked blocks 2017-05-08 20:10:14 +10:00
c47748c168 Remove default mem buffer api 2017-05-08 18:57:47 +10:00
00cae20654 Rename file flags/actions to be consistent 2017-05-08 17:59:51 +10:00
f9555d8edb Improve realloc for MemBuffers in default callback
Realloc now works for arbitrary length of blocks in MemBuffers and also works
slightly more efficiently than the old implementation.
2017-05-06 17:28:57 +10:00
6fe75928f0 Create a default MemoryAPI for MemBuffers 2017-05-06 02:44:17 +10:00
1c3c78d738 Add custom memory allocator support for DArray 2017-05-05 02:37:38 +10:00
116861d888 Add str find first occurence, fix array pop logic
Array pop was incorrectly returning the last element which is now an invalid ptr
to data.
2017-05-04 00:22:30 +10:00
2203e9b4f2 Add comments, make alignment function to macro
Alignment function becomes macro so that we can pass around alignment as a u32
instead of size_t.
2017-05-01 21:03:27 +10:00
fef763aaff Add MemBuffer with allocation from stack memory 2017-05-01 18:29:45 +10:00
fbb9c8bf9d Add operator overloads to vectors 2017-05-01 16:40:52 +10:00
4bea4f6505 Change naming scheme to be more compact 2017-05-01 14:01:05 +10:00