generate meta tables for meta evaluations; use to table-drive ctrl msg serialization, deserialization, meta eval type info generation, and info <-> serialized eval path

This commit is contained in:
Ryan Fleury
2024-09-17 15:43:39 -07:00
parent 3de6331a8e
commit 85a07be1ac
13 changed files with 267 additions and 57 deletions
+60
View File
@@ -4,6 +4,66 @@
//- GENERATED CODE
C_LINKAGE_BEGIN
String8 ctrl_meta_eval_member_name_table[8] =
{
str8_lit_comp("enabled"),
str8_lit_comp("frozen"),
str8_lit_comp("hit_count"),
str8_lit_comp("id"),
str8_lit_comp("color"),
str8_lit_comp("label"),
str8_lit_comp("location"),
str8_lit_comp("condition"),
};
Rng1U64 ctrl_meta_eval_info_member_range_table[8] =
{
{OffsetOf(CTRL_MetaEvalInfo, enabled), OffsetOf(CTRL_MetaEvalInfo, enabled) + sizeof(S32)},
{OffsetOf(CTRL_MetaEvalInfo, frozen), OffsetOf(CTRL_MetaEvalInfo, frozen) + sizeof(S32)},
{OffsetOf(CTRL_MetaEvalInfo, hit_count), OffsetOf(CTRL_MetaEvalInfo, hit_count) + sizeof(U64)},
{OffsetOf(CTRL_MetaEvalInfo, id), OffsetOf(CTRL_MetaEvalInfo, id) + sizeof(U64)},
{OffsetOf(CTRL_MetaEvalInfo, color), OffsetOf(CTRL_MetaEvalInfo, color) + sizeof(U32)},
{OffsetOf(CTRL_MetaEvalInfo, label), OffsetOf(CTRL_MetaEvalInfo, label) + sizeof(String8)},
{OffsetOf(CTRL_MetaEvalInfo, location), OffsetOf(CTRL_MetaEvalInfo, location) + sizeof(String8)},
{OffsetOf(CTRL_MetaEvalInfo, condition), OffsetOf(CTRL_MetaEvalInfo, condition) + sizeof(String8)},
};
Rng1U64 ctrl_meta_eval_member_range_table[8] =
{
{OffsetOf(CTRL_MetaEval, enabled), OffsetOf(CTRL_MetaEval, enabled) + sizeof(S32)},
{OffsetOf(CTRL_MetaEval, frozen), OffsetOf(CTRL_MetaEval, frozen) + sizeof(S32)},
{OffsetOf(CTRL_MetaEval, hit_count), OffsetOf(CTRL_MetaEval, hit_count) + sizeof(U64)},
{OffsetOf(CTRL_MetaEval, id), OffsetOf(CTRL_MetaEval, id) + sizeof(U64)},
{OffsetOf(CTRL_MetaEval, color), OffsetOf(CTRL_MetaEval, color) + sizeof(U32)},
{OffsetOf(CTRL_MetaEval, label), OffsetOf(CTRL_MetaEval, label) + sizeof(U64)},
{OffsetOf(CTRL_MetaEval, location), OffsetOf(CTRL_MetaEval, location) + sizeof(U64)},
{OffsetOf(CTRL_MetaEval, condition), OffsetOf(CTRL_MetaEval, condition) + sizeof(U64)},
};
E_TypeKind ctrl_meta_eval_member_type_kind_table[8] =
{
E_TypeKind_S32,
E_TypeKind_S32,
E_TypeKind_U64,
E_TypeKind_U64,
E_TypeKind_U32,
E_TypeKind_U64,
E_TypeKind_U64,
E_TypeKind_U64,
};
CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[8] =
{
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_String8,
CTRL_MetaEvalDynamicKind_String8,
CTRL_MetaEvalDynamicKind_String8,
};
String8 ctrl_entity_kind_display_string_table[8] =
{
{0},
+38
View File
@@ -6,6 +6,13 @@
#ifndef CTRL_META_H
#define CTRL_META_H
typedef enum CTRL_MetaEvalDynamicKind
{
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_String8,
CTRL_MetaEvalDynamicKind_COUNT,
} CTRL_MetaEvalDynamicKind;
typedef enum CTRL_EntityKind
{
CTRL_EntityKind_Null,
@@ -62,7 +69,38 @@ CTRL_ExceptionCodeKind_Win32DirectXDebugLayer,
CTRL_ExceptionCodeKind_COUNT,
} CTRL_ExceptionCodeKind;
typedef struct CTRL_MetaEvalInfo CTRL_MetaEvalInfo;
struct CTRL_MetaEvalInfo
{
S32 enabled;
S32 frozen;
U64 hit_count;
U64 id;
U32 color;
String8 label;
String8 location;
String8 condition;
};
typedef struct CTRL_MetaEval CTRL_MetaEval;
struct CTRL_MetaEval
{
S32 enabled;
S32 frozen;
U64 hit_count;
U64 id;
U32 color;
U64 label;
U64 location;
U64 condition;
};
C_LINKAGE_BEGIN
extern String8 ctrl_meta_eval_member_name_table[8];
extern Rng1U64 ctrl_meta_eval_info_member_range_table[8];
extern Rng1U64 ctrl_meta_eval_member_range_table[8];
extern E_TypeKind ctrl_meta_eval_member_type_kind_table[8];
extern CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[8];
extern String8 ctrl_entity_kind_display_string_table[8];
extern U32 ctrl_exception_code_kind_code_table[38];
extern String8 ctrl_exception_code_kind_display_string_table[38];