Author Topic: [PSX/PC] KERNEL.BIN editor - WallMarket (v1.4.5)  (Read 704231 times)

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #50 on: 2008-10-14 13:44:34 »
I have just got round to trying Aps' Sewer Tsunami without the mysterious 04h modifier at 0x12; without it, both kinds of Sewer Tsunami did the same amount of damage to both sides (and Aeris, who was in the back row, took half damage both times as well).

So, it looks as if 04h does what we thought it did, but it might not be possible to use it with attacks the party can use.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #51 on: 2008-10-14 16:01:25 »
It just occurred to me that Magic causes NO back attack damage. I can't believe that it took me this long to realize that. The attack needs to be physical and the target goes to all battle participants. I changed Comet2 to have a Damage Base of 11h (physical), Strength of 3, target to 47h (multiple, both sides, same as both Sewer Tsunamis), 0x12 to 04h and 0x13 to 0 and my party took around 1050 avg dmg while the enemy party I was up against took about 875 avg dmg. I changed Comet2's 0x13 to 1 and my party took around 560 avg dmg and the same enemies took 1900 avg dmg.
So 0x12:04h  DOES work, but only if the attack is physical. Target may not necessarily have to be 47h. Description is: "Causes back attack damage (physical only) to target in row []". I'm guessing caster's row is always row 0.

I've been screwin' around with Damage Base (as it will now be called as that's what it really is) and I think I have identified 47h and 50h. 50h at least, causes no damage calculation (not even a miss or 0) and is used in quite a few magics that change statuses. 47h has the same damage calculation as 37h, but is Magic. Both 37h and 47h ignore Barriers so they should be thus:

37h: Physical Damage [Strength x 16]; ignores Barrier
47h: Magical Damage [Strength x 16]; ignores MBarrier
50h: No Damage Calculation

Def Ignoring is completely different. Pandora's Box is Def Ignoring, but MBarrier still protects against half the damage. Def Ignoring will ignore the target's Def and MDef stat. Even with these values, however, there is still the random variance ([224..255]/256 or so) that the attack is multiplied by every time. Only 26h skips the random variance and M/Def status. If an attack/item were set to 37h and Def Ignoring, it would act the same if it were, instead, set to 47h and Def Ignoring.

To Test:
Effects: 01h, 02h, 03h, 09h, 16h, 17h.

Just tested 01h. If the attack attempts to inflict death, but the target is immune, then it "summons" Gunge Lance.
Just tested 02h. The attack randomly "summons" Fat-Chocobo.
I say "summons" because this gets tricky. Fat-Chocobo's animation is 10h for SUMMONS. If a Magic attempts to "summon" Fat-Chocobo, the battle engine will read the data on the Fat-Chocobo attack (except it keeps the original target(s)) as a Magic and perform animation 10h (MBarrier). The same thing would probably happen with Items (10h is Smoke Bomb) and E.Skills (????). The same sort of thing happens to Gunge Lance. The camera just freezes in most cases when these happen, however.
Choco/Mog gives the Modifier 0x13 a value of 15. This is probably the chance that it will summon. I'm not sure what it's out of, but it seems that even at 15 it rarely happens. I must have cast Bio 20 or more times in one battle trying to get it to summon Fat-Chocobo. It might just be straight-up percent.

I haven't even touched 09. I tried a few attacks with 16h and 17h, but couldn't get any results.

0Ah, 0Bh, 0Ch, 0Dh, 1Ah, and 1Eh - 22h. These are not used anywhere in the game, but they exist in gaps between other known effects. Do they have any purpose? Probably not. I'm likely to ignore these, but if someone wants to test them, go for it. :)

Oops: 1Ah is Blade Beam's. It's "perform attack [] on targets not targeted". I made Fire perform "Knights of Round" (not "Ultimate End". Again, it's using the attack data's names as well since Summon attack names are stored elsewhere.) on 5 out of 6 battery caps. However it has the same animation issue as 02h has in that it will use the animation index of the Magics and not summons and this attack looked like Barrier. :)

The 0002h property. I have no clue what it is. I thought it might be related to pausing ATB, but it doesn't seem to have that effect. ATB pauses on "wait" mode whether or not that is checked.
Also, what effect does Blade Beam property have? I know it's the only attack that uses it and I thought it might be something like "target becomes caster" or "maintain individual animation for multiple targets", but those don't seem to be correct.

