Gaia-ECS v1.0.0
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
50#ifndef GAIA_ALLOC_ARENA_LOCK
51 #define GAIA_ALLOC_ARENA_LOCK 0
52#endif
53
55#ifndef GAIA_SYSTEMS_ENABLED
56 #define GAIA_SYSTEMS_ENABLED 1
57#endif
58
60#ifndef GAIA_JSON_ENABLED
61 #define GAIA_JSON_ENABLED 1
62#endif
63
65#ifndef GAIA_OBSERVERS_ENABLED
66 #define GAIA_OBSERVERS_ENABLED 1
67#endif
68
71#ifndef GAIA_ENABLE_HOOKS
72 #define GAIA_ENABLE_HOOKS 1
73#endif
74#ifndef GAIA_ENABLE_ADD_DEL_HOOKS
75 #define GAIA_ENABLE_ADD_DEL_HOOKS (GAIA_ENABLE_HOOKS && 1)
76#else
77// If GAIA_ENABLE_ADD_DEL_HOOKS is defined and GAIA_ENABLE_HOOKS is not, unset it
78 #ifndef GAIA_ENABLE_HOOKS
79 #undef GAIA_ENABLE_ADD_DEL_HOOKS
80 #define GAIA_ENABLE_ADD_DEL_HOOKS 0
81 #endif
82#endif
83#ifndef GAIA_ENABLE_SET_HOOKS
84 #define GAIA_ENABLE_SET_HOOKS (GAIA_ENABLE_HOOKS && 1)
85#else
86// If GAIA_ENABLE_SET_HOOKS is defined and GAIA_ENABLE_HOOKS is not, unset it
87 #ifndef GAIA_ENABLE_HOOKS
88 #undef GAIA_ENABLE_SET_HOOKS
89 #define GAIA_ENABLE_SET_HOOKS 0
90 #endif
91#endif
92
95#ifndef GAIA_USE_SAFE_ENTITY
96 #define GAIA_USE_SAFE_ENTITY 1
97#endif
98
101#ifndef GAIA_USE_WEAK_ENTITY
102 #define GAIA_USE_WEAK_ENTITY 1
103#endif
104
113#ifndef GAIA_USE_PARTITIONED_BLOOM_FILTER
114 #define GAIA_USE_PARTITIONED_BLOOM_FILTER 0
115#endif
116
118#ifndef GAIA_ECS_AUTO_COMPONENT_FIELDS
119 #define GAIA_ECS_AUTO_COMPONENT_FIELDS 0
120#endif
121
125#ifndef GAIA_ECS_AUTO_COMPONENT_REGISTRATION
126 #define GAIA_ECS_AUTO_COMPONENT_REGISTRATION 1
127#endif
128
129//------------------------------------------------------------------------------
130
131#include "gaia/config/config_core_end.h"