24 struct platform_state;
29 struct timeline_state;
30 struct resource_state;
31 struct shader_system_state;
32 struct renderer_system_state;
33 struct job_system_state;
34 struct kaudio_system_state;
35 struct xform_system_state;
36 struct texture_system_state;
37 struct font_system_state;
38 struct material_system_state;
39 struct static_mesh_system_state;
40 struct light_system_state;
41 struct camera_system_state;
42 struct plugin_system_state;
43 struct rendergraph_system_state;
44 struct asset_system_state;
This file contains global type definitions which are used throughout the entire engine and applicatio...
#define KAPI
Import/export qualifier.
Definition: defines.h:205
_Bool b8
8-bit boolean type
Definition: defines.h:58
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
KAPI const engine_system_states * engine_systems_get(void)
Obtains a constant pointer to the collection of system states from the engine.
KAPI b8 engine_create(struct application *app)
Creates the engine, standing up the platform layer and all underlying subsystems.
KAPI b8 engine_run(struct application *app)
Starts the main engine loop.
void engine_on_event_system_initialized(void)
A callback made when the event system is initialized, which internally allows the engine to begin lis...
KAPI struct kwindow * engine_active_window_get(void)
struct engine_system_states engine_system_states
KAPI void * engine_external_system_state_get(khandle system_handle)
KAPI khandle engine_external_system_register(u64 system_state_memory_requirement)
KAPI const struct frame_data * engine_frame_data_get(void)
Obtains a constant pointer to the current frame data.
A global handle system for Kohi. Handles are used to obtain various resources using a unique handle i...
Represents the basic application state in a application. Called for creation by the application.
Definition: application_types.h:46
struct vfs_state * vfs_system_state
Definition: engine.h:107
u64 platform_memory_requirement
Definition: engine.h:49
u64 input_system_memory_requirement
Definition: engine.h:61
u64 xform_system_memory_requirement
Definition: engine.h:79
u64 material_system_memory_requirement
Definition: engine.h:88
struct texture_system_state * texture_system
Definition: engine.h:83
u64 timeline_system_memory_requirement
Definition: engine.h:64
u64 renderer_system_memory_requirement
Definition: engine.h:70
struct console_state * console_system
Definition: engine.h:53
struct kresource_system_state * kresource_state
Definition: engine.h:113
struct kaudio_system_state * audio_system
Definition: engine.h:77
struct static_mesh_system_state * static_mesh_system
Definition: engine.h:92
struct platform_state * platform_system
Definition: engine.h:50
u64 plugin_system_memory_requirement
Definition: engine.h:100
struct font_system_state * font_system
Definition: engine.h:86
struct camera_system_state * camera_system
Definition: engine.h:98
struct renderer_system_state * renderer_system
Definition: engine.h:71
struct event_state * event_system
Definition: engine.h:59
struct shader_system_state * shader_system
Definition: engine.h:68
u64 font_system_memory_requirement
Definition: engine.h:85
struct xform_system_state * xform_system
Definition: engine.h:80
struct timeline_system_state * timeline_system
Definition: engine.h:65
u64 kresource_system_memory_requirement
Definition: engine.h:112
u64 static_mesh_system_memory_requirement
Definition: engine.h:91
u64 light_system_memory_requirement
Definition: engine.h:94
u64 event_system_memory_requirement
Definition: engine.h:58
u64 texture_system_memory_requirement
Definition: engine.h:82
struct kvar_state * kvar_system
Definition: engine.h:56
u64 vfs_system_memory_requirement
Definition: engine.h:106
u64 asset_system_memory_requirement
Definition: engine.h:109
struct asset_system_state * asset_state
Definition: engine.h:110
struct material_system_state * material_system
Definition: engine.h:89
u64 kaudio_system_memory_requirement
Definition: engine.h:76
struct light_system_state * light_system
Definition: engine.h:95
struct rendergraph_system_state * rendergraph_system
Definition: engine.h:104
u64 console_memory_requirement
Definition: engine.h:52
struct plugin_system_state * plugin_system
Definition: engine.h:101
u64 rendergraph_system_memory_requirement
Definition: engine.h:103
u64 camera_system_memory_requirement
Definition: engine.h:97
u64 job_system_memory_requirement
Definition: engine.h:73
u64 kvar_system_memory_requirement
Definition: engine.h:55
struct input_state * input_system
Definition: engine.h:62
u64 shader_system_memory_requirement
Definition: engine.h:67
struct job_system_state * job_system
Definition: engine.h:74
Engine-level current frame-specific data.
Definition: frame_data.h:11
A handle is a unique identifier used a system in the engine to avoid using raw pointers where possibl...
Definition: khandle.h:25
Represents a window in the application.
Definition: platform.h:69
Contains the Virtual File System (VFS), which sits atop the packaging layer and OS file I/O layer.