diff options
Diffstat (limited to 'asset.c')
-rw-r--r-- | asset.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -22,6 +22,11 @@ static void init_mesh_asset(Asset* asset, void* raw, int size) { m->verts = (Mesh_Vert*)&m->t[m->tc * 2]; } +static void init_texture_asset(Asset* asset, void* raw, int size) { + asset->payload = raw; + asset->payload_size = size; +} + /* Loading assets isn't that efficient. Too bad. */ static int get_asset_info( File* pack, @@ -125,6 +130,9 @@ void preload_assets(Arena* mem) { case asset_type_mesh: init_mesh_asset(asset, raw, size); break; + case asset_type_texture: + init_texture_asset(asset, raw, size); + break; default: print_err("Invalid asset type.\n"); pbreak(error_invalid_asset); @@ -150,3 +158,8 @@ const struct Mesh* get_mesh(Asset_ID id) { return (struct Mesh*)a->payload; } +const struct Texture* get_texture(Asset_ID id) { + const Asset* a = get_asset(id); + return (struct Texture*)a->payload; +} + |