AURIFI FOR WINDOWS - PRESERVATION PORT

Run Aurifi.exe. It opens the game directly without a separate launcher window.
Stereo headphones are strongly recommended because several challenges depend on
left/right positioning.

CONTROLS CONFIGURATION

controls.conf beside Aurifi.exe contains every Windows keyboard and controller
binding in editable plain text. Names are position-based so one file works for
both Xbox and DualSense controllers. The comments at the top of that file give
the complete name legend. Restart Aurifi after editing it.

MAIN MENU

Left: New Connection
Right: Resume Connection
Up/Down: no action
Hold S or Numpad 5: About/credits
Controller: D-pad Left/Right or left stick; hold right-stick click for About

SHAPE DRAWING

Hold Enter and press the first grid key to put the virtual finger down. Each
additional grid key draws to that point immediately. Points may be entered
quickly because they are queued. Release Enter to lift after the final segment.
For example, Q E C Z Q traces a complete square in real time.
When Enter is released after a recognized closed square, circle, or triangle,
the game completes a smooth assisted pass using Aurifi's original shape
geometry. This keeps the experience usable without requiring mouse precision.

Suggested keyboard patterns (hold Enter throughout):
Square: Q E C Z Q, or the same four corners from another starting corner
Circle: W D X A W, or the four side-centers in either direction
Triangle: any three non-collinear grid points, returning to the first point

ACCESSIBLE TOUCH GRID

The original iPhone screen is represented by nine fixed positions. You never
need to locate an on-screen mouse pointer.

  7 8 9       Q W E       top-left, top, top-right
  4 5 6  or   A S D       left, center, right
  1 2 3       Z X C       bottom-left, bottom, bottom-right

Each grid key is now a direct touchscreen point. Tap one to touch and release at
that point, or hold it to keep the finger there. Hold Enter while pressing grid
keys to drag one continuous finger between points for lines, circles, triangles,
and similar gestures. Releasing Enter lifts the dragging finger. A mouse and
left click remain available as optional controls.

KEYBOARD

Numpad 1-9 or QWE/ASD/ZXC: directly touch or hold an absolute position
Hold Enter plus grid keys: drag continuously between grid points; closed shapes
are recognized relative to their chosen starting point and direction
Right Shift while dragging: faster gradual movement
Arrow keys: tilt the virtual phone
Space: shake; press repeatedly when repeated shaking is needed
Hold S or Numpad 5: original center-hold pause; Escape also pauses/resumes
F1: open the screen-reader-accessible, read-only controls text window. An
active game pauses until that window is closed; Enter cannot change the game.
F2: show/hide the in-game developer console
F3: run the automated challenge test

XBOX AND DUALSENSE CONTROLLERS

Left stick: tilt the virtual phone
Right stick: snap to, touch, and hold one of the nine touch positions
LT or RT plus right stick: continuous drag/draw
Right-stick click: touch and hold center (long hold pauses)
D-pad: touch and hold the four corners
Left/right bumper: cycle through all nine touch positions
A / Cross: tap the selected position, or hold it for a sustained touch
X / Square: shake
Menu / Options: pause/resume

DualSense motion: shaking the physical controller also shakes the virtual phone.
This uses SDL's accelerometer support and can be disabled or made more/less
sensitive in controls.conf. The face-button shake remains available.

A short vibration confirms a controller touch-position change.

ACCESSIBILITY

The in-game new/resume menu uses Aurifi's original narration and exposes both
original save slots. Gameplay is self-voiced using Aurifi's original recordings.
The game window title also reports its current high-level state.

The menu uses the phone's original interaction instead of a Windows selection
list: Left immediately opens New Connection and Right immediately opens Resume
Connection. The following Slot 1/Slot 2 and overwrite Yes/No prompts are also
direct tilt choices. Their original confirmation phrase finishes and the action
then happens automatically; no menu requires a confirming touch. Escape returns
from a slot prompt to the main voiced menu.

DEVELOPER TEST MODE

Run "Challenge Test.cmd" for quick hands-on testing of one challenge. Enter its
number, choose whether its spoken instructions should play, select a difficulty,
and the challenge starts with the real music, mechanics, scoring, and controls.
It repeats after completion. F4 restarts it immediately; F5 exits. This mode
uses separate developer save data and cannot alter either normal connection.

Run "Run Developer Test.cmd" to use developer mode with a completely separate
save identity. It fixes the random
seed, establishes a valid original song, forces all 17 recovered challenge
variants in turn, supplies synthetic touch/tilt/tap/shake input, and writes
dev-test.log under the aurifi-windows-dev save directory. It does not change
normal gameplay, difficulty, timing, scoring, or progression. F3 reaches the
same test from inside the game. F2 shows its live diagnostic console.

ABOUT THIS BUILD

Both supplied archives were byte-for-byte identical (SHA-256
48EB91BA73E8B054BAA901BA30850B3B6FE7D9430B78440B650857640656C89E). They contain
Aurifi version 1.0, built in May 2010 for iPhone OS 3.1.2. This port uses the
original OGG recordings, song definitions, challenge definitions, progression,
scoring, and recovered Lua gameplay scripts through a Windows compatibility
layer. Online AGON leaderboards and achievements are intentionally disabled
because that service is obsolete.

The audio layer provides scheduled starts, finite/infinite looping, reverse
deflection playback, channel groups, group and
per-source pitch/volume/mute/pause, moving 3D sources, velocity, attenuation, and
requests OpenAL Soft's headphone HRTF renderer. The recovered seesaw challenge
also has a rolling-ball physics implementation. The deterministic regression
suite completes all 17 challenge variants without a script/runtime failure.

The old FMOD pitch-shift effect changed pitch without changing duration. This
build now reproduces that behavior with 1,156 high-quality, pre-rendered pitch
variants: every one-percent step used by Pitch Match, plus every pitch correction
used by the finite song-tempo transitions. The engine swaps variants at the same
playhead position while the independent channel rate controls tempo. Automated
checks verify the extreme Pitch Match values, the song-group correction path,
and restoration of the unmodified source at neutral pitch.

Preservation caveat: this is behaviorally faithful rather than sample-for-sample
FMOD emulation. Pitch Match is quantized to one-percent steps, the largest measured
duration deviation is about 12 milliseconds on an eight-second source, and swaps
occur on a game update rather than inside an audio-buffer callback. A human
listening pass through complete challenge outcomes is still recommended.

Save data is stored by the game in the current Windows user's application-data
area under the aurifi-windows identity.

INPUT AND WINDOW SAFETY

Touch-down events are delivered once per grid-key press. Holding a grid key is
a continuous touch; Enter acts only as a drag modifier and never touches or
pauses by itself. Touch callbacks that are not valid in the current challenge
state are ignored and recorded in input-errors.log instead of terminating gameplay. The
launcher also refuses to start another game while an AurifiGame process is
already running.
