Hasty Briefsbeta

Bilingual

Reverse Engineering Crazy Taxi, Part 2

3 days ago
  • #game development
  • #3d graphics
  • #reverse engineering
  • The article discusses reverse engineering Crazy Taxi's .shp file format, suspected to contain 3D model data, using a cube model as a reference.
  • Key techniques include analyzing hex data, understanding GameCube's Flipper GPU architecture, and using fixed-point number formats for vertex positions.
  • The .shp file header contains offsets to vertex attribute streams (positions, normals, colors, textures) and display list commands for rendering.
  • Cube0.shp's vertex positions are identified as signed 16-bit fixed-point Q0.15 numbers, normalized by a factor in the header.
  • Texture coordinates are found in another section, likely using Q8.8 fixed-point format, and linked to texture names listed later in the file.
  • Display lists in the file follow GameCube's GX format, with draw calls like GX_DRAW_TRIANGLES, enabling rendering of the cube model in a web emulator.