From fb981e2c2f963d32d5dbf88083539ef6762bbc85 Mon Sep 17 00:00:00 2001 From: DirtBagXon Date: Sat, 5 Aug 2023 22:00:00 +0100 Subject: [PATCH] release 2.11.1 --- README.md | 13 +- doc/bezels.txt | 7 +- pics/shoot.bmp | Bin 0 -> 294 bytes scripts/run.sh | 20 +- scripts/singe.sh | 20 +- sound/gp_count.wav | Bin 0 -> 48588 bytes sound/gp_crash.wav | Bin 0 -> 88278 bytes sound/gp_engine1.wav | Bin 0 -> 70722 bytes sound/gp_engine2.wav | Bin 0 -> 70722 bytes sound/gp_roar.wav | Bin 0 -> 70638 bytes sound/gp_signal.wav | Bin 0 -> 39768 bytes sound/gp_tires.wav | Bin 0 -> 73630 bytes src/3rdparty/retropie/RETROPIE.md | 2 - src/CMakeLists.txt | 2 +- src/HyperseusManifest.xml | 4 +- src/game/badlands.cpp | 76 +-- src/game/badlands.h | 4 +- src/game/bega.cpp | 10 +- src/game/cliff.cpp | 16 +- src/game/cliff.h | 2 +- src/game/cobraconv.cpp | 4 +- src/game/esh.cpp | 6 +- src/game/game.cpp | 38 +- src/game/game.h | 10 +- src/game/gpworld.cpp | 159 ++++-- src/game/gpworld.h | 14 + src/game/lair.cpp | 4 +- src/game/laireuro.cpp | 2 +- src/game/mach3.cpp | 8 +- src/game/singe.cpp | 57 +-- src/game/singe.h | 10 +- src/game/singe/luretro.c | 10 +- src/game/singe/singe_interface.h | 4 +- src/game/singe/singeproxy.cpp | 161 ++----- src/game/singe/singeproxy.h | 1 - src/game/superd.cpp | 5 +- src/game/thayers.cpp | 4 +- src/hypseus.cpp | 1 - src/io/cmdline.cpp | 30 +- src/io/error.cpp | 29 +- src/ldp-in/ldp1000.cpp | 2 +- src/ldp-in/ldv1000.cpp | 6 +- src/ldp-out/ldp-vldp.cpp | 4 +- src/scoreboard/overlay_scoreboard.cpp | 4 +- src/sound/sound.cpp | 4 +- src/video/palette.cpp | 9 +- src/video/palette.h | 3 +- src/video/tms9128nl.cpp | 161 +++++-- src/video/tms9128nl.h | 10 +- src/video/video.cpp | 667 ++++++++++++++------------ src/video/video.h | 27 +- win32/README.md | 2 +- 52 files changed, 882 insertions(+), 750 deletions(-) create mode 100644 pics/shoot.bmp create mode 100644 sound/gp_count.wav create mode 100644 sound/gp_crash.wav create mode 100644 sound/gp_engine1.wav create mode 100644 sound/gp_engine2.wav create mode 100644 sound/gp_roar.wav create mode 100644 sound/gp_signal.wav create mode 100644 sound/gp_tires.wav diff --git a/README.md b/README.md index 816ef284..e9b2d06a 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ The following additional, and reimplemented, arguments have been added to Hypseu -grabmouse [ Capture mouse in SDL window ] -ignore_aspect_ratio [ Ignore MPEG aspect ratio header [01B3] ] -keymapfile [ Specify an alternate hypinput.ini file ] - -nolinear_scale [ Disable bilinear scaling ] + -linear_scale [ Enable linear filtering when scaling ] -novsync [ Disable VSYNC presentation on Renderer [crt] ] -original_overlay [ Enable daphne style overlays (lair,ace,lair2) ] -scalefactor <50-100> [ Scale video display area [50-100]% ] @@ -213,22 +213,21 @@ The following additional, and reimplemented, arguments have been added to Hypseu -scorebezel [ Bezel layer software scoreboard ] -scorepanel [ Enable software scoreboard in lair/ace/tq ] -scorepanel_position [ Adjust position of software_scorepanel ] + -shiftx <-100 to 100> [ Shift x-axis on video window [%] ] + -shifty <-100 to 100> [ Shift y-axis on video window [%] ] -tiphat [ Invert joystick SDL_HAT_UP and SDL_HAT_DOWN ] -usbscoreboard [ Enable USB serial support for scoreboard: ] [ Arguments: (i)mplementation, (p)ort, (b)aud ] - -vertical_stretch <1-24> [ Overlay stretch implemented for (cliff) only ] + -vertical_screen [ Reorient calculations in logical fullscreen ] + -vertical_stretch <1-24> [ Overlay stretch (cliff/gtg only) ] -8bit_overlay [ Restore original 8bit Singe overlays ] -blend_sprites [ Restore BLENDMODE outline on Singe sprites ] - -bootsilent [ Mute sound during initVLDP() if possible ] + -bootsilent [ Mute sound during initVLDP() - if possible ] -js_range <1-20> [ Adjust Singe joystick sensitivity: [def:5] ] -manymouse [ Enable ABS mouse input [lightguns] [gungames] ] -nocrosshair [ Request game does not display crosshairs ] -retropath [ Singe data path rewrites [.daphne] ] - -set_overlay [ Enforce overlay size (full, half, oversize) ] - [ (full): Set to full video resolution [Singe2] ] - [ (half): Set to half video resolution [Singe2] ] - [ (oversize): Use with HD gungame video sources ] -sinden <1-10> [ Enable software border for lightguns ] [ Color: (w)hite, (r)ed, (g)reen, (b)lue or (x) ] diff --git a/doc/bezels.txt b/doc/bezels.txt index e8afb4d0..0d0876e4 100644 --- a/doc/bezels.txt +++ b/doc/bezels.txt @@ -4,8 +4,8 @@ Arguments related to bezels -bezel [ Specify a png bezel in 'bezels' sub-folder ] -scalefactor <50-100> [ Scale video image [50-100]% ] --scale_shiftx <-100 - 100> [ Position scaled video window - horizontally ] --scale_shifty <-100 - 100> [ Position scaled video window - vertically ] +-shiftx <-100 to 100> [ Position video window - horizontally ] +-shifty <-100 to 100> [ Position video window - vertically ] Built-in bezels relating to 'lair/ace/tq' @@ -16,6 +16,7 @@ Built-in bezels relating to 'lair/ace/tq' -annunbezel_alpha <1-2> [ Built-in bezel: alpha transparency ] -annunbezel_scale <1-25> [ Built-in bezel: scale option ] -annunbezel_position [ Built-in bezel: position options ] +-annunlamps [ Built-in bezel: staggered: lamps only [conv] ] -scorebezel [ Built-in bezel: ace/lair/tq scoreboard ] -scorebezel_alpha <1-2> [ Built-in bezel: alpha transparency ] -scorebezel_scale <1-25> [ Built-in bezel: scale option ] @@ -48,4 +49,6 @@ Built-in overrides - bezels/offcaptain.bmp - bezels/offcadet.bmp +- bezels/shoot.bmp + diff --git a/pics/shoot.bmp b/pics/shoot.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1dc6a333d5bcddeab15a8430bb3949e751e7c515 GIT binary patch literal 294 zcmZ?rRbylTgLObM2Z;Hhn2~`6EM5U5g}EV^7sv)-C-!8F^CG!XOI$F$)F&zlHuFWZw%jm{b2a<`zOQCKff4${r%1G`~M%H2~4g|Aaj^P zLqmgrv}x$>qoD>ME|3mlUT0fTC2=$Wmdp$e{{p?iR|15m8zXlQ5vkiQy8JE(?+ ic1;D!vxbIt0Qo@uVO=2oK=W!!f#!kD4+L8TwhsU{(L6l> literal 0 HcmV?d00001 diff --git a/scripts/run.sh b/scripts/run.sh index 607761fd..20d93a10 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -26,8 +26,8 @@ while [[ $# -gt 0 ]]; do GAMEPAD="-gamepad" shift ;; - -nolinear) - NEAREST="-nolinear_scale" + -linear) + LINEAR="-linear_scale" shift ;; -nolog) @@ -74,7 +74,7 @@ set -- "${POSITIONAL[@]}" if [ -z "$1" ] ; then echo "Specify a game to try: " | STDERR echo - echo -e "$0 [-fullscreen] [-blanking] [-gamepad] [-nolinear] [-prototype] [-scanlines] [-scoreboard] " | STDERR + echo -e "$0 [-fullscreen] [-blanking] [-gamepad] [-linear] [-prototype] [-scanlines] [-scoreboard] " | STDERR for game in ace astron badlands badlandp bega blazer cliff cliffalt cliffalt2 cobra cobraab cobraconv cobram3 dle21 esh eshalt eshalt2 galaxy galaxyp gpworld gtg interstellar lair lair2 mach3 roadblaster sae sdq sdqshort sdqshortalt tq tq_alt tq_swear uvt; do if ls $HYPSEUS_SHARE/vldp*/$game >/dev/null 2>&1; then @@ -113,9 +113,13 @@ case "$1" in VLDP_DIR="vldp" KEYINPUT="-keymapfile flightkey.ini" ;; - badlands|badlandp) + badlands) VLDP_DIR="vldp" - BANKS="-bank 1 10000001 -bank 0 00000000" + BANKS="-blank_searches -blank_skips -min_seek_delay 600" + ;; + badlandp) + VLDP_DIR="vldp" + BANKS="-spritelite -preset 1" ;; bega) VLDP_DIR="vldp" @@ -152,9 +156,9 @@ case "$1" in FASTBOOT="-fastboot" if [ "$PROTOTYPE" ]; then - BANKS="-bank 1 10110111 -bank 0 11011001" + BANKS="-bank 1 10110111 -bank 0 11011000" else - BANKS="-bank 1 00110111 -bank 0 11011001" + BANKS="-bank 1 00110111 -bank 0 11011000" fi ;; esh|eshalt|eshalt2) @@ -227,7 +231,7 @@ $HYPSEUS_BIN $1 vldp \ $FASTBOOT \ $FULLSCREEN \ $GAMEPAD \ -$NEAREST \ +$LINEAR \ $BLANK \ $OVERLAY \ $LOG \ diff --git a/scripts/singe.sh b/scripts/singe.sh index 073a35f9..98302f99 100755 --- a/scripts/singe.sh +++ b/scripts/singe.sh @@ -38,26 +38,14 @@ while [[ $# -gt 0 ]]; do GAMEPAD="-gamepad" shift ;; - -nolinear) - NEAREST="-nolinear_scale" + -linear) + LINEAR="-linear_scale" shift ;; -nolog) LOG="-nolog" shift ;; - -fulloverlay) - OVERLAY="-set_overlay full" - shift - ;; - -halfoverlay) - OVERLAY="-set_overlay half" - shift - ;; - -oversize) - OVERLAY="-set_overlay oversize -manymouse" - shift - ;; -scale) SCALE="-scalefactor 50" shift @@ -79,7 +67,7 @@ set -- "${POSITIONAL[@]}" if [ -z $1 ] ; then echo "Specify a game to try: " | STDERR echo - echo "$0 [-fullscreen] [-8bit] [-blanking] [-blend] [-nolinear] [-gamepad] [-oversize] [-fulloverlay] [-halfoverlay] [-scanlines] [-scale] " | STDERR + echo "$0 [-fullscreen] [-8bit] [-blanking] [-blend] [-linear] [-gamepad] [-scanlines] [-scale] " | STDERR echo echo "Games available: " @@ -107,7 +95,7 @@ $HYPSEUS_BIN singe vldp \ -homedir $HYPSEUS_SHARE \ -datadir $HYPSEUS_SHARE \ $FULLSCREEN \ -$NEAREST \ +$LINEAR \ $BLANK \ $BLEND \ $GAMEPAD \ diff --git a/sound/gp_count.wav b/sound/gp_count.wav new file mode 100644 index 0000000000000000000000000000000000000000..511aa1cdfbb1cbbcd78dcd144c12e75486e29ff9 GIT binary patch literal 48588 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≫fNKHG?$i)z2?#ig9htqt@!r8iR@dov)W@= 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%0AK$} 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

!K62(8@n*L({@9B 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 U4eats<9D2oHrZe9C3O`453b*cr2qf` literal 0 HcmV?d00001 diff --git a/sound/gp_signal.wav b/sound/gp_signal.wav new file mode 100644 index 0000000000000000000000000000000000000000..2228efe507b8e51c4515d491c84559d66d322117 GIT binary patch literal 39768 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 Ogi(ehIya}BkpCaN#&Hh- literal 0 HcmV?d00001 diff --git a/sound/gp_tires.wav b/sound/gp_tires.wav new file mode 100644 index 0000000000000000000000000000000000000000..8fbe03780016bed90794f6e05ae8062677d6df63 GIT binary patch literal 73630 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 literal 0 HcmV?d00001 diff --git a/src/3rdparty/retropie/RETROPIE.md b/src/3rdparty/retropie/RETROPIE.md index 22e8757f..debadf4d 100644 --- a/src/3rdparty/retropie/RETROPIE.md +++ b/src/3rdparty/retropie/RETROPIE.md @@ -41,8 +41,6 @@ Lightguns will require the ``-manymouse`` argument passed to Singe to enable abs See discussion here: [Discussions](https://github.com/DirtBagXon/hypseus-singe/discussions/) -Using Gun Game HD video content (_above 720x480_) will require the ``-set_overlay oversize`` argument. - ## Compilation * For compilation the following packages are required: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 960d0a8f..fb90735e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.0) -set(PKG_VERSION "v2.10.4") +set(PKG_VERSION "v2.11.1") project(hypseus) diff --git a/src/HyperseusManifest.xml b/src/HyperseusManifest.xml index a892244d..a43364df 100644 --- a/src/HyperseusManifest.xml +++ b/src/HyperseusManifest.xml @@ -1,7 +1,7 @@ 2 - 10 - 4 + 11 + 1 diff --git a/src/game/badlands.cpp b/src/game/badlands.cpp index 9dbc8fee..883d6da2 100644 --- a/src/game/badlands.cpp +++ b/src/game/badlands.cpp @@ -75,11 +75,12 @@ badlands::badlands() firq_on = false; irq_on = false; nmi_on = false; - transparent = true; + yuv_on = false; m_num_sounds = 1; m_sound_name[S_BL_SHOT] = "bl_shot.wav"; + m_sprite_lite = false; shoot_led = false; shoot_led_overlay = false; shoot_led_numlock = false; @@ -87,6 +88,8 @@ badlands::badlands() charx_offset = 6; chary_offset = 2; + banks[2] = 0x7D; + // this must be static const static struct rom_def badlands_roms[] = {// main 6809 program @@ -114,6 +117,9 @@ badlandp::badlandp() // needed for this version m_game_type = GAME_BADLANDP; + banks[1] = 0xDF; + banks[2] = 0xFF; + // this must be static const static struct rom_def badlandp_roms[] = {// main 6809 program @@ -154,9 +160,13 @@ void badlands::do_nmi() { mc6809_nmi = 1; } -#ifdef LINUX - if (!transparent && video::get_yuv_overlay_ready()) video::set_yuv_video_blank(true); -#endif + + if (!yuv_on) + if (video::get_yuv_overlay_ready()) { + video::set_video_blank(true); + yuv_on = true; + } + blit(); // the NMI runs at the same period as the monitor vsync } @@ -219,12 +229,13 @@ void badlands::cpu_mem_write(Uint16 addr, Uint8 value) // DSP On else if (addr == 0x1003) { - if (value) { - palette::set_transparency(0, false); - transparent = false; - } else { - palette::set_transparency(0, true); - transparent = true; + + if (yuv_on) { + if (value) { + video::set_video_blank(true); + } else { + video::set_video_blank(false); + } } } @@ -294,7 +305,7 @@ void badlands::cpu_mem_write(Uint16 addr, Uint8 value) } else { - LOGW << fmt("Write to %x with %x", addr, value); + LOGD << fmt("Write to %x with %x", addr, value); } m_cpumem[addr] = value; @@ -325,7 +336,7 @@ Uint8 badlandp::cpu_mem_read(Uint16 addr) // ROM else if (addr >= 0xc000) { } else { - LOGW << fmt("Read from %x", addr); + LOGD << fmt("Read from %x", addr); } return result; @@ -349,12 +360,13 @@ void badlandp::cpu_mem_write(Uint16 addr, Uint8 value) } // display disable else if (addr == 0x0803) { - if (value) { - palette::set_transparency(0, false); // disable laserdisc video - transparent = false; - } else { - palette::set_transparency(0, true); // enable laserdisc video - transparent = true; + + if (yuv_on) { + if (value) { + video::set_video_blank(true); + } else { + video::set_video_blank(false); + } } } // ? @@ -426,6 +438,9 @@ void badlands::palette_calculate() palette::set_color(i, temp_color); } + + if (m_sprite_lite) + palette::set_transparency(3, true); } // updates badlands's video @@ -454,13 +469,8 @@ void badlands::repaint() } } - if (shoot_led) { - const char *t = "SHOOT!"; - Uint8 x = 24; - - if (get_use_old_overlay()) x = 20; - video::draw_string(t, x, 220, m_video_overlay[m_active_video_overlay]); - } + if (shoot_led) + video::draw_shoot(294, 215, m_video_overlay[m_active_video_overlay]); } // this gets called when the user presses a key or moves the joystick @@ -491,7 +501,7 @@ void badlands::input_enable(Uint8 move, Sint8 mouseID) case SWITCH_TEST: break; default: - LOGW << "bug in move enable"; + LOGD << "bug in move enable"; break; } } @@ -526,7 +536,7 @@ void badlands::input_disable(Uint8 move, Sint8 mouseID) // during boot break; default: - LOGW << "bug in move enable"; + LOGD << "bug in move disable"; break; } } @@ -556,6 +566,7 @@ void badlands::reset() { cpu::reset(); ldv1000::reset(); + yuv_on = false; } void badlands::set_preset(int preset) @@ -596,3 +607,14 @@ void badlands::update_shoot_led(Uint8 value) } } } + +bool badlandp::handle_cmdline_arg(const char *arg) +{ + bool bRes = false; + + if (strcasecmp(arg, "-spritelite") == 0) { + m_sprite_lite = bRes = true; + } + + return bRes; +} diff --git a/src/game/badlands.h b/src/game/badlands.h index 1dbd375c..23832642 100644 --- a/src/game/badlands.h +++ b/src/game/badlands.h @@ -64,7 +64,8 @@ class badlands : public game bool firq_on; bool irq_on; bool nmi_on; - bool transparent; + bool yuv_on; + bool m_sprite_lite; Uint8 character[0x2000]; Uint8 color_prom[0x20]; Uint8 banks[3]; // badlands's banks @@ -79,4 +80,5 @@ class badlandp : public badlands badlandp(); Uint8 cpu_mem_read(Uint16 addr); // memory read routine void cpu_mem_write(Uint16 addr, Uint8 value); // memory write routine + bool handle_cmdline_arg(const char *arg); }; diff --git a/src/game/bega.cpp b/src/game/bega.cpp index 4809f2d6..52541291 100644 --- a/src/game/bega.cpp +++ b/src/game/bega.cpp @@ -178,14 +178,14 @@ void bega::set_version(int version) {NULL}}; m_rom_list = bega_roms; } else { - LOGW << "Unsupported -version paramter, ignoring..."; + LOGW << "Unsupported -version parameter, ignoring..."; } } cobra::cobra() // dedicated version of Cobra Command { m_shortgamename = "cobra"; - m_game_issues = "Game does not wook properly (graphics ploblems)"; + m_game_issues = "Game has graphic issues"; const static struct rom_def cobra_roms[] = {// main cpu roms @@ -213,7 +213,7 @@ cobra::cobra() // dedicated version of Cobra Command // we need to override bega::set_version so we don't load the wrong roms void cobra::set_version(int version) { - LOGW << "Unsupported -version paramter, ignoring..."; + LOGW << "Unsupported -version parameter, ignoring..."; } roadblaster::roadblaster() // dedicated version of Cobra Command @@ -687,7 +687,7 @@ void bega::input_enable(Uint8 move, Sint8 mouseID) case SWITCH_TEST: break; default: - LOGW << "Error, bug in move enable"; + LOGD << "Error, bug in move enable"; break; } } @@ -736,7 +736,7 @@ void bega::input_disable(Uint8 move, Sint8 mouseID) case SWITCH_TEST: break; default: - LOGW << "Error, bug in move enable"; + LOGD << "Error, bug in move disable"; break; } } diff --git a/src/game/cliff.cpp b/src/game/cliff.cpp index b1bf5d8b..bb8b9822 100644 --- a/src/game/cliff.cpp +++ b/src/game/cliff.cpp @@ -120,17 +120,16 @@ gtg::gtg() { m_shortgamename = "gtg"; m_game_type = GAME_GTG; - //m_game_issues = "Overlay colors..."; disc_side = 1; // default to side 1 if no -preset is used e1ba_accesscount = 0; - //m_banks[1] = 0x5C; + m_banks[1] = 0x01; m_banks[3] = 0x1F; // this must be static! const static struct rom_def roms[] = - {{"gtg.rm0", NULL, &m_cpumem[0], 0x2000, 0xD8EFDDEA}, + {{"gtg.rm0", NULL, &m_cpumem[0x0000], 0x2000, 0xD8EFDDEA}, {"gtg.rm1", NULL, &m_cpumem[0x2000], 0x2000, 0x69953D38}, {"gtg.rm2", NULL, &m_cpumem[0x4000], 0x2000, 0xB043E205}, {"gtg.rm3", NULL, &m_cpumem[0x6000], 0x2000, 0xEC305F5E}, @@ -641,12 +640,16 @@ void cliff::repaint() tms9128nl_video_repaint(); } -bool cliff::handle_cmdline_arg(const char *arg) +bool gtg::handle_cmdline_arg(const char *arg) { bool bRes = false; - if (strcasecmp(arg, "-spritelite") == 0) { - game::set_console_flag(true); + tms9128nl_set_spritelite(); + bRes = true; + } + + if (strcasecmp(arg, "-compact") == 0) { + tms9128nl_set_nostretch(); bRes = true; } @@ -729,6 +732,7 @@ void gtg::patch_roms() m_cpumem[0x9] = 0; m_cpumem[0xB] = 0; } + tms9128nl_set_conv_12a563(); } void gtg::set_preset(int val) diff --git a/src/game/cliff.h b/src/game/cliff.h index a6234a74..cf8cc9cf 100644 --- a/src/game/cliff.h +++ b/src/game/cliff.h @@ -100,7 +100,6 @@ class cliff : public game void palette_calculate(); void repaint(); // function to repaint video void patch_roms(); - bool handle_cmdline_arg(const char *arg); protected: char m_frame_str[FRAME_ARRAY_SIZE]; // current frame of laserdisc in string @@ -146,6 +145,7 @@ class gtg : public cliff void set_preset(int val); // gets disc side from command line void reset(); void patch_roms(); + bool handle_cmdline_arg(const char *arg); protected: int e1ba_accesscount; // for tracking frame/chapter reads diff --git a/src/game/cobraconv.cpp b/src/game/cobraconv.cpp index 9a020c79..e0579fe9 100644 --- a/src/game/cobraconv.cpp +++ b/src/game/cobraconv.cpp @@ -501,7 +501,7 @@ void cobraconv::input_enable(Uint8 move, Sint8 mouseID) // for tilt detector) break; default: - LOGW << "bug in move enable"; + LOGD << "bug in move enable"; break; } } @@ -551,7 +551,7 @@ void cobraconv::input_disable(Uint8 move, Sint8 mouseID) banks[3] &= ~0x01; break; default: - LOGW << "bug in move enable"; + LOGD << "bug in move disable"; break; } } diff --git a/src/game/esh.cpp b/src/game/esh.cpp index ea0c7726..dbdaa0e6 100644 --- a/src/game/esh.cpp +++ b/src/game/esh.cpp @@ -162,7 +162,7 @@ void esh::set_version(int version) {NULL}}; m_rom_list = roms; } else { - LOGW << "Unsupported -version paramter, ignoring..."; + LOGW << "Unsupported -version parameter, ignoring..."; } } @@ -551,7 +551,7 @@ void esh::input_enable(Uint8 move, Sint8 mouseID) banks[0] &= ~0x10; break; default: - LOGW << "bug in move enable"; + LOGD << "bug in move enable"; break; } } @@ -593,7 +593,7 @@ void esh::input_disable(Uint8 move, Sint8 mouseID) banks[0] |= 0x10; break; default: - LOGW << "bug in move disable"; + LOGD << "bug in move disable"; break; } } diff --git a/src/game/game.cpp b/src/game/game.cpp index 5573607c..cefe5425 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -136,12 +136,12 @@ game::game() m_software_scoreboard = false; // old style overlays - m_use_old_overlay = false; + m_old_overlay = false; // overlay depth and size m_overlay_depth = GAME_OVERLAY_DEPTH; m_overlay_upgrade = false; - m_fullsize_overlay = false; + m_dynamic_overlay = false; // running on retro console m_run_on_console = false; @@ -192,15 +192,6 @@ bool game::pre_init() bool game::init() { bool result = true; -#ifdef LINUX - const int min = 200; - - if (get_game_type() == GAME_BADLANDS || - get_game_type() == GAME_BADLANDP) { - if (g_ldp->get_min_seek_delay() < min) - g_ldp->set_min_seek_delay(min); - } -#endif cpu::init(); return result; @@ -343,7 +334,7 @@ void game::OnLDV1000LineChange(bool bIsStatus, bool bIsEnabled) bool game::init_video() { static unsigned int m_area = 0; - static unsigned char vinit = 0; + static unsigned char v_init = 0; bool result = false; int index = 0; @@ -352,15 +343,15 @@ bool game::init_video() // Set up SDL display (create window, renderer, surfaces, textures...) if (m_area < area || m_overlay_depth == GAME_OVERLAY_DEPTH) { - if (video::get_video_resized() && vinit > 1) { - LOGE << "-x and -y do not support overlay switching."; + if ((video::get_video_resized() || video::get_rotated_state()) && v_init > 1) { + LOGE << "Rotation and resizing [-x/-y] do not support overlay switching."; set_quitflag(); } else if (video::get_yuv_overlay_ready()) video::reset_yuv_overlay(); video::init_display(); m_area = area; - vinit++; + v_init++; } // if this particular game uses video overlay (most do) @@ -394,6 +385,9 @@ bool game::init_video() palette::finalize(); } } + + video::set_overlay_offset(m_video_row_offset); + } // end if video overlay is used // if the game has not explicitely specified those variables that we @@ -412,7 +406,7 @@ bool game::init_video() } // Log some stats - video::notify_stats(m_video_overlay_width, m_video_overlay_height); + video::notify_stats(m_video_overlay_width, m_video_overlay_height, "o"); return (result); } @@ -562,11 +556,11 @@ short game::get_game_errors() { return m_game_error; } bool game::get_console_flag() { return m_run_on_console; } -bool game::get_use_old_overlay() { return m_use_old_overlay; } +bool game::use_old_overlay() { return m_old_overlay; } bool game::get_overlay_upgrade() { return m_overlay_upgrade; } -bool game::get_fullsize_overlay() { return m_fullsize_overlay; } +bool game::get_dynamic_overlay() { return m_dynamic_overlay; } bool game::get_manymouse() { return m_manymouse; } @@ -587,7 +581,7 @@ void game::set_manymouse(bool value) { m_manymouse = value; } void game::switch_scoreboard_display() { video::vid_scoreboard_switch(); } -void game::set_fullsize_overlay(bool value) { m_fullsize_overlay = value; } +void game::set_dynamic_overlay(bool value) { m_dynamic_overlay = value; } void game::set_32bit_overlay(bool value) { @@ -597,7 +591,11 @@ void game::set_32bit_overlay(bool value) m_overlay_upgrade = value; } -void game::set_stretch_value(int value) { m_stretch = m_stretch - value; } +void game::set_stretch_value(int value) { + + if (m_stretch == TMS_VERTICAL_OFFSET) + m_stretch = m_stretch - value; +} // generic preset function, does nothing void game::set_preset(int preset) diff --git a/src/game/game.h b/src/game/game.h index 68ead43a..7b910d65 100644 --- a/src/game/game.h +++ b/src/game/game.h @@ -198,10 +198,10 @@ class game short get_game_errors(); - bool get_use_old_overlay(); + bool use_old_overlay(); bool get_overlay_upgrade(); - bool get_fullsize_overlay(); + bool get_dynamic_overlay(); bool get_console_flag(); @@ -212,7 +212,7 @@ class game virtual void set_manymouse(bool); virtual void set_32bit_overlay(bool); - virtual void set_fullsize_overlay(bool); + virtual void set_dynamic_overlay(bool); virtual void set_console_flag(bool); @@ -292,13 +292,13 @@ class game bool m_software_scoreboard; - bool m_use_old_overlay; + bool m_old_overlay; Uint8 m_overlay_depth; bool m_overlay_upgrade; - bool m_fullsize_overlay; + bool m_dynamic_overlay; bool m_run_on_console; diff --git a/src/game/gpworld.cpp b/src/game/gpworld.cpp index 2f788893..4140840c 100644 --- a/src/game/gpworld.cpp +++ b/src/game/gpworld.cpp @@ -41,12 +41,14 @@ #include #include "gpworld.h" +#include #include "../io/conout.h" #include "../ldp-in/ldv1000.h" #include "../ldp-out/ldp.h" #include "../video/palette.h" #include "../video/video.h" #include "../sound/sound.h" +#include "../sound/samples.h" #include "../cpu/cpu.h" #include "../cpu/generic_z80.h" @@ -57,8 +59,8 @@ gpworld::gpworld() m_shortgamename = "gpworld"; memset(&cpu, 0, sizeof(struct cpu::def)); memset(banks, 0xff, 7); // fill banks with 0xFF's - banks[5] = 0; - banks[6] = 0; + banks[5] = 0x00; + banks[6] = 0x00; memset(sprite, 0x00, 0x30000); // making sure sprite[] is zero'd out memset(m_cpumem, 0x00, 0x10000); // making sure m_cpumem[] is zero'd out palette_modified = true; @@ -78,12 +80,25 @@ gpworld::gpworld() cpu.mem = m_cpumem; cpu::add(&cpu); // add a z80 - m_video_row_offset = 8; // shift video up by 16 pixels (8 rows) + m_video_row_offset = 0; // shift video up by 16 pixels (8 rows) m_transparent_color = 0; ldp_output_latch = 0xff; nmie = false; + m_num_sounds = 10; + // With the lack of any hardware reference.... + m_sound_name[S_GP_ENGINE1] = "gp_engine1.wav"; + m_sound_name[S_GP_ENGINE2] = "gp_engine2.wav"; + m_sound_name[S_GP_COUNT] = "gp_count.wav"; + m_sound_name[S_GP_START] = "gp_signal.wav"; + m_sound_name[S_GP_TIRE] = "gp_tires.wav"; + m_sound_name[S_GP_REV] = "gp_roar.wav"; + m_sound_name[S_GP_CRASH] = "gp_crash.wav"; + m_sound_name[S_GP_COIN] = "dl_credit.wav"; + m_sound_name[S_GP_DINK] = "dl2_bad.wav"; + m_sound_name[S_GP_GEAR] = "gr_alarm4.wav"; + const static struct rom_def gpworld_roms[] = {// main z80 rom {"gpw_6162a.bin", NULL, &m_cpumem[0x0000], 0x4000, 0}, @@ -140,7 +155,6 @@ void gpworld::do_nmi() Uint8 gpworld::cpu_mem_read(Uint16 addr) { Uint8 result = m_cpumem[addr]; - char s[81] = {0}; // main rom if (addr <= 0xbfff) { @@ -165,8 +179,7 @@ Uint8 gpworld::cpu_mem_read(Uint16 addr) // ld-v1000 laserdisc player else if (addr == 0xd800) { result = read_ldp(addr); - // sprintf(s, "LDP read %x", result); - // printline(s); + LOGD << fmt("LDP read %x", result); } // unknown @@ -202,8 +215,7 @@ Uint8 gpworld::cpu_mem_read(Uint16 addr) } else { - snprintf(s, sizeof(s), "Unmapped read from %x (PC is %x)", addr, Z80_GET_PC); - printline(s); + LOGW << fmt("Unmapped read from %x (PC is %x)", addr, Z80_GET_PC); } return result; @@ -213,12 +225,10 @@ Uint8 gpworld::cpu_mem_read(Uint16 addr) void gpworld::cpu_mem_write(Uint16 addr, Uint8 value) { m_cpumem[addr] = value; - char s[81] = {0}; // main rom if (addr <= 0xbfff) { - snprintf(s, sizeof(s), "Attempted write to main ROM! at %x with value %x", addr, value); - printline(s); + LOGW << fmt("Attempted write to main ROM! at %x with value %x", addr, value); } // sprite @@ -242,8 +252,7 @@ void gpworld::cpu_mem_write(Uint16 addr, Uint8 value) // disc else if (addr == 0xd800) { - // sprintf(s, "LDP write %x", value); - // printline(s); + LOGD << fmt("LDP write %x", value); write_ldp(value, addr); } @@ -251,11 +260,64 @@ void gpworld::cpu_mem_write(Uint16 addr, Uint8 value) else if (addr == 0xda00) { } - // sound (uses analog hardware) + // sound (uses analog hardware) - unsupported - sound with samples else if (addr == 0xda01) { + if (value != 0xff) { - // sprintf(s, "da01 write %x", value); - // printline(s); + + static Uint8 lastbeep[0xFF] = {0}; + + // audio streams (primitive control) + if (++lastbeep[value] > 6) { + switch (value) { + case 0xDC: + case 0xDE: + sound::play(S_GP_TIRE); + break; + case 0xEC: + case 0xEE: + samples::flush_queue(); + sound::play(S_GP_START); + break; + case 0xF4: + samples::flush_queue(); + sound::play(S_GP_COUNT); + break; + case 0xF5: + sound::play(S_GP_REV); + break; + break; + case 0xF9: + case 0xFB: + sound::play(S_GP_COIN); + break; + case 0xFE: + if (++ign > 0x0A) { + if (banks[2]) + sound::play(S_GP_ENGINE2); + else sound::play(S_GP_ENGINE1); + } + break; + default: + LOGD << fmt("%x write %x", addr, value); + break; + } + lastbeep[value] = 0; + } + } + } + else if (addr == 0xdac0 || addr == 0xdae0) { + + switch (value) { + case 0x90: + ign = 0; + samples::flush_queue(); + sound::play(S_GP_CRASH); + break; + default: + sound::play(S_GP_DINK); + LOGD << fmt("%x write %x", addr, value); + break; } } // bit 0 selects whether brake or accelerater are read through 0xda20 @@ -279,36 +341,27 @@ void gpworld::cpu_mem_write(Uint16 addr, Uint8 value) else { m_cpumem[addr] = value; - snprintf(s, sizeof(s), "Unmapped write to %x with value %x (PC is %x)", addr, value, Z80_GET_PC); - printline(s); + LOGW << fmt("Unmapped write to %x with value %x (PC is %x)", addr, value, Z80_GET_PC); } } Uint8 gpworld::read_ldp(Uint16 addr) { - // char s[81] = {0}; - Uint8 result = ldp_input_latch; - // sprintf(s, "Read from player %x at pc: %x", result, Z80_GET_PC); - // printline(s); + LOGD << fmt("Read from player %x at pc: %x", result, Z80_GET_PC); return result; } void gpworld::write_ldp(Uint8 value, Uint16 addr) { - // char s[81] = {0}; - - // sprintf(s, "Write to player %x at pc %x", value, Z80_GET_PC); - // printline(s); + LOGD << fmt("Write to player %x at pc %x", value, Z80_GET_PC); ldp_output_latch = value; } // reads a byte from the cpu's port Uint8 gpworld::port_read(Uint16 port) { - char s[81] = {0}; - port &= 0xFF; switch (port) { @@ -329,10 +382,8 @@ Uint8 gpworld::port_read(Uint16 port) return banks[4]; break; default: - snprintf(s, sizeof(s), "ERROR: CPU port %x read requested, but this function is " - "unimplemented!", - port); - printline(s); + LOGW << fmt("ERROR: CPU port %x read requested, but this function is " + "unimplemented!", port); } return (0); @@ -341,8 +392,6 @@ Uint8 gpworld::port_read(Uint16 port) // writes a byte to the cpu's port void gpworld::port_write(Uint16 port, Uint8 value) { - char s[82] = {0}; - port &= 0xFF; switch (port) { @@ -352,15 +401,18 @@ void gpworld::port_write(Uint16 port, Uint8 value) case 0x01: if (value & 0x40) nmie = true; - else + else { nmie = false; + if (value == 0x00) { + ldv1000::write(0xA3); + ign = 0; + } + } break; default: - snprintf(s, sizeof(s), "ERROR: CPU port %x write requested (value %x) but this " - "function is unimplemented!", - port, value); - printline(s); + LOGW << fmt("ERROR: CPU port %x write requested (value %x) but this " + "function is unimplemented!", port, value); break; } } @@ -403,7 +455,6 @@ void gpworld::recalc_palette() { if (palette_modified) { m_video_overlay_needs_update = true; - Uint8 used_tile_colors[4096] = {0}; // int used_colors = 0; int i; @@ -471,6 +522,11 @@ void gpworld::repaint() // This should be much faster SDL_FillRect(m_video_overlay[m_active_video_overlay], NULL, m_transparent_color); + // draw low or high depending on the state of the shifter + const char *t = "HIGH"; + if (banks[2]) t = "LOW"; + video::draw_string(t, 1, 225, m_video_overlay[m_active_video_overlay]); + // The sprites are bottom priority so we draw them first // START modified Mame code // check if sprites need to be drawn @@ -524,7 +580,7 @@ void gpworld::repaint() for (int x = 0; x < 8; x++) { if (pixel[x]) { *((Uint8 *)m_video_overlay[m_active_video_overlay]->pixels + - ((chary * 8 + y) * GPWORLD_OVERLAY_W) + ((charx - 19) * 7 + x + p)) = + ((chary * 8 + y + p) * GPWORLD_OVERLAY_W) + ((charx - 19) * 7 + x + p)) = tile_color_pointer[(pixel[x]) | ((m_cpumem[current_character]) & 0xfc)]; } } @@ -542,10 +598,6 @@ void gpworld::repaint() // } // } - // draw low or high depending on the state of the shifter - const char *t = "HIGH"; - if (banks[2]) t = "LOW"; - video::draw_string(t, 2, 222, m_video_overlay[m_active_video_overlay]); } // this gets called when the user presses a key or moves the joystick @@ -566,7 +618,7 @@ void gpworld::input_enable(Uint8 move, Sint8 mouseID) banks[0] &= ~0x10; break; case SWITCH_BUTTON1: // space on keyboard - banks[2] = ~banks[2]; + banks[2] = ~banks[2]; m_video_overlay_needs_update = true; break; case SWITCH_BUTTON2: // left shift @@ -609,6 +661,7 @@ void gpworld::input_disable(Uint8 move, Sint8 mouseID) banks[0] |= 0x10; break; case SWITCH_BUTTON1: // space on keyboard + sound::play(S_GP_GEAR); break; case SWITCH_BUTTON2: // left shift banks[5] = 0x00; @@ -655,6 +708,7 @@ bool gpworld::set_bank(Uint8 which_bank, Uint8 value) // START modified Mame code void gpworld::draw_sprite(int spr_number) { + int p = 12; int sx, sy, row, height, src, sprite_color, sprite_bank; Uint8 *sprite_base; int skip; /* bytes to skip before drawing each row (can be negative) */ @@ -675,12 +729,15 @@ void gpworld::draw_sprite(int spr_number) sprite_bank = (sprite_base[SPR_X_HI] >> 1) & 0x07; - // char s[81]; - // sprintf(s, "Draw Sprite #%x with src %x, skip %x, width %x, height %x, y - //%x, x %x", spr_number, src, skip, width, height, sy, sx); - // printline(s); + if (spr_number == 0x1) { + if (sy < 0x4) p -= 0x0b; + else p -= 0x06; + } + + LOGD << fmt( "Draw Sprite #%x with src %x, skip %x, height %x, y %x, x %x", + spr_number, src, skip, height, sy, sx); - for (row = 0; row < height; row++) { + for (row = p; row < height + p; row++) { int x, y; int src2; diff --git a/src/game/gpworld.h b/src/game/gpworld.h index 76e3e5d9..6f26d5f3 100644 --- a/src/game/gpworld.h +++ b/src/game/gpworld.h @@ -47,6 +47,19 @@ #define SPR_GFXOFS_HI 7 // END modified Mame code +enum { + S_GP_ENGINE1, + S_GP_ENGINE2, + S_GP_CRASH, + S_GP_COUNT, + S_GP_START, + S_GP_COIN, + S_GP_DINK, + S_GP_TIRE, + S_GP_GEAR, + S_GP_REV +}; + class gpworld : public game { public: @@ -78,6 +91,7 @@ class gpworld : public game bool palette_modified; // has our palette been modified? Uint8 ldp_output_latch; // holds data to be sent to the LDV1000 Uint8 ldp_input_latch; // holds data that was retrieved from the LDV1000 + Uint8 ign; bool nmie; Uint8 banks[7]; }; diff --git a/src/game/lair.cpp b/src/game/lair.cpp index 0c74c813..21e5f609 100644 --- a/src/game/lair.cpp +++ b/src/game/lair.cpp @@ -248,7 +248,7 @@ void dle2::set_version(int version) m_rom_list = roms; } else { - LOGW << "Unsupported -version paramter, ignoring..."; + LOGW << "Unsupported -version parameter, ignoring..."; } } @@ -329,7 +329,7 @@ void ace::set_version(int version) {NULL}}; m_rom_list = ace_roms; } else { - LOGW << "Unsupported -version paramter, ignoring..."; + LOGW << "Unsupported -version parameter, ignoring..."; } } diff --git a/src/game/laireuro.cpp b/src/game/laireuro.cpp index f246d50e..77bc4f3c 100644 --- a/src/game/laireuro.cpp +++ b/src/game/laireuro.cpp @@ -728,7 +728,7 @@ void laireuro::set_version(int version) m_rom_list = lair_d2_roms; } else { - printline("Unsupported -version paramter, ignoring..."); + printline("Unsupported -version parameter, ignoring..."); } } diff --git a/src/game/mach3.cpp b/src/game/mach3.cpp index 62113adc..c0d2761a 100644 --- a/src/game/mach3.cpp +++ b/src/game/mach3.cpp @@ -609,7 +609,13 @@ void mach3::cpu_mem_write(Uint32 Addr, Uint8 Value) { // whether laserdisc video can be seen m_ldvideo_enabled = ((Value & 8) == 8); - palette::set_transparency(0, m_ldvideo_enabled); + if (m_cpumem[0x8000] == 0x60) { + if (m_ldvideo_enabled) + m_cpumem[0x5001] = 0x00; + else m_cpumem[0x5001] = 0x36; + m_palette_updated = true; + } else + palette::set_yuv_transparency(m_ldvideo_enabled); } if ((Value & 0x04) != (m_cpumem[0x5803] & 0x04)) // enable display bit // has changed diff --git a/src/game/singe.cpp b/src/game/singe.cpp index 93b28f9c..fc9e6fa4 100644 --- a/src/game/singe.cpp +++ b/src/game/singe.cpp @@ -81,7 +81,6 @@ singe::singe() : m_pScoreboard(NULL) m_bezel_scoreboard = false; m_overlay_size = 0; - m_fullsize_overlay = false; m_upgrade_overlay = false; m_muteinit = false; m_notarget = false; @@ -180,7 +179,6 @@ bool singe::init() g_SingeIn.cfm_get_fvalue = gfm_get_fvalue; g_SingeIn.cfm_get_overlaysize = gfm_get_overlaysize; g_SingeIn.cfm_set_overlaysize = gfm_set_overlaysize; - g_SingeIn.cfm_set_upgradeoverlay = gfm_set_upgradeoverlay; g_SingeIn.cfm_set_custom_overlay = gfm_set_custom_overlay; // Active bezel @@ -244,12 +242,11 @@ void singe::start() g_pSingeOut->sep_set_static_pointers(&m_disc_fps, &m_uDiscFPKS); 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() >> 6; + int delay = g_ldp->get_min_seek_delay() >> 4; g_ldp->set_seek_frames_per_ms(0); g_ldp->set_min_seek_delay(0); if (m_upgrade_overlay) g_pSingeOut->sep_upgrade_overlay(); - if (m_fullsize_overlay) g_pSingeOut->sep_overlay_resize(); if (m_muteinit) g_pSingeOut->sep_mute_vldp_init(); if (m_notarget) g_pSingeOut->sep_no_crosshair(); if (singe_oc) g_pSingeOut->sep_alter_lua_clock(singe_ocv); @@ -268,9 +265,9 @@ void singe::start() } if (blanking) { - if (video::get_video_timer_blank()) { + if (video::get_video_blank()) { if (intTimer > delay) - video::set_video_timer_blank(false); + video::set_video_blank(false); intTimer++; } else intTimer = 0; } @@ -396,6 +393,7 @@ bool singe::handle_cmdline_arg(const char *arg) if (!bInit) { game::set_32bit_overlay(true); + game::set_dynamic_overlay(true); m_upgrade_overlay = bInit = true; } @@ -438,51 +436,17 @@ bool singe::handle_cmdline_arg(const char *arg) singe_ocv = false; bResult = true; } - else if (strcasecmp(arg, "-oversize_overlay") == 0) { - - if (m_overlay_size) { - printerror("SINGE: Only one overlay argument allowed"); - return false; - } - printline("NOTE : -oversize_overlay is obsolete use '-set_overlay oversize'"); - m_overlay_size = SINGE_OVERLAY_OVERSIZE; - bResult = true; - } else if (strcasecmp(arg, "-8bit_overlay") == 0) { game::set_32bit_overlay(false); m_upgrade_overlay = false; bResult = true; } - else if (strcasecmp(arg, "-set_overlay") == 0) { - - if (m_overlay_size) { - printerror("SINGE: Only one overlay argument allowed"); - return false; - } - - uint8_t r = 0; - get_next_word(s, sizeof(s)); + else if (strcasecmp(arg, "-set_overlay") == 0 + || strcasecmp(arg, "-oversize_overlay") == 0) { - if (strcasecmp(s, "half") == 0) r = SINGE_OVERLAY_HALF; - if (strcasecmp(s, "full") == 0) r = SINGE_OVERLAY_FULL; - if (strcasecmp(s, "oversize") == 0) r = SINGE_OVERLAY_OVERSIZE; - - switch(r) { - case SINGE_OVERLAY_HALF: - case SINGE_OVERLAY_FULL: - m_overlay_size = r; - game::set_fullsize_overlay(true); - m_fullsize_overlay = true; - bResult = true; - break; - case SINGE_OVERLAY_OVERSIZE: - m_overlay_size = r; - bResult = true; - break; - default: - printerror("SINGE: -set_overlay expects argument 'full', 'half' or 'oversize'"); - break; - } + if (strcasecmp(arg, "-set_overlay") == 0) get_next_word(s, sizeof(s)); + printline("NOTE : Overlay arguments are now obsolete"); + bResult = true; } else if (strcasecmp(arg, "-nocrosshair") == 0) { m_notarget = true; @@ -493,7 +457,7 @@ bool singe::handle_cmdline_arg(const char *arg) i = atoi(s); if ((i > 0) && (i < 11)) { - game::set_sinden_border(i<<1); + game::set_sinden_border(i<<2); game::set_manymouse(true); bResult = true; } else { @@ -713,7 +677,6 @@ double singe::get_yratio() { return singe_yratio; } double singe::get_fvalue() { return singe_fvalue; } uint8_t singe::get_overlaysize() { return m_overlay_size; } -void singe::set_upgradeoverlay(bool bEnable) { game::set_fullsize_overlay(bEnable); } void singe::set_overlaysize(uint8_t thisVal) { m_overlay_size = thisVal; } diff --git a/src/game/singe.h b/src/game/singe.h index 0c5f834e..c331f351 100644 --- a/src/game/singe.h +++ b/src/game/singe.h @@ -39,7 +39,7 @@ using namespace std; // by rdg2010 -#define SINGE_VERSION 1.81 // Update this number whenever you issue a major change +#define SINGE_VERSION 1.82 // Update this number whenever you issue a major change #define SDL_MOUSE 100 #define MANY_MOUSE 200 @@ -209,12 +209,6 @@ class singe : public game pSingeInstance->set_overlaysize(thisVal); } - static void gfm_set_upgradeoverlay(void *pInstance, bool bEnable) - { - singe *pSingeInstance = (singe *)pInstance; - pSingeInstance->set_upgradeoverlay(bEnable); - } - static void gfm_set_custom_overlay(void *pInstance, uint16_t w, uint16_t h) { singe *pSingeInstance = (singe *)pInstance; @@ -313,7 +307,6 @@ class singe : public game struct singeJoyStruct g_js; struct singeScoreboard g_bezelboard; - void set_upgradeoverlay(bool); void set_overlaysize(uint8_t); void set_custom_overlay(uint16_t, uint16_t); @@ -335,7 +328,6 @@ class singe : public game bool bezel_is_enabled(); bool m_bezel_scoreboard; - bool m_fullsize_overlay; bool m_upgrade_overlay; bool singe_alt_pressed; bool singe_joymouse; diff --git a/src/game/singe/luretro.c b/src/game/singe/luretro.c index da416441..176eb3c4 100644 --- a/src/game/singe/luretro.c +++ b/src/game/singe/luretro.c @@ -27,6 +27,7 @@ enum { PATH_DAPHNE, + PATH_SINGE, PATH_FRAMEWORK, PATH_END }; @@ -46,16 +47,19 @@ unsigned char inPath(const char* src, char* path) void lua_retropath(const char *src, char *dst, int len) { - unsigned char r = 0, fin = 0, path = PATH_DAPHNE; + unsigned char r = 0, fin = 0, folder = 0, path = PATH_DAPHNE; if (inPath(src, "Framework")) path = PATH_FRAMEWORK; + if (inPath(src, "singe/")) folder = PATH_SINGE; + else r++; for (int i = 0; i < (len - 2); src++, i++) { - if (!fin) { + if (fin != PATH_END) { if (*src == '\0') { fin = PATH_END; } - if (i == 6) { + if (i == 0 && *src == '/') continue; + if (folder == PATH_SINGE && i == 6) { memcpy(dst, "/../", 4); dst += 4; } diff --git a/src/game/singe/singe_interface.h b/src/game/singe/singe_interface.h index 9533a1cb..0a3f57cb 100644 --- a/src/game/singe/singe_interface.h +++ b/src/game/singe/singe_interface.h @@ -2,7 +2,7 @@ #define SINGE_INTERFACE_H // increase this number every time you change something in this file!!! -#define SINGE_INTERFACE_API_VERSION 7 +#define SINGE_INTERFACE_API_VERSION 8 #define SINGE_ERROR_INIT 0xA0 #define SINGE_ERROR_RUNTIME 0xA1 @@ -75,7 +75,6 @@ struct singe_in_info uint8_t (*cfm_get_overlaysize)(void *); void (*cfm_set_overlaysize)(void *, uint8_t); - void (*cfm_set_upgradeoverlay)(void *, bool); void (*cfm_set_custom_overlay)(void *, uint16_t, uint16_t); void (*cfm_bezel_enable)(void *, bool); @@ -131,7 +130,6 @@ struct singe_out_info void (*sep_mute_vldp_init)(void); void (*sep_no_crosshair)(void); void (*sep_upgrade_overlay)(void); - void (*sep_overlay_resize)(void); //////////////////////////////////////////////////////////// }; diff --git a/src/game/singe/singeproxy.cpp b/src/game/singe/singeproxy.cpp index 4d990890..5dfa4455 100644 --- a/src/game/singe/singeproxy.cpp +++ b/src/game/singe/singeproxy.cpp @@ -44,6 +44,8 @@ typedef struct g_soundType { // These are pointers and values needed by the script engine to interact with Hypseus lua_State *g_se_lua_context; SDL_Surface *g_se_surface = NULL; +SDL_Renderer *g_se_renderer = NULL; +SDL_Texture *g_se_texture = NULL; int g_se_overlay_width; int g_se_overlay_height; double *g_se_disc_fps; @@ -71,9 +73,8 @@ double g_sep_overlay_scale_y = 1; bool g_pause_state = false; // by RDG2010 bool g_init_mute = false; bool g_upgrade_overlay = false; -bool g_fullsize_overlay = false; bool g_show_crosshair = true; -bool g_not_cursor = true; +bool g_blend_sprite = false; int (*g_original_prepare_frame)(uint8_t *Yplane, uint8_t *Uplane, uint8_t *Vplane, int Ypitch, int Upitch, int Vpitch); @@ -103,7 +104,6 @@ SINGE_EXPORT const struct singe_out_info *singeproxy_init(const struct singe_in_ g_SingeOut.sep_mute_vldp_init = sep_mute_vldp_init; g_SingeOut.sep_no_crosshair = sep_no_crosshair; g_SingeOut.sep_upgrade_overlay = sep_upgrade_overlay; - g_SingeOut.sep_overlay_resize = sep_overlay_resize; result = &g_SingeOut; @@ -349,7 +349,7 @@ void sep_set_static_pointers(double *m_disc_fps, unsigned int *m_uDiscFPKS) void sep_set_surface(int width, int height) { bool createSurface = false; - + g_se_overlay_height = height; g_se_overlay_width = width; @@ -606,9 +606,7 @@ void sep_startup(const char *script) lua_register(g_se_lua_context, "vldpSetVerbose", sep_ldp_verbose); // Singe 2 - lua_register(g_se_lua_context, "overlaySetResolution", sep_singe_two_pseudo_call_true); lua_register(g_se_lua_context, "singeSetGameName", sep_singe_two_pseudo_call_true); - lua_register(g_se_lua_context, "onOverlayUpdate", sep_singe_two_pseudo_call_true); lua_register(g_se_lua_context, "singeWantsCrosshairs", sep_singe_wants_crosshair); lua_register(g_se_lua_context, "mouseHowMany", sep_get_number_of_mice); @@ -618,6 +616,7 @@ void sep_startup(const char *script) lua_register(g_se_lua_context, "getFValue", sep_get_fvalue); lua_register(g_se_lua_context, "setOverlaySize", sep_set_overlaysize); lua_register(g_se_lua_context, "setOverlayResolution", sep_set_custom_overlay); + lua_register(g_se_lua_context, "overlaySetResolution", sep_set_custom_overlay); lua_register(g_se_lua_context, "takeScreenshot", sep_screenshot); lua_register(g_se_lua_context, "scoreBezelEnable", sep_bezel_enable); @@ -649,6 +648,8 @@ void sep_startup(const char *script) if (g_pSingeIn->get_retro_path()) sep_set_retropath(); + g_blend_sprite = video::get_singe_blend_sprite(); + if (luaL_dofile(g_se_lua_context, script) != 0) { sep_error("error compiling script: %s", lua_tostring(g_se_lua_context, -1)); @@ -660,40 +661,40 @@ void sep_startup(const char *script) void sep_unload_fonts(void) { - int x; + if (g_fontList.size() > 0) { - if (g_fontList.size() > 0) - { - for (x=0; x<(int)g_fontList.size(); x++) - TTF_CloseFont(g_fontList[x]); - g_fontList.clear(); - } + for (int x = 0; x < (int)g_fontList.size(); x++) + TTF_CloseFont(g_fontList[x]); + + g_fontList.clear(); + } } void sep_unload_sounds(void) { - int x; - g_pSingeIn->samples_flush_queue(); - if (g_soundList.size() > 0) - { - for (x=0; x<(int)g_soundList.size(); x++) - SDL_FreeWAV(g_soundList[x].buffer); - g_soundList.clear(); - } + if (g_soundList.size() > 0) { + + for (int x = 0; x < (int)g_soundList.size(); x++) + SDL_FreeWAV(g_soundList[x].buffer); + + g_soundList.clear(); + } } void sep_unload_sprites(void) { - int x; + if (g_spriteList.size() > 0) { - if (g_spriteList.size() > 0) - { - for (x=0; x<(int)g_spriteList.size(); x++) - SDL_FreeSurface(g_spriteList[x]); - g_spriteList.clear(); - } + for (int x = 0; x < (int)g_spriteList.size(); x++) + { + SDL_FreeSurface(g_spriteList[x]); + g_spriteList[x] = NULL; + } + + g_spriteList.clear(); + } } void sep_alter_lua_clock(bool s) @@ -720,11 +721,6 @@ void sep_upgrade_overlay(void) g_upgrade_overlay = true; } -void sep_overlay_resize(void) -{ - g_fullsize_overlay = true; -} - //////////////////////////////////////////////////////////////////////////////// // Singe API Calls @@ -968,9 +964,7 @@ static int sep_mpeg_get_pixel(lua_State *L) int32_t n = lua_gettop(L); bool result = false; static bool ex = false; - SDL_Renderer *g_renderer = video::get_renderer(); - SDL_Texture *g_texture = video::get_yuv_screen(); - SDL_QueryTexture(g_texture, &format, NULL, NULL, NULL); + SDL_QueryTexture(g_se_texture, &format, NULL, NULL, NULL); unsigned char pixel[SDL_BYTESPERPIXEL(format)]; unsigned char R; unsigned char G; @@ -991,8 +985,8 @@ static int sep_mpeg_get_pixel(lua_State *L) / (double)g_se_overlay_width)); rect.y = (int)((double)lua_tonumber(L, 2) * ((double)g_pSingeIn->g_vldp_info->h / (double)g_se_overlay_height)); - if (g_renderer && g_texture) { - if (SDL_SetRenderTarget(g_renderer, g_texture) < 0) { + if (g_se_renderer && g_se_texture) { + if (SDL_SetRenderTarget(g_se_renderer, g_se_texture) < 0) { if (!ex) { sep_print("get_pixel unsupported texture: Targets disabled"); sep_print("Could not RenderTarget in get_pixel: %s", SDL_GetError()); @@ -1003,13 +997,16 @@ static int sep_mpeg_get_pixel(lua_State *L) lua_pushstring(X, "Targets disabled"); sep_say_font(X); } else { - if (SDL_RenderReadPixels(g_renderer, &rect, format, + if (SDL_RenderReadPixels(g_se_renderer, &rect, format, pixel, SDL_BYTESPERPIXEL(format)) < 0) sep_die("Could not ReadPixel in get_pixel: %s", SDL_GetError()); } - SDL_SetRenderTarget(g_renderer, NULL); + SDL_SetRenderTarget(g_se_renderer, NULL); } else { - sep_die("Could not initialize get_pixel"); + if (!ex) { + g_se_renderer = video::get_renderer(); + g_se_texture = video::get_yuv_screen(); + } else sep_die("Could not initialize get_pixel"); } Y = pixel[0] - 16; U = (int)rand()% 6 + (-3); @@ -1079,12 +1076,7 @@ static int sep_set_overlaysize(lua_State *L) switch (size) { case SINGE_OVERLAY_FULL: case SINGE_OVERLAY_HALF: - g_fullsize_overlay = true; - g_pSingeIn->cfm_set_upgradeoverlay(g_pSingeIn->pSingeInstance, true); - break; case SINGE_OVERLAY_OVERSIZE: - g_fullsize_overlay = false; - g_pSingeIn->cfm_set_upgradeoverlay(g_pSingeIn->pSingeInstance, false); break; case SINGE_OVERLAY_CUSTOM: if (n == 3) { @@ -1096,9 +1088,7 @@ static int sep_set_overlaysize(lua_State *L) f = lua_tonumber(L, 3); int h = (int)f; if (w && h) { - g_fullsize_overlay = true; g_pSingeIn->cfm_set_custom_overlay(g_pSingeIn->pSingeInstance, w, h); - g_pSingeIn->cfm_set_upgradeoverlay(g_pSingeIn->pSingeInstance, true); } else size = SINGE_OVERLAY_EMPTY; } } @@ -1135,7 +1125,6 @@ static int sep_get_fvalue(lua_State *L) static int sep_singe_wants_crosshair(lua_State *L) { lua_pushboolean(L, g_show_crosshair); - if (g_show_crosshair) g_not_cursor = false; return 1; } @@ -1212,36 +1201,14 @@ static int sep_say_font(lua_State *L) SDL_Rect dest; dest.w = textsurface->w; dest.h = textsurface->h; - - if (g_fullsize_overlay) { - - dest.x = lua_tonumber(L, 1) + g_sep_overlay_scale_x; - dest.y = lua_tonumber(L, 2) + g_sep_overlay_scale_y; - - } else { // Deal with legacy stuff - TODO: remove - - dest.x = lua_tonumber(L, 1); - dest.y = lua_tonumber(L, 2); - - if (dest.x == 0x05 && dest.y == 0x05 && dest.h == 0x17) // AM SCORE SHUNT - dest.x+=20; - - if (g_se_overlay_width > SINGE_OVERLAY_STD_W) { - if (dest.h == 0x16 && dest.y == 0xcf) { // JR SCOREBOARD - dest.x = dest.x - (double)((g_se_overlay_width + dest.x + dest.w) / 22); - if (dest.x <(SINGE_OVERLAY_STD_W>>2)) dest.x-=4; - if (dest.x >(SINGE_OVERLAY_STD_W>>1)) dest.x+=4; - } - else - dest.x = dest.x - (double)(((g_se_overlay_width) + (dest.x * 32) - + (dest.w * 26)) / SINGE_OVERLAY_STD_W); - } - } + dest.x = lua_tonumber(L, 1) + g_sep_overlay_scale_x; + dest.y = lua_tonumber(L, 2) + g_sep_overlay_scale_y; SDL_SetSurfaceRLE(textsurface, SDL_TRUE); SDL_SetColorKey(textsurface, SDL_TRUE, 0x0); - if (!video::get_singe_blend_sprite()) - SDL_SetSurfaceBlendMode(textsurface, SDL_BLENDMODE_NONE); + + if (!g_blend_sprite) + SDL_SetSurfaceBlendMode(textsurface, SDL_BLENDMODE_NONE); SDL_BlitSurface(textsurface, NULL, g_se_surface, &dest); SDL_FreeSurface(textsurface); @@ -1282,7 +1249,7 @@ static int sep_search(lua_State *L) if (g_pSingeIn->g_local_info->blank_during_searches) if (debounced) - video::set_video_timer_blank(true); + video::set_video_blank(true); debounced = true; } @@ -1331,7 +1298,7 @@ static int sep_skip_backward(lua_State *L) if (lua_isnumber(L, 1)) { if (g_pSingeIn->g_local_info->blank_during_skips) - video::set_video_timer_blank(true); + video::set_video_blank(true); g_pSingeIn->pre_skip_backward(lua_tonumber(L, 1)); } @@ -1360,7 +1327,7 @@ static int sep_skip_forward(lua_State *L) if (lua_isnumber(L, 1)) { if (g_pSingeIn->g_local_info->blank_during_skips) - video::set_video_timer_blank(true); + video::set_video_blank(true); g_pSingeIn->pre_skip_forward(lua_tonumber(L, 1)); } @@ -1388,7 +1355,7 @@ static int sep_skip_to_frame(lua_State *L) if (g_pSingeIn->g_local_info->blank_during_skips) if (debounced) - video::set_video_timer_blank(true); + video::set_video_blank(true); g_pSingeIn->framenum_to_frame(lua_tonumber(L, 1), s); g_pSingeIn->pre_search(s, true); @@ -1465,35 +1432,11 @@ static int sep_sprite_draw(lua_State *L) SDL_Rect dest; dest.w = g_spriteList[sprite]->w; dest.h = g_spriteList[sprite]->h; + dest.x = lua_tonumber(L, 1) + g_sep_overlay_scale_x; + dest.y = lua_tonumber(L, 2) + g_sep_overlay_scale_y; - if (g_fullsize_overlay) { - - dest.x = lua_tonumber(L, 1) + g_sep_overlay_scale_x; - dest.y = lua_tonumber(L, 2) + g_sep_overlay_scale_y; - - } else { // Deal with legacy stuff - TODO: remove - - dest.x = lua_tonumber(L, 1); - dest.y = lua_tonumber(L, 2); - - if (g_se_overlay_width > SINGE_OVERLAY_STD_W) { - if (g_not_cursor && dest.y > 0xbe && dest.y <= 0xde) - dest.x = dest.x - (double)((g_se_overlay_width + dest.x + dest.w) / 26); - else - dest.x = dest.x - (double)((g_se_overlay_width + (dest.x * 32) - + (dest.w * 26)) / SINGE_OVERLAY_STD_W); - } - } - - if (dest.w == 0x89 && dest.h == 0x1c) { // SP - SDL_SetColorKey(g_spriteList[sprite], SDL_TRUE, 0x000000ff); - dest.x+=3; - } - - if ((!video::get_singe_blend_sprite()) && - (dest.w != 0xcc && dest.h != 0x15) && - (dest.w != 0x0b && dest.h != 0x0b)) // JR / AM - SDL_SetSurfaceBlendMode(g_spriteList[sprite], SDL_BLENDMODE_NONE); + if (!g_blend_sprite) + SDL_SetSurfaceBlendMode(g_spriteList[sprite], SDL_BLENDMODE_NONE); SDL_BlitSurface(g_spriteList[sprite], NULL, g_se_surface, &dest); } @@ -1501,7 +1444,6 @@ static int sep_sprite_draw(lua_State *L) } } } - g_not_cursor = true; return 0; } @@ -1544,7 +1486,6 @@ static int sep_sprite_load(lua_State *L) SDL_Surface *temp = IMG_Load(filepath.c_str()); if (temp) { - // free old surface? temp = SDL_ConvertSurface(temp, g_se_surface->format, 0); SDL_SetSurfaceRLE(temp, SDL_TRUE); SDL_SetColorKey(temp, SDL_TRUE, 0x0); diff --git a/src/game/singe/singeproxy.h b/src/game/singe/singeproxy.h index fac2d66b..c396233b 100644 --- a/src/game/singe/singeproxy.h +++ b/src/game/singe/singeproxy.h @@ -72,7 +72,6 @@ void sep_alter_lua_clock(bool); void sep_mute_vldp_init(void); void sep_no_crosshair(void); void sep_upgrade_overlay(void); -void sep_overlay_resize(void); bool sep_format_srf32(SDL_Surface *src, SDL_Surface *dst); bool sep_srf32_to_srf8(SDL_Surface *src, SDL_Surface *dst); diff --git a/src/game/superd.cpp b/src/game/superd.cpp index 62930ce5..92bbbcd7 100644 --- a/src/game/superd.cpp +++ b/src/game/superd.cpp @@ -39,6 +39,7 @@ #include #include #include "superd.h" +#include #include "../cpu/generic_z80.h" #include "../ldp-in/ldv1000.h" #include "../ldp-out/ldp.h" @@ -567,7 +568,7 @@ void superd::input_enable(Uint8 move, Sint8 mouseID) banks[1] &= ~0x02; break; default: - printline("Error, bug in move enable"); + LOGD << "Error, bug in move enable"; break; } } @@ -611,7 +612,7 @@ void superd::input_disable(Uint8 move, Sint8 mouseID) banks[1] |= 0x02; break; default: - printline("Error, bug in move enable"); + LOGD << "Error, bug in move disable"; break; } } diff --git a/src/game/thayers.cpp b/src/game/thayers.cpp index f3a2d32f..79cea2ba 100644 --- a/src/game/thayers.cpp +++ b/src/game/thayers.cpp @@ -234,7 +234,7 @@ void thayers::set_version(int version) m_rom_list = tq_roms; } else { - printline("TQ: Unsupported -version paramter, ignoring..."); + printline("TQ: Unsupported -version parameter, ignoring..."); } } @@ -672,10 +672,12 @@ void thayers::process_keydown(SDL_Keycode key) default: // else we recognized no keys so print an error +#ifdef DEBUG char s[81] = {0}; snprintf(s, sizeof(s), "THAYERS: Unhandled keypress: %x", key); printline(s); +#endif break; } } diff --git a/src/hypseus.cpp b/src/hypseus.cpp index 95f938e9..8e62b5fb 100644 --- a/src/hypseus.cpp +++ b/src/hypseus.cpp @@ -279,7 +279,6 @@ int main(int argc, char **argv) // if command line was bogus, quit else { printerror("Bad command line or initialization problem."); - printusage(); } // if our g_game class was allocated diff --git a/src/io/cmdline.cpp b/src/io/cmdline.cpp index a5d14803..08adce67 100644 --- a/src/io/cmdline.cpp +++ b/src/io/cmdline.cpp @@ -394,6 +394,7 @@ bool parse_game_type() } else { snprintf(e, sizeof(e), "ERROR: Unknown game type specified : %s", s); printerror(e); + printusage(); result = false; } @@ -530,7 +531,8 @@ bool parse_cmd_line(int argc, char **argv) } // Ignore some deprecated arguments (Rather than error) else if (strcasecmp(s, "-noserversend") == 0 || - strcasecmp(s, "-fullscale") == 0) { + strcasecmp(s, "-nolinear_scale") == 0 || + strcasecmp(s, "-fullscale") == 0) { char e[460]; snprintf(e, sizeof(e), "NOTE : Ignoring deprecated argument: %s", s); @@ -839,7 +841,8 @@ bool parse_cmd_line(int argc, char **argv) video::set_tq_keyboard(true); } else if (strcasecmp(s, "-annunbezel") == 0 || - strcasecmp(s, "-dedannunbezel") == 0) { + strcasecmp(s, "-dedannunbezel") == 0 || + strcasecmp(s, "-annunlamps") == 0) { lair *game_ace = dynamic_cast(g_game); if (game_ace) { @@ -847,6 +850,8 @@ bool parse_cmd_line(int argc, char **argv) enable_bannun(true); if (strcasecmp(s, "-dedannunbezel") == 0) video::set_ded_annun_bezel(true); + if (strcasecmp(s, "-annunlamps") == 0) + video::set_annun_lamponly(true); } } // used to modify the dip switch settings of the game in question @@ -977,9 +982,9 @@ bool parse_cmd_line(int argc, char **argv) else if (strcasecmp(s, "-manymouse") == 0) { g_game->set_manymouse(true); } - // Disable SDL_HINT_RENDER_SCALE_QUALITY(linear) - else if (strcasecmp(s, "-nolinear_scale") == 0) { - video::set_fullscreen_scale_nearest(true); + // Enable SDL_HINT_RENDER_SCALE_QUALITY(linear) + else if (strcasecmp(s, "-linear_scale") == 0) { + video::set_scale_linear(true); } // disable log file else if (strcasecmp(s, "-nolog") == 0) { @@ -1024,7 +1029,10 @@ bool parse_cmd_line(int argc, char **argv) result = false; } } - + // by DBX - This switches logical axis calculations + else if (strcasecmp(s, "-vertical_screen") == 0) { + video::set_vertical_orientation(true); + } // by RDG2010 // Scales video image to something smaller than the window size. // Helpful for users with overscan issues on arcade monitors or CRT @@ -1043,12 +1051,12 @@ bool parse_cmd_line(int argc, char **argv) result = false; } } - else if ((strcasecmp(s, "-scale_shiftx") == 0) || - (strcasecmp(s, "-scale_shifty") == 0)) { + else if ((strcasecmp(s, "-shiftx") == 0) || + (strcasecmp(s, "-shifty") == 0)) { bool x = false, f = false; - if (strcasecmp(s, "-scale_shiftx") == 0) + if (strcasecmp(s, "-shiftx") == 0) x = true; get_next_word(s, sizeof(s)); @@ -1058,7 +1066,7 @@ bool parse_cmd_line(int argc, char **argv) f = true; // print help } i = atoi(s); - if (i >= -100 && i <= 100 && !f) { + if (i >= -100 && i != 0 && i <= 100 && !f) { i = i + 0x64; if (i == 0x0) i = 0x1; if (x) @@ -1162,7 +1170,7 @@ bool parse_cmd_line(int argc, char **argv) } // Use old style overlays (lair, ace, lair2 & tq) else if (strcasecmp(s, "-original_overlay") == 0) { - g_game->m_use_old_overlay = true; + g_game->m_old_overlay = true; } // this switch only supported by the ldp-vldp player class. else if (strcasecmp(s, "-useoverlaysb") == 0) { diff --git a/src/io/error.cpp b/src/io/error.cpp index 1a9399ca..2c68cede 100644 --- a/src/io/error.cpp +++ b/src/io/error.cpp @@ -34,9 +34,12 @@ #include "../sound/sound.h" +static bool g_usage = false; + // notifies the user of an error that has occurred void printerror(const char *s) { + if (g_usage) return; static bool alert = true; if (alert && sound::get_initialized()) { @@ -61,23 +64,23 @@ void printerror(const char *s) #endif } -// notifies user that the game does not work correctly and gives a reason -// this should be called after video has successfully been initialized -void printnowookin(const char *s) +// prints a notice to the screen +void printnotice(const char *s) { - LOGE << s; + LOGW << s; } -// prints a notice to the screen -void printnotice(const char *s) +// notifies user that the game does not work correctly and gives a reason +// this should be called after video has successfully been initialized +void printnowookin(const char *s) { - LOGE << s; + printnotice(s); } void printusage() { const char * usage = R"USAGE( - Hypseus Singe (C)2023 DirtBagXon + Hypseus Singe (c) 2023 DirtBagXon Usage: hypseus vldp -framefile ... @@ -94,7 +97,7 @@ void printusage() -fastboot -fullscreen -gamepad - -nolinear_scale + -linear_scale - Common Singe arguments: @@ -111,8 +114,12 @@ void printusage() )USAGE"; #ifdef WIN32 - MessageBox(NULL, usage, "Usage", MB_OK | MB_ICONINFORMATION); + MessageBox(NULL, usage, "Usage", MB_OK | MB_ICONINFORMATION); +#elif __APPLE__ + SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, "Usage", usage, NULL); #else - fprintf(stdout, "%s", usage); + fprintf(stdout, "%s", usage); #endif + + g_usage = true; } diff --git a/src/ldp-in/ldp1000.cpp b/src/ldp-in/ldp1000.cpp index b44bcdb1..2e783a0d 100644 --- a/src/ldp-in/ldp1000.cpp +++ b/src/ldp-in/ldp1000.cpp @@ -270,7 +270,7 @@ void write(unsigned char value) // Display LDP1450 overlay for (i = 0; i < 3; i++) { - if (g_game->get_use_old_overlay()) { + if (g_game->use_old_overlay()) { video::draw_singleline_LDP1450(g_LDP1450_Strings[i].String, overlay_ldp1450_x, overlay_ldp1450_y); } else { diff --git a/src/ldp-in/ldv1000.cpp b/src/ldp-in/ldv1000.cpp index bae8b9f9..9f297ef3 100644 --- a/src/ldp-in/ldv1000.cpp +++ b/src/ldp-in/ldv1000.cpp @@ -427,7 +427,7 @@ void write(unsigned char value) g_output |= 0x80; // set highbit just in case break; default: // Unsupported Command - LOGW << fmt("Unsupported LD-V1000 Command Received: %x", value); + LOGD << fmt("Unsupported LD-V1000 Command Received: %x", value); break; } } @@ -448,10 +448,10 @@ void write(unsigned char value) } // As you can see we are currently not supporting display disable -void pre_display_disable() { LOGW << "Display disable received (unsupported)"; } +void pre_display_disable() { LOGD << "Display disable received (unsupported)"; } // We are not currently supporting display enable -void pre_display_enable() { LOGW << "Display enable received (unsupported)"; } +void pre_display_enable() { LOGD << "Display enable received (unsupported)"; } // Make the LD-V1000 appear to perform instantaneous searches // NOTE : Doesn't work with all games diff --git a/src/ldp-out/ldp-vldp.cpp b/src/ldp-out/ldp-vldp.cpp index 04ae63fb..2770c4dd 100644 --- a/src/ldp-out/ldp-vldp.cpp +++ b/src/ldp-out/ldp-vldp.cpp @@ -1510,8 +1510,8 @@ void update_parse_meter(const string &strFilename) if (remaining_s > 0) { SDL_Renderer *renderer = video::get_renderer(); FC_Font *g_font = video::get_font(); - int h = video::get_draw_height(); - int w = video::get_draw_width(); + int h = video::get_logical_height(); + int w = video::get_logical_width(); int len; char s[160]; char f[160]; diff --git a/src/scoreboard/overlay_scoreboard.cpp b/src/scoreboard/overlay_scoreboard.cpp index ceb9c571..d9d30e49 100644 --- a/src/scoreboard/overlay_scoreboard.cpp +++ b/src/scoreboard/overlay_scoreboard.cpp @@ -34,7 +34,7 @@ bool OverlayScoreboard::RepaintIfNeeded() if (!m_bThayers) { // Draw all DL/SA scoreboard labels. - if (video::get_use_old_osd()) { + if (video::use_old_font()) { video::draw_string("Credits", pSurface->w / 12 - (pSurface->w == 360 ? 4 : 3), 0, pSurface); video::draw_string("Player 1: ", 1, 0, pSurface); video::draw_string("Player 2: ", (pSurface->w / 6 - 19), 0, pSurface); @@ -61,7 +61,7 @@ bool OverlayScoreboard::RepaintIfNeeded() else { // Thayer's Quest only uses "Credits" portion of the DL/SA // scoreboard. - if (video::get_use_old_osd()) + if (video::use_old_font()) video::draw_string("Time", pSurface->w / 12 - 2, 0, pSurface); else video::draw_string("Time", pSurface->w / 12 + 3, 1, pSurface); diff --git a/src/sound/sound.cpp b/src/sound/sound.cpp index 03aa9c82..da37688c 100644 --- a/src/sound/sound.cpp +++ b/src/sound/sound.cpp @@ -334,9 +334,9 @@ int load_waves() } // load "saveme" sound in - if (!SDL_LoadWAV("sound/saveme.wav", &spec, &g_sample_saveme.pu8Buf, + if (!SDL_LoadWAV("sound/grumble.wav", &spec, &g_sample_saveme.pu8Buf, &g_sample_saveme.uLength)) { - LOGW << "Loading 'saveme.wav' failed..."; + LOGW << "Loading 'grumble.wav' failed..."; result = 0; } diff --git a/src/video/palette.cpp b/src/video/palette.cpp index bea19e48..d4ab151e 100644 --- a/src/video/palette.cpp +++ b/src/video/palette.cpp @@ -176,9 +176,10 @@ void shutdown(void) } } -// this function is here temporarily while the game drivers are switch to this -// new method -t_yuv_color *get_yuv(void) { return g_yuv; } +void set_yuv_transparency(bool transparent) +{ + if (video::get_yuv_overlay_ready()) + video::set_video_blank(!transparent); +} -Uint32 *get_rgba(void) { return g_uRGBAPalette; } } diff --git a/src/video/palette.h b/src/video/palette.h index efe72597..d7f2eb98 100644 --- a/src/video/palette.h +++ b/src/video/palette.h @@ -40,10 +40,9 @@ bool initialize(unsigned int num_colors); // The default is for color #0 to be transparent, and this will be // set in initialize. void set_transparency(unsigned int uColorIndex, bool transparent); +void set_yuv_transparency(bool transparent); void set_color(unsigned int color_num, SDL_Color color_value); void finalize(); void shutdown(void); -t_yuv_color *get_yuv(void); -Uint32 *get_rgba(void); } diff --git a/src/video/tms9128nl.cpp b/src/video/tms9128nl.cpp index 9aca936a..ae49bd9b 100644 --- a/src/video/tms9128nl.cpp +++ b/src/video/tms9128nl.cpp @@ -62,6 +62,7 @@ unsigned char g_tms_background_color = 0; // black (3 bit) bool g_tms_interrupt_enabled = false; // whether NMI is on or off bool g_conv_12a563 = false; bool g_alpha_latch = false; +bool g_nostretch = false; int g_transparency_enabled = 0; int g_transparency_latch = 0; @@ -70,7 +71,6 @@ static int stretch_offset = TMS_VERTICAL_OFFSET; static int offset_shunt = 0; // BARBADEL: Added -int introHack = 0; int prevg_vidmode = 0; void tms9128nl_clear_overlay(); //////////////////////////////////////////////////////////////////////////// @@ -99,13 +99,14 @@ void tms9128nl_reset() g_tms_interrupt_enabled = false; g_transparency_enabled = 0; g_transparency_latch = 0; - introHack = 0; prevg_vidmode = 0; stretch_offset = g_game->get_stretch_value(); offset_shunt = (TMS_VERTICAL_OFFSET - g_game->get_stretch_value()) / TMS_ROW_HEIGHT; } +bool tms9128nl_bordchar(unsigned char value) { return (value > 0x5F && value < 0x69); } + bool tms9128nl_int_enabled() { return (g_tms_interrupt_enabled); } void tms9128nl_writechar(unsigned char value) @@ -113,10 +114,11 @@ void tms9128nl_writechar(unsigned char value) // this is the same as writing to register #0 on a TMS chip { unsigned int row = 0, col = 0; + unsigned char tile = 0, s = 0; int base = 0; + if (g_nostretch) s += TMS_ROW_HEIGHT >> 1; if (viddisp == 0) return; // video display is off - // if (g_vidmode!=1) return; //only text mode 1 for now // MODE 1 (bitmapped text) if (g_vidmode == 1) { @@ -133,15 +135,10 @@ void tms9128nl_writechar(unsigned char value) { case 0x0: if ((int)row == offset_shunt) - tms9128nl_drawchar(0, col, 0); - break; - case 0x60: - case 0x61: - case 0x62: - case 0x63: - case 0x67: + tms9128nl_drawchar(0, col, 0, 0); break; default: + if (tms9128nl_bordchar(value)) break; if ((int)row == offset_shunt) row = 0x0; break; @@ -152,7 +149,7 @@ void tms9128nl_writechar(unsigned char value) return; // problems with col31? or bug in fancyclearscreen // routine? - tms9128nl_drawchar(value, col, row); + tms9128nl_drawchar(value, col, row, 0); } // else, they're outside the viewable area, so draw nothing } // end mode 1 @@ -166,6 +163,8 @@ void tms9128nl_writechar(unsigned char value) base = 0x3c01; rowdiv = 32; // 32*24 + if (g_conv_12a563) --base; + row = (wvidindex - base - 1) / rowdiv; col = (wvidindex - base - 1) % rowdiv; @@ -179,18 +178,49 @@ void tms9128nl_writechar(unsigned char value) } } + if (g_conv_12a563) { + switch (value) + { + case 0x38: + if (wvidindex != 0x3D95) + tile = 1; + break; + case 0x1C: + case 0x1E: + case 0x3E: + case 0x40: + if (!g_transparency_enabled) + tile = 1; + break; + case 0x71: + case 0x72: + case 0x73: + if (col == 0x16 && row > 0xD) + tms9128nl_drawchar(TMS_TAG_TICK, 0x10 + s, + (0xF + offset_shunt), 3); + tile = 1; + break; + } + + if (tms9128nl_bordchar(value)) + if (g_transparency_latch) + tile = 2; + + row += offset_shunt; + --col; + } + if ((col == 31) && (rowdiv == 32)) return; // problems with col31? or bug in fancyclearscreen // routine? - tms9128nl_drawchar(value, col, row); + tms9128nl_drawchar(value, col + s, row, tile); } // BARBADEL: Added else { if (g_conv_12a563) { - g_tms_foreground_color = 0x5; - g_tms_background_color = 0x1; - if (wvidindex == 0x3802) tms9128nl_drawchar(0x0A, (value >> 3), 0x13); + if (wvidindex == 0x3802) tms9128nl_drawchar(0x5F, s + (value >> 3), + (0x13 + offset_shunt), 1); } else { g_tms_foreground_color = (unsigned char)((value & 0xF0) >> 4); g_tms_background_color = (unsigned char)(value & 0x0F); @@ -526,6 +556,9 @@ void tms9128nl_convert_color(unsigned char color_src, SDL_Color *color) case 3: tms9128nl_convert_color(0x4, color); return; + case 5: + color->r = color->g = color->b = 0xF0; + return; case 2: case 12: tms9128nl_convert_color(0x1, color); @@ -624,6 +657,16 @@ void tms9128nl_convert_color(unsigned char color_src, SDL_Color *color) color->g = 255; color->b = 255; break; + case TMS_LAY1: + color->r = 155; + color->g = 34; + color->b = 34; + break; + case TMS_LAY2: + color->r = 45; + color->g = 45; + color->b = 45; + break; default: LOGW << fmt("UNSUPPORTED COLOR passed into convert color : %d", color_src); break; @@ -633,19 +676,35 @@ void tms9128nl_convert_color(unsigned char color_src, SDL_Color *color) // draws a character to the Cliff video display // 40 columns by 24 rows // uses Cliffy's video memory to retrieve 8x8 character bitmap -void tms9128nl_drawchar(unsigned char ch, int col, int row) +void tms9128nl_drawchar(unsigned char ch, int col, int row, unsigned char tile) { - const int CHAR_WIDTH = 8; - const int CHAR_HEIGHT = 8; + const int CharWidth = 8; + const int CharHeight = 8; + int FGColor = TMS_FG_COLOR; int bmp_index = (ch * 8) + (g_tms_pgt_addr << 11); // index in vid mem where // bmp data is located int i = 0, j = 0; // temp indices - int x = col * CHAR_WIDTH; - int y = row * CHAR_HEIGHT; + int x = col * CharWidth; + int y = row * CharHeight; unsigned char line = 0; unsigned char background_color = TMS_BG_COLOR; + switch (tile) + { + case 0x01: + FGColor = TMS_LAY1; + break; + case 0x02: + FGColor = TMS_LAY2; + break; + case 0x03: + x -= 0x02; + break; + } + + if (g_tms_pgt_addr == 0x03) x += (CharWidth >> 1); + // if character is 0 and we're in transparency mode, make bitmap transparent if (g_transparency_latch) { static bool latched = true; @@ -693,15 +752,15 @@ void tms9128nl_drawchar(unsigned char ch, int col, int row) } // draw each line of character into new surface - for (i = 0; i < CHAR_HEIGHT; i++) { + for (i = 0; i < CharHeight; i++) { line = vidmem[bmp_index + i]; // get a line // handle each pixel across - for (j = CHAR_WIDTH - 1; j >= 0; j--) { + for (j = CharWidth - 1; j >= 0; j--) { // if rightmost bit is 1, it means draw the pixel if (line & 1) { *((Uint8 *)g_vidbuf + ((y + i + stretch_offset) * TMS9128NL_OVERLAY_W) + - (x + j)) = TMS_FG_COLOR; + (x + j)) = FGColor; } // else draw the background else { @@ -716,18 +775,20 @@ void tms9128nl_drawchar(unsigned char ch, int col, int row) // character after it non-transparent // This seems to be how Cliff Hanger behaves. I haven't found it documented // anywhere though. - if ((!g_alpha_latch) && (g_transparency_latch) && (ch != 0) && (ch != 0xFF)) { - Uint8 *ptr = ((Uint8 *)g_vidbuf) + - ((y + stretch_offset) * TMS9128NL_OVERLAY_W) + x + CHAR_WIDTH; - for (int nrow = 0; nrow < CHAR_HEIGHT; nrow++) { - for (int ncol = 0; ncol < CHAR_WIDTH; ncol++) { - // make it non-transparent if it is - if (*ptr == TMS_TRANSPARENT_COLOR) { - *ptr = TMS_BG_COLOR; + if (!g_alpha_latch) { + if ((g_transparency_latch) && (ch != 0) && (ch != 0xFF)) { + Uint8 *ptr = ((Uint8 *)g_vidbuf) + + ((y + stretch_offset) * TMS9128NL_OVERLAY_W) + x + CharWidth; + for (int r = 0; r < CharHeight; r++) { + for (int c = 0; c < CharWidth; c++) { + // make it non-transparent if it is + if (*ptr == TMS_TRANSPARENT_COLOR) { + *ptr = TMS_BG_COLOR; + } + ptr++; } - ptr++; + ptr += (TMS9128NL_OVERLAY_W - CharWidth); // move to the next line } - ptr += (TMS9128NL_OVERLAY_W - CHAR_WIDTH); // move to the next line } } @@ -761,10 +822,12 @@ void tms9128nl_outcommand(char *s, int col, int row) // initialization requirement void tms9128nl_palette_update() { - SDL_Color fore, back; // the foreground and background colors + SDL_Color fore, back, grid, tag; // the foreground and background colors tms9128nl_convert_color(g_tms_foreground_color, &fore); tms9128nl_convert_color(g_tms_background_color, &back); + tms9128nl_convert_color(TMS_LAY1, &tag); + tms9128nl_convert_color(TMS_LAY2, &grid); palette::set_color(0, back); palette::set_color(255, fore); @@ -772,7 +835,7 @@ void tms9128nl_palette_update() // if we should do extra calculations for stretching if (g_vidmode == 2) { SDL_Color fore75back25, fore5back5, - fore25back75; // mixtures of the foreground and background colors + fore25back75, tagfade; // mixtures of the foreground and background colors // (for stretching) MIX_COLORS_75_25(fore75back25, fore, back); // 3/4, 1/4 MIX_COLORS_50(fore5back5, fore, back); // average @@ -780,6 +843,11 @@ void tms9128nl_palette_update() palette::set_color(1, fore25back75); palette::set_color(2, fore5back5); palette::set_color(3, fore75back25); + + MIX_COLORS_75_25(tagfade, tag, back); + palette::set_color(TMS_LAY1, tag); + palette::set_color(TMS_LAY1 + 1, tagfade); + palette::set_color(TMS_LAY2, grid); } palette::finalize(); @@ -800,10 +868,6 @@ void tms9128nl_palette_calculate() // :) palette::set_color(TMS_TRANSPARENT_COLOR, color); - if (g_game->get_game_type() == GAME_GTG) g_conv_12a563 = true; - - g_alpha_latch = g_game->get_console_flag(); - tms9128nl_palette_update(); tms9128nl_reset(); } @@ -852,7 +916,7 @@ void tms9128nl_video_repaint() // if we're in video mode 2, we have to display our stretched overlay // instead of our regular one - if (g_vidmode == 2) { + if (g_vidmode == 2 && !g_nostretch) { tms9128nl_video_repaint_stretched(); } @@ -894,7 +958,8 @@ void tms9128nl_video_repaint_stretched() for (int i = 1; i < 4; i++) { // if prev pixel is not the same as cur pixel, blending is // required - if (*(ptr256 + i - 1) != *(ptr256 + i)) { + if ((*(ptr256 + i - 1) != *(ptr256 + i)) && + (*(ptr256 + i) != TMS_LAY1)) { // if prev pixel is background color, cur pixel must be // foreground if (*(ptr256 + i - 1) == 0) { @@ -903,10 +968,15 @@ void tms9128nl_video_repaint_stretched() // else prev pixel is foreground, and therefore cur pixel // must be background else { - *(ptr320 + i) = blend[i][1]; + if ((*(ptr256 + i - 1)) == TMS_LAY1) + *(ptr320 + i) = TMS_LAY1 + 1; + else *(ptr320 + i) = blend[i][1]; } - } else - *(ptr320 + i) = *(ptr256 + i); // else no blending required + } else { + if ((*(ptr256 - 1)) == TMS_LAY1 && (*(ptr256)) == 0) + *(ptr320 - 1) = TMS_LAY1 + 1; + *(ptr320 + i) = *(ptr256 + i); // else no blending required + } } // PIXEL +4 @@ -964,3 +1034,6 @@ void tms9128nl_clear_overlay() // sets the "transparency value" for one NMI tick (it gets cleared at each NMI // tick) void tms9128nl_set_transparency() { g_transparency_enabled = 1; } +void tms9128nl_set_conv_12a563() { g_conv_12a563 = true; } +void tms9128nl_set_nostretch() { g_nostretch = true; } +void tms9128nl_set_spritelite() { g_alpha_latch = true; } diff --git a/src/video/tms9128nl.h b/src/video/tms9128nl.h index 0ea9d6c0..5259476c 100644 --- a/src/video/tms9128nl.h +++ b/src/video/tms9128nl.h @@ -31,7 +31,10 @@ #define TMS_BG_COLOR 0 #define TMS_TRANSPARENT_COLOR 0x7F #define TMS_FG_COLOR 0xFF -#define TMS_ROW_HEIGHT 0x8 +#define TMS_ROW_HEIGHT 0x08 +#define TMS_TAG_TICK 0x1A +#define TMS_LAY1 0x40 +#define TMS_LAY2 0x44 #define TMS_COLOR_COUNT 256 @@ -56,12 +59,15 @@ void tms9128nl_write_port1(unsigned char); void tms9128nl_write_port0(unsigned char Value); int tms9128nl_setvidmem(unsigned char); void tms9128nl_convert_color(unsigned char, SDL_Color *); -void tms9128nl_drawchar(unsigned char, int, int); +void tms9128nl_drawchar(unsigned char, int, int, unsigned char); void tms9128nl_outcommand(char *s, int col, int row); void tms9128nl_palette_update(); void tms9128nl_palette_calculate(); void tms9128nl_video_repaint(); void tms9128nl_video_repaint_stretched(); void tms9128nl_set_transparency(); +void tms9128nl_set_conv_12a563(); +void tms9128nl_set_nostretch(); +void tms9128nl_set_spritelite(); #endif diff --git a/src/video/video.cpp b/src/video/video.cpp index 6ff3bee8..9bcabdef 100644 --- a/src/video/video.cpp +++ b/src/video/video.cpp @@ -66,11 +66,12 @@ void LogicalPosition(SDL_Rect *port, SDL_Rect *dst, int x, int y) namespace video { int g_vid_width = 640, g_vid_height = 480; // default video dimensions -unsigned int g_draw_width = g_vid_width, g_probe_width = g_vid_width; -unsigned int g_draw_height = g_vid_height, g_probe_height = g_vid_height; +const int g_bw = g_vid_width >> 1, g_bh = g_vid_height >> 1; +unsigned int g_probe_width = g_vid_width; +unsigned int g_probe_height = g_vid_height; const int g_an_w = 220, g_an_h = 128; const int g_sb_w = 340, g_sb_h = 480; -int s_alpha = 64; +int s_alpha = 128; int s_shunt = 2; int g_viewport_width = g_vid_width, g_viewport_height = g_vid_height; @@ -95,8 +96,8 @@ SDL_Renderer *g_renderer = NULL; SDL_Renderer *g_sb_renderer = NULL; SDL_Texture *g_overlay_texture = NULL; // The OVERLAY texture, excluding LEDs wich are a special case SDL_Texture *g_yuv_texture = NULL; // The YUV video texture, registered from ldp-vldp.cpp -SDL_Surface *g_screen_blitter = NULL; // The main blitter surface -SDL_Surface *g_leds_surface = NULL; +SDL_Surface *g_overlay_blitter = NULL; // The main blitter surface +SDL_Surface *g_blit_surface = NULL; SDL_Surface *g_sb_surface = NULL; SDL_Texture *g_sb_texture = NULL; SDL_Surface *g_sb_blit_surface = NULL; @@ -110,14 +111,16 @@ SDL_Rect g_overlay_size_rect; SDL_Rect g_scaling_rect = {0, 0, 0, 0}; SDL_Rect g_logical_rect = {0, 0, 0, 0}; SDL_Rect g_sb_bezel_rect = {0, 0, 0, 0}; -SDL_Rect g_leds_size_rect = {0, 0, 320, 240}; -SDL_Rect g_render_size_rect = g_leds_size_rect; +SDL_Rect g_blit_size_rect = {0, 0, g_bw, g_bh}; +SDL_Rect g_render_size_rect = g_blit_size_rect; SDL_Rect g_annu_rect = { 0, 0, g_an_w, g_an_h }; +SDL_DisplayMode g_displaymode; + LDP1450_CharStruct LDP1450_CharSet[OVERLAY_LDP1450_LINES]; bool queue_take_screenshot = false; -bool g_fs_scale_nearest = false; +bool g_scale_linear = false; bool g_singe_blend_sprite = false; bool g_scanlines = false; bool g_fakefullscreen = false; @@ -134,12 +137,14 @@ bool g_bIgnoreAspectRatio = false; bool g_LDP1450_overlay = false; bool g_fullscreen = false; // initialize video in fullscreen bool g_bezel_toggle = false; -bool g_scale_view = false; bool g_sb_bezel = false; bool g_rotate = false; +bool g_rotated_state = false; bool g_keyboard_bezel = false; bool g_annun_bezel = false; bool g_ded_annun_bezel = false; +bool g_annun_lamps = false; +bool g_vertical_orientation = false; int g_scalefactor = 100; // by RDG2010 -- scales the image to this percentage int g_aspect_ratio = 0; @@ -151,12 +156,13 @@ int8_t g_annun_bezel_alpha = 0; int g_sb_bezel_scale = 14; int g_an_bezel_scale = 12; +int g_bezel_scalewidth = 0; // Move subtitle rendering to SDL_RenderPresent(g_renderer); bool g_bSubtitleShown = false; char *subchar = NULL; -string g_bezel_file = ""; +string g_bezel_file; // degrees in clockwise rotation SDL_RendererFlip g_flipState = SDL_FLIP_NONE; @@ -181,7 +187,7 @@ bool g_softsboard_needs_update = false; bool g_overlay_needs_update = false; bool g_yuv_video_needs_update = false; bool g_yuv_video_needs_blank = false; -bool g_yuv_video_timer_blank = false; +bool g_yuv_video_blank = false; bool g_aux_needs_update = false; //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -190,25 +196,22 @@ bool g_aux_needs_update = false; // returns true if successful, false if failure bool init_display() { - bool result = false; // whether video initialization is successful or not - Uint32 sdl_flags = 0; - Uint32 sdl_sb_flags = 0; - Uint8 sdl_render_flags = 0; - Uint8 sdl_sb_render_flags = 0; + bool result = false; static bool notify = false; - char bezelpath[96] = {0}; - char title[50] = "HYPSEUS Singe: Multiple Arcade Laserdisc Emulator"; + constexpr char title[] = "HYPSEUS Singe: Multiple Arcade Laserdisc Emulator"; SDL_SysWMinfo info; - sdl_flags = SDL_WINDOW_SHOWN; - sdl_sb_flags = SDL_WINDOW_ALWAYS_ON_TOP | SDL_WINDOW_BORDERLESS; - sdl_render_flags = SDL_RENDERER_TARGETTEXTURE; + Uint32 sdl_flags = SDL_WINDOW_SHOWN; + Uint32 sdl_sb_flags = SDL_WINDOW_ALWAYS_ON_TOP | SDL_WINDOW_BORDERLESS; + Uint8 sdl_render_flags = SDL_RENDERER_TARGETTEXTURE; // if we were able to initialize the video properly if (SDL_InitSubSystem(SDL_INIT_VIDEO) >= 0) { - if (g_fullscreen) sdl_flags |= SDL_WINDOW_FULLSCREEN_DESKTOP; - else if (g_fakefullscreen) sdl_flags |= SDL_WINDOW_MAXIMIZED | SDL_WINDOW_BORDERLESS; + if (g_fullscreen) + sdl_flags |= SDL_WINDOW_FULLSCREEN_DESKTOP; + else if (g_fakefullscreen) + sdl_flags |= SDL_WINDOW_MAXIMIZED | SDL_WINDOW_BORDERLESS; if (g_opengl) { sdl_flags |= SDL_WINDOW_OPENGL; @@ -226,60 +229,39 @@ bool init_display() if ((int)g_probe_height < g_vid_height) g_probe_height = g_vid_height; if (g_vid_resized) { - g_draw_width = g_viewport_width = g_vid_width; - g_draw_height = g_viewport_height = g_vid_height; + g_viewport_width = g_vid_width; + g_viewport_height = g_vid_height; } else { - g_draw_width = g_probe_width; - g_draw_height = g_probe_height; - if (!g_bIgnoreAspectRatio && g_aspect_width > 0) { g_viewport_width = g_aspect_width; g_viewport_height = g_aspect_height; + } else { - g_viewport_width = g_draw_width; - g_viewport_height = g_draw_height; + g_viewport_width = g_probe_width; + g_viewport_height = g_probe_height; } } // Enforce 4:3 aspect ratio if (g_bForceAspectRatio) { - double dCurAspectRatio = (double)g_draw_width / g_draw_height; + double dCurAspectRatio = (double)g_viewport_width / g_viewport_height; const double dTARGET_ASPECT_RATIO = 4.0 / 3.0; if (dCurAspectRatio < dTARGET_ASPECT_RATIO) { - g_draw_height = (g_draw_width * 3) / 4; g_viewport_height = (g_viewport_width * 3) / 4; } else if (dCurAspectRatio > dTARGET_ASPECT_RATIO) { - g_draw_width = (g_draw_height * 4) / 3; g_viewport_width = (g_viewport_height * 4) / 3; } } - // if we're supposed to scale the image... - if (g_scalefactor < 100) { - g_scaling_rect.w = (g_viewport_width * g_scalefactor) / 100; - g_scaling_rect.h = (g_viewport_height * g_scalefactor) / 100; - g_scaling_rect.x = ((g_viewport_width - g_scaling_rect.w) >> 1); - g_scaling_rect.y = ((g_viewport_height - g_scaling_rect.h) >> 1); - - if (g_keyboard_bezel) - g_scaling_rect.y = g_scaling_rect.y >> 2; - else { - g_scaling_rect.x = (g_scaling_rect.x * g_scale_h_shift) / 100; - g_scaling_rect.y = (g_scaling_rect.y * g_scale_v_shift) / 100; - } - } - - if (!SDL_RectEmpty(&g_scaling_rect)) g_scale_view = true; - if (g_window) resize_cleanup(); if (g_fRotateDegrees != 0) { if (g_fRotateDegrees != 180.0) { - if (!notify) { LOGW << "Screen rotation enabled, aspect ratios will be ignored"; } + if (!notify) { LOGW << "Screen rotation: Just a ruse..."; } g_viewport_height = g_viewport_width; } } @@ -299,7 +281,7 @@ bool init_display() sdl_render_flags |= SDL_RENDERER_ACCELERATED; } - sdl_sb_render_flags = sdl_render_flags; + Uint8 sdl_sb_render_flags = sdl_render_flags; if (g_vsync && (sdl_render_flags & SDL_RENDERER_ACCELERATED)) sdl_render_flags |= SDL_RENDERER_PRESENTVSYNC; @@ -314,20 +296,15 @@ bool init_display() } else { if (g_keyboard_bezel) { + string tqkeys = "bezels/tqkeys.png"; + if (!mpo_file_exists(tqkeys.c_str())) + tqkeys = "pics/tqkeys.png"; - char tqkeys[18]; - char png[11] = "tqkeys.png"; - - snprintf(tqkeys, sizeof(tqkeys), "bezels/%s", png); - - if (!mpo_file_exists(tqkeys)) - snprintf(tqkeys, sizeof(tqkeys), "pics/%s", png); - - g_aux_texture = IMG_LoadTexture(g_renderer, tqkeys); + g_aux_texture = IMG_LoadTexture(g_renderer, tqkeys.c_str()); if (!g_aux_texture) { LOGE << fmt("Failed to load keyboard graphic: %s - %s", - tqkeys, SDL_GetError()); + tqkeys.c_str(), SDL_GetError()); set_quitflag(); } } else if (g_annun_bezel) { @@ -341,24 +318,23 @@ bool init_display() SDL_SetTextureBlendMode(g_aux_texture, SDL_BLENDMODE_BLEND); } - if (g_bezel_file.length() > 0) { - snprintf(bezelpath, sizeof(bezelpath), "bezels/%s", g_bezel_file.c_str()); - - g_bezel_texture = IMG_LoadTexture(g_renderer, bezelpath); + if (!g_bezel_file.empty()) { + string bezelpath = "bezels/" + g_bezel_file; + g_bezel_texture = IMG_LoadTexture(g_renderer, bezelpath.c_str()); if (!notify) { if (g_bezel_texture) { - LOGI << fmt("Loaded bezel file: %s", bezelpath); + LOGI << fmt("Loaded bezel file: %s", bezelpath.c_str()); } else { - LOGW << fmt("Failed to load bezel: %s", bezelpath); + LOGW << fmt("Failed to load bezel: %s", bezelpath.c_str()); } } } SDL_VERSION(&info.version); - // Set bilinear filtering by default - if (!g_fs_scale_nearest) + // Set linear filtering + if (g_scale_linear) SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); // Create a 32-bit surface with alpha component. @@ -384,14 +360,6 @@ bool init_display() if (g_sb_bezel) { - double scale = 9.0f - double((g_sb_bezel_scale << 1) / 10.0f); - double ratio = (float)g_sb_h / (float)g_sb_w; - - g_sb_bezel_rect.x = sb_window_pos_x; - g_sb_bezel_rect.y = sb_window_pos_y; - g_sb_bezel_rect.w = (g_viewport_width / scale); - g_sb_bezel_rect.h = (g_sb_bezel_rect.w * ratio); - if (!g_sb_bezel_alpha) SDL_FillRect(g_sb_blit_surface, NULL, 0x000000ff); @@ -433,23 +401,31 @@ bool init_display() } else if (!notify) { LOGE << "Cannot create a Scoreboard entity..."; } } - // MAC: If we start in fullscreen mode, we have to set the logical - // render size to get the desired aspect ratio. + // DBX: Fullscreen mode, get the logical render stats if ((sdl_flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0 || (sdl_flags & SDL_WINDOW_MAXIMIZED) != 0) { - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); - - // Get and store logical viewport dimensions if ((sdl_flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0) { SDL_RenderSetViewport(g_renderer, NULL); SDL_RenderGetViewport(g_renderer, &g_logical_rect); - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); + + } else { + + if (SDL_GetDesktopDisplayMode(0, &g_displaymode) != 0) { + LOGE << fmt("SDL_GetDesktopDisplayMode failed: %s", SDL_GetError()); + set_quitflag(); + goto exit; + } + g_logical_rect.w = g_displaymode.w; + g_logical_rect.h = g_displaymode.h; } - if (g_bezel_texture || !SDL_RectEmpty(&g_sb_bezel_rect)) - g_bezel_toggle = true; - } + if (g_bezel_texture) g_bezel_toggle = true; + + format_fullscreen_render(); + + } else + format_window_render(); if (g_aux_texture) { @@ -460,7 +436,7 @@ bool init_display() double ratio = (float)size.y / (float)size.x; - g_aux_rect.w = (g_viewport_width / 2.25f); + g_aux_rect.w = (g_bezel_scalewidth / 2.25f); g_aux_rect.h = (g_aux_rect.w * ratio); LogicalPosition(&g_logical_rect, &g_aux_rect, 50, 100); @@ -485,7 +461,7 @@ bool init_display() if (g_annun_bezel_alpha > 1) SDL_SetColorKey(g_aux_blit_surface, SDL_TRUE, 0x000000ff); - g_aux_rect.w = (g_viewport_width / scale); + g_aux_rect.w = (g_bezel_scalewidth / scale); g_aux_rect.h = (g_aux_rect.w * ratio); if (g_ded_annun_bezel) @@ -514,49 +490,15 @@ bool init_display() if (g_scanlines) SDL_SetRenderDrawBlendMode(g_renderer, SDL_BLENDMODE_BLEND); - // Calculate font sizes - int ffs; - int fs = get_draw_width() / 36; - if (g_aspect_ratio == ASPECTWS) ffs = get_draw_width() / 24; - else ffs = get_draw_width() / 18; - - char font[32]="fonts/default.ttf"; - char fixfont[32] = "fonts/timewarp.ttf"; - char ttfont[32]; - - if (g_game->get_use_old_overlay()) - strncpy(ttfont, "fonts/daphne.ttf", sizeof(ttfont)); - else strncpy(ttfont, "fonts/digital.ttf", sizeof(ttfont)); - - g_font = FC_CreateFont(); - FC_LoadFont(g_font, g_renderer, font, fs, - FC_MakeColor(0xff, 0xff, 0xff, 0xff), TTF_STYLE_NORMAL); - - g_fixfont = FC_CreateFont(); - FC_LoadFont(g_fixfont, g_renderer, fixfont, ffs, - FC_MakeColor(0xff, 0xff, 0xff, 0xff), TTF_STYLE_NORMAL); - - if (g_game->get_use_old_overlay()) - g_ttfont = TTF_OpenFont(ttfont, 12); - else - g_ttfont = TTF_OpenFont(ttfont, 14); - - if (g_ttfont == NULL) { - LOG_ERROR << fmt("Cannot load TTF font: '%s'", (char*)ttfont); - g_game->set_game_errors(SDL_ERROR_FONT); - set_quitflag(); - goto exit; - } - - g_screen_blitter = + g_overlay_blitter = SDL_CreateRGBSurface(SDL_SWSURFACE, g_overlay_width, g_overlay_height, surfacebpp, Rmask, Gmask, Bmask, Amask); // Check for game overlay enhancements (depth and size) g_enhance_overlay = g_game->get_overlay_upgrade(); - g_overlay_resize = g_game->get_fullsize_overlay(); + g_overlay_resize = g_game->get_dynamic_overlay(); - g_leds_surface = + g_blit_surface = SDL_CreateRGBSurface(SDL_SWSURFACE, 320, 240, surfacebpp, Rmask, Gmask, Bmask, Amask); @@ -564,16 +506,16 @@ bool init_display() // blitting, and set it's color key to NOT copy 0x000000ff pixels. We // couldn't do it earlier in load_bmps() because we need the // g_screen_blitter format. - ConvertSurface(&g_other_bmps[B_OVERLAY_LEDS], g_screen_blitter->format); + ConvertSurface(&g_other_bmps[B_OVERLAY_LEDS], g_overlay_blitter->format); SDL_SetColorKey(g_other_bmps[B_OVERLAY_LEDS], SDL_TRUE, 0x000000ff); if (g_aux_blit_surface) { - ConvertSurface(&g_aux_blit_surface, g_screen_blitter->format); + ConvertSurface(&g_aux_blit_surface, g_overlay_blitter->format); } - if (g_game->get_use_old_overlay()) { + if (g_game->use_old_overlay()) { ConvertSurface(&g_other_bmps[B_OVERLAY_LDP1450], - g_screen_blitter->format); + g_overlay_blitter->format); SDL_SetColorKey(g_other_bmps[B_OVERLAY_LDP1450], SDL_TRUE, 0x000000ff); } @@ -654,11 +596,11 @@ bool deinit_display() g_sb_blit_surface = NULL; g_aux_blit_surface = NULL; - SDL_FreeSurface(g_screen_blitter); - SDL_FreeSurface(g_leds_surface); + SDL_FreeSurface(g_overlay_blitter); + SDL_FreeSurface(g_blit_surface); - g_screen_blitter = NULL; - g_leds_surface = NULL; + g_overlay_blitter = NULL; + g_blit_surface = NULL; FC_FreeFont(g_font); FC_FreeFont(g_fixfont); @@ -690,12 +632,12 @@ void resize_cleanup() g_rotate = false; - if (g_screen_blitter) SDL_FreeSurface(g_screen_blitter); - if (g_leds_surface) SDL_FreeSurface(g_leds_surface); + if (g_overlay_blitter) SDL_FreeSurface(g_overlay_blitter); + if (g_blit_surface) SDL_FreeSurface(g_blit_surface); if (g_aux_blit_surface) SDL_FreeSurface(g_aux_blit_surface); - g_screen_blitter = NULL; - g_leds_surface = NULL; + g_overlay_blitter = NULL; + g_blit_surface = NULL; g_aux_blit_surface = NULL; if (g_bezel_texture) SDL_DestroyTexture(g_bezel_texture); @@ -785,6 +727,8 @@ bool load_bmps() g_other_bmps[B_ANUN_ON] = load_one_png("annunon.png"); g_other_bmps[B_ANUN_OFF] = load_one_png("annunoff.png"); + g_other_bmps[B_SHOOT] = load_one_bmp("shoot.bmp", true); + // check to make sure they all loaded for (index = 0; index < B_EMPTY; index++) { if (g_other_bmps[index] == NULL && index != B_MIA) { @@ -797,18 +741,18 @@ bool load_bmps() SDL_Surface *load_one_bmp(const char *filename, bool bezel) { - char filepath[64] = {0}; + string filepath; if (bezel) - snprintf(filepath, sizeof(filepath), "bezels/%s", filename); + filepath = fmt("bezels/%s", filename); - if (!mpo_file_exists(filepath)) - snprintf(filepath, sizeof(filepath), "pics/%s", filename); + if (!mpo_file_exists(filepath.c_str())) + filepath = fmt("pics/%s", filename); - SDL_Surface *result = SDL_LoadBMP(filepath); + SDL_Surface *result = SDL_LoadBMP(filepath.c_str()); if (!result) { - LOGE << fmt("Could not load bitmap: %s", filepath); + LOGE << fmt("Could not load bitmap: %s", filepath.c_str()); } return (result); @@ -816,17 +760,15 @@ SDL_Surface *load_one_bmp(const char *filename, bool bezel) SDL_Surface *load_one_png(const char *filename) { - char filepath[64]; - - snprintf(filepath, sizeof(filepath), "bezels/%s", filename); + string filepath = fmt("bezels/%s", filename); - if (!mpo_file_exists(filepath)) - snprintf(filepath, sizeof(filepath), "pics/%s", filename); + if (!mpo_file_exists(filepath.c_str())) + filepath = fmt("pics/%s", filename); - SDL_Surface *result = IMG_Load(filepath); + SDL_Surface *result = IMG_Load(filepath.c_str()); if (!result) { - LOGE << fmt("Could not load png: %s", filepath); + LOGE << fmt("Could not load png: %s", filepath.c_str()); } return (result); @@ -877,6 +819,8 @@ bool draw_annunciator(int which) bool draw_ranks() { + if (g_annun_lamps) return false; + SDL_Rect dest; dest.x = 10; dest.y = dest.x - 1; @@ -909,12 +853,14 @@ bool draw_annunciator1(int which) for (int i = 0; i < ANUN_LEVELS; i++) { dest.y = ((dest.h + ANUN_CHAR_HEIGHT) * i) + spacer; + if (g_annun_lamps) dest.x = 110 - (-i * 15); SDL_FillRect(g_aux_blit_surface, &dest, 0x00000000); SDL_BlitSurface(g_sb_surface, NULL, g_aux_blit_surface, &dest); } if (which) { g_sb_surface = g_other_bmps[B_ANUN_ON]; + if (g_annun_lamps) dest.x = 110 - ((-which + 1) * 15); dest.y = ((dest.h + ANUN_CHAR_HEIGHT) * --which) + spacer; SDL_BlitSurface(g_sb_surface, NULL, g_aux_blit_surface, &dest); } @@ -931,7 +877,7 @@ bool draw_annunciator2(int which) dest.h = 40; dest.w = 220; - for (int i = B_ACE_OFF; i < B_EMPTY; i++) { + for (int i = B_ACE_OFF; i < B_SHOOT; i++) { g_sb_surface = g_other_bmps[i]; dest.y = (ANUN_RANK_HEIGHT * (i - B_ACE_OFF)); SDL_FillRect(g_aux_blit_surface, &dest, 0x00000000); @@ -973,8 +919,8 @@ void draw_overlay_leds(unsigned int values[], int num_digits, // Also, note that SDL_BlitSurface() won't blit the 0x000000ff pixels because we set up a color key // using SDL_SetColorKey() in init_display(). See notes there on why we don't do it in load_bmps(). // If scoreboard transparency problems appear, look there. - SDL_FillRect(g_leds_surface, &dest, 0x00000000); - SDL_BlitSurface(g_other_bmps[B_OVERLAY_LEDS], &src, g_leds_surface, &dest); + SDL_FillRect(g_blit_surface, &dest, 0x00000000); + SDL_BlitSurface(g_other_bmps[B_OVERLAY_LEDS], &src, g_blit_surface, &dest); dest.x += OVERLAY_LED_WIDTH; } @@ -992,6 +938,7 @@ void draw_charline_LDP1450(char *LDP1450_String, int start_x, int y) float x; int i, j = 0; int LDP1450_strlen; + int fontwidth = FC_GetWidth(g_fixfont, "0123456789"); int index = (int)((y / OVERLAY_LDP1450_HEIGHT) + 0.5f); LDP1450_CharSet[index].enable = false; @@ -1013,18 +960,7 @@ void draw_charline_LDP1450(char *LDP1450_String, int start_x, int y) g_LDP1450_overlay = true; - switch(g_aspect_ratio) - { - case ASPECTWS: - x = (((double)g_draw_width / 225) * start_x); - break; - default: - if (g_draw_width == NOSQUARE) - x = (((double)g_draw_width / 384) * start_x); - else - x = (((double)g_draw_width / 256) * start_x); - break; - } + x = (double)((g_scaling_rect.w - fontwidth) >> 1) + g_scaling_rect.x; for (i = 0; i < LDP1450_strlen; i++) { @@ -1037,7 +973,8 @@ void draw_charline_LDP1450(char *LDP1450_String, int start_x, int y) if (j > 0) { LDP1450_CharSet[index].enable = true; LDP1450_CharSet[index].x = x; - LDP1450_CharSet[index].y = (y * (double)(get_draw_height() * 0.004f)); + LDP1450_CharSet[index].y = (y * (double)(g_scaling_rect.h * 0.004f)) + + g_scaling_rect.y; LDP1450_CharSet[index].OVERLAY_LDP1450_String = LDP1450_String; } } @@ -1052,8 +989,8 @@ void draw_singleline_LDP1450(char *LDP1450_String, int start_x, int y) g_scoreboard_needs_update = true; if (g_aspect_ratio == ASPECTSD && - g_draw_width == NOSQUARE) - start_x = (start_x - (start_x / 4)); + g_probe_width == NOSQUARE) + start_x = (start_x - (start_x >> 2)); dest.x = start_x; dest.y = y; @@ -1092,8 +1029,8 @@ void draw_singleline_LDP1450(char *LDP1450_String, int start_x, int y) else value = 0x31; src.x = value * OVERLAY_LDP1450_WIDTH; - SDL_FillRect(g_leds_surface, &dest, 0x00000000); - SDL_BlitSurface(g_other_bmps[B_OVERLAY_LDP1450], &src, g_leds_surface, &dest); + SDL_FillRect(g_blit_surface, &dest, 0x00000000); + SDL_BlitSurface(g_other_bmps[B_OVERLAY_LDP1450], &src, g_blit_surface, &dest); dest.x += OVERLAY_LDP1450_CHARACTER_SPACING; } } @@ -1144,9 +1081,9 @@ void free_one_bmp(SDL_Surface *candidate) { SDL_Window *get_window() { return g_window; } SDL_Renderer *get_renderer() { return g_renderer; } SDL_Texture *get_screen() { return g_overlay_texture; } -SDL_Surface *get_screen_blitter() { return g_screen_blitter; } +SDL_Surface *get_screen_blitter() { return g_overlay_blitter; } SDL_Texture *get_yuv_screen() { return g_yuv_texture; } -SDL_Surface *get_screen_leds() { return g_leds_surface; } +SDL_Surface *get_screen_leds() { return g_blit_surface; } FC_Font *get_font() { return g_font; } @@ -1155,16 +1092,16 @@ Uint16 get_video_height() { return g_vid_height; } int get_textureaccess() { return g_texture_access; } int get_scalefactor() { return g_scalefactor; } -unsigned int get_draw_width() { return g_draw_width; } -unsigned int get_draw_height() { return g_draw_height; } +unsigned int get_logical_width() { return g_logical_rect.w; } +unsigned int get_logical_height() { return g_logical_rect.h; } bool get_opengl() { return g_opengl; } bool get_vulkan() { return g_vulkan; } -bool get_fullscreen() { return g_fullscreen; } bool get_singe_blend_sprite() { return g_singe_blend_sprite; } -bool get_use_old_osd() { return g_game->get_use_old_overlay(); } -bool get_video_timer_blank() { return g_yuv_video_timer_blank; } +bool get_video_blank() { return g_yuv_video_blank; } bool get_video_resized() { return g_vid_resized; } +bool get_rotated_state() { return g_rotated_state; } +bool use_old_font() { return g_game->use_old_overlay(); } void set_fullscreen(bool value) { g_fullscreen = value; } void set_fakefullscreen(bool value) { g_fakefullscreen = value; } @@ -1177,17 +1114,16 @@ void set_yuv_blue(bool value) { g_yuv_blue = value; } void set_scanlines(bool value) { g_scanlines = value; } void set_shunt(int value) { s_shunt = value; } void set_alpha(int value) { s_alpha = value; } +void set_vertical_orientation(bool value) { g_vertical_orientation = value; } void set_queue_screenshot(bool value) { queue_take_screenshot = value; } -void set_fullscreen_scale_nearest(bool value) { g_fs_scale_nearest = value; } +void set_scale_linear(bool value) { g_scale_linear = value; } void set_singe_blend_sprite(bool value) { g_singe_blend_sprite = value; } void set_yuv_video_blank(bool value) { g_yuv_video_needs_blank = value; } -void set_video_timer_blank(bool value) { g_yuv_video_timer_blank = value; } -void set_rotate_degrees(float fDegrees) { g_fRotateDegrees = fDegrees; } +void set_video_blank(bool value) { g_yuv_video_blank = value; } void set_sboverlay_characterset(int value) { sboverlay_characterset = value; } -void set_subtitle_enabled(bool bEnabled) { g_bSubtitleShown = bEnabled; } void set_subtitle_display(char *s) { subchar = strdup(s); } -void set_force_aspect_ratio(bool bEnabled) { g_bForceAspectRatio = bEnabled; } -void set_ignore_aspect_ratio(bool bEnabled) { g_bIgnoreAspectRatio = bEnabled; } +void set_force_aspect_ratio(bool value) { g_bForceAspectRatio = value; } +void set_ignore_aspect_ratio(bool value) { g_bIgnoreAspectRatio = value; } void set_aspect_ratio(int fRatio) { g_aspect_ratio = fRatio; } void set_detected_height(int pHeight) { g_probe_height = pHeight; } void set_detected_width(int pWidth) { g_probe_width = pWidth; } @@ -1196,12 +1132,18 @@ void set_score_bezel_alpha(int8_t value) { g_sb_bezel_alpha = value; } void set_score_bezel_scale(int value) { g_sb_bezel_scale = value; } void set_ace_annun_scale(int value) { g_an_bezel_scale = value; } void set_annun_bezel_alpha(int8_t value) { g_annun_bezel_alpha = value; } -void set_ded_annun_bezel(bool bEnabled) { g_ded_annun_bezel = bEnabled; } +void set_ded_annun_bezel(bool value) { g_ded_annun_bezel = value; } void set_scale_h_shift(int value) { g_scale_h_shift = value; } void set_scale_v_shift(int value) { g_scale_v_shift = value; } void set_scalefactor(int value) { g_scalefactor = value; } void set_score_screen(int value) { g_score_screen = value; } +void set_rotate_degrees(float fDegrees) +{ + g_fRotateDegrees = fDegrees; + if (fDegrees != 0) g_rotated_state = true; +} + void set_score_bezel(bool bEnabled) { if (bEnabled) { @@ -1219,6 +1161,14 @@ void set_annun_bezel(bool bEnabled) g_annun_bezel = bEnabled; } +void set_annun_lamponly(bool bEnabled) +{ + if (bEnabled) { + g_annun_lamps = true; + g_annun_bezel_alpha = 2; + } +} + void set_tq_keyboard(bool bEnabled) { if (bEnabled) { @@ -1281,37 +1231,46 @@ void draw_string(const char *t, int col, int row, SDL_Surface *surface) SDL_Surface *text_surface; - if (g_game->get_use_old_overlay()) dest.x = (short)((col * 6)); + if (g_game->use_old_overlay()) dest.x = (short)((col * 6)); else dest.x = (short)((col * 5)); SDL_FillRect(surface, &dest, 0x00000000); - SDL_Color color={0xe1, 0xe1, 0xe1}; + SDL_Color color={0xf0, 0xf0, 0xf0}; text_surface=TTF_RenderText_Solid(g_ttfont, t, color); SDL_BlitSurface(text_surface, NULL, surface, &dest); SDL_FreeSurface(text_surface); } +void draw_shoot(int col, int row, SDL_Surface *surface) +{ + g_sb_surface = g_other_bmps[B_SHOOT]; + + SDL_Rect dest; + dest.x = (short)(col); + dest.y = (short)(row); + dest.w = (unsigned short) g_sb_surface->w; + dest.h = (unsigned short) g_sb_surface->h; + + SDL_SetColorKey(g_sb_surface, SDL_TRUE, 0x00000000); + SDL_BlitSurface(g_sb_surface, NULL, surface, &dest); +} + void draw_subtitle(char *s, bool insert) { double h = 0.92, w = 0.97; - if (g_keyboard_bezel) { - h = 0.72; - w = 0.86; - } - - int x = (int)(g_draw_width - (g_draw_width * w)); - int y = (int)(g_draw_height * h); + int x = (int)((g_scaling_rect.w) - (g_scaling_rect.w * w)) + g_scaling_rect.x; + int y = (int)(g_scaling_rect.h * h) + g_scaling_rect.y; static int m_message_timer; const int timeout = 200; if (insert) { m_message_timer = 0; - set_subtitle_enabled(true); + g_bSubtitleShown = true; set_subtitle_display(s); } else if (m_message_timer > timeout) { - set_subtitle_enabled(false); + g_bSubtitleShown = false; } FC_Draw(g_font, g_renderer, x, y, s); @@ -1332,27 +1291,35 @@ void draw_LDP1450_overlay() // toggles fullscreen mode void vid_toggle_fullscreen() { - if (!g_fakefullscreen) g_bezel_toggle = false; + if (!SDL_RectEmpty(&g_rotate_rect)) return; + + g_bezel_toggle = false; Uint32 flags = (SDL_GetWindowFlags(g_window) ^ SDL_WINDOW_FULLSCREEN_DESKTOP); if (SDL_SetWindowFullscreen(g_window, flags) < 0) { LOGW << fmt("Toggle fullscreen failed: %s", SDL_GetError()); return; } - if ((flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0) { - if (SDL_RectEmpty(&g_logical_rect)) { - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); + if ((flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0 || + (flags & SDL_WINDOW_MAXIMIZED) != 0) { + + if ((flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0) { SDL_RenderSetViewport(g_renderer, NULL); SDL_RenderGetViewport(g_renderer, &g_logical_rect); + } else { + g_logical_rect.w = g_displaymode.w; + g_logical_rect.h = g_displaymode.h; } - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); g_fullscreen = true; + format_fullscreen_render(); + notify_stats(g_overlay_width, g_overlay_height, "u"); - if (g_bezel_texture || !SDL_RectEmpty(&g_sb_bezel_rect)) - g_bezel_toggle = true; + if (g_bezel_texture) g_bezel_toggle = true; return; } g_fullscreen = false; + format_window_render(); + notify_stats(g_overlay_width, g_overlay_height, "u"); SDL_SetWindowSize(g_window, g_viewport_width, g_viewport_height); SDL_SetWindowPosition(g_window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); @@ -1360,7 +1327,8 @@ void vid_toggle_fullscreen() void vid_toggle_scanlines() { - char s[16]; + char s[16] = "scanlines off"; + SDL_BlendMode mode; SDL_GetRenderDrawBlendMode(g_renderer, &mode); if (mode != SDL_BLENDMODE_BLEND && !g_scanlines) @@ -1377,7 +1345,7 @@ void vid_toggle_scanlines() } else g_scanlines = true; if (g_scanlines) snprintf(s, sizeof(s), "shunt: %d", s_shunt); - else snprintf(s, sizeof(s), "scanlines off"); + draw_subtitle(s, true); } @@ -1385,6 +1353,7 @@ void vid_scoreboard_switch() { if (!g_sb_window) return; + char s[16] = "screen: 0"; int displays = SDL_GetNumVideoDisplays(); if (displays > 1) { @@ -1395,6 +1364,7 @@ void vid_scoreboard_switch() SDL_GetDisplayBounds(i, &displayDimensions[i]); if (++winId == displays) winId = 0; + snprintf(s, sizeof(s), "screen: %d", (unsigned char)winId); SDL_SetWindowPosition(g_sb_window, displayDimensions[winId].x + sb_window_pos_x, @@ -1402,6 +1372,8 @@ void vid_scoreboard_switch() } else SDL_SetWindowPosition(g_sb_window, sb_window_pos_x, sb_window_pos_y); + + draw_subtitle(s, true); } void vid_setup_yuv_overlay (int width, int height) { @@ -1469,14 +1441,14 @@ int vid_update_yuv_overlay ( uint8_t *Yplane, uint8_t *Uplane, uint8_t *Vplane, // until the mutex is free and we can lock(=get) it here. SDL_LockMutex(g_yuv_surface->mutex); - if (g_yuv_video_timer_blank) { + if (g_yuv_video_blank) { vid_blank_yuv_texture(false); } else if (g_yuv_video_needs_blank) { vid_blank_yuv_texture(false); - set_yuv_video_blank(false); + g_yuv_video_needs_blank = false; } else { @@ -1517,14 +1489,14 @@ void vid_update_overlay_surface (SDL_Surface *tx, int x, int y) { // DBX: 32bit overlay from Singe SDL_SetColorKey (tx, SDL_TRUE, 0x00000000); - SDL_FillRect(g_screen_blitter, NULL, 0x00000000); - SDL_BlitSurface(tx, NULL, g_screen_blitter, NULL); + SDL_FillRect(g_overlay_blitter, NULL, 0x00000000); + SDL_BlitSurface(tx, NULL, g_overlay_blitter, NULL); } else { // MAC: 8bpp to RGBA8888 conversion. Black pixels are considered totally transparent so they become 0x00000000; for (int i = 0; i < (tx->w * tx->h); i++) { - *((uint32_t*)(g_screen_blitter->pixels)+i) = + *((uint32_t*)(g_overlay_blitter->pixels)+i) = (0x00000000 | tx->format->palette->colors[*((uint8_t*)(tx->pixels)+i)].r) << 24 | (0x00000000 | tx->format->palette->colors[*((uint8_t*)(tx->pixels)+i)].g) << 16 | (0x00000000 | tx->format->palette->colors[*((uint8_t*)(tx->pixels)+i)].b) << 8 | @@ -1561,7 +1533,8 @@ void vid_blit () { // create it now. Dimensions were passed to the video object (this) by the vldp object earlier, // using vid_setup_yuv_texture() if (!g_yuv_texture) { - g_yuv_texture = vid_create_yuv_texture(g_yuv_surface->width, g_yuv_surface->height); + g_yuv_texture = vid_create_yuv_texture(g_yuv_surface->width, + g_yuv_surface->height); } SDL_UpdateYUVTexture(g_yuv_texture, NULL, @@ -1575,35 +1548,27 @@ void vid_blit () { // Does OVERLAY texture need update from the scoreboard surface? if (g_scoreboard_needs_update) { - SDL_UpdateTexture(g_overlay_texture, &g_leds_size_rect, - (void *)g_leds_surface->pixels, g_leds_surface->pitch); + SDL_UpdateTexture(g_overlay_texture, &g_blit_size_rect, + (void *)g_blit_surface->pixels, g_blit_surface->pitch); } // Does OVERLAY texture need update from the overlay surface? if (g_overlay_needs_update) { SDL_UpdateTexture(g_overlay_texture, &g_overlay_size_rect, - (void *)g_screen_blitter->pixels, g_screen_blitter->pitch); + (void *)g_overlay_blitter->pixels, g_overlay_blitter->pitch); g_overlay_needs_update = false; } // Sadly, we have to RenderCopy the YUV texture on every blitting strike, because // the image on the renderer gets "dirty" with previous overlay frames on top of the yuv. - if (g_yuv_texture) { - if (!g_scale_view) - SDL_RenderCopy(g_renderer, g_yuv_texture, NULL, NULL); - else - SDL_RenderCopy(g_renderer, g_yuv_texture, NULL, &g_scaling_rect); - } + if (g_yuv_texture) + SDL_RenderCopy(g_renderer, g_yuv_texture, NULL, &g_scaling_rect); // If there's an overlay texture, it means we are using some kind of overlay, // be it LEDs or any other thing, so RenderCopy it to the renderer ON TOP of the YUV video. - if (g_overlay_texture) { - if (!g_scale_view) - SDL_RenderCopy(g_renderer, g_overlay_texture, &g_render_size_rect, NULL); - else + if (g_overlay_texture) SDL_RenderCopy(g_renderer, g_overlay_texture, &g_render_size_rect, &g_scaling_rect); - } if (g_aux_needs_update) { SDL_UpdateTexture(g_aux_texture, &g_annu_rect, @@ -1616,34 +1581,35 @@ void vid_blit () { if (g_LDP1450_overlay) draw_LDP1450_overlay(); if (g_scanlines) - draw_scanlines(g_viewport_width, g_viewport_height, s_shunt); + draw_scanlines(s_shunt); // If there's a subtitle overlay if (g_bSubtitleShown) draw_subtitle(subchar, false); if (g_fRotateDegrees != 0) { + if (!g_rotate) { + int8_t ar = 2; + if (g_aspect_ratio == ASPECTWS && g_overlay_resize) ar--; + SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); + g_rotate_rect.w = g_render_size_rect.h + (g_render_size_rect.w >> ar); + g_rotate_rect.h = g_render_size_rect.h; + g_rotate_rect.y = g_render_size_rect.y; + g_rotate_rect.x = 0; + g_bezel_toggle = false; + g_rotate = true; + } + SDL_RenderClear(g_renderer); if (g_yuv_texture) SDL_RenderCopyEx(g_renderer, g_yuv_texture, NULL, NULL, g_fRotateDegrees, NULL, g_flipState); - if (g_overlay_texture) { - if (!g_rotate) { - int8_t ar = 2; - if (g_aspect_ratio == ASPECTWS && g_overlay_resize) ar--; - g_rotate_rect.w = g_render_size_rect.h + (g_render_size_rect.w >> ar); - g_rotate_rect.h = g_render_size_rect.h; - g_rotate_rect.x = g_rotate_rect.y = 0; - g_rotate = true; - } + if (g_overlay_texture) SDL_RenderCopyEx(g_renderer, g_overlay_texture, &g_rotate_rect, NULL, g_fRotateDegrees, NULL, g_flipState); - } } else if (g_game->get_sinden_border()) - if (!g_bezel_texture) draw_border(g_game->get_sinden_border(), g_game->get_sinden_border_color()); if (g_bezel_toggle) { - SDL_RenderSetViewport(g_renderer, NULL); if (g_bezel_texture) { SDL_RenderCopy(g_renderer, g_bezel_texture, NULL, NULL); } @@ -1653,7 +1619,6 @@ void vid_blit () { if (g_sb_bezel) { SDL_RenderCopy(g_renderer, g_sb_texture, NULL, &g_sb_bezel_rect); } - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); } SDL_RenderPresent(g_renderer); @@ -1664,28 +1629,32 @@ void vid_blit () { } if (queue_take_screenshot) { - set_queue_screenshot(false); + queue_take_screenshot = false; take_screenshot(); } } int get_yuv_overlay_width() { - if (g_yuv_surface) { - return g_yuv_surface->width; - } - else return 0; + + if (g_yuv_surface) return g_yuv_surface->width; + return 0; } int get_yuv_overlay_height() { - if (g_yuv_surface) { - return g_yuv_surface->height; - } - else return 0; + + if (g_yuv_surface) return g_yuv_surface->height; + return 0; } bool get_yuv_overlay_ready() { + if (g_yuv_surface && g_yuv_texture) return true; - else return false; + return false; +} + +void set_overlay_offset(int offset) { + + g_render_size_rect.y = abs(offset); } void take_screenshot() @@ -1693,7 +1662,6 @@ void take_screenshot() struct stat info; char filename[64]; int32_t screenshot_num = 0; - bool fullscreen = false; const char dir[12] = "screenshots"; if (stat(dir, &info ) != 0 ) @@ -1701,39 +1669,19 @@ void take_screenshot() else if (!(info.st_mode & S_IFDIR)) { LOGW << fmt("'%s' is not a directory.", dir); return; } - int flags = SDL_GetWindowFlags(g_window); - SDL_Rect screenshot; - SDL_Surface *surface = NULL; + SDL_Surface *screenshot = NULL; - if (flags & SDL_WINDOW_FULLSCREEN_DESKTOP || flags & SDL_WINDOW_MAXIMIZED) - fullscreen = true; + SDL_GetRendererOutputSize(g_renderer, &g_logical_rect.w, &g_logical_rect.h); - if (g_renderer) { + screenshot = SDL_CreateRGBSurface(0, g_logical_rect.w, g_logical_rect.h, 32, 0, 0, 0, 0); - if (fullscreen) - SDL_RenderSetViewport(g_renderer, NULL); - - SDL_RenderGetViewport(g_renderer, &screenshot); - - if (fullscreen) - SDL_GetRendererOutputSize(g_renderer, &screenshot.w, &screenshot.h); - - surface = SDL_CreateRGBSurface(0, screenshot.w, screenshot.h, 32, 0, 0, 0, 0); + if (!screenshot) { LOGE << "Cannot allocate screenshot surface"; return; } - if (!surface) { LOGE << "Cannot allocate surface"; return; } - - if (SDL_RenderReadPixels(g_renderer, &screenshot, surface->format->format, - surface->pixels, surface->pitch) != 0) - { LOGE << fmt("Cannot ReadPixels - Something bad happened: %s", SDL_GetError()); - g_game->set_game_errors(SDL_ERROR_SCREENSHOT); - set_quitflag(); } - } else { - LOGE << "Could not allocate renderer"; - return; - } - - if (fullscreen) - SDL_RenderSetLogicalSize(g_renderer, g_viewport_width, g_viewport_height); + if (SDL_RenderReadPixels(g_renderer, &g_logical_rect, screenshot->format->format, + screenshot->pixels, screenshot->pitch) != 0) + { LOGE << fmt("Cannot ReadPixels - Something bad happened: %s", SDL_GetError()); + g_game->set_game_errors(SDL_ERROR_SCREENSHOT); + set_quitflag(); } for (;;) { screenshot_num++; @@ -1744,32 +1692,142 @@ void take_screenshot() break; } - if (IMG_SavePNG(surface, filename) == 0) { + if (IMG_SavePNG(screenshot, filename) == 0) { LOGI << fmt("Wrote screenshot: %s", filename); } else { LOGE << fmt("Could not write screenshot: %s !!", filename); } - SDL_FreeSurface(surface); + SDL_FreeSurface(screenshot); +} + +void load_fonts() { + + const char *ttfont; + int fs = g_scaling_rect.w / 36; + int ffs = g_aspect_ratio == ASPECTWS ? g_scaling_rect.w / 24 : g_scaling_rect.w / 18; + + FC_FreeFont(g_font); + g_font = FC_CreateFont(); + FC_LoadFont(g_font, g_renderer, "fonts/default.ttf", fs, + FC_MakeColor(0xff, 0xff, 0xff, 0xff), TTF_STYLE_NORMAL); + + FC_FreeFont(g_fixfont); + g_fixfont = FC_CreateFont(); + FC_LoadFont(g_fixfont, g_renderer, "fonts/timewarp.ttf", ffs, + FC_MakeColor(0xff, 0xff, 0xff, 0xff), TTF_STYLE_NORMAL); + + TTF_CloseFont(g_ttfont); + if (g_game->use_old_overlay()) { + ttfont = "fonts/daphne.ttf"; + g_ttfont = TTF_OpenFont(ttfont, 12); + } else { + ttfont = "fonts/digital.ttf"; + g_ttfont = TTF_OpenFont(ttfont, 14); + } + + if (g_ttfont == NULL) { + LOG_ERROR << fmt("Cannot load TTF font: '%s'", (char*)ttfont); + g_game->set_game_errors(SDL_ERROR_FONT); + set_quitflag(); + } } -void draw_scanlines(int w, int h, int l) { +void format_window_render() { + + g_scaling_rect.w = (g_viewport_width * g_scalefactor) / 100; + g_scaling_rect.h = (g_viewport_height * g_scalefactor) / 100; + g_scaling_rect.x = ((g_viewport_width - g_scaling_rect.w) >> 1); + g_scaling_rect.y = ((g_viewport_height - g_scaling_rect.h) >> 1); + + g_scaling_rect.x = (g_scaling_rect.x * g_scale_h_shift) / 100; + g_scaling_rect.y = (g_scaling_rect.y * g_scale_v_shift) / 100; + + g_logical_rect.w = g_scaling_rect.w; + g_logical_rect.h = g_scaling_rect.h; + + load_fonts(); +} + +void format_fullscreen_render() { + + int w, h; + + if (g_vid_resized) { + + w = g_viewport_width; + h = g_viewport_height; + + } else { + + if (g_vertical_orientation) + h = g_logical_rect.w; + else h = g_logical_rect.h; + + switch (g_aspect_ratio) { + case ASPECTWS: + w = (h * 16) / 9; + break; + case ASPECTSD: + w = (h * 4) / 3; + break; + default: + double ratio = (double)g_viewport_width / + (double)g_viewport_height; + w = h * ratio; + break; + } + } + + g_bezel_scalewidth = w; + g_scaling_rect.w = (w * g_scalefactor) / 100; + g_scaling_rect.h = (h * g_scalefactor) / 100; + g_scaling_rect.x = ((g_logical_rect.w - g_scaling_rect.w) >> 1); + g_scaling_rect.y = ((g_logical_rect.h - g_scaling_rect.h) >> 1); + + if (g_keyboard_bezel) + g_scaling_rect.y = g_scaling_rect.y >> 2; + else + { + g_scaling_rect.x = (g_scaling_rect.x * g_scale_h_shift) / 100; + g_scaling_rect.y = (g_scaling_rect.y * g_scale_v_shift) / 100; + } + + if (g_sb_bezel) { + + double ratio = (float)g_sb_h / (float)g_sb_w; + double scale = 9.0f - double((g_sb_bezel_scale << 1) / 10.0f); + + g_sb_bezel_rect.x = sb_window_pos_x; + g_sb_bezel_rect.y = sb_window_pos_y; + g_sb_bezel_rect.w = (g_bezel_scalewidth / scale); + g_sb_bezel_rect.h = (g_sb_bezel_rect.w * ratio); + g_bezel_toggle = true; + } + + load_fonts(); +} + +void draw_scanlines(int l) { SDL_SetRenderDrawColor(g_renderer, 0, 0, 0, s_alpha); - for (int i = 0; i < h; i+=l) { - SDL_RenderDrawLine(g_renderer, 0, i, w, i); + for (int i = 0; i < g_logical_rect.h; i+=l) { + SDL_RenderDrawLine(g_renderer, 0, i, g_logical_rect.w, i); } SDL_SetRenderDrawColor(g_renderer, 0, 0, 0, SDL_ALPHA_OPAQUE); } -void notify_stats( int overlaywidth, int overlayheight) { +void notify_stats(int overlaywidth, int overlayheight, const char* input) { + + char s[4] = {0}; + if (!g_overlay_resize) snprintf(s, sizeof(s), "[s]"); - LOGI << fmt("Viewport Stats:|w:%dx%d|v:%dx%d|o:%dx%d|l:%dx%d|", + LOGI << fmt("Viewport Stats:|w:%dx%d|v:%dx%d|o:%dx%d%s|l:%dx%d|%s", g_viewport_width, g_viewport_height, g_probe_width, - g_probe_height, overlaywidth, overlayheight, - g_logical_rect.w, g_logical_rect.h); + g_probe_height, overlaywidth, overlayheight, s, + g_logical_rect.w, g_logical_rect.h, input); } void draw_border(int s, int c) { @@ -1795,13 +1853,13 @@ void draw_border(int s, int c) { SDL_SetRenderDrawColor(g_renderer, r, g, b, SDL_ALPHA_OPAQUE); - tb.x = lb.x = bb.x = 0; - tb.y = lb.y = rb.y = 0; - rb.x = g_viewport_width - s; - bb.y = g_viewport_height - s; - tb.w = bb.w = g_viewport_width; + tb.x = lb.x = bb.x = g_scaling_rect.x; + tb.y = lb.y = rb.y = g_scaling_rect.y; + rb.x = (g_scaling_rect.w + g_scaling_rect.x) - s; + bb.y = (g_scaling_rect.h - s) + g_scaling_rect.y; + tb.w = bb.w = g_scaling_rect.w; tb.h = bb.h = lb.w = rb.w = s; - lb.h = rb.h = g_viewport_height; + lb.h = rb.h = g_scaling_rect.h; SDL_RenderFillRect(g_renderer, &tb); SDL_RenderFillRect(g_renderer, &lb); @@ -1809,27 +1867,6 @@ void draw_border(int s, int c) { SDL_RenderFillRect(g_renderer, &bb); SDL_SetRenderDrawColor(g_renderer, 0, 0, 0, SDL_ALPHA_OPAQUE); - - if (s < 0x0f) { - - unsigned char i = 0x01; - if (s <= 0x02) i = 0x04; - else if (s <= 0x08) i = 0x02; - - SDL_Rect tib, lib, rib, bib; - tib.x = lib.x = bib.x = s; - tib.y = lib.y = rib.y = s; - rib.x = ((g_viewport_width - s) - i); - bib.y = ((g_viewport_height - s) - i); - tib.h = bib.h = lib.w = rib.w = i; - tib.w = bib.w = g_viewport_width - (s<<1); - lib.h = rib.h = g_viewport_height - (s<<1); - - SDL_RenderFillRect(g_renderer, &tib); - SDL_RenderFillRect(g_renderer, &lib); - SDL_RenderFillRect(g_renderer, &rib); - SDL_RenderFillRect(g_renderer, &bib); - } } } diff --git a/src/video/video.h b/src/video/video.h index 70fcfd56..8ee14b03 100644 --- a/src/video/video.h +++ b/src/video/video.h @@ -86,6 +86,7 @@ enum { B_ACE_OFF, B_CAPTAIN_OFF, B_CADET_OFF, + B_SHOOT, B_EMPTY }; // bitmaps @@ -140,13 +141,13 @@ SDL_Texture *get_yuv_screen(); SDL_Surface *get_screen_blitter(); SDL_Surface *get_screen_leds(); FC_Font *get_font(); +bool use_old_font(); bool get_opengl(); bool get_vulkan(); -bool get_fullscreen(); -bool get_use_old_osd(); bool get_singe_blend_sprite(); -bool get_video_timer_blank(); +bool get_video_blank(); bool get_video_resized(); +bool get_rotated_state(); void set_opengl(bool value); void set_vulkan(bool value); int get_textureaccess(); @@ -156,14 +157,14 @@ void set_vsync(bool value); void set_yuv_blue(bool value); void set_fullscreen(bool value); void set_fakefullscreen(bool value); -void set_fullscreen_scale_nearest(bool value); +void set_scale_linear(bool value); void set_force_aspect_ratio(bool bEnabled); void set_ignore_aspect_ratio(bool bEnabled); void set_scanlines(bool value); void set_shunt(int value); void set_alpha(int value); void set_yuv_video_blank(bool value); -void set_video_timer_blank(bool value); +void set_video_blank(bool value); int get_scalefactor(); // by RDG2010 void set_scalefactor(int value); // by RDG2010 void set_rotate_degrees(float fDegrees); @@ -172,9 +173,10 @@ Uint16 get_video_width(); void set_video_width(Uint16); Uint16 get_video_height(); void set_video_height(Uint16); -void draw_scanlines(int, int, int); +void draw_scanlines(int); void draw_border(int, int); void draw_string(const char *, int, int, SDL_Surface *); +void draw_shoot(int, int, SDL_Surface *); void draw_subtitle(char *, bool ins); void draw_LDP1450_overlay(); void vid_toggle_fullscreen(); @@ -183,7 +185,6 @@ void vid_scoreboard_switch(); void set_aspect_ratio(int fRatio); void set_detected_height(int pHeight); void set_detected_width(int pWidth); -void set_subtitle_enabled(bool bEnabled); void set_subtitle_display(char *); void set_LDP1450_enabled(bool bEnabled); void set_singe_blend_sprite(bool bEnabled); @@ -196,6 +197,7 @@ void set_score_bezel_alpha(int8_t value); void set_score_bezel_scale(int value); void set_ace_annun_scale(int value); void set_tq_keyboard(bool bEnabled); +void set_annun_lamponly(bool bEnabled); void set_annun_bezel(bool bEnabled); void set_ded_annun_bezel(bool bEnabled); void set_annun_bezel_alpha(int8_t value); @@ -203,6 +205,10 @@ void set_scale_h_shift(int value); void set_scale_v_shift(int value); void set_score_screen(int value); +void set_vertical_orientation(bool); +void format_fullscreen_render(); +void format_window_render(); + bool draw_ranks(); bool draw_annunciator(int which); bool draw_annunciator1(int which); @@ -211,14 +217,15 @@ bool draw_annunciator2(int which); void take_screenshot(); void set_queue_screenshot(bool bEnabled); -unsigned int get_draw_width(); -unsigned int get_draw_height(); +unsigned int get_logical_width(); +unsigned int get_logical_height(); +void set_overlay_offset(int offset); int get_yuv_overlay_width(); int get_yuv_overlay_height(); void reset_yuv_overlay(); -void notify_stats(int width, int height); +void notify_stats(int width, int height, const char*); bool get_yuv_overlay_ready(); diff --git a/win32/README.md b/win32/README.md index 0935b279..e1a01614 100644 --- a/win32/README.md +++ b/win32/README.md @@ -9,7 +9,7 @@ Latest build is: (_32bit_ and _64bit_ versions are available.) hypseus.exe -v - [version] Hypseus Singe: v2.10.4 + [version] Hypseus Singe: v2.11.1 [console] Windows 10 [console] SDL(CC): 2.0.14 [console] SDL(LD): 2.0.16