Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - nfitc1

Pages: 1 [2] 3
26
General Discussion / Misleading Title FTW
« on: 2012-02-22 00:51:38 »
I think everyone knows that the conformer doesn't take a penalty for morph, but I've never seen anywhere where it's acknowledged that Missing Score doesn't either. All the ultimate weapons with these two exceptions use a calculation that is a function of the attack's power which is, by default, 16. Morph forces it to 2, but both conformer and missing score override that value with their own function of power.

27
I stumbled upon this after being curious about the Commands themselves. Specifically why Conformer is exempt from the reduction in damage that Morph suffers. Commands actually have specific damage calculations assigned to them as default values. They've also got what looks like two different values of properties.

Code: [Select]
Command   animation      default damage calc   prop2 (flags)
Left      0              0                     0
Attack    14h            11h                   0
Magic     1Dh            0                     0
Summon    1Fh            0                     0
Item      21h            37h                   0
Steal     22h            0                     6h
Sense     26h            0                     412h
Coin      21h            Ah                    0
Throw     21h            9h                    0
Morph     28h            B1h                   2000h
D.blow    2Ah            11h                   0
Manip.    2Ch            90h                   0
Mime      0              0                     0
E.Skill   1Eh            0                     0
All:      0              0                     0
4x:       0              0                     0
          0              0                     0
Mug       24h            11h                   4
Change    0              11h                   2
Defend    0              0                     0
Limit     0              0                     0
W-Magic   1Dh            0                     0
W-Sum.    1Fh            0                     0
W-Item    21h            0                     0
Slash-All 15h            11h                   0
2x-Cut    16h            11h                   1000h
Flash     1Ch            11h                   2h
4x-Cut    18h            11h                   1000h
...
0x23      2Eh            0                     0

I don't know what command 23 is, but I think I've seen it in a few AI scripts.

Prop1 would seem to be Cursor Action. That's defined in the KERNEL.BIN so I don't know why that's repeated here. Maybe it's more of the hard-coded function to take. I can't find what happens to it. It gets mapped to ActorData[0x20] and gets checked a few times and shuffled around. The first byte is animation index. It defines what animation the actor should perform. 1F is the summon effect, 1D is magic, etc.

Damage Calc is what it says. If there's no data regarding damage calculation I would assume it would use this. Coin's and Throw's Damage Calculation are here as well as Manip's accuracy checking function. Morph's is apparently B1 so it doesn't allow critical hits.

Prop2 are shared by a few other values too. The actual size is a DWord, but commands only affect the lower word.
1 - Hit connected
2 - Perform animation, but don't display damage (if any)?
4 - Attempt to steal
1000h - multiple hits?
2000h - Morph Attack
4000h - Activate Barrier
8000h - Activate MBarrier
1000000h - Used by Carry Armor's Arms when returning a target from escaped.
Lots of others that I don't know

28
Has anyone ever tried removing the materia from Sephiroth in the KERNEL.BIN? His AI script forces him to use certain attacks in given situations, but if he doesn't have the materia to do it, will he still do it?

29
I've had FFT:WotL for a while, but only recently decided to start my first game. I don't know much about it or the battle system. Can any one offer tips/clue me into missable things/tell me the best farming locations and classes/etc?

30
Case in point:

======================================================

31
FF8 TAS in 8:08:32.98

pay particular attention to the comment:

Enemy Idling
Many, many enemies randomly have a 'do nothing' result when their ATB is full. This includes Ifrit, Diablos, Ultimecia round 2, NORG's discs, and more. Obviously, when fighting these, I make sure that the RNG roll comes up 'do nothing' when their turn comes. Some enemies do not have 'do nothing' commands, unfortunately. However, over the course of 4 discs, you will only see me attacked twice,not including desperation attacks (i.e. attacks when the enemy dies). See if you can find both of them!

One of them is in the first Biggs/Wedge battle at the top of the communications tower. I don't have the patience to find the other right now. :) I've only watched a little bit of the first disc's video and it's amazing how fast "Z" flies through it.

32
Completely Unrelated / Buster Sword's lame
« on: 2011-02-08 15:11:33 »
Just sayin....


33
I've used the search on this and no one seems to answer this specifically. It has been helpful, though. I've managed to load all the data correctly at least.

