Difference between revisions of "Item Placement"

From GTAMods Wiki
Jump to navigation Jump to search
m (Door type info was removed from linked page. Updated with new link.)
m
 
(38 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Cleanup-rewrite}}
+
{{IplSection
 +
| noheader=1
 +
}}
 +
'''Item placement''' files, usually identified by the file extension <code>.ipl</code>, are a part of the [[map system]] and used to create and place (for example) different objects, zones of special behavior or paths in the world. All games support standard item placement files which are mostly stored in plain text format that can be opened and edited using any text-editing program (like [[Wikipedia:Notepad|Notepad]]), but there are tools to simplify editing of the newly introduced Binary Ipl in [[GTA SA|San Andreas]]. Most of the placement information in [[GTA IV]] is stored inside of binary files (see [[WPL]]).
  
'''Item placement''' files, known by the extension '''.ipl''', are map files used to place objects into the GTA world, as well as define zones, paths, garages, interior portals, and a lot more. Most IPL files can easily be opened and edited using any text-editing program like [[Wikipedia:Notepad|Notepad]]. In San Andreas there are also [[Binary_IPL|binary IPL]] files which are located in the [[IMG|IMG archives]] of the game. Those you can only open using a special [[Item_Placement#Useful_Tools|editor]].
+
== Text Format ==
  
==Structure==
+
The structure and format of the plain text item placement files are similar to that of the [[item definition]] files. The game searches for these files in [[Gta.dat|gta.dat]].They allow comments by the character <code>#</code>.Lines starting with this character simply get ignored by the game & empty lines are also allowed. Since these files contain different types of data a keyword is required for the game to recognize each set of data.
The <code>.ipl</code> files are split up into many sections. Not all of them have to be used, leaving them empty works as well. Each section starts with a section identifier and ends with the keyword "end", both in a separate line.
+
  <keyword>
 +
  *lines*
 +
  end
 +
More information about these keywords can be found below in the <code>Fomats</code> section.  
  
Example:
+
:''See also: [[Item Definition#Overview|Item Definition &sect; Overview]]''
inst
 
...
 
end
 
  
===INST===
 
Locations and properties for instances of static and [[Dynamic_Object|dynamic map objects]].
 
  
''GTA3 format''
+
== Binary Format ==
id, name, x, y, z, sx, sy, sz, rx, ry, rz, rw
 
  
''Vice City format''
+
''San Andreas'' introduced a simple binary format of item placement files. They are stored as ''"streaming files"'' inside the [[IMG|archive files]]. Editing them requires an special editor (see [[IPL#Tools|below]]). The format is pretty simple and their possibilities are not completely used by ''Rockstar''. By default they do only support <code>inst</code> and <code>cars</code> sections. It is unconfirmed if other sections also can be used or if they are just stubs which are not implemented. Anyway, their binary format is completely unknown.
id, name, int, x, y, z, sx, sy, sz, rx, ry, rz, rw
 
  
''San Andreas format''
+
{{Incomplete}}
id, name, int, x, y, z, rx, ry, rz, rw, lod
+
<!--- How do binary IPLs get recognized by the game? --->
  
;ID: Unique object identifier. Must match in [[IDE]] file identifier. (integer)
+
==== Header ====
;Name: Usually same as the <code>.dff</code> [[model file]], without extension. (string)
 
;int: [[Interior#List|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 [[Wikipedia:quaternion|quaternion]], quite sophisticated math is needed to translate it to [[Wikipedia:Euler angles|Euler angles]]. A map editing program should be used to edit these.
 
;lod: San Andreas only.  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)
 
  
===CULL===
+
Each binary placement information file starts with a 4-Byte identifier followed by a header containing information about the content of the files.
This creates rainfree zones, wastefree zones, map reflections, TV screens, and temporary fixed camera positions.
 
  
''GTA3 and Vice City format''
+
4b  - CHAR[4]  - Always "bnry"
  x1, y1, z1, x2, y2, z2, x3, y3, z3, flag, 0
+
4b  - INT32    - Number of [[INST|item instances]]
;x2, y2, z2: lower-left corner of the areabox
+
4b  - INT32    - Number of unknown 1 (''CULL'' ?)
;x3, y3, z3: upper-right corner of the areabox
+
  4b  - INT32    - Number of unknown 2 (''GRGE'' ?)
''San Andreas format 1''
+
4b  - INT32    - Number of unknown 3 (''ENEX'' ?)
  centerX, centerY, centerZ, 0 (some kind of rotation), Ywidth, bottomZ, Xwidth, 0 (some kind of rotation), topZ, Flag, Flag 2
+
4b  - INT32    - Number of [[CARS|parked cars]]
''San Andreas format 2''
+
4b  - INT32    - Number of unknown 4 (''PICK'' ?)
  centerX, centerY, centerZ, 0 (some kind of rotation), Ywidth, bottomZ, Xwidth, 0 (some kind of rotation), topZ, Flag, Vx, Vy, Vz, Cm
+
  4b  - INT32    - Offset of item instances (0x4C by default)
Cull zone boundaries in San Andreas are aligned to the nearest world unit.<br>
+
4b  - INT32    - Size of item instances (unused - always 0)
Flags:<br>
+
4b  - INT32    - Offset of unknown 1
1 Camera close in into player using closest third-person view camera mode, does not close in if in first person or cinematic mode, camera mode cannot be changed while in the zone<br>
+
4b  - INT32    - Size of unknown 1 (unused - always 0)
2 camera remotely placed outside the zone, no control of camera, camera mode cannot be changed while in the zone<br>
+
4b  - INT32    - Offset of unknown 2
4 Unknown<br>
+
  4b  - INT32    - Size of unknown 2 (unused - always 0)
8 Rain-free, police helicopter-free zone<br>
+
4b  - INT32    - Offset of unknown 3
4096 5-star military zone
+
4b  - INT32    - Size of unknown 3 (unused - always 0)
 +
4b  - INT32    - Offset of parked cars
 +
4b  - INT32    - Size of parked cars (unused - always 0)
 +
4b  - INT32    - Offset of unknown 4
 +
4b  - INT32    - Size of unknown 4 (unused - always 0)
  
===PATH===
+
The header is followed by the arrays of the entries.INST arrays have a size of 40 bytes per structure, and cars have 48 bytes.
''Vice City only''
 
  
'''Ped, Car and Boat Paths''', defines paths relative to the world centre. Only used in GTA VC, this format is much easier than in GTA3 where the paths were stored in IDE files, and GTA-SA paths which are stored in **nodes.dat inside gta3.img.  This is a quite complicated format and hardly usable without an editing program (such as [[Ked]]).
+
=== INST ===
  
GTA SA uses [[GTA SA Paths|compiled binary files]] for its paths.
+
4b  - FLOAT    - Position X
 +
4b  - FLOAT    - Position Y
 +
4b  - FLOAT    - Position Z
 +
4b  - FLOAT    - Rotation X
 +
4b  - FLOAT    - Rotation Y
 +
4b  - FLOAT    - Rotation Z
 +
4b  - FLOAT    - Rotation W
 +
4b  - INT32    - Object ID (as an index to the ''IDE'')
 +
4b  - INT32    - Interior
 +
4b  - INT32    - ''LOD'' index
  
===GRGE===
+
=== CARS ===
This creates [[Garage|garages]] for the <code>[[main.scm]]</code> to use. Only used in San Andreas.
+
''CARS'' is one of the known sections which can be used in binary format inside streaming files. It's format is similar to the plain text format:
  
''San Andreas format''
+
4b  - FLOAT    - Position X
  X1, Y1, Z1, frontX, frontY, X2, Y2, Z2, Door, Type, Name
+
  4b  - FLOAT    - Position Y
;X1, Y1, Z1: Lower left front
+
4b  - FLOAT    - Position Z
;frontX, frontY: Lower right front
+
4b  - FLOAT    - Angle (Around Z-Axis)
;X2, Y2, Z2: Upper left rear
+
4b  - INT32    - Object ID (an index to an [[CARS_(IDE_Section)|vehicle definition]])
;Door: [[Grge#Types_of_doors|Types of doors]]
+
4b  - INT32    - Primary color
;Type: [[Garage#San_Andreas|Type of garage]]
+
4b  - INT32    - Secondary color
;Name: [[Garage#San_Andreas_2|Used to edit garage through the SCM]]
+
4b  - INT32    - Force spawn (Windows BOOL - see ''<code>WinDef.h</code>'')
 +
4b  - INT32    - Alarm probability
 +
4b  - INT32    - Locked probability
 +
4b  - INT32    - Unknown1 (Could be tertiary color)
 +
4b  - INT32    - Unknown2 (Could be quarterdeck color)
  
===ENEX===
+
'''Load a custom file'''
This creates entrances to exits or [[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 <code>[[gta.dat]]</code> else it can negatively affect currently placed markers. 376 of 400 possible enex connections are used in a standard game.
 
  
''San Andreas format''
+
A basic comparison between a normal <code>.ipl</code> and a binary <code>.ipl</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: ???
 
;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#San_Andreas_2|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
 
  
====San Andreas Enex Flags====
+
'''Normal:'''
{|
+
15072, PLS_carpark, 0, 2579.8796445, 645.50208432, 9.93, 0, 0, 0, 1, -1
! Flag
 
! Name
 
! Description
 
|-
 
| 1
 
| unknown interior
 
| Only used for interior markers
 
|-
 
| 2
 
| unknown pairing
 
| Used mostly for interior markers; also Big Ear & LS Skyscraper
 
|-
 
| 4
 
| Create linked pair
 
| Pair with unflagged mate during new game start
 
|-
 
| 8
 
| Reward interior
 
| Sets flag 0010 on pair mate when used
 
|-
 
| 16
 
| Used reward entrance
 
| Set by accessing reward interior
 
|-
 
| 32
 
| Cars and aircraft
 
| Enable for cars and aircraft
 
|-
 
| 64
 
| Bikes and motorcycles
 
| Enable for bikes and motorcycles
 
|-
 
| 128
 
| Disable on foot
 
| No foot traffic. Use for cars and/or bikes only
 
|-
 
| 256
 
| Accept NPC group
 
| Group members accepted at destination of pair (passengers stripped)
 
|-
 
| 512
 
| Food date flag
 
| Set and cleared by food date (cut-scene related)
 
|-
 
| 1024
 
| unknown burglary
 
| Set on Bayside and Temporary Burglary doors
 
|-
 
| 2048
 
| Disable exit
 
| Player can enter but cannot exit a two-way pair
 
|-
 
| 4096
 
| Burglary access
 
| Enabled and disabled during Burglary
 
|-
 
| 8192
 
| Entered without exit
 
| Set by Entrance, Cleared by Exit; Applies to one side of a two
 
|-
 
| 16384
 
| Enable access
 
| Enabled by default; often cleared by scripts
 
|-
 
| 32768
 
| Delete enex
 
| Enex is deleted when used
 
|}
 
  
====San Andreas Enex Sky Colors====
+
'''Binary:'''
{|
+
15072, dummy, 0, 2579.8796445, 645.50208432, 9.93, 0, 0, 0, 1, -1
! Sky Color
 
! Descriptions
 
|-
 
| 0
 
| blue sky
 
|-
 
| 1
 
| white fading to black
 
|-
 
| 2
 
| Black with yellow lights.
 
|-
 
| 3
 
| same as 1
 
|-
 
| 4
 
| same as 2
 
|-
 
| 5
 
| white fading to purple fading to black with yellow lights
 
|-
 
| 6
 
| white fading to black with yellow lights.
 
|-
 
| 7
 
| white fading to green fading to black with yellow light (probably clouds)
 
|-
 
| 8
 
| same as 6
 
|-
 
| 9
 
| same as 6
 
|-
 
| 10
 
| same as 2
 
|-
 
| 11
 
| Purple (gay) retarded shadows not much sight.
 
|-
 
| 12
 
| same as 6
 
|-
 
| 13
 
| same as 6
 
|-
 
| 14
 
| same as 7 only green is ocean blue
 
|-
 
| 15
 
| same as 6
 
|-
 
| 16
 
| same as 2.....
 
|-
 
| 17
 
| Nightly Mist
 
|-
 
| 18
 
| Blue fading yellow (sunrise i think)
 
|-
 
| 19
 
| Blue air with white clouds
 
|-
 
| 20
 
| darker blue air with lightblue clouds
 
|-
 
| 21
 
| Darker Blue air with white clouds
 
|-
 
| 22
 
| Orange with white clouds
 
|-
 
| 23
 
| Orange fading gray with orange clouds (weird)
 
|-
 
| 24
 
| this is red fading PURPLE with no seeing rang that you can't even see yourself
 
|-
 
| 25
 
| Dark Purple to grey with nice sun reflection
 
|-
 
| 27
 
| same as 19
 
|-
 
| 28
 
| the best one: big sun white clouds and blue air
 
|-
 
| 29
 
| Blue air white clouds HUGE SUN
 
|-
 
| 30
 
| Orange with dark orange clouds
 
|}
 
  
===PICK===
+
The object name is basically ignored in <code>.ipl</code>
This creates permanent [[weapon]] pickups. Rockstar only used this to create fire extinguisher pickups at fast food restaurants.
 
  
''San Andreas format''
+
Now for converting a text <code>.ipl</code> to binary <code>.ipl</code> and vice-versa,we can use [https://gtaforums.com/topic/857375-fastman92-processor/ fastman92-processor].Its a pretty simple program we can get most of the work done by editing the <code>fastman92_processor.bat</code>(Or can use Binary (De-)Compiler).
Weapon ID, X, Y, Z
 
  
====San Andreas Pick Weapon IDs====
+
After converting to binary form we have to create a normal <code>.ipl</code> file and index it in [[Gta.dat]].Lets suppose the name of our <code>.ipl</code> is
{|
 
! ID
 
! Weapon Name
 
! Ammo
 
|-
 
| 4
 
| Brass Knuckles
 
| -
 
|-
 
| 5
 
| Nightstick
 
| -
 
|-
 
| 6
 
| Knife
 
| -
 
|-
 
| 7
 
| *Nothing*
 
| -
 
|-
 
| 8
 
| *Nothing*
 
| -
 
|-
 
| 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
 
|-
 
| 30
 
| *Nothing*
 
| -
 
|-
 
| 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
 
| -
 
|-
 
| 42
 
| *Nothing*
 
| -
 
|-
 
| 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
 
| Nightvision Goggles
 
| -
 
|-
 
| 53
 
| Infrared Goggles
 
| -
 
|-
 
| 54
 
| Jetpack
 
| -
 
|-
 
| 55
 
| Parachute
 
| -
 
|}
 
  
===JUMP===
+
test.ipl
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]].
 
  
''San Andreas format''
+
So the name of our binary <code>.ipl</code> would be as below,
startXmin, startYmin, startZmin, startXmax, startYmax, startZmax, landXmin, landYmin, landZmin,
 
landXmax, landYmax, landZmax, camX, camY, camZ, reward
 
  
===TCYC===
+
test_stream0.ipl
Creates black sky if you enter the zone. Also exists for all towns in countryside. Probably custom weather?
+
test_stream1.ipl
 +
test_stream2.ipl
 +
...
 +
etc
  
''San Andreas format''
+
Then we'll need to import them in any of the [[IMG_archive|IMG Archives]].
X1, Y1, Z1, X2, Y2, Z2, ?, ?, ?, ?, ?
 
  
===AUZO===
+
For a detailed tutorial see [https://gtaforums.com/topic/911878-sacreating-custom-binary-ipl/ here].
This creates an audio if you enter the zone.
 
  
''San Andreas format type 1''
+
== Format ==
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''
+
The following table contains all known sections in the item placement. The supported games column lists games that support the sections but it doesn't necessarily mean they're functional in the games.
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
 
  
====San Andreas Auzo Audio IDs====
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
{|
+
!style="width: 7em;"|Section
! ID
+
!style="width: 8em;"|Supported games
! What sound it plays
+
!Description
! Description of sound in the unmodified audio streams
 
 
|-
 
|-
| 4
+
|<code>[[INST|inst]]</code>||{{Icon|t}} {{Icon|4}}||Places objects defined in <code>[[OBJS|objs]]</code>, <code>[[TOBJ|tobj]]</code>, <code>[[ANIM|anim]]</code>, or <code>[[TANM|tanm]]</code> into the world.
| Ambience track 9
 
| St Mark's violin music
 
 
|-
 
|-
| 5
+
|<code>[[ZONE|zone]]</code>||{{Icon|t}} {{Icon|4}}||Creates map, navigation, and info zones.
| Ambience track 6
 
| Beach party bkgd song
 
 
|-
 
|-
| 8
+
|<code>[[CULL|cull]]</code>||{{Icon|t}} {{Icon|4}}||Creates zones with special attributes.
| Ambience track 31
 
| Unused loud hum
 
 
|-
 
|-
| 10
+
|<code>[[PICK|pick]]</code>||{{Icon|3|16||GTA III (not functional)}} {{Icon|VC|16||Vice City (not functional)}} {{Icon|SA}} {{Icon|4|16||GTA IV (not functional)}}||Creates pickups. This section is only functional in San Andreas.
| Ambience track 5
 
| Awards ceremony music
 
 
|-
 
|-
| 12
+
|<code>[[PATH|path]]</code>||{{Icon|VC}}||Creates waypoints for random ''NPC'' spawns.<br>Note: this section is also present in ''San Andreas'' and ''GTA IV''. It is used as a base for ''Rockstar's'' paths compiler, but gets ignored by the games. For more information see: [[Paths]].
| Ambience track 34
 
| Loud hum heard on ships
 
 
|-
 
|-
| 13
+
|<code>[[OCCL|occl]]</code>||{{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Creates occlusion zones.
| Ambience track 23
 
| Low Rider Challenge bkgd song
 
 
|-
 
|-
| 15
+
|<code>[[MULT|mult]]</code>||{{Icon|SA|16||San Andreas (not functional)}} {{Icon|4|16||GTA IV (not functional)}}||This section is not functional.
| Ambience track 30
 
| Static sound heard on military bases
 
 
|-
 
|-
| 17
+
|<code>[[GRGE|grge]]</code>||{{Icon|SA}} {{Icon|4}}||Creates garages.
| Ambience track 12
 
| Casino bkgd medley
 
 
|-
 
|-
| 19
+
|<code>[[ENEX|enex]]</code>||{{Icon|SA}} {{Icon|4}}||Creates entry-exit markers.
| Ambience track 4
 
| Quiet hum heard in Area 69
 
 
|-
 
|-
| 20
+
|<code>[[CARS (IPL Section)|cars]]</code>||{{Icon|SA}} {{Icon|4}}||Creates car generators (parked cars).
| Ambience track 2
 
| Fan-like clicking heard in Abattoir
 
 
|-
 
|-
| 21
+
|<code>[[JUMP|jump]]</code>||{{Icon|SA}} {{Icon|4|16||GTA IV (not functional)}}||Creates stunt jumps. This section is not functional in GTA IV.
| Ambience track 1
 
| Quiet hum heard in 24-7s
 
 
|-
 
|-
| 23
+
|<code>[[TCYC|tcyc]]</code>||{{Icon|SA}} {{Icon|4}}||Creates time cycles modifiers.
| Ambience track 14
 
| Loud hum heard in Dam interior
 
 
|-
 
|-
| 24
+
|<code>[[AUZO|auzo]]</code>||{{Icon|SA}} {{Icon|4|16||GTA IV (not functional)}}||Creates [[Stream|audio]] zones. This section is not functional in GTA IV.
| Ambience track 25
 
| Racing sounds heard in ITB lobby
 
 
|-
 
|-
| 25
+
|<code>[[MZON|mzon]]</code>||{{Icon|4}}||&ndash;
| Ambience track 24
 
| Quiet hum heard in Planning Dept
 
 
|-
 
|-
| 26
+
|<code>[[VNOD|vnod]]</code>||{{Icon|4}}||Extended format of <code>path</code> &ndash; apparently only used for [[Multiplayer#GTA_4|multiplayer]] mode.
| Ambience track 20
 
| Quiet hum heard in safe houses
 
 
|-
 
|-
| 28
+
|<code>[[LINK|link]]</code>||{{Icon|4}}||&ndash;
| Ambience track 13
 
| Dance Club bkgd medley
 
 
|-
 
|-
| 29
+
|<code>[[BLOK|blok]]</code>||{{Icon|4|16||GTA IV (not functional)}}||This section is not functional. Appears to be used to allocate responsibilities during the development stage of ''GTA IV'', but also could be used to place [[Ped_Event|decision makers]].
| Ambience track 13
 
| Dance Club bkgd medley
 
 
|-
 
|-
| 30
+
|<code>[[MLO+|mlo+]]</code>||{{Icon|4}}||<code>mlo</code> placement &ndash; Used to place offsets for ''GTA IV's'' [[interior]]s. The ''interiors'' themselves get placed inside the [[IDE]] file section <code>[[MLO|mlo]]</code>.
| Favorite Radio Station
 
| Stream or User Tracks Player
 
 
|-
 
|-
| 34
+
|<code>[[2DFX (IPL Section)|2dfx]]</code>||{{Icon|4}}||Used to make many game effects, for example - Particle.
| Ambience track 28
 
| Pleasure Domes bkgd medley
 
 
|-
 
|-
| 36
+
|<code>[[LODM|lodm]]</code>||{{Icon|4}}||&ndash;
| Ambience track 21
 
| Loud hum heard in Jet interior
 
 
|-
 
|-
| 37
+
|<code>[[SLOW|slow]]</code>||{{Icon|4}}||Unknown for what it is responsible, used very rare and only in two extended .WPL. Section contains a box.
| Ambience track 10
+
<!--|[[RTFX|rtfx]]||{{Icon|4}}||&ndash;-->
| 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
 
 
|}
 
|}
Notes: Any ID value from 0-70 inclusive not listed above generated no background sound.<br>
 
Audio 4 type two only<br>
 
Audios 5, 10, 12, and 13 disabled by default, can be re-enabled
 
 
===MULT===
 
''San Andreas and GTA4 only''
 
 
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.
 
 
===CARS===
 
Only used in San Andreas, 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_IPL|binary IPL]]s but it can also be used in regular IPLs.<br>
 
 
''San Andreas format''
 
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<br>
 
Car ID can be random: -1<br>
 
Vehicles spawn more reliably if force_spawn is true: 1
 
 
===OCCL===
 
This creates [[occlusion]] boxes around Vice City and San Andreas.
 
 
''Vice City and San Andreas format''
 
direct mid x, direct mid y, bottom height z, width x, width y, height from bottom height to top,
 
rotation
 
 
===ZONE===
 
Although technically an IPL section, this is usually only used in [[zone]] files (extension <code>.zon</code>).
 
 
===BLOK===
 
''GTA4 only''
 
 
===VNOD===
 
''GTA4 only''
 
 
===LINK===
 
''GTA4 only''
 
  
===MLO+===
 
''GTA4 only''
 
  
===RTFX===
+
== Tools ==
''GTA4 only''
 
  
===LODM===
+
* [[KEd]] &ndash; By {{U|JernejL}}
''GTA4 only''
+
* [[MEd]] &ndash; By {{U|Tonywob}}
 +
* {{GTAF|315944|IPL Helper}} &ndash; By {{U|Xmen}}
 +
* [https://www.gtainside.com/en/sanandreas/tools/120305-binary-de-compiler/ Binary (De-)Compiler] &ndash; By {{U|ocram88}}
 +
* {{GTAF|429526|SA Binary IPL Exporter for 3DS Max}} &ndash; by {{U|Gforce}}
 +
* [https://gtaforums.com/topic/857375-fastman92-processor/ fastman92processor] &ndash; By {{U|fastman92}}
  
===SLOW===
+
== See also ==
''GTA4 only''
 
  
===2DFX===
+
* [[Item definition]]
''GTA4 only''
+
* [[WPL]] &ndash; Major ''GTA IV'' item placement file.
  
==Useful Tools==
+
== External links ==
* {{GTAF|315944|IPL Helper}} - by {{U|Xmen}}
 
* [http://www.gta.ocram-net.de/index_all.php?downloadsa=11 Binary (De-)Compiler] - By {{U|ocram88}}
 
  
==External Links==
 
 
* {{GTAF|118193|GTA3/VC Map File Documentation and Troubleshooting}} - Topic by {{U|Opius}} covering general features of IPL files in GTA3 and GTA VC.
 
* {{GTAF|118193|GTA3/VC Map File Documentation and Troubleshooting}} - Topic by {{U|Opius}} covering general features of IPL files in GTA3 and GTA VC.
* {{GTAF|93990|Paths Documentation for SA, VC and GTA3}} - Topic by {{U|REspawn}} detailing Vice City's paths
 
 
* {{GTAF|202532|GTA SA IPL Documentation}} - Topic by {{U|spaceeinstein}} covering details of the IPL format in GTA SA.
 
* {{GTAF|202532|GTA SA IPL Documentation}} - Topic by {{U|spaceeinstein}} covering details of the IPL format in GTA SA.
* {{GTAF|331835|Enex Documentation}} - Topic by {{U|OrionSR}}
 
* {{GTAF|post|188549|3177288|Explanation of GTA SA LOD System}} - Post by {{U|steve-m}} explaining the [[LOD]] system for IPL files in GTA SA.
 
* [http://projectcerbera.com/gta/vc/tutorials/paths Explanation of the path-section in a VC IPL] - by {{U|Cerbera}}
 
  
{{GTA4-navi}}
+
{{N|IV|VCS|LCS|SA|VC|III}}
{{SA-navi}}
 
  
[[Category:Map Formats]][[Category:GTA 3]][[Category:GTA VC]][[Category:GTA SA]]
+
[[Category:Map Formats]]

Latest revision as of 23:12, 12 January 2021

Item Placement
IPL Sections:
2DFX AUZO BLOK CARS CULL ENEX GRGE
INST JUMP LINK LODM MLO+ MULT OCCL
PATH PICK RTFX SLOW TCYC VNOD ZONE

Item placement files, usually identified by the file extension .ipl, are a part of the map system and used to create and place (for example) different objects, zones of special behavior or paths in the world. All games support standard item placement files which are mostly stored in plain text format that can be opened and edited using any text-editing program (like Notepad), but there are tools to simplify editing of the newly introduced Binary Ipl in San Andreas. Most of the placement information in GTA IV is stored inside of binary files (see WPL).

Text Format

The structure and format of the plain text item placement files are similar to that of the item definition files. The game searches for these files in gta.dat.They allow comments by the character #.Lines starting with this character simply get ignored by the game & empty lines are also allowed. Since these files contain different types of data a keyword is required for the game to recognize each set of data.

 <keyword>
 *lines*
 end

More information about these keywords can be found below in the Fomats section.

See also: Item Definition § Overview


Binary Format

San Andreas introduced a simple binary format of item placement files. They are stored as "streaming files" inside the archive files. Editing them requires an special editor (see below). The format is pretty simple and their possibilities are not completely used by Rockstar. By default they do only support inst and cars sections. It is unconfirmed if other sections also can be used or if they are just stubs which are not implemented. Anyway, their binary format is completely unknown.

This section is incomplete. You can help by fixing and expanding it.

Header

Each binary placement information file starts with a 4-Byte identifier followed by a header containing information about the content of the files.

4b  - CHAR[4]   - Always "bnry"
4b  - INT32     - Number of item instances
4b  - INT32     - Number of unknown 1 (CULL ?)
4b  - INT32     - Number of unknown 2 (GRGE ?)
4b  - INT32     - Number of unknown 3 (ENEX ?)
4b  - INT32     - Number of parked cars
4b  - INT32     - Number of unknown 4 (PICK ?)
4b  - INT32     - Offset of item instances (0x4C by default)
4b  - INT32     - Size of item instances (unused - always 0)
4b  - INT32     - Offset of unknown 1
4b  - INT32     - Size of unknown 1 (unused - always 0)
4b  - INT32     - Offset of unknown 2
4b  - INT32     - Size of unknown 2 (unused - always 0)
4b  - INT32     - Offset of unknown 3
4b  - INT32     - Size of unknown 3 (unused - always 0)
4b  - INT32     - Offset of parked cars
4b  - INT32     - Size of parked cars (unused - always 0)
4b  - INT32     - Offset of unknown 4
4b  - INT32     - Size of unknown 4 (unused - always 0)

The header is followed by the arrays of the entries.INST arrays have a size of 40 bytes per structure, and cars have 48 bytes.

INST

4b  - FLOAT    - Position X
4b  - FLOAT    - Position Y
4b  - FLOAT    - Position Z
4b  - FLOAT    - Rotation X
4b  - FLOAT    - Rotation Y
4b  - FLOAT    - Rotation Z
4b  - FLOAT    - Rotation W
4b  - INT32    - Object ID (as an index to the IDE)
4b  - INT32    - Interior
4b  - INT32    - LOD index

CARS

CARS is one of the known sections which can be used in binary format inside streaming files. It's format is similar to the plain text format:

4b  - FLOAT    - Position X
4b  - FLOAT    - Position Y
4b  - FLOAT    - Position Z
4b  - FLOAT    - Angle (Around Z-Axis)
4b  - INT32    - Object ID (an index to an vehicle definition)
4b  - INT32    - Primary color
4b  - INT32    - Secondary color
4b  - INT32    - Force spawn (Windows BOOL - see WinDef.h)
4b  - INT32    - Alarm probability
4b  - INT32    - Locked probability
4b  - INT32    - Unknown1 (Could be tertiary color)
4b  - INT32    - Unknown2 (Could be quarterdeck color)

Load a custom file

A basic comparison between a normal .ipl and a binary .ipl.

Normal:

15072, PLS_carpark, 0, 2579.8796445, 645.50208432, 9.93, 0, 0, 0, 1, -1

Binary:

15072, dummy, 0, 2579.8796445, 645.50208432, 9.93, 0, 0, 0, 1, -1

The object name is basically ignored in .ipl

Now for converting a text .ipl to binary .ipl and vice-versa,we can use fastman92-processor.Its a pretty simple program we can get most of the work done by editing the fastman92_processor.bat(Or can use Binary (De-)Compiler).

After converting to binary form we have to create a normal .ipl file and index it in Gta.dat.Lets suppose the name of our .ipl is

test.ipl

So the name of our binary .ipl would be as below,

test_stream0.ipl 
test_stream1.ipl 
test_stream2.ipl 
...
etc

Then we'll need to import them in any of the IMG Archives.

For a detailed tutorial see here.

Format

The following table contains all known sections in the item placement. The supported games column lists games that support the sections but it doesn't necessarily mean they're functional in the games.

Section Supported games Description
inst GTA III Vice City San Andreas GTA IV Places objects defined in objs, tobj, anim, or tanm into the world.
zone GTA III Vice City San Andreas GTA IV Creates map, navigation, and info zones.
cull GTA III Vice City San Andreas GTA IV Creates zones with special attributes.
pick GTA III (not functional) Vice City (not functional) San Andreas GTA IV (not functional) Creates pickups. This section is only functional in San Andreas.
path Vice City Creates waypoints for random NPC spawns.
Note: this section is also present in San Andreas and GTA IV. It is used as a base for Rockstar's paths compiler, but gets ignored by the games. For more information see: Paths.
occl Vice City San Andreas GTA IV Creates occlusion zones.
mult San Andreas (not functional) GTA IV (not functional) This section is not functional.
grge San Andreas GTA IV Creates garages.
enex San Andreas GTA IV Creates entry-exit markers.
cars San Andreas GTA IV Creates car generators (parked cars).
jump San Andreas GTA IV (not functional) Creates stunt jumps. This section is not functional in GTA IV.
tcyc San Andreas GTA IV Creates time cycles modifiers.
auzo San Andreas GTA IV (not functional) Creates audio zones. This section is not functional in GTA IV.
mzon GTA IV
vnod GTA IV Extended format of path – apparently only used for multiplayer mode.
link GTA IV
blok GTA IV (not functional) This section is not functional. Appears to be used to allocate responsibilities during the development stage of GTA IV, but also could be used to place decision makers.
mlo+ GTA IV mlo placement – Used to place offsets for GTA IV's interiors. The interiors themselves get placed inside the IDE file section mlo.
2dfx GTA IV Used to make many game effects, for example - Particle.
lodm GTA IV
slow GTA IV Unknown for what it is responsible, used very rare and only in two extended .WPL. Section contains a box.


Tools

See also

External links