Skip to content

Commit d97a63b

Browse files
authored
feat: invalid id macro (#245)
1 parent 82e37e2 commit d97a63b

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

ecsact/runtime/common.h

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33

44
#include <stdint.h>
55

6+
#ifdef __cplusplus
7+
# define ECSACT_DEPRECATED(Reason) [[deprecated(Reason)]]
8+
#else
9+
# define ECSACT_DEPRECATED(Reason)
10+
#endif
11+
12+
#define ECSACT_INVALID_ID(ID_TYPE) ((ecsact_##ID_TYPE##_id)(-1))
13+
614
#ifdef __cplusplus
715
# define ECSACT_TYPED_ID(name) enum class name : int32_t
816
#else
@@ -146,15 +154,21 @@ typedef void (*ecsact_system_execution_impl)(//
146154
struct ecsact_system_execution_context*
147155
);
148156

149-
static const ecsact_system_id ecsact_invalid_system_id = (ecsact_system_id)-1;
157+
ECSACT_DEPRECATED("use ECSACT_INVALID_ID(system) instead")
158+
static const ecsact_system_id ecsact_invalid_system_id =
159+
ECSACT_INVALID_ID(system);
150160

161+
ECSACT_DEPRECATED("use ECSACT_INVALID_ID(registry) instead")
151162
static const ecsact_registry_id ecsact_invalid_registry_id =
152-
(ecsact_registry_id)-1;
163+
ECSACT_INVALID_ID(registry);
153164

165+
ECSACT_DEPRECATED("use ECSACT_INVALID_ID(component) instead")
154166
static const ecsact_component_id ecsact_invalid_component_id =
155-
(ecsact_component_id)-1;
167+
ECSACT_INVALID_ID(component);
156168

157-
static const ecsact_entity_id ecsact_invalid_entity_id = (ecsact_entity_id)-1;
169+
ECSACT_DEPRECATED("use ECSACT_INVALID_ID(entity) instead")
170+
static const ecsact_entity_id ecsact_invalid_entity_id =
171+
ECSACT_INVALID_ID(entity);
158172

159173
/**
160174
* Entity is from a generator system.

0 commit comments

Comments
 (0)