Difference between revisions of "Saves (GTA VC)"

From GTAMods Wiki
Jump to navigation Jump to search
(car generator, player info)
Line 1: Line 1:
 
{{stub}}
 
{{stub}}
 
{{TocRight}}
 
{{TocRight}}
This article deals with the format of a '''save game file''' for [[GTA Vice City]].
+
This article deals with the format of a '''save game file''' for the PC version of [[GTA Vice City]].
  
 
==Format Details==
 
==Format Details==
Line 264: Line 264:
 
| 0x0A
 
| 0x0A
 
| -
 
| -
| ped info, see below
+
| ped structure, see below
 
|-
 
|-
 
| 0x6E2
 
| 0x6E2
Line 279: Line 279:
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Ped info:
+
|+ style="text-align: left;"| Ped structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 357: Line 357:
 
| 0x2C
 
| 0x2C
 
| [48]
 
| [48]
| garage car structures, see below
+
| 40 bytes each, garage car structures (see below)
 
|-
 
|-
 
| 0x7AC
 
| 0x7AC
 
| [32]
 
| [32]
| garage structures, see below
+
| 168 bytes each, garage structures (see below)
 
|}
 
|}
 
Export garage status (binary format):
 
Export garage status (binary format):
Line 375: Line 375:
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Garage car structure, each is 0x28 in size:
+
|+ style="text-align: left;"| Garage car structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 422: Line 422:
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Garage structure, each is 0xA8 in size:
+
|+ style="text-align: left;"| Garage structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 486: Line 486:
 
| 0x04
 
| 0x04
 
| [16]
 
| [16]
| restart taxi structures, see below
+
| 16 bytes each, restart taxi structures (see below)
 
|}
 
|}
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Restart taxi structure, each is 0x10 in size:
+
|+ style="text-align: left;"| Restart taxi structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 521: Line 521:
 
| 0x08
 
| 0x08
 
| [8]
 
| [8]
| crane structures, see below
+
| 124 bytes each, crane structures (see below)
 
|}
 
|}
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Crane structure, each is 0x7C in size:
+
|+ style="text-align: left;"| Crane structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 628: Line 628:
 
| 0x08
 
| 0x08
 
| [50]
 
| [50]
| phone structures, see below
+
| 52 bytes each, phone structures (see below)
 
|}
 
|}
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Phone structure, each is 0x34 in size:
+
|+ style="text-align: left;"| Phone structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 717: Line 717:
 
| 0x08
 
| 0x08
 
| [75]
 
| [75]
| blip structures, see below
+
| 48 bytes each, blip structures (see below)
 
|}
 
|}
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Blip structure, each is 0x30 in size:
+
|+ style="text-align: left;"| Blip structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 780: Line 780:
 
| 0x04
 
| 0x04
 
| [9]
 
| [9]
| gang structures, see below
+
| 24 bytes each, gang structures (see below)
 
|}
 
|}
  
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Gang structure, each is 0x18 in size:
+
|+ style="text-align: left;"| Gang structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 811: Line 811:
 
| dword
 
| dword
 
| weapon number 2
 
| weapon number 2
 +
|}
 +
 +
===Block 14: All Car Generators===
 +
{| class="sortable" {{prettytable}}
 +
! Offset
 +
! Type
 +
! width="350px"| Description
 +
|-
 +
| 0x00
 +
| string
 +
| CGN
 +
<!--
 +
0x04 - -
 +
0x08 - -
 +
0x0C - -
 +
0x10 - -
 +
0x14 - -
 +
0x15 - -
 +
0x16 - -
 +
0x18 - -
 +
-->
 +
|-
 +
| 0x1C
 +
| [185]
 +
| 44 bytes each, car generator structures (see below)
 +
|}
 +
 +
{| class="sortable" {{prettytable}}
 +
|+ style="text-align: left;"| Car generator structure:
 +
! Offset
 +
! Type
 +
! width="350px"| Description
 +
|-
 +
| 0x00
 +
| dword
 +
| model ID
 +
|-
 +
| 0x04
 +
| float[3]
 +
| x,y,z coordinates
 +
|-
 +
| 0x10
 +
| float
 +
| z angle rotation
 +
|-
 +
| 0x14
 +
| word
 +
| primary color
 +
|-
 +
| 0x16
 +
| word
 +
| secondary color
 +
|-
 +
| 0x18
 +
| byte
 +
| force spawn
 +
|-
 +
| 0x19
 +
| byte
 +
| alarm
 +
|-
 +
| 0x1A
 +
| byte
 +
| lock
 +
<!--
 +
0x1B - -
 +
0x1C - -
 +
0x1E - -
 +
0x20 - -
 +
0x24 - -
 +
-->
 +
|-
 +
| 0x28
 +
| word
 +
| [[014C]]
 +
|-
 +
| 0x2A
 +
| byte
 +
| has recently been stolen
 +
<!--
 +
0x2B - -
 +
-->
 
|}
 
