mattpannella / pupdate

Pupdate - A thing for updating your Analogue Pocket
https://mattpannella.github.io/pupdate/
MIT License
1.07k stars 38 forks source link

Vectrex Overlays #281

Closed TheSKARD1 closed 6 months ago

TheSKARD1 commented 6 months ago

Describe the bug The updater doesn't download Vectrex Overlays.

The openFPGA-Vectrex core doesn't include them. https://github.com/obsidian-dot-dev/openFPGA-Vectrex

In the notes it says to get overlays from the Vectrex_MiSTer core. https://github.com/MiSTer-devel/Vectrex_MiSTer

To Reproduce Steps to reproduce the behavior:

  1. Run pupdate.exe
  2. Update All
  3. Check the .\Assets\vectrex\common folder to find that there are no overlays.

Expected behavior Download everything that can be downloaded.

hallem commented 6 months ago

This is actually expected behavior. You are responsible for downloading the ROMs and their matching Overlays for the core. This is the same behavior for every other core that is not an arcade core.

Alternatively, you can look at and install (through the Pocket Extras --> Variant Cores menu on Pupdate) the Vectrex Extras and follow the setup instructions there. However, this set of extras for the Vectrex core includes 500+ games and variants, and you will not be able to selectively choose which you want to download.

TheSKARD1 commented 6 months ago

This is the same behavior for every other core that is not an arcade core.

I'm not sure about that. Like with CPS1 there are _alternatives json files but not the _alternatives roms they point to. It got some but not others. So I'm confused about what is meant to be included in "Update All" and what is intentionally left out.

hallem commented 6 months ago

So the CPS1 core is an arcade core. The _alternatives json files are there because they're included with the release of the core, but there's a setting called skip_alternative_assets in the pupdate_settings.json or Skip alternative roms when downloading assets if you're going through the menu. If that's set to false, the roms won't be downloaded. For the CPS cores, there are a lot so if you do enable this, it will take a while to download them all.

The basic rule of thumb we've followed for the cores is arcade roms get downloaded automatically because they're maintained in an internet archive (not by us). There's a decent amount of complexity in creating them so someone decided to make it easy. Pupdate will also download the files necessary to run the core, like bios files, since those are also included in the internet archive.

Everything else (i.e. GB, GBC, Vectrex, NES, SNES, etc.) it's up to you to get and place in the assets folder.

As for Update All, this is to update everything pupdate is capable of that you have enabled. So if you have selected 5 cores, it will make sure the core files are up to date when run only for those 5 cores. If any of those 5 cores are arcade cores, it will also download the arcade roms and alternative roms (if you have the setting I mentioned above enabled).

Does that help?

TheSKARD1 commented 6 months ago

As for Update All, this is to update everything pupdate is capable of that you have enabled.

This may be the part that threw me off. I expected I extract pupdate.exe, run it, and update all means all. I didn't think there would be things pupdate is capable of that have not been enabled by default.

It's not so clear to me what Update All doesn't do. I did find the option for 'skip alternative roms' then Updated All again and still nothing happened. But the separate 'Download assets' did start adding new files.

When looking at what I did and didn't have I thought the overlays were an odd omission since the notes for the core says how to get them. But if there are different Vectrex cores with their own distinct set of overlays I see how that would complicate matters.

mattpannella commented 6 months ago

what happens during update all is configurable in the settings the readme for the app outlines it all

mattpannella commented 6 months ago

gonna close this as there's no bug, it's intended functionality