I think these are the last unknowns. If I can get some help flattening out the unknown parts of these then this will be ready for version 1.0!

EDIT: Once again I updated this with the new descriptions. I also re-did the Weapons tab because the element information was limited. I removed the limitation. Until now, you could only have one element on your weapon. Now you can have as many as there are. I don't know why exactly I did it that way to begin with, but now you can make the Buster Sword do Fire, Ice, and Bolt Damage.
Other Properties were changed from their values to simply "unused". No attack in the entire game uses them, but I'll keep them there in case anyone wants to play with them. Ya know, try to cause crashes or something. ;)
Menu restraints in the upper left were re-done. Seems that everything that shows up in the out-of-battle menu shows up in the in-battle menu. So the "Appears in Battle Menu" was changed to "Sellable" (which is what I figured it was since beginning this).
I JUST noticed a (rather embarrassing) typo in the Attack Damage selection. Ignore it for now. I'll fix it in the next version. It's not worth a re-upload. :)

RE-EDIT: I screwed around with 0x12:13h (On Tifa's LBs) a little yesterday and got some strange results. I set Fire2 to that effect expecting it to give me a slot and when Vincent cast it he transformed into Death Gigas! I didn't lose control over him though. That was weird. I told him to attack the only enemy left and for a while I thought it froze, but he went through an entire idle animation loop beginning after the loop I commanded him on ended, appeared in front of the enemy, performed another entire idle animation loop (maybe two), the enemy just took damage as if hit (but DG didn't move), went through ANOTHER idle animation loop or two, went back to his position in line, performed MORE idle animation loops then the battle ended. Very weird. I've been afraid to test it with another character. :)
Speaking of Tifa's LBs, I've currently got Damage Base B1h set to "Based on Slot (Hit/Miss/Crit)". While this is true for Tifa, it's not exclusive to her. JENOVA*Birth's attacks all have this Damage Base as well. TFergusson states that it cannot critical. That makes a lot of sense. You wouldn't want Tifa's LBs critcal-ing on their own since it's based on the slot wheels. So I'm changing the description to:
"B1 Physical (Base * [Strength / 16]); No random criticals"
Either that or 11h must become "11 Physical (Base * [Strength / 16]); Allow random criticals" since 37h doesn't critical either.
I also noticed that since Blade Beam itself calls upon attack 7Ah that the attack in KERNEL.BIN must be the blade beam shockwave. So I'm changing its name from Braver to Blade Beam Wave and truncating the rest because they aren't really Cloud's limits. There will be an update soon with these corrections.
« Last Edit: 2008-10-16 14:54:29 by NFITC1 »

Auraplatonic

  • *
  • Posts: 68
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #52 on: 2008-10-15 00:46:06 »
First off I just wanted to say that i'm having alot of fun with this.  The only problem I am finding is when trying to add multiple hits to attacks.  I was able to increase the number of hits that Comet2 does but when trying to add multiple hits to matra magic, nothing changed.  I also tried chocobuckle to test and also no go.  I was thinking it had something to do with the hits not being able to register before the attack was finished but all I ever saw was one hit.


EDIT:  I have also seen that if you modify, that is add or subtract added attributes from materia, the changes will not stay when you choose a different materia or if you save.  The same thing happens with regards to changing who can be equipped with armor.  Thanks again for the great stuff :)
« Last Edit: 2008-10-15 03:29:47 by Auraplatonic »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #53 on: 2008-10-15 14:22:21 »
First off I just wanted to say that i'm having alot of fun with this.  The only problem I am finding is when trying to add multiple hits to attacks.  I was able to increase the number of hits that Comet2 does but when trying to add multiple hits to matra magic, nothing changed.  I also tried chocobuckle to test and also no go.  I was thinking it had something to do with the hits not being able to register before the attack was finished but all I ever saw was one hit.

Multiple hits are tricky. I think there's something in the animation that tells the battle engine when to apply damage. It probably does multiple hits, but only shows the first/last one? The only way to know for sure is to set an attack (say fire) to a low power with multiple hits and sense if your target has fewer HP than that number took off. Easy enough to set up. I might test this later.
EDIT: I just tested this on the Midgar Zolom. Fire was set to 2 hits and cast on "Big MZ." Damage displayed was 880, yet its HP went from 4000 to 2229 (difference of 1771). So there WAS another hit in there that did 891 damage, it just didn't show up.

