mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-18 01:52:22 -07:00
308 lines
7.4 KiB
C
308 lines
7.4 KiB
C
// Copyright (c) 2024 Epic Games Tools
|
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
|
|
|
//- GENERATED CODE
|
|
|
|
#ifndef DBG_ENGINE_META_H
|
|
#define DBG_ENGINE_META_H
|
|
|
|
typedef enum D_CfgSrc
|
|
{
|
|
D_CfgSrc_User,
|
|
D_CfgSrc_Project,
|
|
D_CfgSrc_CommandLine,
|
|
D_CfgSrc_Transient,
|
|
D_CfgSrc_COUNT,
|
|
} D_CfgSrc;
|
|
|
|
typedef enum D_EntityKind
|
|
{
|
|
D_EntityKind_Nil,
|
|
D_EntityKind_Root,
|
|
D_EntityKind_Machine,
|
|
D_EntityKind_File,
|
|
D_EntityKind_AutoViewRule,
|
|
D_EntityKind_FilePathMap,
|
|
D_EntityKind_WatchPin,
|
|
D_EntityKind_Watch,
|
|
D_EntityKind_ViewRule,
|
|
D_EntityKind_Breakpoint,
|
|
D_EntityKind_Condition,
|
|
D_EntityKind_Location,
|
|
D_EntityKind_Target,
|
|
D_EntityKind_Executable,
|
|
D_EntityKind_Arguments,
|
|
D_EntityKind_WorkingDirectory,
|
|
D_EntityKind_EntryPoint,
|
|
D_EntityKind_Window,
|
|
D_EntityKind_Panel,
|
|
D_EntityKind_View,
|
|
D_EntityKind_RecentProject,
|
|
D_EntityKind_Source,
|
|
D_EntityKind_Dest,
|
|
D_EntityKind_Process,
|
|
D_EntityKind_Thread,
|
|
D_EntityKind_Module,
|
|
D_EntityKind_PendingThreadName,
|
|
D_EntityKind_DebugInfoPath,
|
|
D_EntityKind_ConversionTask,
|
|
D_EntityKind_ConversionFail,
|
|
D_EntityKind_COUNT,
|
|
} D_EntityKind;
|
|
|
|
typedef enum D_RegSlot
|
|
{
|
|
D_RegSlot_Null,
|
|
D_RegSlot_Machine,
|
|
D_RegSlot_Module,
|
|
D_RegSlot_Process,
|
|
D_RegSlot_Thread,
|
|
D_RegSlot_Window,
|
|
D_RegSlot_Panel,
|
|
D_RegSlot_View,
|
|
D_RegSlot_PrevView,
|
|
D_RegSlot_DstPanel,
|
|
D_RegSlot_Entity,
|
|
D_RegSlot_EntityList,
|
|
D_RegSlot_UnwindCount,
|
|
D_RegSlot_InlineDepth,
|
|
D_RegSlot_FilePath,
|
|
D_RegSlot_Cursor,
|
|
D_RegSlot_Mark,
|
|
D_RegSlot_TextKey,
|
|
D_RegSlot_LangKind,
|
|
D_RegSlot_Lines,
|
|
D_RegSlot_DbgiKey,
|
|
D_RegSlot_VaddrRange,
|
|
D_RegSlot_VoffRange,
|
|
D_RegSlot_PID,
|
|
D_RegSlot_ForceConfirm,
|
|
D_RegSlot_PreferDisasm,
|
|
D_RegSlot_Dir2,
|
|
D_RegSlot_String,
|
|
D_RegSlot_ParamsTree,
|
|
D_RegSlot_COUNT,
|
|
} D_RegSlot;
|
|
|
|
typedef enum D_CmdKind
|
|
{
|
|
D_CmdKind_Null,
|
|
D_CmdKind_LaunchAndRun,
|
|
D_CmdKind_LaunchAndInit,
|
|
D_CmdKind_Kill,
|
|
D_CmdKind_KillAll,
|
|
D_CmdKind_Detach,
|
|
D_CmdKind_Continue,
|
|
D_CmdKind_StepIntoInst,
|
|
D_CmdKind_StepOverInst,
|
|
D_CmdKind_StepIntoLine,
|
|
D_CmdKind_StepOverLine,
|
|
D_CmdKind_StepOut,
|
|
D_CmdKind_Halt,
|
|
D_CmdKind_SoftHaltRefresh,
|
|
D_CmdKind_SetThreadIP,
|
|
D_CmdKind_RunToLine,
|
|
D_CmdKind_RunToAddress,
|
|
D_CmdKind_Run,
|
|
D_CmdKind_Restart,
|
|
D_CmdKind_StepInto,
|
|
D_CmdKind_StepOver,
|
|
D_CmdKind_RunToCursor,
|
|
D_CmdKind_SetNextStatement,
|
|
D_CmdKind_SelectThread,
|
|
D_CmdKind_SelectUnwind,
|
|
D_CmdKind_UpOneFrame,
|
|
D_CmdKind_DownOneFrame,
|
|
D_CmdKind_FreezeThread,
|
|
D_CmdKind_ThawThread,
|
|
D_CmdKind_FreezeProcess,
|
|
D_CmdKind_ThawProcess,
|
|
D_CmdKind_FreezeMachine,
|
|
D_CmdKind_ThawMachine,
|
|
D_CmdKind_FreezeLocalMachine,
|
|
D_CmdKind_ThawLocalMachine,
|
|
D_CmdKind_FreezeEntity,
|
|
D_CmdKind_ThawEntity,
|
|
D_CmdKind_Attach,
|
|
D_CmdKind_COUNT,
|
|
} D_CmdKind;
|
|
|
|
typedef enum D_CmdParamSlot
|
|
{
|
|
D_CmdParamSlot_Null,
|
|
D_CmdParamSlot_Window,
|
|
D_CmdParamSlot_Panel,
|
|
D_CmdParamSlot_DestPanel,
|
|
D_CmdParamSlot_PrevView,
|
|
D_CmdParamSlot_View,
|
|
D_CmdParamSlot_Entity,
|
|
D_CmdParamSlot_EntityList,
|
|
D_CmdParamSlot_String,
|
|
D_CmdParamSlot_FilePath,
|
|
D_CmdParamSlot_TextPoint,
|
|
D_CmdParamSlot_ParamsTree,
|
|
D_CmdParamSlot_OSEvent,
|
|
D_CmdParamSlot_VirtualAddr,
|
|
D_CmdParamSlot_VirtualOff,
|
|
D_CmdParamSlot_Index,
|
|
D_CmdParamSlot_ID,
|
|
D_CmdParamSlot_PreferDisassembly,
|
|
D_CmdParamSlot_ForceConfirm,
|
|
D_CmdParamSlot_Dir2,
|
|
D_CmdParamSlot_UnwindIndex,
|
|
D_CmdParamSlot_InlineDepth,
|
|
D_CmdParamSlot_COUNT,
|
|
} D_CmdParamSlot;
|
|
|
|
typedef enum D_ViewRuleKind
|
|
{
|
|
D_ViewRuleKind_Default,
|
|
D_ViewRuleKind_Array,
|
|
D_ViewRuleKind_Slice,
|
|
D_ViewRuleKind_List,
|
|
D_ViewRuleKind_ByteSwap,
|
|
D_ViewRuleKind_Cast,
|
|
D_ViewRuleKind_BaseDec,
|
|
D_ViewRuleKind_BaseBin,
|
|
D_ViewRuleKind_BaseOct,
|
|
D_ViewRuleKind_BaseHex,
|
|
D_ViewRuleKind_Only,
|
|
D_ViewRuleKind_Omit,
|
|
D_ViewRuleKind_NoAddr,
|
|
D_ViewRuleKind_Checkbox,
|
|
D_ViewRuleKind_ColorRGBA,
|
|
D_ViewRuleKind_Text,
|
|
D_ViewRuleKind_Disasm,
|
|
D_ViewRuleKind_Memory,
|
|
D_ViewRuleKind_Graph,
|
|
D_ViewRuleKind_Bitmap,
|
|
D_ViewRuleKind_Geo3D,
|
|
D_ViewRuleKind_COUNT,
|
|
} D_ViewRuleKind;
|
|
|
|
typedef struct D_Regs D_Regs;
|
|
struct D_Regs
|
|
{
|
|
D_Handle machine;
|
|
D_Handle module;
|
|
D_Handle process;
|
|
D_Handle thread;
|
|
D_Handle window;
|
|
D_Handle panel;
|
|
D_Handle view;
|
|
D_Handle prev_view;
|
|
D_Handle dst_panel;
|
|
D_Handle entity;
|
|
D_HandleList entity_list;
|
|
U64 unwind_count;
|
|
U64 inline_depth;
|
|
String8 file_path;
|
|
TxtPt cursor;
|
|
TxtPt mark;
|
|
U128 text_key;
|
|
TXT_LangKind lang_kind;
|
|
D_LineList lines;
|
|
DI_Key dbgi_key;
|
|
Rng1U64 vaddr_range;
|
|
Rng1U64 voff_range;
|
|
U32 pid;
|
|
B32 force_confirm;
|
|
B32 prefer_disasm;
|
|
Dir2 dir2;
|
|
String8 string;
|
|
MD_Node * params_tree;
|
|
};
|
|
|
|
typedef struct D_CmdParams D_CmdParams;
|
|
struct D_CmdParams
|
|
{
|
|
D_Handle window;
|
|
D_Handle panel;
|
|
D_Handle dest_panel;
|
|
D_Handle prev_view;
|
|
D_Handle view;
|
|
D_Handle entity;
|
|
D_HandleList entity_list;
|
|
String8 string;
|
|
String8 file_path;
|
|
TxtPt text_point;
|
|
MD_Node * params_tree;
|
|
struct OS_Event * os_event;
|
|
U64 vaddr;
|
|
U64 voff;
|
|
U64 index;
|
|
U64 id;
|
|
B32 prefer_dasm;
|
|
B32 force_confirm;
|
|
Dir2 dir2;
|
|
U64 unwind_index;
|
|
U64 inline_depth;
|
|
};
|
|
|
|
#define d_regs_lit_init_top \
|
|
.machine = d_regs()->machine,\
|
|
.module = d_regs()->module,\
|
|
.process = d_regs()->process,\
|
|
.thread = d_regs()->thread,\
|
|
.window = d_regs()->window,\
|
|
.panel = d_regs()->panel,\
|
|
.view = d_regs()->view,\
|
|
.prev_view = d_regs()->prev_view,\
|
|
.dst_panel = d_regs()->dst_panel,\
|
|
.entity = d_regs()->entity,\
|
|
.entity_list = d_regs()->entity_list,\
|
|
.unwind_count = d_regs()->unwind_count,\
|
|
.inline_depth = d_regs()->inline_depth,\
|
|
.file_path = d_regs()->file_path,\
|
|
.cursor = d_regs()->cursor,\
|
|
.mark = d_regs()->mark,\
|
|
.text_key = d_regs()->text_key,\
|
|
.lang_kind = d_regs()->lang_kind,\
|
|
.lines = d_regs()->lines,\
|
|
.dbgi_key = d_regs()->dbgi_key,\
|
|
.vaddr_range = d_regs()->vaddr_range,\
|
|
.voff_range = d_regs()->voff_range,\
|
|
.pid = d_regs()->pid,\
|
|
.force_confirm = d_regs()->force_confirm,\
|
|
.prefer_disasm = d_regs()->prefer_disasm,\
|
|
.dir2 = d_regs()->dir2,\
|
|
.string = d_regs()->string,\
|
|
.params_tree = d_regs()->params_tree,\
|
|
|
|
global B32 DEV_telemetry_capture = 0;
|
|
global B32 DEV_simulate_lag = 0;
|
|
global B32 DEV_draw_ui_text_pos = 0;
|
|
global B32 DEV_draw_ui_focus_debug = 0;
|
|
global B32 DEV_draw_ui_box_heatmap = 0;
|
|
global B32 DEV_eval_compiler_tooltips = 0;
|
|
global B32 DEV_eval_watch_key_tooltips = 0;
|
|
global B32 DEV_cmd_context_tooltips = 0;
|
|
global B32 DEV_scratch_mouse_draw = 0;
|
|
global B32 DEV_updating_indicator = 0;
|
|
struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
|
|
{
|
|
{&DEV_telemetry_capture, str8_lit_comp("telemetry_capture")},
|
|
{&DEV_simulate_lag, str8_lit_comp("simulate_lag")},
|
|
{&DEV_draw_ui_text_pos, str8_lit_comp("draw_ui_text_pos")},
|
|
{&DEV_draw_ui_focus_debug, str8_lit_comp("draw_ui_focus_debug")},
|
|
{&DEV_draw_ui_box_heatmap, str8_lit_comp("draw_ui_box_heatmap")},
|
|
{&DEV_eval_compiler_tooltips, str8_lit_comp("eval_compiler_tooltips")},
|
|
{&DEV_eval_watch_key_tooltips, str8_lit_comp("eval_watch_key_tooltips")},
|
|
{&DEV_cmd_context_tooltips, str8_lit_comp("cmd_context_tooltips")},
|
|
{&DEV_scratch_mouse_draw, str8_lit_comp("scratch_mouse_draw")},
|
|
{&DEV_updating_indicator, str8_lit_comp("updating_indicator")},
|
|
};
|
|
C_LINKAGE_BEGIN
|
|
extern String8 d_cfg_src_string_table[4];
|
|
extern String8 d_entity_kind_display_string_table[30];
|
|
extern String8 d_entity_kind_name_lower_table[30];
|
|
extern String8 d_entity_kind_name_lower_plural_table[30];
|
|
extern String8 d_entity_kind_name_label_table[30];
|
|
extern D_EntityKindFlags d_entity_kind_flags_table[30];
|
|
extern Rng1U64 d_reg_slot_range_table[29];
|
|
extern Rng1U64 d_cmd_param_slot_range_table[22];
|
|
|
|
C_LINKAGE_END
|
|
|
|
#endif // DBG_ENGINE_META_H
|