diff --git a/src/raddbg/generated/raddbg.meta.c b/src/raddbg/generated/raddbg.meta.c index cf80c79e..3ecddd71 100644 --- a/src/raddbg/generated/raddbg.meta.c +++ b/src/raddbg/generated/raddbg.meta.c @@ -714,40 +714,40 @@ str8_lit_comp("settings"), RD_ViewSpecInfo rd_gfx_view_kind_spec_info_table[34] = { -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("null"), str8_lit_comp(""), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(null), RD_VIEW_CMD_FUNCTION_NAME(null), RD_VIEW_UI_FUNCTION_NAME(null)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("empty"), str8_lit_comp(""), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(empty), RD_VIEW_CMD_FUNCTION_NAME(empty), RD_VIEW_UI_FUNCTION_NAME(empty)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("getting_started"), str8_lit_comp("Getting Started"), RD_IconKind_QuestionMark, RD_VIEW_SETUP_FUNCTION_NAME(getting_started), RD_VIEW_CMD_FUNCTION_NAME(getting_started), RD_VIEW_UI_FUNCTION_NAME(getting_started)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("commands"), str8_lit_comp("Commands"), RD_IconKind_List, RD_VIEW_SETUP_FUNCTION_NAME(commands), RD_VIEW_CMD_FUNCTION_NAME(commands), RD_VIEW_UI_FUNCTION_NAME(commands)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_system"), str8_lit_comp("File System"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(file_system), RD_VIEW_CMD_FUNCTION_NAME(file_system), RD_VIEW_UI_FUNCTION_NAME(file_system)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("system_processes"), str8_lit_comp("System Processes"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(system_processes), RD_VIEW_CMD_FUNCTION_NAME(system_processes), RD_VIEW_UI_FUNCTION_NAME(system_processes)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("entity_lister"), str8_lit_comp("Entity List"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(entity_lister), RD_VIEW_CMD_FUNCTION_NAME(entity_lister), RD_VIEW_UI_FUNCTION_NAME(entity_lister)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("symbol_lister"), str8_lit_comp("Symbols"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(symbol_lister), RD_VIEW_CMD_FUNCTION_NAME(symbol_lister), RD_VIEW_UI_FUNCTION_NAME(symbol_lister)}, -{(0|1*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("target"), str8_lit_comp("Target"), RD_IconKind_Target, RD_VIEW_SETUP_FUNCTION_NAME(target), RD_VIEW_CMD_FUNCTION_NAME(target), RD_VIEW_UI_FUNCTION_NAME(target)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("targets"), str8_lit_comp("Targets"), RD_IconKind_Target, RD_VIEW_SETUP_FUNCTION_NAME(targets), RD_VIEW_CMD_FUNCTION_NAME(targets), RD_VIEW_UI_FUNCTION_NAME(targets)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_path_map"), str8_lit_comp("File Path Map"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(file_path_map), RD_VIEW_CMD_FUNCTION_NAME(file_path_map), RD_VIEW_UI_FUNCTION_NAME(file_path_map)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("auto_view_rules"), str8_lit_comp("Auto View Rules"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(auto_view_rules), RD_VIEW_CMD_FUNCTION_NAME(auto_view_rules), RD_VIEW_UI_FUNCTION_NAME(auto_view_rules)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("breakpoints"), str8_lit_comp("Breakpoints"), RD_IconKind_CircleFilled, RD_VIEW_SETUP_FUNCTION_NAME(breakpoints), RD_VIEW_CMD_FUNCTION_NAME(breakpoints), RD_VIEW_UI_FUNCTION_NAME(breakpoints)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("watch_pins"), str8_lit_comp("Watch Pins"), RD_IconKind_Pin, RD_VIEW_SETUP_FUNCTION_NAME(watch_pins), RD_VIEW_CMD_FUNCTION_NAME(watch_pins), RD_VIEW_UI_FUNCTION_NAME(watch_pins)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("scheduler"), str8_lit_comp("Scheduler"), RD_IconKind_Scheduler, RD_VIEW_SETUP_FUNCTION_NAME(scheduler), RD_VIEW_CMD_FUNCTION_NAME(scheduler), RD_VIEW_UI_FUNCTION_NAME(scheduler)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("call_stack"), str8_lit_comp("Call Stack"), RD_IconKind_Thread, RD_VIEW_SETUP_FUNCTION_NAME(call_stack), RD_VIEW_CMD_FUNCTION_NAME(call_stack), RD_VIEW_UI_FUNCTION_NAME(call_stack)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("modules"), str8_lit_comp("Modules"), RD_IconKind_Module, RD_VIEW_SETUP_FUNCTION_NAME(modules), RD_VIEW_CMD_FUNCTION_NAME(modules), RD_VIEW_UI_FUNCTION_NAME(modules)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("watch"), str8_lit_comp("Watch"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(watch), RD_VIEW_CMD_FUNCTION_NAME(watch), RD_VIEW_UI_FUNCTION_NAME(watch)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("locals"), str8_lit_comp("Locals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(locals), RD_VIEW_CMD_FUNCTION_NAME(locals), RD_VIEW_UI_FUNCTION_NAME(locals)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("registers"), str8_lit_comp("Registers"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(registers), RD_VIEW_CMD_FUNCTION_NAME(registers), RD_VIEW_UI_FUNCTION_NAME(registers)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("globals"), str8_lit_comp("Globals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(globals), RD_VIEW_CMD_FUNCTION_NAME(globals), RD_VIEW_UI_FUNCTION_NAME(globals)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("thread_locals"), str8_lit_comp("Thread Locals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(thread_locals), RD_VIEW_CMD_FUNCTION_NAME(thread_locals), RD_VIEW_UI_FUNCTION_NAME(thread_locals)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("types"), str8_lit_comp("Types"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(types), RD_VIEW_CMD_FUNCTION_NAME(types), RD_VIEW_UI_FUNCTION_NAME(types)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("procedures"), str8_lit_comp("Procedures"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(procedures), RD_VIEW_CMD_FUNCTION_NAME(procedures), RD_VIEW_UI_FUNCTION_NAME(procedures)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("pending_file"), str8_lit_comp("Pending File"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(pending_file), RD_VIEW_CMD_FUNCTION_NAME(pending_file), RD_VIEW_UI_FUNCTION_NAME(pending_file)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|1*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("text"), str8_lit_comp("Text"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(text), RD_VIEW_CMD_FUNCTION_NAME(text), RD_VIEW_UI_FUNCTION_NAME(text)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("disasm"), str8_lit_comp("Disassembly"), RD_IconKind_Glasses, RD_VIEW_SETUP_FUNCTION_NAME(disasm), RD_VIEW_CMD_FUNCTION_NAME(disasm), RD_VIEW_UI_FUNCTION_NAME(disasm)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("output"), str8_lit_comp("Output"), RD_IconKind_List, RD_VIEW_SETUP_FUNCTION_NAME(output), RD_VIEW_CMD_FUNCTION_NAME(output), RD_VIEW_UI_FUNCTION_NAME(output)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("memory"), str8_lit_comp("Memory"), RD_IconKind_Grid, RD_VIEW_SETUP_FUNCTION_NAME(memory), RD_VIEW_CMD_FUNCTION_NAME(memory), RD_VIEW_UI_FUNCTION_NAME(memory)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("bitmap"), str8_lit_comp("Bitmap"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(bitmap), RD_VIEW_CMD_FUNCTION_NAME(bitmap), RD_VIEW_UI_FUNCTION_NAME(bitmap)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("color_rgba"), str8_lit_comp("Color (RGBA)"), RD_IconKind_Palette, RD_VIEW_SETUP_FUNCTION_NAME(color_rgba), RD_VIEW_CMD_FUNCTION_NAME(color_rgba), RD_VIEW_UI_FUNCTION_NAME(color_rgba)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("geo3d"), str8_lit_comp("Geometry (3D)"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(geo3d), RD_VIEW_CMD_FUNCTION_NAME(geo3d), RD_VIEW_UI_FUNCTION_NAME(geo3d)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("exception_filters"), str8_lit_comp("Exception Filters"), RD_IconKind_Gear, RD_VIEW_SETUP_FUNCTION_NAME(exception_filters), RD_VIEW_CMD_FUNCTION_NAME(exception_filters), RD_VIEW_UI_FUNCTION_NAME(exception_filters)}, -{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("settings"), str8_lit_comp("Settings"), RD_IconKind_Gear, RD_VIEW_SETUP_FUNCTION_NAME(settings), RD_VIEW_CMD_FUNCTION_NAME(settings), RD_VIEW_UI_FUNCTION_NAME(settings)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("null"), str8_lit_comp(""), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(null), RD_VIEW_UI_FUNCTION_NAME(null)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("empty"), str8_lit_comp(""), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(empty), RD_VIEW_UI_FUNCTION_NAME(empty)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("getting_started"), str8_lit_comp("Getting Started"), RD_IconKind_QuestionMark, RD_VIEW_SETUP_FUNCTION_NAME(getting_started), RD_VIEW_UI_FUNCTION_NAME(getting_started)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("commands"), str8_lit_comp("Commands"), RD_IconKind_List, RD_VIEW_SETUP_FUNCTION_NAME(commands), RD_VIEW_UI_FUNCTION_NAME(commands)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_system"), str8_lit_comp("File System"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(file_system), RD_VIEW_UI_FUNCTION_NAME(file_system)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("system_processes"), str8_lit_comp("System Processes"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(system_processes), RD_VIEW_UI_FUNCTION_NAME(system_processes)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("entity_lister"), str8_lit_comp("Entity List"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(entity_lister), RD_VIEW_UI_FUNCTION_NAME(entity_lister)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("symbol_lister"), str8_lit_comp("Symbols"), RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(symbol_lister), RD_VIEW_UI_FUNCTION_NAME(symbol_lister)}, +{(0|1*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("target"), str8_lit_comp("Target"), RD_IconKind_Target, RD_VIEW_SETUP_FUNCTION_NAME(target), RD_VIEW_UI_FUNCTION_NAME(target)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("targets"), str8_lit_comp("Targets"), RD_IconKind_Target, RD_VIEW_SETUP_FUNCTION_NAME(targets), RD_VIEW_UI_FUNCTION_NAME(targets)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_path_map"), str8_lit_comp("File Path Map"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(file_path_map), RD_VIEW_UI_FUNCTION_NAME(file_path_map)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("auto_view_rules"), str8_lit_comp("Auto View Rules"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(auto_view_rules), RD_VIEW_UI_FUNCTION_NAME(auto_view_rules)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("breakpoints"), str8_lit_comp("Breakpoints"), RD_IconKind_CircleFilled, RD_VIEW_SETUP_FUNCTION_NAME(breakpoints), RD_VIEW_UI_FUNCTION_NAME(breakpoints)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("watch_pins"), str8_lit_comp("Watch Pins"), RD_IconKind_Pin, RD_VIEW_SETUP_FUNCTION_NAME(watch_pins), RD_VIEW_UI_FUNCTION_NAME(watch_pins)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("scheduler"), str8_lit_comp("Scheduler"), RD_IconKind_Scheduler, RD_VIEW_SETUP_FUNCTION_NAME(scheduler), RD_VIEW_UI_FUNCTION_NAME(scheduler)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("call_stack"), str8_lit_comp("Call Stack"), RD_IconKind_Thread, RD_VIEW_SETUP_FUNCTION_NAME(call_stack), RD_VIEW_UI_FUNCTION_NAME(call_stack)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("modules"), str8_lit_comp("Modules"), RD_IconKind_Module, RD_VIEW_SETUP_FUNCTION_NAME(modules), RD_VIEW_UI_FUNCTION_NAME(modules)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("watch"), str8_lit_comp("Watch"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(watch), RD_VIEW_UI_FUNCTION_NAME(watch)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("locals"), str8_lit_comp("Locals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(locals), RD_VIEW_UI_FUNCTION_NAME(locals)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("registers"), str8_lit_comp("Registers"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(registers), RD_VIEW_UI_FUNCTION_NAME(registers)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("globals"), str8_lit_comp("Globals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(globals), RD_VIEW_UI_FUNCTION_NAME(globals)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("thread_locals"), str8_lit_comp("Thread Locals"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(thread_locals), RD_VIEW_UI_FUNCTION_NAME(thread_locals)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("types"), str8_lit_comp("Types"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(types), RD_VIEW_UI_FUNCTION_NAME(types)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("procedures"), str8_lit_comp("Procedures"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(procedures), RD_VIEW_UI_FUNCTION_NAME(procedures)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|0*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("pending_file"), str8_lit_comp("Pending File"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(pending_file), RD_VIEW_UI_FUNCTION_NAME(pending_file)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|1*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("text"), str8_lit_comp("Text"), RD_IconKind_FileOutline, RD_VIEW_SETUP_FUNCTION_NAME(text), RD_VIEW_UI_FUNCTION_NAME(text)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("disasm"), str8_lit_comp("Disassembly"), RD_IconKind_Glasses, RD_VIEW_SETUP_FUNCTION_NAME(disasm), RD_VIEW_UI_FUNCTION_NAME(disasm)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("output"), str8_lit_comp("Output"), RD_IconKind_List, RD_VIEW_SETUP_FUNCTION_NAME(output), RD_VIEW_UI_FUNCTION_NAME(output)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("memory"), str8_lit_comp("Memory"), RD_IconKind_Grid, RD_VIEW_SETUP_FUNCTION_NAME(memory), RD_VIEW_UI_FUNCTION_NAME(memory)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("bitmap"), str8_lit_comp("Bitmap"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(bitmap), RD_VIEW_UI_FUNCTION_NAME(bitmap)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("color_rgba"), str8_lit_comp("Color (RGBA)"), RD_IconKind_Palette, RD_VIEW_SETUP_FUNCTION_NAME(color_rgba), RD_VIEW_UI_FUNCTION_NAME(color_rgba)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|0*RD_ViewSpecFlag_CanFilter|1*RD_ViewSpecFlag_FilterIsCode|0*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("geo3d"), str8_lit_comp("Geometry (3D)"), RD_IconKind_Binoculars, RD_VIEW_SETUP_FUNCTION_NAME(geo3d), RD_VIEW_UI_FUNCTION_NAME(geo3d)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("exception_filters"), str8_lit_comp("Exception Filters"), RD_IconKind_Gear, RD_VIEW_SETUP_FUNCTION_NAME(exception_filters), RD_VIEW_UI_FUNCTION_NAME(exception_filters)}, +{(0|0*RD_ViewSpecFlag_ParameterizedByEntity|0*RD_ViewSpecFlag_ProjectSpecific|1*RD_ViewSpecFlag_CanSerialize|1*RD_ViewSpecFlag_CanFilter|0*RD_ViewSpecFlag_FilterIsCode|1*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("settings"), str8_lit_comp("Settings"), RD_IconKind_Gear, RD_VIEW_SETUP_FUNCTION_NAME(settings), RD_VIEW_UI_FUNCTION_NAME(settings)}, }; RD_IconKind rd_entity_kind_icon_kind_table[30] = diff --git a/src/raddbg/generated/raddbg.meta.h b/src/raddbg/generated/raddbg.meta.h index 96248689..b6868b9a 100644 --- a/src/raddbg/generated/raddbg.meta.h +++ b/src/raddbg/generated/raddbg.meta.h @@ -716,40 +716,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(color_rgba); RD_VIEW_SETUP_FUNCTION_DEF(geo3d); RD_VIEW_SETUP_FUNCTION_DEF(exception_filters); RD_VIEW_SETUP_FUNCTION_DEF(settings); -RD_VIEW_CMD_FUNCTION_DEF(null); -RD_VIEW_CMD_FUNCTION_DEF(empty); -RD_VIEW_CMD_FUNCTION_DEF(getting_started); -RD_VIEW_CMD_FUNCTION_DEF(commands); -RD_VIEW_CMD_FUNCTION_DEF(file_system); -RD_VIEW_CMD_FUNCTION_DEF(system_processes); -RD_VIEW_CMD_FUNCTION_DEF(entity_lister); -RD_VIEW_CMD_FUNCTION_DEF(symbol_lister); -RD_VIEW_CMD_FUNCTION_DEF(target); -RD_VIEW_CMD_FUNCTION_DEF(targets); -RD_VIEW_CMD_FUNCTION_DEF(file_path_map); -RD_VIEW_CMD_FUNCTION_DEF(auto_view_rules); -RD_VIEW_CMD_FUNCTION_DEF(breakpoints); -RD_VIEW_CMD_FUNCTION_DEF(watch_pins); -RD_VIEW_CMD_FUNCTION_DEF(scheduler); -RD_VIEW_CMD_FUNCTION_DEF(call_stack); -RD_VIEW_CMD_FUNCTION_DEF(modules); -RD_VIEW_CMD_FUNCTION_DEF(watch); -RD_VIEW_CMD_FUNCTION_DEF(locals); -RD_VIEW_CMD_FUNCTION_DEF(registers); -RD_VIEW_CMD_FUNCTION_DEF(globals); -RD_VIEW_CMD_FUNCTION_DEF(thread_locals); -RD_VIEW_CMD_FUNCTION_DEF(types); -RD_VIEW_CMD_FUNCTION_DEF(procedures); -RD_VIEW_CMD_FUNCTION_DEF(pending_file); -RD_VIEW_CMD_FUNCTION_DEF(text); -RD_VIEW_CMD_FUNCTION_DEF(disasm); -RD_VIEW_CMD_FUNCTION_DEF(output); -RD_VIEW_CMD_FUNCTION_DEF(memory); -RD_VIEW_CMD_FUNCTION_DEF(bitmap); -RD_VIEW_CMD_FUNCTION_DEF(color_rgba); -RD_VIEW_CMD_FUNCTION_DEF(geo3d); -RD_VIEW_CMD_FUNCTION_DEF(exception_filters); -RD_VIEW_CMD_FUNCTION_DEF(settings); RD_VIEW_UI_FUNCTION_DEF(null); RD_VIEW_UI_FUNCTION_DEF(empty); RD_VIEW_UI_FUNCTION_DEF(getting_started); diff --git a/src/raddbg/raddbg.mdesk b/src/raddbg/raddbg.mdesk index 9e08236a..0c0137aa 100644 --- a/src/raddbg/raddbg.mdesk +++ b/src/raddbg/raddbg.mdesk @@ -973,7 +973,6 @@ RD_ViewTable: @gen { @expand(RD_ViewTable a) `RD_VIEW_SETUP_FUNCTION_DEF($(a.name_lower));`; - @expand(RD_ViewTable a) `RD_VIEW_CMD_FUNCTION_DEF($(a.name_lower));`; @expand(RD_ViewTable a) `RD_VIEW_UI_FUNCTION_DEF($(a.name_lower));`; } @@ -984,7 +983,7 @@ RD_ViewTable: @data(RD_ViewSpecInfo) rd_gfx_view_kind_spec_info_table: { - @expand(RD_ViewTable a) ```{(0|$(a.parameterized_by_entity)*RD_ViewSpecFlag_ParameterizedByEntity|$(a.project_specific)*RD_ViewSpecFlag_ProjectSpecific|$(a.can_serialize)*RD_ViewSpecFlag_CanSerialize|$(a.can_filter)*RD_ViewSpecFlag_CanFilter|$(a.filter_is_code)*RD_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), RD_IconKind_$(a.icon), RD_VIEW_SETUP_FUNCTION_NAME($(a.name_lower)), RD_VIEW_CMD_FUNCTION_NAME($(a.name_lower)), RD_VIEW_UI_FUNCTION_NAME($(a.name_lower))}```; + @expand(RD_ViewTable a) ```{(0|$(a.parameterized_by_entity)*RD_ViewSpecFlag_ParameterizedByEntity|$(a.project_specific)*RD_ViewSpecFlag_ProjectSpecific|$(a.can_serialize)*RD_ViewSpecFlag_CanSerialize|$(a.can_filter)*RD_ViewSpecFlag_CanFilter|$(a.filter_is_code)*RD_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*RD_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), RD_IconKind_$(a.icon), RD_VIEW_SETUP_FUNCTION_NAME($(a.name_lower)), RD_VIEW_UI_FUNCTION_NAME($(a.name_lower))}```; } //////////////////////////////// diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index 049ac49d..e706a3fe 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -2841,36 +2841,6 @@ rd_window_frame(RD_Window *ws) rd_regs()->panel = rd_handle_from_panel(ws->focused_panel); rd_regs()->view = ws->focused_panel->selected_tab_view; - ////////////////////////////// - //- rjf: process view-level commands on leaf panels - // - ProfScope("dispatch view-level commands") - { - for(RD_Panel *panel = ws->root_panel; - !rd_panel_is_nil(panel); - panel = rd_panel_rec_depth_first_pre(panel).next) - { - if(!rd_panel_is_nil(panel->first)) - { - continue; - } - RD_View *view = rd_selected_tab_from_panel(panel); - if(!rd_view_is_nil(view)) - { - rd_push_regs(); - rd_regs()->panel = rd_handle_from_panel(panel); - rd_regs()->view = rd_handle_from_view(view); - RD_ViewCmdFunctionType *do_view_cmds_function = view->spec->info.cmd_hook; - do_view_cmds_function(view, view->params_roots[view->params_read_gen%ArrayCount(view->params_roots)], str8(view->query_buffer, view->query_string_size)); - RD_Regs *view_regs = rd_pop_regs(); - if(panel == ws->focused_panel) - { - MemoryCopyStruct(rd_regs(), view_regs); - } - } - } - } - ////////////////////////////// //- rjf: compute ui palettes from theme // @@ -14286,22 +14256,6 @@ rd_frame(void) } } - ////////////////////////////// - //- rjf: animate alive-transitions for entities - // - { - F32 rate = 1.f - pow_f32(2.f, -20.f*rd_state->frame_dt); - for(RD_Entity *e = rd_entity_root(); !rd_entity_is_nil(e); e = rd_entity_rec_depth_first_pre(e, rd_entity_root()).next) - { - F32 diff = (1.f - e->alive_t); - e->alive_t += diff * rate; - if(diff >= 0.01f) - { - rd_request_frame(); - } - } - } - ////////////////////////////// //- rjf: capture is active? -> keep rendering // diff --git a/src/raddbg/raddbg_core.h b/src/raddbg/raddbg_core.h index 4b3bed5b..44fc90e3 100644 --- a/src/raddbg/raddbg_core.h +++ b/src/raddbg/raddbg_core.h @@ -166,11 +166,6 @@ typedef struct RD_View RD_View; #define RD_VIEW_SETUP_FUNCTION_DEF(name) internal RD_VIEW_SETUP_FUNCTION_SIG(RD_VIEW_SETUP_FUNCTION_NAME(name)) typedef RD_VIEW_SETUP_FUNCTION_SIG(RD_ViewSetupFunctionType); -#define RD_VIEW_CMD_FUNCTION_SIG(name) void name(RD_View *view, MD_Node *params, String8 string) -#define RD_VIEW_CMD_FUNCTION_NAME(name) rd_view_cmds_##name -#define RD_VIEW_CMD_FUNCTION_DEF(name) internal RD_VIEW_CMD_FUNCTION_SIG(RD_VIEW_CMD_FUNCTION_NAME(name)) -typedef RD_VIEW_CMD_FUNCTION_SIG(RD_ViewCmdFunctionType); - #define RD_VIEW_UI_FUNCTION_SIG(name) void name(RD_View *view, MD_Node *params, String8 string, Rng2F32 rect) #define RD_VIEW_UI_FUNCTION_NAME(name) rd_view_ui_##name #define RD_VIEW_UI_FUNCTION_DEF(name) internal RD_VIEW_UI_FUNCTION_SIG(RD_VIEW_UI_FUNCTION_NAME(name)) @@ -216,7 +211,6 @@ struct RD_ViewSpecInfo String8 display_string; U32 icon_kind; RD_ViewSetupFunctionType *setup_hook; - RD_ViewCmdFunctionType *cmd_hook; RD_ViewUIFunctionType *ui_hook; }; @@ -542,7 +536,6 @@ struct RD_Entity RD_EntityID id; U64 gen; U64 alloc_time_us; - F32 alive_t; // rjf: basic equipment TxtPt text_point; @@ -1092,7 +1085,6 @@ read_only global RD_ViewSpec rd_nil_view_spec = {0}, RD_IconKind_Null, RD_VIEW_SETUP_FUNCTION_NAME(null), - RD_VIEW_CMD_FUNCTION_NAME(null), RD_VIEW_UI_FUNCTION_NAME(null), }, }; diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index ff17659c..5c720834 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -2872,14 +2872,12 @@ rd_watch_view_build(RD_View *view, RD_WatchViewState *ewv, B32 modifiable, U32 d //~ rjf: null @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(null) {} -RD_VIEW_CMD_FUNCTION_DEF(null) {} RD_VIEW_UI_FUNCTION_DEF(null) {} //////////////////////////////// //~ rjf: empty @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(empty) {} -RD_VIEW_CMD_FUNCTION_DEF(empty) {} RD_VIEW_UI_FUNCTION_DEF(empty) { ui_set_next_flags(UI_BoxFlag_DefaultFocusNav); @@ -2906,7 +2904,6 @@ RD_VIEW_UI_FUNCTION_DEF(empty) //~ rjf: getting_started @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(getting_started) {} -RD_VIEW_CMD_FUNCTION_DEF(getting_started) {} RD_VIEW_UI_FUNCTION_DEF(getting_started) { ProfBeginFunction(); @@ -3173,7 +3170,6 @@ rd_cmd_lister_item_array_sort_by_strength__in_place(RD_CmdListerItemArray array) } RD_VIEW_SETUP_FUNCTION_DEF(commands) {} -RD_VIEW_CMD_FUNCTION_DEF(commands) {} RD_VIEW_UI_FUNCTION_DEF(commands) { ProfBeginFunction(); @@ -3498,7 +3494,6 @@ rd_qsort_compare_file_info__size(RD_FileInfo *a, RD_FileInfo *b) } RD_VIEW_SETUP_FUNCTION_DEF(file_system){} -RD_VIEW_CMD_FUNCTION_DEF(file_system){} RD_VIEW_UI_FUNCTION_DEF(file_system) { ProfBeginFunction(); @@ -4080,7 +4075,6 @@ rd_process_info_array_sort_by_strength__in_place(RD_ProcessInfoArray array) } RD_VIEW_SETUP_FUNCTION_DEF(system_processes){} -RD_VIEW_CMD_FUNCTION_DEF(system_processes){} RD_VIEW_UI_FUNCTION_DEF(system_processes) { ProfBeginFunction(); @@ -4331,7 +4325,6 @@ rd_entity_lister_item_array_sort_by_strength__in_place(RD_EntityListerItemArray } RD_VIEW_SETUP_FUNCTION_DEF(entity_lister){} -RD_VIEW_CMD_FUNCTION_DEF(entity_lister){} RD_VIEW_UI_FUNCTION_DEF(entity_lister) { ProfBeginFunction(); @@ -4459,7 +4452,6 @@ RD_VIEW_UI_FUNCTION_DEF(entity_lister) //~ rjf: symbol_lister @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(symbol_lister){} -RD_VIEW_CMD_FUNCTION_DEF(symbol_lister){} RD_VIEW_UI_FUNCTION_DEF(symbol_lister) { ProfBeginFunction(); @@ -4667,11 +4659,17 @@ struct RD_TargetViewState }; RD_VIEW_SETUP_FUNCTION_DEF(target){} -RD_VIEW_CMD_FUNCTION_DEF(target) +RD_VIEW_UI_FUNCTION_DEF(target) { + ProfBeginFunction(); + Temp scratch = scratch_begin(0, 0); + RD_Entity *entity = rd_entity_from_eval_string(string); + RD_EntityList custom_entry_points = rd_push_entity_child_list_with_kind(scratch.arena, entity, RD_EntityKind_EntryPoint); + F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); + +#if 0 // TODO(rjf): @msgs RD_TargetViewState *tv = rd_view_user_state(view, RD_TargetViewState); RD_Entity *entity = rd_entity_from_eval_string(string); -#if 0 // TODO(rjf): @msgs // rjf: process commands for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) { @@ -4706,15 +4704,6 @@ RD_VIEW_CMD_FUNCTION_DEF(target) } } #endif -} - -RD_VIEW_UI_FUNCTION_DEF(target) -{ - ProfBeginFunction(); - Temp scratch = scratch_begin(0, 0); - RD_Entity *entity = rd_entity_from_eval_string(string); - RD_EntityList custom_entry_points = rd_push_entity_child_list_with_kind(scratch.arena, entity, RD_EntityKind_EntryPoint); - F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); //- rjf: grab state RD_TargetViewState *tv = rd_view_user_state(view, RD_TargetViewState); @@ -4977,7 +4966,6 @@ RD_VIEW_UI_FUNCTION_DEF(target) //~ rjf: targets @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(targets){} -RD_VIEW_CMD_FUNCTION_DEF(targets){} RD_VIEW_UI_FUNCTION_DEF(targets) { ProfBeginFunction(); @@ -5155,8 +5143,15 @@ RD_VIEW_SETUP_FUNCTION_DEF(file_path_map) } } -RD_VIEW_CMD_FUNCTION_DEF(file_path_map) +RD_VIEW_UI_FUNCTION_DEF(file_path_map) { + ProfBeginFunction(); + Temp scratch = scratch_begin(0, 0); + RD_EntityList maps_list = rd_query_cached_entity_list_with_kind(RD_EntityKind_FilePathMap); + RD_EntityArray maps = rd_entity_array_from_list(scratch.arena, &maps_list); + F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); + +#if 0 // TODO(rjf): @msgs RD_FilePathMapViewState *fpms = rd_view_user_state(view, RD_FilePathMapViewState); // rjf: process commands @@ -5189,15 +5184,7 @@ RD_VIEW_CMD_FUNCTION_DEF(file_path_map) }break; } } -} - -RD_VIEW_UI_FUNCTION_DEF(file_path_map) -{ - ProfBeginFunction(); - Temp scratch = scratch_begin(0, 0); - RD_EntityList maps_list = rd_query_cached_entity_list_with_kind(RD_EntityKind_FilePathMap); - RD_EntityArray maps = rd_entity_array_from_list(scratch.arena, &maps_list); - F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); +#endif //- rjf: grab state RD_FilePathMapViewState *fpms = rd_view_user_state(view, RD_FilePathMapViewState); @@ -5469,14 +5456,12 @@ RD_VIEW_UI_FUNCTION_DEF(file_path_map) //~ rjf: auto_view_rules @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(auto_view_rules){} -RD_VIEW_CMD_FUNCTION_DEF(auto_view_rules){} RD_VIEW_UI_FUNCTION_DEF(auto_view_rules){} //////////////////////////////// //~ rjf: breakpoints @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(breakpoints){} -RD_VIEW_CMD_FUNCTION_DEF(breakpoints){} RD_VIEW_UI_FUNCTION_DEF(breakpoints) { ProfBeginFunction(); @@ -5498,7 +5483,6 @@ RD_VIEW_UI_FUNCTION_DEF(breakpoints) //~ rjf: watch_pins @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(watch_pins){} -RD_VIEW_CMD_FUNCTION_DEF(watch_pins){} RD_VIEW_UI_FUNCTION_DEF(watch_pins) { ProfBeginFunction(); @@ -5517,7 +5501,6 @@ RD_VIEW_UI_FUNCTION_DEF(watch_pins) //~ rjf: scheduler @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(scheduler) {} -RD_VIEW_CMD_FUNCTION_DEF(scheduler) {} RD_VIEW_UI_FUNCTION_DEF(scheduler) { ProfBeginFunction(); @@ -5741,7 +5724,6 @@ RD_VIEW_UI_FUNCTION_DEF(scheduler) //~ rjf: call_stack @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(call_stack){} -RD_VIEW_CMD_FUNCTION_DEF(call_stack){} RD_VIEW_UI_FUNCTION_DEF(call_stack) { ProfBeginFunction(); @@ -5795,7 +5777,7 @@ RD_VIEW_SETUP_FUNCTION_DEF(modules) #endif } -RD_VIEW_CMD_FUNCTION_DEF(modules) +RD_VIEW_UI_FUNCTION_DEF(modules) { #if 0 // TODO(rjf): @msgs RD_ModulesViewState *mv = rd_view_user_state(view, RD_ModulesViewState); @@ -5829,10 +5811,6 @@ RD_VIEW_CMD_FUNCTION_DEF(modules) } } #endif -} - -RD_VIEW_UI_FUNCTION_DEF(modules) -{ #if 0 // TODO(rjf): @msgs ProfBeginFunction(); Temp scratch = scratch_begin(0, 0); @@ -6105,7 +6083,6 @@ RD_VIEW_UI_FUNCTION_DEF(modules) //~ rjf: watch @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(watch){} -RD_VIEW_CMD_FUNCTION_DEF(watch){} RD_VIEW_UI_FUNCTION_DEF(watch) { ProfBeginFunction(); @@ -6126,7 +6103,6 @@ RD_VIEW_UI_FUNCTION_DEF(watch) //~ rjf: locals @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(locals){} -RD_VIEW_CMD_FUNCTION_DEF(locals){} RD_VIEW_UI_FUNCTION_DEF(locals) { ProfBeginFunction(); @@ -6147,7 +6123,6 @@ RD_VIEW_UI_FUNCTION_DEF(locals) //~ rjf: registers @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(registers){} -RD_VIEW_CMD_FUNCTION_DEF(registers){} RD_VIEW_UI_FUNCTION_DEF(registers) { ProfBeginFunction(); @@ -6168,7 +6143,6 @@ RD_VIEW_UI_FUNCTION_DEF(registers) //~ rjf: globals @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(globals){} -RD_VIEW_CMD_FUNCTION_DEF(globals){} RD_VIEW_UI_FUNCTION_DEF(globals) { ProfBeginFunction(); @@ -6189,7 +6163,6 @@ RD_VIEW_UI_FUNCTION_DEF(globals) //~ rjf: thread_locals @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(thread_locals){} -RD_VIEW_CMD_FUNCTION_DEF(thread_locals){} RD_VIEW_UI_FUNCTION_DEF(thread_locals) { ProfBeginFunction(); @@ -6210,7 +6183,6 @@ RD_VIEW_UI_FUNCTION_DEF(thread_locals) //~ rjf: types @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(types){} -RD_VIEW_CMD_FUNCTION_DEF(types){} RD_VIEW_UI_FUNCTION_DEF(types) { ProfBeginFunction(); @@ -6231,7 +6203,6 @@ RD_VIEW_UI_FUNCTION_DEF(types) //~ rjf: procedures @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(procedures){} -RD_VIEW_CMD_FUNCTION_DEF(procedures){} RD_VIEW_UI_FUNCTION_DEF(procedures) { ProfBeginFunction(); @@ -6262,13 +6233,16 @@ RD_VIEW_SETUP_FUNCTION_DEF(pending_file) RD_PendingFileViewState *pves = rd_view_user_state(view, RD_PendingFileViewState); pves->deferred_cmd_arena = rd_view_push_arena_ext(view); } - -RD_VIEW_CMD_FUNCTION_DEF(pending_file) +RD_VIEW_UI_FUNCTION_DEF(pending_file) { Temp scratch = scratch_begin(0, 0); RD_PendingFileViewState *pves = rd_view_user_state(view, RD_PendingFileViewState); + view->loading_t = view->loading_t_target = 1.f; + rd_request_frame(); + ////////////////////////////// //- rjf: process commands + // for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) { // rjf: mismatched window/panel => skip @@ -6377,12 +6351,6 @@ RD_VIEW_CMD_FUNCTION_DEF(pending_file) scratch_end(scratch); } -RD_VIEW_UI_FUNCTION_DEF(pending_file) -{ - view->loading_t = view->loading_t_target = 1.f; - rd_request_frame(); -} - //////////////////////////////// //~ rjf: text @view_hook_impl @@ -6405,62 +6373,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(text) view->loading_t = view->loading_t_target = 1.f; } -RD_VIEW_CMD_FUNCTION_DEF(text) -{ - RD_CodeViewState *cv = rd_view_user_state(view, RD_CodeViewState); - Temp scratch = scratch_begin(0, 0); - HS_Scope *hs_scope = hs_scope_open(); - TXT_Scope *txt_scope = txt_scope_open(); - E_Eval eval = e_eval_from_string(scratch.arena, string); - Rng1U64 range = rd_range_from_eval_params(eval, params); - rd_regs()->text_key = rd_key_from_eval_space_range(eval.space, range, 1); - rd_regs()->lang_kind = rd_lang_kind_from_eval_params(eval, params); - U128 hash = {0}; - TXT_TextInfo info = txt_text_info_from_key_lang(txt_scope, rd_regs()->text_key, rd_regs()->lang_kind, &hash); - String8 data = hs_data_from_hash(hs_scope, hash); - - //- rjf: process general code-view commands - rd_code_view_cmds(view, cv, data, &info, 0, r1u64(0, 0), di_key_zero()); - - //- rjf: process code-file commands - for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) - { - // rjf: mismatched window/panel => skip - if(!rd_handle_match(rd_regs()->window, cmd->regs->window) || - !rd_handle_match(rd_regs()->panel, cmd->regs->panel)) - { - continue; - } - - // rjf: process - RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name); - switch(kind) - { - default:{}break; - - // rjf: override file picking - case RD_CmdKind_PickFile: - { - String8 src = rd_file_path_from_eval_string(scratch.arena, str8(view->query_buffer, view->query_string_size)); - String8 dst = cmd->regs->file_path; - if(src.size != 0 && dst.size != 0) - { - // rjf: record src -> dst mapping - rd_cmd(RD_CmdKind_SetFileReplacementPath, .string = src, .file_path = dst); - - // rjf: switch this view to viewing replacement file - view->query_string_size = Min(sizeof(view->query_buffer), dst.size); - MemoryCopy(view->query_buffer, dst.str, view->query_string_size); - } - }break; - } - } - - txt_scope_close(txt_scope); - hs_scope_close(hs_scope); - scratch_end(scratch); -} - RD_VIEW_UI_FUNCTION_DEF(text) { RD_CodeViewState *cv = rd_view_user_state(view, RD_CodeViewState); @@ -6493,6 +6405,42 @@ RD_VIEW_UI_FUNCTION_DEF(text) B32 file_is_missing = (path.size != 0 && os_properties_from_file_path(path).modified == 0); B32 key_has_data = !u128_match(hash, u128_zero()) && info.lines_count; + ////////////////////////////// + //- rjf: process code-file commands + // + for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) + { + // rjf: mismatched window/panel => skip + if(!rd_handle_match(rd_regs()->window, cmd->regs->window) || + !rd_handle_match(rd_regs()->panel, cmd->regs->panel)) + { + continue; + } + + // rjf: process + RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name); + switch(kind) + { + default:{}break; + + // rjf: override file picking + case RD_CmdKind_PickFile: + { + String8 src = rd_file_path_from_eval_string(scratch.arena, str8(view->query_buffer, view->query_string_size)); + String8 dst = cmd->regs->file_path; + if(src.size != 0 && dst.size != 0) + { + // rjf: record src -> dst mapping + rd_cmd(RD_CmdKind_SetFileReplacementPath, .string = src, .file_path = dst); + + // rjf: switch this view to viewing replacement file + view->query_string_size = Min(sizeof(view->query_buffer), dst.size); + MemoryCopy(view->query_buffer, dst.str, view->query_string_size); + } + }break; + } + } + ////////////////////////////// //- rjf: build missing file interface // @@ -6679,125 +6627,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(disasm) } } -RD_VIEW_CMD_FUNCTION_DEF(disasm) -{ - RD_DisasmViewState *dv = rd_view_user_state(view, RD_DisasmViewState); - Temp scratch = scratch_begin(0, 0); - DASM_Scope *dasm_scope = dasm_scope_open(); - HS_Scope *hs_scope = hs_scope_open(); - TXT_Scope *txt_scope = txt_scope_open(); - - ////////////////////////////// - //- rjf: if disassembly views are not parameterized by anything, they - // automatically snap to the selected thread's RIP, rounded down to the - // nearest 16K boundary - // - B32 auto_selected_thread = 0; - if(string.size == 0) - { - auto_selected_thread = 1; - string = str8_lit("(rip.u64 & (~(0x4000 - 1))"); - } - - ////////////////////////////// - //- rjf: unpack parameterization info - // - E_Eval eval = e_eval_from_string(scratch.arena, string); - E_Space space = eval.space; - if(auto_selected_thread) - { - space = rd_eval_space_from_ctrl_entity(ctrl_entity_from_handle(d_state->ctrl_entity_store, rd_regs()->process)); - } - Rng1U64 range = rd_range_from_eval_params(eval, params); - Arch arch = rd_arch_from_eval_params(eval, params); - CTRL_Entity *space_entity = rd_ctrl_entity_from_eval_space(space); - CTRL_Entity *dasm_module = &ctrl_entity_nil; - DI_Key dbgi_key = {0}; - U64 base_vaddr = 0; - switch(space_entity->kind) - { - default:{}break; - case CTRL_EntityKind_Process: - { - arch = space_entity->arch; - dasm_module = ctrl_module_from_process_vaddr(space_entity, range.min); - dbgi_key = ctrl_dbgi_key_from_module(dasm_module); - base_vaddr = dasm_module->vaddr_range.min; - }break; - } - U128 dasm_key = rd_key_from_eval_space_range(space, range, 0); - U128 dasm_data_hash = {0}; - DASM_Params dasm_params = {0}; - { - dasm_params.vaddr = range.min; - dasm_params.arch = arch; - dasm_params.style_flags = dv->style_flags; - dasm_params.syntax = DASM_Syntax_Intel; - dasm_params.base_vaddr = base_vaddr; - dasm_params.dbgi_key = dbgi_key; - } - DASM_Info dasm_info = dasm_info_from_key_params(dasm_scope, dasm_key, &dasm_params, &dasm_data_hash); - rd_regs()->text_key = dasm_info.text_key; - rd_regs()->lang_kind = txt_lang_kind_from_arch(arch); - U128 dasm_text_hash = {0}; - TXT_TextInfo dasm_text_info = txt_text_info_from_key_lang(txt_scope, rd_regs()->text_key, rd_regs()->lang_kind, &dasm_text_hash); - String8 dasm_text_data = hs_data_from_hash(hs_scope, dasm_text_hash); - B32 has_disasm = (dasm_info.lines.count != 0 && dasm_text_info.lines_count != 0); - B32 is_loading = (!has_disasm && dim_1u64(range) != 0 && eval.msgs.max_kind == E_MsgKind_Null); - - ////////////////////////////// - //- rjf: process general code-view commands - // - rd_code_view_cmds(view, &dv->cv, dasm_text_data, &dasm_text_info, &dasm_info.lines, range, dbgi_key); - - ////////////////////////////// - //- rjf: process disassembly-specific commands - // - for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) - { - // rjf: mismatched window/panel => skip - if(!rd_handle_match(rd_regs()->window, cmd->regs->window) || - !rd_handle_match(rd_regs()->panel, cmd->regs->panel)) - { - continue; - } - - // rjf: process - RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name); - switch(kind) - { - default: break; - case RD_CmdKind_GoToAddress: - { - RD_Entity *process = &d_nil_entity; - { - RD_Entity *entity = rd_entity_from_handle(cmd->regs->entity); - if(!rd_entity_is_nil(entity) && - (entity->kind == RD_EntityKind_Process || - entity->kind == RD_EntityKind_Thread || - entity->kind == RD_EntityKind_Module)) - { - process = entity; - if(entity->kind == RD_EntityKind_Thread || - entity->kind == RD_EntityKind_Module) - { - process = rd_entity_ancestor_from_kind(process, RD_EntityKind_Process); - } - } - } - dv->goto_vaddr = cmd->regs->vaddr; - }break; - case RD_CmdKind_ToggleCodeBytesVisibility: {dv->style_flags ^= DASM_StyleFlag_CodeBytes;}break; - case RD_CmdKind_ToggleAddressVisibility: {dv->style_flags ^= DASM_StyleFlag_Addresses;}break; - } - } - - txt_scope_close(txt_scope); - hs_scope_close(hs_scope); - dasm_scope_close(dasm_scope); - scratch_end(scratch); -} - RD_VIEW_UI_FUNCTION_DEF(disasm) { RD_DisasmViewState *dv = rd_view_user_state(view, RD_DisasmViewState); @@ -6874,6 +6703,48 @@ RD_VIEW_UI_FUNCTION_DEF(disasm) B32 has_disasm = (dasm_info.lines.count != 0 && dasm_text_info.lines_count != 0); B32 is_loading = (!has_disasm && dim_1u64(range) != 0 && eval.msgs.max_kind == E_MsgKind_Null); + ////////////////////////////// + //- rjf: process disassembly-specific commands + // + for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) + { + // rjf: mismatched window/panel => skip + if(!rd_handle_match(rd_regs()->window, cmd->regs->window) || + !rd_handle_match(rd_regs()->panel, cmd->regs->panel)) + { + continue; + } + + // rjf: process + RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name); + switch(kind) + { + default: break; + case RD_CmdKind_GoToAddress: + { + RD_Entity *process = &d_nil_entity; + { + RD_Entity *entity = rd_entity_from_handle(cmd->regs->entity); + if(!rd_entity_is_nil(entity) && + (entity->kind == RD_EntityKind_Process || + entity->kind == RD_EntityKind_Thread || + entity->kind == RD_EntityKind_Module)) + { + process = entity; + if(entity->kind == RD_EntityKind_Thread || + entity->kind == RD_EntityKind_Module) + { + process = rd_entity_ancestor_from_kind(process, RD_EntityKind_Process); + } + } + } + dv->goto_vaddr = cmd->regs->vaddr; + }break; + case RD_CmdKind_ToggleCodeBytesVisibility: {dv->style_flags ^= DASM_StyleFlag_CodeBytes;}break; + case RD_CmdKind_ToggleAddressVisibility: {dv->style_flags ^= DASM_StyleFlag_Addresses;}break; + } + } + ////////////////////////////// //- rjf: is loading -> equip view with loading information // @@ -6959,24 +6830,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(output) RD_CodeViewState *cv = rd_view_user_state(view, RD_CodeViewState); rd_code_view_init(cv, view); } - -RD_VIEW_CMD_FUNCTION_DEF(output) -{ - RD_CodeViewState *cv = rd_view_user_state(view, RD_CodeViewState); - Temp scratch = scratch_begin(0, 0); - HS_Scope *hs_scope = hs_scope_open(); - TXT_Scope *txt_scope = txt_scope_open(); - rd_regs()->text_key = d_state->output_log_key; - rd_regs()->lang_kind = TXT_LangKind_Null; - U128 hash = {0}; - TXT_TextInfo info = txt_text_info_from_key_lang(txt_scope, rd_regs()->text_key, rd_regs()->lang_kind, &hash); - String8 data = hs_data_from_hash(hs_scope, hash); - rd_code_view_cmds(view, cv, data, &info, 0, r1u64(0, 0), di_key_zero()); - txt_scope_close(txt_scope); - hs_scope_close(hs_scope); - scratch_end(scratch); -} - RD_VIEW_UI_FUNCTION_DEF(output) { RD_CodeViewState *cv = rd_view_user_state(view, RD_CodeViewState); @@ -7060,10 +6913,36 @@ EV_VIEW_RULE_BLOCK_PROD_FUNCTION_DEF(memory) } RD_VIEW_SETUP_FUNCTION_DEF(memory){} - -RD_VIEW_CMD_FUNCTION_DEF(memory) +RD_VIEW_UI_FUNCTION_DEF(memory) { + ProfBeginFunction(); + Temp scratch = scratch_begin(0, 0); + HS_Scope *hs_scope = hs_scope_open(); RD_MemoryViewState *mv = rd_view_user_state(view, RD_MemoryViewState); + + ////////////////////////////// + //- rjf: unpack parameterization info + // + E_Eval eval = e_eval_from_string(scratch.arena, string); + if(eval.space.kind == 0) + { + eval.space = rd_eval_space_from_ctrl_entity(ctrl_entity_from_handle(d_state->ctrl_entity_store, rd_regs()->process)); + } + Rng1U64 space_range = rd_whole_range_from_eval_space(eval.space); + U64 cursor = rd_value_from_params_key(params, str8_lit("cursor_vaddr")).u64; + U64 mark = rd_value_from_params_key(params, str8_lit("mark_vaddr")).u64; + U64 bytes_per_cell = rd_value_from_params_key(params, str8_lit("bytes_per_cell")).u64; + U64 num_columns = rd_value_from_params_key(params, str8_lit("num_columns")).u64; + if(num_columns == 0) + { + num_columns = 16; + } + num_columns = ClampBot(1, num_columns); + bytes_per_cell = ClampBot(1, bytes_per_cell); + + ////////////////////////////// + //- rjf: process commands + // for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) { RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name); @@ -7098,34 +6977,6 @@ RD_VIEW_CMD_FUNCTION_DEF(memory) }break; } } -} - -RD_VIEW_UI_FUNCTION_DEF(memory) -{ - ProfBeginFunction(); - Temp scratch = scratch_begin(0, 0); - HS_Scope *hs_scope = hs_scope_open(); - RD_MemoryViewState *mv = rd_view_user_state(view, RD_MemoryViewState); - - ////////////////////////////// - //- rjf: unpack parameterization info - // - E_Eval eval = e_eval_from_string(scratch.arena, string); - if(eval.space.kind == 0) - { - eval.space = rd_eval_space_from_ctrl_entity(ctrl_entity_from_handle(d_state->ctrl_entity_store, rd_regs()->process)); - } - Rng1U64 space_range = rd_whole_range_from_eval_space(eval.space); - U64 cursor = rd_value_from_params_key(params, str8_lit("cursor_vaddr")).u64; - U64 mark = rd_value_from_params_key(params, str8_lit("mark_vaddr")).u64; - U64 bytes_per_cell = rd_value_from_params_key(params, str8_lit("bytes_per_cell")).u64; - U64 num_columns = rd_value_from_params_key(params, str8_lit("num_columns")).u64; - if(num_columns == 0) - { - num_columns = 16; - } - num_columns = ClampBot(1, num_columns); - bytes_per_cell = ClampBot(1, bytes_per_cell); ////////////////////////////// //- rjf: unpack visual params @@ -7962,7 +7813,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(bitmap) rd_view_equip_loading_info(view, 1, 0, 0); view->loading_t = view->loading_t_target = 1.f; } -RD_VIEW_CMD_FUNCTION_DEF(bitmap) {} RD_VIEW_UI_FUNCTION_DEF(bitmap) { Temp scratch = scratch_begin(0, 0); @@ -8274,7 +8124,6 @@ RD_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba) } RD_VIEW_SETUP_FUNCTION_DEF(color_rgba) {} -RD_VIEW_CMD_FUNCTION_DEF(color_rgba) {} RD_VIEW_UI_FUNCTION_DEF(color_rgba) { Temp scratch = scratch_begin(0, 0); @@ -8386,7 +8235,6 @@ RD_VIEW_SETUP_FUNCTION_DEF(geo3d) rd_view_equip_loading_info(view, 1, 0, 0); view->loading_t = view->loading_t_target = 1.f; } -RD_VIEW_CMD_FUNCTION_DEF(geo3d) {} RD_VIEW_UI_FUNCTION_DEF(geo3d) { Temp scratch = scratch_begin(0, 0); @@ -8504,7 +8352,6 @@ RD_VIEW_UI_FUNCTION_DEF(geo3d) //~ rjf: exception_filters @view_hook_impl RD_VIEW_SETUP_FUNCTION_DEF(exception_filters) {} -RD_VIEW_CMD_FUNCTION_DEF(exception_filters) {} RD_VIEW_UI_FUNCTION_DEF(exception_filters) { ProfBeginFunction(); @@ -8713,7 +8560,6 @@ rd_qsort_compare_settings_item(RD_SettingsItem *a, RD_SettingsItem *b) } RD_VIEW_SETUP_FUNCTION_DEF(settings){} -RD_VIEW_CMD_FUNCTION_DEF(settings){} RD_VIEW_UI_FUNCTION_DEF(settings) { ProfBeginFunction(); diff --git a/src/raddbg/raddbg_views.h b/src/raddbg/raddbg_views.h index f4416770..239a2fd4 100644 --- a/src/raddbg/raddbg_views.h +++ b/src/raddbg/raddbg_views.h @@ -151,7 +151,6 @@ struct RD_WatchViewState //~ rjf: Code View Functions internal void rd_code_view_init(RD_CodeViewState *cv, RD_View *view); -internal void rd_code_view_cmds(RD_View *view, RD_CodeViewState *cv, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key); internal RD_CodeViewBuildResult rd_code_view_build(Arena *arena, RD_View *view, RD_CodeViewState *cv, RD_CodeViewBuildFlags flags, Rng2F32 rect, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key); //////////////////////////////// diff --git a/src/raddbg/raddbg_widgets.c b/src/raddbg/raddbg_widgets.c index f4dbdf99..765e137d 100644 --- a/src/raddbg/raddbg_widgets.c +++ b/src/raddbg/raddbg_widgets.c @@ -972,6 +972,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe UI_Palette *margin_contents_palette = ui_build_palette(rd_palette_from_code(RD_PaletteCode_Floating)); margin_contents_palette->background = v4f32(0, 0, 0, 0); F32 line_num_padding_px = ui_top_font_size()*1.f; + F32 entity_alive_t_rate = 1 - pow_f32(2, (-30.f * rd_state->frame_dt)); ////////////////////////////// //- rjf: build top-level container @@ -1109,7 +1110,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe { RD_ThreadBoxDrawExtData *u = push_array(ui_build_arena(), RD_ThreadBoxDrawExtData, 1); u->thread_color = color; - u->alive_t = ui_anim(ui_key_from_stringf(top_container_box->key, "###thread_alive_t_%p", thread), 1.f); + u->alive_t = ui_anim(ui_key_from_stringf(top_container_box->key, "###thread_alive_t_%p", thread), 1.f, .rate = entity_alive_t_rate); u->is_selected = (thread == selected_thread); u->is_frozen = !!thread->is_frozen; u->do_lines = rd_setting_val_from_code(RD_SettingCode_ThreadLines).s32; @@ -1269,7 +1270,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe { RD_ThreadBoxDrawExtData *u = push_array(ui_build_arena(), RD_ThreadBoxDrawExtData, 1); u->thread_color = color; - u->alive_t = ui_anim(ui_key_from_stringf(top_container_box->key, "###thread_alive_t_%p", thread), 1.f); + u->alive_t = ui_anim(ui_key_from_stringf(top_container_box->key, "###thread_alive_t_%p", thread), 1.f, .rate = entity_alive_t_rate); u->is_selected = (thread == selected_thread); u->is_frozen = !!thread->is_frozen; ui_box_equip_custom_draw(thread_box, rd_thread_box_draw_extensions, u); @@ -1352,7 +1353,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe RD_BreakpointBoxDrawExtData *bp_draw = push_array(ui_build_arena(), RD_BreakpointBoxDrawExtData, 1); { bp_draw->color = bp_color; - bp_draw->alive_t = bp->alive_t; + bp_draw->alive_t = ui_anim(ui_key_from_stringf(ui_key_zero(), "bp_alive_t_%p", bp), 1.f, .rate = entity_alive_t_rate); bp_draw->do_lines = rd_setting_val_from_code(RD_SettingCode_BreakpointLines).s32; bp_draw->do_glow = rd_setting_val_from_code(RD_SettingCode_BreakpointGlow).s32; if(rd_regs()->file_path.size != 0) diff --git a/src/ui/ui_core.c b/src/ui/ui_core.c index 72744db1..f16a934e 100644 --- a/src/ui/ui_core.c +++ b/src/ui/ui_core.c @@ -2982,6 +2982,7 @@ ui_anim_(UI_Key key, UI_AnimParams *params) node->first_touched_build_index = ui_state->build_index; node->key = key; MemoryCopyStruct(&node->params, params); + node->current = params->initial; DLLPushBack_NPZ(&ui_nil_anim_node, slot->first, slot->last, node, slot_next, slot_prev); } else @@ -2998,7 +2999,7 @@ ui_anim_(UI_Key key, UI_AnimParams *params) { node->params.epsilon = (node->params.target - node->params.initial) / 10000.f; } - return node->current;; + return node->current; } //////////////////////////////// diff --git a/src/ui/ui_core.h b/src/ui/ui_core.h index d9890aac..a1d17200 100644 --- a/src/ui/ui_core.h +++ b/src/ui/ui_core.h @@ -903,7 +903,7 @@ read_only global UI_AnimNode ui_nil_anim_node = }; internal F32 ui_anim_(UI_Key key, UI_AnimParams *params); -#define ui_anim(key, target_val, ...) ui_anim_((key), &(UI_AnimParams){.target = (target_val), __VA_ARGS__, .rate = (ui_state->default_animation_rate)}) +#define ui_anim(key, target_val, ...) ui_anim_((key), &(UI_AnimParams){.target = (target_val), .rate = (ui_state->default_animation_rate), __VA_ARGS__}) //////////////////////////////// //~ rjf: Stacks