diff --git a/src/base/base.h b/src/base/base.h index 89e13adc..b200cb65 100644 --- a/src/base/base.h +++ b/src/base/base.h @@ -679,7 +679,7 @@ Struct(ResourceStore) u64 hash; }; -Struct(Resource) +Struct(ResourceKey) { u64 hash; }; @@ -692,9 +692,9 @@ Struct(Resource) #if LanguageIsC -Struct(VertexShader) { Resource resource; }; -Struct(PixelShader) { Resource resource; }; -Struct(ComputeShader) { Resource resource; }; +Struct(VertexShader) { ResourceKey resource; }; +Struct(PixelShader) { ResourceKey resource; }; +Struct(ComputeShader) { ResourceKey resource; }; # define VSDecl(name) extern VertexShader name; # define PSDecl(name) extern PixelShader name; diff --git a/src/base/base_entry.h b/src/base/base_entry.h index f6403877..e7894cad 100644 --- a/src/base/base_entry.h +++ b/src/base/base_entry.h @@ -7,7 +7,7 @@ typedef ExitFuncDef(ExitFunc); //////////////////////////////////////////////////////////// //~ @hookdecl Swap hooks -b32 IsSwappingIn(void); +b32 IsSwappedIn(void); b32 IsSwappingOut(void); String SwappedStateFromName(Arena *arena, String name); diff --git a/src/base/base_resource.c b/src/base/base_resource.c index 67ed10b3..d1448165 100644 --- a/src/base/base_resource.c +++ b/src/base/base_resource.c @@ -44,14 +44,14 @@ void InitResourceSystem(u64 archive_strings_count, String *archive_strings) //////////////////////////////////////////////////////////// //~ Resource helpers -b32 IsResourceNil(Resource resource) +b32 IsResourceNil(ResourceKey resource) { return resource.hash == 0; } -Resource ResourceFromStore(ResourceStore *store, String name) +ResourceKey ResourceKeyFromStore(ResourceStore *store, String name) { - Resource result = ZI; + ResourceKey result = ZI; result.hash = HashFnv64(store->hash, name); return result; } @@ -78,7 +78,7 @@ ResourceEntry *ResourceEntryFromHash(u64 hash) //////////////////////////////////////////////////////////// //~ Resource operations -String DataFromResource(Resource resource) +String DataFromResource(ResourceKey resource) { String result = ZI; ResourceEntry *entry = ResourceEntryFromHash(resource.hash); @@ -89,7 +89,7 @@ String DataFromResource(Resource resource) return result; } -String NameFromResource(Resource resource) +String NameFromResource(ResourceKey resource) { String result = ZI; ResourceEntry *entry = ResourceEntryFromHash(resource.hash); diff --git a/src/base/base_resource.h b/src/base/base_resource.h index 0c859331..94982da1 100644 --- a/src/base/base_resource.h +++ b/src/base/base_resource.h @@ -38,8 +38,8 @@ void InitResourceSystem(u64 archive_strings_count, String *archive_strings); //////////////////////////////////////////////////////////// //~ Resource operations -b32 IsResourceNil(Resource resource); -Resource ResourceFromStore(ResourceStore *store, String name); +b32 IsResourceNil(ResourceKey resource); +ResourceKey ResourceKeyFromStore(ResourceStore *store, String name); //////////////////////////////////////////////////////////// //~ Resource cache operations @@ -49,5 +49,5 @@ ResourceEntry *ResourceEntryFromHash(u64 hash); //////////////////////////////////////////////////////////// //~ Resource data operations -String DataFromResource(Resource resource); -String NameFromResource(Resource resource); +String DataFromResource(ResourceKey resource); +String NameFromResource(ResourceKey resource); diff --git a/src/base/base_win32/base_win32.c b/src/base/base_win32/base_win32.c index c81698ef..c34b60ee 100644 --- a/src/base/base_win32/base_win32.c +++ b/src/base/base_win32/base_win32.c @@ -112,7 +112,7 @@ void TrueRand(String buffer) //////////////////////////////////////////////////////////// //~ Swap hooks -b32 IsSwappingIn(void) +b32 IsSwappedIn(void) { return HotSwappingIsEnabled; } diff --git a/src/font/font.c b/src/font/font.c index aea78658..52d83664 100644 --- a/src/font/font.c +++ b/src/font/font.c @@ -25,7 +25,7 @@ JobDef(F_Load, sig, _) 0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF }; - Resource resource = sig->resource; + ResourceKey resource = sig->resource; String name = NameFromResource(resource); f32 point_size = sig->point_size; AC_Asset *asset = sig->asset; @@ -163,7 +163,7 @@ JobDef(F_Load, sig, _) //~ Font load operations /* Returns the asset from the asset cache */ -AC_Asset *F_LoadAsset(Resource resource, f32 point_size, b32 wait) +AC_Asset *F_LoadAsset(ResourceKey resource, f32 point_size, b32 wait) { __prof; TempArena scratch = BeginScratchNoConflict(); @@ -200,7 +200,7 @@ AC_Asset *F_LoadAsset(Resource resource, f32 point_size, b32 wait) return asset; } -F_Font *F_LoadFontAsync(Resource resource, f32 point_size) +F_Font *F_LoadFontAsync(ResourceKey resource, f32 point_size) { __prof; AC_Asset *asset = F_LoadAsset(resource, point_size, 0); @@ -208,7 +208,7 @@ F_Font *F_LoadFontAsync(Resource resource, f32 point_size) return f; } -F_Font *F_LoadFontWait(Resource resource, f32 point_size) +F_Font *F_LoadFontWait(ResourceKey resource, f32 point_size) { __prof; AC_Asset *asset = F_LoadAsset(resource, point_size, 1); diff --git a/src/font/font.h b/src/font/font.h index 091a68a1..11c8a800 100644 --- a/src/font/font.h +++ b/src/font/font.h @@ -48,14 +48,14 @@ Struct(F_Run) //////////////////////////////////////////////////////////// //~ Font load job -JobDecl(F_Load, { AC_Asset *asset; f32 point_size; Resource resource; }); +JobDecl(F_Load, { AC_Asset *asset; f32 point_size; ResourceKey resource; }); //////////////////////////////////////////////////////////// //~ Font load operations -AC_Asset *F_LoadAsset(Resource resource, f32 point_size, b32 wait); -F_Font *F_LoadFontAsync(Resource resource, f32 point_size); -F_Font *F_LoadFontWait(Resource resource, f32 point_size); +AC_Asset *F_LoadAsset(ResourceKey resource, f32 point_size, b32 wait); +F_Font *F_LoadFontAsync(ResourceKey resource, f32 point_size); +F_Font *F_LoadFontWait(ResourceKey resource, f32 point_size); //////////////////////////////////////////////////////////// //~ Run operations diff --git a/src/gpu/gpu_common.c b/src/gpu/gpu_common.c index daf13efa..7c212529 100644 --- a/src/gpu/gpu_common.c +++ b/src/gpu/gpu_common.c @@ -21,7 +21,7 @@ void GPU_StartupUtils(void) /* Upload noise */ { Vec3I32 noise_size = VEC3I32(128, 128, 64); - Resource noise_resource = ResourceFromStore(&GPU_Resources, Lit("noise_128x128x64_16.dat")); + ResourceKey noise_resource = ResourceKeyFromStore(&GPU_Resources, Lit("noise_128x128x64_16.dat")); String noise_res_data = DataFromResource(noise_resource); if (noise_res_data.len != noise_size.x * noise_size.y * noise_size.z * 2) { diff --git a/src/pp/pp.c b/src/pp/pp.c index 78a1fe5b..fdc096ef 100644 --- a/src/pp/pp.c +++ b/src/pp/pp.c @@ -34,7 +34,7 @@ void StartupUser(void) g->world_to_render_xf = XformIdentity; /* Init from swap */ - if (IsSwappingIn()); + if (IsSwappedIn()); { TempArena scratch = BeginScratchNoConflict(); String swap_str = SwappedStateFromName(scratch.arena, Lit("pp_user")); @@ -349,7 +349,7 @@ void DrawDebugConsole(i32 level, b32 minimized) g->console_logs_height = 0; i64 now_ns = TimeNs(); - F_Font *font = F_LoadFontAsync(ResourceFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); + F_Font *font = F_LoadFontAsync(ResourceKeyFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); if (font) { Lock lock = LockE(&g->console_logs_mutex); @@ -1184,7 +1184,7 @@ void UpdateUser(P_Window *window) if (!IsValidAndActive(ent)) continue; //if (S_IsNil(ent->sprite)) continue; - Resource sprite = ent->sprite; + ResourceKey sprite = ent->sprite; Entity *parent = EntityFromId(g->ss_blended, ent->parent); @@ -1274,7 +1274,7 @@ void UpdateUser(P_Window *window) if (HasProp(ent, Prop_TileChunk)) { Vec2I32 chunk_index = ent->tile_chunk_index; - Resource tile_sprite = ResourceFromStore(&GameResources, Lit("sprite/tile.ase")); + ResourceKey tile_sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/tile.ase")); S_Texture *tile_texture = S_TextureFromResourceAsync(tile_sprite); if (tile_texture->loaded) { @@ -1506,7 +1506,7 @@ void UpdateUser(P_Window *window) #if 0 /* Draw contact info */ { - F_Font *disp_font = F_LoadFontAsync(ResourceFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); + F_Font *disp_font = F_LoadFontAsync(ResourceKeyFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); if (disp_font) { f32 offset_px = 10; @@ -1628,7 +1628,7 @@ void UpdateUser(P_Window *window) #if 0 /* Test info */ { - F_Font *disp_font = F_LoadFontAsync(ResourceFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); + F_Font *disp_font = F_LoadFontAsync(ResourceKeyFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); if (disp_font) { f32 offset_px = 10; @@ -1781,7 +1781,7 @@ void UpdateUser(P_Window *window) { __profn("Draw crosshair"); Vec2 crosshair_pos = g->ui_cursor; - Resource crosshair = ResourceFromStore(GameResources, Lit("sprite/crosshair.ase")); + ResourceKey crosshair = ResourceKeyFromStore(GameResources, Lit("sprite/crosshair.ase")); S_Texture *t = S_TextureFromResourceAsync(crosshair); Vec2 size = VEC2(t->width, t->height); Xform xf = XformFromTrs(TRS(.t = crosshair_pos, .s = size)); @@ -1800,7 +1800,7 @@ void UpdateUser(P_Window *window) } else { - S_Texture *t = S_TextureFromResourceAsync(ResourceFromStore(GameResources, Lit("sprite/crosshair.ase"))); + S_Texture *t = S_TextureFromResourceAsync(ResourceKeyFromStore(GameResources, Lit("sprite/crosshair.ase"))); Vec2 size = VEC2(t->width, t->height); Rect cursor_clip = RectFromVec2(g->ui_screen_offset, g->ui_size); cursor_clip.pos = AddVec2(cursor_clip.pos, MulVec2(size, 0.5f)); @@ -2015,7 +2015,7 @@ void UpdateUser(P_Window *window) Entity *ent = hovered_ent; Vec2 pos = AddVec2(g->ui_cursor, VEC2(15, 15)); - F_Font *font = F_LoadFontAsync(ResourceFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); + F_Font *font = F_LoadFontAsync(ResourceKeyFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); if (font) { TempArena temp = BeginTempArena(scratch.arena); @@ -2127,7 +2127,7 @@ void UpdateUser(P_Window *window) if (g->debug_draw) { __profn("Draw debug info"); - F_Font *font = F_LoadFontAsync(ResourceFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); + F_Font *font = F_LoadFontAsync(ResourceKeyFromStore(&GameResources, Lit("font/fixedsys.ttf")), 12.0f); if (font) { TempArena temp = BeginTempArena(scratch.arena); diff --git a/src/pp/pp_ent.h b/src/pp/pp_ent.h index 0dd27a84..1f009da5 100644 --- a/src/pp/pp_ent.h +++ b/src/pp/pp_ent.h @@ -247,7 +247,7 @@ Struct(Entity) //- Sprite - Resource sprite; + ResourceKey sprite; String sprite_span_name; u32 sprite_tint; Vec3 sprite_emittance; diff --git a/src/pp/pp_step.c b/src/pp/pp_step.c index a777b5a1..d9fdc31c 100644 --- a/src/pp/pp_step.c +++ b/src/pp/pp_step.c @@ -36,7 +36,7 @@ void ResetSimAccel(Snapshot *ss, SimAccel *accel) Entity *SpawnTestSmg(Entity *parent) { Entity *e = AcquireSyncSrc(parent); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/gun.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/gun.ase")); EnableProp(e, Prop_Attached); e->attach_slice = Lit("attach.wep"); @@ -52,7 +52,7 @@ Entity *SpawnTestSmg(Entity *parent) Entity *SpawnTestLauncher(Entity *parent) { Entity *e = AcquireSyncSrc(parent); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/gun.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/gun.ase")); EnableProp(e, Prop_Attached); e->attach_slice = Lit("attach.wep"); @@ -68,7 +68,7 @@ Entity *SpawnTestLauncher(Entity *parent) Entity *SpawnTestChucker(Entity *parent) { Entity *chucker = AcquireSyncSrc(parent); - chucker->sprite = ResourceFromStore(&GameResources, Lit("sprite/gun.ase")); + chucker->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/gun.ase")); EnableProp(chucker, Prop_Attached); chucker->attach_slice = Lit("attach.wep"); @@ -119,12 +119,12 @@ Entity *SpawnTestEmployee(Entity *parent) { EnableProp(e, Prop_Test); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/tim.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/tim.ase")); e->mass_unscaled = 10; e->inertia_unscaled = 5; } - //e->sprite = ResourceFromStore(GameResources, Lit("sprite/box_rounded.ase")); + //e->sprite = ResourceKeyFromStore(GameResources, Lit("sprite/box_rounded.ase")); //e->sprite_span_name = Lit("idle.unarmed"); //e->sprite_span_name = Lit("idle.one_handed"); e->sprite_span_name = Lit("idle.two_handed"); @@ -257,7 +257,7 @@ void SpawnTestEntities2(Entity *parent, Vec2 pos) Xform xf = XformFromTrs(TRS(.t = pos, .r = rot, .s = size)); SetXform(e, xf); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/tile.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/tile.ase")); e->layer = Layer_Shoulders; //e->sprite_tint = Alpha32F(Color_Blue, 0.75); @@ -299,7 +299,7 @@ void SpawnTestEntities2(Entity *parent, Vec2 pos) Xform xf = XformFromTrs(.t = pos, .r = r, .s = size); SetXform(e, xf); - e->sprite = ResourceFromStore(GameResources, Lit("sprite/bullet.ase")); + e->sprite = ResourceKeyFromStore(GameResources, Lit("sprite/bullet.ase")); e->sprite_collider_slice = Lit("shape"); e->layer = Layer_Shoulders; @@ -327,7 +327,7 @@ void SpawnTestEntities3(Entity *parent, Vec2 pos) Xform xf = XformFromTrs(TRS(.t = pos, .r = r, .s = size)); SetXform(e, xf); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/box.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/box.ase")); e->layer = Layer_Shoulders; e->sprite_tint = Color_Red; @@ -350,8 +350,8 @@ void SpawnTestEntities4(Entity *parent, Vec2 pos) Xform xf = XformFromTrs(TRS(.t = pos, .r = r, .s = size)); SetXform(e, xf); - //e->sprite = ResourceFromStore(GameResources, Lit("sprite/box.ase")); - e->sprite = ResourceFromStore(&GameResources, Lit("sprite/tile.ase")); + //e->sprite = ResourceKeyFromStore(GameResources, Lit("sprite/box.ase")); + e->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/tile.ase")); e->layer = Layer_Shoulders; EnableProp(e, Prop_LightTest); @@ -380,7 +380,7 @@ void SpawnTestTile(Snapshot *world, Vec2 world_pos) SetXform(e, xf); e->layer = Layer_Walls; - e->sprite = ResourceFromStore(GameResources, Lit("sprite/tile.ase")); + e->sprite = ResourceKeyFromStore(GameResources, Lit("sprite/tile.ase")); e->sprite_tint = Color_Red; S_Sheet *sheet = S_SheetFromResource(e->sprite); @@ -783,7 +783,7 @@ CollisionCallbackFuncDef(OnEntityCollision, data, step_ctx) { Xform xf = XformFromTrs(TRS(.t = point, .r = RandF64FromState(&step_ctx->rand, 0, Tau))); Entity *decal = AcquireSyncSrc(root); - decal->sprite = ResourceFromStore(&GameResources, Lit("sprite/blood.ase")); + decal->sprite = ResourceKeyFromStore(&GameResources, Lit("sprite/blood.ase")); decal->sprite_tint = Rgba32F(1, 1, 1, 0.25f); decal->layer = Layer_FloorDecals; SetXform(decal, xf); @@ -1359,7 +1359,7 @@ void StepSim(SimStepCtx *ctx) if (!HasProp(ent, Prop_Attached)) continue; Entity *parent = EntityFromId(world, ent->parent); - Resource parent_sprite = parent->sprite; + ResourceKey parent_sprite = parent->sprite; S_Sheet *parent_sheet = S_SheetFromResource(parent_sprite); Xform parent_sprite_xf = parent->sprite_local_xform; @@ -1450,7 +1450,7 @@ void StepSim(SimStepCtx *ctx) { if (primary_triggered) { - Resource sprite = ent->sprite; + ResourceKey sprite = ent->sprite; u32 animation_frame = ent->animation_frame; S_Sheet *sheet = S_SheetFromResource(sprite); Xform sprite_local_xform = ent->sprite_local_xform; @@ -1477,7 +1477,7 @@ void StepSim(SimStepCtx *ctx) bullet->local_collider.points[0] = VEC2(0, 0); bullet->local_collider.count = 1; #else - bullet->sprite = ResourceFromStore(GameResources, Lit("sprite/bullet.ase")); + bullet->sprite = ResourceKeyFromStore(GameResources, Lit("sprite/bullet.ase")); bullet->sprite_collider_slice = Lit("shape"); #endif } @@ -1499,7 +1499,7 @@ void StepSim(SimStepCtx *ctx) { if (primary_triggered) { - Resource sprite = ent->sprite; + ResourceKey sprite = ent->sprite; u32 animation_frame = ent->animation_frame; S_Sheet *sheet = S_SheetFromResource(sprite); Xform sprite_local_xform = ent->sprite_local_xform; diff --git a/src/sound/sound.c b/src/sound/sound.c index fd554890..fe3283ff 100644 --- a/src/sound/sound.c +++ b/src/sound/sound.c @@ -5,7 +5,7 @@ JobDef(SND_Load, sig, UNUSED id) { __prof; TempArena scratch = BeginScratchNoConflict(); - Resource resource = sig->resource; + ResourceKey resource = sig->resource; String name = NameFromResource(resource); AC_Asset *asset = sig->asset; SND_SoundFlag flags = sig->flags; @@ -80,7 +80,7 @@ JobDef(SND_Load, sig, UNUSED id) //////////////////////////////////////////////////////////// //~ Load sound -AC_Asset *SND_LoadAsset(Resource resource, SND_SoundFlag flags, b32 wait) +AC_Asset *SND_LoadAsset(ResourceKey resource, SND_SoundFlag flags, b32 wait) { __prof; TempArena scratch = BeginScratchNoConflict(); @@ -117,7 +117,7 @@ AC_Asset *SND_LoadAsset(Resource resource, SND_SoundFlag flags, b32 wait) return asset; } -SND_Sound *SND_LoadSoundAsync(Resource resource, SND_SoundFlag flags) +SND_Sound *SND_LoadSoundAsync(ResourceKey resource, SND_SoundFlag flags) { __prof; AC_Asset *asset = SND_LoadAsset(resource, flags, 0); @@ -125,7 +125,7 @@ SND_Sound *SND_LoadSoundAsync(Resource resource, SND_SoundFlag flags) return sound; } -SND_Sound *SND_LoadSoundWait(Resource resource, SND_SoundFlag flags) +SND_Sound *SND_LoadSoundWait(ResourceKey resource, SND_SoundFlag flags) { __prof; AC_Asset *asset = SND_LoadAsset(resource, flags, 1); diff --git a/src/sound/sound.h b/src/sound/sound.h index f5ba104f..0dd08ab4 100644 --- a/src/sound/sound.h +++ b/src/sound/sound.h @@ -19,7 +19,7 @@ Struct(SND_Sound) //////////////////////////////////////////////////////////// //~ Sound load operations -JobDecl(SND_Load, { SND_SoundFlag flags; AC_Asset *asset; Resource resource; }); -AC_Asset *SND_LoadAsset(Resource resource, SND_SoundFlag flags, b32 wait); -SND_Sound *SND_LoadSoundAsync(Resource resource, SND_SoundFlag flags); -SND_Sound *SND_LoadSoundWait(Resource resource, SND_SoundFlag flags); +JobDecl(SND_Load, { SND_SoundFlag flags; AC_Asset *asset; ResourceKey resource; }); +AC_Asset *SND_LoadAsset(ResourceKey resource, SND_SoundFlag flags, b32 wait); +SND_Sound *SND_LoadSoundAsync(ResourceKey resource, SND_SoundFlag flags); +SND_Sound *SND_LoadSoundWait(ResourceKey resource, SND_SoundFlag flags); diff --git a/src/sprite/sprite.c b/src/sprite/sprite.c index 49dde4ab..c025bd5c 100644 --- a/src/sprite/sprite.c +++ b/src/sprite/sprite.c @@ -9,7 +9,7 @@ JobDef(S_LoadTexture, sig, _) { TempArena scratch = BeginScratchNoConflict(); S_Entry *entry = sig->entry; - Resource resource = entry->resource; + ResourceKey resource = entry->resource; b32 ok = 1; S_Texture *texture = &entry->texture; texture->valid = 1; @@ -98,7 +98,7 @@ JobDef(S_LoadSheet, sig, _) TempArena scratch = BeginScratchNoConflict(); Arena *perm = PermArena(); S_Entry *entry = sig->entry; - Resource resource = entry->resource; + ResourceKey resource = entry->resource; b32 ok = 1; S_Sheet *sheet = &entry->sheet; sheet->valid = 1; @@ -283,7 +283,7 @@ JobDef(S_LoadSheet, sig, _) //~ Cache /* TODO: Per-fiber L1 cache */ -S_Entry *S_FetchEntry(Resource resource, JobPool pool, S_FetchFlag flags) +S_Entry *S_FetchEntry(ResourceKey resource, JobPool pool, S_FetchFlag flags) { S_SharedState *g = &S_shared_state; S_Entry *entry = 0; @@ -349,14 +349,14 @@ S_Entry *S_FetchEntry(Resource resource, JobPool pool, S_FetchFlag flags) //////////////////////////////////////////////////////////// //~ Sprite data retrieval operations -S_Texture *S_TextureFromResource(Resource resource) +S_Texture *S_TextureFromResource(ResourceKey resource) { S_Entry *entry = S_FetchEntry(resource, JobPool_Inherit, S_FetchFlag_Texture); YieldOnFence(&entry->texture_ready_fence, 1); return &entry->texture; } -S_Texture *S_TextureFromResourceAsync(Resource resource) +S_Texture *S_TextureFromResourceAsync(ResourceKey resource) { S_Texture *result = &S_NilTexture; S_Entry *entry = S_FetchEntry(resource, JobPool_Inherit, S_FetchFlag_Texture); @@ -367,14 +367,14 @@ S_Texture *S_TextureFromResourceAsync(Resource resource) return result; } -S_Sheet *S_SheetFromResource(Resource resource) +S_Sheet *S_SheetFromResource(ResourceKey resource) { S_Entry *entry = S_FetchEntry(resource, JobPool_Inherit, S_FetchFlag_Sheet); YieldOnFence(&entry->sheet_ready_fence, 1); return &entry->sheet; } -S_Sheet *S_SheetFromResourceAsync(Resource resource) +S_Sheet *S_SheetFromResourceAsync(ResourceKey resource) { S_Sheet *result = &S_NilSheet; S_Entry *entry = S_FetchEntry(resource, JobPool_Inherit, S_FetchFlag_Sheet); diff --git a/src/sprite/sprite.h b/src/sprite/sprite.h index 6bfaea8f..4588d197 100644 --- a/src/sprite/sprite.h +++ b/src/sprite/sprite.h @@ -108,7 +108,7 @@ Struct(S_Entry) Atomic32 texture_touched; Atomic32 sheet_touched; - Resource resource; + ResourceKey resource; Fence texture_ready_fence; Fence sheet_ready_fence; }; @@ -146,16 +146,16 @@ Enum(S_FetchFlag) S_FetchFlag_Sheet = (1 << 1), }; -S_Entry *S_FetchEntry(Resource resource, JobPool pool, S_FetchFlag flags); +S_Entry *S_FetchEntry(ResourceKey resource, JobPool pool, S_FetchFlag flags); //////////////////////////////////////////////////////////// //~ Sprite data retrieval operations -S_Texture *S_TextureFromResource(Resource resource); -S_Texture *S_TextureFromResourceAsync(Resource resource); +S_Texture *S_TextureFromResource(ResourceKey resource); +S_Texture *S_TextureFromResourceAsync(ResourceKey resource); -S_Sheet *S_SheetFromResource(Resource resource); -S_Sheet *S_SheetFromResourceAsync(Resource resource); +S_Sheet *S_SheetFromResource(ResourceKey resource); +S_Sheet *S_SheetFromResourceAsync(ResourceKey resource); //////////////////////////////////////////////////////////// //~ Sheet access operations diff --git a/src/ui/ui_core.c b/src/ui/ui_core.c index ef48d806..314fa314 100644 --- a/src/ui/ui_core.c +++ b/src/ui/ui_core.c @@ -6,16 +6,16 @@ UI_SharedState UI_shared_state = ZI; void UI_Startup(void) { /* Prefetch default font */ - Resource default_font = UI_GetDefaultFontResource(); + ResourceKey default_font = UI_GetDefaultFontResource(); F_LoadFontAsync(default_font, 12); } //////////////////////////////////////////////////////////// //~ Font helpers -Resource UI_GetDefaultFontResource(void) +ResourceKey UI_GetDefaultFontResource(void) { - return ResourceFromStore(&UI_Resources, Lit("font/default.ttf")); + return ResourceKeyFromStore(&UI_Resources, Lit("font/default.ttf")); } //////////////////////////////////////////////////////////// diff --git a/src/ui/ui_core.h b/src/ui/ui_core.h index 1e8268f2..1de3c85c 100644 --- a/src/ui/ui_core.h +++ b/src/ui/ui_core.h @@ -42,7 +42,7 @@ Struct(UI_Size) x(TextColor, u32) \ x(Tint, u32) \ x(Border, f32) \ - x(Font, Resource) \ + x(Font, ResourceKey) \ x(FontSize, u32) \ x(TextPadding, f32) \ x(Rounding, f32) \ @@ -125,7 +125,7 @@ Struct(UI_Box) f32 text_padding; f32 rounding; - Resource font_resource; + ResourceKey font_resource; f32 font_size; //- Layout data @@ -196,7 +196,7 @@ void UI_Startup(void); //////////////////////////////////////////////////////////// //~ Font helpers -Resource UI_GetDefaultFontResource(void); +ResourceKey UI_GetDefaultFontResource(void); //////////////////////////////////////////////////////////// //~ Key helpers