How wacxv/fh6-automation works
This is a single-file Forza desktop automation demo. The user starts, pauses, resumes, stops, or debugs it through the CustomTkinter interface or global hotkeys. A background automation engine runs race cycles: it captures the screen, matches templates to detect stages, then uses Windows input to interact with the game. Detection events and per-cycle timing data are surfaced in separate UI panels. The README documents the full stage and control capabilities; because the source excerpt omits much of the implementation, the graph leaves uncertain internal stage wiring out.
Main entry points: fh6-asp.py Automation UI
Components 17
Desktop interface
- Automation UI
fh6-asp.py - Hotkeys and controls
fh6-asp.py - Runtime status
fh6-asp.py
Automation workflow
- Automation engine
fh6-asp.py - Race stages
fh6-asp.py
Vision and input
- Screen capture
fh6-asp.py - Stage templates
fh6-asp.py - Template matching
fh6-asp.py - Game input
fh6-asp.py
Diagnostics
- Event queue
fh6-asp.py - Timing queue
fh6-asp.py - Detection log
fh6-asp.py - Cycle timing
fh6-asp.py - Debug capture
fh6-asp.py
Other components
- User
- Forza game
- Desktop screen
Connections 21
- User → Hotkeys and controls: invokes
- Hotkeys and controls → Automation UI: dispatches actions
- Automation UI → Automation engine: starts and signals
- Automation engine → Race stages: runs cycles
- Race stages → Screen capture: requests frames
- Screen capture → Desktop screen: captures screen
- Race stages → Template matching: checks stages
- Template matching → Stage templates: matches against
- Template matching → Race stages: returns detections
- Race stages → Game input: issues game actions
- Game input → Forza game: sends input
- Race stages → Event queue: queues events
- Automation engine → Timing queue: queues timings
- Automation UI → Event queue: reads events
- Automation UI → Timing queue: reads timings
- Automation UI → Detection log: updates log
- Automation UI → Cycle timing: updates summary
- Automation UI → Runtime status: updates status
- User → Debug capture: requests capture
- Debug capture → Screen capture: requests frame
- Debug capture → Template matching: tests templates