Jump to content

[SA][REL][Scr]SA Binary IPL


Recommended Posts

SA Binary IPL V0.1b

binary-ipl2.png

While working on the Myriad Islands map project our team found that there was a limit to the amount of generic/dynamic/prop objects that could be placed via the conventional text based ipl system.

We overcame that limit by placing all of our generic/dynamic/prop objects within binary ipl's that were then placed into the gta3.img or whatever other img's we were using.

The usual question is, How do they work ? the answer is simple, here is an example of how they fit into the game mapping structure.

my_test.ide
my_test.ipl
my_test_stream0.ipl (go into the img)
my_test_stream1.ipl (go into the img)
my_test_stream2.ipl (go into the img)

and so on.

the binary ipl system in SA is very similar to the binary wpl system used with GTA-IV.

this script currently only supports the mapping and converting of generic/dynamic/prop objects into binary ipl's, or map objects without Lod's.

i have not supported the use of the SA Lod numbering system into this script due to the complicated nature of how the numbering works, i may support it in the future along with sequential ID numbering for selected objects.

Instructions on how to use this are in tool tips that popup when you hover the mouse pointer over the buttons on the interface wink.gif

run the script from the 3DS Max maxscript interface or place it in the 3DS Max\scripts\startup folder.

Special thanks go to UZI-I for his original work on the binary ipl format and creating his Original tool smile.gif

Download GTAGarage

Edited by Gforce
  • Like 2
Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/
Share on other sites

i see you released it Gforce , let me be the first to try it out i guess. some pics maybe on the way.

 

EDIT

 

Just tested it the layout looks nice and ready to use but then it comes the errors.

 

the stuff the listener gave me is

 

-- Error occurred in object loop; filename: C:\Program Files\Autodesk\3ds Max 2009\scripts\startup\SA_Bin.mse; position: 5427

-- Defined in encrypted script

-- called in createtofile.pressed(); filename: C:\Program Files\Autodesk\3ds Max 2009\scripts\startup\SA_Bin.mse; position: 5606

-- Defined in encrypted script

>> MAXScript Rollout Handler Exception: -- Unable to convert: undefined to type: Integer <<

 

The stuff the actual bin ipl exporter is giving me is in the picture below.

 

http://i38.tinypic.com/elaady.jpg ( to big for thumbnail)

 

i guess your script cant read the IDE number setted with MAP IO which i used for normal IPL exporting then afterwards i compiled it to a binary ipl so i hope you can fix it.

 

For now i see you will need to set the ID numbers with your tool to the objects to make your script to work.

i will just keep on trying and see how you script is supposed to work.

 

 

I just tested it and it works altough after putting in the third binary IPL the game crashes it seems to can only handle two of the three binary ipl's i will tell you more on IRC just install GTA-SA again so you can test it yourself.

Edited by aad
Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/#findComment-1059579656
Share on other sites

thanks for the feedback Aad.

 

seems you tried exporting the object info without setting the 3 fields that you need to set to each object, the 'Object ID', 'Interior Flag' and the 'Lod flag', without setting these the script attempts to write the word "undefined" as an integer value in the binary file, i need to setup an event handler that warns the user they haven't set things up properly.

 

you need to use the export to listener button before trying to export to binary, this way you can visually see if you have set the needed values to the object info you want to export, anything that shows the word 'undefined' has not been set correctly wink.gif

 

this would be best used if you intend to export a bunch of similar objects, ie if all lamp posts and one is not set, you can simply select all lamp posts and set the value's to all of them at once.

 

i tested the script with your max scene and successfully exported 700 streetlamps into one ipl and the game ran fine.

 

as for reading IDE values set by anything else, no it will not work, such values are set into a 'userprop' using a unique name and given that Kam used encrypted scripts it's impossible for me to get his unique 'userprop' names.

 

treat this script as a standalone app and it should work fine.

 

Edit: i uploaded a new version that should run fine without any error's wink.gif

Edited by Gforce
Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/#findComment-1059579801
Share on other sites

 

thanks for the feedback Aad.

 

seems you tried exporting the object info without setting the 3 fields that you need to set to each object, the 'Object ID', 'Interior Flag' and the 'Lod flag', without setting these the script attempts to write the word "undefined" as an integer value in the binary file, i need to setup an event handler that warns the user they haven't set things up properly.

 

you need to use the export to listener button before trying to export to binary, this way you can visually see if you have set the needed values to the object info you want to export, anything that shows the word 'undefined' has not been set correctly wink.gif

 

this would be best used if you intend to export a bunch of similar objects, ie if all lamp posts and one is not set, you can simply select all lamp posts and set the value's to all of them at once.

 

i tested the script with your max scene and successfully exported 700 streetlamps into one ipl and the game ran fine.

 

as for reading IDE values set by anything else, no it will not work, such values are set into a 'userprop' using a unique name and given that Kam used encrypted scripts it's impossible for me to get his unique 'userprop' names.

 

treat this script as a standalone app and it should work fine.

 

Edit: i uploaded a new version that should run fine without any error's wink.gif

i will try out the updated script now and see what it will result in, for now i now know that i need to set the values right. Even though the lampposts werent the problem they just worked fine all the times but the Mtraffic lights were the big pain in the ass for causing the crashes maybe it will be solved setting the things the right way.

 

Screens on its way. hope illres will work now.

 

 

[EDIT] Gforce, there seems to be a limit to the maximum number of objects for each binary IPL, i tested it out with the lamppost for 700 it worked fine and even foor 900 lampposts it worked fine but over 1000 the game just crashes, so thats 1 thing solved, splitting up the binary ipl into 2 smaller ones of each maximum of 900 will make the game run smooth without any crashing.

 

As far as the Mtraffic lights goes i havent tested those but i know those are not at the limit of 1000 lines for each binary ipl so it must be something in the names or numbering which is letting the game crash, hope you testing went well i would like to hear what your findings were on that one.

 

bye for now.

Edited by aad
Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/#findComment-1059581094
Share on other sites

  • 2 months later...
  • 1 year later...
  • 4 years later...
ILOVEFOOTBALL95

I'm sorry to bump an old topic, I must clarify a burning question I have; To make a text.ipl file into binary,

 

Do I first rename all of the models in the text.ipl into dummy and change decimal values to five then.

 

Rename Zone Name_Stream0.ipl then import into the img file.

 

if no when it is in the img file do I delete the text version of the ipl???

 

Thanks Guys

Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/#findComment-1068289223
Share on other sites

  • 2 weeks later...

Hi, sorry for the late reply

it's a few years since I've actually used this myself, but basically all you need to do is import your text.ipl using Kams, or if you're making a new one from the Max scene then make sure everything is named as you need it and add it to the img, you can select all objects and set the flags etc, you just need to make sure that the objects you want to use in your binary ipl are defined within an existing ide file.

also make sure the name_stream0.ipl is an extension ipl to an existing normal ipl eg: name.ipl = name_stream0.ipl

 

good luck :^:

Edit: Download link updated

Edited by Gforce
Link to comment
https://gtaforums.com/topic/429526-sarelscrsa-binary-ipl/#findComment-1068338866
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.