Skip to content

Commit

Permalink
release 2.11.3
Browse files Browse the repository at this point in the history
  • Loading branch information
DirtBagXon committed Oct 1, 2024
1 parent c1e95b9 commit b353e17
Show file tree
Hide file tree
Showing 39 changed files with 1,423 additions and 167 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/cmake-macOS-brew_mpeg2-platform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: CMake-MacOS-Brew-MPEG2

on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
tags:
description: 'MacOS (brew libmpeg2) Build'
env:
BUILD_TYPE: Release

jobs:
build:
runs-on: macos-14

steps:
- uses: actions/checkout@master
with:
ref: libmpeg2
- name: Install Homebrew

run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
if: success()
- name: Install Dependencies
run: |
brew install sdl2
brew install sdl2_ttf
brew install sdl2_image
brew install automake
brew install libvorbis
brew install libmpeg2
brew install libzip
if: success()
- name: Build
run: |
mkdir build
cd build
cmake ../src
make
- name: Package
run: |
cp build/hypseus .
cp doc/hypinput.ini doc/hypinput_gamepad.ini .
cp screenshots/hypseus-logo.png hypseus.png
FILES="hypseus LICENSE README.md hypseus.png hypinput.ini hypinput_gamepad.ini fonts/ pics/ roms/ sound/ scripts/"
zip -r hypseus-singe.zip $FILES
- name: Create Distribution
id: vars
run: |
ShortSHA=$(git rev-parse --short ${{ github.sha }})
echo "COMMIT_SHORT_SHA=$ShortSHA" >> $GITHUB_ENV
- uses: actions/upload-artifact@v4
with:
name: hypseus-singe-MacOS-${{ env.COMMIT_SHORT_SHA }}
path: hypseus-singe.zip

2 changes: 0 additions & 2 deletions .github/workflows/cmake-macOS-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ jobs:
brew install sdl2_image
brew install automake
brew install libvorbis
brew install libogg
brew install libzip
if: success()
- name: Build
run: |
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Ensure you have data in the following `daphne` HOME folders:

pics, fonts, ram, roms, sound, singe, (vldp and vldp_dl)

