diff --git a/src/dbg_engine/dbg_engine_core.c b/src/dbg_engine/dbg_engine_core.c index 06934731..4f2c6842 100644 --- a/src/dbg_engine/dbg_engine_core.c +++ b/src/dbg_engine/dbg_engine_core.c @@ -1695,13 +1695,6 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P rd_entity_equip_ctrl_handle(entity, event->entity); rd_entity_equip_ctrl_id(entity, event->entity_id); rd_entity_equip_arch(entity, event->arch); - - // rjf: report - D_EventNode *n = push_array(arena, D_EventNode, 1); - SLLQueuePush(result.first, result.last, n); - result.count += 1; - D_Event *evt = &n->v; - evt->kind = D_EventKind_ProcessBegin; }break; case CTRL_EventKind_NewThread: diff --git a/src/dbg_engine/dbg_engine_core.h b/src/dbg_engine/dbg_engine_core.h index bff7b910..b13bfc44 100644 --- a/src/dbg_engine/dbg_engine_core.h +++ b/src/dbg_engine/dbg_engine_core.h @@ -61,7 +61,6 @@ struct D_PathMapArray typedef enum D_EventKind { D_EventKind_Null, - D_EventKind_ProcessBegin, D_EventKind_Stop, D_EventKind_COUNT } diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index d31f2e38..73188828 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -8118,7 +8118,7 @@ rd_window_frame(RD_Window *ws) // rjf: draw border if(b->flags & UI_BoxFlag_DrawBorder) { - R_Rect2DInst *inst = dr_rect(pad_2f32(b->rect, 1), b->palette->colors[UI_ColorCode_Border], 0, 1.f, 1.f); + R_Rect2DInst *inst = dr_rect(pad_2f32(b->rect, 1.f), b->palette->colors[UI_ColorCode_Border], 0, 1.f, 1.f); MemoryCopyArray(inst->corner_radii, b->corner_radii); // rjf: hover effect diff --git a/src/raddbg/raddbg_main.c b/src/raddbg/raddbg_main.c index 070624df..42e60c4b 100644 --- a/src/raddbg/raddbg_main.c +++ b/src/raddbg/raddbg_main.c @@ -5,6 +5,7 @@ //~ rjf: 0.9.12 TODO notes // // [ ] remainder of @msgs pass: +// [ ] entity listers - kill-specific-process, etc. // [ ] new universal ctx menu, hover, tooltips systems // [ ] fix memory view // [ ] meta eval system @@ -41,6 +42,19 @@ // [x] modules view // [x] eval writing/committing // [x] breakpoint hit count resetting +// [x] reset bp hit counts - not just on NewProcess, but on RUN! because +// we are now evaluating them on the control thread... +// [x] fix bug where text info is evicted, and switching back to a tab scrolls +// to the top +// [x] reset bp hit counts - not just on NewProcess, but on RUN! because +// we are now evaluating them on the control thread... +// [x] fix bug where text info is evicted, and switching back to a tab scrolls +// to the top +// [x] targets view +// [x] ensure launch controls parameterize commands correctly) +// [x] ensure ctrl+click +// [x] scheduler view +// [x] eval committing //////////////////////////////// //~ rjf: post-0.9.12 TODO notes diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index d81ec714..9bd725f0 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -1187,7 +1187,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo FZY_Scope *fzy_scope = fzy_scope_open(); Temp scratch = scratch_begin(0, 0); UI_ScrollPt2 scroll_pos = rd_view_scroll_pos(); - F32 entity_hover_t_rate = 1 - pow_f32(2, (-20.f * rd_state->frame_dt)); + F32 entity_hover_t_rate = rd_setting_val_from_code(RD_SettingCode_HoverAnimations).s32 ? (1 - pow_f32(2, (-20.f * rd_state->frame_dt))) : 1.f; ////////////////////////////// //- rjf: unpack arguments @@ -2604,10 +2604,14 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo B32 is_frozen = ctrl_entity_tree_is_frozen(ctrl_entity); RD_IconKind icon_kind = rd_cmd_kind_info_table[ctrl->kind].icon_kind; UI_Palette *palette = ui_top_palette(); - if(ctrl->kind == RD_CmdKind_SelectEntity || ctrl->kind == RD_CmdKind_EnableEntity) + if(ctrl->kind == RD_CmdKind_SelectEntity) { icon_kind = entity->disabled ? RD_IconKind_RadioHollow : RD_IconKind_RadioFilled; } + if(ctrl->kind == RD_CmdKind_EnableEntity) + { + icon_kind = entity->disabled ? RD_IconKind_CheckHollow : RD_IconKind_CheckFilled; + } if(ctrl->kind == RD_CmdKind_SelectThread) { icon_kind = (ctrl_handle_match(ctrl_entity->handle, rd_base_regs()->thread) ? RD_IconKind_RadioFilled : RD_IconKind_RadioHollow); diff --git a/src/raddbg/raddbg_widgets.c b/src/raddbg/raddbg_widgets.c index e01eeb27..1d429b38 100644 --- a/src/raddbg/raddbg_widgets.c +++ b/src/raddbg/raddbg_widgets.c @@ -1002,8 +1002,8 @@ 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)); - F32 entity_hover_t_rate = 1 - pow_f32(2, (-20.f * rd_state->frame_dt)); + F32 entity_alive_t_rate = (1 - pow_f32(2, (-30.f * rd_state->frame_dt))); + F32 entity_hover_t_rate = rd_setting_val_from_code(RD_SettingCode_HoverAnimations).s32 ? (1 - pow_f32(2, (-20.f * rd_state->frame_dt))) : 1.f; ////////////////////////////// //- rjf: build top-level container @@ -1127,6 +1127,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe ui_set_next_text_alignment(UI_TextAlign_Center); UI_Key thread_box_key = ui_key_from_stringf(top_container_box->key, "###ip_%I64x_%p", line_num, thread); UI_Box *thread_box = ui_build_box_from_key(UI_BoxFlag_DisableTextTrunc| + UI_BoxFlag_DrawHotEffects| + UI_BoxFlag_DrawBorder| UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)| UI_BoxFlag_DrawText, thread_box_key); @@ -1275,6 +1277,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe ui_set_next_text_alignment(UI_TextAlign_Center); UI_Key thread_box_key = ui_key_from_stringf(top_container_box->key, "###ip_%I64x_catchall_%p", line_num, thread); UI_Box *thread_box = ui_build_box_from_key(UI_BoxFlag_DisableTextTrunc| + UI_BoxFlag_DrawHotEffects| + UI_BoxFlag_DrawBorder| UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)| UI_BoxFlag_DrawText, thread_box_key); @@ -1387,6 +1391,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe ui_set_next_palette(ui_build_palette(ui_top_palette(), .text = bp_color)); ui_set_next_text_alignment(UI_TextAlign_Center); UI_Box *bp_box = ui_build_box_from_stringf(UI_BoxFlag_DrawText| + UI_BoxFlag_DrawHotEffects| + UI_BoxFlag_DrawBorder| UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)| UI_BoxFlag_DisableTextTrunc, "%S##bp_%p", diff --git a/src/ui/ui_core.c b/src/ui/ui_core.c index 3d4213bf..368d12c0 100644 --- a/src/ui/ui_core.c +++ b/src/ui/ui_core.c @@ -3014,6 +3014,10 @@ ui_anim_(UI_Key key, UI_AnimParams *params) { node->params.epsilon = 0.01f; } + if(node->params.rate == 1) + { + node->current = node->params.target; + } return node->current; }