Difference between revisions of "Saves (GTA LCS)"

From GTAMods Wiki
Jump to navigation Jump to search
(Added Saves (LCS) with android blocks of LCS save file mostly documented)
 
 
(6 intermediate revisions by 2 users not shown)
Line 119: Line 119:
 
| +304 || || || || uint8 || has player cheated
 
| +304 || || || || uint8 || has player cheated
 
|-
 
|-
| +305 || || || || uint8 || do all taxis have nitro (unused)
+
| +305 || || || || uint8 || do all taxis have nitro/jump
 
|-
 
|-
 
| +306 || || || || uint8 || target is on (unused)
 
| +306 || || || || uint8 || target is on (unused)
Line 247: Line 247:
 
| +92 || || || || uint16 || number of stack pointers
 
| +92 || || || || uint16 || number of stack pointers
 
|-
 
|-
| +94 || || || || uint16 || (unknown)
+
| +94 || || || || uint16 || (align)
 
|-
 
|-
 
| +96 || || || || uint32[104] || local variables
 
| +96 || || || || uint32[104] || local variables
Line 253: Line 253:
 
| +512 || || || || uint32[2] || timers
 
| +512 || || || || uint32[2] || timers
 
|-
 
|-
| +520 || || || || uint8[5] || unknown
+
| +520 || || || || uint32 || locals base index
 +
|-
 +
| +524 || || || || uint8 || unknown
 
|-
 
|-
 
| +525 || || || || uint8 || condition result
 
| +525 || || || || uint8 || condition result
Line 263: Line 265:
 
| +528 || || || || uint32 || wake time
 
| +528 || || || || uint32 || wake time
 
|-
 
|-
| +532 || || || || uint16 || logical operation
+
| +532 || || || || uint16 || if number
 
|-
 
|-
 
| +534 || || || || uint8 || not flag
 
| +534 || || || || uint8 || not flag
Line 273: Line 275:
 
| +537 || || || || uint8 || is a mission
 
| +537 || || || || uint8 || is a mission
 
|-
 
|-
| +538 || || || || uint8[2] || (unknown) (pad?)
+
| +538 || || || || uint8[2] || (align)
 
|}
 
|}
  
Line 412: Line 414:
 
* 0b00'''1'''000 = Collision proof
 
* 0b00'''1'''000 = Collision proof
 
* 0b0'''1'''0000 = Melee proof
 
* 0b0'''1'''0000 = Melee proof
* 0b'''1'''00000 = Hellenbach GT
 
  
 
''' Radio Stations '''
 
''' Radio Stations '''
Line 523: Line 524:
 
!DESCRIPTION
 
!DESCRIPTION
 
|-
 
|-
| +0 || || || || uint32 ||  people killed by player
+
| +0 || || +0 || || uint32 ||  people killed by player
 +
|-
 +
| +4 || || +4 || || uint32 ||  people killed by others
 
|-
 
|-
| +4 || || || || uint32 ||  people killed by others
+
| +8 || || +8 || || uint32 ||  cars exploded
 
|-
 
|-
| +8 || || || || uint32 ||  cars exploded
+
| +12 || || +12 || || uint32 ||  boats exploded
 
|-
 
|-
| +12 || || || || uint32 ||  boats exploded
+
| +16 || || +16 || || uint32 ||  tyres popped
 
|-
 
|-
| +16 || || || || uint32 ||  tyres popped
+
| +20 || || +20 || || uint32 ||  rounds fired by player
 
|-
 
|-
| +20 || || || || uint32 || rounds fired by player
+
| +24 || || +24 || || uint32[14] || peds killed of type
 
|-
 
|-
| +24 || || || || uint32[14] || peds killed of type
+
| +116 || || +116 || || uint32 || helis destroyed
 
|-
 
|-
| +116 || || || || uint32 ||  helis destroyed
+
| +120 || || +120 || || float ||  progress made
 
|-
 
|-
| +120 || || || || float ||  progress made
+
| +124 || || +124 || || uint32 ||  total progress in game
 
|-
 
|-
| +124 || || || || uint32 ||  total progress in game
+
| +128 || || +128 || || float ||  kgs of explosives used
 
|-
 
|-
| +128 || || || || float ||  kgs of explosives used
+
| +132 || || +132 || || uint32 ||  bullets that hit
 
|-
 