|}
  
Line 829: Line 911:
 
| 0x12
 
| 0x12
 
| -
 
| -
| audio structures, see below
+
| 24 bytes each, audio structures (see below)
 
|}
 
|}
 
{| class="sortable" {{prettytable}}
 
{| class="sortable" {{prettytable}}
|+ style="text-align: left;"| Audio structure, each is 0x14 in size:
+
|+ style="text-align: left;"| Audio structure:
 
! Offset
 
! Offset
 
! Type
 
! Type
Line 848: Line 930:
 
| x,y,z coordinates
 
| x,y,z coordinates
 
<!--
 
<!--
0x10 - -
+
0x14 - -
 
-->
 
-->
 
|}
 
|}
Line 884: Line 966:
 
| -
 
| -
 
| object handle, up to 6 supported
 
| object handle, up to 6 supported
 +
|}
 +
 +
===Block 18: Player Info===
 +
{| class="sortable" {{prettytable}}
 +
! Offset
 +
! Type
 +
! width="350px"| Description
 +
|-
 +
| 0x00
 +
| dword
 +
| current money
 +
<!--
 +
0x04 - -
 +
0x05 - -
 +
0x09 - -
 +
0x0B - -
 +
-->
 +
|-
 +
| 0x0F
 +
| dword
 +
| currently displayed money
 +
|-
 +
| 0x13
 +
| dword
 +
| number of packages picked up
 +
|-
 +
| 0x17
 +
| dword
 +
| total number of packages ([[02ED]])
 +
|-
 +
| 0x1B
 +
| byte
 +
| infinite run ([[0330]])
 +
|-
 +
| 0x1C
 +
| byte
 +
| fast reload ([[0331]])
 +
|-
 +
| 0x1D
 +
| byte
 +
| fireproof ([[055D]])
 +
|-
 +
| 0x1E
 +
| byte
 +
| max health
 +
|-
 +
| 0x1F
 +
| byte
 +
| max armor
 +
|-
 +
| 0x20
 +
| byte
 +
| free busted once
 +
|-
 +
| 0x21
 +
| byte
 +
| free wasted once ([[0414]])
 +
|-
 +
| 0x22
 +
| byte
 +
| driveby enabled ([[0501]])
 +
<!--
 +
0x23 - -
 +
0x69 - -
 +
0x6A - -
 +
-->
 
|}
 
|}
  

Revision as of 03:58, 11 September 2010

This article deals with the format of a save game file for the PC version of GTA Vice City.

Format Details

Block 0: Miscellaneous and Script

Offset Type Description
0x30 word Year
0x32 word Month
0x34 word Day of week
0x36 word Day
0x38 word Hour
0x3A word Minutes
0x3C word Seconds
0x3E word Milliseconds
0x48 float[3] camera coordinates (x,y,z)
0x54 dword length (ms) of in-game minute (1000=normal)
0x5C dword game hour
0x60 dword game minute
0x6C float game speed (015D)
0x90 dword current weather
0x98 dword current weather table offset (between 0 and 63)
0x9C float current vehicle camera view (between 0.0 and 5.0)
0xA0 float current on foot camera view (classic controls only)
0xA4 dword current interior (04BB)
0xA8 dword taxi boost jump (0572)
0xB0 dword sky color (04F9)
0xB4 dword sky atmosphere (0=normal,1=interior)
0xB8 float sky atmosphere blue overlay (between 0.0 and 1.0)
0xE4 dword size of script block
0xE8 - start of script block, see below
Script and subblock A:
Offset Type Description
0x00 string SCR
0x04 dword size of subblock A
0x08 - start of subblock A: global variables - each variable is 4 bytes long
Subblock B:
Offset Type Description
0x00 dword size of subblock B
0x238 - misc., see below
Offset Type Description
0x01 byte kaufman cabs radio (0551)
0x04 dword size of main
0x08 dword size of largest mission
0x0C dword number of missions

Subblock C:

Block 1: Ped Pool

Ped structure:
Offset Type Description
0x0A - ped structure, see below
0x6E2 dword max wanted level
0x6E6 dword max criminal points, in tandem with max wanted level
Ped structure:
Offset Type Description
0x34 float[3] x,y,z coordinates
0xB8 float weight
0x354 float health
0x358 float armor

Block 2: Garages

Offset Type Description
0x00 dword number of garages (0219)
0x04 dword free bombs (0=not,1=yes)
0x08 dword free respray (0335)
0x18 dword garage type 8 status, see below
0x1C dword garage type 9 status
0x20 dword garage type 10 status
0x24 dword garage type 22 status
0x2C [48] 40 bytes each, garage car structures (see below)
0x7AC [32] 168 bytes each, garage structures (see below)

