From d2c76fd62fa735f3d4fc3ceb55a75d6f0b2dc758 Mon Sep 17 00:00:00 2001 From: quou Date: Mon, 22 Jul 2024 20:21:34 +1000 Subject: sampling textures in game. --- asset.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'asset.c') diff --git a/asset.c b/asset.c index 0eca404..03689b9 100644 --- a/asset.c +++ b/asset.c @@ -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; +} + -- cgit v1.2.3-54-g00ecf