RetroPie-Setup icon indicating copy to clipboard operation
RetroPie-Setup copied to clipboard

Hypseus: Simplify multigame zipped ROM (v2.11.3)

Open DirtBagXon opened this issue 1 year ago • 1 comments

This addition allows the new multi-game (zip) ROM's to be used without the need for symlinking.

roms
|-- daphne
|    |
|    |-- cpower1.zlua (single line containing parent zipname "captainpower")
|    |
|    |-- captainpower
|    |    |
|    |    |-- captainpower.zip
|    |    |-- cpower1.commands (Optional)
|    |    |-- cpower1.txt      [Video Framefiles]
|    |    |-- cpower2.txt
|    |    |-- ...
|    |    |-- video
|    |
|    |
|    |
|    |-- 38ambushalley.zlua (single line containing parent zipname "actionmax")
|    |
|    |-- actionmax
|    |    |
|    |    |-- actionmax.zip
|    |    |-- 38ambushalley.commands (Optional)
|    |    |-- 38ambushalley.txt      [Video Framefiles]
|    |    |-- bluethunder.txt
|    |    |-- ...
|    |    |-- video_actionmaxintro.m2v
|    |    |-- video_actionmaxintro.ogg
|    |    |-- video_menu.m2v
|    |    |-- video_menu.ogg
|    |    |-- <game video subfolders>

Note: -texturetarget will also be required to be added to the .commands file for:

actionmax
captainpower

(It's currently negated, with -texturestream, by the current scriptmodule due to the old SDL version used.)

Further Note:

RetroPie v4.8 will not allow actionmax and captainpower to work, due to the outdated SDL2 (2.0.10). Debian Bookworm based installations work correctly (Pi4 and Pi5 tested).

A binary build of v2.11.3 should probably be provided to cover the new -usealt argument. Although it would only be called using the new .zlua extension.

Not certain, how, or indeed when, you would wish to merge in the RetroPie update process due to the later SDL versions required for the new game types.

Footnote: .zlua is the acronym for Zipped LUA ROM introduced in the 2.11.x Hypseus versions.

DirtBagXon avatar Oct 01 '24 14:10 DirtBagXon

I've been testing this change, and I can confirm that use of a .zlua file is a lot simpler and easier than creating symlinks. A .zlua file can be included in a zipped package that someone can just drop into place, eliminating the need to give instructions on how to create a symbolic link. And even if instructions are necessary, advising to create a text file with a single word in it is considerably more straightforward than the alternative.

Widge-5 avatar Oct 01 '24 14:10 Widge-5

Thank you and sorry for the delay.

Just to confirm as I'm a bit unfamiliar with this emulator: This will only affect operating system's with the older SDL for the new format - existing functionality will be unchanged ?

New binaries should have been built automatically when your RetroPie branch of hypseus-singe.git was updated. But if that's not the case please let me know.

joolswills avatar Oct 20 '24 22:10 joolswills

Hey. Thanks for the response.

Yes existing functionality will be unchanged. If the new release is compiled and linked with the old SDL, a binary will be produced as normal. But the games we are targeting with this change just will not work. But they do not work on the current SDL 2.0.10 in any case, so functionality is unchanged - read actionmax.

If you are using a new bookworm installation, you will have the ability to run these new style games without creating symlinks in fugly places, as is the case currently. Widge has been testing this change now for some time on a Pi5 bookworm RetroPie setup.

I wasn't aware of the auto binary updates, I'll ask the guys to check - thanks, good to know.

DirtBagXon avatar Oct 20 '24 22:10 DirtBagXon

I can confirm that the auto binary update on Pi4 works as described. Installing from binary installs the latest release. No binaries on pi5 though, but I expect that's because the Pi5 release isn't finalised yet.

Widge-5 avatar Oct 21 '24 20:10 Widge-5

I've just spent the better part of a day helping somebody to set up the Captain Power games for Hypseus on their Raspberry Pi system. Captain Power is similar to ActionMax, in that it is a multigame VHS system. Traditionally, the setup requires symbolic links to be made pointing to the parent folder but, aside from the fact that it can be a confusingly complex setup for casual users, in this case the symbolic linking method just simply wasn't working. This appears to be because the user's games were stored on an external drive and, for some reason, those symbolically linked folders were being viewed by the system as copies of the original folder rather than links to. Ultimately the method wasn't working, so I eventually led the user to apply the change proposed here in order to use the far simpler zlua method, which worked without issue.

There will likely be more similar VHS multigames becoming available for Hypseus in the coming months. Please consider accepting this PR, not only to enable edge-cases such as the one I described here, but also to simplify setup for all users. Thank you.

Widge-5 avatar Oct 25 '24 08:10 Widge-5

I'm guessing the external drive wasn't a Linux based filesystem, which to be fair, it rarely is, as most users will for format the drive in Windows. This has been a nag on external drives for some time, also in other distributions.

Thanks for persevering with that user Widge.

It's good to get further confirmation on the PR working.

Shameless plug for @Widge-5 and the game contributors, but if you haven't already, you should check out the Captain Power games, a couple of YouTube videos are here:

https://www.youtube.com/watch?v=xrANqNf_sr4

https://www.youtube.com/watch?v=nmxLPFxkueU

DirtBagXon avatar Oct 25 '24 09:10 DirtBagXon

Not sure how you want to proceed on this as a whole, but added a couple of small changes for the latest release dependency tree: https://github.com/RetroPie/RetroPie-Setup/pull/3974/commits/3b57a6ec07b3cfd210e0ee863a9c04dc2d551dc9

DirtBagXon avatar Jan 10 '25 19:01 DirtBagXon

Thank you. I'm happy to merge this if it's ready. Apologies for the delay.

joolswills avatar Mar 01 '25 23:03 joolswills

All good from this side - thank you.

DirtBagXon avatar Mar 02 '25 00:03 DirtBagXon

Thank you!

joolswills avatar Mar 02 '25 00:03 joolswills