GT4Recomp 1.3.0-rc10 (test build)
A test release candidate of 1.3.0 with fixes for problems players reported: Spec II replays are kept, the game runs without a
sound device, the GT Auto bubbles stop, memory card backups no longer fill the disk, and the launcher explains why the game closed.
The game itself is unchanged, and the processor work drops a little further.
Highlights
- Spec II replays are kept (issue #185). They disappeared after the game was closed.
- No sound device, no crash (issues #93, #115). The game runs without sound.
- GT Auto's oil change and car wash bubbles stop when the service ends (issue #104).
- Memory card backups have a limit. Every Play kept another copy of about 8 MB, forever.
- Custom textures on CoreGS 2.0 hold steady: no frame of the old texture when HUD digits change, no doubled GT Auto logo.
- The same game: race clock, simulation state and frames identical to rc9 on every recorded scene.
Fixes
- Spec II replays (issue #185). Spec II names its replays
BASCUS-97436Rfollowed by seven letters and digits (two replays
saved on a PCSX2 card:R5MWiYYY,R8MWiY4Y). The launcher accepted only GT4's form, a letter and four digits, so it left every
Spec II replay off the library, and the next memory card built for Play no longer had it. A replay name now takes four to seven
letters and digits after the letter. - No sound output device (issues #93, #115; idea from PR #119). When Windows has no output device, or opening it fails, the
game runs without sound instead of closing with code 1.GT4_AUDIO=noneforces it. - GT Auto bubbles that never stopped (issue #104; idea from PR #118). The SPU2 envelope's exponential decrease computed its step
asdelta * level / 0x8000, which rounds toward zero: a quiet released voice stopped above zero, was never turned off, and played
until the game was closed. A step that rounds to 0 at a level above zero is now -1; every other step is unchanged. The fixture
checks all 128 rates (each one stalled before). - Memory card backups (owner). Before each Play the launcher copied the previous card image (about 8 MB) to the backups folder,
and nothing ever removed one: 74 copies, about 600 MB, in two weeks on the owner's PC. It now keeps the newest 10 card images, the
newest 5 taken before a New save and the newest 10 copies of the active save, per game, and removes older ones after each Play.
Files with any other name are never touched. - Why the game closed (issues #107, #99; idea from PR #154). A missing file in the game folder (0xC0000135) and a game Windows
closed because it stopped responding (0xCFFFFFFF) get plain messages in English and Portuguese; other Windows codes are shown in
hex as well. - GSdx not installed (issues #139, #179). When the renderer is GSdx but it is not installed (its download failed or was
blocked) and the graphics card runs CoreGS 2.0, Play offers CoreGS 2.0 or a new GSdx download instead of stopping. - The memory card error names the file (issue #160). "The memory card could not be built" now says which file of which save
or replay could not be read. - 480p races with a 1080i save (idea from PR #174). The launcher always asks for 480p, but a save or an imported card that held
the 1080i race display option raced at 1080i. The 480p hold now covers that option too, on both games. - Custom textures on CoreGS 2.0: the game's texture for a frame (a player's report). When content changed, such as a new lap or
position digit, CoreGS 2.0 found the pack's image but loaded it in the background, and drew the game's own texture until it
arrived at a later frame. It now waits for an image it needs at once, a few milliseconds per frame at most. With the owner's HD
HUD & UI pack on the Tokyo R246 recording: batches drawn without their image 5,966 -> 365, none in the race past the start. - Custom textures on CoreGS 2.0: a doubled GT Auto logo and Oil Change title (owner). GT4 keeps that texture and its palette in
the memory of a display buffer, so in every other frame CoreGS 2.0 read the palette on the graphics card and skipped the pack's
image; the logo alternated between the two, and a stale copy stayed on screen. The palette is now read from GS memory to find
the image, as GSdx does. On the owner's save at 4x: the logo and the title drawn from the pack in every frame, without a copy.
Lighter on the processor
The VU1 vertex programs multiplied by 1.0 in the w row of every transform: a product with VF0.w is now the operand itself (an add or
a subtract for the multiply-add forms), with the same bits. 20,530 lines of the generated VU1 code changed, every one that rewrite;
the VU1 program takes about 3% less time (2.90 -> 2.80 ms per VBlank, plain builds, three interleaved rounds).
For the whole process the change is small: in a player's session (shader cache warm, no report), George V Paris lap, Spec II, 1x,
three interleaved rounds on a Ryzen 7 5700X and RX 9060 XT, rc9 used 9.31 ms of processor per VBlank and rc10 9.26 ms (-0.6%,
inside the spread of single runs); wall 5.06 -> 5.03 ms. rc10 is mostly a release of fixes.
The same game
Against rc9 (the build with the picture fixes), on this build:
- Physics: the race clock at every VBlank and the whole simulation state, byte for byte, on three recorded laps (George V Paris,
El Capitan, Tokyo R246) and on the v2.00 night race with 5 AI cars. - Frames: 24, 35 and 35 of the three laps at 1x; 10 of 10 at 3x (v2.00 night race), 14 of 14 (v2.00 Arcade path), 12 of 12 at
6x (Spec II lap). - Checks while running, against the exact interpreter: 236,448 VU1 samples on Spec II and 355,388 on v2.00, and the MTVU check
over 8,032 frames, all with 0 differences. - Not in the gated scenes: the SPU2 change alters sound only where a voice used to stall, and the 480p hold only acts on a 1080i
save. The custom texture changes act only with a texture pack.
Thanks
Several of these fixes started from pull requests by Luan Antony (luanantony): #118, #119, #154 and #174. They were written
against 1.2.x, so their ideas were re-done on the current code, with him credited as co-author.
Install or update
- From rc8, rc9 or another 1.3.0 test build: the launcher offers rc10 on the Beta channel (Settings > General).
- Installer: run
GT4Recomp-Setup-1.3.0-rc10.exe. It keeps existing settings, saves and replays. - Portable: unpack
GT4Recomp-1.3.0-rc10-portable.zipanywhere. Settings, saves and data stay inside the folder. - After the update, Play may compile CoreGS 2.0's shaders once, as after every update.
- Disc images: you need your own: Gran Turismo 4 (USA, v2.00), and your own Spec II 1.10 image for the mod. GT4Recomp ships no
copyrighted game files.
Known issues and limitations in this test build
- Checked in the game by the owner: the oil change sound stops. The two Spec II replays of the owner's card reached the
launcher's Replays. - Custom textures: lap time digits that a player saw without the pack's image in a race with opponents were not reproduced on
the recordings (they are drawn from the pack on the Time Trial); the palette fix above may cover them. - CoreGS 2.0, close behind another car: where a car's glass is drawn transparent, parts of the car in front can show through.
Reported by the owner at 6x; cause not found yet, planned for rc11. - A Spec II replay renamed by the launcher (only when two different replays share a name) gets GT4's four-digit form; whether
Spec II lists it is not verified. - Everything else is unchanged from rc9, including its known issues.
Requirements
Windows 10 or 11, 64-bit, a processor with SSE4.1. CoreGS 2.0 needs a graphics card with Vulkan 1.2.
Credits and legal
Our code is MIT. GSdx is the PCSX2 GS (GPL-3.0-or-later), downloaded by the launcher and run in its own process; the game
executable contains no GPL code. FSR1 sharpening is written from AMD's published MIT design.