dbg_gfx -> dbg_frontend; fix force-confirm commands; more naming passes

This commit is contained in:
Ryan Fleury
2024-08-28 16:59:21 -07:00
parent 269abf661f
commit 1c62787758
15 changed files with 120 additions and 120 deletions
+18 -18
View File
@@ -755,7 +755,7 @@ d_handle_list_from_entity_list(Arena *arena, D_EntityList entities)
//- rjf: entity recursion iterators
internal D_EntityRec
d_entity_rec_df(D_Entity *entity, D_Entity *subtree_root, U64 sib_off, U64 child_off)
d_entity_rec_depth_first(D_Entity *entity, D_Entity *subtree_root, U64 sib_off, U64 child_off)
{
D_EntityRec result = {0};
if(!d_entity_is_nil(*MemberFromOffset(D_Entity **, entity, child_off)))
@@ -1863,7 +1863,7 @@ d_push_entity_list_with_kind(Arena *arena, D_EntityKind kind)
D_EntityList result = {0};
for(D_Entity *entity = d_state->entities_root;
!d_entity_is_nil(entity);
entity = d_entity_rec_df_pre(entity, &d_nil_entity).next)
entity = d_entity_rec_depth_first_pre(entity, &d_nil_entity).next)
{
if(entity->kind == kind)
{
@@ -1880,7 +1880,7 @@ d_entity_from_id(D_EntityID id)
D_Entity *result = &d_nil_entity;
for(D_Entity *e = d_entity_root();
!d_entity_is_nil(e);
e = d_entity_rec_df_pre(e, &d_nil_entity).next)
e = d_entity_rec_depth_first_pre(e, &d_nil_entity).next)
{
if(e->id == id)
{
@@ -1897,7 +1897,7 @@ d_machine_entity_from_machine_id(CTRL_MachineID machine_id)
D_Entity *result = &d_nil_entity;
for(D_Entity *e = d_entity_root();
!d_entity_is_nil(e);
e = d_entity_rec_df_pre(e, &d_nil_entity).next)
e = d_entity_rec_depth_first_pre(e, &d_nil_entity).next)
{
if(e->kind == D_EntityKind_Machine && e->ctrl_machine_id == machine_id)
{
@@ -1921,7 +1921,7 @@ d_entity_from_ctrl_handle(CTRL_MachineID machine_id, DMN_Handle handle)
{
for(D_Entity *e = d_entity_root();
!d_entity_is_nil(e);
e = d_entity_rec_df_pre(e, &d_nil_entity).next)
e = d_entity_rec_depth_first_pre(e, &d_nil_entity).next)
{
if(e->flags & D_EntityFlag_HasCtrlMachineID &&
e->flags & D_EntityFlag_HasCtrlHandle &&
@@ -1944,7 +1944,7 @@ d_entity_from_ctrl_id(CTRL_MachineID machine_id, U32 id)
{
for(D_Entity *e = d_entity_root();
!d_entity_is_nil(e);
e = d_entity_rec_df_pre(e, &d_nil_entity).next)
e = d_entity_rec_depth_first_pre(e, &d_nil_entity).next)
{
if(e->flags & D_EntityFlag_HasCtrlMachineID &&
e->flags & D_EntityFlag_HasCtrlID &&
@@ -2033,7 +2033,7 @@ internal B32
d_entity_is_frozen(D_Entity *entity)
{
B32 is_frozen = !d_entity_is_nil(entity);
for(D_Entity *e = entity; !d_entity_is_nil(e); e = d_entity_rec_df_pre(e, entity).next)
for(D_Entity *e = entity; !d_entity_is_nil(e); e = d_entity_rec_depth_first_pre(e, entity).next)
{
if(e->kind == D_EntityKind_Thread)
{
@@ -4914,12 +4914,12 @@ d_eval_viz_row_list_push_new(Arena *arena, D_EvalView *eval_view, D_EvalVizWindo
}
// rjf: determine row ui hook to use for this row
DF_GfxViewRuleSpec *value_ui_rule_spec = &df_g_nil_gfx_view_rule_spec;
DF_ViewRuleSpec *value_ui_rule_spec = &df_g_nil_gfx_view_rule_spec;
MD_Node *value_ui_rule_params = &md_nil_node;
for(D_CfgVal *val = cfg_table->first_val; val != 0 && val != &d_nil_cfg_val; val = val->linear_next)
{
DF_GfxViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec->info.flags & DF_GfxViewRuleSpecInfoFlag_RowUI)
DF_ViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec->info.flags & DF_ViewRuleSpecInfoFlag_RowUI)
{
value_ui_rule_spec = spec;
value_ui_rule_params = val->last->root;
@@ -4928,14 +4928,14 @@ d_eval_viz_row_list_push_new(Arena *arena, D_EvalView *eval_view, D_EvalVizWindo
}
// rjf: determine block ui hook to use for this row
DF_GfxViewRuleSpec *expand_ui_rule_spec = &df_g_nil_gfx_view_rule_spec;
DF_ViewRuleSpec *expand_ui_rule_spec = &df_g_nil_gfx_view_rule_spec;
MD_Node *expand_ui_rule_params = &md_nil_node;
if(block->kind == D_EvalVizBlockKind_Canvas)
{
for(D_CfgVal *val = cfg_table->first_val; val != 0 && val != &d_nil_cfg_val; val = val->linear_next)
{
DF_GfxViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec->info.flags & DF_GfxViewRuleSpecInfoFlag_ViewUI)
DF_ViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec->info.flags & DF_ViewRuleSpecInfoFlag_ViewUI)
{
expand_ui_rule_spec = spec;
expand_ui_rule_params = val->last->root;
@@ -5569,7 +5569,7 @@ d_cfg_strings_from_core(Arena *arena, String8 root_path, D_CfgSrc source)
for(D_Entity *e = entity; !d_entity_is_nil(e); e = rec.next)
{
//- rjf: get next iteration
rec = d_entity_rec_df_pre(e, entity);
rec = d_entity_rec_depth_first_pre(e, entity);
//- rjf: unpack entity info
typedef U32 EntityInfoFlags;
@@ -6450,7 +6450,7 @@ d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt)
{
for(D_Entity *entity = d_entity_root();
!d_entity_is_nil(entity);
entity = d_entity_rec_df_pre(entity, d_entity_root()).next)
entity = d_entity_rec_depth_first_pre(entity, d_entity_root()).next)
{
if(entity->flags & D_EntityFlag_DiesOnRunStop)
{
@@ -7939,7 +7939,7 @@ d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt)
{
B32 should_freeze = (core_cmd_kind == D_CmdKind_FreezeEntity);
D_Entity *root = d_entity_from_handle(params.entity);
for(D_Entity *e = root; !d_entity_is_nil(e); e = d_entity_rec_df_pre(e, root).next)
for(D_Entity *e = root; !d_entity_is_nil(e); e = d_entity_rec_depth_first_pre(e, root).next)
{
if(e->kind == D_EntityKind_Thread)
{
@@ -8567,13 +8567,13 @@ d_end_frame(void)
{
for(D_Entity *entity = d_entity_root(), *next = 0; !d_entity_is_nil(entity); entity = next)
{
next = d_entity_rec_df_pre(entity, &d_nil_entity).next;
next = d_entity_rec_depth_first_pre(entity, &d_nil_entity).next;
if(entity->flags & D_EntityFlag_MarkedForDeletion)
{
B32 undoable = (d_entity_kind_flags_table[entity->kind] & D_EntityKindFlag_UserDefinedLifetime);
// rjf: fixup next entity to iterate to
next = d_entity_rec_df(entity, &d_nil_entity, OffsetOf(D_Entity, next), OffsetOf(D_Entity, next)).next;
next = d_entity_rec_depth_first(entity, &d_nil_entity, OffsetOf(D_Entity, next), OffsetOf(D_Entity, next)).next;
// rjf: eliminate root entity if we're freeing it
if(entity == d_state->entities_root)
+5 -5
View File
@@ -710,9 +710,9 @@ struct D_EvalVizRow
// rjf: view rule attachments
D_CfgTable *cfg_table;
struct DF_GfxViewRuleSpec *expand_ui_rule_spec;
struct DF_ViewRuleSpec *expand_ui_rule_spec;
MD_Node *expand_ui_rule_params;
struct DF_GfxViewRuleSpec *value_ui_rule_spec;
struct DF_ViewRuleSpec *value_ui_rule_spec;
MD_Node *value_ui_rule_params;
};
@@ -1241,9 +1241,9 @@ internal D_EntityList d_entity_list_from_handle_list(Arena *arena, D_HandleList
internal D_HandleList d_handle_list_from_entity_list(Arena *arena, D_EntityList entities);
//- rjf: entity recursion iterators
internal D_EntityRec d_entity_rec_df(D_Entity *entity, D_Entity *subtree_root, U64 sib_off, U64 child_off);
#define d_entity_rec_df_pre(entity, subtree_root) d_entity_rec_df((entity), (subtree_root), OffsetOf(D_Entity, next), OffsetOf(D_Entity, first))
#define d_entity_rec_df_post(entity, subtree_root) d_entity_rec_df((entity), (subtree_root), OffsetOf(D_Entity, prev), OffsetOf(D_Entity, last))
internal D_EntityRec d_entity_rec_depth_first(D_Entity *entity, D_Entity *subtree_root, U64 sib_off, U64 child_off);
#define d_entity_rec_depth_first_pre(entity, subtree_root) d_entity_rec_depth_first((entity), (subtree_root), OffsetOf(D_Entity, next), OffsetOf(D_Entity, first))
#define d_entity_rec_depth_first_post(entity, subtree_root) d_entity_rec_depth_first((entity), (subtree_root), OffsetOf(D_Entity, prev), OffsetOf(D_Entity, last))
//- rjf: ancestor/child introspection
internal D_Entity *d_entity_child_from_kind(D_Entity *entity, D_EntityKind kind);
@@ -318,7 +318,7 @@ D_CmdParamSlot2ViewSpecMap:
// NOTE(rjf): see @view_rule_info
@table(string vr ls ru vu)
DF_GfxViewRuleTable:
DF_ViewRuleTable:
{
{"array" - - - - }
{"list" x - - - }
@@ -341,20 +341,20 @@ DF_GfxViewRuleTable:
@gen
{
``;
@expand(DF_GfxViewRuleTable a)
@expand(DF_ViewRuleTable a)
`$(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_GfxViewRuleTable a)
@expand(DF_ViewRuleTable a)
`$(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_GfxViewRuleTable a)
@expand(DF_ViewRuleTable a)
`$(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_GfxViewRuleTable a)
@expand(DF_ViewRuleTable a)
`$(a.bu == "x" -> "DF_GFX_VIEW_RULE_BLOCK_UI_FUNCTION_DEF(" .. a.name_lower .. ");")`;
}
@data(DF_GfxViewRuleSpecInfo) @c_file df_g_gfx_view_rule_spec_info_table:
@data(DF_ViewRuleSpecInfo) @c_file df_g_gfx_view_rule_spec_info_table:
{
@expand(DF_GfxViewRuleTable a)
```{ str8_lit_comp("$(a.string)"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_GfxViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_GfxViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_GfxViewRuleSpecInfoFlag_ViewUI*$(a.vu == "x")), $(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0) }```;
@expand(DF_ViewRuleTable a)
```{ str8_lit_comp("$(a.string)"), (DF_ViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_ViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_ViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_ViewRuleSpecInfoFlag_ViewUI*$(a.vu == "x")), $(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0) }```;
}
////////////////////////////////
@@ -7,7 +7,7 @@
////////////////////////////////
//~ rjf: Generated Code
#include "generated/dbg_gfx.meta.c"
#include "generated/dbg_frontend.meta.c"
////////////////////////////////
//~ rjf: Basic Helpers
@@ -697,12 +697,12 @@ df_view_spec_from_cmd_param_slot_spec(D_CmdParamSlot slot, D_CmdSpec *cmd_spec)
//~ rjf: View Rule Spec State Functions
internal void
df_register_gfx_view_rule_specs(DF_GfxViewRuleSpecInfoArray specs)
df_register_gfx_view_rule_specs(DF_ViewRuleSpecInfoArray specs)
{
for(U64 idx = 0; idx < specs.count; idx += 1)
{
// rjf: extract info from array slot
DF_GfxViewRuleSpecInfo *info = &specs.v[idx];
DF_ViewRuleSpecInfo *info = &specs.v[idx];
// rjf: skip empties
if(info->string.size == 0)
@@ -715,24 +715,24 @@ df_register_gfx_view_rule_specs(DF_GfxViewRuleSpecInfoArray specs)
U64 slot_idx = hash%df_gfx_state->view_rule_spec_table_size;
// rjf: allocate node & push
DF_GfxViewRuleSpec *spec = push_array(df_gfx_state->arena, DF_GfxViewRuleSpec, 1);
DF_ViewRuleSpec *spec = push_array(df_gfx_state->arena, DF_ViewRuleSpec, 1);
SLLStackPush_N(df_gfx_state->view_rule_spec_table[slot_idx], spec, hash_next);
// rjf: fill node
DF_GfxViewRuleSpecInfo *info_copy = &spec->info;
DF_ViewRuleSpecInfo *info_copy = &spec->info;
MemoryCopyStruct(info_copy, info);
info_copy->string = push_str8_copy(df_gfx_state->arena, info->string);
}
}
internal DF_GfxViewRuleSpec *
internal DF_ViewRuleSpec *
df_gfx_view_rule_spec_from_string(String8 string)
{
DF_GfxViewRuleSpec *spec = &df_g_nil_gfx_view_rule_spec;
DF_ViewRuleSpec *spec = &df_g_nil_gfx_view_rule_spec;
{
U64 hash = d_hash_from_string(string);
U64 slot_idx = hash%df_gfx_state->view_rule_spec_table_size;
for(DF_GfxViewRuleSpec *s = df_gfx_state->view_rule_spec_table[slot_idx]; s != 0; s = s->hash_next)
for(DF_ViewRuleSpec *s = df_gfx_state->view_rule_spec_table[slot_idx]; s != 0; s = s->hash_next)
{
if(str8_match(string, s->info.string, 0))
{
@@ -3799,7 +3799,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
ui_labelf("%S: %S", d_entity_kind_display_string_table[e->kind], e->name);
}
}
rec = d_entity_rec_df_pre(e, d_entity_root());
rec = d_entity_rec_depth_first_pre(e, d_entity_root());
indent += rec.push_count;
indent -= rec.pop_count;
}
@@ -12858,7 +12858,7 @@ df_gfx_init(OS_WindowRepaintFunctionType *window_repaint_entry_point, D_StateDel
df_gfx_state->view_spec_table_size = 256;
df_gfx_state->view_spec_table = push_array(arena, DF_ViewSpec *, df_gfx_state->view_spec_table_size);
df_gfx_state->view_rule_spec_table_size = 1024;
df_gfx_state->view_rule_spec_table = push_array(arena, DF_GfxViewRuleSpec *, d_state->view_rule_spec_table_size);
df_gfx_state->view_rule_spec_table = push_array(arena, DF_ViewRuleSpec *, d_state->view_rule_spec_table_size);
df_gfx_state->view_rule_block_slots_count = 1024;
df_gfx_state->view_rule_block_slots = push_array(arena, DF_ViewRuleBlockSlot, df_gfx_state->view_rule_block_slots_count);
df_gfx_state->string_search_arena = arena_alloc();
@@ -12877,7 +12877,7 @@ df_gfx_init(OS_WindowRepaintFunctionType *window_repaint_entry_point, D_StateDel
// rjf: register gfx layer view rules
{
DF_GfxViewRuleSpecInfoArray array = {df_g_gfx_view_rule_spec_info_table, ArrayCount(df_g_gfx_view_rule_spec_info_table)};
DF_ViewRuleSpecInfoArray array = {df_g_gfx_view_rule_spec_info_table, ArrayCount(df_g_gfx_view_rule_spec_info_table)};
df_register_gfx_view_rule_specs(array);
}
@@ -13097,7 +13097,7 @@ df_gfx_begin_frame(Arena *arena, D_CmdList *cmds)
df_gfx_state->last_window_queued_save = 1;
d_cmd(D_CmdKind_WriteUserData);
d_cmd(D_CmdKind_WriteProjectData);
d_cmd(D_CmdKind_CloseWindow, .window = df_handle_from_window(ws));
d_cmd(D_CmdKind_CloseWindow, .force_confirm = 1, .window = df_handle_from_window(ws));
}
// NOTE(rjf): if this is the last window and we've queued the final autosave,
@@ -13900,7 +13900,7 @@ df_gfx_begin_frame(Arena *arena, D_CmdList *cmds)
//- rjf: animate alive-transitions for entities
{
F32 rate = 1.f - pow_f32(2.f, -20.f*d_dt());
for(D_Entity *e = d_entity_root(); !d_entity_is_nil(e); e = d_entity_rec_df_pre(e, d_entity_root()).next)
for(D_Entity *e = d_entity_root(); !d_entity_is_nil(e); e = d_entity_rec_depth_first_pre(e, d_entity_root()).next)
{
F32 diff = (1.f - e->alive_t);
e->alive_t += diff * rate;
@@ -1,8 +1,8 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#ifndef DBG_GFX_CORE_H
#define DBG_GFX_CORE_H
#ifndef DBG_FRONTEND_CORE_H
#define DBG_FRONTEND_CORE_H
////////////////////////////////
//~ rjf: Basic Types
@@ -332,13 +332,13 @@ struct DF_RichHoverInfo
////////////////////////////////
//~ rjf: View Rule Spec Types
typedef U32 DF_GfxViewRuleSpecInfoFlags; // NOTE(rjf): see @view_rule_info
typedef U32 DF_ViewRuleSpecInfoFlags; // NOTE(rjf): see @view_rule_info
enum
{
DF_GfxViewRuleSpecInfoFlag_VizRowProd = (1<<0),
DF_GfxViewRuleSpecInfoFlag_LineStringize = (1<<1),
DF_GfxViewRuleSpecInfoFlag_RowUI = (1<<2),
DF_GfxViewRuleSpecInfoFlag_ViewUI = (1<<3),
DF_ViewRuleSpecInfoFlag_VizRowProd = (1<<0),
DF_ViewRuleSpecInfoFlag_LineStringize = (1<<1),
DF_ViewRuleSpecInfoFlag_RowUI = (1<<2),
DF_ViewRuleSpecInfoFlag_ViewUI = (1<<3),
};
#define DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(name) void name(void)
@@ -353,38 +353,38 @@ enum
#define DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(name) df_gfx_view_rule_row_ui__##name
#define DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(name) DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(name))
typedef DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_GfxViewRuleVizRowProdHookFunctionType);
typedef DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_GfxViewRuleLineStringizeHookFunctionType);
typedef DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_GfxViewRuleRowUIFunctionType);
typedef DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_ViewRuleVizRowProdHookFunctionType);
typedef DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_ViewRuleLineStringizeHookFunctionType);
typedef DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_ViewRuleRowUIFunctionType);
typedef struct DF_GfxViewRuleSpecInfo DF_GfxViewRuleSpecInfo;
struct DF_GfxViewRuleSpecInfo
typedef struct DF_ViewRuleSpecInfo DF_ViewRuleSpecInfo;
struct DF_ViewRuleSpecInfo
{
String8 string;
DF_GfxViewRuleSpecInfoFlags flags;
DF_GfxViewRuleVizRowProdHookFunctionType *viz_row_prod;
DF_GfxViewRuleLineStringizeHookFunctionType *line_stringize;
DF_GfxViewRuleRowUIFunctionType *row_ui;
DF_ViewRuleSpecInfoFlags flags;
DF_ViewRuleVizRowProdHookFunctionType *viz_row_prod;
DF_ViewRuleLineStringizeHookFunctionType *line_stringize;
DF_ViewRuleRowUIFunctionType *row_ui;
};
typedef struct DF_GfxViewRuleSpecInfoArray DF_GfxViewRuleSpecInfoArray;
struct DF_GfxViewRuleSpecInfoArray
typedef struct DF_ViewRuleSpecInfoArray DF_ViewRuleSpecInfoArray;
struct DF_ViewRuleSpecInfoArray
{
DF_GfxViewRuleSpecInfo *v;
DF_ViewRuleSpecInfo *v;
U64 count;
};
typedef struct DF_GfxViewRuleSpec DF_GfxViewRuleSpec;
struct DF_GfxViewRuleSpec
typedef struct DF_ViewRuleSpec DF_ViewRuleSpec;
struct DF_ViewRuleSpec
{
DF_GfxViewRuleSpec *hash_next;
DF_GfxViewRuleSpecInfo info;
DF_ViewRuleSpec *hash_next;
DF_ViewRuleSpecInfo info;
};
////////////////////////////////
//~ rjf: Generated Code
#include "generated/dbg_gfx.meta.h"
#include "generated/dbg_frontend.meta.h"
////////////////////////////////
//~ rjf: Theme Types
@@ -764,7 +764,7 @@ struct DF_GfxState
// rjf: view rule specs
U64 view_rule_spec_table_size;
DF_GfxViewRuleSpec **view_rule_spec_table;
DF_ViewRuleSpec **view_rule_spec_table;
// rjf: view rule block state
U64 view_rule_block_slots_count;
@@ -831,7 +831,7 @@ read_only global DF_ViewSpec df_g_nil_view_spec =
},
};
read_only global DF_GfxViewRuleSpec df_g_nil_gfx_view_rule_spec =
read_only global DF_ViewRuleSpec df_g_nil_gfx_view_rule_spec =
{
&df_g_nil_gfx_view_rule_spec,
};
@@ -952,8 +952,8 @@ internal DF_ViewSpec *df_view_spec_from_cmd_param_slot_spec(D_CmdParamSlot slot,
////////////////////////////////
//~ rjf: View Rule Spec State Functions
internal void df_register_gfx_view_rule_specs(DF_GfxViewRuleSpecInfoArray specs);
internal DF_GfxViewRuleSpec *df_gfx_view_rule_spec_from_string(String8 string);
internal void df_register_gfx_view_rule_specs(DF_ViewRuleSpecInfoArray specs);
internal DF_ViewRuleSpec *df_gfx_view_rule_spec_from_string(String8 string);
////////////////////////////////
//~ rjf: View State Functions
@@ -1134,4 +1134,4 @@ internal void df_gfx_init(OS_WindowRepaintFunctionType *window_repaint_entry_poi
internal void df_gfx_begin_frame(Arena *arena, D_CmdList *cmds);
internal void df_gfx_end_frame(void);
#endif // DBG_GFX_CORE_H
#endif // DBG_FRONTEND_CORE_H
@@ -1,7 +1,6 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#ifndef DBG_GFX_VIEW_RULES_H
#define DBG_GFX_VIEW_RULES_H
#endif // DF_VIEW_RULES_H
#include "dbg_frontend_core.c"
#include "dbg_frontend_views.c"
#include "dbg_frontend_view_rules.c"
+11
View File
@@ -0,0 +1,11 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#ifndef DBG_FRONTEND_INC_H
#define DBG_FRONTEND_INC_H
#include "dbg_frontend_core.h"
#include "dbg_frontend_views.h"
#include "dbg_frontend_view_rules.h"
#endif // DBG_GFX_INC_H
@@ -1,6 +1,7 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#include "dbg_gfx_core.c"
#include "dbg_gfx_views.c"
#include "dbg_gfx_view_rules.c"
#ifndef DBG_FRONTEND_VIEW_RULES_H
#define DBG_FRONTEND_VIEW_RULES_H
#endif // DBG_FRONTEND_VIEW_RULES_H
@@ -2293,7 +2293,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
UI_Parent(row_box) UI_FocusHot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off)
{
//- rjf: build canvas row contents
if(row->expand_ui_rule_spec->info.flags & DF_GfxViewRuleSpecInfoFlag_ViewUI)
if(row->expand_ui_rule_spec->info.flags & DF_ViewRuleSpecInfoFlag_ViewUI)
{
//- rjf: unpack
DF_WatchViewPoint pt = {0, row->parent_key, row->key};
@@ -2441,7 +2441,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
String8 cell_error_string = {0};
String8 cell_error_tooltip_string = {0};
DF_AutoCompListerFlags cell_autocomp_flags = 0;
DF_GfxViewRuleRowUIFunctionType *cell_ui_hook = 0;
DF_ViewRuleRowUIFunctionType *cell_ui_hook = 0;
MD_Node *cell_ui_params = &md_nil_node;
Vec4F32 cell_base_color = ui_top_palette()->text;
DF_IconKind cell_icon = DF_IconKind_Null;
@@ -2540,8 +2540,8 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
d_cfg_table_push_unparsed_string(scratch.arena, &col_cfg_table, col_view_rule, D_CfgSrc_User);
for(D_CfgVal *val = col_cfg_table.first_val; val != 0 && val != &d_nil_cfg_val; val = val->linear_next)
{
DF_GfxViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec != &df_g_nil_gfx_view_rule_spec && spec->info.flags & DF_GfxViewRuleSpecInfoFlag_RowUI)
DF_ViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec != &df_g_nil_gfx_view_rule_spec && spec->info.flags & DF_ViewRuleSpecInfoFlag_RowUI)
{
cell_ui_hook = spec->info.row_ui;
cell_ui_params = val->last->root;
@@ -1,8 +1,8 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#ifndef DBG_GFX_VIEWS_H
#define DBG_GFX_VIEWS_H
#ifndef DBG_FRONTEND_VIEWS_H
#define DBG_FRONTEND_VIEWS_H
////////////////////////////////
//~ rjf: Code View Types
@@ -188,4 +188,4 @@ internal void df_watch_view_init(DF_WatchViewState *ewv, DF_View *view, DF_Watch
internal void df_watch_view_cmds(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewState *ewv, D_CmdList *cmds);
internal void df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 default_radix, Rng2F32 rect);
#endif // DBG_GFX_VIEWS_H
#endif // DBG_FRONTEND_VIEWS_H
@@ -211,24 +211,24 @@ str8_lit_comp("goto_name"),
str8_lit_comp("add_function_breakpoint"),
};
DF_GfxViewRuleSpecInfo df_g_gfx_view_rule_spec_info_table[16] =
DF_ViewRuleSpecInfo df_g_gfx_view_rule_spec_info_table[16] =
{
{ str8_lit_comp("array"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, 0, 0 },
{ str8_lit_comp("list"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*1)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(list) , 0, 0 },
{ str8_lit_comp("dec"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(dec) , 0 },
{ str8_lit_comp("bin"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(bin) , 0 },
{ str8_lit_comp("oct"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(oct) , 0 },
{ str8_lit_comp("hex"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(hex) , 0 },
{ str8_lit_comp("only"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*1)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(only) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(only) , 0 },
{ str8_lit_comp("omit"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*1)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(omit) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(omit) , 0 },
{ str8_lit_comp("no_addr"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*1)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(no_addr) , 0 },
{ str8_lit_comp("checkbox"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*1)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*0), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(checkbox) },
{ str8_lit_comp("color_rgba"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*1)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(color_rgba) },
{ str8_lit_comp("text"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("disasm"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("memory"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("bitmap"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("geo3d"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*0)|(DF_GfxViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("array"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, 0, 0 },
{ str8_lit_comp("list"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(list) , 0, 0 },
{ str8_lit_comp("dec"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(dec) , 0 },
{ str8_lit_comp("bin"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(bin) , 0 },
{ str8_lit_comp("oct"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(oct) , 0 },
{ str8_lit_comp("hex"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(hex) , 0 },
{ str8_lit_comp("only"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(only) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(only) , 0 },
{ str8_lit_comp("omit"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(omit) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(omit) , 0 },
{ str8_lit_comp("no_addr"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(no_addr) , 0 },
{ str8_lit_comp("checkbox"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(checkbox) },
{ str8_lit_comp("color_rgba"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(color_rgba) },
{ str8_lit_comp("text"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("disasm"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("memory"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("bitmap"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("geo3d"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
};
String8 df_g_theme_preset_display_string_table[9] =
@@ -3,8 +3,8 @@
//- GENERATED CODE
#ifndef DBG_GFX_META_H
#define DBG_GFX_META_H
#ifndef DBG_FRONTEND_META_H
#define DBG_FRONTEND_META_H
typedef enum DF_GfxViewKind
{
@@ -5016,4 +5016,4 @@ read_only global String8 df_g_icon_file_bytes = {df_g_icon_file_bytes__data, siz
C_LINKAGE_END
#endif // DBG_GFX_META_H
#endif // DBG_FRONTEND_META_H
-11
View File
@@ -1,11 +0,0 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#ifndef DBG_GFX_INC_H
#define DBG_GFX_INC_H
#include "dbg_gfx_core.h"
#include "dbg_gfx_views.h"
#include "dbg_gfx_view_rules.h"
#endif // DBG_GFX_INC_H
+2 -2
View File
@@ -64,7 +64,7 @@
#include "draw/draw.h"
#include "ui/ui_inc.h"
#include "dbg_engine/dbg_engine_inc.h"
#include "dbg_gfx/dbg_gfx_inc.h"
#include "dbg_frontend/dbg_frontend_inc.h"
#include "raddbg.h"
//- rjf: [c]
@@ -104,7 +104,7 @@
#include "draw/draw.c"
#include "ui/ui_inc.c"
#include "dbg_engine/dbg_engine_inc.c"
#include "dbg_gfx/dbg_gfx_inc.c"
#include "dbg_frontend/dbg_frontend_inc.c"
#include "raddbg.c"
////////////////////////////////