Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Burnout Legends Demo: "enviro.dat" Garage
- Initial reads and most operations occur on function i0x089FECF8
- File header size = 0x01D0
- Notes:
- - Only values with prefixed types are confirmed, other are placeholders.
- - 4-byte values are assumed to be u32/uint, but may be s32/int instead
- - Values with no decriptions mean that the value is re-stored as-is somewhere in RAM.
- //enum enviroDatHeaderData
- {
- // VarType Offset Operation descriptions from game code
- // > Copied to 0x08DCEF50
- unk00 0x00,
- unk04 0x04,
- unk08 0x08,
- unk0C 0x0C,
- unk10 0x10,
- unk14 0x14,
- unk18 0x18,
- unk1C 0x1C,
- unk20 0x20,
- unk24 0x24,
- unk28 0x28,
- unk2C 0x2C,
- // <
- unk30 0x30,
- unk34 0x34,
- unk38 0x38,
- unk3C 0x3C,
- unk40 0x40,
- unk44 0x44,
- unk48 0x48,
- unk4C 0x4C,
- unk50 0x50,
- unk54 0x54,
- unk58 0x58,
- unk5C 0x5C,
- unk60 0x60,
- unk64 0x64,
- unk68 0x68,
- unk6C 0x6C,
- unk70 0x70,
- unk74 0x74,
- unk75 0x78,
- unk7C 0x7C,
- // > Values are negated (sign change) and results are re-stored as floats at same address
- float unk80 0x80,
- float unk84 0x84,
- float unk88 0x88,
- float unk8C 0x8C,
- // < Values are negated (sign change) and results are re-stored as floats at same address
- float unk90 0x90, // Multiplies PSP X resolution (480) and result is re-stored as float at same address
- unk94 0x94,
- u32* skTex1_Ptr 0x98,
- u32* skTex2_Ptr 0x9C,
- u32* skTex3_Ptr 0xA0,
- u32* skTex4_Ptr 0xA4,
- u32* skTex5_Ptr 0xA8,
- u32* skTex6_OptnPtr 0xAC,
- u8 unkB0 0xB0,
- float unkB4 0xB4,
- float unkB8 0xB8,
- unkBC 0xBC,
- float unkC0 0xC0, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkC4 0xC4, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkC8 0xC8, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkD0 0xD0,
- float unkD4 0xD4,
- float unkD8 0xD8,
- float unkE0 0xE0, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkE4 0xE4, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkE8 0xE8, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkF0 0xF0, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkF4 0xF4, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unkF8 0xF8, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk100 0x100, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk104 0x104, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk108 0x108, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk110 0x110, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk114 0x114, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk118 0x118, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk120 0x120, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk124 0x124, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk128 0x128, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk130 0x130, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk134 0x134, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk138 0x138, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk140 0x140,
- float specularCoeff1 0x144,
- u8 specularCoeff2 0x148,
- u32 unk14C 0x14C,
- u32 unk150 0x150,
- float unk154 0x154,
- u8 unk158 0x158,
- u32 unk15C 0x15C,
- float unk160 0x160,
- float unk164 0x164,
- u32 unk168 0x168,
- float unk170 0x170, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk174 0x174, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk178 0x178, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk180 0x180, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk184 0x184, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk188 0x188, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk190 0x190,
- float unk194 0x194,
- float unk198 0x198,
- u8 unk1A0 0x1A0,
- float unk1A4 0x1A4,
- float unk1A8 0x1A8,
- float unk1B0 0x1B0, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk1B4 0x1B4, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- float unk1B8 0x1B8, // Conditional check: If lower than constant 2147483648.0f (INT_MAX), store somewhere as INT
- u8 unk1C0 0x1C0,
- float unk1C4 0x1C4,
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement