From 02711cdee1217b6cc8a5b3b524197a89a5e66027 Mon Sep 17 00:00:00 2001 From: AllanCat <0937388@gmail.com> Date: Sat, 11 Oct 2025 12:35:34 +0800 Subject: [PATCH] Fixed an issue where ext (release_code) wasn't detected and replaced correctly when using user specified bootstrap.xml path. (#398) ## Link to GitHub Issue, if one exists #0 ## Description of change The original launcher::detect_bootstrap_release_code() wasn't detecting user specified bootstrap.xml path, and was causing issues for patch_manager and other ext check spots prior to ea3 init (as ea3 does proper path check itself). I've added the user path check and proper xml parsing from detect_gameversion(). ## Testing Tested with prop/bootstrap.xml presents. Tested with prop/bootstrap.xml not presents and -b /path/to/bootstrap.xml --- src/spice2x/launcher/launcher.cpp | 3 ++- src/spice2x/launcher/options.cpp | 32 ++++++++++++++++++++----------- src/spice2x/launcher/options.h | 6 +++--- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/spice2x/launcher/launcher.cpp b/src/spice2x/launcher/launcher.cpp index 5ed46ca..c51c425 100644 --- a/src/spice2x/launcher/launcher.cpp +++ b/src/spice2x/launcher/launcher.cpp @@ -263,7 +263,8 @@ int main_implementation(int argc, char *argv[]) { // detect model used to load option overrides auto options_version = launcher::detect_gameversion( - LAUNCHER_OPTIONS->at(launcher::Options::PathToEa3Config).value + LAUNCHER_OPTIONS->at(launcher::Options::PathToEa3Config).value, + LAUNCHER_OPTIONS->at(launcher::Options::PathToBootstrap).value ); if (!options_version.model.empty() && options_version.model.size() < 4) { if (options_version.dest.size() == 1) { diff --git a/src/spice2x/launcher/options.cpp b/src/spice2x/launcher/options.cpp index 5e7a9df..eab7dec 100644 --- a/src/spice2x/launcher/options.cpp +++ b/src/spice2x/launcher/options.cpp @@ -2608,8 +2608,19 @@ std::vector