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