rename Resource -> ResourceKey

This commit is contained in:
jacob 2025-10-24 07:32:28 -05:00
parent fc9aff7f06
commit a6f31e4fae
17 changed files with 78 additions and 78 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -112,7 +112,7 @@ void TrueRand(String buffer)
////////////////////////////////////////////////////////////
//~ Swap hooks
b32 IsSwappingIn(void)
b32 IsSwappedIn(void)
{
return HotSwappingIsEnabled;
}

View File

@ -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);

View File

@ -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

View File

@ -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)
{

View File

@ -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);

View File

@ -247,7 +247,7 @@ Struct(Entity)
//- Sprite
Resource sprite;
ResourceKey sprite;
String sprite_span_name;
u32 sprite_tint;
Vec3 sprite_emittance;

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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"));
}
////////////////////////////////////////////////////////////

View File

@ -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