Gaia-ECS v0.9.3
A simple and powerful entity component system
Loading...
Searching...
No Matches
config.h
1#pragma once
2#include "gaia/config/config_core.h"
3#include "gaia/config/version.h"
4
5//------------------------------------------------------------------------------
6// General settings.
7// You are free to modify these.
8//------------------------------------------------------------------------------
9
11#if !defined(GAIA_FORCE_DEBUG)
12 #define GAIA_FORCE_DEBUG 0
13#endif
15#if !defined(GAIA_DISABLE_ASSERTS)
16 #define GAIA_DISABLE_ASSERTS 0
17#endif
18
19//------------------------------------------------------------------------------
20// Internal features.
21// You are free to modify these but you probably should not.
22// It is expected to only use them when something doesn't work as expected
23// or as some sort of workaround.
24//------------------------------------------------------------------------------
25
27#ifndef GAIA_ECS_CHUNK_ALLOCATOR
28 #define GAIA_ECS_CHUNK_ALLOCATOR 1
29#endif
30
32#ifndef GAIA_ECS_HASH
33 #define GAIA_ECS_HASH GAIA_ECS_HASH_MURMUR2A
34#endif
35
37#ifndef GAIA_USE_PREFETCH
38 #define GAIA_USE_PREFETCH 1
39#endif
40
43#ifndef GAIA_FUNC_WRAPPER_SMALLBLOCK
44 #define GAIA_FUNC_WRAPPER_SMALLBLOCK 1
45#endif
46
48#ifndef GAIA_SYSTEMS_ENABLED
49 #define GAIA_SYSTEMS_ENABLED 1
50#endif
51
53#ifndef GAIA_OBSERVERS_ENABLED
54 #define GAIA_OBSERVERS_ENABLED 1
55#endif
56
59#ifndef GAIA_ENABLE_HOOKS
60 #define GAIA_ENABLE_HOOKS 1
61#endif
62#ifndef GAIA_ENABLE_ADD_DEL_HOOKS
63 #define GAIA_ENABLE_ADD_DEL_HOOKS (GAIA_ENABLE_HOOKS && 1)
64#else
65// If GAIA_ENABLE_ADD_DEL_HOOKS is defined and GAIA_ENABLE_HOOKS is not, unset it
66 #ifndef GAIA_ENABLE_HOOKS
67 #undef GAIA_ENABLE_ADD_DEL_HOOKS
68 #define GAIA_ENABLE_ADD_DEL_HOOKS 0
69 #endif
70#endif
71#ifndef GAIA_ENABLE_SET_HOOKS
72 #define GAIA_ENABLE_SET_HOOKS (GAIA_ENABLE_HOOKS && 1)
73#else
74// If GAIA_ENABLE_SET_HOOKS is defined and GAIA_ENABLE_HOOKS is not, unset it
75 #ifndef GAIA_ENABLE_HOOKS
76 #undef GAIA_ENABLE_SET_HOOKS
77 #define GAIA_ENABLE_SET_HOOKS 0
78 #endif
79#endif
80
83#ifndef GAIA_USE_SAFE_ENTITY
84 #define GAIA_USE_SAFE_ENTITY 1
85#endif
86
89#ifndef GAIA_USE_WEAK_ENTITY
90 #define GAIA_USE_WEAK_ENTITY 1
91#endif
92
101#ifndef GAIA_USE_PARTITIONED_BLOOM_FILTER
102 #define GAIA_USE_PARTITIONED_BLOOM_FILTER 1
103#endif
104
106#ifndef GAIA_ECS_AUTO_COMPONENT_FIELDS
107 #define GAIA_ECS_AUTO_COMPONENT_FIELDS 0
108#endif
109
113#ifndef GAIA_ECS_AUTO_COMPONENT_REGISTRATION
114 #define GAIA_ECS_AUTO_COMPONENT_REGISTRATION 1
115#endif
116
117//------------------------------------------------------------------------------
118
119#include "gaia/config/config_core_end.h"