|-
| +132 || || || || uint32 ||  bullets that hit
+
| +136 || || +136 || || uint32 ||  cars crushed
 
|-
 
|-
| +136 || || || || uint32 ||  cars crushed
+
| +140 || || +140 || || uint32 ||  heads popped
 
|-
 
|-
| +140 || || || || uint32 ||  heads popped
+
| +144 || || +144 || || uint32 ||  wanted stars attained
 
|-
 
|-
| +144 || || || || uint32 ||  wanted stars attained
+
| +148 || || +148 || || uint32 ||  wanted stars evaded
 
|-
 
|-
| +148 || || || || uint32 ||  wanted stars evaded
+
| +152 || || +152 || || uint32 ||  times arrested
 
|-
 
|-
| +152 || || || || uint32 ||  times arrested
+
| +156 || || +156 || || uint32 ||  times died
 
|-
 
|-
| +156 || || || || uint32 ||  times died
+
| +160 || || +160 || || uint32 ||  days passed
 
|-
 
|-
| +160 || || || || uint32 ||  days passed
+
| +164 || || +164 || || uint32 ||  safe house visits
 
|-
 
|-
| +164 || || || || uint32 ||  safe house visits
+
| +168 || || +168 || || uint32 ||  sprayings
 
|-
 
|-
| +168 || || || || uint32 ||  sprayings
+
| +172 || || +172 || || float ||  maximum jump distance
 
|-
 
|-
| +172 || || || || float ||  maximum jump distance
+
| +176 || || +176 || || float ||  maximum jump height
 
|-
 
|-
| +176 || || || || float ||  maximum jump height
+
| +180 || || +180 || || uint32 ||  maximum jump flips
 
|-
 
|-
| +180 || || || || uint32 ||  maximum jump flips
+
| +184 || || +184 || || uint32 ||  maximum jump spins
 
|-
 
|-
| +184 || || || || uint32 ||  maximum jump spins
+
| +188 || || +188 || || uint32 ||  best stunt jump
 
|-
 
|-
| +188 || || || || uint32 ||  best stunt jump
+
| +192 || || +192 || || uint32 ||  number of unique jumps found
 
|-
 
|-
| +192 || || || || uint32 ||  number of unique jumps found
+
| +196 || || +196 || || uint32 ||  total number of unique jumps
 
|-
 
|-
| +196 || || || || uint32 ||  total number of unique jumps
+
| +200 || || +200 || || uint32 ||  missions given
 
|-
 
|-
| +200 || || || || uint32 ||  missions given
+
| +204 || || +204 || || uint32 ||  passengers dropped off with taxi
 
|-
 
|-
| +204 || || || || uint32 ||  passengers dropped off with taxi
+
| +208 || || +208 || || uint32 ||  money made with taxi
 
|-
 
|-
| +208 || || || || uint32 ||  money made with taxi
+
| +212 || || +212 || || uint32 ||  industrial passed (portland)
 
|-
 
|-
| +212 || || || || uint32 ||  industrial passed (portland)
+
| +216 || || +216 || || uint32 ||  commercial passed (staunton)
 
|-
 
|-
| +216 || || || || uint32 ||  commercial passed (staunton)
+
| +220 || || +220 || || uint32 ||  suburban passed (shoreside vale)
 
|-
 
|-
| +220 || || || || uint32 ||  suburban passed (shoreside vale)
+
| +224 || || +224 || || uint32 ||  pamphlet mission passed (VC leftover)
 
|-
 
|-
| +224 || || || || uint32 ||  pamphlet mission passed (VC leftover)
+
| +228 || || +228 || || uint32 ||  no more hurricanes
 
|-
 
|-
| +228 || || || || uint32 ||  no more hurricanes
+
| +232 || || +232 || || float ||  distance travelled on foot
 
|-
 
|-
| +232 || || || || float ||  distance travelled on foot
+
| +236 || || +236 || || float ||  distance travelled by car
 
|-
 
|-
| +236 || || || || float ||  distance travelled by car
+
| +240 || || +240 || || float ||  distance travelled by bike
 
|-
 
|-
| +240 || || || || float ||  distance travelled by bike
+
| +244 || || +244 || || float ||  distance travelled by boat
 
|-
 
|-
| +244 || || || || float ||  distance travelled by boat
+
| +248 || || +248 || || float ||  distance travelled by plane
 
