libretro / retroarch-assets

Assets needed for RetroArch - e.g. menu drivers, etc. Also contains the official branding.
Creative Commons Attribution 4.0 International
170 stars 161 forks source link

cannot use ppsspp libretro core without manually downloading assets #356

Open soredake opened 4 years ago

soredake commented 4 years ago

see https://github.com/libretro/docs/blob/master/docs/library/ppsspp.md#bios

baxysquare commented 4 years ago

I'm not sure there's much we can do to help you within the confines of this repository. Most of what's here is multimedia files. There are a few scripts, but I'm not sure how or if they would be part of this issue.

soredake commented 4 years ago

Maybe embed assets into the core?

baxysquare commented 4 years ago

That would be up to the maintainer(s) of the cores to either add the required assets or remove the dependencies as you propose. But in reading the issues posted at ppsspp/#12820 and libretro/dolphin#143 everyone is saying the issue is more widespread and is deeper than the cores themselves.

If there's something we could do about it, we'd try to help you. But we're not working on how the assets interact with the cores. We're only working on the assets themselves. Maybe the main lbretro/retroarch or libretro/common team would take care of it.

Perhaps @jdgleaver or @RobLoach have some suggestions on where to put this issue so it receives the attention it deserves.

jdgleaver commented 4 years ago

Yes, this is a tricky one...

On the one hand, it really is a core issue. Ideally, a core would 'bake in' any extra assets that it requires - the PUAE core, for example, does this, and extracts the relevant files as needed: https://github.com/libretro/libretro-uae/pull/209

Problems arise, however, when the asset files are large. For PPSSPP, the bundle is ~7.3 MB - that's too large put inside a binary.

I guess the online updater could use a 'core assets' section. Zipped asset bundles could then be hosted somewhere, and easily downloaded (and automatically extracted to the system directory).

I'm not sure about automating the process . I suppose the core info file could contain an entry for 'required assets', and if the files don't exist on the user's drive then it could spawn an automatic download as part of the core updater task (quite annoying to implement, however).

RobLoach commented 4 years ago

There has been talks about extending the Content Downloader to support system files. Right now, when you download files via the Content Downloader, it downloads them to config/retroarch/downloads. We could...

  1. Introduce a "System Files Downloader" menu entry, similar to the Content Downloader, or...
  2. Introduce a "System" folder in libretro-content that's accessible through the Content Downloader folder. When a file is downloaded that is part of the "System" folder, have it download to RetroArch's system folder instead of the downloads folder

Note that much of the system files cannot be distributed legally. They can be proprietary BIOS files, so users will still need to RTFM.

Screenshot at 2020-04-23 13-19-54

jdgleaver commented 4 years ago

@RobLoach I think option 1 would be cleanest - a new downloader entry just for system files. Keeping different types of content separate would probably be less confusing for users.

Certainly we can only distribute non-proprietary files :)

Off the top of my head, I think we'd probably be okay having asset bundles for PPSSPP, Dolphin, ScummVM and PrBoom.

I guess if someone can handle the packaging/updating of these (and find a place on the buildbot for them), I can add the new menu entry and download code to my TODO list.