34 lines
846 B
C++
34 lines
846 B
C++
#include "resources.h"
|
|
|
|
/* Loads in resources */
|
|
void
|
|
resources_init(Resources* self)
|
|
{
|
|
/* Textures */
|
|
for (s32 i = 0; i < TEXTURE_COUNT; i++)
|
|
texture_from_data_init(&self->textures[i], (u8*)TEXTURE_DATA[i].data, TEXTURE_DATA[i].length);
|
|
|
|
for (s32 i = 0; i < SHADER_COUNT; i++)
|
|
shader_init(&self->shaders[i], SHADER_DATA[i].vertex, SHADER_DATA[i].fragment);
|
|
}
|
|
|
|
/* Frees resources*/
|
|
void
|
|
resources_free(Resources* self)
|
|
{
|
|
for (s32 i = 0; i < TEXTURE_COUNT; i++)
|
|
texture_free(&self->textures[i]);
|
|
|
|
for (s32 i = 0; i < SHADER_COUNT; i++)
|
|
shader_free(&self->shaders[i]);
|
|
|
|
resources_loaded_textures_free(self);
|
|
}
|
|
|
|
/* Frees loaded textures */
|
|
void
|
|
resources_loaded_textures_free(Resources* self)
|
|
{
|
|
for (auto & [id, texture] : self->loadedTextures)
|
|
texture_free(&self->textures[id]);
|
|
} |