mmatyas / pegasus-frontend

A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
http://pegasus-frontend.org
Other
1.3k stars 117 forks source link

Skip mame bios/devices #363

Closed 5schatten closed 5 years ago

5schatten commented 5 years ago

Can you have a look at this PR for ES? https://github.com/RetroPie/EmulationStation/pull/432

I guess it would be pretty handy to skip listing mame & fba bios files like ES does.

Of course you have adjust it for Pegasus but at least this list https://github.com/RetroPie/EmulationStation/pull/432/files#diff-29b8b30965f0ba91f71004d563303bec should you tell which files you should skip ;-)

mmatyas commented 5 years ago

Are mamebioses.xml and mamedevices.xml available as separate files that can be read? I can add them to the ES2 support code if they are. As for Pegasus' metadata format, you can use ignore-files to ignore files; there's no MAME-specific code in Pegasus at all, so there's no place to add such file skipping either.

5schatten commented 5 years ago

yes they are included as seprarate files in the resources folder:

phoenix:~/.config/emulationstation/resources # ls -l mame* -rw-r--r-- 1 root root 1457 Oct 14 22:56 mamebioses.xml -rw-r--r-- 1 root root 10482 Oct 14 22:56 mamedevices.xml -rw-rw-r-- 1 root root 3217413 Oct 14 22:56 mamenames.xml

5schatten commented 5 years ago

Any progress about that? Would be nice to get rid of the bios files from the game lists.

mmatyas commented 5 years ago

Not yet, though I did look into the PR. The only problem I see is that the files are not really in a valid XML format (ie. the entries are not under a single root element), but I guess I can just read them line-by-line as a workaround. Other than that this shouldn't be too difficult, if nothing comes up might be added this week or the next.

By the way, do these files on the list have some extension or I can just use the as-is?

5schatten commented 5 years ago

Don't pin me down on that but they should have the "typical" compressed archive ending so .zip .7z .rar should be common. I have only .zip files in my folders.

https://retropie.org.uk/docs/Neo-Geo/#bios

mmatyas commented 5 years ago

The implementation is almost done, however I've noticed that on your directory listing above the path is ~/.config/emulationstation/resources, while according to the ES2 sources the search path is ~/emulationstation/resources for the files. Are you using a modified ES perhaps?

5schatten commented 5 years ago

I use this as base https://github.com/RetroPie/EmulationStation and added some patches to clean up Retropie leftovers from the menu while paths are untouched. The resource files are copied over from the package build dir to the config folder and ES picks them up.

The ~/emulationstation/resources path is correct I just create a symlink & move the config files to a folder that is accessible over smb.

mmatyas commented 5 years ago

Ok, should be fixed now in the latest release!

5schatten commented 5 years ago

@mmatyas Well it looks like it loads the bios lists but still shows neogeo.zip qsound.zip or pgm.zip

2019-04-02T23:12:32 [i] EmulationStation: Found `/storage/.emulationstation/resources/mamebioses.xml`, 70 entries loaded
2019-04-02T23:12:32 [i] EmulationStation: Found `/storage/.emulationstation/resources/mamedevices.xml`, 403 entries loaded
mmatyas commented 5 years ago

Tested again and it's working fine for me. Could you provide an example <system> entry and directory layout where it fails?

5schatten commented 5 years ago

Directory listing: http://ix.io/1Fet

es_systems.cfg https://github.com/5schatten/LibreELEC.tv/blob/libreelec-9.x-rr/packages/5schatten/emulation-frontends/emulationstation/config/Generic/es_systems.cfg#L197

    <system>
        <name>fba</name>
        <fullname>Final Burn Alpha</fullname>
        <path>/storage/roms/fba</path>
        <extension>.iso .7z .zip</extension>
        <command>/usr/bin/retroarch.start -L /tmp/cores/fbalpha_libretro.so %ROM%</command>
        <platform>arcade</platform>
                <theme>fba</theme>
    </system>

gamelist.xml

<game id="63236" source="ScreenScraper">
                <path>/storage/roms/fba/neogeo.zip</path>
                <name>Neo-geo</name>
                <desc />
                <image>/storage/roms/fba/images/neogeo-image.png</image>
                <image />
                <marquee>/storage/roms/fba/images/neogeo-marquee.jpg</marquee>
                <video />
                <thumbnail />
                <rating>0</rating>
                <releasedate>19900101T000000</releasedate>
                <developer>SNK</developer>
                <publisher>SNK</publisher>
                <genre>Compilation</genre>
                <players />
        </game>
mmatyas commented 5 years ago

Ah I see the bug now, will fix it in a sec.

mmatyas commented 5 years ago

Ok, should work now for real.

5schatten commented 5 years ago

Tested & works like a charm now.