- Add --exec flag to execute multiple scripts before main program - Scripts are executed in order and share Python interpreter state - Implement full PyAutoGUI-compatible automation API in McRFPy_Automation - Add screenshot, mouse control, keyboard input capabilities - Fix Python initialization issues when multiple scripts are loaded - Update CommandLineParser to handle --exec with proper sys.argv management - Add comprehensive examples and documentation This enables automation testing by allowing test scripts to run alongside games using the same Python environment. The automation API provides event injection into the SFML render loop for UI testing. Closes #32 partially (Python interpreter emulation) References automation testing requirements
33 lines
No EOL
930 B
C++
33 lines
No EOL
930 B
C++
#ifndef MCROGUEFACE_CONFIG_H
|
|
#define MCROGUEFACE_CONFIG_H
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <filesystem>
|
|
|
|
struct McRogueFaceConfig {
|
|
// McRogueFace specific
|
|
bool headless = false;
|
|
bool audio_enabled = true;
|
|
|
|
// Python interpreter emulation
|
|
bool python_mode = false;
|
|
std::string python_command; // -c command
|
|
std::string python_module; // -m module
|
|
bool interactive_mode = false; // -i flag
|
|
bool show_version = false; // -V flag
|
|
bool show_help = false; // -h flag
|
|
|
|
// Script execution
|
|
std::filesystem::path script_path;
|
|
std::vector<std::string> script_args;
|
|
|
|
// Scripts to execute before main script (--exec flag)
|
|
std::vector<std::filesystem::path> exec_scripts;
|
|
|
|
// Screenshot functionality for headless mode
|
|
std::string screenshot_path;
|
|
bool take_screenshot = false;
|
|
};
|
|
|
|
#endif // MCROGUEFACE_CONFIG_H
|