Some textures in the Jak games are not pictures. The rippling ocean, flowing lava, the health bar's glow, the arrows on a track and the reflections on a car are drawn fresh every frame by tiny programs on the disc, which layer, rotate and blend pieces of texture together. The renderer's part that draws them is the texture animator.
Imitations by hand
OpenGOAL did not run those programs. For most animations it kept recipes written by hand in C++, one per texture, that tried to reproduce what each program did. It did have a reader for the disc's drawing instructions, but one that understood only part of that language: it skipped some of the settings and refused two of the three ways the programs blend layers. Phaethon's first pass at Jak X followed the same approach, with sixteen hand-written recipes of its own.
The stadium that stayed flat
Jak X is where this broke down. A playtester reported that the water in Kras Dirt Stadium was a flat teal. Looking closer, 30 to 33 of Jak X's 42 animated textures were drawing an 8 by 8 placeholder instead of their animation.
Running the disc's own programs
From October 10th to 15th the animator was rebuilt to run the disc's own drawing programs, with a reader that handles the settings and blends upstream's skipped. Checking the old hand-written recipes against the disc, texel by texel, settled which ones had been right:
- Eight matched the disc exactly.
- Six had been rotating their layers in mirror image the whole time: the ocean, the ocean sky, the stadium water and three arrows. On some, more than 64,000 of 65,536 texels differed.
- The water's detail levels went one deep where the disc has four.
- The jungle's lava had been cut from four layers to three to get past a check.
Jak X's sixteen hand-written recipes were deleted. Its animated textures now come straight from the disc.
What reached the trilogy
Jak II and Jak 3 got the corrected reader, the mirror-image fix and their remastered textures at full resolution. Their animations still use upstream's hand-kept tables for now; moving them onto the disc's own programs is the next step. Jak and Daxter does not use the animator at all.
Alex (maintainer, and a mechanical engineer by trade)
