Kohi Game Engine
|
This files contains the implementation of the asset system, which is responsible for managing the lifecycle of assets. More...
Go to the source code of this file.
Data Structures | |
struct | asset_system_config |
Macros | |
#define | asset_system_watch_for_reload(state, type, asset_name, package_name) |
#define | asset_system_stop_watch(state, watch_id) |
Typedefs | |
typedef struct asset_system_config | asset_system_config |
typedef void(* | PFN_kasset_binary_loaded_callback) (void *listener, kasset_binary *asset) |
typedef void(* | PFN_kasset_image_loaded_callback) (void *listener, kasset_image *asset) |
typedef void(* | PFN_kasset_static_mesh_loaded_callback) (void *listener, kasset_static_mesh *asset) |
typedef void(* | PFN_kasset_heightmap_terrain_loaded_callback) (void *listener, kasset_heightmap_terrain *asset) |
typedef void(* | PFN_kasset_material_loaded_callback) (void *listener, kasset_material *asset) |
typedef void(* | PFN_kasset_audio_loaded_callback) (void *listener, kasset_audio *asset) |
Functions | |
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. More... | |
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 config) and a second time passing along the state and config once allocated. More... | |
KAPI void | asset_system_shutdown (struct asset_system_state *state) |
Shuts the system down. More... | |
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_binary * | asset_system_request_binary_sync (struct asset_system_state *state, const char *name) |
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_binary * | asset_system_request_binary_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_text * | asset_system_request_text_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 void | asset_system_release_text (struct asset_system_state *state, kasset_text *asset) |
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_image * | asset_system_request_image_sync (struct asset_system_state *state, const char *name) |
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 kasset_image * | asset_system_request_image_from_package_sync (struct asset_system_state *state, const char *package_name, const char *name) |
KAPI void | asset_system_release_image (struct asset_system_state *state, kasset_image *asset) |
KAPI kasset_bitmap_font * | asset_system_request_bitmap_font_sync (struct asset_system_state *state, const char *name) |
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 void | asset_system_release_bitmap_font (struct asset_system_state *state, kasset_bitmap_font *asset) |
KAPI kasset_system_font * | asset_system_request_system_font_sync (struct asset_system_state *state, 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 void | asset_system_release_system_font (struct asset_system_state *state, kasset_system_font *asset) |
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 kasset_static_mesh * | asset_system_request_static_mesh_sync (struct asset_system_state *state, const char *name) |
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) |
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_static_mesh (struct asset_system_state *state, kasset_static_mesh *asset) |
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) |
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 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_heightmap_terrain (struct asset_system_state *state, kasset_heightmap_terrain *asset) |
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_material * | asset_system_terrain_request_material_sync (struct asset_system_state *state, const char *name) |
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_material * | asset_system_request_material_from_package_sync (struct asset_system_state *state, const char *package_name, const char *name) |
KAPI void | asset_system_release_material (struct asset_system_state *state, kasset_material *asset) |
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_audio * | asset_system_terrain_request_audio_sync (struct asset_system_state *state, const char *name) |
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_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_scene * | asset_system_request_scene_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_scene (struct asset_system_state *state, kasset_scene *asset) |
KAPI kasset_shader * | asset_system_terrain_request_shader_sync (struct asset_system_state *state, const char *name) |
KAPI kasset_shader * | asset_system_request_shader_from_package_sync (struct asset_system_state *state, const char *package_name, const char *name) |
KAPI void | asset_system_release_shader (struct asset_system_state *state, kasset_shader *asset) |
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) |
This files contains the implementation of the asset system, which is responsible for managing the lifecycle of assets.
#define asset_system_stop_watch | ( | state, | |
watch_id | |||
) |
#define asset_system_watch_for_reload | ( | state, | |
type, | |||
asset_name, | |||
package_name | |||
) |
typedef struct asset_system_config asset_system_config |
typedef void(* PFN_kasset_audio_loaded_callback) (void *listener, kasset_audio *asset) |
typedef void(* PFN_kasset_binary_loaded_callback) (void *listener, kasset_binary *asset) |
typedef void(* PFN_kasset_heightmap_terrain_loaded_callback) (void *listener, kasset_heightmap_terrain *asset) |
typedef void(* PFN_kasset_image_loaded_callback) (void *listener, kasset_image *asset) |
typedef void(* PFN_kasset_material_loaded_callback) (void *listener, kasset_material *asset) |
typedef void(* PFN_kasset_static_mesh_loaded_callback) (void *listener, kasset_static_mesh *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.
config_str | The string to deserialize. |
out_config | A pointer to hold the deserialized config. |
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 config) and a second time passing along the state and config once allocated.
memory_requirement | A pointer to hold the numeric amount of bytes needed for the state. Required. |
state | A pointer to the state. Pass 0 when getting memory requirement, otherwise pass the block of allocated memory. |
config | A constant pointer to the configuration of the system. Ignored when getting memory requirement. |
KAPI void asset_system_release_audio | ( | struct asset_system_state * | state, |
kasset_audio * | asset | ||
) |
KAPI void asset_system_release_binary | ( | struct asset_system_state * | state, |
kasset_binary * | asset | ||
) |
KAPI void asset_system_release_bitmap_font | ( | struct asset_system_state * | state, |
kasset_bitmap_font * | asset | ||
) |
KAPI void asset_system_release_heightmap_terrain | ( | struct asset_system_state * | state, |
kasset_heightmap_terrain * | asset | ||
) |
KAPI void asset_system_release_image | ( | struct asset_system_state * | state, |
kasset_image * | asset | ||
) |
KAPI void asset_system_release_material | ( | struct asset_system_state * | state, |
kasset_material * | asset | ||
) |
KAPI void asset_system_release_scene | ( | struct asset_system_state * | state, |
kasset_scene * | asset | ||
) |
KAPI void asset_system_release_shader | ( | struct asset_system_state * | state, |
kasset_shader * | asset | ||
) |
KAPI void asset_system_release_static_mesh | ( | struct asset_system_state * | state, |
kasset_static_mesh * | asset | ||
) |
KAPI void asset_system_release_system_font | ( | struct asset_system_state * | state, |
kasset_system_font * | asset | ||
) |
KAPI void asset_system_release_text | ( | struct asset_system_state * | state, |
kasset_text * | asset | ||
) |
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_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_audio* asset_system_request_audio_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_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_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_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
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_bitmap_font* asset_system_request_bitmap_font_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
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_from_package | ( | struct asset_system_state * | state, |
const char * | package_name, | ||
const char * | name, | ||
void * | listener, | ||
PFN_kasset_heightmap_terrain_loaded_callback | callback | ||
) |
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 kasset_heightmap_terrain* asset_system_request_heightmap_terrain_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_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 kasset_image* asset_system_request_image_from_package_sync | ( | struct asset_system_state * | state, |
const char * | package_name, | ||
const char * | name | ||
) |
KAPI kasset_image* asset_system_request_image_sync | ( | struct asset_system_state * | state, |
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_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_material* asset_system_request_material_from_package_sync | ( | struct asset_system_state * | state, |
const char * | package_name, | ||
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 kasset_scene* asset_system_request_scene_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
KAPI kasset_shader* asset_system_request_shader_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 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 | ||
) |
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 kasset_static_mesh* asset_system_request_static_mesh_sync | ( | struct asset_system_state * | state, |
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_system_font* asset_system_request_system_font_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_text* asset_system_request_text_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
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_shutdown | ( | struct asset_system_state * | state | ) |
Shuts the system down.
state | A pointer to the state. Required. |
KAPI kasset_audio* asset_system_terrain_request_audio_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
KAPI kasset_material* asset_system_terrain_request_material_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |
KAPI kasset_shader* asset_system_terrain_request_shader_sync | ( | struct asset_system_state * | state, |
const char * | name | ||
) |