afd65dd83c
Fix unix build issues?
2018-07-27 14:43:39 +10:00
6d6565c605
Cleanup DqnVHashTable, FixedString and add DqnCatalog
2018-07-25 01:33:31 +10:00
34907eeb04
Refactor DqnVHashTable to be simpler
2018-07-24 23:05:08 +10:00
71a1446fe0
Add post fix/prefix operator++ and arbitrary operator+-
2018-07-24 20:44:01 +10:00
fc11e9ac0e
Allow unordered iteration over hash table
2018-07-24 00:05:43 +10:00
c876f2af0b
Minor dqnmemstack annotation clean up
2018-07-23 00:12:11 +10:00
be4762c3f7
Remove non-used tracker variables
2018-07-22 23:59:11 +10:00
c282097a1f
Update DqnMemStack to use struct for metadata
2018-07-22 23:53:08 +10:00
efe015017a
Start reworking dqnmemstack to have unified push/pop interface
2018-07-18 01:53:58 +10:00
0bfca792ee
Log DqnJson in unit test, convert MemStack to use constructor
2018-07-18 00:47:13 +10:00
cbf8e37295
Fix QuickSort regression taking a ptr to data causing memory overwrite
2018-07-15 21:45:50 +10:00
c1245619ff
Add natural quick sort back for better debugging speed
2018-07-15 20:18:27 +10:00
1c5fdc6ce1
Update quicksort/bsearch to use templates better
2018-07-15 20:09:55 +10:00
9d12c532d1
Add lazy init to array/hash, rename 64bit max num, minor bug fixes
2018-07-15 02:17:34 +10:00
964304d1b7
Use bucketsUsed variable and more error handling for VHashTable
2018-07-14 23:21:57 +10:00
8997364892
Add DqnVHashTable, hash table backed by virtual memory
2018-07-14 23:00:25 +10:00
f1efb6f8f1
Make DqnJson handle more cases
2018-07-13 00:46:08 +10:00
33cf476d29
Move static functions outside of DqnFile
2018-07-10 23:01:18 +10:00
25410c7aac
Fix ReadEntireFile bug
2018-07-10 15:52:12 +10:00
7785e35f91
Restore win32 prototypes, add virtual mem allocation and array, add fixed pool
2018-07-10 00:53:54 +10:00
39d75ae5bf
Fix DqnFixedString len bug
2018-07-07 01:10:43 +10:00
6fc26c7bb8
Fix DqnJson bug matching property too early
2018-07-05 12:20:19 +10:00
9ebb4f8f23
Fix DqnArray::Insert count bug, misc unix fixes
2018-07-05 11:26:04 +10:00
da4ba37771
Fix return to pool negative free indexes
2018-07-05 01:38:35 +10:00
602cc32744
Add DqnPool and minor cleanup
2018-07-05 01:04:49 +10:00
c5d26f09c4
Fix unit tests, re-fix DqnArray::Insert
2018-07-05 00:58:40 +10:00
a23e2687fe
Improve platform defines, update sprintf
2018-07-05 00:47:11 +10:00
49577e2c27
Merge branch 'master' of https://github.com/Doy-lee/dqn
2018-07-03 23:02:36 +10:00
4ee040b6b0
Improve DqnArray::Insert
2018-07-03 23:01:15 +10:00
a0246bf996
Update for unix compliance again
2018-06-29 18:07:54 +10:00
6df3b32f4e
Use simplified array from imgui
2018-06-28 23:25:25 +10:00
86d3418315
Fix DqnArray bugs
2018-06-26 15:50:47 +10:00
7e507ee470
Simplify nix get file size
2018-06-26 00:33:46 +10:00
cf648c2281
Change true/false to yes/no for enums
2018-06-25 20:54:38 +10:00
5d77aa3f4a
Simplify DqnJson array iterator, fixed string ctor change
2018-06-25 20:51:18 +10:00
920df31c51
Add VirtualAlloc and fix up platform defines
2018-06-13 23:16:05 +10:00
5dee3d9f89
Simplify DqnRndPCG
2018-06-11 19:16:54 +10:00
0bf1b6d3ff
Sprintf returns bytes copied. Add IS_DEBUG flag
2018-06-11 18:40:54 +10:00
d740efdf06
Compact operator overloads for FixedString
2018-06-11 18:03:18 +10:00
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
c3ebef2ea1
Add wchar operations
2017-04-25 17:37:40 +10:00
8d471a1502
Add some wide len, win32 error code display
2017-04-20 22:43:58 +10:00
a4bc798a6f
Remove inline for now
...
I found in another project that using inline, inlined some functions in the
output object code. When using single file build, the implementation is defined
in one file and if it becomes inlined, then the function name is lost.
If then another file references the library and tries to use a function that has
been inlined, the linker won't be able to resolve the function name and the
object code since it has been inlined. So I've removed it from the library until
I find a case where it's suitable to use.
2017-04-19 18:10:00 +10:00
00685b9ce9
Add better push buffer system for dynamic alloc
2017-04-18 23:38:52 +10:00
f42fca6350
Add more string check functions
2017-04-17 23:12:10 +10:00
2cbb897efa
Add pushbuffer system
2017-04-17 22:48:20 +10:00
3985455fc2
Add dynamic array pop, i32 to str returns len
2017-04-16 21:33:26 +10:00
34c3481c19
Fix non-compile issues in non-unity builds
2017-04-15 15:23:05 +10:00
f066d8bc4e
Add ini.h, extra win32 functions, clean up formats
2017-04-15 01:27:11 +10:00
e0cae3029d
Switch darray implementation to C++ with templates
2017-04-11 21:05:40 +10:00
9106f185a3
Add darray remove operations
2017-04-11 19:00:55 +10:00