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 GTA IV is stored inside of binary files (see WPL).
The structure and format of the item placement file is similar to the format of the item definition files.
Format and syntax description
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 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
# (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
, (comma). 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
" (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 ASCII encrypted and the decimal separator is
inst ... end
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.
This section is incomplete. You can help by it.
Each binary placement information file starts with an 4-Byte identifier followed by a header containing information about the files content.
4b - CHAR - 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.
The following table contains basic information about all known sections. For additional information read the articles itself.
|Most important section: places objects defined in OBJS, TOBJ, ANIM or TANM in the world.|
|Creates zones with special behaviour and influences to e.g. NPC's or weather.|
|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.
|Creates zones for ingame garages.|
|Creates entrace and exit markers.|
|Creates weapon pickups.|
|Creates unique stunt jumps.|
|Apparently custom weather.|
|Creates zones playing an audio stream if the user enters it.|
|Creates parked car spawns|
|Creates occlusion zones for seperated rendering.|
|Creates ingame regions. MZON is only used for GTA IV and contains one type of zones.|
|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.|
|Extented format of PATH – apparently only used for multiplayer mode.|
|MLO placement – Used to place offsets for GTA IV's interiors. The interiors themselfes get placed inside the IDE file section MLO.|
|Unknown for what it is responsible, used very rare and only in two extended .WPL. Section contains a box.|
|Used to make many game effects, for example - Particle.|
- KEd – By JernejL
- MEd – By Tonywob
- GTAForums: IPL Helper – By Xmen
- Binary (De-)Compiler – By ocram88
- GTAForums: SA Binary IPL Exporter for 3DS Max – by Gforce
- GTAForums: GTA3/VC Map File Documentation and Troubleshooting - Topic by Opius covering general features of IPL files in GTA3 and GTA VC.
- GTAForums: GTA SA IPL Documentation - Topic by spaceeinstein covering details of the IPL format in GTA SA.
|Grand Theft Auto IV|
|File Formats||.dat • .gxt • .ide • .img • .ipl • .nod • .sco • .rpf • .rrr • .wad • .wbd/.wbn • .wdd • .wdr • .wft • .whm • .wpl • .wtd|
|Documentation||Audio • Bink Video • Cryptography • Cutscenes • Image listing • Map Listing • Native functions • Paths • Saves • Scenarios • VTable • Weapons|
|Tools||ASI Loader • ENBSeries • G-Texture • GIMS • IV Needle • OpenIV • Scocl • SparkIV • XLiveLess • WPL Manager • X Mod Installer|
Alice • C++ Script Hook • .NET Script Hook
|Tutorials||Importing Textures with OpenIV • Importing Textures with SparkIV|
|Modifications||Gostown IV • Four Multiplayer • IV Multiplayer|
|Grand Theft Auto: San Andreas|
|File Formats||.b • .col • .cfg • .cut • .dff • .dat • .fxp • .gxt • .ide • .ifp • .img • .ipl • nodes*.dat • .ped • .rep • .rrr • .scm • .set • .txd|
|Documentation||Audio • Cryptography • Cutscenes • Game memory • Handling.cfg • Map Listing • Mission Packs • Opcodes • Paths • Replays • Saves • Scripts • Sound Effects • Vehicles|
|Tools||CLEO • Collision File Editor II • ENBSeries • G-Tools • IMG Tool • Limit Adjuster • Map Editor • Mod Loader • San Andreas Audio Toolkit • Sanny Builder • TXD Workshop|
|Tutorials||San Andreas v2.0 Modding • How to create a mission • How to create a thread • How to use Map Editor • Vehicle Mod Installation|
|Modifications||Design Your Own Mission • Gostown Paradise • GTA: United • Myriad Islands|
|Grand Theft Auto: Vice City|
|File Formats||.adf • .b • .col • .cfg • .dff • .dat • .gxt • .ide • .ifp • .img/.dir • .ipl • .raw/.sdt • .rep • .scm • .txd|
|Documentation||Audio • Handling • Map Listing • Opcodes • Script Paths • Saves • Sound Effects • Vehicles|
|Tools||CLEO • Collision File Editor II • G-Tools • GXT Editor • IMG Tool • Limit Adjuster • KEd (map editor) • Sanny Builder • TXD Workshop|
|Tutorials||How to create a mission • How to create a thread • Vehicle Mod Installation|
|Grand Theft Auto III|
|File Formats||.b • .col • .cfg • .dff • .dat • .gxt • .ide • .ifp • .img • .ipl • .raw/.sdt • .scm • .txd|
|Documentation||Audio • Handling.cfg • Map Listing • Opcodes • Paths • Saves • Sound Effects • Statistics • Vehicles|
|Tools||CLEO • Collision File Editor II • G-Tools • IMG Tool • Map Editor • Sanny Builder • TXD Workshop • Water Editor|
|Tutorials||How to create a mission • How to create a thread • How to use Map Editor • Vehicle Mod Installation|