From 88679b7cb2de8c4be285d93ddeed7c760d3698c6 Mon Sep 17 00:00:00 2001 From: bicarus <202771338+bicarus-dev@users.noreply.github.com> Date: Mon, 16 Mar 2026 11:22:08 -0700 Subject: [PATCH] sdvx, troubleshooter: detect layer missing error (#577) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Detect `W:BM2D: CreateLayer() 指定したレイヤーは存在しません` and add to deferred log. --- src/spice2x/games/sdvx/sdvx.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/spice2x/games/sdvx/sdvx.cpp b/src/spice2x/games/sdvx/sdvx.cpp index 20a7265..3fe54ab 100644 --- a/src/spice2x/games/sdvx/sdvx.cpp +++ b/src/spice2x/games/sdvx/sdvx.cpp @@ -234,6 +234,27 @@ namespace games::sdvx { }); return false; } + + static bool logged_missing_layer_error = false; + // this is raw SHIFT-JIS text for + // W:BM2D: CreateLayer() 指定したレイヤーは存在しません + if (!logged_missing_layer_error && + data.find( + "\x57\x3A\x42\x4D\x32\x44\x3A\x20\x43\x72\x65\x61\x74\x65\x4C\x61\x79\x65\x72\x28\x29\x20" + "\x8E\x77\x92\xE8\x82\xB5\x82\xBD\x83\x8C\x83\x43\x83\x84\x81\x5B\x82\xCD\x91\xB6\x8D\xDD" + "\x82\xB5\x82\xDC\x82\xB9\x82\xF1") != std::string::npos) { + + logged_missing_layer_error = true; + deferredlogs::defer_error_messages({ + "sdvx game engine detected missing or corrupt file(s); raw SHIFT-JIS error was:", + std::string(" ") + data, + " this will almost certainly cause your game to crash", + " this is often caused by mismatched game DLLs or missing resources from game updates", + " double check the integrity of your game data and try again" + }); + return false; + } + return false; }