//////////////////////////////////////////////////////////// //~ Resource types Struct(ResourceEntry) { ResourceEntry *next; ResourceEntry *next_in_bin; u64 hash; String name; String data; }; Struct(ResourceEntryBin) { ResourceEntry *first; ResourceEntry *last; }; Struct(ResourceCtx) { u64 entries_count; ResourceEntry *first_entry; ResourceEntry *last_entry; ResourceEntryBin bins[4096]; }; //////////////////////////////////////////////////////////// //~ Bootstrap void BootstrapResources(u64 archive_strings_count, String *archive_strings); //////////////////////////////////////////////////////////// //~ Resource ops //- Helpers b32 IsResourceNil(ResourceKey resource); ResourceKey ResourceKeyFromStore(ResourceStore *store, String name); ResourceEntry *ResourceEntryFromHash(u64 hash); //- Data lookup String DataFromResource(ResourceKey resource); String NameFromResource(ResourceKey resource);