Skip to content

Favorites System - #2676

Open
davocarli wants to merge 7 commits into
DS-Homebrew:masterfrom
davocarli:favorites-system
Open

Favorites System#2676
davocarli wants to merge 7 commits into
DS-Homebrew:masterfrom
davocarli:favorites-system

Conversation

@davocarli

@davocarli davocarli commented Aug 14, 2026

Copy link
Copy Markdown

What's changed?

This PR lays the groundwork for a favorites system powered by a favorites.ini in the universal library, then implements it in the Wood theme (the theme I use).

Universal Groundwork:
favorites.cpp lives in an opt-in source directory, to be reused across themes. It provides get/toggle functions plus a flag to indicate whether the last launch happened from favorites intended to be consumed on boot to restore the view. favorites.ini stores the full paths of favorited files as a '|'-separated list (: is used elsewhere but cannot be used with full paths because of the sd:/ and fat:/ prefixes).

Wood Theme Implementation:

  • A "*Favorites" folder appears at the card root, only when at least one favorite exists. "*" was chosen because it cannot be used in FAT directories so it won't ever interfere with a real folder.
  • Favorite status is toggled from the Y-menu per-game settings.
  • Interacting (launching or Y-Menu) with a game in the favorites view is done by performing a temporary chdir to the game's real directory, then restoring the previous directory as-needed.
  • Favorites whose file no longer exists are removed from the ini on load.
  • The "remember last position" setting correctly reopens the favorites view by setting/checking the LASTVIEW flag in the ini.

Where have you tested it?

melonDS in DSi mode, on a physical New 3DS XL running off the SD card, a physical DSi off the SD card, and on a DS Lite with an R4 clone cart from r4dsll.com. Built with the repo's Docker image.


Pull Request status

  • This PR has been tested using the latest version of devkitARM and libnds.

@davocarli
davocarli marked this pull request as draft August 14, 2026 13:52
@davocarli
davocarli marked this pull request as ready for review August 14, 2026 14:00
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.

1 participant