Skip to content

Standalone engine - #14

Merged
DefKorns merged 220 commits into
masterfrom
standalone-engine
Oct 22, 2026
Merged

DefKorns merged 220 commits into
masterfrom
standalone-engine

Conversation

@DefKorns

@DefKorns DefKorns commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Theme Selector 3: the generic Options Menu list is replaced by a dedicated theme_manager engine, and the shell scripts are rewritten around it. Merging this into master is the 3.0 release (currently v3.0.0-beta2).

Theme Manager

  • Native app (src/, C++14) with grid and list layouts, built on the Options Menu framework: screen chrome, badges, confirm dialog, ValuePicker, download screen and splash.
  • The applied theme is outlined (ActiveThemeBorder in theme.cfg) and can't be deleted. Deleting other themes asks for confirmation.
  • Only rows for the running console are shown (NES_ONLY/SNES_ONLY, USB_ONLY).
  • Power-button exit resumes the paused UI (no C8). Settings toggles run in place and reload the list without relaunching.

Downloads

  • Online catalog per system (the Famicom uses the NES one), new themes marked, authors shown on the previews.
  • Single theme or "All Themes" over one connection, unpacking while the next one downloads. B aborts and cleans up.
  • Free space on NAND and USB/SD; a full NAND is refused. The catalog is skipped when its published .md5 hasn't changed.

DIY themes

Build a theme from the installed ones (background, walls, characters, colors, packed art, fonts) with live previews, generated from the console's own data instead of vendored assets.

Settings

  • Theme Per Folder and Music Per Folder, with "Assign … to Folder" screens (a folder tree, no renaming of themes). Theme and Audio Randomizer, System Clean-up, Reset.
  • A theme bind is unmounted on folder change; overlay vs bind is decided per theme.

Console and language

  • Themes are fitted to the firmware's font names and their palette is applied on every region. Console Language strings and fonts are rebound after a theme is applied.
  • Nine languages, as in Options Menu 2.0.

Scripts, build and upgrades

Requirements

  • Options Menu 2.1.0 or newer.
  • Hakchi Wi-Fi mod, only for downloads.
  • Font Remount mod (should be installed already, but anyways... is a requirement 😄 )

- RC extraction now falls back to 0, so `make rc` can bootstrap
  the first -rc1 instead of failing (expr on an empty operand)
  and getting stuck on a bare "-rc" suffix forever.
- GIT_COMMIT now reads git diff-index's exit code instead of its
  (always empty, --quiet-suppressed) stdout, so packaged .hmod
  readmes correctly show "-dirty" when built from an uncommitted
  tree.
- Removed the duplicate GIT_DIRTY definition.
- fix/rc/update/upgrade now tag the version they just built
  (v$(MOD_VER)) and commit the VERSION bump, so git tags stay
  in sync with releases instead of drifting from them.
- Updated command names to use uppercase and underscores for consistency across the theme options and commands.
- Introduced translation functionality in the script to support multiple languages.
- Added English and Portuguese language files for theme-related strings.
- Modified various command scripts to utilize the new translation function for error messages and prompts.
- Ensured all theme-related commands are now properly localized and follow the new naming convention.
DefKorns and others added 29 commits October 21, 2026 18:42
Fit USA/EUR themes to every region and keep the language binds
Restructure om_vars: Downloads, installed themes and Folder Themes
Use the Options Menu ValuePicker in Folder Themes
Restructure om_vars: download path, catalog cache and Settings
Restructure om_vars: main menu and installed themes
Update the readme requirements and download steps
Show the waiting splashes with a moving bar
@DefKorns
DefKorns merged commit 30b3d77 into master Oct 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants