Homebrew Menu Switch

From GameBrew
Revision as of 06:46, 30 March 2023 by HydeWing (talk | contribs)
Homebrew Menu
File:Homebrewmenuswitch.png
General
Authoryellows8
TypeTitle Launchers
Version3.5.1
LicenseISC
Last Updated2022/06/15
Links
Download
Website
Source

The Homebrew Menu, also referred to as nx-hbmenu, is designed for the Nintendo Switch and serves as a menu for launching homebrew applications. These applications are launched using the Homebrew ABI.

Features

  • Launch Homebrew Applications: The Homebrew Menu allows users to launch a variety of homebrew applications on their Nintendo Switch.
  • Customization: Users can customize their homebrew applications and run them through the Homebrew Menu, providing a unique gaming experience.
  • Flexibility: With the Homebrew Menu, users can run various types of homebrew applications and games, including emulators and utilities.
  • Easy-to-use: The Homebrew Menu is user-friendly, making it easy to navigate and launch homebrew applications on the Nintendo Switch.
  • Continuously Updated: The Homebrew Menu is continuously updated with new features, ensuring that users have access to the latest functionalities and benefits.

Media

How to install HomeBrew Menu 2.0 on Switch 3.0.0 firmware (https://www.youtube.com/watch?v=D81dshtzSTw 8-Bit Flashback)

Changelog

  • v3.5.1
  • Fixed temperature display on [14.0.0+].
  • Updated various (currently unused) language text.
  • Built with libnx stable v4.2.1.

v3.5.0

  • Added support for additionally using themes from a directory, or from a .zip.
  • For .zip, it must directly contain the theme data, not a directory.
  • Updated various (currently unused) language text.
  • Built with libnx stable v4.2.0.

v3.4.1

  • Built with libnx stable v4.1.3
  • Extend French and Spanish translations.
  • Prevent crash when attempting to launch missing .nro.
  • Several issues were fixed, and usability and stability were improved.

v3.4.0

  • Built with libnx stable v4.0.0.
  • Holding down directions now allows for quickly scrolling through the list.
  • Graphics performance improvements.
  • Added momentum to touch drags.
  • Several issues were fixed, and usability and stability were improved.

v3.3.0

  • HID input is now accepted from all controllers including handheld when connected, instead of determining which controllers to use with hidGetHandheldMode().
  • Fixed a crash in touch handling for star-button when the current directory is empty (no menu entries).
  • Implemented layouts which can optionally be loaded from theme config.
  • Added support for using themes with extension '.romfs', which contains '/theme.cfg', optionally '/icon.jpg' for the menu-entry in Theme Menu, and any assets. Added 'assets' group to theme config, this is only used with .romfs themes.
  • Added logoColor and highlightGradientEdgeColor to the theme config.
  • When entering Theme Menu, the initially selected menu-entry is now the currently configured theme.
  • Updated the default highlightGradientEdgeColor.
  • File-association entries without an icon are no longer ignored (such as when there's no embedded app-icon and no other icon is loaded).
  • Added support for using file-associations with netloader, an error will now be thrown if the filename/file-extension used with netloader is not recognized.
  • Errors during netloader activation are now actually displayed.
  • Netloader now uses SO_REUSEADDR, this fixes netloader activation temporarily failing after a netloader error previously occurred.
  • Added app_args config setting for file-associations.
  • Built with libnx stable v3.1.0. Hence, the local-time is now displayed correctly with certain timezones.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

v3.2.0

  • Display the system temperature.
  • Handle HID input for all connected controllers (handheld and 0-7).
  • Fixed a bounds check for netloader cmd-line args.
  • Built with libnx stable v3.0.0.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

v3.1.1

  • Built with libnx stable v2.5.0.

v3.1.0

  • Display network status.
  • Added support for loading {filename}.nacp similar to {filename}.jpg, when processing files for fileassoc.
  • Added support for starring files/directories, these are displayed at the start of the menu listing.
  • Display "Applet Mode" indicator when running under an applet, in order to help users who are inadvertently running homebrew in applet mode and therefore experiencing otherwise hard to troubleshoot problems.
  • Display the hbloader version.
  • Fixed slowdown due to drawing too many menu entries.
  • Improved netloader perf.
  • Fixed a buffer overflow during netloader transfer due to not checking the chunksize.
  • Fixed netloader issue with large-chunksize, due to the chunksize field being partly uninitialized.
  • Built with libnx stable v2.4.0.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

v3.0.1

  • Disabled touch-controls horizontal swipe when it conflicts with the app-listing.
  • Fixed root directory handling, which fixes root directory support on 1.0.0.
  • Built with libnx stable v1.6.0.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

v3.0.0

  • Features
    • Added message boxes. The envGetLastLoadResult() output is now displayed during startup if needed (error returned by the application which ran last).
    • Added nxlink support (netloader).
      • The Switch IP address can automatically be determined via UDP broadcast.
      • Netloader is handled on a seperate thread with non-blocking sockets. UI drawing is not blocked during the transfer.
      • The transfer can be aborted via 'Back' input.
      • If the transfer stopped without finishing, the file is deleted.
      • When returning to the main-menu from netloader, the menu is reloaded since the netloader NRO may have been deleted due to the transfer stopping.
      • Netloader status is displayed in a message-box while netloader is active. This include transfer progress and a progress-bar.
      • Fixed buffer overflow vuln with netloader args introduced with the original netloader commit (nothing useful which could cause a crash can be overwritten with an unmodifed nxlink). Fixed unrelated bounds check in launchAddArg() which broke once nxlink_host support was added.
    • Use system shared-font. Note that the system language is still not used.
    • Added touch-controls.
    • Added support for themes loaded from SD. If the system theme is not recognized, the used theme will default to the dark theme.
    • Added Theme Menu for selecting the used theme, including the default theme.
    • Enabled time display, which uses local-time.
    • The battery/charging status is now displayed.
    • Added support for file-associations.
  • Other
    • Replaced nanojpeg with libjpeg-turbo. See README regarding this.
    • The switch/ directory is created if it doesn't exist. Config dirs on SD are now automatically created during startup if needed.
    • Display an error screen with print-console instead of using fatalSimple, for errors during startup. Display a message-box in launchFile() for app-launching when an error occurs instead of using fatalSimple.
    • Use applet exit-locking.
    • Assets are now loaded from a .zip in RomFS instead of embedding it in data/.
    • Built with libnx stable v1.5.0.
    • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

v2.0.0

  • Major GUI update.
  • The used theme is now selected via the current system theme.
  • Files/directories starting with name '.' are now ignored.
  • Args are now handled properly.
  • If {dirname}/{dirname}.nro is not found, the NRO found via dir-listing will be used instead, if there's only 1 NRO in the directory. This only applies for paths located under "sdmc:/switch/".

v.1.0

  • First Release.

Credits

  • This uses code based on 3DS new-hbmenu.
  • libjpeg-turbo is used for handling JPEG icons. This library doesn't support lossless JPEG (likewise for official sw which uses libjpeg-turbo).

External links

Advertising: