Item Placement
IPL Sections:
|
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).
Contents
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 |
Places objects defined in objs , tobj , anim , or tanm into the world.
| |
zone |
Creates map, navigation, and info zones. | |
cull |
Creates zones with special attributes. | |
pick |
Creates pickups. This section is only functional in San Andreas. | |
path |
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 |
Creates occlusion zones. | |
mult |
This section is not functional. | |
grge |
Creates garages. | |
enex |
Creates entry-exit markers. | |
cars |
Creates car generators (parked cars). | |
jump |
Creates stunt jumps. This section is not functional in GTA IV. | |
tcyc |
Creates time cycles modifiers. | |
auzo |
Creates audio zones. This section is not functional in GTA IV. | |
mzon |
– | |
vnod |
Extended format of path – apparently only used for multiplayer mode.
| |
link |
– | |
blok |
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+ |
mlo placement – Used to place offsets for GTA IV's interiors. The interiors themselves get placed inside the IDE file section mlo .
| |
2dfx |
Used to make many game effects, for example - Particle. | |
lodm |
– | |
slow |
Unknown for what it is responsible, used very rare and only in two extended .WPL. Section contains a box. |
Tools
- 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
- fastman92processor – By fastman92
See also
- Item definition
- WPL – Major GTA IV item placement file.
External links
- 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 • GXT Text • Image listing • Keycodes • Map Listing • Native functions • Paths • Radar Blips • Radio Stations • Saves • Scenarios • VTable • Weapons |
Tools | ASI Loader • ENBSeries • G-Texture • GIMS IV • Ingame WPL Editor • IV Needle • OpenIV • SparkIV • XLiveLess • WPL Manager • X Mod Installer Alice • C++ Script Hook • .NET Script Hook • Scocl |
Tutorials | Importing Textures with OpenIV • Importing Textures with SparkIV |
Modifications | GTA Connected • Gostown IV • Four Multiplayer • IV Multiplayer • CitizenMP:IV Reloaded |
Useful links | Community portal • Discussion forums • Modding forums • Mods on GTAGarage.com |
Grand Theft Auto: Vice City Stories | |
---|---|
File Formats | .cfg • .dat • .dtz • .gxt • .ide • .img • .ipl • .pss • .scm • .vb • .xtx |
Documentation | Leeds Engine • Radio Stations • Vehicles |
Tools | Sanny Builder |
Useful Links | Community Portal • Discussion Forum • Modding Topic |
Grand Theft Auto: Liberty City Stories | |
---|---|
File Formats | .cfg • .chk • .dat • .dtz • .gxt • .ide • .img • .ipl • .mdl • .pss • .scm • .vb |
Documentation | Leeds Engine • Opcodes • Radio Stations • Saves • Scrollbar • Vehicles |
Tools | Sanny Builder |
Useful Links | Community Portal • Discussion Forum • Modding Topic • Mobile Modding |