Qhimm.com Forums

Final Fantasy Forums => Tools => Topic started by: NFITC1 on 2008-10-08 14:48:39

Title: [FF7] KERNEL.BIN editor - WallMarket (v1.4.5)
Post by: NFITC1 on 2008-10-08 14:48:39
Now this really can edit virtually all bytes of the KERNEL.BIN and kernel2.bin (at least, to the best of my knowledge). In case something is wrong (I'm almost sure something will be), let me know. I cannot stress enough to make backups!!

Note: All discussion of Proud Clod has been moved to this thread (http://forums.qhimm.com/index.php?topic=8481.0).

WallMarket 1.4.5 is here!! (http://www.filefront.com/17391356/WallMarket145.zip/)
Mediafire Mirror (http://www.mediafire.com/?z6jpvqwg3q2z9vy)

Few more bug fixes. Attack Damage formula is handled differently as is Materia Type. Materia Links should be easier to manage too.

Requires:
Microsoft .NET Framework 3.5 (http://msdn.microsoft.com/en-us/netframework/aa569263.aspx) or higher
Microsoft Visual Basic Power Packs 3.0 (http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx) or higher (for WallMarket)

Blog (http://wmprc.blogspot.com/).

Optional:
Included .dat file. This file contains all the display characters and battle script addresses and their values. If you decide to change the character set, update this file. If this file is not present in the same directory as WallMarket.exe, then WallMarket will use the standard FFVII display characters. Also, disassembly will not display functions of known address values. If you discover the function of an unknown value, add it to the bottom of the file (or anywhere after the first 256 lines) in the same format as the rest of the addresses:
<4-digit hex address>|<function>
and it will show up during disassembly.

Images: (no longer completely accurate, but close enough :D )
Command: http://img110.imageshack.us/img110/7498/commandtablf4.png
Attack: http://img110.imageshack.us/img110/4/attacktabof6.png
Initial Data/Character Data: http://img176.imageshack.us/img176/3476/initialcharacterdataot2.png
Initial Data/Party Data: http://img185.imageshack.us/img185/1170/initialpartywz7.png
Initial Data/Character Growth: http://img8.imageshack.us/img8/7586/charactergrowth.png
Initial Data/Curves: http://img8.imageshack.us/img8/8121/curves.png
Initial Data/Character AI: http://img228.imageshack.us/img228/6392/charainew.png (Not taken directly from WM, but looks the same)
Initial Data/Random Numbers: http://img8.imageshack.us/img8/8501/randomnumbers.png
Initial Data/Scene look-up: http://img8.imageshack.us/img8/7484/scenelookup.png
Initial Data/Spell Order: http://img8.imageshack.us/img8/7274/spellorder.png
Item: http://img110.imageshack.us/img110/9983/itemtabnl1.png
Weapon: http://img110.imageshack.us/img110/6761/weapontabne5.png
Armor: http://img110.imageshack.us/img110/7611/armortabpm3.png
Accessory: http://img110.imageshack.us/img110/5271/accessorytabgv5.png
Materia: http://img110.imageshack.us/img110/6660/materiatabxs1.png
Key Item Text: http://img110.imageshack.us/img110/2026/keyitemtabwb3.png
Battle Text: http://img118.imageshack.us/img118/3682/battletexttabot1.png
Summon Attack Names: http://img118.imageshack.us/img118/364/summonattacktabxr0.png
Raw Data Window: http://img118.imageshack.us/img118/9242/rawdatawindowcb7.png


All the information for this program is described in this thread. In a nutshell, this can edit in-battle information on attacks, items, weapons, armor, accessories, and materia! Want to make a potion heal 1000 HP? Easy! Want to make Bahamut ZERO hit all targets, party and enemies alike? Simple! Want to make casting Ultima end the battle without rewards and be holy elemental AND cause poison, silence, and darkness? No problem! Want to make Buster Sword have 8 linked Materia slots with triple growth? Piece of Cake! You get the idea by now, I hope. ;) Almost any effect any attack has can be given to another. Any weapon can be modified to be equipable by another party member (may cause graphical errors . . . haven't tested this much). Armors can be changed to raise stats very high or not at all. Accessories can be changed to nullify any elements and block ALL status effects. Materia levels can be increased or AP requirements decreased!
I could go on and on about what this can do, but I'd run out of space! :D Just download it for yourself and see!!
Always keep a backup, unmodified KERNEL.BIN in case some change causes the game to crash. Every modification of known information I've made has successfully been reflected in battle.

Features:

    * WallMarket will detect if the PC version exists and will initially point to kernel directory
    * Finally updated that help file
    * Can edit all parts of KERNEL.BIN!!
    * If you can call this a feature, it now requires Microsoft Visual Basic PowerPacks 1.2 or higher.
    * Can edit Character AI and moderately accurately disassembles into something readable similar to C or Java.
         NOTE: Disassembly not always accurate. I can't get it much more accurate than it is now so don't contact me about it unless it crashes during disassembly.
    * Forgot to mention that it comes with a WallMarket.dat file that contains the text and script address functions. Doesn't handle multi-character font values yet. Still working on that. Rather, it will read the multi-characters and display just fine, but it won't save them back the way you'll expect.
          o Actually saves now. Stupid 1.1.8.2 was written to account for the Read-Only flag, but didn't save if it wasn't on. Talk about embarrassing.  :oops:
    * You can now save changes in a smaller file that can be distributed and applied to other users' KERNELs via WM. Best part of this is that the changes will stack! You can load one file that changes names, then another that changes data and both will take effect!
    * Fixes some string issues related to AI Editing
    * Smaller file size and virtual footprint
    * Attack Damage is split in two. This offers more variety to attack types.*new*
    * Materia type is also split in two. This is likely going to be more confusing than before, but it's meant to be wholistic.*new*
    * Fixed Initial Materia AP not saving when clicking on materia picture as well as a few other things.*new*
    * Limited size of PC text so it will warn you if you exceed the game's maximum allowed size. *new*


Note: Most information is known, but not all. If you have any information on unknown values please let me know by replying to this or PMing me.
Also keep in mind that I intend to continue updating this with relevant information so this is not the final version.
Note2: zlib1.dll needs to be in the same directory as WM or in the WINDOWS\system32 directory. If you get an error during KERNEL.BIN creation saying it can't find zlib1.dll, put it in the same directory as WM.
Note3: Filefront was saved so the links to the Filefront files has been restored and I'll be staying with them.
Note4: Comes with an incomplete readme with opcodes and such.
Note5: To delete scripts, highlight the script section ("Pre-Battle", "Main", etc) and press the Delete key on the keyboard.
Note6: For questions about animations indexes, read this thread (http://forums.qhimm.com/index.php?topic=8195.0) first. It will likely answer most of them.

PS - In case anyone is having problems with the new version, the old versions are still available:
WallMarket 1.3.3 (http://www.filefront.com/15202369/WallMarket133.zip/)
WallMarket 1.3.1 (http://www.filefront.com/14708671/WallMarket131.zip/)
WallMarket 1.2.1 (http://www.filefront.com/13791762/WallMarket121.zip)
WallMarket 1.2.0 (http://files.filefront.com/WallMarket120zip/;13751543;/fileinfo.html)
WallMarket 1.1.8 (http://files.filefront.com/WallMarket118zip/;13630475;/fileinfo.html)
WallMarket 1.1.7 (http://files.filefront.com/WallMarket117zip/;12686574;/fileinfo.html)
WallMarket 1.1.6 (http://files.filefront.com/WallMarket116zip/;12666396;/fileinfo.html)
WallMarket 1.1.0 (http://files.filefront.com/WallMarket11zip/;12613095;/fileinfo.html)
WallMarket 1.0.0 (http://files.filefront.com/WallMarket10zip/;12551059;/fileinfo.html)
WallMarket 0.9.29 (http://files.filefront.com/WallMarketzip/;12110393;/fileinfo.html)


I've gotten a request or two for this. It's a basic LZS Compressor/Decompressor (http://www.mediafire.com/?hwyyk2zjjjj) that's designed to work with FF7 LZS files and largely based off the LZS compression WM uses for the PCs kernel2.bin file, but optimized for larger files. As far as I can tell it works fine and usually compresses better than Qhimm's method which is really just designed to work with the PC version so size wasn't an issue. In the few tests I've made with this prog, it decompressed all tests successfully and re-compressed them to be smaller than the original LZS file. These newly compressed files were then decompressed and shown to be identical to the first decompressed file. Tests went like this:
File.LZS -> File.Dec -> File2.LZS -> File2.Dec
Size of File2.LZS < Size of File.LZS    AND    File.Dec identical to File2.Dec
Basically, that means it'll work for PSX modding too since they can be injected into a disc image without rearranging file locations. The prog comes with a basic readme as well that should explain how to use it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: *:.Griever.:* on 2008-10-08 15:10:47
This actually sounds rather good.  I'll give it a try when I get home.  Well done. :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Deathblow on 2008-10-08 17:13:11
ive been using it the last couple of days and i cant put to words how much easier and helpful its been.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Auraplatonic on 2008-10-08 17:14:07
Im excited to try.  I have the download but I haven't tried it yet.  Will let you know whats up soon.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-08 18:25:24
Thank you! I'm going to try this right away.

And well done for getting it finished so quickly; just a few weeks ago a kernel.bin editor was the alcohol-induced dream of a raving madman. Now my dream has come true ;-) Hurrah!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: CyberPirate on 2008-10-08 18:44:26
Wow, this is really nice! What can I edit in the Command tab? Can I add 10x-Cut? :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-08 19:50:12
Very good. I've just tried a few things, and have made a couple of observations, which I apologise profusely for not noticing during beta testing:

#Status attack for weapons (at 0x05) only goes up to 11 (MBarrier). I think that any status can go in here; I've had berserk (17h) and Paralyse (19h) work before (although their success rate is low, which may explain why it was thought that they don't work).

#It seems that MP cost for attacks is controlled by one byte; when I tried to make some attacks cost more than 255MP, the cost overflowed: setting the cost to 300MP will make it cost 44MP in the game.

EDIT: I was going to mention the problem with item effects used in the menu, then I read the helpme file. I suspect that the data for item effects in the menu is in ff7.exe (where attack data for limit beaks is).

Still, an excellent program; my modding is now much less time consuming and more reliable.

EDIT2: Wow, that was quick!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-08 20:42:42
#Status attack for weapons (at 0x05) only goes up to 11 (MBarrier). I think that any status can go in here; I've had berserk (17h) and Paralyse (19h) work before (although their success rate is low, which may explain why it was thought that they don't work).

#It seems that MP cost for attacks is controlled by one byte; when I tried to make some attacks cost more than 255MP, the cost overflowed: setting the cost to 300MP will make it cost 44MP in the game.

I've made these changes and updated the executable on FileFront. Only five downloads have occured to this point so I don't think too many people will explode over there being an update so soon. :)

Thank you all for your positive reactions to this! I have to admit, I wasn't sure what kind of response I'd get from this. Even when I began this project I was sure that there was something like this already and someone was going to say "Why did you do this when [This program] does it too...and better?" That would surely have ruined my last two weeks. LKM, your reaction to this was particularly amusing. :D

CyberPirate, unfortunately the Command tab cannot be edited YET. When that happens I'll bump this version up to 1.0. I'm still trying to identify those first two bytes and I think I'll have it.

I just noticed that one of the item effects is mislabeled. 0x50 is labeled as "Raises Stats" when I believe 0x00 actually should be "Raises Stats" and 0x50 should remain "Unknown". This is minor and not worth an update yet.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-08 21:01:10
Quote from: NFITC1
LKM, your reaction to this was particularly amusing.

I always enjoy a little bit of self-deprecating humour.

Anyway, I too thought that there would have been a kernel.bin editor by now; since so many important changes can be made by editing that file I'd have thought it would have been one of the first to have its own editor.

And do you have any idea how long it would take before the program will be able to edit kernelbin.2&3? At the moment I am editing these manually to make my own hardcore mod (for personal use at the moment - it will be a long, long (long) time before I have anything worth releasing).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-08 21:45:47
Kernel.bin2/3? Hmm... Most of that information is quite incomplete in the wiki. I'd have to go through it on my own to determine what it all means unless someone can provide a whitesheet with that kind of stuff on it.

3 looks easy enough as it's just a blank portion of a savemap (which has pretty complete information).
2 would be significantly harder without more precise definitions of things like "Character Data", "Stat Curve", and "Character AI".
The other sections were cake walks to the challenge that these two would provide. I really wanted to finish them before releasing the first version, which I believe I have. I just need values for those first two bytes of the commands and I'll rework it again. :)

I'd expect that it could take another month before I'm ready to for testing on 2 or 3. There are at least 6 sections covering 64 bytes in the save map 3 contains that are not identified. Not to mention that each character map has 4 bytes that are still unidentified. That's a rather large amount of "Unknown data" present, but it's still possible. It will require a lot of boring/tedious play-testing to nail down some of the differences.
Let me "re-coup" from Wall Market and make sure it's accurate before I start on adding more to it. :) Rest assured, I do intend (as I always have) to do this.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-08 22:10:33
There's a an FAQ on gamefaqs called the "Party Mechanics Guide"

http://www.gamefaqs.com/console/psx/game/197341.html

which may come in handy when trying to decipher kernel.bin2, but I'll admit, it looks quite tricky...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-08 23:31:49
Yay nice! I've been paying attention to this one a while. 1 question. Though I've never tested it I think "Additional Effects" (AD) must be 00h to make "Effect Modifier" (EM) usable. If EM is number of times the attack shall take effect that is (I don't see it can be anything else here). But both AD end EM can be combined to make an effect together. Like the Hero Drink effect. I was just wondering how this proggy handles this (if it's true what I suspect)?

EDIT: ok I see that AD has a number of hits choice. Should have checked 1st. :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat on 2008-10-09 03:51:22
*Does a happy dance*

:lol: I am officially delighted :lol:

From a simple request and a pipe dream, to the magnificence on clear display for all who love FF7 to tinker with to their heart's content... And so quick to bring it all together!! NFITC1, a big, large, Huge Thankyou Materia to you from me for picking up my simple request and running with it like it was an Olympic sprint! (The Huge Thankyou Materia is orange with thin white stripes by the way; it's on display at the Observatory with the others ;).)

Seriously, how cool is this? It's way beyond anything I could ever do with my meagre skills; the beta testing though I could really sink my sharp little teeth into. I'm good at finding bugs :)

I'm going to be posting links to WallMarket's topics on here to the forums I'm a Super Mod on; I reckon some more interest will come from over there too, and will then spread from there! Anyone who loves FF7 should check this out.

Out of respect and etiquette I'm not going to just post the name of those forums on here; if interested, type this into Google:

"Brad the Gingercat" +forum

That'll lead ya there :P

Weeeeeeee!

Love the icons on the tabs too - That is really inventive. Visual appeal++!

Weeeeeeee! :lol:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-09 05:51:32
Glad to see that all my fans are happy about this. :)

Semi-sad/semi-breakthrough news:
Good News: I have decoded the Command tab values! :D
Bad News: Editing them would be mostly worthless. :(

Here's why:
The format for the command codes in KERNEL.BIN0 are thus:
Code: [Select]
Byte 0x00: Cursor Action:
0x00: Character
0x01: Magic Menu
0x02: Summon Menu
0x03: Item Menu
0x04: E.Skill Menu
0x05: Throw Menu
0x06: "Limit"
0x07: Enemy
0x08: W-Item Menu
0x09: W-Magic Menu
0x0A: W-Summon Menu
0x0B: Coin Menu
0xFF: Untested, might cause crash
Byte 0x01: Force Target
Byte 0x02: NULL (0xFF)
Byte 0x03: NULL (0xFF)
Word 0x04: Force Camera (Single)
Word 0x06: Force Camera (Multiple)

Looks good, right? I tested quite a few of these and was quite satisfied with the results as they gave me what I expected. So now I can change "Attack" into "Limit" right?! . . . No. This is the bad news.
While it LOOKS like you could easily change "Attack"'s leading byte of 0x07 to 0x06, this does not change the behavior of Attack. First of all, the game is hard-wired to know that "Attack" is "Attack". Even if you bring up a W-Summon Menu it will still attack. After an object (magic, summon, item) is selected, only a pointer to that item will be returned to the battle engine. The battle engine is programmed to know that Command 0x03 is used to cast magics so if you try to summon something or throw an item, it will only cast the magic in the position of the summon or item in the menu that was brought up.

Example to demonstrate what I mean: I changed "Magic" to bring the "Summon" menu. I wanted to summon Titan. In the list of summons, he is number 5. However, the number 5 is returned as being paired with command 0x03, which the battle engine understands as "Magic". So instead of trying to summon Titan, it performed the magic that is number 5 on the list, which happens to be Poisona.

Still, being able to edit this will not be ignored nor considered a waste of time. The Force Target worked rather well. When setting this to 0x97 (pick one random target from ALL enemies), EVERY magic attack picked one random enemy even though the targeting information of the attack was different. In a few cases, I tried to cast cure on one of my party members and it cast cure on a random monster. I tried to cast Ultima and it only hit one random monster. :D Pretty fun no?
I still also believe that those NULL bytes still have some function. In fact, I refuse to believe they're worthless.  I know that it's not Index, MP Cost, Element, Attack Properties, Sound, Status Changes, Additional Effects, or Attack Attribute. It MIGHT have to do with linked materia.
My theory about these is this: These eight bytes (or at least, the last seven) are a sort of template of things to pass to the battle engine. When an object is selected (be it magic, summon, item, monster, or player), data appropriate to this action are copied into this string and sent to the battle engine to handle. I know that setting byte 0x01 overrides ANY targeting information the attack might have, even if the cursor only points to a single target on the opposite side of the field. Now it's possible that these two NULLS deal with multipliers (which I'd have no way of tracing). Even playing around with different values in these I could never see any difference in the way the battle occurred.

Yet another tiny update: Additional Effect 0x23 on the Attack Tab should read "Receive no Gil from enemy hit by this attack".
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: CyberPirate on 2008-10-09 10:29:05
I know you said you was going to edit so we can edit the Command tab, and it seems like you figured it out as well. But is there really a way to edit the materia to create more cuts, or would that be impossible?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-09 12:09:16
Not with this. This is just a kernel editor. I believe that to be a battle engine issue. I don't know how to edit that. It's either hard-coded into the executable (likely) or it's part of battle.lgp, which I'm not going to touch. You'd have to change the way the battle engine responds to the 0x1B command...or any command I guess. I suppose this could be tracked with a debugger, but I don't have any experience with those and wouldn't really know what to look for.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-10-09 13:42:02
This is seriously awesome. Thank you very much for making this !

Something I just noticed : in the Attack tab, the "Unused" box in the status field should really be "Dual" - because if you only check the already existing Dual box, the spell will make the game crash.
The Dual status works fine as long as those two boxes are checked.

Also, would it be possible to add a text editor ? I'm gonna have to rename lots of stuff (items, armors, weapons, accessories and materias) as well as to edit some descriptions - but hex-editing is a pain...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-09 14:02:34
You can edit text with Teioh:

http://forums.qhimm.com/index.php?topic=6385.0
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-09 14:39:13
Something I just noticed : in the Attack tab, the "Unused" box in the status field should really be "Dual" - because if you only check the already existing Dual box, the spell will make the game crash.
The Dual status works fine as long as those two boxes are checked.

Wow! That's an excellent find! I was wondering what that Unused was really for. It seems that the "Unused" flags the character as being in Dual, but the "Dual" actually does the HP draining. So "Unused" will be renamed to "Dual" and the "Dual" will be renamed to "DualHP" and will require that "Dual be checked.

EDIT: Just noticed that Items' "Restore Apply" and Attacks' "Attack Attribute" are the same things. Items' "Amount Multiplier" will be changed to "Item Strength". Because of this, Attack Attribute 0x50 is going to be "Unknown" again. :( I can't shake the feeling that it has something to do with the ATB.

RE-EDIT: This is a good day for items! Unknown 1 is "Camera"; Unknown 2 is now "Additional Effects" (as I had expected); Unknown 3 is now "Item Properties" (Identical to Attack Properties). So Item tab is all filled in terms of function. :D Values are still a mystery. I'll upload the newest version 0.9.10 (not to be confused with 0.9.1) after I'm finished writing an updated Help file.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-10-09 16:00:26
You can edit text with Teioh:

http://forums.qhimm.com/index.php?topic=6385.0

Great utility ! I just tried it... ...and it won't work :(
That's because I'm modding the PSX game, so there is no KERNEL2.BIN file...
Oh well, I guess I'll just have to hex-edit again.

Quote
Wow! That's an excellent find! I was wondering what that Unused was really for. It seems that the "Unused" flags the character as being in Dual, but the "Dual" actually does the HP draining. So "Unused" will be renamed to "Dual" and the "Dual" will be renamed to "DualHP" and will require that "Dual be checked.

You're welcome  :-D
I'm not the one who figured this out, though.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-09 21:38:12
I have made a crude Enemy attack information viewer based on WallMarket. I'm trying to find additional effects that the characters don't use that the enemies do. Only discovered a few things so far:

Ruby Weapon's Whirlsand has "Additional Effect" 0x11. Remove target from battle?
Gighee's "Sun Diver" has "Additional Effect" 0x12. I have no idea what this does.
Ultima Weapon's "Ultima Beam" has the Unknown element. I'd call it ultima element, but the magic Ultima doesn't have it.
Aps's Sewer Tsunami has "Additional Effect" 0x04. There are two of these, each identical except for having different camera movements and Effect Modifiers. Could this be "causes double damage to row [modifier]?" because I think there's one that comes from behind him that causes him double damage and one that comes from behind Cloud, Tifa, and Aeris that causes them double damage.

Any one want this thing to help me find other missing values?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-09 22:45:30
Interestingly, I have been looking at the data at 0x11 for Ruby Weapon's Whirlsand and the Midgar Zolom's "sweep" attack. It seems that having this at 11h (as Ruby's Whirlsand does) flags the victim as dead when removed from battle, whereas having it as 12h flags the enemy as "escaped". I changed 0x11 of the Midgar Zolom's sweep to 11h rather than 12h and voila! the player was flagged as dead and I got game over when the one remaining character was killed, when I didn't before (you can see this on my youtube video).

I wonder whether the unusual effect you noticed in "Sewer Tsunami" might have something to do with the fact that it attacks both sides, but does more damage to one than the other?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-09 23:31:19
I wonder whether the unusual effect you noticed in "Sewer Tsunami" might have something to do with the fact that it attacks both sides, but does more damage to one than the other?

My thought exactly. In one of them the Effect Modifier is 0 and the other is 1. This probably indicates a side to take more damage.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-10 01:14:17
I might try it out; I'm thinking of having a few more attacks like this in the game.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-10 01:51:00
Try these effects too:

06 Bandit: Hold-Up (steal Gil)
07 Bandit: Mug (steal item)
11 Remove target from battle and cause death
12 Remove target from battle as if escaped
1B Remove caster from battle (no reward?)

Attack Attributes:
 00 is used in quite a few monsters, but I think it's indicates a scripted effect although I can't find the scripts or the index.
 25 should be changed to Magical (Ignore def calculation)
 6A I believe is Heartless Angel (reduce target(s) to 1 HP)

EDIT: I think I just discovered what the Attack/Item property "Angel Whisper" does. It's really "Do not retarget if dead".
I set Bolt3 to this property and cast flare on an enemy in a group then told another party member to cast Bolt3 on that same enemy while Flare was animating. Bolt3 hit the target where the dead enemy was! I tried this again with an unchanged Fire3 and Fire3 re-targeted! Angel Whisper also does this. If you are about to kill an enemy and cue up some party member to cast Angel Whisper on it before it dies (and the battle doesn't end with the killing of that one enemy) then Angel Whisper will actually bring back the fallen enemy to full health.
So it's KINDA like "Miss if not dead", which can target targets with the "Death" status, but it won't miss.

I also thought I was onto something about property 0x0002 dealing with multiple targets and animations. Here's a list of Magics/E.Skills that can have it:
Code: [Select]
0x0002 Property:
Life
Life2
Confu
Haste
Slow
Death
Escape
Remove
Fire3
Ice3
Bolt3
Quake2
Quake3
Bio3
Demi3
FullCure
Ultima
All Summons (15)
White Wind
Big Guard
Bad Breath
Beta
Aqualung
Trine
Magic Breath
Pandora's Box

With the exception of Big Guard, FullCure, and Ultima, these all have a single animation for "all targets" that is different from the animation from the single target. FullCure doesn't even work with multiple targets. Game crashes.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tyler_Wu on 2008-10-10 18:05:11
Awesome! This could really make things interesting. Thanks for sharing!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Terid__K on 2008-10-10 20:30:40
I already learned how to mess with the kernel.bin file using Hex editing, thanks to The Saint and gjoerulv. It's a shame that this tool didn't show up earlier, oh well...

Great job on it, I'm sure this will help a lot of people.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-10 21:45:36
Quote from: NFITC1
Try these effects too:

06 Bandit: Hold-Up (steal Gil)
07 Bandit: Mug (steal item)
11 Remove target from battle and cause death
12 Remove target from battle as if escaped
1B Remove caster from battle (no reward?)

11h and 12h definitely have those effects

I have looked at the others. Using 06h and 07h with Fire and Fire2 didn't have any effect; perhaps it only works with certain attacks, perhaps something else is going on. 1Bh had an interesting effect; using it with Fire3 did not remove Red XIII from the battle when he cast it, but after he lost all of his HP, he was not flagged as dead. When the entire party was finished off, I was taken back to the world map; it would seem that 1Bh flags the user as escaped (but I'm not sure about that). Also, I couldn't use "Enemy Skill" when I was trying these (I could use every other command that I tried; I have no idea why this happened. Finally, I have been trying to see whether one of the bytes of weapon data marked as "unknown" might correspond to this byte from attack data: at the moment, nothing has worked...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-10 22:00:45
I'm not surprised that 6 and 7 didn't work as I'm sure it is looking for the item list the party has. Since the enemies don't have an item list, or Gil total, then nothing happens.
1B though I figured was "escaped" since the Chocobos and the bandits use it to run away. Flagging them as dead would have told the battle engine that they were successfully defeated and the rewards would be given.

Discovered anything more about 4?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-10 23:15:56
Quote from: NFITC1
I'm not surprised that 6 and 7 didn't work as I'm sure it is looking for the item list the party has. Since the enemies don't have an item list, or Gil total, then nothing happens.

That makes sense.

Quote from: NFITC1
Discovered anything more about 4?

I've been doing a little research on 04h; it doesn't seem to have any effect when used with fire3 or ice3 when they target both sides of the battle screen. Whether or not 04h is used, the party receives more damage than the enemies. I am going to do a bit more research on this tomorrow, but I have a feeling that the animation for the Sewer tsunami attacks that make the difference, or the "number of hits" byte at 0x13.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-11 00:17:52
I've been doing a little research on 04h; it doesn't seem to have any effect when used with fire3 or ice3 when they target both sides of the battle screen. Whether or not 04h is used, the party receives more damage than the enemies. I am going to do a bit more research on this tomorrow, but I have a feeling that the animation for the Sewer tsunami attacks that make the difference, or the "number of hits" byte at 0x13.

As I said a few posts ago, I think the effect modifier for effect 4 should be 0 or 1 at least (possibly 2 as well since there are technically 3 battle rows). I doubt any other value would work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-11 00:23:45
Ib toogles escape flag, correct! There are also several effect that alters the stats.
You guys have all the raw attack data. In case not here it is:


Code: [Select]
FF FF 00 FF 05 00 FF FF 00 00 28 00 0D 00 25 05 00 FF FF FF FF FF FF FF 00 02 FF FD Cure
FF FF 00 FF 18 00 FF FF 01 00 24 00 0D 01 25 23 00 FF FF FF FF FF FF FF 00 02 FF FD Cure2
FF FF 00 FF 40 00 FF FF 02 00 24 00 0D 02 25 82 00 FF FF FF FF FF FF FF 00 02 FF FD Cure3
FF FF 00 FF 1E 00 FF FF 00 00 24 00 0D 03 22 00 00 3F FF FF 00 80 00 00 00 00 FF FD Regen
FF FF 00 FF 03 00 FF FF 01 00 24 00 0D 04 22 00 02 7F FF FF 08 00 00 00 00 00 FF FD Poisona
FF FF 00 FF 0F 00 FF FF 02 00 24 00 0D 05 22 00 02 7F FF FF FC 78 80 06 00 00 FF FD Esuna
FF FF 00 FF 78 00 FF FF 02 00 24 00 01 06 22 00 FF 3F FF FF 00 00 00 20 00 00 FF FD Resist
FF FF 00 FF 22 00 FF FF 05 00 25 00 0D 07 24 08 FF 7F FF FF 01 00 00 00 00 02 FD FC Life
FF FF 00 FF 64 00 FF FF B1 00 25 00 0D 08 24 20 FF 7F FF FF 01 00 00 00 00 02 FD FC Life2
64 FF 00 FF 0A 00 FF FF 06 00 24 00 0F 09 22 00 FF 92 FF FF 00 10 00 00 00 00 FF FD Mini
64 FF 00 FF 0E 00 FF FF 07 00 24 00 0F 0A 22 00 FF 92 FF FF 00 08 00 00 00 00 FF FD Toad
64 FF 01 FF 08 00 FF FF 03 00 24 00 0F 0B 22 00 FF 12 FF FF 04 00 00 00 00 00 FF FD Sleepel
64 FF 00 FF 12 00 FF FF AD 00 25 00 0F 0C 22 00 FF 0F FF FF 40 00 00 00 00 00 FD FD Confu
64 FF 01 FF 18 00 FF FF 04 00 24 00 0F 0D 22 00 FF 14 FF FF 80 00 00 00 00 00 FF FD Silence
64 FF 00 FF 1C 00 FF FF 08 00 24 00 0F 0E 22 00 FF 14 FF FF 00 00 80 00 00 00 FF FD Berserk
FF FF 00 FF 10 00 FF FF 1E 00 28 00 0D 0F 50 00 FF 3F FF FF 00 00 01 00 00 00 FF FD Barrier
FF FF 00 FF 18 00 FF FF 1E 00 28 00 0D 10 50 00 FF 3F FF FF 00 00 02 00 00 00 FF FD MBarrier
FF FF 00 FF 1E 00 FF FF 1F 00 24 00 0D 11 50 00 02 3F FF FF 00 00 04 00 00 00 FF FF Reflect
FF FF 00 FF 3A 00 FF FF 1F 00 24 00 0D 12 50 00 FF 3F FF FF 00 00 03 00 00 00 FF FD Wall
FF FF 00 FF 12 00 FF FF 20 00 25 00 0D 13 50 00 02 3F FF FF 00 01 00 00 00 00 FD FD Haste
64 FF 00 FF 14 00 FF FF 21 00 25 00 0F 14 50 00 FF 19 FF FF 00 02 00 00 00 00 FD FD Slow
64 FF 00 FF 22 00 FF FF 22 00 24 00 0F 15 50 00 FF 0F FF FF 00 04 00 00 00 00 FF FD Stop
FF FF 00 FF 0C 00 FF FF AF 00 24 00 0F 16 22 00 FF 7F FF FF 00 00 17 00 00 00 FF FF DeBarrier
FF FF 00 FF 14 00 FF FF B0 00 24 00 0F 17 22 00 02 7F FF FF 00 87 17 30 00 00 FF FF DeSpell
64 FF 00 FF 1E 00 FF FF 23 00 25 00 0F 18 22 00 FF 0B FF FF 01 00 00 00 00 00 FD FD Death
6E FF 00 FF 10 00 FF FF B3 00 B3 00 00 19 22 00 FF FF 05 FF FF FF FF FF 00 00 FD FF Escape
6E FF 00 FF 63 00 FF FF 1C 00 1C 00 07 1A 22 00 FF 3F 23 FF 01 00 00 00 00 00 FD FF Remove
64 FF 00 FF 04 00 FF FF 06 00 24 00 0F 1B 22 08 FF FF FF FF FF FF FF FF 01 00 FF FD Fire
64 FF 00 FF 16 00 FF FF 0C 00 24 00 0F 1C 22 14 FF FF FF FF FF FF FF FF 01 00 FF FD Fire2
64 FF 00 FF 34 00 FF FF 12 00 90 00 0F 1D 22 40 FF FF FF FF FF FF FF FF 01 00 FD FD Fire3
64 FF 00 FF 04 00 FF FF 07 00 24 00 0F 1E 22 08 FF FF FF FF FF FF FF FF 02 00 FF FD Ice
64 FF 00 FF 16 00 FF FF 0D 00 24 00 0F 1F 22 14 FF FF FF FF FF FF FF FF 02 00 FF FD Ice2
64 FF 00 FF 34 00 FF FF 13 00 90 00 0F 20 22 40 FF FF FF FF FF FF FF FF 02 00 FD FD Ice3
64 FF 00 FF 04 00 FF FF 08 00 24 00 0F 21 22 08 FF FF FF FF FF FF FF FF 04 00 FF FD Bolt
64 FF 00 FF 16 00 FF FF 0E 00 24 00 0F 22 22 14 FF FF FF FF FF FF FF FF 04 00 FF FD Bolt2
64 FF 02 FF 34 00 FF FF 14 00 91 00 0F 23 22 40 FF FF FF FF FF FF FF FF 04 00 FD FD Bolt3
64 FF 00 FF 06 00 FF FF 09 00 24 00 0F 24 22 0B FF FF FF FF FF FF FF FF 08 00 FF FD Quake
64 FF 00 FF 1C 00 FF FF 0F 00 25 00 0F 25 22 18 FF FF FF FF FF FF FF FF 08 00 FD FD Quake2
64 FF 02 FF 44 00 FF FF 15 00 92 00 0F 26 22 46 FF FF FF FF FF FF FF FF 08 00 FD FD Quake3
64 FF 00 FF 08 00 FF FF 0A 00 24 00 0F 27 22 0A FF 0C FF FF 08 00 00 00 10 00 FF FD Bio
64 FF 00 FF 24 00 FF FF 10 00 24 00 0F 28 22 15 FF 0C FF FF 08 00 00 00 10 00 FF FD Bio2
64 FF 00 FF 50 00 FF FF 16 00 91 00 0F 29 22 44 FF 12 FF FF 08 00 00 00 10 00 FD FD Bio3
4B FF 01 FF 0E 00 FF FF 0B 00 24 00 0F 2A 23 08 FF FF FF FF FF FF FF FF 20 00 FF FF Demi
4B FF 01 FF 21 00 FF FF 11 00 24 00 0F 2B 23 10 FF FF FF FF FF FF FF FF 20 00 FF FF Demi2
4B FF 01 FF 30 00 FF FF 17 00 91 00 0F 2C 23 18 FF FF FF FF FF FF FF FF 20 00 FD FF Demi3
64 FF 02 FF 46 00 FF FF 18 00 18 00 03 2D 22 50 FF FF FF FF FF FF FF FF 00 00 FF FF Comet
64 FF 02 FF 6E 00 FF FF 26 00 26 00 87 2E 22 1E FF FF 00 04 FF FF FF FF 00 00 FF FF Comet2
64 FF 02 FF 52 00 FF FF 19 00 24 00 03 2F 22 5F FF 11 FF FF 00 04 00 00 02 00 FF FD Freeze
64 FF 00 FF 56 00 FF FF AE 00 24 00 03 30 22 64 FF 08 FF FF 00 40 00 00 08 00 FF FD Break
64 FF 02 FF 5A 00 FF FF 1A 00 24 00 03 31 22 69 FF 08 FF FF 40 00 00 00 80 00 FF FD Tornado
64 FF 02 FF 64 00 FF FF 1B 00 24 00 03 32 22 73 FF FF FF FF FF FF FF FF 01 00 FF FD Flare
FF FF 00 FF 63 00 FF FF 29 00 29 00 01 33 24 20 00 FF FF FF FF FF FF FF 00 02 FD FF FullCure
64 FF 02 FF 82 00 FF FF 1D 00 1D 00 07 34 22 69 FF FF FF FF FF FF FF FF 00 00 FD FF Ultima
FF FF 00 FF B4 00 FF FF B2 00 24 00 11 35 50 00 02 3F FF FF 00 00 10 00 00 00 FF FF Shield
FF FF FF FF 00 00 FF FF FF FF FF FF 00 18 00 00 FF 3F FF FF 01 00 00 00 FF FF FD FF

FF FF 00 FF 0E 00 FF FF 8E 00 8E 00 17 00 22 10 FF 0A 02 0F 00 04 00 00 00 00 FD FF Choco/Mog
FF FF 00 FF 20 00 FF FF 8D 00 8D 00 17 01 22 18 FF FF FF FF FF FF FF FF 02 00 FD FF Shiva
FF FF 00 FF 22 00 FF FF 8C 00 8C 00 17 02 22 1B FF FF FF FF FF FF FF FF 01 00 FD FF Ifrit
FF FF 00 FF 28 00 FF FF 8F 00 8F 00 17 03 22 1E FF FF FF FF FF FF FF FF 04 00 FD FF Ramuh
FF FF 00 FF 2E 00 FF FF 8C 00 8C 00 17 04 22 21 FF FF FF FF FF FF FF FF 08 00 FD FF Titan
FF FF 00 FF 50 00 FF FF 8D 00 8D 00 17 05 22 00 FF 17 01 FF 01 00 00 00 00 00 FD FF Odin
FF FF 00 FF 4E 00 FF FF 8F 00 8F 00 17 06 22 4B FF FF FF FF FF FF FF FF 40 00 FD FF Leviathan
FF FF 00 FF 64 00 FF FF 8E 00 8E 00 17 07 22 41 FF FF FF FF FF FF FF FF 00 00 FD FB Bahamut
FF FF 00 FF 6E 00 FF FF 8C 00 8C 00 17 08 22 64 FF FF FF FF FF FF FF FF 07 00 FD FF Kujata
FF FF 00 FF 78 00 FF FF 8D 00 8D 00 17 09 22 78 FF FF FF FF FF FF FF FF 00 01 FD FF Alexander
FF FF 00 FF B4 00 FF FF 8E 00 8E 00 17 0A 22 3C FF FF 0E FF FF FF FF FF 01 00 FD FF Phoenix
FF FF 00 FF 8C 00 FF FF 8F 00 8F 00 17 0B 22 50 FF FF FF FF FF FF FF FF 00 00 FD FB Neo Bahamut
FF FF 00 FF 96 00 FF FF 8C 00 8C 00 17 0C 22 5A FF 3F FF FF CC 1A 00 02 00 00 FD FF Hades
FF FF 00 FF A0 00 FF FF 8D 00 8D 00 17 0D 22 6E FF FF FF FF FF FF FF FF 0F 00 FD FB Typhon
FF FF 00 FF B4 00 FF FF 8E 00 8E 00 17 0E 22 78 FF FF FF FF FF FF FF FF 00 00 FD FB Bahamut ZERO
FF FF 00 FF FA 00 FF FF 8F 00 8F 00 17 0F 22 50 FF FF 00 0D FF FF FF FF 00 00 FD FB Knights of Round
64 FF 00 FF 05 00 FF FF 95 00 95 00 03 00 22 00 FF BF FF FF 04 08 00 00 00 00 FF FD Frog Song
04 FF 02 FF 0A 00 FF FF 96 00 96 00 07 01 83 1F FF 3F FF FF 00 10 00 00 00 00 FF FD L4 Suicide
64 FF 00 FF 03 00 FF FF 97 00 97 00 03 02 26 05 FF FF FF FF FF FF FF FF 00 00 EE FD Magic Hammer
FF FF 00 FF 22 00 FF FF 98 00 98 00 05 03 60 FF 00 7F FF FF CC 7E 80 36 00 02 FD FF White Wind
FF FF 00 FF 38 00 FF FF 99 00 99 00 05 04 22 00 FF 3F FF FF 00 01 03 00 00 00 FD FF Big Guard
FF FF 00 FF 32 00 FF FF 9A 00 9A 00 01 05 24 20 00 7F FF FF CD 7E 80 06 00 02 FF F7 Angel Whisper
FF FF 00 FF 13 00 FF FF 9B 00 9B 00 01 06 22 00 FF FF 1C 96 FF FF FF FF 00 00 FF FF Dragon Force
FF FF 00 FF 03 00 FF FF 9C 00 9C 00 01 07 22 00 FF 3F FF FF 00 00 00 10 00 00 FF FF Death Force
64 FF 00 FF 0A 00 FF FF 9D 00 9D 00 03 08 22 0E FF FF FF FF FF FF FF FF 01 00 FF FD Flame Thrower
64 FF 00 FF 10 00 FF FF 9E 00 9E 00 03 09 23 10 FF FF FF FF FF FF FF FF 20 00 FF FD Laser
64 FF 02 FF 08 00 FF FF 9F 00 9F 00 07 0A 22 0B FF FF FF FF FF FF FF FF 00 00 FF FD Matra Magic
64 FF 00 FF 3A 00 FF FF A0 00 A0 00 07 0B 22 00 FF 3F FF FF CC 18 00 00 00 00 FD FF Bad Breath
64 FF 02 FF 23 00 FF FF A1 00 A1 00 07 0C 22 36 FF FF FF FF FF FF FF FF 01 00 FD FF Beta
64 FF 00 FF 22 00 FF FF A2 00 A2 00 07 0D 22 34 FF FF FF FF FF FF FF FF 40 00 FD FD Aqualung
64 FF 02 FF 14 00 FF FF A3 00 A3 00 07 0E 22 22 FF FF FF FF FF FF FF FF 04 00 FD FF Trine
64 FF 00 FF 4B 00 FF FF A4 00 A4 00 07 0F 22 4D FF FF FF FF FF FF FF FF 07 00 FD FF Magic Breath
64 FF 00 FF 03 00 FF FF A5 00 A5 00 03 10 61 FF FF FF FF FF FF FF FF FF 00 00 FF FF ????
64 FF 02 FF 00 00 FF FF A6 00 A6 00 03 11 11 0C FF FF 09 FF FF FF FF FF 00 00 FF FF Goblin Punch
64 FF 00 FF 03 00 FF FF A7 00 A7 00 03 12 69 FF FF FF FF FF FF FF FF FF 00 00 FF FF Chocobuckle
05 FF 00 FF 16 00 FF FF A8 00 A8 00 07 13 83 00 FF 3F FF FF 01 00 00 00 00 00 FF FF L5 Death
64 FF 00 FF 0A 00 FF FF A9 00 A9 00 03 14 22 00 FF 3F FF FF 00 00 20 00 00 00 FF FF Death Sentence
FF FF 00 FF 06 00 FF FF AA 00 AA 00 C7 15 22 00 FF 3F FF FF 01 00 00 00 00 00 FF FF Roulette 
64 FF 02 FF 64 00 FF FF AB 00 AB 00 03 16 22 7D FF FF FF FF FF FF FF FF 00 00 FF FD Shadow Flare
64 FF 02 FF 6E 00 FF FF AC 00 AC 00 07 17 22 3C FF FF FF FF FF FF FF FF 00 00 FD F9 Pandora's Box
FF FF 00 FF 0E 00 FF FF 8E 00 8E 00 17 10 22 14 FF FF FF FF FF FF FF FF 00 00 FD FF Fat-Chocobo
FF FF 00 FF 50 00 FF FF 8D 00 8D 00 13 11 22 4E FF FF FF FF FF FF FF FF 00 00 FD FF Gunge Lance
FF FF 00 FF 00 00 FF FF 3E 00 3E 00 97 15 B1 14 FF FF FF FF FF FF FF FF 00 00 FF FF Beat Rush
FF FF 00 FF 00 00 FF FF 42 00 42 00 97 15 B1 16 FF FF FF FF FF FF FF FF 00 00 FF FF Somersault
FF FF 00 FF 00 00 FF FF 40 00 40 00 97 15 B1 18 FF FF FF FF FF FF FF FF 00 00 FF FF Waterkick
FF FF 00 FF 00 00 FF FF 41 00 41 00 97 15 B1 1A FF FF FF FF FF FF FF FF 00 00 FF FF Meteodrive
FF FF 00 FF 00 00 FF FF 43 00 43 00 97 15 B1 1C FF FF FF FF FF FF FF FF 00 00 FF FF Dolphin Blow
FF FF 00 FF 00 00 FF FF 44 00 44 00 97 15 B1 1E FF FF FF FF FF FF FF FF 00 00 FF FF Meteor Strike
FF FF 00 FF 00 00 FF FF 45 00 45 00 97 15 B1 2A FF FF FF FF FF FF FF FF 00 00 FF FF Final Heaven
FF FF 00 FF 00 00 FF FF 81 00 81 00 17 3D 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Game Over
FF FF 00 FF 00 00 FF FF 80 00 80 00 15 3C 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Death Joker
FF FF 00 FF 00 00 FF FF 7C 00 7C 00 17 3A 11 50 FF FF FF FF FF FF FF FF 00 00 FF FF Toy Soldier
FF FF 00 FF 00 00 FF FF 7D 00 7D 00 15 3B 22 00 FF 3F FF FF 00 00 00 40 00 00 FF FF Lucky Girl
FF FF 00 FF 00 00 FF FF 7B 00 7B 00 15 39 08 20 FF FF FF FF FF FF FF FF 00 02 FF FF Mog Dance
FF FF 00 FF 00 00 FF FF 7E 00 7E 00 15 38 22 00 FF FF 10 FF FF FF FF FF 00 00 FF FF Transform
FF FF 00 FF 00 00 FF FF 79 00 79 00 13 46 11 FF FF FF 08 FF FF FF FF FF 00 00 FF FF Toy Box
78 25 00 FF 00 00 23 00 7F 00 7F 00 13 FF 11 18 FF FF FF FF FF FF FF FF 00 00 FF FF Berserk Dance
64 FF 00 FF 00 00 FF FF 83 00 83 00 17 3F 22 3C FF FF FF FF FF FF FF FF 01 00 FF FF Beast Flare
78 2C 00 FF 00 00 14 00 8A 00 8A 00 13 FF 11 2A FF FF FF FF FF FF FF FF 00 00 FF FF Gigadunk
64 FF 00 FF 00 00 FF FF 85 00 85 00 17 41 22 46 FF FF FF FF FF FF FF FF 04 00 FF FF Livewire
78 23 00 FF 00 00 E2 00 8B 00 8B 00 13 FF 11 08 FF FF 00 05 FF FF FF FF 00 00 FF FF Splattercombo
64 FF 00 FF 00 00 FF FF 87 00 87 00 13 43 22 00 FF 3F FF FF CC 18 00 00 00 00 FF FF Nightmare
78 19 00 FF 00 00 A3 01 93 00 93 00 17 FF 11 28 FF FF FF FF FF FF FF FF 00 00 FF FF Chaos Saber
64 FF 00 FF 00 00 FF FF 89 00 89 00 17 45 22 00 FF 07 18 79 01 00 00 00 00 00 FF FF Satan Slam
FF FF FF FF 00 00 FF FF FF FF FF FF 17 4D 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Finishing Touch
64 FF FF FF 00 00 FF FF FF FF FF FF 17 4E 22 5A FF FF FF FF FF FF FF FF 00 00 FF FF Satan Slam
FF FF FF FF 00 00 FF FF FF FF FF FF 16 4F 11 10 FF FF FF FF FF FF FF FF 00 40 FF FF

FF FF 00 FF 00 00 FF FF 32 00 32 00 13 00 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Braver
FF FF 00 FF 00 00 FF FF 34 00 34 00 13 01 11 34 FF 3F FF FF 00 00 00 02 00 00 FF FF Cross-slash
FF FF 00 FF 00 00 FF FF 33 00 33 00 13 02 11 38 FF FF 1A 7A FF FF FF FF 00 00 BF FF Blade Beam
FF FF 00 FF 00 00 FF FF 35 00 35 00 13 03 11 46 FF FF FF FF FF FF FF FF 00 00 FF FF Climhazzard
FF FF 00 FF 00 00 FF FF 36 00 36 00 97 04 11 1A FF FF 00 06 FF FF FF FF 00 00 FF FF Meteorain
FF FF 00 FF 00 00 FF FF 39 00 39 00 17 05 11 00 FF 3F 18 78 01 00 00 00 00 00 FF FF Finishing Touch
FF FF 00 FF 00 00 FF FF 3B 00 3C 00 97 06 11 0C FF FF 00 0F FF FF FF FF 00 00 FF DF Omnislash
FF FF 00 FF 00 00 FF FF 46 00 46 00 13 07 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Big Shot
FF FF 00 FF 00 00 FF FF 48 00 48 00 17 08 11 36 FF FF FF FF FF FF FF FF 00 00 FF FF Grenade Bomb
FF FF 00 FF 00 00 FF FF 49 00 49 00 13 09 23 20 FF FF FF FF FF FF FF FF 20 00 FE FF Mindblow
FF FF 00 FF 00 00 FF FF 4B 00 4B 00 13 0A 11 00 FF 3F FF FF 01 00 00 00 00 00 FF FF Hammerblow
FF FF 00 FF 00 00 FF FF 4D 00 4D 00 17 0B 11 23 FF FF FF FF FF FF FF FF 00 00 FF DF Satellite Beam
FF FF 00 FF 00 00 FF FF 4E 00 4E 00 97 0C 11 08 FF FF 00 12 FF FF FF FF 00 00 FF FF Angermax
FF FF 00 FF 00 00 FF FF 4F 00 4F 00 97 0D 11 14 FF FF 00 0A FF FF FF FF 00 00 FF FF Catastrophe
FF FF 00 FF 00 00 FF FF 5A 00 5A 00 15 0E 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Healing Wind
FF FF 00 FF 00 00 FF FF 5B 00 5B 00 17 0F 22 00 FF 3F FF FF 80 04 00 00 00 00 FF FF Seal Evil
FF FF 00 FF 00 00 FF FF 5E 00 5E 00 15 10 22 00 FF 7F FF FF FC 7E 80 36 00 00 FF FF Breath of the Earth
FF FF 00 FF 00 00 FF FF 62 00 62 00 15 11 00 FF FF FF 14 FF FF FF FF FF 00 80 FF FF Fury Brand
FF FF 00 FF 00 00 FF FF 60 00 60 00 15 12 22 00 FF 3F FF FF 00 00 00 01 00 00 FF FF Planet Protector
FF FF 00 FF 00 00 FF FF 61 00 61 00 15 13 08 20 FF 7F FF FF 01 00 00 00 00 02 FF F7 Pulse of Life
FF FF 00 FF 00 00 FF FF 63 00 63 00 15 14 08 20 FF 3F FF FF 00 00 00 01 00 02 FF FF Great Gospel
FF FF 00 FF 00 00 FF FF 3E 00 3E 00 97 15 B1 14 FF FF 13 FF FF FF FF FF 00 00 FF FF Beat Rush
FF FF 00 FF 00 00 FF FF 42 00 42 00 97 15 B1 16 FF FF 13 FF FF FF FF FF 00 00 FF FF Somersault
FF FF 00 FF 00 00 FF FF 40 00 40 00 97 15 B1 18 FF FF 13 FF FF FF FF FF 00 00 FF FF Waterkick
FF FF 00 FF 00 00 FF FF 41 00 41 00 97 15 B1 1A FF FF 13 FF FF FF FF FF 00 00 FF FF Meteodrive
FF FF 00 FF 00 00 FF FF 43 00 43 00 97 15 B1 1C FF FF 13 FF FF FF FF FF 00 00 FF FF Dolphin Blow
FF FF 00 FF 00 00 FF FF 44 00 44 00 97 15 B1 1E FF FF 13 FF FF FF FF FF 00 00 FF FF Meteor Strike
FF FF 00 FF 00 00 FF FF 45 00 45 00 97 15 B1 2A FF FF 13 FF FF FF FF FF 00 00 FF FF Final Heaven
FF FF 00 FF 00 00 FF FF 64 00 64 00 13 1C 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Boost Jump
FF FF 00 FF 00 00 FF FF 65 00 65 00 13 1D 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Dragon
FF FF 00 FF 00 00 FF FF 67 00 67 00 17 1E 11 38 FF 05 FF FF 01 00 00 00 00 00 FF FF Hyper Jump
FF FF 00 FF 00 00 FF FF 68 00 68 00 17 1F 11 24 FF FF FF FF FF FF FF FF 00 00 FF FF Dynamite
FF FF 00 FF 00 00 FF FF 6A 00 6A 00 97 20 11 17 FF 07 00 06 01 00 00 00 00 00 FF FF Dragon Dive
FF FF 00 FF 00 00 FF FF 6C 00 6C 00 97 21 11 12 FF FF 00 08 FF FF FF FF 00 00 FF FF Big Brawl
FF FF 00 FF 00 00 FF FF 6D 00 6D 00 97 22 11 0B FF FF 00 12 FF FF FF FF 00 00 FF FF Highwind
FF 27 00 FF 00 00 23 00 50 00 50 00 13 23 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Sled Fang
FF FF 00 FF 00 00 FF FF 51 00 51 00 00 24 22 00 FF 3F 17 A0 00 01 80 00 00 00 FF FF Howling Moon
FF FF 00 FF 00 00 FF FF 53 00 53 00 13 25 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Blood Fang
FF FF 00 FF 00 00 FF FF 55 00 55 00 97 26 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Stardust Ray
FF FF 00 FF 00 00 FF FF 56 00 56 00 15 27 22 00 FF 3F 16 96 00 01 00 00 00 00 FF FF Lunatic High
FF FF 00 FF 00 00 FF FF 58 00 58 00 97 28 11 1E FF FF 00 05 FF FF FF FF 00 00 FF FF Earth Rave
FF FF 00 FF 00 00 FF FF 59 00 59 00 17 29 11 7D FF FF FF FF FF FF FF FF 00 00 FF FF Cosmo Memory
FF FF 00 FF 00 00 FF FF 78 00 78 00 13 2A 68 FF FF FF FF FF FF FF FF FF 00 00 FF FF Dice
FF FF 00 FF 00 00 FF FF 79 00 79 00 13 46 11 FF FF FF 08 FF FF FF FF FF 00 00 FF FF Toy Box
FF FF 00 FF 00 00 FF FF 7A 00 7A 00 17 2C 00 FF FF FF 0F FF FF FF FF FF 00 00 FF FF Slots
FF FF 00 FF 00 00 FF FF 82 00 82 00 00 2D 00 FF FF FF 03 00 FF FF FF FF 00 00 FF FF Galian Beast
FF FF 00 FF 00 00 FF FF 84 00 84 00 00 2E 00 FF FF FF 03 01 FF FF FF FF 00 00 FF FF Death Gigas
FF FF 00 FF 00 00 FF FF 86 00 86 00 00 2F 00 FF FF FF 03 02 FF FF FF FF 00 00 FF FF Hellmasker
FF FF 00 FF 00 00 FF FF 88 00 88 00 00 30 00 FF FF FF 03 03 FF FF FF FF 00 00 FF FF Chaos
FF FF 00 FF 00 00 FF FF 6E 00 6E 00 13 31 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Greased Lightning
FF FF 00 FF 00 00 FF FF 73 00 73 00 15 32 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Clear Tranquil
FF FF 00 FF 00 00 FF FF 71 00 71 00 17 33 11 30 FF FF FF FF FF FF FF FF 08 00 FF FF Landscaper
FF FF 00 FF 00 00 FF FF 72 00 72 00 97 34 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Bloodfest
FF FF 00 FF 00 00 FF FF 74 00 74 00 17 35 11 1C FF FF FF FF FF FF FF FF 00 00 FF DB Gauntlet
FF FF 00 FF 00 00 FF FF 76 00 76 00 97 36 11 0A FF FF 00 0F FF FF FF FF 00 00 FF FF Doom of the Living
FF FF 00 FF 00 00 FF FF 77 00 77 00 17 37 11 80 FF FF FF FF FF FF FF FF 00 00 FF FF All Creation
FF FF 00 FF 00 00 FF FF 7E 00 7E 00 15 38 22 00 FF FF 10 FF FF FF FF FF 00 00 FF FF Transform
FF FF 00 FF 00 00 FF FF 7B 00 7B 00 15 39 08 20 FF FF FF FF FF FF FF FF 00 02 FF FF Mog Dance
FF FF 00 FF 00 00 FF FF 7C 00 7C 00 17 3A 11 50 FF FF FF FF FF FF FF FF 00 00 FF FF Toy Soldier
FF FF 00 FF 00 00 FF FF 7D 00 7D 00 15 3B 22 00 FF 3F FF FF 00 00 00 40 00 00 FF FF Lucky Girl
FF FF 00 FF 00 00 FF FF 80 00 80 00 15 3C 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Death Joker
FF FF 00 FF 00 00 FF FF 81 00 81 00 17 3D 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Game Over
78 25 00 FF 00 00 23 00 7F 00 7F 00 13 FF 11 18 FF FF FF FF FF FF FF FF 00 00 FF FF Berserk Dance
64 FF 00 FF 00 00 FF FF 83 00 83 00 17 3F 22 3C FF FF FF FF FF FF FF FF 01 00 FF FF Beast Flare
78 2C 00 FF 00 00 14 00 8A 00 8A 00 13 FF 11 2A FF FF FF FF FF FF FF FF 00 00 FF FF Gigadunk
64 FF 00 FF 00 00 FF FF 85 00 85 00 17 41 22 46 FF FF FF FF FF FF FF FF 04 00 FF FF Livewire
78 23 00 FF 00 00 E2 00 8B 00 8B 00 13 FF 11 08 FF FF 00 05 FF FF FF FF 00 00 FF FF Splattercombo
64 FF 00 FF 00 00 FF FF 87 00 87 00 13 43 22 00 FF 3F FF FF CC 18 00 00 00 00 FF FF Nightmare
78 19 00 FF 00 00 A3 01 93 00 93 00 17 FF 11 28 FF FF FF FF FF FF FF FF 00 00 FF FF Chaos Saber
64 FF 00 FF 00 00 FF FF 89 00 89 00 17 45 22 00 FF 07 18 79 01 00 00 00 00 00 FF FF Satan Slam
FF FF FF FF 00 00 FF FF FF FF FF FF 17 4D 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Finishing Touch
64 FF FF FF 00 00 FF FF FF FF FF FF 17 4E 22 5A FF FF FF FF FF FF FF FF 00 00 FF FF Satan Slam

Enemy attacks part1(almost complete)
Code: [Select]
64 30 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Handclaw
64 ff 00 ff 00 00 ff ff d2 00 d2 00 03 16 11 12 ff ff ff ff ff ff ff ff 00 20 ff ff Beam Gun (Grunt)

64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Wheelie
5f 25 00 ff 00 00 23 00 01 01 01 01 07 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Drift Turn (Devil Ride)

64 2e 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 1c ff ff ff ff ff ff ff ff 00 20 ff ff W Machine Gun
4b ff 00 ff 00 00 ff ff ff ff ff ff 03 40 11 18 ff ff ff ff ff ff ff ff 00 20 ff ff Smoke Shot
64 ff 02 ff 08 00 ff ff 9f 00 9f 00 07 0a 22 0b ff ff ff ff ff ff ff ff 00 00 ff fd Matra Magic (Custom Sweeper)

78 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Fang
64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow (Kalm Fang)

64 24 00 ff 00 00 1c 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Hit
05 42 00 ff 00 00 e4 00 ff ff ff ff 03 ff 00 00 ff ff 07 ff ff ff ff ff 00 00 ff ff Steal
14 42 00 ff 00 00 05 00 ff ff ff ff 03 ff 00 08 ff ff 07 ff ff ff ff ff 00 00 ff ff Grind
64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Seize
ff ff 00 ff 00 00 ff ff 3c 01 3c 01 00 40 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Escape (Prowler)

78 ff 00 ff 00 00 ff ff ff ff ff ff 03 92 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Rock Toss
64 ff 00 ff 00 00 ff ff e7 00 e7 00 03 51 22 10 ff ff ff ff ff ff ff ff 40 00 ff ff Sewer
64 ff 00 ff 00 00 ff ff d6 00 d6 00 03 85 11 26 ff ff ff ff ff ff ff ff 08 00 ff ff Sinking
ff ff 00 ff 00 00 ff ff e7 00 e7 00 03 52 25 07 ff ff ff ff ff ff ff ff 00 02 ff ff Hot Springs
04 ff 02 ff 0a 00 ff ff 96 00 96 00 07 01 83 1f ff 3f ff ff 00 10 00 00 00 00 ff fd L4 Suicide (Mu)

6c 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bird Kick
5f 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 20 ff 02 ff ff 20 00 00 00 00 08 ff ff Flaming Peck (Levrikon)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5f ff 00 ff 05 00 ff ff d8 00 d8 00 03 50 22 08 ff 19 ff ff 10 00 00 00 00 20 ff ff Shower (Elfadunk)

64 30 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Grass Punch
73 27 01 ff 00 00 23 00 0a 01 0a 01 03 ff 11 0a ff 3f ff ff 00 02 00 00 00 08 ff ff Slow Dance (Mandragora)

64 ff 00 ff 00 00 ff ff 4d 01 4d 01 07 56 11 10 ff ff ff ff ff ff ff ff 80 00 ff ff Clap
4b ff 02 ff 04 00 ff ff ff ff ff ff 03 88 22 0f ff ff ff ff ff ff ff ff 04 00 ff ff Thunderbolt
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
64 25 00 ff 00 00 23 00 ff ff ff ff 07 ff 11 10 ff ff ff ff ff ff ff ff 80 00 ff ff Clap
4b ff 02 ff 04 00 ff ff ff ff ff ff 03 88 22 0f ff ff ff ff ff ff ff ff 04 00 ff ff Thunderbolt
ff ff 00 ff 22 00 ff ff 98 00 98 00 05 03 60 ff 00 7f ff ff cc 7e 80 36 00 02 fd ff White Wind
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Zemzelett)

67 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Beak
ff ff 02 ff 04 00 ff ff 02 01 02 01 03 63 22 10 ff ff ff ff ff ff ff ff 01 00 ff ff Heatwing (Nerosuferoth)

73 19 00 ff 05 00 23 00 ff ff ff ff 03 ff 22 10 ff ff ff ff ff ff ff ff 80 00 ff ff Air Bomber
69 19 00 ff 12 00 e2 00 ff ff ff ff 07 ff 22 0a ff ff ff ff ff ff ff ff 80 00 ff ff Blue Impulse
7d 22 00 ff 1a 00 e2 00 4f 01 4f 01 07 ff 22 0e ff ff ff ff ff ff ff ff 80 00 ff ff Cross Impulse (Formula)

5f 37 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Iron Mallet
ff ff 02 ff 0c 00 ff ff 4e 01 4e 01 07 19 22 00 ff ff 19 ff ff ff ff ff 00 80 ff ff Electromag
5f 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Ballistic (Hell Rider VR2)

5f 3c 00 ff 00 00 dd 00 ff ff ff ff 03 ff 22 10 ff ff ff ff ff ff ff ff 00 08 ff ff Wire Attack
64 ff 00 ff 00 00 ff ff 14 01 14 01 03 42 22 18 ff ff ff ff ff ff ff ff 00 08 ff ff Grand Spark (Capparwire)

ff ff 00 ff 04 00 ff ff 15 01 15 01 03 10 22 00 ff 12 ff ff 00 00 00 04 00 00 ff ff Darkeye
64 ff 00 ff 00 00 ff ff 16 01 16 01 03 0e 11 14 ff ff ff ff ff ff ff ff 00 40 ff ff Silver Wheel
64 ff 00 ff 00 00 ff ff 17 01 17 01 03 0e 11 14 ff ff ff ff ff ff ff ff 00 40 ff ff Silver Wheel
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Put Out
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
ff ff 00 ff 04 00 ff ff ff ff ff ff 03 10 22 00 ff 12 ff ff 10 20 00 00 00 00 ff ff Triclops
ff ff 00 ff 04 00 ff ff ff ff ff ff 03 10 22 00 ff 12 ff ff 00 04 00 00 00 00 ff ff Stop Eye (Grangalan series)

64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Chute Attack
ff ff 00 ff 04 00 ff ff 04 01 04 01 03 0d 22 0c ff ff ff ff ff ff ff ff 04 00 ff ff Thunder Kiss (Needle Kiss)

64 32 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Beak
6c 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bird Kick
64 ff 01 ff 00 00 ff ff 38 01 38 01 03 40 22 00 ff 12 ff ff 00 20 00 00 00 80 ff ff Petrify Smog (Cokatolis)

5f 31 00 ff 00 00 19 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Bite
ff ff 00 ff 38 00 ff ff 99 00 99 00 05 04 22 00 ff 3f ff ff 00 01 03 00 00 00 fd ff Big Guard
64 ff 00 ff 04 00 ff ff 07 00 24 00 0f 1e 22 08 ff ff ff ff ff ff ff ff 02 00 ff fd Ice (Beachplug)

5f 18 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Swordblade
6e 0a 02 ff 00 00 e2 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 04 ff ff Upper Cutter (Spencer)

ff 09 00 ff 00 00 dd 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Tailbeat
ff ff 00 ff 08 00 ff ff 18 01 18 01 03 22 22 0c ff ff ff ff ff ff ff ff 80 00 ff ff Flying Sickle (Flapbeat)

5f 30 00 ff 00 00 e3 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Chocobo goes nuts
64 ff 00 ff 03 00 ff ff a7 00 a7 00 03 12 69 ff ff ff ff ff ff ff ff ff 00 00 ff ff Chocobuckle
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Taking Bait
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Escape
5f 30 00 ff 00 00 e3 00 ff ff ff ff 0f ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Chocobo goes nuts
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Finished Bait
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Escape (Chocobo)

6e 1a 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Spinning Card
82 ff 00 ff 00 00 ff ff e4 00 e4 00 03 2e 11 18 ff ff ff ff ff ff ff ff 00 00 ff ff Spade
ff ff 00 ff 00 00 ff ff e5 00 e5 00 03 2f 25 0a ff ff ff ff ff ff ff ff 00 02 ff ff Heart
ff ff 00 ff 00 00 ff ff e4 00 e4 00 03 30 22 0c ff ff ff ff ff ff ff ff 08 00 ff ff Club
ff ff 00 ff 00 00 ff ff e5 00 e5 00 03 31 22 01 ff ff ff ff ff ff ff ff 00 00 ff ff Diamond
ff ff 00 ff 00 00 ff ff e4 00 e4 00 03 32 22 00 ff 0c ff ff 01 00 00 00 00 00 ff ff Joker (Joker)

82 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 ff 00 ff 14 00 ff ff ff ff ff ff 03 09 22 00 ff 19 ff ff 08 00 00 00 00 00 ff ff Poison Storm
64 ff 00 ff 22 00 ff ff a2 00 a2 00 07 0d 22 34 ff ff ff ff ff ff ff ff 40 00 fd fd Aqualung (Harpy)

5f 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Punch
ff ff 00 ff 00 00 ff ff 19 01 19 01 03 85 22 18 ff ff ff ff ff ff ff ff 08 00 ff ff Grand Punch (Grand Horn)
 
64 0a 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
ff ff 01 ff 05 00 ff ff 1a 01 1a 01 03 57 22 00 ff 3f ff ff 00 20 00 00 00 80 ff ff Stone Stare (Gagighandi)

55 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 02 ff bf ff ff 00 08 00 00 00 08 ff ff Frog Jab
64 ff 00 ff 05 00 ff ff 95 00 95 00 03 00 22 00 ff bf ff ff 04 08 00 00 00 00 ff fd Frog Song (Touch Me)

82 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
8c ff 00 ff 08 00 ff ff 1c 01 1c 01 07 6f 22 04 ff ff ff ff ff ff ff ff 00 00 fe ff Peacock
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
82 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
8c 40 00 ff 08 00 23 00 ff ff ff ff 07 ff 22 04 ff ff ff ff ff ff ff ff 00 00 fe ff Peacock
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Griffin)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Tail
ff ff 01 ff 0a 00 ff ff 52 01 52 01 03 57 22 00 ff 3f ff ff 00 40 00 00 00 80 ff ff Stone Strike
64 ff 00 ff 1c 00 ff ff 0f 00 25 00 0f 25 22 18 ff ff ff ff ff ff ff ff 08 00 fd fd Quake2 (Bagrisk)

64 42 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Harpoon
78 ff 00 ff 00 00 ff ff 53 01 53 01 03 05 11 00 ff 0c ff ff 00 00 00 04 08 00 ff ff Sandgun
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Shell Defense (Desert Sahagin)

67 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Beak
4b 2c 00 ff 00 00 fa 00 1b 01 1b 01 03 ff 11 28 ff 12 ff ff 20 00 00 00 00 40 ff ff Rage Bomber (Skeeskee)

5f 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Golem Punch
78 2e 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 20 ff ff Finger Shot
6e 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 1e ff ff ff ff ff ff ff ff 00 08 ff ff Megaton Punch
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Advance
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Retreat (Golem)

82 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 ff 01 ff 08 00 ff ff 03 00 24 00 0f 0b 22 00 ff 12 ff ff 04 00 00 00 00 00 ff fd Sleepel
64 ff 00 ff 04 00 ff ff 08 00 24 00 0f 21 22 08 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt
7c 3d 00 ff 00 00 e4 00 ff ff ff ff 03 ff 22 01 ff 3f ff ff 00 40 00 00 00 10 ff ff Deadly Needles
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Advance
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Retreat (Crown Lance)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
78 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Fang
ff ff 39 ff 00 00 ff ff ff ff ff ff 01 5e 24 20 ff 7f ff ff 01 00 00 00 00 02 ff fe Howling
5f ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 14 ff ff ff ff ff ff ff ff 00 00 7f ff Howling (Nibel Wolf)

6e 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Speed Punch
5f 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Jump Kick
64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 24 08 ff ff ff ff ff ff ff ff 00 08 ff ff Dive Kick
ff ff 00 ff 14 00 ff ff b0 00 24 00 0f 17 22 00 02 7f ff ff 00 87 17 30 00 00 ff ff Despell
ff ff 00 ff 18 00 ff ff 1e 00 28 00 0d 10 50 00 ff 3f ff ff 00 00 02 00 00 00 ff fd MBarrier
4b ff 01 ff 30 00 ff ff 17 00 91 00 0f 2c 23 18 ff ff ff ff ff ff ff ff 20 00 fd ff Demi3 (Valron)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-11 00:25:58
Due to length I had to split it

part2
Code: [Select]
64 3d 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Bone Cutter
ff 3d 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Jumping Cutter
ff ff 00 ff 04 00 ff ff ff ff ff ff 03 41 22 02 ff ff ff ff ff ff ff ff 00 00 ee ff Magic Cutter
64 ff 01 ff 18 00 ff ff 04 00 24 00 0f 0d 22 00 ff 14 ff ff 80 00 00 00 00 00 ff fd Silence
64 ff 00 ff 14 00 ff ff 21 00 25 00 0f 14 50 00 ff 19 ff ff 00 02 00 00 00 00 fd fd Slow (Bahba Velamyu)

64 ff 00 ff 00 00 ff ff ff ff ff ff 03 06 11 00 ff 3f ff ff 00 00 00 04 00 20 ff ff Seed Shot
64 ff 00 ff 10 00 ff ff ff ff ff ff 03 39 22 10 ff ff ff ff ff ff ff ff 00 00 ff ff Four Laser (Battery Cap)

64 0a 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
64 ff 00 ff 04 00 ff ff 1d 01 1d 01 03 7a 22 00 ff 12 ff ff 08 00 00 00 00 20 ff ff Poison Blow (Velcher Task)

61 24 01 ff 00 00 e4 00 46 01 46 01 03 ff 11 28 ff ff ff ff ff ff ff ff 00 00 ff ff Lay Flat (Kyuvilduns)

5f 1a 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Glasscutter
5f ff 01 ff 0f 00 ff ff 28 01 28 01 03 0b 22 00 ff 0c ff ff 20 00 00 00 00 00 ff ff Spaz Voice
64 ff 00 ff 03 00 ff ff 97 00 97 00 03 02 26 05 ff ff ff ff ff ff ff ff 00 00 ee fd Magic Hammer (Razor Weed)

5f 31 00 ff 00 00 19 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Bite
5f 09 02 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Somersault (Tail Vault)

64 30 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Scissors
5f ff 02 ff 08 00 ff ff 21 01 21 01 03 88 22 10 ff ff ff ff ff ff ff ff 04 00 ff ff Electric Burst (Edgehead)

5f 31 00 ff 00 00 e3 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Stab
5f ff 02 ff 10 00 ff ff 22 01 22 01 07 88 22 14 ff ff ff ff ff ff ff ff 04 00 ff ff Lightning (Thunderbird)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
5f 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Scorpion Attack
5f ff 01 ff 00 00 ff ff 54 01 54 01 07 5e 11 19 ff 3f ff ff 08 00 00 00 10 00 ff ff Toxic Powder
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Bizarre Bug)

5f ff 00 ff 00 00 ff ff 55 01 55 01 03 00 11 10 ff ff ff ff ff ff ff ff 00 40 ff ff Light Shell
ff ff 00 ff 03 00 ff ff 9c 00 9c 00 01 07 22 00 ff 3f ff ff 00 00 00 10 00 00 ff ff Death Force
ff ff 00 ff 10 00 ff ff 1e 00 28 00 0d 0f 50 00 ff 3f ff ff 00 00 01 00 00 00 ff fd Barrier
ff ff 00 ff 18 00 ff ff 1e 00 28 00 0d 10 50 00 ff 3f ff ff 00 00 02 00 00 00 ff fd MBarrier (Adamantaimai)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5f ff 00 ff 2d 00 ff ff 24 01 24 01 03 7e 22 00 ff 15 ff ff 00 28 00 00 00 00 ff ff Petrified Frog (Under Lizard)

5f 31 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Angle Punch
5f 31 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Horn Lift (Dual Horn)

64 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 20 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 ff 02 ff 00 00 ff ff 26 01 26 01 07 55 11 1e ff 0a ff ff 00 00 00 04 80 00 ff ff Great Gale
5f ff 01 ff 00 00 ff ff ff ff ff ff 0f 84 11 14 ff ff ff ff ff ff ff ff 80 00 ff ff Big Sound (Tonadu)

78 42 00 ff 00 00 e4 00 ff ff ff ff 03 ff 22 01 ff 16 ff ff 18 00 00 00 00 10 ff ff Bug Needle
78 42 00 ff 00 00 e4 00 ff ff ff ff 03 ff 22 01 ff 0c ff ff 00 00 80 00 00 10 ff ff Berserker Needle
78 42 00 ff 00 00 e4 00 ff ff ff ff 03 ff 22 01 ff 05 ff ff 00 00 00 02 00 10 ff ff Paralyzer Needle (Slaps)

6e 30 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
64 ff 00 ff 00 00 ff ff f1 00 f1 00 03 3c 11 00 ff 3f ff ff 08 00 00 00 10 00 ff ff Liquid Poison (Kelzmelzer)

5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Tail Attack
5f 44 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Violent Advance
5f ff 01 ff 16 00 ff ff 25 01 25 01 03 73 22 10 ff ff ff ff ff ff ff ff 04 00 ff ff Bolt Ball (Vlakorados)

78 ff 00 ff 00 00 ff ff ff ff ff ff 03 92 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Rock Toss
5f ff 02 ff 00 00 ff ff ff ff ff ff 03 53 11 10 ff ff ff ff ff ff ff ff 01 00 ff ff Magma
64 ff 00 ff 00 00 ff ff e7 00 e7 00 03 51 22 10 ff ff ff ff ff ff ff ff 40 00 ff ff Sewer
5f ff 00 ff 00 00 ff ff ff ff ff ff 03 87 11 10 ff ff ff ff ff ff ff ff 08 00 ff ff Sinking
ff ff 00 ff 00 00 ff ff e7 00 e7 00 03 52 25 07 ff ff ff ff ff ff ff ff 00 02 ff ff Hot Springs
5f ff 00 ff 00 00 ff ff ff ff ff ff 03 54 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Gold Mountain
04 ff 02 ff 0a 00 ff ff 96 00 96 00 07 01 83 1f ff 3f ff ff 00 10 00 00 00 00 ff fd L4 Suicide (Trickplay)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5f 3c 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 14 ff 0c ff ff 40 00 00 00 00 00 ff ff Bite
ff ff 39 ff 00 00 ff ff ff ff ff ff 01 5e 24 20 ff 7f ff ff 01 00 00 00 00 02 ff fe Howling
5f ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 14 ff ff ff ff ff ff ff ff 00 00 7f ff Howling (Bandersnatch)

5f 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 00 ff ff Dive Kick
5f 0a 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 c8 ff ff ff ff ff ff ff ff 00 04 ff ff Club Sword (Jumping)

5f 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Golem Punch
5f ff 00 ff 00 00 ff ff ff ff ff ff 03 5f 11 10 ff ff ff ff ff ff ff ff 02 00 ff ff Cold Snap
78 ff 02 ff 0f 00 ff ff ff ff ff ff 07 4c 22 0f ff ff ff ff ff ff ff ff 04 00 ff ff Wide Grazer
6e 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 1e ff ff ff ff ff ff ff ff 00 08 ff ff Megaton Punch
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Advance
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Retreat
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Defense Start
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Defense Down
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Advance
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Retreat (Ice Golem)

5f 1b 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Wing Cut
5f 3d 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff 0c ff ff 08 00 00 00 00 00 ff ff Scorpion's Tail
64 ff 00 ff 10 00 ff ff ff ff ff ff 0b 3b 22 64 ff ff ff ff ff ff ff ff 02 00 ff ff Snowstorm
5f ff 01 ff 00 00 ff ff ff ff ff ff 0f 21 11 3c ff ff ff ff ff ff ff ff 02 00 ff ff Avalanche (Lessaloploth)

64 32 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Beak
5a ff 00 ff 10 00 ff ff ff ff ff ff 03 8c 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff ???
02 ff 01 ff 12 00 ff ff ff ff ff ff 0f 25 83 00 ff 3f ff ff 40 00 00 00 00 20 ff ff L2 Confu
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
64 32 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Beak
5a 40 00 ff 10 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff ???
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Hippogriff)

64 31 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Angle Punch
64 28 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Spin (Spiral)

64 12 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Sickle
5f 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Rising Dagger (Headhunter)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
5f ff 00 ff 0a 00 ff ff ff ff ff ff 03 3e 22 00 ff 3f ff ff 04 00 00 00 00 00 ff ff Sleep Scales (Crysales)

ff ff 02 ff 0a 00 ff ff 3d 01 3d 01 07 87 22 06 ff ff ff ff ff ff ff ff 08 00 ff ff Earthquake
ff ff 00 ff 00 00 ff ff 3e 01 3e 01 07 0c 11 20 ff 0c ff ff 00 00 00 04 08 00 ff ff Sandstorm
5a 2c 00 ff 00 00 14 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Rush (Sea Worm)

5a 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Mystery Kick
64 ff 00 ff 00 00 ff ff ff ff ff ff 03 1f 26 32 ff ff ff ff ff ff ff ff 00 20 ff ff 1000 Needles
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Dodge (Cactuer)

5f 30 00 ff 00 00 23 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Fight
64 ff 02 ff 00 00 ff ff a6 00 a6 00 03 11 11 0c ff ff 09 ff ff ff ff ff 00 00 ff ff Goblin Punch
64 ff 01 ff 08 00 ff ff 03 00 24 00 0f 0b 22 00 ff 12 ff ff 04 00 00 00 00 00 ff fd Sleepel (Goblin)

5a 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Mystery Kick
64 ff 00 ff 00 00 ff ff ff ff ff ff 03 1f 26 32 ff ff ff ff ff ff ff ff 00 20 ff ff 1000 Needles
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Dodge
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report (Cactuar)

5f 30 00 ff 00 00 23 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Fight
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 40 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Throw
5f ff 00 ff 00 00 ff ff ff ff ff ff 0b 02 11 00 ff 3f ff ff 00 02 00 00 00 00 ff ff Spider Web
5f ff 00 ff 00 00 ff ff ff ff ff ff 0b 7e 11 00 ff 3f ff ff 00 08 00 00 00 00 ff ff Impaler
5f ff 00 ff 00 00 ff ff ff ff ff ff 0f 8b 11 10 ff ff ff ff ff ff ff ff 01 00 ff ff Fire Fang (Mystery Ninja L17/22)

5f 30 00 ff 00 00 23 00 ff ff ff ff 0b ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Fight
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 40 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Throw
5f ff 00 ff 00 00 ff ff ff ff ff ff 0b 02 11 00 ff 3f ff ff 00 02 00 00 00 00 ff ff Spider Web
5f ff 00 ff 00 00 ff ff ff ff ff ff 0f 01 11 10 ff ff ff ff ff ff ff ff 01 00 ff ff Fire Veil
5f ff 00 ff 00 00 ff ff ff ff ff ff 0f 1a 11 14 ff ff ff ff ff ff ff ff 40 00 ff ff Leviathan Scales
5f ff 00 ff 00 00 ff ff ff ff ff ff 0f 0d 11 14 ff ff ff ff ff ff ff ff 04 00 ff ff Swift Bolt (Mystery Ninja L27/32/37/42)

64 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 20 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 ff 02 ff 64 00 ff ff ab 00 ab 00 03 16 22 7d ff ff ff ff ff ff ff ff 00 00 ff fd Shadow Flare
64 ff 00 ff 1c 00 ff ff 0f 00 25 00 0f 25 22 18 ff ff ff ff ff ff ff ff 08 00 fd fd Quake2
64 ff 02 ff 28 00 ff ff ff ff ff ff 07 8d 22 18 ff ff ff ff ff ff ff ff 00 80 ff ff Ultima Beam
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report
64 ff 01 ff 14 00 ff ff ff ff ff ff 03 73 22 14 ff ff ff ff ff ff ff ff 04 00 ff ff Thunderball (Ultimate Weapon)

5f 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Punch
5a ff 00 ff 0a 00 ff ff 09 01 09 01 03 7a 22 0c ff 15 ff ff 08 00 00 00 10 00 ff ff Poison Breath
64 ff 02 ff 00 00 ff ff ff ff ff ff 0f 87 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Grand Attack (CMD. Grand Horn)

64 32 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Dragon Fang
64 ff 00 ff 0a 00 ff ff 9d 00 9d 00 03 08 22 0e ff ff ff ff ff ff ff ff 01 00 ff fd Flame Thrower (Dragon)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
55 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Tonfa (MP)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
5a 3c 00 ff 00 00 dd 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Tentacle (Guard Hound)

64 30 00 ff 00 00 e1 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Drilldrive
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire (Mono Drive)

64 ff 00 ff 00 00 ff ff ff ff ff ff 03 04 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Laser Cannon (1st Ray)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
64 2e 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 1c ff ff ff ff ff ff ff ff 00 20 ff ff W Machine Gun
4b ff 00 ff 00 00 ff ff ff ff ff ff 03 40 11 18 ff ff ff ff ff ff ff ff 00 20 ff ff Smoke Shot (Sweeper)

64 2e 00 ff 00 00 23 00 00 00 00 00 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Rifle
5f 3d 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 1c ff ff ff ff ff ff ff ff 00 20 ff ff Scorpion Tail
ff ff 00 ff 00 00 ff ff d3 00 d3 00 03 4b 11 00 ff ff ff ff ff ff ff ff 00 20 ff ff Search Scope
64 2e 00 ff 00 00 0f 00 ff ff ff ff 01 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Rifle
78 ff 02 ff 00 00 ff ff d4 00 d4 00 16 4c 11 30 ff ff ff ff ff ff ff ff 00 20 ff ff Tail Laser
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Guard Scorpion)
 
64 12 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Sickle
5a ff 01 ff 00 00 ff ff d8 00 d8 00 03 02 22 00 ff 3f ff ff 00 02 00 00 00 00 ff ff Silk (Grashtrike)

6e 30 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
4b 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 23 04 ff ff ff ff ff ff ff ff 00 08 ff ff Rolling Claw (Chuse Tank)

4b ff 00 ff 00 00 ff ff d6 00 d6 00 03 13 11 18 ff ff ff ff ff ff ff ff 00 20 ff ff Rocket Launcher (Rocket Launcher)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 00 ff 00 00 ff ff d7 00 d7 00 03 4f 50 0c ff 14 ff ff 04 00 00 00 00 00 ff ff Hell Bubbles (Blugu)

64 30 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Handclaw
64 ff 00 ff 00 00 ff ff d2 00 d2 00 03 16 11 12 ff ff ff ff ff ff ff ff 00 20 ff ff Beam Gun
5c ff 00 ff 00 00 ff ff d9 00 d9 00 03 2a 11 20 ff ff ff ff ff ff ff ff 00 40 ff ff Wave (Special Combatant)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
6e 3c 01 ff 00 00 dd 00 ff ff ff ff 03 ff 11 0a ff ff ff ff ff ff ff ff 00 00 ef ff Tentacle Drain (Blood Taste)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun (Proto Machinegun)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Punch
5a ff 00 ff 00 00 ff ff ff ff ff ff 03 15 11 0c ff 16 ff ff 08 00 00 00 00 00 ff ff Smog
69 ff 00 ff 00 00 ff ff d8 00 d8 00 03 15 11 0c ff 17 ff ff 00 00 00 04 00 00 ff ff Smog (Smogger)

73 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 20 ff ff Rear Gun
73 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 20 ff ff Rear Gun
ff ff 00 ff 00 00 ff ff db 00 db 00 00 5a 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Destroyed
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 5a 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Destroyed
5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 02 ff 00 00 ff ff fa 00 fa 00 03 58 11 32 ff ff ff ff ff ff ff ff 00 20 ff ff Big Bomber
64 ff 00 ff 00 00 ff ff da 00 da 00 03 2b 11 1e ff ff ff ff ff ff ff ff 00 40 ff ff Energy Ball
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
5f 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 02 ff 00 00 ff ff 0c 01 0c 01 03 58 11 32 ff ff ff ff ff ff ff ff 00 20 ff ff Big Bomber
64 ff 00 ff 00 00 ff ff 0b 01 0b 01 03 2b 11 1e ff ff ff ff ff ff ff ff 00 40 ff ff Energy Ball
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Air Buster)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire (Hedgehog Pie)

64 12 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Sickle (Whole Eater)

64 24 00 ff 00 00 1c 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Hit
05 42 00 ff 00 00 e4 00 ff ff ff ff 03 ff 00 00 ff ff 07 ff ff ff ff ff 00 00 ff ff Steal
14 42 00 ff 00 00 05 00 ff ff ff ff 03 ff 00 08 ff ff 07 ff ff ff ff ff 00 00 ff ff Grind
64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Seize
ff ff 00 ff 00 00 ff ff 3c 01 3c 01 00 40 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Escape (Vice)

50 ff 00 ff 00 00 ff ff ff ff ff ff 03 15 11 10 ff 07 ff ff 00 00 00 04 00 20 ff ff Erupt
58 ff 02 ff 00 00 ff ff dc 00 dc 00 03 3f 11 18 ff ff ff ff ff ff ff ff 00 20 ff ff Hell Bomber
ff ff 00 ff 00 00 ff ff ff ff ff ff 07 79 11 10 ff ff ff ff ff ff ff ff 08 00 ff ff Suicide Drop (Hell House A)

5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
ff ff 00 ff 00 00 ff ff ff ff ff ff 07 79 11 10 ff ff ff ff ff ff ff ff 08 00 ff ff Suicide Drop
5a 27 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 1c ff ff ff ff ff ff ff ff 00 08 ff ff Lunattack
64 2b 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Hell Press (Hell House B)

64 24 00 ff 00 00 1c 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Hit
64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun (Corneo's Lackey/Scotch)

5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Tail Attack
64 ff 01 ff 00 00 ff ff de 00 de 00 03 72 11 04 ff 3f ff ff 10 00 00 00 00 00 ff ff Lick
64 ff 00 ff 00 00 ff ff df 00 df 00 47 48 11 14 ff ff 04 01 ff ff ff ff 40 00 ff ff Sewer Tsunami
64 ff 00 ff 00 00 ff ff e0 00 e0 00 47 49 11 14 ff ff 04 00 ff ff ff ff 40 00 ff ff Sewer Tsunami (Aps)

64 42 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Harpoon
5a ff 00 ff 00 00 ff ff e1 00 e1 00 03 06 11 16 ff ff ff ff ff ff ff ff 00 20 ff ff Water Gun
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Shell Defense (Sahagin)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
4b ff 00 ff 00 00 ff ff e2 00 e2 00 03 4f 11 0c ff ff ff ff ff ff ff ff 40 00 ff ff Bubble (Ceasar)

64 00 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Scratch
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire
ff ff 00 ff 01 00 ff ff dd 00 dd 00 03 17 22 06 ff ff ff ff ff ff ff ff 00 00 ef ff Drain
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
ff ff 00 ff 00 00 ff ff eb 00 eb 00 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear (Ghost)

64 30 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Scissors
64 30 02 ff 00 00 e2 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Dualspike (Cripshaw)

64 18 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Wing Cutter
64 ff 00 ff 04 00 ff ff 07 00 24 00 0f 1e 22 08 ff ff ff ff ff ff ff ff 02 00 ff fd Ice
4b ff 01 ff 0e 00 ff ff 0b 00 24 00 0f 2a 23 08 ff ff ff ff ff ff ff ff 20 00 ff ff Demi (Deenglow)

64 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Sword Attack
6e ff 00 ff 00 00 ff ff e3 00 e3 00 03 04 11 0e ff ff ff ff ff ff ff ff 00 20 ff ff Mono Laser
64 ff 01 ff 18 00 ff ff 04 00 24 00 0f 0d 22 00 ff 14 ff ff 80 00 00 00 00 00 ff fd Silence
64 ff 01 ff 08 00 ff ff 03 00 24 00 0f 0b 22 00 ff 12 ff ff 04 00 00 00 00 00 ff fd Sleepel (Eligor)

78 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Kick
6e 30 00 ff 00 00 23 00 e9 00 e9 00 03 ff 11 18 ff ff ff ff ff ff ff ff 00 04 ff ff Propeller
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
4b 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Propeller Sword
50 42 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 12 ff ff ff ff ff ff ff ff 00 08 ff ff Sword Rush (Aero Combatant)

6e 42 00 ff 00 00 5c 01 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Short Staff
ff ff 00 ff 00 00 ff ff 0e 01 0e 01 03 00 22 00 ff 3f ff ff 00 00 00 80 00 00 ff ff Pyramid
ff ff 00 ff 00 00 ff ff 11 01 11 01 03 00 22 00 ff 3f ff ff 00 00 00 80 00 00 ff ff Pyramid
ff ff 00 ff 00 00 ff ff d8 00 d8 00 03 00 22 00 ff 3f ff ff 00 00 00 80 00 00 ff ff Pyramid
ff ff 00 ff 00 00 ff ff 11 01 11 01 03 ff 22 00 ff ff ff ff ff ff ff ff 00 00 ff ff Pyramid Release
ff ff 00 ff 00 00 ff ff 0e 01 0e 01 03 ff 22 00 ff ff ff ff ff ff ff ff 00 00 ff ff Pyramid Release
ff ff 00 ff 00 00 ff ff d6 00 d6 00 03 ff 22 00 ff ff ff ff ff ff ff ff 00 00 ff ff Pyramid Release
64 3f 00 ff 00 00 90 00 0f 01 0f 01 03 ff 11 18 ff 06 ff ff 00 00 00 02 04 00 ff ff Electro-Mag Rod
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report (Turks:Reno)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-11 00:27:25
Code: [Select]
ff ff 00 ff 00 00 ff ff eb 00 eb 00 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish (Pyramid)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
46 2c 02 ff 00 00 14 00 ff ff ff ff 03 ff 11 23 ff ff ff ff ff ff ff ff 00 20 ff ff Hand Grenade (Grenade Combatant)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
6e 2d 00 ff 00 00 0f 00 ee 00 ee 00 03 ff 11 1e ff ff ff ff ff ff ff ff 00 08 ff ff Double Shot
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Grunt Death (Mighty Grunt A)
 
6e 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Roller Dash
5a 24 00 ff 00 00 23 00 ec 00 ec 00 03 ff 11 1c ff ff ff ff ff ff ff ff 00 08 ff ff Rollerspin
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Skating (Mighty Grunt B)

5f 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Hammer Attack
5a 3c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 08 ff 0c ff ff 40 00 00 00 00 08 ff ff Myuddle Mallet
69 36 00 ff 00 00 23 00 d8 00 d8 00 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Zip Hammer
64 3c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 08 ff 0c ff ff 40 00 00 00 00 08 ff ff Zip Confu
ff ff 00 ff 00 00 ff ff eb 00 eb 00 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
5a 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Flying Hammer
55 3c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 08 ff 0c ff ff 40 00 00 00 00 08 ff ff Flying Muddle
64 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Flying Zip
5f 3c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 08 ff 0c ff ff 40 00 00 00 00 08 ff ff Flying Zip Confu
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report (Hammer Blaster)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 33 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 04 ff ff Gash
5f 30 00 ff 00 00 76 00 ff ff ff ff 03 ff 11 14 ff 0c ff ff 20 00 00 00 00 08 ff ff Slap
64 19 00 ff 00 00 e2 00 ff ff ff ff 07 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Sawback
64 19 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 1e ff ff ff ff ff ff ff ff 00 04 ff ff Spinning Cut (Sword Dance)

ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
ff ff 00 ff 00 00 ff ff eb 00 eb 00 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear
64 ff 00 ff 00 00 ff ff ff ff ff ff 03 04 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Laser Cannon
1e ff 01 ff 00 00 ff ff ea 00 ea 00 03 04 11 10 ff 02 ff ff 00 00 00 02 00 20 ff ff Paralaser (Warning Board+parts)

64 0b 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Split
64 ff 00 ff 16 00 ff ff 0e 00 24 00 0f 22 22 14 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt2
64 ff 00 ff 16 00 ff ff 0d 00 24 00 0f 1f 22 14 ff ff ff ff ff ff ff ff 02 00 ff fd Ice2
64 ff 01 ff 08 00 ff ff 03 00 24 00 0f 0b 22 00 ff 12 ff ff 04 00 00 00 00 00 ff fd Sleepel
ff ff 00 ff 08 00 ff ff 18 01 18 01 03 22 22 0c ff ff ff ff ff ff ff ff 80 00 ff ff Flying Sickle (SOLDIER:3rd)

64 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Verbal Attack
55 33 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 1d ff ff ff ff ff ff ff ff 00 04 ff ff Speed Slice (Moth Slasher)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5f ff 00 ff 04 00 ff ff ef 00 ef 00 03 03 22 06 ff 10 ff ff 04 00 00 00 10 00 ff ff Refuse
5f ff 00 ff 04 00 ff ff f0 00 f0 00 03 14 22 0c ff 10 ff ff 08 00 00 00 10 00 ff ff Refuse (Brain Pod)

0a 3c 00 ff 01 00 e4 00 ff ff ff ff 03 ff 11 01 ff 02 ff ff 00 00 00 02 00 00 ff ff Needle
ff ff 02 ff 0a 00 ff ff f3 00 f3 00 03 1c 23 06 ff ff ff ff ff ff ff ff 00 00 ff ff Suicide (Vargid Police)

78 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Fang
ff ff 00 ff 06 00 ff ff ff ff ff ff 03 09 22 08 ff 12 ff ff 08 00 00 00 10 00 ff ff Piazzo Shower
ff ff 00 ff 06 00 ff ff f9 00 f9 00 03 01 22 0a ff ff ff ff ff ff ff ff 01 00 ff ff Ghenghana (Zenene)

64 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Keyclaw
ff ff 00 ff 04 00 ff ff f4 00 f4 00 07 4d 22 00 ff 12 ff ff 08 00 00 00 10 00 ff ff Shady Breath
ff ff 00 ff 28 00 ff ff f5 00 f5 00 05 00 24 ff ff 7f ff ff 01 00 00 00 00 02 ff fe Reanimagic
ff ff 00 ff 00 00 ff ff 40 01 40 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Order
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Order
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish (Sample:H0512)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire
64 ff 00 ff 04 00 ff ff 07 00 24 00 0f 1e 22 08 ff ff ff ff ff ff ff ff 02 00 ff fd Ice
5a 42 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Rolling Attack
5a 42 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Rolling Attack
5a 42 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Rolling Attack (Sample:H0512-opt)

ff ff 00 ff 00 00 ff ff ff ff ff ff 00 7d 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Glass Shatter
64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Aux Artillery
78 ff 00 ff 00 00 ff ff ff ff ff ff 03 5b 11 14 ff ff ff ff ff ff ff ff 00 20 ff ff Hidden Artillery
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 1c 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Destroyed
64 2e 00 ff 00 00 0f 00 f6 00 f6 00 07 ff 11 12 ff ff ff ff ff ff ff ff 00 20 ff ff Main Artillery
64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 16 ff ff ff ff ff ff ff ff 00 20 ff ff Sub Artillery
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 1c 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Destroyed
ff ff 02 ff 00 00 ff ff fb 00 fb 00 07 6d 11 1b ff ff ff ff ff ff ff ff 00 20 ff ff Wave Artillery
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Charging (Hundred Gunner)

64 2e 00 ff 00 00 0f 00 f7 00 f7 00 03 ff 11 10 ff 07 ff ff 04 00 00 00 00 20 ff ff AB Cannon
64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff 07 ff ff 08 00 00 00 00 20 ff ff C Cannon
64 2f 00 ff 00 00 0f 00 fc 00 fc 00 07 ff 11 13 ff 05 ff ff 0c 00 00 00 00 20 ff ff Firing Line
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Start Spin
64 43 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Spinning Bodyblow
5f 3d 00 ff 00 00 23 00 fd 00 fd 00 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Flying Drill (Heli Gunner)

64 2d 00 ff 00 00 12 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Shotgun
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Dodge
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report (Rufus)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
ff ff 00 ff 10 00 ff ff 1e 00 28 00 0d 0f 50 00 ff 3f ff ff 00 00 01 00 00 00 ff fd Barrier
ff ff 00 ff 18 00 ff ff 1e 00 28 00 0d 10 50 00 ff 3f ff ff 00 00 02 00 00 00 ff fd MBarrier
64 ff 00 ff 04 00 ff ff 08 00 24 00 0f 21 22 08 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt (Dark Nation)

5f 25 00 ff 00 00 23 00 ff ff ff ff 07 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Highway
5f 28 00 ff 00 00 23 00 ff ff ff ff 0f ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Deadly Wheel
ff ff 00 ff 10 00 ff ff fe 00 fe 00 0f 47 22 0a ff ff ff ff ff ff ff ff 01 00 ff ff Twin Burner
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
5f 28 00 ff 00 00 23 00 ff ff ff ff 0f ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Deadly Wheel
ff ff 00 ff 18 00 ff ff 00 01 00 01 07 46 22 10 ff ff ff ff ff ff ff ff 01 00 ff ff Rolling Fire
6e 31 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Arm Attack
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
5a ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 30 ff ff ff ff ff ff ff ff 00 00 ff ff x (Motor Ball)

6e 32 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
6e 32 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
64 ff 02 ff 23 00 ff ff a1 00 a1 00 07 0c 22 36 ff ff ff ff ff ff ff ff 01 00 fd ff Beta
ff 44 03 ff 00 00 23 00 03 01 03 01 03 ff 00 00 ff ff 12 ff ff ff ff ff 00 00 ff ff Blown Away
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Change (Midgar Zolom)

64 0a 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
64 ff 00 ff 0a 00 ff ff 9d 00 9d 00 03 08 22 0e ff ff ff ff ff ff ff ff 01 00 ff fd Flame Thrower (Ark Dragon)

73 37 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Iron Ball
64 ff 00 ff 00 00 ff ff 08 01 08 01 03 18 11 04 ff 3f ff ff 00 00 00 04 00 08 ff ff Swamp Shoot (Madouge)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
64 ff 00 ff 02 00 ff ff 05 01 05 01 03 08 22 01 ff ff ff ff ff ff ff ff 02 00 ff ff Cold Breath (Crawler)

64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff 2-stage Attack
4b ff 00 ff 00 00 ff ff 06 01 06 01 03 0d 11 16 ff ff ff ff ff ff ff ff 04 00 ff ff Scissor Spark (Castanets)

5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Tail Attack
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Fury Blast
5f 26 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5a 27 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Moonstrike
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Fury Blast
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Fury Blast
ff ff 00 ff 00 00 ff ff 57 01 57 01 03 4a 00 00 ff 3f ff ff 01 00 00 80 00 00 ff ff Waterball
ff ff 00 ff 00 00 ff ff ff ff ff ff 03 4a 00 00 ff 3f ff ff 01 00 00 80 00 00 ff ff Waterball
ff ff 00 ff 00 00 ff ff ff ff ff ff 03 4a 00 00 ff 3f ff ff 01 00 00 80 00 00 ff ff Waterball
64 ff 00 ff 00 00 ff ff ff ff ff ff 07 1a 11 1e ff ff ff ff ff ff ff ff 40 00 ff ff Big Wave
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Chill (Bottomswell)

ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish
ff ff 00 ff 00 00 ff ff eb 00 eb 00 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Appear (Waterpolo)

64 30 00 ff 00 00 e1 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Drilldrive
64 ff 00 ff 16 00 ff ff 0d 00 24 00 0f 1f 22 14 ff ff ff ff ff ff ff ff 02 00 ff fd Ice2
64 ff 00 ff 16 00 ff ff 0c 00 24 00 0f 1c 22 14 ff ff ff ff ff ff ff ff 01 00 ff fd Fire2 (Scrutin Eye)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
55 ff 02 ff 00 00 ff ff ff ff ff ff 07 5d 11 14 ff ff ff ff ff ff ff ff 00 00 ff ff Grenade
4b ff 00 ff 00 00 ff ff ff ff ff ff 03 7c 11 00 ff 19 ff ff 04 00 00 04 00 80 ff ff Smoke Bullet (Marine)

5a ff 00 ff 00 00 ff ff ff ff ff ff 03 04 b1 30 ff ff ff ff ff ff ff ff 00 20 ff ff Laser
5a ff 00 ff 00 00 ff ff 58 01 58 01 03 3c b1 30 ff ff ff ff ff ff ff ff 00 00 ff ff Gas
5a ff 00 ff 00 00 ff ff ff ff ff ff 03 5b b1 30 ff ff ff ff ff ff ff ff 00 20 ff ff W-Laser
5a ff 02 ff 00 00 ff ff ff ff ff ff 07 4c b1 30 ff ff ff ff ff ff ff ff 00 20 ff ff Tail Laser
64 ff 00 ff 22 00 ff ff 22 00 24 00 0f 15 50 00 ff 0f ff ff 00 04 00 00 00 00 ff fd Stop (Jenova*BIRTH)

64 ff 00 ff 00 00 ff ff 39 01 39 01 03 07 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Seed Shot
64 ff 00 ff 08 00 ff ff 3a 01 3a 01 03 05 22 07 ff ff ff ff ff ff ff ff 00 00 ff ff Four Laser (Search Crown)
 
78 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Fang
64 0a 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
64 31 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 12 ff ff ff ff ff ff ff ff 00 10 ff ff Horn
5a ff 00 ff 0a 00 ff ff 09 01 09 01 03 7a 22 0c ff 15 ff ff 08 00 00 00 10 00 ff ff Poison Breath (Bagnadrana)

5f 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 01 ff 00 00 ff ff ff ff ff ff 03 1b 11 19 ff ff ff ff ff ff ff ff 00 00 ff ff Vacuum
64 ff 00 ff 00 00 ff ff ff ff ff ff 03 1f 26 0a ff ff ff ff ff ff ff ff 00 10 ff ff Spiky Hell (Bloatfloat)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 00 ff 03 00 ff ff ff ff ff ff 03 01 22 10 ff ff ff ff ff ff ff ff 01 00 ff ff Fireball
64 ff 02 ff 00 00 ff ff ff ff ff ff 03 43 11 fe ff ff ff ff ff ff ff ff 00 00 ff ff Bomb Blast (Bomb)

ff ff 00 ff 40 00 ff ff 02 00 24 00 0d 02 25 82 00 ff ff ff ff ff ff ff 00 02 ff fd Cure3
ff ff 02 ff 00 00 ff ff ff ff ff ff 03 1c 23 18 ff ff ff ff ff ff ff ff 00 00 ff ff Self-Destruct (2-Faced)

64 24 00 ff 00 00 1c 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Hit
64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 00 10 ff ff 06 ff ff ff ff ff 00 00 ff ff Hold-up
64 24 00 ff 00 00 23 00 3b 01 3b 01 03 ff 11 10 ff ff 07 ff ff ff ff ff 00 00 ff ff Mug
ff ff 00 ff 00 00 ff ff 3c 01 3c 01 00 40 00 00 ff ff 1b ff ff ff ff ff 00 00 7f ff Escape (Bandit)

64 31 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 34 00 ff 0a 00 e3 00 ff ff ff ff 03 ff 11 10 ff 05 ff ff 00 00 00 02 00 10 ff ff Death Claw
64 ff 00 ff 10 00 ff ff 9e 00 9e 00 03 09 23 10 ff ff ff ff ff ff ff ff 20 00 ff fd Laser
ff ff 00 ff 10 00 ff ff 1e 00 28 00 0d 0f 50 00 ff 3f ff ff 00 00 01 00 00 00 ff fd Barrier
ff ff 00 ff 18 00 ff ff 1e 00 28 00 0d 10 50 00 ff 3f ff ff 00 00 02 00 00 00 ff fd MBarrier (Death Claw)
 
64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bodyblow
64 ff 02 ff 08 00 ff ff 9f 00 9f 00 07 0a 22 0b ff ff ff ff ff ff ff ff 00 00 ff fd Matra Magic (Bullmotor)

ff ff 02 ff 0a 00 ff ff 3d 01 3d 01 07 87 22 06 ff ff ff ff ff ff ff ff 08 00 ff ff Earthquake
ff ff 00 ff 00 00 ff ff 3e 01 3e 01 07 0c 11 20 ff 0c ff ff 00 00 00 04 08 00 ff ff Sandstorm (Land Worm)

5a 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Needle Gun
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire
5a ff 00 ff 00 00 ff ff ff ff ff ff 03 3a 11 32 ff ff ff ff ff ff ff ff 00 08 ff ff S-Mine
5a ff 00 ff 00 00 ff ff ff ff ff ff 0f 8c 11 34 ff ff ff ff ff ff ff ff 00 08 ff ff Molotov Cocktail
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation (Dyne)

64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Butterfly Attack
64 ff 00 ff 05 00 ff ff ff ff ff ff 03 06 22 00 ff 3f ff ff 00 04 00 00 00 20 ff ff Stop Web
ff ff 00 ff 00 00 ff ff ff ff ff ff 03 02 11 22 ff ff ff ff ff ff ff ff 00 04 ff ff Spider Attack (Kimara Bug)

64 ff 00 ff 24 00 ff ff 10 00 24 00 0f 28 22 15 ff 0c ff ff 08 00 00 00 10 00 ff fd Bio2
ff ff 00 ff 01 00 ff ff dd 00 dd 00 03 17 22 06 ff ff ff ff ff ff ff ff 00 00 ef ff Drain
ff ff 01 ff 00 00 ff ff ff ff ff ff 03 41 23 1c ff ff ff ff ff ff ff ff 00 00 ee ff Energy Siphon
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Change
64 ff 00 ff 00 00 ff ff ff ff ff ff 03 59 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Seed Bullet
62 ff 00 ff 00 00 ff ff ff ff ff ff 03 5b 23 1e ff ff ff ff ff ff ff ff 00 20 ff ff W Laser
82 ff 00 ff 00 00 ff ff ff ff ff ff 07 3e 11 0c ff 14 ff ff 04 00 00 00 00 00 ff ff Pollen (Flower Prong)

50 25 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Charge
5a 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Wheelie Attack
6e 29 02 ff 00 00 23 00 ff ff ff ff 07 ff 11 18 ff ff ff ff ff ff ff ff 00 08 ff ff Big Spiral (Heavy Tank)

6e 42 00 ff 00 00 5c 01 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Short Staff
5a ff 00 ff 00 00 ff ff ff ff ff ff 03 01 22 0c ff ff ff ff ff ff ff ff 00 00 ff ff Turk Light
5a 45 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 04 00 ff ff Electroprod
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Report (Turks:Reno)

5a 25 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 30 ff ff ff ff ff ff ff ff 00 08 ff ff Shoulder Attack
64 ff 00 ff 04 00 ff ff 06 00 24 00 0f 1b 22 08 ff ff ff ff ff ff ff ff 01 00 ff fd Fire
ff ff 00 ff 05 00 ff ff 00 00 28 00 0d 00 25 05 00 ff ff ff ff ff ff ff 00 02 ff fd Cure
64 ff 00 ff 00 00 ff ff 14 01 14 01 03 42 22 18 ff ff ff ff ff ff ff ff 00 08 ff ff Grand Spark
5a ff ff ff 00 00 ff ff ff ff ff ff 00 ff 00 30 ff ff ff ff ff ff ff ff 00 00 7f ff Cover (Turks:Rude)

64 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Triple Attack
64 ff 00 ff 0a 00 ff ff a9 00 a9 00 03 14 22 00 ff 3f ff ff 00 00 20 00 00 00 ff ff Death Sentence (Sneaky Step)

6e 3c 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff 3f ff ff 08 00 00 00 00 08 ff ff Poison Fang
6e 3c 00 ff 00 00 e4 00 ff ff ff ff 03 ff 11 0e ff 07 ff ff 00 00 00 02 00 10 ff ff Halt Whip (Heg)

64 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Skewer
64 31 00 ff 00 00 e3 00 5a 01 5a 01 03 ff 11 14 ff 07 ff ff 00 00 00 02 00 10 ff ff Hell Spear
64 ff 00 ff 0a 00 ff ff a9 00 a9 00 03 14 22 00 ff 3f ff ff 00 00 20 00 00 00 ff ff Death Sentence (Gi Spektor)
 
6e 31 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Sting
64 2b 00 ff 14 00 23 00 ff ff ff ff 03 ff 23 18 ff ff ff ff ff ff ff ff 00 10 ff ff Sting Bomb
6e 34 00 ff 00 00 e3 00 3f 01 3f 01 03 ff 11 20 ff ff ff ff ff ff ff ff 00 10 ff ff Rabbit Gouge (Stinger)

ff 3e 01 ff 00 00 23 00 ff ff ff ff 03 ff 11 00 ff ff ff ff ff ff ff ff 00 00 ff ff Take Over
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Return
64 ff 00 ff 16 00 ff ff 0c 00 24 00 0f 1c 22 14 ff ff ff ff ff ff ff ff 01 00 ff fd Fire2 (Soul Fire)

64 31 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 23 ff ff ff ff ff ff ff ff 00 10 ff ff Spear Attack
ff ff 00 ff 00 00 ff ff ff ff ff ff 03 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Take Over
ff ff 00 ff 00 00 ff ff ff ff ff ff 03 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Take Over
ff ff 00 ff 01 00 ff ff dd 00 dd 00 03 17 22 06 ff ff ff ff ff ff ff ff 00 00 ef ff Drain
ff ff 01 ff 01 00 ff ff ff ff ff ff 03 41 22 02 ff ff ff ff ff ff ff ff 00 00 ee ff Aspil
ff ff 00 ff 0c 00 ff ff af 00 24 00 0f 16 22 00 ff 7f ff ff 00 00 17 00 00 00 ff ff DeBarrier
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish (Gi Nattak)

64 18 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Cutter
64 ff 00 ff 0a 00 ff ff 41 01 41 01 03 5e 22 00 ff 3f ff ff 80 00 00 00 00 80 ff ff Curses
ff ff 00 ff 0a 00 ff ff 42 01 42 01 07 4d 22 00 ff 06 ff ff 40 00 00 00 00 80 ff ff Funny Breath
ff ff 00 ff 00 00 ff ff 43 01 43 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Ascend (Dorky Face)

ff 18 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 04 ff ff Guillotine
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
ff ff 00 ff 00 00 ff ff 44 01 44 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Catch Chain
ff ff 00 ff 00 00 ff ff 45 01 45 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Fail to Catch (Ghirofelgo)

5a 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Swing Attack
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Reflection (Mirage)

5a 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Spin Attack
64 ff 00 ff 03 00 ff ff a5 00 a5 00 03 10 61 ff ff ff ff ff ff ff ff ff 00 00 ff ff ???
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Lean to LL
5a 36 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Spin Attack
64 ff 00 ff 16 00 ff ff 0c 00 24 00 0f 1c 22 14 ff ff ff ff ff ff ff ff 01 00 ff fd Fire2
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Lean to LR (Jersey)

ff 3c 01 ff 00 00 e4 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ef ff Blood Suck
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Dodge (Black Bat)

64 2c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Ying Punch
64 2c 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Sadistic Attack
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Vanish (Ying)

64 ff 00 ff 16 00 ff ff 0e 00 24 00 0f 22 22 14 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt2
64 ff 00 ff 16 00 ff ff 0d 00 24 00 0f 1f 22 14 ff ff ff ff ff ff ff ff 02 00 ff fd Ice2
64 ff 02 ff 00 00 ff ff ff ff ff ff 03 1c 24 1f ff ff ff ff ff ff ff ff 00 00 ff ff Suicide Yang
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Happy Yang
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff Enchanted Yang (Yang)

5f 26 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Punch
ff ff 00 ff 00 00 ff ff 10 01 10 01 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff ?Animation
64 ff 00 ff 16 00 ff ff 0e 00 24 00 0f 22 22 14 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt2
64 ff 00 ff 04 00 ff ff 08 00 24 00 0f 21 22 08 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt
78 3e 00 ff 00 00 dd 00 ff ff ff ff 03 ff 11 28 ff ff ff ff ff ff ff ff 00 08 ff ff Tentacle
ff ff 01 ff 01 00 ff ff ff ff ff ff 03 41 22 02 ff ff ff ff ff ff ff ff 00 00 ee ff Aspil
64 ff 00 ff 24 00 ff ff 10 00 24 00 0f 28 22 15 ff 0c ff ff 08 00 00 00 10 00 ff fd Bio2
64 ff 00 ff 1c 00 ff ff 0f 00 25 00 0f 25 22 18 ff ff ff ff ff ff ff ff 08 00 fd fd Quake2
64 ff 00 ff 08 00 ff ff 0a 00 24 00 0f 27 22 0a ff 0c ff ff 08 00 00 00 10 00 ff fd Bio
64 ff 00 ff 06 00 ff ff 09 00 24 00 0f 24 22 0b ff ff ff ff ff ff ff ff 08 00 ff fd Quake
5f 25 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 32 ff ff ff ff ff ff ff ff 00 08 ff ff Lost Blow (Lost Number)

ff 24 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 80 00 ff ff Sonic Attack
64 ff 00 ff 00 00 ff ff 20 01 20 01 03 2c 11 20 ff ff ff ff ff ff ff ff 00 08 ff ff Harrier (Sonic Speed)

64 32 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 20 ff ff ff ff ff ff ff ff 00 10 ff ff Claw
64 ff 02 ff 00 00 ff ff 26 01 26 01 07 55 11 1e ff 0a ff ff 00 00 00 04 80 00 ff ff Great Gale (Zuu)

ff 24 01 ff 00 00 e4 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 00 ef ff Absorb
ff ff 00 ff 05 00 ff ff ff ff ff ff 03 10 22 00 ff 3f ff ff 00 00 00 02 00 00 ff ff Stare Down (Twin Brain)

73 37 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Ironball
64 ff 02 ff 00 00 ff ff 1e 01 1e 01 07 86 11 28 ff ff ff ff ff ff ff ff 08 00 ff ff Iron Attack
5e ff 01 ff 04 00 ff ff 1f 01 1f 01 03 3d 22 00 ff 3f ff ff 10 00 00 00 00 00 ff ff War Cry (Screamer)

64 09 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Keyclaw
5f 32 02 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Big Horn
5f 43 00 ff 00 00 23 00 27 01 27 01 03 ff 11 1c ff ff ff ff ff ff ff ff 00 00 ff ff Hell Combo
64 ff 02 ff 14 00 ff ff a3 00 a3 00 07 0e 22 22 ff ff ff ff ff ff ff ff 04 00 fd ff Trine
ff ff 00 ff 18 00 ff ff 01 00 24 00 0d 01 25 23 00 ff ff ff ff ff ff ff 00 02 ff fd Cure2 (Materia Keeper)

64 ff 00 ff 16 00 ff ff 0c 00 24 00 0f 1c 22 14 ff ff ff ff ff ff ff ff 01 00 ff fd Fire2
64 ff 00 ff 16 00 ff ff 0d 00 24 00 0f 1f 22 14 ff ff ff ff ff ff ff ff 02 00 ff fd Ice2
64 ff 00 ff 16 00 ff ff 0e 00 24 00 0f 22 22 14 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt2
64 ff ff ff 00 00 ff ff ff ff ff ff 00 ff 00 10 ff ff ff ff ff ff ff ff 00 00 ff ff Incite
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 ff ff Palmer "Ugh!" (Palmer)

64 30 00 ff 00 00 19 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Bite
5f ff 00 ff 05 00 ff ff 29 01 29 01 03 3e 22 0c ff 3f ff ff 40 00 00 00 00 00 ff ff Confu-scales
5a ff 01 ff 00 00 ff ff d8 00 d8 00 03 02 22 00 ff 3f ff ff 00 02 00 00 00 00 ff ff Silk
5f ff 01 ff 00 00 ff ff ff ff ff ff 03 02 22 00 ff 19 ff ff 00 04 00 00 00 00 ff ff Thread (Jayjujayme)

64 0a 00 ff 00 00 60 01 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Claw
5f ff 02 ff 10 00 ff ff ff ff ff ff 0f 1d 22 14 ff ff ff ff ff ff ff ff 01 00 ff ff Flame Dance (Foulander)

5a 37 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 08 ff ff Rod
64 ff 00 ff 16 00 ff ff 0d 00 24 00 0f 1f 22 14 ff ff ff ff ff ff ff ff 02 00 ff fd Ice2
64 ff 00 ff 16 00 ff ff 0e 00 24 00 0f 22 22 14 ff ff ff ff ff ff ff ff 04 00 ff fd Bolt2
ff ff 01 ff 08 00 ff ff 2a 01 2a 01 03 41 22 08 ff ff ff ff ff ff ff ff 00 00 ee ff Dance
ff ff 01 ff 08 00 ff ff 2a 01 2a 01 03 17 22 08 ff ff ff ff ff ff ff ff 00 00 ee ff Dance (Garuda)

5f 1b 00 ff 00 00 e2 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 04 ff ff Wing Cut
5f 3d 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff 0c ff ff 08 00 00 00 00 00 ff ff Scorpion's Tail
64 ff 00 ff 32 00 ff ff ff ff ff ff 03 5c 22 32 ff ff ff ff ff ff ff ff 80 00 ff ff Aero3 (Rapps)

64 2d 00 ff 00 00 0f 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 20 ff ff Machine Gun
55 ff 02 ff 00 00 ff ff ff ff ff ff 07 5d 11 14 ff ff ff ff ff ff ff ff 00 00 ff ff Grenade
4b ff 00 ff 00 00 ff ff ff ff ff ff 03 7c 11 00 ff 19 ff ff 04 00 00 04 00 80 ff ff Smoke Bullet (Attack Squad)

64 25 00 ff 00 00 23 00 ff ff ff ff 03 ff 24 08 ff ff ff ff ff ff ff ff 00 08 ff ff Dive Kick
ff ff 00 ff 10 00 ff ff 1e 00 28 00 0d 0f 50 00 ff 3f ff ff 00 00 01 00 00 00 ff fd Barrier
4b ff 01 ff 21 00 ff ff 11 00 24 00 0f 2b 23 10 ff ff ff ff ff ff ff ff 20 00 ff ff Demi2
ff ff 00 ff 1e 00 ff ff 1f 00 24 00 0d 11 50 00 02 3f ff ff 00 00 04 00 00 00 ff ff Reflect
ff ff 00 ff 1e 00 ff ff 00 00 24 00 0d 03 22 00 00 3f ff ff 00 80 00 00 00 00 ff fd Regen (Gorkii)

67 30 00 ff 00 00 e3 00 ff ff ff ff 03 ff 11 10 ff ff ff ff ff ff ff ff 00 10 ff ff Beak
4b 2c 00 ff 00 00 fa 00 1b 01 1b 01 03 ff 11 28 ff 12 ff ff 20 00 00 00 00 40 ff ff Rage Bomber (Shake)

ff 24 01 ff 00 00 e4 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 00 ef ff Absorb
ff ff 00 ff 05 00 ff ff ff ff ff ff 03 10 22 00 ff 3f ff ff 00 00 00 02 00 00 ff ff Stare Down (Chekhov)

73 37 00 ff 00 00 23 00 ff ff ff ff 03 ff 11 14 ff ff ff ff ff ff ff ff 00 08 ff ff Ironball
64 ff 02 ff 00 00 ff ff 1e 01 1e 01 07 86 11 28 ff ff ff ff ff ff ff ff 08 00 ff ff Iron Attack
5e ff 01 ff 04 00 ff ff 1f 01 1f 01 03 3d 22 00 ff 3f ff ff 10 00 00 00 00 00 ff ff War Cry (Staniv)

ff ff 00 ff 18 00 ff ff 01 00 24 00 0d 01 25 23 00 ff ff ff ff ff ff ff 00 02 ff fd Cure2
64 ff 01 ff 08 00 ff ff 03 00 24 00 0f 0b 22 00 ff 12 ff ff 04 00 00 00 00 00 ff fd Sleepel
64 ff 00 ff 0a 00 ff ff 06 00 24 00 0f 09 22 00 ff 92 ff ff 00 10 00 00 00 00 ff fd Mini
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Beast
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Cheater
5f ff 02 ff 00 00 ff ff ff ff ff ff 0f 19 11 10 ff ff ff ff ff ff ff ff 00 00 ff ff Beast Sword
64 ff 02 ff 14 00 ff ff a3 00 a3 00 07 0e 22 22 ff ff ff ff ff ff ff ff 04 00 fd ff Trine
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Human
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Cheat
64 ff 00 ff 24 00 ff ff 10 00 24 00 0f 28 22 15 ff 0c ff ff 08 00 00 00 10 00 ff fd Bio2
4b ff 01 ff 30 00 ff ff 17 00 91 00 0f 2c 23 18 ff ff ff ff ff ff ff ff 20 00 fd ff Demi3
ff ff 00 ff 01 00 ff ff dd 00 dd 00 03 17 22 06 ff ff ff ff ff ff ff ff 00 00 ef ff Drain
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Beast
ff ff 00 ff 00 00 ff ff ff ff ff ff 00 ff 00 00 ff ff ff ff ff ff ff ff 00 00 7f ff To Human (Godo)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-11 03:48:03
Yar, that be a lot of code, matey!

What I REALLY want is the Limit break attacks (not Tifa's, Cait Sith's, or Vincent's because those are in the KERNEL.BIN)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-11 13:48:14
I have tried the "Sewer Tsunami" additional effect with both 00 and 01 as attack modifiers and still got the same result. I have also tried using the Sewer Tsunami animations and camera positions, but when used with Fire3 (for which the attack modifier was 00) I got the "L5 death" animation and when I used it with Ice3 the game crashed. Hmmm, something must still be going wrong.

Now to see what happens if I put something else at 0x12 for Aps' Sewer Tsunami in his scene.bin file (this could take a bit of time).

By the way, Limit Breaks are (starting at 0x51E0D4 of ff7.exe for the PC and somewhere in MENU\LIMTMENU.MNU for the PSX - I'm at university and don't have my discs right now):

Code: [Select]
FF FF 00 FF 00 00 FF FF 32 00 32 00 13 00 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Braver
FF FF 00 FF 00 00 FF FF 34 00 34 00 13 01 11 34 FF 3F FF FF 00 00 00 02 00 00 FF FF Cross-slash
FF FF 00 FF 00 00 FF FF 33 00 33 00 13 02 11 38 FF FF 1A 7A FF FF FF FF 00 00 BF FF Blade Beam
FF FF 00 FF 00 00 FF FF 35 00 35 00 13 03 11 46 FF FF FF FF FF FF FF FF 00 00 FF FF Climhazzard
FF FF 00 FF 00 00 FF FF 36 00 36 00 97 04 11 1A FF FF 00 06 FF FF FF FF 00 00 FF FF Meteorain
FF FF 00 FF 00 00 FF FF 39 00 39 00 17 05 11 00 FF 3F 18 78 01 00 00 00 00 00 FF FF Finishing Touch
FF FF 00 FF 00 00 FF FF 3B 00 3C 00 97 06 11 0C FF FF 00 0F FF FF FF FF 00 00 FF DF Omnislash
FF FF 00 FF 00 00 FF FF 46 00 46 00 13 07 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Big Shot
FF FF 00 FF 00 00 FF FF 48 00 48 00 17 08 11 36 FF FF FF FF FF FF FF FF 00 00 FF FF Grenade Bomb
FF FF 00 FF 00 00 FF FF 49 00 49 00 13 09 23 20 FF FF FF FF FF FF FF FF 20 00 FE FF Mindblow
FF FF 00 FF 00 00 FF FF 4B 00 4B 00 13 0A 11 00 FF 3F FF FF 01 00 00 00 00 00 FF FF Hammerblow
FF FF 00 FF 00 00 FF FF 4D 00 4D 00 17 0B 11 23 FF FF FF FF FF FF FF FF 00 00 FF DF Satellite Beam
FF FF 00 FF 00 00 FF FF 4E 00 4E 00 97 0C 11 08 FF FF 00 12 FF FF FF FF 00 00 FF FF Angermax
FF FF 00 FF 00 00 FF FF 4F 00 4F 00 97 0D 11 14 FF FF 00 0A FF FF FF FF 00 00 FF FF Catastrophe
FF FF 00 FF 00 00 FF FF 5A 00 5A 00 15 0E 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Healing Wind
FF FF 00 FF 00 00 FF FF 5B 00 5B 00 17 0F 22 00 FF 3F FF FF 80 04 00 00 00 00 FF FF Seal Evil
FF FF 00 FF 00 00 FF FF 5E 00 5E 00 15 10 22 00 FF 7F FF FF FC 7E 80 36 00 00 FF FF Breath of the Earth
FF FF 00 FF 00 00 FF FF 62 00 62 00 15 11 00 FF FF FF 14 FF FF FF FF FF 00 80 FF FF Fury Brand
FF FF 00 FF 00 00 FF FF 60 00 60 00 15 12 22 00 FF 3F FF FF 00 00 00 01 00 00 FF FF Planet Protector
FF FF 00 FF 00 00 FF FF 61 00 61 00 15 13 08 20 FF 7F FF FF 01 00 00 00 00 02 FF F7 Pulse of Life
FF FF 00 FF 00 00 FF FF 63 00 63 00 15 14 08 20 FF 3F FF FF 00 00 00 01 00 02 FF FF Great Gospel
FF FF 00 FF 00 00 FF FF 3E 00 3E 00 97 15 B1 14 FF FF 13 FF FF FF FF FF 00 00 FF FF Beat Rush
FF FF 00 FF 00 00 FF FF 42 00 42 00 97 15 B1 16 FF FF 13 FF FF FF FF FF 00 00 FF FF Somersault
FF FF 00 FF 00 00 FF FF 40 00 40 00 97 15 B1 18 FF FF 13 FF FF FF FF FF 00 00 FF FF Waterkick
FF FF 00 FF 00 00 FF FF 41 00 41 00 97 15 B1 1A FF FF 13 FF FF FF FF FF 00 00 FF FF Meteodrive
FF FF 00 FF 00 00 FF FF 43 00 43 00 97 15 B1 1C FF FF 13 FF FF FF FF FF 00 00 FF FF Dolphin Blow
FF FF 00 FF 00 00 FF FF 44 00 44 00 97 15 B1 1E FF FF 13 FF FF FF FF FF 00 00 FF FF Meteor Strike
FF FF 00 FF 00 00 FF FF 45 00 45 00 97 15 B1 2A FF FF 13 FF FF FF FF FF 00 00 FF FF Final Heaven
FF FF 00 FF 00 00 FF FF 64 00 64 00 13 1C 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Boost Jump
FF FF 00 FF 00 00 FF FF 65 00 65 00 13 1D 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Dragon
FF FF 00 FF 00 00 FF FF 67 00 67 00 17 1E 11 38 FF 05 FF FF 01 00 00 00 00 00 FF FF Hyper Jump
FF FF 00 FF 00 00 FF FF 68 00 68 00 17 1F 11 24 FF FF FF FF FF FF FF FF 00 00 FF FF Dynamite
FF FF 00 FF 00 00 FF FF 6A 00 6A 00 97 20 11 17 FF 07 00 06 01 00 00 00 00 00 FF FF Dragon Dive
FF FF 00 FF 00 00 FF FF 6C 00 6C 00 97 21 11 12 FF FF 00 08 FF FF FF FF 00 00 FF FF Big Brawl
FF FF 00 FF 00 00 FF FF 6D 00 6D 00 97 22 11 0B FF FF 00 12 FF FF FF FF 00 00 FF FF Highwind
FF 27 00 FF 00 00 23 00 50 00 50 00 13 23 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Sled Fang
FF FF 00 FF 00 00 FF FF 51 00 51 00 00 24 22 00 FF 3F 17 A0 00 01 80 00 00 00 FF FF Howling Moon
FF FF 00 FF 00 00 FF FF 53 00 53 00 13 25 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Blood Fang
FF FF 00 FF 00 00 FF FF 55 00 55 00 97 26 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Stardust Ray
FF FF 00 FF 00 00 FF FF 56 00 56 00 15 27 22 00 FF 3F 16 96 00 01 00 00 00 00 FF FF Lunatic High
FF FF 00 FF 00 00 FF FF 58 00 58 00 97 28 11 1E FF FF 00 05 FF FF FF FF 00 00 FF FF Earth Rave
FF FF 00 FF 00 00 FF FF 59 00 59 00 17 29 11 7D FF FF FF FF FF FF FF FF 00 00 FF FF Cosmo Memory
FF FF 00 FF 00 00 FF FF 78 00 78 00 13 2A 68 FF FF FF FF FF FF FF FF FF 00 00 FF FF Dice
FF FF 00 FF 00 00 FF FF 79 00 79 00 13 46 11 FF FF FF 08 FF FF FF FF FF 00 00 FF FF Toy Box
FF FF 00 FF 00 00 FF FF 7A 00 7A 00 17 2C 00 FF FF FF 0F FF FF FF FF FF 00 00 FF FF Slots
FF FF 00 FF 00 00 FF FF 82 00 82 00 00 2D 00 FF FF FF 03 00 FF FF FF FF 00 00 FF FF Galian Beast
FF FF 00 FF 00 00 FF FF 84 00 84 00 00 2E 00 FF FF FF 03 01 FF FF FF FF 00 00 FF FF Death Gigas
FF FF 00 FF 00 00 FF FF 86 00 86 00 00 2F 00 FF FF FF 03 02 FF FF FF FF 00 00 FF FF Hellmasker
FF FF 00 FF 00 00 FF FF 88 00 88 00 00 30 00 FF FF FF 03 03 FF FF FF FF 00 00 FF FF Chaos
FF FF 00 FF 00 00 FF FF 6E 00 6E 00 13 31 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Greased Lightning
FF FF 00 FF 00 00 FF FF 73 00 73 00 15 32 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Clear Tranquil
FF FF 00 FF 00 00 FF FF 71 00 71 00 17 33 11 30 FF FF FF FF FF FF FF FF 08 00 FF FF Landscaper
FF FF 00 FF 00 00 FF FF 72 00 72 00 97 34 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Bloodfest
FF FF 00 FF 00 00 FF FF 74 00 74 00 17 35 11 1C FF FF FF FF FF FF FF FF 00 00 FF DB Gauntlet
FF FF 00 FF 00 00 FF FF 76 00 76 00 97 36 11 0A FF FF 00 0F FF FF FF FF 00 00 FF FF Doom of the Living
FF FF 00 FF 00 00 FF FF 77 00 77 00 17 37 11 80 FF FF FF FF FF FF FF FF 00 00 FF FF All Creation
FF FF 00 FF 00 00 FF FF 7E 00 7E 00 15 38 22 00 FF FF 10 FF FF FF FF FF 00 00 FF FF Transform
FF FF 00 FF 00 00 FF FF 7B 00 7B 00 15 39 08 20 FF FF FF FF FF FF FF FF 00 02 FF FF Mog Dance
FF FF 00 FF 00 00 FF FF 7C 00 7C 00 17 3A 11 50 FF FF FF FF FF FF FF FF 00 00 FF FF Toy Soldier
FF FF 00 FF 00 00 FF FF 7D 00 7D 00 15 3B 22 00 FF 3F FF FF 00 00 00 40 00 00 FF FF Lucky Girl
FF FF 00 FF 00 00 FF FF 80 00 80 00 15 3C 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Death Joker
FF FF 00 FF 00 00 FF FF 81 00 81 00 17 3D 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Game Over
78 25 00 FF 00 00 23 00 7F 00 7F 00 13 FF 11 18 FF FF FF FF FF FF FF FF 00 00 FF FF Berserk Dance
64 FF 00 FF 00 00 FF FF 83 00 83 00 17 3F 22 3C FF FF FF FF FF FF FF FF 01 00 FF FF Beast Flare
78 2C 00 FF 00 00 14 00 8A 00 8A 00 13 FF 11 2A FF FF FF FF FF FF FF FF 00 00 FF FF Gigadunk
64 FF 00 FF 00 00 FF FF 85 00 85 00 17 41 22 46 FF FF FF FF FF FF FF FF 04 00 FF FF Livewire
78 23 00 FF 00 00 E2 00 8B 00 8B 00 13 FF 11 08 FF FF 00 05 FF FF FF FF 00 00 FF FF Splattercombo
64 FF 00 FF 00 00 FF FF 87 00 87 00 13 43 22 00 FF 3F FF FF CC 18 00 00 00 00 FF FF Nightmare
78 19 00 FF 00 00 A3 01 93 00 93 00 17 FF 11 28 FF FF FF FF FF FF FF FF 00 00 FF FF Chaos Saber
64 FF 00 FF 00 00 FF FF 89 00 89 00 17 45 22 00 FF 07 18 79 01 00 00 00 00 00 FF FF Satan Slam
FF FF FF FF 00 00 FF FF FF FF FF FF 17 4D 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Finishing Touch
64 FF FF FF 00 00 FF FF FF FF FF FF 17 4E 22 5A FF FF FF FF FF FF FF FF 00 00 FF FF Satan Slam

EDIT:

I have been editing materia as well. Summon materia to be precise, and I have found that the materia attributes from 0x0E-0x13 seem to be redundant. After trying to edit KotR in such a way that the player would be required to get it to level two before it could be used once, I found that I could still use it once with lv.1 KotR materia, twice with it at lv.2 and three times with it at lv.3 (when it was supposed to be once - the point of lv.3 would be to master the materia and nothing else).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-10-11 19:39:57
Hey, brilliant program ya got goin' on here!
With it, I was able to Edit Magic/Materia and sort of create new spells and such, combined with teioh and the like.

But i have a question. would it be possible with this to actually add NEW spells/attacks etc? for example i was thinking it might be quite good to give cloud a new Limit break, and Edit it so it does different things.

Again, Great program, and thanks a lot.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-11 22:10:02
I'm not certain adding new spells would be possible. They're all indexed. Now you COULD make a materia to enable one of the dummied attacks and give that some "magic" properties, but I don't know if it would appear anywhere on the magic menu. That would have to be edited too.

PS - This was planned to be Phase V, but deemed impossible for this reason.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-10-11 22:41:42
Ahh, i see, well thanks for replying, and for making this Cool Program
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: GrammerNatzi on 2008-10-12 02:29:59
God damn, I wish I could get 99999 damage using this and the patch to break the 9999 damage limit, but it's impossible. I can't even get past 15000, no matter how high I set anything to.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tyler_Wu on 2008-10-12 03:18:05
you can go up to 30 000 dmg and HP i thought, using dziugos patch?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-12 03:25:19
You can't go past 32767 damage because damage is handled by a 16-bit signed integer. If you try to go beyond that the data will go out of scope and cause an overflow error. This is not to be confused with the "overflow bug" that exists with the Missing Score and the Death Penalty.

Quote
I have also tried using the Sewer Tsunami animations and camera positions, but when used with Fire3 (for which the attack modifier was 00) I got the "L5 death" animation and when I used it with Ice3 the game crashed. Hmmm, something must still be going wrong.

I think this goes back to the problem with editing commands. The game knows that it's a player's magic that's requesting that animation so it tries to pull that animation offset from the "player attack" animation set. The enemies' animation for Tsunami just happens to coincide with the player's L5Death.

EDIT: I went and tested some new values for 0x12 - 0x13 based on the Limit Break info that LKM provided.
0x1A - Blade Beam  [performs [] on other row members. Sorta worked on enemy, but when cast on party member they all froze. Not the game, just the characters. Perhaps the "Blade Beam" property needs to be set {0x1A = "10111111"]
0x13 - Tifa's LBs [Bring up slots? Don't perform if "miss"? one of these two, I think.]
0x17 - Howling Moon (A0) [no effect]
0x16 - Lunatic High (96) [no effect]
0x0F - Slots ["Game Over" win battle. 0x13 doesn't change this when on magic]
0x03 - Vincent's Transformations (00,01,02,03) [Lose control of caster. ATB would fill then go to 0 as if attack had been chosen, but not performed. When forced upon vincent, he didn't transform, but the camera moved as if he were trying to perform it.]

It also doesn't seem like the "unused" target flag or properties 0004h, 0008h, 1000h, 4000h, or 8000h do anything at all. I'm still trying to figure out property 0002h's function.

MULTI-RE-EDIT: I was playing around with different possibilities of 0002h's effect and came across something odd. Normally Pandora's Box has this flag enabled. When I cast un-altered Pandora's Box on a Grangalan and it died as it was supposed to if you killed it completely before it could summon/spawn Grangalan Jrs. However, when I turned that bit off Pandora's Box and cast it again, the Grangalan Jr appeared inside the Grangalan as it was dying. The G.Jr then died as well. Maybe this has something to do with counter-attacks.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat on 2008-10-12 10:40:32
And thus it is that progress continues apace!

It's really, really interesting reading the posts on the game dynamics so far.

I wonder how much bugchecking they did before initial release?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-12 14:49:57
I wonder how much bugchecking they did before initial release?

Seeing as they never intended 0x12 to be h04 for any attack other than Tsunami and h03 for any other "attack" other than Vincent's Limit Breaks (etc), probably not a lot. Their bug checking probably involved making sure no player attacks had any property that were designated "monsters only" and vice versa.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat on 2008-10-13 05:17:34
Mmm, they didn't really count on their fanbase pulling it down to its skeleton and rebuilding it hey :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-13 06:04:16
Mmm, they didn't really count on their fanbase pulling it down to its skeleton and rebuilding it hey :P

No. No they didn't. Considering on the basest of senses that this is reverse-engineering and a violation of the EULA, no. At least on the PSX version. I don't know about the PC's restrictions.


Quote
I have been editing materia as well. Summon materia to be precise, and I have found that the materia attributes from 0x0E-0x13 seem to be redundant. After trying to edit KotR in such a way that the player would be required to get it to level two before it could be used once, I found that I could still use it once with lv.1 KotR materia, twice with it at lv.2 and three times with it at lv.3 (when it was supposed to be once - the point of lv.3 would be to master the materia and nothing else).

I have heavy-heartedly confirmed this. This makes me sad. I figure this is another "lazy programmer" trick where they suddenly decided "they're all the same, why not just hard code it?" Lousy programmers. :( So, this makes Materia Type 3Bh into "Allows Summon [1] [AP level] times in one battle." So no Ultima/FullCure/Shield effect where you have to get to level 2 before you can summon.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-13 13:28:43
Damn. That would have been a very good way to balance out the attack power of the big summons like KotR and Bahamut ZERO, which I think should be almost impossible to use before disc three.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-13 16:25:37
I had to update once again. Materia AP calculation wasn't working and for some reason, lost to the deepest reaches of time, I forgot to allow the accessories' elements to change! Talk about embarrassing.  :oops:
So sorry to everyone who has downloaded this before. I hope you keep coming here every few days to check up on it.

Updates:

EDIT: I just ran through the entirety of scene.bin and NO monsters use the attack attributes that are unknown (0004h, 0008h, 1000h, 4000h, 8000h). These might be ignored by the game or cause crashes when set. I haven't tested any of them. I suppose I should leave them there just because. :)

RE-EDIT:More "Additional Effects":
19h Hell Rider VR2's Electromag. Switch targets' row positions
1Dh: Carry Armor's "Damage Attack"
1Dh: Carry Armor's Left Arm's "Release Left Character"
1Dh: Carry Armor's Left Arm's "Release Right Character" Release character from escaped/death?

There are no additional Damage Formula values that are used (yay!), but 83h should now read: "Hit for HP * ([]/32) if level/Atk% is not a fraction."

Also of note, no monster-exclusive attacks have the attribute of 0002h (whatever that does :( ). Still need to find this out and I think this will do it for unknown attack values.

RE-RE-EDIT: Effect 08h, "Toy Box ?". It randomly picks an animation between its own animation + 1 and its own animation + 7 to show. It still retains all the properties of its own attack.
Eg: Fire (anim of 1Bh) was given effect 08h and would randomly perform an animation from Fire2 (1Ch), Fire3 (1Dh), Ice (1Eh), Ice2 (1Fh), Ice3 (20h), and Bolt (21h). It retained all other properties such as Element and MP cost.
Note: this is probably specific to the type of attack (magic, summon, E.Skill, limit break) it is since I think the animations are separated this way as well.
Some people have probably already figured this out, but no one decided to tell me. :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-10-13 16:47:46
Just downloaded it.

Yes, the new layout is much better.

And I think that if you make an accessory absorb health, the character wearing it will be damaged by healing spells and KO'd by Life spells/Phoenix Downs, just like undead enemies.

EDIT: Oops. I've just noticed that the equip effects for materia are missing.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-13 19:17:01
EDIT: Oops. I've just noticed that the equip effects for materia are missing.

Fixed. Sorry I didn't see that before.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Auraplatonic 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 :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tyler_Wu 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
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tyler_Wu on 2008-10-15 19:06:44
I suspected that might screw things up, oh well not a big deal.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex 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?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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".
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS 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?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.

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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat 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!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat 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?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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".
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat 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?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari 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)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-20 19:54:03
It's flag 02h of attack byte 0x1A. Here is a list (http://forums.qhimm.com/index.php?topic=7928.msg95509#msg95509) 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat 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?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-21 10:21:12
Are you planning on making the init and growth section editable.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-10-21 18:35:33
It's flag 02h of attack byte 0x1A. Here is a list (http://forums.qhimm.com/index.php?topic=7928.msg95509#msg95509) 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.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-10-21 18:38:44
imo the exp curve is good in FF7. Basically all curves head towards their baseline.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-21 19:30:19
It's flag 02h of attack byte 0x1A. Here is a list (http://forums.qhimm.com/index.php?topic=7928.msg95509#msg95509) 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.

Eh? What that mean?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-10-21 19:49:10
It's flag 02h of attack byte 0x1A. Here is a list (http://forums.qhimm.com/index.php?topic=7928.msg95509#msg95509) 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.

Eh? What that mean?

I'm sorry 0x0004 is magic attack. But it's seems very stupid. Almost all attacks has it, but it removes from code if upper damage function is 0,1,3,6,a or b. FFVII very puzzled.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-21 21:13:25
Are you talking about the way the attack data is stored or how it's used in the battle? And what are you calling upper damage function?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-10-22 02:29:49
Are you talking about the way the attack data is stored or how it's used in the battle? And what are you calling upper damage function?

There are two damage functions that called during damage calculations. They are defind by damage function id byte in attack and weapon data. For example for most of weapons there is 0x11 damage function id. This give us upper four bits as upper damage function 0x1 and lower four bits as lower damage function 0x01. More info to come =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Rufus95 on 2008-10-29 19:19:40
thankyou I've been looking for a kernel.bin editor
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-30 17:48:28
Q: Hey there NFITC1! We haven't heard from you about this in a while. Have you got any updates to WallMarket?

A: Not quite yet. I'm re-writing the entire thing in VB9 (or VB2008 if you want to call it that). Among some speed and possibly size issues, this will eliminate the dependency on the comdlg32.ocx ActiveX control (which I never liked about VB6).

Q: Sweet! Will anything be added/changed?

A: Oh, maybe one or two things and a misspelling or two. (http://img79.imageshack.us/img79/452/rawdatabi0.png)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gingercat on 2008-10-31 00:24:15
Again I say: Awesome :lol:

Leaps and bounds forward.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-31 06:14:35
As awesome as it looks, I've hit a really strange snag.

First off, the LZS compression is really weird. I just spent the last 20 minutes trying to figure it out. It doesn't seem that hard, but it's still not going to be a simple thing. However, I never learned how to compress things. Can anyone teach me how compressing works? Else we're going to end up with an uncompressed kernel2.bin, which would be easier on me at least. :)

Secondly, and most importantly, in the KERNEL.BIN for the PSX there are some weird goings on with the descriptions and names. There seems to be a function, F9h, that takes a single byte argument that somehow references what it has already written. As an example, here's the description (raw and decoded) for Poison Ring (begins at offset 0:94 and is entry index 7):

Code: [Select]
24 52 41 49 4E 53 00 3B 30 4F 49 53 4F 4E 3D 00 41 54 54 41 43 4B 53 0C 00 50 52 4F 54 45 43 54 53 00 41 47 F9 21 54 F9 A0 3D
 D  r  a  i  n  s     [  P  o  i  s  o  n  ]     a  t  t  a  c  k  s  ,     p  r  o  t  e  c  t  s     a  g ** ??  t ** ??  ]

There at the end are two "text calls". The first, F9h 21h, references "ains" from the word "Drains" (offset 0:96) to complete the word "against". The second one, F9h A0h, references the "[Poison" (offset 0:9B) at the beginning. It's likely that this "text call" can only return up to eight characters or else it could have retrieved the nine characters that make up the first "[Poison]" instead of leaving the "]" on at the end.

This happens a LOT in all the FFText files of the KERNEL. It doesn't have to reference just its entry. Quite often it will reference an entry several indexes back. Can anyone explain just how it's coming up with this?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dziugo on 2008-10-31 16:49:37
Just a blind guess:
0x21 -> 00100001b -> 00 | 100001
0xA0 -> 10100000b -> 10 | 100000

First two bits:
00 - copy 4 bytes
01 - copy 6 bytes
10 - copy 8 bytes
11 - copy ?10? bytes
It starts at 4 bytes, because the special command already occupies 2 bytes, so if you'd want to copy only 2 bytes, you could just aswell write them to the output as regular characters.

The remaining 6 bits:
100001b is 0x21 (or 33 decimal) and the 'ains' string is exactly 34 bytes from the 0xF9 character
100000b is 0x20 (or 32 decimal) and the '_[Poison' string is exactly 33 bytes from the 0xF9 character
The deltas are decreased by 1 because it would make no sense to reference text zero bytes from the current offset.

Again, just a blind guess. You're better off asking Akari for help, as he is the master of the PSX version disassembly.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-10-31 16:55:05
Topic about text in kernel

http://forums.qhimm.com/index.php?topic=6878.0

Compression.
Code: [Select]
            temp = file->GetU8(offset);

            if (temp == 0xF9)
            {
                // simple string compression, reference an earlier substring
                ++offset;
                int dist  = (file->GetU8(offset) & 0x3F) + 2;

                int count = (file->GetU8(offset) >> 6) * 2 + 4;
                for (int k = 0; (k < count) && (file->GetU8(offset - dist + k) != 0xFF); ++k)
                {
                    name.push_back(file->GetU8(offset - dist + k));
                }
            }
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-10-31 20:08:06
Once again, that was marvelously helpful! Because of it, the accessory descriptions are now displaying correctly. Also, I now have a (more or less) complete mapping of FF7's font.

More than ever I wish I had a wiki account because I'm always seeing small errors all over the place. There's an error on the LZS description page's example that had me scratching my head for several minutes. Almost all the sections to the kernel's contents are wrong or are lacking in information to some degree.


EDIT: I don't remember this (http://img355.imageshack.us/my.php?image=battletextmi4.png) ever said in the game. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-11-02 15:46:16
I don't remember this (http://img355.imageshack.us/my.php?image=battletextmi4.png) ever said in the game. :)


those look like 2 letter refferals to bigger words. for instance "At" being attack? who knows :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-03 00:57:25
those look like 2 letter refferals to bigger words. for instance "At" being attack? who knows :P

It looks more like two character references to elements and statuses:
Code: [Select]
Fr - Fire
Ic - Ice
Lt - Lightning
Et - Earth
Ps - Poison
Dm - Gravity? (Dark matter?)
Wt - Water
Wi - Wind
Hl - Heal/Holy (could be either, I'm betting on Holy)
Dt - Death
Re - Regen
Sp - Sleep
Po - Poisoned
Sd - Sadness
An - Fury (Angry?)
Cn - Confuse
Si - Silence
Fa - Haste
Sl - Slow
St - Stop
Td - Toad
Mn - Mini
Sn - Slow-Numb
Dg - ?
At - Barrier (Attack Def?)
Mg - MBarrier (Magic Def?)
Rf - Reflect
Ab - ?
Gd - ?
Cn - ?
Mn - Manipulate
Bs - Berserk
No - Peerless (No damage?)
Pl - Paralyze
Dk - Darkness

Some statuses are missing and they aren't in order nor are they unique. I'm not sure they really serve a purpose...

UPDATE:
Here're some features planned for WallMarket.NET 1.0:

I'm estimating this will take a week at least. I have to rebuild the interface mostly from scratch, but I have all the code still written (though some will have to go through re-writes since this is in a different language). Donations are still welcome, but not required. ;)

EDIT: I had an epiphany about what is currently labeled as "status chance" (0x11 of the attack data). It is split into three sections:
80h: remove status if inflicted, inflict at (chance/63)% success rate
40h: remove status if inflicted with (chance/63)% success rate
20h - 00h: (0 - 63/63) % chance of inflicting indicated status(es)

I don't think I would have noticed this if Frog Song hadn't been BFh while Toad/Mini is just 92h. Toad will miss, but Frog Song will Inflict and Remove Frog and Sleep from a target without missing (as long as the target CAN be frogged/sleeped of course). Learning this kinda made me want to turn on the "ignore status def" of Frog Song and cast it on Safer Sephiroth. :D

RE-EDIT: Forget what this sentence was before. Someone did something about it and it is no longer valid. Thanks to whomever it was. :D
WallMarket.NET will not enforce materia links like WallMarket 0.9.x does. I didn't like doing that, but I didn't ever test it before. Now that I have I discovered that Materia Slots 01h and 04h are empty single slots. To my knowledge, these do not appear in the game anywhere. Only the Ultimate Weapons are no-growth and they are all 8-linked slots (except Aeris's which is 6-L 1-U and normal growth). I just realized that the Gigas Armlet has 0 growth and a 2-L 1-U slots. So this will the only item in the game with a Materia Slot of 01h. These empty ones are just cosmetic as a materia can still gain triple AP in an empty slot.
I played around with some links and it seems like they only work if the odd-numbered slots are linked to the right and the slot they are linked to links to the left:

O O==O O <--- looks fine, but does not work

=O =O O O <-- looks odd on the left, also does not work

O O O==O <-- works just fine

If I put non-support materia in those link slots they work fine and their effects show up in battle. Any value higher than 7 just seems to create unlinked slots. They work fine too.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-11-08 10:45:25
This is kind of off the topic of materia slots, but it still classifies as kernel.bin editing.

So I used the information of the Mega All materia to make a "Mega Quadra Magic" materia.  I selected "34" as the materia type, "99" as the materia type attribute [1], and "1" to "5" as the materia type attributes [2] to [6] respectively.  When I tried it in battle, however, it worked perfectly, but as a Mega All materia, not a "Mega Quadra Magic" materia.  And I swear, I did everything perfectly.

I'm thinking that materia type 34 is just for Mega All, but so far, I've only tried out "Mega Quadra Magic" (theoretically, it should also work with Final Attack and maybe other things, as "All", "Quadra Magic", and "Final Attack" are all of the materia type "35").  I might come up with something later.

Until then, does anyone have any answers?  (Or is my guess correct?)  Anyone?

Cheers!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-11-08 13:13:32
A lot of things are hard-coded into the game (as I found when trying to play with the amount of summons the player could perform with different materia levels). Perhaps quadra magic is hard-coded the same way. I'll try this today and I'll see what happens.

EDIT: I've just tried this. Didn't work for me either. Looks like materia type 34 can only do "all" (unless I'm doing something wrong as well).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ModHelp on 2008-11-08 15:07:43
thanks dude ive been wanting a kernel bin editor for a while now

thanks
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-08 16:24:37
Weapon and armor slots parsed by pairs so you cant link 1 and 2 slot, only 0-1 2-3 4-5 6-7
Slot types only checked as is
Code: [Select]
if ((slot1 == 2 && slot2 == 3) || (slot1 == 6 && slot2 == 7)) // if linked
{
    [SP + 10] = w(S1);
    A0 = materia1_data;
    A1 = materia2_data;
    A2 = S3;
    A3 = S4;
    system_add_pair_materia_unordered();
}

About megaall. Materia with type 0xX4 ignored during all parse (pairead and single) and only used in special megaall parse function. It doenn't matter if you set type to 0x44 or 0x94. It check lower 4 bits.
And mega all doesn't use any other info in data exept exp needed for materia grouth. It calculate number of activated stars and add this number to all atributes for activated magic, attacks. Many materias work this way.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-08 19:32:16
About megaall. Materia with type 0xX4 ignored during all parse (pairead and single) and only used in special megaall parse function. It doenn't matter if you set type to 0x44 or 0x94. It check lower 4 bits.
And mega all doesn't use any other info in data exept exp needed for materia grouth. It calculate number of activated stars and add this number to all atributes for activated magic, attacks. Many materias work this way.

This is, indeed, the most unfortunate setback. It looks like the developers just copied the All materia and changed that type and the AP leveling requirements while making a dedicated function to handle type X4h. Perhaps this saved a few flops during processing, but I doubt it would have been significant. A Master-Steal-As-Well would have been good.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-08 19:59:47
About megaall. Materia with type 0xX4 ignored during all parse (pairead and single) and only used in special megaall parse function. It doenn't matter if you set type to 0x44 or 0x94. It check lower 4 bits.
And mega all doesn't use any other info in data exept exp needed for materia grouth. It calculate number of activated stars and add this number to all atributes for activated magic, attacks. Many materias work this way.

This is, indeed, the most unfortunate setback. It looks like the developers just copied the All materia and changed that type and the AP leveling requirements while making a dedicated function to handle type X4h. Perhaps this saved a few flops during processing, but I doubt it would have been significant. A Master-Steal-As-Well would have been good.

Maybe it was in design document but they didn't make it in time, or they deside that this is not need for game. Anyway we may add all this features in Q-Gears as anyone needs them to use ingame. For the editor I think you could make this fields not editable. Just "megaall type", exp and stats boosting.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: adventsoldier on 2008-11-08 20:24:55
sweet.. i'm gonna modify mah buster sword lol. awesome stuff!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-09 02:15:30
Maybe it was in design document but they didn't make it in time, or they deside that this is not need for game. Anyway we may add all this features in Q-Gears as anyone needs them to use ingame. For the editor I think you could make this fields not editable. Just "megaall type", exp and stats boosting.

I don't see any reason to make them not editable (it's annoying to make exceptions like that anyway), but I will have to make a note about materia types X4h in the description saying they have no effect. I'll do the same with the summon materia saying that modifiers 2-6 have no effect. There just are a lot of exceptions to these modifiers. Several effects (through modifier 1) don't take certain parameters either. If Steal As Well has a non-0 modifier it will always modify as many times as it wants regardless of what the materia type is (either 25h and 35h). Materia is one of those things I have little actual data on and I'm just basing it on observation of existing combinations. Changing these often doesn't work. :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-11-09 02:36:02
Quote from: Akari
Anyway we may add all this features in Q-Gears as anyone needs them to use ingame.

Interesting. How mod-able is Q-Gears likely to be? Will we, for example, be able to change things like what 34h does, as well as which materias have it?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-09 15:36:03
Quote from: Akari
Anyway we may add all this features in Q-Gears as anyone needs them to use ingame.

Interesting. How mod-able is Q-Gears likely to be? Will we, for example, be able to change things like what 34h does, as well as which materias have it?

This thing isn't completly understood so I cant tell how it will be done. Most likely there will be hardcoded materia types. Maybe it will be in LUA. In any case there won't be hardcoded materia ID or anything like this.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-17 19:53:00
Rejoice with me. I have successfully (and I believe accurately) created a working (http://img99.imageshack.us/img99/4718/commanddescku0.png) kernel2.bin file from scratch! Well, scratch in the sense that I extracted it the original and then re-compressed it. I emailed Ficedula for help (rather bluntly) but he hasn't gotten back to me so I tackled it on my own. Fun thing is, it is the exact size of the original kernel2.bin even though the contents are different from the original, I can see this with a Hex editor, but it functions identically. Now all that's really left to do is to is learn how to encode the PSX text (probably not as hard) and get it all saving everything and version 1.0 will be ready to be released.

I wasn't able to show this (http://img390.imageshack.us/img390/775/summonattackck1.png) earlier because imageshack was acting up (That is Bahamut ZERO's attack which WAS named "Tera Flare" that he's about to perform).

EDIT: I would also like to add that the one that the one I can make is actually SMALLER than the delivered one. Why? Because there are objects (especially weapons and armors) that have no description. The way the file is formated, it has a bunch of pointers at the beginning of the file that points to the start of the description. During the original file's creation, if an object's description is blank it adds a terminator to the data and moves on. What I did was reference the previous terminator instead of add a new one. This saved a total of 493 bytes all together (I COULD potentially make my file even smaller and save more space, but it works as it is so I don't want to tempt fate), but that's that many more that you can use to change things around. :)

RE-EDIT: .NET actually has a GZip stream to work with! Unfortunately, it only uses the basest of compression levels (1) where KERNEL.BIN uses the highest (9). Since there's no way to change this (at least not without paying someone) we're still restricted to using an external gzip program to remake KERNEL.BIN. Expect version 1.0 to be released later this month (by the end of the week maybe). All that's left is to recompress the KERNEL.BIN's text the way the PSX has it. This is a modified version of the LZS so it shouldn't pose to great a challenge since I have that tackled.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-11-18 21:51:13
Quote from: NFITC1
I wasn't able to show this earlier

 :lol:

Seriously though, nice work; keep it up!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-19 20:14:33
There are only nine more KERNEL.BIN sections left for me to encode (sans 2 & 3 still). That's the description sections and the battle text. This may sound like a lot, but it's really just means two nearly-identical overloaded functions remaining. That being said, I'm going to need testers for this version. I'd like people who can test the PC and people who can test the PSX sides of it. You don't need to be able to test both, but I need to know that both work. I think this will be ready to be tested before the week is over so PM me your email address if you're interested.

EDIT: An odd thing just happened... I was testing out KERNEL.BIN, putting the pieces back together and all, and before I started working on a encoding method that would implement the decoding method Akari mentioned in reply #85 I decided to rebuild it and see how big the KERNEL.BIN gets over the original. It didn't. It got smaller. The original KERNEL.BIN is 22,376 bytes with blocks 9-16 and 25 encoded and GZipped. Without these blocks encoded, the size is 21,337 GZipped. So in addition to making kernel2.bin smaller (which it is now becoming smaller than I reported a few posts ago), KERNEL.BIN is smaller too. Oh yes, and it works, of course. :) This will prove to be no problem for the PC version since it doesn't use those texts, but I wondering about the memory issues of the PSX. Would it be worth it to encode these? GunZipped and left decoded these 9 sections are 17,898 bytes in size. GunZipped and encoded, they are 14,206 bytes. 3,692 bytes doesn't sound significant, but the PSX has limited RAM to begin with. I don't know how it loads it into memory. Does it decode it into memory or leave encoded text in memory and decode it on the fly? If the answer is decode into memory then the developers made a mistake in making the text encoded in the first place. I wouldn't put it past them, but if this is the case I'm not going to bother writing my own encoding function. I REALLY need someone who can test this out on PSX hardware for this reason. It might be just as well emulated as long as the emulator keeps the same RAM size restriction that the original hardware has.


UPDATE: I have good news, but it's against the forum rules to double post (but someone else can post to bump this *hint*) so I'll have to say it like this:

The working beta is HOT and ready to be tested!!
I did end up compressing the PSX text and finally got it to cooperate only to learn something odd. GZipping makes no sense. That's what I learned.
Once I compressed the PSX text for compiling I noticed that the raw files were smaller. If I just take the original KERNEL.BIN, which is 22,376 bytes, and decompress it, the pieces total 46,534 bytes. After WallMarket gets its virtual hands/claws/teeth on it and re-writes it/compresses it, KERNEL.BIN becomes 22,535 bytes and the pieces total 46,136 bytes. I'm dumbfounded how the loss of nearly 400 bytes of source actually make the compression nearly 160 bytes larger..... So weird.

Anyway, I have no way of testing if this new KERNEL.BIN works with the edited text pieces. I NEED a PSX tester for this. PM me your email address if you're interested.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-11-22 22:38:39
well due to my laziness, i've been hiding away from the PSX side of things. however i REALLY like wallmarket and so i must confess that I have FF7 on PSX and would like to test whatever you need. however, right now, i only have copied discs, which cannot be made into ISO's due to their crappiness. IF you can wait a day to a week, i can get my originals returned to me and make an ISO :D

EDIT: I have reclaimed my Discs and am ready to begin the ISOage :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-25 21:54:01
So I'm here to inform you all on some decisions I've made and some help I need.
First of all, WM WILL be able to change Character Growth and Initial Data. Even if it kills me, I'll get it done. It may be a Christmas present...or a New Year's present....maybe even a 4th of July present. But I'll get it done.
Second, I've decided that the only Initial Data that will change will be character data, party formation, item list, and materia list. Everything else in that section is null and is likely overridden when the game begins anyway. In fact, the initial data suggests that Barret and Tifa are in your party to begin with. Apparently they leave before you jump off the train.
Third, I need some help identifying things. The Initial Data section is simple enough to understand and it's all pretty straightforward, but the growth data is still largely unknown to me. For instance, there's this rather large section that the wiki describes only as character AI data with no further details. I'm not good enough at debugging to deduce what these are used for. There are four references in this block to the text "[email protected]" which I doubt is just a coincidental set of data the text "!resist earth monster" also resides further toward the end of this block. This data block seems to be the last big question mark in my head. Once this is figured out I'll be able to finish WM.
Four. Still looking for testers. One person PMed me and hasn't replied since I emailed him the beta last Friday (maybe it was Saturday).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-11-25 22:36:33
Quote from: NFITC1
First of all, WM WILL be able to change Character Growth and Initial Data. Even if it kills me, I'll get it done. It may be a Christmas present...or a New Year's present....maybe even a 4th of July present. But I'll get it done.

This makes me happy (except the killing part).

Regarding some of the stranger sections of kernel.bin2, this post (http://forums.qhimm.com/index.php?topic=5759.msg74232#msg74232) may be of some use (or may not). I'd like to give you more help for this (because I desperately want something that can mod these files as well ;-) ), but I'm afraid that I'm in way over my head, and since I don't have my PSX discs with me, I can't help with that either :-( .
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2008-11-26 00:39:10
the first bug i have found so far is that it kills what sense sees only showing you the

hp:
weak against:

shows nothing else after using wall market even without changing anything in the kernal2.bin with it

oh sorry about the taking some time to start getting started on the testing

bug 2 sometimes when you change things in the materia tab you get and error usually while editing the hp plus type of materia

bug 3 game crashes if you max the effect modifyer with the additional effect 00 or multy hits so far 55 is the highest that doenst make it crash

just a quick question is it supposed to make 27 parts to both kernal.bin and kernal2.bin if not thats an error too
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-26 03:45:10
For instance, there's this rather large section that the wiki describes only as character AI data with no further details. I'm not good enough at debugging to deduce what these are used for. There are four references in this block to the text "[email protected]" which I doubt is just a coincidental set of data the text "!resist earth monster" also resides further toward the end of this block. This data block seems to be the last big question mark in my head. Once this is figured out I'll be able to finish WM.

Player AI is simple. It's exactly like enemy AI. First there are 12 two bytes offsets to AI blocks. If this is 0xffff - then there is no AI for this character. This offsets points to block of AI data which is identical to enemy AI. There are 0x10 offsets to AI scripts.

"LOVEPARA:%d %d->%d" - are the script debug log output (opcode 0xA0[number of variable to pop from stack(placed in %d parts)][ASCII string]). You cant see this in game. If you have PSX devkit then this will output to console or log. This part of code is work though. It is related to love affection in battle. But it is never use in field though =(

there are limit ai for vincent and ai for sephiroth too.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-26 12:14:09
@LKM: That's the exact post I happened across that informed me of the rest of the character data. I've added that info almost word for word to the wiki. Terence is already credited for providing all that info so I don't think there'd be a problem with that. That guy is just amazing. I don't know how he figured all that out. Maybe he's on the Sony team that developed the game and isn't telling us. ;)

the first bug i have found so far is that it kills what sense sees only showing you the

hp:
weak against:

shows nothing else after using wall market even without changing anything in the kernal2.bin with it

oh sorry about the taking some time to start getting started on the testing

bug 2 sometimes when you change things in the materia tab you get and error usually while editing the hp plus type of materia

bug 3 game crashes if you max the effect modifyer with the additional effect 00 or multy hits so far 55 is the highest that doenst make it crash

just a quick question is it supposed to make 27 parts to both kernal.bin and kernal2.bin if not thats an error too

1. I'll have to look at that. I sort of suspected this would happen and I figure there's some special character following each of those lines. The same thing probably happens with Learning E.Skills too. Did this happen while creating kernel.bin or kernel2.bin?
2. You mean an error in WM? Can you give an exact example? If it's an error in FFVII I'm not going to touch it.
3. That's a gameplay limitation and I'm not going to enforce that in WM.
4. Yes, there are 27 sections to the Kernel.bin (0-26), but only sections 9-26 in kernel2.bin. There shouldn't be a kernel2.bin0 - kernel2.bin8

@Akari: What effect does character AI have on the game? I'll take a look at the enemy AI data and see what I can find out. I didn't think love points were related to battles at all. I remember a rumor once upon a time that it would go down if Cloud died in battle and up if he healed a character, but I thought that was shot down.

EDIT: After reviewing reported bug #1 I noticed that there is a LOT of battle text that doesn't have references made in it. This might account for the text files getting smaller. If it's not referenced WM doesn't read it, ergo, doesn't re-write it. Like the text " was caught by surprise" is at 0x0633 but there are no pointers to it, yet the game says this when Sneak Attack is performed. I may have to read it as binary data. I'd rather not, but I don't see that I have a lot of choice. :( Can someone tell me if this unreferenced data is important?. Never mind this. I figured it out. It's actually a variable insertion code which is followed by two null terminators. Not sure why that is exactly, but at least I don't have to change too much.
I see what's happening with error #2. I don't know what I was thinking with that line (yup, it was only one line messing the modifiers up). I fixed it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-26 16:28:43
@Akari: What effect does character AI have on the game? I'll take a look at the enemy AI data and see what I can find out. I didn't think love points were related to battles at all. I remember a rumor once upon a time that it would go down if Cloud died in battle and up if he healed a character, but I thought that was shot down.

This is battle love point. It doesn't have any influence in game. They are just stored in savemap memory bank1 with offset 80 81 82 and 83. For example when Cloud covers some character and this character is one of those Aeris, Barret, Tifa or Yuffie - variable increase by 3.
When some of this character dies it discrease by 5. Only cloud barret tifa aeris and yuffie has this script.
It can't be less than 50 and greater than 200. This variable set to 100 at start of the game and doesn't check anywhere else on fields. I think square planned to use it someway but it was dummied out.

Vincent AI used during limit. Vincent limit enables script1 to run instead of manual input so this script deside what attack to use.
Sephiroth AI enables script1 in the initialization script and use it in battle.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: darkrandom12 on 2008-11-29 15:37:43
Whenever I try to run the .exe it comes up with an error message telling me that "Component 'comdlg32.ocx' or one of its dependencies not correctly registered: a file is missing or invalid" even though that file is there :)
I'm wondering if it's something to do with Vista? although I doubt it.
Any help would be appreciated.

EDIT: Never mind, I ran it as Administrator and it seemed to work :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-11-30 15:28:58
After looking through the forums about AI data, I found this little gem (http://forums.qhimm.com/index.php?topic=3290.msg45951#msg45951) written by Terence Fergusson! I don't know how this guy does it, but he's awesome! :)

Anyway, This has lead me to decipher at least the first script in the character AI area. Turning assembler into a readable code is something I'm a little new at, but I think I've got the basics down. If I were on my laptop right now (which is where I'm developing WM) and if the wireless weren't crashing the system, I'd post my interpretation of the first script. Let's see if I can remember this:

Code: [Select]
BEGIN AI SCRIPT: Counter - Physical

TempVar:FF=00

if SELF AND &40B8 = 19 then
{
   TempVar:0 = 80
}
elseif SELF AND &40B8 = 18 then
{
   TempVar:0 = 81
}
elseif SELF AND &40B8 = 17 then
{
   TempVar:0 = 82
}
elseif SELF AND &40B8 = 21 then
{
   TempVar:0 = 83
}

If TempVar:FF != 0 then
{
   TempGlobalVar = GlobalVar:(0+TempVar:0)

   TempGlobalVar = TempGlobalVar + 3

   if TempGlobalVar > 200 then
   {
      TempGlobalVar = 200
   }

   GlobalVar:(0+TempVar:0) = TempGlobalVar
   Debug.Print("LOVEPARA CHR:%d, %d->%d/n", 3)
}
END SCRIPT

So what I'm seeing here is this is on Cloud when he is attacked Physically. Characters 17, 18, 19, 21 are Barret, Tifa, Aeris, and Yuffie and the 80, 81, 82, 83 are the global addresses of their love points (or something like that). If Cloud blocks for them (that's the self AND &40B8 where, I suppose, &40B8 is the character being covered) then that will change Var:FF somehow (via another script) and increase the points by 3. Here the cap is 200. then the GlobalVar, offset by the given number, is restored as global. A string is printed to the debug console stating the address of the character's love points, previous love points, and current love points.
*WHEW!* That took me over an hour last night to figure out. I'm not going to be able to decompile that into readable code, but translating into assembler will be good enough.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-11-30 17:42:58
After looking through the forums about AI data, I found this little gem (http://forums.qhimm.com/index.php?topic=3290.msg45951#msg45951) written by Terence Fergusson! I don't know how this guy does it, but he's awesome! :)

Anyway, This has lead me to decipher at least the first script in the character AI area. Turning assembler into a readable code is something I'm a little new at, but I think I've got the basics down. If I were on my laptop right now (which is where I'm developing WM) and if the wireless weren't crashing the system, I'd post my interpretation of the first script. Let's see if I can remember this:

Code: [Select]
BEGIN AI SCRIPT: Counter - Physical

TempVar:FF=00

if SELF AND &40B8 = 19 then
{
   TempVar:0 = 80
}
elseif SELF AND &40B8 = 18 then
{
   TempVar:0 = 81
}
elseif SELF AND &40B8 = 17 then
{
   TempVar:0 = 82
}
elseif SELF AND &40B8 = 21 then
{
   TempVar:0 = 83
}

If TempVar:FF != 0 then
{
   TempGlobalVar = GlobalVar:(0+TempVar:0)

   TempGlobalVar = TempGlobalVar + 3

   if TempGlobalVar > 200 then
   {
      TempGlobalVar = 200
   }

   GlobalVar:(0+TempVar:0) = TempGlobalVar
   Debug.Print("LOVEPARA CHR:%d, %d->%d/n", 3)
}
END SCRIPT

So what I'm seeing here is this is on Cloud when he is attacked Physically. Characters 17, 18, 19, 21 are Barret, Tifa, Aeris, and Yuffie and the 80, 81, 82, 83 are the global addresses of their love points (or something like that). If Cloud blocks for them (that's the self AND &40B8 where, I suppose, &40B8 is the character being covered) then that will change Var:FF somehow (via another script) and increase the points by 3. Here the cap is 200. then the GlobalVar, offset by the given number, is restored as global. A string is printed to the debug console stating the address of the character's love points, previous love points, and current love points.
*WHEW!* That took me over an hour last night to figure out. I'm not going to be able to decompile that into readable code, but translating into assembler will be good enough.

40B8 - this is ID of character. In case of cover - self mask replaces with mask with covered character. So this check what character has been covered.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-01 14:24:16
40B8 - this is ID of character. In case of cover - self mask replaces with mask with covered character. So this check what character has been covered.

Looking through SceneEdit, there are a lot of these addresses I don't know. I wonder if there's a list of any of them anywhere?

Update: I sent what I hope will be the release of WM 1.0 to my testers. This one's gonna kick so much butt compared to the last one, being able to edit all but two sections of kernel.bin and kernel2.bin combined. XD I'm loosely working on 1.1 which will have the ability to edit the initial data, though I expect that some of it will be pointless to edit since the game is likely to re-write it as it gets it anyway.
I've got a neat looking graph set up for the stat growth section, but exp will need a different graph. That's likely to be annoying.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-01 16:35:08
40B8 - this is ID of character. In case of cover - self mask replaces with mask with covered character. So this check what character has been covered.

Looking through SceneEdit, there are a lot of these addresses I don't know. I wonder if there's a list of any of them anywhere?

From my notes

Code: [Select]
800f83a4               battle global structure. (address 0x2000).
00 []       store data performed action type id here. (0x20 for example)
01 []       store data performed attack index here.
04 []       camera data from battle setup 1 (+12[]).
0a [][]     add bits for every inited unit here. Mask for alive units???
0c [][]     self mask for current unit ().
0e [][]     attack mask for current unit (2070).
10 [][]     friends mask for current unit (2080).
12 [][]     0 ().
14 [][]     opponents mask for current unit (0x20A0).
16 [][]     0 ().
18 [][]     init with 0. Add bits for player units.
1a [][]     init with 0. Addt bits for inited enemy units.
1c [][]     all units mask ().
22 [][]     init with 0 at start of battle cycle. Some flags. A0 = (V0 & 25) ? 1 : 7; funca23e0; // battle queue function
28 [][]     store battle id here.
2c [][]     something flags used during attack queue coping. Used during 8 and A 2bytes copying from attack data. 0x0004 checked in battle cycle.
2e [][]     flags. 0x0004 (magical or physical attack)
30 [][]
38 [][][][]


800f83e0               unit data structure. (size 0x68). (address 0x4000).
800f8580               enemy start
00 [][][][] current status. Init with 0. Set sandess/fury flags from savemap structure in case of player. Add 0x00000001 if current hp of character is 0.
04 [][][][] some flags. Init with 0 in case of enemy. Set +0c in battle formation &0x1f here in case of enemy.
            00000002 - looks like if this bit set we are left fighters (right otherwise) in case of side battle.
            00000008 - seems like enabled units in battle. Init with this in case of player.
            00000010 - units with activates auto script 0x01 (action).
            00000020 - remove this flag if we add action with priority >= 2. Looks like defend flag (if we in defend state or not).
            00000040 - set this bit if we in back row.
            00000080 - set this bit for: enemies in case of battle type 0, player in case of battle 2, left row an player 2 in case of battle 4. func1b19ac.
            00000800 - probably bit for temporary unreachable unit (set in battle_update_unit_mask).
            00002000 - set this bit if unit is dead in battle (if unit was dead at the begin of battle flag is not set).
08 []       index. Init with 0xff. Set player character id here in case of player. Set index in case of enemy.
09 []       level. Init with player level.
0b []       store minimum elemental influence here (0 - death, 2 - 200%damage, 3 - normal, 4 - 50%damage, 5 - 0%damage, 6 - 100%absorb, 7 - fully recover)
0c []       formation number. Init with 0. If we init second unit of this type we increment this value by 1 for this unit. If 6 same unit on field they will have 0,1,2,3,4,5 as this value. Set player character id + 0x10 in case of player.
0d []       attack power (strength in enemy data format).
0e []       magic power (magic in enemy data format).
0f []       set evade from armor in case of player (defense% in game).
10 []       init with 0. Set 0x10 during player init. Idle action id.
11 []       init with 5 in case of player. Init with 1 in case of enemy. Hurt action id.
12 []       some data from +a2[] in enemy data (usually 0x10).
13 []       init with 10.
14 []       dexterity.
15 []       luck.
16 []       init with 0 in case of player.
17 []       store 0xff here at start of funcabb0c
18 [][]     attack mask set during run command.
1a [][]     - some mask (maybe mask of those who attack this unit)
1c [][]     -
1e [][]     -
20 [][]     defense. Multiplied by 2 in case of enemy.
22 [][]     magic defense. Multiplied by 2 in case of enemy.
24 [][]     init with 0xffff. Set enemy id here.
28 [][]     current MP.
2a [][]     max MP.
2c [][][][] current HP.
30 [][][][] max HP.
44 [][][][] Init with 0. Store status of this unit here during initialization.
4c []       Init with 1.
4d []       set magic evade (magic defense% in game) from armor equipped in case of player.
4e []       store row from battle formation here during init.
4f []       init with 0xff.
50 [][]     init with 0.
52 [][]     init with 0xffff.
56 []       store 2 here during init in case of enemy. Init with 8 in case of player.
56 [][]     ap.
58 [][][][] gil.
5c [][][][] exp.

And don't forget how modify 40B8 to get real address. drop 0x4000, then right shift by 3 to get bytes. (shifted bits points to bit to get.)
40B8
B8
1011 1000
10111
17
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-01 17:27:00
Hey there!


My Beta-Testing of the latest version of WallMarket hasn't been very sucessful.
It's probably my own fault, but it looks like editing the PSX kernel is a no-go.
running debug in the emulator, before the game actualy boots ANYTHING, i would get LOTS of:

Code: [Select]
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908
r3000: executed illegal opcode 67319060
r3000: executed illegal opcode 7dd06cb1
translate_address: illegal physical address 044a0908

is that my poor attempt at creating an ISO, or a problem with WallMarket?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-01 18:27:14
Hey there!


My Beta-Testing of the latest version of WallMarket hasn't been very sucessful.
It's probably my own fault, but it looks like editing the PSX kernel is a no-go.
running debug in the emulator, before the game actualy boots ANYTHING, i would get LOTS of:

. . .

is that my poor attempt at creating an ISO, or a problem with WallMarket?

I don't know... It works fine on the PC version so I couldn't say. Have you tried recreating the ISO without changing anything to see if that's it? I DO know that if any error exists in the Kernel that it would appear at load time. Since the PC version ignores sections 10-27 of kernel.bin I have no way of testing it myself. Sorry. :( Are you using the corrected version (most recent) that I sent you? I believe that I sent two yesterday and I'm pretty sure the first one won't work.

This also may be the side-effect of my "evil genius" of not throwing up terminators when the text is NULL is coming back to haunt me. This works fine on the PC version in the kernel2.bin so I thought it'd work fine in kernel.bin.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-01 18:36:43
well, in actual fact, i'm using the one from about a week ago, i havent used either of the more recent ones at all. so It should have worked, right? in any case, if you think i should re-test using the latest one, i will. also, yes, it does work without editing it. so perhaps it is WM. however, anything could have happened...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-01 18:55:58
well, in actual fact, i'm using the one from about a week ago, i havent used either of the more recent ones at all. so It should have worked, right? in any case, if you think i should re-test using the latest one, i will. also, yes, it does work without editing it. so perhaps it is WM. however, anything could have happened...

That's why then. That one was incorrect. It wasn't writing one of the kernel text sections correctly (teehee) so it's no wonder that you were getting illegal address errors. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-01 19:01:50
ahah. i see. i shall try again then :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-01 19:17:54
Sorry for not replying earlier - but yes, I can test Wall Market 1.1 on the PSX version if you like  :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2008-12-02 02:09:45
ok next bug
materia section
just clicking in one of the boxes which is clear places a value of 0 there so clicking in the level 5 box gives it a 0 which makes it so that the materia is mastered as soon as you get it

when you set the materia type to 19 and any of the values to 56+ then game seems to glitch also you cant select limits attack ids for the materia type modifiers

dual drain crashes the game

so far with my meddleing there has been 0 bugs in the kernal2.bin files or anything text related

lol you can make a materia that lets you use limits whenever you want to only problem is you can only use the limits you know
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-02 09:32:12
Quote
dual drain crashes the game

It's normal. For the dual status effect to work correctly, both "Dual" and "Dual drain" must be checked or the game crashes. Wall Market has nothing to do with it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-02 15:12:44
Quote
just clicking in one of the boxes which is clear places a value of 0 there so clicking in the level 5 box gives it a 0 which makes it so that the materia is mastered as soon as you get it

Dang. I thought I fixed that. The Materia modifiers and AP requirements are the only ones that should be able to have empty values. The game acts weirdly when they are 0s instead of NULLs.

Quote
when you set the materia type to 19 and any of the values to 56+ then game seems to glitch also you cant select limits attack ids for the materia type modifiers

Materia type 19 is magic materia. Therefore, it will only allow magic attacks. These are attack sections 0 - 3 which comprise the first 56 attacks, or indexes 0-55. Command types will only allow commands so if you go past 31 with any of them that will glitch/crash too. I will NOT make WM enforce these constraints, but I should make a note in the readme for acceptable values. The only constraints that currently exist are only for making sure that the values don't overflow. They're stored very carefully. If any of them go negative or out of scope the program would crash (both WM and FFVII) so that's all the enforcing I'm going to do.

UPDATE: Remember a few posts back when I said GZipping made no sense because the files were larger when the source was smaller? Well now I can say things are even weirder. Kernel.bin file 4 (Item Data) refuses to get along with the rest of the files. The way WM has worked since the first release (and still does) is it executes gzip in a hidden shell with the "-9 -n" extensions. I didn't really like the idea of gzipping each file individually because that's 27 shell commands and 27 chances for something to go wrong. So what I did was chain all the filenames into one LONG command that tells gzip to compress all 27 files at once into 27 different files. Brilliant, right? Yes. But no. When I do this, every file created exactly matches the contents of the original KERNEL.BIN file with one exception. Kernel.bin4.gz is 2 bytes larger. Yet, oddly, extracting both of them results in identical files. I don't know why. When I run it all individually, Kernel.bin4.gz becomes the correct size and I can create a file 100% accurate to the original KERNEL.BIN file when no changes are made. Thus, to maintain complete accuracy with the original file I'm forced to, once again, run gzip 27 times. This ability has improved greatly from VB6 to VB9 so I'm not seeing much of a drop in performance either way.
Also several posts back I was wondering about the text referencing used in the kernel to get descriptions. Battle Text also uses that referencing scheme, but not on the texts that have variable injections like scans and item steals. This is part of the reason why my creation of the battle text was smaller. This has been fixed and now it is identical to the way it is originally stored.
Zack Fair also mentioned that WM kills the ability to sense, making the text show nothing on the PC game. I think I fixed that (http://img528.imageshack.us/img528/9812/neatscanrq2.png). :)
Armorvil also suggested in an email to me that a KERNEL.BIN file larger than the original will not work properly on a PSX emulator. I still think it's his method of injecting it into the ISO, but now there will likely be two new changes:
1. An "Update Text" box has been added that will be unchecked if you are not changing the text.
2. When all the data is compiled and ready to be written, WM will warn you that the file about to be written is larger than the original file.
I think these changes will complement each other well. If you change text and realize that it's too large, you just cancel the writing and uncheck that box and compile again. These changes will only affect the PSX version anyway.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-02 19:30:10
Sadly, anything i try with modding the PSX version corrupts the "playstation" screen and chashes straight after...however i may not be the best tester...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 12:31:19
Hi!
This program is very great, but sadly i encounter an error, if i want to compile the (changed files to the) KERNEL.BIN. :( I decompressed the files, changed some items and then i wanted to compress the KERNEL.BIN again, but the result was this:

http://666kb.com/i/b4cye1iqo44kemyub.jpg (http://666kb.com/i/b4cye1iqo44kemyub.jpg)

Btw, the VB Files 4, 5 and 6 couldn't help me with this problem. :( I guess i need a different pack, or something else. I hope someone can help me. =)

Any suggestion would be great!

Greetings

Edit: I have the german version of FF7, because i am german and live there.
Also, my OS is "Windows Server 2008 Enterprise" (Trial Version, since Microsoft was/is giving the Trialversion out for 240 Days). Maybe this information is needed.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-03 13:09:58
Hi!
This program is very great, but sadly i encounter an error, if i want to compile the (changed files to the) KERNEL.BIN. :( I decompressed the files, changed some items and then i wanted to compress the KERNEL.BIN again, but the result was this:

http://666kb.com/i/b4cye1iqo44kemyub.jpg (http://666kb.com/i/b4cye1iqo44kemyub.jpg)

Btw, the VB Files 4, 5 and 6 couldn't help me with this problem. :( I guess i need a different pack, or something else. I hope someone can help me. =)

Any suggestion would be great!

Greetings

Edit: I have the german version of FF7, because i am german and live there.
Also, my OS is "Windows Server 2008 Enterprise" (Trial Version, since Microsoft was/is giving the Trialversion out for 240 Days). Maybe this information is needed.

The fact that you can open WM at all means that your libraries aren't at fault. This is a problem with gzip not being in the same directory as WM. This is a limitation that will be handled differently when version 1.0 is deemed worthy of release.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 13:24:49

The fact that you can open WM at all means that your libraries aren't at fault. This is a problem with gzip not being in the same directory as WM. This is a limitation that will be handled differently when version 1.0 is deemed worthy of release.

Hi!
Thanks for your fast answer. =)

Uhm.. gzip.exe and WallMarket.exe are in the same folder. =) I don't know how i can compress the file though, since i get this error everytime. :( Maybe it is not possible with the german version of the file? I can upload the file for you, if you want that.

Here it is: http://rapidshare.com/files/169848125/KERNEL.BIN.html
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-03 15:08:58

The fact that you can open WM at all means that your libraries aren't at fault. This is a problem with gzip not being in the same directory as WM. This is a limitation that will be handled differently when version 1.0 is deemed worthy of release.

Hi!
Thanks for your fast answer. =)

Uhm.. gzip.exe and WallMarket.exe are in the same folder. =) I don't know how i can compress the file though, since i get this error everytime. :( Maybe it is not possible with the german version of the file? I can upload the file for you, if you want that.

Here it is: http://rapidshare.com/files/169848125/KERNEL.BIN.html

It's working fine for me. Are you selecting the KERNEL.BIN file when you tell it to Compile?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 17:06:47

It's working fine for me. Are you selecting the KERNEL.BIN file when you tell it to Compile?

Yep. Was that wrong? I try it again without selecting the file. I already tried to select a different folder / filename.. :(

If i choose nothing, i can't click "open". :(

How did you create that programm? Maybe i am missing some DLLs.. Visual Basic?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 17:11:57
the only thing you have to do is open the kernal file not kernal 2. from there its self exsplanatory. if it dont work its your game or pc. i have a 8 yr old laptop and everything i have found on this site works, with an exception to laviathin.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 17:15:26
the only thing you have to do is open the kernal file not kernal 2. from there its self exsplanatory. if it dont work its your game or pc. i have a 8 yr old laptop and everything i have found on this site works, with an exception to laviathin.

I know what i have to do, but i get the message everytime. Here it is again:

http://666kb.com/i/b4cye1iqo44kemyub.jpg (http://666kb.com/i/b4cye1iqo44kemyub.jpg)

I also know, that it is my pc.. I just need to know which files are missing. :( I thought about the runtime files from Visual Basic, but i installed them and -> nothing. Maybe i try it on Windows XP later, since i use the Server 2008 version (it has the same kernel that vista has).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 17:19:53
how many times have you tryed redownloading it?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 17:35:52
how many times have you tryed redownloading it?

I downloaded the file 1 time, if you mean that.

Btw, i tested it on XP.. It worked.. So i miss some files in my OS, but i still don't know which one is missing. Guess i have to wait for NFITC1. :/
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 17:53:03
i guess so
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 17:59:16
lol you can make a materia that lets you use limits whenever you want to only problem is you can only use the limits you know


How does that work? o0 Would be great if you say the exact values for this materia. =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-03 18:07:59
lol you can make a materia that lets you use limits whenever you want to only problem is you can only use the limits you know


How does that work? o0 Would be great if you say the exact values for this materia. =)

I'm not too sure about this, but you could create an attack with the additional effect "14" and have a materia that uses that attack. Unfortunately, it would only fill the limit bar of the other two characters in the party, leaving the bar of the character using it no more full than it was before.*

* With good reason; this property only normally exists in Aeris' limit break "Fury Brand". If it filled her limit bar as well, the player would have infinite limit breaks as long as she was alive.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 18:30:45
what you can do is go in and edit skills to where every time the user casts it the other 2 allies get limits. this is great with bahamut zero or phoenix
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 18:51:39
Ah.. Sounds nice. o0

I have the problem, that i can't create new spells. :/ I created the "Holy" spell, and put it into the "Ultima" materia. I changed the text (it is shown in the materiatab), but i can't use it in the spellmenu. :/ The spell isn't shown in battle..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 18:55:45
you have 2 sets of values in the program, ap and the bottom on. you have to set the ap to where you level up the materia and earn it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-03 18:59:30
Ah.. Sounds nice. o0

I have the problem, that i can't create new spells. :/ I created the "Holy" spell, and put it into the "Ultima" materia. I changed the text (it is shown in the materiatab), but i can't use it in the spellmenu. :/ The spell isn't shown in battle..

OK, let me address each of your issues in turn:

1) File not found:
What it's doing when it's compressing the kernel.bin. It needs to find these files. GZip.exe must be in the same directory as WallMarket. Then, all the Kernel files must be in the same directory as the kernel you're trying to write to. After that, it looks for the gz files that gzip should have made. That's all the file access that WM does. If you can "save for later" then it's a problem with it locating gzip. Can you post a picture of the directory where you're storing WM and the kernel?

2) No new attack:
How did you change the name? WM 0.9.X can't do that. How did you add the spell? That may be an issue with the magic list in kernel section 3 (battle and growth data) also which WM 0.9.X can't do.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 19:05:59
i begg to differ. iv added skills with wm.. to chang names you need something like teioh. but its done. i have a material with ultima full life and bah. zero all.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 19:12:22
Ah.. Sounds nice. o0

I have the problem, that i can't create new spells. :/ I created the "Holy" spell, and put it into the "Ultima" materia. I changed the text (it is shown in the materiatab), but i can't use it in the spellmenu. :/ The spell isn't shown in battle..

OK, let me address each of your issues in turn:

1) File not found:
What it's doing when it's compressing the kernel.bin. It needs to find these files. GZip.exe must be in the same directory as WallMarket. Then, all the Kernel files must be in the same directory as the kernel you're trying to write to. After that, it looks for the gz files that gzip should have made. That's all the file access that WM does. If you can "save for later" then it's a problem with it locating gzip. Can you post a picture of the directory where you're storing WM and the kernel?

2) No new attack:
How did you change the name? WM 0.9.X can't do that. How did you add the spell? That may be an issue with the magic list in kernel section 3 (battle and growth data) also which WM 0.9.X can't do.

1. I have no problems with Windows XP, but i have problems with Windows Server 2008. Sure, let me upload a picture. =) It is in german, since i am german.

http://666kb.com/i/b4d8kohkkfhwvbt9f.jpg (http://666kb.com/i/b4d8kohkkfhwvbt9f.jpg)

WM Data contains the files (kernel etc). I tried it in the same folder too, i also tried batchfiles for GZip.. The problem must be missing DLLs..

2. I looked into the WM list (found the spellnumber and put it into the materia), and then i changed it in the Kernel2.bin with "Teioh Version 21". =)

Then i had the spell "Holy" in the materia "Ultima".. But sadly not in the battlemenu "spell". :(

Thanks for helping me, btw!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 19:14:03
did you fix it?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 19:19:54
Did i fixed what?

I have a materia with Holy too, but i can't select the spell in a battle. :/ But the "Gewaltenteiler" has the skin of the Masamune now! Thanks to Leighos Kudistos Megistos!

Btw, here is a screenshot of my materia..

http://666kb.com/i/b4d8rj7j07mcp7zdv.jpg

Maybe i could increase the size of the spellmenu using Cosmo or Teioh..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-03 19:24:41
no, go into wall market and add a one to all ap lvls then get 100 ap.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 19:28:53
no, go into wall market and add a one to all ap lvls then get 100 ap.


And then? I still can't select a (completely) NEW spell in the spellmenu.. That's the problem i mean. :/

I didn't change an existing spell, i created a new spell..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-03 19:34:54
Quote
1. I have no problems with Windows XP, but i have problems with Windows Server 2008. Sure, let me upload a picture. =) It is in german, since i am german.

http://666kb.com/i/b4d8kohkkfhwvbt9f.jpg

WM Data contains the files (kernel etc). I tried it in the same folder too, i also tried batchfiles for GZip.. The problem must be missing DLLs..

I HIGHLY doubt you would even be able to open WM if you were missing DLLs. The libraries are opened before the program is run. On top of that, nothing significantly different happens between when you open the files to begin with and when you compress them. If you can open a kernel then the problem is with opening the kernel.binx or the kernel.binx.gz files. About the picture: Where are all the little kernel files? KERNEL.BIN0, KERNEL.BIN1, etc. Those should be in the same directory as the KERNEL.BIN file you're editing. What's likely causing this is gzip isn't compressing them correctly or the gz files are getting deleted immediately after they are inserted (which shouldn't be happening).

Quote
And then? I still can't select a (completely) NEW spell in the spellmenu.. That's the problem i mean. :/

I didn't change an existing spell, i created a new spell..

This is another limitation of WM. It cannot create new spells like that. You'd also need to change the battle and growth data section of the kernel.bin (see the wiki for more information about that) to accept that as a spell. Did you pick the empty spell after Ultima?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 20:01:35
They are in the Data folder, and the problem is ONLY in Windows Server 2008. It won't happen under the same circumstances (folderorder etc.) in Win XP. So i am missing some dlls for sure, but i don't know which. :/

No, i picked the spell after Vincent's Limits.. I guess it was number 123 or 124 in WM.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-03 20:14:18
They are in the Data folder, and the problem is ONLY in Windows Server 2008. It won't happen under the same circumstances (folderorder etc.) in Win XP. So i am missing some dlls for sure, but i don't know which. :/

No, i picked the spell after Vincent's Limits.. I guess it was number 123 or 124 in WM.

The smaller kernel files HAVE to be in the same directory (in no sub directory) as the kernel.bin file you're trying to edit. And I don't think you're listening about the dlls.

The attack after Vincent's Limit transformations is Blade Beam's shockwave. You can add it to materia, but it will not show up in the magic menu. Only the first 56 attacks have the ability to show up in that menu and even then you'd have to change the KERNEL.BIN2 file for that to happen (not to be confused with kernel2.bin). Even THEN I can't guarantee that attacks 55 and 56 would show up. Trying to add new attacks to a menu is very difficult. You're better off just changing one of the existing attacks.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-03 20:22:22
They are in the Data folder, and the problem is ONLY in Windows Server 2008. It won't happen under the same circumstances (folderorder etc.) in Win XP. So i am missing some dlls for sure, but i don't know which. :/

No, i picked the spell after Vincent's Limits.. I guess it was number 123 or 124 in WM.

The smaller kernel files HAVE to be in the same directory (in no sub directory) as the kernel.bin file you're trying to edit. And I don't think you're listening about the dlls.

The attack after Vincent's Limit transformations is Blade Beam's shockwave. You can add it to materia, but it will not show up in the magic menu. Only the first 56 attacks have the ability to show up in that menu and even then you'd have to change the KERNEL.BIN2 file for that to happen (not to be confused with kernel2.bin). Even THEN I can't guarantee that attacks 55 and 56 would show up. Trying to add new attacks to a menu is very difficult. You're better off just changing one of the existing attacks.

They are in the kernel.bin folder. The kernel.bin in the "main"folder is just a back up. =)

Here is another screenshot (only a small picture with some of the files. All of them are inside though): http://666kb.com/i/b4daauf3yo6w9x9lv.jpg (http://666kb.com/i/b4daauf3yo6w9x9lv.jpg)

Yeah, thought so.. So i have to modify existing spells. :/ Sad.. Maybe i can put the effects "Frog/Small" together, and some other spells also.. I could modify the other spells to my desired spells then (Holy, Terror, Enchantment etc.). Thanks though..

With which program did you create WM? I have to find out which files i could need. Maybe there are the redistributable files available..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-04 10:25:51
Why don't you change Angel Whisper to Holy?  You get it late in the game and its pretty much the same as Life2 anyway.  If you want, you can alter Life2 to be more like Angel Whisper and you won't feel the loss.  Just a suggestion.

By the way, I've been wondering something.  If I were to edit Comet2 so that it "performs attack [] after completion" and set the effect modifier to the ID for Comet, would the character end up casting and re-casting Comet until his MP ran out?  Just a thought.  I might put something like that in a mega-cheapskate materia if I feel like it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-04 13:53:40
I don't like the idea. :/ I like Angel Whisper. ^^ I don't use Life 2, since i use (cast) Final Attack + Phoenix most of the time.

I think i keep the enemy mechanics and change Life and Life 2 instead. :P But.. They have the names "Wiederbeleben" (revive) and "Auferstehung" (resurrection).. So i could think about modifying revive.. :P

Not sure at the moment, but maybe someone creates a tool to create new spells and to enhance the battlemenu. =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-04 18:15:34
Just downloaded the newest version. Being able to read kernel2.bin has really made the GUI better.

I was wondering what this means:

Quote from: kernel2.bin
{BOX:RED}Fail to Union.

I can't remember ever seeing this in battle, yet it appears half way down the "battle text" section and seems to have something to do with limit breaks. Does anyone know when this appears, or can we assume that the makers of the game meant to have something in there that was later taken out?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-04 18:47:46
I haven't heard from my testers that anything is going wrong that I haven't already fixed. In case something IS wrong, let me know.

apart from the PSX mode crashing the game? unless you got a different tester to me. in which case nevermind :P

*downloads new release*
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tyler_Wu on 2008-12-04 19:08:20
So now wall market can do the same things as the teioh in the programming feedback section?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-04 19:14:47

apart from the PSX mode crashing the game? unless you got a different tester to me. in which case nevermind :P


Almost. ArmorVil said he was able to integrate it if the size wasn't too big. Now when you're in PSX mode there's a warning that will inform you if the size will be too big for the PSX.

Quote
So now wall market can do the same things as the teioh in the programming feedback section?

Uh-huh. I'm still working on getting special characters inserted into the text, but that's the biggest difference. Teioh uses Qhimm's method of compressing the text for the kernel2.bin. According to Ficedula (http://www.sylphds.net/f2k3/programs/ficelzs/readme.txt). that's compression level 4. Compression level 5 is the original way that the game was originally compressed in, which is what WallMarket uses. If you'll notice in that thread that some people were complaining that the file got too large for the game to process (over 16384 bytes). WallMarket is actually able to make the kernel2.bin file SMALLER than the original while still being fully workable.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-04 19:51:00
OK :P

Question:
Why cant i edit most limits? Most of them are clompletely blanked out :/
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-04 20:04:06
The data for limit breaks is not in the kernel; it is in ff7.exe starting at 0x51E0D4 for the PC version and somewhere in MENU\LIMTMENU.MNU for the PSX.

Code: [Select]
FF FF 00 FF 00 00 FF FF 32 00 32 00 13 00 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Braver
FF FF 00 FF 00 00 FF FF 34 00 34 00 13 01 11 34 FF 3F FF FF 00 00 00 02 00 00 FF FF Cross-slash
FF FF 00 FF 00 00 FF FF 33 00 33 00 13 02 11 38 FF FF 1A 7A FF FF FF FF 00 00 BF FF Blade Beam
FF FF 00 FF 00 00 FF FF 35 00 35 00 13 03 11 46 FF FF FF FF FF FF FF FF 00 00 FF FF Climhazzard
FF FF 00 FF 00 00 FF FF 36 00 36 00 97 04 11 1A FF FF 00 06 FF FF FF FF 00 00 FF FF Meteorain
FF FF 00 FF 00 00 FF FF 39 00 39 00 17 05 11 00 FF 3F 18 78 01 00 00 00 00 00 FF FF Finishing Touch
FF FF 00 FF 00 00 FF FF 3B 00 3C 00 97 06 11 0C FF FF 00 0F FF FF FF FF 00 00 FF DF Omnislash
FF FF 00 FF 00 00 FF FF 46 00 46 00 13 07 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Big Shot
FF FF 00 FF 00 00 FF FF 48 00 48 00 17 08 11 36 FF FF FF FF FF FF FF FF 00 00 FF FF Grenade Bomb
FF FF 00 FF 00 00 FF FF 49 00 49 00 13 09 23 20 FF FF FF FF FF FF FF FF 20 00 FE FF Mindblow
FF FF 00 FF 00 00 FF FF 4B 00 4B 00 13 0A 11 00 FF 3F FF FF 01 00 00 00 00 00 FF FF Hammerblow
FF FF 00 FF 00 00 FF FF 4D 00 4D 00 17 0B 11 23 FF FF FF FF FF FF FF FF 00 00 FF DF Satellite Beam
FF FF 00 FF 00 00 FF FF 4E 00 4E 00 97 0C 11 08 FF FF 00 12 FF FF FF FF 00 00 FF FF Angermax
FF FF 00 FF 00 00 FF FF 4F 00 4F 00 97 0D 11 14 FF FF 00 0A FF FF FF FF 00 00 FF FF Catastrophe
FF FF 00 FF 00 00 FF FF 5A 00 5A 00 15 0E 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Healing Wind
FF FF 00 FF 00 00 FF FF 5B 00 5B 00 17 0F 22 00 FF 3F FF FF 80 04 00 00 00 00 FF FF Seal Evil
FF FF 00 FF 00 00 FF FF 5E 00 5E 00 15 10 22 00 FF 7F FF FF FC 7E 80 36 00 00 FF FF Breath of the Earth
FF FF 00 FF 00 00 FF FF 62 00 62 00 15 11 00 FF FF FF 14 FF FF FF FF FF 00 80 FF FF Fury Brand
FF FF 00 FF 00 00 FF FF 60 00 60 00 15 12 22 00 FF 3F FF FF 00 00 00 01 00 00 FF FF Planet Protector
FF FF 00 FF 00 00 FF FF 61 00 61 00 15 13 08 20 FF 7F FF FF 01 00 00 00 00 02 FF F7 Pulse of Life
FF FF 00 FF 00 00 FF FF 63 00 63 00 15 14 08 20 FF 3F FF FF 00 00 00 01 00 02 FF FF Great Gospel
FF FF 00 FF 00 00 FF FF 3E 00 3E 00 97 15 B1 14 FF FF 13 FF FF FF FF FF 00 00 FF FF Beat Rush
FF FF 00 FF 00 00 FF FF 42 00 42 00 97 15 B1 16 FF FF 13 FF FF FF FF FF 00 00 FF FF Somersault
FF FF 00 FF 00 00 FF FF 40 00 40 00 97 15 B1 18 FF FF 13 FF FF FF FF FF 00 00 FF FF Waterkick
FF FF 00 FF 00 00 FF FF 41 00 41 00 97 15 B1 1A FF FF 13 FF FF FF FF FF 00 00 FF FF Meteodrive
FF FF 00 FF 00 00 FF FF 43 00 43 00 97 15 B1 1C FF FF 13 FF FF FF FF FF 00 00 FF FF Dolphin Blow
FF FF 00 FF 00 00 FF FF 44 00 44 00 97 15 B1 1E FF FF 13 FF FF FF FF FF 00 00 FF FF Meteor Strike
FF FF 00 FF 00 00 FF FF 45 00 45 00 97 15 B1 2A FF FF 13 FF FF FF FF FF 00 00 FF FF Final Heaven
FF FF 00 FF 00 00 FF FF 64 00 64 00 13 1C 11 34 FF FF FF FF FF FF FF FF 00 00 FF FF Boost Jump
FF FF 00 FF 00 00 FF FF 65 00 65 00 13 1D 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Dragon
FF FF 00 FF 00 00 FF FF 67 00 67 00 17 1E 11 38 FF 05 FF FF 01 00 00 00 00 00 FF FF Hyper Jump
FF FF 00 FF 00 00 FF FF 68 00 68 00 17 1F 11 24 FF FF FF FF FF FF FF FF 00 00 FF FF Dynamite
FF FF 00 FF 00 00 FF FF 6A 00 6A 00 97 20 11 17 FF 07 00 06 01 00 00 00 00 00 FF FF Dragon Dive
FF FF 00 FF 00 00 FF FF 6C 00 6C 00 97 21 11 12 FF FF 00 08 FF FF FF FF 00 00 FF FF Big Brawl
FF FF 00 FF 00 00 FF FF 6D 00 6D 00 97 22 11 0B FF FF 00 12 FF FF FF FF 00 00 FF FF Highwind
FF 27 00 FF 00 00 23 00 50 00 50 00 13 23 11 30 FF FF FF FF FF FF FF FF 00 00 FF FF Sled Fang
FF FF 00 FF 00 00 FF FF 51 00 51 00 00 24 22 00 FF 3F 17 A0 00 01 80 00 00 00 FF FF Howling Moon
FF FF 00 FF 00 00 FF FF 53 00 53 00 13 25 11 14 FF FF FF FF FF FF FF FF 00 00 CF FF Blood Fang
FF FF 00 FF 00 00 FF FF 55 00 55 00 97 26 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Stardust Ray
FF FF 00 FF 00 00 FF FF 56 00 56 00 15 27 22 00 FF 3F 16 96 00 01 00 00 00 00 FF FF Lunatic High
FF FF 00 FF 00 00 FF FF 58 00 58 00 97 28 11 1E FF FF 00 05 FF FF FF FF 00 00 FF FF Earth Rave
FF FF 00 FF 00 00 FF FF 59 00 59 00 17 29 11 7D FF FF FF FF FF FF FF FF 00 00 FF FF Cosmo Memory
FF FF 00 FF 00 00 FF FF 78 00 78 00 13 2A 68 FF FF FF FF FF FF FF FF FF 00 00 FF FF Dice
FF FF 00 FF 00 00 FF FF 79 00 79 00 13 46 11 FF FF FF 08 FF FF FF FF FF 00 00 FF FF Toy Box
FF FF 00 FF 00 00 FF FF 7A 00 7A 00 17 2C 00 FF FF FF 0F FF FF FF FF FF 00 00 FF FF Slots
FF FF 00 FF 00 00 FF FF 82 00 82 00 00 2D 00 FF FF FF 03 00 FF FF FF FF 00 00 FF FF Galian Beast
FF FF 00 FF 00 00 FF FF 84 00 84 00 00 2E 00 FF FF FF 03 01 FF FF FF FF 00 00 FF FF Death Gigas
FF FF 00 FF 00 00 FF FF 86 00 86 00 00 2F 00 FF FF FF 03 02 FF FF FF FF 00 00 FF FF Hellmasker
FF FF 00 FF 00 00 FF FF 88 00 88 00 00 30 00 FF FF FF 03 03 FF FF FF FF 00 00 FF FF Chaos
FF FF 00 FF 00 00 FF FF 6E 00 6E 00 13 31 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Greased Lightning
FF FF 00 FF 00 00 FF FF 73 00 73 00 15 32 24 10 FF FF FF FF FF FF FF FF 00 02 FF FF Clear Tranquil
FF FF 00 FF 00 00 FF FF 71 00 71 00 17 33 11 30 FF FF FF FF FF FF FF FF 08 00 FF FF Landscaper
FF FF 00 FF 00 00 FF FF 72 00 72 00 97 34 11 0A FF FF 00 0A FF FF FF FF 00 00 FF FF Bloodfest
FF FF 00 FF 00 00 FF FF 74 00 74 00 17 35 11 1C FF FF FF FF FF FF FF FF 00 00 FF DB Gauntlet
FF FF 00 FF 00 00 FF FF 76 00 76 00 97 36 11 0A FF FF 00 0F FF FF FF FF 00 00 FF FF Doom of the Living
FF FF 00 FF 00 00 FF FF 77 00 77 00 17 37 11 80 FF FF FF FF FF FF FF FF 00 00 FF FF All Creation
FF FF 00 FF 00 00 FF FF 7E 00 7E 00 15 38 22 00 FF FF 10 FF FF FF FF FF 00 00 FF FF Transform
FF FF 00 FF 00 00 FF FF 7B 00 7B 00 15 39 08 20 FF FF FF FF FF FF FF FF 00 02 FF FF Mog Dance
FF FF 00 FF 00 00 FF FF 7C 00 7C 00 17 3A 11 50 FF FF FF FF FF FF FF FF 00 00 FF FF Toy Soldier
FF FF 00 FF 00 00 FF FF 7D 00 7D 00 15 3B 22 00 FF 3F FF FF 00 00 00 40 00 00 FF FF Lucky Girl
FF FF 00 FF 00 00 FF FF 80 00 80 00 15 3C 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Death Joker
FF FF 00 FF 00 00 FF FF 81 00 81 00 17 3D 22 00 FF 3F FF FF 01 00 00 00 00 00 7F FF Game Over
78 25 00 FF 00 00 23 00 7F 00 7F 00 13 FF 11 18 FF FF FF FF FF FF FF FF 00 00 FF FF Berserk Dance
64 FF 00 FF 00 00 FF FF 83 00 83 00 17 3F 22 3C FF FF FF FF FF FF FF FF 01 00 FF FF Beast Flare
78 2C 00 FF 00 00 14 00 8A 00 8A 00 13 FF 11 2A FF FF FF FF FF FF FF FF 00 00 FF FF Gigadunk
64 FF 00 FF 00 00 FF FF 85 00 85 00 17 41 22 46 FF FF FF FF FF FF FF FF 04 00 FF FF Livewire
78 23 00 FF 00 00 E2 00 8B 00 8B 00 13 FF 11 08 FF FF 00 05 FF FF FF FF 00 00 FF FF Splattercombo
64 FF 00 FF 00 00 FF FF 87 00 87 00 13 43 22 00 FF 3F FF FF CC 18 00 00 00 00 FF FF Nightmare
78 19 00 FF 00 00 A3 01 93 00 93 00 17 FF 11 28 FF FF FF FF FF FF FF FF 00 00 FF FF Chaos Saber
64 FF 00 FF 00 00 FF FF 89 00 89 00 17 45 22 00 FF 07 18 79 01 00 00 00 00 00 FF FF Satan Slam
FF FF FF FF 00 00 FF FF FF FF FF FF 17 4D 11 32 FF FF FF FF FF FF FF FF 00 00 FF FF Finishing Touch
64 FF FF FF 00 00 FF FF FF FF FF FF 17 4E 22 5A FF FF FF FF FF FF FF FF 00 00 FF FF Satan Slam
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-04 20:19:11
OK :P

Question:
Why cant i edit most limits? Most of them are clompletely blanked out :/

Straight from the readme:

Quote from: wallmarkethelp.chm
NOTE: There are 128 attacks with data in the KERNEL.BIN, but there are 256 entries in the text of KERNEL.BIN for Limit Breaks. The texts have been added to the list, but no attack data will be available for them

There IS some data for limits in the kernel, but only the secondary ones. This includes Cait Sith's Slots, Tifa's actual attacks, and Vincent's transformations' attacks. I don't know which set either PC or PSX uses for limit attack data. Regardless, there they are. If you edit them and fun stuff happens, so much the better I suppose.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-04 20:26:30
I haven't heard from my testers that anything is going wrong that I haven't already fixed. In case something IS wrong, let me know.

apart from the PSX mode crashing the game? unless you got a different tester to me. in which case nevermind :P

*downloads new release*

Wall Market sure doesn't make my PSX version crash. But I'm using the US NTSC version, so this may be the reason.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-04 21:02:18
BTW, in case you can stand to wait. Version 1.1 (which will allow the changing of the initial data) is already proceeding. I've been working on that since I uploaded the current version and I've already been able to change the Gil count and item list/counts. It's also loading all the characters' data, but it's not doing anything with it yet. The interface to these parts looks slightly clumsy and will probably stay that way. You've used Jenova save game editor right? well, this won't look much like it, but it'll try. :)

EDIT: Just like I supposed earlier in a previous post, changing initial party members does NOTHING so I'll just take out the ability to edit those.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Skillster on 2008-12-05 00:53:12
Major cahoots for including raw editing for items..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-05 09:08:36
This editor is the best, I'm telling you!  Very well done!  And to think v1.1 will include even more options!

I just got my best Christmas present from someone I don't know!!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hay on 2008-12-05 10:14:52
Awesome work. Kudos friend.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-05 14:39:55
I am ecstatic peoples' positive responses and the fact that not one person has said something doesn't work or complained about the Ms. Cloud graphic on the About window. :D Don't get me wrong. Of course I want to hear if something's not right.


So I have an idea that I want to put it to you, the users. I'm currently playing around with initial materia (initial stuff is a PAIN to test since I have to sit through that stupid first video). I'm wondering, WallMarket has the ability to enforce AP levels and master materia and such. Should I restrict the maximum AP to the highest value set on the materia? For instance, I know a mastered materia stores its AP as 16,777,215 (FFFFFFh), but should I let, say, Knights of Round materia have 600,000 when it's maximum is 500,000? In other words, should the AP selection always be 0 - 16,777,215 inclusive or 0 - (Highest Level AP - 1) & 16,777,215 inclusive?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-05 17:59:39
Quote from: NTIFC1
not one person has said something doesn't work or complained about the Ms. Cloud graphic on the About window

Well, I was going to... ;-)

Quote from: NTIFC1
Should I restrict the maximum AP to the highest value set on the materia? For instance, I know a mastered materia stores its AP as 16,777,215 (FFFFFFh), but should I let, say, Knights of Round materia have 600,000 when it's maximum is 500,000?

Would this cause any problems in the game? If not then I wouldn't be against it. And this reminds me of something else (and sorry for not bringing this up earlier); would it be possible to have armour and accessories with elemental weaknesses as well as immunities? So, for example, one could have a piece of armour that gives the player double damage from lightning? I doubt that many people would use it, but it might come in handy.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-05 18:18:57
I noticed two bugs. Let me explain.

I'm editing the PSX Kernel, and I'm always struggling for size, as in order to insert the modified kernel back into the ISO, it has to be smaller or equal in size to the original.
My last changes made the Kernel size go over the limit, so I decided to "delete" some descriptions by placing numerous FFh in their places. This is because, after the gzip compression, a bunch of FFh together save a lot of space.

I first tried to do this by using Wall Market : I headed into the materia tab, selected a materia, and erased its description. It seemed to work for the first materias (the "pluses" ones), but the ones below wouldn't let me delete their descriptions : the update and ok buttons wouldn't do anything. That's the first bug.

The second bug occured after I used a hex editor. I inserted FFh all over Kernel15.bin (the materia descriptions, because which FF7 veteran needs them ?), and all that was left to do was to recompile the Kernel archive. I decided to use Wall Market for this. Thus, I tried to load my Kernel files into Wall Market, and here is what I got (my windows xp version is the french one) :

Code: [Select]
System.IndexOutOfRangeException: L'index se trouve en dehors des limites du tableau.
   à WallMarket.Form1.FF7Names(Byte[] NameArray, Byte NameIndex)
   à WallMarket.Form1.Load_Materia_Desc(String KERNEL15)
   à WallMarket.Form1.Open_KERNEL(Char kernel)
   à WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   à WallMarket.Form1.Form1_Load(Object sender, EventArgs e)
   à System.EventHandler.Invoke(Object sender, EventArgs e)
   à System.Windows.Forms.Form.OnLoad(EventArgs e)
   à System.Windows.Forms.Form.OnCreateControl()
   à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   à System.Windows.Forms.Control.CreateControl()
   à System.Windows.Forms.Control.WmShowWindow(Message& m)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   à System.Windows.Forms.ContainerControl.WndProc(Message& m)
   à System.Windows.Forms.Form.WmShowWindow(Message& m)
   à System.Windows.Forms.Form.WndProc(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I have the same error message when I try to load into WallMarket this KERNEL.BIN after I recreated it with a GZIP MS-DOS command, by the way. And the problem doesn't come from the Kernel file, as it works great in-game.

A fix would be highly appreciated, as now my "corrupted" kernel can't be loaded into Wall Market anymore  :cry:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-05 18:23:56
So, for example, one could have a piece of armour that gives the player double damage from lightning? I doubt that many people would use it, but it might come in handy.

Great idea, i would use it too! That would be funny, since a firearmor should be weak against ice.. And so on.

@Armorvil

I had a similar error, but i don't remember how it appeared. I am too lazy to look now, but it was not the same exception. It was an error with the .net 3.0 ..

@NFITC1

I like the Icon. Cloud as a girl is cute, or am i wrong? :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-05 18:41:57
Unfortunately, I think that armour and accessories can only have one level of resistance to elements, i.e. they can not absorb one and halve another, or be immune to one and weak against another. Still, you can have a lot of other double edged swords, such as something that gives the player a high evasion rate but is weak against all physical attack elements or that causes instant death when one particular element is used, or something that raises stats very high but makes the wearer absorb the "restore" element (i.e. he or she will be harmed by "cure" and "life" spells and items). Actually, one might be able to make the latter already...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-05 18:47:23
...but makes the wearer absorb the "restore" element (i.e. he or she will be harmed by "cure" and "life" spells and items).

Yeah, like the "Zombie"-status. =D

Actually, one might be able to make the latter already...

But you did a great job with WallMarket. Very useful tool!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-05 19:51:36
@Armorvil - I'm sorry, but I can't reproduce your error. On my machine, the materia tab and raw editing is working fine. I didn't try blanking out a file, but make sure the address offsets in the header of that file are correct. Logically, looking at the way the FF7Names function is set up, it wouldn't give that error unless there was a offset header that was larger than the length of the file. I warn users in the readme to keep a backup. I hope you did (Psst, send me your corrupted kernel so I can look at it).

@LKM - about the Materia AP limit. I'm not sure what would happen in the game, but imagine if a person wanted materia that was just 1 AP away from mastering so they could slap it on a weapon and get a new one. Maybe that's splitting hairs so I don't know. I'm not really sure how it changes in game. The game stores mastered materia as having 16777215 AP. I'm afraid if you set the KoR materia at 500,001 AP it may have missed the "AP mastered" check and keep gaining AP. This probably wouldn't be a major problem, except it might never master. This would make Barret's overflow bug easier to hit....maybe. I think you're right though. I mean, I don't want someone to open WallMarket just to realize there are restrictions. How lame is that? :) So every materia will be between 0-16777215 inclusive and every item count will be between 0-127 inclusive. It's not my problem if games are crashing when people set them wrong. :D
Also about the elementals. No. That's not possible with the armors or accessories They have one byte that tells them how to handle the whole of the elemental properties. And yes, absorbing restore will hurt leaving the way for the "Zombie" status Jonnylossus mentioned. Too bad you can't make a character berserk based on the armor. :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-05 20:54:42
now to get this thing to change default stats/equiped stuff in the kernal3 file. but awsome program.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-05 21:58:27
now to get this thing to change default stats/equiped stuff in the kernal3 file. but awsome program.

I'm actually working on that right now. ;) The only problem is there's so many little things to squish into the window. You'll be pleased to know, however, that the initial item list and initial materia list are working correctly.


On a more general note: I really hate to say this, but the mistake that Armorvil made with his kernel is the exact thing WallMarket was made to prevent. He's a smart guy. I'm not saying anything to the contrary. The fact that he can put the kernel BACK into a PSX disc image (I still can't get that to work :)) means he knows what he's doing. I built WallMarket to read a kernel that fits the parameters of the original kernel. That was...disrupted. With the headers in range of the data it works fine. Basically, don't edit the contents outside of WM if you can help it. You can still play with KERNEL.BIN2 and KERNEL.BIN3 and recompile those since WM doesn't touch them (.....yet :evil:).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-05 22:14:22
The fact that he can put the kernel BACK into a PSX disc image (I still can't get that to work :)) means he knows what he's doing.

I did not try it, because i was too lazy to create Images of my FF7 PSX CDs, but.. Why is that hard? I thought you just have to open the Image with MagicIso or something equal and switch the original kernel to the modified kernel.. Or am i wrong?

Edit: Got an error message.. Sorry, it is german, since i am german. :P

(http://666kb.com/i/b4ff5lzugory8uibi.jpg)


Code: [Select]
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.IO.FileNotFoundException: Die Datei E:\Rollenspiele\Final Fantasy VII\data\kernel\KERNEL2.BIN17 wurde nicht gefunden.
   bei Microsoft.VisualBasic.FileSystem.FileLen(String PathName)
   bei WallMarket.Form1.Load_Command_Names(String KERNEL17)
   bei WallMarket.Form1.Open_KERNEL(Char kernel)
   bei WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
   bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
WallMarket
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///E:/Rollenspiele/Final%20Fantasy%20VII/FF7%20Neue%20Tools/WallMarket10/WallMarket.exe.
----------------------------------------
Microsoft.VisualBasic
    Assembly-Version: 8.0.0.0.
    Win32-Version: 8.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
Microsoft.VisualBasic.resources
    Assembly-Version: 8.0.0.0.
    Win32-Version: 8.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/8.0.0.0_de_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.

Edit2: I managed to open the file now, and i am going to test something.. Maybe it works, but i don't know yet. =)

Edit3: I created an Image of my FF7 Disc, and i was able to load it with ePSXe. But after injecting the kernel to the INIT-Folder, it gave me a blackscreen. :/ Guess i try something else tomorrow..
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-05 23:42:45
On a more general note: I really hate to say this, but the mistake that Armorvil made with his kernel is the exact thing WallMarket was made to prevent. He's a smart guy. I'm not saying anything to the contrary. The fact that he can put the kernel BACK into a PSX disc image (I still can't get that to work :)) means he knows what he's doing. I built WallMarket to read a kernel that fits the parameters of the original kernel. That was...disrupted. With the headers in range of the data it works fine. Basically, don't edit the contents outside of WM if you can help it. You can still play with KERNEL.BIN2 and KERNEL.BIN3 and recompile those since WM doesn't touch them (.....yet :evil:).

Hey, thanks !  :-D
But it's not really complicated, actually. There is a really cool freeware called CDMage (http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Images-Utils/CD-Mage.shtml), and with it you can extract any file from an image, and import it back in (as long as the modified file doesn't exceed the original's length, or it will truncate it). Now you know my secret  :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-06 04:18:48
Quote
System.IO.FileNotFoundException: Die Datei E:\Rollenspiele\Final Fantasy VII\data\kernel\KERNEL2.BIN17 wurde nicht gefunden.

I think I mentioned this in the readme, but I may not have. WM creates the little files in the same directory that the KERNEL.BIN file is. Therefore, you cannot open this in a place where file access is read-only, such as a CD image. Copy the file to a directory on your hard drive and open the kernel from there.
Also, that error message and your code copy don't match. It looks like you're opening the kernel.bin from the PSX data in the picture. Why is it looking for kernel2.anything? That's weird since it shouldn't do anything kernel2.bin related if it doesn't find a kernel2.bin file in the same directory. Did you make a kernel2.bin and try to open that?

How come people are getting errors on things that I have no control to fix? :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-06 09:24:20
I did open the kernel.bin from the HDD. I extracted the files to my pc, created a folder and put all of the files inside. Then i modified the kernel.bin and injected it to the old image.

I was opening the PSX kernel.bin, since i wanted to try that with my PSX version too. =p

No, i didn't make a kernel2.bin, i just tried to open my kernel.bin
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Enoehttonmi on 2008-12-07 12:44:43
Hi, maybe I'm wrong but you forgot about one attack and it's Odin's Gaunge Lance. Sors if I said something silly, I'm noob afterall! :-P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-07 13:05:27
Hi, maybe I'm wrong but you forgot about one attack and it's Odin's Gaunge Lance. Sors if I said something silly, I'm noob afterall! :-P

It's there. It's attack ID #97.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Enoehttonmi on 2008-12-07 13:12:23
Oh...Ooops!  :-D :roll:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-07 15:28:25
hey im looking for a hex editor that allows me to type for example 50 for an ID and actually have that instead of having to type 16 to get 22. any one know of any good freeware that allows that?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-08 15:38:32
You know how you go to the movies sometimes and see teasers for movies that you already know are going to come out, but they don't tell you want the movie's about? This (http://img176.imageshack.us/img176/3476/initialcharacterdataot2.png) is kinda like that (http://img185.imageshack.us/img185/1170/initialpartywz7.png).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-08 15:54:51
Looking good!

Now, I wonder what those missing flags are...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-08 16:10:45
Looking good!

Now, I wonder what those missing flags are...

I'm going to bet that those other flags correspond to the first eight statuses. Death, Near-Death, Sleep, Poison, Sadness, Fury, Confusion, Silence. However, since only Sadness and Fury do NOT get healed at the end of battle they are the ones that get saved. Probably if these other flags are turned on they'd take effect at the beginning of the next battle, but they'd be cured at the end of it anyway. It'd be cruel to have a character start out dead, wouldn't it? :evil: Especially if it were Cloud or Aeris. Instant Game Over at the beginning or if you mess up pushing the barrels. :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-08 16:29:54
Either that, or the makers planned to have some other status changes remain after battle and later decided that only fury or sadness would stay. I'll have a look at those flags tonight.

UPDATE: I put 01h (death) and 08h (poison) in there and nothing happened, but fury and sadness worked as usual. I'll try a few more things later.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-08 21:16:26
Well, I just noticed one thing. The thing I have marked as portrait is NOT portrait. I'm not really sure what it is. There are a few things I noticed about it.

1. If it's duplicated, the first person to have it will be not in battle. The HP and MP will go to 0 although the character won't be "dead" and the other two characters will perform the battle as if the duped character wasn't there.
2. It has something to do with limit bar. If the numbers are swapped with another character then their limit bars will swap IN BATTLE, but not in the menu.
  2a. Extending this line of thought, it MAY affect limits learned and times limits have been used.
  2b. Might also affect number of kills, but I haven't tested either of these yet.
3. It doesn't affect battle names, equipment, materia, stats, or the limits themselves.
4. The characters look the same with any value so it's not battle model.
5. Every character has a unique value at this location.

I have no idea what this is. It's almost like character ID rather than portrait (which I think is determined in the menu files rather than the kernel). But since the equipment and materia doesn't change I can't say for sure.

I tested this out by switching Tifa and Aeris's values at this location in the save games.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-09 03:49:59
Well, I just noticed one thing. The thing I have marked as portrait is NOT portrait. I'm not really sure what it is. There are a few things I noticed about it.

1. If it's duplicated, the first person to have it will be not in battle. The HP and MP will go to 0 although the character won't be "dead" and the other two characters will perform the battle as if the duped character wasn't there.
2. It has something to do with limit bar. If the numbers are swapped with another character then their limit bars will swap IN BATTLE, but not in the menu.
  2a. Extending this line of thought, it MAY affect limits learned and times limits have been used.
  2b. Might also affect number of kills, but I haven't tested either of these yet.
3. It doesn't affect battle names, equipment, materia, stats, or the limits themselves.
4. The characters look the same with any value so it's not battle model.
5. Every character has a unique value at this location.

I have no idea what this is. It's almost like character ID rather than portrait (which I think is determined in the menu files rather than the kernel). But since the equipment and materia doesn't change I can't say for sure.

I tested this out by switching Tifa and Aeris's values at this location in the save games.

This is character ID. No more no less.
Sometimes ffvii search this as id, sometimes it use real index. In ffvii a lot of things duplicated.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-09 13:33:30
This is character ID. No more no less.
Sometimes ffvii search this as id, sometimes it use real index. In ffvii a lot of things duplicated.

I had suspected this for a while. The only reason I thought it was portrait was because I didn't see that particular data stored anywhere else. Oh well, I guess it will stay "Character ID" there instead of "Portrait". That's sad because I wanted Cloud to have a Chocobo portrait. :)

EDIT: I believe v1.1 is "ready". I'm waiting to hear back from someone on how to make the executable file smaller and remove that debuging text that Jonnylossus got. Everything should be ready to be released with that exception.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-09 19:32:52
I noticed that the "adjusted max" for HP and MP in the screenshots is 65535, and wondered whether this would cause any problems. I seem to remember reading somewhere on this forum that this value is signed, and the maximum is 32767. I could be wrong.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-09 20:09:43
I noticed that the "adjusted max" for HP and MP in the screenshots is 65535, and wondered whether this would cause any problems. I seem to remember reading somewhere on this forum that this value is signed, and the maximum is 32767. I could be wrong.

Yes, but that's technically NULL for FFVII. The readme's going to say that a lot of those fields will be a "Use at your own risk" basis. :) I don't think those adjusted maxes will alter anything. Since they're all NULL we can reasonably assume that the game engine recalculates it before the game actually starts.

I also just noticed another thing the game ignores. Needed EXP is calculated on a level up basis. The needed experience for Cloud to get to level 7 is actually wrong in the initial data. It's easy to not notice if you don't look too hard at the "win battle" screen. It states fairly clearly that Cloud needs 35 EXP to level, yet the first battle gives him 32 and he still levels (because he really only requires 6 EXP to get to level 7). Also it seems to recalculate his level when the win screen comes up. I set Cloud's level to 4 (which he DID start at) but left his experience at 610. When he gained a level he DID go up at least 3 levels (His Dexterity increased from 6 to 11 after that first battle) and the "Needed EXP to level" was calculated correctly. So level is calculated solely on experience (Also caught/fixed an error that's been around since the first pre-beta that no one noticed).
Heh. The Level Progress is actually between 0-64 (maybe 63). Set higher than that and it creates a "negative" bar beyond where the bar should end. :D Doesn't affect anything else so WM won't enforce any restrictions on it.
Man, that 2 minute intro movie gets old fast. :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-10 17:59:30
wow wonderful update! now i can start the project i wanted to do. yay.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-10 18:15:25
Man, that 2 minute intro movie gets old fast. :(

Can't you use GyptInstant from dziugo's YAMP (http://forums.qhimm.com/index.php?topic=5124.0) and skip the opening movie with Ctrl+S? I'm having a little trouble with playing movies on my new machine, which has actually come in handy for when I try things out with kernel.BIN3; it means that I can double click on my ff7 shortcut and be playing within 30 seconds :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-10 18:29:52
Man, that 2 minute intro movie gets old fast. :(

Can't you use GyptInstant from dziugo's YAMP (http://forums.qhimm.com/index.php?topic=5124.0) and skip the opening movie with Ctrl+S? I'm having a little trouble with playing movies on my new machine, which has actually come in handy for when I try things out with kernel.BIN3; it means that I can double click on my ff7 shortcut and be playing within 30 seconds :-)

I'm using the Windowed Patch so the patcher doesn't work at the moment. I'm too lazy to get a fresh 1.02 and re-patch everything.

Speaking of the Windowed Patch, it doesn't play the movies correctly. There's a large vertical gap starting at the middle of the window. It doesn't block the video, but it does displace it. It's like several columns of pixels in the video were just shoved aside.

EDIT: I have successfully created a GZip file without using GZip.exe!...except the CRC was wrong. That is fixable if I can figure out how to calculate it (I think I'm close). That's the LAST step in getting this thing independent on GZip.exe. However, now it will need zlib1.dll, which is smaller than the gzip.exe and cygwin1.dll that are packaged in there now and actually native to a Win32 API. This makes me very happy! :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-13 20:36:19
I've noticed that the materia display on the Initial Data/Character Data screen is a little bit messed up, but it's only cosmetic.

In other news, I've used WallMarket to make some new materia and spells!

http://uk.youtube.com/watch?v=CMuGaWnl0ks
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-13 21:09:31
I've noticed that the materia display on the Initial Data/Character Data screen is a little bit messed up, but it's only cosmetic.

In other news, I've used WallMarket to make some new materia and spells!

http://uk.youtube.com/watch?v=CMuGaWnl0ks

What about the Character data is messed up? Is it the materias and the links? If that's the case I'm gonna have to say live with it because there's little/nothing I can do about it.

And I'd switch Aero2's and Aero3's animations, but I'm glad there are finally wind and water attacks. :)

I also determined that the last two FFs in Kernel.bin2 are NOT linked to the empty slots in the attack menu. As far as I can tell they are ignored completely.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-13 21:13:10
Quote from: NTIFC1
What about the Character data is messed up? Is it the materias and the links? If that's the case I'm gonna have to say live with it because there's little/nothing I can do about it.

Yes, the coloured orbs do not line up completely with the slots and I can't see the links, but it's not a big problem.

Quote from: NTIFC1
And I'd switch Aero2's and Aero3's animations, but I'm glad there are finally wind and water attacks.

The Aero2 animation does look a little more dramatic, but the Aero3 animation is actually from an enemy attack called Aero3 (Rapps and Wind Wing use it). By the way, did you notice the music I used? ;-)

P.S.

If anyone wants to know how to use enemy attack animations for player spells, read this (http://forums.qhimm.com/index.php?topic=5896.0).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-14 00:18:14
Quote from: NTIFC1
What about the Character data is messed up? Is it the materias and the links? If that's the case I'm gonna have to say live with it because there's little/nothing I can do about it.

Yes, the coloured orbs do not line up completely with the slots and I can't see the links, but it's not a big problem.


That's what I figured. It looks fine on 96 DPI, but higher than that makes the links small and lower will make the links too big. Really, you just need to see if there's a link there at all. The background image (the links) don't stretch like the foreground image does. At least I don't think it does. I'll try that out later.

The music's appropriate if the viewer knows why you chose that. You should mention it in your description. ;)

Oh yes. I managed to create a 100% accurate GZip file!! I was applying the CRC creation to the encrypted data when it should be applied to the raw data. That was a little embarrassing.  :oops:  Well, all that's left now (at least with THAT feature) is to write the code that will create the GZip data. I don't even have to write them to the disk now. How 'bout that? :D

UPDATE: I need someone to test this on the PSX game. While I can create several identical gzip files, I was only testing a few. When I made it again, the accessory file was different from the others. I'm not really sure why, nor do I really care since all the others are identical. Nice thing is, it's now 1 byte smaller and works just fine on the PC version.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-14 11:58:25
Quote
UPDATE: I need someone to test this on the PSX game. While I can create several identical gzip files, I was only testing a few. When I made it again, the accessory file was different from the others. I'm not really sure why, nor do I really care since all the others are identical. Nice thing is, it's now 1 byte smaller and works just fine on the PC version.

You should know my email address, by now ;)
Excellent work, by the way ! v1.1 works great :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2008-12-14 12:24:57
Great work!
  :-D
You should add gradients and bases For HP, MP and EXP leveling too (as advanced editing or something).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 00:34:56
I've noticed that the materia display on the Initial Data/Character Data screen is a little bit messed up, but it's only cosmetic.

In other news, I've used WallMarket to make some new materia and spells!

http://uk.youtube.com/watch?v=CMuGaWnl0ks

What about the Character data is messed up? Is it the materias and the links? If that's the case I'm gonna have to say live with it because there's little/nothing I can do about it.

OK, I'm not too big to admit this. I'm a jerk. :) I fixed this (I think). The next version will not have that issue.


UPDATE: Now that the GZipping is working the way I want, I can begin to make an enemy attack editor that will act as a suppliment to Hojo (Since Armorvil, and I'm sure others, would like this to be so). My biggest concern was always the unpacking/repacking and the various things that could go wrong in-between. Since Hojo already does practically everything else with monster data and SceneEdit can screw with scripts, I'll just stick to editing the attacks and call it something goofy like "Hojo-Market". Making this will be a breeze compared to the nearly constant headaches and teethgrindings WM has caused me (since it'll be a watered down version of WM anyway)

PS: Armorvil reports that the minuscule-ly smaller KERNEL.BIN works in the PSX! Expect version 1.1.5 to be released later today after I remove some now-unneeded code. The only way to make this better would be to integrate the help file into the executable and hand-write the code that does the actual compressions. I honestly don't care to do that at this point. It will run no faster to do that. The point is that WM is no longer executing 27 shell commands per kernel creation which saves on time of creation, CPU ticks, and HD writes. That's what I've wanted all along. The next version update will include battle and growth data, but there's a bit to do in preparation of that so that may take some time. Be patient. It'll come.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-15 15:01:54
when i edit the initial data with this program, the text is all messed up, all the text is on top of each other. how would i fix this?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 15:39:48
when i edit the initial data with this program, the text is all messed up, all the text is on top of each other. how would i fix this?

If you're talking about the text in WM then your display DPI is too low. It should be 96 or higher.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-15 15:55:49
Just downloaded it; the formerly messed up materia slots on the initial data/character data screen look right now. So, how's the enemy attack editor going, and what exactly will it do?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 16:20:43
Just downloaded it; the formerly messed up materia slots on the initial data/character data screen look right now. So, how's the enemy attack editor going, and what exactly will it do?

How's it coming? I haven't even started yet. :D It'll happen soon. Maybe the initial one by the end of the week. It'll contain a lot of what I like to call Copy Pasta.
It'll look exactly like the Attack Tab does right now except it to the left will be the enemy names and there will be a drop-down or SECOND list with attack names. Rebuilding the Scene.bin file is a little harder than the KERNEL.BIN because every block has to be 8K in size and it's all very strictly enforced. Not a big problem, just annoying. And I don't really like the name "Hojo-Market". I feel like I'm stealing all of Squall78's thunder with that. I'm sure I'll get over it. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-15 16:24:45
Well, it's an attack editor; how about giving it a name like Scarlet or Heidegger?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jeeper on 2008-12-15 19:02:54
The most awesome Kernel-editor I've seen this far, I've only got one problem though, I can't compile the files into "Kernel.bin" again, and it doesn't really seem to matter what I do (Save for later, compile or compile and delete), the Kernel I'm working on will be decompiled and be an empty file och 0 bytes... Whenever I try to compile the files, it asks me to open Kernel.bin, could that be the problem?

EDIT:
Terribly sorry, I was using version 0.9-something, everything was fixed when I got my hands on the new, AWESOMER 1.1.5! Superb work!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 19:12:11
Well, it's an attack editor; how about giving it a name like Scarlet or Heidegger?

You mean like this?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-15 20:45:30
lol i figured it out, i deleted the window file in the kernal. oops. i fixed it. but the initial datta has an error though. the max ex gained is actually 40000 off. it messes with the kernal to where you cant reopen it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-15 21:01:08
@NTIFC1

That was quick! Are you a robot? ;-)

But there are a couple of things...

An unhandled exception occurs when I open my modded scene.bin; the program seems to work, but doesn't open any of the scenes from EA onwards. It doesn't happen when I open my unmodded backup, so it may be a problem at my end; I'm going to do a bit more experimenting.

And wallmarket doesn't recognise changes to the names of spells, weapons etc. that were made to kernel2.bin after I first used version 1.0; interestingly, it does recognise changes made with Teioh before that. The changes do show up in the game.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 21:04:42
@NTIFC1

That was quick! Are you a robot? ;-)

Sadly, no. :(  (you spelled my name wrong. Prepare to Die! ......or not)

But there are a couple of things...

An unhandled exception occurs when I open my modded scene.bin; the program seems to work, but doesn't open any of the scenes from EA onwards. It doesn't happen when I open my unmodded backup, so it may be a problem at my end; I'm going to do a bit more experimenting.

Well, that's a barebones thing anyway. It will work fine with an unmodded one and I thought it would work fine with a modded one too, but I guess not. I never said that was a full release anyway. ;) It's a Beta of a Demo of a Demo. :D

And wallmarket doesn't recognise changes to the names of spells, weapons etc. that were made to kernel2.bin after I first used version 1.0; interestingly, it does recognise changes made with Teioh before that. The changes do show up in the game.

Were you in PC mode? Did you build kernel2.bin after you were done editing the text?
SOLUTION: I know what it is. If kernel2.bin9, kernel2.bin10, etc. still exist then that's what WM's going to read. Open it, then select "Reload" from the File menu.

lol i figured it out, i deleted the window file in the kernal. oops. i fixed it. but the initial datta has an error though. the max ex gained is actually 40000 off. it messes with the kernal to where you cant reopen it.

I have no idea what you mean. What "window file in the kernal[sic]" and what is "max ex gained"?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-15 21:11:36
the window.bin file in the kernal folder. and in the initial stat editorpart of wall market if you set current exp. to the max and save it, when you reopen it it has an error so i went to char edit the save editer i seen what they had as max and its a 40000 difference.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-15 21:17:11
Quote from: NFITC1
Sadly, no.  :-(  (you spelled my name wrong. Prepare to Die! ......or not)

Sorry :oops:. Sometimes I get strange ideas into my head about how things are spelt or pronounced, and once they are in, it is very hard to get them out. ;-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 21:29:59
the window.bin file in the kernal folder. and in the initial stat editorpart of wall market if you set current exp. to the max and save it, when you reopen it it has an error so i went to char edit the save editer i seen what they had as max and its a 40000 difference.

Ah. I see what you mean. At least for the error in WM. I don't know what's going on with whatever save editor you're using, but with WM that's a potential problem... Needs to be fixed quickly.
. . . .
Fixed. ;)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-15 21:53:36
the save editer works fine thats why i used it as a guide to fix my issue (though i live by WM,lol).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-15 21:56:47
You're officially my hero now, NFITC1  :-D
You made Heidegger so fast, and it's working so great it's pure genius.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Saint Gilgamesh on 2008-12-15 22:40:41
I am getting this error with the newest version- mscorwks.dll cannot be loaded.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-15 23:47:12
I am getting this error with the newest version- mscorwks.dll cannot be loaded.

You probably need the latest .NET Framework runtime files. They're available on Microsoft's website.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-16 13:23:58
i think the unknown value in the initial tab in WM might be GP. not sure though.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-16 15:28:00
i think the unknown value in the initial tab in WM might be GP. not sure though.
I am 100% certain that it is not. That Unknown is PER character. It's something to do with that character, but it's always 0 when the game is saved. It comes in the middle of all the HP/MP data so it might have something to do with that or possibly other stat modifing, but I'm not really sure it would do anything.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-16 16:17:24
I was not sure, you think it might have something to do with commands. I would enjoy a command maker that allows you to make commands like jump, or what not. i cant get it to work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-16 16:29:59
There isn't much that one can do with commands right now :-(; I don't think anyone knows where the data determining how they work is. The only things one can really change by editing kernel.bin0 is the targeting info and the camera, not that that isn't useful: I made my "flash" command hit one enemy only and my "slash-all" toggle multiple targets so that it works like magic + all materia (i.e. one can choose whether to attack one target or all, and the damage is reduced by 1/3 when targeting all).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-16 16:41:11
There isn't much that one can do with commands right now :-(; I don't think anyone knows where the data determining how they work is. The only things one can really change by editing kernel.bin0 is the targeting info and the camera, not that that isn't useful: I made my "flash" command hit one enemy only and my "slash-all" toggle multiple targets so that it works like magic + all materia (i.e. one can choose whether to attack one target or all, and the damage is reduced by 1/3 when targeting all).

Commands mostly hardcoded. Not that much you can change about them.

Jump can be made by any attack (spell for example). Just create animation of jump and syncronize it with damage infliction. Easy, but we don't have editors for this thing.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-16 17:28:47
That's a shame  :cry:

So, other than the things that can be changed in the kernel, can anything about them be edited? Is modding them just very hard and complicated or is it impossible to do without making huge changes to the way the game works?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-16 18:04:33
Question. Can the kernel(s) determine how many people are in and who is in the party at particular points in the game, and also what stats they have at random intervals. so say for instance i was recreating a different game based on the FF7 engine. Would editing the Kernel allow me add characters when you meet them, give them X stats, remove them when they are removed from the party and make them return freely, and with different stats, just like Aeris and sephiroth are? I'm simply curious to see how this is done, if it anything to do with the kernel, and if so, would WM be able to do this in the future? something tells me the code in the scene files denotes this, however...

EDIT:
NFITC1, with your help, i can now conclude that the website i stumbled across years ago was right:
http://www.willamette.edu/~ejohnson/findex.htm

take a look at the ideas conveyed there, then take a look at the latest secret "key item" found by wallmarket. "Memories of yuna"... suspicious?

:P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-16 18:30:29
Question. Can the kernel(s) determine how many people are in and who is in the party at particular points in the game, and also what stats they have at random intervals. so say for instance i was recreating a different game based on the FF7 engine. Would editing the Kernel allow me add characters when you meet them, give them X stats, remove them when they are removed from the party and make them return freely, and with different stats, just like Aeris and sephiroth are? I'm simply curious to see how this is done, if it anything to do with the kernel, and if so, would WM be able to do this in the future? something tells me the code in the scene files denotes this, however...

*whistle* That's a complicated question. The short answer is no. The kernel has data for Sephiroth and Young Cloud for the Kalm flashback, then that data gets forcibly overwritten by Vincent's and Cait Sith's data by the active script at some point after the flashback is over, possibly as late as the moment they "join the party". The kernel does not contain these characters' stats and, regrettably, can't be affected by WM. Aeris's data never actually leaves the memory. Only the flag allowing you to switch to her is turned off. Same thing can be said about assigning stats. I don't think the game ever assigns this (indeed, there may not even be a function to do so). Rather, it will calculate stats based on average party level at the time the character is first recruited. They start out at level 1. Then they are given experience until their level is within a certain level of the average level of your active members (which is counted in halves in kernel.bin2). Their levels and stats are then increased accordingly.
It is most unfortunate as Vincent's and Cait Sith's initial data are not in the kernel. I don't even know where they are, but they're probably hard-coded into the main executable script.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-16 18:34:45
Quote from: NeoCloudstrife
Question. Can the kernel(s) determine how many people are in and who is in the party at particular points in the game, and also what stats they have at random intervals. so say for instance i was recreating a different game based on the FF7 engine. Would editing the Kernel allow me add characters when you meet them, give them X stats, remove them when they are removed from the party and make them return freely, and with different stats, just like Aeris and sephiroth are? I'm simply curious to see how this is done, if it anything to do with the kernel, and if so, would WM be able to do this in the future? something tells me the code in the scene files denotes this, however...


Listen to that something. If you are talking about having more characters (instead of replacing them for the whole game), you'll have to edit a lot more than the kernel, including but not limited to flevel.lgp and battle.lgp. You'll either have to make some other character IDs shared or add more slots. I'm not sure which will be harder, but neither will be easy.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-16 19:14:41
You can't edit number of character in party and in battle. Arrays that holds data for battle units have fixed size (10), most of checks are done like "if (unit_id < 3)"

ps:I see that there is one more slot in battle (4th), but now I think it's for additional script that direct whole battle. Terrence can answer for what 4th slot exist. I still can't. But Im very positive about that you cant adjust number of people in party or in battle.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-16 19:15:39
Question. Can the kernel(s) determine how many people are in and who is in the party at particular points in the game, and also what stats they have at random intervals. so say for instance i was recreating a different game based on the FF7 engine. Would editing the Kernel allow me add characters when you meet them, give them X stats, remove them when they are removed from the party and make them return freely, and with different stats, just like Aeris and sephiroth are? I'm simply curious to see how this is done, if it anything to do with the kernel, and if so, would WM be able to do this in the future? something tells me the code in the scene files denotes this, however...

*whistle* That's a complicated question. The short answer is no. The kernel has data for Sephiroth and Young Cloud for the Kalm flashback, then that data gets forcibly overwritten by Vincent's and Cait Sith's data by the active script at some point after the flashback is over, possibly as late as the moment they "join the party". The kernel does not contain these characters' stats and, regrettably, can't be affected by WM. Aeris's data never actually leaves the memory. Only the flag allowing you to switch to her is turned off. Same thing can be said about assigning stats. I don't think the game ever assigns this (indeed, there may not even be a function to do so). Rather, it will calculate stats based on average party level at the time the character is first recruited. They start out at level 1. Then they are given experience until their level is within a certain level of the average level of your active members (which is counted in halves in kernel.bin2). Their levels and stats are then increased accordingly.
It is most unfortunate as Vincent's and Cait Sith's initial data are not in the kernel. I don't even know where they are, but they're probably hard-coded into the main executable script.

so, if i were to come across sephiroth & cloud's stats (possibly in the EXE?), i guess i could use them as a base. i wonder if "young cloud" can level up just as a normal character can...if of course i could completely skip the parts where they "join the party"...active script? you mean scene files script? anyway, can these "flags" that you speak of be controlled via the kernel? and do you have any idea about how the game works out when on the timeline it triggers them? lol i'm pretty curious about this stuff now.

EDIT: just to clear things up, my intention was not to discover if More people could be added to the overall party, but if the people that are already in it could be triggered/added earlier/later than usual, thus being able to give my own feel to a game, if i ever decided to build one upon the FF7 engine.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-16 20:08:53
EDIT: just to clear things up, my intention was not to discover if More people could be added to the overall party, but if the people that are already in it could be triggered/added earlier/later than usual, thus being able to give my own feel to a game, if i ever decided to build one upon the FF7 engine.

Yes, you can, via field script.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-16 20:49:58
Well, it's an attack editor; how about giving it a name like Scarlet or Heidegger?

You mean like this?

Something that does this (http://img252.imageshack.us/img252/6389/youshouldwhatoc7.png) or this (http://img408.imageshack.us/img408/8449/ifyousaysoin3.png)? That's on the first post already. ;)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-16 20:59:38
That's quite an odd name for an attack :mrgreen:. Was that random silliness or is there a 4chan meme that I am missing out on?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-16 21:07:47
That's quite an odd name for an attack :mrgreen:. Was that random silliness or is there a 4chan meme that I am missing out on?

Just something random from H*R. Mostly just to see how long the names could be. :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-17 00:48:36
lol!  That's one random attack name!

One question: I know that you can edit attacks with WM and expect the enemies that use those attacks to have the changes you made.  For instance, if you turned Fire2 into Ultima, then every enemy that has Fire2 will use Ultima instead.  As a result, if you edit attacks that are in the kernel using Heidegger, the changes you made will not register unless the kernel is updated, right?  Is there a way that you could use Heidegger to change an enemy's attack such as Fire to one that's not in the kernel, such as Pale Horse?

The reason why I'm asking is that I want to make an uber Safer Sephy.  I want his Wall to cause Peerless, but at the same time, I don't want my characters to be inflicting Peerless on each other every time they use Wall.  I also want to make his Break more fearsome without changing anything about the Break my characters use.  This would mean changing both to completely different attacks, won't it?  Any way to do that?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-17 07:15:50
niftc1 do you know of any program that can change events? or even add them? for example in reactor 1 there is a recovery materia, would i be able to change it to a different one. if i did i know the text would need to be edited but its worth it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2008-12-17 10:11:01
there is one its called metero or metior i cant remember im fairly certain that synergy blades made it but its only in beta stages and hasnt been updated in a long while
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-17 12:12:28
lol!  That's one random attack name!

One question: I know that you can edit attacks with WM and expect the enemies that use those attacks to have the changes you made.  For instance, if you turned Fire2 into Ultima, then every enemy that has Fire2 will use Ultima instead.  As a result, if you edit attacks that are in the kernel using Heidegger, the changes you made will not register unless the kernel is updated, right?  Is there a way that you could use Heidegger to change an enemy's attack such as Fire to one that's not in the kernel, such as Pale Horse?

This is correct, but the answer to the second question is no (I originally believed it was yes, now I know differently). The reason is that all the attacks are indexed. On the wiki (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes#Data_file_format) there's a space in the scenes labeled as Attack IDs starting at address 0x0840. I originally thought this to be specific to the monster, but now it seems it's universal like I had pre-originally thought (it's a long story, don't worry about it). The only way to change a monster's attacks would be to change THAT number and the corresponding attack equivalent in their script. Not a simple task, but not impossible either. I MAY add a feature to Heidegger that will allow reassigning of attack IDs, but don't get your hopes up, that's a VERY ambitious action. What I CAN do is make a data sheet of different attacks' IDs. The data will still have to be changed in the scene files, however.
Basically, if you want to give another monster Pale Horse you'd have to put Pale Horse's data in that monster's scene file(s) and give it a reference in its own script to perform that action. So it is possible, but not with Heidegger (which I've only been working on for a day anyway) at the moment.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jonnylossus on 2008-12-17 12:24:52
there is one its called metero or metior i cant remember im fairly certain that synergy blades made it but its only in beta stages and hasnt been updated in a long while

I think you are talking about meteor.

http://wiki.qhimm.com/FF7/Technical/Customising

Quote
Meteor     Field editor, with dialog, script, walkmesh and encounter editing.     Synergy Blades     0.2b
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-17 13:41:00
any clue on how to extract the field files?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-17 13:57:03
A command-level decision must be reached so I'm putting it to my faithful users. Should WM make the KERNEL.BINXX files anymore? They're not needed because I found out that I can create dynamic arrays (how 'bout that?) that I can store the de/compressed info in. This would be several disk-writes shorter (and possibly make writing the kernel virtually instantaneous if the text isn't being updated). This is currently what Heidegger is doing. It reads the scene.bin and stores all 256 compressed scenes and decompresses them when needed. When a scene is selected it is decompressed into a scene file array. Since they're all 7808 bytes this part was easy. When the "Somethingchanged" check is on (though admittedly it's supposed to be invisible. sorry ;) ) and the scene changes, Heidegger re-compresses the scene that's currently loaded and puts it back in its place before loading the next scene.
So let me give you a little history lesson about WM (for those who don't know or are getting in on the ground floor on how it works). Early on in the development (before 0.9.0 was released) WM couldn't decompress or compress the KERNEL.BIN. So it relied on FF7dec to split the KERNEL.BIN into the 27 pieces so it could load each of those and draw info from. Then I decided that I could do that myself to remove a step that people shouldn't have to take. Since it was already written to use those files I just created files with the same names. This was also for the compressing. WM had to rely on GZip to compress the files (until version 1.1.5 when I learned to do it myself) then WM would read the .gz files and squish them all together in the KERNEL.BIN. This is no longer needed since all GZipping happens internally.
It is still reading from these files and writing to them. This is mostly because some things still aren't being edited (such as the KERNEL.BIN2), but now that even raw data can be edited, there's NO byte in any kernel file other than in KERNEL.BIN1 (some of these WILL NOT be touched because it would be pointless to do so) and KERNEL.BIN2 (feature coming soon) that cannot be edited. Text is also being created dynamically and appropriately. At the moment, KERNEL.BIN2 can be Hex Edited and then WM will read whatever is inside it and put it in the KERNEL.BIN since WM doesn't edit it. Once it does, however, would there really be any need to create these files? I think not or else you'd run into the problem that someone ran into where the data wouldn't match what was in the kernel if it was edited by another application.


PS:
NFITC1, with your help, i can now conclude that the website i stumbled across years ago was right:
http://www.willamette.edu/~ejohnson/findex.htm

take a look at the ideas conveyed there, then take a look at the latest secret "key item" found by wallmarket. "Memories of yuna"... suspicious?

I have no idea what you're talking about. I don't see a key item called "Memories of yuna" or anything similar. What information on that website are you getting these ideas from?


EDIT:
What I CAN do is make a data sheet of different attacks' IDs.

I've just done this. There are just under 1000 unique attacks in this game. I now have a text file and csv file (http://files.filefront.com/MonstersAttackNameszip/;12683545;/fileinfo.html) with a list of their names and the scenes that contain them.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-17 14:43:13
I'd say that WM shouldn't make the kernel.binxx files any more once every file can be edited; in any case, someone who wants to hex edit the kernel.bin files can decompress them using an older version of WM or using one of the other techniques (like this (http://forums.qhimm.com/index.php?topic=7893.msg95080#msg95080)).

And as for changing the properties of attacks that the player can use when they are used by the enemies, gjoerulv confirmed on another thread that one has to make one's own version of the attack, which requires a change of ID and some modification of the AI as well (shared attacks use 60 xx 92, enemy only ones 61 xx xx 92), I've tried this a few times and never got it right.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-17 15:22:15
no!!!! make the kernal.binXX files, i use it for fixing errors. I allways run into mistakes with my pc, for instance it crashes in the middle of it saving. so the kernal.bin files get corrupted. so i have back ups to just slip in the cluster of kernal.binXX files. so please dont get rid of that please. =(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-17 15:49:29
Btw the guy is trying to bring up the fact that ff7 and 10 are connected. interesting, took me a few days but i played all the games involved and watched advent children and i see the connection. after finishing WM Take a look. then play 7, watch advent children, play dirge of cerberus and then play 10 and 10-2. after that think about it and you will see it massive cleary, the writer of ff7 and x10 is trying to make a point about the real world. funny really.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-17 16:15:05
Btw the guy is trying to bring up the fact that ff7 and 10 are connected. interesting, took me a few days but i played all the games involved and watched advent children and i see the connection. after finishing WM Take a look. then play 7, watch advent children, play dirge of cerberus and then play 10 and 10-2. after that think about it and you will see it massive cleary, the writer of ff7 and x10 is trying to make a point about the real world. funny really.

#1. Don't double post. The "modify" button is there for a reason.

#2. I know what that website is trying to say, but I don't know what the ""key item" found by wallmarket. "Memories of yuna"" is that NeoCloudstrife is talking about.

#3. I think I'll add a "save/load pieces" option to the file menu. I don't know why your pc is crashing, but in the interest of accuracy and complete compatibility WM should not exclusively load from them.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2008-12-17 16:55:01
You know, i have no idea what i'm talking about either. and no, it wasn't a key item, it seems to be below "guide book"...the decription had red box tags and squares (which i'm assuming are japanese characters exposed to an unjapanese format)
it wasnt there in PC mode, only PSX mode, and i cant seem to find it anymore. i may have deleted it, however...
also, as a slightly less weird side note, is the kernel responsible for the HP values of enemies? if so, maybe that could be a nice addition to wallmarket :wink:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-17 16:58:26
Everything about enemies is in scene.bin. If you want to change their HP, use Hojo (http://forums.qhimm.com/index.php?topic=7186.0).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-17 17:03:02
sry bout double posting, my pc crashes because my pc sucks and is over packed(laptop, overloaded harddrive makes it shut down cause it gets to hot), and for the other guy enamy hp is determined in scene.bin. ...


i have an idea, why not make wallmarket a universal editer? insted of just kernal go scene and field scripting.....just a thought.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-17 20:00:39
WM will only ever be a kernel editor.

So I created 1.1.7 that no longer creates the kernel pieces on its own. Rather, it will detect their presence and offer the option to open the pieces or not. It will also create them only when the user chooses to (via a new menu option) and delete them as well. This should fix about 90% of the file-related errors that people get since it will only ever read one file unless you tell it otherwise. Down side of this is it will require more memory. Peaked at just over 24MB (*cough**cough*thankyouverymuchWindows*cough* :P) where previously it was peaking out at just under 22MB I think. Let me update the help file a little and I'll throw it on filefront.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-17 21:01:34
Just one little thing, when you have the time, NFITC1 :
Heidegger is listing the scene files in hexadecimal, while most other tools and documents list them in decimal values... Could you change them to decimal, too ? It would allow one to use gjoerulv's enemy list more easily, for instance.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-17 21:36:26
Just one little thing, when you have the time, NFITC1 :
Heidegger is listing the scene files in hexadecimal, while most other tools and documents list them in decimal values... Could you change them to decimal, too ? It would allow one to use gjoerulv's enemy list more easily, for instance.

NO! I HATE YOU PEOPLE AND YOUR DEMANDS. ....wait. Oops, wrong board. teehee ;) Yeah.... Just updated it. :D
Really I've been meaning to update the Attack ID listed above the Attack names. Now it shows the actual game ID rather than the index in which appears in the file. It goes to 65535 on blank ones because their index is NULL (FFFFh).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-18 01:43:09
What I CAN do is make a data sheet of different attacks' IDs.
I've just done this. There are just under 1000 unique attacks in this game. I now have a text file and csv file (http://files.filefront.com/MonstersAttackNameszip/;12683545;/fileinfo.html) with a list of their names and the scenes that contain them.

You... are... amazing.  How do you do these things so quickly?  Are you sleep-depriving yourself or something? (please tell me you're not)

Character IA is in the kernel, isn't it?  It's used for Vincent's Limit Breaks and for Sephiroth.  Will this ever be changable?  And if it's not, do you know where it is stored?  I just wanna see what happens when you make Galian Beast, Hellmasker, etc. controllable, that's all.  As for making Seph controllable, I think I found a certain topic on that a while back.  I'll have to go looking for it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-18 02:55:53
What I CAN do is make a data sheet of different attacks' IDs.
I've just done this. There are just under 1000 unique attacks in this game. I now have a text file and csv file (http://files.filefront.com/MonstersAttackNameszip/;12683545;/fileinfo.html) with a list of their names and the scenes that contain them.

You... are... amazing.  How do you do these things so quickly?  Are you sleep-depriving yourself or something? (please tell me you're not)

Character IA is in the kernel, isn't it?  It's used for Vincent's Limit Breaks and for Sephiroth.  Will this ever be changable?  And if it's not, do you know where it is stored?  I just wanna see what happens when you make Galian Beast, Hellmasker, etc. controllable, that's all.  As for making Seph controllable, I think I found a certain topic on that a while back.  I'll have to go looking for it.

No. I'm not sleep deprived at all. I don't have a very demanding job at the moment so I work on my own projects while I have down time. I slightly modified Heidegger to produce that entire list for me so it's not like I went through all 256 scenes and wrote down the unique attacks

Yes, Character AI is in the kernel and WILL eventually (key word there) be editable. The easiest way to make Sephiroth controllable is to disable his script. That's easy. Changing the script, that's harder. I don't know how much control I'll give to this.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-18 04:57:04
Automatic list production.  Nifty!  I never thought of that.

Character AI, I just want to disable (including Vince's Limits).  Do I just change every AI value to ff or something?  I've never attempted AI editing before.  It seems all so complicated.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-18 06:13:20
Automatic list production.  Nifty!  I never thought of that.

Character AI, I just want to disable (including Vince's Limits).  Do I just change every AI value to ff or something?  I've never attempted AI editing before.  It seems all so complicated.

The data is saved in kernel piece 2 (KERNEL.BIN2 using WM) so you can create the pieces and load from them then save that data. Even though WM doesn't edit that info, it still reads it when it loads. It's like it's begging to be edited :O. Anyway, you'll just need to blank out (make the data FFh) with a hex editor and create the KERNEL.BIN from that.
Well, you obviously don't want to blank out EVERYTHING in that piece or you'll get all screwed up. :) All you'd need to do is blank out four bytes. 0x062A & 0x062B for Vincent and 0x0630 & 0x631 for Sephiroth. Instead of erasing the script, that unlinks the scripts to the characters and the game just ignores them. This SHOULD make the game think they're normal characters. Vincent's characters just have a main script while Sephiroth has Pre-battle and main scripts. However, Vincent's limit forms become uncontrollable if these scripts are disabled. The game is hardwired into looking for specific scripts when the Vincent's turn comes around. If it doesn't find them then his turn is ignored and the timer is reset to 0 and starts over. I don't know if Sephiroth is handled this way or not.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-18 10:54:22
That's both interesting and disappointing, but I can (almost) guarantee that disabling the AI for Sephiroth will make him controllable.  It's one of the things gjoerulv mentioned in his first post on the thread for his Hardcore mod.  "Disabled Sephiroth's AI so that he is controllable in the Kalm flashback" or something to that effect.  Seph is indeed controllable using his kernel, so yeah. (Unfotunately, his spells consume his MP during battle.)

Thx for the info!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-18 16:31:15
Sephiroth can be controllable (I checked it). Just switch his first script off (write 0xffff instead of pointer) His initing script turn on script 2 (attack script) which is run when his timer bar filled. It's not that interesting though.
Vincent limit can't be controllable. His ai turned on from executable. If you switch his attack script off - he will just reset timer bar and will not do anything.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-18 17:04:58
I noticed a weird thing in Wall Market. In my game, Braver and Big Shot randomly damaged my own characters...
I had no clue what caused this, until I decided to uncheck the Random box, in "Limit"'s command target window (in WM "command" tab). The result ? Braver hit all enemies.
Noticing these boxes didn't behave like I thought they would, I remembered that I unchecked the "Short Range" box... ...and as I thought, that's what was making my limit skills hurt my team.

Just to let you know :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-18 17:42:37
I noticed a weird thing in Wall Market. In my game, Braver and Big Shot randomly damaged my own characters...
I had no clue what caused this, until I decided to uncheck the Random box, in "Limit"'s command target window (in WM "command" tab). The result ? Braver hit all enemies.
Noticing these boxes didn't behave like I thought they would, I remembered that I unchecked the "Short Range" box... ...and as I thought, that's what was making my limit skills hurt my team.

Just to let you know :)

WM is assigning all the targeting data for commands correctly so I'm not going to even begin to speculate why it's doing that. Kinda fun though. :D

Progress on the Battle & Growth data is going well. It's really not as hard as I had initially feared. Although I think there should be a disclaimer saying that editing that is advanced stuff and should be treated with caution.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-18 18:07:35
I know you're gonna hate me and my demands even more after this (lol), but could Heidegger list the scene files from 1 to 256, instead of from 0 to 255 ?  :-P

Quote
Progress on the Battle & Growth data is going well. It's really not as hard as I had initially feared. Although I think there should be a disclaimer saying that editing that is advanced stuff and should be treated with caution.

Wow, that's very cool. So, for example, with this, one could remove all stat growth at level up, huh... I previously had the idea of eliminating stat growth and make enemies drop sources with a chance of 100% - so the player would tightly control everyone's evolution over the course of the game (think FFX) . That could be interesting.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-18 18:29:53
I know you're gonna hate me and my demands even more after this (lol), but could Heidegger list the scene files from 1 to 256, instead of from 0 to 255 ?  :-P

No. And this time I mean it. It is referenced in the KERNEL.BIN as a 0-based index so that's how it's going to stay in Heidegger. Sorry.

Wow, that's very cool. So, for example, with this, one could remove all stat growth at level up, huh... I previously had the idea of eliminating stat growth and make enemies drop sources with a chance of 100% - so the player would tightly control everyone's evolution over the course of the game (think FFX) . That could be interesting.

Yup. Totally possible when this addition is made. That actually sounds fun. :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: burnloungaz on 2008-12-18 18:50:18
NFITC1 would you like to be a moderator for the game section of my forum?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-18 21:59:43
NFITC1 would you like to be a moderator for the game section of my forum?

No. I don't want to take the time to be a moderator to anything.

Just thought I'd leave you all with this (http://img238.imageshack.us/img238/9804/growthdatayf2.png). It's incomplete (obviously), but I'm pretty happy with it so far. Just don't ask how long it took go get that graph to work. :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-18 22:15:04
Quote from: Me
wallmarket doesn't recognise changes to the names of spells, weapons etc. that were made to kernel2.bin after I first used version 1.0; interestingly, it does recognise changes made with Teioh before that. The changes do show up in the game.

This is fixed now.

Quote from: Me
An unhandled exception occurs when I open my modded scene.bin; the program seems to work, but doesn't open any of the scenes from EA onwards. It doesn't happen when I open my unmodded backup, so it may be a problem at my end; I'm going to do a bit more experimenting.


But this still happens; it's a "System.ArgumentNullException: Buffer cannot be null" error.

Quote from: NFITC1
Just thought I'd leave you all with this (http://img238.imageshack.us/img238/9804/growthdatayf2.png). It's incomplete (obviously), but I'm pretty happy with it so far. Just don't ask how long it took go get that graph to work. :-P

Looking good!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2008-12-19 00:49:42
I've noticed a tab on that pic that says "spell order".  Does that mean the order of the spells on the menu?  Enemy Skills and Summons included?  Just a curious question.  "Big Gurad" and "White Wind" belong at the top of the Enemy Skill list more so than "Frog Song" and "L4 Suicide" after all.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-19 00:53:32
It only includes spells on the magic menu; I don't know where the data determining in what order the enemy skills and summons go, but it is likely to be in /MENU/MGICMENU.MNU on the PSX version and in ff7.exe for the PC version.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-19 03:06:14
It only includes spells on the magic menu; I don't know where the data determining in what order the enemy skills and summons go, but it is likely to be in /MENU/MGICMENU.MNU on the PSX version and in ff7.exe for the PC version.

Order of enemy skills and summons determining by their id only. There is no special data that sorts them.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-19 14:39:53
Quote from: Me
An unhandled exception occurs when I open my modded scene.bin; the program seems to work, but doesn't open any of the scenes from EA onwards. It doesn't happen when I open my unmodded backup, so it may be a problem at my end; I'm going to do a bit more experimenting.

But this still happens; it's a "System.ArgumentNullException: Buffer cannot be null" error.

This has been fixed. Now that it's not forcing there to be no more or less than 33 scene blocks it works fine. :D I recreated LKM's scene.bin perfectly but modified the original one slightly. It's the same size as it's always been so I'm not real concerned. Heidegger now works to my intent and satisfaction. I'll fix errors/bugs, but I won't add any new features to it. It has been updated on the first post.

I think I need to take a brief moment and explain that last picture I hastily posted yesterday. Obviously there are six tabs there. These are representing all the information in the KERNEL.BIN2 file.

Character Growth:
This is where you can set the curves and limit info of the character in the List box in the upper left. The graph shows the possible range of stats for each level and the sliders cannot go outside those bars. Switching the buttons in the lower left will change the graph for the characters' stats. Changing the numbers to the right of those buttons will cause the characters to use a different curve. The graph uses initial data from KERNEL.BIN3 to get starting values so Yuffie's graphs all start at level 1 with stat 0. This will change if you modify the starting values in the Initial Character Data tab under Initial Data. Cait Sith's and Vincent's Initial Data is not contained in the KERNEL.BIN at all so their starting stats have been hard coded into the data.
Let me also add a disclaimer that the graphs assume that the stat increases are sequential in the bonuses and none are lower than the previous increases. If this is broken, the graph will be inaccurate.
You can also see frames for limits. The drop-downs there will be populated with attack names taken from KERNEL.BIN18 so as those change, these will be updated. To the right of limits X-1 and X-2 (sans level 4) there is a Uses required. This is the number of times that limit must be used to get to the next one. The game will ignore this if the next limit is empty or use count is NULL (FFFFh). The HP Divisor at the bottom right of these frames indicates....something. It's a calculation to do with MHP, but I'm not exactly sure how it calculates it. Either MHP / (Divisor / 100) damage raises the limit bar 1 point (what I suspect) or MHP * (Divisor / 100) is amount of damage required to get the limit bar to full. Regardless, the lower the number, the easier it is to "break limit" or whatever you want to call that action. :)

Curves:
The curves themselves can be edited here. Changing them will be reflected on the graph too and you can make some pretty funky curves. It might even be possible to break the program and stuff. :D On here will also be the stat bonus. The process of calculating that is basically described on the wiki (http://wiki.qhimm.com/FF7/Battle_and_growth_data) and in Terence's Party Mechanics FAQ. So you can get your characters to have stats at level 100 within one level or never have any gain if you so choose. The bonuses are universal, but the curves are there to allow you to change the characters as you wish. :)

Character AI:
Admittedly this is currently blank. It will eventually have Character AI data so you can make characters automated or have them perform some action at the beginning of the battles. This will take the longest time to decode. Sorry, be patient. :(

Random Numbers:
This is just crazy stuff. It's all the numbers 0 - 255 inclusive all jumbled up. When the game wants a random number it randomly picks one of these bytes and uses that as the random number..... Crazy, I know. But you can use this to your advantage. If you set them all to the same number then your chances of really rare things happening becomes 100% (this,of course, assumes that you know the right number to change it to ;) ).

Scene look-up:
This is one of those things I'm going to classify as "use at your own risk". I'm only allowing editing of this because it's there in the KERNEL.BIN2 file. Hojo and Heidegger should be able to change these on their own, but you can set them however you want. The results could very well be disastrous so use with great care. More detail on the structure of this is in the wiki link above.

Spell Order:
This is also described on the wiki link above so I won't bother describing it further.

Have fun speculating on how great this will be. ;)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-19 16:59:32
Quote from: NFITC1
The HP Divisor at the bottom right of these frames indicates....something. It's a calculation to do with MHP, but I'm not exactly sure how it calculates it. Either MHP / (Divisor / 100) damage raises the limit bar 1 point (what I suspect) or MHP * (Divisor / 100) is amount of damage required to get the limit bar to full. Regardless, the lower the number, the easier it is to "break limit" or whatever you want to call that action.

I don't think that it is either of those: they would both require the character to lose more HP before a limit break than they actually do. T Fergusson says this in his "party mechanics FAQ":

Code: [Select]
The Limit Bar dictates when you can use a certain Limit Break.
Depending on your Status Attributes, and which Limit Level you have chosen
to build, it will grow quickly or slowly based on the damage you take.

A character's Limit Bar is measured in Units.  Once a Limit Bar contains 255
Units, the Limit Bar is full, and the character may use their Limit Break.

The conversion rate between damage points and Limit Bar Units is as
follows:

   Units gained = [[300 * HP Lost / Max HP] * 256 * Status Factor / LNum]



In the above formula, Status Factor is equal to 2.0 while in 'Fury' Status,
0.5 in 'Sadness' Status, and 1.0 otherwise.

LNum, on the other hand, is a special number that varies for each character
at each Limit Level.  The following table shows the LNum value for all nine
characters at each of their Limit Levels.

                   Level 1       Level 2       Level 3       Level 4
     Cloud           140           324           435           506
     Barret          129           240           374           450
     Tifa            120           334           509           566
     Aeris           200           284           322           436
     Red XIII        195           300           389           486
     Yuffie          200           300           400           480
     Cait Sith       160           180          9590 *       12760 *
     Vincent         202           244           319           426
     Cid             200           280           380           480

 * Cait Sith does not have either a L3 or L4 Limit Break - these numbers
   are still in the data, however.


Obviously, the higher the number, the larger the percentage of your Max HP
you must lose before you can fill the Limit Bar.  With the numbers above, it
is possible to work out the rough percentage of HP that must be lost:

                   Level 1       Level 2       Level 3       Level 4
     Cloud           46.5%        107.6%        144.4%        168.0%
     Barret          42.8%         79.7%        124.2%        149.4%
     Tifa            39.8%        110.9%        169.0%        187.9%
     Aeris           66.4%         94.3%        106.9%        144.8%
     Red XIII        64.7%         99.6%        129.2%        161.4%
     Yuffie          66.4%         99.6%        132.8%        159.3%
     Cait Sith       53.1%         59.8%         ----          ----
     Vincent         67.1%         81.0%        105.9%        141.4%
     Cid             66.4%         93.0%        126.2%        159.3%

This is backed up by my experience; my Cloud (I may have modded this, I have lost track of the number of mods I have made), has a lv1 divisor of d2; using T Fergusson's formula he would need to lose 83 HP at the start of the game (with a MHP of 302) before getting a limit break. I haven't checked this, but that is approximately the amount of HP he loses before getting a limit break.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NameSpoofer on 2008-12-19 18:49:59
Hello,

Sorry for having some noob questions here but since the fact that I mostly hex edit the kernel.bin, I havent been able to use this program well. So with wall market you can edit the attack sound of the weapon, but does anyone know the index sound of rude's attack? Since i swap rude with barret i want to change the attack sound of barret gunshot to rude's punch.

Also, how do you change the attacking texture of a limit. For example, if i want to change the chain of machine gun shots in barret's ungarmax into a chain of grand spark, how do i do that?

Also, when i swap the limit between cloud and vincent, i got this level overflow glitch (although the battle animations are fine). Any help here?

(http://i57.photobucket.com/albums/g221/sakurai851_091091/primayb4.jpg)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-19 19:02:39
I don't think that it is either of those: they would both require the character to lose more HP before a limit break than they actually do. T Fergusson says this in his "party mechanics FAQ":

. . .

This is backed up by my experience; my Cloud (I may have modded this, I have lost track of the number of mods I have made), has a lv1 divisor of d2; using T Fergusson's formula he would need to lose 83 HP at the start of the game (with a MHP of 302) before getting a limit break. I haven't checked this, but that is approximately the amount of HP he loses before getting a limit break.

Ha. Well I certainly won't argue against Terence. It was mostly a guess on my part anyway with little to no observational data. ;)

Also, how do you change the attacking texture of a limit. For example, if i want to change the chain of machine gun shots in barret's ungarmax into a chain of grand spark, how do i do that?

No clue. Limit data isn't stored in the KERNEL.BIN so you'll have to look elsewhere for that info. The limit's name is stored in the KERNEL so you can use/change that at least.

Also, when i swap the limit between cloud and vincent, i got this level overflow glitch (although the battle animations are fine). Any help here?

What do you mean swap the limit? Are you editing the Growth data manually? At least that picture tells me needed exp is an unsigned Int32 value instead of a signed one. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-19 19:10:03
Also, how do you change the attacking texture of a limit. For example, if i want to change the chain of machine gun shots in barret's ungarmax into a chain of grand spark, how do i do that?

No clue. Limit data isn't stored in the KERNEL.BIN so you'll have to look elsewhere for that info. The limit's name is stored in the KERNEL so you can use/change that at least.

Some info on limit breaks is in my post here (http://forums.qhimm.com/index.php?topic=7928.msg96804#msg96804), although I don't know how to give enemy specific animations to limit breaks, so you might have to work that out yourself.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2008-12-19 20:01:05
Also, how do you change the attacking texture of a limit. For example, if i want to change the chain of machine gun shots in barret's ungarmax into a chain of grand spark, how do i do that?

No clue. Limit data isn't stored in the KERNEL.BIN so you'll have to look elsewhere for that info. The limit's name is stored in the KERNEL so you can use/change that at least.

Some info on limit breaks is in my post here (http://forums.qhimm.com/index.php?topic=7928.msg96804#msg96804), although I don't know how to give enemy specific animations to limit breaks, so you might have to work that out yourself.

Limit attack animation manipulated by animation script. Animation script Id for limits - hardcoded (don't remember which is which). To change effect of chain of machine gun shots in barret's ungarmax into a chain of grand spark you need to change animation script (0xF8[XX] - attach effect of machine gun shot to given model joint).  Impact effect id set with attack data though.
ps: I not looked into difficult animations scripts yet so I can't say this is 100% true, but more or less this is true =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NameSpoofer on 2008-12-19 20:40:50
Limit swap is, well, changing the limit AI while still keeping the same ID. For example, in my Turks Mod, i modify the kernel.bin so that Rufus ( in vincent's battle skeleton ) is able to do vincent's limit break while still keep ID as Cloud. Like this:

(http://i57.photobucket.com/albums/g221/sakurai851_091091/ff72008-12-1916-28-27-23.jpg)
(http://i57.photobucket.com/albums/g221/sakurai851_091091/ff72008-12-1916-28-55-26.jpg)
(http://i57.photobucket.com/albums/g221/sakurai851_091091/ff72008-12-1916-29-30-17.jpg)

The overflow level exp i got is after i edit the kernel and load a save file. When I start a new game, this didnt occur so I believe it is because of the kernel but I have no idea why. Anyway thanks for the information.

Btw kudistos megistos i saw your video on youtube you were able to change some spells to aero3 how did you do that?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-19 20:47:52
Most of it was general editing with wallmarket. The only thing I found troublesome was the animation ID. It turns out that one has to add 4e to the animation ID of the enemy attack and use that as the ID for the magic attack. For example, the animation ID for Rapps' aero3 is 5c; adding 4e to that makes aa, and that the the animation ID one has to put in for a magic spell to use that animation. I found all of the information I needed to do this in this thread (http://forums.qhimm.com/index.php?topic=5896.0).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-20 19:29:38
I'm eagerly awaiting WallMarket's amazing new version. Actually, my whole project is on hold till I can edit the characters' stat growth. 8-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-20 19:39:20
I'm doing something similar; my edits won't be quite as dramatic, but I plan to make the characters much more individual and to make the exp. curve much steeper as the levels increase.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-20 19:47:19
I'm doing something similar; my edits won't be quite as dramatic, but I plan to make the characters much more individual and to make the exp. curve much steeper as the levels increase.

Good idea. I thought about that, too. So it looks my mod will be a "no stat growth" (with the player deciding how to use the many sources), while yours will be a "special stat growth" - with Aeris having the stat growth of a mage while Cloud would have the stat growth of a knight, for example ?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-20 19:52:22
More or less. I'm going to exaggerate the differences between the characters in the normal game; Cloud is going to be strong in all areas, Aeris is going to be a mage, Barret will be a even stronger physically (and have the most HP), Yuffie and Tifa will be very quick, and so on. I'm also going to add some more special effects to their weapons: Barret's machine guns will be able to hit all enemies (by ticking both "start as multiple" and "toggle multiple" in wallmarket), Yuffie's weapons will be able to cause status effects (since she always has something up her sleeve). I'm trying to make every character and every weapon unique, so that the player has to choose who and what will be best to use in battle, and the decision will really matter.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-20 20:14:24
More or less. I'm going to exaggerate the differences between the characters in the normal game; Cloud is going to be strong in all areas, Aeris is going to be a mage, Barret will be a even stronger physically (and have the most HP), Yuffie and Tifa will be very quick, and so on.

This looks like what I did in my own patch, with the starting stats.
Here is the character order I chose for each stat :

HP : Barret > Cid > Cloud > Cait > RedXIII > Tifa > Vincent > Yuffie > Aeris
MP : Aeris > Vincent > Cait > Yuffie > Tifa > Red > Cloud > Cid > Barret
STR : Barret > Cid > Cloud > Tifa > RedXIII > Yuffie > Cait > Vincent > Aeris
MAG : Aeris > Cait > Vincent > Yuffie > Tifa > RedXIII > Cloud > Cid > Barret
VIT : Barret > Cid > Cloud > Red > Cait > Vincent > Tifa > Yuffie > Aeris
SPR : Aeris > Yuffie > Vincent > Cait > Red > Tifa > Cloud > Cid > Barret
DEX : Yuffie > Red > Tifa > Vincent > Aeris > Cait > Cloud > Cid > Barret
LCK : Barret > Cid > Cloud > Tifa > Yuffie > Aeris > Red > Vincent > Cait

It's weird that Cait Sith has the worst luck stat, being a fortune-teller, but this choice allowed some kind of balance.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-20 20:27:35
Cait Sith is the only one with whom I don't know what to do. I never use him, but still...I think that I might give him high HP (that giant stuffed mog must offer some protection), high magic power, low speed and low strength (surely a little cat can't hit very hard). I'm might give him weak weapons and make up for it by letting him use limit breaks more often. Actually, that might be a good way to balance things out; characters with higher overall stats and powerful limit breaks and weapons can get limit breaks less often.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-22 16:11:55
I'm still a bit off in generating the HP values for each level. This is what T. Fergusson says they are:

Code: [Select]
  Cloud  8960-9511
 Barret  9435-9999
   Tifa  8513-9037
  Aeris  8304-8816
    Red  8980-9556
 Yuffie  8471-8993
   Cait  8608-9135
Vincent  8211-8779
    Cid  8682-9284

This is what my test stat prog says:
Code: [Select]
  Cloud  9007-9554
 Barret  9481-9999
   Tifa  8561-9075
  Aeris  8348-8854
    Red  9024-9585
 Yuffie  8516-9037
   Cait  8650-9177
Vincent  8253-8801
    Cid  8727-9318

They're all a little bit high as if they're going half-a-level beyond max (like lvl 99.5). Anyone have any insights on calculating these?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-22 19:12:25
What are the min/max HP values for each ten levels? It might help if we could see whether there is a sudden jump or a steady progression in extra HP. And does your program round down (sorry if the answer to that is obvious)?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-22 20:07:32
What are the min/max HP values for each ten levels? It might help if we could see whether there is a sudden jump or a steady progression in extra HP. And does your program round down (sorry if the answer to that is obvious)?

Heh you may regret that ;)

Code: [Select]
Char Level H MHP L MHP

Cloud: 7 334 323
Cloud: 12 474 441
Cloud: 22 955 892
Cloud: 32 1753 1658
Cloud: 42 2806 2639
Cloud: 52 4069 3826
Cloud: 62 5435 5123
Cloud: 82 7834 7381
Cloud: 99 9554 9007

Barret: 2 246 233
Barret: 12 513 486
Barret: 22 1051 988
Barret: 32 1938 1831
Barret: 42 3179 2988
Barret: 52 4623 4358
Barret: 62 6039 5673
Barret: 82 8338 7830
Barret: 99 9999 9481

Tifa: 2 239 228
Tifa: 12 460 432
Tifa: 22 898 841
Tifa: 32 1570 1475
Tifa: 42 2567 2422
Tifa: 52 3824 3590
Tifa: 62 5133 4832
Tifa: 82 7457 7027
Tifa: 99 9075 8561

Aeris: 2 195 185
Aeris: 12 403 382
Aeris: 22 858 812
Aeris: 32 1573 1484
Aeris: 42 2553 2405
Aeris: 52 3714 3496
Aeris: 62 4961 4665
Aeris: 82 7210 6797
Aeris: 99 8854 8348

Red XIII: 2 244 231
Red XIII: 12 502 475
Red XIII: 22 1023 957
Red XIII: 32 1834 1726
Red XIII: 42 2937 2763
Red XIII: 52 4229 3992
Red XIII: 62 5567 5247
Red XIII: 82 7936 7475
Red XIII: 99 9585 9024

Yuffie: 2 127 127
Yuffie: 12 425 425
Yuffie: 22 852 802
Yuffie: 32 1531 1447
Yuffie: 42 2492 2345
Yuffie: 52 3663 3446
Yuffie: 62 4938 4645
Yuffie: 82 7333 6886
Yuffie: 99 9037 8516

Cait Sith: 2 250 236
Cait Sith: 12 544 506
Cait Sith: 22 1117 1061
Cait Sith: 32 1997 1874
Cait Sith: 42 3162 2978
Cait Sith: 52 4610 4340
Cait Sith: 62 5951 5601
Cait Sith: 82 7911 7444
Cait Sith: 99 9177 8652

Vincent: 2 197 187
Vincent: 12 421 392
Vincent: 22 885 828
Vincent: 32 1591 1497
Vincent: 42 2502 2365
Vincent: 52 3637 3421
Vincent: 62 4864 4571
Vincent: 82 7236 6789
Vincent: 99 8800 8253

Cid: 2 248 234
Cid: 12 492 459
Cid: 22 972 913
Cid: 32 1796 1677
Cid: 42 2906 2732
Cid: 52 4172 3934
Cid: 62 5460 5133
Cid: 82 7738 7281
Cid: 99 9319 8722

That's my calculated upper and lower MHP for each of the 8 brackets and the final level. Yes, it is rounding down and here is the basic way I'm calculating it:

Code: [Select]
BaseDifference = 40 * CurveBase + (level - 1) * CurveGradient  [CurveBase is between -128 - 127 inclusive]
Difference = (1 .. 8) + (100 * BaseDifference / CurrentMHP) - 100   [capped between 0 and 11; L MHP uses 1 and H MHP uses 8]
NewMHP = CurrentMHP + Floor(RandomBonus(Difference) * CurveGradient)

The actual code is significantly different from that, but that's the functional equlivalent. :)

EDIT: I also just found an error in his example:
Quote
The minimum for him in that level bracket would, of course, be 40% of 98, or 58 (remember to round down).
40% of 98 is not 58, it's 39. 58 is ~60% of 98
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-22 21:42:50
Quote from: NFITC1
EDIT: I also just found an error in his example:
Quote from: T Fergusson
The minimum for him in that level bracket would, of course, be 40% of 98, or 58 (remember to round down).
40% of 98 is not 58, it's 39. 58 is ~60% of 98

T Fergusson was WRONG!? :-o Hmmm, he calculated 40% of the maximum gain rather than 40% of the gradient.

I was hoping that it would turn out that your program was starting off a level early (giving you level 3 stats at level 2, and so on), but it doesn't look like that is happening and since I haven't done maths in any serious way since I was 16 I probably won't be of much help in a project like this. If your program is doing exactly what the FAQ says it should do (let me check: it is calculating the base and gradient of the level the character is about to gain, isn't it?), then I really don't know what to suggest. Maybe there are some miscalculations in the FAQ?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2008-12-23 04:27:51
T Fergusson was WRONG!? :-o Hmmm, he calculated 40% of the maximum gain rather than 40% of the gradient.

If this is true.... I honestly dare not claim myself more accurate than T Fergusson. If his equations are right then his math is wrong. THAT I could live with (I am a Computer Engineer AND Math major after all ;) ). What I need now is some hard data. I'm going to start a new game and see if I can get Cloud/Barret to have a higher MHP than T Fergusson's Highest MHP or have a lower MHP than my calculated lowest MHP. Unfortunately, I won't be able to do this until next week (this week containing Christmas and all). If anyone would like to help I'd be happy to see the results.

What to do:
1. Start a game where you aren't cheating or use a un-cheated save game (or at least one where the kernel.bin and the save game's MHPs are unaltered)
2. Get Hojo to increase the EXP a nearby enemy (all nearby enemies) to give, like, 3,000,000 Exp. (they'll have to level up naturally for this to work)
3. Load game with save and get players up to level 99.
4. Record MHPs and do step 3 again IF it falls within both mine and T Fergusson's ranges
5. If one is higher than T Fergusson's Highest MHP then mine are probably right; If one is lower than my lowest MHP, then he's probably right and I have to re-think my calculations

If you get a result please email me the save game. The address is beneath my avatar. Development on WallMarket v1.2.0 is on hold until this is resolved (it would be pointless to release without accurate results).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-23 04:32:31
I'll try that tomorrow.

EDIT: I'm trying this now; if Cloud gets more than 9130HP (of course, he has -4% MHP at the start because of his two materia), I'll report. This could take a while, however, so if anyone else wants to have a go...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2008-12-23 19:58:13
I'd like to help, but since I don't have the PC version, I wouldn't be able to email the save game...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2008-12-23 21:28:28
No luck so far. So, has anyone else given this a go yet?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-03 19:46:03
It's been less than two weeks and I don't see that anyone has gotten anything conclusive. I haven't been able to touch WM since my last post so there's nothing new yet. Has anyone played with MHP lately? I'm not really sure what to do at this point. I'm going to take an old save and set Cloud back to his original initial stats and see what happens. There's just so many things I'm thinking about doing with this last section I can't remember them all...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-01-03 20:21:01
I still haven't had any luck. I've been using a party of Cloud, Tifa and Aeris, and none of the have had MHPs at level 99 outside of either T Fergusson's or your program's ranges, or have even come close; Cloud, for example, has got an MHP between 9200 and 9450 every time. I'll try a few more times tonight.

Has anyone else been playing with it?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2009-01-03 22:23:16
In my patch I made the curves based on TF's work. Then I tested my altering, and after a few tests (lvl 1 - 99) I was satisfied with all curves. The HP growth went precisely as I wanted. They never want outside the range (at each lvl 10 mark that is).

How are you planning the interface for the curve making?

One note to stat tweakers: Unless you make the base stats extremely high (100+) it's useless to alter 'em, 'cause The curve will eventually even the stats out normally. If you want starting stats 100+ the stats will not grow by level.

EDIT: oh I forgot the reason I posted. :P I see you find TF's numbers to be inaccurate. I just wanted to say that by my calculations and testing the formulas seem pretty accurate. It might be hard to find the exact formula though. As a final solution (as Hitler lol) you could just make the user type in the gradients and the bases for the curves. At least then they'll get a way to alter 'em.
I made a proggy to calculate each level HP and MP increase, and randomized the growth (if possible). This is, of course, based on TF's formulas.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-04 06:05:46
How are you planning the interface for the curve making?

There are five steps to curve generation with WM:

1. Get the initial Stat
2. Get the curve that stat is linked to
3. Use the bases and gradients in that curve for each level
4. The curve will be generated based on TFergusson's equations mentioned in my previous post
   4a. The Max MHP will be given the +8 as a random modifier
   4b. The Min MHP will be given the +1 as a random modifier
5. Based on the resultant number in that equation will determine the bonus given to the additional MHP.

EVERY value in this process (except the constants in 4) will be alterable. All initial stats can already be modified. The stat curves will be alterable as will the bases and gradients of each curve and how much bonus is given.

The interface will look something like this (http://img238.imageshack.us/img238/9804/growthdatayf2.png), but that picture is pretty outdated now. It will now only display min and max for a certain level rather than having that entire rectangle (which I always thought looked weird).

It might be hard to find the exact formula though.

This might be my problem. I'm assuming TFergusson's formulas are 100% correct. While all my stats' mins and maxes are lining up perfectly, it's only the MHP and MMP that are different... Those have a lot of variance in them and they may not be getting calculated correctly. And let's face it, the odds of actually getting the Max or Min MHP is so low we might never really see it in the game.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Cheyck on 2009-01-04 08:53:09
Hi !

Sorry but I have a big problem with the last Wallmarket version ... T___T

I used the 0.9.0.2 version of the program before and it functioned very well. When I test to use the program, the error message according to post:

" the application; did not succeed with s' to correctly initialize (0xc0000135)… "

Help me please T___T
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-05 14:53:13
Hi !

Sorry but I have a big problem with the last Wallmarket version ... T___T

I used the 0.9.0.2 version of the program before and it functioned very well. When I test to use the program, the error message according to post:

" the application; did not succeed with s' to correctly initialize (0xc0000135)… "

Help me please T___T

Your email address leads me to believe that you speak French so I will try to word this in a way that Babelfish might understand. ;)

I can not and will not support older versions of WallMarket. Many of them do not work properly. Use the most recent version (1.1.7) and take a screen shot of the error you are receiving. Even if it is in French I will be able to understand what the error is.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dziugo on 2009-01-05 15:27:49
Hi !

Sorry but I have a big problem with the last Wallmarket version ... T___T

I used the 0.9.0.2 version of the program before and it functioned very well. When I test to use the program, the error message according to post:

" the application; did not succeed with s' to correctly initialize (0xc0000135)… "

Help me please T___T
Blind guess - you don't have .NET Framework installed.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-05 21:24:05
http://img522.imageshack.us/img522/7997/charaiig6.png

Just to let ya'll know I'm still thinking about ya. ;)
Not complete, of course. I'm still trying to work out a way to determine if there IS a script there or not. Right now all it does is show an asterisk by the name and section of non-empty scripts.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ChickenWuss on 2009-01-05 21:30:55
Just want to say to the designer of this...TOTAL BRILLIANCE :) Keep up the good work
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-06 19:27:35
This is something I've wanted to do since I started making WM (http://www.youtube.com/watch?v=gRdLgyBDruk). :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-01-06 20:22:33
http://img522.imageshack.us/img522/7997/charaiig6.png

Just to let ya'll know I'm still thinking about ya. ;)
Not complete, of course. I'm still trying to work out a way to determine if there IS a script there or not. Right now all it does is show an asterisk by the name and section of non-empty scripts.

To tell you the truth - script totally uneditable this way. Try to replace some of standart constructs like this

Quote
0x12 0x70 0x20 0x02 0xA0 0x20 0x82 0x90 to SetRandomOpponentToAttack()
and
                if (GetU8(script_offset + pointer + 0)  == 0x60 &&
                    GetU8(script_offset + pointer + 2)  == 0x02 &&
                    GetU8(script_offset + pointer + 5) == 0x92)
                {
                    int action   = GetU8(script_offset + pointer + 1);
                    int address1 = GetU16LE(script_offset + pointer + 3) >> 3;
                    int bits1    = GetU16LE(script_offset + pointer + 3) & 7;

                    LOGGER->Log("RunCommand(0x%02x, h[0x%04x + 0x%02x]);\n", action, address1, bits1);
                    pointer += 6;
                    continue;
                }

I think it was something like this at the beginning and was transformed to this bite code during export.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-06 20:41:57
http://img522.imageshack.us/img522/7997/charaiig6.png

Just to let ya'll know I'm still thinking about ya. ;)
Not complete, of course. I'm still trying to work out a way to determine if there IS a script there or not. Right now all it does is show an asterisk by the name and section of non-empty scripts.

To tell you the truth - script totally uneditable this way. Try to replace some of standart constructs like this

I know. Disassembling is very hard to put it into something resembling the original code. I can easily see it in my head when I look at the code, but getting a computer to do it is a little harder because I'd have to make conditions for all that logic. ATM, the scripts are just read-only. If I make them editable it will be for advanced scripters only. Making it so the average person can edit it is a bit harder. It's easier to go from a high-level code down to a low level code, but even that gets tricky because I can only program what is known.

Ex:
Code: [Select]
11 0000
60 70
01 3820
60 02
32
30
90
Becomes:
&0x0000 = (&0x2038 * 2) + 0x70

That's the first "line" of Vincent's main script and the value stored at 0x0000 eventually ends up being the attack he performs when in form [&0x2038]. Changing that 0x70 changes the attacks he attempts.

Problem is. I can't get the program to display that very well.

UPDATE: I'm too busy playing through CC to have done anything with this recently. Fear not, I'm close to the end. Man, that Costly Punch makes lots of the battles a breeze.

PS - "Hey Vegeta! What's the scouter say about this thread's view count?"
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-01-10 17:42:23
So, do you think that your work would be able to translate into an enemy AI editor? Of course, we have stat and attack editors, but editing the AI is what makes  the best mods ;-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hotdog963al on 2009-01-10 21:48:38
I'd just like to say thank you for creating this amazing tool!

Stunning, quite stunning. I'm so glad there's an active community out there for all this!  :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-01-14 18:01:24
Has it really been over a week since I updated? I guess so. I've been taking Akari's suggestion and running with it. Trying to create something that most people could read. I've run into a problem, however.

Ignoring the fact that this is very hard work, let's also talk about erroneous scripts.

Cloud's Physical Counter and Sephiroth's Main scripts have several instances of two consecutive 72h commands. Only one of these will be called (the first one in each instance) and the second one is completely avoided. Why, then, is it there? Some weird deal with their compiler? Who knows.

Sephiroth's Init script is contradicting TFergusson's data. The script starts out:
Code: [Select]
12 6020
10 2440
80
60 01
90
and it does that three more times with other values in the 10h command. Fergusson states in his nots on command 80h:
Quote
Absolutely *NOTHING* happens (not even popping variables off) if 'y' is a '1x'-type Var.
y is either the first or second pop, he wasn't clear on that, but it's probably the first. However, if you notice the first two commands are to pop 1X-type variables to the stack so according to him this script shouldn't do anything . . . but it does.

This particular script, to me, translates as (in very simple terms):

Code: [Select]
Self.MainScriptOverride = True
Self.Flag(200) = True   [&4029]
Self.Flag(100) = True   [&4028]
Self.Flag(400) = True   [&402A]

I'm not sure what these flags so...I guess I'm slightly stuck. I may just have to leave these in assembler (Which is easiest for me, but I know it's not good for everyone).

UPDATE: So who wants to see the decompiled Character AI Scripts? Yeah, I thought you did. ;)

Cloud.PhysicalCounter:

Code: [Select]
LocalVar:0000 <- 255
If (&BattleVar(Self).CharVar(Ally Covered) == 19)
{
LocalVar:0000 <- 80
}
ElseIf (&BattleVar(Self).CharVar(Ally Covered) == 18)
{
LocalVar:0000 <- 81
}
ElseIf (&BattleVar(Self).CharVar(Ally Covered) == 21)
{
LocalVar:0000 <- 82
}
ElseIf (&BattleVar(Self).CharVar(Ally Covered) == 17)
{
LocalVar:0000 <- 83
}
POP()
If ( (&LocalVar:0000 != 255) )
{
BattleVar(TempGlobal) <- &GlobalVar(0000)
BattleVar(2018) <- &BattleVar(TempGlobal)
BattleVar(TempGlobal) <- &BattleVar(TempGlobal) + 3
If ( (&BattleVar(TempGlobal) > 200) )
{
BattleVar(TempGlobal) <- 200
}
GlobalVar(0000) <- &BattleVar(TempGlobal))
Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; &BattleVar(Self).CharVar(Ally Covered) - 16; &BattleVar(2018); &BattleVar(TempGlobal)
}

Cloud.AllyDeath

Code: [Select]
LocalVar:0020 <- 0
If ( (&LocalVar:0020 < 3) )
{
BattleVar(Target) <- FlagBit(&LocalVar:0020)
If (&BattleVar(Target).CharVar(Status))
{
LocalVar:0000 <- 255
If (&BattleVar(Target).CharVar(Formation) == 19)
{
LocalVar:0000 <- 80
}
ElseIf (&BattleVar(Target).CharVar(Formation) == 18)
{
LocalVar:0000 <- 81
}
ElseIf (&BattleVar(Target).CharVar(Formation) == 21)
{
LocalVar:0000 <- 82
}
ElseIf (&BattleVar(Target).CharVar(Formation) == 17)
{
LocalVar:0000 <- 83
}
POP()
If ( (&LocalVar:0000 != 255) )
{
BattleVar(TempGlobal) <- &GlobalVar(0000)
BattleVar(2018) <- &BattleVar(TempGlobal)
BattleVar(TempGlobal) <- &BattleVar(TempGlobal) - 5
If ( (&BattleVar(TempGlobal) < 50) )
{
BattleVar(TempGlobal) <- 50
}
GlobalVar(0000) <- &BattleVar(TempGlobal))
Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; &BattleVar(Target).CharVar(Formation) - 16; &BattleVar(2018); &BattleVar(TempGlobal)
}
LocalVar:0020 <- &LocalVar:0020 + 1
GOTO: 0x0006
}

Barret.Init

Code: [Select]
Link with scripts on character: 3
Tifa.Init

Code: [Select]
Link with scripts on character: 3
Aeris.GeneralCounter

Code: [Select]
If (&BattleVar(Self).CharVar(Formation) == 19)
{
LocalVar:0080 <- 80
}
ElseIf (&BattleVar(Self).CharVar(Formation) == 18)
{
LocalVar:0080 <- 81
}
ElseIf (&BattleVar(Self).CharVar(Formation) == 21)
{
LocalVar:0080 <- 82
}
ElseIf (&BattleVar(Self).CharVar(Formation) == 17)
{
LocalVar:0080 <- 83
}
POP()
BattleVar(Target) <- &BattleVar(Self).CharVar(40D0)
BattleVar(Target) <-  (&BattleVar(Target).CharVar(Formation) == 16)
If (&BattleVar(Target))
{
LocalVar:0020 <- &BattleVar(Self).CharVar(4160)
LocalVar:0060 <- 0
If ( (&LocalVar:0020 < &LocalVar:0000) )
{
LocalVar:00A0 <- 0
LocalVar:0060 <- 2
}
ElseIf (&LocalVar:00C0)
{
If (&LocalVar:0020)
{
LocalVar:00A0 <- 1
LocalVar:0060 <- 4
}
}
ElseIf ( (&LocalVar:0020 > &LocalVar:0000) )
{
LocalVar:00A0 <- 1
LocalVar:0060 <- 2
}
If (&LocalVar:0060)
{
BattleVar(TempGlobal) <- &GlobalVar(0080)
BattleVar(2018) <- &BattleVar(TempGlobal)
If ( (&LocalVar:00A0 == 1) )
{
BattleVar(TempGlobal) <- &BattleVar(TempGlobal) + &LocalVar:0060
If ( (&BattleVar(TempGlobal) > 200) )
{
BattleVar(TempGlobal) <- 200
}
}
Else
{
BattleVar(TempGlobal) <- &BattleVar(TempGlobal) - &LocalVar:0060
If ( (&BattleVar(TempGlobal) < 50) )
{
BattleVar(TempGlobal) <- 50
}
GlobalVar(0080) <- &BattleVar(TempGlobal))
Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; &BattleVar(Self).CharVar(Formation) - 16; &BattleVar(2018); &BattleVar(TempGlobal)
}

Aeris.DeathCounter

Code: [Select]
If (&BattleVar(Self).CharVar(Formation) == 19)
{
LocalVar:0080 <- 80
}
ElseIf (&BattleVar(Self).CharVar(Formation) == 18)
{
LocalVar:0080 <- 81
}
ElseIf (&BattleVar(Self).CharVar(Formation) == 21)
{
LocalVar:0080 <- 82

}
ElseIf (&BattleVar(Self).CharVar(Formation) == 17)
{
LocalVar:0080 <- 83
}
POP()
BattleVar(Target) <- &BattleVar(Self).CharVar(40D0)
BattleVar(Target) <-  (&BattleVar(Target).CharVar(Formation) == 16)
If (&BattleVar(Target))
{
BattleVar(TempGlobal) <- &GlobalVar(0080)
BattleVar(2018) <- &BattleVar(TempGlobal)
BattleVar(TempGlobal) <- &BattleVar(TempGlobal) - 4
If ( (&BattleVar(TempGlobal) < 50) )
{
BattleVar(TempGlobal) <- 50
}
GlobalVar(0080) <- &BattleVar(TempGlobal))
Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; &BattleVar(Self).CharVar(Formation) - 16; &BattleVar(2018); &BattleVar(TempGlobal)
}

Aeris.PreTurn

Code: [Select]
LocalVar:0000 <- &BattleVar(Self).CharVar(4160)
LocalVar:00C0 <- &BattleVar(Self).CharVar(Status)

Yuffie.Init

Code: [Select]
Link with scripts on character: 3
Vincent.Main

Code: [Select]
LocalVar:0000 <- 98 + &BattleVar(2038) * 2
If ( (Random MOD 10 < 3) )
{
LocalVar:0000 <- &LocalVar:0000 + 1
}
BattleVar(Target) <- &BattleVar(2040)
Perform attack(&LocalVar:0000)

Sephiroth.Init

Code: [Select]
BattleVar(Self).CharVar(Flag(0:4)) <- 1
BattleVar(Self).CharVar(Flag(1:1)) <- 1
BattleVar(Self).CharVar(Flag(1:0)) <- 1
BattleVar(Self).CharVar(Flag(1:2)) <- 1

Sephiroth.Main

Code: [Select]
LocalVar:0000 <- 2
BattleVar(Target) <-  (&BattleVar(Target).CharVar(ElemWeakness) >= 5)
If (&BattleVar(Target))
{
Debug.Print: "RESIST EARTH MONSTER" ; 0
LocalVar:0040 <- 1
}
BattleVar(Target) <-  (&BattleVar(2050).CharVar(Formation) == 25)
If ( ( (&BattleVar(Target) And  (&BattleVar(Target).CharVar(Status) == 1) )  And  (Random MOD 3 == 0) ) )
{
LocalVar:0020 <- 8
}
ElseIf ( (BitCount(&BattleVar(Enemies)) == 1) )
{
BattleVar(Target) <- RandomBit(&BattleVar(Enemies))
If ( (&BattleVar(Target).CharVar(4270) >= 16) )
{
LocalVar:0020 <- 29
}
Else
{
LocalVar:0000 <- 1
}
}
Else
{
BattleVar(Target) <- &BattleVar(Enemies)
If (Random MOD 3 + &LocalVar:0040 == 0)
{
LocalVar:0020 <- 38
LocalVar:0040 <- 1

}
ElseIf (Random MOD 3 + &LocalVar:0040 == 1)
{
LocalVar:0020 <- 32
}
Else
{
LocalVar:0020 <- 35
}
Else
{
POP()
}
Perform attack(&LocalVar:0020)

This was JUST made from the WM 1.2.0 "Proving Grounds". This still isn't editable yet, but this is getting closer.
I realize this is a lot to go through just to read it all and it's probably pretty confusing. Let me point out a few details.

1. This is incomplete. There are still a lot of memory addresses that need to be accounted for. I haven't done them all, just most of the ones that show up in these scripts.
2. Look at Aeris's GeneralCounter. There's an ElseIF statement there near the middle that contains a nested IF statement. Normally this condition would just be ANDed to the ElseIf statement. This is not a mistake with my decompiler, this is the way it's written. Weird. It also needs two more close curly brackets. I'm not sure what to do about that...
3. Sephiroth's Main Script has two Elses at the end of it. This is a very strange (and unnecessary) code that makes disassembling weird. The code at script address 0xDD is "72 E000". For those keeping score, you can see why this is a completely unnecessary line. If 72h does mean go to address xxxx, then this line basically says "go to the next line". The way I keep track of Elses is by where these jump commands are. That POP() statement will just execute in that larger Else statement.

That's about all I have to report. It's taken me about 2 days (about 11 hours work) to get these results from what I had shown previously. I have no clue how to write an assembler for this so this maybe just a translator more than anything else. I will not likely write an assembler, but I might...given the proper incentive of course.


Non-WM-related update: Wondering why I haven't been doing anything WM related lately? I've been fixing the PC MDef bug (http://forums.qhimm.com/index.php?topic=8133.msg97984#msg97984).

WM-related update: I hope people are still looking at this even though it's currently on the second page. I believe I have isolated the damage calculation function and where the 0002h flag is handled. Apparently it does something with the Affect MP.
Here's what it does if that 0002h flag is active (using modified addresses):

Code: [Select]
if (not (&(99E308+6Ch) and 200h) and _   ' Is flag active?
    not (&C3F37C and (1 << arg_4)) and _         ' Not sure what argument_4 is. Often passes
    not (&(99E308+228h) and 40000h) then        ' Some flag it set? Never seen it pass.
var_34 = 1
else
var_34 = 0
end if

var_14 = var_34

var_14 then goes on to be checked with the Affect MP flag.

Code: [Select]
if (var_14 = 0 and _
          not (&(99E308+6Ch) and 100h) and _   'Affect MP?
          not (&(99E308+228h) and 1) and _     'This flag is not on
          not (&(99E308+230h) and C1h) then
     &(99E308+218h) = &(99E308+218h) or 1    'Turn this flag on
end if

If var_14 is 1 it skips several steps afterwards as well.

I don't know what any of these addresses are or what data starts at 0x99E308. Looks like data specific to the current attack since +6Ch is the special flags and something close to +60h and +64 are Camera movements. Apparently that address gets written to address 0x99CE0C almost as soon as the game starts and gets referenced in 1210 places after that! If anyone can identify these addresses let me know. They're probably off from the original 1.02 by a bit.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tsetra on 2009-02-02 17:46:29
Quote
I can tell you several things:
1. This question is more appropriate to be in the WallMarket topic, but oh well
2. Animation index table is NOT in any piece of the kernel. I haven't looked at any other files than the KERNEL.BIN, kernel2.bin, scene.bin and ff7.exe files
3. I can get Heidegger to make me a listing of all the animation indexes used by monsters to see if any of them aren't used.
4. Some of them (particularly summons and limits) are probably in their own category and can't be swapped between them (eg. Howling Moon can't be made to look like Big Guard, Life2, Choco/Mog, etc).
5. When I get this info I'll probably make a new topic about it so everyone knows what it's about (so you know not to check back here Smiley).

Moved.  :-)

Not to annoy you, but I've got yet another issue. I'm not sure what questions I need to ask so I'll just name the problem: basically I'm trying to add entirely new magic into the game. Using WallMarket, the materia can be made to use dummied attack values, but these values apparently are not recognized as spells and so while the materia itself will show the spells (Aero, Aera, Aeraga), when you equip the materia and look at the magic menu, it shows "Cure". I assume that as "Cure" is the first attack ID, this is the default for any attacks going beyond a range acceptable for magic spells.
Do you know if there's a way to expand this?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-02 20:11:37
First let me assure you all that I AM working on version 1.2.0 of WM. There was a recent Ice Storm across Central to Eastern US and I lost power for four days because of it so I'm pretty behind (though I didn't lose anything, thankfully). I'm just at a loss as to how to make the scripts editable. The easiest way is to allow the user to edit the raw bytes themselves and make a "translated version" next to it that tries to make sense of it all. Compiling is something that I have not yet tried and is probably harder than you'd think.

Now, to address Tsetra's question:

I don't know how to add NEW spells to the game. Replacing spells is easy. I recently replaced the "Exit" materia and "Escape"/"Remove" spells with "Kyuushu" Materia and "Drain"/"Osmose" spells. This worked quite well and I'm happy with the result.
Theory of adding spells:
Several Materia are dummied out. It's a simple thing to get a shop to sell one of these dummied materia too so it's easy enough to create a custom magic materia and put it in the game this way. I'm sure there's also a way to put it in a chest or out in the open field somehow, but I haven't even attempted that yet.
The problem comes in the third KERNEL.BIN section (http://wiki.qhimm.com/FF7/Battle_and_growth_data) (bottom of the page) which is currently not editable in WM (that'll be in 1.2.0). This section builds the magic menu from the FIRST 54-56 ATTACKS ONLY!. This is how it keeps track of what is to be displayed in the Magic menu and in what order it is to be displayed in. Also keep in mind that the un-edited Magic menu only has 56 entries to it. No more magics can be added without first increasing the size of this list.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tsetra on 2009-02-02 21:13:42
Right now I've got the materia so you can grab it on the field using the SMTRA opcode for testing purposes, it's pretty easy. So guess from here I just find a way to increase the list and likely shift everything after it down eh? Lovely.  :-(

Thanks for WallMarket by the way, quite a powerful tool.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-09 15:03:37
It occurred to me the other day that I'll have to update Heidegger again. I thought I was happy with it, but now it seems like it's going to be problematic.
As all of you who use it (may or may not) know, every attack that a monster uses in a scene has data in that scene. Well, problem is that the game loads all ~1000 attacks into memory at the beginning of the game. This makes most of the attack data in each scene mostly redundant. Why was it done this way? Who knows. Probably something modular on the part of the developers that they never thought needed changing. This, however, over inflates the SCENE.BIN file as it is with many occurrences of the same attack data for every monster. The attack "Body Blow" is in 38 different scene files! However, it's useless to edit just one of them if you want them all to be that attack unless it's the first one. If the game reads an attack data for an attack that is already loaded it ignores it. So what I want to do with it now is eliminate the scene selection altogether and just have a HUGE list of attacks to the attack selection box on the left of it. Then when it saves it will re-write pretty much every scene that has that attack so you can know that it is going to do that attack. But it will only load attacks IDs >= 256. The others are in the KERNEL.BIN and limit breaks so changing them in the scene.bin won't do any good.
So I'll have to devise a way to inform the user which monster(s) use each attack and which attacks each monster uses. Sounds complicated because it is. :( Oh well. I like a challenge.
It also does this with monster data. If a monster is in multiple scenes, it will only use the first one's data.

WM 1.2.0 is coming along. I've just got to be able to save the Character AI and we're in business. Actually, then I have to merge my test prog into WM and THEN we'll have 1.2.0. :) I'll get there eventually. Just continue to have patience.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-02-09 17:50:22
M'kay, I'm confused. Do you mean that every attack with the same attack ID will have the same data as the first instance of that attack in the scene.bin file? And monsters as well? (I presume that would be based on ID too). For example, if there were an attack with the ID 0101 in the first scene file, the 27th, the 36th and the 129th, would the game would always use the data from the first file?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-09 18:27:58
M'kay, I'm confused. Do you mean that every attack with the same attack ID will have the same data as the first instance of that attack in the scene.bin file? And monsters as well? (I presume that would be based on ID too). For example, if there were an attack with the ID 0101 in the first scene file, the 27th, the 36th and the 129th, would the game would always use the data from the first file?

I think so. Two things could happen when a scene is loaded with an already loaded attack.
#1, the game sees that that attack ID is loaded in memory and doesn't re-load it.
#2, the game re-writes it with the attack in the scene file each time.

The KERNEL.BIN attacks always trump the scene.bin attacks. I changed Demi in KERNEL.BIN and a monster that does Demi used the KERNEL.BIN's data to do damage.

I'm pretty sure this happens with monsters too, but the other way around. They might be different depending on where you encounter them. ie, there are a few instances of Gargoyles in the later scenes even though the data is identical. This seems to me, and hopefully many other people, that this is a very inefficient way of storing the data for monsters and attacks as there are several repeated blocks of identical info.

In scene 6 (which, I believe is a dummied scene anyway) there is an Adamantaimai, but in scene 44 it appears again with an identical set of data, AI, attacks, etc. Editing the first instance did nothing. I had to change the script of the second one to get the results I wanted.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-02-09 18:54:21
This is quite odd. I've just tried giving the MPs different MHP in different scenes as well as changing the attack data for their machine gun attack (using Heidegger ftw!), and it worked for me; the MPs outside of the reactor had different MHP and different damage calculation for their machine gun attack from the ones inside.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-09 20:43:28
This is quite odd. I've just tried giving the MPs different MHP in different scenes as well as changing the attack data for their machine gun attack (using Heidegger ftw!), and it worked for me; the MPs outside of the reactor had different MHP and different damage calculation for their machine gun attack from the ones inside.

Hmm. Maybe it's because I was using a dummied scene that the first Adamantaimai didn't have any effect on the other one. But I know that KERNEL.BIN attack data trumps the data in the scenes so I assumed the attacks in the scene did too. If it really can be different from scene to scene, I wonder why identical attack data is written into then and uniquely indexed. Hmm....
I GOT IT! The developers were idiots. :P Actually, I don't know why they did this. I had assumed, when I started Heidegger, that the attack indexes were just 0-31 since I knew there are no more than 32 attacks in each scene. This is quite perplexing. I still want to be able to edit every instance of an attack, but I guess I should allow for individual scenes as well...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Sephiroth 1311 on 2009-02-10 12:34:44
Hello there and congrats for your wonderful program.  :-D
I was curious to know if it can compress the text within the files (not using the gzip compression, but with that other system used in PSX kernel.bin, I'm positive you noticed and hacked it), and if it's possible to edit the text table used by the program (in order to make it use special characters, graphical DTEs, etc.).

I'm working on a translation of the game and I'm having problems with maximum size (as of now I just put graphical DTEs which work flawlessly, but I'm sure it's possible to have even more space for translating with the compression).

Ciao!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hay on 2009-02-10 12:37:46
S'up dude! That's pretty amazing piece of software you've made, honestly. I'll surely check it out more as soon as I get enough free time for "fun". Thanks for your great work and keep it up.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-10 13:49:43
Hello there and congrats for your wonderful program.  :-D
I was curious to know if it can compress the text within the files (not using the gzip compression, but with that other system used in PSX kernel.bin, I'm positive you noticed and hacked it), and if it's possible to edit the text table used by the program (in order to make it use special characters, graphical DTEs, etc.).

I'm working on a translation of the game and I'm having problems with maximum size (as of now I just put graphical DTEs which work flawlessly, but I'm sure it's possible to have even more space for translating with the compression).

Ciao!

Do you mean the compression detailed at the bottom of this page (http://wiki.qhimm.com/FF7/FF_Text)? Then yes. WM already uses that compression method to write text to the KERNEL.BIN. It can be slow on some systems so I made it optional. Just remember to click the "Update Text" box next to the PSX button when you want to change the text in the KERNEL.BIN. It will have to be in PSX mode for this to be available. WM produces exact binary clones of all pieces of the original data all the way down to the gzip file (with one exception that I can't quite explain). I can't say the same for the kernel2.bin file because WM actually makes it smaller (but still fully functional).
To answer your second question about the text table. No, it cannot be changed externally. If you have a custom table of characters in your game I can only suggest that you use that as a reference against that page I linked to earlier.

I just completed the last major programmatical hurdle in version 1.2.0. Don't expect an update very soon because now I have to
1. Get it to save the scripts back to the data it holds
2. merge my "proving grounds" app with WM
Not HARD tasks, but it'll take time. Just wanted everyone to know that barring me getting hit by a bus that the next version is coming. If I make this thing look easy then I'm sorry. ;)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Sephiroth 1311 on 2009-02-10 15:24:34
Hello there and congrats for your wonderful program.  :-D
I was curious to know if it can compress the text within the files (not using the gzip compression, but with that other system used in PSX kernel.bin, I'm positive you noticed and hacked it), and if it's possible to edit the text table used by the program (in order to make it use special characters, graphical DTEs, etc.).

I'm working on a translation of the game and I'm having problems with maximum size (as of now I just put graphical DTEs which work flawlessly, but I'm sure it's possible to have even more space for translating with the compression).

Ciao!

Do you mean the compression detailed at the bottom of this page (http://wiki.qhimm.com/FF7/FF_Text)? Then yes. WM already uses that compression method to write text to the KERNEL.BIN. It can be slow on some systems so I made it optional. Just remember to click the "Update Text" box next to the PSX button when you want to change the text in the KERNEL.BIN. It will have to be in PSX mode for this to be available. WM produces exact binary clones of all pieces of the original data all the way down to the gzip file (with one exception that I can't quite explain). I can't say the same for the kernel2.bin file because WM actually makes it smaller (but still fully functional).
To answer your second question about the text table. No, it cannot be changed externally. If you have a custom table of characters in your game I can only suggest that you use that as a reference against that page I linked to earlier.

I just completed the last major programmatical hurdle in version 1.2.0. Don't expect an update very soon because now I have to
1. Get it to save the scripts back to the data it holds
2. merge my "proving grounds" app with WM
Not HARD tasks, but it'll take time. Just wanted everyone to know that barring me getting hit by a bus that the next version is coming. If I make this thing look easy then I'm sorry. ;)
Hey, thanks for the link! I'll make good use of it. ;)
Anyway, if I were you (but I don't know how hard it is, so I may be wrong ;-) ), I wouldn't disdain an option to load external tables in your wonderful program. I assure you that DTEs save a lot of space!) and special characters.

Thanks again.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-10 18:12:15
Hey, thanks for the link! I'll make good use of it. ;)
Anyway, if I were you (but I don't know how hard it is, so I may be wrong ;-) ), I wouldn't disdain an option to load external tables in your wonderful program. I assure you that DTEs save a lot of space!) and special characters.

Thanks again.

I have been toying with the idea of a translatable GUI since I know that some people that use WM are not monolingual English speakers. I'm not exactly sure what you mean by DTEs (could you give me an example?), but on context it seems that that wouldn't be an illogical extension of that idea. Currently, you can enter any of the special characters listed on that table into the description fields. I just currently don't have a way to allow the user to do that easily. I've tried several things and wasn't satisfied with any of the solutions. Copy/Paste is the only option left to the user at the time.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Sephiroth 1311 on 2009-02-10 19:59:42
Hey, thanks for the link! I'll make good use of it. ;)
Anyway, if I were you (but I don't know how hard it is, so I may be wrong ;-) ), I wouldn't disdain an option to load external tables in your wonderful program. I assure you that DTEs save a lot of space!) and special characters.

Thanks again.

I have been toying with the idea of a translatable GUI since I know that some people that use WM are not monolingual English speakers. I'm not exactly sure what you mean by DTEs (could you give me an example?), but on context it seems that that wouldn't be an illogical extension of that idea. Currently, you can enter any of the special characters listed on that table into the description fields. I just currently don't have a way to allow the user to do that easily. I've tried several things and wasn't satisfied with any of the solutions. Copy/Paste is the only option left to the user at the time.
DTE (Dual Tile Encoding) means that a single byte is used for two letters.
Take a look at my edited font:

(http://www.sadnescity.it/backup/saffo/font_ff7.bmp)

As you can see, I replaced many of the characters which Italian doesn't use and put DTEs at their place.
Of course, those DTEs are optimized for an Italian kernel.bin, but we'd like to have even more space with that compression. ;)

One thing is sure: if you make the right DTEs, you can almost halve the size of some (uncompressed) files.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-10 20:44:14
Ah, Yes. Well, this certainly looks easy enough assuming that I did have an external translate table. It looks like everything from 60h onward (with a few exceptions) is never used in the game anyway. It wouldn't be a big deal, I suppose, to change them. The FFVII font itself is just a 32-byte shift from an ANSI standard font family anyway.
Yeah, I've run into DTEs (I never called them that) before while editing FFV and VI. They have pairings like "ng", "st", "th", etc. common pairings that show up all over.
WM is currently looking at text character by character to see how to store them. I'd have to change it to two characters, but I don't think that'll be an issue since the compressions is a byte-wise compression and not text-wise. I'll look into it. Thanks for the idea!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hotdog963al on 2009-02-16 20:47:49
[PSX] Uh-oh!

I tested my NTSC mod on the PSP and it crashes when I go onto the Equip Menu, and on the battle swirl!
Also: when I import my NTSC kernel onto a PAL image, it hangs after the Squaresoft logo.
Works fine on the emulator... interesting...

Edit: tried making a new Kernel mod, changing a small amount- yep works!
What could make my new Kernel break on the PSP I wonder? It's smaller in size and is 0-padded when imported with CDMage.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-02-16 21:55:21
[PSX] Uh-oh!

I tested my NTSC mod on the PSP and it crashes when I go onto the Equip Menu, and on the battle swirl!
Also: when I import my NTSC kernel onto a PAL image, it hangs after the Squaresoft logo.
Works fine on the emulator... interesting...

Edit: tried making a new Kernel mod, changing a small amount- yep works!
What could make my new Kernel break on the PSP I wonder? It's smaller in size and is 0-padded when imported with CDMage.

Have you tried not padding it at all?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hotdog963al on 2009-02-16 22:09:26
Have you tried not padding it at all?
Well that's not going to work. Hmmm.

The Kernel which doesn't work on the PSP is smaller, and gets padded with 0s.
The working one, is exactly the right size.

The confusing part is that it works PERFECTLY in the emulator.
(It's also a complete b*tch to test, as I've got to convert it and copy it over every time I do anything... xD)

!! Come to think of it, this and the two posts above should probably be moved into a separate topic under Programming Feedback. If a moderator could do this I'd be most grateful. Sorry! *gulp*
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-02-18 16:47:07
Well i just burned a test of my patch onto a disc and tried it on my psx it crashes in the Materia menus and magic menus and strangely enough the limit menu too :S this is both out of and in battle anybody any idea why this is its KERNAL related it has to be. Could it be because i changed the magic names? :|
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-02-18 19:23:55
The fact that the game even loads means the KERNEL.BIN is correct. Your problem may be that you've made the name of at least one magic and/or Materia too long. Game can't display it so game crashes. What was it you changed?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-02-18 21:03:58
The fact that the game even loads means the KERNEL.BIN is correct. Your problem may be that you've made the name of at least one magic and/or Materia too long. Game can't display it so game crashes. What was it you changed?

I changed alot of the names to the ones from final fantasy 8 such as thundara cureaga changed comet2 to CometRain stuff like that. Weird thing is works in the emulatior fine  :?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hotdog963al on 2009-02-18 22:49:00
Ok that's probably my problem, what's the limit for a name?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-02-19 16:55:20
Ok heres everything i have modded for the kernal in wallmarket http://www.imagenerd.com/uploads/moddedinwallmarket-s0uDd.png NOTE: Blank spaces are weapons you cannot get on Disc one.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2009-02-19 20:11:45
Code: [Select]
Self.MainScriptOverride = True
Self.Flag(200) = True   [&4029]
Self.Flag(100) = True   [&4028]
Self.Flag(400) = True   [&402A]

I'm not sure what these flags so...I guess I'm slightly stuck. I may just have to leave these in assembler (Which is easiest for me, but I know it's not good for everyone).

These flags are the immune flags. Immune to physical, magical and statuses. I'm not positive on the 0x402A (statuses) though, just an educated guess.

And it is possible to make multiple attacks with the same IDs in different scenes and have different effects on those attacks. I did that over and over when creating my mod. The game reads from one scene at a time not every scene each battle. It's quite logical if you think about it. There actually are no IDs for an enemy, just their battle model.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-03-22 10:55:10
Any news on progress?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-03-22 20:20:01
Any news on progress?

It has been over a month now, hasn't it?

Well, here's the deal. I'm currently trying to find out the best way to allow editing of Character AI. All other parts are functioning to my satisfaction. What the hold-up is is all the addresses for different memory addresses. Like 4198h being size multiplier and such. Since a lot of these are unknown it wouldn't make sense to hard-code them into the program. So I think it'll be easier to make a WallMarket.dat file for the prog to pull known values from so people can edit that. But then, I also want to allow for DTEs like Sephiroth 1311 mentioned a few posts ago. Again, not a complicated task, but it would require a significant re-write.

Also, work and school have picked up a bit and I won't have a lot of, shall we say, domestic time to work on it until Summer (specifically July).

It WILL happen. I promise. Unless something unfortunate happens and I lose everything. It's all backed up in various places so there's not much danger.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-03-22 21:26:37
So, does this mean you have the stat curves sorted out? I remember them causing a few problems.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-03-22 23:49:36
So, does this mean you have the stat curves sorted out? I remember them causing a few problems.

There never was a "problem" per se. The only issue was that my HP/MP Max Values were higher than TFergusson's values. A while ago I decided to just say "to heck with it" and claim that they're only estimations. Seeing as the odds of getting the lowest possible value and the highest possible value are infinitesimal, it's really not worth clamoring to get the completely accurate numbers.

EDIT: In keeping with the post above, I have made a basic dat file at http://files.filefront.com/StatGrowthdat/;13518937;/fileinfo.html for WallMarket to potentially use as a database for the text characters and the memory addresses. I'd ask that people look at it and try to identify the many still-unknowns or clarify some of the existing ones. Perhaps this list should be on the wiki somewhere on a page linking from either the Battle Scenes or Battle Script pages.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Psychotic Ninja on 2009-03-27 18:03:17
I could be a moron (it's been a long time sense I've played ff7 and installed mods for it.) But when ever I try running WallMarket I get "The application failed to initialize properly (0x0000135). Click on OK to terminate the application." I have no clue what I'm doing wrong. Any suggestions?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dziugo on 2009-03-27 18:38:08
I could be a moron (it's been a long time sense I've played ff7 and installed mods for it.) But when ever I try running WallMarket I get "The application failed to initialize properly (0x0000135). Click on OK to terminate the application." I have no clue what I'm doing wrong. Any suggestions?
Install .NET Framework.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Psychotic Ninja on 2009-03-27 19:59:42
I could be a moron (it's been a long time sense I've played ff7 and installed mods for it.) But when ever I try running WallMarket I get "The application failed to initialize properly (0x0000135). Click on OK to terminate the application." I have no clue what I'm doing wrong. Any suggestions?
Install .NET Framework.

Thank you.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-03-28 15:07:19
'Nother update:

Char AI editing continues to elude me. I have no idea what the best method for doing this is. I don't want to release even a mostly-working version until this is resolved. I keep getting errors all over the place. If anyone has VB.NET programming experience with DataGridViews please let me know. I'm getting massive headaches from this. :(

As you may have suspected, I've been considering integrating this AI editing into Heidegger. I don't see how this could be any different than integrating what I've got into WallMarket, but like I said it's not ready yet.

Also, for those who haven't been keeping up with this topic (http://forums.qhimm.com/index.php?topic=8253.0) I suggest you check it out. Interest seems to have died or at least bottomed-out for the time being. Either way, I was successful in creating a simple LZS program and will upload it to my filefront page soon (mostly so people stop emailing me for it. I haven't been ignoring you, just haven't had the time to do anything about it).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-03-28 15:23:11
May I suggest uploading files somewhere else? FileFront is closing (http://farewell.filefront.com/) in a few days.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-03-30 14:45:49
May I suggest uploading files somewhere else? FileFront is closing (http://farewell.filefront.com/) in a few days.

Already on it. I'm going to move them all over to mediafire and repost links later today.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ct_bolt on 2009-04-01 14:46:10
 8-) I just downloaded everything. Thank you NFITC1 for all the wonderful work you do.

GREAT WORK!  :-o :lol: 8-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-01 17:04:13
So let me take this opportunity to say I planned on playing an April Fool's day joke on the users of WallMarket by either disallowing downloads or bringing up some pop-up claiming that the user had "fell for it" and they are now infected with a virus. Needless to say, I dismissed this idea shortly after I had it as being something rude and even annoying to pull off. That said, it does NOT surprise me that FileFront's "we're going down" JOKE (yes it was a joke as they are still working just fine) was false. It appears that the users that post on the forums also thought it wasn't funny (http://forums.filefront.com/general-discussion/396036-filefront-closure-joke-funny-vote.html). I had theorized from the first time I read it that it was a joke since Filefront is run by Ziff Davis Media who also runs PCMag, 1Up, and EGM magazines and are in no danger of going under either (unless Filefront really DID go down). Regardless, as a result of this uncouth prank (and because I'm stubborn) I'm not hosting my files on filefront anymore and they will remain on Mediafire. All future updates will go there. I moved all my files to Mediafire not because I fell for the prank, but as a precaution in the rare event that it wasn't. Now I'm not going back.

PS - The password issue on the LZSCDec has been resolved. As always, if there's any problems with it, notify me immediately via PM.

PPS - You know what I DID think was funny? Youtube displaying everything on the page of your first video upside down, including the text. Now THAT'S funny. :D You know what might also be funny? Spell checkers that randomly tell you that correctly spelled words are incorrect and tries to correct them with common misspellings.
You know the origin of April Fools' Day? Christmas used to be held on April 1st. After it was switched, the people that still celebrated it on April 1st were called "April Fools". At least, that's how I hear it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-04-01 17:11:47
An April Fools joke, eh?  :evil: The thought did cross my mind, but I assumed that an April Fools joke would have had them closing down on 1st April; 30th March was a strange choice.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-01 19:04:46
An April Fools joke, eh?  :evil: The thought did cross my mind, but I assumed that an April Fools joke would have had them closing down on 1st April; 30th March was a strange choice.

But, see? That's what makes the jokes so convincing. My wife worked at a store once where the manager pulled this nasty April Fools' prank on her and her fellow cashiers that started back on March 1st. He told them that one of them (of about 4 or 5) had been stealing money from the register and the one doing it would be caught. When it was revealed it was a joke there was a lot of confessed assumptions and hurt friendships afterward.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-04-01 19:54:57
Hmmm, assuming that manager told everyone it was just a prank on 1st April, that might count as an April Fool's joke (albeit a cheeky one), but the FileFront joke was over and done with on 31st March; I'd say that's pushing it a little.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-04-03 18:35:02
Quote
Announcement - FileFront has been acquired by the original founders of the site and will NOT be suspended as previously announced. This is NOT an April Fool's Joke.
Quote
FileFront has been acquired by the original founders of the site and will NOT be suspended as previously announced. This is NOT an April Fool's Joke.

After learning about Ziff Davis Media's plan to suspend FileFront at the end of March, the original founders of FileFront made the decision to buy it back from Ziff Davis Media.

We're happy to announce to the gaming community that as of today, April 1st, 2009, FileFront is a completely independent company again and is no longer part of Ziff Davis Media. All previously suspended services should be active and working again. We thank Ziff Davis Media for their cooperation and willingness to keep the site and community alive.

Due to the very unfortunate timing of this event and related announcements on March 24th and April 1st (April Fool's Day), we'd like to make it perfectly clear that:

1) The March 24th announcement about FileFront suspending its operation was NOT an early April Fool's joke.

2) This announcement about the original founders buying back FileFront from Ziff Davis Media is also NOT an April Fool's joke.

3) We're making this announcement on April 1st because the deal was completed today and we want to bring all services back online immediately.

4) We would NEVER suspend FileFront as an April Fool's joke.

5) We are happy to be back!

FileFront has existed in one form or another (originally as FileLeech and Voodoo Extreme's downloads) since 1997. In the last 12 years, FileFront has become the gaming community's most comprehensive and trafficked library hosting millions of files for thousands of games while requiring no registration and providing uncapped download speeds. We look forward to improving FileFront and serving the gaming community for years to come.

Welcome home. Game On!

Email us, [email protected]

To me this explanation seems quite believable.

Anyway, it's always nice to hear what is current status, what has been fixed/changed/added if anything. WM and Heidegger are both great tools and definitely faster than hex-editing.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dahfa on 2009-04-03 20:20:06

zlib1.dll already in same folder with WallMarket.exe

zlib1.dll also in System32 Folder

.NET Framework already installed prior to having a program(a dsbuff final ver.) before that also required .NET Framework(In march)
proves that .NET Framework already installed.

(http://i44.tinypic.com/20zwkgn.jpg)

yet this happen..

(http://i39.tinypic.com/20fyrut.jpg)

couldn t get to work.

any ideas?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-03 21:00:45

zlib1.dll already in same folder with WallMarket.exe

zlib1.dll also in System32 Folder

.NET Framework already installed prior to having a program(a dsbuff final ver.) before that also required .NET Framework(In march)
proves that .NET Framework already installed.

yet this happen..

couldn t get to work.

any ideas?


You need .NET 3.5; zlib1.dll not appearing will throw a different kind of error.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dahfa on 2009-04-03 22:40:14
it downloaded from here the .NET framework 3.5 sp 1

http://www.microsoft.com/downloads/thankyou.aspx?familyId=ab99342f-5d1a-413d-8319-81da479ab0d7&displayLang=en

then it ask to either repair or uninstall when i open  the dotnetfx35 exe

and so i did
(http://i39.tinypic.com/voobr6.jpg)

but still its not working.


Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-04 04:43:27
Uninstall the 2.0, then install the 3.5. Repair is for repairing a 3.5 that is no longer working.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: dahfa on 2009-04-04 16:06:18
I must be one heck of a problem for you guys. :mrgreen:

uh...it doesnt work.

now its turning into a .NET framework troubleshooting thread..sorry...

okay more info:

in my add/remove control panel it say 3.5 already installed
(http://i41.tinypic.com/2q1dkyt.jpg)

in my start up thingy it says 2.0
(http://i41.tinypic.com/28gxu0x.jpg)

or i interpret that wrong?

I'm aware of being a nuisance...
but uh okay one last shot at this.then if its still not working...

.... i'll continue to bug you guys..(No .j/k)

I'll just give up.(instead ill ask someone to edit the kernel for me...i just want buster sword with 8 materia slot and as powerful as ultima weapon)



Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-04 19:14:42
1. Uninstall the 3.5 and then reinstall it.

2. If you continue to have problems, create a topic in the Tech support board.

3. The old version of WM (0.9.29) still exists and doesn't require the .NET framework (though it is slower and doesn't have as many features).

EDIT: Well shut my mouth. Filefront was NOT playing an April Fools joke on us. The timing was just such an almost unbelievable coincidence. This has, at least, restored some faith in them although we only have their word that it was not after the fact that everyone said that it was a bad joke... For now, I'm willing to accept this explanation as all the copyright Ziff Davis Media footers have been removed from the site. According to Jeff Mills, he and several others lost their jobs because of this. I never took the files away from filefront and now I feel bad about the things I said about them. I called it an "uncouth prank" and I apologize to anyone affected by its actual (albeit very temporary) closing. After moving things to Mediafire I knew I wouldn't like it as much as filefront and I'll probably re-update the links later.

UPDATE: Who'd like to try out the new version of WM before it modifies CharacterAI, but DOES modify all the other data in the kernel.bin2 section?
RE-UPDATE: I had planned on releasing 1.1.8 today, but I don't have all the files on one machine to do that with. Sorry. :( So, I'll do my best to be able to get it all together tomorrow morning. This new version will let you edit Character Growth, curves, scene order, random numbers, and magic order. Pretty much everything on this list (http://wiki.qhimm.com/FF7/Battle_and_growth_data#General_data_layout) with the exception of addresses 0x61C - 0xE1B. This is Character AI, which I'm still working on because the interface is still quite buggy. In fact, It's possible that I overlooked a bug in the new functions that I had come across, but I have now forgotten what it was. :( If you happen across this bug (should it exist) let me know and I'll thank you in the about box with all the other thanked people and give you a cookie (cookie may or may not have been eaten by the time the bug is reported). I DO know that it can read and write all other pieces of that KERNEL.BIN section now. I was able to read it correctly and dynamically spew it back out in the exact same order (dynamic meaning I reconstructed it, not just read and spit it back out byte-for-byte). So look forward to tomorrow when characters can be given real classes! :D I'm already planning some myself.
PS - If someone would be so kind as to bump this once 1.1.8 is released, I'd also appreciate it. ;)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-04-14 16:39:35
1. Uninstall the 3.5 and then reinstall it.

2. If you continue to have problems, create a topic in the Tech support board.

3. The old version of WM (0.9.29) still exists and doesn't require the .NET framework (though it is slower and doesn't have as many features).

EDIT: Well shut my mouth. Filefront was NOT playing an April Fools joke on us. The timing was just such an almost unbelievable coincidence. This has, at least, restored some faith in them although we only have their word that it was not after the fact that everyone said that it was a bad joke... For now, I'm willing to accept this explanation as all the copyright Ziff Davis Media footers have been removed from the site. According to Jeff Mills, he and several others lost their jobs because of this. I never took the files away from filefront and now I feel bad about the things I said about them. I called it an "uncouth prank" and I apologize to anyone affected by its actual (albeit very temporary) closing. After moving things to Mediafire I knew I wouldn't like it as much as filefront and I'll probably re-update the links later.

UPDATE: Who'd like to try out the new version of WM before it modifies CharacterAI, but DOES modify all the other data in the kernel.bin2 section?
RE-UPDATE: I had planned on releasing 1.1.8 today, but I don't have all the files on one machine to do that with. Sorry. :( So, I'll do my best to be able to get it all together tomorrow morning. This new version will let you edit Character Growth, curves, scene order, random numbers, and magic order. Pretty much everything on this list (http://wiki.qhimm.com/FF7/Battle_and_growth_data#General_data_layout) with the exception of addresses 0x61C - 0xE1B. This is Character AI, which I'm still working on because the interface is still quite buggy. In fact, It's possible that I overlooked a bug in the new functions that I had come across, but I have now forgotten what it was. :( If you happen across this bug (should it exist) let me know and I'll thank you in the about box with all the other thanked people and give you a cookie (cookie may or may not have been eaten by the time the bug is reported). I DO know that it can read and write all other pieces of that KERNEL.BIN section now. I was able to read it correctly and dynamically spew it back out in the exact same order (dynamic meaning I reconstructed it, not just read and spit it back out byte-for-byte). So look forward to tomorrow when characters can be given real classes! :D I'm already planning some myself.
PS - If someone would be so kind as to bump this once 1.1.8 is released, I'd also appreciate it. ;)

I can't wait to test this and see what we can do with character classes :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 15:24:01
Well, phooey on all of you. I found two bugs including the one I forgot about.

1) Weapon "Model ID" wasn't being saved correctly at all. It was reversing the byte order. This has probably existed since version 1.0.0 and no one ever said anything about it.

2) The graph doesn't look at the initial stats like I wanted it to.

I'm fixing these right now as I type (sorta, I can't type two things at once :) ) and 1.1.8.1 will be out soon.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-04-17 15:34:05
Well, phooey on all of you. I found two bugs including the one I forgot about.

1) Weapon "Model ID" wasn't being saved correctly at all. It was reversing the byte order. This has probably existed since version 1.0.0 and no one ever said anything about it.

2) The graph doesn't look at the initial stats like I wanted it to.

I'm fixing these right now as I type (sorta, I can't type two things at once :) ) and 1.1.8.1 will be out soon.

I can't get the new one to work i got the framework and packs still nothing it says something about a debug error?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 15:41:24
Well, phooey on all of you. I found two bugs including the one I forgot about.

1) Weapon "Model ID" wasn't being saved correctly at all. It was reversing the byte order. This has probably existed since version 1.0.0 and no one ever said anything about it.

2) The graph doesn't look at the initial stats like I wanted it to.

I'm fixing these right now as I type (sorta, I can't type two things at once :) ) and 1.1.8.1 will be out soon.

I can't get the new one to work i got the framework and packs still nothing it says something about a debug error?

Can you get a screeny of the error?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-04-17 16:49:44
Well, phooey on all of you. I found two bugs including the one I forgot about.

1) Weapon "Model ID" wasn't being saved correctly at all. It was reversing the byte order. This has probably existed since version 1.0.0 and no one ever said anything about it.

2) The graph doesn't look at the initial stats like I wanted it to.

I'm fixing these right now as I type (sorta, I can't type two things at once :) ) and 1.1.8.1 will be out soon.

I can't get the new one to work i got the framework and packs still nothing it says something about a debug error?

Can you get a screeny of the error?

Yeah sure here ya go http://www.imagenerd.com/uploads/error-nnLxE.jpg
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 17:22:45
I'm not sure what to tell you about that, actually. Vista's error message is a lot more helpful. :(

If this is happening when you try to load it then you either don't have PowerPacks installed or you don't have the .NET runtime libs installed. I'm having no problems with it when PowerPacks 3 is installed on either my XP machine or my Vista machine. Try re-installing the powerpacks.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ultima espio on 2009-04-17 18:08:54
I know this might sound a little stupid, but is this the kernel the place that stores how many player id's there are? Would it be possible to create a whole new player id?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 18:19:21
I know this might sound a little stupid, but is this the kernel the place that stores how many player id's there are? Would it be possible to create a whole new player id?

No. There's only data in the savemap for 9 players at any given time and there's only 9 sets of curves for character growth. I don't think it's possible to add a character without some extensive modifications to the executable anyway.

I fixed the bugs I mentioned above and the new file is up. It's mostly a cosmetic change, but the ModelID on the weapons have been wrong for a while. It was reading it in one order and writing it in another.

BAD...

SHAME...

APOLOGY...

Yeah, I hated Fujin. No depth to her until the end of Disc 3. And then she had that one line about things not being like they used to. Lame.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ultima espio on 2009-04-17 18:19:55
Thought as much, but it was worth asking anyway  :-) I'll try this fixed version out now, see if it works for me.

EDIT: nope, still get the error when it tries to open :-(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 19:53:21
Thought as much, but it was worth asking anyway  :-) I'll try this fixed version out now, see if it works for me.

EDIT: nope, still get the error when it tries to open :-(

:/ I'm having no problems opening it on any of my machines. ??? Does anyone running Vista get an error? I need to see the details of it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: levinson on 2009-04-17 21:19:01
Here you go. I'm vista ultimate 32bit user, and having a similar error.

I installed both VisualBasicPowerPacks3Setup.exe and dotnetfx35.exe.

WallMarket 1.1.7.0 still works fine though.

-----------------------------------------------------------------------

WallMarket has stopped working

Description:
  Stopped working

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01:   wallmarket.exe
  Problem Signature 02:   1.1.8.0
  Problem Signature 03:   49e4a9fe
  Problem Signature 04:   WallMarket
  Problem Signature 05:   1.1.8.0
  Problem Signature 06:   49e4a9fe
  Problem Signature 07:   11
  Problem Signature 08:   c6
  Problem Signature 09:   System.InvalidOperationException
  OS Version:   6.0.6001.2.1.0.256.1
  Locale ID:   1042

Read our privacy statement:
  http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-17 21:28:46
Here you go. I'm vista ultimate 32bit user, and having a similar error.

I installed both VisualBasicPowerPacks3Setup.exe and dotnetfx35.exe.

WallMarket 1.1.7.0 still works fine though.

-----------------------------------------------------------------------

WallMarket has stopped working

Description:
  Stopped working

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01:   wallmarket.exe
  Problem Signature 02:   1.1.8.0
  Problem Signature 03:   49e4a9fe
  Problem Signature 04:   WallMarket
  Problem Signature 05:   1.1.8.0
  Problem Signature 06:   49e4a9fe
  Problem Signature 07:   11
  Problem Signature 08:   c6
  Problem Signature 09:   System.InvalidOperationException
  OS Version:   6.0.6001.2.1.0.256.1
  Locale ID:   1042

Read our privacy statement:
  http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409


That still isn't enough info.... Try running it as administrator and see what happens.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2009-04-17 22:28:05
I have the same problem, and I installed everything you asked (session ran as administrator).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-18 01:11:55
I think I solved the problem. It's complicated, but the link in the first post should be working for those that have had problems. Sorry this took so long.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2009-04-18 08:58:24
Awesome, it works !  :-D You rock !! I can't wait for the version that allows AI script editing ^^
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: levinson on 2009-04-18 09:34:09
Wow, it works for me too. You really fixed it out of my little information?? god, you're good. Thanks. ^^
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-18 16:06:23
Wow, it works for me too. You really fixed it out of my little information?? god, you're good. Thanks. ^^


Sorry to say, no one's info helped. It was an entirely different problem. :) I had suspected it might be an issue when I first uploaded it. Regardless, it works now so no point in drowning in that sorrow. Enjoy :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2009-04-18 22:33:54
Wow, this thing has grown really powerful now. And so quickly, too!

Super-kudos.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: levinson on 2009-04-19 03:54:05
New version is not saving any changes as supposed to, at least for me. I tried to modify the whole list of magic names and nothing really changed. anybody having same problem??
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-04-19 17:51:19
Thanks for fixing this it works great now! I do have a few questions though, can you explain what stuff like scene look ups, random numbers and curves do? i trtied working it out but i can't. Im guessing scene look ups is like what code each scene is given?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-19 20:43:40
Thanks for fixing this it works great now! I do have a few questions though, can you explain what stuff like scene look ups, random numbers and curves do? i trtied working it out but i can't. Im guessing scene look ups is like what code each scene is given?

Read the help file or check out this page: http://wiki.qhimm.com/FF7/Battle_and_growth_data

EDIT: So I made an unbelievably stupid error preventing (any of) the KERNEL.BIN from being saved at all in most cases. This has been resolved and I'm sorry for the trouble. Use the link on the first post again.

Unusual Update:
So I was screwing around with the FFVIII files seeing what they looked like. The files on the PC version in the data folder are grouped in threes (.fs, .fl, .fi). There's a "battle", "field", "magic", "main", "menu", and "world". The FS files contain what appears to be a concatenation of many LZSed and raw files together. The FL file contains to be a listing of the file's names, likely in the order they are compressed into the FS file. The FI files seem to be an what their uncompressed size is, index of where each file is in the archive, and if they're LZS (I'm operating under the assumption that it is) compressed or not. The reason I even bothered posting it in this thread is that I found FFVIII's kernel.bin! :D It's the 13th file in main.fs. Unfortunately, it doesn't make any sense to me. :( It's still interesting.

More Update:
It occurs to me that some people may be using the "break the 9999 MHP" patch. I guess I'm going to have to add the functionality to display HP/MP if they want to grow beyond this range. That shouldn't be too hard an update. I'll either release that soon as version 1.1.9 or just wait until version 1.2.0. ....I'll probably wait. I've gotten lazy and too interested in playing Mario World hacks (I'm not sure why, they're just fun).

Another again Update:
I'm VERY close to getting the functionality of AI Script editing. It can save them just fine, there's no problem with that. The problem lies in the interface. How would you like it if you had spent 10 minutes tinkering with an AI script only to have it crash on you close to the end? I wouldn't either.
The more interesting part of this means that I can give Heidegger this functionality too and I can start rewriting enemies' AIs.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2009-04-29 14:09:32
Rock on ! An AI editor sounds like the second coming of Jesus Christ  :-D

As for its interface... ...Do you know FF3USME ? It's a multi-editor for the FFVI rom, and it's the only one I know that can edit the monsters' AI. Its interface is really good, and very noob-friendly.

Here is a screenshot (http://img252.imagevenue.com/img.php?image=14444_Image2_122_101lo.jpg), in case it gives you ideas.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-04-29 17:05:00
Rock on ! An AI editor sounds like the second coming of Jesus Christ  :-D

Well.....I hope it doesn't mean the end of everything. :-o

As for its interface... ...Do you know FF3USME ? It's a multi-editor for the FFVI rom, and it's the only one I know that can edit the monsters' AI. Its interface is really good, and very noob-friendly.

Here is a screenshot (http://img252.imagevenue.com/img.php?image=14444_Image2_122_101lo.jpg), in case it gives you ideas.

Yes I DO know of FF3usme and have used it to modify several bosses; Including making a harder MagiMaster and a counter-attack-only Dark Chadernook. HOWEVER...The AI of FF7 is infinitely more complicated than FFVI's. FFVI's has a patterned AI, but FFVII's is much more high-leveled than that.

EX:
Most enemies of FFVI have little more than a list of attacks to choose from. Take the "Dark Force" for example. He has a very simple script:

Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
End Script (wait until next turn to start over)
End Script (this is the counter attack script, which he doesn't have)

And that's the sum total of his script. It takes ~36 bytes of code to do this. However, in FF7, it would take probably 150 bytes (likely more) to do this since it has fewer built-in functions.

Now let's look at Rufus' script:

AI: Main
{
   If ((Rufus' HP > 200) AND (TempVar:HPDiff < 100) AND (1/3 Chance)) Then
   {
      Print Message [Rufus "Heh, Heh, Heh..."]
      Choose Self
      Use <> on Target
   } Else {
      Choose Random Opponent
      Use Shotgun on Target
   }
}
AI: Counter - General
{
   TempVar:HPDiff = TempVar:PrevHP - Rufus' HP
   TempVar:PrevHP = Rufus' HP
}
AI: Counter - Death
{
   Print Message [Rufus "Heh... That's all for today..."]
   Choose Self
   Use <(Report)> on Target
   If (Dark Nation doesn't have Death Status) Then
   {
      Remove Dark Nation
   }
}

Some of this can't be done in FFVI, but this script takes 199 bytes and executes the entire main script in one turn.

FFVII doesn't have a "choose one of the following three attacks" built in to it. All those "choose one"s have to be randomly selected using if statements which are made more difficult because we have to write it in assembler. I know of no way to make this noob-friendly, but I'll probably make some tutorials (in the helpfile and otherwise) on how to do certain things like if-conditions, random choices, loops, etc.

EDIT: Speaking of scripting, now that this is close to being able to edit scripts (it's so close now I can smell it. Continue being patient) I feel a tutorial needs to be made on how to do such things. I've started making one in the helpfile, but I think it needs to be more centralized than that. I was thinking of making something like Morrowind's Scripting for Dummies (http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=6083) guide. It's 230 pages long, but since there are less than 100 opcodes available to us in FFVII, we'd have fewer pages. :) Would anyone with advanced scripting knowledge like to help me write one or, at least, proof-read my tutorials to make sure they're correct?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: lorddolor1989 on 2009-04-30 20:19:12
The link of Filefront doesn't works for me,can you upload it somewhere else please?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-01 14:28:59
The link of Filefront doesn't works for me,can you upload it somewhere else please?

No. Because the lastest version on FileFront right now has several (REALLY retarded) flaws and I'm almost ready to release another one.

I changed Scene 232 (from SceneEdit's output files) address 0x1248 to 14h and changed 0x124A to 86h. Now when Cloud's supposed to retaliate at Sephiroth in the REALLY final battle (as I like to call it :) ), he does Omnislash rather than just lamely take a swing. Isn't that great? :D

AI editing is coming along mostly smoothly. I hit a VERY peculiar snag, however. In order to make the process of editing AI bearable I had to improvise. However, now in order to make up for that I'll need to sync two things together. BUT THEY'RE BOTH READONLY PROPERTIES!!! What genius at MS thought of that? Nevermind that. I figured a way around it. :) Just a few steps left.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-05-02 14:09:31
Can't wait man really appreciate all the work you put into wallmarket and heid.So your saying this next one will allow us to edit the AI enemys with needing to hex edit AND characters? if so thats INCREDIBLE! can't wait.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-03 00:14:27
Can't wait man really appreciate all the work you put into wallmarket and heid.So your saying this next one will allow us to edit the AI enemys with needing to hex edit AND characters? if so thats INCREDIBLE! can't wait.

WallMarket will only ever edit KERNEL.BIN and/or kernel2.bin. Heidegger will soon after evolve to edit Enemy AI.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: ff7rules on 2009-05-05 15:07:44
Can't wait man really appreciate all the work you put into wallmarket and heid.So your saying this next one will allow us to edit the AI enemys with needing to hex edit AND characters? if so thats INCREDIBLE! can't wait.

WallMarket will only ever edit KERNEL.BIN and/or kernel2.bin. Heidegger will soon after evolve to edit Enemy AI.

My mistake mate sorry. so in the next version of hedigegger how will editing the AI work? will we be given a list of commands we can input and what attack we want them to link to or will it only do the simple stuff? It will be so usefull as making one mistake in hex editing can ruin a whole script.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-06 04:16:33
so in the next version of hedigegger how will editing the AI work? will we be given a list of commands we can input and what attack we want them to link to or will it only do the simple stuff? It will be so usefull as making one mistake in hex editing can ruin a whole script.

Oh yes, it will be complicated. There's no way to make it easy. It will have to be done in assembler since I don't have the ability to compile. Theoretically it could, but it's not likely. AI Scripting for this game is just that complex.
The readme will come with a moderately detailed explanation on how to code in the assembler you're allowed, but it's up to you to decide how you want to do it all.

UPDATE:
Some may have noticed the new tag here, but not noticed anything new (unless I updated this of course ;) ). What changed is the picture of the completed CharAI on the first post. It now will end up looking like this (http://img228.imageshack.us/img228/6392/charainew.png). Cool, huh?
This is the way it will look in WM. It will look similar in Proud Clod as well. The interface is still just a little clumsy, but let me explain what it's got right now.

There are only six parts to it. It's got a character list, a script section list, a "Disassemble" button, a Total Script Size indicator, the actual code in assembler that can be edited, and a "translated" scrollable, copyable text box.

The asterisks by the character names and script section names indicates that there is a script linked to those (eg. "Cloud*" means Cloud has scripts while "Red XIII" does not and there is a "General Counter*" script while there is not a "Pre-Battle" one).
The total script size MUST NOT EXCEED 2048 BYTES! Any larger than that and the game won't load (seriously banged my head for a LONG while confused as to why my game wouldn't start :) ). This count updates when a script is edited so you can keep track of how much space you have left.
NOTE: Removing those pointless "Battle Love Character Points" script from the characters reduces used space from 1508 to 410! That should be more than enough to do several little things to most of the characters. I'd suggest leaving Vincent's Main script alone or his Limit Breaks won't work the same.
The editable code is conveniently separated into Opcode and Argument. If an Opcode is entered that requires an argument, this will conveniently add 0s equal to the required Argument length in the Argument column. More conveniently so, if an argument is typed that is too short, it makes it the appropriate length. Even MORE conveniently, if an Argument is typed where one is not allowed, it just removes it. If that weren't enough, the arguments are in Little Endian instead of Big Endian! (That means that the value 1 is stored as "0001" instead of "0100") That's a lot of convenience!!! And yes, I'm hyping all that because I can't compile code like "If Self.HP = 1". and get good results.
The "translated window" to the right will show the assembler version of what the codes mean. This probably won't mean much to some. But the "Disassemble" button will (key word alert!)attempt(key word alert!) to turn it into readable code similar to C or Java. It may or may not end up exactly the way the game will read it and it's mostly based on the existing scripts on characters.

And that's what I've got. Aside from one annoying interface fluke it's all fully functional. I'm now devoting more time trying to iron that out since my final is over.

UPDATE 2:
Look promising? (http://img410.imageshack.us/img410/9992/heretic.png) Ignore the red text and the mis-aligned curly brackets.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-13 02:09:34
1.1.8 wont run for me, OS is windows XP.

1.1.7 works fine.
1.1.8 I get a hourglass for split second and then nothing happens, I get no dialog box, no errors etc.

--edit--
to add heiddeggar is one sweet app, and does what I was looking for, got to modify enemy attacks.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: obesebear on 2009-05-13 02:36:06
Also seems to be incompatible with Windows 7 RC 7100.

EDIT:  Disregard.  I should have payed more attention to the original post
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-13 02:59:56
ok I see I needed to install visual basic powerpacks for new version so installed it.  I already got net 3.5 installed.

It now runs but after clicking on initial data tab I got this error and it crashed.

Code: [Select]
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at WallMarket.Form1.DrawStatIndic()
   at WallMarket.Form1.Draw_Curves(Object sender, EventArgs e)
   at WallMarket.Form1.Radio_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at WallMarket.Form1.TabControl1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TabControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
    CodeBase: file:///C:/WINNT/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
WallMarket
    Assembly Version: 1.1.8.2
    Win32 Version: 1.1.8.2
    CodeBase: file:///F:/patches/ff7/WallMarket118/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks
    Assembly Version: 9.0.0.0
    Win32 Version: 3.0.30214.0
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks/9.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-13 22:35:04
ok question if ok.

If I were to set clouds level to 1 for start of game but left his stats alone, would that mean he would still have same stats but just have higher base values? so by the time he reaches the original starting level he would have higher stats than otherwise in affect making the game easier.  If this is the case how do I know what to adjust the stats to on level 1 so he has the same stats on the higher levels.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BlitzNCS on 2009-05-13 22:36:20
:O new version of WM!?
sweet :D
*edis some AI*
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-13 22:51:51
ok question if ok.

If I were to set clouds level to 1 for start of game but left his stats alone, would that mean he would still have same stats but just have higher base values? so by the time he reaches the original starting level he would have higher stats than otherwise in affect making the game easier.  If this is the case how do I know what to adjust the stats to on level 1 so he has the same stats on the higher levels.

If you don't change the growth curves then it won't matter because the stats will sort themselves out after a few level ups; Yuffie, for example, has starting stats of 1 for each attribute at level 1 but has normal stats by the time she reaches level 17. Have a look at section 1.4 of the party mechanics (http://www.gamefaqs.com/console/psx/file/197341/36775) guide to see how it works.

In short, there is a baseline curve for character stats that is involved in the formula for stat growth at level up that stops stats from growing if they are higher than they should be for that level and makes them grow more if they are lower than they should be. Starting stats aren't really important.

You probably won't have exactly the same stats at level 6 no matter what you set his level 1 starting stats at because of the random element in stat gains, but as long as you don't dramatically increase his stats, they will normalise by the time you get to about level 15 (maybe earlier).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-13 23:00:17
somehow i cant install Microsoft Visual Basic Power Packs 3.0  :/
when its finishing it gives this error

"Cannot register types for DXCore assembly"

any ideas?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-14 05:25:30
ok question if ok.

If I were to set clouds level to 1 for start of game but left his stats alone, would that mean he would still have same stats but just have higher base values? so by the time he reaches the original starting level he would have higher stats than otherwise in affect making the game easier.  If this is the case how do I know what to adjust the stats to on level 1 so he has the same stats on the higher levels.

If you don't change the growth curves then it won't matter because the stats will sort themselves out after a few level ups; Yuffie, for example, has starting stats of 1 for each attribute at level 1 but has normal stats by the time she reaches level 17. Have a look at section 1.4 of the party mechanics (http://www.gamefaqs.com/console/psx/file/197341/36775) guide to see how it works.

In short, there is a baseline curve for character stats that is involved in the formula for stat growth at level up that stops stats from growing if they are higher than they should be for that level and makes them grow more if they are lower than they should be. Starting stats aren't really important.

You probably won't have exactly the same stats at level 6 no matter what you set his level 1 starting stats at because of the random element in stat gains, but as long as you don't dramatically increase his stats, they will normalise by the time you get to about level 15 (maybe earlier).

ok thanks understood. I might mess with the curve stuff so more difference between the characters.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-14 06:05:21
Something just occured to me.  Is the "All Lucky 7s" thing in character AI?  Would it be possible to alter it to "Lucky Max HP"?  :-D

EDIT: Never mind.  It seems that it isn't in the kernel.  It's at the end of the damage equation, which is why enemies can get it.  I haven't been doing my HW.  Sorry about that.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-14 13:22:46
It's at the end of the damage equation, which is why enemies can get it.  I haven't been doing my HW.  Sorry about that.

Eh? Enemies can get it?! I never knew that!

ok question if ok.

If I were to set clouds level to 1 for start of game but left his stats alone, would that mean he would still have same stats but just have higher base values? so by the time he reaches the original starting level he would have higher stats than otherwise in affect making the game easier.  If this is the case how do I know what to adjust the stats to on level 1 so he has the same stats on the higher levels.

If you don't change the growth curves then it won't matter because the stats will sort themselves out after a few level ups; Yuffie, for example, has starting stats of 1 for each attribute at level 1 but has normal stats by the time she reaches level 17. Have a look at section 1.4 of the party mechanics (http://www.gamefaqs.com/console/psx/file/197341/36775) guide to see how it works.

In short, there is a baseline curve for character stats that is involved in the formula for stat growth at level up that stops stats from growing if they are higher than they should be for that level and makes them grow more if they are lower than they should be. Starting stats aren't really important.

You probably won't have exactly the same stats at level 6 no matter what you set his level 1 starting stats at because of the random element in stat gains, but as long as you don't dramatically increase his stats, they will normalise by the time you get to about level 15 (maybe earlier).

Deviations are as nothing before the Score....err, curves. :D That's why I added those graphs on the growth tab. If you want them to have different stats at different levels, you'll have to change the curves.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-15 01:28:07
Yeah, enemies get All Lucky 7s.  I did a search for it here on the qhimm forums and found someone who was annihilated by the Materia Keeper lol.

Lovin' WM all the way, btw!  I shall find a way to make use of those unused materias and items.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-15 02:48:04
somehow i cant install Microsoft Visual Basic Power Packs 3.0  :/
when its finishing it gives this error

"Cannot register types for DXCore assembly"

any ideas?

any1?  :cry: :cry:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-15 13:37:25
somehow i cant install Microsoft Visual Basic Power Packs 3.0  :/
when its finishing it gives this error

"Cannot register types for DXCore assembly"

any ideas?

any1?  :cry: :cry:

What version of DirectX do you have installed?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-15 20:23:32
directX 9.0c (4.09.0000.0904)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-16 02:20:47
I fixed the crashes I was getting, it seems not supposed to have .net 2.0 and .net 3.5 both installed at same time, I deinstalled 2.0 and then it worked.

this tool and heideggar are both superb many thanks to the dev and to those who are helping.

The curves confuse me a bit, eg. clouds max hp curve dips in his middle levels and then catches up a bit at the end towards lvl99.

Seeing aeris natural magic and spirit stats makes me hate what happens even more in the game :(

Is it possible to do these 2 things or are they limited by game code?

set magic cost to above 255MP for a spell/summon
set max level for a materia to lvl 3 instead of lvl 5, in my case I only want 3 levels on knights of the round.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-16 09:57:57
The first would require some much heavier modding since the MP cost of spells is determined by one byte.

The second is possible since materia levels are determined in the kernel.bin. A word of warning, however; if you want to make summons work like Ultima magic does (i.e. requiring a level up before they are used, which would be a great idea with KotR), you can't.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warmist on 2009-05-16 12:52:50
I have encountered a strange error while trying to create KERNEL.BIN:
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

I am using windows vista (64bit). Can that be the reason?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-16 16:17:29
I have encountered a strange error while trying to create KERNEL.BIN:
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

I am using windows vista (64bit). Can that be the reason?

I run it on a 32-bit Vista and XP before releasing it so I doubt the 64-bit version is the issue. Do you have zlib1.dll in the same directory as WM? Also, are you running it as Admin?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warmist on 2009-05-16 17:15:12
Both answers are yes. When opened with debuger this is the log:
Code: [Select]
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Games\Final Fantasy VII\wallmarket\WallMarket.exe'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Runtime.Remoting\2.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic.PowerPacks\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.PowerPacks.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Accessibility\2.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'
A first chance exception of type 'System.BadImageFormatException' occurred in WallMarket.exe
A first chance exception of type 'System.NullReferenceException' occurred in WallMarket.exe
An unhandled exception of type 'System.NullReferenceException' occurred in WallMarket.exe

Additional information: Object reference not set to an instance of an object.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-18 01:32:24
Both answers are yes. When opened with debuger this is the log:
Code: [Select]
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Games\Final Fantasy VII\wallmarket\WallMarket.exe'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Runtime.Remoting\2.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic.PowerPacks\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.PowerPacks.dll'
'WallMarket.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Accessibility\2.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'
A first chance exception of type 'System.BadImageFormatException' occurred in WallMarket.exe
A first chance exception of type 'System.NullReferenceException' occurred in WallMarket.exe
An unhandled exception of type 'System.NullReferenceException' occurred in WallMarket.exe

Additional information: Object reference not set to an instance of an object.

If looks like you´re using .net 2.0. Uninstall that and install 3.5r1 (or whatever the newest one is).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-18 08:24:10
Now that it is possible to equip a third Limit Break to each level using WM, does anyone know how to unlock those Limit Breaks ingame?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warmist on 2009-05-18 09:14:13
.net is ver 3.5 sp1(reinstalled just in case).I never had version  2 .net because its vista. Further debugging says that it's from Form1.GZipData... Also I found this in the internet: http://bytes.com/groups/net-c/566671-dll-works-32-bit-machine-but-not-64-bit-machine (http://bytes.com/groups/net-c/566671-dll-works-32-bit-machine-but-not-64-bit-machine). Could this be the case?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-18 16:34:26
.net is ver 3.5 sp1(reinstalled just in case).I never had version  2 .net because its vista. Further debugging says that it's from Form1.GZipData... Also I found this in the internet: http://bytes.com/groups/net-c/566671-dll-works-32-bit-machine-but-not-64-bit-machine (http://bytes.com/groups/net-c/566671-dll-works-32-bit-machine-but-not-64-bit-machine). Could this be the case?

Huh. Yeah, that sounds exactly like what would be going on here. I assumed it was an issue with the .dll since that's only accessed during creation. I think I changed it to enforce the 32-bit libraries, but I'm not too sure. Can I email it to you for you to try?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warmist on 2009-05-18 17:07:15
sure go ahead.

[edit]
New version works perfectly! Thank you very much. Now I can start hacking  :evil:  :-)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-19 02:32:03
somehow i cant install Microsoft Visual Basic Power Packs 3.0  :/
when its finishing it gives this error

"Cannot register types for DXCore assembly"

any ideas?

directX 9.0c (4.09.0000.0904)

any ideas to fix this?  :|
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-19 13:18:04
sure go ahead.

[edit]
New version works perfectly! Thank you very much. Now I can start hacking  :evil:  :-)

Great! That version I gave you had a few tweaks that I'll upload to the main file. It doesn't have any major changes (I'm not sure that most people will notice what it fixes) so it won't get its own version number. At best it'll be 1.2.0a or something.

somehow i cant install Microsoft Visual Basic Power Packs 3.0  :/
when its finishing it gives this error

"Cannot register types for DXCore assembly"

any ideas?

directX 9.0c (4.09.0000.0904)

any ideas to fix this?  :|

Not from me. Can you get a screenshot when the error comes up and expand the error to show any details?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-19 18:33:33
(http://i44.tinypic.com/64gw2t.jpg)


incase u cant watch it well like that, direct link: http://i44.tinypic.com/64gw2t.jpg
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-19 20:57:55
incase u cant watch it well like that, direct link: http://i44.tinypic.com/64gw2t.jpg

What the heck is Refactor! 1.3 (http://www.devexpress.com/Products/Visual_Studio_Add-in/VBRefactor/)? That doesn't have anything to do with the powerpacks link on the first post.

EDIT:
Wanna know what I've been doing?
Code: [Select]
Midgar Zolom :
Init:
0x0000 11 0020
0x0003 60 08
0x0005 90
0x0006 11 0040
0x0009 60 02
0x000B 90
0x000C 73
Main:
0x0000 02 2060
0x0003 01 4080
0x0006 80
0x0007 60 00
0x0009 40
0x000A 70 001E
0x000D 12 2070
0x0010 02 20A0
0x0013 82
0x0014 90
0x0015 60 20
0x0017 61 01B8
0x001A 92
0x001B 72 0096
0x001E 01 0000
0x0021 60 00
0x0023 71 0029
0x0026 72 002E
0x0029 60 01
0x002B 71 0031
0x002E 72 0036
0x0031 60 02
0x0033 71 0054
0x0036 12 2070
0x0039 02 20A0
0x003C 82
0x003D 90
0x003E 60 20
0x0040 61 01B9
0x0043 92
0x0044 11 0000
0x0047 01 0000
0x004A 60 01
0x004C 30
0x004D 90
0x004E 72 0095
0x0051 72 0054
0x0054 81
0x0055 01 0020
0x0058 34
0x0059 52
0x005A 01 0040
0x005D 50
0x005E 70 007C
0x0061 12 2070
0x0064 02 20A0
0x0067 82
0x0068 90
0x0069 60 20
0x006B 61 01BA
0x006E 92
0x006F 11 0040
0x0072 01 0040
0x0075 60 01
0x0077 31
0x0078 90
0x0079 72 008A
0x007C 12 2070
0x007F 02 20A0
0x0082 82
0x0083 90
0x0084 60 20
0x0086 61 01B9
0x0089 92
0x008A 11 0000
0x008D 81
0x008E 60 02
0x0090 34
0x0091 90
0x0092 72 0095
0x0095 91
0x0096 73
General Counter:
0x0000 02 2060
0x0003 01 4080
0x0006 80
0x0007 60 00
0x0009 40
0x000A 70 001A
0x000D 12 2060
0x0010 11 4088
0x0013 80
0x0014 60 01
0x0016 90
0x0017 72 0024
0x001A 12 2060
0x001D 11 4088
0x0020 80
0x0021 60 06
0x0023 90
0x0024 02 2060
0x0027 03 4160
0x002A 80
0x002B 02 2060
0x002E 03 4180
0x0031 80
0x0032 60 08
0x0034 33
0x0035 60 03
0x0037 32
0x0038 43
0x0039 01 0020
0x003C 60 05
0x003E 40
0x003F 50
0x0040 70 0058
0x0043 12 2070
0x0046 02 20A0
0x0049 90
0x004A 60 20
0x004C 60 54
0x004E 92
0x004F 11 0020
0x0052 60 04
0x0054 90
0x0055 72 0108
0x0058 02 2060
0x005B 03 4160
0x005E 80
0x005F 02 2060
0x0062 03 4180
0x0065 80
0x0066 60 08
0x0068 33
0x0069 60 04
0x006B 32
0x006C 43
0x006D 01 0020
0x0070 60 06
0x0072 40
0x0073 50
0x0074 70 00A4
0x0077 01 0040
0x007A 60 02
0x007C 40
0x007D 70 009B
0x0080 12 2070
0x0083 02 2060
0x0086 02 40D0
0x0089 80
0x008A 90
0x008B 60 20
0x008D 61 01BA
0x0090 92
0x0091 11 0040
0x0094 01 0040
0x0097 60 01
0x0099 31
0x009A 90
0x009B 11 0020
0x009E 60 05
0x00A0 90
0x00A1 72 0108
0x00A4 02 2060
0x00A7 03 4160
0x00AA 80
0x00AB 02 2060
0x00AE 03 4180
0x00B1 80
0x00B2 60 08
0x00B4 33
0x00B5 60 05
0x00B7 32
0x00B8 43
0x00B9 01 0020
0x00BC 60 07
0x00BE 40
0x00BF 50
0x00C0 70 00CC
0x00C3 11 0020
0x00C6 60 06
0x00C8 90
0x00C9 72 0108
0x00CC 02 2060
0x00CF 03 4160
0x00D2 80
0x00D3 02 2060
0x00D6 03 4180
0x00D9 80
0x00DA 60 08
0x00DC 33
0x00DD 60 06
0x00DF 32
0x00E0 43
0x00E1 01 0020
0x00E4 60 08
0x00E6 40
0x00E7 50
0x00E8 70 0108
0x00EB 12 2070
0x00EE 02 2060
0x00F1 90
0x00F2 60 20
0x00F4 61 0201
0x00F7 92
0x00F8 12 2060
0x00FB 11 4080
0x00FE 80
0x00FF 60 05
0x0101 90
0x0102 11 0020
0x0105 60 07
0x0107 90
0x0108 73

There's plenty more where that came from too. There's a massive txt file now (1,602,747 bytes) containing all the enemies' AI in this format. Well, at least, all the enemies that HAVE AI.
There are 114231 "lines" of assembler code in the scene file.
There are 1544 scripts in same.
The longest script is 2682 bytes long (there are two of them) and is on Eligor's main script (a monster in the north train graveyard after fighting Aps).
The average script length is 157 bytes.
Total Script size (all scripts combined) take up approximately 238114 bytes. That's roughly 12% of all the uncompressed scene data.
Opcode usage statistics:
Code: [Select]
code usage
00 3296
01 3008
02 10635
03 1635
10 2589
11 4044
12 8123
13 380
30 990
31 269
32 439
33 463
34 1313
35 374
36 98
37 22
40 4686
41 83
42 300
43 450
44 152
45 125
50 755
51 223
52 1054
60 19664
61 4177
62 79
70 4389
71 1746
72 6272
73 1544
75 0
80 8430
81 1311
82 2668
83 268
84 102
85 77
86 306
87 229
90 12414
91 562
92 3477
93 407
94 15
95 539
96 0
A0 49
Pretty cool stuff. Sorta. To me anyway. :(

UPDATE:
Big Oops! I just realized that 62 only gives an argument of three bytes and type 03 is probably just as long. *sigh* That changes quite a lot. I'll have to change WM just a bit (fortunately not much) to account for that. You'd think a 32-bit system could hold a 32-bit value in its stack....
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-20 01:13:00
wow i feel so stupid now... :cry: :cry:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-20 14:10:02
wow i feel so stupid now... :cry: :cry:

I'm sorry. I didn't mean to make you feel stupid. I just want to get it working for you. Install the PowerPacks properly and it'll work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: -Ric- on 2009-05-20 15:50:20
its already working and its pretty cool, thanks  :-D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-21 06:44:05
Now that it is possible to equip a third Limit Break to each level using WM, does anyone know how to unlock those Limit Breaks ingame?

 :oops: Can't believe it took me this long to realize just what a stupid question that was.  Everyone, thank you for not embarrassing me with a reply.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-21 07:09:58
Quote from: NFITC1
EDIT:
Wanna know what I've been doing?

Hmmmm, so, how's ProudClod coming along?  8-)

And I've noticed a couple of things about Wallmarket's AI editing. Is the program not supposed to be able to make new scripts for characters? It seems that I can only edit ones that already exist (my apologies if this has already been answered somewhere else).

And I think that the instructions on using the 44 and 45 opcodes in the "if-conditions" part of the help file are the wrong way around; when I programmed Cloud to use heal when his health dropped below a certain point I needed to use the 45 opcode to make it work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-21 13:12:54
Quote from: NFITC1
EDIT:
Wanna know what I've been doing?

Hmmmm, so, how's ProudClod coming along?  8-)

Getting closer. It just crashes on certain scripts, but that's probably because of the error I noticed yesterday (now I know what the trouble was. Attempting to fix now...).

And I've noticed a couple of things about Wallmarket's AI editing. Is the program not supposed to be able to make new scripts for characters? It seems that I can only edit ones that already exist (my apologies if this has already been answered somewhere else).

I don't think this was ever even asked, but if you select a new script and press Enter then it will begin a new script.

And I think that the instructions on using the 44 and 45 opcodes in the "if-conditions" part of the help file are the wrong way around; when I programmed Cloud to use heal when his health dropped below a certain point I needed to use the 45 opcode to make it work.

This is not surprising. the helpfile's documentation on the opcodes is no where near complete and I think it's only moderately accurate. I'm still working on improving it since I did release it before it was totally complete. I'll have a new one up today with the fix of the 62 code. That might even fix Proud Clod up for release status.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-21 14:05:30
Quote from: NFITC1
I don't think this was ever even asked, but if you select a new script and press Enter then it will begin a new script.


Hmmm, whenever I do that I get this (I have .NET Framework 3.5 and Visual Basic Power Packs 3.0):


Code: [Select]
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewSelectedCellCollection.get_Item(Int32 index)
   at WallMarket.Form1.EditCharAI_KeyPress(Object sender, KeyPressEventArgs e)
   at WallMarket.Form1.AISectionList_KeyUp(Object sender, KeyEventArgs e)
   at System.Windows.Forms.Control.OnKeyUp(KeyEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   at System.Windows.Forms.Control.WmKeyChar(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I've also been getting this when editing my more heavily modded (and therefore bigger) KERNEL.BINs:

Code: [Select]
************** Exception Text **************
System.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.Load_Growth()
   at WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   at WallMarket.Form1.Form1_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

The latter doesn't stop me doing anything (I think), so it hasn't really bothered me.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-21 14:54:37
Quote from: NFITC1
I don't think this was ever even asked, but if you select a new script and press Enter then it will begin a new script.


Hmmm, whenever I do that I get this (I have .NET Framework 3.5 and Visual Basic Power Packs 3.0):


Code: [Select]
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewSelectedCellCollection.get_Item(Int32 index)
   at WallMarket.Form1.EditCharAI_KeyPress(Object sender, KeyPressEventArgs e)
   at WallMarket.Form1.AISectionList_KeyUp(Object sender, KeyEventArgs e)
   at System.Windows.Forms.Control.OnKeyUp(KeyEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   at System.Windows.Forms.Control.WmKeyChar(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

This, at least, has been resolved now. Did some things out of order like trying to find the selected cell when there were no cells. That's bad.

I've also been getting this when editing my more heavily modded (and therefore bigger) KERNEL.BINs:

Code: [Select]
************** Exception Text **************
System.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.Load_Growth()
   at WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   at WallMarket.Form1.Form1_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

The scripts in the KERNEL.BIN should not take up more than 2048 bytes. That's all the game will handle. If the growth section is larger than 3988 bytes uncompressed (I think that's the size), then the game will not run at all. Compressed size isn't an issue so I don't think that's a big deal. It might be the script in it that's causing the problem. I identified the problem with loading Ruby Weapon's script because it has a jump to an address with a "73" in it. That's the code to end the script and that's what I was using to end the AI loading. That's worse! Errors abound when this happens. I'm in the process of fixing that now and we'll see if that is the issue.
The script size issue has been fixed, it just takes a while for longer scripts to load. Ruby Weapon's script took about 50+ seconds to load and Eligor's Main (which does have the longest script) ... I started it about a minute and a half ago and it's still loading. :) Be VERY patient with the enemy AI. The longer ones just take a while, but the length-based errors have been accounted for and won't cause errors anymore.

Forget what WAS here. My readme example sucked. My logic is fine
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: AlbusJC on 2009-05-22 14:39:48
I tried proudclod 1.0. this program can change the AI of the enemies, right? So, you can add dialogue to the fighting as well as fighting the scorpion? I have tried to do with Scene Edit but have not managed to change the script...  :? :
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-22 15:34:36
I tried proudclod 1.0. this program can change the AI of the enemies, right? So, you can add dialogue to the fighting as well as fighting the scorpion? I have tried to do with Scene Edit but have not managed to change the script...  :? :

Sure can. Just make sure that if you do you also make the characters pause. There's documentation in WallMarket's helpfile on how to do that under command 92h.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-22 16:07:29
Ah, now I can make new scripts!

And I think I'm going to have some fun with ProudClod as well. Virtual cake for you  :-D

I changed my name because this is what I use everywhere else; I doubt it will be enough to confuse anyone.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Terid__K on 2009-05-22 17:11:50
Just a question...

Do you have to start a new game when you edit the scene.bin file? Because it surprised me when I could use my old saves with the modified kernel.bin.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-22 18:08:07
Just a question...

Do you have to start a new game when you edit the scene.bin file? Because it surprised me when I could use my old saves with the modified kernel.bin.



...I never had to start a new game in either case. I guess it depends on what you edit in the KERNEL.BIN, but editing the scene.bin should be safe.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2009-05-23 08:27:34
Hey, great work here N.

I just noticed something with Proud Clod. I was checking out my new enemies with it, and the program seem to be importing scripts from other scenes on certain enemies. For instance, in scene 4 (or 3 zero based) I made a new enemy called Jinx. I only made a Pre-Battle and Main script, but according to PC it has All the counters as well, except magical (The CGeneral and CPhysical are from the standard chocobo AI). As far as I know it only happens with my new enemies.

I should thank you as well 'cause I discovered some bugs in my mod.  :-D

Just a question...

Do you have to start a new game when you edit the scene.bin file? Because it surprised me when I could use my old saves with the modified kernel.bin.



No, but certain things will be messed up. Like Current Materia AP vs Master. And editing initial data is pretty useless (the initial savemap).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tonfa on 2009-05-23 08:52:06
Fantastic work, with relatively simple enemy AI editing I finally have all the needed tools for a FF7 rebalancing hack.

There's a bug with it though: If you check/edit a scene (let's use scene 93 in this example - MP, Guard Hound, Smogger), then move to another scene (let's use scene 78 - Mono Drive, Grunt, 1st Ray) it doesn't unload AI scripts that don't exist in the new scene properly. 1st Ray now has Smogger's PreBattle script in the example used. Only one scene can be edited at a time as is.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-05-23 09:17:19
By the way, NFITC1, contact me through ICQ about detail about AI opcodes. I can explain how any opcode works. I just too lazy to write about it.
I looked at your documentation about opcodes and found a lot of missing things. For example about 0x96 opcode =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-23 15:25:53
Fantastic work, with relatively simple enemy AI editing I finally have all the needed tools for a FF7 rebalancing hack.

There's a bug with it though: If you check/edit a scene (let's use scene 93 in this example - MP, Guard Hound, Smogger), then move to another scene (let's use scene 78 - Mono Drive, Grunt, 1st Ray) it doesn't unload AI scripts that don't exist in the new scene properly. 1st Ray now has Smogger's PreBattle script in the example used. Only one scene can be edited at a time as is.

Oops! Definitely something that needs to be addressed. I didn't ever run into that when I was just testing to see if it was reading individual scenes. I'll get this fixed ASAP (but likely later in the day today).

By the way, NFITC1, contact me through ICQ about detail about AI opcodes. I can explain how any opcode works. I just too lazy to write about it.
I looked at your documentation about opcodes and found a lot of missing things. For example about 0x96 opcode =)

I would greatly appreciate your help in writing those documentations. I wrote what's currently in the help file mostly from memory and what little documentation I had on them. Also I felt in a hurry to finish it so I could release what I had as soon as I could.
Granted, 96 was the most peculiar as it's only used once. And I don't see any evidence that 90 would take all the arguments that Fergusson says it will. That doesn't mean it won't, it just might never get used that way or I just never noticed it.
I'll have to start an ICQ account. I used to have one, but it was so long ago I don't remember the number.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2009-05-23 16:23:53
Fantastic work, with relatively simple enemy AI editing I finally have all the needed tools for a FF7 rebalancing hack.

There's a bug with it though: If you check/edit a scene (let's use scene 93 in this example - MP, Guard Hound, Smogger), then move to another scene (let's use scene 78 - Mono Drive, Grunt, 1st Ray) it doesn't unload AI scripts that don't exist in the new scene properly. 1st Ray now has Smogger's PreBattle script in the example used. Only one scene can be edited at a time as is.

Ok that answers my question. Great!
Once again good work NFITC1. It's a lot easier moding AI now.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-23 17:14:43
Fantastic work, with relatively simple enemy AI editing I finally have all the needed tools for a FF7 rebalancing hack.

There's a bug with it though: If you check/edit a scene (let's use scene 93 in this example - MP, Guard Hound, Smogger), then move to another scene (let's use scene 78 - Mono Drive, Grunt, 1st Ray) it doesn't unload AI scripts that don't exist in the new scene properly. 1st Ray now has Smogger's PreBattle script in the example used. Only one scene can be edited at a time as is.

Ok that answers my question. Great!
Once again good work NFITC1. It's a lot easier moding AI now.

This issue has now been resolved. It was a very simple fix, but the reason I didn't think I'd get it done this early is because I wanted to be lazy today. Well, it all works out now so whatever. :) The link on the first post has been changed.
I also caught another bug that only happens in one case (that I found). In scene 12 the first enemy is a Mu and the third enemy is a Levikron. These both have scripts, but the second monster in this scene was apparently removed, but it still has a script. All it is is a 73h where the Main script WOULD be, but it sort of errors out because it has no name. In that case the program acts weird because it thinks that monster's name doesn't exist. I solved that too.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-05-23 18:39:17
And maybe you need to simplify things in descriptions cause a lot of things is difficult to understand, because they magic numbers. For example addreses where battle ai stores values.
0x0000, 0x2000 and 0x4000 are not understandable, but "unit variable array" (0x0000), "battle global structure" (0x2000) and "unit data structure" (0x4000) are much more convinient.
So opcode 0x90 store data to current "unit variable array" (you can think of it as current unit variable array, because you can set variable only to current unit), can store to global battle structure (which is only one), or it can set values to unit data structures by mask.

It may be good idea to add descriptions of this structures with addreses to easier understanding =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-24 02:18:06
I also caught another bug that only happens in one case (that I found). In scene 12 the first enemy is a Mu and the third enemy is a Levikron. These both have scripts, but the second monster in this scene was apparently removed, but it still has a script. All it is is a 73h where the Main script WOULD be, but it sort of errors out because it has no name. In that case the program acts weird because it thinks that monster's name doesn't exist. I solved that too.

The second monster was not removed.  It's the hole in the ground that is used for a part of the Mu's battle model.  There are nameless monsters in other scenes too, such as the Trickplay's hole, Rufus's helicopter, and in the scene with Palmer, there's the Tiny Bronco and the Shinra Truck.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-24 15:15:23
I also caught another bug that only happens in one case (that I found). In scene 12 the first enemy is a Mu and the third enemy is a Levikron. These both have scripts, but the second monster in this scene was apparently removed, but it still has a script. All it is is a 73h where the Main script WOULD be, but it sort of errors out because it has no name. In that case the program acts weird because it thinks that monster's name doesn't exist. I solved that too.

The second monster was not removed.  It's the hole in the ground that is used for a part of the Mu's battle model.  There are nameless monsters in other scenes too, such as the Trickplay's hole, Rufus's helicopter, and in the scene with Palmer, there's the Tiny Bronco and the Shinra Truck.

Oh yeah. I forgot about those things being different enemies. Regardless, the problem still existed and was fixed. I also just realized another potential problem, but this one won't be caused by Proud Clod. If a user makes the total scripts greater than 4095 Proud Clod will still attempt to save when told to, but either won't succeed or it WILL succeed and make a scene larger than the game will handle. I forgot to add error checking to this point, but that count is there so the user knows NOT to make the size go higher than that. *sigh* I guess I should fix that shouldn't I? I'll be lazy about that. WM won't do that. I was smart enough to check for that before saving.....

And maybe you need to simplify things in descriptions cause a lot of things is difficult to understand, because they magic numbers. For example addreses where battle ai stores values.
0x0000, 0x2000 and 0x4000 are not understandable, but "unit variable array" (0x0000), "battle global structure" (0x2000) and "unit data structure" (0x4000) are much more convinient.
So opcode 0x90 store data to current "unit variable array" (you can think of it as current unit variable array, because you can set variable only to current unit), can store to global battle structure (which is only one), or it can set values to unit data structures by mask.

It may be good idea to add descriptions of this structures with addreses to easier understanding =)

I'm all about making things easier to understand. I wrote all that documentation in several sittings so it's bound to have inconsistancies in it. So let's get together and get it to be more accurate and consistant. I'd like to have a wiki or forum where all these things can be discussed, but I'm not cool enough to know how to get one started. :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BrokenCrowe (Mendelevium) on 2009-05-25 22:05:51
Ok here is the thing.. i really like the model of the Buster Blade made by APZ.. so i want to amp up the weapons stats so i could use it throughout the game... or just replace the models of the other swords... i tried both and i couldnt figure out how to overwrite the kernal so the data would be in game...

If anyone knows what to do... I truly believe im inept.. please offer aid ^.^

Okay i am unsure as of what to do... i have a version of it i am unsure which.......... and what im doing now is trying to make the Buster Blade have really high stats.... i can get that far... but how do i implement it into the game?

Thank you,
   Broken Crow
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-26 13:44:36
Ok here is the thing.. i really like the model of the Buster Blade made by APZ.. so i want to amp up the weapons stats so i could use it throughout the game... or just replace the models of the other swords... i tried both and i couldnt figure out how to overwrite the kernal so the data would be in game...

If anyone knows what to do... I truly believe im inept.. please offer aid ^.^

Okay i am unsure as of what to do... i have a version of it i am unsure which.......... and what im doing now is trying to make the Buster Blade have really high stats.... i can get that far... but how do i implement it into the game?

Thank you,
   Broken Crow

This will greatly depend on if you're modifying the PC or the PSX version.

1. Are you using WM 1.2.1? 1.1.8 had saving issues.
2. Are you telling it to create the kernel after you make your changes?

If you're modifying the PC version make sure that your KERNEL.BIN is in the FFVII/Data/kernel folder and is called KERNEL.BIN. If it's the PSX version...you'll have to ask someone how to inject it into the ROM image 'cause I don't know how to do that.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-27 01:33:01
If you are going to import a file into a psx iso, you can use cdmage, but if the file becomes too large, it will truncate it, though i don't see the kernel getting bigger by much if any (though the scene.bin easily can, but if you have some decent programming knowledge, and know how to edit enemy AI, you will quickly see how badly much of the AI was written with a lot of unnecessary repetition, and shaving down on that saves some room ^^). if the file somehow becomes smaller, that is fine, since it will just add FF for the missing stuff. i was working on the psx version (before learning ai editing), but m scene file got too big so i moved to the pc version (cousin was kind enough to give me his ^^), but before that i had no trouble adding files to the psx iso with cdmage.

for a psx iso, when you open it you must chose m2/2352 track from the popup menu (else it will not read it right if at all), move to the directory on the iso that has the older file (the INIT folder), right click on the kernel (or whichever file you want to replace, such as the scene.bin, which is in the battle folder), and click import file. from there it will take you to a browser, so find your new kernel and click on it (it will warn you if it is too big or too small, though only too big is bad, unless you removed important parts from the kernel somehow), then it will quickly replace the old with the new, and you can test from there.

though for the pc version it is easy as copy and paste, and if you can't do that then i can't help you  :evil:

nfitc1, what all is needed to make an enemy, such as the MP, use, say the fire spell? from what i have seen, it is likely that it is a problem with their limited animations (only the tonfa attack and machine gun animations), that they lock up when trying to cast fire (camera moves like it is being casted, then sits there, requiring a ctrl+q exit), as when i set their attack animation (in the hex, setting both the attack and animation in the enemy data section correctly) to either of the two they are able to use, they can perform the attack, but it looks like their normal attack, no magic casted, but the damage is that of the fire spell, not very useful. now i was able to give a mono drive the vacuum ability (from bloatfloats) that shares the same animation index as fire, and it did show the vacuum attack right, and not the fire spell. i still need to test and see if the mono drive can use other spells (likely), and if it can then there must be something that has to be set in the animations of the enemy themselves.

So... how exactly can i change the enemy animations, since only ifalna can see their animations (errors when trying to edit), kimera will not even load the files, since they are "not a valid P file", and i know little about the hex for animations. hell, i'd settle for just a copy of their idle animation that i can call that has the ability to use magic, at least until i can learn more about adding animations. if you have any insight that would be wonderful.

also, some suggestions on your proud clod, it would be very nice if you would add the ability for the user to edit the enemy attack id's (what they can use ability wise) as well as the animations (that the moves use), so for example MP uses animation 03 for attack 0110 (machine gun attack), and 04 for 0111 (tonfa attack), since i have to manually extract the files and open them up in a hex editor to change something as small as that (i don't think any of the programs allow for this yet, so this could be a first, and shouldn't take much to do, since it is even less than what is already added, you'd just have to point to two different places per enemy). i'd also like to thank you for the ai editor, as it has been very useful, and the C format decoding of it helps out a lot (so i can see if i screwed up much easier  :-P), and paired with hojo and WM, things are going nicely ^^

sorry about the long post, but i tend to ramble on... if you could implement my suggestion, i'd really appreciate it (and likely many others as well). battle formations would be nice too, but i know they aren's completely known yet, but i can do enough to do what i need via hex for now (it is a lot, so changes are actually worthwhile to manually hack, unlike changing two values  :|). and if you can help with my problem, i'd appreciate that as well.

Edit: gave mono drive ice, but the camera doesn't seem to follow through right... ice is finished before it fully pans over to cloud, but that could be due to the speed at which it casts spells (takes about half the time cloud does to get the spell off, which could explain it), and i even edited the spell's camera movement in WM to fire (which it uses correctly), but it was still off by a good bit... maybe it has something to do with me having a mono drive battle happen after the MP's are killed, or maybe something else?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BrokenCrowe (Mendelevium) on 2009-05-27 03:23:59
I am using the PC version.... And when i go to compile it just floods my desktop with lots of KERNAL files.. i have no save option... and i don't know what you mean.. What exactly is it I'm suppose to be copying and pasting?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-27 04:56:01
if you are using wall market to edit the buster blade (get the newest version of wall market, since it does everything  :-P) then you should have no problem saving it. all you need to do is load your kernel with wall market, edit the things you want, click file->create kernel.bin, and that should replace the kernel you loaded with the modified one you made (back up your original first, though there is always an extra one on the install disk). i don't ever see wall market splitting up into many files unless you use the piece managing thing, and it isn't really necessary (it is for manual hex editing, but there isn't much need when you have wall market  :-D).

what i said about copying/pasting was to move your kernel (if it was not in the folder it should be, if you were editing one outside the main folder) into the place in the ffvii folder it is supposed to go in, but i didn't see the "it is spitting out pieces when i compile" thing. so unless i do not know what you are talking about, then the above should work.

on another side note, is there status checks (or whatever they are called) for allocating drops/steal items that are possible through ai, so that more items can be stolen (different or same), different drops for doing different things in battle, or checking if an item was stolen so the enemy gets pissed off (goo king from bof games anyone?). i know that was kind of hard to understand, so i will try to give some examples:

normally through ai, you can set/check certain things related to the enemy such as status problems, actual stats, exp/ap/gil, etc. by doing something similar to, say:
12    2060 -> self mask
00    4010 -> barrier
80            -> combine them together (self.barrier)
60    01    -> sets flag to active
90            -> combines (self.barrier = 1)

where the 4010 is the check for barrier, 42e0 for exp, etc. does anybody know what a check for dropped/stolen items are, how to set their chances, and how to reenable stealing (i.e. if item stolen = 1, item stolen = 0), or am i just dreaming here? because adding an enemy with anger issues when stolen from would be fun (get something really good from bosses, but they increase their aggression and pummel you to death), or giving an enemy multiple steals possible (a boss who puts up a barrier, and resists a ton of damage unless you steal his "battery" in which it goes down for a bit until he installs another... and i know i could have fun doing things with hojo's battle (human form)  :evil:). but mainly i just want even more possibilities to be open, and i'm just curious about this, but having multiple steals for enemies is nice as well.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BrokenCrowe (Mendelevium) on 2009-05-27 05:09:41
I figured out the problem.. my download had corrupted data.. because i  was  doing everything you said... and it wasn't working so i re-downloaded the latest version... that works on my PC that is  which is like version 1.17.... then i did the thing again .. created the KERNAL and it worked like a charm...   I did everything the same as before... so it had to be that my PC messed up on the download.. or i screwed up moving the files around or something....

Thank you,
Broken Crow
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-27 05:18:01
the only thing i can think of is you not having the Microsoft Visual Basic Power Packs 3.0 needed to run the newer one (dunno if the 1.1.7 needs them or not), or if you have windows vista, since it LOVES to cause utter chaos in many things (like when .exe's randomly started running only in notepad, so when i started up the computer, i got ~50 .txt files popping up on me...), which is why i custom ordered my quad core with xp on it ^^. i don't think it'd let you run WM without it though, so it could have been the pack not installing correctly, in which case you could always uninstall/reinstall them to see if it fixes it... i don't know the inner workings of WM like nfitc1 does (he made it), so i cannot give any other advice on why it wouldn't work. just try to reinstall the required stuff on the first page and then try it again on an unedited kernel file (a copy of your kernel works too) to see if it works.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BrokenCrowe (Mendelevium) on 2009-05-27 05:22:04
Yeah.... but my grandpa keeps his PC on all the time... Hard Drive issues.... but it seems to be immune to a lot of things I've heard about vista... For example i remember getting a patch to work on Vista that they said was impossible for Vista to run... but I'm not sure if i read that right .......... I'm such a newb with technology.. *Laughs quietly to himself*





Edit* Okay..... I made a back up of my original KERNAL.... and i used WalllMArket to make my Buster Blade Ultra powerful.... then i decided i wanted to lower the stats... so i did that.. and it didnt work.. my buster blade remained ultra powerful.... so i decided to replace my original KERNAL and start from scratch.. i replaced the KERNAL and went into the game just to double check if everything checked out........... MY  Buster Blade was still ultra powerful........... Im in no mood to re-install everything.... so does anyone know what is wrong??? Or is it Vista turning around on me after what i said up there? :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-27 05:45:33
Yeah, vista seems to either run pretty flawlessly (at times, until you hook up an emulator it doesn't like), or crap out whenever it is is very bad to have happen. xp has flaws, but nothing that can't be tweaked to get around (plenty of tweaking manuals out there for big performance boosts and better stability, though it is still more stable than vista   :|). they are making it very hard to not get vista on your computer, when xp is obviously more reliable... if they used xp's stability and built from there instead of redoing everything, vista could actually be something worthwhile. meh... i just hate it  :-P.

anyway, im going to get back to ai editing (have enemies up to the motor ball boss on the shinra highway stat edited), and hopefully find some of the unknowns out at some point, because there could be something good hidden in there ^^. also, on the side i'm going to be working on ffvi advance's enemies and ai hacking, since i know where the offsets for pretty much everything is (or at least a general idea... i did find the ai and enemies at least, as well as all the items), and may look into updating the ff3 (snes ffvi) editor which did prety much everything, since the two are programmed almost exactly the same way, just the advance one has more added to it, and much more room for possibilities. but i am in no real rush for ffvi, since i am already pretty far into hacking ffvii.



and another question for you nfitc1, would it be easily possible for you to allow for more than one character editor to pop up at a time from proud clod from different scenes (same scene.bin, different file within), so that i can easily compare ai from one enemy to another, and still be able to edit both enemy's ai? so if i wanted to compare MP from scene 76 (75 in proud clod) to the grenade combatant in 105 (104), i could see both of their ai at the same time in two separate windows, and add changes at will instead of having to use the current manual switch between widows, comparing what i wrote down (or screenshot), and then going back to make changes. this is the biggest issue others are smaller, such as the random errors when i forget to press enter when adding a value and then moving to a new square in the ai, and the top most block never seems to want to add a new row BELOW it if there is already stuff underneath it, making me have to move a ton around to add what i wanted to. adding the ability to chose where the empty blocks are added would be great. also, being able to resize the window, and have the rest of the things in the window actually resize with it would be nice, since the ai disassembled into C is usually pretty lengthy, and having to repeatedly scroll back and forth can be a pain.

not that i am complaining about it, it is wonderful having the (approximate) C equivalent makes coding and understanding much easier, especially when used in combination with terence's enemy mechanics guide, since it helps sort things out even more (and searching ai for certain examples is much easier with a search function :-P). but it does need some work (being the first proud clod release), and i think these are all good possible additions to make life easier (even though you will be the one to do the work to make it easier on us  :evil:). if not, oh well, i am already used to the current version, but i wouldn't mind a more cushioned ai editing program *whistle*.

ok, to hopefully answer your problem, the kernel is only loaded at the start of a new game (i think anyway), so if you made it to a save point, saved, and reloaded after making changes, nothing would change, and previous changes would stick. try to run from a new game and see from there (installing the one YAMP patch, the gyptinstant patch i think, allows you to skip the intro movie to make things faster (ctrl+s), though it usually leads to the black screen glitch, but if you just go to the menu and come back it is fixed... and if you press it again you turn off the frame limit, or at least that is what happens for me, though it doesn't work in battle), and if not, then i do not know what is wrong... but likely vista :evil:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-27 14:05:49
Gah! I play Zelda II for one day and see what happens. :P Lotsa questions. I don't mind, I just wish I was here earlier and could answer them.

Quote
what all is needed to make an enemy, such as the MP, use, say the fire spell?

First of all you'll have to add the fire attack data to the scene attack data. You might want to have a side-by-side comparison to WM for this. The attack doesn't even have to be 100% the same as the "Fire" attack in the KERNEL.BIN, but if you want to have that spell exactly you'll probably want to copy it.
Second, you'll have to add a reference to it in the attacker's AI. Make sure they have enough MP to cast it or you'll get the "Not enough MP!!" warning. To do this you'll have to set the target and use 92 to perform the command. When it gets around to that spot in the AI it will then try to perform it.

Quote
the camera doesn't seem to follow through right... ice is finished before it fully pans over to cloud, but that could be due to the speed at which it casts spells

As far as I can tell, yes this is correct. The camera data contains timings, angles, and distances. There's no documentation on the camera angles available and there's not even a good way to explain what they all look like. Most were probably created on the fly anyway.

Quote
it would be very nice if you would add the ability for the user to edit the enemy attack id's

I thought it could.... Do you have the newest version?

Quote
would it be easily possible for you to allow for more than one character editor to pop up at a time from proud clod from different scenes (same scene.bin, different file within), so that i can easily compare ai from one enemy to another, and still be able to edit both enemy's ai?

It's possible, but I won't do it. That has "memory leaks" written all over it and would require all the scenes to be decompressed in memory at all times. You can run two instances of Proud Clod to the same effect (http://img21.imageshack.us/img21/8514/mpcp.png), just have one dedicated to display and one dedicated to writing.

Quote
on another side note, is there status checks (or whatever they are called) for allocating drops/steal items that are possible through ai, so that more items can be stolen (different or same), different drops for doing different things in battle, or checking if an item was stolen

I do not know the answer to these, but "Item Stolen" might actually be one of the Unused script segments that activates when something is stolen. I might test this later today. As for address of items, just find a decent monster to test against and see what happens. I find the Vlakorados a good one to use because it can take a few hits before going down. At least, if you haven't broken the damage limit.

Quote
the kernel is only loaded at the start of a new game

This is incorrect. The kernel is loaded when you load the game and is never re-loaded while you're actually playing. Saving, modding, and re-loading will reflect any changes you wish to make in the KERNEL.BIN.

Quote
... and it wasn't working so i re-downloaded the latest version... that works on my PC that is  which is like version 1.17....

I don't even have code for the older version so I won't support anything when they go wrong. 1.1.8 was the first one that needed Power Packs, but it wouldn't open if you didn't have it. Just be aware that if you're not using whatever the latest version is I can't help you. I'd like to help you getting 1.2.1 working, but I still don't understand the error you're getting with it. If you had a corrupted download you should just download it again.

Phew. I think that's everything. If it's not feel free to post again.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-05-27 14:21:58
It's possible, but I won't do it. That has "memory leaks" written all over it and would require all the scenes to be decompressed in memory at all times. You can run two instances of Proud Clod to the same effect (http://img21.imageshack.us/img21/8514/mpcp.png), just have one dedicated to display and one dedicated to writing.

Why are monsters like the Bizarre Bug, Tail Vault, and Dual Horn being displayed under "Character AI Edit"?

By the way, say I wanted to create a whole load of new attacks, with new attacks IDs... how many new Attack IDs would I be able to throw in there?  Can I make as many as I want without going into five-figure numbers, or is the limit lower than that (and possibly reachable)?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-27 14:49:35
Quote from: NFITC1
Quote
what all is needed to make an enemy, such as the MP, use, say the fire spell?

First of all you'll have to add the fire attack data to the scene attack data. You might want to have a side-by-side comparison to WM for this. The attack doesn't even have to be 100% the same as the "Fire" attack in the KERNEL.BIN, but if you want to have that spell exactly you'll probably want to copy it.
Second, you'll have to add a reference to it in the attacker's AI. Make sure they have enough MP to cast it or you'll get the "Not enough MP!!" warning. To do this you'll have to set the target and use 92 to perform the command. When it gets around to that spot in the AI it will then try to perform it.

About this... I was under the impression that when enemies used shared attacks, the game always ignores the attack data in the scene.bin and looks at the attack data in the kernel.bin. Doesn't this mean that as long as the attack IDs and AI are right, the enemy will cast fire normally, whatever data is in the attack data part of the scene file? Or am I wrong about this?

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-27 14:58:26
I don't know of any limit, but they should be unique within each scene. Just make sure they're greater than 100h. If you want it to teach an E.Skill, use the corresponding E.Skill's attack ID. That's how the game knows an E.Skill was used on a player.

Traditionally there are less than 1000 unique attacks and I'm not sure what will happen if the IDs go higher than this. Aire Tam Storm has the highest attack ID at 3E1h. If you want to keep them all unique, download the list of monster attack names from Filefront and find an ID that's not being used. There's about 50 of them between 100h and 3E8h, but I don't have a list of those. Remember, all the Attack IDs are in hex even though that list is not.

Quote
About this... I was under the impression that when enemies used shared attacks, the game always ignores the attack data in the scene.bin and looks at the attack data in the kernel.bin. Doesn't this mean that as long as the attack IDs and AI are right, the enemy will cast fire normally, whatever data is in the attack data part of the scene file? Or am I wrong about this?

While I believe this is true (I only did one test and I've forgotten the results), the data still needs to be in the scene. That's how the infamous Adamantaimai glitch occurs. It tries to cast Cure, but since it doesn't have the data for Cure in the scene it doesn't work....Unless all the unit variables are initialized as FFh then it tries to use attack FFFFh (which doesn't exist) and crashes because of that.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Chrysalis on 2009-05-27 17:00:48
these tools are superb, are the opcodes etc. documented anyway? or is learn as you go?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-27 17:35:29
these tools are superb, are the opcodes etc. documented anyway? or is learn as you go?

Are you asking how NFITC1 figured all of this out, or are you asking whether there's anywhere you can go to find some more help.

If it's the latter, there's the help file that comes with WallMarket, the .dat file that comes with it (open it in notepad and scroll down), and this (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes/Battle_Script) page on the wiki.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-27 18:33:53
there's the help file that comes with WallMarket, the .dat file that comes with it (open it in notepad and scroll down), and this (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes/Battle_Script) page on the wiki.

All of which I wrote.  :wink:  . . . mostly from TFergusson's research.  :cry:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: BrokenCrowe (Mendelevium) on 2009-05-28 00:16:07
Okay.. i downloaded the power packs... i didn't see them at first xD..... and I'm using the latest version of Wall Market and now it seems to work perfectly ... Thank you :D

Thank you
Broken Crow
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-28 03:04:57
Quote
it would be very nice if you would add the ability for the user to edit the enemy attack id's

I thought it could.... Do you have the newest version?

what i meant was the area in the scene.bin for the specific enemy's attacks it is able to use, as well as the animation it uses for the attack. normally the MP enemy has only two attacks that it is able to use, machine gun (0110), and tonfa (0111), and even if the attack data in the scene allows for more attacks for every enemy in the scene, they still have to point to the attack in their specific part of the file (in the enemy data section), and give an actual animation for the ability, else the game locks up. i meant it would be nice if you could change each specific enemy's attack pointers and animation pointers through PC so that it didn't have to be done through hex editing. i have the PC 1.0 version, and it does not have this feature, it would require being able to choose a specific enemy in the group to see their animation/attack pointers, and each would need room for all 32 pointers (16 for attack pointer, each at 2 bytes, 16 for animation, each at one byte).

for example:
MP                                   Guard Hound                      [EMPTY]
atk 1 [xxxx]  ani 1 [xx]        atk 1 [xxxx]  ani 1 [xx]        atk 1 [xxxx]  ani 1 [xx]
atk 2 [xxxx]  ani 2 [xx]        atk 2 [xxxx]  ani 2 [xx]        atk 2 [xxxx]  ani 2 [xx]
...                                    ...                                     ...
atk 16 [xxxx]  ani 16 [xx]    atk 16 [xxxx]  ani 16 [xx]     atk 16 [xxxx]  ani 16 [xx]

the [xxxx] being the editable hex boxes. there is definately nothing similar to this that i saw in PC, so i am assuming you forgot about it, or that i am just blind as to where it could be  :evil:


Quote
what all is needed to make an enemy, such as the MP, use, say the fire spell?

First of all you'll have to add the fire attack data to the scene attack data. You might want to have a side-by-side comparison to WM for this. The attack doesn't even have to be 100% the same as the "Fire" attack in the KERNEL.BIN, but if you want to have that spell exactly you'll probably want to copy it.
Second, you'll have to add a reference to it in the attacker's AI. Make sure they have enough MP to cast it or you'll get the "Not enough MP!!" warning. To do this you'll have to set the target and use 92 to perform the command. When it gets around to that spot in the AI it will then try to perform it.

what i meant here is that the enemy MP will not be able to use the fire spell normally (just by calling it in the ai) after setting it's attack/animation pointers to actually show the spell fire. the MP has only two attack animations (that i know of) written as 03 (machine gun attack) and 04 (tonfa attack), and nothing for any magical attacks (all versions (i think) of the MP, including palette swaps, have no animation for casting magic). if i give it any animation id (from the few i tried) past 04, it just sits there as if i didn't even set them to use the ability, and i believe that the earlier animations are for idle and hurt animations. however, if i set it to 03/04, it will use that normal attack animation, with no name, and do the fire spell's damage (though with no fire animation). what i was asking was how to make it so that they actually cast the fire spell on the enemy instead of doing a normal attack animation. would i need to actually create an animation for them in the battle.lgp file (which i have no clue how to do... kimera has issues reading them) allowing for spell casting?

Quote
the kernel is only loaded at the start of a new game

This is incorrect. The kernel is loaded when you load the game and is never re-loaded while you're actually playing. Saving, modding, and re-loading will reflect any changes you wish to make in the KERNEL.BIN.

i think i was thinking of using savestates in the psx version... my bad :-P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-28 03:39:00
Quote
it would be very nice if you would add the ability for the user to edit the enemy attack id's

I thought it could.... Do you have the newest version?

what i meant was [....] or that i am just blind as to where it could be  :evil:

I'm not blind...., but I did forget that those were important info pieces. My current goal is to make this do everything to the scene.bin that Hojo won't. I already nearly obsoleted Teioh with WM 1.0 so I don't want to quash any more of Squall's accomplishments.


Quote
what all is needed to make an enemy, such as the MP, use, say the fire spell?

First of all you'll have to add the fire attack data to the scene attack data. You might want to have a side-by-side comparison to WM for this. The attack doesn't even have to be 100% the same as the "Fire" attack in the KERNEL.BIN, but if you want to have that spell exactly you'll probably want to copy it.
Second, you'll have to add a reference to it in the attacker's AI. Make sure they have enough MP to cast it or you'll get the "Not enough MP!!" warning. To do this you'll have to set the target and use 92 to perform the command. When it gets around to that spot in the AI it will then try to perform it.

what i meant here is [....] allowing for spell casting?

You have to make new animations for them if you don't want to use what they already have. Unless you can discover new anims. If you want, say, the machine gun attack anim to perform Fire, just change the Anim that is performed to match that of the machine gun's.

Quote
the kernel is only loaded at the start of a new game

This is incorrect. The kernel is loaded when you load the game and is never re-loaded while you're actually playing. Saving, modding, and re-loading will reflect any changes you wish to make in the KERNEL.BIN.

i think i was thinking of using savestates in the psx version... my bad :-P

S'all good. :)

Okay.. i downloaded the power packs... i didn't see them at first xD..... and I'm using the latest version of Wall Market and now it seems to work perfectly ... Thank you :D

Thank you
Broken Crow

Good! Now I can help you if you have a problem. :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-28 13:04:05
Quote
I'm not blind...., but I did forget that those were important info pieces. My current goal is to make this do everything to the scene.bin that Hojo won't. I already nearly obsoleted Teioh with WM 1.0 so I don't want to quash any more of Squall's accomplishments.

i said that I was blind not you :-P

Quote
You have to make new animations for them if you don't want to use what they already have. Unless you can discover new anims. If you want, say, the machine gun attack anim to perform Fire, just change the Anim that is performed to match that of the machine gun's.

that is what i do not know how to do. i have no idea on how to make new animations for the enemy, or i'd be good to go.

now through the ai i have managed to make enemies cause status ailments to you when you attack them (at a random chance), give them auto statuses like protect/barrier, perform a damage taken check (as a general counter) to see how much damage they received from that attack, if any, and then automatically restore a %age of that damage (kinda like the ffta/2 damage absorb reaction ability) so that their actual life seems longer than it is, and if you are weak they last much longer, though if you are strong they still last more than their base hp (sans 1HKO) normally would, making your strength even more important. I'd like to make a reverse of that, where they heal less if you do lesser damage and heal more when you do more damage, so that the stronger you are, the more hp they gain, but i will likely just make enemies level as you do with similar stat growths as your characters, but that will be a long process to do and will take up much room in the ai unless i can compress it down some. even still that'd be a nice improvement in my opinion over set enemy strengths, and is another reason why I wanted to know about adding drops via ai, so that i could do this little trick. similar to ffviii enemy growing style, but making sure they stay challenging throughout.

tried to fix the MP's machine gun so that it actually dealt long range damage (does 1 hp when i am or it is in the back row, and 4 in the front) by temporarily setting their back row target's back row mod to 00 (front row) in the main, and setting it back to 01 in the post-attack script, though it still did 1 damage... i do not know how to make the enemy's direct attack do more damage (say... double) with direct multiplication (damage x 2 for instance) since there is seemingly no damage check that i can see, and i do not know if i can make the target suffer back attack damage in place of this (and to replace the non-working row change attempt).

i have plenty of ai room for the MP now, since i shrunk it's ridiculously high 861 byte ai down to a reasonable 67 byte ai doing essentially the same (kept the check for enemy row by targeting a random enemy and checking it's row and going form there), making it do more tonfa attacks on front row enemies and more gun shots on back row, removed specific row checks since it doesn't really need them (crappy move set anyway, so not really going to waste time adding that), as well as checking it's own row, though it is pretty easy to add that in (essentially -> if (self back row = 1) -> jump to back row enemy script (in which is the random mod for choosing the gun attack more commonly), and that would be all that is needed to change).

working on getting enemies to have auto-life, so that when they die they can come back to life one time (or more for some fights... make a minion always come back until the master is dead, then losing rezzing capability) or so, though it'd be pretty funny if phoenix could be summoned by the enemy :evil:. hopefully it goes as smoothly as everything else has been recently, since i am getting to know the ai programming pretty well.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: darkvadd7 on 2009-05-28 13:14:44
ProudClod will be great if we can change battle dialogs without bugs ! :-P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-28 13:19:35
I haven't tried battle dialogue yet, but i guess i can try it in my next little project, since a message would be nice to see anyway if an enemy is reviving itself.

edit: dialogue definitely works correctly, but my insta rezzing isn't... gonna move it from death counter to an hp checking post-attack script and see if that works. dunno the exact details about bringing someone to life, so im not too sure about it  :|
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-05-28 13:53:30
Quote from: secondadvent
now through the ai i have managed to make enemies cause status ailments to you when you attack them (at a random chance)

That's an excellent idea; I'm going to try it  :wink:

Quote from: secondadvent
perform a damage taken check (as a general counter) to see how much damage they received from that attack, if any, and then automatically restore a %age of that damage

This is a good idea as well; I think that I'll have them perform counter attacks after taking a certain amount of damage. Perhaps some enemies could have one attack that they only use after taking a lot of damage.

Quote from: secondadvent
working on getting enemies to have auto-life, so that when they die they can come back to life one time (or more for some fights... make a minion always come back until the master is dead, then losing rezzing capability) or so, though it'd be pretty funny if phoenix could be summoned by the enemy evil. hopefully it goes as smoothly as everything else has been recently, since i am getting to know the ai programming pretty well.

Not sure exactly what you're planning here, but when reviving minions, wouldn't it be easier (and fairer, from the players POV) to have more enemies use life and life2 on each other?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-28 13:54:30
Discussion of PrC (my new abbreviation of Proud Clod to prevent it from sharing one with PC) has been moved here (http://forums.qhimm.com/index.php?topic=8481.0). It's getting too cluttered in here for two program's to be discussed in the same thread. This should now only contain WallMarket-related questions/comments/bug reports.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-05-28 14:08:20
i know it'd be better, and i do plan on giving enemies life, but i'd like some enemies have an auto-life status under certain circumstances... and i did it, but the enemy is invisible (death animation happened, and stayed that way XD). gonna see if it will be visible by setting it to be visible, else i will put it in the post attack ai (found out it was an error on my part... still learning :-P).

thanks... i didn't know that my ideas were this good. if it helps, that is great, since the more ideas that are out there, the better the hacks can become :evil:. if you want to see some of my code as an example tell me and i will put some up here for reference.

also, nfitc1, it'd be nice if there were a copy/paste feature available for the ai editing, since it isn't fun to have to re-type long pieces of code when moving it around >_>.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-05-30 11:55:31
WallMarket's Attack tab -> Status Attack "Change: X / 63" value is a bit confusing
Percentual change is actually 4x value and 63 is just biggest allowed value.

For example
Death
11 / 63 [44% change inflicting Death]
Slow
25 / 63 [100% change inflicting slow]
Remove
63 / 63 [252% change killing enemies, hits allways since propability can't decrease under 100% even with Quadra Magic]

I'm not saying there's any bugs or problems in this program. I was only confused for a few minutes when I scrolled through some status inflicting changes and couldn't figure out how could 11/63 be 0.44
Then I remembered orginal HEX values 01-3F (h19 being 100%)

EDIT:
Question

Is it possible to change Additional Effects in any way?
Particularly
15 Raises base damage and defense by (100 - [])%([] not to exceed 200)
- Raises Att Mod, MAt Mod, Def Mod and MDf Mod by X
  (Hero Drink +30%)
1C Raises base damage and defense by (100 - [])%([] not to exceed 200)
- Def Mod and MDf Mod by X
  (Dragon Force +50%)

I'd like to remove Def Mod and MDf Mod completely because immortality isn't fun. Change them to Att Mod and MAt Mod because boosted damage is fun at times.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-30 15:47:30
WallMarket's Attack tab -> Status Attack "Change: X / 63" value is a bit confusing
Percentual change is actually 4x value and 63 is just biggest allowed value.

For example
Death
11 / 63 [44% change inflicting Death]
Slow
25 / 63 [100% change inflicting slow]
Remove
63 / 63 [252% change killing enemies, hits allways since propability can't decrease under 100% even with Quadra Magic]

I'm not saying there's any bugs or problems in this program. I was only confused for a few minutes when I scrolled through some status inflicting changes and couldn't figure out how could 11/63 be 0.44
Then I remembered orginal HEX values 01-3F (h19 being 100%)

No...the chances just are out of 63. 11/63 ~ 17.5% chance. So 63/63 is 100%. It should all be in the helpfile, but it's been a while since I've looked at that.

EDIT:
Question

Is it possible to change Additional Effects in any way?
Particularly
15 Raises base damage and defense by (100 - [])%([] not to exceed 200)
- Raises Att Mod, MAt Mod, Def Mod and MDf Mod by X
  (Hero Drink +30%)
1C Raises base damage and defense by (100 - [])%([] not to exceed 200)
- Def Mod and MDf Mod by X
  (Dragon Force +50%)

I'd like to remove Def Mod and MDf Mod completely because immortality isn't fun. Change them to Att Mod and MAt Mod because boosted damage is fun at times.

Not by editing the KERNEL. You'll have to change the way it's handled in the game.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-05-30 19:20:14
No...the chances just are out of 63. 11/63 ~ 17.5% chance. So 63/63 is 100%. It should all be in the helpfile, but it's been a while since I've looked at that.

I'm allmost 100% sure that values I posted earlier are correct
Death
11 / 63 [44% change inflicting Death]
Slow
25 / 63 [100% change inflicting slow]
Remove
63 / 63 [252% change killing enemies, hits allways since propability can't decrease under 100% even with Quadra Magic]

Remember that if you couldn't have change higher than 100% spells like Esuna and similar spells would fail quite often when used with All- or Quadra-Magic -materia
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-30 23:59:45
No...the chances just are out of 63. 11/63 ~ 17.5% chance. So 63/63 is 100%. It should all be in the helpfile, but it's been a while since I've looked at that.

I'm allmost 100% sure that values I posted earlier are correct
Death
11 / 63 [44% change inflicting Death]
Slow
25 / 63 [100% change inflicting slow]
Remove
63 / 63 [252% change killing enemies, hits allways since propability can't decrease under 100% even with Quadra Magic]

Remember that if you couldn't have change higher than 100% spells like Esuna and similar spells would fail quite often when used with All- or Quadra-Magic -materia

What I had here before was a little cheeky so I'll give you a better answer and if you read it before I'm sorry. If you didn't read it, don't worry about it. ;)

That Chance/63 is the chance to inflict the status. That is a chance out of 63 (this 11/63 ~ 17.5% chance to inflict IF THE ATTACK HITS using the mathematical 100% probability scale). The chance that the attack actually hitting the target is reflected in the Attack% and THAT is out of 255. I believe we had a misunderstanding before, but this is correct.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-05-31 07:30:02
What I had here before was a little cheeky so I'll give you a better answer and if you read it before I'm sorry. If you didn't read it, don't worry about it. ;)

That Chance/63 is the chance to inflict the status. That is a chance out of 63 (this 11/63 ~ 17.5% chance to inflict IF THE ATTACK HITS using the mathematical 100% probability scale). The chance that the attack actually hitting the target is reflected in the Attack% and THAT is out of 255. I believe we had a misunderstanding before, but this is correct.
I didn't confuse status inflict change with attack%
What I meant that 25/63=100% inflict status before modifications and 63/63=Allways 100%
Example
Slow
Attack Status: Slow, Change 25/63
inflicts slow 100% of the time without mods
inflicts slow 67% of the time when used with all materia
Haste
Attack Status: Haste, Change 63/63
inflicts Haste 100% of the time without mods
inflicts Haste 100% of the time when used with all materia

I remember mostly the orginal hex values
00-19 (0%-100%)
19-3F (100%-inflict status allways(252%))
7F Toggle status
I don't remember all values since it's been about year a two since the last time played around with hex-editor.

But I'm 100% sure that Slow has 100% change inflicting status (25/25) and not ~40% (25/63)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2009-05-31 17:32:10
warbaque is correct. I once added a status to an enemy's physical attack, and wanted it to trigger about half the time. So I put '30' in the accuracy field, but in game, the status would always work. It was when I put 12 or 13 in the accuracy field, that the status finally had ~50% chance to take effect.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-05-31 19:44:35
What I had here before was a little cheeky so I'll give you a better answer and if you read it before I'm sorry. If you didn't read it, don't worry about it. ;)

That Chance/63 is the chance to inflict the status. That is a chance out of 63 (this 11/63 ~ 17.5% chance to inflict IF THE ATTACK HITS using the mathematical 100% probability scale). The chance that the attack actually hitting the target is reflected in the Attack% and THAT is out of 255. I believe we had a misunderstanding before, but this is correct.
I didn't confuse status inflict change with attack%
What I meant that 25/63=100% inflict status before modifications and 63/63=Allways 100%
Example
Slow
Attack Status: Slow, Change 25/63
inflicts slow 100% of the time without mods
inflicts slow 67% of the time when used with all materia
Haste
Attack Status: Haste, Change 63/63
inflicts Haste 100% of the time without mods
inflicts Haste 100% of the time when used with all materia

I remember mostly the orginal hex values
00-19 (0%-100%)
19-3F (100%-inflict status allways(252%))
7F Toggle status
I don't remember all values since it's been about year a two since the last time played around with hex-editor.

But I'm 100% sure that Slow has 100% change inflicting status (25/25) and not ~40% (25/63)

Huh. Now that I'm looking at Haste and Slow I'm seeing that there's a difference. Haste does always work on everyone and it's 63/63. So do you think that the "/63" label should read "* 4 (%)" or something? I was assuming it was out of 63 because Toad and Mini are 18 and they don't seem to work 72% of the time.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-05-31 20:50:11
Huh. Now that I'm looking at Haste and Slow I'm seeing that there's a difference. Haste does always work on everyone and it's 63/63. So do you think that the "/63" label should read "* 4 (%)" or something? I was assuming it was out of 63 because Toad and Mini are 18 and they don't seem to work 72% of the time.
I think good label would be "/63 [automatically calculated % value next to it]" so you would know exact change% and it would also show the maximum allowed value. Not that there's a big difference what some label reads as long as I can edit value easily.

By the way. Do enemies use kernel.bin spell data or do they have have their own custom spells in scene.bin?
For example if I wanted to change Fire3 do ice-elemental damage would it be enough to change it only in kernel.bin or would I need to edit tens or hundreds Fire3 entrys in every enemys personal attack data?

If it is the latter, like it most likely is, is there any fast way/trick to copy-paste changes made into Fire3 to all attack datas?

And third and last question. You mentioned at some point about co-operating with Squal78, the creator of Hojo enemy editor. Did you get any reply? I wouldn't mind seeing an ultimate scene.bin editor.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Armorvil on 2009-05-31 22:55:07
Quote
By the way. Do enemies use kernel.bin spell data or do they have have their own custom spells in scene.bin?
For example if I wanted to change Fire3 do ice-elemental damage would it be enough to change it only in kernel.bin or would I need to edit tens or hundreds Fire3 entrys in every enemys personal attack data?

They use the Kernel.bin data, so you only need to edit Fire3 once. The "kernel" magics listed in the Scene files are completely useless.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-01 01:16:14
Huh. Now that I'm looking at Haste and Slow I'm seeing that there's a difference. Haste does always work on everyone and it's 63/63. So do you think that the "/63" label should read "* 4 (%)" or something? I was assuming it was out of 63 because Toad and Mini are 18 and they don't seem to work 72% of the time.
I think good label would be "/63 [automatically calculated % value next to it]" so you would know exact change% and it would also show the maximum allowed value. Not that there's a big difference what some label reads as long as I can edit value easily.

I'll look into it.

And third and last question. You mentioned at some point about co-operating with Squal78, the creator of Hojo enemy editor. Did you get any reply? I wouldn't mind seeing an ultimate scene.bin editor.

I was really just wanting to add an attack editor to Hojo so I wouldn't have to create Heidegger....Obviously he didn't get back to me. :) I'd still like to collaborate though since I don't want his efforts to be in vain.

Quote
By the way. Do enemies use kernel.bin spell data or do they have have their own custom spells in scene.bin?
For example if I wanted to change Fire3 do ice-elemental damage would it be enough to change it only in kernel.bin or would I need to edit tens or hundreds Fire3 entrys in every enemys personal attack data?

They use the Kernel.bin data, so you only need to edit Fire3 once. The "kernel" magics listed in the Scene files are completely useless.

Not true. Consider the Adamantaimai. He doesn't have the data for Cure in his scene, but if you Barrier/MBarrier him before his first attack you get a Scene error. This isn't true if his animation isn't set. In that case, nothing happens. Everyone just goes into a coma rather than flashing "SCENE ERROR; CONTACT STAFF". They need the data in their scenes, although I agree it's pointless.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-01 02:11:44
Found a minor error under the accessories tab.  Fury Ring causes Berserk, not Fury.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-01 06:04:54
This is an amazing program....

How long did it take the author (if they are around)  to make it I wonder....

The GUI is always the part I hate.....that must have took ages too.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-01 08:15:34
The author is NFITC1, "Master of the KERNELS".  Worship him!

Yeah, this project has been around since last October, I think.  It's latest update was pretty recent, but it came sooner than the estimated date, which was the 4th of July.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-01 08:24:06
NFITC1.  You are a genius.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-01 13:03:47
NFITC1.  You are a genius.

I quite agree. :)

Yeah, this project has been around since last October, I think.  It's latest update was pretty recent, but it came sooner than the estimated date, which was the 4th of July.

I started it September 25 back in '08 and the first public release was on October 8. Since then I've updated it, probably 30+ times. The July 4th thing was more like a promise that the current update (that allows character AI editing) would really come. It wasn't a true representation of when I thought it would get done. :)
It's actually a little wrong in the current version and Proud Clod is better at the Scripts because I'm willing to wager that more people would rather update the enemy AI over the character AI.

Found a minor error under the accessories tab.  Fury Ring causes Berserk, not Fury.

Dang. I hate little things like this showing up! This must have been around since 1.0 since I haven't touched that box since it was created. This may have even existed back in the 0.9.x versions. :( Anyway, just work with it for now since it doesn't affect anything else. I'll have it changed in the next version.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-06-01 14:06:20
How can I edit Item/Attack/etc descriptions? And is it possible to edit other limit breaks?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-01 23:07:46
Do you have the PC version?

With the PC version, names and descriptions are stored in kernel2.bin, while the Limit Breaks are split between the kernel.bin and the executable.  I'm not sure where the Limit Breaks are in the exe, but I think it was mentioned on page 2 of this thread.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-06-01 23:09:38
I'm not sure where the Limit Breaks are in the exe, but I think it was mentioned on page 2 of this thread.

Yep  :wink:

See my post here (http://forums.qhimm.com/index.php?topic=7928.msg95559#msg95559).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-01 23:16:48
Thank you so much for that, by the way!

Any chance their location might change if I apply patches to the executable?  (For instance, Higher Resolution and YAMP)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Anno999999 on 2009-06-02 00:33:10
:/ cant get this running with vista, i run as admin with xp compatibility mode. Any other ideas?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-06-02 07:42:11
Thank you so much for that, by the way!

Any chance their location might change if I apply patches to the executable?  (For instance, Higher Resolution and YAMP)

I don't think that YAMP changes very much in the .exe (which might be why it's compatible with so many other mods), so I don't think it will change the location of the limit break attack data. In any case, I was using YAMP when I found those values ;-)

I can't really speak for the hi-res patch, since I've never used it, but it's possible AFAIK. However, there's no need for the high-res patch now that there's a custom graphics driver.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-02 17:40:08
:/ cant get this running with vista, i run as admin with xp compatibility mode. Any other ideas?

make sure run as an administrator is ticked under compatibility.


In other news:  BUG report: (I am using Vista x64 SP2)

1.  Summon attack names for PC are locked by accident.  The only way to unlock them is to click on PSX, then tick the update text box and then go back to PC tab.  (it is simply that the "update text box" is unintentionally greyed out in PC options.

2.  Unhandled exception when clicking "initial data"  tab

3.  50% of the time, the program fails to open properly.  It gets stuck before giving you the option of opening kernel.bin

4.  Missing Summon battle names:  Gunge Lance (odin's second attack), fat chocobo (choco/mog second attack),

5.  Attack tab:  Multiple duplicates of Limit breaks, especially Caits.  Caits move which damages the party seems to be absent.

caits limits:  Dice, Slots, Mog dance, Toy Soldier, Summon, transformation, Lucky girl, death to all (unknown if this is the name, death to all party), Game over (death to all opponents)  and possibly "toy box"

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-02 23:11:56
Gunge Lance and Fat-Chocobo are under the attacks tab.  I think they come right after Enemy Skills (I don't have WM handy right now).

Cait Sith's "death to all" Limit Break is Death Joker, and it is there along with all the others including Toy Box.

In the PC version, all of the duplicate Limit Breaks are greyed out because they are not actually in the kernel.  As for why there are duplicate Limit Breaks in the first place, I'm not entirely sure...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-03 04:10:58
Is there anyway to edit the weapon information like "powers up when ally down" ??
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-03 09:48:35
Look in the "Weapon Damage" drop-down thingy.  It'll be there with many other things (including the special effects of the ultimate weapons, and even the special effects of "Everyone's Grudge", "Aire Tam Storm", and "Heartless Angel").  It's really fun to play with.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-06-03 11:35:41
Look in the "Weapon Damage" drop-down thingy.  It'll be there with many other things (including the special effects of the ultimate weapons, and even the special effects of "Everyone's Grudge", "Aire Tam Storm", and "Heartless Angel").  It's really fun to play with.

I think he meant text information such as "Initial equipment", "Sword is used when ally is down" (Sounds like another BAD translation), "Nullifies [Fire] attacks" and not damage formulas.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-03 12:23:25
Oh.  Well, in that case, first make sure that your kernel2.bin is in the same directory as the kernel.bin that you edit.  Under the weapon tab or the attack tab or whatever it is, double click the thing you want to edit in the list on the left.  This brings up the Raw Data window.  Here, you can edit the thing's name, description, and the individual hex values.  Editing the individual hex values in unnecessary in most cases unless you wanna try out WEIRD things.

For instance, to change the name and description of Yuffie's ultimate weapon click the Weapons tab and in the list on the left, scroll down to the Conformer (Weapon ID: 100).  Double click it and do whatever you want :-D  I changed its name to "Materia Freak" and its description to "Bringer of death!!"  (I enjoy using this program.)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-03 15:20:35
hahaha  I was renaming the weapons all along but missing the huge box beneath it!

I love this program, it is one of the best things I have ever seen!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: warbaque on 2009-06-05 12:02:29
How do you open up a playstation iso file with this program?
You don't. You open iso file with either any iso editing tool like isobuster or you mount it with virtual drive, copy kernel.bin from cd to ../myrandomkernelbinfolder/ AND THEN open it with WM.
And when you put edited kernel.bin back to cd use tool called cdmage.

Instructions here
http://www.tales-cless.org/docs/thepsxdoc2.txt
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-06 16:42:37
Quote
1.  Summon attack names for PC are locked by accident.  The only way to unlock them is to click on PSX, then tick the update text box and then go back to PC tab.  (it is simply that the "update text box" is unintentionally greyed out in PC options.

2.  Unhandled exception when clicking "initial data"  tab

3.  50% of the time, the program fails to open properly.  It gets stuck before giving you the option of opening kernel.bin

4.  Missing Summon battle names:  Gunge Lance (odin's second attack), fat chocobo (choco/mog second attack),

5.  Attack tab:  Multiple duplicates of Limit breaks, especially Caits.  Caits move which damages the party seems to be absent.


None of these are bugs.

1. No, they're not. If you want to change the PC's text you'll have to create the kernel2.bin from the File menu. The "Update Text" is intentionally greyed out in PC mode because changing it in the KERNEL.BIN doesn't make a difference. That is only there to save time when editing the PSX KERNEL.BIN since compressing is a little slow. If you want to change the text of the PSX items, that box will need to be checked.

2. Not helpful. I need to see the full error window. Make sure you have the Power Packs from the first post installed.

3. Can't help you if it doesn't happen all the time

4. This already got answered

5. This is a KERNEL.BIN oddity. While the limits' text are in the KERNEL.BIN, the data is not. Attack 128 and on are only the menu items that select Limit Breaks. The first set (98-121) contain attack data for what I call "secondary Limits" such as Cait's Slot attacks, Vincent's transformations, and Tifa's attacks. I'm not sure how to explain it, but only 128 attacks are stored in the attack data of the KERNEL.BIN, but 256 attack names are stored there as well.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Seifer Almasy on 2009-06-06 17:27:25
Yes sorry about number 2, as a hobbiest programmer myself that was rather lazy of me.  It happens all the time so I will send you the full error (below)  Bare in mind that I am using Vista x64

Also, I can't seem to make "imprisonment"  work at all...?  It seems to do nothing...  You see I want to inflict it on myself or another monster and create a death or gameover scenario instantly (kind of like what Zanmato does in FFX)  I could always achieve this by Reducing HP and MP to 0 (so that player cannot use Final attack + revive etc)



Error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at WallMarket.Form1.DrawStatIndic()
   at WallMarket.Form1.Draw_Curves(Object sender, EventArgs e)
   at WallMarket.Form1.Radio_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at WallMarket.Form1.TabControl1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TabControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
WallMarket
    Assembly Version: 1.2.1.0
    Win32 Version: 1.2.1.0
    CodeBase: file:///J:/UNSORTED/FFVII/FF7/FF7%20PC%20-%20Mods/WallMarket121/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks
    Assembly Version: 9.0.0.0
    Win32 Version: 3.0.30214.0
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks/9.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-06-09 15:58:47
[self-indulgent spam]Hmmm, I wonder what mods someone could make with the AI editing function?[/self indulgent spam]  :mrgreen:

http://www.youtube.com/watch?v=AAjV7-gRwFg
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: gjoerulv on 2009-06-09 17:25:12
[self-indulgent spam]Hmmm, I wonder what mods someone could make with the AI editing function?[/self indulgent spam]  :mrgreen:

http://www.youtube.com/watch?v=AAjV7-gRwFg

lol good one.

On something a bit more serious lol...
Anyone experiencing a problem with the Materia section? There seems to be something wrong when the textboxes load the AP-pr-level bytes. I write it in the textboxes, but when I reload WallMarkd the text will not load. It is fully possible, however, to alter the data itself with the raw editor (see picture).

(http://www.imagenerd.com/thumbnails/th_wallmarkedmateria0-U8lr1.jpg) (http://www.imagenerd.com/show.php?_img=wallmarkedmateria0-U8lr1.jpg)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-09 18:44:25
Anyone experiencing a problem with the Materia section? There seems to be something wrong when the textboxes load the AP-pr-level bytes. I write it in the textboxes, but when I reload WallMarkd the text will not load. It is fully possible, however, to alter the data itself with the raw editor (see picture).

Typo on my part. Sometimes it will show it, sometimes it won't. I know why, but it's not important to explain. Yet another thing that's been around since version 1.0.0 that no one caught. I'd like to fix some of the AI-related things (once I'm happy with the way PrC is working) then I'll fix WM. Please be patient and work around my stupid typos. :)

So bring some things back to my attention since I have a bad memory. The things that I have fixed so far (to be fixed in the next version at least) are the typo in the accessory effects (Fury -> Berserk) and this problem with the Level 3 AP. What else needs doing?

This finally just occurred to me. Both Damage Calculation functions 00h and 50h are labeled as "No Damage Calculation", but 00 should be "No Damage Calculation (Do not display Attack Name)" and 50 should be "No Damage Calculation (Display Attack Name)". It's been bugging me for a while why some attack names were displaying and some weren't when that info wasn't in the data. Now I know. :)

I was looking at some more code on the 0002h flag. I found where it's checked and I can see what it does, but I don't know what it's checking. If it is checked and some other conditions exists, then it skips a few steps. That flag is stored at 0x6C of the....AttackQueue? (0x0099E308) I'm not sure what it is. If that flag is on and if offset 0x228 of the same list is 40000h then it skips the rest of the function. Whatever it is... I'm in over my head here. Any help?

Now that I looked at it closer I realize I wasn't looking at 0002h, but 0200h, which is the reflectable property and explains why it then checked to see if the target had reflect on it. A quick(?) search through the code shows me that 0004h, currently listed as unused, apparently should have some effect, but I can't find where it checks the status of 0002h at all. Don't take that to mean that it does nothing. I couldn't find the checks for the Blade Beam effect (which I know does something) or the Critical Hit effect.

Subsequently, I learned that 0x0099E308+6Ch is current attack's special properties (so I guess the entire attack starts at 0x0099E308+52h) and 0x0099E308+228h is target's current status (Barrier, Haste, etc).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: hhhh20021992 on 2009-06-17 07:54:27
How to edit the kernel.bin and kernel2.bin file? I want to replace all sword with the model of Ulima sword. i have a patch which can replace all sword with buster sword.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-25 06:58:19
[late response] Download Wall Market.  As soon as you get it working, open your kernel.bin with it and click on the Weapons tab.  See the box labelled "Model ID?:"?  The model ID for Cloud's Ultima Weapon is F8FF0F.  Copy that into the Model ID boxes for all of Cloud's weapons.  That's one of two ways of giving all of Cloud's weapons the model of the Ultima Weapon.  The other way is to rename some of the files in the battle.lgp.  Specifically, you would want to replace all of the files between "rtck" - "rtcy" (inclusive) with "rtcz".  The former is probably the easier option, depending on whether or not you experience troubles running Wall Market as some people do.  If you want to replace Sephiroth's Masamune with Cloud's Ultima Weapon as well, tell me and I can give you further instructions for that :-) [/late response]

Now, a question of my own, and I apologize in advance if this has already been asked.  Is there a way to attach "All" to "Enemy Skill" and make it work?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-25 17:34:53
Now, a question of my own, and I apologize in advance if this has already been asked.  Is there a way to attach "All" to "Enemy Skill" and make it work?

No, because All Materia only affects Magic Materia and the Magic menu. Even if you tried to turn on "Toggle Multiple" for each of those attacks, the game would likely reject multiple targets and either crash (I'm pretty sure it will with Angel Whisper and multiple targets) or only affect one of the targets.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-26 01:17:03
So it wouldn't work even if I gave the enemy skills the animations of spells like Fire and Ice, which can toggle multiple?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-26 02:36:41
So it wouldn't work even if I gave the enemy skills the animations of spells like Fire and Ice, which can toggle multiple?

THAT would work because it's the animations that crash it. It's looking for a multiple anim and not finding one and dies trying.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-26 02:50:48
AWESOME!!!  Okay, that resolves all my worries :D

Edit: I've just tried it, which is something I should have thought to do before asking the question, I guess...

It does not work because the Enemy Skills and magic spells do not share the same group of animation IDs.  I gave Frog Song the animation ID for Fire, but it used the animation of some other enemy attack instead.  That means that in order for Enemy Skills to toggle multiple, you need to change the animations themselves (I imagine by going into the magic.lgp and renaming files).  A bit more tiresome, but it will work.  Only thing that cannot be fixed is that the red arrows that appear in the magic menu with "All" do not appear in the "Enemy Skills" menu.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-06-26 03:09:50
I have a (noob) question if you wouldn't mind asking:

with reguards to the animation for sephiroth's supernova people have said that it can't be done due to the fact that it is tied to his id

well after using the proud clod program i noticed that you can actually modify the attack id for the animations that you can use.

The question i'm asking is: is it possible for you to add a feature like that to wallmarket and if that is possible would it then manage that animation? I know that this has been attempted by many before but i just want to see if i can't learn anything from trying.

thanks in advance
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-26 13:37:28
It does not work because the Enemy Skills and magic spells do not share the same group of animation IDs.  I gave Frog Song the animation ID for Fire, but it used the animation of some other enemy attack instead.  That means that in order for Enemy Skills to toggle multiple, you need to change the animations themselves (I imagine by going into the magic.lgp and renaming files).  A bit more tiresome, but it will work.  Only thing that cannot be fixed is that the red arrows that appear in the magic menu with "All" do not appear in the "Enemy Skills" menu.

I thought you were just using Fire/Ice as an example. You can change the animations to something more multi-target-friendly, but you'll have to do it while being confined to its relative animation index. I made a topic about that a few months ago (http://forums.qhimm.com/index.php?topic=8195.0).

I have a (noob) question if you wouldn't mind asking:

with reguards to the animation for sephiroth's supernova people have said that it can't be done due to the fact that it is tied to his id

well after using the proud clod program i noticed that you can actually modify the attack id for the animations that you can use.

The question i'm asking is: is it possible for you to add a feature like that to wallmarket and if that is possible would it then manage that animation? I know that this has been attempted by many before but i just want to see if i can't learn anything from trying.

thanks in advance

That's not a noob question, but it has a slightly complicated answer. No, it's not tied to Safer Sephy's ID. This is a misconception based on a lack of testing. It is actually tied to battle backdrop 0039h (the BATTLE with Safer). It very purposefully does that shattering effect on only that background, but if it doesn't find it then the game just hangs. Refer to the animation post I just referenced and you'll see that SN has a relative animation of 8Fh, but adding 4Eh to that (which is the Enemy Attack offset) gives it an absolute index of DDh. So replace, say, Fire's animation with that and set an enemy's background to 0039h and watch them get melted (I just did it so I know it can be done). Also, if you replace an E.Skill's animation with A7 it will have the same effect.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2009-06-27 07:35:03
this may or may not be a bug but in the character growth section when i change the number of the stats the curve doesnt change also the min- max section same page doesnt change to the projected max by my calulations
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-06-27 07:41:53
i think that it only updates the info if you either press enter after changing the value, or click another stat and go back, it doesn't update as you type it in, and i know that it updates for me because i just checked.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-06-27 08:14:35
Hey NFIT, thanks a bunch for helping me understand the whole deal with supernova. I just used it on safer sephiroth and it looked pretty awesome to say the least.

quick question though, i'm trying to edit most of the enemy skills to make special moves i liked in the game (i already have heartless angel and for kicks i put in pale horse and supernova) so i was wondering if you knew of any really good animations like stigma i could use that uses enemy skill id tags

and a final question: does the battle scene have to be the spiraling heavens (safer battle) for supernova? or does editing the id merely change how the backround is registered/used/insert term here that doesn't make me look stupid?

the reason i ask is because i can't get my hands on a scene editor as the links for it is dead now.



thanks in advance
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-27 08:49:52
the reason i ask is because i can't get my hands on a scene editor as the links for it is dead now.

This one isn't dead, and it's a really good one to boot:

http://forums.qhimm.com/index.php?topic=7186.0
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-06-27 09:00:19
Thank you very much shadow! you've given me more than i wanted (which is a good thing)

awesome
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-27 09:36:27
You're welcome :-)  Between Hojo and Proud Clod, there's very little left in the scene that must be edited with a hex editor.

NFITC1, thanks for the link!  It's very useful.

So I've been inspired now... What would I have to change a summon's animation to in order to get Supernova?  It'd be cool to replace KotR with Supernova, so that it is still a cheap move, but only available in that one battle against Safer Sephy.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-06-27 09:52:55
if you were to have it as a summon (if you can), there is still the possibility someone will try to use it outside of the sephy fight, and that would freeze the game iirc, so i don't think that to be a good idea... using supernova in place of anything seems a little over the top, and the summons have perfectly fine animations XD.

that is the same with the enemy skills, while it would fit better there, it could still only be used in that battle (or any with the animation, or it'd freeze the game, and since there is no easy way to prevent it from being used, it would be a pretty bad thing. not that i don't like the idea, it is just not too safe right now. now if you are just using it yourself, i can see it being okay to use, because you know not to use it outside the fights with that background.

as for actually doing it, i have no idea if/how to do that, i just know the downside of that move as a usable attack :P.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-27 10:02:35
Yeah, I'm aware of the downsides.  In fact, I want Super Nova to replace Knights of the Round specifically so that I can only use it in the battle against Safer Sephiroth.  Knights of the Round is the second cheapest attack in the game (second to Cait Sith's Game Over) and I want it out :x  In return, I want Super Nova so that I can give Safer Sephiroth a taste of his own bitter medicine :evil:

Edit: There aren't any enemies that use Knights of the Round, and I know that I cannot use Super Nova outside of the Safer Sephiroth fight, so there wouldn't be any problems there.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-06-27 11:09:32
you could also just keep KotR and just reduce the multiplier it uses, like possibly lowering the damage per hit from 137800 total damage (10600 a hit) at max stats to 41340 damage (3180 a hit) by making the multiplier reduced from 80 to 24. max stats bahamut zero does 15900 damage, and costs 70 less mp to use, so this would be a much nicer amount for KotR to do, though it could still probably be reduced to a mod of 16 instead, doing 27560 damage (2120 a hit), which balances out pretty nicely with the other summons' strength to cost ratio (though ~14 for the mod would be even closer).

they just made it way too powerful, making it do as much as casting neo bahamut 16 times in one attack, rather than making it have around the omnislash multiplier, which is where it needs to be at for sane damage for it's cost. bahamut zero gets about 88 damage per mp at max stats, while KotR gets 550 per mp cost, definitely way too high. it should be around the 100 mark, since the lower summons have slowly increased to this amount, and ~100 per mp would be the last step, and is about where a mod of 14 to 16 sits around, 14 being my opinion of the best amount.

you can change the attack to supernova if you want and can, but i think that you should just make KotR have a mod of 14 or so if all you are removing it for is because of the damage output. with a mod 14 KotR, you could actually quadra magic comet to do more damage than it would (it could use weakening as well XD), since it does 151 per mp, and at four uses, that would cost 280 mp, only slightly higher than KotR, against one enemy that is, against a group KotR is still better :P. there is a lot of balancing the moves need done, and i think changing them because of power should be last resort stuff, while removing, say chocobuckle, a move that would take hours to pump up to decent amounts, for a custom move that saps life/mp from the enemy or something (anything would be better in my opinion <_<). but i guess it is all up to opinion, so if you can change KotR to supernova, then give sephy a taste of his own medicine >:D.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-27 12:12:42
Wow... :-o  You put loads of thought into your posts.

Yeah, the thing is... I just don't like KotR at all.  Super Nova is a far more impressive-looking move, and I just don't see where the knights of the round table fit into FF7... I just want it gone and replaced with something that's still more intimidating that Bahamut ZERO, that's all.

I never use KotR anyway, so I won't feel the loss.  Its animation is just too boring to sit through.  For some reason, I don't feel that boredom while watching the animation for Super Nova...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-06-27 17:12:53
Hey NFIT, thanks a bunch for helping me understand the whole deal with supernova. I just used it on safer sephiroth and it looked pretty awesome to say the least.

quick question though, i'm trying to edit most of the enemy skills to make special moves i liked in the game (i already have heartless angel and for kicks i put in pale horse and supernova) so i was wondering if you knew of any really good animations like stigma i could use that uses enemy skill id tags

and a final question: does the battle scene have to be the spiraling heavens (safer battle) for supernova? or does editing the id merely change how the backround is registered/used/insert term here that doesn't make me look stupid?

the reason i ask is because i can't get my hands on a scene editor as the links for it is dead now.

thanks in advance

Supernova HAS to be performed in the "spiraling heavens" (I like that name). That swirling background layer is meant to break apart when that is performed. Since no other backgrounds have it, it can't be performed anywhere else.

this may or may not be a bug but in the character growth section when i change the number of the stats the curve doesnt change also the min- max section same page doesnt change to the projected max by my calulations

Yeah, it's sort of a bug. It's really the best way to do it, though because if I let it update by itself as you type and you try to enter a curve number that's too large the program would crash trying to go out of range of the curve indexes. If you press Enter after changing the curve it will do the same thing. Just trust me, it's better this way. ;)

You're welcome :-)  Between Hojo and Proud Clod, there's very little left in the scene that must be edited with a hex editor.

NFITC1, thanks for the link!  It's very useful.

So I've been inspired now... What would I have to change a summon's animation to in order to get Supernova?  It'd be cool to replace KotR with Supernova, so that it is still a cheap move, but only available in that one battle against Safer Sephy.

You can't. The summon's absolute animations are higher than the enemies' attack animations. Since it's an unsigned value, you can't go "backward" in the animations. Conversely, I'm not really sure how to turn supernova into something like Ramuh or whatnot without changing the index of the attack.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-06-28 02:08:35
All right, I guess I'll just go and mess with the index, then :wink:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: clad2 on 2009-06-30 00:47:13
Hello ! I'm french, I've french PSX PAL and PC versions of FF7.
I use wallmarket.exe and I've not problem with PC version but when I change original Kernel.bin file of PSX version (.:\INIT\KERNEL.bin) by modified Kernel.bin file with wallmarket, I launch ePSXe emulator to play FF7 (ISO file) the screen is black and the game don't run.
Please, I need your help to find the problem. Thanks !! :-)

I usually use wallmarket 1.1.7.0, I've Windows XP PRO SP2.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-06-30 02:17:09
it is probably because the size of the kernel was increased. how are you putting the kernel.bin back into the game? it could also be the way you are putting it back into the iso. if you just try to place it back in with a normal program for iso's, it will change the layout of the disk, and it will not work (causing a black screen).

if you do not have a program to inject the file back in (keeps original layout, but size MUST be the same or smaller to work), download CDmage, open up the iso in it as a M2 track, browse to the init folder (or whatever it is called on yours, where the kernel.bin is located), right click and choose inject/insert file, and then browse to the kernel.bin you want to place in it.

if you have any more questions about adding files to the psx version, just post back here and i will help you out :P. it really helps if you explain what it is you are doing so that people can attempt to help you better, with little idea on what you are doing, we cannot help you as well.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gemini on 2009-06-30 07:58:20
A black screen usually means two things:
1) the kernel structure is corrupted (same happens with WINDOW.BIN);
2) the new file is too big, so you need to alter YAMADA.BIN and place the kernel somewhere else in the ISO (unless the file can still fit in the sector gap).

PS: Does this program support the original on-the-fly compression during reinsertion and pointer optimization?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: clad2 on 2009-06-30 10:10:41
How can I inject with CDMage please
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gemini on 2009-06-30 10:14:29
Get the beta build (1.02.1), open an ISO image, right click on the file to replace->import file->done.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: clad2 on 2009-06-30 10:14:48
A black screen usually means two things:
1) the kernel structure is corrupted (same happens with WINDOW.BIN);
2) the new file is too big, so you need to alter YAMADA.BIN and place the kernel somewhere else in the ISO (unless the file can still fit in the sector gap).

PS: Does this program support the original on-the-fly compression during reinsertion and pointer optimization?


How alter YAMADA.BIN ? (Folder : .:\INIT\)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: clad2 on 2009-06-30 10:28:19
Get the beta build (1.02.1), open an ISO image, right click on the file to replace->import file->done.


OK !!! Thank you very much !! It's good  :mrgreen: :wink:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Gemini on 2009-06-30 11:39:22
How alter YAMADA.BIN ? (Folder : .:\INIT\)
A simple hex editor. >_>
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2009-07-04 02:13:25
bug report

when selecting HP/MP in Character Growth

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.Calculate_HP_Levels()
   at WallMarket.Form1.RadioHP_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at System.Windows.Forms.RadioButton.OnClick(EventArgs e)
   at System.Windows.Forms.RadioButton.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
WallMarket
    Assembly Version: 1.2.1.0
    Win32 Version: 1.2.1.0
    CodeBase: file:///E:/Documents%20and%20Settings/Danni%26james/My%20Documents/ff7/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks
    Assembly Version: 9.0.0.0
    Win32 Version: 3.0.30214.0
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks/9.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-04 03:45:27
For future reference I only need to see the Exception Text. Not the Loaded Assemblies.

This:
Quote
************** Exception Text **************
System.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.Calculate_HP_Levels()
   at WallMarket.Form1.RadioHP_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at System.Windows.Forms.RadioButton.OnClick(EventArgs e)
   at System.Windows.Forms.RadioButton.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
is all I need or can do anything with.

I can't help you unless you're more specific. Changing HP doesn't always create errors. What curve did you set it to? Does that curve fit the format of other HP curves?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2009-07-04 04:23:46
are yes was in a hurry at that moment in time but basicaly when i go to click the hp or mp curve button i get that error and then no lines are drawn on the curve panel also there is a lack of the max/min stat on the side
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: d33eniz on 2009-07-06 20:43:17
Hey there,

when I tried to start WallMarket 1.2.1- there came a message-

"WallMarket funktioniert nicht mehr..." (German for "It stopped working")

Running Vista 32 Bit- Laptop.
Geforce 8600 GT
Intel Processor

What could be the problem?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-06 20:49:33
Having an issue with wall market...

I dunno how to rename attacks :oops:
found it haha...

I am trying to make a "new" new spells patch, Cause the old one is dead. So how do i rename magic?

Also. Just wondering on this one, if i wanted to add say a Fire4 (Firaja) or something, is that possible? Also how bad would it offset the game?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-06 21:02:44
I am trying to make a "new" new spells patch, Cause the old one is dead. So how do i rename magic?

IIRC, double click on the names of the spells. Remember to change it to "PC version" in the bottom left of the screen, unless you're modding the PSX version. Teioh (http://forums.qhimm.com/index.php?topic=6385.0) (PC only) can also edit spell names.

Also. Just wondering on this one, if i wanted to add say a Fire4 (Firaja) or something, is that possible? Also how bad would it offset the game?

Yep, you can add new spells to the game. Well, kind of: you can replace old spells. Just pick a spell you don't want any more (I've always got rid of spells like "escape" and "DeBarrier"), and change all the data to what you want or your new spell. You can also fix the order in which spells appear (see this (http://img8.imageshack.us/img8/7274/spellorder.png)). Be careful when you do this, because you can end up with all kinds of problems if you don't.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-06 21:14:07
Thanks, i am just gonna use Wall market though (unless you suggest i use the other one that is.) and i scraped the adding spells idea. To much work :-P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-06 21:24:27
Hey there,

when I tried to start WallMarket 1.2.1- there came a message-

"WallMarket funktioniert nicht mehr..." (German for "It stopped working")

Running Vista 32 Bit- Laptop.
Geforce 8600 GT
Intel Processor

What could be the problem?

1. Read the first post and make sure you have all the requirements.

2. If you get an error with some actual information in it feel free to post that. "It isn't working" or something like that is no help to me.

Just pick a spell you don't want any more (I've always got rid of spells like "escape" and "DeBarrier"), and change all the data to what you want or your new spell.

Remember that some enemies use spells in the KERNEL and they take the data from the KERNEL.BIN to determine what to do with it. If you change it in the KERNEL it'll affect the attack the enemies use.
DeBarrier happens to be used only by Gi Nattak. He has a 1/4 chance of using it every other turn IF one of your characters has a barrier on.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-07 03:42:26
Fixed (forgive my stupidity..)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: d33eniz on 2009-07-07 12:42:13
I have the Framework 3.5 and the Power Pack 3 installed- error details:

Quote
Beschreibung:
  Stopped working

Problemsignatur:
  Problemereignisname:   CLR20r3
  Problemsignatur 01:   wallmarket.exe
  Problemsignatur 02:   1.2.1.0
  Problemsignatur 03:   4a15be8b
  Problemsignatur 04:   WallMarket
  Problemsignatur 05:   1.2.1.0
  Problemsignatur 06:   4a15be8b
  Problemsignatur 07:   11
  Problemsignatur 08:   c6
  Problemsignatur 09:   System.InvalidOperationException
  Betriebsystemversion:   6.0.6000.2.0.0.768.3
  Gebietsschema-ID:   1031

Lesen Sie unsere Datenschutzrichtlinie:
  http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0407
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-09 03:24:53
Hey NFIT I wanted to make another move but i hit abit of a brick wall...again

What i want to do is make a regular magic spell's animation look like all creation (yuffie's limit level 4) but with wallmarket all of the limit breaks in that area are...faded out and all say the same info

so what would be the animation ID for that? thanks in advance and sorry for buggin ya with this stuff.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-09 03:30:54
I'm having an issue. When i finished editing the descriptions of of all my spells. But when i try to use my kernal2 file it crashes. Any idea why?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-09 05:18:25
sometimes the data doesn't write correctly like sometimes if i create a new name i come back to find other names are messed up.

also if you make spells do what they can't do, it will crash. i tried to make ultima hit multiple times...couldn't do it and it crashed.

also NFIT, is there a way i can make an accessory have the effect of peerless? or make it so that the wearer is invulnerable? i made it so that vincent is sephiroth in battle, with the exception that he isn't invincible.

i kinda want his invulnerability to be easily done, i made it so that a specific armor makes almost all attacks hit 0 (except non ele magic, and special non-physical attacks) but that doesn't seem to be enough

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-09 05:27:01
Oh, Well the names were fine thats why i'm confused. Just reloaded everything on Wallmarket and the names and everything are the same. BUT! i added that tetra disaster did all four elements instead of One
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-09 05:48:46
tetra disaster does 3 elements... (the kujata summon right?)

well what i would suggest is to check and see if you made the attack try to do something it can't. like if you made it do multiple hits it would crash.

but specificly: what is it that crashes? the game when you try and use something that was in kernel2 or is it when you try and create a new kernel2 file?

if i make any changes to anything i always choose the option of creating kernel1 and 2 so that i cover everything.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-09 05:54:33
I did the same. But sadly still doesn't work. Using the defaults. works fine, When i change just the names. Works fine (well some of them)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-09 06:03:17
You probably did it this way already but just to make sure, you pressed on the pc tab at the bottom and then went over to the name of the attack and double clicked it then changed it right?

i hope i'm not stepping out of bounds, but if you want i could make a copy of my kernel, modify it so that it works the way you want and then e-mail it to you? it would be no trouble on my end to do so.

of course feel free to say no thanks i just thought that this would help  :|
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-09 19:21:36
Whoa. I let this go for a while and look what happens. :)

d33eniz: Sorry man. I don't know what to tell you. System.InvalidOperationException is just a little too vague. I'm not sure what to do about that.

Xelane & hellgringer 616: most of the "solutions" to your issues are in the readme.

1. The Attacks with index >= 128 are grayed out because they aren't in the KERNEL.BIN, but their names are. They're only there to let you edit the names and stuff.

2. Make sure you're on PC mode (if you're editing the PC) and create the kernel2.bin as well. Then your name changes will be reflected. Also, make sure that your kernel2.bin is in the same directory as your KERNEL.BIN is. However, this should only cause an error when you load the kernel2.bin, not when you save. If you're having problems saving, tell me what you did and post the error message you get.

3. I don't know how to give an accessory Peerless, but the only way to do it would be by modifying 0x05 manually (double-click and change it) to something that isn't listed. This may not do anything, but there are a lot of possibilities (there are 256 options and only 7 are used). Akari might know better, but I doubt anything other than the known values in those locations would do anything.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-09 22:14:46
Hey NFIT thanks for helping us out. Hopefully this fixes hellbringer's problem

as for peerless...well that looks like alot of work, and it might not even work.
Maybe i will toy with it to see if it holds any amusing results.

but when you say 0x05 are you reffering to the raw data?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-10 03:45:52
Alright i'll check out the readme. I did click the PC tab. and when i changed JUST the names it worked fine. So i think it's a descriptions limit.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-10 04:29:10
Xelane: Yes. I mean in the raw data. Double-click on the accessory and it's the sixth byte from the left

hellbringer616: I had theorized that there might not be a limit on the PC version, but I never actually tested that. I thought some of the descriptions were long enough for the game to display them in two windows, but maybe not...
Great Gospel's description is the longest text there is in battle at 57 on-screen characters and that's preceded by the two "Red Box" characters (FC 02, I think) so that's 60 bytes total counting the terminator.
Menu descriptions go as high as 63 (including terminators) for the ShinRa building keycard descriptions and that one really long string of random battle text that we never see is 71 bytes (also including the terminator). I'd place that at the limit if there is one. So try to keep your in-battle descriptions (on all non-key items) less than 70 characters. Maybe less than 58.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Hellbringer616 on 2009-07-11 19:57:20
Yeah my longest was 78. Probably why it crashed :-D

EDIT: works with the max at 69. Probably will test to see actual maximum limit.

Once the true limit is found would it me hard to add a description text limiter? So's to avoid this problem haha.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Covarr on 2009-07-18 16:04:50
At the request of another, I bring this question:

Quote from: Seifer Almasy
I cannot change the "elemental" screen data (this is found in STATUS menu). Hence I cannot change Ice to Cold.

I also can't change ability subheadings. Like for example, I change cover materia to read "protection" but the ability sub heading still reads cover.

We need to be able to change the status screen elemental names and also the materia sub headings which seem to be collected from same are.

Is this not implemented or is it not inside the kernal files?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-18 20:56:27
Quote from: Seifer Almasy
I cannot change the "elemental" screen data (this is found in STATUS menu). Hence I cannot change Ice to Cold.

I played with the idea of this for a while. There are specific texts in the battle text that are the names of elements that show up during scan. The only reason I didn't use these is because "Ice" is listed as "Cold" in that list, but no where else in the game. It's an Ice materia, Ice attacks, Ice elemental damage. The term is used interchangeably in the game (a tribute to poor translation). Also that the "Hidden" element has no name. I suppose that doesn't matter as much. This probably does need to be changed to allow for this.

Quote from: Seifer Almasy
I also can't change ability subheadings. Like for example, I change cover materia to read "protection" but the ability sub heading still reads cover.

I don't know what you mean by "ability sub heading". Please elaborate.

Quote from: Seifer Almasy
We need to be able to change the status screen elemental names and also the materia sub headings which seem to be collected from same are.

Is this not implemented or is it not inside the kernal files?

This in formation is not in the KERNEL.BIN. It's likely handled in the menu data. I'm not quite sure where this is.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifer temp on 2009-07-20 13:50:02
I understand that the data is in another file?  Not kernal.  The pity is, without such a tool, it is impossible to edit the items underlined in red >

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/111.jpg

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/222.jpg

Also, 2 small bug I found.

If you are editing a name from say "Fire" to "fire"  it won't update on screen because it is justa  case change.  Doesn't seem to see the change.

Keep up the good work :)  The proper translations from the japanese game btw are:

Ice = Cold
Fire = Flame/Blaze
Lightning = Possibly Thunder but can be either

bug 2:

If I try to edit the description area of "attack"  in the command tab to "attacks with the equipped weapon"  and not "attack with the equipped weapon"  it will not update at all.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifer temp on 2009-07-20 15:13:42
I may have also worked out what 0002h is.

I used phoenix summon which uses this....and the enemy stopped.  Maybe it inflicts a random status?

I certainly don't remember phoenix stopping opponents before and it does not appear to be one of its attributes.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-20 18:53:12
I understand that the data is in another file?  Not kernal.  The pity is, without such a tool, it is impossible to edit the items underlined in red >

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/111.jpg

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/222.jpg

That's what I thought you meant. No, that data is not in the KERNEL.BIN. Again, not sure where it is.

Also, 2 small bug I found.

If you are editing a name from say "Fire" to "fire"  it won't update on screen because it is justa  case change.  Doesn't seem to see the change.

Keep up the good work :)  The proper translations from the japanese game btw are:

Ice = Cold
Fire = Flame/Blaze
Lightning = Possibly Thunder but can be either

bug 2:

If I try to edit the description area of "attack"  in the command tab to "attacks with the equipped weapon"  and not "attack with the equipped weapon"  it will not update at all.

The first one is interesting. I don't know why it's not working. I'll have a look at it.
The second one I couldn't duplicate. I am not having this problem.

I may have also worked out what 0002h is.

I used phoenix summon which uses this....and the enemy stopped.  Maybe it inflicts a random status?

I certainly don't remember phoenix stopping opponents before and it does not appear to be one of its attributes.

Not likely. Phoenix, as well as all the other summons, use this flag. No, it doesn't stop normally and I have no idea why it might have in your case. It's more likely something to do with damage calculation or animation. For a complete list of attacks that use it, see the Attack Special Properties (http://wiki.qhimm.com/FF7/Attack_Special_Properties) page on the wiki.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-20 20:34:33
I understand that the data is in another file?  Not kernal.  The pity is, without such a tool, it is impossible to edit the items underlined in red >

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/111.jpg

http://i247.photobucket.com/albums/gg129/SeiferAlmasy2008/222.jpg

That's what I thought you meant. No, that data is not in the KERNEL.BIN. Again, not sure where it is.

Have a look in ff7.exe for this (search for text strings like "IRE" and "OVER" using a hex editor). Nearly everything in the menu that isn't in the kernel.bin is in there. Just remember to be extra careful when editing the executable and don't go around sticking great huge descriptions in there; if you do, you'll break it.

Also:

>seifer temp
>seifer
>i247.photobucket.com/albums/gg129/SeiferAlmasy2008/111.jpg
>SeiferAlmasy

(http://img24.imageshack.us/img24/4500/roflbotp.jpg)

I'm intrigued...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Makubex on 2009-07-20 21:02:35
Are you suggesting that this is the very same seifer almasy that left because he got attacked verbally due to his arrogant nature?
Because if you are, and if you aren't, this is quite intriguing.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-20 21:22:44
Well, I shan't get into a debate about the drama that happened here a couple of months ago, this is almost certainly our seifer (some of the materia names are from the retranslation project). I do hope that things won't flare up again now that they've been quiet for a while, but that's wishful thinking.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Makubex on 2009-07-20 21:24:39
Indeed. I will hold my tongue as well, I do not wish for another useless, time consuming argument.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifer temp on 2009-07-21 00:37:55
yes it is me, hence seifer temp, and arrogance is often a strength.  Temp because I will  prob be offski very soon again :P

any case, it is the retranslation project that brought me back.

Phoenix shouldnt "stop" enemies....but it certainly did....

I will report anything else I find, at moment things are going pretty well...The other info according to Gemini was present in the japanese kernal but has been moved elsewhere for english and PC
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Jari on 2009-07-21 00:49:21
yes it is me, hence seifer temp, and arrogance is often a strength.  Temp because I will  prob be offski very soon again :P

You probably will be, if you continue to think so.

Your choice. *shrugs*
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: halkun on 2009-07-21 02:23:11
yes it is me, hence seifer temp, and arrogance is often a strength.  Temp because I will  prob be offski very soon again :P

Arrogance is not a quality I like to see in the community, but there should be no reason for it in the first place. There are really two real social rules here.

"Be excellent to each other."
and
"Don't be a d*ck"

Even with my mod-hat, I can be very forgiving, Just don't make e angry, You wouldn't like me when I'm angry. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-21 06:14:21
but I LOVE you when you're angry  :cry:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-23 13:49:35
So I thought I'd share the following just for the heck of sharing. I've also got some WM-related news to divulge, but that'll come second. :)

First, the non-WM:
I finally bought and started FFXII for the first time a few weeks ago. I've been playing on and off and just been frustrated how hard it is to get gil in that game. I understand that I'm supposed to sell loot and get cool things that way, but early in the game it just doesn't come as often as I'd like. Oh well. That said, I recently came to the point in the story where I was able to do the Negalmuur auto-leveling trick. The party I sent in has an average level of 32, but that didn't worry me cause they were able to kill the Ghasts easily outside of that. This is the story of my luck with that.
I followed GFAQs guide to the letter when it comes to the gambits. I got Foe < 3000 HP out of a chest in the wayshrine and thought "What luck!" before I realized that it doesn't cost more than 50 gil and if the gambit weren't in the chest there might have been 80 gil instead which I could have bought that Gambit and made a profit from it. Heh. Go figure.
So I got the place where Negalmuur spawns and kill everything in there and wait for him to spawn. I get him to show and the "battle" begins. He starts summoning minions (which surprisingly doesn't cost him MP) and I kill them very quickly when they show up. Even while hasting him and at the highest battle speed I realize how long this is going to take. :( So I watch for about 20 mins before I convinced that it'll hold its own. I'm about to change the TV to watch something else when it happens. :O Ashe gets confused and gets in a 6-hit combo on Basch (the current party leader) and kills him!! Most unfortunate, but I correct it and just call it a 1-in-a-million chance of it happening again. Most interesting thing about that is that her confuse status was cured in the middle of her combo, but she kept wailing on him. Anyway, I leave it running overnight checking on it once during the night literally just in time to see it break. I fix it again and go to sleep.
This morning I got up to stop it (it was successful and they each gained at least 19 levels) because I had to come to work and I was going to the teleport crystal to sell the phat 100t I gained from all that when the two nightwalkers that are right next to the waycrystal in the main room attack me. I don't want to bother with them, but they teleport so they have no range! My gambits were still set for the negalmuur fight and these things weren't getting attacked back. Worse than even that, I try to leave through the door to the outside and I couldn't get lined up right or something and it wouldn't give me the option to leave!! These nightwalkers killed these three newly-buffed guys! I switched to the three reserves and two of them get killed almost instantly. I had to use four phoenix downs to prevent from getting a game over right there. I barely managed to escape into a side room, heal, and kill the nightwalkers before saving. :O Scariest moment of my life!
It was more dramatic than I tell it; You'll just have to believe me. ;)

OK, on to WM.
Firstly, I was looking at it lately as Seifer mentioned about the elemental labels and stuff. This is possible since there are slots in the Battle Text that spell out the elements' names that are used when a scan is performed. Only issue is that "Holy Power" and "Restorative" are defaults for "Holy" and "Health". This makes the label to those elements long and partially obscured by the elements to their right.
Secondly, I don't understand why the lists aren't being changed when you change "Fire" to "fire". It does reassign the name and should properly be created if you remake the text section. I haven't tried that so don't take my word on it. I'll look into it more this weekend.
Thirdly, there have been significant changes in the way PrC deals with AI that haven't been reflected in WM yet. It's ALMOST as easy as copy-pasting code. I'll look into that this weekend too.
Fourthly, I fixed the level three materia AP issue a while back but didn't see much of a need to update since the raw data editing works.

I plan on releasing a new version with these fixes before Monday of next week. Does anyone have anything more to add that they'd like to see?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-07-23 17:12:51
ok, the only thing i'd really like to see in it is the updated AI code, but you are going to be adding that anyway, so that woks out good :P. i rarely do any name changing of stuff anyway, but may eventually when i get back onto my ffvii mod (which is still going to be a while). something i'd like to do with the party is make an AI controlled party which would be pretty funny to watch, though it'd severely limit what could be used, and would make materia almost useless (the effects would still carry over, but the ability to use the materia wouldn't), and i do not think limits would be able to be implemented easily if at all, but i'd still like to do it to see how far they'd actually make it in the game before getting stuck :P.


now, off of WM and onto your ffxii experience... auto leveling really takes a lot out of the game (i mean playing normally for me, doing everything there is, i usually end up at ~70 (with everybody) by the end, and that is enough to kill every mark pretty easily), especially if you already have the zodiac spear (i can get it around level 20, or whatever level i kill belias at since it opens up the path over to the deadlands if you get that far, but there is a little issue with a certain bomb that will be in your way, but nothing i can't take out XD), because you'd be dealing many thousands of damage a hit, compared to other weapons at that time being a couple hundred to a thousand most, and it is a pretty decent speed weapon to boot :/. gil has never been a problem for me, but i tend to be a person that does everything possible the earliest it is available (unless it will make me level way over what i should be (as in more than i already overlevel :/), which is one of the reasons why i have to cut back on missions on crisis core :P), you can chain a good many enemies at the start of the game for cash (such as wolves, which are hella easy to chain), and just sell their loot, and by the time you are done you'd have a good bit of gil for the experience you gained, as compared to using the dustia trick which gives you only a little more gil than exp on average. i mean that wouldn't really work for you now, considering how far you are, but it can give a good bit of gil (even enough for monographs) if you were to spend an hour or two just on wolf chains, making you have the money to easily buy all of the goodies at nalbina >:D.

the game is already easy enough (once you know it) that leveling up a lot takes away from the difficulty even more, i even went to a no license board, low level game (low level as in the minimum levels possible), and i am halfway done with it (and have five espers already :P). if you do want to level a good bit, the negalmuur leveling trick should only be used for so many levels, because there are alternatives to it later on, such as the deadlands skeletons in the fog mutters room, if you were to equip an embroidered tippet, you could make a million or more exp in an hour, and the abysteels in henne later can give even more :P. your current levels are plenty for most of the game, even enough to beat it pretty easily, so i'd at least cut back for a while before racking them up again. i'll have to start my save back up (or start a perfect game save, which will only take 500+ hours :/) and go farther than i am, because my gamefaqs sig hasn't been updated in a while... it is lonely :P (hafta work on my no sphere grid, no summon, no customize, no overdirve, no escape, no [no escape], no blitzball save of ffx as well, i already caught all of the enemies in the calm lands (10 of each >:D), and have half of the CotSF done as well, only a little left to do :P). if you have any q's about ffxii, i could probably help, because i have beaten it just a few times :/.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-23 17:39:50
1.  I was already getting around the issue by simply creating a new string like Firey and then deleting the Y
It works that way. 

2.  Still can't get it to update (even with the trick above) "attacks with"  instead of "attack with"  in the PC section under command tab.  It DOES work on PSX section.

3.  Exception on initial data, not sure if you saw this when I posted before :)

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at WallMarket.Form1.DrawStatIndic()
   at WallMarket.Form1.Draw_Curves(Object sender, EventArgs e)
   at WallMarket.Form1.Radio_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at WallMarket.Form1.TabControl1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TabControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
WallMarket
    Assembly Version: 1.2.1.0
    Win32 Version: 1.2.1.0
    CodeBase: file:///J:/DLPB/Welcome/Game%20Related/Games/Roms/PC_games/Final%20Fantasy%20VII%20-%20PC/Mods/WallMarket121/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks
    Assembly Version: 9.0.0.0
    Win32 Version: 3.0.30214.0
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks/9.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

4.  Any idea where the data is kept for the initial character naming?  It will always start with Aeris and Cait Sith default otherwise.  Rather than Aerith and Cait

5.  I am looking into 0002h, I will have a good go at working it out.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-07-23 19:46:04
hey seifer, all you need from the debugging output is this:

Quote
************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at WallMarket.Form1.DrawStatIndic()
   at WallMarket.Form1.Draw_Curves(Object sender, EventArgs e)
   at WallMarket.Form1.Radio_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at WallMarket.Form1.TabControl1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TabControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

the rest is not needed for him to see what is wrong (i.e. the meat and potatoes of the output is this little bit). it just makes your post bigger than it needs to be :P.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-23 19:52:12
1.  I was already getting around the issue by simply creating a new string like Firey and then deleting the Y
It works that way. 

Yes, but you shouldn't have to do this. That's lame. :(

2.  Still can't get it to update (even with the trick above) "attacks with"  instead of "attack with"  in the PC section under command tab.  It DOES work on PSX section.

I honestly can't get this to happen, it works fine for me. Are you sure you're creating the kernel2.bin after making these changes?

3.  Exception on initial data, not sure if you saw this when I posted before :)

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at WallMarket.Form1.DrawStatIndic()
   at WallMarket.Form1.Draw_Curves(Object sender, EventArgs e)
   at WallMarket.Form1.Radio_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
   at WallMarket.Form1.TabControl1_Click(Object sender, EventArgs e)

<blah, blah, blah>

Yes I did notice this and I don't know why this would be happening. Again, I can't reproduce this error. It sounds like something's not installed right on your end.

4.  Any idea where the data is kept for the initial character naming?  It will always start with Aeris and Cait Sith default otherwise.  Rather than Aerith and Cait

It's probably in the executable...Looks like its at 0x5206B8 in the unmodded 1.02 executable. Looks like everyone's is there. The KERNEL.BIN entries may be ignored. I didn't know that. ;)

5.  I am looking into 0002h, I will have a good go at working it out.

Keep at it. I hate that label. :(


@secondadvent Re: FFXII:
It really was an up-to-the-last-minute decision to do the auto-leveling. No, I'm not going to do it to get any higher than I am now. I've been barely scraping by with most of the monsters I've encountered just getting between save crystals. Yes, I way over-leveled in CC too and got the Divine Slayer and the Heike Soul at the same time which made the final boss of the entire game look like a stuffed animal. I don't really want that to happen to FFXII since this is my first time, but I don't see that much difference. They only gained about 1000HP and are doing about 250 more damage than before. I'm really doing it more for the gil and the LP (mostly the gil). I didn't do too well through the Draklor Lab and got killed by the gang right before the boss and then the boss once. I'm lucky those little rooks had fewer MMP than the main boss so I could target them first. I still almost lost. :( I don't have the gil to buy the equipment I need or the LP to equip it even if I got it.
If I had ignored Fran and Balthier once I realized they were worthless (around level 10 or so) my active party's average would probably be in the upper 30s rather than right at 30 where they were before I started. I probably wouldn't have so many problems either. Come to think of it, I also leave the battle speed on highest. I don't think this is really a problem unless I want to run away.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-07-23 20:48:42
off topic post :P

setting the speed to the highest is not always a good thing to do, the time between attacks will be the same, and due to the limits to the amount of certain spells being used (like only one casting of holy for example even if three are trying to use it),  if you are charging a spell or something, the enemy can get many regular attacks in before you get the spell off (because the animation also takes a lot of time on top of the wait between spells), so a fast enemy can get a good deal in for a long animation spell on highest speed, but on lowest speed it makes them only able to get one or two in the same amount of time. now, some marks/bosses can set their CT to 0, so they can instantly attack after attacking without needing to charge the attack, and setting the speed to the slowest there actually allows them to attack MORE, in these cases the highest setting makes you get more in than you would on the other speed settings, and the enemy will get the same, so why not get an advantage?

now, if you are in bad need of LP, go buy a few golden amulets (they are 4500 apiece, but double the lp you gain) from mt bur omisace (easy to get to the shop and back, it is near the gate crystal :P), and give them to whoever (or all if you want/can) for pretty fast LP. now if you just want to quickly gain some LP, just go murder some wolves or whatever for a bit, easy to kill and will net you 2LP per kill due to the amulets, or whatever enemies you can quickly kill (Wu/Zaghnal enemies in ozmone are easy enough and give decent items to sell), and if you need gil, i'd play around in either the zertinan caverns, or the sochen cave palace, since the drops from the enemies (especially the undead in zert, and pretty mcuh everything in sochen) are all fairly good for money, and they are level ~30-40, so they will also give some good exp.

hopefully you can gain some ground and load up on gil/LP, i always have way more than enough LP for everything (again, i am a compulsive killer/loot nabber :P), and end up with multi-million gil by the end of the game (and kinda lose the need for more gil by or even before draklor... i even had enough money the last normal game to buy two of the monographs before heading into the garamsythe to meet bal and fran, and was still only level ~8-9 and had the best equips for everybody on hand :P). once you know the game more, gil will be much easier to come by, if you learn the game the first playthrough and ever play again, you will see what i mean.

if you need any help with ffxii at any point, i should definitely be able to help, i may not know the most about ffxii, but i have beaten it a good many times, so i think i may have a little bit of knowledge about it XD.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-23 21:27:13
I honestly can't get this to happen, it works fine for me. Are you sure you're creating the kernel2.bin after making these changes?


It doesn't actually let me edit it....at all.  It won't change the onscreen data.  I am guessing when you have found the issue with this "case change" problem, this one will be changed with it.  I believe they are a symptom of the same issue.

Yes I did notice this and I don't know why this would be happening. Again, I can't reproduce this error. It sounds like something's not installed right on your end.

Installed VisualBasicPowerPacks3Setup.exe and have zlib1.dll in the program folder.,.. and this is second install, I am now using 32 bit XP because vista and I danced our last little dance (to quote Mollari).  The problem remains.   I can click continue and it seems to be ok anyway.  Good old Try Except Finally statements ;)  Atleast that is in delphi.

--------

I hope someone makes a tool so I can edit those names one time....I wish I was up to that kind of level.  Any case good luck dude.

*offtopic. FFXII sucks.





Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-23 23:02:48
Installed VisualBasicPowerPacks3Setup.exe and have zlib1.dll in the program folder.,.. and this is second install, I am now using 32 bit XP because vista and I danced our last little dance (to quote Mollari).  The problem remains.   I can click continue and it seems to be ok anyway.  Good old Try Except Finally statements ;)  Atleast that is in delphi.

Could not load file or assembly 'System.Core, Version=3.5.0.0

This actually makes me think you have an older version of the .NET libraries installed. Have you installed the ones from the first post?

*offtopic. FFXII sucks.

While I disagree, I understand why people say this. I think it's better than X (although they all are), but not as good as V or VI.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-23 23:43:52
You were right.  Was the 3.5 pack I hadnt installed and it must have had some issue when I used vista 64

All is well.

ps, X is my second fave ff.  Music, gameplay, story are amazing imho :P
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-27 16:05:07
Wallmarket may have aproblem.

Kernal2.bin now crashes my game...

See your pm's I have uploaded the files :)  The last thing I have done is edit the item names and descriptions...that is where the damage has been done, whatever has happened.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-27 16:34:52
I looked at your kernel2 and it seems like you're having the same problem we had a few pages back. Your names are too long. I don't know the actual limit, but I think the item names are probably 20 and the descriptions are no more than 60.
One of your armors: "Improved Shin-Ra Protection" is 27 characters plus terminator. While it makes little difference in the file, the game still needs to store the terminator. In fact, the game doesn't have a name that's longer than 16 ("Fourth Bracelet/n") so that might be the limit for names.

Trim your name lengths and try again. Hope that helps.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-27 16:43:52
There is no way to modify this behaviour and stop the crash?  The problem is that there isn't really any way to trim everything down without sacrificing an accurate translation.

Still, this is probably the issue.  I will trim them down for testing purposes.

And the weapons armours and accessories worked fine before.  This happened since modifying the items

 :?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-27 17:05:49
Ive located the problem.  I am just rechecking.  It seems the discription areas of

Dios combat diary, autograph or gambler are to blame.

I narrowed it down....and when I edit those 3, the game loads regardless of how long the other names are anywhere else.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-27 17:09:26
Specifically Gambler was to blame.  

The text entered in this box was:

Life of a gambler

and description

Second part of Dio's diary: The Gold Saucer years

< Why would altering this one lone item sort out the problem??

< the same effect happens if I alter the description of "autograph"

None of these items have descriptions near 60 characters...very strange this.

============
edit.  Seems to be an overall length issue....  If 1 area is very large, another must be reduced on another item.  I haven't been able to replicate the issue with item names, only descriptions.

That at least is how it appears to be working....
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-27 19:24:03
So then there's a size restriction over the entire text section, eh? Hmm. That's annoying. I wonder what the size limit is.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-27 19:27:44
It seems that Seifer isn't the only one to have this problem:

http://forums.qhimm.com/index.php?topic=8713.0
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2009-07-27 21:32:19
I'm trying to create an item that has Aerith's "Fury Brand" technique. To test it out I just changed hero drink's "Additional Effects" to "14, Fills limit gauge of other Allies". Tried it in game, works fine.

Now I'm trying to actually replace an old useless item (say 1/35 Soldier, for example) and have it use the animation ID for Aerith's Fury Brand, and rename it to "Fury Brand" and have it cause the effect.

This would be fine, however, when I go to "Attacks" to find out Aerith's animation ID, when I click on fury brand (under the second set of {BOX:RED} stuff, it doesn't give me any information. Why is this? There are a few limits that are only in this section that you can't alter the information for.

EDIT: I apologise, I've just read through the thread and I realise that the data for certain limit break's isn't in kernel.bin (aside from text). Does anyone have Aerith's Fury Brand animation ID?

Incidentally, I can't run 1.2.1, I just get the error "WallMarket has stopped working". Running WIN7 with both your stated requirements in the first post.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: seifertemp on 2009-07-27 21:42:36
So then there's a size restriction over the entire text section, eh? Hmm. That's annoying. I wonder what the size limit is.

I am on it.  Will take a while.  I assume it is a text count restriction....unless it is a file size restriction??  Can't see that with a bit of text?

I would need to know whether this is a size issue of file or characters....  and also if it includes the file names itself and if from 1 section or the whole lot.

I havent seen any problems with kernel.bin, just kernel2.  Would need further testing.

edit:

Yeah....  it's across the board,  There is an absolute limit to the text.  Either text limit or just the file size.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: obesebear on 2009-07-28 02:08:19
Incidentally, I can't run 1.2.1, I just get the error "WallMarket has stopped working". Running WIN7 with both your stated requirements in the first post.
Same problem here.  You'll have to re run the two .exes that are found on page 1 of this thread.  I don't know if there is a permanent fix, nor what causes it
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-28 05:08:44
EDIT: I apologise, I've just read through the thread and I realise that the data for certain limit break's isn't in kernel.bin (aside from text). Does anyone have Aerith's Fury Brand animation ID?

Good boy! You read! Have a cookie --> (::)

OK, childish behavior aside... The raw data for limits is on page three I think. Also, I added a Note6 to the first post. It pertains to animations. Read that link first.

Incidentally, I can't run 1.2.1, I just get the error "WallMarket has stopped working". Running WIN7 with both your stated requirements in the first post.

Sorry, I can't offer any Win7 support. I don't have it. Try what obesebear said. If that doesn't work, ask MS why the .NET 3.5 run-times don't work in Win7.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Phun on 2009-07-28 05:13:54
EDIT: I apologise, I've just read through the thread and I realise that the data for certain limit break's isn't in kernel.bin (aside from text). Does anyone have Aerith's Fury Brand animation ID?

Good boy! You read! Have a cookie --> (::)

OK, childish behavior aside... The raw data for limits is on page three I think. Also, I added a Note6 to the first post. It pertains to animations. Read that link first.

Incidentally, I can't run 1.2.1, I just get the error "WallMarket has stopped working". Running WIN7 with both your stated requirements in the first post.

Sorry, I can't offer any Win7 support. I don't have it. Try what obesebear said. If that doesn't work, ask MS why the .NET 3.5 run-times don't work in Win7.

Why not simply rewrite this in C\C++ instead of <insert managed language here>?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-28 17:37:23
OK, childish behavior aside... The raw data for limits is on page three I think. Also, I added a Note6 to the first post. It pertains to animations. Read that link first.

This again?  :-D

And it's on page two  :wink:

I think you should have a link to info about limit break raw data (http://forums.qhimm.com/index.php?topic=7928.msg95559#msg95559) in the OP.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2009-07-29 03:13:58
I did what you said, and found that the animation ID for Fury Brand should be 11. It wasn't. I'm confused about this. When I tried it with 11 (I also tried 14, 15 & 82) I got the animation for haste.

Does anyone know what it is?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-29 04:04:25
isnt fury brand a limit break? if it is then you have to go in the higher numbers, not exactly sure which
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-29 16:14:58
I did what you said, and found that the animation ID for Fury Brand should be 11. It wasn't. I'm confused about this. When I tried it with 11 (I also tried 14, 15 & 82) I got the animation for haste.

Does anyone know what it is?

You didn't read Note6 on the first post. Try that.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2009-07-29 18:49:58
I did.

Note 6 and the thread it links to (this (http://forums.qhimm.com/index.php?topic=8195.0))

Pretend I'm an idiot for a moment (despite evidence that says there's no need to pretend :P). What I got from that was Limit Anim = Limit ID + 236. Correct? Meaning the Limit Animation ID for Fury Brand = 247. However, Wall Market only let's me enter 2 digits for an animation ID.

When this is explained in lamens for me, my next post is going to be "I am a moron and should be killed", I'm aware of this. It's honestly like my mind has reached a wall and rational/intelligent thought has just went out the window.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-29 18:59:40
that is why they use letters and numbers.

i dont know what 247 translates into when you turn it into hex value but i do know it is pretty high up (like f1, f2 ,f3,etc) so try those and then gauge how close you are from that.

like if you get the animation for final heaven, then you know youre in the limit break area, you would go up as tifa is one of the earlier limit breaks you get.

i actually did get the animation for fury brand once by accident, was experimenting with animations for time/space spells and got it by accident.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-29 18:59:55
Er, in Wallmarket you enter the animation ID in hexadecimal  :roll:

So 247 would be f7
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2009-07-29 19:06:00
See what I mean? I'm a moron!

I did not know this. I don't know much about anything when it comes to hex.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2009-07-29 19:14:59
Neither did i until a month ago.

live and learn =) have fun with your new....spell?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-07-29 19:15:29
See what I mean? I'm a moron!

I shan't say anything  :-D

I did not know this. I don't know much about anything when it comes to hex.

Well there's a converter here (http://www.statman.info/conversions/hexadecimal.html). If you're going to do a lot of messing around with WallMarket, bookmark it  :wink:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-07-29 19:39:49
I'm going to suppress the urge to post what I was just about to post because the helpfile is actually technically incorrect in a number of places early on.

For future reference, any text box that is the same color as your balloon help are using hexadecimal values.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Izban on 2009-08-03 12:36:32
im getting this error
(http://i560.photobucket.com/albums/ss50/munemasa/error2.jpg)

it only just started to happen so im not sure whats going on any help much appreciated
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: titeguy3 on 2009-08-03 15:31:23
do you have zlib1.dll? It could be some kind of system update that screwed up the resources, maybe?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Ragna on 2009-08-03 15:58:23
You are getting that error because you don't have the needed
.NET runtime installed, or if you really have it, the program is
corrupted and you may even have a virus...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Senti on 2009-08-03 18:16:46
In short, reinstall .NET runtime, run a virus scan and redownload wallmarket, should fix the problem.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-08-03 21:14:43
I plan on releasing a new version with these fixes before Monday of next week. Does anyone have anything more to add that they'd like to see?

Let's pretend I didn't say that, shall we? Copy-pasting didn't work at all although I'm not sure why because they run almost identically. Oh well, I think it'll work out now. I fixed the things I said weren't working (I hope anyway. I hate writing code for the AI editing) and added two new features:
1. Now if it finds kernel2.bin in the same directory that you opened KERNEL.BIN from it'll start up in PC editing mode. I've been meaning to do this for a while because I've been annoyed at changing text only to realize that I'm in PSX mode. Ugh. I thought of a "Keep text changes on mode switch" option, but that didn't seem to be as useful since I still had to switch AND remember to turn it on when I wanted to switch.
2. I'm currently testing an option that will allow people to legally share their KERNEL.BIN & scene.bin mods without having to share the entire KERNEL.BIN and scene.bin files. I never liked seeing people do that. I've got to account for shortened/expanded text segments and I can copy it to PrC and release them together.
3. Altnough not really a feature, I'm going to make a helpfile for PrC before it's released. It will mostly be similar to WM's (which will be updated too to solve some errata), but it is different enough to need its own now.

Work picked up a few days ago and I didn't get to work on this to get it out when I said I was going to. Regardless, they both still work (sorta) so no rush, right? :) (heh, I used the word "work" three different times in three different ways in those two sentences! :D Cool, huh? 8) )


EDIT: I was playing with 0002h again earlier today and I think I've come to a conclusion for what it does. It is "use multi-target animation on multiple targets". Only the game ignores this and lets the animation handle it. Seriously, changing this property does NOTHING to anything. Disassembling the executable has led me to conclude that it never gets checked. In fact, the Blade Beam property doesn't either. I took it off the Blade Beam attack and gave a few other attacks that property and none of the attacks did anything different. So I'm forced to conclude that "0002h" will be re-labeled "Dummy1" and "Blade Beam?" will be re-labeled as "Dummy2". The unused will stay the same because they are just that. However, since there is data in these dummy fields I can't label them as unused, can I? :)

The oddest thing is, Pandora's Box made the invisible Grangalan Jr/Jrs visible after the attack was over. I initially thought this happened when I turned the 0002h off, but even when it was on it was doing this too. Weird. Probably some gimped up property existing in the animation of the attack. It actually freezes enemy animation while it performs, that might be a symptom of the same effect. I dunno. Regardless, I'm closing the case on the 0002h and will only reopen it if someone can show me proof that it actually does something.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: DLPB on 2009-08-09 03:49:57
any news on the progress :) ?

Did you manage to solve the text entry problem?  And do we know how to stop the character limit of kernel2.bin?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-08-16 15:06:26
About weapon model IDs...

During the course of my daily wheelings and dealings, I've found that only the last byte of this tab seems to do anything. When trying to change the model ID of Cloud's weapons to make him use the Masamune, I found that he always used the Buster Sword, because the game only takes into account the last byte (00 for both Buster Sword and Masamune). The help file does say something about the indexes being character specific, but I think that unless it turns out that I'm wrong about this, it should be noted more clearly that the game seems to ignore changes to the first byte. I apologise if this has already been mentioned somewhere in this thread (I apologise even more if this has already been mentioned by me somewhere in this thread).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-08-16 15:59:57
Yeah, the "Model ID" is mislabeled. It's actually two values mixed together because it was initially like that when I created the interface and I never went back and changed it. Yes, only the last byte does anything to the weapon. The middle byte does nothing, but the first byte changes the hit/miss/critical sound effects. I don't know what the significance of this is and I'm trying to figure out how to change it to make the interface not seem too cluttered. I've known this for a long time but I haven't given it much thought.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-08-16 16:18:11
But there are already bytes that determine the sound effects :?

I'll have to try listening the next time I try this out (didn't have the headphones on last time), but I'm curious as to why there would be something else determining the sound effects. And why all of the characters would have the same bytes for each of their weapons. And why some characters would share the same values (what do Cait Sith's megaphones have in common with the Masamune?)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-08-17 00:22:11
Don't ask me, I'm just writing the tool.  :|

I just remember changing it at one point to see what it did and it changed all three sound effects drastically.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-08-17 00:24:37
I wasn't asking you specifically :-D

I was just confused by the situation and asking aloud :roll:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-08-17 04:03:50
I wasn't asking you specifically :-D

I was just confused by the situation and asking aloud :roll:

What do you mean by sound effects? Where do you tried to change it? In weapon data there are 3 bytes that change appropriate sounds. They started during damage taking effect... i don't understand what you don't understand =)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-08-17 05:32:17
He's talking about the "Model ID" label in WM. It currently contains three bytes because when I originally created the interface that's what the wiki said was the size of Model ID (http://wiki.qhimm.com/FF7/Weapon_data?oldid=1723#KERNEL.BIN_-_Section_6:_Weapon_data_format).
When I change the left-most byte in this three-byte value, that changes the hit/miss/critical sounds.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-08-17 07:22:29
He's talking about the "Model ID" label in WM. It currently contains three bytes because when I originally created the interface that's what the wiki said was the size of Model ID (http://wiki.qhimm.com/FF7/Weapon_data?oldid=1723#KERNEL.BIN_-_Section_6:_Weapon_data_format).
When I change the left-most byte in this three-byte value, that changes the hit/miss/critical sounds.

Damn. Someone flip the fields. Now it's clear. This byte used to access to high sounds id.
if bit 0x01 is on then normal sound id = normal sound id + 0x100
if bit 0x02 is on then critical sound id = critical sound id + 0x100
if bit 0x01 is on or bit 0x02 is on then miss sound id = miss sound id + 0x100
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-08-17 12:42:25
Damn. Someone flip the fields. Now it's clear. This byte used to access to high sounds id.
if bit 0x01 is on then normal sound id = normal sound id + 0x100
if bit 0x02 is on then critical sound id = critical sound id + 0x100
if bit 0x01 is on or bit 0x02 is on then miss sound id = miss sound id + 0x100

This should all be fixed in the next WM. It also seems like that third bit is important somehow, but it's always off. Used values in this byte seem to be 0, 1, and 3, but the bit 0x03 is always off.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Akari on 2009-08-17 13:05:09
Damn. Someone flip the fields. Now it's clear. This byte used to access to high sounds id.
if bit 0x01 is on then normal sound id = normal sound id + 0x100
if bit 0x02 is on then critical sound id = critical sound id + 0x100
if bit 0x01 is on or bit 0x02 is on then miss sound id = miss sound id + 0x100

This should all be fixed in the next WM. It also seems like that third bit is important somehow, but it's always off. Used values in this byte seem to be 0, 1, and 3, but the bit 0x03 is always off.

0xF8 - 000 - none
0xF9 - 001 - normal, miss
0xFB - 011 - normal, critical, miss

There is no check for 0x04 bit so it doesn't matter. At least in battle. Maybe it checked somewhere else.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-04 15:40:48
I just compiled what I believe will be the final version of WallMarket. WM1.3 has the ability to save individual changes made to the KERNEL.BIN/kernel2.bin files into a smaller file that will be completely legal to distribute. WM1.3 will also, of course, be able to load this changes file and make those same changes back. I have successfully run a test or two on a few things, but I don't believe that I can catch everything. I need some testers again.
Nearly everything is the same as it was before with the small exception of the Weapons tab now properly separating out the sound shift from the weapon model ID and fixing the level 3 Materia AP issue.
A few other things have been fixed. The AI editing is now more like Proud Clod's. Allowing you to enter strings directly and updating jumps dynamically (although this would also need to be double-checked).

So send me a PM or an email and I'll get this latest version to you to test with instructions on WHAT to test. :)

PS - The sooner I get this tested and fixed the sooner I can release both WM1.3 and PrC1.3. I know everyone wants that dynamic jump updating. ;)

PPS - I'm going to be out of town this weekend so get your requests in soon!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-09-04 18:01:21
There's something I've realised about text-strings in AI that I thought I should bring up.

It seems to use variables for character names. You can see this in the Guard Scorpion script; before certain lines where a character's name is displayed, there are sequences like EA 00 00 00, where the third byte is a the ID of the character whose name is supposed to appear (i.e. 00 for  Cloud, 01 for Barret etc.). Is there any way to put these variables into scripts with Proud Clod and Wall Market? At the moment, I only know how to put in names letter by letter, but what if the player changes a character name?

I realise this might seem strange after I was buttercuping and whining a while ago about having to write strings in bytes and wanting to just put the letters in, but there you go... :roll:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-04 18:29:15
Darn you Kudistos for bringing that up! I hate you!!! DX

It's a good point, though. I'll make it so you can put a hex value inside curly brackets and it'll force that raw value into the string. That's simple enough. I'm doing that in several other places already.

Pffeh, fine. I don't hate you....yet. This is why I need testers. :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-09-04 18:31:45
What if you want brackets in your text? :-P

Perhaps you could let the modder insert hex by writing this:

Code: [Select]
<hex>FF FF FF FF</hex>
 :lol:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-04 18:53:59
brackets themselves will work fine. If WM discovers that it consists of 0-9 or A-F then it'll treat that as hex values. If you want something like "{texthere}" then that's what'll display so long as isn't a hex value. If you want "{A}" then it won't read that as a hex because it's not "{0A}". And if you want "{0A}" then use a different bracket. :P Otherwise you could do something like "{5B}0A}", but it would likely load it as "{0A}" again...I'll consider it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-09-05 22:25:28
Hmm... it apparently doesn't like you accidentally trying to open a new kernel (as in clicking open instead of create) then creating a kernel afterwords, because it sort of gives an error and doesn't make the kernel. IIRC PrC had/has this issue (i am pretty sure i said this in PrC's thread at some point a while ago, i just tried it in PrC and it is fixed in it, though it may have just not saved in PrC, while WM errors), and I think it is because it lost focus of the kernel.bin's location that was previously opened or something like that, it doesn't know where to save it  :roll:.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Spirit.of.the.Dawn on 2009-09-11 02:07:05
Hey!  I'm new here, (obviously), and am not very experienced with hex and coding and the like.  So just bear with me here.

I have the PSX version of the game, which I ripped from the disc and put onto my hard-drive.  I'm using an emulator to run it and I know that my computer is fast enough to run it, as it runs an UNMODIFIED version quite well.

Enter WallMarket.  I want to make all of the spells my own, (Fire2 --> Fira, Sleepel --> Sleep, create a set of Water spells), and edit the starting stats of the party to be stronger.  (On a side note, I want to edit the game's story text to make my own story, as well as edit the monsters and bosses to be super-powered.  Any direction to a set of programs that would work for the PSX version would be appreciated!)  So, I used WallMarket, (which, by the way, is very easy to use and well put-together), and edited all the stuff that I wanted to edit.  I finished up and clicked on "Create 'kernel.bin...'  (I, of course kept a back-up of the original.)  Enter the problem -- it says that the kernel.bin file is bigger than the size that is usually supported by PSX discs.  It says that it may not play correctly if I proceed.  I see the word "may" and decide to try my luck at it.  I create the kernel.bin file, then use ImgBurn to create an .img file.  Fail.  The emulator screens stays black and doesn't do anything, at all.  I tried making it a .iso file.  Fail.  So, to test it out, I extracted an unaltered .img file and re-compressed it with ImgBurn.  THAT file made a black screen, as well!

So, you see my dilemma, right?  I think ImgBurn doesn't make the right kind of .img/.iso file to be compatible with the emulator.  Any of you have any insight on this?  I guess I'm wondering if any of you have heard of a better, free-to-use .img file maker or if you know of a way to make ImgBurn make the right kind of file...

Thanks in advance!

- S.o.t.D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-09-11 02:36:03
You should use CD mage (http://cdmage.orconhosting.net.nz/frames.html) when putting modified files back into the ISO; it will put the files back into the right part of the disc. The game will mess up when you make files bigger or don't put them back into the ISo the right way, because FF7 looks for data in specific sectors of the disc; if you change things around, those sectors will get messed up and the game won't know what it's looking for.

If your kernel.bin file becomes too big, you can make it smaller by getting rid of unneeded stuff; deleting the AI for everyone except Sephiroth and Vincent is a good idea. So is getting rid of the descriptions for things you don't get until disc two when editing a kernel.bin for disc one and deleting the descriptions for Aeris' stuff when editing the kernel.bins for discs two and three (you can have different kernel.bins on each disc).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-11 04:16:05
...Enter the problem -- it says that the kernel.bin file is bigger than the size that is usually supported by PSX discs.  It says that it may not play correctly if I proceed.  I see the word "may" and decide to try my luck at it.  I create the kernel.bin file, then use ImgBurn to create an .img file.  Fail.  The emulator screens stays black and doesn't do anything, at all.  I tried making it a .iso file.  Fail.  So, to test it out, I extracted an unaltered .img file and re-compressed it with ImgBurn.  THAT file made a black screen, as well!

For the time being (and perhaps for ALL time) replace "may" with "will". Until such time as there is a program that is able to completely re-write a PSX CD from only files the KERNEL.BIN will only be limited to 22K in size. Anything greater and it "will" not load.

It reads "may" on the off chance that some day in the future, PSX CDs will be flexible like this. The (hopefully) final update is ready and waiting on the documentation to write itself....I mean, me to stop putting off making notes of the changes I made.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-09-14 15:18:08
As per NFITC1's request (http://forums.qhimm.com/index.php?topic=8481.msg118569#msg118569) :-P, I'm bumping this thread to tell everyone that a new version of WallMarket has been uploaded. The link, as usual, is in the OP.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-21 13:56:12
WallMarket has again been updated with the following:

First of all, saving changes should work properly now. I'm not sure if this one wasn't working before, but it should now in all cases.

Second, I discovered some issues with loading a KERNEL.BIN that had a matching "kernel2.bin" file, then loading one that didn't and vice versa. Hopefully all those work now.

A minor cosmetic detail: Now instead of always statically saying "Create KERNEL.BIN" in the File menu, it will now say "Create <name of KERNEL.BIN file you opened>". So if you opened a file called "PollyWollyDoodle.AllTheDay", this option will now read: "Create "PollyWollyDoodle.AllTheDay"". Oh yes, speaking off, now the opening/saving dialog boxes have the option to display all files [*.*]. This applies to PrC too.

WM does NOT have the ability to resize the AI box like PrC does. That function doesn't seem to be as needed in WM as it does in PrC.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: chocofeather on 2009-09-21 14:59:43
well done :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-09-21 15:05:20
it still seems as if it is not including the text changes... it does patch the other data correctly, but it does not save the text changes to the kernel2.bin. i checked both the kernel itself (in case it was only saving as a psx game, even though it was from a pc version), and the kernel2, neither had the updated names, though the non-text data was all carried over successfully as far as i saw.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-21 15:13:05
it still seems as if it is not including the text changes... it does patch the other data correctly, but it does not save the text changes to the kernel2.bin. i checked both the kernel itself (in case it was only saving as a psx game, even though it was from a pc version), and the kernel2, neither had the updated names, though the non-text data was all carried over successfully as far as i saw.

I'm able to save text changes and (mostly) apply them back. I got an error when applying, but it didn't seem to have any ill effects when I ignored it.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-09-21 15:14:49
i get no text changes whatsoever, it seems that i am the oddball yet again :-P. maybe it isn't loading the kernel2.bin correctly for the pc version? i could try out a simple psx version of it to see if it successfully works there, if you want me to. i also receive no error, it just patches with no text change.

nope, psx has the same issue, it just isn't applying the changes to text for me.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-21 15:57:52
You ARE saying "yes" to text changes when it asks you, right? That's what does the text changes.

I'm going to email you a file that changes text. You should send me one that you tried to create that changes text. I'll see what it's doing.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-09-21 16:34:47
yes i am clicking yes :P. and the file you sent does indeed work to change the text, but when i create mine, it just doesn't seem to include the changes either way. i will send you the file in a sec.

edit: sent. i also attempted to refresh the current kernel before making the patch (to see if it just wasn't seeing the text changes... dunno how you are making the patches to know what to look for :P), so it just seems that it does not like me for whatever reason  :oops:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-21 17:11:39
No, the text changes are not in that file. It's not marking those changes for some reason.

Are you comparing the changes you've made to the file you loaded (clicking yes at the first option) or an unmodded kernel2.bin file?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-09-21 17:24:47
to an unmodded one... and i think imma get some sleep... i have been up all night  :-(

EDIT:

Well, the only thing I can think of is that it isn't comparing the kernel2.bin data correctly if you manually compare to an unmodded kernel. I was able to patch text fine when using changes based off of the previously loaded kernel, so maybe manually comparing just isn't loading the kernel2.bin's data to be compared, and it just compares the text changes to the previously loaded kernel instead, and if you are making a patch from a freshly loaded kernel, it will not have any differences to be found.

Not sure if you get what I am saying, but that is the only thing i can think of that would cause it to work for the automatic and not the manual compare.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-09-23 13:07:43
Well, the only thing I can think of is that it isn't comparing the kernel2.bin data correctly if you manually compare to an unmodded kernel. I was able to patch text fine when using changes based off of the previously loaded kernel, so maybe manually comparing just isn't loading the kernel2.bin's data to be compared, and it just compares the text changes to the previously loaded kernel instead, and if you are making a patch from a freshly loaded kernel, it will not have any differences to be found.

I thought this too, but I think the manual compare worked for me too. I changed just text and it compared with the kernel2.bin just fine...I think it did anyway. I'll go back and test that a little more later.

EDIT: I think I found and fixed the problem. I was able to successfully open a modified kernel2.bin file and create a change file comparing it to an unmodded one.
I also thought of a new feature I need to add: "Delete <object>". I've noticed that some people that want to mod their PSX files have been deleting specific attacks/weapons from the KERNEL.BIN that can't be acquired on specific discs. I think this is a good idea, but WM doesn't exactly let you do that. Also, the initial data is worthless on later discs so I should add an option to delete that info too. (For everyone but Vincent and Yuffie since you can get either of them on any disc). Proud Clod would benefit from this too. "Delete enemy" or "Empty Scene". That way, the user could chose to remove certain info that isn't available on each disc. This particular feature would be worthless to PC users because the KERNEL.BIN and scene.bin are loaded directly from one copy of it that is installed and size isn't an issue. Still, I can't neglect my retro-PSX fans. :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Myrmedus on 2009-09-27 20:57:07
I was wondering if there was any possible way to inject an additional byte of data into the kernel for spell animation IDs - it's a pain to be cut off from 1/3 of the animations in the game because of this limitation :(
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-09-27 22:58:28
I was wondering if there was any possible way to inject an additional byte of data into the kernel for spell animation IDs - it's a pain to be cut off from 1/3 of the animations in the game because of this limitation :(

I think that would require some serious hacking of the .exe file, so Wall Market won't be able to do anything like that,
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: chocofeather on 2009-09-28 06:26:04
I have also noticed there is no editor for chocobo names like teioh?  They found somewhere else?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: The Seer of Shadows on 2009-09-28 10:34:56
There is an editor for chocobo names in Teioh?  I believe you're thinking of Jenova save game editor.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: chocofeather on 2009-09-28 16:07:16
That doesn't edit the inbuilt names during the chocobo races.  The translation project may require the use of soemthing that can edit the names of the racers.  Certainly Teioh.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-10-10 06:51:47
hey... not quite sure when you will be back on here (due to the current stuff you are implementing), but a friend of mine noticed an issue with WM... it seems that when you modify the upper bounds for HP past 9999, the cap either does not save, or is not displayed if it is over 9999, even if it was saved correctly. MP correctly changes, i tested it at 2000 and the graph and the stats correctly changes (didn't test saving it though), but even making the limit for HP over 9999 before saving shows no change, even at 30000.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-10-12 16:37:17
hey... not quite sure when you will be back on here (due to the current stuff you are implementing), but a friend of mine noticed an issue with WM... it seems that when you modify the upper bounds for HP past 9999, the cap either does not save, or is not displayed if it is over 9999, even if it was saved correctly. MP correctly changes, i tested it at 2000 and the graph and the stats correctly changes (didn't test saving it though), but even making the limit for HP over 9999 before saving shows no change, even at 30000.

I fixed this now. Text changes should also work when saving. This might be the last thing I do here for the rest of the month. I'm pretty busy with moving.

Also, check out the blog on the first post now. It's been there for a while and I'm not sure anyone has looked at it. I forgot my password (again) so I can't get in at the moment.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-10-12 21:55:22
nah, i have been following your blog... i am your one and only follower :3.

however, i cannot seem to be able to comment there for whatever reason... so i have had to do so here  :|. glad to see that new versions are finally out though :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 17:20:09
EDIT: Looking for info on attack animation indexes? Get the full table of offsets for PC and PSX versions here: http://forums.qhimm.com/index.php?topic=9277.msg124615#msg124615

I'm not sure if this has been noted before, but I thought I'd share nonetheless.

I've been trying to make my own spells on the PSX version of FF7, but I've not had much success with animation IDs. For instance, using the anim. ID AA gives me a water effect rather than Aero 3.

After a little experimentation, it seems - and don't take this as gospel - that when using enemy attack animations on the PSX, you might need to modify the base index by 60h rather than 4Eh. BC gives me Aero 3. Yay! That would explain the prior difficulties: I'd been getting waterball rather than Aero3. (AA-60h = 4A = 74 in dec, which is the waterball ID)

I noticed that putting in E9 gave me Bizarro Energy. A quick look at the AttackAnims document suggests...

Quote
148   Bizzarro Enegy

148 = 94h
Add 60h to that... gives us F4  :?
This would suggest that some attacks demand a difference of 55h.

Well, let's try F4 then.

(http://img20.imageshack.us/img20/8734/bizn.png)

: /

However, according to the "60h rule", if I want to use

Quote
81   Sewer         
82   Hot Springs         
83   Magma   

I need to input -

81d = 51h, 51h + 60h = b1
82d = 52h, 52h + 60h = b2
83d = 53h, 53h + 60h = b3

And what do you know? They work just fine.

Interesting. Any explanations? I'm going to keep trying with 60h, and failing that 60h plus or minus multiples of 5. I'll tell you if I find anything of note.

BTW: This is the case on both a PAL and an NTSC version of the game. They are being run on ePSXe, and being patched via CDmage.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Ragna on 2009-10-27 17:33:27
It would be good to have separate animation lists for both PC and PSX versions.  :roll:
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-10-27 17:59:46
Thanks for pointing this out. It's interesting news!

Kudistos Megistos has been working with the PSX version (I think) and he says that my animation document is correct. It's possible that he has a different version than the one you're playing on. Check on this a little more (find out how much each category is increased by) and I'll add it to my "document".
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 18:05:08
I'll keep you updated on any findings.

The AttackAnims document itself seems to be correct, and the attack Anim no.s attached to the enemies in PROUD CLOD confirm it. It's just the +4E for enemy spells thing that seems to be in question. It's interesting, though, if Kudistos hasn't found this whilst working on the NTSC-U PSX version. Puzzling...
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2009-10-27 20:00:52
I've done a little modding on the (PAL! :-D) PSX version of the game, but I've never tried making any new spells, which would explain why I haven't found anything like that :-P

I'll try to remember to have a look at this later tonight. I suppose it's possible that there might be different attack indexes for the PSX version, but I can't think of any reason why; the scene.bin and kernel.bin are the same for both the PC and the PSX, n'est-ce pas? :|
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 20:18:25
Presumably the variable that alters Anim ID on the basis of Attack ID differs? That wouldn't be located in the KERNEL.BIN. I don't know where it sits in the PSOne version.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 20:49:33
I've got moar info, now on enemy skills.

Playing around with custom E.Skills, I found that, as you might expect, the 'add 36' rule that applies otherwise doesn't work. Dayum. What to do? Mash the keyboard, of course, until I found an animation that not only worked, but that I could recognize.

I found that 6C looks like grand spark, and that 73 is sewer tsunami. Knowing this, I tried the entire section of attacks that covered. Here's what I found

Quote
66   Grand Spark   - 6c works         
67   Bomb Blast      - 6d works
68   Northern Cross   - invisible? No animation appears, but attack produces its effects
69   Dragon Cannon   - crashes game      
70   Rolling Fire      - 70h works
71   Twin Burner   - 71h works   
72   Sewer Tsunami   - 72h crashes game   
73   Sewer Tsunami   - 73h works like a charm

From this, I worked out that the number to add to enemy exclusive attacks when dealing with Enemy Skills is 2A.

Let me give an example to those who have been reading, but haven't quite followed my (fairly telegraphic) prose: If I want an enemy skill that looks like Dyne's S-Mine, relative animation index 58, or 3A in hex, I need to add 2A in hex to find the animation ID I need to enter into Wallmarket. That turns out to be 64. And what do you know? Setting the Anim. ID as 64, sure enough, makes the Enemy Skill look like S-Mine.

Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-10-27 21:33:06
I've done a little modding on the (PAL! :-D) PSX version of the game, but I've never tried making any new spells, which would explain why I haven't found anything like that :-P

I'll try to remember to have a look at this later tonight. I suppose it's possible that there might be different attack indexes for the PSX version, but I can't think of any reason why; the scene.bin and kernel.bin are the same for both the PC and the PSX, n'est-ce pas? :|

Since it's all based on a "relative increase" then this is not unlikely if the absolute indexes are different between the PSX version Bosola is experimenting on and the PC version. Since the increase is larger in the PSX version, they either have more animations than the PC version, or wanted to start on a "friendlier number". In binary, 60h is 1100000 where 4Eh is 1001110. Maybe this is significant since none of the player magics go above 40h.

I've got moar info, now on enemy skills.

Playing around with custom E.Skills, I found that, as you might expect, the 'add 36' rule that applies otherwise doesn't work. Dayum. What to do? Mash the keyboard, of course, until I found an animation that not only worked, but that I could recognize.

I found that 6C looks like grand spark, and that 73 is sewer tsunami.

...

From this, I worked out that the number to add when dealing with Enemy Skills is 2A.

Let me give an example to those who have been reading, but haven't quite followed my (fairly telegraphic) prose: If I want an enemy skill that looks like Dyne's S-Mine, relative animation index 58, or 3A in hex, I need to add 2A in hex to find the animation ID I need to enter into Wallmarket. That turns out to be 64. And what do you know? Setting the Anim. ID as 64, sure enough, makes the Enemy Skill look like S-Mine.
...

    * For E.Skill attacks, increase by 2Ah (in hex)
    * For Enemy-exclusive attacks, increase by 60h (in hex)

Your logic is flawed here. E.Skill increase CANNOT be any less than 35h (which is Shield's animation).
HOWEVER, what you DID find was that E.Skill's relative offset is 2Ah LESS than 60h since you have to increase the E.Skill's relative index by that much to get enemy attacks. That would make the E.Skill offset be:

60h - 2Ah = 36h
-AND-
60h (Enemy Att offset) + 3Ah (S-Mine relative offset) = 9Ah (S-Mine absolute index)
XXh (E.Skill Att offset) + 64h (E.Skill relative offset) = 9Ah (E.Skill absolute index)
XX = 36h

which is what it is for the PC version.

That leaves absolute animations 4Eh-5Fh unidentified for the PSX version. That's 18 animations. There are 16 summons. Perhaps this is where they come in the PSX animation order. Which leaves two unaccounted for!! O_O Someone make some E.Skills with indexes between 18h - 29h and make videos of the results RIGHT NOW!!! :D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 21:34:44
You're right. My maths is in a spin. These numbers have me overwhelmed! I'll try those Anim indexes, though from what I've seen, I'm guessing they won't work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 21:43:05
My god! They seem to work! Setting an E.Skill to Anim 18 produces a Choco-Mog animation, albeit sans. the Chocobo model. 19 yields a Shiva-less Shiva. ePSXe crashes on 28 and 29, though 29 turns the screen turn slowly dark before the emulator apparently freezes. KOTR works absolutely fine, and still has the Knight models, unlike the other summons seem to.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-27 21:43:54
[um, I don't know how this double post happened. Sorry!]
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-10-27 22:03:22
My god! They seem to work! Setting an E.Skill to Anim 18 produces a Choco-Mog animation, albeit sans. the Chocobo model. 19 yields a Shiva-less Shiva. ePSXe crashes on 28 and 29, though 29 turns the screen turn slowly dark before the emulator apparently freezes. KOTR works absolutely fine, and still has the Knight models, unlike the other summons seem to.

Very interesting. Now we know what the absolute PSX indexes are for the summons. Thanks!

Still, why would Choco/Mog NOT have the chocobo? Hmmm.......
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-10-30 12:03:25
Did a few spells and enemy skills for the PSOne version, obtaining the animations as described. YouTube video is here: http://www.youtube.com/watch?v=YY9Vp5BLni8
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tonfa on 2009-10-30 19:31:28
So I update to 1.3.1, boot up the kernel I've been working on and get this.

Code: [Select]
************** Exception Text **************
System.InvalidCastException: Conversion from string ": 86" to type 'Short' is not valid. ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToShort(String Value)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToShort(String Value)
   at WallMarket.Form1.Load_Growth()
   at WallMarket.Form1.Open_KERNEL(Char kernel)
   at WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   at WallMarket.Form1.Form1_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Okay, I can continue...except some parts just refuse to be shown at all. Like character growths.

Code: [Select]
************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '128' is not valid for 'SelectedIndex'.
Parameter name: SelectedIndex
   at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
   at WallMarket.Form1.CharGrowthList_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

What's the deal? Booting up a fresh kernel works and allows itself to be edited without errors, but I don't want to resort to that for obvious reasons.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-10-30 20:42:56
A String to short conversion in Load_Growth? That's odd.

That might lead the the second error you're getting. The Attack names aren't loading correctly. When Cloud's "Braver" tries to load it doesn't see that that combobox has that many entries. So I guess the first error occurred before that....

Nothing's coming to mind right now; I'll have to look at it. I don't have the code in front of me, but it seems like something screwed up your KERNEL. It's likely an easy fix.

UPDATE:
OK, I figured out what the issue is. I'm surprised that it hasn't come up until now. Your AI block within the KERNEL.BIN is too small. You deleted all the AI except Vincent's didn't you? Well, that caused a TINY glitch in WM (your KERNEL's fine, don't worry about it) when it tries to display the total size of all scripts. It's actually doing this incorrectly for some reason.

How to fix: First, make a back up of the KERNEL that crashes WM. Open it and press "Continue" like you have before. Without editing anything, select "Piece Management" and "Create KERNEL.BIN pieces" and close WM. This part is going to require using a Hex editor. There are plenty of free ones that will do this. At address 0x634 it should start:
Code: [Select]
FF FF 20 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFchange that to:
Code: [Select]
FF FF 20 00 FF FF FF FF FF FF FF FF FF FF 50 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFThen at 0x684 add this:
Code: [Select]
61 00 00 91 60 00 91 60 00 91 60 00 91 73That's an innocuous script that won't harm anything put into a code block that doesn't fire (as far as anyone can tell). Now, re-open WM and tell it to load the pieces instead of the actual KERNEL. You shouldn't get the error after that. re-compile your KERNEL and don't delete any of the AI scripts. ;)
This will make WM think the total script size is over 100 bytes and it won't cause that error again. Just keep total script size into triple digits for now. I'll fix it later this week.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Tonfa on 2009-11-08 10:25:17
Yes, that was the cause of my issue. Thought of saving space as well as making Sephiroth playable...oh well. Worked out in the end. The fix worked, though there were added complications after it - WM would crash when I tried to save the reassembled kernel or its pieces, so I made a patch ofthe changes, patched an untouched kernel and saved THAT one instead. Strange. Thanks for the troubleshooting!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-11-15 06:41:16
Having a bit of trouble here.

For some reason, I can no longer get certain animations to work without the game freezing, even though they worked perfectly before. Yesterday, I had a magic spell that used the Death Sentence animation. Now, using that spell causes the colours to glitch and the game to freeze, even though beforehand there were no troubles whatsoever. Using a fresh .iso and versions of the KERNEL.BIN etc. files made no difference - the glitch is still there.

I've no idea what could be the matter. The only work on FF7 I'd done in the mean time was to alter some character AI - but even with a fresh game or restored KERNEL file, the problem persists. Aside from that? Nothing springs to mind, except that I opened the wallmarket.dat file in notepad, copied the text, closed the file and pasted to a new .txt document. I hardly expect that to be an issue, though.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-11-15 07:57:01
...Stranger and stranger. It appears now to only affect the 'Death Sentence' animation. Using the enemy skill is fine, but calling it from magic (using anim index 4A) just won't work.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-11-15 09:11:22
Oh, I thought I'd share something else: if you want an enemy skill to hit everyone, then the skill that would normally take the 'slot' you're using has to be able to hit multiple targets too. Simply setting the 'multiple / toggle multiple' flags alone and choosing the right animation won't do it properly - multiple targets will be hit, but damage won't be displayed, nor statuses until the enemies are hit by another 'move'.

So, if you want a holy attack that hits all, using Diamond Fire as an animation, you should consider using the 'slot' normally taken by, say, Pandora's Box or L5 Death, rather than Dragon Force or Flamethrower.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-11-28 05:17:54
found some buggage with the character growth page... you can change the upper bounds on the page, but if you change, say str to have a cap of 255, the values displayed for it's min/max will be reduced greatly, ending up at around 38-40 for a level 99 cloud. if you were to decrease the upper bounds to 50 the stats displayed are doubled, and it will still show up to 99 for the stat (another issue, the stat shown will never exceed 99 in the range that changes, the max/min shown at the top of the window displays correctly, even if the upper bounds is changed). my guess is that there is a division taking place using the upper bounds which would explain the doubling at half the upper bound size, and the decrease as it grows :-P. the HP/MP stats are fine though, only the other stats are affected

it also does not seem to save the upper bounds you set in WM, i am not sure if the upper bounds is something that can actually be modified in the kernel, or if it is just for the display in WM (hopefully the former :-D), but either way it is not keeping the changes. and the upper bounds box doesn't like numbers like 99999 in the hp box... it gives an error saying the number is too big, but that one is just me messing around :roll:

speaking of the stats shown per level on the growth page, the values for the stats like strength are listed from max to min, while the HP/MP values are min to max... kinda weird to have them different (small to large looks better btw :wink:). and if you happen to change to HP or MP, it will initially display large to small, but as soon as you move the slide for the level, it will become small to large again... which is kinda weird :lol:.

and another, smaller thing; if you change kernels in WM, the items on the party data screen will disappear (the ones in starting items, and possibly the materia as well), but the quantity will appear if you select a space with an item in it, though the item will stay invisible until changing the item in the slot. everything continues as normal though, and it saves properly as far as i saw, so it is pretty minor :-P.


it has been a while since i have used this (just seeing some random stuff since i have been sticking to the growth page), so some of these may have been fixed already if you are still working on it, but as usual, i like to point the bugs out 8-). i'd post it on your blog, but i cannot post because it always seems to remove my post as i post it... but then again my computer has issues with certain web pages so it could just be me. it's funny though... your only follower cannot comment on your blog :lol:


Edit: to help with my mod, i made myself an excel spreadsheet to calculate the character stats based off of the kernel data (i know WM does it, but mine will end up having a damage calculator integrated into it, based off of my enemy data and updated attack info ^_^), and after finishing it up, i noticed that my HP/MP values are much closer to those in Terence's party data guide than your WM calculates, with MP being 100% accurate to his, and HP being only up to 8 points different by 99, while some still match up perfectly. I looked through this thread and found where you had been talking about it, but you never seemed to get it to look like his HP/MP, so i was wondering... how exactly did you write out the equation?

it seems as if your calculations are not flooring somewhere they should be (i know for a fact that your exp equation isn't flooring right, because i was able to get the same results you have by not flooring at a certain point). i know how hard it can be to keep track of the flooring sometimes, and doing things in a different order can sometimes affect things as well, something i learned from typing my growth formula for the enemies into their AI (doing it in excel makes the equations MUCH bigger than they should be... especially since i have to repeatedly use the lookup function, sometimes within ANOTHER lookup function :-P). it took me forever to get my HP this close to accurate, and i think it will not get any closer to his, since i used the same equation i did for my HP as i did for the MP, just with slight tweaking and changing how the growth was applied... and it turned out 100% like his :|.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-11-30 13:36:26
found some buggage with the character growth page... you can change the upper bounds on the page, but if you change, say str to have a cap of 255, the values displayed for it's min/max will be reduced greatly, ending up at around 38-40 for a level 99 cloud. if you were to decrease the upper bounds to 50 the stats displayed are doubled, and it will still show up to 99 for the stat (another issue, the stat shown will never exceed 99 in the range that changes, the max/min shown at the top of the window displays correctly, even if the upper bounds is changed). my guess is that there is a division taking place using the upper bounds which would explain the doubling at half the upper bound size, and the decrease as it grows :-P. the HP/MP stats are fine though, only the other stats are affected

it also does not seem to save the upper bounds you set in WM, i am not sure if the upper bounds is something that can actually be modified in the kernel, or if it is just for the display in WM (hopefully the former :-D), but either way it is not keeping the changes. and the upper bounds box doesn't like numbers like 99999 in the hp box... it gives an error saying the number is too big, but that one is just me messing around :roll:

These are cosmetic details and not a high priority. Stats cannot be set above 255 without some major re-write. Likewise, HP/MP cannot go above 32767. I thought I added some error checking to make sure the values don't get that high, but it's really just setting the maximum the graph will go to. Changing that value means nothing in-game (I'm sure you know this).

speaking of the stats shown per level on the growth page, the values for the stats like strength are listed from max to min, while the HP/MP values are min to max... kinda weird to have them different (small to large looks better btw :wink:). and if you happen to change to HP or MP, it will initially display large to small, but as soon as you move the slide for the level, it will become small to large again... which is kinda weird :lol:.

Again, cosmetic. Probably something that needs to be fixed. To be honest, I've been afraid to touch that graph since 1.2.0 (there are still a few issues with it) so these things get left unnoticed.

and another, smaller thing; if you change kernels in WM, the items on the party data screen will disappear (the ones in starting items, and possibly the materia as well), but the quantity will appear if you select a space with an item in it, though the item will stay invisible until changing the item in the slot. everything continues as normal though, and it saves properly as far as i saw, so it is pretty minor :-P.

If you change tabs and come back to it it'll look fine. It's accounting for item name changes and I guess it doesn't update perfectly in all cases.

it has been a while since i have used this (just seeing some random stuff since i have been sticking to the growth page), so some of these may have been fixed already if you are still working on it, but as usual, i like to point the bugs out 8-). i'd post it on your blog, but i cannot post because it always seems to remove my post as i post it... but then again my computer has issues with certain web pages so it could just be me. it's funny though... your only follower cannot comment on your blog :lol:

You can't post on the blog. You're supposed to leave comments on the posts that I make.

Edit: to help with my mod, i made myself an excel spreadsheet to calculate the character stats based off of the kernel data (i know WM does it, but mine will end up having a damage calculator integrated into it, based off of my enemy data and updated attack info ^_^), and after finishing it up, i noticed that my HP/MP values are much closer to those in Terence's party data guide than your WM calculates, with MP being 100% accurate to his, and HP being only up to 8 points different by 99, while some still match up perfectly. I looked through this thread and found where you had been talking about it, but you never seemed to get it to look like his HP/MP, so i was wondering... how exactly did you write out the equation?

it seems as if your calculations are not flooring somewhere they should be (i know for a fact that your exp equation isn't flooring right, because i was able to get the same results you have by not flooring at a certain point). i know how hard it can be to keep track of the flooring sometimes, and doing things in a different order can sometimes affect things as well, something i learned from typing my growth formula for the enemies into their AI (doing it in excel makes the equations MUCH bigger than they should be... especially since i have to repeatedly use the lookup function, sometimes within ANOTHER lookup function :-P). it took me forever to get my HP this close to accurate, and i think it will not get any closer to his, since i used the same equation i did for my HP as i did for the MP, just with slight tweaking and changing how the growth was applied... and it turned out 100% like his :|.

Tell you the truth, I don't think I'm flooring until the end. The PSX is capable of doing floating-point calculation so I'd assume that it's being done that way. It's likely not, though. I'm sure that'd give me different numbers, but I suspect that it doesn't matter. If you read those posts then you know that several people (maybe just two) tried getting outside the ranges Terrence provided and WM calculated by power-leveling and couldn't get below mine or above Terrence's. Since you'll get to neither bound outside of directed growth I just didn't bother to sync mine up with his. If you really need it to be accurate, I can re-work it. It wouldn't be difficult.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: secondadvent on 2009-11-30 18:05:51
well, the stat stuff isn't too much of a problem now (mainly because i finished my calculator :roll:), so only really worry about it if you want to/have time to. i figured the upper bounds wasn't for in-game, which sucks, but i only wanted to make the HP go higher :|.

and i know i cannot post on your blog... i cannot post any comments is what i meant :-P.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: JohnBrook (aka HAETTROLL SEIFER) on 2009-12-12 07:19:36
Further to our discussions in PM I have also located the default naming of the characters text.

It is also located in FF7.exe at 52: 06B0h

There may be more text in FF7.exe that I haven\'t found yet aside from all the menu items.  :) ciao
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: JohnBrook (aka HAETTROLL SEIFER) on 2009-12-18 14:41:33
lastly, world map dialogue and text are found in file MES inside world_us.lgp
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bobeert on 2009-12-19 06:37:46
So I'm using Wallmarket to edit the Kernel.bin file and I seem to have added too much to it.  Crashes the game when I run it, you know.  Added too many weapon descriptions I think.  Well, I've tried to go in and edit out the weapon descriptions, but it won't work for a lot of them.  I double click the weapon's name, erase the entirety of its description, and when I click okay it doesn't actually delete the description?  Even pressing 'Apply' beforehand does nothing, it'll flash for a split second and the text will come back.

And I can't edit the spells out on certain magic materia (in the materia type modifier).  I was trying to take spells out of one materia (poison), but it won't delete the numbers.  I can change it to something else and it'll stick, but deleting the value just reverses when I select something else and go back to it.

I'm not quite sure if it's a program bug or if it's something I've done?  I mean, maybe it's something to do with some variable that controls how many spells it's supposed to have, and you can add spells to it... but it isn't lowering that variable when you delete it?

Or maybe it's me, I don't know.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2009-12-19 23:59:19
I've had some similar problems, creating green materia that don't grant spells until the second level - an attack ID is always listed at the first level, even if I try and erase it.

Anyway, for the time being, you might want to just replace the weapon descriptions with spaces, and make the materia point to spells that can't be chosen (atk ID 123 does just fine).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: AngeBleu on 2009-12-21 01:20:02
how does work "CharacterGrowth" ?
what does it serve ?

thanks in advance.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2009-12-21 21:49:37
So I'm using Wallmarket to edit the Kernel.bin file and I seem to have added too much to it.  Crashes the game when I run it, you know.  Added too many weapon descriptions I think.  Well, I've tried to go in and edit out the weapon descriptions, but it won't work for a lot of them.  I double click the weapon's name, erase the entirety of its description, and when I click okay it doesn't actually delete the description?  Even pressing 'Apply' beforehand does nothing, it'll flash for a split second and the text will come back.

And I can't edit the spells out on certain magic materia (in the materia type modifier).  I was trying to take spells out of one materia (poison), but it won't delete the numbers.  I can change it to something else and it'll stick, but deleting the value just reverses when I select something else and go back to it.

I'm not quite sure if it's a program bug or if it's something I've done?  I mean, maybe it's something to do with some variable that controls how many spells it's supposed to have, and you can add spells to it... but it isn't lowering that variable when you delete it?

Or maybe it's me, I don't know.

This was a pointer problem in WM. I fixed it and will likely upload it tomorrow after I check something else.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bobeert on 2009-12-23 04:05:01
Ah, alright, cool.  I was able to get around the weapon description thing by taking the original file's text part I'd made and overwriting mine with it.  Part 13 I believe.  Seems to have fixed the crashing.

And good to know you figured it out!  It's a great program and I really enjoy using it.  Cheers!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: kotor89 on 2010-02-26 11:58:16
I have a problem here:
It seems like I can change the properties of Vincents and Tifas Limit attacks, but I can't change any other limit moves!
e.g Omnislash has all options greyed out, I cant select anything, same goes for the other (RED BOX) moves.
How is that? Any Solution?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-02-26 13:00:22
I have a problem here:
It seems like I can change the properties of Vincents and Tifas Limit attacks, but I can't change any other limit moves!
e.g Omnislash has all options greyed out, I cant select anything, same goes for the other (RED BOX) moves.
How is that? Any Solution?

The solution is to read the documentation. You can't edit those because they're not in the KERNEL.BIN.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-02-26 15:01:59
Yeah. You have to modify the FF7.exe / LIMITMENU.MNU file to change those. KudistosMegistos posted the data you needed to alter, and the location of the data in the PC's FF7.exe, at http://forums.qhimm.com/index.php?topic=7928.msg95559#msg95559 (http://forums.qhimm.com/index.php?topic=7928.msg95559#msg95559). Make sense of that data using the wiki's attack data page, which is right here: http://wiki.qhimm.com/FF7/Attack_data (http://wiki.qhimm.com/FF7/Attack_data).
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-03-04 17:39:50
Quote
A few minuscule new features have been added to make the process easier to use. For example, using the current version of PrC, try making an attack with an index of 8000h and then searching for unused indexes. Go make a sandwich and come back and see if anything has happened. Maybe it has, but your screen ought to be covered with a single box that looks like it has no end. With the change I recently made that box will never be that large. It will display ranges of empty values rather than listing them 1-by-1. So instead of it saying "0100h, 0101h, 0102h," like it does now, it'll say "0101h - 0102h". Which comes in handy when there's a large range of values that are blank, say "03E2h - 7FFFh" :).

As for string editing in AI, I really haven't addressed that yet. There are so many things that could go wrong with editing AI as it is. I DID, however, add a cancel button to the AI editing. If you make a change that you don't like you can cancel and re-open the window to start editing from the base again.

Good news.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: DestroGalacticmon on 2010-03-05 15:13:22
Hello, people. I need to ask a question that really bothers me and I'm losing ideas very fast.

The thing is, that, I deleted Vincent's Death Penalty weapon to release space in the Kernel.bin. I wasn't going to use Vincent at all.
But, now I want him in my party again, and when I tried to return the values in, WallMarket shows me an error message saying that an arithmetic function caused a leak- or something like that. What I'm trying to do is set the Shift sound to F9 as it's supposed to be, but everytime that error message comes and then it sets it to FF.
Also, when I switch weapon, Death Penalty's Weapon target section gets messed up...

I'm really starting to fear I've messed up something really badly.
Anyway, is that a problem in WallMarket or in me, and is there any way to fix this problem?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-05 19:14:16
Hello, people. I need to ask a question that really bothers me and I'm losing ideas very fast.

The thing is, that, I deleted Vincent's Death Penalty weapon to release space in the Kernel.bin. I wasn't going to use Vincent at all.
But, now I want him in my party again, and when I tried to return the values in, WallMarket shows me an error message saying that an arithmetic function caused a leak- or something like that. What I'm trying to do is set the Shift sound to F9 as it's supposed to be, but everytime that error message comes and then it sets it to FF.
Also, when I switch weapon, Death Penalty's Weapon target section gets messed up...

I'm really starting to fear I've messed up something really badly.
Anyway, is that a problem in WallMarket or in me, and is there any way to fix this problem?

The fix is to restore a backup and be patient. The sound shift thing is a known error and version 1.4 will have this issue fixed. It's the only thing that doesn't work right. For now, just edit the data manually by double-clicking on the weapon name in the list to the left. Use this as a guide (http://wiki.qhimm.com/FF7/Weapon_data) for what bytes to modify.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-03-05 19:39:30
Backup, backup, backup. Modding, I always keep multiple backups of my files and ISOs. In my case, I actually have 'snapshots' of certain stages in development, so I can, say, bring out a KERNEL.BIN from a couple of weeks ago, working alongside a SCENE and a certain level file from three weeks before that, etc. etc. - but that's because I'm developing a mod. Nevertheless, the basic principle holds true: don't run the risk of crippling the only ISO you've got, especially if your disks aren't conveniently at hand.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2010-03-05 21:02:31
For now, just edit the data manually by double-clicking on the weapon name in the list to the left.

Wow, I never knew one could do that with Wall Market; it's a nice feature, since I sometimes like modding things the old fashioned way. ;D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-06 02:06:37
For now, just edit the data manually by double-clicking on the weapon name in the list to the left.

Wow, I never knew one could do that with Wall Market; it's a nice feature, since I sometimes like modding things the old fashioned way. ;D

Yes (http://forums.qhimm.com/index.php?topic=8168.msg98325#msg98325) you did. (http://forums.qhimm.com/index.php?topic=7928.msg107851#msg107851) ;) I could have sworn there was another post like that, but it doesn't look like it's in the WallMarket or Proud Clod topic.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kudistos Megistos on 2010-03-06 08:59:03
For now, just edit the data manually by double-clicking on the weapon name in the list to the left.

Wow, I never knew one could do that with Wall Market; it's a nice feature, since I sometimes like modding things the old fashioned way. ;D

Yes (http://forums.qhimm.com/index.php?topic=8168.msg98325#msg98325) you did. (http://forums.qhimm.com/index.php?topic=7928.msg107851#msg107851) ;) I could have sworn there was another post like that, but it doesn't look like it's in the WallMarket or Proud Clod topic.

Did I? Hmph, I must have known at one point and then ceased to know ;D
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-25 19:31:46
New version, Check it out!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kranmer on 2010-03-25 21:40:18
Thanks for the new version NFITC1, Also i just read on your blog (i know its a older post but still thought you might be interested) you where trying to make the program less KB and i might be able to help make it alot smaller if you want it smaller.
(And when i mean smaller i mean i can make wallmarket.exe 233kb)
EDIT:- I have been looking at this some more and it looks like it may even be possible to embed the DLLs for "Microsoft Visual Basic Power Packs 3.0" so that the program can run without "Microsoft Visual Basic Power Packs 3.0" being installed.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-26 15:26:08
Thanks for the new version NFITC1, Also i just read on your blog (i know its a older post but still thought you might be interested) you where trying to make the program less KB and i might be able to help make it alot smaller if you want it smaller.
(And when i mean smaller i mean i can make wallmarket.exe 233kb)

I'm familiar with things like this. UPX being the one I've used although I believe the version I have is optimized for DOS programs. I don't care about compression making the thing smaller. That's not my goal. I want to remove a lot of debug info in the executable. I know there's a lot of extraneous code in it that handles errors like that and I want the compiler to not put that in.

EDIT:- I have been looking at this some more and it looks like it may even be possible to embed the DLLs for "Microsoft Visual Basic Power Packs 3.0" so that the program can run without "Microsoft Visual Basic Power Packs 3.0" being installed.

I would really like that. WM is only using one class in it and only for that graph. I'm surprised that it takes another set of things to do lines in .NET. It was native in VB6. Oh well. If you know how to do that please share!
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Xelane on 2010-03-26 16:05:26
Great job as usual NFIT.

Is it possible to make the next version (if you make it) give more options for customizing materia?

i'd like to see a tab that let's you edit the values for what peice of materia holds what abilities.

If the current version can already do that, then i guess i'm just to dumb to figure out how.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kranmer on 2010-03-26 16:30:42
EDIT:- I have been looking at this some more and it looks like it may even be possible to embed the DLLs for "Microsoft Visual Basic Power Packs 3.0" so that the program can run without "Microsoft Visual Basic Power Packs 3.0" being installed.

I would really like that. WM is only using one class in it and only for that graph. I'm surprised that it takes another set of things to do lines in .NET. It was native in VB6. Oh well. If you know how to do that please share!

Well to embed the DLL you first need "ILMerge" (which is a free program from microsoft) then you can either find a GUI or use the command line to embed the DLL into the EXE,

Then basicly what you do is this,
1st - put "Microsoft.VisualBasic.PowerPacks.dll" into the same folder as WallMarket (this DLL should be in a sub folder in your WINDOWS folder and this is also the only DLL needed by WallMarket)
2nd - Run "ILMerge" and merge "WallMarket.exe" and "Microsoft.VisualBasic.PowerPacks.dll"
3rd - Now you should have a new EXE file just under 1MB, This EXE no longer needs "Microsoft VisualBasic PowerPacks" to be installed to work.

here is an example
http://www.mediafire.com/?yjjyizzwvjm
In the above example i have put 2 versions, one is uncompressed and done the exact way above,
The second is the uncompressed EXE packed with a zip compression EXE Packer.

Also ILMerge can also be used when compiling so that you dont have to do it this way
http://blog.tjitjing.com/index.php/2009/03/merge-multiple-exe-and-dll-into-one-single-file-in-net.html

EDIT- also if you just want to you can always just put "Microsoft.VisualBasic.PowerPacks.dll" into the same folder as WallMarket and this also makes it so you no longer need to install Microsoft VisualBasic PowerPacks (what i mean is you dont have to merge it into the EXE just being in the same folder is enough)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-03-26 20:08:33
Christ. All this tech talk makes my app look like a piece of crap, doesn't it?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: obesebear on 2010-03-27 01:26:34
Christ. All this tech talk makes my app look like a piece of crap, doesn't it?
Yes.  Yes it does.
But we're happy to have it anyways 8)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kuroda Masahiro on 2010-03-29 18:14:46
Not to sound ungrateful or anything, but is it at all possible to have a drop down list for the materia slot instead of having to click until you find the one you want?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-03-29 18:37:42
How would that be more convenient, though?
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Prince Lex on 2010-03-29 19:03:25
It would save time having to click, wait, click, wait, click, wait, click *crap!! I clicked one too many times, I'll have to click another four to get back to the one I want, sigh* click, wait...

I don't mind though, that's just happened to me a few times.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-29 19:32:31
Not to sound ungrateful or anything, but is it at all possible to have a drop down list for the materia slot instead of having to click until you find the one you want?

Hmm. I suppose it's possible. It wouldn't be a traditional drop-down, but I bet I can make it work. I'll add that to the list of "see if I can get to work". :)
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Kuroda Masahiro on 2010-03-29 20:00:51
How would that be more convenient, though?

Well, for a mod where I'm forcing 'classes' for the player to have, it would save a lot of time, as for the enforced class to work, EVERY weapon and armour needs to have 8 linked materia, and it took me about a hour just to do the armour and Cloud's/Tifa's weapons. >_<

Not to mention if you do one click too many, you'd have to do about 7-8 clicks just to get it back the way it was.

So, i was hoping for that as it could save a lot of time in that regard.

And thanks for taking it into consideration, NFITC1. ^_^
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Bosola on 2010-03-29 21:32:09
I didn't realize you were talking about changing the slots in equipment. Yes, this would be significantly better. A simpler option, though, might be to keep the current form, and add a right-click shell menu to change to a specific slot type. This would be easier for NFITC1, too.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: NFITC1 on 2010-03-29 21:44:13
Oh, I've got an idea in mind. Give me time to develop it and see if it's feasible.
Title: Wall Market, FFVII KERNEL.BIN editor
Post by: Terence Fergusson on 2010-03-30 07:04:23
Since I've got a bit of time and was poking around stuff, I thought I might as well clear this up.

Code: [Select]
Char Level H MHP L MHP

Cloud: 7 334 323
Cloud: 12 474 441
Cloud: 22 955 892
Cloud: 32 1753 1658
Cloud: 42 2806 2639
Cloud: 52 4069 3826
Cloud: 62 5435 5123
Cloud: 82 7834 7381
Cloud: 99 9554 9007
Code: [Select]
BaseDifference = 40 * CurveBase + (level - 1) * CurveGradient  [CurveBase is between -128 - 127 inclusive]
Difference = (1 .. 8) + (100 * BaseDifference / CurrentMHP) - 100   [capped between 0 and 11; L MHP uses 1 and H MHP uses 8]
NewMHP = CurrentMHP + Floor(RandomBonus(Difference) * CurveGradient)

Your problems are twofold.  First, you were rounding (100 * BaseDifference / CurrentMHP) to the nearest number, not rounding down/truncating.  As such, it's really no wonder your ranges are much higher than they should be.  If you rounded down, you'd get the theoretical base range of 8965-9508 for Cloud at L99.

But that's still not the fulll range of 8960-9511, of course.  Why is that?  Simple:
Quote from: Party Mechanics Guide
But, you should know that achieving max HP requires that you must take lower than max gains at some levels....

At L11, Cloud's HP range is