mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-01 03:57:17 +01:00
Headless: Run several instances that talk to each other over ad hoc
--instance=N sets PPSSPP_ID, so each instance gets its own 127.0.0.N address and MAC; headless left it at 0, which made its address 127.0.0.0. --realtime keeps emulated time from running ahead of the wall clock. Only display flips paced headless, and a test that doesn't draw never flips, so two instances waiting for each other over the network timed out at once. --adhoc-server runs the built-in ad hoc server. Tools/adhoc_multi.py runs a multi-console pspautotest (X_host, X_client, X_client2, ...) on one instance per role, with the built-in server or, with --relay, a local aemu_postoffice in relay mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5629c233e0
commit
6056ec419a
6 files changed
+197
-1
No files matched your search
@@ -254,6 +254,9 @@ static const CommandLineParam g_autoParams[] = {
|
||||
{POFF(timeoutEmulated), CmdParamType::Double, "timeout-emulated", '\0', "Stop the run after this many emulated seconds", CmdLineMode::Headless},
|
||||
// The old name for --timeout-wall, kept working because it's in a lot of scripts.
|
||||
{POFF(timeoutWall), CmdParamType::Double, "timeout", '\0', "Alias for --timeout-wall", CmdLineMode::Headless},
|
||||
{POFF(instance), CmdParamType::Int, "instance", '\0', "Run as instance N of several talking to each other over ad hoc (own 127.0.0.N address and MAC)", CmdLineMode::Headless},
|
||||
{POFF(realtime), CmdParamType::Bool, "realtime", '\0', "Run at PSP speed instead of as fast as possible", CmdLineMode::Headless},
|
||||
{POFF(adhocServer), CmdParamType::Bool, "adhoc-server", '\0', "Run the built-in ad hoc server"},
|
||||
{POFF(frameStats), CmdParamType::Bool, "frame-stats", '\0', "Print flips per emulated second at the end of the run, counted from --state's load", CmdLineMode::Headless},
|
||||
{POFF(maxScreenshotError), CmdParamType::Double, "max-mse", '\0', "Maximum allowed MSE error for screenshot comparison", CmdLineMode::Headless},
|
||||
{POFF(mountIso), CmdParamType::String, "mount", 'm', "Mount ISO/CSO on umd1: when booting an ELF/PBP or --vsh"},
|
||||
@@ -566,6 +569,10 @@ CommandLineParseResult CommandLineOptions::Parse(int argc, const char *argv[], C
|
||||
}
|
||||
|
||||
void CommandLineOptions::ApplyToConfig() const {
|
||||
if (adhocServer.has_value()) {
|
||||
g_Config.bEnableAdhocServer = adhocServer.value();
|
||||
g_Config.DoNotSaveSetting(&g_Config.bEnableAdhocServer);
|
||||
}
|
||||
if (fuseId.has_value()) {
|
||||
g_Config.sFuseID = fuseId.value();
|
||||
g_Config.DoNotSaveSetting(&g_Config.sFuseID);
|
||||
|
||||
Reference in new issue
Block a user