[SA]Creating Custom Binary IPL

If you don't know anything about ipls I'll suggest you read here covering the normal ipl files.


Binary ipl files are normal ipls but in binary form. Its only present in GTA San AndreasGTA IV, and Bully Scholarship Edition. We'll discuss only the binary ipl of GTA San Andreas here.

An important thing to note about binary ipl file is that it only supports INST CARS section. (Others might be supported as well but till now, they're unknown).They're not placed inside the 'data/maps' rather they're inside the IMG achieves.(gta3.img/gta-int.img).

There are few differences between a normal ipl and a binary ipl. Firstly let's look at the structure,

Normal Ipl:

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

Binary Ipl:

15072, dummy, 0, 2579.87964, 645.50208, 9.93, 0, 0, 0, 1, -1
As you can see the name changed, it's not specific that the name will always change to 'dummy' but you get the point. The naming is ignored by the game and the object identifier is used instead.


First download tools from below,

1.Text Editor eg. Notepad
2.An IMG Editor. eg. IMG Factory
3.A text to binary ipl compiler. eg Fastman92 processor

So, now extract the fastman92 processor in a folder. After that copy your ipl files there.
yZxOXPU.png



Lets take a look at our ipl file,
mh9RFsP.png


Now edit the fastman92_processor.bat
Hzj7UDf.png


You'll find a window like this,
djqOO0p.png


Next, to that, you'll have to do is change this line,
fastman92_processor.exe /file_type ipl /input_type binary /input_game GAME_EXACT_BULLY_SCHOLARSHIP_EDITION_PC /input_filename "trich.ipb" /output_type text /output_game GAME_EXACT_BULLY_SCHOLARSHIP_EDITION_PC /output_filename "trich.ipl" /string_list data\bully_strings.txt
With this one below,
fastman92_processor.exe /file_type ipl /input_type text /input_game GAME_EXACT_GTASA_PC /input_filename "bin.ipl" /output_type binary /output_game GAME_EXACT_GTASA_PC /output_filename "bin_stream.ipl"

Change your input and output file names in above code but keep the '_stream' extension in the output file name or you'll have to add it later.


Next, save it and run.

7UunMI5.png


After running you'll end up with something like this,
OAAWXTp.png



After this open up your IMG archive(gta3.img or other) using IMG Factory and import and rebuild it. Then create a new text file and rename it with your output file but without the '_stream' extension.

BRwnMNC.png


The file preview
bZiz7UI.png

You can leave this file empty but it's necessary to load the binary file. Now open 'data/gta.dat' in Notepad and edit as below,

MRob35U.png


or if you got Modloader you can just paste the location in a text file and put it in Modloader directory.
L242Yny.png

Then save it. Now run your game and check if the object is spawned or not.


You will also be able to load multiple binary ipl files under its text counterpart.

//Text ipl
bin.ipl

//Binary ipl
bin_stream0.ipl
bin_stream1.ipl
bin_stream2.ipl
...

Thanks to fastman92 and junior for their help with this.

Note: I learned all this through trial and error process. So, if I have written anything wrong, please point it and I'll fix it as soon as I can. Thanks!

No comments