Profile/Need for Speed Hot Pursuit: Difference between revisions

Content added Content deleted
(Add protection)
m (Minor updates based on new symbols)
 
Line 22: Line 22:
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
|-
|-
| 0x4 || 0x40000 || [[#Mud::Db|Db]] || ? || MUD database ||
| 0x4 || 0x40000 || [[#AK::Mud::Db|Db]] || ? || MUD database ||
|-
|-
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
Line 33: Line 33:
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
|-
|-
| 0x4 || 0x40000 || [[#Mud::Db|Db]] || ? || MUD database ||
| 0x4 || 0x40000 || [[#AK::Mud::Db|Db]] || ? || MUD database ||
|-
|-
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
Line 48: Line 48:
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
| 0x0 || 0x4 || uint32_t || ? || Database length || All pointers in the database are relative to offset 0x4 because of this
|-
|-
| 0x4 || 0x40000 || [[#Mud::Db|Db]] || ? || MUD database ||
| 0x4 || 0x40000 || [[#AK::Mud::Db|Db]] || ? || MUD database ||
|-
|-
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
| 0x40004 || 0x4700C || ? || ? || Unknown data, always null ||
Line 57: Line 57:
|}
|}


=== Mud::Db ===
=== AK::Mud::Db ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
Line 70: Line 70:
| 0x8 || 0x100 || uint8_t[256] || mauReserved || ||
| 0x8 || 0x100 || uint8_t[256] || mauReserved || ||
|-
|-
| 0x108 || 0x4 || [[ArrayList]]<[[#Mud::Table|Table]], 200>* || mTables || Database tables || Always 0x180
| 0x108 || 0x4 || [[#AK::Mud::Db::TableList|TableList]] || mpTables || Database tables || Always 0x180
|-
|-
| 0x10C || 0x8 || [[#Mud::Allocator|Allocator]] || mPageAllocator || Database allocation ||
| 0x10C || 0x8 || [[#AK::Mud::Allocator|Allocator]] || mPageAllocator || Database allocation ||
|}
|}


Line 87: Line 87:
| 0x8 || 0x100 || uint8_t[256] || mauReserved || ||
| 0x8 || 0x100 || uint8_t[256] || mauReserved || ||
|-
|-
| 0x108 || 0x8 || [[ArrayList]]<[[#Mud::Table|Table]], 200>* || mTables || Database tables || Always 0x180
| 0x108 || 0x8 || [[#AK::Mud::Db::TableList|TableList]] || mpTables || Database tables || Always 0x180
|-
|-
| 0x110 || 0xC || [[#Mud::Allocator|Allocator]] || mPageAllocator || Database allocation ||
| 0x110 || 0xC || [[#AK::Mud::Allocator|Allocator]] || mPageAllocator || Database allocation ||
|}
|}


=== Mud::Table ===
=== AK::Mud::Table ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
Line 101: Line 101:
| 0xD || 0x3 || || || Padding ||
| 0xD || 0x3 || || || Padding ||
|-
|-
| 0x10 || 0x178 || [[#Mud::RowDef|RowDef]] || mRowDef || Row ||
| 0x10 || 0x178 || [[#AK::Mud::RowDef|RowDef]] || mRowDef || Row ||
|-
|-
| 0x188 || 0x4 || [[#Mud::Page|Page]]* || mpFirstPage || ||
| 0x188 || 0x4 || [[#AK::Mud::Page|Page]]* || mpFirstPage || ||
|-
|-
| 0x18C || 0x4 || [[#Mud::Allocator|Allocator]]* || mpAllocator || || Always 0x10C
| 0x18C || 0x4 || [[#AK::Mud::Allocator|Allocator]]* || mpAllocator || || Always 0x10C
|-
|-
| 0x190 || 0xB8 || uint8_t[184] || mauDefaultRow || Default values || Data length is same as row size
| 0x190 || 0xB8 || uint8_t[184] || mauDefaultRow || Default values || Data length is same as row size
Line 118: Line 118:
| 0xD || 0x3 || || || Padding ||
| 0xD || 0x3 || || || Padding ||
|-
|-
| 0x10 || 0x178 || [[#Mud::RowDef|RowDef]] || mRowDef || Row ||
| 0x10 || 0x178 || [[#AK::Mud::RowDef|RowDef]] || mRowDef || Row ||
|-
|-
| 0x188 || 0x8 || [[#Mud::Page|Page]]* || mpFirstPage || ||
| 0x188 || 0x8 || [[#AK::Mud::Page|Page]]* || mpFirstPage || ||
|-
|-
| 0x190 || 0x8 || [[#Mud::Allocator|Allocator]]* || mpAllocator || || Always 0x110
| 0x190 || 0x8 || [[#AK::Mud::Allocator|Allocator]]* || mpAllocator || || Always 0x110
|-
|-
| 0x198 || 0xB8 || uint8_t[184] || mauDefaultRow || Default values || Data length is same as row size
| 0x198 || 0xB8 || uint8_t[184] || mauDefaultRow || Default values || Data length is same as row size
|}
|}


=== Mud::RowDef ===
=== AK::Mud::RowDef ===
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x2 || uint16_t || mRowSize || Number of columns ||
| 0x0 || 0x2 || uint16_t || muRowSize || Number of columns ||
|-
|-
| 0x2 || 0x2 || || || Padding ||
| 0x2 || 0x2 || || || Padding ||
|-
|-
| 0x4 || 0x174 || [[#Mud::RowDef::ColumnList|ColumnList]] || mColumns || Columns ||
| 0x4 || 0x174 || [[#AK::Mud::RowDef::ColumnList|ColumnList]] || mColumns || Columns ||
|}
|}


=== Mud::Column ===
=== AK::Mud::Column ===
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 144: Line 144:
| 0x0 || 0xD || char[13] || macName || Name ||
| 0x0 || 0xD || char[13] || macName || Name ||
|-
|-
| 0xD || 0x1 || uint8_t || muType || Field type || See [[#Mud::EType|type]]
| 0xD || 0x1 || uint8_t || muType || Field type || See [[#AK::Mud::EType|type]]
|-
|-
| 0xE || 0x2 || uint16_t || muRowOffset || Offset in structure ||
| 0xE || 0x2 || uint16_t || muRowOffset || Offset in structure ||
|}
|}


=== Mud::Page ===
=== AK::Mud::Page ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x10 || [[#Mud::Page::Header|Header]] || mHeader || ||
| 0x0 || 0x10 || [[#AK::Mud::Page::Header|Header]] || mHeader || ||
|-
|-
| 0x10 || 0xEC || uint8_t[236] || mBody || ||
| 0x10 || 0xEC || uint8_t[236] || mBody || ||
|-
|-
| 0xFC || 0x4 || [[#Mud::Page::Footer|Footer]] || mFooter || ||
| 0xFC || 0x4 || [[#AK::Mud::Page::Footer|Footer]] || mFooter || ||
|}
|}


Line 165: Line 165:
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x18 || [[#Mud::Page::Header|Header]] || mHeader || ||
| 0x0 || 0x18 || [[#AK::Mud::Page::Header|Header]] || mHeader || ||
|-
|-
| 0x18 || 0xE4 || uint8_t[228] || mBody || ||
| 0x18 || 0xE4 || uint8_t[228] || mBody || ||
|-
|-
| 0xFC || 0x4 || [[#Mud::Page::Footer|Footer]] || mFooter || ||
| 0xFC || 0x4 || [[#AK::Mud::Page::Footer|Footer]] || mFooter || ||
|}
|}


=== Mud::Page::Header ===
=== AK::Mud::Page::Header ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x4 || [[#Mud::Page|Page]]* || mpNext || Next node ||
| 0x0 || 0x4 || [[#AK::Mud::Page|Page]]* || mpNext || Next node ||
|-
|-
| 0x4 || 0x4 || [[#Mud::Table|Table]]* || mpTable || Type ||
| 0x4 || 0x4 || [[#AK::Mud::Table|Table]]* || mpTable || Type ||
|-
|-
| 0x8 || 0x2 || uint16_t || muNextAllocation || Length ||
| 0x8 || 0x2 || uint16_t || muNextAllocation || Length ||
Line 185: Line 185:
| 0xA || 0x2 || || || Padding ||
| 0xA || 0x2 || || || Padding ||
|-
|-
| 0xC || 0x4 || uint32_t || muSentinelPre || ||
| 0xC || 0x4 || uint32_t || muSentinelPre || || 0xB0B0ABCD
|}
|}


Line 192: Line 192:
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x8 || [[#Mud::Page|Page]]* || mpNext || Next node ||
| 0x0 || 0x8 || [[#AK::Mud::Page|Page]]* || mpNext || Next node ||
|-
|-
| 0x8 || 0x8 || [[#Mud::Table|Table]]* || mpTable || Type ||
| 0x8 || 0x8 || [[#AK::Mud::Table|Table]]* || mpTable || Type ||
|-
|-
| 0x10 || 0x2 || uint16_t || muNextAllocation || Length ||
| 0x10 || 0x2 || uint16_t || muNextAllocation || Length ||
Line 200: Line 200:
| 0x12 || 0x2 || || || padding ||
| 0x12 || 0x2 || || || padding ||
|-
|-
| 0x14 || 0x4 || uint32_t || muSentinelPre || ||
| 0x14 || 0x4 || uint32_t || muSentinelPre || || 0xB0B0ABCD
|}
|}


=== Mud::Page::Footer ===
=== AK::Mud::Page::Footer ===
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x4 || uint32_t || muSentinelPost || ||
| 0x0 || 0x4 || uint32_t || muSentinelPost || || 0xC00BACCA
|}
|}


=== Mud::Allocator ===
=== AK::Mud::Allocator ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x4 || [[#Mud::Page|Page]]* || mpaPages || || Always 0x1CA00
| 0x0 || 0x4 || [[#AK::Mud::Page|Page]]* || mpaPages || || Always 0x1CA00
|-
|-
| 0x4 || 0x4 || int32_t || miNumPages || || Always 0x236
| 0x4 || 0x4 || int32_t || miNumPages || || Always 0x236
Line 224: Line 224:
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x8 || [[#Mud::Page|Page]]* || mpaPages || || Always 0x1D080
| 0x0 || 0x8 || [[#AK::Mud::Page|Page]]* || mpaPages || || Always 0x1D080
|-
|-
| 0x8 || 0x4 || int32_t || miNumPages || || Always 0x22F
| 0x8 || 0x4 || int32_t || miNumPages || || Always 0x22F
Line 243: Line 243:


= Typedefs =
= Typedefs =
=== Mud::RowDef::ColumnList ===
=== AK::Mud::Db::TableList ===
{| class="wikitable"
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
! Name !! Type !! Length !! Comments
|-
|-
| ColumnList || [[#Mud::MudArrayList<Mud::Column, 23>::type|MudArrayList<Column, 23>::type]] || 0x174 ||
| TableList || [[ArrayList]]<[[#AK::Mud::Table|Table]], 200>* || 0x4 ||
|}
|}


=== Mud::MudArrayList<Mud::Column, 23>::type ===
=== AK::Mud::RowDef::ColumnList ===
{| class="wikitable"
{| class="wikitable"
! Name !! Type !! Length !! Comments
|-
|-
| ColumnList || [[#AK::Mud::MudArrayList<Mud::Column, 23>::type|MudArrayList<Column, 23>::type]] || 0x174 ||
|}

=== AK::Mud::MudArrayList<Mud::Column, 23>::type ===
{| class="wikitable"
! Name !! Type !! Length !! Comments
! Name !! Type !! Length !! Comments
|-
|-
| type || [[ArrayList]]<[[#Mud::Column|Column]], 23> || 0x174 ||
| type || [[ArrayList]]<[[#AK::Mud::Column|Column]], 23> || 0x174 ||
|}
|}


= Enumerations =
= Enumerations =
=== Mud::EType ===
=== AK::Mud::EType ===
{| class="wikitable"
{| class="wikitable"
! Name !! Value !! Comments
! Name !! Value !! Comments