The overview that opens when a mod is clicked, on both MY MODS and GET MODS,
now shows the mod's README and has more room for it.
README:
- GET MODS fetches a package's README from Thunderstore the first time its
overview opens (/api/experimental/package/<owner>/<name>/<version>/readme/)
and keeps it while the launcher runs.
- MY MODS shows the mod's own README.md from its folder, or the package's
from Thunderstore when the folder has none.
- The markdown is laid out as plain text: headings in bold, lists, rules and
code blocks kept; links keep their text; images and HTML are dropped; a
table row shows its cells side by side. A README is cut at 400 lines, with
a note that the rest is on the mod's page, and one over 512 KB is not read.
Layout:
- The overview is up to 1080 x 740, from 680 x 560.
- The header has a larger icon with the name, the author and the short
description beside it. An installed mod shows its Thunderstore icon.
- Under the buttons the README has the wide column and the facts (version,
downloads, updated, size, categories, folder, maps and so on) have a panel
of their own on the right.
- The trackpad pointer follows the whole swipe; Steam stops the tilt when
the thumb lifts, so nothing has to be cut off.
- Up and down stay inside the mod lists and leave a row from any of its
parts (tick, switch, buttons) in one press.
- Left from anywhere in a list reaches the nearest rail tile, BACK included.
- The focus no longer falls back to a tab when ImGui lets go of a row the
list only partly shows.
- The focus starts on PLAY when the launcher opens with a pad connected, and
on the open tab (GAME, MY MODS) when the pad opens Settings or the Mod
manager.
- List rows act as one item: up and down go from row to row in one press,
and a row's buttons take the focus only from the row (D-pad right).
- D-pad left and right between the rail and a list: ImGui looks to the side
only along a thin band through the focus and missed items level with the
gap between two rows, so a side move that finds nothing looks again across
the focus's full height.
- The left stick scrolls the panel under the pointer directly instead of
through wheel events, which queued behind the pointer's moves.
- On a Steam Deck (SteamDeck=1) the right stick gets a trackpad's feel: small
swipes move the pointer, and the glide after the thumb lifts is cut.
ImGui 1.91 moves the focus with the D-pad only; its left stick scrolls the
focused window, which under a pointer is usually the page itself. The stick
also handed the screen from the pointer to the focus, so scrolling flipped
between the two.
The launcher now scrolls itself: the nearest scrollable panel around the
focus while the focus is shown, else the panel under the pointer or the
mouse (as wheel notches). Scrolling no longer switches between them.
- Settings' and Mods' rails, pages and lists are NavFlattened children, so
the D-pad crosses between them instead of treating each as one item that
only B could leave.
- The pad's pointer no longer moves the system cursor. Under Proton that
move came back late as a mouse move and dropped the pointer; now a mouse
move counts only when it lands somewhere new.
- The first R3 only shows the pointer, so a stray click does not press
whatever the mouse last rested on.
The launcher read no controller at all. Started from Steam (Desktop or Game
Mode on a Steam Deck), Steam Input applies the game's gamepad layout to it,
where the right trackpad is the right stick and its click is R3, so the
trackpad did nothing; only the touch screen, which arrives as mouse
messages, worked.
- Every XInput pad is merged (Xbox, Steam Input's virtual pad), else a
DualShock 4 / DualSense is read over HID with the reader the in-game menu
already uses, now its own library (dingosdk_playstation_input).
- D-pad and left stick move ImGui's focus, outlined in the launcher's blue;
A / Cross presses. The hand-drawn tiles, switches and menu buttons take
part in navigation (ImGuiButtonFlags_EnableNav).
- B / Circle closes an open combo or menu and leaves a text field, and is
Escape otherwise, which the launcher's pages already go back on. Escape
now also closes the mod overviews and answers Cancel in the uninstall and
replace confirmations; closing an overview no longer also leaves the page.
- The right stick (the trackpad) moves a pointer that ImGui draws, and R3
(the trackpad's click) is the left button. The system cursor follows it;
a mouse move or a touch elsewhere takes the pointer back.
- The ImGui Win32 backend's own gamepad code (slot 0 only) is compiled out
so it cannot fight the launcher's events; nothing else used it.
Only replace a nested metadata file when the package supplies a matching
top-level file. Cover ZIP and folder installs with partial metadata and
case-insensitive package overrides.