Merry Christmas all. I have been working with a talented modder (with some input from another modder) who were able to help me spawn enemies from ITA entries. Normally we can only spawn snakes with the ITA file, but now we can add any enemy to an ITA entry ( I havent tested all enemies, but all the ones I tested worked). I was going to keep this hush until after the release of my
Resident Evil REmix mod, but thought I would share this with you as an early Holiday gift! So on with the data:
BIO4 EVENT MODIFICATONS
This new found functionality requires that we hex edit the
bio4.exe (version 1.0.6) with the following changes (make sure you make a backup):
-------------------------
Find:
66 C7 45 DD 24 00 DD 05 28 D8 B0 00 C6 45 DF 00 DC F9 C7 45 E0 01 00
Change To:
E9 1E FF FF FF 90 DD 05 28 D8 B0 00 90 90 90 90 DC F9 C7 45 E0 01 00 (simply paste this over the array shown above)
--------------------------
Go to offset:
002B5420 (there will be a huge area of just CC CC CC.....)
Paste:
66 81 7A F0 00 00 75 0F 66 C7 45 DD 24 00 C6 45 DF 00 E9 CC 00 00 00 50 66 8B 42 F0 66 89 45 DD 31 C0 8A 42 F2 88 45 DF 58 EB E7
For this last part of the edit above, be sure to paste over the CC CC... and to not change the length of the binary. This is done by first by pasting this code in a new file. You will see that the length is
2B. Then go back to that offset
002B5420, and make your selection is
2b in length (as shown in photo), and paste the code over that selected area. Next we need to edit an entry in the ITA file:
-----------------------------------------------------------
ITA EVENT MODIFICATONS(spawning custom enemy types from ETM models using ITA)
This next part of the process is done by editing the ITA file. For more information on editing the ITA please see my ITA tutorial
here.
This edit allows us to spawn any type of enemy from an ETM model when it is broken. Just as in the case of the snake, in our ITA entry we will still need to use:
ItemNumber = 0x0
Randomness = 0x10
As described in the ITA tutorial mentioned above, the ETM object the enemy will spawn from is determined by the
ETS_ID value in the ITA file.
If we wish to change the Enemy ID (not to be confused with the ESL ID), we can simply add these custom values to the following offset in the extracted .txt file of the ITA:
Offset[76..79] = 0x01032B
01 =
Action (4th column in Crzosk ESL tool)
03 =
Enemy Type (3rd column in Crzosk ESL tool)
2B = Enemy ID (2nd column in Crzosk ESL tool)
THIS IS NOT THE ESL ID OR ETS ID
(if we are HEX editing it will look reversed like this):
01 02 00 00 10 A2 88 42 00 00 7A 44 00 00 FA 43 B0 7D 2B C7 94 05 A4 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 03 01 02 01 00 00 00 00 00 00 00 00 00 00 08 00 02 20 00 2D 00 00
2B 03 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 02 00 05 00 00 00 00 00 00 00 00 00 00 00 96 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
(the example above spawns an El Gigante as
2B = Enemy ID)
Note about extracting and repacking while editing this offsetIt should be noted that the
Son of Persia tools will leave out the first 0 of the array if the
Action value is not double digits (meaning it starts with 0, like 00,01, 02, 03 etc) For example:
If we set
Offset[76..79] = 0x01032B and repack (it will work fine), but if we extract this file again, the newly generated .txt file will show the edited offset out like this:
0x1032B. . (As we can see the first
0 is missing).
If we were to then repack it would not work, so we need to ensure that the first 0 is put back in the .txt file before repacking again (this only applies when extracting an AEV file that has a modified Offset[76..79] with a value other than 0x0
NotesI think the parasite doesn't spawn at all if the Action value is set to 00. If you are having trouble with an enemy not spawning try other values for the Action byte. I also found problems when spawning things like the helicopter and the rolling wagon. They will work, but will crash after retry. Feel free to experiment for yourself.
Merry Christamas and Happy Modding!