mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-19 07:31:30 -07:00
base layer defined type info tables experiment - can ideally be used as a more whole solution for the ctrl meta eval info stuff
This commit is contained in:
+18
-10
@@ -4,23 +4,31 @@
|
||||
////////////////////////////////
|
||||
//~ rjf: Meta Evaluation Type Information
|
||||
|
||||
@table(name info_type eval_type dynamic)
|
||||
@table(name info_type eval_type dynamic_kind)
|
||||
CTRL_MetaEvalMemberTable:
|
||||
{
|
||||
{enabled S32 S32 }
|
||||
{frozen S32 S32 }
|
||||
{hit_count U64 U64 }
|
||||
{id U64 U64 }
|
||||
{color U32 U32 }
|
||||
{label String8 U64 x }
|
||||
{location String8 U64 x }
|
||||
{condition String8 U64 x }
|
||||
{enabled S32 S32 }
|
||||
{frozen S32 S32 }
|
||||
{hit_count U64 U64 }
|
||||
{id U64 U64 }
|
||||
{color U32 U32 }
|
||||
{label String8 U64 String8 }
|
||||
{location String8 U64 String8 }
|
||||
{condition String8 U64 String8 }
|
||||
{callstack CTRL_MetaEvalFrameArray U64 FrameArray }
|
||||
}
|
||||
|
||||
@struct CTRL_MetaEvalFrameArray:
|
||||
{
|
||||
`U64 *frames`;
|
||||
`U64 count`;
|
||||
}
|
||||
|
||||
@enum CTRL_MetaEvalDynamicKind:
|
||||
{
|
||||
Null,
|
||||
String8,
|
||||
FrameArray,
|
||||
COUNT
|
||||
}
|
||||
|
||||
@@ -56,7 +64,7 @@ CTRL_MetaEvalMemberTable:
|
||||
|
||||
@data(CTRL_MetaEvalDynamicKind) ctrl_meta_eval_member_dynamic_kind_table:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `$(a.dynamic == 'x' -> 'CTRL_MetaEvalDynamicKind_'..a.info_type)$(a.dynamic == '' -> 'CTRL_MetaEvalDynamicKind_Null')`
|
||||
@expand(CTRL_MetaEvalMemberTable a) `$(a.dynamic_kind != '' -> 'CTRL_MetaEvalDynamicKind_'..a.dynamic_kind)$(a.dynamic_kind == '' -> 'CTRL_MetaEvalDynamicKind_Null')`
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
@@ -211,6 +211,10 @@ ctrl_meta_eval_from_info(Arena *arena, CTRL_MetaEvalInfo *info)
|
||||
U64 off = (string_copy.str - (U8 *)eval);
|
||||
MemoryCopy((U8 *)eval + ctrl_meta_eval_member_range_table[idx].min, &off, sizeof(U64));
|
||||
}break;
|
||||
case CTRL_MetaEvalDynamicKind_FrameArray:
|
||||
{
|
||||
|
||||
}break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//- GENERATED CODE
|
||||
|
||||
C_LINKAGE_BEGIN
|
||||
String8 ctrl_meta_eval_member_name_table[8] =
|
||||
String8 ctrl_meta_eval_member_name_table[9] =
|
||||
{
|
||||
str8_lit_comp("enabled"),
|
||||
str8_lit_comp("frozen"),
|
||||
@@ -14,9 +14,10 @@ str8_lit_comp("color"),
|
||||
str8_lit_comp("label"),
|
||||
str8_lit_comp("location"),
|
||||
str8_lit_comp("condition"),
|
||||
str8_lit_comp("callstack"),
|
||||
};
|
||||
|
||||
Rng1U64 ctrl_meta_eval_info_member_range_table[8] =
|
||||
Rng1U64 ctrl_meta_eval_info_member_range_table[9] =
|
||||
{
|
||||
{OffsetOf(CTRL_MetaEvalInfo, enabled), OffsetOf(CTRL_MetaEvalInfo, enabled) + sizeof(S32)},
|
||||
{OffsetOf(CTRL_MetaEvalInfo, frozen), OffsetOf(CTRL_MetaEvalInfo, frozen) + sizeof(S32)},
|
||||
@@ -26,9 +27,10 @@ Rng1U64 ctrl_meta_eval_info_member_range_table[8] =
|
||||
{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)},
|
||||
{OffsetOf(CTRL_MetaEvalInfo, callstack), OffsetOf(CTRL_MetaEvalInfo, callstack) + sizeof(CTRL_MetaEvalFrameArray)},
|
||||
};
|
||||
|
||||
Rng1U64 ctrl_meta_eval_member_range_table[8] =
|
||||
Rng1U64 ctrl_meta_eval_member_range_table[9] =
|
||||
{
|
||||
{OffsetOf(CTRL_MetaEval, enabled), OffsetOf(CTRL_MetaEval, enabled) + sizeof(S32)},
|
||||
{OffsetOf(CTRL_MetaEval, frozen), OffsetOf(CTRL_MetaEval, frozen) + sizeof(S32)},
|
||||
@@ -38,9 +40,10 @@ Rng1U64 ctrl_meta_eval_member_range_table[8] =
|
||||
{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)},
|
||||
{OffsetOf(CTRL_MetaEval, callstack), OffsetOf(CTRL_MetaEval, callstack) + sizeof(U64)},
|
||||
};
|
||||
|
||||
E_TypeKind ctrl_meta_eval_member_type_kind_table[8] =
|
||||
E_TypeKind ctrl_meta_eval_member_type_kind_table[9] =
|
||||
{
|
||||
E_TypeKind_S32,
|
||||
E_TypeKind_S32,
|
||||
@@ -50,9 +53,10 @@ E_TypeKind_U32,
|
||||
E_TypeKind_U64,
|
||||
E_TypeKind_U64,
|
||||
E_TypeKind_U64,
|
||||
E_TypeKind_U64,
|
||||
};
|
||||
|
||||
CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[8] =
|
||||
CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[9] =
|
||||
{
|
||||
CTRL_MetaEvalDynamicKind_Null,
|
||||
CTRL_MetaEvalDynamicKind_Null,
|
||||
@@ -62,6 +66,7 @@ CTRL_MetaEvalDynamicKind_Null,
|
||||
CTRL_MetaEvalDynamicKind_String8,
|
||||
CTRL_MetaEvalDynamicKind_String8,
|
||||
CTRL_MetaEvalDynamicKind_String8,
|
||||
CTRL_MetaEvalDynamicKind_FrameArray,
|
||||
};
|
||||
|
||||
String8 ctrl_entity_kind_display_string_table[8] =
|
||||
|
||||
@@ -10,6 +10,7 @@ typedef enum CTRL_MetaEvalDynamicKind
|
||||
{
|
||||
CTRL_MetaEvalDynamicKind_Null,
|
||||
CTRL_MetaEvalDynamicKind_String8,
|
||||
CTRL_MetaEvalDynamicKind_FrameArray,
|
||||
CTRL_MetaEvalDynamicKind_COUNT,
|
||||
} CTRL_MetaEvalDynamicKind;
|
||||
|
||||
@@ -69,6 +70,13 @@ CTRL_ExceptionCodeKind_Win32DirectXDebugLayer,
|
||||
CTRL_ExceptionCodeKind_COUNT,
|
||||
} CTRL_ExceptionCodeKind;
|
||||
|
||||
typedef struct CTRL_MetaEvalFrameArray CTRL_MetaEvalFrameArray;
|
||||
struct CTRL_MetaEvalFrameArray
|
||||
{
|
||||
U64 *frames;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct CTRL_MetaEvalInfo CTRL_MetaEvalInfo;
|
||||
struct CTRL_MetaEvalInfo
|
||||
{
|
||||
@@ -80,6 +88,7 @@ U32 color;
|
||||
String8 label;
|
||||
String8 location;
|
||||
String8 condition;
|
||||
CTRL_MetaEvalFrameArray callstack;
|
||||
};
|
||||
|
||||
typedef struct CTRL_MetaEval CTRL_MetaEval;
|
||||
@@ -93,14 +102,15 @@ U32 color;
|
||||
U64 label;
|
||||
U64 location;
|
||||
U64 condition;
|
||||
U64 callstack;
|
||||
};
|
||||
|
||||
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_meta_eval_member_name_table[9];
|
||||
extern Rng1U64 ctrl_meta_eval_info_member_range_table[9];
|
||||
extern Rng1U64 ctrl_meta_eval_member_range_table[9];
|
||||
extern E_TypeKind ctrl_meta_eval_member_type_kind_table[9];
|
||||
extern CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[9];
|
||||
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];
|
||||
|
||||
Reference in New Issue
Block a user