|-
 
|-
| +248 || || || || float ||  distance travelled by plane
+
| +252 || || +252 || || uint32 ||  lives saved with ambulance
 
|-
 
|-
| +252 || || || || uint32 ||  lives saved with ambulance
+
| +256 || || +256 || || uint32 ||  criminals caught
 
|-
 
|-
| +256 || || || || uint32 ||  criminals caught
+
| +260 || || +260 || || uint32 ||  fires extinguished
 
|-
 
|-
| +260 || || || || uint32 ||  fires extinguished
+
| +264 || || +264 || || uint32 ||  highest level vigilante mission
 
|-
 
|-
| +264 || || || || uint32 ||  highest level vigilante mission
+
| +268 || || +268 || || uint32 ||  highest level ambulance mission
 
|-
 
|-
| +268 || || || || uint32 ||  highest level ambulance mission
+
| +272 || || +272 || || uint32 ||  highest level fire mission
 
|-
 
|-
| +272 || || || || uint32 ||  highest level fire mission
+
| +276 || || +276 || || uint32 ||  photos taken
 
|-
 
|-
| +276 || || || || uint32 ||  photos taken
+
| +280 || || +280 || || uint32 ||  number kill frenzies passed
 
|-
 
|-
| +280 || || || || uint32 ||  number kill frenzies passed
+
| +284 || || +284 || || uint32 ||  max seconds on karmageddon left
 
|-
 
|-
| +284 || || || || uint32 ||  max seconds on karmageddon left
+
| +288 || || +288 || || uint32 ||  max kills on rc triad
 
|-
 
|-
| +288 || || || || uint32 ||  max kills on rc triad
+
| +292 || || +292 || || uint32 ||  total number kill frenzies
 
|-
 
|-
| +292 || || || || uint32 ||  total number kill frenzies
+
| +296 || || +296 || || uint32 ||  total number missions
 
|-
 
|-
| +296 || || || || uint32 ||  total number missions
+
| +300 || || +300 || || uint32 ||  times drowned
 
|-
 
|-
| +300 || || || || uint32 ||  times drowned
+
| +304 || || +304 || || uint32 ||  seagulls killed
 
|-
 
|-
| +304 || || || || uint32 ||  seagulls killed
+
| +308 || || +308 || || uint32 ||  weapon budget
 
|-
 
|-
| +308 || || || || uint32 ||  weapon budget
+
| +312 || || +312 || || uint32 ||  loan sharks (unused)
 
|-
 
|-
| +312 || || || || uint32 ||  loan sharks (unused)
+
| +316 || || +316 || || uint32 ||  movie stunts (unused)
 
|-
 
|-
| +316 || || || || uint32 ||  movie stunts (unused)
+
| +320 || || +320 || || uint32 ||  pizzas delivered
 
|-
 
|-
| +320 || || || || uint32 ||  pizzas delivered
+
| +324 || || +324 || || uint32 ||  noodles delivered
 
|-
 
|-
| +324 || || || || uint32 ||  noodles delivered
+
| +328 || || +328 || || uint32 ||  money made from tourist
 
|-
 
|-
| +328 || || || || uint32 ||  money made from tourist
+
| +332 || || +332 || || uint32 ||  tourists taken to spots
 
|-
 
|-
| +332 || || || || uint32 ||  tourists taken to spots
+
| +336 || || +336 || || uint32 ||  garbage pickups
 
|-
 
|-
| +336 || || || || uint32 ||  garbage pickups
+
| +340 || || +340 || || uint32 ||  ice cream sold
 
|-
 
|-
| +340 || || || || uint32 ||  ice cream sold
+
| +344 || || +344 || || uint32 ||  top shooting range score
 
|-
 
|-
| +344 || || || || uint32 ||  top shooting range score
+
| +348 || || +348 || || uint32 ||  shooting rank
 
|-
 
|-
| +348 || || || || uint32 ||  shooting rank
+
| +352 || || +352 || || uint32 ||  top scrapyard challenge score
 
|-
 
|-
| +352 || || || || uint32 ||  top scrapyard challenge score
+
| +356 || || +356 || || uint32 ||  top 9mm mayhem score
 
|-
 
|-
| +356 || || || || uint32 ||  top 9mm mayhem score
+
| +360 || || +360 || || uint32 ||  top scooter shooter score
 
|-
 
