TapiocaFox / Daijishou

Daijishō is a retro launcher that let you manage your retro games libraries. This repo is for assets and served as a main page.
MIT License
988 stars 107 forks source link

Possible issue: detection of multiple ROMs with the same filename #630

Closed npaladin2000 closed 3 months ago

npaladin2000 commented 4 months ago

Some explanation probably needed here. I have a number of games with MSU1 soundtracks. And several optional soundtracks. I set them up in seperate subfolders but the same ROM name, so I can switch back and forth between soundtracks while keeping the same save games and states. it appears that Daijisho is only presenting the first detected ROM and ignoring the others though, whether "grouping similar named ROMs" is enabled or disabled. Besides, they're named exactly the same, is it possible a routine somewhere is picking them up as duplicates and ignoring them that way?

Jetup13 commented 4 months ago

Daijishou adds items to a platform by checking the md5 hash, not the name or path. So if two items have the same md5 hash it ignores the other.

npaladin2000 commented 4 months ago

Ok, that's obviously a problem for what I'm doing then. That'll impact anything that has the same MSU1 patch but multiple different soundtracks. Not sure what there is to do about it though, if anything. If it's got a different name it may still have the same hash...

Jetup13 commented 4 months ago

The naming of a file doesn't change the file hash. The contents of the file does.

npaladin2000 commented 4 months ago

So will this be changed?

Jetup13 commented 4 months ago

No clue. What you can do is use RetroArch's soft patching feature.

Example -

Set 1: EarthBound (USA).sfc (not patched) EarthBound (USA).ips (the MSU patch) EarthBound (USA).msu EarthBound (USA)-*.pcm

Set 2:

EarthBound (USA) (Patched).sfc (this file is already patched) EarthBound (USA) (Patched).msu EarthBound (USA) (Patched)-*.pcm

This should produce two different md5 hashes thus allow two different entries. Soft Patching feature isn't supported everywhere so keep this in mind.