ガレージと駐車

Last-modified: 2009-01-21 (水) 18:20:48

Note, that the memory location of garages can vary depending on the scm script you use.

There are 50 garages in the game. Each garage has:-

Position
Details
Usage information
Location in game
Location of door
Width
Depth
Height
Direction it looks
Coordinates of lower left corner
Coordinates of upper right corner,
Usable by the player
Which property (safe house) it belongs
Number of vehicles which can be parked inside
The door state (closed, opening, open and closing)
These are found in the garage object of 212 bytes. The memory locations where the garages start are:

0x96C048 (start of first garage)

  1. 0xD4 (offset for second garage - offset this much again for third garage, again for fourth, etc.)
    0x96C120 (start of final garage)
    (Tested using non-patched original v1.0 German EXE with English language option selected, and original SCM file.)

(UZI-I Tested Player Garage and Pay'n'Spray using Hoodlum Crack EXE with an Blank SCM)

Here is the known garage offsets:

  1. 0 = [float] X Coord of the Garage Lower Left corner
  2. 4 = [float] Y Coord of the Garage Lower Left corner
  3. 8 = [float] Z Coord of the Garage Lower Left corner
  4. 12 = [float] X Value of direction vector 1
  5. 16 = [float] Y Value of direction vector 1
  6. 20 = [float] X Value of direction vector 2
  7. 24 = [float] Y Value of direction vector 2
  8. 28 = [float] Top Z Coord. of the garage
  9. 32 = [float] Normalized Width of the garage
  10. 36 = [float] Normalized Depth of the garage
  11. 40 = [float] Left Border (X) corrdinate
  12. 44 = [float] Right Border (X) corrdinate
  13. 48 = [float] Front Border (Y) corrdinate
  14. 52 = [float] Back Border (Y) corrdinate
  15. 56 = [float] Garage Door Position
  16. 60 = [dword] unknown (Timer)
  17. 64 = [dword] unknown (not saved)
  18. 68 = [chars] Garage Name (7 bytes + nul)
  19. 76 = [byte] Garage Type
  20. 77 = [byte] Garage Door State values:
    0 = closed
    1 = open
    2 = closing
    3 = opening
  21. 78 = [byte] Door Flags
    0x01 used mod shop (?)
    0x02 inactive door
    0x04 used Pay'n'Spray (?)
    0x08 small door (reflective?)
    0x10 up and in door
    0x20 camera follows player
    0x40 door is closed flag
    0x80 girlfriend PnS
  22. 79 = [byte] Original Type
    The direction vector 3 is completely left out, I think because the garages are always even to the ground. I think that is also why the Z values of the direction vectors are also left-out. Note: Direction Vectors marked above may be Quaternions.

Here are the static Addresses of the Garage Blocks, and to which garage they belong:

