Burnout 2 Race Car: Difference between revisions

From Burnout Wiki
Content added Content deleted
m (correct file extensions)
No edit summary
Line 15: Line 15:
|}
|}


= Header =
= Header (Version 0x0B) =
=== Version 0x0B (WIP) ===
{|class="wikitable"
{|class="wikitable"
!Offset
!Offset
Line 24: Line 23:
!Notes
!Notes
|-
|-
| 0x00 || Version code || uint32_t || <tt>0xB2CA000B</tt> || This value is <tt>0xB2CA2001</tt> for Xbox race car files, and <tt> 0xB2CA2003</tt> for GameCube ones.
| 0x00 || Version code || int || <tt>0xB2CA000B</tt> || This value is <tt>0xB2CA2001</tt> for Xbox race car files, and <tt> 0xB2CA2003</tt> for GameCube ones.
|-
|-
| 0x04 || Loaded state || uint32_t || 0x00 ||
| 0x04 || Loaded state || uint || 0x00 ||
|-
|-
| 0x08 || File size in bytes || uint8_t || ||
| 0x08 || File size in bytes || uint32 || ||
|-
|-
| 0x0C || Object radius || float || ||
| 0x0C || Object radius || float || ||
Line 34: Line 33:
| 0x10 || Wheel radii || float[4] || ||
| 0x10 || Wheel radii || float[4] || ||
|-
|-
| 0x28 || Main object count || int32_t || ||
| 0x28 || Main object count || int || ||
|-
|-
| 0x2C || Shadow object count || int32_t || ||
| 0x2C || Flying object count || int || ||
|-
|-
| 0x30 || Wheel object count || int32_t || ||
| 0x30 || Wheel object count || int || ||
|-
|-
| 0x34 || Shadow wheel object count || int32_t || ||
| 0x34 || Shadow wheel object count || int || ||
|-
|-
| 0x38 || Main objects offset || Vehicle Object* || ||
| 0x38 || Main objects offset || Vehicle Object* || ||
|-
|-
| 0x88 || Pointer to chassis texture || Texture* || ||
| 0x3C || Flying render object count || int[] || ||
|-
| 0x5C || Flying object(s) offset || Vehicle Object*[] || ||
|-
| 0x7C || Wheel object offset || Vehicle Object* || ||
|-
| 0x80 || Main shadow object offset || Vehicle Object* || ||
|-
| 0x84 || Shadow wheel object offset || Vehicle Object* || ||
|-
| 0x88 || Main texture offset || Texture* || ||
|-
|-
| 0x8C || Glass opacity || float || ||
| 0x8C || Glass opacity || float || ||
|-
|-
| 0xCD8 || Pointer to speedometer texture || Texture* || ||
| 0x90 || Tags || RwMatrixTag[] || ||
|-
| 0xC90 || Front lights attach point || int16 || ||
|-
| 0xC92 || Rear lights attach point || int16 || ||
|-
| 0xC94 || Brake lights attach point || int16 || ||
|-
| 0xC96 || Running lights attach point || int16 || ||
|-
| 0xC98 || Reverse lights attach point || int16 || ||
|-
| 0xC9A || Left indicators attach point || int16 || ||
|-
| 0xC9C || Right indicators attach point || int16 || ||
|-
| 0xC9E || Blues and twos (blue) attach point || int16 || ||
|-
| 0xCA0 || Blues and twos (red) attach point || int16 || ||
|-
| 0xCA2 || Strobe lights attach point || int16 || ||
|-
| 0xCA4 || Exhaust attach point || int16 || ||
|-
| 0xCA6 || Glass attach point || int16 || ||
|-
| 0xCA8 || Steam attach point || int16 || ||
|-
| 0xCAA || Fire attach point || int16 || ||
|-
| 0xCAC || Kojack attach point || int16 || ||
|-
| 0xCB0 || Bounding box || Bounding Box || ||
|-
| 0xCD0 || Use bounding hull? || bool ||
|-
| 0xCD4 || Total vertex count || int || ||
|-
| 0xCD8 || Speedometer texture offset || Texture* || ||
|-
| 0xCDC || BSM offsets || BSM Sound Model*[2] || ||
|}
|}

Revision as of 22:05, 13 May 2021

The Burnout 2 Race Car file format is used to store the model and texture data for a particular vehicle in Burnout 2: Point of Impact. It uses the file extension .RCX for the in-game model variant, and .RCF for the higher-detail model variant used in the garage.

This format contains most of the data related to any given vehicle, including mesh data, Level of Detail models, texture data, pointers to external files, deformation matrices and collision detection parameters.

Versions

Race Car version
0x09 0x0A 0x0B
Date Jul 2002 Early Aug 2002 Late Aug 2002
Games Preview Build Beta Candidate
Promotional Demo
Final Game

Header (Version 0x0B)

Offset Name Type Value Notes
0x00 Version code int 0xB2CA000B This value is 0xB2CA2001 for Xbox race car files, and 0xB2CA2003 for GameCube ones.
0x04 Loaded state uint 0x00
0x08 File size in bytes uint32
0x0C Object radius float
0x10 Wheel radii float[4]
0x28 Main object count int
0x2C Flying object count int
0x30 Wheel object count int
0x34 Shadow wheel object count int
0x38 Main objects offset Vehicle Object*
0x3C Flying render object count int[]
0x5C Flying object(s) offset Vehicle Object*[]
0x7C Wheel object offset Vehicle Object*
0x80 Main shadow object offset Vehicle Object*
0x84 Shadow wheel object offset Vehicle Object*
0x88 Main texture offset Texture*
0x8C Glass opacity float
0x90 Tags RwMatrixTag[]
0xC90 Front lights attach point int16
0xC92 Rear lights attach point int16
0xC94 Brake lights attach point int16
0xC96 Running lights attach point int16
0xC98 Reverse lights attach point int16
0xC9A Left indicators attach point int16
0xC9C Right indicators attach point int16
0xC9E Blues and twos (blue) attach point int16
0xCA0 Blues and twos (red) attach point int16
0xCA2 Strobe lights attach point int16
0xCA4 Exhaust attach point int16
0xCA6 Glass attach point int16
0xCA8 Steam attach point int16
0xCAA Fire attach point int16
0xCAC Kojack attach point int16
0xCB0 Bounding box Bounding Box
0xCD0 Use bounding hull? bool
0xCD4 Total vertex count int
0xCD8 Speedometer texture offset Texture*
0xCDC BSM offsets BSM Sound Model*[2]