Export garage status (binary format):

  • 0b000001=car 1 collected
  • 0b000010=car 2 collected
  • 0b000100=car 3 collected
  • 0b001000=car 4 collected
  • 0b010000=car 5 collected
  • 0b100000=car 6 collected

Add them up to set the garage as car already collected:

0b000011, cars 1 and 2 collected
0b100011, cars 1, 2, and 6 are collected
Garage car structure:
Offset Type Description
0x00 dword model ID
0x04 float[3] x,y,z position
0x10 float[3] x,y,z vector rotation
0x1C dword immunities
0x20 byte primary color
0x21 byte secondary color
0x22 byte current radio station
0x23 byte variation 1
0x24 byte variation 2
0x25 byte bomb type
Garage structure:
Offset Type Description
0x00 byte type
0x01 byte door status (0=closed,1=opened,2=closing,3=opening)
0x02 byte max number of cars to store (4=default)
0x19 byte swing door (03BB)
0x1A byte camera follow player (03DA)
0x1C float[3] entrance bottom left x,y,z coordinates
0x28 float[4] rx,ry,rz,rw quaternion rotation
0x38 float ceiling z coordinate

Block 3: Game Logic

Offset Type Description
0x00 dword number of restart taxis (058D)
0x04 [16] 16 bytes each, restart taxi structures (see below)
Restart taxi structure:
Offset Type Description
0x0 float[3] x,y,z coordinates
0xC float z angle rotation

Block 7: Cranes

Offset Type Description
0x00 dword number of cranes
0x08 [8] 124 bytes each, crane structures (see below)
Crane structure:
Offset Type Description
0x40 float current z rotation

Block 8: Pickups

Pickup structure, each is 0x34 in size:
Offset Type Description
0x0 float[3] x,y,z coordinates
0x18 dword ammo or asset revenue
0x2E byte type
0x2F byte has been picked up

Block 9: Phone Info

Offset Type Description
0x04 dword number of phones
0x08 [50] 52 bytes each, phone structures (see below)
Phone structure:
Offset Type Description
0x0 float[3] x,y,z coordinates
0x2C dword phone status (3=idle,9=ringing,others=leftover GTA III stuff)

Block 10: Restart Points Buffer

Offset Type Description
0x00 string RST
0x8 float[3] hospital x,y,z coordinates (016C)
0x14 float hospital z angle
Each point is 0x8 in size
0x88 float[3] police x,y,z coordinates (016D)
0x94 float police z angle
Each point is 0x8 in size
0x110 float[3] override x,y,z coordinates (016E)
0x11C float override z angle

Block 11: Radar Blips Buffer

Offset Type Description
0x00 string RDR
0x08 [75] 48 bytes each, blip structures (see below)
Blip structure:
Offset Type Description
0x00 dword color
0x10 float[2] x,y coordinates
0x18 float[3] x,y,z coordinates
0x26 byte brightness (0166)
0x2A word size (0168)
0x2C word show (018B)
0x2E word type

Block 13: All Gang Data

Offset Type Description
0x00 string GNG
0x04 [9] 24 bytes each, gang structures (see below)
Gang structure:
Offset Type Description
0x00 dword car model (0236)
0x04 dword ped model 1
0x08 dword ped model 2
0x10 dword weapon number 1 (0237)
0x14 dword weapon number 2

Block 14: All Car Generators

Offset Type Description
0x00 string CGN
0x1C [185] 44 bytes each, car generator structures (see below)
Car generator structure:
Offset Type Description
0x00 dword model ID
0x04 float[3] x,y,z coordinates
0x10 float z angle rotation
0x14 word primary color
0x16 word secondary color
0x18 byte force spawn
0x19 byte alarm
0x1A byte lock
0x28 word 014C
0x2A byte has recently been stolen

Block 16: All Audio Script Objects

Offset Type Description
0x00 string AUD
0x12 - 24 bytes each, audio structures (see below)
Audio structure:
Offset Type Description
0x04 word ID number
0x08 float[3] x,y,z coordinates

Block 17: Script Paths

Offset Type Description
0x00 dword total number of paths
0x0C float speed (049E)
0x10 float distance along path (049F)
0x14 float some sort of offset
0x1C - object handle, up to 6 supported

Block 18: Player Info

Offset Type Description
0x00 dword current money
0x0F dword currently displayed money
0x13 dword number of packages picked up
0x17 dword total number of packages (02ED)
0x1B byte infinite run (0330)
0x1C byte fast reload (0331)
0x1D byte fireproof (055D)
0x1E byte max health
0x1F byte max armor
0x20 byte free busted once
0x21 byte free wasted once (0414)
0x22 byte driveby enabled (0501)

See also

External links