Skip to content

Latest commit

 

History

History
161 lines (95 loc) · 8.48 KB

README.md

File metadata and controls

161 lines (95 loc) · 8.48 KB

Hypseus Singe

Support for Singe 1 and 2 games

Hypseus Singe game demos on Youtube

Firstly, ensure you are running the latest version of Hypseus Singe.

If you have older game content, ensure you update the existing lua and other data with files from
this repository. Backup your existing data, then overwrite the metadata with repository files.
You only require the video and audio files from your existing version (see below).

These games are updated frequently, ensure files are up-to-date.

Feel free to submit pull requests for any fixes or improvements.

Downloading specific folders

To grab specific folders from this repo, this GitHub tool is highly recommended:

https://download-directory.github.io/

Paste the relevant repo folder URL into the tool, it will allow you to download just that folder content, as a zip.

Version 2.11.x

From version 2.11.2, Hypseus Singe supports zipped LUA (zlua) ROMS.
From version 2.11.3, Hypseus Singe supports multi-game zipped ROMS with -usealt

Zipped ROMs

Note: You do not need to unzip the ROM for usage in hypseus from version 2.11.2.
A zipped ROM can be loaded, without decompressing, direct to the Singe -script or new -zlua argument.

A number of ROMS, with the zip container, will be released to a new folder in the repo here . These can be used to replace all .singe, .ttf, .wav, .png and other files within a Singe game folder. The only files required in addition to the .zip are the .txt (framefile) and video/audio, m2v/ogg files. So game installations can follow somewhat similar to Daphne game folder structures. Zipped games are no longer required to be within the singe/ subfolder. The required Singe path folder structure is held within the zip, not on disk.

A typical argument set using zip ROMS may begin:

hypseus singe vldp -zlua roms/timegal.zip -framefile vldp/timegal/timegal.txt ...

Earlier version information

All games in this repo now have been switched to use the new overlay functions. You should therefore begin to replace the .singe LUA code on existing games with the latest code from this repository. A future version of hypseus will remove the legacy overlay compeltely and overlays will/may look misaligned, or not work, on releases beyond 2.10.4 of hypseus.

The following categories still apply, but new sbc games will utilize the Minimal overlay switching within the 00-singe2/Framework. Some games have been left within the sbc categories as they do not utilize the Framework and remain to allow running on the lower spec hardware. The 00-singe2-ports-gungames being the most obvious. These games should still update LUA from the repo to ensure overlays are aligned correctly moving forward.

For any third party full game repos, video/audio from these is still valid. You are only required to change the LUA and peripheral files of these games to the new format. No re-encoding is required with ffmpeg. These repos should update their files in due course. This is analagous to updating the game ROM to a later version.

Earlier Categorizations

This will allow a recategorization of currently ported games which were created to run on lower
powered single-board computer devices, such as the Raspberry Pi and RK3328, and used
minimalist overlays. These will now be part of the 00-singe2-ports-sbc folder.
Note: This format is now deprecated in favor of the new Minimal Overlay within the 00-singe2
games folder.

A subsection of the above ports were gun games, used by communities such as Sinden Gun
owners. These also use minimalist overlays, but continue to simulate the 8bit 'American Laser
Games
' (ALG) games, from which they derive, using upscaled (AI enhanced) video. These will
be now within 00-singe2-ports-gungames.

The 00-singe2 folder will contain Singe 2 games using native sprites, fonts and full overlays.
LUA changes are only to restructure asset layout.

All games will still require the MPEG-2 and Ogg, video and audio streams required by the
Daphne VLDP. So recoding of mp4 and other formats is still required.

Download the latest complete repository via Releases (zip or tgz).

Using this repository and ported games

This repo does not contain Copyrighted © material, purely fan made graphics, sounds and LUA scripts.

All data in the subdirectories of this repository has been ported from Singe 2 LUA.

