spiritualized1997/openFPGA-GB-GBC

Suggestion: GB and GBC cores should share the same assets folder

OngoGablogian opened this issue · 4 comments

Hi, thanks for the great cores!

I was hoping it would be possible for the GB and GBC cores to share the same assets folder. Since the assets folders are now separate in v1.3.0, playing GB games that save and switching between the cores means you'd have to potentially maintain duplicate save files and games.

This can be mitigated somewhat by the user if they add .gbc to GB cores data.json file and then only using one location for the GB and GBC games. This also allows the GB core to play backwards compatible GBC games in DMG mode.

But even the analogue pocket system itself has different menus for GB and for GBC.

Games that dual boot in original GB and GBC like warioland 2 I just place in the folder I want to play the actual game in i.e. the gbc folder. Also it is nice to be able separate the DX color remakes like mario land, mario land 2, kirby etc... in the gbc folder so you can keep both separate.

Maybe I didn't properly explain the issue.

Games like Wario Land II supports both the GB and GBC. Say you want to play the game in color and later want to play the game with the GB Pocket or DMG filter (when they are made available). You'd have two different save files since the assets folders are in different locations.

The attached video should help explain the issue.

dk.mp4

I understand where you're coming from. Prior to 1.3.0, I had both DMG and Color games separated into two separate folders, nested inside the GBC core folder. (I'm actually moving back to this setup, I prefer the GBC's grayscale palette.)

Ultimately, I believe the best solution (and one that will benefit more cores in the long run) is an option in Core Settings to set a "default" folder, so that we can store our games in a location other than each core's "common" folder.

However, there is a workaround for what you're asking for: it's already unnecessary to maintain separate games and saves! You just have to do a little extra folder-navigating.


When you open the core of your choice, navigate to "Back" (or press B) twice. You should see the core's "common" folder, and then find yourself in the "Assets" folder where every other core folder is stored. From there, you can navigate into another core's folder to find the game you're looking for.

As long as your GB/GBC cross-compatible games have the ".gb" extension (case sensitive), they will be visible to both GB and GBC cores. Your saves will remain intact across both cores, without any need to manage them manually. (see [1] below)

I was able to confirm this using Pokemon Yellow, which sits in my GBC folder by default. I loaded the GB core and navigated to the "GBC\common\" folder. The GB core was able to save my progress, and the GBC core picked it up without any issues, or manual maintenance on my behalf.


[1] Pocket's "Saves" folder functions by mirroring the folder hierarchy of the "Assets" folder for each core. If you do alter the folder hierarchy or move a game to a different location, you will need to do the same in your "Saves" folder as well.

Yes, being able to set a default folder would be nice. As I said in the initial post, it's easy to add ".gbc" to GB cores data.json file to solve this issue for the time being.