- Refactor drawing to keep blocks persistent in memory
- Make string usage easier & more consisten (macros for string vs const char*)
- rdtsc intrinsic (get cycle count)
- Profiling macros (generates a google trace json)
- Write D3D11 debug messages to stdout
- String_Builder & thorough tests for it
- I didn't get rotation going quite right with the xform, but it's 2am goodnight
- Smashed my head and had bad thoughts about microsoft many times
- stuff
- lotsa example code in entry.c
- Jai-like print procedures
- %s formats 'string' and to format a char* you do %cs
- It detects if %cs pointer is outside of program memory or stack and asserts
- AND same for if a char* is passed to %s
- Print directly writes to stdout without any allocations
- Basic utlity procedures
- Buncha string tests
- Beef up assert to display file & line as well
- Don't define memcpy procedures if compiler has intrinsics for them
- Init memory arena for allocations in initialization time before heap is ready (stack memory)
- os_compare_and_swap
- Spinlock "primitive" (wrapper around a bool using compare_and_swap)
- Switched to using spinlock instead of os mutex in heap for synchronization.
- is_pointer_valid() which checks if address is in program_memory or thread stack
- Dyamically load minimum crt symbols in os backend so we don't need to #include c headers
- Some more os calls:
- write to stdout (with our string type)
- macros for variadic argument lists
- Dynamic library loading