Skip to content

Feature: Duplicate games with different id to allow using different ocarina codes with the same ISO#58

Open
sticks-stuff wants to merge 1 commit into
wiidev:enhancedfrom
sticks-stuff:feat/duplicate-game
Open

Feature: Duplicate games with different id to allow using different ocarina codes with the same ISO#58
sticks-stuff wants to merge 1 commit into
wiidev:enhancedfrom
sticks-stuff:feat/duplicate-game

Conversation

@sticks-stuff
Copy link
Copy Markdown

Video demonstration: https://youtu.be/-e-5d-Wpmj4

Made this a while ago assuming USB Loader GX was abandoned, did not know it was still receiving updates.

Mostly opening this PR to gage interest in such a feature, right now the duplicate button only appears in list mode but can easily be added to the other views as well.

@eku
Copy link
Copy Markdown

eku commented Apr 9, 2026

I'm not quite sure what the use case is? Surely the cheats can be enabled and disabled. So why would you need to duplicate the game?

@sticks-stuff
Copy link
Copy Markdown
Author

sticks-stuff commented Apr 9, 2026

It allows using different cheat files on the same SD with the same ISO. If you watch the video you can see how multiple different Brawl mods are able to be loaded which would previously require either swapping out the SD card entirely, or having multiple copies of the ISO with different game IDs on the drive

#include "cache/cache.hpp"

#include <map>
#include <fstream>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest to use libc i/o function, as done in all other places. C++ streams have a huge memory impact.

@wiidev
Copy link
Copy Markdown
Owner

wiidev commented May 9, 2026

Sorry for the delayed reply! I've been rather busy lately and completely forgot to reply to this 😅

This PR looks okay on the surface, but there are a few issues:

  1. It allows users to customise the entire game ID, which isn't safe, as it can result in the loader misidentifying the game type or region, and even assigning the wrong title if the user enters an ID that already exists in wiitdb.xml.
  2. It offers no way to remove duplicate games.
  3. If the user uninstalls the real game, FullGameList would still contain references (duplicates) to a game that no longer exists, which could break caching.

However, the biggest "issue" is that about six months ago I implemented a setting that allows users to simply enable or disable Project+ if it's detected on their drive. That means the user doesn't need to rename or move files, or configure multiple settings or paths.

If there's enough interest in allowing users to select between multiple Brawl mods, I could probably expand my current on/off selector into a mod selector. But it'd specifically target Brawl, and I'd prefer to only support mods that follow the same naming conventions, since I don't want to add custom code for every mod.

@sticks-stuff
Copy link
Copy Markdown
Author

Would having a different mod selector allow for having the mods listed as different games with their own banner etc? If so, that would definitely supersede this PR

@wiidev
Copy link
Copy Markdown
Owner

wiidev commented May 13, 2026

Currently, no. Before booting the game, if you wanted to change which mod was applied, you'd go into the games settings and select the mod.

I know that's less fancy looking, but it's also much more reliable because users can't input bad game IDs, the games list and cache shouldn't desync if Brawl is deleted or uninstalled, and it doesn't require users to install additional files (such as banners) or relocate or rename a mods files.

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.

3 participants