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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,9 @@
1
1
# Changelog
2
2
3
+
## v3.1
4
+
5
+
- Internal menus: startup update prompt now triggers on menu disclaimer (root `disclaimer`) instead of `start`; README and docs use "menu disclaimer" naming.
6
+
3
7
## v3.0
4
8
5
9
- Internal menus (loading): engine loading UI is disabled via NOPs at exe 0x13AC7 (menu push) and 0x13ACE (SCR_UpdateScreen call); we push `loading/loading` and call SCR_UpdateScreen(true) in SCR_BeginLoadingPlaque Post hook. SCR_UpdateScreen at exe 0x15FA0. Additional 2-byte NOP at 0x13AAA so the plaque shows when the console is open.
@@ -16,7 +20,7 @@
16
20
## v2.7
17
21
18
22
- HTTP maps: removed experimental/default-disabled note from docs; feature is now treated as normal.
19
-
- Updater: startup update prompt now pre-intercepts intro/start menu flow; redundant post-hook injection removed.
23
+
- Updater: startup update prompt now pre-intercepts menu disclaimer (start menu) flow; redundant post-hook injection removed.
20
24
- Updater downloads: zip asset selection tightened for build target (Windows vs Windows XP, Linux/Wine fallback penalties), with stricter fallback filtering.
21
25
- Updater UX: selected/downloaded release asset filename is now printed via `PRINT_DEV` and surfaced in update prompt/help menus.
**Internal menus have priority over the filesystem:** the override intercepts the path and filename of the requested `.rmf`, normalizes them, and looks up `menu_name`/`filename` in `g_menu_internal_files`. On a match, the hook serves the in-memory content (via engine `Z_Malloc`) and does not call the original; otherwise it falls through to the original `FS_LoadFile`.
44
44
45
-
### 5) Loading and start-menu hooks
45
+
### 5) Loading and menu-disclaimer (start) hooks
46
46
**SCR_BeginLoadingPlaque**: At EarlyStartup we NOP 5 bytes at exe 0x13AC7 (engine’s menu push) and 5 at 0x13ACE (SCR_UpdateScreen call), so the original does not show its own loading UI. **SCR_BeginLoadingPlaque** Post (`internal_menus_SCR_BeginLoadingPlaque_post`): when `!noPlaque`, we run killmenu, `oM_PushMenu("loading/loading", "", lock_input)`, then `SCR_UpdateScreen(true)` (exe 0x15FA0). Loading is only pushed by us (this hook and `loading_show_ui()` from http_maps). The `"resolving..."` label is set in the loading reset state (http_maps), not here.
47
47
48
-
**M_PushMenu** Pre (`internal_menus_M_PushMenu_pre`): Normalizes menu name; only handles start/update-prompt: when the engine pushes root `start` and the updater queued a startup prompt, rewrites to `sof_buddy/sb_update_prompt`. No loading-signal detection or rewrite.
48
+
**M_PushMenu** Pre (`internal_menus_M_PushMenu_pre`): Normalizes menu name; only handles menu-disclaimer/update-prompt: when the engine pushes the menu disclaimer (root `start`) and the updater queued a startup prompt, rewrites to `sof_buddy/sb_update_prompt`. No loading-signal detection or rewrite.
49
49
50
-
**M_PushMenu** Post (`internal_menus_M_PushMenu_post`): Watches root `start` pushes; if updater queued a startup update prompt, opens `sof_buddy/sb_update_prompt` on top once.
50
+
**M_PushMenu** Post (`internal_menus_M_PushMenu_post`): Watches menu disclaimer (root `start`) pushes; if updater queued a startup update prompt, opens `sof_buddy/sb_update_prompt` on top once.
51
51
52
52
### 6) Loading UI cvar updates
53
53
Loading UI is fed by direct helpers:
@@ -70,8 +70,8 @@ When video size changes, `update_layout_cvars(true)` recomputes runtime layout c
70
70
71
71
From `hooks/hooks.json`:
72
72
-`FS_LoadFile` (override): serve embedded RMF from `g_menu_internal_files` when path matches menu_library; otherwise fall through to original.
73
-
-`M_PushMenu` Pre: start/update-prompt only (rewrite `start` to `sof_buddy/sb_update_prompt` when updater queued); no loading signals.
74
-
-`M_PushMenu` Post: on `start` push, consume queued startup-update prompt request and open prompt once.
73
+
-`M_PushMenu` Pre: menu-disclaimer/update-prompt only (rewrite `start` to `sof_buddy/sb_update_prompt` when updater queued); no loading signals.
74
+
-`M_PushMenu` Post: on menu disclaimer (`start`) push, consume queued startup-update prompt request and open prompt once.
75
75
-`SCR_BeginLoadingPlaque` Post: when `!noPlaque`, push `loading/loading` and call `SCR_UpdateScreen(true)` (engine’s own push/update are NOP’d at 0x13AC7 / 0x13ACE).
0 commit comments