Kohi Game Engine
resource_types.h
Go to the documentation of this file.
1 
12 #pragma once
13 
14 #include "identifiers/identifier.h"
16 #include "math/math_types.h"
17 
18 #include <core_render_types.h>
19 
20 #define TERRAIN_MAX_MATERIAL_COUNT 4
21 
23 typedef enum resource_type {
49 
51 #define RESOURCE_MAGIC 0xcafebabe
52 
56 typedef struct resource_header {
66 
71 typedef struct resource {
75  const char* name;
77  char* full_path;
81  void* data;
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
unsigned short u16
Unsigned 16-bit integer.
Definition: defines.h:22
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
unsigned char u8
Unsigned 8-bit integer.
Definition: defines.h:19
Contains a system for creating numeric identifiers.
Contains various math types required for the engine.
struct resource resource
A generic structure for a resource. All resource loaders load data into these.
resource_type
Pre-defined resource types.
Definition: resource_types.h:23
@ RESOURCE_TYPE_MATERIAL
Material resource type.
Definition: resource_types.h:31
@ RESOURCE_TYPE_TERRAIN
Terrain resource type.
Definition: resource_types.h:43
@ RESOURCE_TYPE_scene
Simple scene resource type.
Definition: resource_types.h:41
@ RESOURCE_TYPE_AUDIO
Audio resource type.
Definition: resource_types.h:45
@ RESOURCE_TYPE_BINARY
Binary resource type.
Definition: resource_types.h:27
@ RESOURCE_TYPE_SHADER
Shader resource type (or more accurately shader config).
Definition: resource_types.h:33
@ RESOURCE_TYPE_BITMAP_FONT
Bitmap font resource type.
Definition: resource_types.h:37
@ RESOURCE_TYPE_SYSTEM_FONT
System font resource type.
Definition: resource_types.h:39
@ RESOURCE_TYPE_CUSTOM
Custom resource type. Used by loaders outside the core engine.
Definition: resource_types.h:47
@ RESOURCE_TYPE_IMAGE
Image resource type.
Definition: resource_types.h:29
@ RESOURCE_TYPE_MESH
Mesh resource type (collection of geometry configs).
Definition: resource_types.h:35
@ RESOURCE_TYPE_TEXT
Text resource type.
Definition: resource_types.h:25
struct resource_header resource_header
The header data for binary resource types.
The header data for binary resource types.
Definition: resource_types.h:56
u16 reserved
Reserved for future header data..
Definition: resource_types.h:64
u32 magic_number
A magic number indicating the file as a kohi binary file.
Definition: resource_types.h:58
u8 version
The format version this resource uses.
Definition: resource_types.h:62
u8 resource_type
The resource type. Maps to the enum resource_type.
Definition: resource_types.h:60
A generic structure for a resource. All resource loaders load data into these.
Definition: resource_types.h:71
u64 data_size
The size of the resource data in bytes.
Definition: resource_types.h:79
void * data
The resource data.
Definition: resource_types.h:81
u32 loader_id
The identifier of the loader which handles this resource.
Definition: resource_types.h:73
const char * name
The name of the resource.
Definition: resource_types.h:75
char * full_path
The full file path of the resource.
Definition: resource_types.h:77