RIOJoy — cockpit deployment package
====================================

This package deploys RIOJoy to a single directory (e.g. C:\games\RIOJOY) and runs
all local installation steps from postinstall.bat. It uses the signed ViGEmBus
virtual-controller driver, so there is NO test signing, NO Secure Boot change, and
NO reboot.

Contents
--------
  postinstall.bat   Entry point (at the root). Elevates, then runs
                    riojoy\install-rio.ps1.
  riojoy\           The payload folder:
    app\            The RIOJoy tray application (self-contained .NET 8 — no runtime
                    install required on the target machine).
    vendor\         The signed ViGEmBus installer (Nefarius, WHQL/attestation-signed).
    install-rio.ps1 The actual install steps (idempotent).
    VERSION.txt     Build stamp (date + git short SHA).

What postinstall.bat does
-------------------------
  1. Elevates to administrator (UAC) if not already elevated.
  2. Installs ViGEmBus silently if its driver service is not already present.
  3. Registers RIOJoy to start at logon (HKLM ...\Run, machine-wide).
  4. Launches RIOJoy.

Deploying with TeslaConsole
---------------------------
  1. Extract this zip so that postinstall.bat and the riojoy\ folder sit together
     (e.g. under C:\games\, giving C:\games\postinstall.bat and C:\games\riojoy\).
  2. Run postinstall.bat ELEVATED (TeslaConsole should run it as administrator).
     It is idempotent — re-running it is safe (e.g. for updates). The app and
     ViGEmBus install from the riojoy\ folder; install-rio.ps1 locates itself, so
     the riojoy\ folder can live wherever it is extracted.

After install
-------------
  * RIOJoy runs in the system tray. Right-click it to pick/edit profiles, set the
    auto-switch executables, and toggle output to the PC.
  * The RIO's joystick output appears to games as a standard "Xbox 360 Controller"
    (verify in joy.cpl). Note the XInput layout limits joystick BUTTONS to 11
    (A, B, X, Y, LB, RB, Back, Start, L3, R3, Guide); bind everything else to the
    keyboard. The hat maps to the D-pad; axes map to the sticks and triggers.
  * Per-machine config lives in %APPDATA%\RIOJoy\config.json for the running user.

Building this package (on a dev machine)
-----------------------------------------
  Requires the .NET 8 SDK and the signed ViGEmBus installer.

    powershell -ExecutionPolicy Bypass -File deploy\build-package.ps1 `
        -VigemInstaller <path-to-ViGEmBus_x.y.z_x64_x86_arm64.exe>

  (Or drop ViGEmBus_*.exe into deploy\vendor\ and omit -VigemInstaller.)
  Output: dist\RIOJoy-<version>.zip