You should not need to alter any of the peripheral data in these subdirectories. However, these
are customizable games. If you make improvements, please consider contributing back to the repository.

The only required step is to obtain the video files from Singe 2 for your required game and perform
a video conversion as detailed below using ffmpeg. This can be performed on any PC including
Windows: https://ffmpeg.org/download.html

Once you have the new .m2v and .ogg video and audio files:

  • Check the duration and frame numbers match FRAMEINFO.md (see below).
  • Move them into the relevant subdirectory from this repository.
  • Install the subdirectory into your Hypseus Singe ROM folder location.
  • Play the game.

Instructions

The files in this repository should be installed alongside the required game video (m2v) and audio (ogg) files.

Refer to the game framefile (txt) for video file layout structure.

This repository does not contain any game video or audio files. You are required to acquire these files from other
sources, archive.org may help.

Download the latest complete repository via Releases (zip or tgz).

For Singe 2 video/audio recoding follow the instructions below:

Recoding Singe 2 mp4 video files for Hypseus Singe

Singe 2 game files in this repository are based around various releases of Singe 2 games.
Check FRAMEINFO.md for the required video size for each game.

Always check FRAMEINFO.md.

Frame information from mediainfo will be provided for the Singe 2 video files in a file called FRAMEINFO.md in each folder:

mediainfo --Inform='Video;%FrameCount%' <file>
mediainfo --Inform='Video;%Duration%' <file>

mediainfo can usually be installed in Linux via packaging, e.g.:

sudo apt-get install mediainfo

In Windows: https://mediaarea.net/en/MediaInfo/Download/Windows

View  -> Tree
Debug -> Advanced Mode

Look for 'Duration' and 'Frame Count'

This should allow you to know the correct video files required.

Conversion:

Some games use the very last frames of the source MP4 within the game LUA, i.e. have no laserdisc style lead-out time. The VLDP can sometimes have issues accessing these final frames. The last frame of video can be duplicated, using ffmpeg filters, to create a lead-out time and avoid VLDP issues. This can be achieved with the ffmpeg video filter: -vf tpad=stop_mode=clone:stop_duration=2

It is therefore advisable to add a lead-out period by default.
Note: This will extend the total number of frames seen in mediainfo.

ffmpeg -i <original>.mp4 -an -qscale:v 4 -b:v 6000k -vf tpad=stop_mode=clone:stop_duration=2 -codec:v mpeg2video <game>.m2v

Singe 2 has an audio bug and audio is delayed in the original MP4, check with VLC. Use -ss to delay encode start:

ffmpeg -i <original>.mp4 -ss 00:00:00.330 -vn -c:a libvorbis -ar 44100 -map a -b:a 160k <game>.ogg

e.g.

ffmpeg -i FaI.mp4 -an -qscale:v 4 -b:v 6000k -vf tpad=stop_mode=clone:stop_duration=2 -codec:v mpeg2video fireandice.m2v
ffmpeg -i FaI.mp4 -ss 00:00:00.330 -vn -c:a libvorbis -ar 44100 -map a -b:a 160k fireandice.ogg

If your device is struggling with the HD content, this is likely on a RPi, you can resize HD in one of these operations:

ffmpeg -i FaI.mp4 -an -qscale:v 4 -b:v 6000k -vf tpad=stop_mode=clone:stop_duration=2,scale=1280:720 -codec:v mpeg2video fireandice.m2v

Audio Delay (Singe 2 audio bug work-a-round)

If sound is out of sync, use -ss to delay audio encode start in ms (hh:mm:ss.SSS) on the orignal MP4:

ffmpeg -i DL2E.mp4 -ss 00:00:00.330 -vn -c:a libvorbis -ar 44100 -map a -b:a 160k dl2e.ogg

You can fix any existing .ogg files with delay easily, using:

mv dl2e.ogg dl2e_delayed.ogg
ffmpeg -i dl2e_delayed.ogg -ss 00:00:00.330 -c copy dl2e.ogg