0x96C048 - Commerce Region, Loading Bay Garage (Life's a Beach)
0x96C120 - LSPD Police Impound Garage
0x96C1F8 - Mission Garage near El Corona (Los Desperados)
0x96C2D0 - Eight Ball Autos near El Corona
0x96C3A8 - Mission Garage near El Corona (Cesar Vialpando)
0x96C480 - Player Garage: El Corona
0x96C558 - LS Burglary Garage near Playe del Seville
0x96C630 - LowRider Tuning Garage in Willowfield
0x96C708 - Pay 'n' Spray in Idlewood
0x96C7E0 - Player Garage: Johnson House
0x96C8B8 - Pay 'n' Spray in Temple
0x96C990 - Transfender in Temple
0x96CA68 - Pay 'n' Spray in Santa Maria Beach
0x96CB40 - Player Garage: Santa Maria Beach
0x96CC18 - Player Garage: Mulholland
0x96CCF0 - Wheel Archangels in Ocean Flats
0x96CDC8 - Mission Garage in Ocean Flats (T-Bone Mendez)
0x96CEA0 - Player Garage: Hashbury
0x96CF78 - Transfender near Wang Cars in Doherty
0x96D050 - Pay 'n' Spray near Wang Cars in Doherty
0x96D128 - SF Burglary Garage, Loading Bay near Doherty
0x96D200 - Player Garage: Doherty
0x96D2D8 - Mission Garage in Doherty Garage
0x96D3B0 - Woozie's Mission Garage in Chinatown (Ran Fa Li)
0x96D488 - Michelle's Pay 'n' Spray in Downtown
0x96D560 - Player Garage: Calton Heights
0x96D638 - SFPD Police Impound Garage
0x96D710 - Pay 'n' Spray in Juniper Hollow
0x96D7E8 - Player Garage: Paradiso
0x96D8C0 - LVPD Police Impound Garage
0x96D998 - Airport Plane Garage in Las Venturas
0x96DA70 - LV Burglary Garage near Camel's Toe
0x96DB48 - Pay 'n' Spray near Royal Casino
0x96DC20 - Transfender in come-a-lot
0x96DCF8 - Player Garage: Rockshore West
0x96DDD0 - Welding Wedding Bomb-workshop in Emerald Isle
0x96DEA8 - Pay 'n' Spray in Redsands East
0x96DF80 - Player Garage: Redsands West
0x96E058 - Player Garage: Prickle Pine
0x96E130 - Player Garage: Whitewood Estates
0x96E208 - Pay 'n' Spray in El Quebrados
0x96E2E0 - Pay 'n' Spray in Fort Carson
0x96E3B8 - Player Garage: Fort Carson
0x96E490 - Player Garage: Verdant Meadows
0x96E568 - Mission Garage in El Castillo del Diablo (Interdiction)
0x96E640 - Airport Garage in Verdant Meadows
0x96E718 - Mission Garage in Angel Pine (Puncture Wounds)
0x96E7F0 - Pay 'n' Spray in Dillimore
0x96E8C8 - Player Garage: Palomino Creek
0x96E9A0 - Player Garage: Dillimore
Static Mem. Locations for garages:

0x96ABD8 - Johnson House Car 1
0x96AC18 - Johnson House Car 2
0x96AC58 - Johnson House Car 3
0x96AC98 - Johnson House Car 4
0x96ACD8 - Santa Maria Beach Car 1
0x96AD18 - Santa Maria Beach Car 2
0x96AD58 - Santa Maria Beach Car 3
0x96AD98 - Santa Maria Beach Car 4
0x96ADD8 - Rockshore West Car 1
0x96AE18 - Rockshore West Car 2
0x96AE58 - Rockshore West Car 3
0x96AE98 - Rockshore West Car 4
0x96AED8 - Fort Carson Car 1
0x96AF18 - Fort Carson Car 2
0x96AF58 - Fort Carson Car 3
0x96AF98 - Fort Carson Car 4
0x96AFD8 - Verdant Meadows Car 1
0x96B018 - Verdant Meadows Car 2
0x96B058 - Verdant Meadows Car 3
0x96B098 - Verdant Meadows Car 4
0x96B0D8 - Dillimore Car 1
0x96B118 - Dillimore Car 2
0x96B158 - Dillimore Car 3
0x96B198 - Dillimore Car 4
0x96B1D8 - Prickle Pine Car 1
0x96B218 - Prickle Pine Car 2
0x96B258 - Prickle Pine Car 3
0x96B298 - Prickle Pine Car 3
0x96B2D8 - Whitewood Estates Car 1
0x96B318 - Whitewood Estates Car 2
0x96B358 - Whitewood Estates Car 3
0x96B398 - Whitewood Estates Car 4
0x96B3D8 - Palomino Creek Car 1
0x96B418 - Palomino Creek Car 2
0x96B458 - Palomino Creek Car 3
0x96B498 - Palomino Creek Car 4
0x96B4D8 - Redlands West Car 1
0x96B518 - Redlands West Car 2
0x96B558 - Redlands West Car 3
0x96B598 - Redlands West Car 4
0x96B5D8 - El Corona Car 1
0x96B618 - El Corona Car 2
0x96B658 - El Corona Car 3
0x96B698 - El Corona Car 4
0x96B6D8 - MulHolland Car 1
0x96B718 - MulHolland Car 2
0x96B758 - MulHolland Car 3
0x96B798 - MulHolland Car 4
0x96B7D8 - LSPD Impound Car 1
0x96B818 - LSPD Impound Car 2
0x96B858 - LSPD Impound Car 3
0x96B898 - LSPD Impound unused
0x96B8D8 - SFPD Impound Car 1
0x96B918 - SFPD Impound Car 2
0x96B958 - SFPD Impound Car 3
0x96B998 - SFPD Impound unused
0x96B9D8 - LVPD Impound Car 1
0x96BA18 - LVPD Impound Car 2
0x96BA58 - LVPD Impound Car 3
0x96BA98 - LVPD Impound usued
0x96BAD8 - Calton Heights Car 1
0x96BB18 - Calton Heights Car 2
0x96BB58 - Calton Heights Car 3
0x96BB98 - Calton Heights Car 4
0x96BBD8 - Paradiso Car 1
0x96BC18 - Paradiso Car 2
0x96BC58 - Paradiso Car 3
0x96BC98 - Paradiso Car 4
0x96BCD8 - Doherty Car 1
0x96BD18 - Doherty Car 2
0x96BD58 - Doherty Car 3
0x96BD98 - Doherty Car 4
0x96BDD8 - Hashbury Car 1
0x96BE18 - Hashbury Car 2
0x96BE58 - Hashbury Car 3
0x96BE98 - Hashbury Car 4
0x96BED8 - Verdant Meadows Airport Car 1
0x96BF18 - Verdant Meadows Airport Car 2
0x96BF58 - Verdant Meadows Airport Car 3
0x96BF98 - Verdant Meadows Airport Car 4