EDIT:  I have also seen that if you modify, that is add or subtract added attributes from materia, the changes will not stay when you choose a different materia or if you save.  The same thing happens with regards to changing who can be equipped with armor.  Thanks again for the great stuff :)

This is terrible! Somehow this got by my testers *glares* that the data never changes. Actually, the Armor values DO change, but I made a typo for the equips and it alters the data at 0x13 twice instead of 0x12 and 0x13. Teehee. And apparently I never did write anything to alter Materia Statuses or accidentally erased it since. I have no idea how that happened.
It has been resubmitted.
« Last Edit: 2008-10-15 15:42:05 by NFITC1 »

Tyler_Wu

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #54 on: 2008-10-15 17:52:23 »
I just wanted to say i love the new format,     only thing that i can suggest would be making the list of weapons and armour and such appear in the order they are supposed to be found in the game.

right now for example in the list, force stealer is listed way down the list but when playing the game you find or can buy the force stealer soon after you get the hardedge

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #55 on: 2008-10-15 18:21:48 »
right now for example in the list, force stealer is listed way down the list but when playing the game you find or can buy the force stealer soon after you get the hardedge

This is the order the game has the data stored in (so it must remain so for editing purposes) and it's the way the game organizes it in the item menu when you tell it to organize items by type. It goes through the items in the order WM lists them, then weapons, armors, and accessories. Changing this order can be disastrous for keeping the data straight. If I reorganized any of it, there's a chance that shops would start selling the wrong things since they're based on the order stored in the KERNEL.BIN.

Tyler_Wu

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #56 on: 2008-10-15 19:06:44 »
I suspected that might screw things up, oh well not a big deal.

Prince Lex

  • *
  • Posts: 882
  • Opinionfact is Redundancy
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #57 on: 2008-10-16 00:54:02 »
Just to say, thanks for this program so much :D

I'm having so much fun screwing around with things its unreal, I've been waiting for a kernel.bin editor forever! So much easier than hexing my way to better armour.

One thing I was wondering... would it be possible to make 3 slots in weapons/armour linkable?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #58 on: 2008-10-16 01:39:47 »
One thing I was wondering... would it be possible to make 3 slots in weapons/armour linkable?

Nope, sorry. The game only allows 2 links. WM is enforcing links in pairs because I don't know what would happen if you tried to make a weapon that had, say, three left links in the first three slots (I might try that sometime, but I think it'll crash or treat them as single links anyway). So no, You can't link things like "Steal-as-well" to "DeathBlow" to "Added Cut".

BlitzNCS

  • *
  • Posts: 889
  • Master of nothing in particular
    • View Profile
    • My Youtube
Wall Market, FFVII KERNEL.BIN editor
« Reply #59 on: 2008-10-16 16:59:35 »
Hey, sorry if this has been brought up, but i noticed that MP needed for attacks cannot exceed 255, or FF, even though the Limit should be, and it states in the program too, that it should be 9999. can you fix this easily?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #60 on: 2008-10-16 17:21:59 »
NeoCLoudstrife: No, ignore that. I forgot it was even there. The limit is 255. LKM confirmed that even if it was over this, the game ignored it.

New update (0.9.24): Only a few things have changed. Most of them visual.
  • Many descriptions have been reworded/added. Pay attention to the Damage calculations and you'll see what I mean.
    • Now it states what type of damage it does. See help file for more details.
    • Some equations have been re-written to make a little more sense (I hope).
  • The Object ID has returned because I was getting tired of counting to which object it was. This is specifically useful in Materia and certain effects where if references a particular object this way
  • Materia Attributes no longer displayed in Hex. Since many of them are references and percentages I didn't see the point of leaving them that way.
  • Materia slots on Weapons and Armor are re-done. Looks best using the Classic Windows Color scheme and DPI of 96 (I think). Also, weird stuff was happening with no growth armors. This was fixed.
  • More typos fixed (apparently not all).
  • Help file has been updated again.

