2020-09-07 17:00:14 -05:00
|
|
|
#ifndef STORM_MEMORY_HPP
|
|
|
|
|
#define STORM_MEMORY_HPP
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
#include <cstdlib>
|
2025-09-02 18:35:51 -07:00
|
|
|
#include <new>
|
2025-10-05 20:27:01 -07:00
|
|
|
#include "Core.hpp"
|
2020-09-07 17:00:14 -05:00
|
|
|
|
2025-09-03 22:15:59 -05:00
|
|
|
#define SMEM_FLAG_ZEROMEMORY 0x8
|
2025-09-01 09:37:40 -07:00
|
|
|
|
2025-09-03 23:38:18 -05:00
|
|
|
#define STORM_ALLOC(bytes) \
|
|
|
|
|
SMemAlloc(bytes, __FILE__, __LINE__, 0x0)
|
|
|
|
|
|
|
|
|
|
#define STORM_ALLOC_ZERO(bytes) \
|
|
|
|
|
SMemAlloc(bytes, __FILE__, __LINE__, SMEM_FLAG_ZEROMEMORY)
|
|
|
|
|
|
2025-09-12 21:53:57 -07:00
|
|
|
#define STORM_FREE(ptr) \
|
|
|
|
|
SMemFree(ptr, __FILE__, __LINE__, 0x0)
|
|
|
|
|
|
2025-09-03 23:38:18 -05:00
|
|
|
#define STORM_NEW(t) \
|
|
|
|
|
new(SMemAlloc(sizeof(t), __FILE__, __LINE__, 0x0)) t
|
|
|
|
|
|
|
|
|
|
#define STORM_NEW_ZERO(t) \
|
|
|
|
|
new(SMemAlloc(sizeof(t), __FILE__, __LINE__, SMEM_FLAG_ZEROMEMORY)) t
|
|
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void* STORMAPI SMemAlloc(size_t bytes, const char* filename, int32_t linenumber, uint32_t flags = 0);
|
2020-09-07 17:00:14 -05:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SMemCopy(void* dst, void* src, size_t bytes);
|
2025-09-01 20:31:23 -07:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SMemFill(void* ptr, size_t bytes, uint8_t value);
|
2025-09-01 20:47:51 -07:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SMemFree(void* ptr, const char* filename, int32_t linenumber, uint32_t flags = 0);
|
2020-09-07 17:00:14 -05:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SMemMove(void* dst, void* src, size_t bytes);
|
2025-09-01 20:31:23 -07:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void* STORMAPI SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenumber, uint32_t flags = 0);
|
2020-09-07 17:00:14 -05:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SMemZero(void* ptr, size_t bytes);
|
2025-09-01 21:00:55 -07:00
|
|
|
|
2020-09-07 17:00:14 -05:00
|
|
|
#endif
|