docs(readme): the option table lists every row of the menu #2105

Closed
jarynclouatre wants to merge 1 commit from jarynclouatre/docs/readme-menu-rows into main
jarynclouatre commented 2026-11-11 02:50:56 +00:00 (Migrated from github.com)

Four rows of the Insert menu had no line in the readme's option table and are not mentioned anywhere else in it: Ultrawide menus, Mesh shaders, Discord status (on by default), and the Controls page's Button prompts. Button prompts is the row that picks the button icons the game shows, which is what the reporters of #1907, #1622 and #1655 were looking for.

Each now has a line with its choices and default as the menu has them, and a short note under the table taken from the menu's own help texts. Layout preset's line says it is on the Controls page.

tests/test_readme_menu_rows.py (new) reads the rows from gpu/vk/vk_menu.cpp and the table from readme.md. Every row of the Graphics, Audio, Gameplay and Controls tabs and of the Controls page must have a line, every line must be a row the menu has, and they must be in the menu's order. The Debug tab's lines at the end of the table (Debug tools and its Developer rows) are left out of the check.

Rebased on main fce53453. Main has given these docs most of what the first version added (HDR contrast, VRAM budget, Frame generation by, the new order, Menu shortcut's Esc), and the Graphics tab now has section titles, so the update is smaller: lines and notes for Ultrawide menus, Mesh shaders, Discord status and Button prompts, a line for Compact menu key, and the test skips the section titles (rows with heading set). Button prompts' note says it changes while the game runs since #2366, Auto follows the controller, and a restart is asked only when the prompt files could not all be found. docs/development.md says a new row needs its readme line.

Testing (Linux): the new test fails on main's readme, naming the five rows with no line and the order, and passes with this change. test_camera_speed.py and test_stick_dead_zone.py, which also read the readme, pass. Docs only otherwise.

Four rows of the Insert menu had no line in the readme's option table and are not mentioned anywhere else in it: Ultrawide menus, Mesh shaders, Discord status (on by default), and the Controls page's Button prompts. Button prompts is the row that picks the button icons the game shows, which is what the reporters of #1907, #1622 and #1655 were looking for. Each now has a line with its choices and default as the menu has them, and a short note under the table taken from the menu's own help texts. Layout preset's line says it is on the Controls page. `tests/test_readme_menu_rows.py` (new) reads the rows from `gpu/vk/vk_menu.cpp` and the table from `readme.md`. Every row of the Graphics, Audio, Gameplay and Controls tabs and of the Controls page must have a line, every line must be a row the menu has, and they must be in the menu's order. The Debug tab's lines at the end of the table (Debug tools and its Developer rows) are left out of the check. Rebased on main fce53453. Main has given these docs most of what the first version added (HDR contrast, VRAM budget, Frame generation by, the new order, Menu shortcut's Esc), and the Graphics tab now has section titles, so the update is smaller: lines and notes for Ultrawide menus, Mesh shaders, Discord status and Button prompts, a line for Compact menu key, and the test skips the section titles (rows with `heading` set). Button prompts' note says it changes while the game runs since #2366, Auto follows the controller, and a restart is asked only when the prompt files could not all be found. `docs/development.md` says a new row needs its readme line. **Testing (Linux):** the new test fails on main's readme, naming the five rows with no line and the order, and passes with this change. `test_camera_speed.py` and `test_stick_dead_zone.py`, which also read the readme, pass. Docs only otherwise.
Joey-Magnus (Migrated from github.com) requested changes 2026-11-11 20:06:29 +00:00
Joey-Magnus (Migrated from github.com) left a comment

Thanks, this fills a real gap: Button prompts is exactly what #1907/#1622/#1655 were asking about, and a check that keeps the readme's table in step with vk_menu.cpp is worth having. The four new lines match the menu at your base: the choices, the defaults (wide_menus = 1, mesh_mode = 0, discord = 1, prompts = 0) and mesh_shaders= in hookshot_options.ini all check out. The branch is 41 commits behind main, though, and main has moved in ways that break it:

blocking tests/test_readme_menu_rows.py: I merged the branch with current origin/main (no textual conflicts) and the new test fails twice. Rows added to the menu since your base have no line: HDR contrast (#2342), VRAM budget (#1859) and Frame generation by (#2118). The order check also fails, because the Graphics tab now has Frame generation and Frame pacing after V-Sync … HDR contrast, not before V-Sync. This is the drift the test is meant to catch, so after a rebase please add those three lines (choices and defaults from their tx_* and opts defaults) and move the Frame generation/Frame pacing lines to match.

should fix readme.md:327 and readme.md:408-410: since #2366 (merged today), a change of Button prompts shows while the game runs. host/prompts.c rewrites the loaded prompts, and the menu asks for a restart only when not every live part was found (hos_prompts_live_parts() != HOS_PROMPTS_LIVE_ALL). "(on the Controls page; after a restart)" and "A change applies after a restart" are now wrong for the usual case. Something like "applies at once; after a restart if the game's icons could not all be found" would match #2366. Please also re-check the Auto sentence against #2366's description of how Auto now follows the controller.

minor: this check makes every future PR that adds a menu row also add a readme line. That's good, but contributors will only find out when CI goes red. A sentence in CONTRIBUTING.md or docs/development.md (where menu rows are described) saying so would save a round trip.

The CI failures on this run (test_vcore_fs_open, test_vcore_video_acquire: env_on undeclared) come from your base and were fixed on main by #2380, so a rebase clears them too.

Thanks, this fills a real gap: Button prompts is exactly what #1907/#1622/#1655 were asking about, and a check that keeps the readme's table in step with `vk_menu.cpp` is worth having. The four new lines match the menu at your base: the choices, the defaults (`wide_menus = 1`, `mesh_mode = 0`, `discord = 1`, `prompts = 0`) and `mesh_shaders=` in `hookshot_options.ini` all check out. The branch is 41 commits behind main, though, and main has moved in ways that break it: **blocking** `tests/test_readme_menu_rows.py`: I merged the branch with current `origin/main` (no textual conflicts) and the new test fails twice. Rows added to the menu since your base have no line: **HDR contrast** (#2342), **VRAM budget** (#1859) and **Frame generation by** (#2118). The order check also fails, because the Graphics tab now has *Frame generation* and *Frame pacing* after *V-Sync* … *HDR contrast*, not before *V-Sync*. This is the drift the test is meant to catch, so after a rebase please add those three lines (choices and defaults from their `tx_*` and `opts` defaults) and move the Frame generation/Frame pacing lines to match. **should fix** `readme.md:327` and `readme.md:408-410`: since #2366 (merged today), a change of Button prompts shows while the game runs. `host/prompts.c` rewrites the loaded prompts, and the menu asks for a restart only when not every live part was found (`hos_prompts_live_parts() != HOS_PROMPTS_LIVE_ALL`). "(on the Controls page; after a restart)" and "A change applies after a restart" are now wrong for the usual case. Something like "applies at once; after a restart if the game's icons could not all be found" would match #2366. Please also re-check the Auto sentence against #2366's description of how Auto now follows the controller. **minor**: this check makes every future PR that adds a menu row also add a readme line. That's good, but contributors will only find out when CI goes red. A sentence in `CONTRIBUTING.md` or `docs/development.md` (where menu rows are described) saying so would save a round trip. The CI failures on this run (`test_vcore_fs_open`, `test_vcore_video_acquire`: `env_on` undeclared) come from your base and were fixed on main by #2380, so a rebase clears them too.
jarynclouatre commented 2026-11-11 21:02:51 +00:00 (Migrated from github.com)

Thanks. Rebased on main (463eab1f) and done in 8bbf69c:

  • Lines for HDR contrast, VRAM budget and Frame generation by, plus Compact menu key, which main added after your merge. Frame generation and Frame pacing now sit after Render resolution, where the menu has them. Menu shortcut lists the Esc choice.
  • Button prompts: the table no longer says "after a restart", and the note says a change shows while the game runs, a text on screen keeps its old icons until it is shown again, and a restart is asked only when the prompt files could not all be found. Auto now says it changes with the first controller while the game runs (live_face in host/prompts.c).
  • docs/development.md, under "The options file", says a new row needs its readme line and names the test.

test_readme_menu_rows.py passes on this head, and fails on main's readme naming the eight rows with no line.

Thanks. Rebased on main (463eab1f) and done in 8bbf69c: - Lines for HDR contrast, VRAM budget and Frame generation by, plus Compact menu key, which main added after your merge. Frame generation and Frame pacing now sit after Render resolution, where the menu has them. Menu shortcut lists the Esc choice. - Button prompts: the table no longer says "after a restart", and the note says a change shows while the game runs, a text on screen keeps its old icons until it is shown again, and a restart is asked only when the prompt files could not all be found. Auto now says it changes with the first controller while the game runs (`live_face` in `host/prompts.c`). - `docs/development.md`, under "The options file", says a new row needs its readme line and names the test. `test_readme_menu_rows.py` passes on this head, and fails on main's readme naming the eight rows with no line.
Joey-Magnus (Migrated from github.com) requested changes 2026-11-11 21:23:47 +00:00
Joey-Magnus (Migrated from github.com) left a comment

The red CI isn't this PR's: I ran the suite on its base with and without it, and the same 3 tests fail both ways; the appimage failure was apt. But merged onto today's main, the new tests/test_readme_menu_rows.py fails, so merging would turn main red. Four rows were added since: HDR contrast, VRAM budget, Frame generation by and Compact menu key. Frame generation and Frame pacing also moved below VRAM budget. A rebase that adds those rows and reorders the lines should do it. The guard test itself is a good idea.

The red CI isn't this PR's: I ran the suite on its base with and without it, and the same 3 tests fail both ways; the appimage failure was apt. But merged onto today's main, the new `tests/test_readme_menu_rows.py` fails, so merging would turn main red. Four rows were added since: HDR contrast, VRAM budget, Frame generation by and Compact menu key. Frame generation and Frame pacing also moved below VRAM budget. A rebase that adds those rows and reorders the lines should do it. The guard test itself is a good idea.
hckrman101 commented 2026-11-11 22:55:44 +00:00 (Migrated from github.com)

This now conflicts with main in readme.md. Could you merge main into the branch (or rebase) when you get a chance? I'll take another look once it's up to date.

This now conflicts with main in `readme.md`. Could you merge main into the branch (or rebase) when you get a chance? I'll take another look once it's up to date.
jarynclouatre commented 2026-11-11 23:00:27 +00:00 (Migrated from github.com)

Rebased on current main (fce53453) and force-pushed. The README conflict came from main reordering the table and adding section titles; the branch now adds only what is still missing (Ultrawide menus, Mesh shaders, Discord status, Button prompts, Compact menu key), and the test skips the section-title rows. The test fails on main's README and passes here. Description updated.

Rebased on current main (fce53453) and force-pushed. The README conflict came from main reordering the table and adding section titles; the branch now adds only what is still missing (Ultrawide menus, Mesh shaders, Discord status, Button prompts, Compact menu key), and the test skips the section-title rows. The test fails on main's README and passes here. Description updated.
Owner

@jarynclouatre commented on GitHub · 2026-11-12 12:55 UTC · original

Rebased on current main (51da0464). Main now describes Button prompts and the two language rows itself, so the branch keeps only the rows still missing from the table (Ultrawide menus, Mesh shaders, Discord status, Button prompts and Compact menu key in the table) and their notes. The test passes on the rebased branch.

> [@jarynclouatre](https://github.com/jarynclouatre) commented on GitHub · 2026-11-12 12:55 UTC · [original](https://github.com/NotRexed/Hookshot/pull/2105#issuecomment-6824189159) Rebased on current main (51da0464). Main now describes Button prompts and the two language rows itself, so the branch keeps only the rows still missing from the table (Ultrawide menus, Mesh shaders, Discord status, Button prompts and Compact menu key in the table) and their notes. The test passes on the rebased branch. <!-- github-sync:c:6824189159 -->
Owner

@Joey-Magnus approved on GitHub · 2026-11-12 14:32 UTC · original

Both points from my earlier reviews are fixed. The branch is on current main and only adds the lines that are still missing. The Button prompts text matches #2366's live switching. docs/development.md now tells people that a new row needs its readme line.

I merged it into current main and tests/test_readme_menu_rows.py passes. I checked the new lines against vk_menu.cpp and vk_menu.h: Ultrawide menus defaults to wide_menus = 1 (Centred, blurred sides), Mesh shaders is Automatic/Native/Compute after a restart, Discord status is on by default, and Compact menu key is Right Shift or Right Ctrl.

One thing for the maintainers: once this lands, every open PR that adds a menu row needs a readme line, or this test fails. I checked two. With #1979 (Sharpening method) merged on top, it fails. With #2261 (Item wheel) it passes, because that PR already adds its line. #2151's rows will need the same check after its rebase.

> [@Joey-Magnus](https://github.com/Joey-Magnus) approved on GitHub · 2026-11-12 14:32 UTC · [original](https://github.com/NotRexed/Hookshot/pull/2105#pullrequestreview-5876206190) Both points from my earlier reviews are fixed. The branch is on current main and only adds the lines that are still missing. The Button prompts text matches #2366's live switching. `docs/development.md` now tells people that a new row needs its readme line. I merged it into current main and `tests/test_readme_menu_rows.py` passes. I checked the new lines against `vk_menu.cpp` and `vk_menu.h`: Ultrawide menus defaults to `wide_menus = 1` (Centred, blurred sides), Mesh shaders is Automatic/Native/Compute after a restart, Discord status is on by default, and Compact menu key is Right Shift or Right Ctrl. One thing for the maintainers: once this lands, every open PR that adds a menu row needs a readme line, or this test fails. I checked two. With #1979 (Sharpening method) merged on top, it fails. With #2261 (Item wheel) it passes, because that PR already adds its line. #2151's rows will need the same check after its rebase. <!-- github-sync:r:5876206190 -->
github-sync closed this pull request 2026-11-12 17:57:47 +00:00
Commenting is not possible because the repository is archived.
No description provided.