Merge branch 'origin/master' - combine double-execution fixes

Both branches fixed the --exec double-execution bug with complementary approaches:
- origin/master: Added executeStartupScripts() method for cleaner separation
- HEAD: Avoided engine recreation to preserve state

This merge keeps the best of both: executeStartupScripts() called on the
existing engine without recreation.

Also accepts deletion of flaky test_viewport_visual.py from origin/master.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
John McCardle 2025-11-26 18:03:15 -05:00
commit a703bce196
5 changed files with 16 additions and 151 deletions

View file

@ -183,8 +183,8 @@ int run_python_interpreter(const McRogueFaceConfig& config)
return 0;
}
else if (!config.exec_scripts.empty()) {
// With --exec, scripts were already executed by the first GameEngine constructor.
// Just configure auto-exit and run the existing engine to preserve timers/state.
// Execute startup scripts on the existing engine (not in constructor to prevent double-execution)
engine->executeStartupScripts();
if (config.headless) {
engine->setAutoExitAfterExec(true);
}