Skip to content

Commit 23292cd

Browse files
committed
Release v7.5: Fix Buddy tab theme list hang, layout, and right-click apply.
1 parent 58f8de3 commit 23292cd

19 files changed

Lines changed: 6099 additions & 3 deletions

.cursor/skills/rmf-menu-authoring/reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ Top = last `<hbr>`. `<br>` = temporary stepping stones; layout change resets `<b
133133
- `ctext` often has `invisible`; `text` has `regular`. `serverbox` columns 0–5 (5 = pure). `filebox` uses `align` in practice.
134134
- `chat` with `private`. Area parsers can be option-order sensitive. Most tags not explicitly closed.
135135
- `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.
136+
- **`<list>` comma-string limit (SoF.exe):** each quoted labels string and each `match "..."` value string is copied into a **240-byte stack buffer** during parse (`sub_200C92D0`, frame `0x11C`, buffer at `+0x2C`, no bounds check). Overflow corrupts the splitter loop and can **hang** the game. Keep each comma-separated string **≤239 chars**; split long pickers across lists/pages. **Do not put `{placeholders}` inside list quotes** — only `{name}` tokens on their own (like `{theme_tints}`) are expanded at load time; inside `"..."` the engine still sees the braces and the `<list>` parse fails, leaking `cvar` / `atext` / `key` tokens as raw centered text.
136137

137138
## 11. Agent Authoring Checklist
138139

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## v7.5
4+
5+
### Internal menus — Buddy tab theme list fixes
6+
7+
- **Hang fix:** Menu theme `<list>` labels shortened to fit SoF.exe’s **240-byte** comma-split stack buffer (`sub_200C92D0`); the v7.4 31-name string (277 chars) overflowed and could freeze the game when opening the Buddy tab.
8+
- **Layout fix:** Theme list uses inline short labels in RMF (not `{placeholders}` inside quotes) so the engine parses a real `<list>` control instead of dumping `cvar` / `atext` / `key` tokens as raw text.
9+
- **Right-click apply:** Added `key mouse2` reload on the theme list so right-click previous entry applies tints the same as left-click next (`list_c` only fires `key mouse1` bindings on button 1).
10+
- **Plumbing:** `kMenuThemeListLabels[]` plus `internal_menus_get_theme_list_labels_rmf()` / `_match_rmf()` for generated list strings; `FS_LoadFile` can substitute `{menu_theme_labels}` / `{menu_theme_match}` when used outside quotes.
11+
- **RMF reference:** Documented the 240-byte list string limit and the no-placeholders-in-quotes rule.
12+
313
## v7.4
414

515
### Internal menus — themed SoF Buddy settings shell

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.4
1+
7.5

hdr/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
Increment version using: ./increment_version.sh
88
*/
99

10-
#define SOFBUDDY_VERSION "7.4"
10+
#define SOFBUDDY_VERSION "7.5"

release_windows_xp.zip

1.59 MB
Binary file not shown.

sof_buddy/enable_sofplus.cmd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
powershell.exe -ExecutionPolicy Bypass -File patch_sof_binary.ps1 "spcl.dll"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
powershell.exe -ExecutionPolicy Bypass -File patch_sof_binary.ps1 "sof_buddy.dll"

sof_buddy/enable_vanilla.cmd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
powershell.exe -ExecutionPolicy Bypass -File patch_sof_binary.ps1 "WSOCK32.dll"

0 commit comments

Comments
 (0)