All the IPL files located at; San Andreas/data/maps/## ## meaning a file name. They consist of item placement these files are used to place objects into the GTA world, as well as define zones, paths, garages, interior portals, etc.. These files can be opened, as well as, edited by any text editor.
In San Andreas there is also binary IPL files which are located in the IMG archives of the game.
Normal editors can not edited these files, ;see links below for the tool which can open, and edit them.
The .ipl file(s) are split up into section, not all have to be used, or filled, though.
Each section starts with a section identifier and ends with the keyword "end", both in a separate line.
ID
Unique object identifier. Must match in IDE file identifier. (integer)
Name
Usually same as the .dff model file, without extension. (string)
int
Interior number; zero for outside. (integer)
x, y, z
Item placement coordinates. (floating point numbers)
sx, sy, sz
Item scale, scales visible model only, doesn't scale the collision model. (floating point numbers)
rx, ry, rz, rw
Item rotations. Defined as quaternion, quite sophisticated math is needed to translate it to Euler angles. A map editing program should be used to edit these.
lod
This is the line number in the current IPL file for the LOD which belongs to this object. The first item in IPL file is line number 0, second is number 1 and so on. A value of -1 means no LOD is used. (integer)
This creates garages for the main.scm to use.
X1, Y1, Z1
Lower left front
frontX, frontY
Lower right front
X2, Y2, Z2
Upper left rear
Door
Type of door
Type
Type of garage
Name
Used to edit garage through the SCM
EnEx's are used for interior connections to real world by placing yellow markers on the map for CJ to walk through. Note that changes to the flags and links of existing markers are not updated by the text files after the save is created so maintaining the proper sequence of enex lines is a primary concern. New connections can be added to an existing save if temporary (burglary) connections are not present in the save data. Indoor saves generally have no temporary enex data. Add the markers at the very end of the gta.dat else it can negatively affect currently placed markers. 376 of 400 possible enex connections are used in a standard game. Pay attention that you may, only add 24 more than the original game installation has.
X1, Y1, Z1
entrance location
ROT
InR 0 or 1
W1
X width of entry
W2
Y width of entry
C8
constant 8
X2, Y2, Z2
exit location
Rot2
exit rotation in degrees
Int
The target interior number
Flag
The type of marker
Name
Interior name, used to find the counterpart and to identify via mission script
Sky
Sky color changer
I2
unknown integer flags, could be weather related
Time On
enables the marker at this time
Time Off
disables the marker at this time
Almost every weapon pickup in SA is created by main.scm
but you can make them through IPL's as well:
Weapon IDs:
This creates a Unique Stunt Jump based on the minimum and maximum coordinates for the starting and landing zones. This format conforms with the encoding provided by opcode 0814.
Example:
Creates black sky if you enter the zone. Also exists for all towns in countryside. Probably custom weather?
San Andreas format
This creates an audio if you enter the zone.
San Andreas format type 1
Name
Name of the zone
ID
Sound played in this zone
Switch
Makes it always on or always off. Can be forced using the main.scm using opcode 0917
San Andreas format type 2
Name, ID, Switch, X, Y, Z, Volume
Name
Name of the zone
ID
Sound played in this zone
Switch
Makes it always on or always off. Can be forced using the main.scm using opcode 0917
Volume
The distance the sound will be heard
Audio 4 type two only
Audios 5, 10, 12, and 13 disabled by default, can be re-enabled
This creates permanent parked vehicles around the state. This section is similar to the opcode 014B, the only difference to the opcode is that an IPL-Spawned car got an check if another car is already parked in an specific radius at this position. Rockstar used it only in binary IPLs but it can also be used in regular IPLs.
Angle is in radian units: degrees/~57.2958
Car ID can be random: -1
Vehicles spawn more reliably if force_spawn is true: 1
OCCL
This creates occlusion boxes around San Andreas.
In San Andreas, this was never used in the game. This section is currently unknown and may never be known; it is ignored by the game. It apply's to GTA 4 as well.
Binary (De-)Compiler
GTA SA IPL Documentation
In San Andreas there is also binary IPL files which are located in the IMG archives of the game.
Normal editors can not edited these files, ;see links below for the tool which can open, and edit them.
The .ipl file(s) are split up into section, not all have to be used, or filled, though.
Each section starts with a section identifier and ends with the keyword "end", both in a separate line.
- Code:
enex
...
end
INST
- Code:
id, name, int, x, y, z, rx, ry, rz, rw, lod
ID
Unique object identifier. Must match in IDE file identifier. (integer)
Name
Usually same as the .dff model file, without extension. (string)
int
Interior number; zero for outside. (integer)
x, y, z
Item placement coordinates. (floating point numbers)
sx, sy, sz
Item scale, scales visible model only, doesn't scale the collision model. (floating point numbers)
rx, ry, rz, rw
Item rotations. Defined as quaternion, quite sophisticated math is needed to translate it to Euler angles. A map editing program should be used to edit these.
lod
This is the line number in the current IPL file for the LOD which belongs to this object. The first item in IPL file is line number 0, second is number 1 and so on. A value of -1 means no LOD is used. (integer)
GRGE
This creates garages for the main.scm to use.
- Code:
X1, Y1, Z1, frontX, frontY, X2, Y2, Z2, Door, Type, Name
X1, Y1, Z1
Lower left front
frontX, frontY
Lower right front
X2, Y2, Z2
Upper left rear
Door
Type of door
Type
Type of garage
Name
Used to edit garage through the SCM
ENEX
EnEx's are used for interior connections to real world by placing yellow markers on the map for CJ to walk through. Note that changes to the flags and links of existing markers are not updated by the text files after the save is created so maintaining the proper sequence of enex lines is a primary concern. New connections can be added to an existing save if temporary (burglary) connections are not present in the save data. Indoor saves generally have no temporary enex data. Add the markers at the very end of the gta.dat else it can negatively affect currently placed markers. 376 of 400 possible enex connections are used in a standard game. Pay attention that you may, only add 24 more than the original game installation has.
- Code:
X1, Y1, Z1, ROT, W1, W2, C8, X2, Y2, Z2, Rot2, Int, Flag, Name, Sky, I2, Time On, Time Off
X1, Y1, Z1
entrance location
ROT
InR 0 or 1
W1
X width of entry
W2
Y width of entry
C8
constant 8
X2, Y2, Z2
exit location
Rot2
exit rotation in degrees
Int
The target interior number
Flag
The type of marker
Name
Interior name, used to find the counterpart and to identify via mission script
Sky
Sky color changer
I2
unknown integer flags, could be weather related
Time On
enables the marker at this time
Time Off
disables the marker at this time
PICK
Almost every weapon pickup in SA is created by main.scm
but you can make them through IPL's as well:
- Code:
Weapon ID, X, Y, Z
Weapon IDs:
- Code:
ID Weapon Name Ammo
4 Brass Knuckles
5 Nightstick
6 Knife
9 Golf Club
10 Bat
11 Shovel
12 Pool Cue
13 Katana
14 Chainsaw
15 Molotov 8
16 Grenades 8
17 Satchels 5
18 9mm Pistol 30
19 Silenced 9mm 10
20 Desert Eagle 10
21 Shotgun 15
22 SPAS Shotgun 10
23 Tec 9 60
24 Micro SMG 60
25 MP5 60
26 AK47 80
27 M4 80
28 Country Rifle 20
29 Sniper Rifle 10
31 Flamethrower 100
32 Minigun 500
33 Large Purple Dildo
34 Small White Dildo
35 Large White Vibrator
36 Small Black Vibrator
37 Flowers
38 Cane
39 Ringbox
40 Necklace Box
41 Cellphone
43 Teargas 8
44 Minigun (Duplicate) 500
45 SPAS Shotgun (Duplicate) 10
46 Rocket Launcher 4
47 Heat Seeking Rocket Launcher 3
48 Detonator
49 Spray can 500
50 Fire Extinguisher 500
51 Camera 36
52 Night vision Goggles
53 Infrared Goggles
54 Jetpack
55 Parachute
JUMP
This creates a Unique Stunt Jump based on the minimum and maximum coordinates for the starting and landing zones. This format conforms with the encoding provided by opcode 0814.
Example:
- Code:
startXmin, startYmin, startZmin, startXmax, startYmax, startZmax, landXmin, landYmin, landZmin,
landXmax, landYmax, landZmax, camX, camY, camZ, reward
TCYC
Creates black sky if you enter the zone. Also exists for all towns in countryside. Probably custom weather?
San Andreas format
- Code:
X1, Y1, Z1, X2, Y2, Z2, ?, ?, ?, ?, ?
AUZO
This creates an audio if you enter the zone.
San Andreas format type 1
- Code:
Name, ID, Switch, X1, Y1, Z1, X2, Y2, Z2
Name
Name of the zone
ID
Sound played in this zone
Switch
Makes it always on or always off. Can be forced using the main.scm using opcode 0917
San Andreas format type 2
Name, ID, Switch, X, Y, Z, Volume
Name
Name of the zone
ID
Sound played in this zone
Switch
Makes it always on or always off. Can be forced using the main.scm using opcode 0917
Volume
The distance the sound will be heard
- Code:
San Andreas Auzo Audio IDs
ID What sound it plays Description of sound in the unmodified audio streams
4 Ambience track 9 St Mark's violin music
5 Ambience track 6 Beach party bkgd song
8 Ambience track 31 Unused loud hum
10 Ambience track 5 Awards ceremony music
12 Ambience track 34 Loud hum heard on ships
13 Ambience track 23 Low Rider Challenge bkgd song
15 Ambience track 30 Static sound heard on military bases
17 Ambience track 12 Casino bkgd medley
19 Ambience track 4 Quiet hum heard in Area 69
20 Ambience track 2 Fan-like clicking heard in Abattoir
21 Ambience track 1 Quiet hum heard in 24-7s
23 Ambience track 14 Loud hum heard in Dam interior
24 Ambience track 25 Racing sounds heard in ITB lobby
25 Ambience track 24 Quiet hum heard in Planning Dept
26 Ambience track 20 Quiet hum heard in safe houses
28 Ambience track 13 Dance Club bkgd medley
29 Ambience track 13 Dance Club bkgd medley
30 Favorite Radio Station Stream or User Tracks Player
34 Ambience track 28 Pleasure Domes bkgd medley
36 Ambience track 21 Loud hum heard in Jet interior
37 Ambience track 10 Muzak-type bkgd heard in unused diner interiors
39 Ambience track 29 Quiet hum heard in police stations
41 Ambience track 35 Stadium event bkgd medley
44 Ambience track 18 Fast Food Joint bkgd sounds
48 Ambience track 3 Ammunation PA loop
50 Ambience track 39 Quiet hum heard in warehouses
51 Ambience track 22 Very loud hum heard in cargo plane?
52 Radio stream CH Playback FM
53 Radio stream CO K-ROSE
54 Radio stream CR KDST
55 Radio stream DS Bounce FM
56 Radio stream HC SFUR
57 Radio stream MH Radio Los Santos
58 Radio stream MR Radio X
59 Radio stream NJ CSR
60 Radio stream RE K-JAH West
61 Radio stream RG MasterSounds
62 Radio stream TK WCTR
64 Ambience track 17 Unused quiet hum
66 Ambience track 36 Strip Club bkgd medley
67 Ambience track 37 Unused bkgd medley
Audio 4 type two only
Audios 5, 10, 12, and 13 disabled by default, can be re-enabled
CARS
This creates permanent parked vehicles around the state. This section is similar to the opcode 014B, the only difference to the opcode is that an IPL-Spawned car got an check if another car is already parked in an specific radius at this position. Rockstar used it only in binary IPLs but it can also be used in regular IPLs.
- Code:
X, Y, Z, angle, car id, primary color, secondary color, force_spawn,
alarm_probability, door_lock_probability, unknown (word), unknown (word)
Angle is in radian units: degrees/~57.2958
Car ID can be random: -1
Vehicles spawn more reliably if force_spawn is true: 1
OCCL
OCCL
This creates occlusion boxes around San Andreas.
- Code:
direct mid x, direct mid y, bottom height z, width x, width y, height from bottom height to top,
rotation
Other
MULT
In San Andreas, this was never used in the game. This section is currently unknown and may never be known; it is ignored by the game. It apply's to GTA 4 as well.
Links
Binary (De-)Compiler
GTA SA IPL Documentation