Difference between revisions of "Item Placement"

From Grand Theft Wiki
Jump to: navigation, search
m (Spaceeinstein moved page IPL to Item Placement over redirect)
(contributions from myself, Aschratt, LINK2012, Seemann, and Solom)
 
Line 6: Line 6:
 
== Overview ==
 
== Overview ==
  
The structure and format of the ''item placement'' file is similar to the format of the [[Item Definition|item definition]] files.
+
:''See also: [[Item Definition#Overview|Item Definition § Overview]]''
  
=== Format and syntax description ===
+
The structure and format of the plain text item placement files are similar to that of the [[Item Definition|item definition]] files.  
 
 
Just like definitions, placement information files are split up into sections. Each section is indicated by a section identifier specifying the way the section gets parsed by the game. The sections themselves are filled with the entries containing the placement information. Each entry must be placed on a separate line. This is important for line-dependent entries, like the [[INST#GTA_SA_format|San Andreas LOD system]]. The end of every section is indicated by the terminating string "end". Both (identifying and terminating strings) are not case sensitive, but by default they are written in lower case.
 
 
 
Comments are usually indicated by the character <code>#</code> (number sign). It is possible to add comments to the end of a line, but breaking the line format for the current section using comments may cause the game to crash during loading. It is recommended that a comment should be placed on a separate line. Comments can also be placed outside of sections.
 
 
 
Lines itself are always formatted in the same way differing only in the number of their parameters describing the semantical content of the line. Parameters are usually separated by the character <code>,</code> (comma). [[wikipedia:Whitespace_character|Whitespace characters]] at the beginning or the end of an parameter get trimmed but they are usually used to give the content a more clear structure to make it more easier to read for human. Strings can be encased by the character <code>"</code> (quotation mark), but this is optional and rarely used by default. Also the games' parser uses an invariant culture to parse numerical values and strings. Which means strings are [[Wikipedia:ASCII|ASCII]] encrypted and the decimal separator is <code>.</code> (period).
 
 
 
==== Section example ====
 
 
 
inst
 
...
 
end
 
  
 
=== Binary format ===
 
=== Binary format ===
  
''San Andreas'' introduced an 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 ''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.
+
''San Andreas'' introduced an simple binary format of item placement files. They are stored as ''"streaming files"'' inside the [[IMG Archive|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.
  
 
{{Incomplete}}
 
{{Incomplete}}
Line 38: Line 26:
 
  4b  - INT32    - Number of unknown 2 (''GRGE'' ?)
 
  4b  - INT32    - Number of unknown 2 (''GRGE'' ?)
 
  4b  - INT32    - Number of unknown 3 (''ENEX'' ?)
 
  4b  - INT32    - Number of unknown 3 (''ENEX'' ?)
  4b  - INT32    - Number of [[CARS|parked cars]]
+
  4b  - INT32    - Number of [[CARS (IPL Section)|parked cars]]
 
  4b  - INT32    - Number of unknown 4 (''PICK'' ?)
 
  4b  - INT32    - Number of unknown 4 (''PICK'' ?)
 
  4b  - INT32    - Offset of item instances (0x4C by default)
 
  4b  - INT32    - Offset of item instances (0x4C by default)
Line 55: Line 43:
 
The header is followed by the arrays of the entries. For more information about their format see the articles about the sections.
 
The header is followed by the arrays of the entries. For more information about their format see the articles about the sections.
  
=== Sections ===
+
== Format ==
  
The following table contains basic information about all known sections. For additional information read the articles itself.  
+
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 means they're functional in the games. Mouse over the game icons to see if the games are supported.
  
{|class="wikitable"
+
{|class="mw-collapsible wikitable center-col-1 center-col-2" style="width: 100%;"
!width="120px"|Identifier
+
!style="width: 7em;"|Section
!width="100px"|Supported games
+
!style="width: 8em;"|Supported games
 
!Description
 
!Description
 
|-
 
|-
|<center>[[INST]]</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||Most important section: places objects defined in [[OBJS]], [[TOBJ]], [[ANIM]] or [[TANM]] in the world.
+
|<code>[[INST|inst]]</code>||{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{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.
 
|-
 
|-
|<center>[[CULL]]</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||Creates zones with special behaviour and influences to e.g. [[wikipedia:Non-player_character|NPC's]] or [[timecyc.dat|weather]].
+
|<code>[[ZONE|zone]]</code>||{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Creates map, navigation, and info zones.
 
|-
 
|-
|<center>[[PATH]]</center>||<center>{{Icon|VC}}</center>||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]].
+
|<code>[[CULL|cull]]</code>||{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Creates zones with special attributes.
 
|-
 
|-
|<center>[[GRGE]]</center>||<center>{{Icon|SA}}</center>||Creates zones for ingame garages.
+
|<code>[[PICK|pick]]</code>||{{Icon|SA}}||Creates pickups. This section exists in GTA III, GTA Vice City, and GTA IV, but is only functional in GTA San Andreas.
 
|-
 
|-
|<center>[[ENEX]]</center>||<center>{{Icon|SA}}</center>||Creates entrace and exit markers.
+
|<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]].
 
|-
 
|-
|<center>[[PICK]]</center>||<center>{{Icon|SA}}</center>||Creates [[WEAP|weapon]] pickups.
+
|<code>[[OCCL|occl]]</code>||{{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Creates occlusion zones.
 
|-
 
|-
|<center>[[JUMP]]</center>||<center>{{Icon|SA}}</center>||Creates unique stunt jumps.
+
|<code>[[MULT|mult]]</code>||||This section exists in GTA San Andreas and GTA IV but is not functional.
 
|-
 
|-
|<center>[[TCYC]]</center>||<center>{{Icon|SA}}</center>||Apparently custom weather.
+
|<code>[[GRGE|grge]]</code>||{{Icon|SA}} {{Icon|4}}||Creates garages.
 
|-
 
|-
|<center>[[AUZO]]</center>||<center>{{Icon|SA}}</center>||Creates zones playing an [[Stream|audio stream]] if the user enters it.
+
|<code>[[ENEX|enex]]</code>||{{Icon|SA}} {{Icon|4}}||Creates entry-exit markers.
 
|-
 
|-
|<center>[[MULT]]</center>||<center>{{Icon|SA}} {{Icon|4}}</center>||&ndash;
+
|<code>[[CARS (IPL Section)|cars]]</code>||{{Icon|SA}} {{Icon|4}}||Creates car generators (parked cars).
 
|-
 
|-
|<center>[[CARS]]</center>||<center>{{Icon|SA}}</center>||Creates parked [[CARS_(IDE_Section)|car]] spawns
+
|<code>[[JUMP|jump]]</code>||{{Icon|SA}}||Creates stunt jumps. This section exists in GTA IV but is not functional.
 
|-
 
|-
|<center>[[OCCL]]</center>||<center>{{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||Creates occlusion zones for seperated rendering.
+
|<code>[[TCYC|tcyc]]</code>||{{Icon|SA}} {{Icon|4}}||Creates time cycles modifiers.
 
|-
 
|-
|<center>[[ZONE]], [[MZON]]</center>||<center>{{Icon|3}} {{Icon|VC}} {{Icon|SA}} {{Icon|4}}</center>||Creates ingame regions. ''MZON'' is only used for ''GTA IV'' and contains one type of zones.
+
|<code>[[AUZO|auzo]]</code>||{{Icon|SA}}||Creates [[Audio stream|audio]] zones. This section exists in GTA IV but is not functional.
 
|-
 
|-
|<center>[[BLOK]]</center>||<center>{{Icon|4}}</center>||Apparently ignored by the game &ndash; appears to be used to allocate responsibilities during the development stage of ''GTA IV'', but also could be used to place [[Ped_Event|decision markers]].
+
|<code>[[MZON|mzon]]</code>||{{Icon|4}}||&ndash;
 
|-
 
|-
|<center>[[VNOD]]</center>||<center>{{Icon|4}}</center>||Extented format of ''PATH'' &ndash; apparently only used for [[Multiplayer#GTA_4|multiplayer]] mode.
+
|<code>[[VNOD|vnod]]</code>||{{Icon|4}}||Extended format of ''PATH'' &ndash; apparently only used for [[Multiplayer#GTA_4|multiplayer]] mode.
 
|-
 
|-
|<center>[[LINK]]</center>||<center>{{Icon|4}}</center>||&ndash;
+
|<code>[[LINK|link]]</code>||{{Icon|4}}||&ndash;
 
|-
 
|-
|<center>[[MLO+]]</center>||<center>{{Icon|4}}</center>||MLO placement &ndash; Used to place offsets for ''GTA IV's'' [[interior]]s. The ''interiors'' themselfes get placed inside the [[IDE]] file section [[MLO]].
+
|<code>[[BLOK|blok]]</code>||||This section exists in GTA IV but is apparently ignored by the game &ndash; 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]].
 
|-
 
|-
|<center>[[RTFX]]</center>||<center>{{Icon|4}}</center>||&ndash;
+
|<code>[[MLO+|mlo+]]</code>||{{Icon|4}}||MLO placement &ndash; Used to place offsets for ''GTA IV's'' [[interior]]s. The ''interiors'' themselfes get placed inside the [[IDE]] file section <code>[[MLO|mlo]]</code>.
 
|-
 
|-
|<center>[[LODM]]</center>||<center>{{Icon|4}}</center>||&ndash;
+
|<code>[[2DFX (IPL Section)|2dfx]]</code>||{{Icon|4}}||Used to make many game effects, for example - Particle.
 
|-
 
|-
|<center>[[SLOW]]</center>||<center>{{Icon|4}}</center>||&ndash;
+
|<code>[[LODM|lodm]]</code>||{{Icon|4}}||&ndash;
 
|-
 
|-
|<center>[[2DFX_(IPL_Section)|2DFX]]</center>||<center>{{Icon|4}}</center>||Creates [[particle]] effects in the world.
+
|<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.
 +
<!--|[[RTFX]]||{{Icon|4}}||&ndash;-->
 
|}
 
|}
  
 
== Tools ==
 
== Tools ==
  
* [[KEd]] &ndash; By JernejL
+
* [[KEd]], by JernejL
* [[MEd]] &ndash; By Tonywob
+
* [[MEd]], by Tonywob
* {{GTAF|315944|IPL Helper}} &ndash; By Xmen
+
* [http://www.gtaforums.com/index.php?showtopic=315944 IPL Helper], by Xmen
* [http://www.gta.ocram-net.de/index_all.php?downloadsa=11 Binary (De-)Compiler] &ndash; By ocram88
+
* [http://www.gta.ocram-net.de/index_all.php?downloadsa=11 Binary (De-)Compiler], by ocram88
* {{GTAF|429526|SA Binary IPL Exporter for 3DS Max}} &ndash; by Gforce
+
* [http://www.gtaforums.com/index.php?showtopic=429526 SA Binary IPL Exporter for 3DS Max], by Gforce
  
 
== See also ==
 
== See also ==
  
* [[Item definition]]
+
* [[Item Definition|Item definition]]
 
* [[WPL]] &ndash; Major ''GTA IV'' item placement file.
 
* [[WPL]] &ndash; Major ''GTA IV'' item placement file.
  
Line 124: Line 113:
 
* [http://www.gtaforums.com/index.php?showtopic=118193 GTA3/VC Map File Documentation and Troubleshooting] - Topic by Opius covering general features of IPL files in GTA3 and GTA VC.
 
* [http://www.gtaforums.com/index.php?showtopic=118193 GTA3/VC Map File Documentation and Troubleshooting] - Topic by Opius covering general features of IPL files in GTA3 and GTA VC.
 
* [http://www.gtaforums.com/index.php?showtopic=202532 GTA SA IPL Documentation] - Topic by [[User:spaceeinstein|spaceeinstein]] covering details of the IPL format in GTA SA.
 
* [http://www.gtaforums.com/index.php?showtopic=202532 GTA SA IPL Documentation] - Topic by [[User:spaceeinstein|spaceeinstein]] covering details of the IPL format in GTA SA.
 
{{gtaiv}}
 
{{gtasa}}
 
  
 
{{fdl}}
 
{{fdl}}
 
+
{{3-navi}}
{{modding}}
+
{{VC-navi}}
 
[[Category:Map Formats]]
 
[[Category:Map Formats]]
[[Category:GTA III Modifications]]
 
[[Category:GTA Vice City]]
 
[[Category:Modifications]]
 

Latest revision as of 22:09, 22 July 2018

Item Placement
IPL Sections:
AUZO CARS CULL ENEX GRGE INST
JUMP MULT OCCL PATH PICK TCYC

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 behaviour 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. San Andreas is the first game to introduce a binary format for item placement files. Most of the placement information in Grand Theft Auto IV is stored inside of binary files (see WPL).

Overview

See also: Item Definition § Overview

The structure and format of the plain text item placement files are similar to that of the item definition files.

Binary format

San Andreas introduced an 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.


Header

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

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. For more information about their format see the articles about the sections.

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 means they're functional in the games. Mouse over the game icons to see if the games are supported.

Section Supported games Description
inst GTA III GTA Vice City GTA San Andreas GTA IV Places objects defined in objs, tobj, anim or tanm into the world.
zone GTA III GTA Vice City GTA San Andreas GTA IV Creates map, navigation, and info zones.
cull GTA III GTA Vice City GTA San Andreas GTA IV Creates zones with special attributes.
pick GTA San Andreas Creates pickups. This section exists in GTA III, GTA Vice City, and GTA IV, but is only functional in GTA San Andreas.
path GTA 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 GTA Vice City GTA San Andreas GTA IV Creates occlusion zones.
mult This section exists in GTA San Andreas and GTA IV but is not functional.
grge GTA San Andreas GTA IV Creates garages.
enex GTA San Andreas GTA IV Creates entry-exit markers.
cars GTA San Andreas GTA IV Creates car generators (parked cars).
jump GTA San Andreas Creates stunt jumps. This section exists in GTA IV but is not functional.
tcyc GTA San Andreas GTA IV Creates time cycles modifiers.
auzo GTA San Andreas Creates audio zones. This section exists in GTA IV but is not functional.
mzon GTA IV
vnod GTA IV Extended format of PATH – apparently only used for multiplayer mode.
link GTA IV
blok This section exists in GTA IV but is apparently ignored by the game – 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 themselfes 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

Copyrighted

This page is licensed under the GNU Free Documentation Licence. This page has a separate license to the CC-BY-SA that applies to most of Grand Theft Wiki.

The full text of the GNU FDL v1.2 is here. Click the "History" button to see the full list of authors. See Grand Theft Wiki:Copyright for more detail on our copyright policy.

GNU Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
See Grand Theft Wiki:Copyright for more information.