McRogueFace/src
John McCardle 68c1a016b0 Implement --exec flag and PyAutoGUI-compatible automation API
- 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
2025-07-03 14:27:01 -04:00
..
scripts Final day of changes for 7DRL 2025 - Crypt of Sokoban game code 2025-03-12 22:42:26 -04:00
ActionCode.h Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
CommandLineParser.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
CommandLineParser.h Python command emulation 2025-07-03 10:46:21 -04:00
Common.h Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
GameEngine.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
GameEngine.h Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
HeadlessRenderer.cpp Python command emulation 2025-07-03 10:46:21 -04:00
HeadlessRenderer.h Python command emulation 2025-07-03 10:46:21 -04:00
IndexTexture.cpp Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
IndexTexture.h Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
main.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
McRFPy_API.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
McRFPy_API.h Python command emulation 2025-07-03 10:46:21 -04:00
McRFPy_Automation.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
McRFPy_Automation.h Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
McRogueFaceConfig.h Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
PyCallable.cpp Squashed commit of the following: [raii_pyobjects] 2024-03-15 22:20:37 -04:00
PyCallable.h Squashed commit of the following: [raii_pyobjects] 2024-03-15 22:20:37 -04:00
PyColor.cpp Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyColor.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyFont.cpp Squashed commit of the following: [standardize_font_handling] 2024-04-07 22:51:31 -04:00
PyFont.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyObjectUtils.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyRAII.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyScene.cpp Python command emulation 2025-07-03 10:46:21 -04:00
PyScene.h Refactor: remove "s" prefix from "sRender" method ( -> "render") Closes #44 2024-04-20 14:16:14 -04:00
PyTexture.cpp 7DRL 2025 progress 2025-03-08 10:42:17 -05:00
PyTexture.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyVector.cpp Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyVector.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
Resources.cpp Adding text functionality to Caption (why was that missing???) 2024-03-07 12:35:07 -05:00
Resources.h Adding text functionality to Caption (why was that missing???) 2024-03-07 12:35:07 -05:00
Scene.cpp Squashed commit of the following: [raii_pyobjects] 2024-03-15 22:20:37 -04:00
Scene.h Refactor: remove "s" prefix from "sRender" method ( -> "render") Closes #44 2024-04-20 14:16:14 -04:00
Timer.cpp Segfault fixes. Switching scenes broke some assumptions. All PyObject calls from userspace now handle (discard) exceptions and return values. 2024-03-08 12:09:09 -05:00
Timer.h Whoops, some issues with deleting timers. 2024-03-07 09:49:24 -05:00
UI.h Squashed commit of the following: [break_up_ui_h] 2024-04-20 10:32:04 -04:00
UIBase.h Squashed commit of the following: [break_up_ui_h] 2024-04-20 10:32:04 -04:00
UICaption.cpp 7DRL 2025 progress 2025-03-08 10:42:17 -05:00
UICaption.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UICollection.cpp Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UICollection.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIDrawable.cpp Python command emulation 2025-07-03 10:46:21 -04:00
UIDrawable.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIEntity.cpp Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIEntity.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIFrame.cpp Squashed: grid-entity-integration partial features for 7DRL 2025 deployment 2025-03-05 20:26:04 -05:00
UIFrame.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIGrid.cpp Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIGrid.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UIGridPoint.cpp Squashed commit of the following: [reprs_and_member_names] 2024-04-20 18:33:18 -04:00
UIGridPoint.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UISprite.cpp Squashed: grid-entity-integration partial features for 7DRL 2025 deployment 2025-03-05 20:26:04 -05:00
UISprite.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
UITestScene.cpp Python command emulation 2025-07-03 10:46:21 -04:00
UITestScene.h Refactor: remove "s" prefix from "sRender" method ( -> "render") Closes #44 2024-04-20 14:16:14 -04:00