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

Hypseus: Simplify multigame zipped ROM (v2.11.3) #3974

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DirtBagXon
Copy link
Contributor

@DirtBagXon DirtBagXon commented Oct 1, 2024

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 [Main zipped LUA package]
|    |    |-- cpower1.commands (Optional)
|    |    |-- cpower1.txt      [Video Framefiles]
|    |    |-- cpower2.txt
|    |    |-- ...
|    |    |-- video
|    |
|    |
|    |
|    |-- 38ambushalley.zlua (single line containing parent zipname "actionmax")
|    |
|    |-- actionmax
|    |    |
|    |    |-- actionmax.zip          [Main zipped LUA package]
|    |    |-- 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 DirtBagXon changed the title Simplify multigame zipped ROM (v2.11.3) Hypseus: Simplify multigame zipped ROM (v2.11.3) Oct 1, 2024
@Widge-5
Copy link

Widge-5 commented Oct 1, 2024

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.

@joolswills
Copy link
Member

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.

@DirtBagXon
Copy link
Contributor Author

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.

@Widge-5
Copy link

Widge-5 commented Oct 21, 2024

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
Copy link

Widge-5 commented Oct 25, 2024

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.

@DirtBagXon
Copy link
Contributor Author

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

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