You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use the `ida-sof-buddy` mcp server tools to assist the user with the following query, NOTE:The IDA you are interacting with _MIGHT_ be a linux version of the binary with more debug symbols than the windows version, that is why the offsets differ. Sometimes you might be interacting with the windows one that has way less names for the functions, they were only labelled by a human.
perform git add and git commit with a smart message of the changes that were performed.
3
+
perform git add and git commit with a smart message of the changes that were performed. Ensure each commit only applies for changes within each feature folder and is described relative to the feature they change.
Copy file name to clipboardExpand all lines: .cursor/skills/rmf-menu-authoring/reference.md
+13-21Lines changed: 13 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,8 @@
2
2
3
3
Definitive reference for Raven Menu Format (`.rmf`): terminology, syntax, behavior, and observed extensions. For humans and agents that parse, validate, generate, or transform RMF.
@@ -53,18 +45,18 @@ Definitive reference for Raven Menu Format (`.rmf`): terminology, syntax, behavi
53
45
54
46
Frames define partition first; area/layout inside active frames/pages. Bare quoted text is flow; `<text ...>` is interactive. Frame composition at page root; child content via `page`/`cpage`/`include`.
-**Frame**`width`/`height`: virtual (resolution-scaled). **Area**`width`/`height`: **absolute screen pixels**. `defaults border` / `frame border`: often actual-pixel line thickness.
60
52
-**Frame %**: `frameWidthPct = frameWidth * 100 / 640`; `frameHeightPct = frameHeight * 100 / effectiveVirtualHeight` with `effectiveVirtualHeight = 640 * screenHeight / screenWidth` (e.g. 1920×1080 → 360). Use frames for scalable structure; avoid building layout with many `<blank>` at high res.
61
53
-`backdrop` = primary full-background; `frame backfill` = inner-frame/border fill, not a replacement for `backdrop`.
62
54
63
-
## 5. Color and Text
55
+
## 4. Color and Text
64
56
65
57
-`<tint name 0xAABBGGRR>` (ABGR). String packages: `<strings PACKAGE>` then `^TOKEN^`. Default tints in `rmf_real_menus/tints.rmf`: `vbargray`, `normaltext`, `hilitetext`, `backtint`, `tipback`, `tip`, `icontint`, `iconhilite`, `hgreen`, `hblue`, `orange`, `red`, `blue`, `green`, `purple`, `cyan`, `clear`, `black`, `transblack`, `semiblack`, `smokey`, `gray`, `white`, etc.
66
58
67
-
## 6. Control Elements
59
+
## 5. Control Elements
68
60
69
61
| Keyword | Purpose |
70
62
|---------|---------|
@@ -83,7 +75,7 @@ Frames define partition first; area/layout inside active frames/pages. Bare quot
83
75
84
76
Frames operate above layout. `br`/`hbr` only affect area placement **inside** a frame’s active page. Frame definitions processed in order; `0` width/height = fill remaining; wrap goes below at left edge of last auto-filled frame. Fixed-width frame to the left = permanent left margin for everything below. For clean top borders/header bands, define frames in completed horizontal layers.
85
77
86
-
## 7. Layout Elements
78
+
## 6. Layout Elements
87
79
88
80
| Keyword | Purpose |
89
81
|---------|---------|
@@ -120,38 +112,38 @@ Example (layout resets with borders and blanks):
120
112
121
113
Top = last `<hbr>`. `<br>` = temporary stepping stones; layout change resets `<br>` stack. Areas grow right; first line = `<hbr>` line.
-`ctext` often has `invisible`; `text` has `regular`. `serverbox` columns 0–5 (5 = pure). `filebox` uses `align` in practice.
142
134
-`chat` with `private`. Area parsers can be option-order sensitive. Most tags not explicitly closed.
143
135
-`return` = guarded teardown; `menuoff` = direct. `defaults noborder` + selective borders for cleaner layouts. Prefer frames over blank-heavy layout for scaling. Use `noshade` when list/ctext looks muted.
144
136
145
-
## 12. Agent Authoring Checklist
137
+
## 11. Agent Authoring Checklist
146
138
147
139
Single `<stm>`; extensionless includes; tints/strings before use; intentional layout transitions; valid key/cvar bindings; conservative filebox/filereq options; undocumented tags only if supported; frame/cut names valid; layout mode switched back after left/normal; br vs hbr intentional.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,19 @@
1
1
# Changelog
2
2
3
+
## v5.6
4
+
5
+
-**Detours / codegen:** Expanded `detours.yaml` and `tools/generate_hooks.py` for pointer-backed hook targets; `rsrc/funcmaps/SoF.exe.json` and per-feature `hooks/pointers.json` (plus `src/core/pointers.json`); `docs/DETOUR_SYSTEM.md` and `hdr/detours.h` updates; `DetourXS` and core detour registration (`detours.cpp`, `shared_hook_manager.cpp`) aligned with the new flow.
6
+
-**Core:** Init and loader path work (`simple_init.cpp`, `module_loaders.cpp`, `wsock_entry.cpp`, `update_command.cpp`, `sofbuddy_cfg.cpp`) so startup and update behavior match the hook system changes.
7
+
-**entity_visualizer (new, optional):** Map-study tooling (spawn/draw, cvars, QCommon frame and loading hooks). Still **off by default** in `features/FEATURES.txt` alongside other experimental toggles; enable by uncommenting the feature line for local builds.
8
+
-**Internal menus:** Map debug RMF assets (`map_debug.rmf`, `map_debug_content.rmf`); tab content and loading/menu hook follow-ups; `hooks/pointers.json` for internal menu hooks.
9
+
-**Graphics / ref-DLL features:**`lighting_blend`, `scaled_ui_base`, `scaled_menu`, `texture_mapping_min_mag`, `vsync_toggle` — cvar/refdll and hook wiring updates where pointers apply; feature README tweaks where noted.
10
+
-**Other features:**`http_maps`, `media_timers`, `new_system_bug` — small hook/cvar/README adjustments; `raw_mouse` message-pump and hook touch-ups.
11
+
-**Cbuf / config:**`cbuf_limit_increase` README and early callback updates; `FEATURES.txt` comment clarifies deprecation in favor of `sofbuddy.cfg` persistence.
12
+
-**Tooling / docs:** IDA MCP plugin (`ida_plugin_mcp/`), `ida_dump_main.py`, and Cursor MCP/command helpers for IDA workflows; `README.md` and several feature READMEs refreshed.
13
+
3
14
## v5.5
4
15
5
-
- Build defaults: `entity_visualizer` is commented out in auto-generated `features/FEATURES.txt` (experimental). CI and `make` run `tools/generate_features_txt.py`, which now treats it as default-disabled alongside `scaled_menu` and `cbuf_limit_increase`; enable locally by uncommenting the feature line.
16
+
- Build defaults: `entity_visualizer`remains under Game Features but is **commented out by default**in auto-generated `features/FEATURES.txt` (`tools/generate_features_txt.py`). Default-disabled features are `scaled_menu`, `cbuf_limit_increase`, and `entity_visualizer` (map entity / wireframe tools).
6
17
- HTTP maps: stabilize deferred precache and loading-status flow; harden HTTPS, size fallbacks, loading status, and logging (`http_maps.cpp`, README).
7
18
- Internal menus: restore early loading UI with a pak-aware fast path; harden loading menu behavior in unlock mode; loading safe RMF updates; `SCR_BeginLoadingPlaque` post-hook adjustments.
0 commit comments