|-
| +360 || || || || uint32 ||  top scooter shooter score
+
| +364 || || +364 || || uint32 ||  top wichita wipeout score
 
|-
 
|-
| +364 || || || || uint32 ||  top wichita wipeout score
+
| +368 || || +368 || || uint32 ||  longest wheelie
 
|-
 
|-
| +368 || || || || uint32 ||  longest wheelie
+
| +372 || || +372 || || uint32 ||  longest stoppie
 
|-
 
|-
| +372 || || || || uint32 ||  longest stoppie
+
| +376 || || +376 || || uint32 ||  longest 2 wheel
 
|-
 
|-
| +376 || || || || uint32 ||  longest 2 wheel
+
| +380 || || +380 || || float ||  longest wheelie distance
 
|-
 
|-
| +380 || || || || float ||  longest wheelie distance
+
| +384 || || +384 || || float ||  longest stoppie distance
 
|-
 
|-
| +384 || || || || float ||  longest stoppie distance
+
| +388 || || +388 || || float ||  longest 2 wheel distance
 
|-
 
|-
| +388 || || || || float ||  longest 2 wheel distance
+
| +392 || || +392 || || float ||  longest face plant distance
 
|-
 
|-
| +392 || || || || float ||  longest face plant distance
+
| +396 || || +396 || || uint32 ||  auto painting budget
 
|-
 
|-
| +396 || || || || uint32 ||  auto painting budget
+
| +400 || || +400 || || uint32 ||  property destroyed
 
|-
 
|-
| +400 || || || || uint32 ||  property destroyed
+
| +404 || || +404 || || uint32 ||  num property owned
 
|-
 
|-
| +404 || || || || uint32 ||  num property owned
+
| +408 || || +408 || || uint16 ||  unlocked costumes
 
|-
 
|-
| +408 || || || || uint16 ||  unlocked costumes
+
| +410 || || +410 || || uint32 ||  blood ring kills
 
|-
 
|-
| +410 || || || || uint32 ||  blood ring kills
+
| +414 || || +414 || || uint32 ||  blood ring time
 
|-
 
|-
| +414 || || || || uint32 || blood ring time
+
| +418 || || +418 || || uint8[14] || properties owned (unused)
 
|-
 
|-
| +418 || || || || uint8[14] || properties owned (unused)
+
| +433 || || +433 || || uint32 || highest chase value
 
|-
 
|-
| +433 || || || || uint32 || highest chase value
+
| +437 || || +437 || || uint32[23] || fastest times
 
|-
 
|-
| +437 || || || || uint32[23] || fastest times
+
| +529 || || +529 || || uint32[5] || highest scores
 
|-
 
|-
| +529 || || || || uint32[5] || highest scores
+
| +561 || || +561 || || char[8] || last mission passed name
 
|-
 
|-
| +561 || || || || char[8] || last mission passed name
+
| +569 || || +569 || || uint32 || cheated count
 
|-
 
|-
| +569 || || || || uint32 || cheated count
+
| +573 || || +573 || || uint32 || cars sold
 
|-
 
|-
| +573 || || || || uint32 || cars sold
+
| +577 || || +577 || || uint32 || money made with car sales
 
|-
 
|-
| +577 || || || || uint32 || money made with car sales
+
| +581 || || +581 || || uint32 || bikes sold
 
|-
 
|-
| +581 || || || || uint32 || bikes sold
+
| +585 || || +585 || || uint32 || money made with bike sales
 
|-
 
|-
| +585 || || || || uint32 || money made with bike sales
+
| +589 || || +589 || || uint32 || number of exported cars
 
|-
 
|-
| +589 || || || || uint32 || number of exported cars
+
| +593 || || +593 || || uint32 || total number of car export
 
|-
 
|-
| +593 || || || || uint32 || total number of car export
+
| +597 || || +597 || || uint32 || highest level slash tv
 
|-
 
|-
| +597 || || || || uint32 || highest level slash tv
+
| +601 || || +601 || || uint32 || money made with slash tv
 
|-
 
|-
| +601 || || || || uint32 || money made with slash tv
+
| +605 || || +605 || || uint32 || total kills on slash tv
 
|-
 
|-
| +605 || || || || uint32 || total kills on slash tv
+
| +609 || || +609 || || uint32 || packages smuggled
 
|-
 
