Jump to content

Adding spawnable characters: Difference between revisions

m
→‎Hex Editing: localized images
m (changing link from http->https)
m (→‎Hex Editing: localized images)
 
Line 77: Line 77:


==Hex Editing==
==Hex Editing==
You can now add additional characters to any level by simply using a hexeditor.
You can now add additional characters to any level by simply using a hex editor.
   
   
The BINACJBOCharacter.oni file in each level has data for each character in that level. If you look at the file with a hexeditor, you'll see that the info for each character starts with RAHC and it is 0x224 in size (hex) or 548 bytes.
The BINACJBOCharacter.oni file in each level has data for each character in that level. If you look at the file with a hex editor, you'll see that the info for each character starts with RAHC and it is 0x224 in size (hex) or 548 bytes.
   
   
Here is an example:
Here is an example:


http://edt.oni2.net/tips/level19NInja.jpg
[[Image:Adding Ninja to level19.jpg]]
   
   
This is important to know because for each character you add to a level, you have to change 2 other numbers in the file.
This is important to know because for each character you add to a level, you have to change 2 other numbers in the file.
Line 89: Line 89:
As this screenshot shows:
As this screenshot shows:


http://edt.oni2.net/OniSplit/CHARlevel1.jpg
[[Image:BINACHAR in level 1.jpg]]
   
   
38 7C is the size of the part in the raw/separate file in bytes (31800)
38 7C is the size of the part in the raw/separate file in bytes (31800)
Line 97: Line 97:
To convert to decimal switch the pair of numbers 387C becomes 7C38, then use a hex to decimal converter: https://www.easycalculation.com/hex-converter.php to get the number 31800. The same for the other number.
To convert to decimal switch the pair of numbers 387C becomes 7C38, then use a hex to decimal converter: https://www.easycalculation.com/hex-converter.php to get the number 31800. The same for the other number.
   
   
(Note: These numbers will be different depending on which level you are editing. )
(Note: These numbers will be different depending on which level you are editing.)


   
   
Line 113: Line 113:
The last 4 bytes (after the last CHAR entry) used to be 00 00 00 00, indicating the end of the collection.
The last 4 bytes (after the last CHAR entry) used to be 00 00 00 00, indicating the end of the collection.
You will have to change them to 20 02 00 00, to indicate you are adding another character.
You will have to change them to 20 02 00 00, to indicate you are adding another character.
After the first additional charcter you'll have to write 20 02 00 00 to indicate another character will be added.
After the first additional character you'll have to write 20 02 00 00 to indicate another character will be added.
Finally, after your "new last element", be sure to write 00 00 00 00 to signal the end of the collection.
Finally, after your "new last element", be sure to write 00 00 00 00 to signal the end of the collection.


After, you have made the changes, you will need to recompile that level again.
After, you have made the changes, you will need to recompile that level again.


As always Make a backup of the original BINACJBOCharacter.oni file, just in case, you need to start over.
As always, make a backup of the original BINACJBOCharacter.oni file, just in case, you need to start over.


For more information on CHAR, look at this page: [[OBD:BINA/OBJC/CHAR]]
For more information on CHAR, look at this page: [[OBD:BINA/OBJC/CHAR]]


[[Category:Modding tutorials]]
[[Category:Modding tutorials]]