Altering enemys sizes from hex editer is it possible?

  • Thread starter Thread starter ff7rules
  • Start date Start date
Status
Not open for further replies.
The header is wrong. The 1st pointer is correct. The 2nd must be 0x0053 (not 0x0049), and the 8th 0x00C9 (not 0x00BF). I haven't seen more into it though, might be more.
 
Last edited:
The header is wrong. The 1st pointer is correct. The 2nd must be 0x0052 (not 0x0049), and the 8th 0x00C8 (not 0x00BF). I haven't seen more into it though, might be more.
No. The second must be at 0x53. 0x52 points to the 73h that ends the script so it wouldn't have a main if you did that. You have to point to the byte after the 73h.

ff7rules, do you even know what we mean when we're talking about a header? Read this. If you still have questions feel free to ask again.
 
Sorry, you're correct. Dumb mistake. It's corrected. And it's 0x00C9 not 0x00C8.
 
Ok i get where the headers are and everything and they mostly consist of FFs however how do you work out where the new header is like the hex value? thats what i don't get sorry if this is really obvious. Does it always point to the starty of a new script or something?
 
Last edited:
See the first 73h in the picture you posted? The Header for the enemy you're modding starts right after it. 73hs are easy to recognize as marks in the AI, just make sure it isn't used inside an argument, like 72GoTo(0173) (this really is annoying when making AIs). Each pointer is 2 bytes long. (you knew this :P)

The 1st pointer is 0x20
The 2nd pointer is 0x49 should be 0x53
The 8th pointer is 0xBF should be 0xC9

These bytes represent the offset inside the AI. The offset they represent are the start of a section. They always land after a 73h, except the 1st which starts right after the header.

1st section is the SETUP
2nd section is MAIN
8th is PRE-TURN

Note that the header is also counted in when finding the offset. The 1st byte in the header is offset 0x00 of that enemy's AI. The 1st byte after the header is always offset 0x20, thus the 1st used pointer is always 0x20. If setup isn't used MAIN is in almost all cases 0x20 (Setup is then 0xFFFF). 0xFFFF simply means that the section isn't used.
 
The 8th section is actually Post-Attack. It did seem like it MIGHT have been Pre-turn, but it's really executed immediately after any attack is performed by any actor to any target. Otherwise it would activate when PCs' menus come up.
 
I think I get it now! so its referring to what byte in the enemy's AI so if you move it any at all its best to make a note of how much its moved by then add it to what it once was is this correct? Sorry if i seem thick but this is all new to me.
 
Wait, there's a difference between our scripts; ff7rules, you've got another ten bytes in there that I didn't have. I've highlighted them. That's what went wrong.

jumbocactuarscriptwrongie0.png
 
Sorry if i seem thick but this is all new to me.
Don't worry about it; AI editing has a steep learning curve for people with no programming experience. I've messed up quite a few times and I can still only do basic things.
 
The 8th section is actually Post-Attack. It did seem like it MIGHT have been Pre-turn, but it's really executed immediately after any attack is performed by any actor to any target. Otherwise it would activate when PCs' menus come up.
You are prob right. It's been ages since I did any modding. Yeah, post-turn/attack sounds more correct as I recall. This script is run after each command by any battler.

I think I get it now! so its referring to what byte in the enemy's AI so if you move it any at all its best to make a note of how much its moved by then add it to what it once was is this correct? Sorry if i seem thick but this is all new to me.
At least if you insert or delete bytes inside the AI (add or remove). Basically if a section is longer or shorter that what it used to, all section's pointers after the one you altered needs to be adjusted to land after the 73hs.
Lets say I alter the MAIN section. The COUNTER GENERAL section's pointer is 0x0125, but MAIN got 5 bytes shorter. Thus I need to adjust the COUNTER GENERAL pointer to 0x0120. I don't need to adjust the SETUP pointer 'cause it's offset is unaffected by me altering MAIN. But every offset after MAIN is affected, thus the pointers needs to be adjusted for those sections.

Hope this made any sense.

And, just in case, you need to check the main pointers for the AI. You know the 6 1st bytes of the AI section in the scene. If you're altering the last enemy in the scene it doesn't matter, but if you alter the 1st or 2nd you need to adjust these pointers as well. These points to the offset of the Enemy's AIs. The 1st will always be 0x06.
 
