27 struct asset_system_state;
58 KAPI void _asset_system_stop_watch(
struct asset_system_state* state,
u32 watch_id);
60 # define asset_system_watch_for_reload(state, type, asset_name, package_name) _asset_system_watch_for_reload(state, type, asset_name, package_name)
61 # define asset_system_stop_watch(state, watch_id) _asset_system_stop_watch(state, watch_id)
64 # define asset_system_watch_for_reload(state, type, asset_name, package_name)
65 # define asset_system_stop_watch(state, watch_id)
KAPI void asset_system_release_heightmap_terrain(struct asset_system_state *state, kasset_heightmap_terrain *asset)
KAPI kasset_scene * asset_system_request_scene_sync(struct asset_system_state *state, const char *name)
KAPI kasset_material * asset_system_request_material_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_static_mesh * asset_system_request_static_mesh(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_static_mesh_loaded_callback callback)
KAPI b8 asset_system_initialize(u64 *memory_requirement, struct asset_system_state *state, const asset_system_config *config)
Initializes the asset system. Call twice; once to get the memory requirement (pass 0 to state and con...
KAPI kasset_bitmap_font * asset_system_request_bitmap_font_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_image * asset_system_request_image_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
void(* PFN_kasset_image_loaded_callback)(void *listener, kasset_image *asset)
Definition: asset_system.h:99
KAPI void asset_system_release_text(struct asset_system_state *state, kasset_text *asset)
KAPI kasset_material * asset_system_request_material_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_material_loaded_callback callback)
KAPI kasset_audio * asset_system_request_audio(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_audio_loaded_callback callback)
KAPI kasset_heightmap_terrain * asset_system_request_heightmap_terrain_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_heightmap_terrain_loaded_callback callback)
KAPI void asset_system_shutdown(struct asset_system_state *state)
Shuts the system down.
KAPI void asset_system_release_shader(struct asset_system_state *state, kasset_shader *asset)
void(* PFN_kasset_heightmap_terrain_loaded_callback)(void *listener, kasset_heightmap_terrain *asset)
Definition: asset_system.h:155
KAPI kasset_audio * asset_system_request_audio_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_audio_loaded_callback callback)
KAPI kasset_static_mesh * asset_system_request_static_mesh_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_static_mesh_loaded_callback callback)
void(* PFN_kasset_audio_loaded_callback)(void *listener, kasset_audio *asset)
Definition: asset_system.h:189
KAPI kasset_shader * asset_system_terrain_request_shader_sync(struct asset_system_state *state, const char *name)
KAPI kasset_text * asset_system_request_text_sync(struct asset_system_state *state, const char *name)
KAPI kasset_image * asset_system_request_image(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_image_loaded_callback callback)
KAPI kasset_bitmap_font * asset_system_request_bitmap_font_sync(struct asset_system_state *state, const char *name)
KAPI kasset_static_mesh * asset_system_request_static_mesh_sync(struct asset_system_state *state, const char *name)
KAPI kasset_text * asset_system_request_text_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_system_font * asset_system_request_system_font_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_material * asset_system_request_material(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_material_loaded_callback callback)
KAPI kasset_binary * asset_system_request_binary_sync(struct asset_system_state *state, const char *name)
KAPI void asset_system_release_material(struct asset_system_state *state, kasset_material *asset)
KAPI b8 asset_system_deserialize_config(const char *config_str, asset_system_config *out_config)
Deserializes configuration for the asset system from the provided string.
KAPI kasset_binary * asset_system_request_binary_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_binary_loaded_callback callback)
KAPI kasset_heightmap_terrain * asset_system_request_heightmap_terrain(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_heightmap_terrain_loaded_callback callback)
KAPI kasset_heightmap_terrain * asset_system_request_heightmap_terrain_sync(struct asset_system_state *state, const char *name)
void(* PFN_kasset_material_loaded_callback)(void *listener, kasset_material *asset)
Definition: asset_system.h:172
struct asset_system_config asset_system_config
KAPI b8 asset_system_shader_watch(struct asset_system_state *state, kasset_shader *shader, const char *package_name, const char *name, u32 *out_watch_id)
KAPI void asset_system_release_system_font(struct asset_system_state *state, kasset_system_font *asset)
void(* PFN_kasset_binary_loaded_callback)(void *listener, kasset_binary *asset)
Definition: asset_system.h:72
KAPI kasset_shader * asset_system_request_shader_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_heightmap_terrain * asset_system_request_heightmap_terrain_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI void asset_system_release_scene(struct asset_system_state *state, kasset_scene *asset)
void(* PFN_kasset_static_mesh_loaded_callback)(void *listener, kasset_static_mesh *asset)
Definition: asset_system.h:138
KAPI kasset_audio * asset_system_request_audio_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI void asset_system_release_audio(struct asset_system_state *state, kasset_audio *asset)
KAPI kasset_image * asset_system_request_image_sync(struct asset_system_state *state, const char *name)
KAPI void asset_system_release_static_mesh(struct asset_system_state *state, kasset_static_mesh *asset)
KAPI kasset_image * asset_system_request_image_from_package(struct asset_system_state *state, const char *package_name, const char *name, void *listener, PFN_kasset_image_loaded_callback callback)
KAPI void asset_system_release_image(struct asset_system_state *state, kasset_image *asset)
KAPI kasset_binary * asset_system_request_binary_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI kasset_binary * asset_system_request_binary(struct asset_system_state *state, const char *name, void *listener, PFN_kasset_binary_loaded_callback callback)
KAPI kasset_audio * asset_system_terrain_request_audio_sync(struct asset_system_state *state, const char *name)
KAPI kasset_scene * asset_system_request_scene_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI void asset_system_release_binary(struct asset_system_state *state, kasset_binary *asset)
KAPI kasset_system_font * asset_system_request_system_font_sync(struct asset_system_state *state, const char *name)
KAPI kasset_static_mesh * asset_system_request_static_mesh_from_package_sync(struct asset_system_state *state, const char *package_name, const char *name)
KAPI void asset_system_release_bitmap_font(struct asset_system_state *state, kasset_bitmap_font *asset)
KAPI kasset_material * asset_system_terrain_request_material_sync(struct asset_system_state *state, const char *name)
#define KAPI
Import/export qualifier.
Definition: defines.h:205
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
_Bool b8
8-bit boolean type
Definition: defines.h:58
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
kasset_type
Definition: kasset_types.h:26
This files contains an implementation of knames.
u64 kname
A kname is a string hash made for quick comparisons versus traditional string comparisons.
Definition: kname.h:36
Definition: asset_system.h:20
kname default_package_name
Definition: asset_system.h:24
u32 max_asset_count
Definition: asset_system.h:22
Definition: kasset_types.h:449
Definition: kasset_types.h:306
Definition: kasset_types.h:432
Definition: kasset_types.h:188
Definition: kasset_types.h:200
Definition: kasset_types.h:235
Definition: kasset_types.h:321
Represents a shader asset, typically loaded from disk.
Definition: kasset_types.h:361
Represents a static mesh asset.
Definition: kasset_types.h:226
Definition: kasset_types.h:394
Definition: kasset_types.h:300