From 04dee882762651508ecee7a2b9c7769b96f21905 Mon Sep 17 00:00:00 2001 From: "[ ]" <[ ]> Date: Tue, 24 Oct 2023 20:24:09 +0900 Subject: [PATCH] Update to spice2x-23-09-29 > omitted mostly useless path length warning --- changelog.txt | 4 ++++ external/docker/Dockerfile | 2 +- hooks/graphics/backends/d3d9/d3d9_backend.cpp | 2 +- hooks/graphics/graphics.cpp | 1 + hooks/graphics/graphics.h | 2 ++ launcher/launcher.cpp | 3 +++ launcher/options.cpp | 10 ++++++++++ launcher/options.h | 1 + 8 files changed, 23 insertions(+), 2 deletions(-) diff --git a/changelog.txt b/changelog.txt index de0a50c..792e6bf 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +09/29/2023 [spice2x] + Fix subscreen not updating in certain versions of EG. + Detect long paths and log a warning message. + 06/08/2023 [spice2x] Improved touch support for Jubeat and Reflec Beat. diff --git a/external/docker/Dockerfile b/external/docker/Dockerfile index 0b3e45b..b6f9de3 100644 --- a/external/docker/Dockerfile +++ b/external/docker/Dockerfile @@ -1,6 +1,6 @@ FROM archlinux:base -RUN pacman --noconfirm -Sy gettext \ +RUN pacman --noconfirm -Syu gettext \ git \ bash \ zip \ diff --git a/hooks/graphics/backends/d3d9/d3d9_backend.cpp b/hooks/graphics/backends/d3d9/d3d9_backend.cpp index 972d1e2..535beca 100644 --- a/hooks/graphics/backends/d3d9/d3d9_backend.cpp +++ b/hooks/graphics/backends/d3d9/d3d9_backend.cpp @@ -965,7 +965,7 @@ static void graphics_d3d9_ldj_on_present(IDirect3DDevice9 *wrapped_device) { if (SUB_SWAP_CHAIN != nullptr) { wintouchemu::update(); - if (GRAPHICS_WINDOWED) { + if (GRAPHICS_WINDOWED || SUBSCREEN_FORCE_REDRAW) { SUB_SWAP_CHAIN->Present(nullptr, nullptr, nullptr, nullptr, 0); } } diff --git a/hooks/graphics/graphics.cpp b/hooks/graphics/graphics.cpp index ee52119..a9331ea 100644 --- a/hooks/graphics/graphics.cpp +++ b/hooks/graphics/graphics.cpp @@ -55,6 +55,7 @@ std::vector GRAPHICS_WINDOWS; UINT GRAPHICS_FORCE_REFRESH = 0; bool GRAPHICS_FORCE_SINGLE_ADAPTER = false; bool GRAPHICS_9_ON_12 = false; +bool SUBSCREEN_FORCE_REDRAW = false; // settings std::string GRAPHICS_DEVICEID = "PCI\\VEN_1002&DEV_7146"; diff --git a/hooks/graphics/graphics.h b/hooks/graphics/graphics.h index 48f79ce..7889548 100644 --- a/hooks/graphics/graphics.h +++ b/hooks/graphics/graphics.h @@ -33,6 +33,8 @@ extern std::optional GRAPHICS_WINDOW_SIZE; extern std::optional GRAPHICS_WINDOW_POS; extern bool GRAPHICS_WINDOW_ALWAYS_ON_TOP; +extern bool SUBSCREEN_FORCE_REDRAW; + // settings extern std::string GRAPHICS_DEVICEID; extern std::string GRAPHICS_SCREENSHOT_DIR; diff --git a/launcher/launcher.cpp b/launcher/launcher.cpp index edd9a82..540b058 100644 --- a/launcher/launcher.cpp +++ b/launcher/launcher.cpp @@ -373,6 +373,9 @@ int main_implementation(int argc, char *argv[]) { games::sdvx::OVERLAY_POS = games::sdvx::SDVX_OVERLAY_MIDDLE; } } + if (options[launcher::Options::spice2x_SDVXSubRedraw].value_bool()) { + SUBSCREEN_FORCE_REDRAW = true; + } if (options[launcher::Options::LoadIIDXModule].value_bool()) { attach_iidx = true; } diff --git a/launcher/options.cpp b/launcher/options.cpp index a8514d1..8d66feb 100644 --- a/launcher/options.cpp +++ b/launcher/options.cpp @@ -547,6 +547,16 @@ static const std::vector OPTION_DEFINITIONS = { .category = "Overlay", .elements = {{"top", ""}, {"center", ""}, {"bottom", ""}}, }, + { + // spice2x_SDVXSubRedraw + .title = "SDVX Subscreen Force Redraw", + .name = "sp2x-sdvxsubredraw", + .desc = "Check if second monitor for subscreen doesn't update every frame; " + "forces subscreen to redraw every frame, only needed for newer EG.", + .type = OptionType::Bool, + .game_name = "Sound Voltex", + .category = "Game Options", + }, { .title = "Force Load DDR Module", .name = "ddr", diff --git a/launcher/options.h b/launcher/options.h index 487d267..0db8be3 100644 --- a/launcher/options.h +++ b/launcher/options.h @@ -70,6 +70,7 @@ namespace launcher { spice2x_SDVXDigitalKnobSensitivity, spice2x_SDVXAsioDriver, spice2x_SDVXSubPos, + spice2x_SDVXSubRedraw, LoadDDRModule, DDR43Mode, LoadPopnMusicModule,