|
|
|
|
@ -70,12 +70,11 @@ arenaAllocateBlock(memory_arena* arena, size_t block_size)
|
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define MAX_NAME_LENGTH 256 |
|
|
|
|
char* |
|
|
|
|
arenaCopyCStr(memory_arena* arena, const char* input) |
|
|
|
|
arenaCopyCStr(memory_arena* arena, const char* input, u32 max_len) |
|
|
|
|
{ |
|
|
|
|
u32 name_len = std::strlen(input) + 1; |
|
|
|
|
assert(name_len < MAX_NAME_LENGTH); |
|
|
|
|
assert(name_len < max_len); |
|
|
|
|
// TODO: make an arena alloc macro
|
|
|
|
|
char* out = (char*) arenaAllocateBlock(arena, name_len); |
|
|
|
|
std::strncpy(out, input, name_len); |
|
|
|
|
@ -207,10 +206,7 @@ initModel(Assets* assets,
|
|
|
|
|
uint buf_count = t_mdl.bufferViews.size(); |
|
|
|
|
mdl->meshes = (mesh*) arenaAllocateBlock(arena, buf_count * sizeof(mesh)); |
|
|
|
|
mdl->num_meshes = t_mdl.meshes.size(); |
|
|
|
|
uint name_len = std::strlen(filename); |
|
|
|
|
assert(name_len < MAX_PATH_SIZE); |
|
|
|
|
mdl->filepath = (char*) arenaAllocateBlock(arena, name_len + 1); |
|
|
|
|
std::strncpy(mdl->filepath, filename, name_len); |
|
|
|
|
mdl->filepath = arenaCopyCStr(arena, filename, MAX_PATH_SIZE); |
|
|
|
|
mdl->filepath_hash = utilFNV64a_str(mdl->filepath); |
|
|
|
|
|
|
|
|
|
return mdl; |
|
|
|
|
|