mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-16 22:31:26 -07:00
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:
@@ -1,6 +1,64 @@
|
||||
// Copyright (c) 2024 Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Meta Evaluation Type Information
|
||||
|
||||
@table(name info_type eval_type dynamic)
|
||||
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 }
|
||||
}
|
||||
|
||||
@enum CTRL_MetaEvalDynamicKind:
|
||||
{
|
||||
Null,
|
||||
String8,
|
||||
COUNT
|
||||
}
|
||||
|
||||
@struct CTRL_MetaEvalInfo:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `$(a.info_type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct CTRL_MetaEval:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `$(a.eval_type) $(a.name)`
|
||||
}
|
||||
|
||||
@data(String8) ctrl_meta_eval_member_name_table:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `str8_lit_comp("$(a.name)")`
|
||||
}
|
||||
|
||||
@data(Rng1U64) ctrl_meta_eval_info_member_range_table:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `{OffsetOf(CTRL_MetaEvalInfo, $(a.name)), OffsetOf(CTRL_MetaEvalInfo, $(a.name)) + sizeof($(a.info_type))}`
|
||||
}
|
||||
|
||||
@data(Rng1U64) ctrl_meta_eval_member_range_table:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `{OffsetOf(CTRL_MetaEval, $(a.name)), OffsetOf(CTRL_MetaEval, $(a.name)) + sizeof($(a.eval_type))}`
|
||||
}
|
||||
|
||||
@data(E_TypeKind) ctrl_meta_eval_member_type_kind_table:
|
||||
{
|
||||
@expand(CTRL_MetaEvalMemberTable a) `E_TypeKind_$(a.eval_type)`
|
||||
}
|
||||
|
||||
@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')`
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Kinds
|
||||
|
||||
|
||||
Reference in New Issue
Block a user