Skip to content

SEGA Ninja (SA2)

Sonic Adventure 2 (Sonic Team, 2001) draws and collides its stages with data structured by SEGA’s Ninja library: the tools that read it call the structures NJS_OBJECT, NJS_TEXLIST, NJS_TEXNAME and NJS_MATERIAL, with Chunk and Basic models and (on GameCube) GX-state “Ginja” models. Sourced · SA Tools This wiki records the GameCube release, Sonic Adventure 2: Battle, read from the USA disc image (GSNE8P), not the PC version. Observed

The disc is a plain GameCube file system. A stage is a REL module that carries the stage’s landtables, object list and strings; its picture is a PRS-compressed GVM archive named by the landtable; its geometry is a landtable of COL entries; its objects are in separate SET files; its lights and fog are in binary files the module names. Observed

The decoding is a recorded census of the whole USA disc (79 stage data files, 101 landtables, 27,919 COL entries, 225 SET files); the figures cannot be re-run now, so they are marked Observed with their scope, and nothing here is marked as proven. The container and model formats come from the community tool SA Tools and are Sourced; what was measured on the disc beyond them is Observed. Observed

Area State Confidence
Disc layout and stage modules complete for the USA disc Observed
Landtables, COL entries and Ginja material words every COL entry builds; lighting channel setup is engine code Observed
Texture binding a name rule consistent with 3,118 of 3,121 texlist entries; the game’s own loader not read Observed
SET placement layout known; per-object meaning of rotation and parameters not decoded Observed
Light and fog files layouts known; which slot or fog applies is engine code Sourced · SA Tools
Object models, sky models, animation, Chao not read Unknown

Games: Sonic Adventure 2: Battle.

Does the Dreamcast, PC or Steam release store its stages the same way?

Only the GameCube USA disc was read. SA Tools covers the other releases with their own data mappings, but their layouts were not compared here.

Pages

Archives and files

  • Stage modules (REL and PRS) — How Sonic Adventure 2: Battle packs each stage as a relocatable REL module, the PRS compression, the load address, and what a census of the disc's 79 stage data files found.
  • The GameCube disc and its files — How the Sonic Adventure 2: Battle GameCube disc is laid out (header, file system table), and where the stage, texture, set and light files sit on it.

World and streaming

Geometry

  • Landtables, COL entries and models — How Sonic Adventure 2: Battle describes a stage's geometry as landtables of COL entries holding Ninja object trees, the three attach formats, the Ginja (GX) material words, and the winding rule.

Textures

  • GVM textures and how a landtable binds them — The PRS-compressed GVM texture archives of Sonic Adventure 2: Battle, their header, the texture list of a landtable, and the three rules by which a texture name finds its picture.

Lighting and sky

  • Light and fog files — The light and fog binary files of Sonic Adventure 2: Battle stages, how a stage names them, their layouts and which parts of their use are engine code.

Sources

  • X-Hax SA Tools — formats, loaders and the SA2B data mappings (SAModel, SplitTools, ArchiveLib, TextureLib); no licence file
  • YAGCD — GameCube disc header and file system table