mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-31 11:20:03 +00:00
eliminate ad-hoc meta eval info type tables; switch to base layer meta type info; do first pass of shifting serialization of meta evals to meta type info driven system
This commit is contained in:
@@ -1,72 +1,6 @@
|
||||
// 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_kind)
|
||||
CTRL_MetaEvalMemberTable:
|
||||
{
|
||||
{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
|
||||
}
|
||||
|
||||
@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_kind != '' -> 'CTRL_MetaEvalDynamicKind_'..a.dynamic_kind)$(a.dynamic_kind == '' -> 'CTRL_MetaEvalDynamicKind_Null')`
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Kinds
|
||||
|
||||
|
||||
Reference in New Issue
Block a user