Run `hypseus` with `daphne` [arguments](doc/CmdLine.md) on the command line: Also refer to additional arguments [below](https://github.com/DirtBagXon/hypseus-singe#extended-arguments-and-keys)
Run `hypseus` with `daphne` [arguments](doc/CmdLine.md) on the command line:

hypseus lair vldp -framefile vldp_dl/lair/lair.txt -scorebezel

Expand Down Expand Up @@ -136,9 +136,9 @@ Refer to [keylist.txt](doc/keylist.txt) for **SDL2** keycode values.

*(Click images for YouTube playlist)*

[![Hypseus](https://raw.githubusercontent.com/DirtBagXon/hypseus-singe/master/screenshots/screenshot.png)](https://www.youtube.com/playlist?list=PLRLuhkf2c3OeRoXydn0upKyIBUXNMK13x)
[![Hypseus](https://raw.githubusercontent.com/DirtBagXon/hypseus-singe/master/screenshots/screenshot.png)](https://www.youtube.com/@DirtBagXon/videos)

[![singe](https://raw.githubusercontent.com/DirtBagXon/hypseus-singe/master/screenshots/singe2.png)](https://www.youtube.com/playlist?list=PLRLuhkf2c3OeRoXydn0upKyIBUXNMK13x)
[![singe](https://raw.githubusercontent.com/DirtBagXon/hypseus-singe/master/screenshots/singe2.png)](https://www.youtube.com/@DirtBagXon/videos)



Expand Down Expand Up @@ -232,7 +232,7 @@ Refer to [CmdLine.md](doc/CmdLine.md) for a full argument list.
-usbscoreboard <args> [ Enable USB serial support for scoreboard: ]
[ Arguments: (i)mplementation, (p)ort, (b)aud ]
-vertical_screen [ Reorient calculations in logical fullscreen ]
-vertical_stretch <1-24> [ Overlay stretch (cliff/gtg only) ]
-vertical_stretch <1-24> [ YUV vertical stretching. Useful in cliff/gtg ]

-8bit_overlay [ Restore original 8bit Singe overlays ]
-blend_sprites [ Restore BLENDMODE outline on Singe sprites ]
Expand Down
1 change: 1 addition & 0 deletions doc/Bezels.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Refer also to **CmdLine arguments** [here](CmdLine.md)
| Option | Description |
|--------------|-------------------------------|
| -bezel _\<lair.png\>_ | Specify a _png_ bezel within the 'bezels' sub-folder |
| -bezeldir _\<path\>_ | Specify an absolute path to an alternate folder |
| -bezelflip | Reverse the priority bezels are rendered to screen |
| | |
| -scorebezel | Built-in bezel: ace/lair/tq scoreboard |
Expand Down
10 changes: 8 additions & 2 deletions doc/CmdLine.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ Refer also to **bezel arguments** [here](Bezels.md)
| -gamepad_reorder 3 .. 0 | Reorder SDL_GameController indexes, will allow polling focus to the first specified Controllers in [hypinput.ini](hypinput_gamepad.ini): &nbsp;_[Default: 0 1 2 3]_|
| -grabmouse | Capture mouse in SDL window. |
| -homedir \<dirname> | Sets the Home Directory that Hypseus will use. |
| -horizontal_stretch \<value> | Horizontally stretches the video screen outward from the center. |
| -idleexit \<seconds> | Tells Hypseus to exit after a certain number of seconds if no input has been received. |
| -ignore_aspect_ratio | Tells Hypseus to ignore the aspect ratio defined in the MPEG header. |
| -keymapfile \<config> | Specify an alternate hypinput.ini file. |
| -keymapfile \<config> | Specify an alternate hypinput.ini file. `-config` is an alias. |
| -latency \<ms> | Adds a delay before all searches occur which causes scenes to last a little longer. Useful for Dragon's Lair F2 ROMs that cut some scenes off prematurely. |
| -linear_scale | Enable linear filtering when scaling. |
| -manymouse | Use the alternate ManyMouse input system. Provides *Absolute* coordinates on supported devices. |
Expand Down Expand Up @@ -101,6 +102,7 @@ Refer also to **bezel arguments** [here](Bezels.md)
| -scanlines | Simulate scanline effect. See also -scanline_alpha and -scanline_shunt |
| -scoreboard | Enables external Scoreboard. |
| -scoreport \<port> | Sets which parallel port to use with the scoreboard. 0 correspond to LPT1. *As of v1.0.12, any value over 1 will indicate the address of the parallel port in hexadecimal. So instead of passing in 0, I could pass in 378 which would achieve the same result.* |
| -screen \<1-254> | Defines the screen _hypseus_ should use for display. |
| -script | Defines the location of the primary Singe LUA game script. Required for Singe games. `-zlua` is an alias. |
| -shiftx \<-100 to 100> | Shift x-axis on video window [%] |
| -shifty \<-100 to 100> | Shift y-axis on video window [%] |
Expand Down Expand Up @@ -130,9 +132,13 @@ Refer also to **bezel arguments** [here](Bezels.md)
| -bootsilent | Mute sound during initVLDP() - if possible. |
| -js_range \<1-20> | Adjust Singe joystick sensitivity: *[def:5]* |
| -nocrosshair | Request game does not display crosshairs. |
| -retropath | Singe LUA data path rewrites [.daphne] |
| -script | Defines the location of the Singe LUA script. **Required** for Singe games. |
| -sinden \<1-10> \<color> | Enable a Sinden style border for Gun Games. Color: *(w)hite, (r)ed, (g)reen, (b)lue or (x*) |
| -usealt | In multigame zipped ROM's. Provide the alternate startup _.singe_ filename within the zip. |

## Singe Emulationstation helpers
| -retropath | Singe LUA data path _relative_ rewrite in ES [.daphne] extensions. Uses `roms` traversal. |
| -singedir \<path> | Singe LUA data path _absolute_ rewrite in ES [.daphne] extensions. Uses absolute path. |

## Shortcuts
| Shortcut | Description |
Expand Down
6 changes: 5 additions & 1 deletion doc/singe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ takeScreenshot, sep_screenshot

rewriteStatus, sep_lua_rewrite (return bool) -- (-retropath enabled)
vldpGetScale, sep_mpeg_get_scale (return int) -- (-scalefactor value)
vldpFocusArea, sep_mpeg_focus_area (x, y, w, h) -- Rect
vldpGetYUVPixel, sep_mpeg_get_rawpixel (return Y, U, V)
vldpResetFocus, sep_mpeg_reset_focus (void)

scoreBezelEnable, sep_bezel_enable (bool, int) -- (0)IMG, (1)BEZEL, (2)USB
scoreBezelClear, sep_bezel_clear (void)
scoreBezelCredits, sep_bezel_credits (credits)
scoreBezelTwinScoreOn, sep_bezel_second_score (return bool)
scoreBezelTwinScoreOn, sep_bezel_second_score (bool)
scoreBezelScore, sep_bezel_player_score (player, score)
scoreBezelLives, sep_bezel_player_lives (player, lives)
scoreBezelGetState, sep_bezel_is_enabled (return bool)
Expand All @@ -24,6 +27,7 @@ spriteFrameHeight, sep_sprite_height (spr)
spriteFrameWidth, sep_frame_width (spr)
spriteGetFrames, sep_sprite_frames (spr) -- (0 = no animation)
spriteLoadFrames, sep_sprite_loadframes (no of frames, png)
spriteLoadData, sep_sprite_loadata (spr data)
spriteResetColorKey, sep_sprite_color_rekey (bool, spr) -- Following GFX operations
spriteRotateFrame, sep_sprite_rotateframe (rotation, frame, spr)

Expand Down
1 change: 0 additions & 1 deletion scripts/singe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ $BLANK \
$BLEND \
$GAMEPAD \
$LOG \
$OVERLAY \
$ROTATE \
$SCANLINES \
$SCALE \
Expand Down
2 changes: 1 addition & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)

set(PKG_VERSION "v2.11.2")
set(PKG_VERSION "v2.11.3")

project(hypseus)

Expand Down
2 changes: 1 addition & 1 deletion src/HyperseusManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
<version>
<major>2</major>
<minor>11</minor>
<build>2</build>
<build>3</build>
</version>
</manifest>
2 changes: 1 addition & 1 deletion src/game/badlands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ void badlands::draw_char(Uint8 char_value, int x_offset, int y_offset)
void badlands::draw_shoot()
{
const char f[6] = "shoot";
int i, x_offset = 0x1f;
int i, x_offset = 0x1e;
int y_offset = (m_shoot & 0x01) ? 0x02 : 0x01;

draw_char(m_shoot, x_offset - 0x02, y_offset);
Expand Down
9 changes: 7 additions & 2 deletions src/game/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -601,10 +601,15 @@ void game::set_32bit_overlay(bool value)
m_overlay_upgrade = value;
}

void game::set_stretch_value(int value) {

void game::set_stretch_value(int value)
{
if (m_stretch == TMS_VERTICAL_OFFSET)
{
if (m_game_type == GAME_CLIFF)
video::set_yuv_scale(value, YUV_V);

m_stretch -= value;
}
}

// generic preset function, does nothing
Expand Down
38 changes: 36 additions & 2 deletions src/game/singe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ const int singe::i_full_keybd_defs[] = {SDLK_BACKSPACE, SDLK_TAB,
singe::singe() : m_pScoreboard(NULL)
{
m_strGameScript = "";
m_strDataPaths = "";
m_zipAltName = "";
m_shortgamename = "singe";
m_strName = "[Undefined scripted game]";
m_video_overlay_width = SINGE_OVERLAY_STD_W; // sensible default
Expand Down Expand Up @@ -241,7 +243,10 @@ void singe::start()
printline(s1);
g_pSingeOut->sep_set_surface(m_video_overlay_width, m_video_overlay_height);
g_pSingeOut->sep_set_static_pointers(&m_disc_fps, &m_uDiscFPKS);
g_pSingeOut->sep_datapaths(m_strDataPaths.c_str());
g_pSingeOut->sep_altgame(m_zipAltName.c_str());
g_pSingeOut->sep_startup(m_strGameScript.c_str());

bool blanking = g_local_info.blank_during_searches | g_local_info.blank_during_skips;
int delay = g_ldp->get_min_seek_delay() >> 4;
g_ldp->set_seek_frames_per_ms(0);
Expand Down Expand Up @@ -387,11 +392,11 @@ void singe::JoystickMotion()
// game-specific command line arguments handled here
bool singe::handle_cmdline_arg(const char *arg)
{

const int len = 256;
bool bResult = false;
static bool bInit = false;
static bool scriptLoaded = false;
char s[256] = {0};
char s[len] = {0};
int i;

if (!bInit) {
Expand All @@ -418,6 +423,19 @@ bool singe::handle_cmdline_arg(const char *arg)
printerror(strErrMsg.c_str());
}
}
else if (strcasecmp(arg, "-usealt") == 0) {
get_next_word(s, sizeof(s));
bResult = true;

for (int i = 0; i < len && s[i] != '\0'; ++i) {
if (!isalnum(s[i]) && s[i] != int('_')
&& s[i] != int('-')) {
bResult = false;
}
}

if (bResult) m_zipAltName = s;
}
else if (strcasecmp(arg, "-blend_sprites") == 0) {
video::set_singe_blend_sprite(true);
bResult = true;
Expand All @@ -426,6 +444,22 @@ bool singe::handle_cmdline_arg(const char *arg)
game::set_console_flag(true);
bResult = true;
}
else if (strcasecmp(arg, "-singedir") == 0) {
get_next_word(s, sizeof(s));
bResult = true;

if (!safe_dir(s, len)) {
printerror("SINGE: Invalid path characters specified");
bResult = false;
}

if (bResult) {
m_strDataPaths = s;
if (m_strDataPaths.back() != '/')
m_strDataPaths += '/';
game::set_console_flag(true);
}
}
else if (strcasecmp(arg, "-bootsilent") == 0) {
m_muteinit = true;
bResult = true;
Expand Down
4 changes: 3 additions & 1 deletion src/game/singe.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
using namespace std;

// by rdg2010
#define SINGE_VERSION 1.88 // Update this number whenever you issue a major change
#define SINGE_VERSION 1.90 // Update this number whenever you issue a major change

#define SDL_MOUSE 100
#define MANY_MOUSE 200
Expand Down Expand Up @@ -297,6 +297,8 @@ class singe : public game

string m_strName; // name of the game
string m_strGameScript; // script name for the game
string m_strDataPaths; // force absolute path in ES to singe subfolder
string m_zipAltName; // alternate script in zip

DLL_INSTANCE m_dll_instance; // pointer to DLL we load (if we aren't
// statically linked)
Expand Down
7 changes: 3 additions & 4 deletions src/game/singe/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@ set( LIB_SOURCES
lauxlib.c ldblib.c ldump.c linit.c lmathlib.c lobject.c
lparser.c lstring.c ltablib.c lvm.c random.c lbaselib.c
ldebug.c lfunc.c liolib.c lmem.c lopcodes.c lrandom.c
luretro.c luars232.c rs232.c lstrlib.c ltm.c lzio.c
lfs.c singe_utils.cpp SDL2_GFX/SDL2_rotozoom.c

luretro.c luars232.c rs232.c lstrlib.c ltm.c lzio.c lbit.c
md5lib.c md5.c lfs.c singe_utils.cpp SDL2_GFX/SDL2_rotozoom.c
)

set( LIB_HEADERS
lapi.h lcode.h ldo.h lgc.h llimits.h lobject.h lparser.h
lstring.h ltm.h lua.h lundump.h lzio.h singeproxy.h
lauxlib.h ldebug.h lfunc.h llex.h lmem.h lopcodes.h luretro.h
lstate.h ltable.h luaconf.h lualib.h lvm.h singe_interface.h
lfs.h rs232.h SDL2_GFX/SDL2_rotozoom.h
lfs.h md5.h rs232.h SDL2_GFX/SDL2_rotozoom.h
)

if( WIN32 )
Expand Down
Loading

0 comments on commit b353e17

Please sign in to comment.