From 056d1b2d908e52584bda3012d19781a3e63a7285 Mon Sep 17 00:00:00 2001 From: bicarus <202771338+bicarus-dev@users.noreply.github.com> Date: Fri, 27 Mar 2026 01:56:32 -0700 Subject: [PATCH] ea3: warn about missing ea3 config (#595) Show better warning message when `ea3-config.xml` / `eamuse-config.xml` is missing. Right now we just say `failed to load prop/eamuseconfig.xml` which is really confusing when people look for `eamuse-config.xml` that never existed in the first place. --- src/spice2x/avs/ea3.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/spice2x/avs/ea3.cpp b/src/spice2x/avs/ea3.cpp index d72249a..077b960 100644 --- a/src/spice2x/avs/ea3.cpp +++ b/src/spice2x/avs/ea3.cpp @@ -217,7 +217,23 @@ namespace avs { ea3_config_name = "prop/eamuse-config.xml"; } - log_info("avs-ea3", "booting (using {})", ea3_config_name); + if (avs::core::file_exists(ea3_config_name)) { + log_info("avs-ea3", "booting (using {})", ea3_config_name); + } else { + log_warning("avs-ea3", "looked for the following files in order:"); + log_warning("avs-ea3", " * prop/ea3-config.xml"); + log_warning("avs-ea3", " * prop/ea3-cfg.xml"); + if (avs::game::DLL_NAME == "beatstream1.dll") { + log_warning("avs-ea3", " * prop/ea3-config-1.xml"); + } + if (avs::game::DLL_NAME == "beatstream2.dll") { + log_warning("avs-ea3", " * prop/ea3-config-2.xml"); + } + log_warning("avs-ea3", " * prop/eamuse-config.xml"); + log_warning("avs-ea3", "none of the files above were found, game will fail to boot"); + log_warning("avs-ea3", "usually, this means your game data is incomplete"); + log_fatal("avs-ea3", "no ea3 config file found in prop directory; check log messages"); + } // remember new config path CFG_PATH = ea3_config_name;