Releases: DirtBagXon/hypseus-singe
hypseus-singe v2.11.3
Note: There is now a dedicated Bezels repo here: https://github.com/gojidan/hypseus-singe-bezels
- Implement multiple Game controller support [See gamepad hypinput.ini example]
- Joystick API HAT is now attributed to a single Joystick [See also
-openhat
] - Compile time method to separate Daphne and Singe game types in ES.
- Increased Scoreboard bezel positioning to cater for DQHD+
- Replaced some legacy Daphne overlay
video::
appendages. - zlua enhancements. Support for alternate/multi game zip ROM [See
-usealt
] - Finally addressed the early SDL2 getPixel workaround/kludge. [Widge]
-screen
argument now allows placement in a multi screen setup.-bezeldir
specify an absolute path to the 'bezels' folder.- Peripheral overlay improvements in
gpworld
andbadlands
- Thayer's "timer" scoreboard alpha level simplified.
- Added a Window icon for taskbar enhancement.
- YUV palette transparency functions improved.
- Fix
-vertical_stretch
YUV stretching. [Seecliff
] - Added
-horizontal_stretch
YUV stretching. - Reduce VLDP flicker in
aceeuro
transition screens. - Fix obscure Thayer's positional toolbox bug.
- Fix
-haptic 0
argument placement/behaviour. - Fix
rewriteStatus()
API call in zipped ROM's. - Added Singe API calls for volume, scale, focus/zoom and multiple Game Controllers.
- Example bash loader scripts for
actionmax
andcaptainpower
running-usealt
. - Update hypjsch to v1.21
- New logo
Comments:
- Users with multiple Joysticks attached using HAT controls, may need to make config adjustments.
- Game Controller configurations should be backwards compatible, use new template for updates.
- The zlua
-usealt
argument removes the need for ES symlinking, in games such as ActionMax. - Added
-singedir
to force absolutesinge/
folder path location in ES installations.
hypseus-singe v2.11.2
- [Issues] Random bezel loading (MSWindows) issue resolved.
- Activating
-bezel
now enables-fullscreen
automatically. - Thayer's Quest keyboard bezel is now mouse interactive:
-tqkeys
- Added an authentic 'backlit' Thayer's Quest keyboard bezel scan.
- Atari/Sidam European ROMS are now supported. Requires EU PAL laserdisc content.
- GPWorld offers authentic steering strengths and includes autocenter via
-preset
- MacOS CMake linking issues have been resolved. In both master and libmpeg2 branches.
- Added SDL WINDOW_ALWAYS_ON_TOP argument:
-alwaysontop
. (Addresses legacy issue in BigBox) - Added Game Controller Rumble haptics and additional Singe API call: controllerDoRumble()
- LUA
os.clock()
calls have been aligned for Linux/Mac - corrects game timings in these OS with full overlays. - Singe "zlua" roms - Zipped LUA ROM files are now supported.
- Singe games installations can now align with Daphne, using the "rom", "ram" and "vldp" folders.
- The
singe
sub-folder is no longer required "on-disk" with zipped LUA games. - The loading system will render the
-retropath
argument ineffectual on zipped ROM.
- The
- Added Singe 2 Unload() API calls. These will help address a memory leak in many existing game LUA.
- Aligned some Singe 2.10 API calls for sprite resizing, rotating and smoothing. Using
SDL2_gfx
- Animated gif support for Singe sprites is enabled if compiled against
SDL2_image
v2.6.0+(IMG_Animation)
- Additional
hypseus
API calls for animated PNG sprite sheets. BypassesIMG_Animation
requirement. - Fixes for forced aspect ratio arguments within new viewport: ForceAspectRatio, IgnoreAspectRatio
- A legacy Joystick/Game Controller Singe PAUSE alignment issue is fixed.
- MSWindows should now correctly predict parsing percentage/time on large 4Gb+ files.
- Added
esp32
support on USB scoreboard - flip serial RTS to defaultoff
. (Prohibits forcing a programming mode.) - Scanlines on scaled, positioned and rotated video display fixed.
- Backslash
\
allowed, in MSWindows, for-bezel
path definitions - Sub-folders now allowed in
-keymapfile
path definitions - Splashscreen implemented reporting the running version.
- luars232 serial support added (Align with Singe 2) Use on Arduino scoreboards?
- AC_PROG_GCC_TRADITIONAL - obsolete MACRO removed from libmpeg2
- GitHub workflow will produce a SteamDeck "AppImage".
- Digital Leisure games overlay scoreboard updates.
- Rotation refactoring.
Comments:
libzip
is now required for compilation.- Added
Alt
positioning Toolkit using Keypad. - The Windows parsing % fix may cause a regeneration of
.dat
files. - Trialing NSIS installer, these can trigger false positive AV warnings.. (Alt: zip)
- "Double intro" shuck on
sae
anddle21
with-fastboot
-alwaysontop
enable WINDOW_ALWAYS_ON_TOP for main game window.- GPWorld
-preset 1
for spring-loaded style steering wheel: (Gamepads) - [Daphne] Roadblaster has "random" start scenes disabled in default
-bank
settings. - Thayers has
-preset 1
argument for timer/scoreboard switch. -zlua
for zipped LUA Singe files.-script
will also work for backwards compatibility.- When
-zlua
files are loaded, the-retropath
argument will be ignored. - LUA
lfs
calls will not work within zipped LUA ROMS. - https://github.com/DirtBagXon/hypseus_singe_data/tree/master/00-zip-roms
- When
- Singe
-enable_trace
attempts to print lua_Debug on errors.
Argument change overview:
- Obsolete: Arguments
-set_overlay
and-oversize_overlay
are no longer valid in Singe. - Replaced:
-auxbezel_scale
and-auxbezel_position
replace annun variants.
-annunbezel_position => -auxbezel_position
-annunbezel_alpha => -auxbezel_alpha
-annunbezel_scale => -auxbezel_scale
Check the log for argument errors.
hypseus-singe v2.11.1
Note: The release contains new files required within the pics
and sound
folders.
If upgrading, ensure the new files are copied to your existing folder setup.
Note (default setting change): SDL linear scaling filter is now off by default with the new overlay system. This was commonly disabled by many users, the setting can give better results on certain overlays than others. User discretion advised. The previous display behaviour can be restored with -linear_scale
Note: The release rewrites the logical viewport display functionality, allowing game window and bezel placement anywhere on the visable area. This gives better support for vertically orientated displays with full cabinet layout. It also provides several other benefits.
Note: This release removes the legacy Singe overlay functions which will mean some early ported Singe games will require updated LUA and sprites from the partner data repo. You can download the full data repo via the releases page.
If you experience Singe overlay alignment issues with this release, download the latest data from the above repo.
- Full logical viewport placement of the game window is now implemeted.
- Stern: Goal to Go (1983) emulation is now supported via ROM
gtg
. - GPWorld has playability improvements including [non authentic] samples.
- Bilinear scaling is now off by default. Re-enable with
-linear_scale
- Singe legacy overlay functions have been removed from codebase: (See notes).
-shiftx
and-shifty
can now use the whole logical viewport.- Badlands 'Shoot Lamp' notification has changed from txt to sprite.
- Daphne overlay vertical_shift values are now observed.
- Singe 2
Framework
folder no longer needs.daphne
extention when used with-retropath
. - Scanlines with incremental shunt + value displayed, when using
Alt-Backspace
. - screen number is displayed when using
-scorepanel
andKEY_TILT
-fvalue
Singe argument added for game dev tools: Frameviewer- Usage information will be displayed if
hypseus
is run without arguments. - F4 is set, by default, for Singe 2 'Save/Load' config alignment.
- 8bit overlay switching should be fixed...
- 'Us vs Them' attract mode fixed.
- Various other overlay improvements.
Arguments change overview:
-linear_scale
- restore the linear filter on scaling (previous default).-scale_shift[x|y]
renamed to-shift[x|y]
and now have extended value outside-scalefactor
-vertical_screen
flips calculations for usage on portrait orientated logical viewports.-set_overlay
has now been removed from Singe arguments.gtg
game specific-compact
argument removes TMS 256 to 320 pixel stretching. See also-linear_scale
-annunlamps
alternate staggered conversion style lamp layout -ace
annunciator bezel.-fvalue <float>
can be used to pass float values to LUA for game debug.
Video resolutions: In the new viewport, MPEG resolutions are absolute. SDL will no longer use RenderSetLogicalSize()
to 'fit' to screen. Video resolutions larger than those capable by the screen may have areas positioned outside the viewable area. To combat this issue, large video resolutions can be resized via -x
and -y
on displays with resolution issues.
The Singe reworking should not require any re-encoding, or re-aquirement, of video/audio content. Only the .singe
( LUA) and other periphral game data requires updating. This is analagous to ROM data upgrades. If you have updated game data from the repo recently, no further changes should be required.
If you have deployed Singe games that use the Framework
folder and are using the -retropath
argument: You will need to remove the .daphne
extension from the Framework.daphne
folder. Simply calling it Framework
, no other changes should be required.
Vertical Bezels demonstrating placement in the new viewport:
hypseus-singe v2.10.4
Note: This release contains changes that may alter existing gamepad configurations.
Note: MPEG .dat
files will be updated, on all games, with this update.
Note: The release contains new files required within the pics
folder.
If upgrading, ensure the new files are copied to your existing folder setup.
- DAT_VERSION 3
.dat
files. 4Gb+ UHD M2V files are now supported - Singe 2 dynamic 'overlay resolution switching' is now supported.
- Singe API driven Active Scoreboards - Game LUA requires simple changes.
- Singe Scoreboard API can use the hardware Arduino USB Scoreboard.
.dat
file (re)parsing video blanking bug, is now fixed.- Scaled video window is now positionable:
-scale_shiftx
and-scale_shifty
- More accurate (default) annunciator 'rank' graphics (Updates in
pics
folder). - Added 'dedicated cabinet' style annunciator bezel:
-dedannunbezel
[NeoKarnage] - Score and annunciator bezels now have transparency level adjustments.
- The independent Scorepanel can be initialized on a selectable secondary screen.
- Game Controller trigger bug is fixed and HAT behaviour has changed [walknight]
- Overlay scoreboard can be disabled using null scoreboard in
lair
andace
:-noscoreboard
Argument change overview:
-scorescreen
- Choose secondary screen for independent Score Panel display.-set_overlay
is no longer supported on updated games.- New bezel features are documented in: bezels.txt
Gamepad HAT(D-PAD)
U-D-L-R behaviour has changed - Now provides 4 extra buttons for hypinput.ini
KEY_UP = SDLK_UP 0 BUTTON_DPAD_UP AXIS_LEFT_UP
KEY_DOWN = SDLK_DOWN 0 BUTTON_DPAD_DOWN AXIS_LEFT_DOWN
KEY_LEFT = SDLK_LEFT 0 BUTTON_DPAD_LEFT AXIS_LEFT_LEFT
KEY_RIGHT = SDLK_RIGHT 0 BUTTON_DPAD_RIGHT AXIS_LEFT_RIGHT
hypseus-singe v2.10.3
Note: This release contains new files required within the pics
folder.
If upgrading, ensure the new files are copied to your existing folder setup.
-scalefactor
now enables fullscreen resize of video window.-rotate
reworking, now all video sizes and overlays are enabled.- Faster booting for enhanced ROMS:
dle21
andsae
, via-fastboot
- A number of memory leaks have been addressed [walknight]
- draw_LDP1450_overlay() for
lair2
reworked for SBC efficiency. - Implement a scaleable active bezel
scoreboard
for lair/ace/tq:-scorebezel
- Implement a scaleable active bezel
annunciator
for ace:-annunbezel
** - Implement a keyboard bezel for Thayer's Quest:
-tq_keyboard
-scorepanel
window can now use multiple displays. Switch withKEY_TILT
*- Window Manager check to avoid segfault with
-scorepanel
on SBC platforms.
New bezel related arguments:
-annunbezel
-annunbezel_scale 1-25
-annunbezel_position <x> <y>
-scorebezel
-scorebezel_alpha
for background transparency-scorebezel_scale 1-25
-scorebezel_position <x> <y>
alias for-scorepanel_position
-tq_keyboard
-scalefactor 50-100
%
Evolved arguments:
-rotate 1-359
- aspect ratios may be ignored
* -scorepanel
should now be used in multiple screen, or windowed display, scenarios.
** -annunbezel
enabled:
hypseus-singe v2.10.2
- Arduino based USB hardware LED scoreboard/annunciator for
lair
,ace
andtq
- See dedicated repo - Uses common (modern) 7-segment LED modules.
- Aspect ratio header is now observed from MPEG M2V files*
- Integrated Bezel support, using png, in new
bezels
sub-folder** - ManyMouse now supports differentiated mice input. Two player Gun Games...
- Software Scoreboard (now
scorepanel
) altered for better bezel integration - Fixed the ability to take
screenshots
in fullscreen render (with bezels). - Added extended Singe API calls (getRatio).
- MacOS startup error reporting improved
-8bit_overlay
placement addressed- Allow
-
and_
in-keymapfile
filenames
Evolved arguments:
-software_scoreboard
renamed to-scorepanel
New arguments added:
-usbscoreboard <args>
- Enable USB serial support for Arduino scoreboard-bezel <file.png>
- Specify a.png
file to use as bezel-ignore_aspect_ratio
- Ignore MPEG aspect ratio header (restore previous behaviour)*-scorepanel_position <x> <y>
- Position Software Scoreboard
** See #bezels
channel in Discord
hypseus-singe v2.10.1
- SDL_GameController (hotplug) support *
- Implements 'gamecontrollerdb.txt'
- 32bit (True Color) Overlays in Singe
- 8bit sprite rendering fallback for schmaltz
- Full resolution Overlays in Singe 2 games **
- Optimizations in sprite blitting on the new 32bit surfaces
- Cleanup and tidy of main video rendering functions
- Improved Error reporting on startup
New arguments added:
-gamepad
- enable GameController API config-overlay_set [half|full|oversize]
(Singe)-8bit_overlay
(Singe)
* The Joystick API will remain default and offer more complex configurations
** Full resolution overlay:
hypseus-singe v2.8.3
-vertical_stretch
reimplemented forcliff
overlay. See #78 *-blank_blue
enablesYUV#1DEB6B
(blue) blanking screens.**-manymouse
is now a global argument (only Singe will currently enable).- Singe 'cursor drift' bug fixed when using latest game LUA
Misc news:
- A Discord server has been created.
- Windows binaries linked with
-subsystem,windows
are available. See #81
* -vertical_stretch 24
completely removes letterbox overlay in cliff
.
** YUV signal loss blanking: demo and here