mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-02 23:00:42 -07:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0fc3aa5818 | |||
| 276874f882 | |||
| 1fdd270480 | |||
| 07cb6048a0 | |||
| 61d79f76b2 |
@@ -41,6 +41,7 @@ namespace avs {
|
|||||||
int HTTP11 = -1;
|
int HTTP11 = -1;
|
||||||
int URL_SLASH = -1;
|
int URL_SLASH = -1;
|
||||||
int PCB_TYPE = -1;
|
int PCB_TYPE = -1;
|
||||||
|
bool EA3_DEBUG_VERBOSE = false;
|
||||||
|
|
||||||
// handle
|
// handle
|
||||||
std::string VERSION_STR = "unknown";
|
std::string VERSION_STR = "unknown";
|
||||||
@@ -412,6 +413,11 @@ namespace avs {
|
|||||||
log_fatal("avs-ea3", "no PCBID set (try using -p to specify PCBID)");
|
log_fatal("avs-ea3", "no PCBID set (try using -p to specify PCBID)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove <debug> since it can expose pcbid in logged requests
|
||||||
|
if (!EA3_DEBUG_VERBOSE) {
|
||||||
|
avs::core::property_search_remove_safe(ea3_config, nullptr, "/ea3/debug/verbose");
|
||||||
|
}
|
||||||
|
|
||||||
// remember IDs
|
// remember IDs
|
||||||
char pcbid_buffer[256] { 0 };
|
char pcbid_buffer[256] { 0 };
|
||||||
char accountid_buffer[256] { 0 };
|
char accountid_buffer[256] { 0 };
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ namespace avs {
|
|||||||
extern int HTTP11;
|
extern int HTTP11;
|
||||||
extern int URL_SLASH;
|
extern int URL_SLASH;
|
||||||
extern int PCB_TYPE;
|
extern int PCB_TYPE;
|
||||||
|
extern bool EA3_DEBUG_VERBOSE;
|
||||||
|
|
||||||
// handle
|
// handle
|
||||||
extern std::string VERSION_STR;
|
extern std::string VERSION_STR;
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
09/30/2025 [spice2x]
|
||||||
|
Prevent verbose debug EA3 logging by default
|
||||||
|
Options UI tweaks
|
||||||
|
|
||||||
09/28/2025 [spice2x]
|
09/28/2025 [spice2x]
|
||||||
IIDX: auto apply ASIO compatibility fix for IIDX32+
|
IIDX: auto apply ASIO compatibility fix for IIDX32+
|
||||||
Misc diagnosability updates
|
Misc diagnosability updates
|
||||||
|
|||||||
@@ -365,6 +365,9 @@ int main_implementation(int argc, char *argv[]) {
|
|||||||
if (options[launcher::Options::VerboseAVSLogging].value_bool()) {
|
if (options[launcher::Options::VerboseAVSLogging].value_bool()) {
|
||||||
hooks::avs::config::LOG = true;
|
hooks::avs::config::LOG = true;
|
||||||
}
|
}
|
||||||
|
if (options[launcher::Options::AllowEA3Verbose].value_bool()) {
|
||||||
|
avs::ea3::EA3_DEBUG_VERBOSE = true;
|
||||||
|
}
|
||||||
if (options[launcher::Options::spice2x_AutoOrientation].is_active()) {
|
if (options[launcher::Options::spice2x_AutoOrientation].is_active()) {
|
||||||
GRAPHICS_ADJUST_ORIENTATION =
|
GRAPHICS_ADJUST_ORIENTATION =
|
||||||
(graphics_orientation)options[launcher::Options::spice2x_AutoOrientation].value_uint32();
|
(graphics_orientation)options[launcher::Options::spice2x_AutoOrientation].value_uint32();
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.name = "r",
|
.name = "r",
|
||||||
.desc = "Set custom SOFTID override",
|
.desc = "Set custom SOFTID override",
|
||||||
.type = OptionType::Text,
|
.type = OptionType::Text,
|
||||||
.category = "Network (Development)",
|
.category = "Development",
|
||||||
.sensitive = true,
|
.sensitive = true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -554,10 +554,11 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.category = "Game Options",
|
.category = "Game Options",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.title = "IIDX BIO2 Firmware",
|
.title = "IIDX BIO2 Firmware Update",
|
||||||
.name = "iidxbio2fw",
|
.name = "iidxbio2fw",
|
||||||
.desc = "Enables BIO2 firmware updates",
|
.desc = "Enables BIO2 firmware updates. WARNING - can cause semi-permanent change to your I/O board",
|
||||||
.type = OptionType::Bool,
|
.type = OptionType::Bool,
|
||||||
|
.hidden = true,
|
||||||
.game_name = "Beatmania IIDX",
|
.game_name = "Beatmania IIDX",
|
||||||
.category = "Game Options (Advanced)",
|
.category = "Game Options (Advanced)",
|
||||||
},
|
},
|
||||||
@@ -1135,11 +1136,11 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.category = "Path Overrides",
|
.category = "Path Overrides",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.title = "Intel SDE Folder",
|
.title = "Intel SDE",
|
||||||
.name = "sde",
|
.name = "sde",
|
||||||
.desc = "Path to Intel SDE kit path for automatic attaching",
|
.desc = "Path to Intel SDE kit path for automatic attaching",
|
||||||
.type = OptionType::Text,
|
.type = OptionType::Text,
|
||||||
.category = "Path Overrides",
|
.category = "Development",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.title = "ea3-config.xml Override",
|
.title = "ea3-config.xml Override",
|
||||||
@@ -1544,10 +1545,13 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.title = "Spice Audio Hook Backend",
|
.title = "Spice Audio Hook Backend",
|
||||||
.name = "audiobackend",
|
.name = "audiobackend",
|
||||||
.desc = "Selects the audio backend to use when spice audio hook is enabled, overriding exclusive WASAPI. "
|
.desc = "Selects the audio backend to use when spice audio hook is enabled, overriding exclusive WASAPI. "
|
||||||
" Does nothing for games that do not output to exclusive WASAPI",
|
"Does nothing for games that do not output to exclusive WASAPI",
|
||||||
.type = OptionType::Enum,
|
.type = OptionType::Enum,
|
||||||
.category = "Audio",
|
.category = "Audio",
|
||||||
.elements = {{"asio", "ASIO"}, {"waveout", "waveOut"}},
|
.elements = {
|
||||||
|
{"asio", "ASIO"},
|
||||||
|
{"waveout", "broken, do not use"}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.title = "Spice Audio Hook ASIO Driver ID",
|
.title = "Spice Audio Hook ASIO Driver ID",
|
||||||
@@ -1672,6 +1676,16 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.type = OptionType::Bool,
|
.type = OptionType::Bool,
|
||||||
.category = "Debug Log",
|
.category = "Debug Log",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// AllowEA3Verbose
|
||||||
|
.title = "Allow EA3 Verbose Debug Logging",
|
||||||
|
.name = "ea3verbose",
|
||||||
|
.desc = "This option is only useful for network developers; leave this OFF.\n\n"
|
||||||
|
"By default, ea3/debug/verbose node is removed by spice to prevent exposing PCBID in the logs. "
|
||||||
|
"When this is enabled, ea3/debug/verbose node in the XML will be kept and exposed to the game",
|
||||||
|
.type = OptionType::Bool,
|
||||||
|
.category = "Debug Log",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.title = "Disable Colored Output",
|
.title = "Disable Colored Output",
|
||||||
.name = "nocolor",
|
.name = "nocolor",
|
||||||
@@ -2375,7 +2389,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.type = OptionType::Bool,
|
.type = OptionType::Bool,
|
||||||
.category = "Development",
|
.category = "Development",
|
||||||
.disabled = true,
|
.disabled = true,
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const std::vector<std::string> &launcher::get_categories(Options::OptionsCategory category) {
|
const std::vector<std::string> &launcher::get_categories(Options::OptionsCategory category) {
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ namespace launcher {
|
|||||||
DebugCreateFile,
|
DebugCreateFile,
|
||||||
VerboseGraphicsLogging,
|
VerboseGraphicsLogging,
|
||||||
VerboseAVSLogging,
|
VerboseAVSLogging,
|
||||||
|
AllowEA3Verbose,
|
||||||
DisableColoredOutput,
|
DisableColoredOutput,
|
||||||
DisableACPHook,
|
DisableACPHook,
|
||||||
DisableSignalHandling,
|
DisableSignalHandling,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <dbghelp.h>
|
#include <dbghelp.h>
|
||||||
|
|
||||||
#include "avs/core.h"
|
#include "avs/core.h"
|
||||||
|
#include "avs/game.h"
|
||||||
#include "acio/acio.h"
|
#include "acio/acio.h"
|
||||||
#include "external/stackwalker/stackwalker.h"
|
#include "external/stackwalker/stackwalker.h"
|
||||||
#include "hooks/libraryhook.h"
|
#include "hooks/libraryhook.h"
|
||||||
@@ -103,6 +104,22 @@ static LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *Exception
|
|||||||
// print signal
|
// print signal
|
||||||
log_warning("signal", "exception raised: {}", exception_code(ExceptionRecord));
|
log_warning("signal", "exception raised: {}", exception_code(ExceptionRecord));
|
||||||
|
|
||||||
|
std::string err;
|
||||||
|
switch (ExceptionRecord->ExceptionCode) {
|
||||||
|
case EXCEPTION_ILLEGAL_INSTRUCTION:
|
||||||
|
err = "Illegal instruction: either your CPU is too old (e.g., does not support "
|
||||||
|
"SSE4.2 or AVX2 but perhaps the game requires it); or, a bad patch was applied.";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!err.empty()) {
|
||||||
|
log_warning(
|
||||||
|
"signal",
|
||||||
|
"likely cause for your error based on the exception code:\n {}",
|
||||||
|
err.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
// check ACIO init failures
|
// check ACIO init failures
|
||||||
if (acio::IO_INIT_IN_PROGRESS) {
|
if (acio::IO_INIT_IN_PROGRESS) {
|
||||||
log_warning(
|
log_warning(
|
||||||
|
|||||||
@@ -2633,17 +2633,16 @@ namespace overlay::windows {
|
|||||||
|
|
||||||
// check hidden option
|
// check hidden option
|
||||||
if (!this->options_show_hidden && option.value.empty()) {
|
if (!this->options_show_hidden && option.value.empty()) {
|
||||||
|
|
||||||
// skip hidden entries
|
// skip hidden entries
|
||||||
if (definition.hidden) {
|
if (definition.hidden) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// check for game exclusivity
|
|
||||||
if (!definition.game_name.empty()) {
|
// check for game exclusivity
|
||||||
if (definition.game_name != this->games_selected_name) {
|
if (!definition.game_name.empty()) {
|
||||||
continue;
|
if (definition.game_name != this->games_selected_name) {
|
||||||
}
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user