Yep, the headers are wrong now :-P

this would work with the headers I used; the script you were using before would work with the headers gjoerulv and NFITC1 suggested.
 
Yep, the headers are wrong now :-P

this would work with the headers I used; the script you were using before would work with the headers gjoerulv and NFITC1 suggested.
WHEY!!! it finally works! thanks so much for all your help guys! Think i might make a Big Tonberry aswell lol. Thanks LKM for saying that i feel better now lol it is hard to grasp but i bet once you do the rewards are defo worth it ;)
 
Hey, nice! What exactly were you trying to do? Sorry for my unknownness, too lazy to read it all... :P
 
Well when i made cactuar jumbo he just stood there and danced away didn't attack. I know now this is because the headers where pointing at nothing nd not the next part of the script (i think)
 
Thats awesome man i should have a pic and a vid of jumbo cactuar tonight.

Enemy Brightness Mods

Enemy 1 color mod: 80154768 ??00
Enemy 2 color mod: 80155304 ??00
Enemy 3 color mod: 80155EA0 ??00
Enemy 4 color mod: 80156A3C ??00
Enemy 5 color mod: 801575D8 ??00
Enemy 6: 80158174 ??00

Any value will work (the entire spectrum is possible), but here are the extremes:

7F: Totally black. Being of darkness.
80: Really bright.

Just thought id post this 1 as well see if it can be done seems abit pointless but meh.
OK it's got to where i actually want to do this now can anyone point me in the direction of how to accomplish an enemy been completely black?
 
Last edited:
Just a wild guess:

if 8015475A -> 4098, then
((CODE - 80154747) < 3) + 4000 = Script Address (all in hex)

Therefore 80154768 -> 4108

So try something like:

12 60 20
11 08 41
80
60 XX
90

to change a character's "gamma" (which I think this should appropriately be called).

02 60 20
01 08 41
80

that will retrieve the character's current gamma if you want to use that. Remember that this is a guess. I haven't tested this address yet.

PS: Something that I've seemed to notice. In LKM's video of my Red XIII mod, you'll notice that Red grows very large, then doesn't shrink back once he's grown larger. A weird bug occurs where he stays large, then gets larger again and again before shrinking back again. I think this is because the command 92 automatically ends the script. I'll test this later, but I think this is the case. This was previously undocumented so I'm a little surprised by it.
 
Last edited:
Just a wild guess:

if 8015475A -> 4098, then
((CODE - 80154747) < 3) + 4000 = Script Address (all in hex)

Therefore 80154768 -> 4108

So try something like:

12 60 20
11 08 41
80
60 XX
90

to change a character's "gamma" (which I think this should appropriately be called).

02 60 20
01 08 41
80

that will retrieve the character's current gamma if you want to use that. Remember that this is a guess. I haven't tested this address yet.

PS: Something that I've seemed to notice. In LKM's video of my Red XIII mod, you'll notice that Red grows very large, then doesn't shrink back once he's grown larger. A weird bug occurs where he stays large, then gets larger again and again before shrinking back again. I think this is because the command 92 automatically ends the script. I'll test this later, but I think this is the case. This was previously undocumented so I'm a little surprised by it.
I tried this and well he doesn't go black but something does happen every physical attack does 1 damage even overflows! I must of inserted it in the wrong place i  inserted it at the start of his script the gamma has nothing to do with his script does it  :lol: Also about red does the script just restart itself once he has shrunk down once? I noticed in the video he got bigger much faster the 2nd time he grew and that big he no longer could fit on the screen. Is he suppose to shirnk back down after using Cosmo Memory once?
 
PS: Something that I've seemed to notice. In LKM's video of my Red XIII mod, you'll notice that Red grows very large, then doesn't shrink back once he's grown larger. A weird bug occurs where he stays large, then gets larger again and again before shrinking back again. I think this is because the command 92 automatically ends the script. I'll test this later, but I think this is the case. This was previously undocumented so I'm a little surprised by it.
Hmmm, no it's possible to make enemies do multiple commands in one dash through a script. Many enemies do this to attack 2 or more times in a row. I know cause I've tried it myself. Where is that mod of yours?
 
Status
Not open for further replies.
Back
Top