Grand Theft Auto VI — PS1 Demake
README.md
GTA VI PS1 presentation
Full title artwork with clickable Start and Enter/gamepad Start, mission objective, live player-centered street radar, wanted stars, health, cash and driving MPH, success/free-roam/replay and automatic hospital respawn screens. HUD updates at 12.5 Hz; menu controls breathe in play.
Main scene owns the persistent lifecycle: start(), update(dt), stop() and forwarded onCallback(id,data). Resolve game.shared.driver() for the local player every time; Driver owns all state. begin/retry/freeRoam are colon calls. No camera or player rig is created.
WASD moves/drives; E interacts or enters/exits; G greets and T robs a nearby pedestrian; Ambient.message() appears in the existing notification panel while nonempty, preserving any active story message beneath it; Q switches active protagonist or driving/shooting role; F fires from the passenger seat; Shift sprints; Space brakes; mouse looks. The HUD shows six wanted slots, active Lucia/Jason role, vehicle evidence state and original partner text messages at real mission transitions. shotsFired increments cue the generated pistol sound. Enter starts or continues mission success. Wasted shows the hospital respawn countdown; the local Driver automatically returns the player to free roam at Vice City Medical (-62.8,-52). Death never opens the title. The radar marks the hospital with a white + when it is in range. Pointer/touch clicks actual buttons. The Menu input map adds gamepad Start without polling raw keyboard state.
Two original generated music loops crossfade with wanted state. Engine pitch follows speed, siren follows pursuit, doors sound on entering/exiting, register chime on the score and success, collision sound on damage/failure. Sources are temporary local nonspatial Audio entities removed on stop. The existing CameraRig holds the listener.
PS1Post adapts the installed game.reuse.ps1.shader Bayer quantizer to a 320x240 pass over every layer. Widget coordinates and font sizes snap to that raster. Options offers COMPOSITE / RGB, changing colour bleed and scanline strength while keeping the low resolution. Buttons remain real interactive widgets. During Conversation, the HUD gives way to speaker-labelled subtitles with three fixed-size rows and timed pages for long utterances; Start / Escape / the onscreen Skip button exits. The existing reveal uses the shader's original default signal setting.