Commit Graph

8 Commits

Author SHA1 Message Date
f07977ff06 Implemented a dynamic array object that uses 24 bytes on the stack versus std::vector's 32. It uses basalt_memory module to allocate and free itself, thus requiring a tag. It is not atomic or thread-safe. 2025-06-23 00:35:18 +10:00
bff17a13b6 Fixed bugs in basalt memory tag name generation. Centralised alignment values to basalt::mem::get_memory_tag_alignment_bytes. 2025-06-22 14:58:20 +10:00
b5ef8e4ab5 Library:
Added a very basic window object that essentially just wraps an GLFW window object.
TODO: Set the window userdata pointer to point to its wrapping object
2025-06-22 03:04:28 +10:00
8d7bfe0bc9 Buildsystem: Removed include/basalt_window.h. See prior commit #cac50b01
Library:
Added logging and memory modules.
The logging module provides a flexible interface for adding and removing logging streams (think stdout, stderr, a file) and supports ANSI colouring and including the date and time of each log call. Its header also provides several definitions for assertions, each corresponding to a specific log level and some other side effects such as debug_break(), returning, exiting or doing nothing.
The memory module wraps (_)aligned_alloc and free functions and includes memory tagging by class and location and the ability to fetch a formatted string containing this information. This can allow you to narrow down where memory leaks and double frees occur to particular sections within a module. Memory can be aligned to any, 32, 64 or 4096 byte boundaries using this module.
2025-06-22 03:02:42 +10:00
cac50b0134 Restructured library source files 2025-06-22 02:54:15 +10:00
c992634e8e buildsystem: Added debug build flags to linker 2025-06-22 02:51:52 +10:00
62b1e79ec5 Initial commit - https://www.youtube.com/watch?v=_riranMmtvI&list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR&index=3 2025-06-20 15:10:02 +10:00
912d5cb768 Initial commit 2025-06-19 16:27:58 +10:00