mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-18 23:21:32 -07:00
entity from d -> df
This commit is contained in:
@@ -24,109 +24,6 @@ D_CfgSrcTable:
|
||||
@expand(D_CfgSrcTable a) `str8_lit_comp("$(a.string)")`,
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Kind Tables
|
||||
|
||||
@table(name name_lower name_lower_plural op_delete op_freeze op_edit op_rename op_enable op_cond op_dup name_is_code name_is_path user_lifetime is_serialized name_label icon_kind display_string)
|
||||
// | |
|
||||
// | _____________________________________________________________________________________________________________________________________/
|
||||
// | /
|
||||
// operations________ names lt sz
|
||||
// /..................\ /...\ | |
|
||||
// dl fz ed rn en cn dp nc np ul iz
|
||||
DF_EntityKindTable:
|
||||
{
|
||||
{Nil nil nils 0 0 0 0 0 0 0 0 0 0 0 "Label" Null "Nil" }
|
||||
{Root root roots 0 0 0 0 0 0 0 0 0 0 0 "Label" Null "Root" }
|
||||
|
||||
//- rjf: machines
|
||||
{Machine machine machines 0 1 0 1 0 0 0 0 0 0 0 "Label" Machine "Machine" }
|
||||
|
||||
//- rjf: filesystem modeling
|
||||
{File file files 0 0 0 0 0 0 0 0 0 0 0 "Label" FileOutline "File" }
|
||||
|
||||
//- rjf: auto view rules
|
||||
{AutoViewRule auto_view_rule auto_view_rules 0 0 0 0 0 0 0 0 0 1 1 "Label" Binoculars "Auto View Rule" }
|
||||
|
||||
//- rjf: file path maps
|
||||
{FilePathMap file_path_map file_path_maps 0 0 0 0 0 0 0 0 0 0 1 "Label" FileOutline "File Path Map" }
|
||||
|
||||
//- rjf: watch pins
|
||||
{WatchPin watch_pin watch_pins 1 0 0 1 0 0 1 1 0 1 1 "Expression" Pin "Watch Pin" }
|
||||
|
||||
//- rjf: watches
|
||||
{Watch watch watches 1 0 0 1 1 0 1 1 0 1 1 "Expression" Binoculars "Watch" }
|
||||
{ViewRule view_rule view_rules 1 0 0 1 1 0 1 1 0 1 0 "Expression" Binoculars "View Rule" }
|
||||
|
||||
//- rjf: breakpoints
|
||||
{Breakpoint breakpoint breakpoints 1 0 0 1 1 1 1 0 0 1 1 "Label" CircleFilled "Breakpoint" }
|
||||
{Condition condition conditions 0 0 0 0 0 0 0 1 0 1 0 "Expression" CircleFilled "Condition" }
|
||||
|
||||
//- rjf: user-controlled locations (source, addresses, symbol names)
|
||||
{Location location locations 0 0 0 0 0 0 0 1 1 1 0 "Location" Null "Location" }
|
||||
|
||||
//- rjf: targets
|
||||
{Target target targets 1 0 1 1 1 0 1 0 0 1 1 "Label" Target "Target" }
|
||||
{Executable executable executables 0 0 0 0 0 0 0 0 1 1 0 "Executable" Null "Executable" }
|
||||
{Arguments arguments argumentses 0 0 0 0 0 0 0 0 0 1 0 "Arguments" Null "Arguments" }
|
||||
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 1 1 0 "Execution Path" Null "Working Directory" }
|
||||
{EntryPoint entry_point entry_points 0 0 0 0 0 0 0 0 0 1 0 "Symbol Name" Null "Entry Point" }
|
||||
|
||||
//- rjf: frontend containers (windows, panels, views)
|
||||
{Window window windows 1 0 0 0 0 0 1 0 0 1 1 "Label" Window "Window" }
|
||||
{Panel panel panels 1 0 0 0 0 0 1 0 0 1 1 "Label" XSplit "Panel" }
|
||||
{View view views 1 0 0 0 0 0 1 0 0 1 1 "Label" Null "View" }
|
||||
|
||||
//- rjf: recent projects
|
||||
{RecentProject recent_project recent_projects 0 0 0 0 0 0 0 0 1 0 1 "Path" Briefcase "Recent Project" }
|
||||
|
||||
//- rjf: src -> dst mapping
|
||||
{Source source sources 0 0 0 0 0 0 0 0 0 0 0 "Path" Null "Source" }
|
||||
{Dest dest dests 0 0 0 0 0 0 0 0 0 0 0 "Path" Null "Destination" }
|
||||
|
||||
//- rjf: control system entities
|
||||
{Process process processes 0 1 0 1 0 0 0 0 0 0 0 "Label" Threads "Process" }
|
||||
{Thread thread threads 0 1 0 1 0 0 0 0 0 0 0 "Label" Thread "Thread" }
|
||||
{Module module modules 0 0 0 0 0 0 0 0 0 0 0 "Label" Module "Module" }
|
||||
{PendingThreadName pending_thread_name pending_thread_names 0 0 0 0 0 0 0 0 0 0 0 "Label" Threads "Pending Thread Name" }
|
||||
{DebugInfoPath debug_info_path debug_info_paths 0 0 0 0 0 0 0 0 0 0 0 "Label" Module "Debug Info Path" }
|
||||
|
||||
//- rjf: parser task entities
|
||||
{ConversionTask conversion_task conversion_tasks 0 0 0 1 0 0 0 0 0 0 0 "Label" Null "Conversion Task" }
|
||||
{ConversionFail conversion_fail conversion_fails 0 0 0 1 0 0 0 0 0 0 0 "Label" Null "Conversion Failure" }
|
||||
}
|
||||
|
||||
@enum DF_EntityKind:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `$(a.name)`,
|
||||
COUNT,
|
||||
}
|
||||
|
||||
@data(String8) d_entity_kind_display_string_table:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.display_string)")`,
|
||||
}
|
||||
|
||||
@data(String8) d_entity_kind_name_lower_table:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_lower)")`,
|
||||
}
|
||||
|
||||
@data(String8) d_entity_kind_name_lower_plural_table:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_lower_plural)")`,
|
||||
}
|
||||
|
||||
@data(String8) d_entity_kind_name_label_table:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_label)")`,
|
||||
}
|
||||
|
||||
@data(DF_EntityKindFlags) d_entity_kind_flags_table:
|
||||
{
|
||||
@expand(DF_EntityKindTable a) `($(a.op_delete)*DF_EntityKindFlag_CanDelete) | ($(a.op_freeze)*DF_EntityKindFlag_CanFreeze) | ($(a.op_edit)*DF_EntityKindFlag_CanEdit) | ($(a.op_rename)*DF_EntityKindFlag_CanRename) | ($(a.op_enable)*DF_EntityKindFlag_CanEnable) | ($(a.op_cond)*DF_EntityKindFlag_CanCondition) | ($(a.op_dup)*DF_EntityKindFlag_CanDuplicate) | ($(a.name_is_code)*DF_EntityKindFlag_NameIsCode) | ($(a.name_is_path)*DF_EntityKindFlag_NameIsPath) | ($(a.user_lifetime)*DF_EntityKindFlag_UserDefinedLifetime) | ($(a.is_serialized)*DF_EntityKindFlag_IsSerializedToConfig)`,
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Built-In Command Tables
|
||||
|
||||
|
||||
+96
-1685
File diff suppressed because it is too large
Load Diff
@@ -40,20 +40,20 @@ struct D_BreakpointArray
|
||||
D_Breakpoint *v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_PathMap D_PathMap;
|
||||
struct D_PathMap
|
||||
{
|
||||
String8 src;
|
||||
String8 dst;
|
||||
};
|
||||
|
||||
typedef struct D_PathMapArray D_PathMapArray;
|
||||
struct D_PathMapArray
|
||||
{
|
||||
D_PathMap *v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_PathMap D_PathMap;
|
||||
struct D_PathMap
|
||||
{
|
||||
String8 src;
|
||||
String8 dst;
|
||||
};
|
||||
|
||||
typedef struct D_PathMapArray D_PathMapArray;
|
||||
struct D_PathMapArray
|
||||
{
|
||||
D_PathMap *v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Tick Output Types
|
||||
@@ -158,44 +158,6 @@ struct D_LineListArray
|
||||
DI_KeyList dbgi_keys;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Kind Flags
|
||||
|
||||
typedef U32 DF_EntityKindFlags;
|
||||
enum
|
||||
{
|
||||
//- rjf: allowed operations
|
||||
DF_EntityKindFlag_CanDelete = (1<<0),
|
||||
DF_EntityKindFlag_CanFreeze = (1<<1),
|
||||
DF_EntityKindFlag_CanEdit = (1<<2),
|
||||
DF_EntityKindFlag_CanRename = (1<<3),
|
||||
DF_EntityKindFlag_CanEnable = (1<<4),
|
||||
DF_EntityKindFlag_CanCondition = (1<<5),
|
||||
DF_EntityKindFlag_CanDuplicate = (1<<6),
|
||||
|
||||
//- rjf: name categorization
|
||||
DF_EntityKindFlag_NameIsCode = (1<<7),
|
||||
DF_EntityKindFlag_NameIsPath = (1<<8),
|
||||
|
||||
//- rjf: lifetime categorization
|
||||
DF_EntityKindFlag_UserDefinedLifetime = (1<<9),
|
||||
|
||||
//- rjf: serialization
|
||||
DF_EntityKindFlag_IsSerializedToConfig = (1<<10),
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Filesystem Lookup Flags
|
||||
|
||||
typedef U32 D_EntityFromPathFlags;
|
||||
enum
|
||||
{
|
||||
D_EntityFromPathFlag_AllowOverrides = (1<<0),
|
||||
D_EntityFromPathFlag_OpenAsNeeded = (1<<1),
|
||||
D_EntityFromPathFlag_OpenMissing = (1<<2),
|
||||
D_EntityFromPathFlag_All = 0xffffffff,
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Debug Engine Control Communication Types
|
||||
|
||||
@@ -287,141 +249,6 @@ struct D_ViewRuleSpec
|
||||
D_ViewRuleSpecInfo info;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Types
|
||||
|
||||
typedef U32 D_EntityFlags;
|
||||
enum
|
||||
{
|
||||
//- rjf: allocationless, simple equipment
|
||||
D_EntityFlag_HasTextPoint = (1<<0),
|
||||
D_EntityFlag_HasEntityHandle = (1<<2),
|
||||
D_EntityFlag_HasU64 = (1<<4),
|
||||
D_EntityFlag_HasColor = (1<<6),
|
||||
D_EntityFlag_DiesOnRunStop = (1<<8),
|
||||
|
||||
//- rjf: ctrl entity equipment
|
||||
D_EntityFlag_HasCtrlHandle = (1<<9),
|
||||
D_EntityFlag_HasArch = (1<<10),
|
||||
D_EntityFlag_HasCtrlID = (1<<11),
|
||||
D_EntityFlag_HasStackBase = (1<<12),
|
||||
D_EntityFlag_HasTLSRoot = (1<<13),
|
||||
D_EntityFlag_HasVAddrRng = (1<<14),
|
||||
D_EntityFlag_HasVAddr = (1<<15),
|
||||
|
||||
//- rjf: file properties
|
||||
D_EntityFlag_IsFolder = (1<<16),
|
||||
D_EntityFlag_IsMissing = (1<<17),
|
||||
|
||||
//- rjf: deletion
|
||||
D_EntityFlag_MarkedForDeletion = (1<<31),
|
||||
};
|
||||
|
||||
typedef U64 DF_EntityID;
|
||||
|
||||
typedef struct DF_Entity DF_Entity;
|
||||
struct DF_Entity
|
||||
{
|
||||
// rjf: tree links
|
||||
DF_Entity *first;
|
||||
DF_Entity *last;
|
||||
DF_Entity *next;
|
||||
DF_Entity *prev;
|
||||
DF_Entity *parent;
|
||||
|
||||
// rjf: metadata
|
||||
DF_EntityKind kind;
|
||||
D_EntityFlags flags;
|
||||
DF_EntityID id;
|
||||
U64 gen;
|
||||
U64 alloc_time_us;
|
||||
F32 alive_t;
|
||||
|
||||
// rjf: basic equipment
|
||||
TxtPt text_point;
|
||||
D_Handle entity_handle;
|
||||
B32 disabled;
|
||||
U64 u64;
|
||||
Vec4F32 color_hsva;
|
||||
D_CfgSrc cfg_src;
|
||||
U64 timestamp;
|
||||
|
||||
// rjf: ctrl equipment
|
||||
CTRL_Handle ctrl_handle;
|
||||
Arch arch;
|
||||
U32 ctrl_id;
|
||||
U64 stack_base;
|
||||
Rng1U64 vaddr_rng;
|
||||
U64 vaddr;
|
||||
|
||||
// rjf: string equipment
|
||||
String8 string;
|
||||
|
||||
// rjf: parameter tree
|
||||
Arena *params_arena;
|
||||
MD_Node *params_root;
|
||||
};
|
||||
|
||||
typedef struct D_EntityNode D_EntityNode;
|
||||
struct D_EntityNode
|
||||
{
|
||||
D_EntityNode *next;
|
||||
DF_Entity *entity;
|
||||
};
|
||||
|
||||
typedef struct D_EntityList D_EntityList;
|
||||
struct D_EntityList
|
||||
{
|
||||
D_EntityNode *first;
|
||||
D_EntityNode *last;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_EntityArray D_EntityArray;
|
||||
struct D_EntityArray
|
||||
{
|
||||
DF_Entity **v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_EntityRec D_EntityRec;
|
||||
struct D_EntityRec
|
||||
{
|
||||
DF_Entity *next;
|
||||
S32 push_count;
|
||||
S32 pop_count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Evaluation Types
|
||||
|
||||
typedef struct D_EntityEval D_EntityEval;
|
||||
struct D_EntityEval
|
||||
{
|
||||
B64 enabled;
|
||||
U64 hit_count;
|
||||
U64 label_off;
|
||||
U64 location_off;
|
||||
U64 condition_off;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Fuzzy Listing Types
|
||||
|
||||
typedef struct D_EntityFuzzyItem D_EntityFuzzyItem;
|
||||
struct D_EntityFuzzyItem
|
||||
{
|
||||
DF_Entity *entity;
|
||||
FuzzyMatchRangeList matches;
|
||||
};
|
||||
|
||||
typedef struct D_EntityFuzzyItemArray D_EntityFuzzyItemArray;
|
||||
struct D_EntityFuzzyItemArray
|
||||
{
|
||||
D_EntityFuzzyItem *v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Rich (Including Inline) Unwind Types
|
||||
|
||||
@@ -459,87 +286,6 @@ struct D_Unwind
|
||||
D_UnwindFrameArray frames;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Command Specification Types
|
||||
|
||||
#if 0
|
||||
typedef U32 D_CmdQueryFlags;
|
||||
enum
|
||||
{
|
||||
D_CmdQueryFlag_AllowFiles = (1<<0),
|
||||
D_CmdQueryFlag_AllowFolders = (1<<1),
|
||||
D_CmdQueryFlag_CodeInput = (1<<2),
|
||||
D_CmdQueryFlag_KeepOldInput = (1<<3),
|
||||
D_CmdQueryFlag_SelectOldInput = (1<<4),
|
||||
D_CmdQueryFlag_Required = (1<<5),
|
||||
};
|
||||
|
||||
typedef struct D_CmdQuery D_CmdQuery;
|
||||
struct D_CmdQuery
|
||||
{
|
||||
D_CmdParamSlot slot;
|
||||
DF_EntityKind entity_kind;
|
||||
D_CmdQueryFlags flags;
|
||||
};
|
||||
|
||||
typedef U32 D_CmdSpecFlags;
|
||||
enum
|
||||
{
|
||||
D_CmdSpecFlag_ListInUI = (1<<0),
|
||||
D_CmdSpecFlag_ListInIPCDocs = (1<<1),
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpecInfo D_CmdSpecInfo;
|
||||
struct D_CmdSpecInfo
|
||||
{
|
||||
String8 string;
|
||||
String8 description;
|
||||
String8 search_tags;
|
||||
String8 display_name;
|
||||
D_CmdSpecFlags flags;
|
||||
D_CmdQuery query;
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpec D_CmdSpec;
|
||||
struct D_CmdSpec
|
||||
{
|
||||
D_CmdSpec *hash_next;
|
||||
D_CmdSpecInfo info;
|
||||
U64 registrar_index;
|
||||
U64 ordering_index;
|
||||
U64 run_count;
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpecNode D_CmdSpecNode;
|
||||
struct D_CmdSpecNode
|
||||
{
|
||||
D_CmdSpecNode *next;
|
||||
D_CmdSpec *spec;
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpecList D_CmdSpecList;
|
||||
struct D_CmdSpecList
|
||||
{
|
||||
D_CmdSpecNode *first;
|
||||
D_CmdSpecNode *last;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpecArray D_CmdSpecArray;
|
||||
struct D_CmdSpecArray
|
||||
{
|
||||
D_CmdSpec **v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct D_CmdSpecInfoArray D_CmdSpecInfoArray;
|
||||
struct D_CmdSpecInfoArray
|
||||
{
|
||||
D_CmdSpecInfo *v;
|
||||
U64 count;
|
||||
};
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Command Types
|
||||
|
||||
@@ -556,18 +302,6 @@ struct D_CmdParams
|
||||
B32 prefer_disasm;
|
||||
U32 pid;
|
||||
D_TargetArray targets;
|
||||
//String8 string;
|
||||
//String8 file_path;
|
||||
//MD_Node * params_tree;
|
||||
//U64 vaddr;
|
||||
//U64 voff;
|
||||
//U64 index;
|
||||
//U64 id;
|
||||
//B32 prefer_dasm;
|
||||
//B32 force_confirm;
|
||||
//Dir2 dir2;
|
||||
//U64 unwind_index;
|
||||
//U64 inline_depth;
|
||||
};
|
||||
|
||||
typedef struct D_Cmd D_Cmd;
|
||||
@@ -596,16 +330,6 @@ struct D_CmdList
|
||||
////////////////////////////////
|
||||
//~ rjf: Main State Caches
|
||||
|
||||
//- rjf: per-entity-kind state cache
|
||||
|
||||
typedef struct D_EntityListCache D_EntityListCache;
|
||||
struct D_EntityListCache
|
||||
{
|
||||
Arena *arena;
|
||||
U64 alloc_gen;
|
||||
D_EntityList list;
|
||||
};
|
||||
|
||||
//- rjf: per-thread unwind cache
|
||||
|
||||
typedef struct D_UnwindCacheNode D_UnwindCacheNode;
|
||||
@@ -723,20 +447,6 @@ struct D_State
|
||||
// rjf: name allocator
|
||||
D_NameChunkNode *free_name_chunks[8];
|
||||
|
||||
// rjf: entity state
|
||||
Arena *entities_arena;
|
||||
DF_Entity *entities_base;
|
||||
U64 entities_count;
|
||||
U64 entities_id_gen;
|
||||
DF_Entity *entities_root;
|
||||
DF_Entity *entities_free[2]; // [0] -> normal lifetime, not user defined; [1] -> user defined lifetime (& thus undoable)
|
||||
U64 entities_free_count;
|
||||
U64 entities_active_count;
|
||||
|
||||
// rjf: entity query caches
|
||||
U64 kind_alloc_gens[DF_EntityKind_COUNT];
|
||||
D_EntityListCache kind_caches[DF_EntityKind_COUNT];
|
||||
|
||||
// rjf: per-run caches
|
||||
D_UnwindCache unwind_cache;
|
||||
U64 tls_base_cache_reggen_idx;
|
||||
@@ -760,8 +470,8 @@ struct D_State
|
||||
U64 ctrl_last_run_frame_idx;
|
||||
CTRL_Handle ctrl_last_run_thread_handle;
|
||||
CTRL_RunFlags ctrl_last_run_flags;
|
||||
CTRL_TrapList ctrl_last_run_traps;
|
||||
D_BreakpointArray ctrl_last_run_extra_bps;
|
||||
CTRL_TrapList ctrl_last_run_traps;
|
||||
D_BreakpointArray ctrl_last_run_extra_bps;
|
||||
U128 ctrl_last_run_param_state_hash;
|
||||
B32 ctrl_is_running;
|
||||
B32 ctrl_soft_halt_issued;
|
||||
@@ -781,14 +491,6 @@ struct D_State
|
||||
read_only global D_ViewRuleSpec d_nil_core_view_rule_spec = {0};
|
||||
read_only global D_CfgTree d_nil_cfg_tree = {&d_nil_cfg_tree, D_CfgSrc_User, &md_nil_node};
|
||||
read_only global D_CfgVal d_nil_cfg_val = {&d_nil_cfg_val, &d_nil_cfg_val, &d_nil_cfg_tree, &d_nil_cfg_tree};
|
||||
read_only global DF_Entity d_nil_entity =
|
||||
{
|
||||
&d_nil_entity,
|
||||
&d_nil_entity,
|
||||
&d_nil_entity,
|
||||
&d_nil_entity,
|
||||
&d_nil_entity,
|
||||
};
|
||||
|
||||
global D_State *d_state = 0;
|
||||
|
||||
@@ -810,14 +512,14 @@ internal void d_handle_list_push(Arena *arena, D_HandleList *list, D_Handle hand
|
||||
internal D_HandleList d_handle_list_copy(Arena *arena, D_HandleList list);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Breakpoints
|
||||
|
||||
//~ rjf: Breakpoints
|
||||
|
||||
internal D_BreakpointArray d_breakpoint_array_copy(Arena *arena, D_BreakpointArray *src);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Path Map Application
|
||||
|
||||
internal String8List d_possible_path_overrides_from_maps_path(Arena *arena, D_PathMapArray *path_maps, String8 file_path);
|
||||
|
||||
internal String8List d_possible_path_overrides_from_maps_path(Arena *arena, D_PathMapArray *path_maps, String8 file_path);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Config Type Pure Functions
|
||||
@@ -840,60 +542,6 @@ internal D_CmdParams d_cmd_params_copy(Arena *arena, D_CmdParams *src);
|
||||
//- rjf: command lists
|
||||
internal void d_cmd_list_push_new(Arena *arena, D_CmdList *cmds, D_CmdKind kind, D_CmdParams *params);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Type Pure Functions
|
||||
|
||||
//- rjf: nil
|
||||
internal B32 d_entity_is_nil(DF_Entity *entity);
|
||||
#define d_require_entity_nonnil(entity, if_nil_stmts) do{if(d_entity_is_nil(entity)){if_nil_stmts;}}while(0)
|
||||
|
||||
//- rjf: handle <-> entity conversions
|
||||
internal U64 d_index_from_entity(DF_Entity *entity);
|
||||
internal D_Handle d_handle_from_entity(DF_Entity *entity);
|
||||
internal DF_Entity *d_entity_from_handle(D_Handle handle);
|
||||
internal D_EntityList d_entity_list_from_handle_list(Arena *arena, D_HandleList handles);
|
||||
internal D_HandleList d_handle_list_from_entity_list(Arena *arena, D_EntityList entities);
|
||||
|
||||
//- rjf: entity recursion iterators
|
||||
internal D_EntityRec d_entity_rec_depth_first(DF_Entity *entity, DF_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(DF_Entity, next), OffsetOf(DF_Entity, first))
|
||||
#define d_entity_rec_depth_first_post(entity, subtree_root) d_entity_rec_depth_first((entity), (subtree_root), OffsetOf(DF_Entity, prev), OffsetOf(DF_Entity, last))
|
||||
|
||||
//- rjf: ancestor/child introspection
|
||||
internal DF_Entity *d_entity_child_from_kind(DF_Entity *entity, DF_EntityKind kind);
|
||||
internal DF_Entity *d_entity_ancestor_from_kind(DF_Entity *entity, DF_EntityKind kind);
|
||||
internal D_EntityList d_push_entity_child_list_with_kind(Arena *arena, DF_Entity *entity, DF_EntityKind kind);
|
||||
internal DF_Entity *d_entity_child_from_string_and_kind(DF_Entity *parent, String8 string, DF_EntityKind kind);
|
||||
|
||||
//- rjf: entity list building
|
||||
internal void d_entity_list_push(Arena *arena, D_EntityList *list, DF_Entity *entity);
|
||||
internal D_EntityArray d_entity_array_from_list(Arena *arena, D_EntityList *list);
|
||||
#define d_first_entity_from_list(list) ((list)->first != 0 ? (list)->first->entity : &d_nil_entity)
|
||||
|
||||
//- rjf: entity fuzzy list building
|
||||
internal D_EntityFuzzyItemArray d_entity_fuzzy_item_array_from_entity_list_needle(Arena *arena, D_EntityList *list, String8 needle);
|
||||
internal D_EntityFuzzyItemArray d_entity_fuzzy_item_array_from_entity_array_needle(Arena *arena, D_EntityArray *array, String8 needle);
|
||||
|
||||
//- rjf: full path building, from file/folder entities
|
||||
internal String8 d_full_path_from_entity(Arena *arena, DF_Entity *entity);
|
||||
|
||||
//- rjf: display string entities, for referencing entities in ui
|
||||
internal String8 d_display_string_from_entity(Arena *arena, DF_Entity *entity);
|
||||
|
||||
//- rjf: extra search tag strings for fuzzy filtering entities
|
||||
internal String8 d_search_tags_from_entity(Arena *arena, DF_Entity *entity);
|
||||
|
||||
//- rjf: entity -> color operations
|
||||
internal Vec4F32 d_hsva_from_entity(DF_Entity *entity);
|
||||
internal Vec4F32 d_rgba_from_entity(DF_Entity *entity);
|
||||
|
||||
//- rjf: entity -> expansion tree keys
|
||||
internal EV_Key d_ev_key_from_entity(DF_Entity *entity);
|
||||
internal EV_Key d_parent_ev_key_from_entity(DF_Entity *entity);
|
||||
|
||||
//- rjf: entity -> evaluation
|
||||
internal D_EntityEval *d_eval_from_entity(Arena *arena, DF_Entity *entity);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Name Allocation
|
||||
|
||||
@@ -901,49 +549,6 @@ internal U64 d_name_bucket_idx_from_string_size(U64 size);
|
||||
internal String8 d_name_alloc(String8 string);
|
||||
internal void d_name_release(String8 string);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Stateful Functions
|
||||
|
||||
//- rjf: entity allocation + tree forming
|
||||
internal DF_Entity *d_entity_alloc(DF_Entity *parent, DF_EntityKind kind);
|
||||
internal void d_entity_mark_for_deletion(DF_Entity *entity);
|
||||
internal void d_entity_release(DF_Entity *entity);
|
||||
internal void d_entity_change_parent(DF_Entity *entity, DF_Entity *old_parent, DF_Entity *new_parent, DF_Entity *prev_child);
|
||||
|
||||
//- rjf: entity simple equipment
|
||||
internal void d_entity_equip_txt_pt(DF_Entity *entity, TxtPt point);
|
||||
internal void d_entity_equip_entity_handle(DF_Entity *entity, D_Handle handle);
|
||||
internal void d_entity_equip_disabled(DF_Entity *entity, B32 b32);
|
||||
internal void d_entity_equip_u64(DF_Entity *entity, U64 u64);
|
||||
internal void d_entity_equip_color_rgba(DF_Entity *entity, Vec4F32 rgba);
|
||||
internal void d_entity_equip_color_hsva(DF_Entity *entity, Vec4F32 hsva);
|
||||
internal void d_entity_equip_cfg_src(DF_Entity *entity, D_CfgSrc cfg_src);
|
||||
internal void d_entity_equip_timestamp(DF_Entity *entity, U64 timestamp);
|
||||
|
||||
//- rjf: control layer correllation equipment
|
||||
internal void d_entity_equip_ctrl_handle(DF_Entity *entity, CTRL_Handle handle);
|
||||
internal void d_entity_equip_arch(DF_Entity *entity, Arch arch);
|
||||
internal void d_entity_equip_ctrl_id(DF_Entity *entity, U32 id);
|
||||
internal void d_entity_equip_stack_base(DF_Entity *entity, U64 stack_base);
|
||||
internal void d_entity_equip_vaddr_rng(DF_Entity *entity, Rng1U64 range);
|
||||
internal void d_entity_equip_vaddr(DF_Entity *entity, U64 vaddr);
|
||||
|
||||
//- rjf: name equipment
|
||||
internal void d_entity_equip_name(DF_Entity *entity, String8 name);
|
||||
internal void d_entity_equip_namef(DF_Entity *entity, char *fmt, ...);
|
||||
|
||||
//- rjf: file path map override lookups
|
||||
internal String8List d_possible_overrides_from_file_path(Arena *arena, String8 file_path);
|
||||
|
||||
//- rjf: top-level state queries
|
||||
internal DF_Entity *d_entity_root(void);
|
||||
internal D_EntityList d_push_entity_list_with_kind(Arena *arena, DF_EntityKind kind);
|
||||
internal DF_Entity *d_entity_from_id(DF_EntityID id);
|
||||
internal DF_Entity *d_machine_entity_from_machine_id(CTRL_MachineID machine_id);
|
||||
internal DF_Entity *d_entity_from_ctrl_handle(CTRL_Handle handle);
|
||||
internal DF_Entity *d_entity_from_ctrl_id(CTRL_MachineID machine_id, U32 id);
|
||||
internal DF_Entity *d_entity_from_name_and_kind(String8 string, DF_EntityKind kind);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View Rule Spec Stateful Functions
|
||||
|
||||
@@ -989,50 +594,6 @@ internal D_Unwind d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, CT
|
||||
//- rjf: stopped info from the control thread
|
||||
internal CTRL_Event d_ctrl_last_stop_event(void);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Evaluation Spaces
|
||||
|
||||
//- rjf: ctrl entity <-> eval space
|
||||
internal CTRL_Entity *d_ctrl_entity_from_eval_space(E_Space space);
|
||||
internal E_Space d_eval_space_from_ctrl_entity(CTRL_Entity *entity);
|
||||
|
||||
//- rjf: entity <-> eval space
|
||||
internal DF_Entity *d_entity_from_eval_space(E_Space space);
|
||||
internal E_Space d_eval_space_from_entity(DF_Entity *entity);
|
||||
|
||||
//- rjf: eval space reads/writes
|
||||
internal B32 d_eval_space_read(void *u, E_Space space, void *out, Rng1U64 range);
|
||||
internal B32 d_eval_space_write(void *u, E_Space space, void *in, Rng1U64 range);
|
||||
|
||||
//- rjf: asynchronous streamed reads -> hashes from spaces
|
||||
internal U128 d_key_from_eval_space_range(E_Space space, Rng1U64 range, B32 zero_terminated);
|
||||
|
||||
//- rjf: space -> entire range
|
||||
internal Rng1U64 d_whole_range_from_eval_space(E_Space space);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Evaluation Visualization
|
||||
|
||||
//- rjf: writing values back to child processes
|
||||
internal B32 d_commit_eval_value_string(E_Eval dst_eval, String8 string);
|
||||
|
||||
//- rjf: eval / view rule params tree info extraction
|
||||
internal U64 d_base_offset_from_eval(E_Eval eval);
|
||||
internal E_Value d_value_from_params_key(MD_Node *params, String8 key);
|
||||
internal Rng1U64 d_range_from_eval_params(E_Eval eval, MD_Node *params);
|
||||
internal TXT_LangKind d_lang_kind_from_eval_params(E_Eval eval, MD_Node *params);
|
||||
internal Arch d_arch_from_eval_params(E_Eval eval, MD_Node *params);
|
||||
internal Vec2S32 d_dim2s32_from_eval_params(E_Eval eval, MD_Node *params);
|
||||
internal R_Tex2DFormat d_tex2dformat_from_eval_params(E_Eval eval, MD_Node *params);
|
||||
|
||||
//- rjf: eval <-> entity
|
||||
internal DF_Entity *d_entity_from_eval_string(String8 string);
|
||||
internal String8 d_eval_string_from_entity(Arena *arena, DF_Entity *entity);
|
||||
|
||||
//- rjf: eval <-> file path
|
||||
internal String8 d_file_path_from_eval_string(Arena *arena, String8 string);
|
||||
internal String8 d_eval_string_from_file_path(Arena *arena, String8 string);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Main State Accessors/Mutators
|
||||
|
||||
@@ -1050,15 +611,8 @@ internal String8 d_cfg_escaped_from_raw_string(Arena *arena, String8 string);
|
||||
internal String8 d_cfg_raw_from_escaped_string(Arena *arena, String8 string);
|
||||
internal String8List d_cfg_strings_from_core(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
|
||||
//- rjf: entity kind cache
|
||||
internal D_EntityList d_query_cached_entity_list_with_kind(DF_EntityKind kind);
|
||||
|
||||
//- rjf: active entity based queries
|
||||
internal DI_KeyList d_push_active_dbgi_key_list(Arena *arena);
|
||||
internal D_EntityList d_push_active_target_list(Arena *arena);
|
||||
|
||||
//- rjf: expand key based entity queries
|
||||
internal DF_Entity *d_entity_from_ev_key_and_kind(EV_Key key, DF_EntityKind kind);
|
||||
|
||||
//- rjf: per-run caches
|
||||
internal CTRL_Unwind d_query_cached_unwind_from_thread(CTRL_Entity *thread);
|
||||
|
||||
@@ -12,176 +12,6 @@ str8_lit_comp("command_line"),
|
||||
str8_lit_comp("transient"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_display_string_table[30] =
|
||||
{
|
||||
str8_lit_comp("Nil"),
|
||||
str8_lit_comp("Root"),
|
||||
str8_lit_comp("Machine"),
|
||||
str8_lit_comp("File"),
|
||||
str8_lit_comp("Auto View Rule"),
|
||||
str8_lit_comp("File Path Map"),
|
||||
str8_lit_comp("Watch Pin"),
|
||||
str8_lit_comp("Watch"),
|
||||
str8_lit_comp("View Rule"),
|
||||
str8_lit_comp("Breakpoint"),
|
||||
str8_lit_comp("Condition"),
|
||||
str8_lit_comp("Location"),
|
||||
str8_lit_comp("Target"),
|
||||
str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Working Directory"),
|
||||
str8_lit_comp("Entry Point"),
|
||||
str8_lit_comp("Window"),
|
||||
str8_lit_comp("Panel"),
|
||||
str8_lit_comp("View"),
|
||||
str8_lit_comp("Recent Project"),
|
||||
str8_lit_comp("Source"),
|
||||
str8_lit_comp("Destination"),
|
||||
str8_lit_comp("Process"),
|
||||
str8_lit_comp("Thread"),
|
||||
str8_lit_comp("Module"),
|
||||
str8_lit_comp("Pending Thread Name"),
|
||||
str8_lit_comp("Debug Info Path"),
|
||||
str8_lit_comp("Conversion Task"),
|
||||
str8_lit_comp("Conversion Failure"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_table[30] =
|
||||
{
|
||||
str8_lit_comp("nil"),
|
||||
str8_lit_comp("root"),
|
||||
str8_lit_comp("machine"),
|
||||
str8_lit_comp("file"),
|
||||
str8_lit_comp("auto_view_rule"),
|
||||
str8_lit_comp("file_path_map"),
|
||||
str8_lit_comp("watch_pin"),
|
||||
str8_lit_comp("watch"),
|
||||
str8_lit_comp("view_rule"),
|
||||
str8_lit_comp("breakpoint"),
|
||||
str8_lit_comp("condition"),
|
||||
str8_lit_comp("location"),
|
||||
str8_lit_comp("target"),
|
||||
str8_lit_comp("executable"),
|
||||
str8_lit_comp("arguments"),
|
||||
str8_lit_comp("working_directory"),
|
||||
str8_lit_comp("entry_point"),
|
||||
str8_lit_comp("window"),
|
||||
str8_lit_comp("panel"),
|
||||
str8_lit_comp("view"),
|
||||
str8_lit_comp("recent_project"),
|
||||
str8_lit_comp("source"),
|
||||
str8_lit_comp("dest"),
|
||||
str8_lit_comp("process"),
|
||||
str8_lit_comp("thread"),
|
||||
str8_lit_comp("module"),
|
||||
str8_lit_comp("pending_thread_name"),
|
||||
str8_lit_comp("debug_info_path"),
|
||||
str8_lit_comp("conversion_task"),
|
||||
str8_lit_comp("conversion_fail"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_plural_table[30] =
|
||||
{
|
||||
str8_lit_comp("nils"),
|
||||
str8_lit_comp("roots"),
|
||||
str8_lit_comp("machines"),
|
||||
str8_lit_comp("files"),
|
||||
str8_lit_comp("auto_view_rules"),
|
||||
str8_lit_comp("file_path_maps"),
|
||||
str8_lit_comp("watch_pins"),
|
||||
str8_lit_comp("watches"),
|
||||
str8_lit_comp("view_rules"),
|
||||
str8_lit_comp("breakpoints"),
|
||||
str8_lit_comp("conditions"),
|
||||
str8_lit_comp("locations"),
|
||||
str8_lit_comp("targets"),
|
||||
str8_lit_comp("executables"),
|
||||
str8_lit_comp("argumentses"),
|
||||
str8_lit_comp("working_directories"),
|
||||
str8_lit_comp("entry_points"),
|
||||
str8_lit_comp("windows"),
|
||||
str8_lit_comp("panels"),
|
||||
str8_lit_comp("views"),
|
||||
str8_lit_comp("recent_projects"),
|
||||
str8_lit_comp("sources"),
|
||||
str8_lit_comp("dests"),
|
||||
str8_lit_comp("processes"),
|
||||
str8_lit_comp("threads"),
|
||||
str8_lit_comp("modules"),
|
||||
str8_lit_comp("pending_thread_names"),
|
||||
str8_lit_comp("debug_info_paths"),
|
||||
str8_lit_comp("conversion_tasks"),
|
||||
str8_lit_comp("conversion_fails"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_label_table[30] =
|
||||
{
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Location"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Execution Path"),
|
||||
str8_lit_comp("Symbol Name"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
};
|
||||
|
||||
DF_EntityKindFlags d_entity_kind_flags_table[30] =
|
||||
{
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (1*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (1*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_NameIsCode) | (1*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (1*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (1*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (1*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (1*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (1*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (1*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (1*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (1*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_NameIsCode) | (0*DF_EntityKindFlag_NameIsPath) | (0*DF_EntityKindFlag_UserDefinedLifetime) | (0*DF_EntityKindFlag_IsSerializedToConfig),
|
||||
};
|
||||
|
||||
D_ViewRuleSpecInfo d_core_view_rule_spec_info_table[21] =
|
||||
{
|
||||
{str8_lit_comp("default"), str8_lit_comp("Default"), str8_lit_comp(""), str8_lit_comp(""), (D_ViewRuleSpecInfoFlag_Inherited*0)|(D_ViewRuleSpecInfoFlag_Expandable*0)|(D_ViewRuleSpecInfoFlag_ExprResolution*0)|(D_ViewRuleSpecInfoFlag_VizBlockProd*1), },
|
||||
|
||||
@@ -15,41 +15,6 @@ D_CfgSrc_Transient,
|
||||
D_CfgSrc_COUNT,
|
||||
} D_CfgSrc;
|
||||
|
||||
typedef enum DF_EntityKind
|
||||
{
|
||||
DF_EntityKind_Nil,
|
||||
DF_EntityKind_Root,
|
||||
DF_EntityKind_Machine,
|
||||
DF_EntityKind_File,
|
||||
DF_EntityKind_AutoViewRule,
|
||||
DF_EntityKind_FilePathMap,
|
||||
DF_EntityKind_WatchPin,
|
||||
DF_EntityKind_Watch,
|
||||
DF_EntityKind_ViewRule,
|
||||
DF_EntityKind_Breakpoint,
|
||||
DF_EntityKind_Condition,
|
||||
DF_EntityKind_Location,
|
||||
DF_EntityKind_Target,
|
||||
DF_EntityKind_Executable,
|
||||
DF_EntityKind_Arguments,
|
||||
DF_EntityKind_WorkingDirectory,
|
||||
DF_EntityKind_EntryPoint,
|
||||
DF_EntityKind_Window,
|
||||
DF_EntityKind_Panel,
|
||||
DF_EntityKind_View,
|
||||
DF_EntityKind_RecentProject,
|
||||
DF_EntityKind_Source,
|
||||
DF_EntityKind_Dest,
|
||||
DF_EntityKind_Process,
|
||||
DF_EntityKind_Thread,
|
||||
DF_EntityKind_Module,
|
||||
DF_EntityKind_PendingThreadName,
|
||||
DF_EntityKind_DebugInfoPath,
|
||||
DF_EntityKind_ConversionTask,
|
||||
DF_EntityKind_ConversionFail,
|
||||
DF_EntityKind_COUNT,
|
||||
} DF_EntityKind;
|
||||
|
||||
typedef enum D_CmdKind
|
||||
{
|
||||
D_CmdKind_Null,
|
||||
@@ -138,11 +103,6 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
|
||||
};
|
||||
C_LINKAGE_BEGIN
|
||||
extern String8 d_cfg_src_string_table[4];
|
||||
extern String8 d_entity_kind_display_string_table[30];
|
||||
extern String8 d_entity_kind_name_lower_table[30];
|
||||
extern String8 d_entity_kind_name_lower_plural_table[30];
|
||||
extern String8 d_entity_kind_name_label_table[30];
|
||||
extern DF_EntityKindFlags d_entity_kind_flags_table[30];
|
||||
|
||||
C_LINKAGE_END
|
||||
|
||||
|
||||
Reference in New Issue
Block a user