Update region system to current codebase due to PR rot

This commit is contained in:
mothbeanie
2024-07-05 14:59:15 -07:00
committed by Misa Elizabeth Kai
parent 94620d809e
commit dedf941b25
9 changed files with 366 additions and 115 deletions

View File

@@ -442,6 +442,28 @@ void GraphicsResources::init(void)
SDL_assert(0 && "Failed to create minimap texture! See stderr.");
return;
}
SDL_zeroa(graphics.customminimaps);
EnumHandle handle = {};
const char* item;
char full_item[73];
while ((item = FILESYSTEM_enumerateAssets("graphics", &handle)) != NULL)
{
if (SDL_strncmp(item, "region", 6) != 0)
{
continue;
}
char* end;
int i = SDL_strtol(&item[6], &end, 10);
if (item == end || SDL_strcmp(end, ".png") != 0)
{
continue;
}
SDL_snprintf(full_item, sizeof(full_item), "graphics/%s", item);
graphics.customminimaps[i] = LoadImage(full_item);
}
FILESYSTEM_freeEnumerate(&handle);
}
@@ -476,6 +498,14 @@ void GraphicsResources::destroy(void)
CLEAR(im_sprites_translated);
CLEAR(im_flipsprites_translated);
for (size_t i = 0; i < SDL_arraysize(graphics.customminimaps); i++)
{
if (graphics.customminimaps[i] != NULL)
{
CLEAR(graphics.customminimaps[i]);
}
}
#undef CLEAR
VVV_freefunc(SDL_FreeSurface, im_sprites_surf);