|-
| +609 || || || || uint32 || packages smuggled
+
| +613 || || +613 || || uint32 || smugglers wasted
 
|-
 
|-
| +613 || || || || uint32 || smugglers wasted
+
| +617 || || +617 || || uint32 || fastest smuggling time
 
|-
 
|-
| +617 || || || || uint32 || fastest smuggling time
+
| +621 || || +621 || || uint32 || money made in coach
 
|-
 
|-
| +621 || || || || uint32 || money made in coach
+
| +625 || || +625 || || uint32 || money made collecting trash
 
|-
 
|-
| +625 || || || || uint32 || money made collecting trash
+
| +629 || || +629 || || uint32 || hitmen killed
 
|-
 
|-
| +629 || || || || uint32 || hitmen killed
+
| +633 || || +633 || || uint32 || highest avenging angel justice dished
 
|-
 
|-
| +633 || || || || uint32 || highest avenging angel justice dished
+
| +637 || || +637 || || uint32 || avenging angel missions passed
 
|-
 
|-
| +637 || || || || uint32 || avenging angel missions passed
+
| +641 || || +641 || || uint32 || avenging angel highest level portland
 
|-
 
|-
| +641 || || || || uint32 || avenging angel highest level portland
+
| +645 || || +645 || || uint32 || avenging angel highest level staunton
 
|-
 
|-
| +645 || || || || uint32 || avenging angel highest level staunton
+
| +649 || || +649 || || uint32 || avenging angel highest level shoreside vale
 
|-
 
|-
| +649 || || || || uint32 || avenging angel highest level shoreside vale
+
| +653 || || +653 || || uint32 || most time left train race
 
|-
 
|-
| +653 || || || || uint32 || most time left train race
+
| +657 || || +657 || || uint32 || best time go go faggio
 
|-
 
|-
| +657 || || || || uint32 || best time go go faggio
+
| +661 || || +661 || || uint32 || highest train cash earned
 
|-
 
|-
| +661 || || || || uint32 || highest train cash earned
+
| +665 || || +665 || || uint32 || dirt bike most air
 
|-
 
|-
| +665 || || || || uint32 || dirt bike most air
+
| +669 || || +669 || || uint32 || fastest heli race time
 
|-
 
|-
| +669 || || || || uint32 || fastest heli race time
+
| +673 || || +673 || || uint32 || best heli race position
 
|-
 
|-
| +673 || || || || uint32 || best heli race position
+
| +677 || || +677 || || uint32 || number outfit changes
 
|-
 
|-
| +677 || || || || uint32 || number outfit changes
+
| +681 || || +681 || || uint32[3] || fastest rc bandit lap times
 
|-
 
|-
| +681 || || || || uint32[3] || fastest rc bandit lap times
+
| +693 || || +693 || || uint32[3] || best rc bandit positions
 
|-
 
|-
| +693 || || || || uint32[3] || best rc bandit positions
+
| +705 || || +705 || || uint32[6] || best street race positions
 
|-
 
|-
| +705 || || || || uint32[6] || best street race positions
+
| +753 || || +753 || || uint32[6] || fastest street race times
 
|-
 
|-
| +753 || || || || uint32[6] || fastest street race times
+
| +777 || || +777 || || uint32[10] || fastest dirt bike lap times
 
|-
 
|-
| +777 || || || || uint32[10] || fastest dirt bike lap times
+
| +817 || || +817 || || uint32[10] || fastest dirt bike times
 
|-
 
|-
| +817 || || || || uint32[10] || fastest dirt bike times
+
| +857 || || +857 || || uint32[10] || radio station listen times
 
|-
 
|-
| +857 || || || || uint32[11] || radio station listen times
+
| +897 || || <span style="color:red">X</span> || || uint32 || mix tape radio listem time
 
|}
 
|}
 
</div>
 
</div>

Latest revision as of 21:37, 1 September 2019

This article aims to document the save file format of GTA LCS.

Data Blocks

  • A save file consists of 5 blocks
  • The first 4 bytes of the block contain a string describing the block ("SIMP", "SCRT", "GRGE", "PLYR" and "STAT")
  • The next 4 bytes contain the size of the block
  • Byte order is little endian. For example, the number 3452 (0x0D7C) is represented as 0x7C 0x0D in little endian.

Block 0: SIMP (Simple Variables)

APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 +0 +0 char[4] block magic number ("SIMP")
+4 +4 +4 +0 uint32 block size
+8 +8 +8 +0 - start of block, data below
APK IOS PSP PS2 TYPE DESCRIPTION
+12 char[120] last mission passed name
+132 uint32 current level
+136 uint32 current area
+140 uint32 language
+144 uint32 milliseconds per game minute
+148 uint32 last clock tick
+152 uint8 game clock hours
+153 uint8 game clock minutes
+154 uint16 game clock seconds
+156 uint32 total time played in milliseconds
+160 float time scale
+164 float time step
+168 float time step non clipped
+172 float frames per update
+176 uint32 frame counter
+180 uint16 old weather type
+182 uint16 new weather type
+184 uint16 forced weather type
+188 uint32 weather type in list
+192 uint32 interpolation value
+196 uint32 (unknown)
+200 uint32 (unknown)
+204 uint32 (unknown)
+208 uint32 (unknown)
+212 uint32 (unknown)
+216 uint32 (unknown)
+220 uint32 (unknown)
+224 uint32 (unknown)
+228 uint32 brightness
+232 uint8 display hud
+233 uint8 show subtitles
+236 uint32 radar mode
+240 uint8 blur on
+244 uint32 music volume
+248 uint32 sfx volume
+252 uint8 radio station
+253 uint8 output
+254 uint8 (unknown) (always 0)
+300 uint16 pad status
+302 uint8 invert look
+303 uint8 swap stick and d-pad
+304 uint8 has player cheated
+305 uint8 do all taxis have nitro/jump
+306 uint8 target is on (unused)
+308 float target pos (unused)
+312 uint32 (unknown)

Block 1: SCRT (Scripts)

APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 +0 +0 char[4] block magic number ("SCRT")
+4 +4 +4 +0 uint32 block size
+8 +8 +8 +0 - start of block, data below
APK IOS PSP PS2 TYPE DESCRIPTION
+0 char[4] "SCR\0"
+4 uint32 size of block following this variable
+8 uint32 total size of script space (n)
+12 uint32[n/4] script space content (global variables)
+12+n - the content in the following table is offset by 12+n
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint32 (unknown) (constant 1720)
+4 uint32 on mission flag location
+8 uint32 last mission passed time
+12 uint32[64] Collective array
+268 uint32 next free collective index
+272 BuildingSwap[?] BuildingSwap array (unknown structure as of now)
+1552 InvisibilitySettings[52] invisible objects array
+1968 uint8 is using a multiple script file
+1969 uint8 has player met Debbie Harry
+1970 uint16 (unknown) (constant 0)
+1972 uint32 main script size
+1976 uint32 largest mission script size
+1980 uint16 number of mission scripts
+1982 uint16 number of exclusive mission scripts
+1984 uint32 number of active scripts
+1988 RunningScript[ ] threads
InvisibilitySettings (8 bytes)
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint32 type
+4 uint32 handle
CRunningScript (540 bytes)
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint32 next script
+4 uint32 previous script
+8 uint32 id
+12 uint32 (unknown)
+16 char* script name
+24 uint32 instruction pointer
+28 uint32[16] stack
+92 uint16 number of stack pointers
+94 uint16 (align)
+96 uint32[104] local variables
+512 uint32[2] timers
+520 uint32 locals base index
+524 uint8 unknown
+525 uint8 condition result
+526 uint8 use mission cleanup
+527 uint8 is active
+528 uint32 wake time
+532 uint16 if number
+534 uint8 not flag
+535 uint8 wasted or busted check enabled
+536 uint8 wasted or busted check result
+537 uint8 is a mission
+538 uint8[2] (align)

Block 2: GRGE (Garages)

APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 +0 +0 char[4] block magic number ("GRGE")
+4 +4 +4 +0 uint32 block size
+8 +8 +8 +0 - start of block, data below
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint32 garage count
+4 uint32 are bombs free
+8 uint32 are resprays free
+12 uint32 cars collected (unused)
+16 uint32 bank vans collected (unused)
+20 uint32 police cars collected (unused)
+24 uint32 love media cars collected
+28 uint32 unused I/E cars collected
+32 uint32 unused I/E cars collected
+36 uint32 unused I/E cars collected
+40 uint32 help message last displayed (timestamp)
+44 StoredCar[48] cars stored in garages
+2156 Garage[32] defined garages
Stored Car (44 bytes)
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint32 model id
+4 float[3] position
+16 float[3] rotation
+28 uint32 handling multiplier
+32 uint32 immunities
+36 uint8 primary colour
+37 uint8 secondary colour
+38 uint8 radio station
+39 uint8 extra 1
+40 uint8 extra 2
+41 uint8[3] (unknown)
Garage (224 bytes)
APK IOS PSP PS2 TYPE DESCRIPTION
+0 uint8[144] (unknown)
+144 float[6] position (x1,x2, y1,y2, z1,z2)
+168 uint8[32] (unknown)
+200 uint8 garage type
+201 uint8 garage state
+202 uint8[22] (unknown)

Love Media Cars - Bitfield

  • 0b000000000000001 = Hearse
  • 0b000000000000010 = Faggio
  • 0b000000000000100 = Freeway
  • 0b000000000001000 = Deimos SP
  • 0b000000000010000 = Manana
  • 0b000000000100000 = Hellenbach GT
  • 0b000000001000000 = Phobos Vt
  • 0b000000010000000 = V8 Ghost
  • 0b000000100000000 = Thunder-Rodd
  • 0b000001000000000 = PCJ-600
  • 0b000010000000000 = Infernus
  • 0b000100000000000 = Banshee
  • 0b001000000000000 = Patriot
  • 0b010000000000000 = Injection
  • 0b100000000000000 = Landstalker

Immunities - Bitfield

  • 0b000001 = Bullet proof
  • 0b000010 = Fire proof
  • 0b000100 = Explosion proof
  • 0b001000 = Collision proof
  • 0b010000 = Melee proof

Radio Stations

  • 0 = Head Radio
  • 1 = Double Cleff FM
  • 2 = K-Jah
  • 3 = Rise FM
  • 4 = Lips 106
  • 5 = Radio Del Mundo
  • 6 = MSX 98
  • 7 = Flashback FM
  • 8 = The Liberty Jam
  • 9 = LCFR
  • 10 = Mix Tape

Block 3: PLYR (Player)

APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 +0 +0 char[4] block magic number ("PLYR")
+4 +4 +4 +0 uint32 block size
+8 +8 +8 +0 - start of block, data below
APK IOS PSP PS2 TYPE DESCRIPTION
+0 char[128] blank
+128 uint32 player money
+132 uint32 (unknown)
+136 uint32 (player money on display)
+140 uint32 (unknown)
+144 uint32 total packages
+148 uint32 (unknown)
+152 uint16 (unknown)
+154 uint16 (unknown)
+156 uint8 max health
+157 uint8 max armour
+158 uint8 (unknown)
+159 uint8 (unknown)
+160 uint8 never tired
+161 uint8 fast reload
+162 uint8 fireproof
+163 uint8 get out of jail free
+164 uint8 can do drive by
+165 char[3] blank

Block 4: STAT (Statistics)

APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 +0 +0 char[4] block magic number ("STAT")
+4 +4 +4 +0 uint32 block size
+8 +8 +8 +0 - start of block, data below
APK IOS PSP PS2 TYPE DESCRIPTION
+0 +0 uint32 people killed by player
+4 +4 uint32 people killed by others
+8 +8 uint32 cars exploded
+12 +12 uint32 boats exploded
+16 +16 uint32 tyres popped
+20 +20 uint32 rounds fired by player
+24 +24 uint32[14] peds killed of type
+116 +116 uint32 helis destroyed
+120 +120 float progress made
+124 +124 uint32 total progress in game
+128 +128 float kgs of explosives used
+132 +132 uint32 bullets that hit
+136 +136 uint32 cars crushed
+140 +140 uint32 heads popped
+144 +144 uint32 wanted stars attained
+148 +148 uint32 wanted stars evaded
+152 +152 uint32 times arrested
+156 +156 uint32 times died
+160 +160 uint32 days passed
+164 +164 uint32 safe house visits
+168 +168 uint32 sprayings
+172 +172 float maximum jump distance
+176 +176 float maximum jump height
+180 +180 uint32 maximum jump flips
+184 +184 uint32 maximum jump spins
+188 +188 uint32 best stunt jump
+192 +192 uint32 number of unique jumps found
+196 +196 uint32 total number of unique jumps
+200 +200 uint32 missions given
+204 +204 uint32 passengers dropped off with taxi
+208 +208 uint32 money made with taxi
+212 +212 uint32 industrial passed (portland)
+216 +216 uint32 commercial passed (staunton)
+220 +220 uint32 suburban passed (shoreside vale)
+224 +224 uint32 pamphlet mission passed (VC leftover)
+228 +228 uint32 no more hurricanes
+232 +232 float distance travelled on foot
+236 +236 float distance travelled by car
+240 +240 float distance travelled by bike
+244 +244 float distance travelled by boat
+248 +248 float distance travelled by plane
+252 +252 uint32 lives saved with ambulance
+256 +256 uint32 criminals caught
+260 +260 uint32 fires extinguished
+264 +264 uint32 highest level vigilante mission
+268 +268 uint32 highest level ambulance mission
+272 +272 uint32 highest level fire mission
+276 +276 uint32 photos taken
+280 +280 uint32 number kill frenzies passed
+284 +284 uint32 max seconds on karmageddon left
+288 +288 uint32 max kills on rc triad
+292 +292 uint32 total number kill frenzies
+296 +296 uint32 total number missions
+300 +300 uint32 times drowned
+304 +304 uint32 seagulls killed
+308 +308 uint32 weapon budget
+312 +312 uint32 loan sharks (unused)
+316 +316 uint32 movie stunts (unused)
+320 +320 uint32 pizzas delivered
+324 +324 uint32 noodles delivered
+328 +328 uint32 money made from tourist
+332 +332 uint32 tourists taken to spots
+336 +336 uint32 garbage pickups
+340 +340 uint32 ice cream sold
+344 +344 uint32 top shooting range score
+348 +348 uint32 shooting rank
+352 +352 uint32 top scrapyard challenge score
+356 +356 uint32 top 9mm mayhem score
+360 +360 uint32 top scooter shooter score
+364 +364 uint32 top wichita wipeout score
+368 +368 uint32 longest wheelie
+372 +372 uint32 longest stoppie
+376 +376 uint32 longest 2 wheel
+380 +380 float longest wheelie distance
+384 +384 float longest stoppie distance
+388 +388 float longest 2 wheel distance
+392 +392 float longest face plant distance
+396 +396 uint32 auto painting budget
+400 +400 uint32 property destroyed
+404 +404 uint32 num property owned
+408 +408 uint16 unlocked costumes
+410 +410 uint32 blood ring kills
+414 +414 uint32 blood ring time
+418 +418 uint8[14] properties owned (unused)
+433 +433 uint32 highest chase value
+437 +437 uint32[23] fastest times
+529 +529 uint32[5] highest scores
+561 +561 char[8] last mission passed name
+569 +569 uint32 cheated count
+573 +573 uint32 cars sold
+577 +577 uint32 money made with car sales
+581 +581 uint32 bikes sold
+585 +585 uint32 money made with bike sales
+589 +589 uint32 number of exported cars
+593 +593 uint32 total number of car export
+597 +597 uint32 highest level slash tv
+601 +601 uint32 money made with slash tv
+605 +605 uint32 total kills on slash tv
+609 +609 uint32 packages smuggled
+613 +613 uint32 smugglers wasted
+617 +617 uint32 fastest smuggling time
+621 +621 uint32 money made in coach
+625 +625 uint32 money made collecting trash
+629 +629 uint32 hitmen killed
+633 +633 uint32 highest avenging angel justice dished
+637 +637 uint32 avenging angel missions passed
+641 +641 uint32 avenging angel highest level portland
+645 +645 uint32 avenging angel highest level staunton
+649 +649 uint32 avenging angel highest level shoreside vale
+653 +653 uint32 most time left train race
+657 +657 uint32 best time go go faggio
+661 +661 uint32 highest train cash earned
+665 +665 uint32 dirt bike most air
+669 +669 uint32 fastest heli race time
+673 +673 uint32 best heli race position
+677 +677 uint32 number outfit changes
+681 +681 uint32[3] fastest rc bandit lap times
+693 +693 uint32[3] best rc bandit positions
+705 +705 uint32[6] best street race positions
+753 +753 uint32[6] fastest street race times
+777 +777 uint32[10] fastest dirt bike lap times
+817 +817 uint32[10] fastest dirt bike times
+857 +857 uint32[10] radio station listen times
+897 X uint32 mix tape radio listem time

Tools