If you've read my blog (about WM and PrC; in my profile, check it out) or even if you haven't, I've been trying to load an enemy animation frame based on the data in **da files. I can load the models just fine, display them just fine, but I can't get them in the right place. I've been trying all day to figure out what to do with the rotations now that I have them. How do I actually center each model with the next? I can load the center of the animation and the rotations of them too. I just can't figure out how to get rotations to equal joint points. I was thinking of taking the rotation of the unit vector, multiplying that by the length of the parent, then adding the parent's center to the result of that. It didn't work (either that or I'm not rotating it correctly, but I think I am). I'm apparently missing something here.

35
General Discussion / Something I just learned
« on: 2010-06-01 18:40:38 »
This might be neat as a continuous "I just learned that..." topic, but it doesn't have to. ;)

Anyway. I was sifting through PrC weeding out some lingering bugs when I discovered an enemy I had never heard of before. It's the Flower Prong. It appears to be in the Gongaga Forests and possibly as a Battle Arena though I don't think it's in a referenced chain. You can apparently Side attack it and it's supposed to change forms as it gets weaker.
It contains data for an attack called Energy Siphon that is supposed to drain 7/8 of a target's HP/MP and give it to Flower Prong. Has anyone ever fought this enemy before? I've never heard of it before today.

36
How difficult would it be to add a menu item to the in-game menu? The text probably isn't hard, but what about linking it to a function.

For now I'm thinking about the PC version.

37
Scripting and Reverse Engineering / Battle Arena Mechanics
« on: 2010-03-23 17:02:36 »
While I was looking for the location to adjust the stat cap limitation, I stumbled across what I believe to be the Battle Arena slot effects. I've identified most of them, but some of their effects still elude me. These are the slot effects I've discovered so far:

BreakAllMateria
RemoveAccessory
HalfSpeed (really half dex)
BreakMateria2
BreakMateria4
BreakMateria8
Timex30Damage (see second reply)
Down5Levels
Down10Levels
HalveMaxHP
HalveMaxMP
HalveMaxHPMP
EmptyMP
BreakMateria10
BreakMateria20

The break materia is part of a group of materia that just doesn't get allowed in battle. I'm not sure if it removes them or not. I'm not sure what materia fits into which category either. It looks like the game chooses from an array of 24 values as follows:

00 00 00 00 0E 01 00 00 0E 02 0E 0E 06 05 04 03 0A 09 08 07 0D 0E 0C 0B

From this list it determines which slot to bring up. Another one of those pseudo-random things. It doesn't even chose BreakMateria20 if the value is 0E. At least, not directly. 0E points to a loop that has BreakMateria20 in it.

Now if you look carefully, this leaves out eight slots:

Poison
Toad
Mini
Seal Items
Lucky 7
Weapon broken
Armor broken
RestoreHP

Needless to say I'm quite confused. Can someone tell me where these slots are handled?

I looked at the text in the arena and these are the results of the slots:

00 "Magic Materia is broken"
01 "Summon Materia is broken"
02 "Support Materia is broken"
03 "Independant Materia is broken"
04 "Command Materia is broken"
05 "All Materia is broken"
06 "Accessory is broken"
07 "Item command is sealed"
08 "Armor is broken"
09 "Weapon is broken"
0A "1/2 Speed"
0B "1/2 accuracy"
0C "Minimum"
0D "Poison"
0E "Toad"
0F "Time X30 Damage"
10 "Down 5 levels"
11 "Down 10 levels"
12 "1/2 HP"
13 "1/2 MP"
14 "1/2 HP&MP"
15 "Zero MP"
16 "Yesss!  No handicapp! [sic]"
17 "HP restored"

Look at 0B! I don't remember seeing that in the arena before.

38
You know you've thought about it, but somepeople are taking it a little too extreme.

Apparently this "Love Plus" game is controversial enough even in Japan (see embedded link in article). How does this whole thing even work?! Does that guy expect to get sex out of it?

There's plenty wrong with this.

1. You KNOW the designers of the game are likely panicking now. It's not many logical steps between this and claiming they're a prostitution ring now.

2. So....does this mean that if I play this game and choose to "court" that girl that she's cheating on him? Would I be committing adultery?

3. What happens when his DS or the game card breaks? Could he sue Nintendo for a new one saying that they're coming between him and his.....wife? Can you even call "her" that?

39
I'm doin' research for my new game+ option I mentioned months ago. I need to know what a "fresh" save looks like, but the closest thing I get is the first one inside Reactor 8. Where does the game get the save data from?

40
Scripting and Reverse Engineering / [FF7] camdat files
« on: 2009-10-14 19:10:26 »
After performing a search for these files I've found that they've been largely ignored for about five years. I'd like to see if I can discover their purpose. I have a few notes I'd like to share, but I don't want to spout them all out if someone has actual info that contradicts mine.

Does anyone have any info regarding the structure of these files?

41
What do the different files in battle.lgp do? I know that AC - AL are textures and AM-CZ are ploys, but what do AA, AB, and DA do? One is definitely the animation, but I'm not sure which.

42
General Discussion / Bring it on?
« on: 2009-08-21 16:12:20 »
As motivation for me to finish the latest PrC and WM update, I'd like to know how many people would be interested in making enemies and seeing me battle them on Youtube. They're really close to being ready, but I have two or three things to do before that. I want to know if anyone would be willing to submit their enemy hacks to me to provide audio commentary on. I'd be doing them blind and I promise not to look at their stats before the battles. It might offer a more objective opinion of your enemies.
I lost interest in the Kirby SS battle arena vids I was making and my Speed Run of Super Metroid remake is getting close to being complete (about 70% done I think). I need a new challenge.
So make some fierce enemies, or lots of timid enemies. How 'bout it? Any takers?

43
I'm trying to create an LGP data viewer (making good progress), but I'm finding quite a few file types I haven't identified. The extensions are ".S", ".A", ".lmd", ".geo", ".D", ".E".

I don't know what these do. I think the .S are skeleton files, but I don't know the format. There are a few one-timers, like "tmd" or something like that, that I don't know of either.

Also, how are texture coordinates used in polygon groups? I don't quite understand.

44
I've managed to make a program similar to kimera that can at least open the .P files contained in an LGP archive without separating the LGP archive into separate files. I've tinkered with this for several hours and I'm finally happy with most of it. The only problem is that some of the meshes don't display correctly. I can get most of them working, like Cloud's, Barret's, Tifa's heads, but some of them, notably Hojo's head and Cloud's Ultima Weapon, have triangles going in wrong directions.

What I'm doing is indexing the vertexes then using those to generate the polygons with the colors as well. I'm ignoring normals, edges, and groups for now as I'm not sure what to do what them. I'm pretty sure the problem is with groups, but I don't know what to do with them. I'm also going to want to know what to do with textures, but one thing at a time.

45
Proud Clod is now online and prepared for battle. All new updates to Proud Clod will come here.

ProudClod 1.5.0 is FINAL!!
Mediafire mirror (out of date): Mediafire binary
Source: Mediafire source

Updated some stuff based on some bug reports with the previous version:

Fixed the problem with the item drop/steal thing not working due to lack of handling of "NOTHING" slot.

Now you can import item names from your KERNEL.BIN/kernel2.bin for display in the steal/item drop/morph boxes.
Added the status effect bits to the "element modifiers" section. I'm not sure if they are all valid values, but it might be interesting to see if you could "full heal" from sadness or something. Someone try these out!

Scene Data Management:
Animations/Formations: That oddly-placed button was moved to a menu item here. functions mostly the same as before.
Dump Scene(s): This is the way to obsolete SceneReader. This can dump an individual scene for byte-wise manipulation.
Load Scene(s): Of course, Dump Scene(s) would be worthless without this function too. This will load a scene or 256 scenes in their raw format for manipulation/recompilation later.

Enemy Management:
Edit Enemy AI: [See Animations/Formations above]
Edit Enemy Stats: ProudClod now has the ability to modify enemy stats thereby making Hojo completely obsoleted.
Could be a bit buggy though. I didn't test it completely. Some things might not save correctly. Let me know if it doesn't. Model ID has been moved from the Animations/Formations window to this one.
Copy/Paste enemy: You can copy a single enemy to place in a different scene in a new place. Paste won't show up if you have an enemy copied, and you can paste multiple times. It SHOULD copy needed attacks as well. I don't remember if I got this working completely correctly either.
Sync enemy: This will search all the scenes looking for any enemy that shares a Model ID with the enemy you select. Once it finds it, it will re-write THAT enemy to be like the one in the scene you currently have selected. Handy for changing enemies in different scenes.

Requires:
Microsoft .NET Framework 3.5 or higher
DirectX 9.0c (or higher?)

*new* Blog.

Optional:
Included .dat file (ProudClod.dat). 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 ProudClod.exe, then PrC 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 of the AI.

Images: (Modeled after WM and I'm too lazy to make new pics so this will do for now)
Main: (Identical in structure to the contents of WM's attack tab, but with a few differences)
Character AI: http://img34.imageshack.us/img34/1860/charaibetter.png
Enemy Animation: http://img3.imageshack.us/img3/9191/anims.png
Raw Formation Data: http://img200.imageshack.us/img200/2137/formation.png

Features:
This program started out as an Enemy Attack editor. You could change the names of certain enemy attacks as well as their effects, strength, MP cost, element, status infliction, etc. It can still do that, but it has been since upgraded to allow you to edit the enemies' AI themselves! It is mostly modeled after my previous program WallMarket which allows you to edit almost every byte of the KERNEL.BIN file that contains battle information relevant to the playable characters.
Several Searches have been added
  • Search for Monster by name has been around for a while
  • Search for Attack by Index
  • Search for Attack by name
  • Search for Unused Attack Indexes if you want to add a new attack
Several attack-related functions have been added
  • Copy/Paste/Delete an attack between scenes or as a base for a new attack!
  • Synchronize all attacks with a specific Attack ID within the entire collection of scenes (useful for things like E.Skills or if you have the same monster in multiple scenes)
  • Statuses and Elements can be filled or cleared if you right click in the blank spaces between them.
AI Editing-related changes:
  • Copy/Paste scripts (whole or partial) from one to another (still mostly experimental, but I think it'll work)
  • Displaying strings is now easier that before. Just type the characters rather than translating to ff7 character codes (don't forget to add a hex value at the beginning if you're using code A0
  • Edit window is now sizable! You can see more script if you want.
  • Strings now can be edited and saved correctly *new*
Animation-related changes:
  • Format has changed. Only one monster at a time is displayed. Should speed loading of the form up.
  • "Action camera override" are editable beside attack animation
  • Enemy ID are editable
  • Manipulate attacks are selectable
  • Issues with renamed attacks *should* be resolved.
You can also edit the raw formation data in each scene! Much of it is already known, but there's a little bit left (escape flags).
Formation Data changes:
  • Graphical Interface allows you to change anything about formation positions.
  • won't load models or backgrounds yet. Not sure if I'll make it do that.
Data dumping:
For now, you can dump six things. I'll add more if someone requests it.
  • Setup Data
  • Camera Data
  • Formation Data
  • Enemy Names with IDs
  • Attack Animations per enemy per scene
  • Raw attack data per scene
  • List of attack names by index. They really are unique!
Change saving!
  • Changes made to scenes (anywhere) are savable to a file that can be opened by another user in their scene using PrC!
  • This includes changes made by Hojo!
Helpfile documentaion!
Be sure to check out the addendum to opcode 93h.

I'm probably leaving out a few things and I'm sure bugs will surface, but it should be more friendly now.

Controls
Q: ...the heck? Controls?! What do I need controls for?

A: Since you asked so nicely *grumble,grumble* I'll tell ya'. The new formation editor needs some explaining.
First of all, it will look like it will in the game. Well, minus the models and backgrounds. It will have cubes to represent these now. There's silver ones for the enemies' and gold ones for the characters' positions. On top of this, there's a gray "ground" that represents the battle floor. There are also axis lines along all the major axises.
Green = positive x
yellow = negative x
red = positive y
magenta = negative y (for some reason, these are reverse when it comes to coordinates)
blue = positive z
cyan = negative z
Get it? Positive = RGB; Negative = CYMK
To rotate the camera around the viewing center, click and hold down the left mouse button on the field and move it.
To rotate the center around the camera, hold shift while performing the same action.
To pan around, hold down control and the left mouse button and move the mouse.
To gain altitude, hold down Shift+Ctrl+Left mouse button and move up or down.
To save the camera position, right-click on the position label which is on top of the FFVII battle menu and tell it to save.
That's all for the movement of the camera, now we can also move the enemys.
To select an enemy, click on it's position label. When it turns blue you can hold down the right mouse button to move it around the gray field. Right-click on its label to align, center, or save its position.
That should be everything.
Keep in mind, however, that the drawing order is not true. The gold cubes will always overlay the silver ones even if the silver is closer to the camera. I'm not sure how to fix this. I'm working on it.
Also of note is that each cube is two "units" in size and there is currently no way to know that one is overlaying another. Most units are larger than 8 cubic units anyway. A Battery Cap, can "sit" on one square unit and be surrounded by others and not contact another one, but it's probably the only one that can and it's REALLY close to the others when it is. Moral: Leave some space between them.

Now it is able to edit what attacks an enemy can perform! There are two options. One will be which attack it can perform, and the second will be its animation while performing that action. Only a few actions per character are used, but play around with them. Typically, 0-2 are idle, damage, and death and from 3 on are attack animations.
Now you can find the enemy you're looking for even easier! The search button to the right of the scenes will allow you to look for the name of a monster. It is case insensitive and you just have to give it part of the name! If only one scene contains that enemy it will jump to it. Otherwise, it will give you a list of scenes it is in.

Notes:
  • 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.
  • Also keep in mind that I intend to continue updating this with relevant information so this is not the final version.
    zlib1.dll needs to be in the same directory as PrC or in the WINDOWS\system32 directory. If you get an error during scene.bin creation saying it can't find zlib1.dll, put it in the same directory as PrC.
  • Currently does not come with a readme of any kind. Use WM's readme for opcode description until I make a PrC one.
  • To delete scripts, highlight the script section ("Pre-Battle", "Main", etc) and press the Delete key on the keyboard.
  • This thing is probably pretty buggy, but I didn't do a very exhaustive test of what it can and can't modify. If something doesn't work, let me know.
  • For questions about animations indexes, read this thread first.

46
I have a newer 3000 series PSP (silver) with the 5.03 firmware and I want to be like all the other cool people and play my PSX ROMs on my PSP (specifically a translated ToP). Only trouble is I can't figure out how to get them on there. Most of the sites that I've seen that have instructions either don't make a lot of sense or have what seems to be different steps than another website. Can anyone either tell me what to do or show me the website with correct directions?

47
As per Tsetra's request, I've just made a listing of all the used attack animations (byte 0x0D of attack data) and put it here: http://www.mediafire.com/?yoynjegujn1
(Yes, I know Silence is listed twice after number 13, ignore that. There's also more than one of "Escape", "Sewer Tsunami", etc. as well; That's why there are multiple listings)

It occurs to me now, about six-and-a-half months after writing this that it needs re-writing. It was enough explanation for the people that were helping me develop WM (and thereby understanding parts of the inner workings of the FFVII), but it's not enough for people who are coming in to the scene. So, because I've gotten 50 requests or more (actually, it's been more like 5, but I don't want it to GET to 50) I've decided to revisit this and re-explain how the animation index works.

If you're starting out using WallMarket/Proud Clod and want to change animations of attacks you'll quickly realize that some of the values don't make sense. Different attacks can have the same animation index and still look very different. The reason is simple. There are more than 256 animations for attacks even though the animation value itself is only one byte. Therefore, it is offset based on the attack index. Specific ranges of attack indexes will add a fixed amount to the animation index supplied in the attack information. This value can then exceed 256 will then select that specific animation (all animations are found in magic.lgp in the PC version and I think there are just about 300 or so). This value I will call "absolute animation index" and the value supplied by the attack information will be called "relative animation index".

So then the question becomes: "What do I need to change the relative animation index to to get a specific absolute animation index?"
Since WM and PrC display this information in Hexadecimal, I'll do the math in that mode. Most calculators can do calculations in hexadecimal including the calc.exe that comes with all Windows versions. Switch it to Scientific mode and you can switch between Decimal and Hexadecimal at any time.
First, I need to explain what ranges of attack index add what value to the relative animation index. Here's the list:

Bosola has provided information to indicate that these values might not be correct for certain PSX versions

Code: [Select]
Index range        increase (PC)   increase (PSX)   description
000-037              0              0                Player-accessible Magics
038-047, 060-061     [not sure]     4E               Summons
048-05F              36             36               E.Skills
062-0FF              EC             [not sure]       Limit Breaks
100~FFF              4E             60               Enemy-exclusive Attacks
(replace 'FFF' with whatever the upper limit for attack indexes is)

In short, to get the absolute animation index from an attack's supplied relative animation index:
  • For Player-accessible magics, do not increase
  • For Summon attacks, increase by [currently unknown amount]
  • For E.Skill attacks, increase by 36h
  • For Limit Breaks, increase by ECh
  • For Enemy-exclusive attacks, increase by 4Eh

Since this value is stored as a byte, there are limits to what certain attacks can look like. For instance, Player-accessible magics can't look like any of Yuffie's Limit Breaks because those absolute indexes cannot be achieved without increasing the relative indexes.

Let's look at an example:

The easiest thing would be to look at relative animation index 00h. The attacks Light Shell, Frog Song, Pyramid, Reanimagic, Cure, Capsule, and Right Arm Revive use this. They don't all look alike, but some of them do. Their attack indexes are:

Cure: 000
Frog Song: 048
Light Shell: 26A
Pyramid: 15D, 15E, 15F (these are three separate attacks for reasons I won't go into, but they all look the same)
Reanimagic: 18E
Capsule: 38B, 38C (same as Pyramid)
Right Arm Revive: 38F

Now we have to add the fixed values to find what animation index to use. Since the relative index of all these is 0, we add the fixed increase to 0 (remember, these values are in Hexadecimal).

Cure: 0 + 0 = 0
Frog Song: 0 + 36 = 36
Light Shell: 0 + 4E = 4E
etc.

If we want Cure to look like Light Shell we need to change it's relative animation index to produce the absolute index 4E. Since this is a Player-accessible magic, that means making the relative animation index 4E.
For Frog Song, we'll need to do a little algebra:
rel + inc = abs
x + 36 = 4E
x = 4E - 36
x = 18
so changing Frog Song's relative animation index to 18h will make it look like Light Shell.

IMPORTANT NOTE: animation indexes can not go "backwards". ie, Light Shell cannot look like Cure because Cure's absolute animation index is less than the increase Light Shell's index gives. Light Shell's absolute animation index limits are 04E-14D inclusive.
I also don't believe it's possible to get an enemy attack to look like a summon. Better just give them the summon attack instead.

Interesting note: Increasing an enemy attack's relative animation index past ED (beyond the Limit Breaks' animations) makes them look like they're throwing Cloud's weapons. :D

Warning: Changing the Limit's animation indexes is dangerous. Most of them contain animations the "caster" is supposed to perform. I'm not sure which one's would be safe to change so I can't say.

48
Archive / FFVIIPC MDef bug fix
« on: 2009-01-18 17:31:28 »
After being inspired by Gemini's PSX fix, I have created a fix for the 1.02 version of FFVIIPC.

http://www.mediafire.com/?omijzegnczt - patch
http://img49.imageshack.us/img49/5681/ff7sprfixaz3.png - screenshot

This is a YAMP patch so that is required.
Credit goes to Gemini for inspiration, dziugo for making this into a YAMP patch, and me for writing the code.

I got dziugo's name wrong in the first upload. Sorry 'bout that, I thought I checked it. It's a pet-peeve for me too so I understand. :) The one up now is correct.

49
Troubleshooting / I'm gonna make a New Game+ anyway
« on: 2009-01-15 04:42:31 »
It just occurs to me that this might work. I'm envisioning an application that takes an already existing save game and resets all the progression variables to NULL. That way, when the game tries to load the game it'll think it's a new game, but all the equipment will still exist. If I understand the sequence properly, when "New Game" is selected the game just dumps the contents of the fourth KERNEL.BIN piece into a more-or-less blank memory slate and begins the game.
Could this work? Has anyone tried it and I'm just out of the loop?


EDIT: I have come to the conclusion (see below) that this would probably not work properly as an external app. As a patch it would require significant recoding. Something I'm terrible at. Sorry. Pretend you never saw this. :(

50
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.

WallMarket 1.4.5 is here!!
Mediafire Mirror

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 or higher
Microsoft Visual Basic Power Packs 3.0 or higher (for WallMarket)

Blog.

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 first. It will likely answer most of them.

PS - In case anyone is having problems with the new version, sorry. The old versions are dead. :(


I've gotten a request or two for this. It's a basic LZS Compressor/Decompressor 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.

Pages: 1 [2] 3