mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-23 07:57:50 +00:00
145 lines
3.7 KiB
C
145 lines
3.7 KiB
C
// Copyright (c) 2024 Epic Games Tools
|
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
|
|
|
#ifndef DF_VIEW_RULES_H
|
|
#define DF_VIEW_RULES_H
|
|
|
|
////////////////////////////////
|
|
//~ rjf: "rgba"
|
|
|
|
typedef struct DF_VR_RGBAState DF_VR_RGBAState;
|
|
struct DF_VR_RGBAState
|
|
{
|
|
Vec4F32 hsva;
|
|
U64 memgen_idx;
|
|
};
|
|
|
|
internal Vec4F32 df_vr_rgba_from_eval(DF_Eval eval, TG_Graph *graph, RDI_Parsed *raddbg, DF_Entity *process);
|
|
internal void df_vr_eval_commit_rgba(DF_Eval eval, TG_Graph *graph, RDI_Parsed *raddbg, DF_CtrlCtx *ctrl_ctx, Vec4F32 rgba);
|
|
|
|
////////////////////////////////
|
|
//~ rjf: "text"
|
|
|
|
typedef struct DF_TxtTopologyInfo DF_TxtTopologyInfo;
|
|
struct DF_TxtTopologyInfo
|
|
{
|
|
TXT_LangKind lang;
|
|
U64 size_cap;
|
|
};
|
|
|
|
typedef struct DF_VR_TextState DF_VR_TextState;
|
|
struct DF_VR_TextState
|
|
{
|
|
B32 initialized;
|
|
TxtPt cursor;
|
|
TxtPt mark;
|
|
S64 preferred_column;
|
|
U64 last_open_frame_idx;
|
|
F32 loaded_t;
|
|
};
|
|
|
|
internal DF_TxtTopologyInfo df_vr_txt_topology_info_from_cfg(DI_Scope *scope, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, EVAL_String2ExprMap *macro_map, DF_CfgNode *cfg);
|
|
|
|
////////////////////////////////
|
|
//~ rjf: "disasm"
|
|
|
|
typedef struct DF_DisasmTopologyInfo DF_DisasmTopologyInfo;
|
|
struct DF_DisasmTopologyInfo
|
|
{
|
|
Architecture arch;
|
|
U64 size_cap;
|
|
};
|
|
|
|
typedef struct DF_VR_DisasmState DF_VR_DisasmState;
|
|
struct DF_VR_DisasmState
|
|
{
|
|
B32 initialized;
|
|
TxtPt cursor;
|
|
TxtPt mark;
|
|
S64 preferred_column;
|
|
U64 last_open_frame_idx;
|
|
F32 loaded_t;
|
|
};
|
|
|
|
internal DF_DisasmTopologyInfo df_vr_disasm_topology_info_from_cfg(DI_Scope *scope, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, EVAL_String2ExprMap *macro_map, DF_CfgNode *cfg);
|
|
|
|
////////////////////////////////
|
|
//~ rjf: "bitmap"
|
|
|
|
typedef struct DF_BitmapTopologyInfo DF_BitmapTopologyInfo;
|
|
struct DF_BitmapTopologyInfo
|
|
{
|
|
U64 width;
|
|
U64 height;
|
|
R_Tex2DFormat fmt;
|
|
};
|
|
|
|
typedef struct DF_BitmapViewState DF_BitmapViewState;
|
|
struct DF_BitmapViewState
|
|
{
|
|
Vec2F32 view_center_pos;
|
|
F32 zoom;
|
|
DF_BitmapTopologyInfo top;
|
|
};
|
|
|
|
typedef struct DF_VR_BitmapState DF_VR_BitmapState;
|
|
struct DF_VR_BitmapState
|
|
{
|
|
U64 last_open_frame_idx;
|
|
F32 loaded_t;
|
|
};
|
|
|
|
typedef struct DF_VR_BitmapBoxDrawData DF_VR_BitmapBoxDrawData;
|
|
struct DF_VR_BitmapBoxDrawData
|
|
{
|
|
Rng2F32 src;
|
|
R_Handle texture;
|
|
F32 loaded_t;
|
|
B32 hovered;
|
|
Vec2S32 mouse_px;
|
|
F32 ui_per_bmp_px;
|
|
};
|
|
|
|
internal Vec2F32 df_bitmap_view_state__screen_from_canvas_pos(DF_BitmapViewState *bvs, Rng2F32 rect, Vec2F32 cvs);
|
|
internal Rng2F32 df_bitmap_view_state__screen_from_canvas_rect(DF_BitmapViewState *bvs, Rng2F32 rect, Rng2F32 cvs);
|
|
internal Vec2F32 df_bitmap_view_state__canvas_from_screen_pos(DF_BitmapViewState *bvs, Rng2F32 rect, Vec2F32 scr);
|
|
internal Rng2F32 df_bitmap_view_state__canvas_from_screen_rect(DF_BitmapViewState *bvs, Rng2F32 rect, Rng2F32 scr);
|
|
internal DF_BitmapTopologyInfo df_vr_bitmap_topology_info_from_cfg(DI_Scope *scope, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, EVAL_String2ExprMap *macro_map, DF_CfgNode *cfg);
|
|
|
|
////////////////////////////////
|
|
//~ rjf: "geo"
|
|
|
|
typedef struct DF_GeoTopologyInfo DF_GeoTopologyInfo;
|
|
struct DF_GeoTopologyInfo
|
|
{
|
|
U64 index_count;
|
|
Rng1U64 vertices_vaddr_range;
|
|
};
|
|
|
|
typedef struct DF_VR_GeoState DF_VR_GeoState;
|
|
struct DF_VR_GeoState
|
|
{
|
|
B32 initialized;
|
|
U64 last_open_frame_idx;
|
|
F32 loaded_t;
|
|
F32 pitch;
|
|
F32 pitch_target;
|
|
F32 yaw;
|
|
F32 yaw_target;
|
|
F32 zoom;
|
|
F32 zoom_target;
|
|
};
|
|
|
|
typedef struct DF_VR_GeoBoxDrawData DF_VR_GeoBoxDrawData;
|
|
struct DF_VR_GeoBoxDrawData
|
|
{
|
|
DF_ExpandKey key;
|
|
R_Handle vertex_buffer;
|
|
R_Handle index_buffer;
|
|
F32 loaded_t;
|
|
};
|
|
|
|
internal DF_GeoTopologyInfo df_vr_geo_topology_info_from_cfg(DI_Scope *scope, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, EVAL_String2ExprMap *macro_map, DF_CfgNode *cfg);
|
|
|
|
#endif // DF_VIEW_RULES_H
|