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 ktransform_system_state;
36 struct texture_system_state;
37 struct font_system_state;
38 struct kmaterial_system_state;
39 struct static_mesh_system_state;
42 struct camera_system_state;
43 struct plugin_system_state;
44 struct rendergraph_system_state;
45 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:209
_Bool b8
8-bit boolean type
Definition: defines.h:60
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:30
KAPI const engine_system_states * engine_systems_get(void)
Obtains a constant pointer to the collection of system states from the engine.
KAPI struct application * engine_app_state_get(void)
KAPI b8 engine_create(struct application *app, const char *app_config_path, const char *game_lib_name)
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
u64 model_system_memory_requirement
Definition: engine.h:99
struct vfs_state * vfs_system_state
Definition: engine.h:112
u64 platform_memory_requirement
Definition: engine.h:50
u64 input_system_memory_requirement
Definition: engine.h:62
u64 material_system_memory_requirement
Definition: engine.h:89
struct texture_system_state * texture_system
Definition: engine.h:84
u64 timeline_system_memory_requirement
Definition: engine.h:65
u64 renderer_system_memory_requirement
Definition: engine.h:71
struct console_state * console_system
Definition: engine.h:54
struct kmaterial_system_state * material_system
Definition: engine.h:90
struct kaudio_system_state * audio_system
Definition: engine.h:78
struct ktransform_system_state * ktransform_system
Definition: engine.h:81
struct static_mesh_system_state * static_mesh_system
Definition: engine.h:94
struct platform_state * platform_system
Definition: engine.h:51
u64 plugin_system_memory_requirement
Definition: engine.h:105
struct font_system_state * font_system
Definition: engine.h:87
struct camera_system_state * camera_system
Definition: engine.h:103
struct renderer_system_state * renderer_system
Definition: engine.h:72
struct event_state * event_system
Definition: engine.h:60
struct shader_system_state * shader_system
Definition: engine.h:69
u64 font_system_memory_requirement
Definition: engine.h:86
u64 static_mesh_system_memory_requirement
Definition: engine.h:93
struct ktimeline_system_state * timeline_system
Definition: engine.h:66
u64 light_system_memory_requirement
Definition: engine.h:96
u64 event_system_memory_requirement
Definition: engine.h:59
u64 texture_system_memory_requirement
Definition: engine.h:83
struct kvar_state * kvar_system
Definition: engine.h:57
struct kmaterial_renderer * material_renderer
Definition: engine.h:91
u64 vfs_system_memory_requirement
Definition: engine.h:111
u64 asset_system_memory_requirement
Definition: engine.h:114
struct asset_system_state * asset_state
Definition: engine.h:115
u64 kaudio_system_memory_requirement
Definition: engine.h:77
struct light_system_state * light_system
Definition: engine.h:97
struct rendergraph_system_state * rendergraph_system
Definition: engine.h:109
u64 console_memory_requirement
Definition: engine.h:53
struct plugin_system_state * plugin_system
Definition: engine.h:106
u64 rendergraph_system_memory_requirement
Definition: engine.h:108
u64 camera_system_memory_requirement
Definition: engine.h:102
struct kmodel_system_state * model_system
Definition: engine.h:100
u64 job_system_memory_requirement
Definition: engine.h:74
u64 kvar_system_memory_requirement
Definition: engine.h:56
struct input_state * input_system
Definition: engine.h:63
u64 ktransform_system_memory_requirement
Definition: engine.h:80
u64 shader_system_memory_requirement
Definition: engine.h:68
struct job_system_state * job_system
Definition: engine.h:75
Engine-level current frame-specific data.
Definition: frame_data.h:15
A handle is a unique identifier used a system in the engine to avoid using raw pointers where possibl...
Definition: khandle.h:25
State for the material renderer.
Definition: kmaterial_renderer.h:131
Definition: kmodel_system.h:168
Represents a window in the application.
Definition: platform.h:71
Definition: light_system.h:93
Contains the Virtual File System (VFS), which sits atop the packaging layer and OS file I/O layer.