I still need a good icon. It can only be 256 colors, though so no image of Ms. Cloud like I wanted. :( I can still have that in the About Box though so no big loss I guess.
I was also thinking of providing my PayPal account name for donations. I doubt many people would donate and I don't care if they don't. But if they REALLY liked the program...

Edit: I've been playing around with weapons and Damage Bases. It seems that the damage bases that require a strength don't work right on weapons. When I told Cloud to do "Exact target's HP" damage he would only do half that number. When I gave it "Exact target's MHP" the target died in no fewer than two hits "have his HP each time". And it looks like 08h is healing recovery even if it is of a different element. Quite odd, but that's why weapons are traditionally restricted to 11h to A0h - A8h. Humbug, I say to that! HUMBUG!! I'll make it whatever I want and chance the consequences!!! I couldn't find anything to change that made Cloud do more than MHP/2 dmg when it was 24h yet. I'd like to know some others' experiences so we can refine this. It might even be one of the unknown FFs lurking in the Weapon data.

Edit 2: Akari just indirectly clued me into this. I wish he had mentioned it on the forum a while back. Oh well. Targeting flag 20h that is currently marked as "unused" is actually the "Long Range" flag. With this, the physical elements "Hit, Cut, Punch, Shoot, Shout" are not halved when attacking a target in the back row! While this means little for magic/summon attacks, but this DOES mean that the first byte in the weapon data is NOT just 03h for normal and 23h for long range, but that it is, in fact, the famed targeting flags! Setting the Buster Sword to 2Fh, it can target all enemy targets (can be toggled to one) and hits all targets and does the same damage in the back row! So the "unused" will be renamed to "Long Range" and the weapon tab will have to be re organized to include targeting data.
« Last Edit: 2008-10-18 17:13:22 by NFITC1 »

Gingercat

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #61 on: 2008-10-20 02:53:47 »
Nifty!!

I've been buried in my C-programming uni assignments recently so I haven't been on here to read about new developments as much as I'd like to have been.

My most recent creation is a simple guessing and pattern game setup. Nothing anywhere near as advanced as what's going on with the WallMarket editor, heh :)

It's definitely fascinating reading the discoveries on here!

Gingercat

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #62 on: 2008-10-20 02:59:59 »
37h: Physical Damage [Strength x 16]; ignores Barrier
47h: Magical Damage [Strength x 16]; ignores MBarrier
50h: No Damage Calculation

Doesn't physical damage ignore MBarrier, and magical ignore Barrier?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #63 on: 2008-10-20 04:36:41 »
37h: Physical Damage [Strength x 16]; ignores Barrier
47h: Magical Damage [Strength x 16]; ignores MBarrier
50h: No Damage Calculation

Doesn't physical damage ignore MBarrier, and magical ignore Barrier?

It does, and before you ask your next question, yes, I'm certain 37h is really a physical attack and 47h is really a magical attack.
How do I know this? The area around Wutai have those stupid locoweeds (or whatever they're called, I never liked them) that cast "Spaz Voice" with a high level of probability to any physical attack that doesn't kill them. Using a weakened grenade will cause them to "spaz", but using a weak Fire Veil will not. Conveniently enough, that area also has the Adamantoise which loves nothing more than to cast Barrier and MBarrier on itself. Both these items definitely went straight through the barriers and did damage to him based on his def or m.def. It should also be noted that 37h and 47h do not depend on the user's stats (at least not for items). So instead of base damage being multiplied by the (strength x 16) like most attacks, the base just IS (strength x 16).

I'm going to shoot for another update in the morning with the targeting data for weapons and the "unused" target flag renamed to "Long Range".

Gingercat

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #64 on: 2008-10-20 05:58:37 »
Ah, I understand. That makes sense.

That could be compared (in a way) to enemy abilities in FF10 that "pierce" (ie, ignore) protections. Perhaps a more specific description would be "pierces Barrier" - This would show that the attack can "go right through" an appropriate-type barrierif it exists?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #65 on: 2008-10-20 15:22:40 »
^ No. I don't want to add FFX descriptions to a FFVII editor. I can reasonably assume that anyone using Wall Market would be familiar with FFVII terms, but I can't say that for FFX terms.

New version of WM is out! Weapon tab shows the most change with the addition of a target frame. As stated before, Target flag 20h has been identified, but I decided to call it "Short Range" because it is on if the weapon is not long range. I think the last big project is finding out just what the property 0002h is. The list of attacks that have it are in a previous post. This is the last milestone to get over. Also, I updated the helpfile to reflect these changes (You can now press F1 in the program and bring up the helpfile) and added my PayPal account to it in case people want to give donations. It will go right back into wallmarket if you do. I don't like the dependency upon gzip, but to get rid of that I'd have to pay for a gzip component (not going to do that just for this and I can't find any free ones). If enough people desire this, I will re-write WallMarket in .NET (it's currently VB6 because that's what I have available at work) which will further rid the dependency on comdlg32.ocx! This step will likely take a while, however.

Akari

  • *
  • Posts: 766
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #66 on: 2008-10-20 18:39:36 »
^ No. I don't want to add FFX descriptions to a FFVII editor. I can reasonably assume that anyone using Wall Market would be familiar with FFVII terms, but I can't say that for FFX terms.

New version of WM is out! Weapon tab shows the most change with the addition of a target frame. As stated before, Target flag 20h has been identified, but I decided to call it "Short Range" because it is on if the weapon is not long range. I think the last big project is finding out just what the property 0002h is. The list of attacks that have it are in a previous post. This is the last milestone to get over. Also, I updated the helpfile to reflect these changes (You can now press F1 in the program and bring up the helpfile) and added my PayPal account to it in case people want to give donations. It will go right back into wallmarket if you do. I don't like the dependency upon gzip, but to get rid of that I'd have to pay for a gzip component (not going to do that just for this and I can't find any free ones). If enough people desire this, I will re-write WallMarket in .NET (it's currently VB6 because that's what I have available at work) which will further rid the dependency on comdlg32.ocx! This step will likely take a while, however.

About 0x0002 - what data is this? Maybe I already know what it is. (I'm very close to damage calculation functions in my reverse now)

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #67 on: 2008-10-20 19:54:03 »
It's flag 02h of attack byte 0x1A. Here is a list of all the attacks that have that. No Enemy specific attack has it either. If it's 0 it's on and if it's 1 it's off. Kinda backwards I think, but that's the way it works. 0x1A and 0x1B of attacks have a lot of special functions.

Gingercat

  • *
  • Posts: 64
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #68 on: 2008-10-20 23:12:05 »
That which grabs my immediate notice is on the Summon Materias - Having previously set them to 2 summons per star, and infinite for a Mastered, the 6th field is now blank instead of displaying "FF".

For "Master Summon", ALL fields are blank.

Is this normal?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #69 on: 2008-10-21 00:34:48 »
The value of FF in any of the materia fields is NULL and would probably have no effect. So they aren't displayed. This is mostly to avoid confusion as to what the FFh's are about. They're displayed in Dec now anyway.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Wall Market, FFVII KERNEL.BIN editor
« Reply #70 on: 2008-10-21 10:21:12 »
Are you planning on making the init and growth section editable.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Wall Market, FFVII KERNEL.BIN editor
« Reply #71 on: 2008-10-21 11:56:12 »
Planning, yes. But I have to figure out what all that data is. That is definitely the most complicated section. TFergusson's guide on GFAQ's should prove helpful in figuring that out.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Wall Market, FFVII KERNEL.BIN editor
« Reply #72 on: 2008-10-21 12:49:23 »
It really isn't that complicated. It depedns on how advanced you want it. I made a proggy that generates a HP curve (not exp and MP). If you want the user to generate his/hers own curve it might be tricky. But init data is easy.

Well the AI data might be a bit hard to make an editor for as well, but you could at least chose to disable Sephiroths AI to make him controlablein the flashback.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #73 on: 2008-10-21 13:12:28 »
How hard is it to mod the EXP/level up curve properly? I've done this a few times, but the results have been strange; the amount of EXP needed to get to level 99 changes, but not evenly. It seems to affect the levels at which the curve changes (i.e.52, 62, 82 etc.) far more than the others, making it more like a track with a series of hurdles than a curve.

It would also be nice to be able to play around with the amount of EXP that new characters are given when the player names them, although I'm not sure whether that is in the kernel.

Akari

  • *
  • Posts: 766
    • View Profile
Wall Market, FFVII KERNEL.BIN editor
« Reply #74 on: 2008-10-21 18:35:33 »
It's flag 02h of attack byte 0x1A. Here is a list of all the attacks that have that. No Enemy specific attack has it either. If it's 0 it's on and if it's 1 it's off. Kinda backwards I think, but that's the way it works. 0x1A and 0x1B of attacks have a lot of special functions.

if this flag is off - this is magic attack.