1
MadmaN and Steman's Corner / Re: Bully File Editor *beta testing thread*
« on: November 27, 2011, 06:33:59 AM »
Here's a few things i noticed this morning, first a warm welcome to the boards and an interesting response. Thanks
I'm not by any means a coder - this stuff could've been done by anyone i guess.
If you look at a comparison of default.ide and default.idb in hex things start to make sense:
1. Section names are reversed in .idb version
2. some numeric values, in this case the indexes are converted to 16bit short of the corresponding .ide decimal value
edit....
Simply the idb / ipb formats follow these rules:
1. Strip all comments
2. Reverse the section text ie. "peds" changes to "sdep" (pc version)
3. Leave all text inside a section unchanged - including item names that use numbers. ie "special17"
4. Convert all carriage returns 0D0A to a single null byte 00
5. With the exception above convert all numbers in 4-byte sequence to 32-bit float or 16bit short (far as ive seen) The portions with a decimal place are in the IDE 2dfx section and more generally in the ipb's, these parts are 32-bit float. Just how the interpreter distinguishes these different formats of numbers is unk for now.
6. IDK about all other files in this type, the "end" declaration is not present in default.idb like in default.ide. Instead it repeats twice the last index value (10905)
7. Padded to be dividable by512 2048 bytes ?
Thats all i can do without learning a programming language and coding something to deal with these rules.
over to you Madman..
I'm not by any means a coder - this stuff could've been done by anyone i guess.
If you look at a comparison of default.ide and default.idb in hex things start to make sense:
1. Section names are reversed in .idb version
2. some numeric values, in this case the indexes are converted to 16bit short of the corresponding .ide decimal value
edit....
Simply the idb / ipb formats follow these rules:
1. Strip all comments
2. Reverse the section text ie. "peds" changes to "sdep" (pc version)
3. Leave all text inside a section unchanged - including item names that use numbers. ie "special17"
4. Convert all carriage returns 0D0A to a single null byte 00
5. With the exception above convert all numbers in 4-byte sequence to 32-bit float or 16bit short (far as ive seen) The portions with a decimal place are in the IDE 2dfx section and more generally in the ipb's, these parts are 32-bit float. Just how the interpreter distinguishes these different formats of numbers is unk for now.
6. IDK about all other files in this type, the "end" declaration is not present in default.idb like in default.ide. Instead it repeats twice the last index value (10905)
7. Padded to be dividable by
Thats all i can do without learning a programming language and coding something to deal with these rules.
over to you Madman..