fix nil text visualizations; fix auto-load-recent-project

This commit is contained in:
Ryan Fleury
2026-06-09 14:56:34 -07:00
parent 5ae286d67e
commit fde13f52d3
7 changed files with 26 additions and 11 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ target:
{ {
executable: "build/raddbg.exe" executable: "build/raddbg.exe"
working_directory: "../raddebugger" working_directory: "../raddebugger"
arguments: "--user:C:/devel/raddebugger/build/raddbg_test.user --project:C:/devel/raddebugger/build/raddbg_test.project" arguments: "--user:C:/devel/raddebugger/build/raddbg_test.user"
debug_subprocesses: 0 debug_subprocesses: 0
enabled: 1 enabled: 1
} }
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -318,7 +318,7 @@ RD_VocabTable:
'auto_load_last_project': bool, 'auto_load_last_project': bool,
//- rjf: symbol server //- rjf: symbol server
@default(0) @display_name('Auto Download Debug Info') @Description("Automatically tries to download missing debug info from symbol server(s).") @default(0) @display_name('Auto Download Debug Info') @description("Automatically tries to download missing debug info from symbol server(s).")
'auto_download_debug_info': bool, 'auto_download_debug_info': bool,
} }
``` ```
+8 -7
View File
@@ -331,6 +331,7 @@ rd_setting_from_name(String8 name)
CfgSeedTask panel_task = {0, &cfg_nil_node, 1}; CfgSeedTask panel_task = {0, &cfg_nil_node, 1};
if(panel_task.cfg == &cfg_nil_node) { panel_task.cfg = cfg_node_from_id(rd_regs()->panel); } if(panel_task.cfg == &cfg_nil_node) { panel_task.cfg = cfg_node_from_id(rd_regs()->panel); }
if(panel_task.cfg == &cfg_nil_node) { panel_task.cfg = cfg_node_from_id(rd_regs()->window); } if(panel_task.cfg == &cfg_nil_node) { panel_task.cfg = cfg_node_from_id(rd_regs()->window); }
if(panel_task.cfg == &cfg_nil_node) { panel_task.cfg = cfg_node_child_from_string(cfg_node_root(), s("user")); }
CfgSeedTask view_task = {&panel_task, view_cfg, 1}; CfgSeedTask view_task = {&panel_task, view_cfg, 1};
CfgSeedTask *first_task = &view_task; CfgSeedTask *first_task = &view_task;
CfgSeedTask *last_task = &panel_task; CfgSeedTask *last_task = &panel_task;
@@ -11186,8 +11187,7 @@ rd_frame(void)
////////////////////////////// //////////////////////////////
//- rjf: apply debug info config trees -> loaded debug info cache //- rjf: apply debug info config trees -> loaded debug info cache
// //
B32 auto_download_debug_info = rd_setting_b32_from_name(s("auto_download_debug_info")); di_set_auto_downloads(rd_state->auto_download_debug_info);
di_set_auto_downloads(auto_download_debug_info);
ProfScope("apply debug info config trees -> loaded debug info cache") ProfScope("apply debug info config trees -> loaded debug info cache")
{ {
U64 current_update_tick_idx = update_tick_idx(); U64 current_update_tick_idx = update_tick_idx();
@@ -12757,11 +12757,12 @@ rd_frame(void)
//- rjf: evaluate unpacked settings (must be used earlier than this point in the frame, //- rjf: evaluate unpacked settings (must be used earlier than this point in the frame,
// but cannot evaluate before this point, so we need to prep for next frame // but cannot evaluate before this point, so we need to prep for next frame
// //
rd_state->alt_menu_bar_enabled = rd_setting_b32_from_name(str8_lit("focus_menu_bar_with_alt")); rd_state->alt_menu_bar_enabled = rd_setting_b32_from_name(s("focus_menu_bar_with_alt"));
rd_state->use_default_stl_type_views = rd_setting_b32_from_name(str8_lit("use_default_stl_type_views")); rd_state->use_default_stl_type_views = rd_setting_b32_from_name(s("use_default_stl_type_views"));
rd_state->use_default_ue_type_views = rd_setting_b32_from_name(str8_lit("use_default_ue_type_views")); rd_state->use_default_ue_type_views = rd_setting_b32_from_name(s("use_default_ue_type_views"));
rd_state->auto_download_debug_info = rd_setting_b32_from_name(s("auto_download_debug_info"));
rd_state->eval_viz_base_string_flags = 0; rd_state->eval_viz_base_string_flags = 0;
if(rd_setting_b32_from_name(str8_lit("display_pointer_addresses_before_contents"))) if(rd_setting_b32_from_name(s("display_pointer_addresses_before_contents")))
{ {
rd_state->eval_viz_base_string_flags |= EV_StringFlag_AddressesBeforeContent; rd_state->eval_viz_base_string_flags |= EV_StringFlag_AddressesBeforeContent;
} }
@@ -17346,7 +17347,7 @@ rd_frame(void)
} }
U64 cmd_count_pre_tick = rd_state->cmds[0].count; U64 cmd_count_pre_tick = rd_state->cmds[0].count;
B32 soft_halt_issued = d_user_state->ctrl_soft_halt_issued; B32 soft_halt_issued = d_user_state->ctrl_soft_halt_issued;
D_EventList engine_events = d_tick(scratch.arena, &targets, &breakpoints, &path_maps, exception_code_filters, auto_download_debug_info); D_EventList engine_events = d_tick(scratch.arena, &targets, &breakpoints, &path_maps, exception_code_filters, rd_state->auto_download_debug_info);
//////////////////////////// ////////////////////////////
//- rjf: process debug engine events //- rjf: process debug engine events
+1
View File
@@ -414,6 +414,7 @@ struct RD_State
B32 alt_menu_bar_enabled; B32 alt_menu_bar_enabled;
B32 use_default_stl_type_views; B32 use_default_stl_type_views;
B32 use_default_ue_type_views; B32 use_default_ue_type_views;
B32 auto_download_debug_info;
EV_StringFlags eval_viz_base_string_flags; EV_StringFlags eval_viz_base_string_flags;
// rjf: animation rates // rjf: animation rates
+6 -1
View File
@@ -3002,13 +3002,18 @@ txt_text_info_from_hash_lang(Access *access, U128 hash, TXT_LangKind lang)
} key = {hash, lang}; } key = {hash, lang};
#pragma pack(pop) #pragma pack(pop)
String8 key_string = str8_struct(&key); String8 key_string = str8_struct(&key);
AC_Artifact artifact = ac_artifact_from_key(access, key_string, txt_artifact_create, txt_artifact_destroy, 0, .flags = AC_Flag_Wide); B32 stale = 0;
AC_Artifact artifact = ac_artifact_from_key(access, key_string, txt_artifact_create, txt_artifact_destroy, 0, .flags = AC_Flag_Wide, .stale_out = &stale);
TXT_Artifact *txt_artifact = (TXT_Artifact *)artifact.u64[0]; TXT_Artifact *txt_artifact = (TXT_Artifact *)artifact.u64[0];
TXT_TextInfo info = {0}; TXT_TextInfo info = {0};
if(txt_artifact != 0) if(txt_artifact != 0)
{ {
info = txt_artifact->info; info = txt_artifact->info;
} }
else if(!stale)
{
info = txt_info_nil;
}
return info; return info;
} }
+8
View File
@@ -177,6 +177,14 @@ typedef TXT_TokenArray TXT_LangLexFunctionType(Arena *arena, U64 *bytes_processe
//~ rjf: Globals //~ rjf: Globals
read_only global TXT_ScopeNode txt_scope_node_nil = {0}; read_only global TXT_ScopeNode txt_scope_node_nil = {0};
read_only global Rng1U64 txt_info_line_range_nil = {0};
read_only global TXT_TextInfo txt_info_nil =
{
1,
&txt_info_line_range_nil,
0,
TXT_LineEndKind_Null,
};
//////////////////////////////// ////////////////////////////////
//~ rjf: Basic Helpers //~ rjf: Basic Helpers