From 9e110bbe6de90f88fcde1ddde8c9fd3255143c1a Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 7 Oct 2025 17:23:58 -0700 Subject: [PATCH] resolve register space -> primary module space in all visualizers which work on, broadly speaking, ranges of memory --- src/raddbg/raddbg_views.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index 0c7a0bb5..431f1e9f 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -3962,6 +3962,16 @@ RD_VIEW_UI_FUNCTION_DEF(bitmap) Temp scratch = scratch_begin(0, 0); Access *access = access_open(); + ////////////////////////////// + //- rjf: if parameterized by a register-space evaluation, interpret as an + // address in the primary module. + // + if(e_space_match(eval.space, e_base_ctx->thread_reg_space)) + { + eval = e_value_eval_from_eval(eval); + eval.space = e_base_ctx->primary_module->space; + } + ////////////////////////////// //- rjf: evaluate expression // @@ -4544,6 +4554,16 @@ RD_VIEW_UI_FUNCTION_DEF(geo3d) Access *access = access_open(); RD_Geo3DViewState *state = rd_view_state(RD_Geo3DViewState); + ////////////////////////////// + //- rjf: if parameterized by a register-space evaluation, interpret as an + // address in the primary module. + // + if(e_space_match(eval.space, e_base_ctx->thread_reg_space)) + { + eval = e_value_eval_from_eval(eval); + eval.space = e_base_ctx->primary_module->space; + } + ////////////////////////////// //- rjf: unpack parameters //