Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu Subsystem Implementation #6282

Merged
merged 13 commits into from
Feb 12, 2018
Merged

Menu Subsystem Implementation #6282

merged 13 commits into from
Feb 12, 2018

Conversation

andres-asm
Copy link
Contributor

@andres-asm andres-asm commented Feb 11, 2018

Description

Allows loading subsystem games from the menu

It highlights the subsystem we're loading to with a star:

image

It tells you which rom for such subsystem is currently being loaded:

image

And once ready the entry changes to Start instead of Load

image

If you pick another subsystem it cleans up the currently loaded roms, and once loaded it cleans up too so there are no regressions that I could find in other loading cases so far

Results:

image

image

Comments

  • You NEED TO HAVE CONTENT LOADED WITH THE CORE for it to be available.
  • SUBSYSTEM is set at the same time as supports no content so it should be possible to make this work with Load Core but I couldn't figure that out
  • Some menu strings are non localizable, I don't like doing localization...
  • Only available in XMB, I guess adding it to the other menus is just a copy paste exercise
  • Doesn't support loading from archives (because I didn't understand how to)
  • Needs a menu browser dir set otherwise it doesn't work for some reason
  • Maybe it should be in a submenu instead of bloating the main menu
  • It's missing left / right / start / select callbacks

Related Issues

[Any issues this pull request may be addressing]

Related Pull Requests

[Any other PRs from related repositories that might be needed for this pull request to work]

Reviewers

@twinaphex

@andres-asm andres-asm added do not merge WIP Work In Progress... Do not merge yet. needs testing and removed do not merge WIP Work In Progress... Do not merge yet. labels Feb 11, 2018
@Tatsuya79
Copy link
Contributor

Perhaps you could use retropad_start/space key when on "Start Super Gameboy" to unload the roms and go back to "Load Super Gameboy".

@andres-asm
Copy link
Contributor Author

andres-asm commented Feb 11, 2018

ah sure, just add content_clear_subsystem to the start callback, I already spent waaaaay more time that I expected on this and I'm out for the day :P

btw bsnes implementation is very buggy, it crashes on save state, load state and at random times, even with CLI loading, also flat out doesn't work on linux.

@inactive123
Copy link
Contributor

We will continue working on this and improving on it on our master branch.

@inactive123 inactive123 merged commit c6a9967 into libretro:master Feb 12, 2018
@@ -361,6 +361,10 @@ MSG_HASH(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS,
"disk_cycle_tray_status")
MSG_HASH(MENU_ENUM_LABEL_DISK_IMAGE_APPEND,
"disk_image_append")
MSG_HASH(MENU_ENUM_LABEL_SUBSYSTEM_ADD,
"subsystem_add")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the action that is triggered when a rom is selected

MSG_HASH(MENU_ENUM_LABEL_SUBSYSTEM_ADD,
"subsystem_add")
MSG_HASH(MENU_ENUM_LABEL_SUBSYSTEM_LOAD,
"subsystem_load")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the action that is triggered when the start subsystem option is selected

0-wiz-0 pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Feb 25, 2018
General changelog (unix-related changes only):

– AUDIO: Added ‘Audio Resampler Quality’ setting to Audio Settings. Setting this higher will increase sound quality at the expense of sound latency and/or performance. Setting this value lower will improve sound latency/performance at the expense of sound quality. Only has an effect if the Sinc resampler is used, and you have to restart the game for changes to take effect.
– CHEEVOS: Fix unofficial achievements not being loaded.
– CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled.
– CHEEVOS: Support Neo Geo Pocket.
– COMMON: Bugfix for issue related to ‘Windows mouse pointer visible when running MESS or MAME cores’.
– COMMON: Fix bug ‘Last item in a Playlist is ignored’.
– COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003.
– COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now).
– INPUT: show friendly names when available under input binds and system information
– INPUT: show the config name when available under system information
– GUI: Allow changing menu font color.
– GUI: Menu visibility options for RGUI and MaterialUI.
– GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers.
– GUI/XMB: Add Monochrome Inverted icon theme.
– GUI/XMB: Allow changing menu scale to 200%.
– GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don’t work on D3D8/D3D9 Cg.
– HAIKU: Restored port.
– KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
– GL: ignore hard gpu sync when fast-forwarding
– IOS10/11: Handle hardware keyboards and iCade controllers
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Portuguese-Brazilian translation.
– LOCALIZATION: Update Spanish translation.
– NETPLAY: Add menu option to select different MITM (relay) server locations.
– OSX: Modify HID buttons detection algorithm.
– QB: Added –datarootdir.
– QB: Added –bindir and –mandir and deprecated –with-bin_dir and –with-man_dir.
– QB: Added –docdir.
– SHADERS: Allow saving of shader presets based on the parent directory (Saving one for */foo/bar/mario.sfc* would result in *shaders/presets/corename/bar.ext*). We decided it’s safer to still isolate the presets to a single core because different cores may treat video output differently.
– SHADERS: Don’t save the path to the current preset to the main config. This was causing weird behavior, instead it will try to load *currentconfig.ext* and it will save a preset with that name when select *apply shader preset*. The resulting shader will restore properly after restarting and even after core/parent/game specific presets are loaded
– SOLARIS: Initial port.
– SHADERS: SPIRV-Cross/slang shader support for D3D11.
– SUBSYSTEM: Subsystem saves now respect the save directory
– SUBSYSTEM: You can now load subsystem games from the menu (see libretro/RetroArch#6282 for caveats)
– VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants