Qhimm.com Forums

Final Fantasy Forums => Tools => FF7 Tools => Topic started by: NFITC1 on 2009-05-28 13:51:08

Title: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2009-05-28 13:51:08
Proud Clod is now online and prepared for battle. All new updates to Proud Clod will come here.

ProudClod 1.5.0 is FINAL!! (http://sourceforge.net/projects/proudclod)
Mediafire mirror (out of date): Mediafire binary (http://www.mediafire.com/download/zen5z90ab96y6pb/ProudClodFinal.zip)
Source: Mediafire source (http://www.mediafire.com/download/90u94vebasno7nz/ProudClodSrc.7z)

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 (http://msdn.microsoft.com/en-us/netframework/aa569263.aspx) or higher
DirectX 9.0c (or higher?)

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

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 (http://img110.imageshack.us/img110/4/attacktabof6.png), 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 (http://forums.qhimm.com/index.php?topic=7928.0) 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
Several attack-related functions have been added
AI Editing-related changes:
Animation-related changes:
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:
Data dumping:
For now, you can dump six things. I'll add more if someone requests it.
Change saving!
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:
Title: Official Proud Clod 1.0-1.4 Topic
Post by: secondadvent on 2009-05-28 14:10:04
I think I was a big part of the proud clod related clutter :evil:. sorry i posted again in it, but i must have started posting when you put your post...

at least some of my ideas are catching peoples' eye... now if i keep it up i will be able to eventually have a nice hack to play :-P

edit: damn... changing it's invisible flag didn't work, neither did it's dead unit flag (unsure of which of the two if either are activated when killed... know little of the death sequence), so i have to retype it into the post-attack thing.

edit2: nope... forgot that death happens before all but the death counter >_> have to try some other things to prevent invisibility
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-05-28 14:37:20
Nice work.

By the way, what does Proud Clod means? I never get to understand it properly, especially in regard to that big robot in FF7. Does it mean the same thing that I understand from it the way I do from other phrases like Suspicious Cat or Glorious Half-lit Shadow?
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-05-28 14:38:36
Quote from: secondadvent
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.

I wouldn't mind seeing the code for "counter by causing status ailments" and "counter when a certain amount of damage is done"  :wink:

Actually, it could be a good idea to gather together "templates" for things people might want to do with AI editors, so that people can copy the code and only worry about which attacks/status changes/etc to use.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-28 14:44:52
alright, i will have them up shortly, just another test i want to do first :-P

here is the damage absorption code (note in my original i used 12/02 for the variables which dealt with hp, and that is probably a bad thing :evil:... i'm glad i caught that little mistake)
Code: [Select]
pre-battle:
13  0000 // 0000 <- self hp/max hp
02  2060
03  4160/4180 (either works)
80
90
13  0020
60  00
90
12  0040
60  00
90

sets up the needed variables - 0000 is "previous hp" or the hp that the enemy had before the last attack, 0020 is "current hp" to make later parts smaller (less times needed to figure out the current hp), and 0040 is "damage taken"

general counter:
13  0020 // current hp <- self hp
02  2060
03  4160
80
90
03  0020 // if current hp < previous hp
03  0000
45
70  XXXX (end of script jump)
13  0040 // damage taken <- previous hp minus current hp
03  0000
03  0020
31
90
13  0020 // current hp <- damage taken/2 + current hp (gives back half of the damage taken)
03  0040
60  02
33
03  0020
30
90
12  2060 // self hp <- current hp
13  4160
80
03  0020
90
13  0000 // previous hp <- current hp
03  0020
90
73

this code makes the enemy absorb 50% damage taken, and unlike resisting half of the attack, this WILL kill the enemy if you do more damage normally with one attack (i.e if the enemy had 10 hp left, you deal 10, it dies, while if it had 50% resist,
it would be alive with 5), and you can still add resistance onto this. of course there are different things you can do with this as well, this is just an example.

hopefully i didn't forget anything in the transition form PrC to here... also the amount healed isn't shown, so it gives the illusion that the enemy has more life than it actually has, while reducing damage has a visual representation... a sneaky way to make something seem stronger than it actually is, and makes knowing the actual life (without sense available, or actually looking at the hex, or with an editor) hard to know for sure. in essence it makes the enemy live longer if you aren't hitting it very hard (compared to max hp) by restoring more hp over time, especially with healing abilities as an aid, and live much lesser (still more than max hp if it can survive some hits) if you are dealing more damage.

now the physical status ailment counter is pretty simple:
Code: [Select]
physical counter:
81 // if random (xx) = 0 (actually if random (xx) is not true, but same thing >_>)
60  XX (whatever random chance you want)
34
52
70  XXXX (jumps to the end if not true)
12  40d0 // previous attacker poison <- true
10  4003
80
60  01
90
73

pretty simplistic, but it does give the attacker poison (or whatever other status), but i did notice that with poison, the visual glowing green effect doesn't show up until you are attacked, but the poison still hurts you, so it is just a minor bug
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-28 15:15:04
I was thinking that you could have a blank enemy casting something like Angel Whisper on the dead ally in it's post-attack script. That would require adding another enemy in a hex editor, however.

Also, you could have the dead/dying enemy cast a life-giving attack to itself. If you just unset its death status, I don't know if the targeting info (Active allies/enemies) will be correct after that.

As far as copy/paste goes. I don't know how best to do that without screwing a lot of stuff up. I'll play with the idea, but don't count on it happening soon.

Nice work.

By the way, what does Proud Clod means? I never get to understand it properly, especially in regard to that big robot in FF7. Does it mean the same thing that I understand from it the way I do from other phrases like Suspicious Cat or Glorious Half-lit Shadow?

Proud Clod doesn't mean anything. There's just this tradition (at least in the FF modding community that meets here) to name tools after objects/locale after something in the game it modifies. I just chose Proud Clod because it WAS Heidegger and got upgraded to something more powerful. Seemed to make sense.


I wouldn't mind seeing the code for "counter by causing status ailments" and "counter when a certain amount of damage is done"  :wink:

"Counter by causing status ailments": (a theory)
in the General-Counter script:
Code: [Select]
12  0000
02  2060
02  40D0   PreviousGeneralAttacker
80
90
12  0000
10  40XX (where XX is between 00-1F depending on the status you want to inflict)
80
60  01
90
73

"counter when a certain amount of damage is done" is in WM's readme file:
Code: [Select]
0x000   02 2060
0x003   03 4160
0x006   80
0x007   61 012C    (this is if HP is below 300)
0x00A   45
0x00B   70 001F
0x00E   12 2070
0x011   02 2060
0x014   02 40D0
0x017   80
0x018   90
0x019   60 20
0x01B   61 YYYY  the attack index
0x01E   92
0x01F   73

Actually, it could be a good idea to gather together "templates" for things people might want to do with AI editors, so that people can copy the code and only worry about which attacks/status changes/etc to use.

I'd like to create either a branch of these forums dedicated to AI scripting, or create my own forum. But as I don't have the ability to do the first or the knowledge on the second, it'll probably be confined here.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-28 15:21:08
thing is, i can do that for the first mp's, since there is a free slot, but for other scenes i'd not be able to, especially since they cannot cast life without adding animations capable of using spells, and i do not know how to do that directly. now i could try to make an idle animation attack called life, and see if that works, if the idle animation can be used for an attack. otherwise i'd have to make it rez itself with it's tonfa or gun, which is really weird... idle animation would be the best though, but i am unsure if it works as i said... no harm in not trying though.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-28 15:29:02
[....] otherwise i'd have to make it rez itself with it's tonfa or gun, which is really weird... idle animation would be the best though, but i am unsure if it works as i said... no harm in not trying though.

Yeah, you'll have to settle for weird animations. A non-moving spell casting animation would be best. I don't see anything wrong with it, but the camera will make it look a bit strange.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-28 15:39:30
heh... i didn't even see them in the readme, but then again i have only been looking at it occasionally for a little bit of help. i came up with these on my own based off of normal programming capabilities (i think of something in, say C++ form, and then just translate it to hex as best as possible), as well as some random ideas that just happened to pop up at the time (heat of the moment discoveries :evil:).

all of this hacking is nice experience though... especially since i am going to devry for game programming... only my first year though :-P.

ok, i did make an MP kill itself with a fire spell using it's hurt animation (the idle one didn't work, and i think this way is funny), with no numbers showing damage, which is good, because it can cast life then and auto rez itself without showing more than it being hurt... still kinda weird, but i can't complain i guess.

edit: the casting of life on itself did not bring it back... it still died, and wasn't even alive but invisible this time... the closest i can apparently get right now is alive but invisible, though attackable. any other ideas on how to make them not use the death animation?

heh... i reverted back to the self death <- 0 counter, and was fooling around with the resizing (4098) script, and noticed that when my 12 foot tall MP's were killed and "invisi-rezzed" their size reverted back to normal (could tell by the location of the bullet fire and dust caused by their feet during tonfa attack). i am really starting to wonder what could turn off the death anim. at least for the first time (i am unsure if an enemy is brought back to life if it'd keep the variable's contents or start out fresh, because if it retained them, then that could be a very good thing... an enemy brings back a friend and the friend's ai changes into pissed-off mode), since so much is likely still unknown. i will have to take a look at hojo's sample monster later, sicne it uses reanimagic on it's allies... i could easily test to see if their variables are retained and possibly find the meaning of the main specimen's variables, since they could be useful things. but that will have to wait since i am pretty tired :-P.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-28 16:52:40
edit: the casting of life on itself did not bring it back... it still died, and wasn't even alive but invisible this time... the closest i can apparently get right now is alive but invisible, though attackable. any other ideas on how to make them not use the death animation?

Not a clue, as it doesn't officially "die" until its death animation is complete. It appears that it is not dead, or even flagged as such, until AFTER its death counter script activates (based on the observation that it is still targetable while performing this counter). Except that the firing of this script implies that whatever the outcome, this character will die. This isn't the way it works for Playable characters, however, as we all know that Final-Attack/Phoenix-Revive works to raise the character again. The Death Counter script doesn't appear to work this way, unfortunately.
This makes me wish there was a Re-Raise option.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-28 18:02:57
actually, it has to be flagged as dead since i can use self death <- 00 to make it alive, along with the help of self hp <- max hp to heal it, though the death animation plays afterward. using life did not do this for whatever reason, and i know i plugged it in right, since i copy/pasted the life data over the working fire data, and just switched the pointers and name (including within the script... woulda froze if i didn't) in the enemy data. the death animation is the only thing screwing me over.... if i could stop it, or figure out how to make the enemy appear again, things would be nice. an enemy unable to rez itself in angry mode would require a whole new formation, and that can be bad if the scene is already full, and would waste space adding the same enemy to a new scene just for one fight.

and if i remember correctly for final attack (been a while since i used it) the character actually dies right after using it, allowing for them to be able to be brought back to life, while in the enemy's case, the enemy is gone once dead, because other enemies cannot target them unless stored in their ai prior to their deaths (i think). the disappearing act is the only real problem, maybe whatever sephy (safer) uses for his disintegrating could be somehow used to stop the regular death animation? just a guess, and there has to be a way to keep the character there once dead, or he'd have a normal death animation. bosses also have a special (slightly altered) death sequence, how is that caused? whatever is able to do this should be able to stop disappearing after death (and hopefully be a flag so it can be turned back on after rezzing).

safer's ai is a big mess of stuff though, and i have little idea on what is happening during his post battle sequence... but the answer may lie there (what is the opcode 20 anyway? and what is with the FF opcode? there is a 9b in there too :-P)

a quick question, guard scorpion makes its mdef 384 when it's tail raises up, does it actually make it that high or does the mdef overflow instead? i know that the actual stat cannot go over 255 in the enemy's data in the scene, but if you could make stats go over their max in the ai, that would be pretty fun :-P. just want to know for later when i reach his ai.

edit: ok i just tested him myself (made him appear after the mp fight :-P) and i did ~85 damage normally, and ~35 when he boosted his mdef (counter stance), so it does apparantly break the normal limits. this is good to know :evil:.

edit2: ok i think i am going to lay off of a lot of the editing i am doing now (learning how to do specific things for difficulty changing) and just redo every enemy's ai to be as compressed as i can make it while still doing the same (or as close as possible) thing, so that more room is available, and the scene file becomes smaller (allowing for more room to play with and still be able to insert it into a psx iso at some point, because i like having save states... they make testing SO much easier). once this is done i will continue to edit enemy stats for a more balanced hard difficulty (instead of having enemies just shoot up in power, i will raise levels, speed and such, as a sort of alpha version until i get animation editing to add much more to the game... of course i may still add some moves to enemies that can use them without freezing or animating wrong), which shouldn't take as long unless i add more script from there (likely).

so phase one of my mod is ai compression, phase two much harder difficulty in a balanced nature, phase three massive ai overhaul. doesn't sound too bad, and if anybody wants to test out the reduced ai size scene file, i will gladly up it somewhere and put the link here (or email it to those who want to try it/use it for further modding), since it should definitely be a big help to psx version hackers. it will be based off of a clean scene.bin, so enemies should have no other changes aside from simplified ai, so it should act just like a normal scene.bin ai wise (will probably fix ai errors, such as with the cactuars, and adamantaimai's cure bug, but it would need a change in the hex, no sweat there). the ai will NOT be 100% alike with the normal one, but I will make enemies do essentially the same thing, removing unnecessary parts and allowing bugged things to work, and i will be testing every enemy until they work as desired, so this will take time but should pay off in the end.

of course when i finish each stage of my mod, i will send it out for beta testing for suggestions and such, to hopefully make things better, but i know that there are other mods already out, so i wouldn't be surprised if nobody wants to test mine :evil:. hopefully i can still get help when i need it with ai stuff here, as well as future PrC releases (yes, if you can play with copy/pasting, that would be great! if you can't make it happen without screwing things up, that is fine, but i don't really see why it would cause problems... all it would have to do is emulate someone actually typing in the info.).

i noticed that safer sephy's post battle script has two 73 opcodes and multiple FF as well... is his script screwed up in PrC or is it actually like that? oh and don't worry, i will move all of my mod related stuff to another thread as soon as i make some progress so i don't hog up yours :-P. i will be here a good bit though when i have suggestions/questions, and that will probably be pretty frequently until i begin to understand more about the ai.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 05:43:13
last post was getting pretty big >_>.

ok, is it safe to assume that formations 0000-001f, 03b8-03bf, and 03dc-3e7 are able to be removed, as well as all enemies associated with them, for more room/lesser overall scene.bin size? this is based off of the battle formations found at http://viper.shadowflareindustries.com/index.php?doc=ff7enemieshtml, which seem to be correct. with that much able to be removed, the size of the scene should greatly decrease and allow for much more formations/enemies to be created. not that it is hard to overwrite them... just replace their scene files with an empty one like scene 5 :-P.

edit: copied scene 5 over the following scene files:
1-8, 239-240, 248-250

new scene.bin size - 256 kb

the scenes erased should not have been used anywhere in the game (possibly others, but these seemed to stand out the most, based on the locations and enemy formations), and already shrinkage has been gotten. my future compressed version should definitely be worth the wait/effort then, at least to me :-P

ok, new idea for PrC... make it able to open files that aren't named scene.bin, for people who use multiple scene copies while hacking (like me), so that moving/renaming isn't needed >_>. and if you can implement the copy/paste feature, allow it to be used across PrC instances (for when more than one are running for comparison), maybe by saving to a temp file used by all PrC instances or something similar. that way when taking something from one enemy in one instance, it can be copied to another enemy in the other instance (like copying the MP's ai to other MP enemies, or using the same template for a different enemy)... kind of a time saver so you don't have to move between a ton of different scene files to paste something in.

... typing MP's ai in four times, and guard hound's five times is SO much fun :-P
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-05-29 10:47:21
I was thinking that you could have a blank enemy casting something like Angel Whisper on the dead ally in it's post-attack script. That would require adding another enemy in a hex editor, however.

Also, you could have the dead/dying enemy cast a life-giving attack to itself. If you just unset its death status, I don't know if the targeting info (Active allies/enemies) will be correct after that.
So, are dead enemies not deleted from combat scene's memory buffer upon death? Interesting! Because I was thinking about something like Capsule which Hojo executes in combat, although this one involves expanding the buffer and if removing from buffer is impossible then adding to it likely to be out of question.
Nice work.

By the way, what does Proud Clod means? I never get to understand it properly, especially in regard to that big robot in FF7. Does it mean the same thing that I understand from it the way I do from other phrases like Suspicious Cat or Glorious Half-lit Shadow?
Proud Clod doesn't mean anything. There's just this tradition (at least in the FF modding community that meets here) to name tools after objects/locale after something in the game it modifies. I just chose Proud Clod because it WAS Heidegger and got upgraded to something more powerful. Seemed to make sense.
Yes, I know about the tradition. I was asking about "Proud Clod" in the game.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 11:16:33
i'm guessing that proud clod is called that because it is a revered (maybe) piece of shinra technology (shinra technology at it's finest :-P) that they are proud to have. or it is a very proud armor... but unless the armor has a mind of it's own, i don't agree with that, because otherwise heidegger would have to be the proud one >_>. kinda like someone naming palmer "the smart one" :evil:. or it is another bad translation...
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-05-29 11:43:01
But how do you perceive reverence or quality from "clod"?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 12:37:36
clod is (im guessing) like a big metallic thing, like an iron giant, or really big robot. it could be a misinterpretation of clad, which is what i am thinking, since there are iron clad enemies in some games, and they are all big metal enemies (like iron giants). so i am guessing proud clod means -> proud (prideful... shinra takes pride in their greatest pieces of technology) clod (iron giant/big robotic thing)... put them together and you get an iron giant/big robot that shinra takes pride in. i am just completely guessing at clod though... could be anything, but is likely what i think it is.

on another note, has anybody experienced their config file for ffvii suddenly disappear/not work before (the one for control settings)? mine just randomly stopped working when i ran ffvii, and i ended up hard rebooting, finding out when i tried after turning it back on that the numpad worked (i ctrl+q'd and got stuck there >_>). i did have hojo, two proud clods, and scene reader running, and had my computer on for a few days, so maybe that had something to do with it :evil:. otherwise one of them (or all when working together for long periods of time) cause problems when running ffvii... of course it has to be a very long time otherwise i'd have seen it earlier (what, with at least 100 times going in and out of the game testing things these past two days). but it is still likely just ffvii crapping out under the stress :-P.

also... i cheated in the redone mono drive ai (still under construction) and made it have two script ends, one at the normal end, and one after the warning/enemy sighted message, so that a whole other variable can be tossed, as well as a check for it's value and changing that value, and in it's place just one byte placed :-P. it works though, since i tested it by having it cast fire outside of the message loop, which would happen the turn after showing the message. it showed one message, then on the 2nd turn cast fire (and every turn after that as well), so i know this works. a sneaky way to reduce variable usage, and should be helpful to me many times.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-05-29 13:20:26
a quick question, guard scorpion makes its mdef 384 when it's tail raises up, does it actually make it that high or does the mdef overflow instead? i know that the actual stat cannot go over 255 in the enemy's data in the scene, but if you could make stats go over their max in the ai, that would be pretty fun :-P. just want to know for later when i reach his ai.

edit: ok i just tested him myself (made him appear after the mp fight :-P) and i did ~85 damage normally, and ~35 when he boosted his mdef (counter stance), so it does apparantly break the normal limits. this is good to know :evil:.
Enemy AI editing, Dragon Force spell and Hero Drinks are only way, that I know, to raise stats over 255 during  battle.
Damage formula would allow stats as high as 512 for def and mdef until attacks started doing negative damage.
[Dam]=Dam*(512 - Def/MDef)/512

There are multiple enemies that I know to boost their stats over 255 through AI editing, either permanent stats over 255 or under certain circumstances.

255 in defensive stats + either Hero Drinks or Dragon Force is an easy way to break the game -> 0,4% Dam taken.

I've thought that for balancing I should either remove Def/Mdf Mod abilities from player and for example replace them with Att/Mat mod effects or make strongest attacks piercing which on the other hand has a problem of making Def/Mdf stats useless.

I'm not sure if it's even possiblle to make Att/Mat Mod effect since if I recall correctly there's only (Att Mod, MAt Mod, Def Mod, MDf Mod) effect and (Def Mod, MDf Mod) effect.

In the end the endgame is quite hard to balance if not impossible. Thing that I personally do not like.
510 def stats
3*Dam ultimate weapons, physical 27k Dam without critical hits which occurs 64% of the time

so phase one of my mod is ai compression, phase two much harder difficulty in a balanced nature, phase three massive ai overhaul. doesn't sound too bad, and if anybody wants to test out the reduced ai size scene file, i will gladly up it somewhere and put the link here (or email it to those who want to try it/use it for further modding), since it should definitely be a big help to psx version hackers. it will be based off of a clean scene.bin, so enemies should have no other changes aside from simplified ai, so it should act just like a normal scene.bin ai wise (will probably fix ai errors, such as with the cactuars, and adamantaimai's cure bug, but it would need a change in the hex, no sweat there). the ai will NOT be 100% alike with the normal one, but I will make enemies do essentially the same thing, removing unnecessary parts and allowing bugged things to work, and i will be testing every enemy until they work as desired, so this will take time but should pay off in the end.

of course when i finish each stage of my mod, i will send it out for beta testing for suggestions and such, to hopefully make things better, but i know that there are other mods already out, so i wouldn't be surprised if nobody wants to test mine :evil:. hopefully i can still get help when i need it with ai stuff here, as well as future PrC releases (yes, if you can play with copy/pasting, that would be great! if you can't make it happen without screwing things up, that is fine, but i don't really see why it would cause problems... all it would have to do is emulate someone actually typing in the info.).
I can help you if you happen to need any.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 13:39:40
So, are dead enemies not deleted from combat scene's memory buffer upon death? Interesting! Because I was thinking about something like Capsule which Hojo executes in combat, although this one involves expanding the buffer and if removing from buffer is impossible then adding to it likely to be out of question

Nope. Nothing gets removed from memory until all the enemies are flagged as "dead". This signals the Battle Engine to end the battle and perform memory clean ups. Case in point, Angel Whisper can resurrect fallen enemies if you target them before they die. Hojo's Capsule just reveals the sample enemies that are already there but invisible and un-targetable. Want to make an evil mod? Make an invisible untargetable enemy that can attack. Seems likely, but I haven't tried it.

Yes, I know about the tradition. I was asking about "Proud Clod" in the game.

It was actually Plaid Claude in the Japanese game, but no one liked that name. ;)


PrC is about to get a new upgrade; Hopefully today. I'm going to give it the ability to (really) add attacks to an enemy. I was only focused on the AI and didn't realize that each enemy has a list of attacks to perform and animations to perform during said attacks. Only problem is, it's a doozey (real word btw....maybe) of a window to make. It has 32 drop downs for each enemy in the scene. 16 for attacks it can perform and 16 for animations it performs during those attacks. So yes, that's 96 drop downs and 48 of them are all going to be populated when the form loads with the attack names. That's going to take a while, but I have ways of making it take less time. ...better get to it.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 14:30:27
or you could just make one enemy selected from a group at a time (like tabs in hojo), to make the window smaller overall. that shouldn't be as bad then.

i just finished the mono drive ai, and it hit 190, bigger than i thought it'd be when shrunk >_>. it and guard hound are acting perfectly though, and for guard hound and mono combined, that is only 300 bytes, when GH had that (close) originally, and mono had over :evil:. i can tell this will take time, but it will be worth it.

Quote
I can help you if you happen to need any.

for now i think i will go solo on the programming, but if you'd like to test my scene.bin as i go along (i am testing as well, but usually only for a few minutes when the ai is complete, though i test as much as i can think of to test), that'd be fine, or any ai help i end up needing, which shouldn't be too much until i finish "compression". i will probably not cover too much ground very fast, but i will be focusing everything on this project before moving onto anything else (i hope), and i have plenty of time to do this. i do have college, but that is easy, especially since i am online :-P. i don't check every different scene with enemies i edit, only a battle in the first one i complete, so it is possible that problems could arise in other versions of the enemy's ai since it is all retyped into each new scene. that is where i need the most testing, but if i had to check each and every battle, i wouldn't be going too far now would i? :evil:. also, if you were able to give any ideas as to how i could compress my code even further by looking at my current version, that'd help as well ^^.

i know it isn't an easy task to fix (not asking you to), and will likely not happen anyway, but the indentation for multiple ifs' is really inaccurate, especially with my ai :evil:. even if it were pretty accurate, i'd still be going through my code manually to check for problems, since everything has to be perfect, so it isn't even that bad. i have not had one made by me that showed the perform outside of an if, even though none have been in one :-P.

i wonder if i can even shrink the 1st ray's ai any? it is kinda puny to begin with  :lol:
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 14:42:00
or you could just make one enemy selected from a group at a time (like tabs in hojo), to make the window smaller overall. that shouldn't be as bad then.


Nah. This'll do (http://img5.imageshack.us/img5/2056/allowed.png).
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 14:46:58
very nice... i guess it didn't take up that much room after all :-P.

heh... i cheated and copy/pasted the ai of mono drive (since it was pretty big) from scene 78 onto scene 79+80 with translhextion, since the enemies are in the same order in all three, except 1st ray isn't in the 80th, so i just filled it's part with FF, as well as it's pointer :-P. i also copy/pasted the string from the mono ai, since PrC allows for you to copy what is already in a box... just no selecting of large parts of the script to copy. laziness ftw!
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 15:26:01
very nice... i guess it didn't take up that much room after all :-P.

And It works too. I just tested it on the Midgar Zolom and got him to do that attack that I gave him that it wouldn't do before. Pretty nice if I do say so myself. :) Just got to get that attack right now...

Just learned that battle address 402E is not invisible, but unhit-able. I set this on Midgar Zolom thinking that he might become invisible, but instead I couldn't hit him with anything after that. Even Ultimate End which has a hit rate of 255 and ignore defense! Dangerous....
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 16:22:44
hmm... then it is possible that the invisible thing is elsewhere then? *runs to check ghost's AI*

maybe using attack 014f (appear used by ghosts) and 014e (vanish) will set whatever is needed as an outside of the AI script, at least until we know what the opcode, if any, allows for invisibility (though i think everything appears for ai to use, everything just wasn't used). could you try against MZ to see if it becomes invisible with the vanish attack? i will try if you don't once i finish up this enemy's ai (had to do school stuff :-P).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 16:27:30
hmm... then it is possible that the invisible thing is elsewhere then? *runs to check ghost's AI*

Maybe, but it's more likely that the "vanishing" effect exists in the character's animation. In Ghost's case, it looks like animation 5 makes it disappear and animation 6 makes it reappear. The setting of 402E in its script only makes attacks miss if the ghost was targeted before it disappeared.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 16:31:24
yeah... the moves could be just a way for the game to call to the animation rather than what the move does (possibly nothing), and would require an animation for invisibility. still, i bet that there is something we can use somewhere to set the flag on/off, we just don't know what yet  :oops:. maybe 2f since it comes right after the can't hit flag?

if there is an invisible flag, my bet is that it is one of the ones from 4020-402f, since that seems to be where most of the special battle status things are located (like immunities and such). 20-22 are probably the special battle formations (ambush, side attack, pincer attack, or whatever vii calls them :-P), 2a could be a phys/mag immunity flag, though sephy would probably have used it instead of the two known ones (never know though based on how the ai scripting is), 2c could be long range, which would be very nice, and the 2f being invisible. just guesses, but they do seem to fit in with the surrounding things :evil:

i will test these out and point out what i notice, if anything, after finishing up this current script.

i think 402c is custom death animation (outside the normal boss/enemy death animations, which are generic), even chocobos use them... air buster (glitchy electrical animation), warning board (dont remember :-P), etc. may be just a part of it, but it is definitely related in some way (probably :-P). if it is, then the phys/mag immunity is out the window, and i replace my idea on it with long range (moved over from the possible death animation one :evil:)
Title: Official Proud Clod 1.0 Topic
Post by: Seifer Almasy on 2009-05-29 16:53:41
hmm Proud Clad sounds more like what it should have been, I will ask :)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 16:58:59
I also just discovered that if you mime the usage of an item then it doesn't deplete the quantity of the item you just mimed. So you can Stardust Ruby to death if you'd like :D

I thought the answer would be in Hojo's script when he reveals the sample enemies. But alas, nothing. So it's not 4020-4023.


4020|Flag:Unknown(00000001)
4021|Flag:SideAttack
4022|Flag:Unknown(00000004)
4023|Flag:Enabled?
4024|Flag:MainScriptActive
4025|Flag:Defending?
4026|Flag:BackRow
4027|Flag:?Row
4028|Flag:PhysicalImmune
4029|Flag:MagicalImmune
402A|Flag:StatusImmune?
402B|Flag:Unreachable
402C|Flag:Unknown(00001000)
402D|Flag:DeadUnit
402E|Flag:Intangible
403F|Flag:Unknown(00008000)

These are all just bit values too.

Can anyone get the Thunderbird around Wutai to counterattack with lightning? I want to know what 2120 is.

Code: [Select]
If (Battle(2120) AND 2)
{
   TargetMask <- AllOpponent Mask
   Perform ("Lightning", EnemyAttack)
}

So if bit 00000010 is active at 2120, it'll perform Lightning. But what does that bit mean? Zemzelett also has it.

Code: [Select]
If (Battle(2120) AND 3)
{
   TargetMask <- Self
   Perform ("", EnemyAttack)
   <Do flying stuff>
}

It's important somehow.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 17:39:55
i made a simple little pre-battle script to print out the current values for 4020-4022, and the guard hound (since it is the only back attack in the first area) printed out 4020/4022 as 1, and 4021 as 0 in a normal fight (possibly 4021 is any special formation, not just side attacks). will see what is printed on the back attack battle as soon as i encounter it.

edit: bah... when i found it the text didn't show up since back attack took priority to show, so i would need to transfer it all to the main script, or counter script >_>. im not too worried about them right now though, but using output lines is a good way to narrow down what possible things the variables can be.

!!! 4020 is invisibility

i made the first two MP's invisible my setting their 4020 to 00

4022 makes them invisible as well, but their location on the field gets screwed up (they move to the center from what i saw) while 4020 does not, they stay in the same place, and it looks EXACTLY like when my dead MP's came back to life

edit: damn... setting the value to 01 after rezzing the enemy did not fix the invisibility issue, and apparently a variable to check to see if they have been revived already (for my auto life) isnt needed, because being killed a second time (while invisible) without the check enabled, it died for good. i even tried to enable both 4020 and 4022, but no success. it must be some other problem then.

though i can make an enemy disappear with 4020, i cannot make them reappear. maybe it isn't a bit value? whatever the case, changing from invisible to visible is linked to 4020 from what i can tell.

edit: 402c is what makes the enemy stay after killing them, for use with special animations for death i assume. maybe combined with 402c i can make the mp's not disappear with the death script

and sure enough, i set it to 01, and they did not disappear after the first death (or the second actually, but that is easily fixable... but probably no death animation would happen), and i am now going to see if the 402c variable will restore the invisible status (just checking, could be dual function :evil:)

Quote
Can anyone get the Thunderbird around Wutai to counterattack with lightning? I want to know what 2120 is.

Code:

If (Battle(2120) AND 2)
{
   TargetMask <- AllOpponent Mask
   Perform ("Lightning", EnemyAttack)
}


So if bit 00000010 is active at 2120, it'll perform Lightning. But what does that bit mean? Zemzelett also has it.

Code:

If (Battle(2120) AND 3)
{
   TargetMask <- Self
   Perform ("", EnemyAttack)
   <Do flying stuff>
}


It's important somehow.

it could be an attack counter, for how many times it was attacked with whatever, since i know i have seen the zem do the flying crap
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 18:58:30
It is a bit value, but you'll need to unset then set 4020, 4023, and 4022 (usually in that order) so they'll "come back".

Man, this new search feature that I added is awesome. XD
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 19:15:29
i will try that. i did manage to make my MP's die the first time without a death animation, and then die the second time with the animation by turning on/off the 402c variable. trying to see what i can do to make the death animation play multiple times. for the turning off of the 402c variable, it will likely have to be as a post attack/general counter, if they can still activate after the death counter, that is.

yeah... i was going to ask about that, but it seems you are way ahead of me >:D

meh... i still can't get them to turn visible again... but at least i know how to get around the invisibility so that they at least can come back to life once.

Quote
It is a bit value, but you'll need to unset then set 4020, 4023, and 4022 (usually in that order) so they'll "come back".

is it turn them each off then on (i.e. 4020 off/on, 4023 off/on, 4022 off/on), unset them all then set them all, or something else, because them staying invisible is annoying, and having invisibility as an ai script instead of an animation could be useful.

also, if you were to have a status effect (good or bad) and then be given immunity to the status/statuses that remove it, would you be able to get rid of the status if it wasn't temporary? i know giving yourself fury/sadness and equipping a ribbon, then trying to use the opposite status giving item in battle, it doesn't remove it, because you are immune to the "toggling" of the stat on or off. if there is a space in the ai for elemental resistances (giving temporary elemental resistances in certain situations) as well as status resistances, things would be very interesting. an enemy could give you a piercing status ailment (ignores immunity) and lock you with the immunity to the status on, keeping you unable to heal it (like giving death sentence), and if having an immunity to healing element meant no resurrection/healing (since you can revive with death immunity), they could essentially lock you from helping your ally who is bound to die. kind of a delayed quicksand attack that ruby uses, but much more evil (especially if final attack+phoenix can't rez you >:D). but i don't know if there are such ai possibilities, and am not sure if rezzing can be prevented through the health immunity (i am pretty sure it is, like with the bone mail of ffv).

is it possible to have a battle lead to another (battle chain) without needing to hex edit, as in calling a new fight from the ai? because that would be a great help (or having PrC have it added in >:D), since it would make testing easier (without having to extract and rebuild the scene.bin file to change battle formation data).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 20:39:17
is it turn them each off then on (i.e. 4020 off/on, 4023 off/on, 4022 off/on), unset them all then set them all

That's what I'm suggesting, but no promises on the result.

also, if you were to have a status effect (good or bad) and then be given immunity to the status/statuses that remove it, would you be able to get rid of the status if it wasn't temporary? i know giving yourself fury/sadness and equipping a ribbon, then trying to use the opposite status giving item in battle, it doesn't remove it, because you are immune to the "toggling" of the stat on or off.

You mean like that bug in FFVI? I don't think there's a way of knowing except forcing a character to have a status they are supposed to be immune to and trying to cure them of it. Since all the statuses go away after battle (and nothing prevents Fury/Sadness) there's really no way to know.

if there is a space in the ai for elemental resistances (giving temporary elemental resistances in certain situations) as well as status resistances, things would be very interesting. an enemy could give you a piercing status ailment (ignores immunity) and lock you with the immunity to the status on, keeping you unable to heal it (like giving death sentence), and if having an immunity to healing element meant no resurrection/healing (since you can revive with death immunity), they could essentially lock you from helping your ally who is bound to die. kind of a delayed quicksand attack that ruby uses, but much more evil (especially if final attack+phoenix can't rez you >:D). but i don't know if there are such ai possibilities, and am not sure if rezzing can be prevented through the health immunity (i am pretty sure it is, like with the bone mail of ffv).

I don't know if it's actually stored in the data that the AI has access to. It's been possible in previous FFs to change a character's elemental resistance in battle, but I don't know about this one. Let us know if you find it.

is it possible to have a battle lead to another (battle chain) without needing to hex edit, as in calling a new fight from the ai? because that would be a great help (or having PrC have it added in >:D), since it would make testing easier (without having to extract and rebuild the scene.bin file to change battle formation data).

Planning on adding that ability to PrC.....eventually. Right now I'm focusing on individual units, possibly expanding to formation placement. then focusing on the formation itself.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 20:49:57
Quote
also, if you were to have a status effect (good or bad) and then be given immunity to the status/statuses that remove it, would you be able to get rid of the status if it wasn't temporary? i know giving yourself fury/sadness and equipping a ribbon, then trying to use the opposite status giving item in battle, it doesn't remove it, because you are immune to the "toggling" of the stat on or off.

You mean like that bug in FFVI? I don't think there's a way of knowing except forcing a character to have a status they are supposed to be immune to and trying to cure them of it. Since all the statuses go away after battle (and nothing prevents Fury/Sadness) there's really no way to know.

actually ribbon prevents sadness/fury, so yes i can know. i did give myself fury outside of battle, equipped the ribbon, went into a battle and used a tranquilizer, and my limit gauge was still red from fury.

update: yes, if you are immune or absorb (guessing on it since it is healing as damage then) the healing element, phoenix downs will not work to revive you. so, if it is possible to call status/elemental resistances from the ai, things can be made pretty cruel.

for the 2120 thing, it is also used in the sample:ho512 fight, where it's 2120 becomes = to it's children when one dies, so maybe it has something to do with that? i could fight a x4 thunderbird fight and set their main to output their current 2120 (from 0-2, which should be high enough hopefully) and try things out to see what raises it.

edit: i think that it is a magic counter, i used ice on one, it did a normal attack, and right after it attacked, i used ice again and it countered with it's lightning attack when it obviously wasn't it's turn (meaning it was turly a counter attack). i tried the same thing with physical attacks and nothing happened (have 255 speed, and set my attack low, and hit three times before it went with no counter). 2110 could be the physical counterpart of this, and maybe 2130 a universal one? just speculation at least, but i know that 2120 is definitely raised when being hit with magic (that they do not absorb), and if i remember correctly from past playthroughs, zem did usually fly up after i used magic on it.

2120 is definitely a magic counter, but there doesn't seem to be a physical one, at least in either 2130 or 2110. possibly elsewhere though
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-29 21:46:30
Two pages already and I only started the topic yesterday. :)

I updated the first post with the version I've been playing with all day. Have fun with it. It should resolve a few bugs that the previous version had.
I'll be gone next week so let me know before then if there's something wrong with it or I won't be able to fix it soon.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-29 22:14:49
unless 41c0/41a0 have some special value to ho512, then it is useless for it to have the 2120 of it's minions as it's own. 2120 is a magic counter (how many times you got hit with magic, which seems to only like to be anded to 02 or higher), so unless the other two are dependent on a counter, such as a random or some status change, i can see no reason to have it in it's script. one unknown when solved leads to other unknowns <_<.

any other unknowns you want me to try to figure out?

ok, a bug that has been bugging me is where the ai editing will not open up, requiring a restart of PrC. occasionally, the ai button will just stop working, and no matter which scene file within the scene.bin is looked at, the button remains dead, until the scene.bin/another scene.bin is opened up. correction... until a new PrC is opened up >_>. seems to be when i run ffvii that it acts up, since i leave it open... must be a sharing problem then, or a coincidence :-P. also, the character ai tab on the task bar doesn't appear anymore... i don't know if it is just my computer or if you meant for it (or bug), but it was much easier to keep track of when the tab was on the task bar (may actually be the cause of the "bug" i am getting... the editor is up, PrC is calling it, but since it isn't visible, it is as if it isn't appearing though it is actually here). if you meant for this... i have to say that i preferred it the other way, especially since i cannot set it to "always on top" either <_<

i tried 402A to see if it was status immunity, but it was not... i was able to poison an mp with the bio spell with it active. whatever sephy uses it for, it isn't for status immunity :-P.being immune to magic should prevent most of the statuses anyway, only if they are on a weapon/phys attack would be able to get past magic immunity, but he has both, so total immunity anyway.

4025 is definitely defending check, so you shouldn't need the ? anymore >:D

no more time to check stuff for today... i will continue checking tomorrow, if i can get any sleep with these damned cats  :x
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-30 00:17:24
ok, a bug that has been bugging me is where the ai editing will not open up, requiring a restart of PrC. occasionally, the ai button will just stop working, and no matter which scene file within the scene.bin is looked at, the button remains dead, until the scene.bin/another scene.bin is opened up. correction... until a new PrC is opened up >_>. seems to be when i run ffvii that it acts up, since i leave it open... must be a sharing problem then, or a coincidence :-P. also, the character ai tab on the task bar doesn't appear anymore... i don't know if it is just my computer or if you meant for it (or bug), but it was much easier to keep track of when the tab was on the task bar (may actually be the cause of the "bug" i am getting... the editor is up, PrC is calling it, but since it isn't visible, it is as if it isn't appearing though it is actually here). if you meant for this... i have to say that i preferred it the other way, especially since i cannot set it to "always on top" either <_<

This isn't a bug. It's a weird thing with the window Z-Order that I can't figure out how to change. You can still Alt-Tab to the AI Window, but don't change the scene while it's still up or you will end up overwriting a scene's AI (and thus screwing up all those battle formations). I tried to fix it earlier, but I didn't get it right. In WM, when you lose focus of the raw data window it just goes away. Since the AI window is a little more sensitive I didn't want it to just disappear, but I couldn't get it to bring itself to the front. If anyone knows how to do this in VB.NET, let me know.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-30 07:50:26
could you just make it a part of the main PrC window, instead of making it a whole new window? i know it'd probably take a lot to change it like that, but it could also prevent the scene change bug, if you make the ai window the only part able to be changed until you close out of the ai editor part, or "cancel" out (since it'd be a part of the main, if you didn't want to save the changes to that ai edit, but wanted to keep changes elsewhere, and since the X button would close everything, a cancel button would be needed). you could make it like a new tab to the main window, but make it ask if you want to keep your changes when attempting to return to the scene section, and the close button wasn't pressed (save button?).

of course finding out how to do what you wanted would work as well, but you'd have to either make the main window unable to be clicked on, or make the scene unable to be changed while the ai window is up.

wow... there is a lot of errors in the main scripting of the game, like anding a number to zero when trying to get a non-zero value... 0 AND anything is 0. i even tested to see if the game somehow used something else for anding, made 0 AND 1, 1 AND 1, and 2 AND 2, and the results were false, true, true, meaning 0 and 1 is 0 (as is 0 and anything), so a lot of the scripting (hell, 90% of grunt's is broken) doesn't work as intended because they start the variables as 0 instead of as 1, which would make the ai work properly.

i am going to make the ai work as intended, using terence's enemy mech. guide as a base for what is intended, and fixing anything that should work one way but doesn't. i tested the grunts in battle, and when they were in the front row, and i was in the front, they did beamgun/handclaw at a 50/50 rate (expected if not everybody was in the front or back rows), and when everybody was in the back, they did a 50/50 rate as well, when it should have been at most a 1/8 chance for handclaw. if i were to change the variables in the ai to start as 1, not zero, then the entire script would likely work correctly (though once again the shoot element beamgun, like the mp's machine gun, is not a ranged weapon).

my rewritten version will work as intended originally, though like most other enemies, it isn't needed (just being done so that people will have a smaller scene as a base working as originally intended, especially for those psx modders who want the original ai in tact, (and since they have limited changing room normally) mine will be that, with bugfixes :-P).

ok... i know how to see if there is any enemy in the front or back row, but not to see if they are ALL in the front or back... to do so, would i have to make an if that checks for (allActiveOpponents.backRow=1 && NOT allActiveOpponents.backRow=0), so that it'd first see if there was any enemy in the back, then check to see if an enemy is in the front, and only continue if someone was in the back but not the front? i do not see any magic function to only return true if all are in the front (mono/guard only use the if any is in the front/back method). i know it will work, but it is kinda big to write, even using variables for the value. meh... it will still make it smaller than the current 850 byte script <_<.

edit: this does work to check for all in the front or back, so i guess i can't complain. i made a test to print 00 (front) if (someone in front && not in back), 01 (back) if (someone in back && not in front), and 02 if neither previous ones were true. the start, barret and cloud were front, and it printed 00, i moved one back and 02 printed, then moved the other back and 01 printed. the original test was only for checking if one was in the front row (seeing if it was true if all were in front), and it printed either 00 or 01, never 02. too bad i don't know of a quick and easy checking method <_<.

ok, the way that i am scripting the ai for the grunt (and will pass over to others if needed for even more space) is making the ai jump to the end when an attack is to be set (the attacks are set at the end), and then finalize there. so what i am doing is going through the regular if statements to find out the target and attack needed to be used, but instead of repeatedly setting a variable for the attack throughout the ai, i am just making it set one time, and the script jumping to the setting whenever it is ready to attack. everything else needs to be set before setting the attack itself, because otherwise it will perfrom the attack early without setting a specific target, but in the case of the grunt enemy, it is pretty easy and efficient to do it this way. but it is hard for the ai editor to show the C equivalent, and somewhat hard to follow (but nowhere near as hard to follow as the original grunt ai... that is a mess >_>).

i was wondering how you have it lay out the code, do you have it just draw brackets and indent based on where the jumps are located, and have it try to follow the jump to see how to put the brackets? if you were to have it draw a left bracket at the start of an if (when a 70 appears), and follow the pointer to the location given and place a right bracket there, and indent everything in between, that'd make the spacing better. do the same for 71, and for 72, actually have the disassembler follow the code and write it right after where the jump was located, so that things were to look more accurate. looping jumps could be a problem in this way, but put the normal LOOP visual after drawing the code once.

ok, this part will porbably be a little big, but should explain what i mean a little bit more (feel free to hurt me if i am just thinking it is easier to do than what it actually is):
Code: [Select]
this is from the beginning of my mono drive code:
0x000   00   0000
0x003   52
0x004   70   003b
0x007   81
0x008   60   02
0x00a   34
0x00b   70   0021
0x00e   93   (Enemy Sighted!)
0x01e   72   0034
0x021   93   (Warning! Warning!)
0x034   10   0000
0x037   60   01
0x039   90
0x03a   73
0x03b   02   2060
0x03e   02   4140
0x041   80
0x042   60   04
0x044   44
0x045   81
0x046   60   03
0x048   34
0x049   52
0x04a   50
0x04b   70   0084
...

if you follow the jumps, and use the way i said to place the brackets, it would appear like this:

if (Not (LocalVar:0000))
{ //places because of the 70
        if (Random MOD 2)
        {
                Display String: "Enemy Sighted!"
                LocalVar:0000 <- 1 // followed the 72 and placed the things within up until the SCRIPT END
                SCRIPT END
        } //places here because it is the end of the jump
        else
        {
                Display String: "Warning! Warning!"
                LocalVar:0000 <- 1
                SCRIPT END
        }
} // placed here because it is the end of the jump
if (((Self.MP > 4)  And Not  (Random MOD 3)))
{ // goes on, but rather big, so i just used this small part as an example.

now, the program's normal output for this code:

If (Not  (LocalVar:0000) )
{
If (Random MOD 2)
{
Display String: "Enemy Sighted!"

}
        Else
{
Display String: "Warning! Warning!"
}
LocalVar:0000 <- 1
SCRIPT END} // goes fine until here, and then the indentation craps out for whatever reason
If ( ( (Self.MP > 4)  And Not  (Random MOD 3) ) )
{

from what i have seen, it is mainly the indentation going wrong, which should be pretty easy to fix (again, hurting is
allowed :-P), the addition of the code from a jump on (as seen with the message then variable/end statement) would
just help things be easier to follow for mass jumping programs. the only problems i see with this jumping idea is possible
looping errors, where it keeps trying to make a loop repeatedly within the same loop (like writing infinite if's instead of a
 while), instead of writing once and printing loop at the spot it would return, as well as it taking a while to render the C
code from the hex, since it would take a good bit longer depending on the coder's format.

but if these were implemented, it would make following your own, and others' code much easier.

if someone just looked at the disassembled version of my grunt ai, it would appear to have multiple empty if statements (what happens when it is true, no the actual statement itself), when it is just jumping elsewhere in the script to save space.

oh, and where are the battle square battle formations located, because they are apparently not normal formations?
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-05-30 21:49:00
Quote from: secondadvent
oh, and where are the battle square battle formations located, because they are apparently not normal formations?

The formation IDs should be in the field file clsin2_1 (use meteor (http://www.alaunus.com/wp/?page_id=4) to open it). AFAIK there isn't anything unusual about them in the scene file (I might be wrong about this); it's the opcode in the field file that makes all the strange things happen. I say that I might be wrong because some things that we thought were the domain of the field file opcodes can be done with the scene file as well (such as making it possible/impossible to escape).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-05-31 00:03:10
Quote
wow... there is a lot of errors in the main scripting of the game, like anding a number to zero when trying to get a non-zero value... 0 AND anything is 0. i even tested to see if the game somehow used something else for anding, made 0 AND 1, 1 AND 1, and 2 AND 2, and the results were false, true, true, meaning 0 and 1 is 0 (as is 0 and anything), so a lot of the scripting (hell, 90% of grunt's is broken) doesn't work as intended because they start the variables as 0 instead of as 1, which would make the ai work properly.

These are compiler oddities. It has nothing to do with the way they wrote it, just the way the code was made into the assembler. I've noticed lots of stuff like that in various scripts that don't make lots of sense. So I guess what I'm saying is there's lots of room for improvement in the scripts if you know the tricks.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-05-31 01:35:59
well everybody up to guard scorpion (he would be done but i fell asleep :-P) is working perfectly, and since there isn't a copy/paste function yet, i just manually copy/paste everything with translhextion and repoint the ai pointers. what would be fun is if i could get the going from invisible/visible working, because then a vanish spell could be added, nulling physical hits (since the intangibility opcode makes both miss) and making magic activate the reappearing act (all through the characters' ai, and nulling is the closest to getting it like normal vanish that i can think of at the moment).

gave blind to smoke shot for the sweepers, since their ai is clearly based off of it inflicting it.

thanks for the battle square info (thought it would be there if nowhere else), it will help knowing that for when i get to my mod. and i kind of figured that the variables being wrong was due to the programmers, but it seems not. perhaps it was an earlier version of whatever they were using to write the code, and somebody new to the "language" of vii programmed in such an odd way that it crapped the program out >:D. i noticed 1st ray and sweeper being much different from the previous four, so maybe they were made with a newer version. sweeper had jumps in weird, unused places (72 jump after a previous 72 jump, with nothing pointing to it), which would be consistent with using a program that you could insert regular code with (extra jumps being end brackets). seems they took the easy way out >:D.

finally at guard scorpion, but was wondering what would be more appropriate, having it's def/mdef raise relative to it's current amounts (with error checking to see if it will cap it off at 512 (or is it 510/511?), requiring code to be added, or keeping it as is (bad for anybody attempting to change it's def/mdef in a mod, without editing ai) which sets it to exact amounts? i am probably going to go with a relative jump that will still make the def change to the same number as was there originally, but unless the main can have some reduction, then i am actually making the ai bigger >_>.

hmm... my scene.bin is based off of the psx version (i think... since all def values are half of what they are in the EM guide, and it is based off of the pc one, and i was using the psx scene as a base since at the time i couldnt get the pc one to work), so i don't know whether or not to use the base defense listed in the guide, or halve it and go from there since the enemies are already half def. i also don't know if the pc/psx ai is the same or not, though the only differences i can possibly see are bugfixes in ai, and the def doubling being to try to raise the difficulty (fail), so my version could seem crappily lain out because it is the first version of it (sans jpn one), and the pc one is different in some places. oh well, i will still keep this as the base, and if i feel like it, just double all the enemies' def, though this is technically being done for psx users anyway, so probably not. i'll just compare the def in the ai to the EM faq and change as needed (though my ai will match the pc versions').

apparently there is no need for any error checking, since it will never break 500 for either stat, so that's a relief. max def for those hacking only stats, not ai, will be 490 def, 489 mdef. if its defenses were that high, 800 hp would be painful to rip through.

ok, now i am confused... i looked at the scene from the install disk, and it has everybody's def being the same as the psx versions' so they would seem to be identical. however, when adding 106 to GS's mdef, bolt did ~30 damage instead of ~80-90 it would take with 256 mdef, like usually taken. now i figured that if the game automatically doubles everybody's defense as a pre-battle for everyone, and the psx version doesn't then things will be difficult >_>. to make the pc one correct, i have to subtract 44 mdef, and for the psx add 106 mdef. so if an enemy has 255 defense in the pc version, they will essentially nullify any damage done, and if any are to add defense, then things could be a problem. i am going to check with the scorpion to see what happens at over 512 defense/mdef.

ok, def at/over 512 just sets damage to one, and hitting a weakness does double, so max of 2 dmg a hit :-P.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-02 17:20:57
ok, to bump and add some feedback:

some little things i have noticed while using the ai editor is that when adding a new line to it with enter, there is sometimes issues with where the new line is placed.when trying to add code to the top of your ai code, the editor does not want to make a new line appear above the topmost line, and places it below instead, forcing you to rewrite the topline code on a new line, and then adding the new code over the original top line code, where you can then add the remaining lines easily. example:

Code: [Select]
topmost line example:
12   0000

pressing enter:
12   0000
//new line

way to add code above (73's always want to add lines above, so only issue may be when adding multiple ends):
12   0000
//new line

12   0000
12   0000 //rewrite the previous line in the new line

//new code
12   0000

//new code
//new line
12   0000

it doesn't like to add lines above the top line, and this seems to be the only way to work around it.

other times the program will allow the line to be added above, but not below, forcing yet another method of getting the new line to appear below the top line (making a new line above, then making the new line in between the top and the one below it)

also, when clicking onto a slot to look at it's contents and click away without pressing enter, it displays an error message, even though nothing is wrong. if done in a dialogue box (at least it happened to me with guard scorpion), it may mess up the contents somehow (i did not notice anything different, but the offsets all messed up). this is not a good thing, especially when you accidentally click away then press enter, since the popup box is set to quit by default, so just by clicking outside of a box without clicking enter, it erases all that you had done up to that point if you aren't careful.

i think i am going to step away from ffvii for a little bit, but i will continue soon, and hopefully learn more unknowns :-P. also, you wouldn't happen to know how to remove the pc versions' defense doubling (apparently a global pre-battle that happens before other pre-battle ai are called), since it is throwing the guard scorpion's ai out of whack (my modded version, since it is using relative defense boosting, the psx versions' is very simple, it will never reach over 490 for either defense, even at 255 initial defense and in the laser counter phase, but the pc version's INITIAL m.defense for the guard scorpion is 300 (150 x 2), and since the game sets it to 256 right away, no matter what you change it to, it will not change in game without ai editing (which is why i am implementing this into the ai). using the same ai for the pc as the psx, the guard scorpion will easily cap out m.def WITHOUT increasing from the initial 150, which is why i have a problem. i can work around this by making his defenses /2 at the start, and use the initial ai i have for him (using more room than it already should), but this would have to be added to any other enemy with defense modding in battle.

i know that last paragraph was really long and probably hard to understand, but if you know how to remove the pc versions' innate start of battle defense doubling (scene.bin files have same base defense between versions), that would be wonderful to know.

edit: it appears that the psx version has the def doubling for enemies as well? i tested the damage a lv 6 (start of game) cloud should do with the buster sword against a 50 def enemy (edited MP enemy) using the battle mechanics equations, and found that he should be doing around 37 damage to the MP. when i fought the edited MP, in both versions (using a fresh scene.bin for each, from each specific version, so a pc scene.bin from the install disk, and a fresh scene.bin from an unedited psx ffvii iso) he took ~32 damage from cloud, when he should take ~37. so i went back to the equation and typed in 100 def instead of 50, and sure enough the results were around what i had seen in the game. so, either the game gives an innate *2 defense (both defenses, in both games), or a 100 def mod for both defenses, because either one would result in this. if it is possible to turn this feature off (by removing it entirely, or replacing 82 with 81, or 100 def mod with 0 def mod), then i would be a happy hacker. if you know anything please tell me.

also, how do you turn on the materia menu at the start of the game?
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-05 07:03:27
It's about as user-friendly as an AI editor can be :-P

And if you want to use it with the PSX version, you need to use CDmage (http://cdmage.orconhosting.net.nz/frames.html) to extract the scene.bin file, edit it as usual, then use CDmage to put the file back into the ISO. As long as you don't make the scene.bin file any bigger, it should work.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 13:24:11
and i am in the process of making a scene.bin for the psx (or pc for those who want it) that massively shrinks the ai while doing what the ai was intended to do (as well as fixing bugs), so that psx users do not have to worry about this problem too much. though my style of ai editing is a little weird, so those wishing to add to the ai could have trouble, unless they start from scratch :-P.

however, those who only want to change basic stuff, such as stats and enemy moves (not so basic for the moves) should have no limits in the psx one, unlike they do now. gonna take a while, but will eventually get done :-P.

and yeah... unless you know how to program the ai, you aren't going to be able to with this editor... it takes some learning to do.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 14:53:28
If I edited all monsters, their stats and attacks in one scene.bin and for example secondadvent wrote better AI for them later, would it be possible to copy AI data from one scene.bin to the other without changing other options? I assume it isn't as simple as copy-pasting with hex-editor? If I recall correctly AI-data is all over the place in all scenes.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-05 15:10:27
AI data is in one place (more or less) (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes#Data_file_format). Conveniently, it's right at the end.

However, within the AI section the scripts for each enemy are not all the same size, and there are pointers at the start of the AI section pointing to the beginning of each of the enemies' scripts. If you copy/paste the AI from some enemies in a scene, but not all, you'll need to fix these pointers yourself (otherwise, the game won't know where to look for the second/third enemy's script).

If you copy the AI for all of the enemies in a scene, then you can copy/paste without any problems.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 15:33:53
Would copying all AI-data from other scene.bin require copy-pasting 256 times (once per every scene. off course excluding those scenes with only dummy/unused enemies) assuming all enemies were changed?
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-05 15:58:17
Erm...I think so  :oops:
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 16:14:44
it would require that, since there isn't an editor i know of that can directly copy the ai (even this one... i have to manually retype ai for each new enemy, or hex copy it in, and manually rechange the pointers there), so the best way would be to extract all 256 scene files (in my scene.bin there are currently 19 blank scenes, and some more i know i could delete some enemies from, but not the entire scene data), and hax edit the new ai values in from mine, which isn't too hard to do if you know where to copy from, and it'd be a direct paste, filling the extra stuff with FF (null) values, and since the scene.bin is 256 compressed scene files, more of the same value (in this case FF) causes it to shrink much better.

currently with the first reactor's enemies alone, up to and including the guard scorpion, i shrunk the ai 6816 bytes, removed 12 useless scenes (big save in size), and the current scene.bin size is 256 kb (reduces/increases by 8kb whenever it needs more room or has enough free space to shrink, it doesn't directly shrink as it is changed, i.e. a 1kb reduction to a 256kb scene would either become a 248kb scene (if shrunk enough overall), or stay at 256, but with a good bit more room for editing in that area).

guard scorpion actually grew, but this is because i made it more def change friendly, meaning it has the usual in-battle defense, but usually you could make both defenses 255, and it would still have the same def in-battle, since the ai set it to an exact number, not to a relative increase. a section was added to halve the defense (since both games apparently double enemy defense before even the pre-battle ai takes place (likely a core thing), and my ai now halves it, making the defense change more relative, and allowing it to be raised/lowered as desired in an enemy stat editor). once i know how to change the engine to not double the defense anymore i can shrink the size, and if i kept the original direct defense setting, i could actually have saved about 10% of the space that GS takes up (it's ai has a big portion of dialogue in it, wich is where much of the size comes from), however my goal is to make it as hacker friendly as possible, though it will still be good for normal users, just fixing ai bugs and such.

actually, shrinking the ai could improve performance in-game, since a smaller ai takes less time to be completed, causing less wait time between attacks, though most people will not really be able to see the difference. wait time, as in when a move causes the atb to stop isn't what i mean, i mean the time it takes to finish the ai script. smaller ai also means more room to add more to the ai itself, not just the stats, without making it go past the psx size limit :-P.

i think i will make my own thread when i completely finish with the reactor (going back over the ai to see if they can be modified more, and i know some definitely can be), and have some people test them out to see if there are any bugs, but there shouldn't be any in the original enemies i added... just the copied ones since i had to manually retype them, and didn't test them after that :-P. the first reactor enemies are also (most anyway) in the sector 7 train graveyard, and have different formations there, so testing there would be nice as well. if anybody wants to test it, since it wouldn't be a completed release, i will email the scene.bin to you if you want them, becuase i don't want a lot of people wanting them too fast, since it will be a long time until i complete this little project >:D.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 16:51:26
a section was added to halve the defense (since both games apparently double enemy defense before even the pre-battle ai takes place (likely a core thing), and my ai now halves it, making the defense change more relative, and allowing it to be raised/lowered as desired in an enemy stat editor). once i know how to change the engine to not double the defense anymore i can shrink the size, and if i kept the original direct defense setting

I don't have time to currently test it but does Def and MDf both get doubled by engine? Or only Df?

Either way why change this behavior? This way we easily achieve Def range of 0-510 without any need to tinker enemy AI. Wouldn't it take less space also especially for enemies that had Def stat >255 when you wouln't need any lines of code to boost it's Def stat. And it's also easier and faster to edit only enemy stats when you don't need to worry about their AI.

Now that I think of it all enemy stats should have a multiplier of 2. That way one could create easily enemies with absurd str or mag for example.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 17:50:07
both def and mdef are doubled by the engine, and yes it is true that enemies would need less room to have their def to go up to 510, since it is doubled initially. but, the thing is, enemies shouldn't need to almost null damage (255, the base max for the defenses halves all damage, except def ignoring things, and 510, the doubled max, would take the damage to pretty much nothing, around 1-100 for powerful attacks, since the damage done is damage = damage * (512 - def) / 512, making 10000 damage taken down to  ~40 damage dealt, a really big decrease. if an enemy had that much defense, then it is likely that they wouldn't have much life, or the fight would be really unnecessarily long, especially since hp can go pretty damn high.

yes, an enemy with 400 defense (200 base) would still take plenty of damage, but if you had a good ai, great moves, and ample hp on it, then that high of defense wouldn't really be needed. the main problem with most of the vii fights, is that the enemy ai is too simple, and their moves too weak. many enemies are too low level to be doing a ton of damage, and some at very high levels would still be very easy since their ai sucks. if you balance out the game well, and make it hard from there, then mass def boosting isn't really necessary, just overkill, and making the fights much longer than needed to be.

i guess that the def doubling is good for now, and will still be needed when my first compressed ai scene.bin is done, since the enemies will still be essentially the same, but when i make my REAL difficulty hack (want this done so that i have plenty of breathing room, and so that psx version users can still enjoy my hack, since it should still fit into the original iso easily), i am hoping that i will have a way to stop the initial doubling, even though it is likely many enemies late-game will be hitting the higher stat marks, and the end game optional bosses will definitely be taking roids, so only a few enemies should need past 255 defense, if they even really need it at all. usually, if you know the enemy ai very well, and have a very nice setup, you should eventually win anyway, but my hack is going to be cruel to the users, so massive defense would just be too much :-P.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 18:15:01
I know all the formulas. What I meant that wouldn't it be more effient to have all enemies using half of intended def values and have engine double it than have all enemies at their intended def values and use ai-data for those few enemies that have df >255.

But I agree with you that:
More HP, High Defence -> longer fights
Smart/unpredictable AI, High STR/MAG/Speed -> harder fights

Problem is if you make AI too unpredictable it makes coming up with good tactic against that enemy very hard and winning becomes too much based on luck.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 20:14:58
the problem is that when using a relative boost/redux to alter stats with the ai when the def is auto boosted makes it hard to make the defense not cap out fast, or become too low compared to what it normally would. for example, i have GS adding 106 to the 150 (doubled to 300 in game without my initial def halving) to make it hit the normal 256 mdef at it's initial stage (no counter), def is the normal amount 20 (doubled to 40), and then adding another 128 when it goes to the countering stage (hitting 384 normally), and it's def adds 235 to hit 255 def (275 if i didn't halve them first). now, if i didn't set it's defense to halve (both), here is how things would look at different defense values:

initial stats
base def (b4 doubling) -> 20
base mdef -> 150
stage     def     mdef     half def     half mdef
normal    40      406      20            256
counter  275    534      255           384

an example of increased def through enemy editing
base def -> 128
base mdef -> 255
stage     def     mdef     half def     half mdef
normal    256    616       128          361
counter  491    744       363          489 (capped here)

max def run
stage     def    half def
normal    510    255
counter  745    490 (capped)

as you can see, with the innate def doubling, defense values get way too high for a relative defense boost mimicking the regular game's setup, and even if i reduced the initial mdef by 44 to hit 256 (300-44=256), it would still hit the max as soon as someone put the mdef to 214, and def would still eventually go over max as well. it could be made to reduce more as the base rose, but there would be gaps where the def didn't raise as much, and would take much more room in the ai. simply put, for how i am looking at it, removing the innate def doubling would be a great addition, because you can always toughen up the enemies without going past 255 defenses, as in making them level up, add more life, better ai, stronger hits, and then there is little need for a ton of defense.

not too many attacks would be going past 12000 damage a hit, and enemy hp can go extremely high (if all four bytes of hp for the enemies are able to be used, then they can have up to 4294967295 hp, otherwise it would cap at 16777215, either way, more than enough to not need massive defenses, especially since this isn't ffx where you are pretty much doing 100k a hit, and 16.5 million is a lot of hp, more than any good enemy in vii should ever need), so 500 defense is overkill anyway... if you want an enemy to be immune to a type of attack, you can always either make them null physical elements, or use the ai to turn certain immunities on. that's why i think the def should not be auto doubled, since we no longer need it enabled (didn't really help much anyway since enemies were normally weak anyway).
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 20:53:58
Orginal GS:
Def 40 (2x20)
Enemy data MDef value discarded, AI sets value 256 instead.
2nd Form
      Guard Scorpion's Def = 255
      Guard Scorpion's MDf = 384

Edited GS:
Def 40 (2x20)
MDef 256 (2x128)
2nd Form
      Guard Scorpion's Def = 255 (40+215)
      Guard Scorpion's MDf = 384 (256+128 OR 1,5x256)

Why won't this work? No need to halve Def/MDef


It takes about 1min to dish 1,44M damage. So it would take about 15 minutes to kill something with 16,8M HP :)
But once you get to that point, you have destroyed all the difficulty aspects anyway.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 21:13:10
it wouldn't work because i am using the original stats, not lowering the initial mdef, and i am making it so that people can raise/lower it's defenses as they desire and still have it work fine, without ever making damage pretty much immune. so what i get is the original 20/40 def, 150/300 mdef, and have to make it work for ANY defense values entered by other people. if this wasnt added, def would always be:

1st - def = X (not changed until second, max 510), mdef = 256
2nd - def = 255 (possible reduction), mdef = 384

mine has a min/max of this in the forms:
1st - def = 0/255, mdef = 106/361
2nd - def = 235/490, mdef = 234/489

meaning that if i used your way, this is how things would be min/max:
1st - def = 0/510, mdef = 0/510
2nd - def = 215/725, mdef (+128) = 128/638, mdef (x1.5) = 0/765

if someone were to raise the defense using yours, they would definitely max out defenses in the second form, and the 1st form could get relatively high as well. i want the def to be raised to equal the normal setting, AND be able to be freely changed without maxing def (512+), and my way seems to work the best. the double def that the engine does is really annoying to me, since you have to work around it, and setting def to max pretty much assures a long, not necessarily hard, battle, where the initial def max would allow you to actually do a decent amount, and then it would make the editor think of other ways to pump up the enemy.

i really should start a topic of my own, so nfitc1 doesn't get flooded with things that aren't about his program... wait... too late :-P.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-05 21:39:54
I see your reasoning now but I still don't see anyone putting 510 Def to GS's starting stat.

Quote
meaning that if i used your way, this is how things would be min/max:
1st - def = 0/510, mdef = 0/510
2nd - def = 215/725, mdef (+128) = 128/638, mdef (x1.5) = 0/765
I would have complete controll over it's normall stats.
And to prevent Def/MDef overflowing GS could have auto Barrier/MBarrier during 2nd stance.
That is after all the orginal intention of GS's AI.
= Halve all non-piercing damage during counter stance

If you wanted numbers
1st Form
      Guard Scorpion's Def = D (Min-Max 0-510) (Example 40)
      Guard Scorpion's MDf = M (Min-Max 0-510) (Example 256)
2nd Form
      Guard Scorpion's Def = D+((512-D)/2) (Min-Max 256-511) (Example 276)
      Guard Scorpion's MDf = M+((512-D)/2) (Min-Max 256-511) (Example 384)

This way there was no need for halving while keeping full controll over stats (0-510)

By the way, what happens when Def/MDef goes over 512? Do you start doing negative damage (instant death, similar to damage overflow)?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-05 21:56:26
no defense doesn't become absorbed (damn >_>), you just act as if you have 512 def, since the amount of damage would always be lower than 1, and the game makes you deal one damage if damage < 1, and enemies weak to an element take double damage, so 2 damage :-P.

adding barrier defeats the purpose of my mod, since i am trying to give the enemies an exact replica of their ai/stats, just with bug fixes, things left out (sweepers smoke shot not adding blind, when blind was definitely intended as an example), and making stat changes hacker friendly. barrier is adding something not normally there. yes mbarrier/barrier would halve the damage, and would only really work for the second stage (a little more reduction for defense), but the first would still be off.

also, talk in my new thread, not here, so we keep his thread clean-ish :-P it is located here: http://forums.qhimm.com/index.php?topic=8513.0
Title: Official Proud Clod 1.0 Topic
Post by: Chrysalis on 2009-06-06 18:49:36
both def and mdef are doubled by the engine, and yes it is true that enemies would need less room to have their def to go up to 510, since it is doubled initially. but, the thing is, enemies shouldn't need to almost null damage (255, the base max for the defenses halves all damage, except def ignoring things, and 510, the doubled max, would take the damage to pretty much nothing, around 1-100 for powerful attacks, since the damage done is damage = damage * (512 - def) / 512, making 10000 damage taken down to  ~40 damage dealt, a really big decrease. if an enemy had that much defense, then it is likely that they wouldn't have much life, or the fight would be really unnecessarily long, especially since hp can go pretty damn high.

yes, an enemy with 400 defense (200 base) would still take plenty of damage, but if you had a good ai, great moves, and ample hp on it, then that high of defense wouldn't really be needed. the main problem with most of the vii fights, is that the enemy ai is too simple, and their moves too weak. many enemies are too low level to be doing a ton of damage, and some at very high levels would still be very easy since their ai sucks. if you balance out the game well, and make it hard from there, then mass def boosting isn't really necessary, just overkill, and making the fights much longer than needed to be.

i guess that the def doubling is good for now, and will still be needed when my first compressed ai scene.bin is done, since the enemies will still be essentially the same, but when i make my REAL difficulty hack (want this done so that i have plenty of breathing room, and so that psx version users can still enjoy my hack, since it should still fit into the original iso easily), i am hoping that i will have a way to stop the initial doubling, even though it is likely many enemies late-game will be hitting the higher stat marks, and the end game optional bosses will definitely be taking roids, so only a few enemies should need past 255 defense, if they even really need it at all. usually, if you know the enemy ai very well, and have a very nice setup, you should eventually win anyway, but my hack is going to be cruel to the users, so massive defense would just be too much :-P.

well it is a problem with too low hp/def/mdef, I defeated red dragon without it even getting one attack on me, so you could give red dragon very high attack stats and a brilliant AI but it means nothing if it doesnt get a move in, this red dragon I defeated in one move had triple HP over the default, as I triple HP'd most bosses in my game due to fights that way too short, generally speaking I can finish most non boss fights (before modding) without them even getting a turn and most boss fights within 2-3 turns which was just ridiculous, the game seemed to be designed that the player would just rush through it on low level weapons and with no levelling up whatsoever.

The way I see it, every single boss in the game should be capable of withstanding a omnislash attack, kotr should make fights easier but not finish boss's of in one move.  Red dragon I thought at level 54 had the rune blade and omnislash charged up at start of fight, used omnislash which did around 2k per hit, and its dead.  The boss after that which I read many people find hard??? I have never struggled on this boss although it does moderate damage it just dies far too quickly like most other bosses so usually only gets 3 or 4 attacks in at the most.  This boss has strong magic defense (very strong on my mod) however I still beat it fairly fast with physical attacks, it got 6 turns in and it had quadruple over default hp, a dexterity boost of 30 so it had faster charge.  To get level 54 I didnt do much levelling, I did item collecting where I fought battles to stock up on things like ethers and x potions and once I got these to high stock 80+ I then would carry on playing the game, I did a bit of gil saving in junon area, but not what I would call excessive, and this had me on level 54 at the temple of ancients.

So the solution could be to make enemies give way less exp so levelling up is slower and the time you meet bosses you are much lower level but this would then mean getting to the magical level 99 and level 60 points much harder and less likely in a normal game, I do agree enemy AI's need to be improved especially on bosses and of course stronger attacks ones that hurt enough so that you do actually have to heal in battles and even consider fighting on the back row/use sadness, but doing this alone is useless if the enemy gets no attacks in, and the best way to ensure they get attacks in is to boost their hp/dexterity and defenses.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-06 19:48:45
this should have been a post in my thread, since i moved over there to keep his thread clean...

first off, i am not really changing any enemies at this point in time, but when i do change things, i plan on reworking a lot of things. for starters, the initial level would be 1, but other mods do that, but i am going to rework the stats to be much lower than normal, sans maybe hp/mp, and make sources harder to obtain (no easy morphing... if anything they would be a rare drop from strong enemies, possibly rare steals as well from other things, but no way to easily stock up). weapon power will take a hit as well, so even at higher levels things will be troublesome (and ultimate weapons will be losing their mass damage boosting, being replaced with normal or other attack mods, but with a higher atk than the rest, and added effects as well), and the enemies will be pumped up, so not only will they become stronger, you become weaker, making extreme damage unlikely.

kotr will also be severely cut down, making each attack weak separately, but will still add up to more than the other summons. enemies will not have guaranteed stats, since i plan on implementing a levl up system for them, automatically using their ai to boost their statuses (levels and such, giving a random amount per level, so each enemy will be different stat wise, and it is possible to fight enemies ranging a few levels below to a few above you, but with a definite minimum, similar to ffviii's levelling system, but i plan on making it better :-P), and change their ai patterns based on their levels. when i finish my true mod (this one i am doing is just for a base that will be easy for anybody to build from, and should always fit back into the psx version unless you massively change the ai, since the size will be significantly lower, allowing for more changes to be made), it should be in no way easy, and tweaking the game after that shouldn't be too hard to do, so if it isn't hard enough, just a few modifications and it will be >:D.

my mod will take a LONG time to complete, especially since i am doing this one first, but when i am done it should give you a challenge :-P. and yes, the enemies will be giving less experience as well, and hopefully i can find something in the ai to check/set the current steal/drop item, so that i can also change the items gotten at will, and possibly give multiple steals from enemies.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-06 20:49:35
REQUEST FROM AUTHOR:

Can we keep this topic solely on PrC and its fixes/bugs please? It would be ever so helpful to me in finding issues that need to be resolved. Any AI Editing-related comment should be in a different thread. Please only post in here if you have a problem with PrC or would like to see something added. It is getting too crowded in here.

Thank you.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-06 20:52:02
So the solution could be to make enemies give way less exp so levelling up is slower and the time you meet bosses you are much lower level but this would then mean getting to the magical level 99 and level 60 points much harder and less likely in a normal game, I do agree enemy AI's need to be improved especially on bosses and of course stronger attacks ones that hurt enough so that you do actually have to heal in battles and even consider fighting on the back row/use sadness, but doing this alone is useless if the enemy gets no attacks in, and the best way to ensure they get attacks in is to boost their hp/dexterity and defenses.

I started my balance/hard mod from completely different perspective. Average EXP/AP is multiplied by 2 and boss EXP/AP by 5. This way player is about lvl 90 when they reach The Northern Crater and difficulty isn't completely ruined for those who wish to max their levels.
Damage multipliers removed from UWs. I haven't yet decided should I replace it with some other effect or leave them as "normal" weapons.
If Shield protected against non-elemental magical damage I would make KotR hit everyone on the screen (your own party included). So if you wanted to cast it and survive you would need some preparations or final attack+restore/phoenix. In any case the effect can't be made a lot weaker since the animation takes forever so it has to dish some damage. It's the MP cost that is the problem. If it killed you everytime you summoned it requiring you to use final attack+restore for example that would make miming it a lot harder. Or alternatively (1-3)xShield 180-540MP for preparations but if I remember correctly Shield protected only against physical and elemental magic damage. Items excluded.

If you wanted harder battles enemies need to have a lot stronger attacks than they do in vanilla/unmodified game. AI needs to be smart and it needs to react players actions, for example use spells like dispel and debarrier.
What I personally find annoying are the enemies that have 1 basic attack and 1 stronger attack and they choose their attacks completely by change. After that difficulty of the battle becomes dependant on players luck. Does it use it's stronger attack or do I get lucky and it uses it's weaker attack multiple times in a row without using the stronger one. Of course if the attacks had a different Att% with stronger attack having smaller change hitting I could understand why it chooses weaker attack over stronger one.

By the way is it possible to make enemies not use certain spell afer certain events during fight.

Example
start.flag=0

if flag=0
  select all cast Fire3
  if damage > 0
    set flag 0
  else set flag 1
  endif
else chew bubblegum
endif

I haven't touched the actual AI-data yet so I don't know how it looks like or what commands it uses. That's way my crude example


edit: end of OT
spam secondadvent's topic insted from now on http://forums.qhimm.com/index.php?topic=8513.0
->
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-06 21:36:26
REQUEST FROM AUTHOR:

Can we keep this topic solely on PrC and its fixes/bugs please? It would be ever so helpful to me in finding issues that need to be resolved. Any AI Editing-related comment should be in a different thread. Please only post in here if you have a problem with PrC or would like to see something added. It is getting too crowded in here.

Thank you.
i was trying to... i even made my own thread and posted the link to it, but it seems that people like to crowd your topics :-P. something buggy i did notice is that when the scene lookup was off (from shrinking too much), and i allowed PrC to fix it, every time i saved it after that it kept popping up with the same message box, so i am guessing that the scene lookup fix isn't quite working, because when i opened it and updated via hojo and came back here, the scene lookup was apparently fixed. it could possibly be that it doesn't update the kernel as being fixed until after reopening the scene.bin, since i only reopened after coming back from hojo.

also, not directly related to PrC, when i updated a fresh kernel with my mod, the file size actually grew, so that it wouldn't fit into a psx iso (testing to see if def was doubled in the psx one... it is btw), but when i opened it with WM and just saved it, the size became SMALLER than it originally was... what is up with that?

everybody can spam me instead... i dont mind ^^.
Title: Official Proud Clod 1.0 Topic
Post by: warbaque on 2009-06-06 21:46:06
also, not directly related to PrC, when i updated a fresh kernel with my mod, the file size actually grew, so that it wouldn't fit into a psx iso (testing to see if def was doubled in the psx one... it is btw), but when i opened it with WM and just saved it, the size became SMALLER than it originally was... what is up with that?

I recall NFITC1 mentioning somewhere in WM thread about using more efficient compression method than default.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-06 21:49:49
This is true; it's a good thing as well, since it means we can add quite a bit to the kernel and still make it fit into the PSX ISO.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-06 21:52:36
hmm.. nfitc1 has a nice kernel compression, but the scene.bin compression isn't as good, but then again a ton of crap compressed is still a ton of compressed crap :-P. at least the kernel ai doesn't have to be messed with, though plenty can be taken out since cloud's ai for ally death is useless since the ally death thing doesn't work.

the best way to go for updating the kernel with a new scene.bin is either with PrC (if the bug, if it is a bug, is gone), or using hojo then opening/saving with WM. whatever works i guess.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-07 02:44:49
KERNEL.BIN look-up fix needs to be addressed. That's a feature that is very important to the function of the game so it'll need to work. It might be that the KERNEL.BIN you're trying to fix is read-only. By default, the PC's KERNEL.BIN is, but the kernel2.bin is not. I'm accounting for that in WM, but I'll have to check PrC and see what it's doing.

In regards to the compression of the scene.bin, I haven't really done much testing. Scene.bin is compressed with the highest level of GZip like the KERNEL.BIN is. The scene.bin doesn't ever get larger if small changes are made so I didn't bother to look at it.

On the subject of character AI, only Sephiroth's scripts and Vincent's Main script are important. That's all mentioned in the WM topic, though.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-07 04:39:54
yeah, so if i added a good deal to the current materia stock, and it sent me over the psx file size limit somehow, i know where to remove from :-P.

no, my kernel is not read only, just checked it. i have had the scene.bin grow after editing only enemy stats/items up to the shinra building (grew at the 58th floor >_>), and is why i had to revert to the pc version (i did like the psx version more, but i m liking the pc one much more lately :-P). i kinda figured the scene.bin was as compressed as it could be, which is why i started my project XD.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-07 18:03:59
ok, this post is to bump you up (since you only seem to read my additions to my posts if i make a whole new one :-P), and to say that i noticed another little bug. if you start one one scene file's ai editing, and move to another without closing it, the total script size remains that of the first scene visited, or at least it did when switching from eligor's scene, since the total size was still around 3200 for a total size of 700 in the scene i went to.

i think you should make a popup that asks if you want to keep your changes if you use the x to exit, or open a new scene, though you said it has bugs when switching scenes before, and make opening a new scene file remove the current ai editor (with popup warning) and open the new editor, which would fix the counting bug (refresh bug, since it doesn't refresh?). if you made it so that PrC would check to see if an editor was already open, and ask to keep the changes BEFORE allowing you to switch to a new scene at all, to prevent the overwriting bug. it could be a possibility, i just don't know how you'd do that, since i know more about coding in vii's enemy ai than i do in a real language :-P.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-07 20:42:22
ok, this post is to bump you up (since you only seem to read my additions to my posts if i make a whole new one :-P), and to say that i noticed another little bug. if you start one one scene file's ai editing, and move to another without closing it, the total script size remains that of the first scene visited, or at least it did when switching from eligor's scene, since the total size was still around 3200 for a total size of 700 in the scene i went to.

i think you should make a popup that asks if you want to keep your changes if you use the x to exit, or open a new scene, though you said it has bugs when switching scenes before, and make opening a new scene file remove the current ai editor (with popup warning) and open the new editor, which would fix the counting bug (refresh bug, since it doesn't refresh?). if you made it so that PrC would check to see if an editor was already open, and ask to keep the changes BEFORE allowing you to switch to a new scene at all, to prevent the overwriting bug. it could be a possibility, i just don't know how you'd do that, since i know more about coding in vii's enemy ai than i do in a real language :-P.

I can't capture the "use X to exit" event because that's on the OS level and not on the program level. I just need to get rid of the X button all together. I also need to make a list of things that will need to get fixed. :) I could easily tell if an editor's open though by adding (yet another) invisible true/false value... I'll look into it.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-07 21:06:43
ok, another thing now... i noticed that when you add a new move via PrC then go to the assign animations window, the newest move is in all of the boxes that should be empty. after saving my changes in that screen (with all the empty ones with the tentacle move, even though it shouldn't have been, with only the animation changed), and returning to it, the boxes were all empty, even the one that should have been the new tentacle move, i am guessing that it re-refreshed the contents after being reopened, and since i never actually set tentacle to any of them, it sent all of the boxes to an empty slot instead, but did not refresh the contents after clicking it the first time (after creating tentacle, the anim. editor wasn't opened before that).

i checked the hex with an editor for the changed scene, and all but the tentacle id itself were there, so that is working fine, just the editor itself is a little buggy :-P. maybe setting it to an always empty box (instead of one of the available attacks, making a 33rd move in the anim. editor only, that only signifies an FFFF value for the attack id (not an actual move, just for the null value), so that this could be prevented) could fix the problem?

also, i know other things do this, but making a little manipulated attack editor could be helpful for when you make a new move, so that you do not have to use another editor to change the moves, it doesn't even have to enable/disable the ability to manipulate them, just the moves that can be used if it is able to be manipulated. not really necessary, but would be a nice little addition.

edit: the second attempt did successfully add the new move to the atk id in the enemy data, it is just a bug with the window. i checked the next scene i added tentacle to, and it did the same thing. i manually changed the atk to a blank spot then returned it to tentacle, then saved, but when i checked after that (window does not update until after being saved/opening a new scene.bin/changing scenes apparently), it had reverted back to a blank spot, but saved this time after switching to tentacle.

also, with your attack editor (the main window), the attack name will not be saved unless you press enter on it, rather than updating as you type it in, so if i filled out everything on a move, then moved to another scene/move, the name would not save, though the other info would.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 15:53:06
I fixed quite a few of the attack animation-related bugs you've brought up and changed the format at little. Have a look (http://img3.imageshack.us/img3/9191/anims.png).

Hopefully there will be another tab soon that will deal with formations, but that'll come later.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 15:58:20
looks pretty good  :wink:. glad you added the manipulate thing as well :-P.

have you ever figured out what as wrong with the kernel updating?

right now i am trying to understand air buster's ai fully, i have most of it down, but some other things are plaguing me still... have to filter through the ai to see what is going on with them.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 16:06:55
have you ever figured out what as wrong with the kernel updating?

Yes. I forgot that it doesn't directly fix the KERNEL.BIN, rather it makes a KERNEL.BINtest, or something like that, that needs to be renamed. This is mostly a "oops" on my part as I forgot to undo that. The KERNEL.BINtest should be correct, but I didn't test it very extensively (hence the "test" at the end). If you can confirm that it's correct I'll remove that "feature" (since it IS documented) and just rewrite the KERNEL.BIN instead of creating a new one.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 16:16:05
i will compare it to an exact hojo copy that was resaved in WM and get back to you shortly (possibly create kernel files and manually check there, in case it somehow compresses differently) ;).

also, kind of a little thing for my stupid mistakes i make occasionally... could you add a disassemble check that returns an "error in code" message in the disassembled code if someone enters two values to the top of the stack then tries to use the 90 opcode? this makes it so that stupid errors like this are prevented, because you are supposed to store the first value into an ADDRESS, not a value, and i do this once in a while still :-P. it would also prevent those new (or doing my mistake) from making this error, so that they know to fix it when it is done. not necessary, but i was wondering if it could be added >:D.

also, where is a good site to upload files, so that i can up my files when i am ready? i know of a couple but wanted to know one that preferably allows you to update your files (instead of just upping a new file), and that doesn't require registration

ok i did a plain comparison (from a resaved kernel to the test kernel), and there were many places different, but i sort of expected that. i will first extract all of the files from each into a separate folder and compare them one at a time. i may also compare it to a freshly changed one from hojo's updater to see if it is just the compression of WM setting the differences.

ok, just by opening the test kernel in WM, it displayed this in the debugger:
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.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.GUnZip(Byte[]& byteCompressed)
   at WallMarket.Form1.SeparateFiles()
   at WallMarket.Form1.Open_KERNEL(Char kernel)
   at WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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:///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:///C:/Documents%20and%20Settings/ryu/Desktop/ffvii%20hacking%20tools/wall%20market/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///C:/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.
i will try to make kernel pieces to possibly pinpoint the areas with problems.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 16:34:58
also, kind of a little thing for my stupid mistakes i make occasionally... could you add a disassemble check that returns an "error in code" message in the disassembled code if someone enters two values to the top of the stack then tries to use the 90 opcode? this makes it so that stupid errors like this are prevented, because you are supposed to store the first value into an ADDRESS, not a value, and i do this once in a while still :-P. it would also prevent those new (or doing my mistake) from making this error, so that they know to fix it when it is done. not necessary, but i was wondering if it could be added >:D.

I tried and tried and tried and got it to do this by adding two little lines in the handling of code 90h. Yeah, no big deal.

also, where is a good site to upload files, so that i can up my files when i am ready? i know of a couple but wanted to know one that preferably allows you to update your files (instead of just upping a new file), and that doesn't require registration

Good luck finding one. I use FileFront and they require you to register and you can't just update files (yet).

ok i did a plain comparison (from a resaved kernel to the test kernel), and there were many places different, but i sort of expected that. i will first extract all of the files from each into a separate folder and compare them one at a time. i may also compare it to a freshly changed one from hojo's updater to see if it is just the compression of WM setting the differences.

You'd really only need to compare the KERNEL.BIN2 files since that's where the scene look-up lies.

ok, just by opening the test kernel in WM, it displayed this in the debugger:
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.OverflowException: Arithmetic operation resulted in an overflow.
   at WallMarket.Form1.GUnZip(Byte[]& byteCompressed)
   at WallMarket.Form1.SeparateFiles()
   at WallMarket.Form1.Open_KERNEL(Char kernel)
   at WallMarket.Form1.OpenKERNELBINToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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:///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:///C:/Documents%20and%20Settings/ryu/Desktop/ffvii%20hacking%20tools/wall%20market/WallMarket.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///C:/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.
i will try to make kernel pieces to possibly pinpoint the areas with problems.

Yikes! It failed to GUnZip?! That shouldn't be possible unless Hojo's writing it wrong.... Can you send me the Hojo'd KERNEL.BIN so I can test it please?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 16:42:14
yeah, no prob, i'll send it to you shortly. this is what i got when i compared the two kb2 files: 0xf1d=3869 to 0xf3c=3900 (32 bytes), so there is a difference in that area. i do not know much about the kernel.bin, so i do not know what this area is.

i was planning on using filefront (everybody else here does :P) anyway, but i dont like to register >_>.

edit: ok, i sent the original hojo, the WM saved hojo, and the test versions to hopefully help narrow down the problem, and let you see the differences better.

i compared all of the files to check to see if something caused errors in the rest of the files, just in case some oddity happened somewhere, but luckily there were only changes in the kernel2 file.

oh, and once i finish my current version of my mod, i am going to focus on figuring out some of the unknowns in the ai, especially since there are many used in the ai at a later time (the closest i know being the sample boss in the shinra building). hopefully i can add more options to what we already have available >:D.

oh, and the debug message popped up when i opened the test kernel with WM... that is something caused by PrC's updating. hojo's files always open nicely without any errors, but the size is usually bigger because of the lesser compression used.

update: i found the other kernel0 file... it got mixed up with my other files where it extracted  :|
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 17:11:13
I see what you're saying now. PrC's test KERNEL is bad, not Hojo's. I was confused. :P

I'm looking at it now...Well, maybe after lunch. I'm hungry.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 17:37:21
heh... i just ate not too ling ago, so i am set XD. i also made a guess as to the usage of the row? and sideattack flags, not quite sure if it is correct, just an immediate guess from what i saw in AB's script, you may know more than i do about it. if you know anything, i could use some help with completely understanding it's ai... the row thing is killing me >_>.

going to have to make a little test to see what the initial facing is, to better make sense of the code, and to see which row is which :P.

ok, it's starting facing is 1, so i think that i was right with the row layout. i will make cloud and barret use the same code to display their current value, to see if their row flag is the way i think they are.

cloud's starting facing is 0, and barret's is 1, so i think i got the middls part backwards... the back attack damage would happen in they have the SAME facing, since with different facings they'd be facing each other, or looking away from each other. gonna update the other post until i learn more...

also learned the back attack and ambush settings, so added them as well. pincer attacks are likely the middl person in your team facing a different direction while the other two face the opposite direction, i am not at a pincer attack area, so i do not know which sides are which, though the same thing applies.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 18:20:34
You're straying from the "no AI discussion" request. ;)

I figured out why the test KERNEL wasn't working. It was a pointer mistake on my part. That really screws things up, doesn't it?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 18:30:10
i never new there was a no ai discussion request... how else can i point out things regarding ai to possibly add to PrC :P?

yeah... a pointer not pointing right is never good >_<.

on the (not adding more ai stuff XD) topic of the facing flag, i am going to check and see which side of a side attack gets which value set... i'll take the info from my other post i have been updating here and add it to my thread, to abide by the rules of you thread >:D. going to update the dat file with names/better names for the flags and such i figure out, to make life easier later :P.

here is what i updated so far in my dat file:
2120|MagicCounter //counts how many times hit with magical attacks
4020|Flag:Invisible //makes the character invisible (dunno how to bring back :P... maybe setting an idle animation and turning it off?
4027|Flag:Facing //the current facing of the enemy
402C|Flag:NoDeathAnimation //prevents the normal death animation from occurring if true. used for setting custom death animations
402E|Flag:Intangible //unable to be hit when on

updated: setting the idle animation again on an invisible enemy doesnt work to bring them back <_<.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 19:04:58
i never new there was a no ai discussion request... how else can i point out things regarding ai to possibly add to PrC :P?

That's what I meant by this (http://forums.qhimm.com/index.php?topic=8481.msg104348#msg104348). Although discussion of addresses is fine. I also don't mean to say that you've violated it, I meant to say we're getting close to off-topic-ness. :)

BTW- How would you like a resizable AI Editing window? I know I would (http://img269.imageshack.us/img269/2569/largeai.png). That works now too. :)
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 19:09:59
that was one of my early ideas for this program, since the resized version is still the same size, just in a bigger gray space XD. dunno if i ever posted about it or not... probably got lost in my massive posts.... i need to tye less or something :P.

the next release is going to be a good one >:D.

off topic: i have an idea... if the variable that is supposed to be limit level (you have a ? there), it could be possible to change limit levels in battle, and possible to make it so that you have to use a level 1 limit before it allows you to use a level 2 (as in it will start at level one, and work it's way up to 4, then go back to level 1, IF you have limits in those levels), making easy omnislashing out of the question, at least it could only be used every four attacks then. it could also be made so you have to use a limit level a few times before it allows you to use a higher level one, but that could make things overly complicated for the player. increased limit requirements, as well as increasing how much you need to be hurt to fill the bar, combined with only being able to use limits in order by level would make limits something that you have to work harder to gain, and to use... i just have to see what is up with the variable first :P.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 20:25:45
I never tried actually changing that value.....Give it a try. :D

Has anyone noticed that on some scripts (usually quite long ones) that close to the end of the disassembly it just doesn't have any tabs on the lines anymore? I always thought that was weird. Now I know what was causing that and I fixed it. ;) This next version's going to have lots (and LOTS) of fixes in it.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 20:34:43
how about an option to turn all statuses, targets, and elements on or off, so that you don't have to click all the damn boxes? it would make things even easier, and since it will have a resizing option, it should have more room to put stuff ^^.

yeah, i noticed it as well, and it always bugged me, but wasn't hurting anything, but at least it won't be there anymore >:D. after i finish AB (hopefully soon >_>) i will try out some of the variables to see what they all do... i found out the ones i did easily enough, so it shouldn't be too hard to find more. putting in debug messages (not to the actual debugger, but printed on screen) works pretty well, i just need to learn more about that to print the actual values instead of a message saying 1 if true, or 0 if false, because the larger than bit values will require it.

you work any towards a copy/paste ai ability yet? there are many times that it would have proven useful, and will be greatly helpful if i want to implement an enemy level-up-as-you-do script for each enemy, or just try to test out the different unknown variables on different enemies without retyping... or just copying an entire ai script from one enemy to another, massively useful there ;).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-08 21:30:53
how about an option to turn all statuses, targets, and elements on or off, so that you don't have to click all the damn boxes? it would make things even easier, and since it will have a resizing option, it should have more room to put stuff ^^.

Done, but in a right-click menu in the empty spaces between the statuses and elements. Best you're going to get.

you work any towards a copy/paste ai ability yet? there are many times that it would have proven useful, and will be greatly helpful if i want to implement an enemy level-up-as-you-do script for each enemy, or just try to test out the different unknown variables on different enemies without retyping... or just copying an entire ai script from one enemy to another, massively useful there ;).

I've considered it, but I'm not sure the best way to do it. Not going to happen in this version.

EDIT: Another thing I'm adding is the attack index to the disassembled script. When multiple Attacks have the same name it gets confusing otherwise.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 21:46:05
nice, and that's ok, this version will be awesome enough as it is... i might die from happiness if it got that as well XD.

by not knowing the best way to do it, do you mean what exactly will be copied, and how the user will do it, or do you just not know how to program it in? if you just don't know how to lay it out, it could be possible to make a right click option for the whole left side (the enemy and the specific ai fields), so that if you click a certain field and copy it, the entire contents would be copied (so if you clicked the mono drive and selected copy, it would copy the entire ai of mono drive, and the specific ai types in it (keeping track of what's in main, etc.), or if you clicked on just the ai type of an enemy, it'd copy only that segment of ai. when in an ai section, you could allow the user to highlight the ai by selecting the rows (enable more than one row to be selected, possibly for mass deletion as well) and right clicking -> copy.

for pasting, right click on a field/row in a section and select paste with insert above/below, or overwrite (adding the ability to insert it above or below the row would be nice if a row was selected, or inserting above/below the current selected section's code, meaning if right clicking on main and pasting above, it'd make the first row where the code begins and push everything else down. an overwrite paste would be nice as well, completely overwriting the current code, though it wouldn't be too hard to just delete the old code later) would be pretty nice little ways of doing it. if you were to select the entire code of an enemy (enemy copy), it should only be able to be pasted onto another enemy, so that bugs wouldnt occur when trying to paste multiple sections into one ai section.

but if you just don't know how to program it to add a copy/paste feature, then i have no idea what to do XD.

yeah, i noticed that when looking at AB's two bodyblow/rear gun attacks... i had to look between the coded portion and the attack's index to tell them apart.

... it would be cool if an enemy could steal the skeleton/model of another enemy in battle, as well as it's animations, because that could have some usage with an enemy that can mimic other people (create an ffvii gogo, or metamorph enemy like in v), and "could" have some potential elsewhere, especially if the color can be changed as well, since it could be possible to give the MP enemy a grenade attack for instance by swapping the entire model and animations. i doubt it, but there is a way to change their size, so it could be possible.
Title: Official Proud Clod 1.0 Topic
Post by: Seifer Almasy on 2009-06-08 21:50:17
I see you have renamed a lot of the monsters correct names :P  Have you done this yourself or have you been following our project

Jst wondering :P

Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 21:57:25
what do you mean? if you are talking about in PrC then it is because it shows the current enemy names used in your scene.bin, so it would be keeping track of your project :P. not quite sure who you were talking to  :?
Title: Official Proud Clod 1.0 Topic
Post by: Seifer Almasy on 2009-06-08 22:10:43
sefer etc are nor called that in the original scene bin?  Or are they?  Was to the mod maker :)  I just lwant to know how he came about choosing certain names esp Midgar Sormr as that is a vote for it in my book.  (having a little vote on certain names)

Sorry I am offtopic here, also I was curious if they were named because he had some japanese insight or if the game already contained the data
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-08 22:18:25
this thread is about Proud Clod, an ai and enemy move editor, not a mod (unless nfitc1 is doing one on the side...), so i think either you are in the wrong thread, or i am just very confused :P.

yay for an epic fail on the first counter ai script for air buster... but i think i can fix it (dunno why his death animation happened... but i think i can fix it easily)

ok, i have a new one for you, but sadly cannot tell yo the cause. my attempt was a fail, only partly because of my ai (little tweaking will fix it), but the entire ai script for air buster (except my counter ai), and the special combatant with it were completely wiped clean. i now have a blank ai scene but with the general counter (thankfully) in tact. i have no idea what caused this, and now i have to take the scene.bin files apart and replace the entire scene manually so that i dont have to retype the whole ai >_<.

well, it is redone now, and works (hopefully perfectly), so i am happy anyway :P.

ok, nfiitc1, how exactly do you have the disassembler lain out in regards to the way it creates the if statements, indentation and bracketing, because i was wondering if i could help tweak it more (not the actual programming help, but idea help :P), but i'd need to know how it is right now, like how exactly it follows the logic.
Title: Official Proud Clod 1.0 Topic
Post by: Seifer Almasy on 2009-06-08 23:29:06
sefer etc are nor called that in the original scene bin?  Or are they?  Was to the editor maker :)  I just lwant to know how he came about choosing certain names esp Midgar Sormr as that is a vote for it in my book.  (having a little vote on certain names)

Sorry I am offtopic here, also I was curious if they were named because he had some japanese insight or if the game already contained the data
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 00:39:04
ok, nfiitc1, how exactly do you have the disassembler lain out in regards to the way it creates the if statements, indentation and bracketing, because i was wondering if i could help tweak it more (not the actual programming help, but idea help :P), but i'd need to know how it is right now, like how exactly it follows the logic.

No. Not because I don't want help, but just because I mostly don't remember. It's not like I don't have ideas on how it SHOULD work, but the scripts are so badly coded that it's impossible to get it to look much better than it does automatically. Well, I shouldn't say impossible. I just don't want to take the time to program it the way it should look.

sefer etc are nor called that in the original scene bin?  Or are they?  Was to the editor maker :)  I just lwant to know how he came about choosing certain names esp Midgar Sormr as that is a vote for it in my book.  (having a little vote on certain names)

Sorry I am offtopic here, also I was curious if they were named because he had some japanese insight or if the game already contained the data

Huh? Why'd you quote yourself? Don't do that. I don't have a clue what you're asking anyway.
Title: Official Proud Clod 1.0 Topic
Post by: Seifer Almasy on 2009-06-09 01:04:46
never mind....  I figured it out.  No wonder I am not making sense when I have got the damn cold :(  That was probably most stupid thing I have ever wrote   :lol:  I better go bed and get some damn sleep....

I totally forgot that I had already altered scene bin myself and hadnt moved it like I was supposed to.  I am afraid a bad cold knocks you a bit  :-P

Sorry....
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-09 01:17:26
no prob nfitc1, i just wanted to know, and it's ok to not want to tackle a coding mess XD. i just finished AB's ai (still some minor tweaking), so i know what you mean by that... i chopped off so much useless crap it is unreal (not repetitive stuff that needed optimized, like eligor, just unused stuff... at least 100 bytes worth). if you ever feel like it, tell me though :P.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-06-09 01:35:50
Hey NFITC1, if it's not too much to ask, could you make a copy method that copies attacks? I could imagine a button named "Copy to equal ID". The button would copy the attack through the entire Scene to attacks with equal ID. All it really should check fot is the attack ID, as there are no similar attack IDs with different effects by default. At least as far as I know. You should have a warning box popping up to confirm the action though (imo).

You could also have simple Copy-Paste methods. Then you don't have to worry about the ID, unless you paste it to an unused attack.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 13:54:35
Hey NFITC1, if it's not too much to ask, could you make a copy method that copies attacks? I could imagine a button named "Copy to equal ID". The button would copy the attack through the entire Scene to attacks with equal ID. All it really should check fot is the attack ID, as there are no similar attack IDs with different effects by default. At least as far as I know. You should have a warning box popping up to confirm the action though (imo).

You could also have simple Copy-Paste methods. Then you don't have to worry about the ID, unless you paste it to an unused attack.

Those actually sound easy compared to the AI copy-paste function. I should probably even make a "Sync with KERNEL.BIN" function as well (I'm still not sure which trumps which).

I also added a search by attack index that acts like the enemy search. But it won't jump to a scene because you have to be in a scene to search for the attack. Here's an example:

Quote
Attack Bolt3 with index of 35 [0023h] found in the following scenes:

0, 2, 221, 226, 228, 230, 232, 233, 247, 249

So the Attack's name, the index in Decimal and Hexadecimal, and the scene indexes are reported to the user. There will also have to be a "find Unused indexes" function that I'll add to the top menu.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-06-09 16:00:42
It would certainly save time. If you're up for it that is. I'm not an expert on this particular part, but as far as I know the kernel kinda contains the scenes as a look-up files. Each bank has a particular length. You prob knew this though.  :-P
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 16:39:43
blank attack indexes in the vanilla scene.bin include:

Code: [Select]
0100, 0101, 0102, 0165, 0166, 0167, 0168, 01B2,
0244, 0250, 0265, 0266, 0267, 026C, 0286, 02D1,
02D4, 02DC, 02DD, 0302, 0316, 0317, 0318, 031A,
031B, 0324, 0326, 0327, 0329, 032A, 0335, 0350,
037F, 0380, 0381, 0382, 0386, 03A0, 03A1, 03AD,
03C1, 03C2, >03E2

I don't know how high they're allowed. I assume they could go up to FFFE if you wanted them too.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-06-09 17:47:45
blank attack indexes in the vanilla scene.bin include:

Code: [Select]
0100, 0101, 0102, 0165, 0166, 0167, 0168, 01B2,
0244, 0250, 0265, 0266, 0267, 026C, 0286, 02D1,
02D4, 02DC, 02DD, 0302, 0316, 0317, 0318, 031A,
031B, 0324, 0326, 0327, 0329, 032A, 0335, 0350,
037F, 0380, 0381, 0382, 0386, 03A0, 03A1, 03AD,
03C1, 03C2, >03E2

I don't know how high they're allowed. I assume they could go up to FFFE if you wanted them too.

Yeah, you prob could go as high as you want. Anyone wanna test? lol

A simple copy-paste function should only include the attack data though. The data you paste should not overwrite the ID. If you copy an attack to a blank, unused field (FFFFFFFFFFFFFFF...etc). Then the would be ID  FFFF anyway and not included in the AI. The user have to come up with the ID him/herself then assign it to the enemies and their AIs. The user must just make any similar IDs in the same scene.

The trouble with copying to all equal IDs is equal IDs can be different from each other in different scenes. An example: ID 0101h in scene 5 could be a fire-based attack physical attack, while the same ID, 0101h, in scene 6 could be a thunder-based magical attack.

EDIT: oh and there is no harm in copying the attack name of course  :-D
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 18:53:29
A simple copy-paste function should only include the attack data though. The data you paste should not overwrite the ID. If you copy an attack to a blank, unused field (FFFFFFFFFFFFFFF...etc). Then the would be ID  FFFF anyway and not included in the AI. The user have to come up with the ID him/herself then assign it to the enemies and their AIs. The user must just make any similar IDs in the same scene.

The trouble with copying to all equal IDs is equal IDs can be different from each other in different scenes. An example: ID 0101h in scene 5 could be a fire-based attack physical attack, while the same ID, 0101h, in scene 6 could be a thunder-based magical attack.

EDIT: oh and there is no harm in copying the attack name of course  :-D

An attack copy will take the attack data, name, and index along with it. There's no reason not to. This is mostly to help keep straight enemies that exist in different scenes, but you want them to function the same.

Also, I'm not syncing ALL the attack IDs to ALL the attacks. Just one that the user selects. If you don't want to use it, fine, don't. But pretty much the same deal here. If you change one enemy's attack in one scene and that enemy exists in multiple scenes, just sync it so you don't have to remember all the changes you made before.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-09 20:04:40
i don't know if you didn't think of this, or what, but this is how i now have the absorb/null element variable, spit into flags instead of just one variable:
Code: [Select]
4130|AbsorbFire
4131|AbsorbIce
4132|AbsorbLightning
4133|AbsorbEarth
4134|AbsorbPoison
4135|AbsorbGravity
4136|AbsorbWater
4137|AbsorbWind
4138|AbsorbHoly
4139|AbsorbRestorative
413A|AbsorbCut
413B|AbsorbHit
413C|AbsorbPunch
413D|AbsorbShoot
413E|AbsorbShout
413F|AbsorbHidden

42A0|NullFire
42A1|NullIce
42A2|NullLightning
42A3|NullEarth
42A4|NullPoison
42A5|NullGravity
42A6|NullWater
42A7|NullWind
42A8|NullHoly
42A9|NullRestorative
42AA|NullCut
42AB|NullHit
42AC|NullPunch
42AD|NullShoot
42AE|NullShout
42AF|NullHidden

addendum (elemental check could be shorter, but elemental resistance alone would be confusing, people may think that
it sets a resistance to the element, when it just checks for one):
4050|ElemResistCheckFire
4051|ElemResistCheckIce
4052|ElemResistCheckLightning
4053|ElemResistCheckEarth
4054|ElemResistCheckPoison
4055|ElemResistCheckGravity
4056|ElemResistCheckWater
4057|ElemResistCheckWind
4058|ElemResistCheckHoly
4059|ElemResistCheckRestorative
405A|ElemResistCheckCut
405B|ElemResistCheckHit
405C|ElemResistCheckPunch
405D|ElemResistCheckShoot
405E|ElemResistCheckShout
405F|ElemResistCheckHidden
having it like this both works, and makes it easier to edit the specific values instead of figuring out what hex value would turn on a specific resistance. i am looking for a halve/weak/etc. version for this in the ai, so i will see what i can find. these should be accurate too, i tested ice and cut, and they are in the same order as usual.

ok, a question, why do you have certain unknowns in the dat file as flags, or as dwords, how did you determine that they are indeed those types, or were you just guessing?

edit: the 4050-405f flags (you have it as elemental defense?, the check sephy uses iirc) are enabled when the character has some sort of elemental resistance (at least null, i will test others as well to see).

going to check the 4050-405f more real quick ok, as i thought, it works for absorption as well, after (if) i find ones for the other element types i will recheck the way the flags are set in regards to the resist check.

now, with sephy's checking for the earth element, the 96 should check to see if the value given is active in the mask given (in his case it checks against 08, the hex value for earth, though it should work the same i you put:
02   20a0 (or whichever)
00   4053 (earth resist check)
80
60   01
96

and this should push a true value onto the stack if the target is resistant to earth. i am saying this because your editor doesn't show anything in the disassembler about the 96's popped value in the next if statement. i will check in-game to see if my little method works to check resistance (but for ice, since i dont feel like editing the kernel constantly, and i already have steal :P), and get back with the results. if this works then 96 could be an opcode that could have some nice functionality, since checking for resistances would be great for enemies to have when attacking.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 20:43:23
i don't know if you didn't think of this, or what, but this is how i now have the absorb/null element variable, spit into flags instead of just one variable:
Code: [Select]
4130|AbsorbFire
4131|AbsorbIce
4132|AbsorbLightning
4133|AbsorbEarth
4134|AbsorbPoison
4135|AbsorbGravity
4136|AbsorbWater
4137|AbsorbWind
4138|AbsorbHoly
4139|AbsorbRestorative
413A|AbsorbCut
413B|AbsorbHit
413C|AbsorbPunch
413D|AbsorbShoot
413E|AbsorbShout
413F|AbsorbHidden

42A0|NullFire
42A1|NullIce
42A2|NullLightning
42A3|NullEarth
42A4|NullPoison
42A5|NullGravity
42A6|NullWater
42A7|NullWind
42A8|NullHoly
42A9|NullRestorative
42AA|NullCut
42AB|NullHit
42AC|NullPunch
42AD|NullShoot
42AE|NullShout
42AF|NullHidden

addendum (elemental check could be shorter, but elemental resistance alone would be confusing, people may think that
it sets a resistance to the element, when it just checks for one):
4050|ElemResistCheckFire
4051|ElemResistCheckIce
4052|ElemResistCheckLightning
4053|ElemResistCheckEarth
4054|ElemResistCheckPoison
4055|ElemResistCheckGravity
4056|ElemResistCheckWater
4057|ElemResistCheckWind
4058|ElemResistCheckHoly
4059|ElemResistCheckRestorative
405A|ElemResistCheckCut
405B|ElemResistCheckHit
405C|ElemResistCheckPunch
405D|ElemResistCheckShoot
405E|ElemResistCheckShout
405F|ElemResistCheckHidden
having it like this both works, and makes it easier to edit the specific values instead of figuring out what hex value would turn on a specific resistance. i am looking for a halve/weak/etc. version for this in the ai, so i will see what i can find. these should be accurate too, i tested ice and cut, and they are in the same order as usual.

ok, a question, why do you have certain unknowns in the dat file as flags, or as dwords, how did you determine that they are indeed those types, or were you just guessing?

edit: the 4050-405f flags (you have it as elemental defense?, the check sephy uses iirc) are enabled when the character has some sort of elemental resistance (at least null, i will test others as well to see).

going to check the 4050-405f more real quick

Most of the sizes are guesses or just placeholders for later testing. Your first two groups are correct, but it seems that the third is incorrect. At least, according to Akari, 4058 is mostly untouched until the command 96 comes along and sets it based on the element it is given. Here's a snippet from the updated help file (not yet uploaded).

Quote
Code: [Select]
0006: 02 20A0 PSHA (20A0) Type (02)
0009: 60 08 PUSH (08) Type (01)
000B: 96 EDEF
000C: 12 2070 PUSH (2070) Type (12)
000F: 02 2070 PSHA (2070) Type (02)
0012: 01 4058 PSHA (4058) Type (01)
0015: 80 MASK
0016: 60 05 PUSH (05) Type (01)
0018: 42 GEQU
0019: 90 STRA

What it is doing is going through all the targets in the second pop and checking the elemental modifiers of the element reference in the first pop. In this case, this is element 08h which is Earth (because the third bit is active). Then for every target in the mask that has a modifier OTHER than three (which is normal damage) it puts that target into the script owner's target address (2070h). Then it stores whatever modifier it finds for that element in that targets' resistance data (4058h).
That explains the next part of the script. It checks all the targets in the target mask and sees if their greatest elemental modifier is greater than or equal to 5. So it detected a monster that either nullifies or heals from earth elemental damage. It then puts this information back into the target address (2070h) for further use.

Resist is technically anything with a modifier of greater than 3. This is halve, nullify, absorb, full-heal. So if there's flags for one of those modifiers, there's probably flags for all of them. That is to say, there isn't flags for any of them.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-09 21:19:43
ok, i understand it now. i guess i'll just get back to searching for other things then >:D. what is the initial status thing, it doesn't seem to add the status, or even make you immune to it, so what is it supposed to do?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-09 21:50:47
I'm always amazed that the developers thought it would be a good idea to bundle each scene with its own attacks. This wastes storage space as there are MANY duplicates. However, it is simpler than having one file with 1000 attacks worth of data and having that loaded at all times with the limited active memory you're alloted. But I digress....

I got basic script copy-paste functions "working". It's basic, but not too friendly a system. It's probably as simple as it can be and still be practical, and as complicated as it can be and not take very long to perform. It's going to be up to the user to work with it and it probably has a bug or two. I'm not completely ready to release it yet. Maybe tomorrow, then I'll get WM up to snuff with the latest changes I've made in PrC.

I'm still thinking of adding a patching "mod file" that will save the changes you've made along. This is going to be more complicated for PrC because there are more pieces. Oh well. I'm still pleased that PrC is smaller than the file it edits (225K vs 264k) as opposed to WM (+730K vs 22K :( ). I'm sure it'll grow larger once I add the ability to modify formations.

I'm out for the day. Later.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-09 23:04:56
i just got killed by a level 144 MP enemy with 6 attack that did 150 damage a hit XD. im going to have SO much fun with this >:D. i never knew it'd allow over a lv 99 to happen, but i guess i was wrong... now if only i knew where the status immunities and item info is in the ai... if there is any :P. guess ill have to update my little spreadsheet to accommodate the higher levels allowed...

yay... a level 255 with 255 attack can reach the new 30k limit easily >:D.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-10 09:40:48
i just got killed by a level 144 MP enemy with 6 attack that did 150 damage a hit XD. im going to have SO much fun with this >:D. i never knew it'd allow over a lv 99 to happen, but i guess i was wrong... now if only i knew where the status immunities and item info is in the ai... if there is any :P. guess ill have to update my little spreadsheet to accommodate the higher levels allowed...

Level 144?

Actually, that doesn't come as much of a surprise. The game allows for any level between 0 and 255; it's just impossible to level up past 99.

BTW NFITC1, can anything be done about the amount of time it takes to write battle dialogue in the AI editors? At the moment I have to type everything byte-by-byte after converting what I want to write with FF7text. Is it possible perhaps to copy and paste text into a single "argument" box? (my apologies for such non-technical terms :-P)

Title: Official Proud Clod 1.0 Topic
Post by: Izban on 2009-06-10 10:13:37
quick question using this would it be possible to make it so depending on your level your enemys level and stats increase too along with the xp/ap received from winning
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-10 10:19:41
Stat increase? Yes - Safer Sephiroth does it.

But I'm not sure about increasing exp/ap  :?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-10 12:38:32
BTW NFITC1, can anything be done about the amount of time it takes to write battle dialogue in the AI editors? At the moment I have to type everything byte-by-byte after converting what I want to write with FF7text. Is it possible perhaps to copy and paste text into a single "argument" box? (my apologies for such non-technical terms :-P)

Yes, actually. I don't like the way it is either. I'll see what I can do today before the next version comes out.

quick question using this would it be possible to make it so depending on your level your enemys level and stats increase too along with the xp/ap received from winning
Stat increase? Yes - Safer Sephiroth does it.

But I'm not sure about increasing exp/ap  :?

42B0|AP
42C0|Gil
42E0|Exp


Modify those to get what you want. The max for AP is 65535 and the max for Gil and Exp is 16777215 each.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-10 13:16:35
quick question using this would it be possible to make it so depending on your level your enemys level and stats increase too along with the xp/ap received from winning

actually, i am doing that at the moment (not exp/ap yet, i will see about that later ;)), and it'll take a good bit of room to do, especially if done to every enemy in the game. as of right now, with the basic outline and only level and hp modified, it took around 90 bytes to do, but adding another stat will not increase it too much more at a time.

edit: heh, for an enemy to increase all stats by a set and random amount (the absolute max size for the level ai, though no error checking yet...), including exp/ap/gil is around 400 bytes, so i will need my compressed ai project as a base :P. it is doubtful that all enemies will be getting both a set and random amount for everything, but even still it will be up there.

Level 144?

Actually, that doesn't come as much of a surprise. The game allows for any level between 0 and 255; it's just impossible to level up past 99.

actually, it woul be possible to go past level 99 with the main prty if you have the ai for the party make global variables for all stats and exp, have the post battle ai for the characters add the experience value of all enemies with the dead unit flag set, and do the leveling in the post battle as well (though i dont know the exp equation if there is one, so the amount needed may not be too pretty :P). the only real problems is that size could become an issue pretty quickly that way (likely psx users will not be able to use it), and i do no know which global variables are available for use, and there would need to be plenty of them.

ok, remind me NOT to fight a lv 99+ MP enemy, cuz it could result in me having -16000 hp left after one hit :P. i guess that is what happens when testing, especially when random stat increases per level isn't added in yet, i just wanted to get the basic outline for every stat done.

i was glad that there wasn't any slowdown in-game when the ai leveled two enemies up to 99+, but it may not be the same with a group of 6, and could be slower on the psx version. i guess that if it does slow down, that is the price to pay for better balance ;). i also noticed that sense shows levels over 99 as well, but i guess that isnt a surprise since the game allows it anyway.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-10 16:57:28
On the PC version the scripts can run through probably millions of lines of script in a single frame and not experience slow down. The PSX on the other hand only has a slightly better than 33 Mhz processor and could run through a few dozen thousand lines of assembler code in a second. While each script can be quite long and there be no noticeable performance issues (slow-down of video/audio), the only negative side effect is a slight pause before any action takes place. That's not a big sacrifice to the PSX/PSOne users. I'm assuming you put all these level up scripts in the Pre-Battle, right? That doesn't get executed until the battle scene is fully loaded and the opening camera stops moving. The biggest noticeable pause would be between the camera stopping and the ATB starting (this is when "Pre-Battle" is executing). It would take less than a second for probably anything less than Eligor's script to execute. Well, take that for what it's worth since Eligor never runs more than probably 50 of those 1288 lines of script he has during any given turn. The moral of the story is that everyone will just glare at each other a little longer before actually attacking. :)

The Text editing in codes A0 and 93 are about to get 1000 times easier to use. KM recently reminded me to go back and fix that (I had planned to do that for a while, but I have a habit of not bothering something that works) and it's turning out quite nicely. So, everyone, I'd like to introduce you to Proud Clod 1.1.5 now available on the first post.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-10 17:05:08
and i claim the first download >:D. how exactly can you read the A0 script if it required the debugging console? i would really love to have the ability to use it for the pc version (or at least the psx one for experiments), and i found nothing about it anywhere, and i know i could put it to good use :P.

hmm... the copy/paste is fine for now, but there is a little problem with it, when injecting into a fresh area, because it puts a 73 opcode in automatically, when injecting a whole script, it carries over the new end statement as well, so you either have to delete one, or copy one less byte from the code. also, i thought you were adding the ability to turn off all status inflictions (and maybe the element/target info as well)? not really needed, the copy/paste function is all i really needed right now anyway (kinda held off on continuing my mod since this release would have it :P).

let you know if i find any bugs with the copy/paste function, though hopefully there isnt any ;).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-10 17:24:56
and i claim the first download >:D. how exactly can you read the A0 script if it required the debugging console? i would really love to have the ability to use it for the pc version (or at least the psx one for experiments), and i found nothing about it anywhere, and i know i could put it to good use :P.

A0 is worthless unless you're playing on an emulator that can display the debug window or a hacked ff7.exe. If you find a way to see this, let us know as I'm sure it'd be more than useful for finding out the unknown address values.

hmm... the copy/paste is fine for now, but there is a little problem with it, when injecting into a fresh area, because it puts a 73 opcode in automatically, when injecting a whole script, it carries over the new end statement as well, so you either have to delete one, or copy one less byte from the code. also, i thought you were adding the ability to turn off all status inflictions (and maybe the element/target info as well)? not really needed, the copy/paste function is all i really needed right now anyway (kinda held off on continuing my mod since this release would have it :P).

This is intentional and mostly unavoidable. Well, sort of. I can make the default range copy everything except the 73 at the end, but for now it's up to the user to handle that. It'll be in the next update.

let you know if i find any bugs with the copy/paste function, though hopefully there isnt any ;).

too slow. I already found one. Not with the copy/paste though. I have no idea what's causing it or how to fix it. The animation window is worthless now because it can't close in some situations. It works fine on XP, but the Vista machine I have won't display the close button because the window is too small. Strange.... I'll fix that ASAP.

EDIT:
There. I fixed the Animation Window (although now it looks strange in XP) and made the default copy range not include the script end. It still can if you want it to, though. Let's pretend that the earlier update didn't happen. "LALALALALA THIS IS ME PRETENDING IT DIDN'T HAPPEN! LALALALA~!!"

Seriously though, a little word of warning. Don't try to "outsmart the copy function" by giving it decimal values or anything like that. It'll copy what you tell it to in the format that it's given so just change those six characters. If I wanted it to be super user-friendly I'd make another window to handle this, but I don't feel that it's worth it or necessary.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-10 17:47:11
i only use xp, because i hate vista with a passion >_>. so far things seem ok, it is c/p'ing fine so far, other than the end thing. do you know of a way to add something to the core of the game, or like a way to make a global ai? i realized that i will probably have to make the enemies level up ad different speeds depending on the level range (like the party), and that will take a lot of extra coding, which isn't a good thing. as of right now, making a lv1 MP enemy having 100 hp and gaining about 40-50 hp a level is a lot of hacking in the beginning, especially when a lv 1 cloud of mine is doing only around 12 damage a hit.

i kinda doubt there is a way to easily add to the core, if that much is even known, and i highly doubt there is a way to make a global ai (maybe using the link command? but would they have to be in the same scene?) that would function that well, and if it did it probably wouldn't increase the speed in which it levels enemies up, but if you know of anything, let me know :P.

hmm... the kernel updating thing is still up to it's old tricks, not wanting to stop updating the kernel... i thought you had this fixed? it is still making the test kernel file.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-10 18:38:51
hmm... the kernel updating thing is still up to it's old tricks, not wanting to stop updating the kernel... i thought you had this fixed? it is still making the test kernel file.

It's creating a correct kernel at least....
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-10 18:56:53
meh... i need a break from vii, so i think im gonna play iv-vi, and beat them, before i go for perfect saves (iv and v i always quit right before the final dungeon, but beat vi a couple times... wanna get them off my mind), so i think a short hiatus is in order :P. i will still be hacking vii when i am not playing them, but it will be less...

i guess my bug checking of PrC will have to wait ;).
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-06-11 10:03:48
Yay, love the copy function. It was kinda stupid of me suggesting not to copy the AI. It kinda must be changed after you've copied it anyway to not create duplicates.

You planning on making a formation and battle setup editor as well? It shouldn't actually be that hard. I don't know what the data do from offset 0x0058 to 0x0117 does though. I guess it has something to do with camera movement when the battle starts.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-11 12:23:14
You planning on making a formation and battle setup editor as well? It shouldn't actually be that hard. I don't know what the data do from offset 0x0058 to 0x0117 does though. I guess it has something to do with camera movement when the battle starts.

Join the club. No one really has much of an idea of what any of it does. That's what's going to be so cool about this. Probably intro camera and Formation ID are in here. I know that Kudistos Megistos has done quite a bit of formation editing and may know a few things about it. After this, everyone'll be able to make changes and test them out to see what things actually are! :D When work dies down again I'll get on it. For now, however, looks like SceneEdit is your choice for hexediting that data. :(
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-11 13:42:55
i dont think the formation id is in there, i looked through the code and only found one of the formation id's (012c), but that is in a couple places through the entire code, so i am betting that the formation id's are automatically set, each scene having four formation id's, making the last formation number in a scene the scene's number (starting from 0) x 4, so i do not think there is a way to directly change that.

more than likely, the camera as said, the battle type (back attack side attack, etc) that can happen, or is the only one that can happen (like the one triple MP fight on the way to the train with cloud after the first reactor, and air buster), stuff like that.

i will look into it a little to see what i can determine.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-11 13:53:57
Join the club. No one really has much of an idea of what any of it does. That's what's going to be so cool about this. Probably intro camera and Formation ID are in here. I know that Kudistos Megistos has done quite a bit of formation editing and may know a few things about it.

A little bit ;-)

But I haven't had much luck with that part of the battle setup (since I focused on the bit from 0x0008 - 0x0058), but I do remember that it controls the camera.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-11 15:28:01
i dont think the formation id is in there, i looked through the code and only found one of the formation id's (012c), but that is in a couple places through the entire code, so i am betting that the formation id's are automatically set, each scene having four formation id's, making the last formation number in a scene the scene's number (starting from 0) x 4, so i do not think there is a way to directly change that.

Then "formation ID" may be scene_id << 3 + formation index

Code: [Select]
0 1 2 3 4 5 6 7 8 9 A B C D E F
[ - - - - - - - - - - - - ] [ ]
        scene_id            form_index

Looking at Hojo's battle (in scene 214) he points to formation ID 035Ch when his battle is done. This does fit the above example and translates to Scene 215 formation index 0 (Heletic/Heretic Hojo) WHICH subsequently points to formation 0360h that translates to Scene 216 Formation index 0 (Lifeform:Hojo) which points to nothing. So it appears that this is correct. Good eye there, secondadvent. Therefore formation index cannot exceed 03FFh
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-11 21:15:32
yay, i was useful :P. i will keep looking through 0x58-0x117 to see what i can learn. so far i have the air buster scene up (looking for ambush data), the initial mp scene (no escape, just checking to see whats all here, and the guard hound battle has back attack capability), as well as the triple MP scene, that holds the fights before cloud jumps onto the train (has two normal, and a side attack fight), just for hopefully pinpointing something.

the air buster scene, which has three air buster formations, only the first of which seems to be used, as it is the only one that doesn't have the generic 10-27-78-ec-70-17-00-00-90-01-2c-01 that appears in most normal battles (possibly normal formation info, there are four groups of 12 bytes, the first seemingly different from the others except in the extra air buster battles, then two which i think are the normal and special formation info, then a 12 byte filler, which may be for a third battle type, havent seen it in use yet). going to see what all happens when i change a group of this for the first fight in the game, since it is the easiest to reach, and is guaranteed), to see if the second two groups are camera data, and may help to find out the first group's data.

if you guys know anything, even something small, that'd be helpful :P. lets figure this thing out >:D.

im beginning to see somewhat of a pattern, but it is too soon to know for sure. if you made a little addition to PrC to just display the raw data for now, or a simple program to make a hexdump of every scene in the scene.bin, then i know it would be much easier to decipher. i will see what i can do, with what i have now by testing the things in-game, since i cannot really sleep right now, considering my bed is soaked from it raining >_>.

my bad, deleted because of idiocy on my part *faceplam*

ok, from what i can tell, the info stored is only the camera data for the three types of battles, normal, the special formation (back attacks and such), and pre-emptive special formations. i noticed that the camera starts in the same original position each time, and moves however the battle setup 2 data tells it to, so the main battle setup holds the starting camera data, while the second one "should" just be camera data, i noticed nothing else different. here is a couple pics taken using different camera layouts:

safer/seraph sephiroth:
(http://static1.filefront.com/images/personal/s/secondadvent/167186/aovdlvweir.thumb250.jpg)

lifeform hojo:
(http://static1.filefront.com/images/personal/s/secondadvent/167186/eccuezwtow.thumb250.jpg)

guard scorpion:
(http://static1.filefront.com/images/personal/s/secondadvent/167186/pyhouupwqf.thumb250.jpg)

sorry the pics are small, they shrunk much farther than they were <_<.

gonna mess around with the settings to see if i can narrow down the different axis and such, i think the victory scene's camera data is there as well, since it looked different than normal for the lifeform hojo battle, panning to view all three people, even though only cloud was there. get back with hopefully some decent results.

ok, i have some findings on the workings of the camera, they aren't extremely accurate as of yet, but more than i have seen anybody else put up :P:

0x1 is the zoom, lower makes it zoom less, and higher zooms far in, and if far enough the camera will flip back around as it zooms out on the other side, showing the party on the left, enemy on the right

0x3 will lower the camera and tilt the angle upwards, giving a possible view from under the ground when the value is low, moves up high and angles downward for an aerial view when high.

0x5 pans the camera to the right, facing inward when low, and to the left facing in when high.

0x7 low barely zooms and turns the camera around, high zooms more, not turning around

0x9 moves the camera down, facing down when low, high facing up when high

0xb moves the camera right, facing right when low, left facing left when high

as you can see, there are two versions of each camera movement, ones that move a certain way turning to the center, and the oes moving the same way that pan to the outside.

0x0/2/4/6/8/a seem to be smaller tweaks to the ones next to them, because i can't really tell much of a difference when they are used. they may be the degree in which the camera curves for each following movement, but i havent tested yet. having all 00 or ff is the same, the camera moves directly forward, and into the ground, where you cannot see anything. i will test more tomorrow, i am kinda tired right now :P.

all that really needs checked is the even numbered ones, and the extra formations, to see which is bad special formations, and which are good specials. guess some of the more fun stuff is in the main battle setup ;).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 14:29:43
ok, i have some findings on the workings of the camera, they aren't extremely accurate as of yet, but more than i have seen anybody else put up :P:

0x1 is the zoom, lower makes it zoom less, and higher zooms far in, and if far enough the camera will flip back around as it zooms out on the other side, showing the party on the left, enemy on the right

0x3 will lower the camera and tilt the angle upwards, giving a possible view from under the ground when the value is low, moves up high and angles downward for an aerial view when high.

0x5 pans the camera to the right, facing inward when low, and to the left facing in when high.

0x7 low barely zooms and turns the camera around, high zooms more, not turning around

0x9 moves the camera down, facing down when low, high facing up when high

0xb moves the camera right, facing right when low, left facing left when high

as you can see, there are two versions of each camera movement, ones that move a certain way turning to the center, and the oes moving the same way that pan to the outside.

0x0/2/4/6/8/a seem to be smaller tweaks to the ones next to them, because i can't really tell much of a difference when they are used. they may be the degree in which the camera curves for each following movement, but i havent tested yet. having all 00 or ff is the same, the camera moves directly forward, and into the ground, where you cannot see anything. i will test more tomorrow, i am kinda tired right now :P.

all that really needs checked is the even numbered ones, and the extra formations, to see which is bad special formations, and which are good specials. guess some of the more fun stuff is in the main battle setup ;).

So you're saying that the camera's controlled completely by those numbers and it's NOT pre-set indexed movements like the attacks, huh? Fascinating.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 14:36:14
from what i have seen, i may be wrong, as i just tested random things, but i know trying the same number in a different section had different effects, so either each specific section has predetermined camera movements, or a specific route for the camera is already taken, and the number just directs it in the direction, and distance the camera would move, making the first 128 combos one direction and distance, while the next 128 is the other direction.

i will test more for this here soon, i just want to fiddle with the first battle setup as well, because i want to know where the chance for specific encounters lie, and it is either in the scene file, the field files, or a list somewhere with specific settings for each and every scene. if you do know where that is located, then i guess i dont need to look for it then :P.

i can upload more pics based on the normal battle camera movement for that battle, and just tweaking one of the values to show it's effects if you want me to. i need to do more testing anyway for the even offsets, but i do think it is just minor tweaking of the values. also, does the victory part of the battle have set camera movements as well, because i noticed that it didn't seem to alter that at all, though i did see at least three different camera movements used.

all i can say is that even with full control of the camera, without a visual representation of the current movements, it would be hard as hell to get a good camera movement made from scratch. a simple little program to show a basic idea of the camera movement may be possible for somebody to do sometime in the near future, so that the starting camera could be changed at will very easily.

i found out something about one of the unused flags for attacks, the one right under 0002h will IGNORE magical immunity (probably the attack type's immunity, so phys ignores phys immunity). i am tinkering around to figure out some things ^^.

added effect 22 causes quadra magic damage, so it seems to be split to about half strength, or is /32 instead of the normal 16, with all, i did ~950 f my normal 2k damage with blizzara, will see what happens with different damage formulas. yep, even when using an exact strength x 20 formula, the damage was pretty much halved (should have done 640 damage, but did 660 instead, so not quite halved. this is when the modifier was 255 though, still need to check for different amounts. ok, the effect modifier has seemingly random results, while 32 was causing a set damage attack that did 1280 normally do 500, a mod of 16 caused 660 again, like 256. im not quite sure how this works exactly, but it does cut the damage by some amount.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 16:43:39
i found out something about one of the unused flags for attacks, the one right under 0002h will IGNORE magical immunity (probably the attack type's immunity, so phys ignores phys immunity). i am tinkering around to figure out some things ^^.

added effect 22 causes quadra magic damage, so it seems to be split to about half strength, or is /32 instead of the normal 16, with all, i did ~950 f my normal 2k damage with blizzara, will see what happens with different damage formulas. yep, even when using an exact strength x 20 formula, the damage was pretty much halved (should have done 640 damage, but did 660 instead, so not quite halved.

So did you read my latest update on WM topic that said I noticed that Unused 0004h actually does something but is never active? :)
I just tested this ability and it did not work. So maybe you're meaning something that I'm not understanding. I understand this to be if the enemy is immune to magic (it's 4029 is set to 1) then the attack will do damage if this flag is set. This didn't work when I made the Midgar Zolom immune to magic this way. I'd like to know if 0002h has ANY effect at all. I mentioned once that Pandora's Box once oddly affected a Grangalan if this was off, but I couldn't get it to do that again.

Most Additional Effects are still not known either so continue to test them. 22h could be called "halve damage" or something.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 16:46:18
against the mp enemy, with the mag immunity set to one, the unused 1 caused normal damage, i dunno if you tried unused 2 instead, but it is unknown 1 that breaks this immunity, and i am testing with different elemental resistances as well, to see if it causes normal damage no matter what the resistance (ignore resistance maybe?).

well it doesnt stop an enemy from absorbing, but it does kill mag immunity, i will see if this works for any other resistances (doubtful), and if it works the same way for phys immunity.

making them immune to ice (using blizzara still :P) still causes 0 with it on, so it must just pierce through the ai flag. testing phys now. nope, it seems to only ignore magic immunity, maybe another flag ignores this?

hold on, i made some errors on what i just posted... removed >_>.

ok, nothing seems to ignore the physical immunity flag, but the magical one is passable so far.

what exactly happened with the grangalan that you said screwed up in some way? it could have been something in it's ai that caused issues.

speaking of grangalan, i looked at it's script, and i think i will use what it does to activate one of the grangalan jr.s, after turning an enemy invisible, to see if it is possible to bring it back in this way. nope... still nothing <_<. seems like moves will have to be used then to do this, at least until it is figured out completely.

ok, an update on the unused 1 flag... it seems that it will cause magical damage to be 0, and status effects to miss if the magical immunity is not on, but if it is, it will act as iff it were off. i guess this is a way to make an attack damage magical immune enemies, that only affects those enemies. haste missed when this unused flag was enabled, but worked when immune to magic (at the base 255% accuracy), so this is what it appears to do.

does pandora's box always cause a weird graphical bug, where there is a transparent orb in the center right after the attack, then a weird hovering shadow effect shortly afterwards on the pc version, or is it just the custom driver?

do you have any idea why enemies with the shoot element on their attacks do not do long range damage, while anything within the kernel will do long range damage when it's element is shoot? is it just something to do with the scene.bin itself, since it is not the main place the game gets it's attack info from, causing it to miss out on the shoot =  long range clause?

ok, the long range materia does NOT change the element to shoot, so something else has to be triggering the long range effect, because cloud 1hko'ed himself, while absorbing the mp's gunfire (which is shoot, but not long ranged).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 17:15:18
against the mp enemy, with the mag immunity set to one, the unused 1 caused normal damage, i dunno if you tried unused 2 instead, but it is unknown 1 that breaks this immunity, and i am testing with different elemental resistances as well, to see if it causes normal damage no matter what the resistance (ignore resistance maybe?).

well it doesnt stop an enemy from absorbing, but it does kill mag immunity, i will see if this works for any other resistances (doubtful), and if it works the same way for phys immunity.

making them immune to ice (using blizzara still :P) still causes 0 with it on, so it must just pierce through the ai flag. testing phys now. nope, it seems to only ignore magic immunity, maybe another flag ignores this?

Ah.. I see what I did wrong. I set both physical and magical immunity to on. 0004h forces physical damage and has nothing to do with immunity.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 19:17:00
yeah, ok then i can see it making things being forced to the physical type, since that would also explain the reason statuses would not work (even with non-damaging attacks). i wonder if there is one for the opposite, though i haven't seen anything like that yet.

any idea on the details of long range attacks, since enemies with shoot don't do long range damage, and the long range materia does not set the element to shoot (tried by making cloud absorb shoot, and he absorbed the MP's gun, but killed himself with long range materia on)? i am looking in the ai for a possible flag to give long range, but i do not know if i will find one.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 19:32:44
It's just part of the target. If the "Short Range" is off then the attack (assuming it's physical) will be long range.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 19:45:29
but the mp enemy doesnt do long range damage, that is what i am looking for here. it's machine gun attack should do full damage to back row enemies, but it does reduced damage.

why is it that blade beam's shockwave is using a fireball attack instead of the normal shockwave, does it have to be used after blade beam to have that affect, or is it something else (i turned on the blade beam property as well, but i don't know what's up)?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 19:59:08
Can't really help you with either. That Short Range is what makes physical attacks damage the back row equally. I never really played with it a lot, but that's the way it is on the weapons' targeting data.
Then again, it may only apply to the player's characters because NONE of the enemy attacks have that set and all the physical attacks do that. I don't know of any script effect that can change that.

I'm also not completely sure what the Blade Beam effect does. It's supposed to target the enemies that weren't targets and perform an attack on them based on the 1A additional effect and the effect modifier. I guess if those aren't set then weird things will happen. I'm still not sure about all the mechanics of it so let me know what you find out.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 20:27:44
ok, using ice 3 as a base, it did the ghenghana attack (a fireball) animation used by the zenene's in the shinra building (dog creatures), and while using goblin punch as a base, the attack did one of the joker's card attacks (dunno which one). i am thinking that it is looking for the blade beam attack in the scene.bin for some reason or something, and it's move of choice must depend on the  attack used to start off.

it seems to use the move specified otherwise, casting regular attacks like nothing happened (though if a value higher than 127 is entered, it loops back to the start of the list, making 128 back to cure again.

it seems like no matter which enemy skill i choose, it always leads to the same attack being used as a second strike, and for magic, the ghenghana attack. i also think i know of a way to create a long range (dealing full damage to/from back row) attack for enemies, though it is only a temporary fix, requires an extra move to be made for each attack to be made into a LR row version (as well as a new attack id), the ai changed, and it would be done by making the enemy attack have an additional effect that causes back attack damage, since all allies take 2xdmg from back attacks, and being in the back halves damage. of course this would not be possible for attacks that have an additional effect already, but for the most part it "should" work to fix this problem.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-12 21:15:12
Back on page two of the WM topic (long long ago... good times, good times :) ) the code for the Blade Beam limit is listed:
Code: [Select]
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 BeamNote the 1A 7A just to the right of the middle. That's the additional effects and the modifier. 7A happens to be the attack index of it's little aftershock wave. The shock wave's animation is 4F so when used as a limit it uses an actual index of 315. When called as a magic, this is outside the range of attacks' animations and spills into enemy animations. In this case it will use attack index 79 which looks like ghenghana, but it should be called from a limit to give the correct animation. This is because the game uses the command index as well as that animation index in the case of player's characters to get the actual animation to display (for enemies it uses attack index).
If that was too wordy or didn't make sense, it was using the shockwave attack data, but incorrectly extrapolating the animation to use.

It also probably ignores the 80h bit of that modifier which is why you're casting cure again.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-12 22:25:22
nah, i understand it, and i also found the data in the exe (searched your WM thread... i knew i saw it in there somewhere :P). i'm not entirely sure what everything is (i can directly  tell what most of it is, but still unsure on the flags), so any help would be appreciated. i want to test some things with the limits, and cloud is a good enough place to start.

ok, i think i found the byte that holds the blade beam flag (kinda weird that they are off when the bits are active, and active when the bits are off... if i am in the right spot that is  :P), and i couldn't really see anything different, though it seems weird to me that enemies hit with the shockwave are facing the wrong way in the damage animation, like the final hit against air buster, he faces the opposite team that killed him.

hmm... if an enemy is immune to magic, it causes the quake spells to miss, rather than hit for 0? that seems pretty odd to me.

ok, yeah i see what you meant by the grangalan jr being there when pandora's box was used without the flag enabled... maybe it has something to do with the spell itself, since it seems to cause an oddity on it's own, at least using the custom driver (something unknown happening i guess), or it has issues with enemies that have currently invisible friends (as in not summoned yet), so maybe the same would happen if i called upon hojo, and killed him quickly using it. the thing is, while trying with other magics with the flag turned off, it doesn't seem to show anything like what pandora's box did, just the regular death animation.

ok, PrC bug time... when trying to add something to a blank section of ai, if the first thing added besides the end statement is a string to be displayed, and then you click tab/enter/click away, the thing will give you an error message, as well as making the script vanish, and the only way to get around this is to click back onto the script section you tried to edit, skip past the error, and reenter your info (it will allow you to add the script with no trouble the second time around). here is the detailed error report:

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.IndexOutOfRangeException: Index was outside the bounds of the array.
   at ProudClod.Form2.AISectionList_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.set_SelectedIndex(Int32 value)
   at System.Windows.Forms.ListBox.ObjectCollection.SetItemInternal(Int32 index, Object value)
   at System.Windows.Forms.ListBox.ObjectCollection.set_Item(Int32 index, Object value)
   at ProudClod.Form2.Rewrite_CharAI()
   at ProudClod.Form2.EditCharAI_CellEndEdit(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnCellEndEdit(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.EndEdit(DataGridViewDataErrorContexts context, DataGridViewValidateCellInternal validateCell, Boolean fireCellLeave, Boolean fireCellEnter, Boolean fireRowLeave, Boolean fireRowEnter, Boolean fireLeave, Boolean keepFocus, Boolean resetCurrentCell, Boolean resetAnchorCell)
   at System.Windows.Forms.DataGridView.CommitEditForOperation(Int32 columnIndex, Int32 rowIndex, Boolean forCurrentCellChange)
   at System.Windows.Forms.DataGridView.ScrollIntoView(Int32 columnIndex, Int32 rowIndex, Boolean forCurrentCellChange)
   at System.Windows.Forms.DataGridView.TabToNextCell()
   at System.Windows.Forms.DataGridView.ProcessTabKey(Keys keyData)
   at System.Windows.Forms.DataGridView.ProcessDialogKey(Keys keyData)
   at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
   at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
   at System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
   at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
   at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ProudClod
    Assembly Version: 1.1.5.0
    Win32 Version: 1.1.5.0
    CodeBase: file:///C:/Documents%20and%20Settings/ryu/Desktop/ffvii%20hacking%20tools/proud%20clod/ProudClod.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    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.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.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.



also, i noticed at some random time when trying to change an opcode from 12 to 10, the field where the newly entered 10 was, was completely blank, and iirc the hex offsets were all screwed up, and there was no end statement in the disassembled code, though it was in the actual script (side effect i am guessing, fixed when i reentered the opcode).

and something else that has been bugging me for a little while, but i kept forgetting to post, was the problem that occurs when filling a box, then clicking into another box without hitting enter or tab, the data stays, and everything is seemingly fine, but this error message pops up (cut of the normal stuff at the bottom, that appears in every error message's details):

Code: [Select]
************** Exception Text **************
System.InvalidOperationException: Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.
   at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
   at System.Windows.Forms.DataGridView.SetSelectedCellCoreInternal(Int32 columnIndex, Int32 rowIndex, Boolean selected)
   at System.Windows.Forms.DataGridViewCell.set_Selected(Boolean value)
   at ProudClod.Form2.EditCharAI_CellEndEdit(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnCellEndEdit(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.EndEdit(DataGridViewDataErrorContexts context, DataGridViewValidateCellInternal validateCell, Boolean fireCellLeave, Boolean fireCellEnter, Boolean fireRowLeave, Boolean fireRowEnter, Boolean fireLeave, Boolean keepFocus, Boolean resetCurrentCell, Boolean resetAnchorCell)
   at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
   at System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)
   at System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)
   at System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.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)

also, when trying to scroll in the error detail list, it seems to kill my synaptics program, causing the scrolling to stop working. i don't know if it is something about your box, or just synaptics (which occasionally does this anyway after long periods of use, just not twice in a row in the same day, in the same box :P), but something is having issues. ok, double checked and it is the detail box causing the issues with my pointing device... i doubt you can fix this, but i can just as easily not scroll with my mouse pad whilst in it (i can scroll while not clicked inside the box, even with the detailed info open, but as soon as i click inside and even try to scroll, boom it died, though i can still move my mouse, just not the wheel).
Title: Official Proud Clod 1.0 Topic
Post by: Viashino on 2009-06-13 00:12:12
nicer program i tried it out since my forte isnt making exes its making models i thought i would try this out not bad at all.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-13 02:43:27
Viashino, thank you. It'll get better so keep watching it.

secondadvent: I know of those errors. I'm unsure what to do about it. The first one I think I can fix (I've known about it for sometime but didn't think it important enough to change at the spur of the moment), but the second one is because you're trying to go to a new box using the mouse. I designed the interface to be controlled with the keyboard so you'd hit enter over and over. I think I can add an event that catches the mouse click, but it's really fragile as it is. I'll look into it, though.

As for the Synaptic freaking out. I wouldn't worry about it. The viruses in WM and PrC are designed not to affect system performance. ;)

j/k I hope you know. I actually have no idea why it's doing that. It works fine with my Synaptic so I couldn't say.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 03:19:01
so that's why i have been getting sudden blue screens of death after being on for long periods of time... unless PrC, WM, hojo, translhextion, and/or scene reader cause "bad pool calls" or whatever the dump thingy said, then i doubt it :P.

heh, but anyway at least they are known so that they can be (eventually) fixed, and it is probably just my computer and synaptics... they never seen eye to eye very well (my comp is a quad core, and it doesn't like certain things, but then again it was one of the first quads out, at least in the usa ;)).

im going to look into more of the added effects tomorrow, and hopefully i can find the damned things in the ai i have been wanting for a while. there are plenty of unknowns to tinker with, and i bet if i set the item drop rate for the mp's to 63, and messed with the unknowns for a while, i'd eventually hit the dropped item(s) variables, the steal item (and stolen flag), and hopefully find a way to set status immunity via ai as well, so that my mod can become everything i want it to be (i'm not going to give up searching for those things that easily... if they exist, i WILL find them >:D).
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-06-13 05:00:42
This isn't about Proud Clod but has anyone find out where the Mastered Materia selling multiplier is located at on the PSX version.  I know the someone figured out the PC version.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 16:28:06
this is a quote from armorvil over in an older thread of kudistos megistos':
Quote
On the PSX version, this data is located in the SHOPMENU.MNU file. Your topic gave me the urge to do some research, and I figured out where the prices for items are located.
In this PSX file, the items' prices are located at offset 0x6854.
The price for Potion is there and is comprised of two bytes : 32 00 (50 gil). Then, two bytes after this one (I don't know what those 2 bytes are used for, they are always 00 00), there is the price for the next item (Hi-Potion) : 2C 01 (300 gils). Then, we have 00 00 again, 02 00 (the price for the X-Potions), 00 00, DC 05 for the price of Ethers, etc...

now a quote from kudistos megistos:
Quote
Look for;

Code:

00 00 00 00 20 4E 00 00 01 00 00 00


The materias are all in order of their ID number, and their data is directly below the data for weapon prices, sandwiched in between several rows of FF filler above and below; it starts with two 40 1F 00 00s and ends with a lot of 01 00 00 00s.

it should be in there somewhere, though it could take some time. if you want to look through the thread yourself, here it is: http://forums.qhimm.com/index.php?topic=7939.0

well, it's not REALLY old, but it isn't on the first page anymore XD.

hey nfitc1, if you need any psx files, spcifically the shopmenu.mnu i would be more than happy to give them to you, since i am the proud owner of both versions :P.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-13 16:33:29
Unfortunately, the master materia price multiplier (the one that makes mastered materia sell for x times the amount one pays for new materia) is somewhere else  :cry:

dziugo said that the multiplier for the PC version is in the code section of the .exe, so it probably won't be in the SHOPMENU.MNU file.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 16:52:18
what exactly does it look like in the pc version, because i could look around in the psx version (likely in the slxx_941.63 file, since that is the main file for psx games, where usually important stuff is stored... in fft, most everything about battles is in that file.

if the multiplier is 70 for the psx as well, and if it is in the scxx file, then i will try to hack and slash my way to victory :P. time for a hacked starting psx save, with a little bit of mastered materia in my possession >:D.
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-06-13 17:25:01
oh man i just looked at the file and it seems pretty damn ahrd to find.   Well good luck i tried it once actually and i give up along the way.   That 70x multiplier is a pretty big issue for balancing mods, so i pray you will find it.  If you can can you see if you can fidn the 99 item limiations?  it be nice to reduce it to 20 for star ocean style or 10.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 18:07:07
i will see what i can do while i am in the file... 99 shouldn't be too hard to find, just like 70, but there will be a lot of places to check & change, so if i do find it, it will probably take some time. i will get to work on it, and i hope i find it as well so that more psx/pc mods are available, as in difficulty mods for both versions.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-13 18:14:39
And a little warning; the different versions of ff7 use different structures and the solution for the PAL UK version (for example) might be different from the solution for the NTSC US version...

Anyway, the multiplier is at 0x0031F14F and 0x0031F19E for the PC version 1.02:

Offsets:
Code: [Select]
0x0031F14F - for actual price when selling
0x0031F19E - probably just for display in shops

I don't know anything about the coding language in which ff7 was written, so I can only see bytes in hexadecimal, and since the PSX version is encoded in a different binary language, it'll be impossible to get anything by looking for a string of hex-values.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 18:58:45
well i found a 46 near an area in the file with the main menu names (item, magic, materia... and the fury/sadness names in the menu as well), but the only master materia i have is sneak attack... my other materia didn't master for some reason >_>. time to whip out the save editor (the shop value did not change, but one affects the visual value, one the actual value, and so if i found the actual sell price, then i cannot know until i sell.

also, does the price that you get for unmastered materia go up based on ap (as in 1ap = 1 gil), or does it go up based on the max price and master ap cost? i mean it sells for 1000, and masters at 10k, would it raise 1 per ap gained, gaining master price at 1/10 of the master requirement, or would it gain 1 gil for every 10 ap gained, making it max out when mastered? i know all doesn't do this, but for smaller capped materia, if it raises one gil per ap, then it could max before hitting master, or possibly go over the cap, selling for more than master with high enough ap, and then kicking back to master price when mastered.

meh... i'll just cheat and make all enemies in the train graveyard give 65535 ap apiece :P. felt nice to master a restore materia in one go... but sux that it wasn't the right value, so the price wasn't altered at all >_>.

you are sure it isn't in the shopmenu.mnu file? there are only 84 instances of the 46 hex number, so i could try them all (those are excluding the ones in visible text strings)
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-13 19:34:54
Unfortunately, there are a lot of 46s to get through  :-D

And I don;t know anything about what part of the code determines the AP based price, but in any case, the selling cost raises by 1gil for every AP, so if materia are given a low price (and the master materia multiplier is low as well) they will sell for more when they have a lot of AP than when they are mastered.

I don't think it's in the shopmenu.mnu file, but I can't be certain. I suppose there's no harm in looking.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 19:49:11
well, the bottom most part of the shop file doesn't have it at least, but iwasn't really surprised by that. the scxx file has 255 46's in it, so that could take some time. i know changing one of them to 10 makes the menus and such not appear :P. and of those, 224 (or 234, lost count) are possible spots it could be.

just have to do some error checking then when editing the master price and the master ap cost then, or make less sellable for a good bit, making the sellsable ones as high selling as they take to master, making it essentially an ap to gil conversion. what makes the materia with a 1 master cost stay at one sell price all the time, is it just setting the sell price to 0, and the game automatically makes it a max of one?

in the pc version, there are two 16 byte sections where the value is (it is inside the section, fourth byte in), one for the actual sell price, one for the shop's display (apparently), and all but two bytes in these two sections are the same, one before, and two after the value. maybe something similar will appear in the slxx file, even if the formats are different, the layout "should" be similar for the section it is in. the value might appear in two almost identical areas, and should be pretty close together. i hope i am right about this.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-13 20:30:07
in the pc version, there are two 16 byte sections where the value is (it is inside the section, fourth byte in), one for the actual sell price, one for the shop's display (apparently), and all but two bytes in these two sections are the same, one before, and two after the value. maybe something similar will appear in the slxx file, even if the formats are different, the layout "should" be similar for the section it is in. the value might appear in two almost identical areas, and should be pretty close together. i hope i am right about this.

I've been looking for something just like that (although I haven't been looking very hard  :-P)

Something tells me it might not be quite as straightforward as that, but it will probably be less tedious than trying out all of the 46s.
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-06-13 20:44:32
The mastered price is is 70x the perchase price not the AP.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 21:19:56
well i found something... it causes the shop menu to either cause the game to crash, or just stop loading (pointer to the file maybe?) when altered, and another similar to it doesn't seem to affect the shop menu at all, but doesn't change the master price either. i will tinker some more with it, maybe it is just a pointer, and the actual value i am looking for is nearby?

also, my computer froze on me, so that put me a little bit behind...

ok, it is definitely a pointer to the menu folder or something, because even the regular menu is forzen/bugged out by the changed value... time to move on.

i also found a value that when changed cut off half of the first line of text (the top half, not removing text... making only the bottom half of the text visible)... it seems likt i may have to manually change every value one at a time until i find the right one...

going to search the shopmenu.mnu file again... just because the pc version has things in the exe doesn't mean the psx one has it's info in the main file (the .exe has the info there, but it doesn't have the menus split into separate files, just has one lgp file for the menu stuff, so it is possible that the value is in the mnu file for the psx).
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-06-13 22:33:53
Yeah thats why i quite when i was trying to find it. 
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-13 22:40:47
well, there are only 42 spots in the shopmenu.mnu file that i havent changed (changed all in one fell swoop, it froze, then i changed everything that was below ~42c0, so all that is left to change is the stuff mixed in above. it shouldn't take too too long to find, though i may have to stop here shortly, since my friend is over.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-14 18:19:50
ok, from what i have seen, if it is stored as a 46 hex number, which it should be, then it isn't in the shopmenu.mnu file from what i can tell, though i did find some unusual things (all were changed from 46 to 10):
0x17bd - selling materia would freeze the game
0x2929 - same as above, but for buying items (froze on entering the buy screen though)
0x2d02 - changed all itme buy prices that were shown to 16777215, still cost the same as usual though
0x2dc0 - screwed up the item icon in the buy windo (not the sell window though)
0x301d - causes it to freeze when selling a materia
0x3052 - changed the sell prices to 1 (not sure if it actually sold for 1, didn't check)
0x316e - made the prices very odd (not 16777215, but very high), made the remaining gil off as well, but sold as if nothing changed, so normal sell price
0x4151 - froze the shop on entering

i am still going to bet that it is in the slxx file, since that is like the .exe of the psx version, unless it isn't stored as 46 or some reason, but i am not going to check right now. i want to check for some more ai unknowns, a much easier thing to do than search a large file for one (or two) values.
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-06-14 19:10:44
Well you dont have to do it, gotta give you props for trying.  Hopefully you dont quit like i did, but take your time.

Man i'm messing with too many games and i really wish i knew something about compression.

Edit:  0x3052 - changed the sell prices to 1 (not sure if it actually sold for 1, didn't check)

IF this one works i'm happy with this also lol.  Need to check on it later.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-14 19:43:29
it was for the actual items, not materia, so it wasn't what you were looking for.

4280|ReturnedGil - the gil an enemy gives as soon as they are killed
4290|ReturnedItem - same as above, but for the items

these are how the vice type enemies (thieves) give back the item they stole from you, but it can also be used to have any enemy give an item/gil right away when killed.

ok, is it possible for an enemy to not drop an item, even with a 63 chance of dropping it? because if  they aren't able to not drop it, then the area from 41a0-41bf may have some effect on the drop rate, since i had one occurrence without any potions, and a few with only one drop...

and bug report, if you click on open with a scene.bin already open, then cancel out, and try to save, it will give an "invalid path" error, likely because it stopped pointing to the current open scene, and became pointing to nothingness.

i also think that something with PrC is causing internal issues with my computer, as i have gotten multiple BSoD (blue screen of death) errors, all with the message IRQL_NOT_LESS_OR_EQUAL, and the most recent one happened after experiencing the previous bug a few times (may not be related), but it did cause some oddities with the ai (like the newfound variable not setting right), but now it is working and i was able to get it to drop an item on the first attempt this time, while the bugged time was causing errored items to appear in my inventory.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-15 16:44:42
ok, PrC bug time... when trying to add something to a blank section of ai, if the first thing added besides the end statement is a string to be displayed, and then you click tab/enter/click away, the thing will give you an error message, as well as making the script vanish, and the only way to get around this is to click back onto the script section you tried to edit, skip past the error, and reenter your info (it will allow you to add the script with no trouble the second time around)

I think this is now fixed.

also, i noticed at some random time when trying to change an opcode from 12 to 10, the field where the newly entered 10 was, was completely blank, and iirc the hex offsets were all screwed up, and there was no end statement in the disassembled code, though it was in the actual script (side effect i am guessing, fixed when i reentered the opcode).

I think this is fixed too.

and something else that has been bugging me for a little while, but i kept forgetting to post, was the problem that occurs when filling a box, then clicking into another box without hitting enter or tab, the data stays, and everything is seemingly fine

Not planning on fixing.

and bug report, if you click on open with a scene.bin already open, then cancel out, and try to save, it will give an "invalid path" error, likely because it stopped pointing to the current open scene, and became pointing to nothingness.

Fixed in two lines.

Also fixed a bug where trying to enter a 93 or A0 opcode in a blank script would crash the program.

Added a new feature (http://img200.imageshack.us/img200/2137/formation.png). Currently very basic (but fully-functional) because most values are unknown and making this was easier than making a lot of "unknown" fields.

I'm also considering a multi-pass disassembling feature that would pass through the script more than once (hense "multi-pass") to make a more accurate disassembled code. No more of that scripts ending in an else block, etc. Only thing is that it would probably take more time. For longer AIs this could take minutes. Of course the single-pass disassemble (the one that's there right now) would still be there, but another button would exist below it to allow for multi-passes.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-15 18:23:59
looks good, i think that i am correct on half of the battle setup 2, i have to do more checking though, but got tired of  havng to recreate the scene.bin from pieces :P.

still trying to find the drop/steal (and morph :P) items in the ai, but finding the gil/item drop thing that is used from the thief enemies like vice, so i can use that as a last resort if needed.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-06-15 18:26:18
Added a new feature (http://img200.imageshack.us/img200/2137/formation.png). Currently very basic (but fully-functional) because most values are unknown and making this was easier than making a lot of "unknown" fields.

Oooh, I like the look of this  :-D

I'm also considering a multi-pass disassembling feature that would pass through the script more than once (hense "multi-pass") to make a more accurate disassembled code. No more of that scripts ending in an else block, etc. Only thing is that it would probably take more time. For longer AIs this could take minutes. Of course the single-pass disassemble (the one that's there right now) would still be there, but another button would exist below it to allow for multi-passes.

As long as both options are there, this sounds like a good idea as well.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-15 18:45:49
heh... i found a set of flags for making an enemy receive a status when hit (similar to setting an attack to a 63 chance, but for all attacks received), gonna check to see if it works for magic as well and not just attacks (using blade beam with death on it caused an enemy to not be hit by it, and be made unable to be completely killed... i had to use life so i could kill it :P). going to check for more about it, but it starts on 4040, and should end on 405f.

still not entirely sure on the mechanics behind it, because i killed one enemy, and the other gained shield, not the original one hit.

it seems to not cause the status to the main enemy, but causes it to the other enemies in the group... it could just be to the other enemies of the same name... still more checking to do :P. it caused a status to a guard hound when set to an MP, so it could be used on bosses to give their allies a status when hurt (does not work on the first enemy so far, even with two of the same in battle).

ok, from what i can see it acts like a status version of blade beam, causing statuses to enemies in the same row, but will work at any time. however it will not work on the original enemy so far...
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-15 21:52:31
OK, I uploaded the working version for now. There is no multi-pass that you can use yet. As soon as I figure it out I'll let you know.

The current one is actually between a one and two pass. It's decoding everything line by line then going in and spacing everything out. This is, of course, much of what I want to change with the multi-pass, but keeping track of all the jumps is hard. So far it's doing about four passes and it's still not right. Don't take that to mean it's going to take any longer.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-06-16 07:54:07
Yeah, the formation editor looks good!  :-D

I noticed that the 0x402C flag was unknown. When it's checked, the death animation (red fadeout) will not occur. And when the enemy is killed, the idle animation will simply continue. Well, at least this is true on the single enemy I tested it on.  :-P There kinda was a huge facepalm in the AI of my "phoenix boss" where the enemies' models wouldn't be visible when revived. Thus I checked the 0x402C flag and upon death the idle animation simply continued (though not targetable and quite dead).

And I use the 0x4020 and 0x4023 flags unchecked to make the enemies unmarketable, invisible and not needed to kill to end the battle. I can't quite remember but as I recall 0x4023 is the targetable flag. At least if both are unchecked, the above is true. Sorry if this was old news.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-16 09:25:00
yeah, i said about the NoDeathAnimation flag a little bit back and the 4020 is the flag to make them invisible, and you will also need to turn off the main battle script and enable the death flag (not quite sure on this) to make them stay dead.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-16 13:50:01
I haven't been updating the .dat file that comes with all this so....sorry. :)

secondadvent, can you hit me with what you know about the formation data all in one post?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-16 18:22:07
yeah, give me a couple minutes to find my notes, and i will post it all here.

ok, most of what i know is about the setup 2, which is where all of the camera data is for the starting camera movement, which is fully customizable from what i saw.

there are four groups of 12 bytes, each (sans the last, which seems to be padding, or a fourth type at one point, like with the fourth enemy id, and the fourth manip/berserk move) is for a specific battle type: normal, special (bad), and special (good, preemptive). i do know that the first one is for normal battles, but i did not check the latter yet (easy to check, would just take a litle bit to get both types of encounter in the guard hound/MP area... i think i will find that out after this post). now, here is what i know about each specific byte:

0x0 - *

0x1 - a low amount zooms slightly forward, facing forward, a high amount zooms past and faces backwards (to the party)

0x2 - *

0x3 - a low amount moves down and faces up (can even see through the ground if low enough), a high amount moves up facing down (aerial view)

0x4 - *

0x5 - a low amount moves the camera right, and looks left (center), a high amount moves left and faces right (center)

0x6 - *

0x7 - a low amount zooms little to none, facing backward, a high amount zooms in facing forward

0x8 - *

0x9 - low moves the camera down, facing down, a high amount makes it move up, and face up

0xa - *

0xb - a low amount makes the camera move right, facing right, a high amount makes the camera move left, facing left

*these may have a smaller effect (tweaking reasons i guess) on the larger ones next to them (0x0 would work with 0x1, 0xa with 0xb), setting them alone did not give that much of a visual difference to me, but it is likely that this is what these are used for.

setting them all to 00 or ff will result in the same thing - the camera moving perfectly centered forward, past the fight and into the ground where you cannot see anything, so they are used to turn off a part of the camera it seems.

i haven't really toyed around with the other battle setups yet, though i could if you wanted me to, all i have done in them is make a chain battle, but for easy testing purposes (no running through the game for one enemy, or if i made changes to one i passed if i would play through to test). it shouldn't be too hard to figure them out, just have to do a lot of playing around with things.

do you think you could make it create a hexdump of all the battle formation data from all the scenes, separated by scene, so that it would be easier to figure out some of the things? i used a hexdump of a couple scene files' setup 2 data, and is partly how i came about figuring it out (values to try out and the layout).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-16 20:21:18
There should be four sets of coordinates to the camera movement: Initial Position, Initial Direction, Final Position, Final Direction. I believe these 12 bytes are Final positions, but the next 12 don't seem to influence initial position at all. In fact, initial position may be somewhere else.

This is what I gather from what you posted:

0x0 - 2 bytes - Finishing X-Position
0x2 - 2 bytes - Finishing Y-Position
0x4 - 2 bytes - Finishing Z-Position
0x6 - 2 bytes - Finishing X-Direction
0x8 - 2 bytes - Finishing Y-Direction
0xA - 2 bytes - Finishing Z-Direction

All of which are apparently signed. Of course, this is dependent on what you're calling the X, Y, ans Z axises. Here's a graphical representation of what I mean:

The very middle of the battle field is point 0,0,0. You're Cloud in the Middle slot. You're at point 0,0,0800 or so (where the middle character is) looking down the Z-axis. This is what you see:

Code: [Select]
              8       
              9       
              A       
              B       
              C        <- Y-Axis
              D       
              E       
              F       
7 6 5 4 3 2 1 0 F E D C B A 9 8   <- X-axis
              1       
              2       
              3       
              4       
              5       
              6       
              7       

Now, from a bird's eye view (at 0,8000,0) looking down the Y-Axis it looks like this:

Code: [Select]
              8       
              9       
              A       
              B       
              C        <- Z-Axis
              D       
              E        (enemy side)
              F       
7 6 5 4 3 2 1 0 F E D C B A 9 8   <- X-axis
              1       
              2        (ally side)
              3       
              4       
              5       
              6       
              7       

So the first three words are X,Y,Z coordinates of where the camera will remain. The second three words is the point on the field where the camera will remain focused.....
After testing this I've confirmed that is what is happening. I still don't know where the initial camera position/direction is located. I know it's not the same every time.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-16 21:30:37
yeah... i suck at camera info, but at least you were able to understand it enough :P.

i have no clue where the initial data would be, possibly in another file in the battle folder, since i doubt that the setup 1 would have it. the fact that the 10 bytes are seemingly the same in many formations (first two ff, then something like 2c01/e703) kinda makes it unlikely to be the camera data though... have to try toying around with this to see what it does.

the initial isn't the same for every different formation, but it is the same for a specific formation every time you fight it. the victory/fanfare thing's camera changes even in the same battle, but it seems to be the same ones throughout. maybe this data is stored in the camdatx files?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-16 21:39:58
I think the cam files store movements used by the attacks and the victory cam is randomly selected. It may be based on the one that did the killing blow like in FFIX.

I managed to get a text dump of the data from the Setup1 and Setup2 sections in each formation and discovered that 0x6 and 0x7 aren't used and that 0x8 - 0xF are used for something related to the Battle Arena. There are four sets of words that look like indexes. Let me give you an example:

From TFergusson's Enemy Mechanincs FAQ:
Quote
Until you get the Tiny Bronco, Battle Square will have the following battle
sets:

  1st Battle - Group A
    2x Mono Drive
    2x Grunt
    3x Grunt
    1x Guard Hound
This group happens to have indexes of 0168h, 0171h, 0178h, 0185h in those words in that order.

Quote
 1st Battle - Group B
    2x Guard Hound
    1x Grashtrike
    2x Chuse Tank
    3x Grashtrike
This group has 0170h, 0179h, 0184h, 018Bh in that order.

See what it is yet? Keep reading if you don't.

Likewise, these groups:
Quote
   7th Battle - Group A
    1x Malboro
    1x Blue Dragon
    1x Gigas
    1x Dragon Rider
  7th Battle - Group B
    3x Gremlin
    2x Wind Wing
    2x Ironite
    1x Tonberry
Has the following: 0324h, 00E3h, 031Bh, 02FDh

The Battle with Maximum Kimaira (battle 7 of the Special Event) is four 03CDh. Using the indexing method pointed out by secondadvent, this points to scene 243 formation 1 where the Proud Clod for the final Special Event battle exists! So these four words are indexes of candidates for the next Battle Arena battle to take place.
If a formation doesn't appear in the Battle Arena then it gets 03E7h (999) stored in these places.

Now all that's left is the final number.

UPDATE:
Default values for the Unknown section in Setup 2 are:
Code: [Select]
10 27 78 EC 70 17 00 00 90 01 2C 01 10 27 78 EC 70 17 00 00 90 01 2C 01Note that the pattern 10 27 78 EC 70 17 00 00 90 01 2C 01 is repeated twice. Maybe this is two sets of something. The "first" unusual battle that you can encounter occurs in scene 13.
Mandragora x4
Levikron x1 Elfadunk x2
These two do not have the default values, but they also repeat down the middle. Many battles do not do this like the Grangalans. So it looks like it's two sets of 12 bytes whose purpose is still unknown..
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-17 17:43:26
do you think i could get a copy of that hexdump? i kinda thought that something would have to be in the scene files about the battle arena, and i did notice a few fights that did not occur anywhere else, sans the battle arena, like the one triple bloatfloat battle in the 80's near air buster, which is a possible encounter in group a's second fight. maybe we can finally figure out the scene.bin in it's entirety?

we would also need to find here the strength boost comes from, and it is probably not from the scene files, more likely from the exe.

yeah, i knew those were the default ones, since most every enemy has them, one of the three air buster formations has it set for all three groups of data, making the default the initial camera movement.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-17 18:44:50
Filefront's not uploading right now (grrr), but I'll tell you what's in the file. There's a setup1.txt and a setup2.txt totaling about 174K in size. Setup1.txt is a hex dump of all the setup1 segments labeled and organized by scene and formation.
Sample:
Code: [Select]
Scene 0:
Formation 0:  00 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Formation 1:  04 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Formation 2:  00 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Formation 3:  31 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Scene 1:
Formation 0:  04 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Formation 1:  04 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 00 00
Formation 2:  43 00 FF FF 02 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 02 00
Formation 3:  07 00 FF FF 01 00 FF FF E7 03 E7 03 E7 03 E7 03 FD FF 05 00
etc.
Scene2.txt only contains those first two blocks of 12 bytes that haven't been identified, also being labeled and organized by scene and formation, followed by a "true" if the two 12-byte blocks are equal and a "false" if they are not.
Sample:
Code: [Select]
Scene 0:
Formation 0:  B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE True
Formation 1:  B0 1D 6C EE 38 31 08 07 A8 FD A4 06 B0 1D 6C EE 38 31 08 07 A8 FD A4 06 True
Formation 2:  B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE True
Formation 3:  37 26 E1 EE 99 22 09 00 05 01 6B FC B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE False
Scene 1:
Formation 0:  B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE True
Formation 1:  B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE True
Formation 2:  B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE B0 36 60 F0 40 1F 0A 00 D4 FE 0C FE True
Formation 3:  10 27 78 EC 70 17 00 00 90 01 2C 01 10 27 78 EC 70 17 00 00 90 01 2C 01 True
etc.
There wasn't any point in examining the rest of the setup2 because the last 12 bytes are always NULL and I know what the first 12 bytes are.

EDIT:
Filefront works now. (http://files.filefront.com/setuphexdumpszip/;13909363;/fileinfo.html)
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-17 19:28:58
ok, i got them. i will check over the info, test things in-game, and so on to see what all i can find (put finding the psx master materia sell price, and the drop/steal/morph items in ai on hold for now). are your planning on doing one for the formation info as well? i could do it if needed, from a fresh scene.bin, since mine is massively edited atm :P, but it would take me some time to put together. i don't know if you are ripping them scene by scene, or as a whole through a program, but i would have to do it all manually >_<.

going through the beginning of the game part listing enemy formations that appear, so that it is easier to find out if any special formation data is held here. not going to write it all, just up to GS, since that should give a good idea of the basic info.

i see what you were talking about with the battle arena data, it is pretty easy to see with it lain out like that, not that i would have seen it right away :P. the double mp fight at the beginning has a repeating 012c (300) thing going on, i don't know what that is about as of yet, but at least a big portion of the first setup is pretty much known now, though it will still probably take a good bit more to completely understand it all.

hmm... a quick search showed that it was the only one with that data in it, what does that mean... was it like a dummy fight for the arena at some point? it seems to be pointing back to itself rather than to another enemy group. if i am seeing correctly, the 03e7 is pointing to an enemy that has all 00 for the arena data (dummy enemy), and the PrC that is the final in the arena also has all 00 in the arena data, so i am guessing that it acts like an end statement, or something like that (03e7 calls a dummy enemy which has 00 in the data, and formation 0 has a similar dummy enemy which points back to the final dummy enemy, something there has to prevent it from looping, or the 7th fight ends the battle chain, and the jump doesn't matter)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-17 20:14:24
I now believe I know what they are. They are each 12 bytes worth of camera positions. I don't think I have any doubt of that now.

The first one is definitely "Primary camera position" (index 0?) that the camera moves to at the start of a battle
The second one I think is "Secondary camera position" (index 1?) where the camera will move to when the enemy changes state. An example of this would be the Midgar Zolom rising up or Hell House revealing itself.
I guess the third one is "Tertiary camera position" (index 2?) that could also be called upon at some time.

These is triggered by an enemy's animations. Not attacks or AI, but AI might be able to change it now that we know what we're looking for. There's info in the animation for an attack that tells it "Move the camera to index 1" or something. These are all camera data so I guess it's up to the enemy on whether or not to change the camera to a different position.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-17 20:25:03
hmm... i knew it had to be camera data, but i thought it was for different battle types :P. i wonder exactly how the game determines when to use the change camera animations? it may be helpful to look in the enemy animations themselves (the raw data in the battle.lgp file), but i have no knowledge of animation data, so i wouldn't be of too much help there right now.

i will see what happens with the remaining offsets in setup 1 (0x10-0x13, check what happens when 0x6-0x7 are changed, and check out how the escape counter works, since it is only listed as a counter, with no details  :|), and get back to you soon, hopefully.

0x6-0x7 doesn't seem to do anything when changed, but it could be something internal, or dealing with the arena as well, and since i am not at the arena to test it out, i do not know for sure if it does anything at all.

what does 2020 (camera data) in the ai work with, does it work as a mask using certain variables, or is it called from another mask? if it is a mask itself, some of the unknowns could be working with it alone, and could be why some don't seem to do anything when set to an enemy. i was wondering this to see if the camera could be called upon in the ai like the game does for the initial camera movement (if it works through ai the same way, it could be used as a way to make multiple camera movements, or to actually change the camera without an animation).
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-17 21:19:14
It apparently returns an index between 0 and 2, but setting it doesn't seem to change anything.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-17 21:35:00
hmm... i figured that it would be the key to changing the camera in battle. oh well.

anyway, i am trying to figure out what each of the flags in the escapable byte(s) is for... so far they are all on by default, and bit 2 seems to handle the escaping, if it is off, there is no escape. trying to learn what the others are... bit 1 seems to be off all of the time, could be what turns on/off the spoils pages, have to get back on that one :P. bit 4 is off in some of the later reactor 1 fights, and seems to do nothing when turned off... could be dealing with the specific area, since GH has it off as well. get back when i determine more about it.

all on seems to act like the normal battle, but something has to be different since on of the normally off flags is set. whatever these enable/disable is probably anything from a wide range of things.

going to make a list of used values to see if i can narrow down the usage more.

bit 3 may be used as something for side attacks, since air buster has this turned off in his fight.

ok, values i have seen are:
FF, FD, FB, F9, F7, F3, F1, EF, ED, EB, E9, E3

bits seen disabled are bits 1-4, and any combination of that (sans all four off, most off is all but 1)

f3 is used in the bizarro sephy fights (first formation in each, not sure which is used), f1 is used in all sephy fights, and air buster. e3 is used in the diamond weapon formations, and ruby has ef, so maybe bit 1 has something to do with temporary escape prevention?

0x11 seems to be always ff as well, so i think it was just used as a placeholder for something, something that was removed at some point, or just to make it an exact 20 bytes, so should have no real use.

ah... ok, so far this is what i have:
bit 0 - ?
bit 1 - ?
bit 2 - on, escapable, off no escape
bit 3 - on, victory dance, off, no victory, fade to spoils pages
bit 4 - ? (may have something to do with enemies with special death animations, like how the sword dance enemy, as well as many other machine enemies break apart rather than just fade away)
bit 5-7 - unused?

hmm.. i noticed accidentally that in terence's enemy mechanics guide that the levrikon enemy uses the camera data in it's ai to use an extra attack if the conditions are right:
Quote
AI: Setup
{
   If ([2020] == 2) Then
   {
      [0000] = 1
   }
}
AI: Main
{
   If ([0000] == 0) Then
   {
      Choose Random Opponent
      1/4 Chance: Use Flaming Peck on Target
      3/4 Chance: Use Bird Kick on Target
   } Else {
      Choose Random Opponent
      1/4 Chance: Use Bird Kick on Target
      3/4 Chance: Use Flaming Peck on Target
      [0000] = 0
   }
}
when exactly would it do this, becuase it could answer what the third set of data would be for, since it seems to be looking for that information. and in the ai itself, i noticed that the other enemies handle the chocobo script, as in when you can catch it, not the chocobo... that is pretty strange to me...

and introducing the initial camera data... offset 0x13 of setup 1. i am guessing it is from specific set starting places, so tweaking it may not be as easy as the actual camera final position.

now i know these are known, but i don't see them listed out anywhere, so here goes... for the formation type (offset 0x12 of setup 1):
00 - normal fight
01 - preemptive
02 - back attack
03 - side attack
04 - attacked from both sides (pincer attack, reverse side attack)
05 - another attack from both sides battle (different maybe?)
06 - another side attack
07 - a third side attack
08 - a normal battle that locks you in the front row, change command is disabled

i am guessing that the different side/attack from the side battles are just for different starting formations. kinda hard to tell by using the first enemy fight, since the enemies do not move where they are supposed to, like your party does - they have to be programmed into position by the formation data. command 08 would be a nice addition to a difficulty mod by disabling the back row for your party, which is an evil thing when the enemies are powerful >:D.

as of right now, setup 1 should be around 99% figured out... just a few flags to learn and that should be all... the same could be said for setup 2, all we need to know is how the second and third are called upon. i guess i should hit up the formations themselves to see what i can uncover there.

hmm... al that isn't really known well is the one unknown, and the initial flags, and it will take some time to look through it all, but i already know bit 0 in the first byte of flags is initial invisibility. bit 1 seems to be dealing with side attacks, and how you receive back attack damage. if no enemy had this flag disabled, you will not receive any back attack damage at all it seems, and it has to be set on the side that is at your back, or else it would be happening in reverse, taking back attack damage when facing the enemy.

the value at offset 0xa seems to make certain rows normally unreachable until the rows in front of them are killed (but can be hit with ranged and magical attacks). i tested this on the back attack triple blood taste battle (a battle normally using this unknown), which had it's unknown the same as it's row, and i could normally attack the back row even without long range attacks. so i am guessing that the value is essentially used like "if the value is less than the row, then all enemies within that row must be killed before able to be hit by short range attacks". 0 seems to be like an off switch, and is off in most battles.

the value does not have to be set in only back attacks either, it can be done in any type of fight. there is even at least one normal fight in the game which uses this ability... an example would be formation 0179, a singe whole eater, and two hedgehog pies... the back row hedgehog cannot be attacked with short range attacks until the front two are killed.

the second hell house (hidden one) is packing the invisible flag, and bits 4 and 3 off as well, so it uses two at once. bit 4 is the main ai flag, and bit 3 is the targetable flag... it seems like the flags that are able to be set in the ai are initially set here, so 4020-403f should be able to be set from the formation data initially if i am right, and it keeps the same order as in the ai.

i guess not... turning on what should have been the physical/magical resistances did nothing, so maybe it is just the first 8 that are in the same order then?

ok, to make it easier to read the previous findings for the initial flags (first byte only):
bit 0 - invisibility flag
bit 1 - side attack flag (changes facing, needed for those "behind" the party, usually the left side of the screen)
bit 2 - probably the same as the 4022 flag in the ai
bit 3 - targetable flag
bit 4 - main ai flag
bit 5 - ?
bit 6 - ?
bit 7 - ? (could be current facing, which deals with back/side attacks, and switches when attacked from an enemy with the same facing, because that is when back attack damage occurs)

i think that is enough for tonight... my eyes hurt :P.

ok, addition to the 0xa offset unknown... it acts more like this - if an enemy is currently in the 2nd row with one value there, and an enemy is in the first row with the same value, it is unreachable with short range attacks until the front row one is killed. this can be with multiple numbers as well... if there are four enemies, two front, two back, and the front were to have, say 1 and 2, and same for the back, then only one back row enemy could be reached if the enemy in front of it (same number) were killed, but the other would still remain out of reach. this is also true for multiple rows. i used the 5x proto machinegun battle, setting each one's row higher than the next (1-5), and set all of their 0xa values to 1... i could only attack one at a time with cloud's sword, though i could freely attack with magic just the same.

setting someone to 3 makes you unable to hit with short range attacks as long as there are any in the front row with a 1 or 2, so a group of five, two set to 1, and two set to 2 (or any combo really, just one would work) would block access to the one set to 3 (if it was behind everyone... if it were in row 2 with the second set of each, it would be able to be hit then), until ALL enemies were killed in front of it.

ok, this is how the flow works: if there is a 1 in front of a 2 or 3, they are out of short range until it is killed. if a 2 is in front of a 3, the three isn't able to be hit just the same, so all 1's and 2's need to be killed for a three to be killed (if it is in the row(s) behind the 1's and 2's). the same is for 4,5,6, but they will not work with 1,2,3, only with their own group. also, if a 3 is in the front row, any 1's or 2's behind it cannot be reached until the 3 is killed, kind of reversing the usual role.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-06-18 16:29:42
Some of my notes

Code: [Select]
+14 battle setup 1
    00 [][]     battle location ID.
    02
    03
    04 [][]     Set to 1 if previous battle result &0x40. Store this to 800f7db2. Some related to escape (maybe escape counter)
    06
    07
    08
    09
    0A
    0B
    0C
    0D
    0E
    0F
    10 [][]     some flags checked as &10 during enemy init. If (this & 4) == 0 then add 0x08 to previous battle result. Make this&fffb if previous battle result &08. Add 0x04 bit to this if previous battle result &40. Looks like escape flags
    12 []       camera data byte (0,1,8 - CAMDAT0.LZS, 2 - CAMDAT1.LZS, 3,4,5,6,7 - CAMDAT2.LZS). Checked if this ==0 during enemy init and store 1 here if few conditions met.
    13 []       store (random byte & 3) + 0x60 here if previous battle result &0x40.

In addition to this +12 byte contain formation data. As follows 0 - 0, 1 - 1, 2 - 2, 3,5,6,7 - 3, 4 - 4, 8 - 5
According to formation type set position of players (enemy position sets from formation data) and their timers.
As I remember formation 5 used in sephiroth battle.

Initial timers are as follows

normal - (player:random(0-ffff)+e000 - max_timer, enemy:random(0-ffff)+e000 - max_timer)
player advantage - (player:fffe, enemy:random(0-ffff)/8)
enemy advantage - (player:0, enemy:random(0-ffff)+f000)
special (sephiroth?) - (player:fffe, enemy:0)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-18 16:40:19
So can 0xA be expressed as "short-range order"? Look at the battery caps x6 battle:

There are three rows and this is a representation of their 0xA values:

Code: [Select]
Row 1:     04
Row 2:   06  0C
Row 3: 03  04  18

So from your explanation, Row 2 cannot be targeted (we'll just assume a short range attack) until row one is defeated. Then, Row three can't be attacked until one of them in row two is defeated. What happens in the game is this:

Code: [Select]
Row 1:     04
Row 2:   06  0C
Row 3: 03  04  18   <-- only Row 1 is targetable

Row 1:     XX
Row 2:   06  0C
Row 3: 03  04  18   <-- only Row 2 is targetable

Row 1:     XX
Row 2:   XX  0C
Row 3: 03  04  18   <-- only 0C and 03 are targetable

Row 1:     XX
Row 2:   06  XX
Row 3: 03  04  18   <-- only 06 and 18 are targetable

These are obviously directly related to the A value, but I can't see how, exactly. It's almost like "if there is another enemy in the row ahead that has a higher order than 'me' then 'I' can't be targeted". But that doesn't work in the first or third scenario. Row probably plays a bigger role in this too. This is all this battle tells me:
A 04 in row 1 can cover a 06 and 0C in row 2.
A 06 in row 2 can cover a 03 and 04 in row 3, but not a 18 in row 3.
Likewise, a 0C in row 2 can cover a 04 and 18 in row 3, but not a 03 in row 3.

Now I made this scenario:

Code: [Select]
Row 1:     01
Row 2:   01  02
Row 3: 01  02  03

What happens in the game is this:

Code: [Select]
Row 1:     01
Row 2:   01  02
Row 3: 01  02  03   <-- only Row 1 and Row 2 02 is targetable

Row 1:     XX
Row 2:   01  02
Row 3: 01  02  03   <-- only Row 2 is targetable

Row 1:     XX
Row 2:   XX  02
Row 3: 01  02  03   <-- only Row 2 02 and Row 3 01 are targetable

Row 1:     XX
Row 2:   01  XX
Row 3: 01  02  03   <-- only Row 2 01 and Row 3 02 are targetable

That was very strange....can anyone offer any other clues?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-18 16:59:35
@akari type 5 is used in a couple battles, some are dummy battles. here are the locations of each fight if you want to check them out (starting from scene 0):
scene 1 - formation 4
scene 9 - formation 2
scene 23 - formation 3
scene 25 - formation 4
scene 172 - formation 3
scene 180 - formation 4
scene 188 - formation 1

i couldn't really tell what was up with them, because the battle wasn't set up for it (used the first MP fight :P), but these should give a better idea of what goes on in the sephy version.

for the enemy advantage... wouldn't the amount given overflow if the random was too high? either way i guess they would still end up going before you most of the time.

@nfitc1 yeah, this is how it seems to be working so far... i haven't gotten to that fight yet (started at 75, the MP fight, and am around 200 now, then will go back to previous ones... odd, i know :P), so i am unsure how the higher numbers work, and i havent done a ton of testing, but what i wrote seems to be how that part is working at least so far.

i can see the 4 covering a 4,5 or 6, or a 6 covering a 4 or 5, since multiples of 3 can cover the smaller ones in the same group only?, and it seems that the multiples of 3 cannot cover each other unless? they are the same number. perhaps multiples of 3 can only be attacked if all non-multiples of three are destroyed in the rows in front of them (same row has no effect). this is what i think is happening form my earlier testing and your results from this battle, but i cannot be entirely sure unless i do more testing on this, so just speculation for now.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-18 17:31:51
UPDATE for formation 0xA: a 0D in row 2 (and probably anything higher) can cover a 03, 04 and 18 in row 3 so the higher it is in row 2 the more it can cover.
a 0B in row 2 can cover a 03 and 18 in row 3, but not a 04 in row 3.....? Maybe this isn't about values. Let me look at this in binary:

Code: [Select]
Row 1:           00100
Row 2:      00110     01100
Row 3: 00011     00100     11000

I think that's it! I tested this a little and this is what I got:

Say Enemy A is in row x with an 0xA of m and enemy B is in row y with an 0xA of n:
Enemy b cannot be targeted if ((y < x) and (m and n) > 0).
I just changed the 0C in row 2 to 1B (from 01100 to 11011) and the 04 in row 1 (00100) didn't cover it. Looking at my other example (now in binary):

Code: [Select]
Row 1:     01
Row 2:   01  10
Row 3: 01  10  11   <-- only Row 1 and Row 2 10 is targetable

Row 1:     XX
Row 2:   01  10
Row 3: 01  10  11   <-- only Row 2 is targetable

Row 1:     XX
Row 2:   XX  10
Row 3: 01  10  11   <-- only Row 2 10 and Row 3 01 are targetable

Row 1:     XX
Row 2:   01  XX
Row 3: 01  10  11   <-- only Row 2 01 and Row 3 10 are targetable

It fits! Unless anyone can find a situation where this doesn't work this is what I'm going to call it.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-18 17:39:48
sounds good to me ^^. we now have a fully working new part to use that was there the whole time :P.

i think i may try to find the psx master materia data now, since a good bit of the formation data has been opened up more, i know it isn't in the shopmenu.mnu file, since i checked the entire thing (if it is stored as 46 in the hex, 70 normally, then it isn't in it :P). my guess is that it is in the slxx file, since that is like the main part of the game, everything starts from there.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-06-18 17:55:33
@akari type 5 is used in a couple battles, some are dummy battles. here are the locations of each fight if you want to check them out (starting from scene 0):
scene 1 - formation 4
scene 9 - formation 2
scene 23 - formation 3
scene 25 - formation 4
scene 172 - formation 3
scene 180 - formation 4
scene 188 - formation 1

i couldn't really tell what was up with them, because the battle wasn't set up for it (used the first MP fight :P), but these should give a better idea of what goes on in the sephy version.

for the enemy advantage... wouldn't the amount given overflow if the random was too high? either way i guess they would still end up going before you most of the time.

Camera type (or battle type 8) set formation type 3 (enemy advantage). You need to look at battle type 8 for formation type 5. This is hardcoded. But formation type are one of the major thing in battle formations (positions, rows, target mask, directions and so on)

If timer greater than ffff if starts from 0 again.

By the way, battle camera switched in animation scripts. (You discuss this while ago)
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-18 18:26:55
ok, ok, my bad then :P. i get it now...

i will probably be off for a little while, maybe a day or so to play ffvi, since seeing typhon (aka chupon) gave me the urge to play >:D. i will see if i can find the psx master materia multiplier first, but i may not find it.

ok, i think i am going to continue working on my main mod, because it has been left out in the cold for a while and probably needs fed  :lol:. if you want help in finding anything out, let me know cuz i will be still keeping an eye on this thread.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-23 05:22:38
hey nfitc1, do you think you could make it so that PrC can create ai dumps, showing both disassembled and coded (or just the normal coded, you could just manually disassemble the script) forms so that you wouldn't have to look through two different PrC instances to compare ai?

if so, could you also possibly implement a way to one, import the ai back in from the dumped file (like for restoring older versions of ai instead of manually doing it, which is nice for when the enemy is the only one in the game, and you lost the old version of the ai. it could be easier to do if you made prc create an ai dump for every enemy, so that you wouldn't have to make it point to a specific place in a file, just have it point to a single file (name the files based off of the scene and enemy number in the scene, like scene 75, enemy 0, the MP enemy). you could make the format of the files look exactly the same as in PrC's ai section, the opcode, then a space or two, then the argument, and then a new line, making it pretty easy to read, and should be easy enough to import back in.

i could see a problem being if someone were to make changes in the files, if they made it formatted differently, because that could cause errors to happen during importing. this could also be a way to easily import ai to different areas of a scene without having to copy, but would be more of an asset when importing to a different scene.bin altogether.

also, how is PrC coming? you kinda fell off the front page when i started my mod (i took away the life support :roll:). are you still working on the copy/paste function (not that it doesn't work, or is difficult to use, just wondering  :-P), and how is the multi-pass disassembler coming, because i would really like to see that when it is done?

ok, i know this will likely be very hard to implement, but could you possibly make it so that when you click on a specific area of the disassembled code, it will jump to that area of the code to the left (i know, not an easy feat to do)? you could just make the main things like self, target, enemy, etc. masks, and variables clickable, since they would be the easiest to keep track of, and are the key pieces of coding to want to look for anyway (when disassembled, make every variable store it's starting offset somewhere for the disassembled script to change the current position of the coded section, so 0x and 1x opcodes would trigger this). if it is too much to ask for, then forget i even asked :P.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-23 13:36:10
hey nfitc1, do you think you could make it so that PrC can create ai dumps, showing both disassembled and coded (or just the normal coded, you could just manually disassemble the script) forms so that you wouldn't have to look through two different PrC instances to compare ai?

Something I've been meaning to implement, actually. Dumps are very nice when you want to compare what's what. That's how I figured out the "Binary cover flags". Details of which are now on the wiki at the bottom of the battle scenes page. Let's plan for this happening sometime early next month. I've got other family-related obligations to perform until that time. Keep in mind, however, that dumping disassembled scripts will likely take nearly an hour and require polishing.

if so, could you also possibly implement a way to one, import the ai back in from the dumped file (like for restoring older versions of ai instead of manually doing it, which is nice for when the enemy is the only one in the game, and you lost the old version of the ai. it could be easier to do if you made prc create an ai dump for every enemy, so that you wouldn't have to make it point to a specific place in a file, just have it point to a single file (name the files based off of the scene and enemy number in the scene, like scene 75, enemy 0, the MP enemy). you could make the format of the files look exactly the same as in PrC's ai section, the opcode, then a space or two, then the argument, and then a new line, making it pretty easy to read, and should be easy enough to import back in.

No. A MUCH easier thing to do would be to re-open the scene.bin and retrieve that single script, so I should probably add a "revert" button to do just that.

i could see a problem being if someone were to make changes in the files, if they made it formatted differently, because that could cause errors to happen during importing. this could also be a way to easily import ai to different areas of a scene without having to copy, but would be more of an asset when importing to a different scene.bin altogether.

See why I don't want to import from a flat file? Dumping single scripts to a file wouldn't be that big a deal, I suppose.

also, how is PrC coming? you kinda fell off the front page when i started my mod (i took away the life support :roll:). are you still working on the copy/paste function (not that it doesn't work, or is difficult to use, just wondering  :-P), and how is the multi-pass disassembler coming, because i would really like to see that when it is done?

I actually just came back from a FF concert in Dallas, TX. It was very well done and they did perform "One Winged Angel" even though it wasn't on the program. Oh, we also saw a exclusive pre-teaser for FFXIV. About all I got out of it is that the world will be called "Eorzed" and that it'll be an online game like XI. Likely everything in that teaser will change by the time the game gets released.
Other than that, I've been checking here regularly to see if anyone needs bugs fixed. I've been taking a break from PrC because it works the way I want it to and now it's just a matter of adding more useful features.

ok, i know this will likely be very hard to implement, but could you possibly make it so that when you click on a specific area of the disassembled code, it will jump to that area of the code to the left (i know, not an easy feat to do)? you could just make the main things like self, target, enemy, etc. masks, and variables clickable, since they would be the easiest to keep track of, and are the key pieces of coding to want to look for anyway (when disassembled, make every variable store it's starting offset somewhere for the disassembled script to change the current position of the coded section, so 0x and 1x opcodes would trigger this). if it is too much to ask for, then forget i even asked :P.

I've thought about this and even played with the idea, but it's not possible in VB.NET (at least I don't think it is) to reposition the text cursor in a text box. If anyone can tell me how I'm all ears.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-23 21:48:39
i saw some of the things i figured out in the wiki too... did you do that? :P.

anyhow, today i am hacking breath of fire iii, something very little is known about (already figured out 90% of the basic item/equipment info, same going for the attacks), and i am slowly figuring out the enemies, which have a set place in the files. rather than making a file for all enemies and their formations, and calling on these from specific areas, they made it so that the enemies are part of the area data, so you can have up to 8 enemies, and i think 18 formations per area, with the possibility of easily strengthening enemies by area, so rather than making new enemies, and eating up more space, you just use specific sprites/animations, and the little enemy programming does the rest (136 bytes for the entire enemy data, 8 for name, 12 for stat, and 9? for resistances, the rest is mainly moves and such, and items).

so far, it has been pretty easy to figure out the information, just because of how simple everything is in the game, and i am going to be working on a mod for it as well alongside ffvii, but vii will take much more work (have to revamp my leveling system because of a snag, an space it takes), where a simple little full-game patch for bof3 would probably take under a month to do, even just a few weeks (most of the time is just figuring out the info).

i dont care how long it would take to dump, as long as it dumped them, and separate files would still be preferred, because it is easier to compare that way, rather than needing to search a massive file.


and about the cursor positioning, i found this: http://www.java2s.com/Tutorial/VB/0260__GUI/Setcursorposition.htm, but i don't know if it is what you are in need of or not.

a little thing on how to get the cursor position is here: http://www.devx.com/vb2themax/Tip/18831, but it doesn't say how to repoint it, and i do not know how it would react with scroll windows, it could keep the same position, even if you scrolled the screen down, and left the mouse in the same spot.

try searching around google with "positioning cursor in vb.net", or looking at the cursor class (what some sites said). i know nothing about vb.net, so i cannot do anything other than point you to sites i found with similar info, but i think it will take a good bit of code to add the feature if you can do it with scrolling windows.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-23 21:59:33
i saw some of the things i figured out in the wiki too... did you do that? :P.

probably ;)

anyhow, today i am hacking breath of fire iii. . . .

This board is for discussion of Square-related RPGs. BoF is Capcom.

i dont care how long it would take to dump, as long as it dumped them, and separate files would still be preferred, because it is easier to compare that way, rather than needing to search a massive file.

Separate files?! That's going to be nearly 700 files, but if you don't mind sorting through all that then I'll go for it. The dumps will load faster that way anyway.

and about the cursor positioning, i found this: http://www.java2s.com/Tutorial/VB/0260__GUI/Setcursorposition.htm, but i don't know if it is what you are in need of or not.

a little thing on how to get the cursor position is here: http://www.devx.com/vb2themax/Tip/18831, but it doesn't say how to repoint it, and i do not know how it would react with scroll windows, it could keep the same position, even if you scrolled the screen down, and left the mouse in the same spot.

try searching around google with "positioning cursor in vb.net", or looking at the cursor class (what some sites said). i know nothing about vb.net, so i cannot do anything other than point you to sites i found with similar info, but i think it will take a good bit of code to add the feature if you can do it with scrolling windows.

Not even close to what I would need.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-23 22:13:19
meh... i kinda figured that the cursor things i found wasn't what you needed, but i don't really know vb.net, so i was just trying to throw some stuff out there :P. i know capcom != square enix, just kinda tossing the info out there. i'll stop with the bof talk then  :-). i could probably make a topic about bofiii in the unrelated section, since there are many hackers here, but not sure how that would go, or if anybody would even care...

i am used to sifting through massive amounts of files, and having multiple files named with the scene# and enemy# would make tracking things down much easier if you know where the info you are looking for is located in the scenes. it would also probably be best if it were to make a folder to dump it all in, because having the files just pop in whatever folder would be a little messy >:D.
Title: Official Proud Clod 1.0 Topic
Post by: Izban on 2009-06-24 06:40:01
you could take that one step further and have it so that it makes a folder named scene001 and have the enemys from scene 1 in said folder and so on and so forth
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-24 06:59:09
yeah, but then it becomes overflowed with unnecessary folders... there are only 3 enemies per scene, so each folder would only have three files, and a sort by name in the single folder would order them from 000 to 255 by itself (and if not, since windows likes to sort numbers weird sometimes, by date modified, because it wouldn't create all files at the exact same time.

ok, not sure if you know about this yet or not, but there is a bug when trying to inject a section of code to a blank (just 73) ai script - object reference not set to an instance of an object:
Code: [Select]
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ProudClod.Form2.PasteScript_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.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.Button.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)

you can get around this by just typing in a value, say 90, and then paste, deleting the added value afterwords.
Title: Official Proud Clod 1.0 Topic
Post by: DragonZombie on 2009-06-25 03:41:42
Uhm, I'm a layman  :| I've been trying to copy and paste enemy skill attacks (specifically some of the ones in the Crater since by the time you get them they're worthless) however when the enemy monster attempts to cast the spell he stops right there and the battle remains motionless until I shut it down. So what am I doing wrong?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-25 05:07:32
you have to set the enemy to use an animation or it will just sit and do nothing because it is waiting for an animation to use.
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-06-25 10:46:09
Does anyone has problem downloading Proud Clod or is it just me? I seem to be unable to connect to filefront.com. Isn't there any mirror link on Skydrive, rapidshare, mediafire, etc.?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-27 02:29:12
I want everyone to know that I'm keeping up with the bugs and most of them have been fixed. I'm currently working on a new feature. I won't tell you what it is, but I'll give you a hint as long as you don't read too much into it: the next version will require DirectX.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-27 02:57:29
O_O

if it has something to do with what i am thinking (if it does, i'd be amazed), then that would be awesome-o. if not, then that would be kewl as well, knowing you ^_^.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-27 17:02:32
If you're thinking the thing that it will be, don't count on it looking very cool. It's hard enough just getting graphics to display correctly. Unless I REALLY want to sink dozens of hours of research into this, it likely won't look very snazzy, but will still be fairly useful.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-27 21:13:22
it working >>> it looking nice.

as long as whatever it is works, then i have no complaints :P. if my eyes explode because it is the most horrible looking thing in existence... then i may complain a little bit >:D.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-29 16:35:46
OK. suspense is ove (http://img200.imageshack.us/img200/3955/testbatttle.png)r. Now I know it works (http://img200.imageshack.us/img200/9619/testformation.png). ;)

Learned a lot of interesting things in the process. Like the viewing angle is only about 50 degrees.

PS - the gold boxes represent the front row while Cloud, Vincent, and Barret are in the back row. Hence the discrepancy.
Now I just have to relabel a few things and this'll be ready to be released!
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-06-29 22:06:51
very nice :P. i knew you were probably doing this, it is exactly what i thought ^^.

does it show the entire camera movement yet (doubt it since it is early in the making), from the starting point, or just the final position? eventually being able to load the backgrounds and enemies from the other files in the game would be amazing, to give a visual picture of a battle formation without having to actually track it down, but that would be WAY in the future, if you ever do it XD.

i gotta say, being able to see the final position alone is great for custom formation making, no more mass in-game testing for one formation, or memorizing what specific values will point to, so not only do we have full control of the enemies, we have full control of almost the entire scene.bin now :D.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-06-29 22:17:34
does it show the entire camera movement yet (doubt it since it is early in the making), from the starting point, or just the final position? eventually being able to load the backgrounds and enemies from the other files in the game would be amazing, to give a visual picture of a battle formation without having to actually track it down, but that would be WAY in the future, if you ever do it XD.

I'd love to do the movement, but since I don't know what index points to what this isn't likely to happen. Unless, of course, someone can point me to them. It's likely one of the camdatx.bin files, but I don't know which one(s).

Also, loading the actual models is not a high priority for me. MAYBE within the next year I'll look into this, but it took hours just to make those stupid cubes so don't count on much. Also, since it's not a common format I'd have to do all the vertexing by hand. I don't wanna do that. I'll let someone else handle that.
Title: Official Proud Clod 1.0 Topic
Post by: darkrandom12 on 2009-06-30 07:51:14
Does anyone has problem downloading Proud Clod or is it just me? I seem to be unable to connect to filefront.com. Isn't there any mirror link on Skydrive, rapidshare, mediafire, etc.?

You're right, I tried to download it just now and it's not working. A re-up or different mirror would be great :)
I can't wait for the new feature! :D
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-06-30 07:59:13
^ Well, I'm afraid a reupload wouldn't do for me. My ISP and Filefront seem to have a legal problem with their incompatible terms of services. :( Although it is just a rumor, but the fact remains that there is a service outage.
Title: Official Proud Clod 1.0 Topic
Post by: Izban on 2009-06-30 13:49:58
you could always contact Borde about using some of Kimera's source to get the models working it also has limited animation support too and the fact that that may cause further updating of kimera would be plain awsome
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-01 14:40:41
I'll look into getting another mirror. I've still got that mediafire account. Would that work?

UPDATE:
Freakin' wow! I can now move the camera position and center around in real-time and see what position looks good. Now I might really have to load models. :)
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-07-01 18:04:55
This looks really good; it seems as if we can now edit almost everything in the scene.bin that's been discovered. When I get my computer fixed, I'll see if I can find out about some more of the unknown things in the file.
Title: Official Proud Clod 1.0 Topic
Post by: Prince Lex on 2009-07-01 19:59:18
I'll look into getting another mirror. I've still got that mediafire account. Would that work?

UPDATE:
Freakin' wow! I can now move the camera position and center around in real-time and see what position looks good. Now I might really have to load models. :)

That's freakin amazing! I can't wait to play around with that if you ever release it!
Title: Official Proud Clod 1.0 Topic
Post by: Chrysalis on 2009-07-01 21:18:53
guys if you need mirrors to provide download links message me, I can provide ftp access to webspace, and users wont need to fill in captcha forms etc. direct download links will work.
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-07-02 10:07:20
I'll look into getting another mirror. I've still got that mediafire account. Would that work?
Oh, thanks a bunch, NFITC1. Yes, Mediafire is just fine. Mediafire and Skydrive are my favorite. (I hope my ISP don't dive headlong into legal issues with any other service provider.)
guys if you need mirrors to provide download links message me, I can provide ftp access to webspace, and users wont need to fill in captcha forms etc. direct download links will work.
Thanks for your offer. At the moment, any mirror is just fine.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-02 20:16:16
Whew! I finally got the formation editor window to act the way it should. It does a lot of neat things. The camera can move to about anywhere in any way and the enemies can be positioned and/or aligned to an axis, another enemy, or a player's character. Just need to do a few more bounds checking and it'll be released tomorrow. Didn't get the formation labeled or the multi-pass disassembling working. Take what you can get. ;)
I'll put it on Filefront and Mediafire so everyone can get it.

UPDATE: OK, new version's up now.
After all this work on it I'm forced to conclude that the PSX can't handle arrays of 3. This would explain the "fourth" enemy ID and "fourth" camera being NULL. It must have been an indexed array. This almost (but not quite) explains some of the NULLs in the KERNEL.BIN as well.
Title: Official Proud Clod 1.0 Topic
Post by: Izban on 2009-07-04 05:24:56
error when trying to insert a new value when the is none in the ai editing



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 ProudClod.Form2.EditCharAI_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.DataGridView.OnDoubleClick(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.DataGridView.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)
Title: Official Proud Clod 1.0 Topic
Post by: Gemini on 2009-07-04 10:09:24
I think there is a serious bug with the program. It crashes upon loading a Japanese SCENE.BIN altered with my program (which has just translated and expanded AI strings). The original SCENE loads fine (other than text being a mess of symbols) in your program, and my custom file (you can get a copy here (http://gemini.aerdan.org/ff7i/SCENE.rar)) works perfectly when inserted in game, so I guess the problem is somewhere in your code for handling the AI, or maybe the file de-indexing.

Log:
Code: [Select]
System.ArgumentException: Lunghezza della matrice di origine insufficiente. Controllare srcIndex, la lunghezza e i limiti inferiori della matrice.
   in System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   in ProudClod.Form1.Load_Attack()
   in ProudClod.Form1.OpenSCENEBINToolStripMenuItem_Click(Object sender, EventArgs e)
   in System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   in System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   in System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   in System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   in System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   in System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   in System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   in System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   in System.Windows.Forms.Control.WndProc(Message& m)
   in System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   in System.Windows.Forms.ToolStrip.WndProc(Message& m)
   in System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-04 16:00:38
I think there is a serious bug with the program. It crashes upon loading a Japanese SCENE.BIN altered with my program (which has just translated and expanded AI strings). The original SCENE loads fine (other than text being a mess of symbols) in your program, and my custom file (you can get a copy here (http://gemini.aerdan.org/ff7i/SCENE.rar)) works perfectly when inserted in game, so I guess the problem is somewhere in your code for handling the AI, or maybe the file de-indexing.

I believe the scenes are loaded as needed, unlike the KERNEL which is loaded before the game begins. So you really wouldn't notice an error until you're in battle. The texts of the scenes in your modified one look fine except that once they're terminated by a NULL (FFh) and then the rest of the space is filled with 00h. I don't think this is enough to crash the game or my prog, but I did find this oddity in Ultimate Weapon's Script: (Scene 70, beginning at 0xF04)

Code: [Select]
A0 04 48 50 20 3D 20 25 64 20 20 53 43 46 4C 41 47 20 25 64 2C 25 64 2C 25 64 00
A0 04 00 00 00 5E 00 00 00 FD FD FD FD AB AB AB AB AB AB AB AB EE FE EE FE 00

I think this second A0 call is going to cause problems during the battle. First of all, it will pop four values off the stack. Secondly, the text ends with a 00 in A0 calls. So this makes the game think the code would be handled like this:

Code: [Select]
A0 04 00
00 00 5E   (which is out of range for battle addresses I belive)
00 00 00
FD .....   (invalid opcode)

I think there are errors with the AI caused by your program (I'm seeing a lot of extraneous A0 calls in U.Weapon's scripts), but that doesn't mean that PrC is flawless. The errors you were getting occur before I load the AI so you're not getting errors caused by this. I just don't remember using an Array.Copy() in Load_Attack. I'll look into it later today. I do highly recommend you attempt to get in a battle with Ultimate Weapon using this scene.bin and make sure it doesn't crash.

error when trying to insert a new value when the is none in the ai editing

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 ProudClod.Form2.EditCharAI_DoubleClick(Object sender, EventArgs e)

I'll look into this as well. I might have missed some condition.

EDIT:
Zach Fair, I found and fixed the problem by making that last 73 readonly. That's what was going wrong. If it's not 73 I made PrC assume it wasn't the last cell.

Gemini, Your scene only has 246 scenes in it! That explains why it's not opening correctly. If you've removed some for space reasons that's great and it should still work fine in game, but PrC always assumed that there'd be 256. I changed the way it opens and saves now and I can open it. I'd still look at that AI if I were you.

I just uploaded it with these fixes.
Title: Official Proud Clod 1.0 Topic
Post by: Fleet Command on 2009-07-04 19:07:16
Thanks for the new MediaFire mirror, NFITC1. At last, the fabled Proud Clod... I'm about to give it a whirl

Oh, and please do not forget to mirror Wall Market too.
Title: Official Proud Clod 1.0 Topic
Post by: Gemini on 2009-07-04 21:15:01
Seems like the debug print code was causing several problems with the way my program rebuilds jumps in the AI script, in fact Ultima Weapon froze the battle as soon as the script is executed. I've fixed that and Ultima is working just fine now, but I keep getting that error. So, well, you know. :p The new updated scene is online if you wanna give it a look (same link as above).
As for the 246 scenes, I can't really remember removing any of them, even if I actually wanted to avoid inserting the empty entries to save space (not that zlib doesn't crunch them enough).

PS: Seems like I was actually missing the last chunk of scene subfiles (completely forgot to flush last sectors). My bad, it seems to be loading fine now, other than the symbols still being messed up. :p
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-04 22:04:15
... it seems to be loading fine now, other than the symbols still being messed up. :p

This is why you have the ProudClod.dat file. Replace the text, one character per line in the first 256 lines to change the text that PrC will use to display the names of things. Since this is a Japanese scene.bin you're looking at, all the names will be in Japanese fonts. If you can get a character map of that power to you. Otherwise you'll just have to work with the symbols.
Title: Official Proud Clod 1.0 Topic
Post by: Gemini on 2009-07-04 22:18:14
That would cover only the first part of the whole font, which is like 6 times bigger in the Japanese versions. The whole encoding uses F800-FED1 for accessing the rest of the font, which I'm not sure can be done with the dat text file.
Title: Official Proud Clod 1.0 Topic
Post by: gamefac on 2009-07-09 04:41:52
My first post in this forum. Hi guys.

First of all, NFITC1 is a genius.

Second, I've downloaded the Proud Clod 1.2 program (I had the previous version). And I don't know what the dumping feature does. I've clicked on the name dump option, and it asked me to save (to my desktop). Okay so what do I do with that?

Thanks guys. PSX version on the go ftw.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-09 20:23:48
My first post in this forum. Hi guys.
Greetings! Welcome to the most intense FFVII modding community anywhere!

First of all, NFITC1 is a genius.
Can't argue with that. ;)

Second, I've downloaded the Proud Clod 1.2 program (I had the previous version). And I don't know what the dumping feature does. I've clicked on the name dump option, and it asked me to save (to my desktop). Okay so what do I do with that?

Yeah, PrC has now gotten so complex that it needs its own readme. I'll get around to that soon.
The dumps are just listings of raw data associated with whatever it is you're "dumping". You don't really "do" anything with it except use it to compare data between multiple items. Take the enemy name dump you mentioned. That will give you the name and enemy ID of every enemy in each scene (a max of three enemies per scene). Not terribly helpful as there is an enemy search option. The others will dump raw data so you can compare them to other data sets and see the commonality to them if you want to report that you've found some unknown. I just learned that the players' battle locations are at points (3.90625, 0, -15.625), (0, 0, -15.625), and (-3.90625, 0, -15.625) by looking at these.
It's not really useful unless you're searching for values like what those last flags are in the formation data and the like.
Title: Official Proud Clod 1.0 Topic
Post by: titeguy3 on 2009-07-12 23:19:40
Hey guys, I've been sneaking around this forum for a while now but I never really had anything to contribute until now. I've been working on sort of a "Player's cut" version of FFVII, by fixing bugs, updating models, updating the soundtrack, making a simple .exe installer that covers all bases, etc...

I've been using ProudClod and Wallmarket recently (which are both "RAD to the power of SICK" btw :wink:), and so far, I've updated Safer Sephi's AI, effectively making him not so much of a pushover, fixed the Adamantaimai Big Guard glitch, retranslated the dialogue during the Guard Scorpion boss battle, and added/changed a few spells and materia, and so far, I've had a few problems.

1) Firstly (as Zack Fair mentioned) Proud Clod (I haven't tried this in Wallmarket) still (as of 1.2.0) doesn't let you write scripts for the AI in a section that currently has no code (i.e. modifying the General Counter script in Safer Sephiroth's AI). It gives you the error:

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 ProudClod.Form2.EditCharAI_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.DataGridView.OnDoubleClick(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.DataGridView.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)

...when I double click to create a new cell. This error actually happens pretty much all the time, not just exclusively in this case. It makes it kind of difficult to code the scripts without things f*ing up, but the main inconvenience is that I can't add code under new conditions, which is important if I'd want to change somebody's AI around.

2) I've been playing around with ProudClod and WallMarket, adding and changing spells (for instance, so far, I've successfully added the spells Holy, Drain, Blind, and Horology), but it takes so much time because there's no reference that lets me know what animation indexes do what. At first I just plugged in random animation indeces, until I realized that, as a general rule:

Player Spells = Enemy Spells + 4E

so for instance if you want to convert an enemy's attack animation into a magic spell, you add 4E to it, and voila! It works!

But now that I'm trying to change enemy spells around I find out that Enemy Spells, Enemy Skills, Magic, and Item animations all work differently!!! I'd greatly appreciate it if there were a way to dump animation Indexes with some kind of graphic or name or just any identifier at all associated with it at all so that it's easy to know which animations do what without having to go into the game and test them out one by one, and also the offsets used in certain cases (i.e. 4E for most enemies--assuming cure is the first animation).

3) Does anybody know a way to modify enemy names and drop, steal, or morph items? That'd be great.

Lastly, a million thanks to everybody here for keeping the spirit of FFVII alive and kicking. Screw Square-Enix, if they refuse to make a remake, we'll just make our own! :-D
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-07-12 23:35:02
2) I've been playing around with ProudClod and WallMarket, adding and changing spells (for instance, so far, I've successfully added the spells Holy, Drain, Blind, and Horology), but it takes so much time because there's no reference that lets me know what animation indexes do what. At first I just plugged in random animation indeces, until I realized that, as a general rule:

Player Spells = Enemy Spells + 4E

so for instance if you want to convert an enemy's attack animation into a magic spell, you add 4E to it, and voila! It works!

But now that I'm trying to change enemy spells around I find out that Enemy Spells, Enemy Skills, Magic, and Item animations all work differently!!! I'd greatly appreciate it if there were a way to dump animation Indexes with some kind of graphic or name or just any identifier at all associated with it at all so that it's easy to know which animations do what without having to go into the game and test them out one by one, and also the offsets used in certain cases (i.e. 4E for most enemies--assuming cure is the first animation).

See this (http://forums.qhimm.com/index.php?topic=8195.0)

3) Does anybody know a way to modify enemy names and drop, steal, or morph items? That'd be great.

Use Hojo (http://forums.qhimm.com/index.php?topic=7186.0)
Title: Official Proud Clod 1.0 Topic
Post by: titeguy3 on 2009-07-13 03:17:36
2) I've been playing around with ProudClod and WallMarket, adding and changing spells (for instance, so far, I've successfully added the spells Holy, Drain, Blind, and Horology), but it takes so much time because there's no reference that lets me know what animation indexes do what. At first I just plugged in random animation indeces, until I realized that, as a general rule:

Player Spells = Enemy Spells + 4E

so for instance if you want to convert an enemy's attack animation into a magic spell, you add 4E to it, and voila! It works!

But now that I'm trying to change enemy spells around I find out that Enemy Spells, Enemy Skills, Magic, and Item animations all work differently!!! I'd greatly appreciate it if there were a way to dump animation Indexes with some kind of graphic or name or just any identifier at all associated with it at all so that it's easy to know which animations do what without having to go into the game and test them out one by one, and also the offsets used in certain cases (i.e. 4E for most enemies--assuming cure is the first animation).

See this (http://forums.qhimm.com/index.php?topic=8195.0)

3) Does anybody know a way to modify enemy names and drop, steal, or morph items? That'd be great.

Use Hojo (http://forums.qhimm.com/index.php?topic=7186.0)

EDIT: Thanks!  :lol:

really have to get more used to these formatting tags....
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-13 13:40:20
Hey guys, I've been sneaking around this forum for a while now but I never really had anything to contribute until now. I've been working on sort of a "Player's cut" version of FFVII, by fixing bugs, updating models, updating the soundtrack, making a simple .exe installer that covers all bases, etc...

I've been using ProudClod and Wallmarket recently (which are both "RAD to the power of SICK" btw :wink:),

Rad to the...power of......sick? O_o ?

and so far, I've updated Safer Sephi's AI, effectively making him not so much of a pushover, fixed the Adamantaimai Big Guard glitch, retranslated the dialogue during the Guard Scorpion boss battle, and added/changed a few spells and materia, and so far, I've had a few problems.

1) Firstly (as Zack Fair mentioned) Proud Clod (I haven't tried this in Wallmarket) still (as of 1.2.0) doesn't let you write scripts for the AI in a section that currently has no code (i.e. modifying the General Counter script in Safer Sephiroth's AI). It gives you the error:

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 ProudClod.Form2.EditCharAI_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.DataGridView.OnDoubleClick(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.DataGridView.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)

...when I double click to create a new cell. This error actually happens pretty much all the time, not just exclusively in this case. It makes it kind of difficult to code the scripts without things f*ing up, but the main inconvenience is that I can't add code under new conditions, which is important if I'd want to change somebody's AI around.

Easy answer: don't. The AI editing was meant to be done entirely with the keyboard. Just press Enter to make a new cell. That works fine.
Title: Official Proud Clod 1.0 Topic
Post by: titeguy3 on 2009-07-14 08:00:32
Rad to the...power of......sick? O_o ?

It's a geekologie (http://www.geekologie.com/2009/02/successfully_marketing_your_bi.php) reference, check it out.

Easy answer: don't. The AI editing was meant to be done entirely with the keyboard. Just press Enter to make a new cell. That works fine.

Well I'll be damned. I didn't know that worked. I always assumed you had to click on something for it to gain focus of the keyboard, and click = fail. Thanks. I can make progress again now.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-07-14 13:06:27
I always assumed you had to click on something for it to gain focus of the keyboard...

You do. But if either of the listboxes is focused when you press enter it passes focus from itself to the character AI frame.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-08-08 21:00:52
My apologies if this is a stupid question or it has already been dealt with ITT, but can Proud Clod change the "enemy attack IDs" at 0x0048 of the enemy data (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes#Enemy_data_format)? I'm pretty sure that Hojo can't do this...
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-09 00:23:19
My apologies if this is a stupid question or it has already been dealt with ITT, but can Proud Clod change the "enemy attack IDs at 0x0048 of the enemy data (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes#Enemy_data_format)? I'm pretty sure that Hojo can't do this...

Yeah, it can. In the Attacks/Formations options, in any of the enemy's tabs is a list of actions they can perform and the animations they perform with it. That's how you can change the 0x0048 array of any enemy. This is also where you can change the 0x0038 animations they perform and the 0x0094 manipulation attacks they can use. Those addresses on the wiki are wrong too. At least some of them are. The 0x0048 and 0x0038 are correct, but 0x0058 is 16 bytes away from 0x0048 not 32.

This was answered somewhere, but I don't blame you for not finding it. All the "documentation" on this prog is buried in this thread and scattered all over the place. You could look for my posts (denoted prominently by the "Invincible eye" avatar :) ), but those don't always contain helpful stuff. I've said it before, I'll get around to writing documentation to PrC soon (read: "eventually").
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-08-09 00:30:16
I see. So how does it work? Does changing the attacks on the left change the IDs at 0x0048? (I've had a break from modding, as you may be able to tell  :wink:)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-09 03:34:57
Basically, yes. When you change the attack on the left it will assign the index of that attack to the correct slot in its "allowed attack list" as I call it.

EDIT: You'll be happy to know that I successfully added the ability to dynamically update jump addresses! It only took about 30 minutes to do too and most of that was just figuring out some VB.NET issues. :D
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-08-10 19:24:31
Used Proud Cloud to gather some info for my research and found some misunderstanding. For damage function 00 written that it will not display attack name. This is wrong. Display of attack name specified by opcode in animation action sctipts but not by type of damage calculation.

By the way TFergusson updated all his documentation about battle and enemied (and all others). You can see them. They almost compleatly describe how damage calculation works.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-10 19:52:29
In the animation, huh? That makes sense. More sense than letting the damage calculation handle it. I just couldn't see any other difference between 50h and 00h so I thought that was it. I'll take that description out for the next version.

EDIT: I understand what the difference is now. 00h does absolutely nothing and 50h will cause no damage, but still attempt to perform status effect changes. This will be clarified in the future.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-08-10 20:08:00
In the animation, huh? That makes sense. More sense than letting the damage calculation handle it. I just couldn't see any other difference between 50h and 00h so I thought that was it. I'll take that description out for the next version.

I told you already that you can ask me this questions.

Damage calculation byte really not ome value but two. Upper 4 bit and lower 4 bit.
byte XY where X - handles different type of  hit/critical and Y - are the actual function that calculates damage.
Exeptions are X == 6,7 and A.
If X == A then it uses not standart function to calculate base damage and then use standart X == 1, Y == 1 (11)
If X == 6 or 7 then it calls 0x10 + Y function to calculate damage. But it still use upper function 6 and 7 to calculate hit/critical.

By the way - list of some lower damage calculation functions that I already reversed (I named them the same as in the TFergusson documentation)
Code: [Select]
    formula = w[address + a4]; // lower
    switch (formula)
    {
        case 00: lower_function_00; break;
        case 01: lower_function_01; break; // physical damage
        case 02: lower_function_02; break; // magical damage
        case 03: lower_function_03; break; // current hp% or current mp%
        case 04: lower_function_04; break; // max hp% or max mp%
        case 05: lower_function_05; break; // magical heal
        case 06: lower_function_06; break; // fixed damage
        case 07: lower_function_07; break; // item damage
        case 08: lower_function_08; break; // recovery
        case 09: lower_function_09; break; // not used
        case 0a: lower_function_0a; break; // not used
        case 10: lower_function_10; break; // custom 00 white wind (damage = current hp of attacker)
        case 11: lower_function_11; break; // custom 01 (damage = max hp - current hp)
        case 12 13 14 15 16 17: break;
        case 18: lower_function_18; break; // custom 08 ()
34E20A80 19
5CE20A80 1a
A0E20A80 1b
18E30A80 1c
78E30A80 1d
        default: return;
    }
Title: Official Proud Clod 1.0 Topic
Post by: ARMs on 2009-08-11 01:52:20
Deleted.  It was an off topic question.
Title: Official Proud Clod 1.0 Topic
Post by: Karifean on 2009-08-17 16:27:31
Got a question: Will PrC be able to change models of enemies in next version? I've been looking for a possibility to do that easily.

Oh, and what animation ID will hide the attack name?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-17 20:10:36
Got a question: Will PrC be able to change models of enemies in next version? I've been looking for a possibility to do that easily.

Yes and no. Enemy ID is related to the Model ID. You could theoretically change the Nibel Wolf to look like one of Ruby Weapon's Tentacles if you wanted, but if you do that be sure you change all relevant AI to that enemy ID (won't effect the Nibel Wolf, but can effect other things, esp Boss minions).

Oh, and what animation ID will hide the attack name?

This depends on the animation and the enemy. Typically, the general attack animation (0h I think) will not display the name.

UPDATE: I'm about three steps away from having PrC and WM ready to be released into versions 1.3. I'm still trying to make it save changes into a smaller legally-distributable-friendly file to be loaded into either WM or PrC (I've wanted this since before WM 0.9). I also need to write a documentation for PrC. Other than that I believe all the known bugs have been fixed and planned features have been added.
I also have a list of the unknown list of values in Enemy Data (0x68-0x87) all sorted by Enemy ID. From initial inspection, these range from 6h to 189h and only a few of the values in between are used. 113h seems to be the most popular. This list seems to be unique to Enemy ID, not Enemy and Scene IDs.

There are 46 enemies with a value other than NULL in index 0, 142 with index 1, 139 with index 2, 103 with index 3, 62 with index 4, 56 with index 5, 40 with index 6, 23 with index 7, 17 with index 8, 13 with index 9, 10 with index 10, 12 with index 11, 8 each with indexes 12, 13, 14 (ie, not the same 8, but some overlap exists), and two with index 15.

Anyone who wants this list either PM me your email address or email me. I have it as excel and txt file.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-08-17 20:39:16
Code: [Select]
I also have a list of the unknown list of values in Enemy Data (0x68-0x87) all sorted by Enemy ID. From initial inspection, these range from 6h to 189h and only a few of the values in between are used. 113h seems to be the most popular. This list seems to be unique to Enemy ID, not Enemy and Scene IDs.

There are 46 enemies with a value other than NULL in index 0, 142 with index 1, 139 with index 2, 103 with index 3, 62 with index 4, 56 with index 5, 40 with index 6, 23 with index 7, 17 with index 8, 13 with index 9, 10 with index 10, 12 with index 11, 8 each with indexes 12, 13, 14 (ie, not the same 8, but some overlap exists), and two with index 15.

This is camera movement id for attacks. 0x10 2 bytes values.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-17 20:54:34
This is camera movement id for attacks. 0x10 2 bytes values.

Instead of camera movement for attacks, which is stored in the attack data itself, how about camera movement for animation? I'd be willing to wager that's what that is.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-08-17 21:02:23
This is camera movement id for attacks. 0x10 2 bytes values.

Instead of camera movement for attacks, which is stored in the attack data itself, how about camera movement for animation? I'd be willing to wager that's what that is.

There is no such thing as camera for animations.
If data in enemy is set then it will be used instead data from attack.

Code: [Select]
if (FP == -1)
{
    [address + 60] = w(hu[S4 + 8]); // set single camera from attack
    [address + 64] = w(hu[S4 + a]); // set multiple camera from attack
}
else
{
    [address + 60] = w(FP); // set camera from enemy data
    [address + 64] = w(FP); // set camera from enemy data
}

This camera data selected and used after attack calculation. Or just after action...Maybe we must call this actions instead of attacks, because not all of them harm or heal enemy. Some of them just play animations or do some other things.

It's easy to understand why it was done this way. During development all attacks was in one list or database and enemy just set id for attack they used (it was compiled into scene files lately during export procedure). Attacks define most commonly used camera movement. But some enemies require different camera, and programmers made that you can overwrite camera for specific enemy.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-17 21:56:53
Action Camera Index it is then. Sounds good to me.

PrC now edits these values. With the exception of that one little bit at 0x9A, virtually the entire scene.bin can be edited with either PrC or Hojo! Enemy IDs are now editable with PrC and the fourth word of every scene (at 0x06) will remain uneditable since it will do nothing (except maybe crash the game).

Other good news: The modification I'm making to allow saving changes will also work with changes made via Hojo! How cool is that? :D

UPDATE: I'm sorry for the lack of updates lately despite the progress I'm making. I'm going to update this post instead of making a new one so I can still post a new message and bump it up once it's ready.

I believe PrC is ready to roll, but I'm waiting on my midget slaves to finish the text changes to the WallMarket changes files. They (and by they I mean the voices in my head) warned me that the texts might not be the same lengths like I'm assuming all other parts will be. So rather than saving changes or the whole segment of strings, I'm just saving the entire string that was changed. This SHOULD save on time and space, but I'm having issues with finding the end of the segment and file. I'll need to play with it some more soon.

I'm almost done with documentation on Proud Clod. I need to write up an explanation of the camera preview mode, but for some reason it's not working on DX10. Stupid MS. :P

In more domestic news, my wife who has been gone for six weeks returned recently so I've been spending more time with her than with WM or PrC (as any GOOD husband would do). Also, I just today got a signed contract for our first house together. It's a brand new house that construction isn't even complete on, but we're happy with everything about it. Ergo, I'll be moving soon. Good news, though. Work is about to slow to a crawl as we're changing a pretty vital function that we all do. I'll be able to do things with it at work so it will get finished barring my de-armitation (or whatever you'd call that) or death.
Title: Official Proud Clod 1.0 Topic
Post by: Karifean on 2009-08-18 07:24:31
Sounds very nice!!

Btw, I'm aware of the problems I would get if I change Model IDs - because of the scripts in the AI that change animations. I simply wanted to create a new enemy and assign the right model. :wink:
Title: Official Proud Clod 1.0 Topic
Post by: Chrysalis on 2009-08-28 15:45:01
ok guys sorry if this sounds dumb, but how do I edit enemy AI, I dont mean how do I use the app to change values  I mean how do I learn what each value does etc.

See I know in the game safer seph first move is wall followed by shadow flare, yet the attacks are listed in a completely different order in the editor.

This is what I want to achieve as an initial test.

Seph to heal himself probably with a full cure (capped to 30k hp on my limit config) every time he moves to flying position or to close position so twice every full cycle.
Seph to counter with either comet2 or ultima everytime attacked.
To make heartless angel be used when down to 66% hp instead of 25% hp.

thanks in advance.
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-08-28 19:24:41
The order in which you see attack IDs in the AI has nothing to do with the order in which those attacks are used in battle :-P

Have you looked at the AI tutorial that comes in the Wall Market help file? It gives some basic help with starting to edit AI. You should also look at enemies that do things similar to what you're trying to do and see how their AI works.

Now, on to some more practical stuff. SOLDIER 3rd checks to see if it's HP is less than 1/4, 2/4 or 3/4 of its max. It goes like this :

Code: [Select]
02 2060
03 4160
80
02 2060
03 4180
80
60 04
33
60 * this number is the fraction /4 that it checks
32
43

Sephiroth's check for a fraction of his HP goes like this:

Code: [Select]
02 2060
03 4160
80
02 2060
03 4180
80
60 04
33
44

So, what would happen if Sephy's script were changed to this?

Code: [Select]
02 2060
03 4160
80
02 2060
03 4180
80
60 03
33
60 02
32
43

I think it would check to see if he has less than 2/3 of his max HP and then do the attack. I haven't checked this, however, and it might be completely wrong. You'll also have to fix the jumps in his script, and you can do that yourself :-P (if you don't, the game will die)

See if you can get that working for now. :roll:
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-08-29 02:30:30
Have you looked at the AI tutorial that comes in the Wall Market help file? It gives some basic help with starting to edit AI.

Careful with these, though. Some of them are wrong. Like the randomly assigning statuses won't work the way I said it would. I still haven't confirmed that loops work at all either. Let me test that real quick...

Apparently it does:
Code: [Select]
72  0011
93  2C 4F 4F 50 00 54 45 53 54 FF
72  0014
72  0003
73

This actually works so I'd guess if I didn't have that 72  0014 in there it'd loop infinitely....

NO! DON'T CREATE AN INFINITE LOOP! The game hangs and I couldn't get out of it other than resetting the computer. Fortunately, Firefox is awesome and saves sessions.


Dang, I just realized that I wasted the "new post" I was saving for the next version. :( Someone else post something so I won't be accused of double posting...
Title: Official Proud Clod 1.0 Topic
Post by: sl1982 on 2009-08-29 02:38:59
Something
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-05 21:33:11
ok, so you tease with a new version, and never  post about it, you meanie  :x

heh  :-D ... anyway i found an issue with the copy/paste function when trying to insert into a fresh AI section (as in when you just hit enter, and all that is there is the end statement), it will all paste in fine and all, but when you exit, the copied data is all gone, and it acts as if it has nothing in it at all. i noticed that the little * next to the section showing that  it is modified is not there when you just hit enter to add new data, the end statement doesn't seem to be considered as "something" in the section  :|, and copying doesn't seem to count as something added either, but it is fixed if you type in anything, delete it and then copy over, maybe having the end statement automatically trigger the "contains data" *  would be a simple fix for it?

also, on a similar note, it doesn't seem to like copying over if you are in the middle of modifying data, as in you type in 60, press enter, and while in the value section you hit copy, it will produce an error, but if you click continue (nothing is shown in the section), then click a different section and return, everything copied over fine  :-P.

Edit: and another addition to this problem with the paste function, it seems that trying to paste anything without modifying something beforehand results in nothing being retained when the AI editor is closed, just like with it not keeping the changes if you start from a fresh section. it apparently has something to do with the pasted data itself then, it probably needs to be what gets counted as changed data then, not the end statement, because that would only fix new sections, not the rest  :roll:

also, about your search function, it would probably be better if it had the possibility of having a case sensitive searching style (little check box  :-)), because searching for specific enemies (MP for example) will bring up scenes with multiple enemies with mp in the name, like jumping and the sample enemies. it would also be nice if it would allow you to do other things within PrC (trying to click anything gives the beep error because you have the window up still, not sure if you can easily do that), so you can look at the scenes with the enemies you searched up, and modify as you go, rather than having to memorize/write down the scenes and modify it like that.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-08 02:50:01
ok, so you tease with a new version, and never  post about it, you meanie  :x

I told everyone that it's going to be coming out the same time WM is. I'm not entirely done with WM so just WAIT. :P

heh  :-D ... anyway i found an issue with the copy/paste function when trying to insert into a fresh AI section (as in when you just hit enter, and all that is there is the end statement), it will all paste in fine and all, but when you exit, the copied data is all gone, and it acts as if it has nothing in it at all. i noticed that the little * next to the section showing that  it is modified is not there when you just hit enter to add new data, the end statement doesn't seem to be considered as "something" in the section  :|, and copying doesn't seem to count as something added either, but it is fixed if you type in anything, delete it and then copy over, maybe having the end statement automatically trigger the "contains data" *  would be a simple fix for it?

also, on a similar note, it doesn't seem to like copying over if you are in the middle of modifying data, as in you type in 60, press enter, and while in the value section you hit copy, it will produce an error, but if you click continue (nothing is shown in the section), then click a different section and return, everything copied over fine  :-P.

Easy enough fix I suppose. It's going on the current row's address to determine copy range. I can make it where it will select the next valid row's address instead.

Edit: and another addition to this problem with the paste function, it seems that trying to paste anything without modifying something beforehand results in nothing being retained when the AI editor is closed, just like with it not keeping the changes if you start from a fresh section. it apparently has something to do with the pasted data itself then, it probably needs to be what gets counted as changed data then, not the end statement, because that would only fix new sections, not the rest  :roll:

You may be right. It's probably not flagging it as a change. I'll get that fixed easily enough.

also, about your search function, it would probably be better if it had the possibility of having a case sensitive searching style (little check box  :-)), because searching for specific enemies (MP for example) will bring up scenes with multiple enemies with mp in the name, like jumping and the sample enemies. it would also be nice if it would allow you to do other things within PrC (trying to click anything gives the beep error because you have the window up still, not sure if you can easily do that), so you can look at the scenes with the enemies you searched up, and modify as you go, rather than having to memorize/write down the scenes and modify it like that.

I've come to the conclusion that this has now reached suite-level proportions. There are indeed too many windows for a causal user to juggle. Rather than it all be driven from the Attack editing window, this needs to be nested in a larger window with child windows. I'm thinking something like Lunar Magic (http://fusoya.eludevisibility.org/lm/index.html), but if you'd rather it might be easier to restrain it all into a larger window rather than let them roam about like the F-Zero track editor (http://www.romhacking.net/utils/434/). Goodness knows it'll be easier on the code if I do that. I have too much code embedded in that main frame that each of the other frames use. This is unacceptable to me now. After 1.3 is released I'll work on adapting it to that end. PrC will apparently have a version 1.4 that I never wanted to do. :( It's necessary now though; So I don't regret it.

Now someone post again so I won't double post when 1.3 is finished. And blame secondadvent for me posting before the next version is done. Any more comments from me will likely wait until after 1.3 is released. Feel free to continue making suggestions. Just know that I might not respond to them right away.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-08 06:07:44
i agree that something like that would probably be better... some of the stuff i have trouble keeping track of, and smaller code segments are always easier to keep track of  :roll:. and you always like to blame me huh?  :wink:
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-11 14:14:55
New version now. Be happy.

Oh yes, in case you haven't seen it: http://forums.qhimm.com/index.php?topic=8876.0
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-12 04:59:41
ok... i think it is definitely happy worthy  :-D.

and i did see that thread... as soon as you happened to show it to me  :roll:. anyway, i will have to play around with the new PrC/WM a good bit now :D.

EDIT: and i also found a bug that is preventing me from redoing Guard Scorpion's main, because i end up with something along the lines of this:

(http://img248.imageshack.us/img248/974/picture039.png)

it ends up massively screwing up the messages for whatever reason, and if i do not modify the text at all, and add anything else to the AI, it ends up crapping out right after the "Locked on Target" message, so i am assuming they are connected. i haven't tried from a fresh scene.bin as of yet, i only tried my original redone GS AI, and my more recent one, so I will get back with the results.

and it does create the same error when changing the original GS's main AI, and here is an error i get when trying to return to the main after modifying and leaving/returning to it's main:

Code: [Select]
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at ProudClod.Form2.FF7BattleScript(Byte[] NameArray, UInt16& StartPlace)
   at ProudClod.Form2.AISectionList_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.set_SelectedIndex(Int32 value)
   at ProudClod.Form2.CharacterAINameList_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)

when it had the error disassembling, it says an error is at or before the byte after the end of the main AI, not sure what that means, since the AI is fine otherwise :/.

and i also checked some other AI sections of different enemies, and it seems to only affect those that have the 93 command in use, and the bug only occurs if something is changed, the code will compile fine beforehand, so any text that was in originally will disassemble correctly, but any change breaks it.


i also assume that you added in the auto jump repointing (since my jumps just happened to repoint to the correct location, and i was at a loss as to why until i remembered you saying about that at some point, though i didnt see it in the list of changes :roll:), and so far that is working wonderfully... i was feeling kinda lazy while "fixing" the MP's machine gun range issue (enemies do not seem to have long range attacks for back row ignoring), and what do you know the editor helped me out a bit  :lol:. this is off topic, but i was tired of the enemy range issue, since there were enemies designed to attack differently with back row enemies, also taking into account their own row (which was broken itself  :-P), and so i decided that since being in the back row halves damage, i just made the same attack (machine gun/beam gun as examples) with an unused index, and made it's power twice the normal, and only being able to be used on a back row (or the enemy is in the back row) target, essentially negating the halved damage  :wink:.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-13 05:02:14
ok, not entirely sure if you meant for it to be done solely in the new raw format, or a mix of normal and hex (as i suspect), but as of right now only encoding in the new raw format will allow changes to be made, making it done in regular text no longer works.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-13 13:27:45
Uh-huh....! Ya know, I think it's not terminating that string correctly when it re-writes the script. It's supposed to be terminated by FFh, but it looks like I'm terminating it with 00h. This is pretty significant and I'll have to look at it again to see what's happening. Odd, though. This didn't happen when I was testing it the first time.

IN THE MEAN-TIME: Add "opcode" FFh after all string calls. Like this:

Code: [Select]
0x025  93  Locked on Target
0x037  FF
0x038  11  0060

That will "correctly" terminate the strings and allow the reading to work. There will just be an extra space at the end. Keep in mind, this will have to be done after every edit. :( Sorry. It's the only work-around I can think of for now.

Yes, it can/should be a mix of the raw and string formats.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-13 21:56:35
well, that is better than the way i was doing it (typing the string in raw format), so i think i will have a go at GS now  :-P. when i re-redid mono drive, i just waited on doing the text until last, and since the repointing is working nicely, it wasn't too hard to do, but adding FF sounds a bit easier to keep track of :-P
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-14 15:14:10
OK, I fixed the issue secondadvent brought up. Texts in battle will now save correctly. I have also made this change to WallMarket too so it will work as well. It looks like only a few dozen people downloaded it so plz re-dl it. If anyone wants to bump WM's thread with that info, be my guest.

This is why I don't want anyone else to try to host these. They're constantly changing. Oh well, water under the bridge...

With the exception of a few bug fixes, there's only two things I can do to PrC to make it better. See the documentation for further details.
Title: Official Proud Clod 1.0 Topic
Post by: chocofeather on 2009-09-17 00:41:48
Seems I underestimated this little jem of a program....
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-21 05:31:52
so... this ten hours til next release is taking a few days  :roll:.

did something unexpected come up? i noticed you on a few times, but you didn't seem to post anything PrC/WM/challenge-wise, so i am guessing things took an unexpected turn  :|.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-21 13:57:12
Anything come up? Nothing that wasn't anticipated. PrC and WM are working fine and I'll update those momentarily. Thing is, I'm near the end of buying a house. If you've never done that before there are a lot of things involved in such a process. I've been going out there lots and packing a lot and just didn't get out my laptop to upload them.

Your patience has paid off. I'm going to upload both now.

While I'm here on the PrC topic, let me tell you what's new:

First off, I think I got the save changes working. Yippee. I ran into one case where it didn't work too well, but that's because one of the scene files was actually one byte too small. This violates one of the requirements of saving changes: all scenes must be 7,808 bytes long. Granted, this one was made by hand before the days of PrC, so I can't blame the one that made it (I don't even remember who it was that gave me this one).

Second, PrC will now let you resize the AI window (http://img34.imageshack.us/img34/1860/charaibetter.png). I think I uploaded a broken one that resized, but didn't do anything. This is obviously bad. The one I just uploaded works. Loading time has been cut to a fraction of the time, but I couldn't stop the jump updating from taking nearly 10 seconds on Eligor's script. Small price to pay for faster loading, though. :D

Third, as per secondadvent's common sense (http://forums.qhimm.com/index.php?topic=8876.msg118987#msg118987), enemy name searches have been improved (http://img15.imageshack.us/img15/8884/newenemysearch.png) (Because of this, PrC will no longer jump to the scene if only one result is returned). This also applies to the attack search by index. This was back at the time that I wasn't sure if all attack name-ID pairs were unique. Turns out they are and that saves PrC needing to display the attack's name multiple times.

EDIT: I forgot to mention. As you're creating the patch, the progress bar that has been dormant at the bottom of the window for so long will come to life and.....show you the...progress it's making. I don't think it ever did anything before and was just an artifact from me copying WM's base attack editor over.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-21 14:55:00
sounds good, i will have to test it out here shortly (currently doing a side project for another game, which involves killing 2000 enemies finding drop percentages :P), it seems like this version has about everything we could ask for (sans the hojo stuff, which is what hojo is for after all  :-P), and then some  :-).

and since you gave the ability to synch the attacks of the same ID, it was kinda pointless to have the names be listed separately anyway, though it could be good if you forgot to synch an attack, but it would still be kinda unimportant. i am also glad that the enemies searched for are now listed by name and scenes, rather than just a big list of scenes  :wink:.

seems that i can start back up on my project now... i sort of took a break while waiting for the release, but i needed one anyway  :roll:. and i personally have never had to move at all (lived in this house my whole life), but i will have to face that eventually...
Title: Official Proud Clod 1.0 Topic
Post by: chocofeather on 2009-09-21 15:02:05
Suggestion (not sure if implemented)

The ability to be able to alter enemy moves in list form.  So it is easier than going through each and every enemy?
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-21 15:13:22
well, if you change a move listed on one enemy, right click it after finishing with the changes, and click "sync with other attacks of same ID" or whatever it says, it will automatically do that, so you do only have to change it once (though you still have to make the enemy allowed to use it, assigning the attack to an animation, and making it's AI capable of calling the attack :P), and with the search feature, you essentially have all you need to change any attack fairly easily, and have it done for every enemy by a simple right click selection.

also, the scene.bin changes are now applying correctly, even with some of my completely cleaned out scene files included (all FF), so it looks as if it is all good now :D.
Title: Official Proud Clod 1.0 Topic
Post by: chocofeather on 2009-09-30 06:49:58

It was actually Plaid Claude in the Japanese game, but no one liked that name. ;)



Actually it is "proud clad"

プラウド・クラッド
Romaji    Puraudo Kuraddo

Clod can be used but clad is used with this much more often and fits the term "iron clad" and the dictionaries pretty much agree aswell.  I am not expert in katakana, but I assume Plaid would be "Puraido" and not "puraudo"

might have mentioned that before.

------------

anyway....onto business.  I can't make an enemy move take away an allied characters HP AND MP.  Is this possible?  It is prob me missing something...

Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-30 13:45:32

It was actually Plaid Claude in the Japanese game, but no one liked that name. ;)



Actually it is "proud clad"

プラウド・クラッド
Romaji    Puraudo Kuraddo

Re-read that post. It was a joke.

Attempting to pronounce クラッド as "Clad" is off. The pronunciation of this word is \ˈklad\, but the pronunciation of クラッド does not use the "flat a" ("a" as in apple, not to be confused with "ā" as in maple) sound. The Japanese do not have this sound in their alphabet. They use a "short a" sound ("ȯ/ä" as in auto) which makes クラッド sound closer to the word "clod" than "clad".
Ergo, no. It's not "Proud Clad", even if that is what the developers might have been going for.

Personally, I think "Proud Clod" is too close to "Proud Cloud" (プラウド・クラッド vs プラウド・クラウド). I thought it WAS Proud Cloud the first two times I played through. I likely would have named it something else.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-30 15:00:31
i thought the same exact thing, until seeing your PrC  :wink:.
Title: Official Proud Clod 1.0 Topic
Post by: chocofeather on 2009-09-30 17:28:12
No, it is almost certainly clad.  Certain katakana have a defined spelling.  That is why it is in the dictionaries, see here >

クラッド

http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?1C

http://www.tokkin.co.jp/materials/clad/000106.php

http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%83%83%E3%83%89%E9%8B%BC

http://www.eudict.com/?lang=jpkeng&word=%E3%82%AF%E3%83%A9%E3%83%83%E3%83%89&go=Search

クラッド材 【クラッドざい】 clad metal (engineering option in dictionary)
http://www.toyokohan.co.jp/ja/products/fine_clad/index.html

I also brought this up with translators and they agree that it is used the majority of the time.  It could be clod (given clod means > An irregularly shaped mass of indefinite size )  but dictionaries and online sources all seem to go for clad with this katakana.
------------

But what about enemy moves taking away both HP and MP, can this be done?


Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-30 17:32:28
i think it only works if the damage formula used affects both, otherwise it is only one (elixir's formula does this, but it is based off of a %age of the HP/MP), though i may be wrong on this. and from a brief skimming of the formulas, it seems that elixir's formula is the only one that is known that can affect both  :|
Title: Official Proud Clod 1.0 Topic
Post by: chocofeather on 2009-09-30 17:34:01
yeah I saw elixir.  Surely there is a way to add this in? :(
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2009-09-30 17:44:32
you'd have to manually change the (likely) .exe data to do this, and i wouldn't even know where to begin for that  :|. if anything, you can try to test some of the unknown/unused formulas by doubleclicking the name of the attack/item/weapon and manually changing the hex value. the locations for the value are located at:

item - 15th byte, or next to last byte on the top row
attack - same as item
weapon - third byte on the top row

if you can find out what they do, then that would mean more possibilities for attacks, but i am not sure how many are actually used.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-09-30 18:26:15
1. I need to correct myself in saying that it's not pronounced "clad" even though that might have been the intended word.

2. This is getting off-topic again. Please move discussion of attack editing elsewhere.
I wish I had a forum of my own for such things. Or at least a sub-forum here.


UPDATE: I haven't been doing nothing. I've just been away from the Internet for a while. I've been working on two new little tidbits of features (http://img15.imageshack.us/img15/7410/formationo.png).
First, PrC will blank out attacks (using a basic custom draw routine) that have an index of FFFFh so you can see at a glance which No-Name attacks aren't usable. This will also be reflected on the animations tabs of the individual enemies. If the attack's index is FFFFh or the animation is FFh, then the attack is grayed out indicating which attacks an enemy can perform.
Second, as you can more clearly see, the formation tab is now labeled. The Setup portion has exploded into smaller pieces and will need code to update the values. Likewise, Camera and Formation data itself is grouped properly now and it all works. It's all multi-byte valies from here on out. Also, formation values are listed on the formation buttons at the top of the page.
Thirdly, I got to stop making that retarded test KERNEL.BIN that I thought I had fixed months ago (http://forums.qhimm.com/index.php?topic=9065.0)! I'm mad at myself for letting that go....
I just have to code these setup fields and make a label decision before I upload this. Now if I can just tear myself away from Dissidia for long enough...

RE-Update: Shame on you all!! I just noticed that it's not changing enemies' IDs at all! I tried to change it and the change didn't take. Turns out I'm never writing it back... I think I fixed it now, though.
Whilst I'm updating the IDs to finally work I decided that I'd go a few extra feet and mention what battle model files are being used. It's all based on the first two letters of the battle files. Enemy ID 0 uses battle files with a prefix of "aa", Enemy ID 2 uses battle files with prefix of "ac", etc. It goes out to "oa" with enemy models (ID 016C) which is the Cactuar, but there are five more that look similar to each other (016D-0171; "ob"-"of") that are never used. They look like MPs with different colored uniforms (almost khaki).
The the battle scenes start at "og" and follow the same list as these (http://wiki.qhimm.com/FF7/Battle/Battle_Scenes#Battle_Setup_1_format). The last one is at "rr" and then is followed by "rs" which is the frog status character. The rest are player characters and weapon models.

slightly-off topic:
I'm trying to load the battle scenes, but I can't seem to get any of the polys to show up. Can anyone offer advice? What do the "aa", "ab", and "da" files do? I have them marked special, but I don't remember what they are. I think the "aa" are rsd files and the "da" are animations files.
Title: Official Proud Clod 1.0 Topic
Post by: Murak Modder on 2009-10-11 05:49:00
Did you upload the new version of proud clod that has the fix for it not changing the enemy ID? I was using a hex editor and that gets tiring as i need to do 5 steps just to get it back in. :P

1: edit the attack animations to reflect the new model (since for instance, if we want to change guard scorpion to dyne, if it uses a '09' for the animation, thats Dyne's death one)
2: determine which ID i want
3: extract the scene bin i was working with screen reader
4: use hex editor to change the ID
5: put it back in with screenreader and hope i got the right thing


as for the changes, i am really interested in messing around further with formations and get them to load new ones, i think we could get a basic one done for the Rufus fight done for some mods where people changed Rufus into Vincent, he could transform into galiant beast or something and the fight continues.  :evil:
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-10-12 16:43:19
Sorry for keeping you all in the dark for now. I wanted to make sure the new formation setup fields were working. So here's the newest PrC released along-side WM. It's workable so if I happen to die in 10 seconds (Lord willing I DON'T. There's been a lot of people dying around my area recently.) then at least I'll know that I didn't leave everyone hanging.

Most of the changes are in the Animation/Formation tab. Labels have been added to the Formation Tab so no more blind editing.
Model IDs for enemies now display the model name used in battle.lgp. Same with the background. See the documentation for more details.
Title: Official Proud Clod 1.0 Topic
Post by: Murak Modder on 2009-10-12 17:16:03
sweeet, i tried it and it retained the changes i wanted. =3

I'll take a more in-depth look at the new features.

btw, the models are the AA, the DA is the animation file.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-16 12:24:51
Um, I don't know if I'm being entirely dense, but I'm having trouble. When I replace an enemy attack with another, I always get a data error on entering a battle. For instance, I replaced the Materia Keeper's Cure2 with Cure3, and altered instances of Cure 2 in the AI script as expected. Where am I going wrong?
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-16 12:36:44
Um, I don't know if I'm being entirely dense, but I'm having trouble. When I replace an enemy attack with another, I always get a data error on entering a battle. For instance, I replaced the Materia Keeper's Cure2 with Cure3, and altered instances of Cure 2 in the AI script as expected. Where am I going wrong?

whats the Error code and does it happen the second the battle starts? or when he tries to use the attack?

EDIT: Did you make sure you change 001 to 002 in the AI i know it sounds so stupid but its really easy to forget also have you dissembled the AI in prc does it look right?
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-16 12:47:17
I get a Data Error whenever he uses the attack.

I replaced all of the Materia Keeper's attacks with Cure3, taking up the Cure 2 slot. Disassembly appeared fine:

Quote
If (LocalVar:0000 == 0)
{

}

ElseIf (LocalVar:0000 == 1)
{

}

ElseIf (LocalVar:0000 == 2)
{
   If (Not  (Random MOD LocalVar:0020) )
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)

   }
   
ElseIf (Not  (Random MOD 2) )
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)

   }
   
Else
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)
   }
   LocalVar:0000 <- LocalVar:0000 + 1

}

ElseIf (LocalVar:0000 == 3)
{
   If ( ( (LocalVar:0020 < 4)  And  (Self.MP >= MPCost(1)) ) )
   {
      TargetMask <- Self
      Perform("Cure3"[0002], EnemyAttack)
      LocalVar:0000 <- 4

   }
   
ElseIf (Not  (Random MOD LocalVar:0020) )
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)
      LocalVar:0000 <- 0

   }
   
ElseIf (Not  (Random MOD 2) )
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)

   }
   
Else
   {
      TargetMask <- RandomBit(AllOpponentMask)
      Perform("Cure3"[0002], EnemyAttack)
   }
   LocalVar:0000 <- Random MOD 3
}

}

ElseIf ( (Self.MP >= MPCost(86)) )
{
   TargetMask <- AllOpponentMask
   Perform("Cure3"[0002], EnemyAttack)

}

Else
{
   TargetMask <- RandomBit(AllOpponentMask)
   Perform("Cure3"[0002], EnemyAttack)
}
LocalVar:0000 <- 0

}

Else
{
   POP(LocalVar:0000)
   SCRIPT END
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-16 12:52:04
The results are as follows:

(http://img197.imageshack.us/img197/9991/error1qv.png)

(http://img17.imageshack.us/img17/1803/error2s.png)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-16 17:13:45
You didn't make Cure3 an allowed attack. The enemy tab may SAY that it works, but it doesn't (note to self: fix this!). You have to change that slot to something else, then change it back to Cure3.

That's the same error that the Adamantaimai gets when you Big Guard/Wall him before his main script fires. He tries to cast cure (or maybe attack FFh, not sure which, really), but he doesn't have "permission" to.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-16 17:18:26
So - how exactly do I make it an 'allowed' attack? Just turn it to something else, build the SCENE, load it again, turn it to something else?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-16 19:24:46
You don't have to build the scene. Just select something else in the drop-down, then select Cure3 again.

Also, you left in the "MPCost(86)" code there. As long as Trine is in the data in that scene then that shouldn't be a problem either.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-16 19:29:49
Ah, great stuff.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-17 16:56:59
hey NFITC1 any word on when the clipboard copy and paste thing will be implemented? It would open the door to share more templates and scripts. This Programs come such a long way, I love it :)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-17 21:27:44
hey NFITC1 any word on when the clipboard copy and paste thing will be implemented? It would open the door to share more templates and scripts. This Programs come such a long way, I love it :)

Maybe tomorrow. I'd like to try to do one more thing with it. I've already got a special new feature mostly working and I've fixed a few editing bugs that it doesn't seem like anyone has (fortunately) run across yet.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-17 21:29:46
hey NFITC1 any word on when the clipboard copy and paste thing will be implemented? It would open the door to share more templates and scripts. This Programs come such a long way, I love it :)

Maybe tomorrow. I'd like to try to do one more thing with it. I've already got a special new feature mostly working and I've fixed a few editing bugs that it doesn't seem like anyone has (fortunately) run across yet.

Sweet man looking forward to it. I tested your template and it doesn't work im going to look at it now to double check i did it right but the enemy just doesn't move
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-18 21:47:58
I tested your template and it doesn't work im going to look at it now to double check i did it right but the enemy just doesn't move

Did you change the attack indexes to ones allowed by the enemy? Do they have animations set for those attacks? If you copied it byte-for-byte then it'll likely not work since no enemy has 16 attacks they can perform. Well, they COULD perform 16 if you set them to...

PrC 1.3.2 is out!...but only on Mediafire. Filefront is having issues. When I get it on Filefront I'll edit the first post again with changed features.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-19 16:24:48
I tested your template and it doesn't work im going to look at it now to double check i did it right but the enemy just doesn't move

Did you change the attack indexes to ones allowed by the enemy? Do they have animations set for those attacks? If you copied it byte-for-byte then it'll likely not work since no enemy has 16 attacks they can perform. Well, they COULD perform 16 if you set them to...

PrC 1.3.2 is out!...but only on Mediafire. Filefront is having issues. When I get it on Filefront I'll edit the first post again with changed features.

Sweet man thanks!! can't wait to try the copy and paste funcation out! and i typed yours wrong so ill try copy and pasting it now.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-23 12:17:28
I know I'm double posting here but i think theres something you should know.

Earlier today I tried out PRC with a PC scene.bin edited using PRC and it crashes at nearly every random battle :S is this something I'm doing wrong or is this a problem?
The weird thing is tried it in PSX version, works like a charm. So maybe theres a problem with it this is using BOTH the driver and not the driver but a clean scene.bin runs great, might be a problem I'm not sure?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-23 14:15:24
If your modifications work on the PSX version then it's not a problem with the scene.bin.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-23 14:55:02
No better place for this, really - did some work on enemy AI and adding spells, just for fun. Results are here: http://www.youtube.com/watch?v=I8aGVEZaVbI

I didn't actually have the enemy 'summon' KOTR, rather, just created a placeholder spell with the animation. I'm not really sure about 'summoning' via enemy AI. I'll have to give it a proper try out some time. I suspect I'd continue using

60 24
60 [attack index]

rather than

60 03
60 [attack index]

But I'll have to put it into practice to be sure.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-25 11:22:47
Wow that was some video! Hope you don't mind me asking but what attack index's did you use? whenever i use to rey the summons it just did the normal attack or i got a data error. I tried 0044 which doesn't work im not really sure how to do limit breaks and summons as enemy attacks?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-11-25 14:01:21
Wow that was some video! Hope you don't mind me asking but what attack index's did you use? whenever i use to rey the summons it just did the normal attack or i got a data error. I tried 0044 which doesn't work im not really sure how to do limit breaks and summons as enemy attacks?

What I found most interesting is that KoR SOMETIMES hit a random target, but sometimes hit both and once it didn't hit anyone! Odd. Is that part of the animation?
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-26 00:31:02
Wow that was some video! Hope you don't mind me asking but what attack index's did you use? whenever i use to rey the summons it just did the normal attack or i got a data error. I tried 0044 which doesn't work im not really sure how to do limit breaks and summons as enemy attacks?

What I found most interesting is that KoR SOMETIMES hit a random target, but sometimes hit both and once it didn't hit anyone! Odd. Is that part of the animation?

Yeah that is werid, how would you do this? I tried replacing trine with hades animation still shows trine?
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-26 02:48:46
Quote
Wow that was some video! Hope you don't mind me asking but what attack index's did you use? whenever i use to rey the summons it just did the normal attack or i got a data error. I tried 0044 which doesn't work im not really sure how to do limit breaks and summons as enemy attacks?

In this case, I replaced Shield with a magical attack called 'Knights of the Round'. I set it to 255 strength magic damage, and to 13 hits (as per usual). Then, I just used the absolute animation index for KOTR as found in the WallMarket thread (either the current page or the one before it should have details). The attack looked like this:

(http://img504.imageshack.us/img504/969/demo1.png)

The attack indexes in WallMarket aren't hexadecimal. I had a lot of trouble getting AI to refer to spells I'd made until I noticed this. I'm going to experiment with 'true' summoning at some point. KOTR is unusual, though, because in most cases using the summon animation won't involve the eidolon models, yet KOTR is an exception for some reason. What was I talking about again? Oh yeah.

Anyhoo, the enemy looked like this in Proud Clod:

(http://img504.imageshack.us/img504/2866/demo2m.png)

The AI:

(http://img692.imageshack.us/img692/1740/demo3.png)

It's not actually as spectacular as it may seem. Really, I've cheated a bit here. I'm going to try 'true' summoning tomorrow, and see what can be done. I can't imagine succeeding where others have failed though.

Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-26 02:53:24
Quote
What I found most interesting is that KoR SOMETIMES hit a random target, but sometimes hit both and once it didn't hit anyone! Odd. Is that part of the animation?

I don't know. It's really puzzling. If it only ever hit one, that would be understandable. I've found that even if you tweak targeting data in WallMarket, if the 'original' spell didn't support multiple targets, then the damage display and hit animation isn't shown. For instance, if you try and replace say Dragon Force with a custom attack that uses that does damage to multiple opponents, the chosen animation appears and damage is done, but the numbers only appear on one enemy. So you might expect the same to apply with a spell like shield, which, IIRC, is only single-target even with [All] attached to it. But that's not what's happening.
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-11-26 04:04:54
Quote
What I found most interesting is that KoR SOMETIMES hit a random target, but sometimes hit both and once it didn't hit anyone! Odd. Is that part of the animation?

I don't know. It's really puzzling. If it only ever hit one, that would be understandable. I've found that even if you tweak targeting data in WallMarket, if the 'original' spell didn't support multiple targets, then the damage display and hit animation isn't shown. For instance, if you try and replace say Dragon Force with a custom attack that uses that does damage to multiple opponents, the chosen animation appears and damage is done, but the numbers only appear on one enemy. So you might expect the same to apply with a spell like shield, which, IIRC, is only single-target even with [All] attached to it. But that's not what's happening.

You need to change animation script to see damage =)
It's still calculated though.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-26 14:17:34
Thanks bosola for posting how you did this! I think i have made a huge breakthrough because of it. I just got Midgar zolom to cast Hades on my party and it worked the model was there and everything his Attack Id was 0044 if you want to try it yourself only problem was Zolom was still visable but thats easily fixed by using sephiroths disapear attack. Now im wondering is there a way to make it so the party doesn't disappear when using summons?
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-26 16:53:23
Quote
You need to change animation script to see damage =)
It's still calculated though.

I'm not quite sure what you mean...
Title: Official Proud Clod 1.0 Topic
Post by: Kudistos Megistos on 2009-11-26 17:44:18
Quote
You need to change animation script to see damage =)
It's still calculated though.

I'm not quite sure what you mean...

Could it be that one can change the animation script in order to see the damage from each hit in multiple hit attacks that used to be single hit, but that even if one doesn't, the game still calculates the damage from each hit (and therefore takes off the right amount of HP) even though the damage is not shown?

edited for crappy typing
Title: Official Proud Clod 1.0 Topic
Post by: Akari on 2009-11-26 19:09:36
Quote
You need to change animation script to see damage =)
It's still calculated though.

I'm not quite sure what you mean...

Could it be that one can change the animation script in order to see the damage from each hit in multiple hit attacks that used to be single hit, but that even if one doesn't, the game still calculates the damage from each hit (and therefore takes off the right amount of HP) even though the damage is not shown?

edited for crappy typing

Tha game handles attack as follows:
first you or game ai assigh action to do and it added to queue
next when time comes action is executed, damage calculated and stored to unit data (ie unit can be dead by this time and you can't attack it). Togather with this there are few structues is filled.
one is the action data where all info about camera, effect and action script stored
second one is scructure that can display different things (damage is one of them)
this strucures can hold multiple items and some action add 2 or 3 of them and even more.
When action data structure is executed it starts unit action script (or animation script) and start camera script.
In action script there is commands to play animation, play different effects and there are few show damage command. When this command is executed it add new action data to scructure which will start damage action to unit that receive attack and play it animation. Togather with thai it add sounds to play, damage to show, effect to play.

If you didn't play show damage - unit will still be dead, but it won't disapear from field (because this is called in enemy take damage action)

Hope it clears thing.
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-26 20:47:02
Heres a video of zolom using Hades on the party sorry for poor quality!

http://www.youtube.com/watch?v=astNXF9yKw0
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2009-11-26 21:27:28
Just for reference - did you push

24/20
[attack index]

or

03
[attack index]

before the "perform" opcode (92)? That is, did you have it count as an enemy attack, or the use of a player summon?
Title: Official Proud Clod 1.0 Topic
Post by: ff7rules on 2009-11-26 21:40:24
I pushed 24 im going to try 03 now with neo bahamut.

Edit it works! :) all summons work using this method.
Title: Official Proud Clod 1.0 Topic
Post by: JohnBrook (aka HAETTROLL SEIFER) on 2009-11-29 02:27:55
To Author:

japanese equivalent of:  http://wiki.qhimm.com/FF7/FF_Text

http://www.megaupload.com/?d=O1YQM8D8 from Glitterberri

This second one is just a tidied table that I have made, it does not include the kanji (which the above link does, so download both)

http://www.megaupload.com/?d=T5WACS35


Will you add support for japanese scene.bin (possible)? (I can supply scene.bin too if you wish)

?
Title: Official Proud Clod 1.0 Topic
Post by: Xeeynamo on 2009-12-20 13:24:00
Hi NFITC1 :).
I've a little problem with 1.3.2 version of your Proud Clod: when I try to edit the AI of Ultima Weapon and I click on "Disassemble" button I get this error:
Quote
   ERROR IN CODE LOCATED AT OR BEFORE (0x0D2)
   Unable to continue Decompiling
I think that is a bug of your editor because it gives me the error but the AI of Ultima Weapon works on battle. This bug doesn't affect other monsters.
And a little question... The params of the monster's magic is linked with the params of kernel.bin? For example I've quake2 that require 28MP (kernel.bin) and the monster use this magic that cost 1mp (attack edited on scene.bin). The magic will cost 1mp or 28mp?
(Sorry for bad english)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-12-20 15:12:23
Hi NFITC1 :).
I've a little problem with 1.3.2 version of your Proud Clod: when I try to edit the AI of Ultima Weapon and I click on "Disassemble" button I get this error:
Quote
   ERROR IN CODE LOCATED AT OR BEFORE (0x0D2)
   Unable to continue Decompiling
I think that is a bug of your editor because it gives me the error but the AI of Ultima Weapon works on battle. This bug doesn't affect other monsters.

You'll have to be much more specific than that. What changes did you make? What's the final script? Which Ultimate Weapon are you trying to change? etc.

And a little question... The params of the monster's magic is linked with the params of kernel.bin? For example I've quake2 that require 28MP (kernel.bin) and the monster use this magic that cost 1mp (attack edited on scene.bin). The magic will cost 1mp or 28mp?
(Sorry for bad english)

KERNEL.BIN attack entries trump all scene data. Changes made to attacks with an index less than 255 within a scene will not affect the monster at all. If you want a "cheaper" Quake 3 or so, you'll have to make a new attack with an index greater than 255.
[/quote]
Title: Official Proud Clod 1.0 Topic
Post by: Xeeynamo on 2009-12-20 17:51:53
You'll have to be much more specific than that. What changes did you make? What's the final script? Which Ultimate Weapon are you trying to change? etc.
Any change on Ultima Weapon's AI (Pre-Battle and Main) in any scene (70, 71, 73 and 274) cause an error when I click on Disassemble button. The error occur even if I edit an opcode with the same value that had before. If I save the scene, close proudclod and reopen the scene.bin, the error remains, but the scene.bin works well on the game O_O it's very strange..

KERNEL.BIN attack entries trump all scene data. Changes made to attacks with an index less than 255 within a scene will not affect the monster at all. If you want a "cheaper" Quake 3 or so, you'll have to make a new attack with an index greater than 255.
Thanks! :D
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-12-20 20:37:28
You'll have to be much more specific than that. What changes did you make? What's the final script? Which Ultimate Weapon are you trying to change? etc.
Any change on Ultima Weapon's AI (Pre-Battle and Main) in any scene (70, 71, 73 and 274) cause an error when I click on Disassemble button. The error occur even if I edit an opcode with the same value that had before. If I save the scene, close proudclod and reopen the scene.bin, the error remains, but the scene.bin works well on the game O_O it's very strange..

Sorry. My fault. I was testing it with 1.3.0. That was stupid of me. :P

I got this error too. I'll have to look at it closer. I have been saying since the beginning that disassembling is just an approximation anyway so take it for what it's worth.

EDIT:
Pointer fault. *sigh* I just have too many pointers that are incorrectly assigned or not kept track of properly. It's a problem with the debug opcode "A0". I hate that thing as it serves no purpose in the game. It's likely dummied out anyway. I'm tempted to tell WM and PrC to delete them when they see them. When I check WM out for the same issue (might not be there since WM's written differently now) then I'll reupload this.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-12-27 01:26:57
Hmmm... Is it possible to insert strings in the AI (93 opcode). After I've typed in something and hit enter the stuff I typed just disappears. I find it possible to edit already existing strings though, but impossible to create my own (with PC). Maybe I'm doing something wrong?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-12-27 15:04:34
Hmmm... Is it possible to insert strings in the AI (93 opcode). After I've typed in something and hit enter the stuff I typed just disappears. I find it possible to edit already existing strings though, but impossible to create my own (with PC). Maybe I'm doing something wrong?

Strange things happen when you hit enter. For now, just hit "Tab" when you're done and the string will stay.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-12-27 21:35:50
Hmmm... Is it possible to insert strings in the AI (93 opcode). After I've typed in something and hit enter the stuff I typed just disappears. I find it possible to edit already existing strings though, but impossible to create my own (with PC). Maybe I'm doing something wrong?

Strange things happen when you hit enter. For now, just hit "Tab" when you're done and the string will stay.

Thanks for reply, but Tab didn't work either. Nothing works (I think :P). However, I managed to Insert strings using v1.3.1.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2009-12-28 02:29:34
Hmmm... Is it possible to insert strings in the AI (93 opcode). After I've typed in something and hit enter the stuff I typed just disappears. I find it possible to edit already existing strings though, but impossible to create my own (with PC). Maybe I'm doing something wrong?

Strange things happen when you hit enter. For now, just hit "Tab" when you're done and the string will stay.

Thanks for reply, but Tab didn't work either. Nothing works (I think :P). However, I managed to Insert strings using v1.3.1.

D'OH! That's the version I have too. I guess that's why it worked. I'll get around to fixing it eventually.....
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2009-12-28 18:09:44
np! Don't rush it; you're doing a great job. As far as I know the string thingy is the only bug. And PC seems to catch an exception every time I save after altering an attack. Despite of that it saves correctly.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 02:34:43
Deleted because the board software is cutting my post in half, even though it's within limits. Appropriately enough, the post is about how 1.3.3. has trouble copying the

93 {EA0000h}...
60 24
60 0

portions, rendering them as follows:
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 02:59:11
[code]
93   {EA0000h}
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 02:59:44
Oh, for Christ's sake. It won't even let me post the bloody code.

[code]
93   {EA0000h}
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2010-02-17 03:01:47
1.3.3 seems to be having some issues with the message data right now, which is already being looked into. for now though, he said to use 1.3.2 for any string based changes that need to be done until the next version arrives.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 03:04:10
This board software and I do not get along.

Here's the code in PNG form.

(http://img688.imageshack.us/img688/4688/irrit.png)

I don't have the FF7 character table, but if someone did, comparing those weird values to the values of characters in the string might tell us something?

Also, in case someone wants to be helpful, why do computers hate me today? Did I do something wrong? Did I offend them somehow? First my router, then my kernel, then Proud Clod, now even posting I can't do without obstacles popping up. Is this some sort of conspiracy? Why do such bad things happen to good* people?



*Well, at least not wholly bad.


Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-02-17 04:38:55
Oh for crying out loud! I thought I had fixed that. I know what the problem is. That'll be fixed soon. (read: eventually).
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 15:12:00
No worries.

I'm afraid I don't know VB well enough to offer any help beyond quoting Proud Clod's output to the clipboard...
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-02-17 15:48:47
Still, at least it's only happening with raw value entry like that. Very odd. Does this only happen during pasting or does it happen when you type it too?
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 20:44:08
Pasting only, oddly enough.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-17 23:23:33
Right, now the Guard Scorpion keeps freezing on its first move. I can't work with this copy-paste as it stands. I'm basically going to rewrite the AI by hand instead.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-02-18 02:35:43
Don't double post. Modify exists for a reason.

Guard Scorpion is the only one that has those raw values in its AI. Just don't modify that one and it should be fine.
Title: Official Proud Clod 1.0 Topic
Post by: Auraplatonic on 2010-02-27 01:08:27
One question...I was trying to edit the enemy AI of Guard Scorpion to change to so he would not say "Attack while its tail is up!".  I was having a problem with the program accepting the change, basically I can enter in new text but the text clears out when I try to confirm that change or leave the box.  Any suggestions?


EDIT: in  reading these past few posts I have realized they are probably talking about the same problem, so I will wait patiently for a fix :D
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-27 01:28:07
Yup. Use the older version for string changes.
Title: Official Proud Clod 1.0 Topic
Post by: titeguy3 on 2010-02-27 02:04:22
Speaking of which, I deleted my older version, can anybody provide a download link to a version with working string editing?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-02-27 14:26:31
It should still be there on my mediafire/filefront pages. Just use the link at the first post and look at other files by me (or something like that). 1.3.2 is still there.

1.4 is on its way and is looking good. I haven't addressed the string issue yet, but already I've decreased loading time (slightly, but enough to no longer annoy me :D).
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-02-27 14:34:12
Can't say it ever really bothered me.

Out of interest, why do you tend to use VB specifically for these sorts of projects? Does it offer anything in particular for this sort of work? Or are you wanting to practice VB / .NET stuff for study / work?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-02-27 17:46:47
Can't say it ever really bothered me.

Out of interest, why do you tend to use VB specifically for these sorts of projects? Does it offer anything in particular for this sort of work? Or are you wanting to practice VB / .NET stuff for study / work?

No particular reason, really. There is nothing that PrC nor WM needs that any other language does better than VB. The main reason is that's just the language I started writing it in way back when. I only had access to a VB6 Stuido platform so that's the real reason I used that. :)
I didn't like that it was written in VB6 so I got the .NET 2008 studio and just copy/pasted and fixed errors that appeared. It was easier than most people said it was. The controls had to be re-added because the way VB6 handles it is completely different from the way VB.NET handles it. Oh well. It's a longer story, but that's the jist of it. ;)
Title: Official Proud Clod 1.0 Topic
Post by: Auraplatonic on 2010-03-01 03:26:00
I have something else that came up...basically I am trying to get Hell House to summon Ifrit.  I have everything in place except the actual attack animation and the reason is because whenever I try to change the attack ID to that of Hellfire it says it saves the change, but when I close Proud Clod the changes are discarded.  I'm not editing the string, just the attack ID box right beside the edit AI button.

Thanks for any help in advance :)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-03-01 16:20:51
I have something else that came up...basically I am trying to get Hell House to summon Ifrit.  I have everything in place except the actual attack animation and the reason is because whenever I try to change the attack ID to that of Hellfire it says it saves the change, but when I close Proud Clod the changes are discarded.  I'm not editing the string, just the attack ID box right beside the edit AI button.

Thanks for any help in advance :)

If you're going straight from the box with the value to the menu bar then, no, it won't work. That's just the way I set up the interface. It's been bugging me too and I'll have to do something to change that.

To work around it, just click on anything else (other than the menu) after you change that value. I either click on the impact sound value or another attack. Then the title bar will have a "(!)" indicating a change has been made. THEN you're free to save it and the value will update correctly.
Title: Official Proud Clod 1.0 Topic
Post by: Auraplatonic on 2010-03-02 02:58:42
Hmmm...so I got that part to work :)  However now I am encountering another problem.  Before I changed the attack to the correct ID, Hell House used Hellfire but it was just the animation of spider silk.  When I changed it to the correct ID, it keeps saying he is out of MP even though I verified that I gave him more than enough MP to use it.  Any thoughts?


EDIT:  so even by reducing the cost of the spell to 0 it still says he is out of MP.  I don't know if it has to do with coding or what but the only difference is from it working and not is when I changed the attack ID.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-03-02 03:33:52
KERNEL.BIN attacks trump the attacks in the scenes. If you try to get an enemy to perform an attack with an index less than 256 then it will look at the attacks stored in the KERNEL.BIN for data and ignore the data in the scene.
Title: Official Proud Clod 1.0 Topic
Post by: Auraplatonic on 2010-03-02 06:26:09
KERNEL.BIN attacks trump the attacks in the scenes. If you try to get an enemy to perform an attack with an index less than 256 then it will look at the attacks stored in the KERNEL.BIN for data and ignore the data in the scene.

Ah, I see :)


I think I figured it out, its just a matter of finding a correct animation?  Basically I changed the attack index back to its original value, and I edited the animation ID.  The only problem is I have no idea what ID would be for Ifrit.
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-03-02 10:22:10
Use Wallmarket to tell you the IDs of each player-usable attacks.

Just remember that WM lists these IDs in decimal format, and must be converted into hex for Proud Clod.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-03-25 19:30:58
New Version, Check it out!
Title: Official Proud Clod 1.0 Topic
Post by: Tonfa on 2010-03-27 03:41:24
New version, new bugs~

Changes to Animations and Formations tab cannot be saved at all in the new version.

Do love the string insertion, though.
Title: Official Proud Clod 1.0 Topic
Post by: Tonfa on 2010-03-28 00:48:00
I am terribly sorry for doubleposting, I searched for the modify button for a while but can't find it.

Is it within Proud Clod's capabilities to assign the designated berserk attack of the monster? This would be immensely useful in editing.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-03-28 05:40:19
New version, new bugs~

Changes to Animations and Formations tab cannot be saved at all in the new version.

Do love the string insertion, though.

Darn it! I thought I had tested that. I can have it fixed in a day or two.

I am terribly sorry for doubleposting, I searched for the modify button for a while but can't find it.

Is it within Proud Clod's capabilities to assign the designated berserk attack of the monster? This would be immensely useful in editing.

Modify got taken away for a while. S'all good. :)

I don't know where the berserk attack is assigned. I don't believe that information is known (I haven't looked into it myself). If someone can make a list of berserk attacks to applicable enemies it'd be great. I believe confusion is similar, but any attack available to the enemy is viable.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2010-03-28 10:26:28
The first attack on the manipulate list is the attack that they use when berserked, and I just made a mono drive constantly use fire when berserked, so I am assuming that any attack can be used :-P. I haven't tested out confuse, but i will do that now and get back here, though I assume that it uses the same attack.

EDIT: confuse also made it cast fire, and it managed to burn itself to death :-D. So basically the first manipulate slot is also used for confuse/berserk, and any attack should work when placed in it.
Title: Official Proud Clod 1.0 Topic
Post by: Caliman on 2010-03-28 10:52:39
Cheers for all the great mods :)  Really making a big difference to this game.  I will have to credit you on the main credit list for translations, as without people like you no one would be editing anything.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-03-29 14:38:39
Changes to Animations and Formations tab cannot be saved at all in the new version.

This should be fixed. It seems I forgot to flag these changes as "save-worthy" when it came time to re-compress the scene so they never got written into the scene files. :D
Fix'd and re-up'd.

Next big update will see a performance enhancement to AI editing. I'll start on it later this month.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2010-04-01 22:13:01
I don't think this is a bug (bug, as in "screw-up-your-file" bug), but it has annoyed me a bit. If you save when the attack list got focus, you get an unhanded exception. It looks like an out of range exception, since PC is trying to access index -1 in some array (the selected listbox index?).

I'm sorry if this have been addressed; I'm kinda lazy right now. :P 
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-04-02 01:56:45
I don't think this is a bug (bug, as in "screw-up-your-file" bug), but it has annoyed me a bit. If you save when the attack list got focus, you get an unhanded exception. It looks like an out of range exception, since PC is trying to access index -1 in some array (the selected listbox index?).

I'm sorry if this have been addressed; I'm kinda lazy right now. :P 

....Umm, it doesn't to that to me. If you can duplicate it be sure to take note of all the steps you take to get that error.
Title: Official Proud Clod 1.0 Topic
Post by: gjoerulv on 2010-04-03 16:14:53
I don't think this is a bug (bug, as in "screw-up-your-file" bug), but it has annoyed me a bit. If you save when the attack list got focus, you get an unhanded exception. It looks like an out of range exception, since PC is trying to access index -1 in some array (the selected listbox index?).

I'm sorry if this have been addressed; I'm kinda lazy right now. :P 

....Umm, it doesn't to that to me. If you can duplicate it be sure to take note of all the steps you take to get that error.

It happens every time the attack list got focus. If the list has focus (click it or tab it etch.) and I go file -> Create SCENE.BIN, an unhandled exception occurs.

Details (some norwegian):
Code: [Select]
Se slutten av denne meldingen for detaljert informasjon om aktivering av
JIT-feilsøking (Just In Time) i stedet for denne dialogboksen.

************** Unntakstekst **************
System.ArgumentOutOfRangeException: InvalidArgument=Verdi -1 er en ugyldig for index.
Parameternavn: index
   ved Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.InternalLateIndexGet(Object Instance, Object[] Arguments, String[] ArgumentNames, Boolean ReportErrors, ResolutionFailure& Failure)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   ved ProudClod.Form1.AttackList_DrawItem(Object sender, DrawItemEventArgs e)
   ved System.Windows.Forms.DrawItemEventHandler.Invoke(Object sender, DrawItemEventArgs e)
   ved System.Windows.Forms.ListBox.OnDrawItem(DrawItemEventArgs e)
   ved System.Windows.Forms.ListBox.WmReflectDrawItem(Message& m)
   ved System.Windows.Forms.ListBox.WndProc(Message& m)
   ved System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   ved System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   ved System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Innlastede samlinger **************
mscorlib
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4200 (NetFxQFE.050727-4200)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ProudClod
    Samlingsversjon: 1.4.0.0
    Win32-versjon: 1.4.0.0
    CodeBase: file:///C:/SPILL/FF7/ProudClod140/ProudClod.exe
----------------------------------------
Microsoft.VisualBasic
    Samlingsversjon: 8.0.0.0
    Win32-versjon: 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
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 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.Drawing
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 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.Configuration
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 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
----------------------------------------
System.Windows.Forms.resources
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_no_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
Accessibility
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4016 (NetFxQFE.050727-4000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
mscorlib.resources
    Samlingsversjon: 2.0.0.0
    Win32-versjon: 2.0.50727.4200 (NetFxQFE.050727-4200)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------

************** JIT-feilsøking **************
Når du skal aktivere JIT-feilsøking (Just In Time), må .config-filen for dette
programmet eller datamaskinen (machine.config) ha
jitDebugging-verdien angitt i delen system.windows.forms.
Programmet må også kompileres med feilsøking
aktivert.

For eksempel:

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

Når JIT-feilsøking er aktivert, blir alle ubehandlede unntak
sendt til JIT-feilsøkingen som er registrert på datamaskinen,
i stedet for å bli behandlet av denne dialogboksen.
As you see, it's a System.ArgumentOutOfRangeException. It also happens on a normal scene, so it doesn't look like it got something to do with my edited one.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-04-03 22:42:06
Code: [Select]
Se slutten av denne meldingen for detaljert informasjon om aktivering av
JIT-feilsøking (Just In Time) i stedet for denne dialogboksen.

************** Unntakstekst **************
System.ArgumentOutOfRangeException: InvalidArgument=Verdi -1 er en ugyldig for index.
Parameternavn: index
   ved Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.InternalLateIndexGet(Object Instance, Object[] Arguments, String[] ArgumentNames, Boolean ReportErrors, ResolutionFailure& Failure)
   ved Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   ved ProudClod.Form1.AttackList_DrawItem(Object sender, DrawItemEventArgs e)
   ved System.Windows.Forms.DrawItemEventHandler.Invoke(Object sender, DrawItemEventArgs e)
   ved System.Windows.Forms.ListBox.OnDrawItem(DrawItemEventArgs e)
   ved System.Windows.Forms.ListBox.WmReflectDrawItem(Message& m)
   ved System.Windows.Forms.ListBox.WndProc(Message& m)
   ved System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   ved System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   ved System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
...
As you see, it's a System.ArgumentOutOfRangeException. It also happens on a normal scene, so it doesn't look like it got something to do with my edited one.

Honestly, it's not happening to me. I see how it can happen and I've updated the code so it shouldn't do that. I'm not ready to update that change so for now...just don't have the attack list focused when you save. ;)
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-16 14:38:12
Since it seems you don't mind about my requests, NFITC1...  :-P

I noticed that Proud Clod can copy/paste attack datas, and this is truly magnificent. So, actually, my problem doesn't have much to do with Proud Clod, but with Hojo since this feature would rock in it. Let's take the Grunt enemy, for example. You edit its stats, dropped items, gils, exp, ap, elemental affinities, etc - but then you need to type all this stuff again for all instances of this enemy, in scenes 8,63,64,65,78,79,80 and 81. A pain ? Why, yes indeed.

I'm aware that this has nothing to do with Proud Clod at all, since it's Hojo I'm talking about, but now that Proud Clod and Hojo can edit the same Scene.bin at the same time (which is awesome :D), would it be possible to add a function into Proud Clod to copy all stats of an enemy (the ones Hojo can edit), and another one to paste them into all occurences of this enemy, throughout the many scenes ?

What I'm thinking about, in my Grunt example, would be a "copy stats" button, just above the enemy names in the AI tab, and a "paste stats" button next to it. So, once I'm satisfied with my new Grunt's stats in scene 78, I can go into Proud Clod, load the scene78, click on "Edit AI", select Grunt, click on "Copy stats", load scene 79, click on "Edit AI", select Grunt, click on "Paste stats" and voila ! Grunt in scene79 now has the same strength, drops, elemental affinities, etc - as Grunt in scene78.

Or another simpler option would be a button to copy the monster's stats into all occurences of this monster, in all scenes...

I'd ask Squall, but sadly, he's nowhere to be found. So, even though Proud Clod shouldn't have to deal with enemy stats, I guess it doesn't hurt to ask :)
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-05-16 15:40:50
NFITC1 has always been reluctant to muscle in on Squall's work, after rendering Teioh obsolete some time ago.

Still, an 'enemy manager' would be quite nice. If I had more time, I'd even consider writing one of my own - application makes semi-automated changes across SCENEs on the basis of which monsters are duplicated across scenes (could rely on a config file for those adding new encounters, rather than hard-coding the data). For instance, not only copying stats, but also creating stat growth across encounters (e.g. a monster's stats increase by a set amount as scenes progress). The thing is, I can't see much demand for it, and doing it manually is a bit of a pain, but hardly insurmountable.
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-16 16:05:06
Yeah, I think I'll stop crying and just get to work ;)
...Still, your idea of stat growth from one scene to another is very interesting, Bosola :)
I wish I knew how to write utilities like you guys ^^
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-05-16 18:25:43
Learn Python. It IS executable pseudocode. Well, almost.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-17 03:36:11
NFITC1 has always been reluctant to muscle in on Squall's work, after rendering Teioh obsolete some time ago.

Still, an 'enemy manager' would be quite nice. If I had more time, I'd even consider writing one of my own - application makes semi-automated changes across SCENEs on the basis of which monsters are duplicated across scenes (could rely on a config file for those adding new encounters, rather than hard-coding the data). For instance, not only copying stats, but also creating stat growth across encounters (e.g. a monster's stats increase by a set amount as scenes progress). The thing is, I can't see much demand for it, and doing it manually is a bit of a pain, but hardly insurmountable.

You are correct, Bosola, that I don't want to make Squall cry (especially now that Loveless is being obsoleted with Makou Reactor), but Armorvil's suggestion has merit. It's not difficult at all to create a "copy/paste enemy" feature. I'm most worried about formations. Copying/replacing formation data would get chaotic. I don't want someone to copy an enemy index and not change the formation datas. I should probably make a check for this when changing scenes. Making sure that the user knows that there are formations in the scene that don't contain enemies from that scene.

Overall, though. I'm still giving thought to obsoleting Hojo. Sad as it is, I already ousted Scenester, SceneEdit, and now with the new in-development version of PrC Scene Reader. That removes Lord Ramza and M4v3R from having any tools of significance to their names (M4v3R still has Omega to his name and I'm unlikely to touch that since Tiny Bronco isn't coming along AT ALL :( ). Add to the fact that Squall78 has been absent from these forums for some time I don't think he'd mind.

I'm just considering it. No definite plans yet. I'll look into the copy/paste enemies though.
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-17 08:53:01
Yeah, I don't think Squall would mind. And it would be great if Proud Clod and Hojo could be combined, somehow. But for now, if you could pull off the copying/pasting of enemies' stats, it would make the modders' work (mine included) a lot easier, that's for sure :) (even though I plan for some enemies to have different stats in different scenes)

By the way, if it's only stats you allow to copy/paste, then I don't think the formations would be a problem.
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-17 13:09:22
I just took a look at Hojo and something about it confuses me. What's x2 damage to sleep do? Why does only Palmer (who is immune to sleep) have it? What effect does it have on him? I'd assume that it, along with Confusion x2 that some enemies have, means the enemy is either twice as likely to be hit by an attack that causes it, or twice as likely to be inflicted by that status.

Any thoughts?
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-05-17 18:21:32
I believe it to be a dummied-out element, much like the weapon elements (except that the latter are still ocassionally invoked)
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-17 18:43:32
I just tested it, and it's as Bosola said : it's a valid element. I made Sleepel deal damage, and hit a random enemy with it : 150+ damage. Then, I quit the game, made this same enemy weak against sleep, and tried Sleepel again : 300+ damage. This is interesting. I wonder if all status effects can be turned to elements ?
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-17 19:53:59
I just tested it, and it's as Bosola said : it's a valid element. I made Sleepel deal damage, and hit a random enemy with it : 150+ damage. Then, I quit the game, made this same enemy weak against sleep, and tried Sleepel again : 300+ damage. This is interesting. I wonder if all status effects can be turned to elements ?

This is kind of strange. It seems that an attack that will cause 'X' status or element does 'Y' damage. I guess that's how the "Death = Full cure" effect on the Dragon Zombie happens.
If this is correct then there could be a lot of potential for status attacks on bosses without having to code those effects in the AI.
Title: Official Proud Clod 1.0 Topic
Post by: DLPB on 2010-05-19 23:19:20
When I try to change Safer Sephiroth's Deen move from Din to Dean and click save I get

Quote
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'.
Parameter name: index
   at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.InternalLateIndexGet(Object Instance, Object[] Arguments, String[] ArgumentNames, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at ProudClod.Form1.AttackList_DrawItem(Object sender, DrawItemEventArgs e)
   at System.Windows.Forms.DrawItemEventHandler.Invoke(Object sender, DrawItemEventArgs e)
   at System.Windows.Forms.ListBox.OnDrawItem(DrawItemEventArgs e)
   at System.Windows.Forms.ListBox.WmReflectDrawItem(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)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-20 13:17:52
When I try to change Safer Sephiroth's Deen move from Din to Dean and click save I get

Quote
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'.
Parameter name: index
   at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.InternalLateIndexGet(Object Instance, Object[] Arguments, String[] ArgumentNames, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at ProudClod.Form1.AttackList_DrawItem(Object sender, DrawItemEventArgs e)
   at System.Windows.Forms.DrawItemEventHandler.Invoke(Object sender, DrawItemEventArgs e)
   at System.Windows.Forms.ListBox.OnDrawItem(DrawItemEventArgs e)
   at System.Windows.Forms.ListBox.WmReflectDrawItem(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)


See this post (http://forums.qhimm.com/index.php?topic=8481.msg133328#msg133328). It's still not happening to me. I've added a check that should stop that from happening so it'll be fixed in the next version. It could also be because my Vista doesn't want to acknowledge the drawitem override. I dunno.
Title: Official Proud Clod 1.0 Topic
Post by: DLPB on 2010-05-20 13:24:42
I have the scene.bin here also, change din to dean and see if it happens to you - (The din move has a hat on the i) try to save.

>

https://docs.google.com/leaf?id=0B1JH_wU1qqN4YWU3NjYyNzItMjNjMS00OWI2LTlhZmEtODdjZDY4NDI3YmM1&sort=name&layout=list&num=50

Might be worth a try...

Then again after reading that perhaps not, seems the reason is known already :)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-20 14:02:55
Ah-ha! Special character's being used. That wasn't known. That's causing me to get the error. Changing the character to something standard works just fine. I'll get on it.
Title: Official Proud Clod 1.0 Topic
Post by: DLPB on 2010-05-20 14:11:42
 ;D
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-21 14:32:48
Did you have time to look into the copying/pasting of enemies, NFITC1 ? I'm really looking forward to it :)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-21 14:53:43
Did you have time to look into the copying/pasting of enemies, NFITC1 ? I'm really looking forward to it :)

I've thought about it. I'm still entirely not sure where to go with it. What I have so far is this:

Copy EnemyID and Stats (this is obvious). It's all together so just a straight copy of 184 bytes dependent on the enemy.
The problem arises mostly in attacks. They'll have up to 16 attacks that they'll need data for. Rather than making the user copy all 16 attacks individually, this will copy the needed attacks as well for pasting later.
Then pasting is going to be tricky. Obviously, one enemy is going to have to be replaced when pasted. At least, one enemy location will. When pasting into a position an enemy currently occupies I can have it overwrite the attacks that THAT enemy uses and replace the former enemy with the new enemy in formation data. That could make for some interesting battle configurations and odd enemies in weird places (like Rufus's helicopter in Gaia's Cliff for example ;) ). When pasting into a blank position the attacks will have to be appended, but the formations won't change. There could be a notice after pasting that the enemy isn't located in any existing battle formation in that scene so that's good enough.

I think that's all it'd need. Am I missing something? If not I could probably add that in a few minutes.
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-21 18:33:21
Sounds awesome ! So, it will also copy its 3D model ? It's very cool :)
Nothing else comes to mind, to me at least. Needless to say, I'm eager to put my hands on this new feature :D
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-21 19:35:54
Sounds awesome ! So, it will also copy its 3D model ? It's very cool :)
Nothing else comes to mind, to me at least. Needless to say, I'm eager to put my hands on this new feature :D

Since the model is tied to the enemy index, yes.
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-22 14:21:56
Excellent.

Quote from: NFITC1
I think that's all it'd need. Am I missing something? If not I could probably add that in a few minutes.

Those are the longest few minutes ever. Nobody's in a hurry though, so take your time my friend ;)
Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-05-23 02:31:13
Excellent.

Quote from: NFITC1
I think that's all it'd need. Am I missing something? If not I could probably add that in a few minutes.

Those are the longest few minutes ever. Nobody's in a hurry though, so take your time my friend ;)

Coping took a few minutes. Pasting is harder. I think all it's not doing now is the AI pasting.
That and it could destroy changes made prior to pasting... Still working on that too.
Title: Official Proud Clod 1.0 Topic
Post by: Armorvil on 2010-05-23 13:29:17
Look what you made me do  ;D (http://img245.imagevenue.com/img.php?image=21108_Image2_122_521lo.jpg)

I already re-thought almost all of the enemies' placement (the list goes on....). It should prove fun and give my mod a nice feeling, somehow like you're playing a brand new game :) Now all I'm waiting for is this new feature.

You have my full psychological support ; I wish I could help more.

EDIT : Oh yeah, and mighty thanks to Gjoerulv for this very useful list  :mrgreen:
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2010-05-28 23:24:49
Quick request (which I have probably asked before...): Could you implement an Enemy AI dump option? I know that you can currently just C/P to a text file and have it there, but the most important thing, and most annoying thing to add is the offsets, which is not included in the copied information.

I know that the copied info would be enough for most people's needs, but for me, I always like to have the offsets present so that i can know from a glance where the jumps are actually going, and also because I will be dumping every redone enemy script that I do, so that I can actually comment on stuff (hard to know why I did certain things if I go away for a bit and come back to a specific enemy and want to remove/compress stuff that I knew before couldn't be touched, costing me lots of lost time :P), and create my own "pseudocode" for the AI, which helps even more (It is as if I disassembled it in PrC, but without it yelling at me for my coding style :P).

You could even think of it as an extended copy button, that includes the offsets as well (doesn't have to output anything, just copy to the clipboard), and includes the final end opcode, though I am not sure how PrC would handle accidentally trying to import the offsets, I mean you could take the easy way and just tell people NOT to include the offsets, or tell your program to ignore anything starting with 0x###, though I am not sure how much it already ignores, how much work all of this would be, and how willing you would be to do it, but I would be VERY grateful for such a feature :D.
Title: Official Proud Clod 1.0 Topic
Post by: secondadvent on 2010-06-04 08:37:38
shoulda modified my other post, but oh well.

I noticed a strange bug when copying guard scorpion's AI (my rewritten version at least); a part that had two messages in a row, only separated by a jump, caused part of the copied data to become screwed up as such:

EDIT: added another instance of the bug.

Original:
Code: [Select]
93 {EA0000h} "It's gonna fire that laser…"
72 0149
93 {EA0000h} "{EA0001h}, be careful!"
60 24 //this is 0x149
60 00
92

...

93 {EA0001h} "I dunno what's goin' on, but…
60 24
60 00
92
93 it looks pretty bad.
60 24
60 00
92

Copied with error:
Code: [Select]
93 {EA0000h} "It's gonna fire that laser…"
00 0200 //this is where the jump would be, but it is all screwed up
EA            //start of the message is here
00 0C01
00 4542
00 4143
52
45
46
55
4C
01 FF02
60 24
60 00
92

...

93 {EA0001h} "I dunno what's goin' on, but…
49
54
00 4F4C
4F
4B
53
00 5250
45
54
54
59
00 4142
44
0E 60FF
24
60 00
92
Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-06-06 01:50:50
I'm having trouble with AI. Strictly, this should go in the 'Welder' thread, but I suspect that something else is the issue.

I created a simple script using my header and the 'heal hurt unit' plugin. The AI code is as follows:

Code: [Select]
12 2070
02 20A0
82
90
60 20
61 01C5
81
60 04
34
60 02
42
70 (goes to 92 at end)
02 2060
02 2140
80
61 01C6
86
42
70 0054
13 1000
02 2080
03 4160
80
02 2080
03 4180
80
60 03
33
60 02
32
43
90
03 1000
60 01
42
70 (goes to 92 at end)
12 2070
03 1000
82
90
91
61 01C6
92

Every turn that comes around, the battle freezes - players continue in their idle animations, but nothing happens.

The attacks 01C5 and 01C6 are valid (Nerosuferoth).

I altered the code so that it would compare whatever remained on the stack, printing what I'd been expecting if I was correct. If I didn't have
01C5 as my first pop, and 20 as my second, that's where my problem would be. Guess what?

(http://img337.imageshack.us/img337/7954/gah.gif)

So, why isn't using 92 with 01C5 / 20 working? It's just Nerosuferoth's beak.


Title: Official Proud Clod 1.0 Topic
Post by: Bosola on 2010-06-06 13:48:45
I'm double-posting, rather than editing, because some developments are serious enough to warrant a bump.

I can get the code working... once the jumps are borked. Observe:

Code: [Select]

12 2070
02 20A0
82
90
60 20
61 01C5
81
60 01
35
70 0042 -> points to the 73 opcode!
12 1000
02 20A0
03 4160
80
02 20A0
03 4190
80
60 03
33
60 02
32
43
90
02 1000
60 01
42
70 0042 -> points to the 73 opcode!
12 2070
02 1000
82
90
91
61 01C6
92

This code works. Well. Perfectly, in fact. The Neros use attack X ('beak'), but 50% of the time will use attack Y ('healwing') when a party member has less than 50% HP. This goes against all good sense: we'd expect the Neros to refuse to act except when using their attack Y on a char with less than half health, as often the logic branches to the 'end' opcode.

When I fix the logic jumps by substituting $42 with $3F, the game freezes every time an attack is made by the monsters.

This makes no sense whatsoever, unless - and I hesitate to say this - there is an issue with the way that Proud Clod calculates addresses in the AI scripting section. I am, of course, open to other suggestions. I'll see if I can verify the address digits PC generates. If they're consistent, who knows how to explain it?

--

Edit: I understand now. Take a look at the following GIF (I'm quite keen on animations today : ) ):

(http://img706.imageshack.us/img706/1170/scroller.gif)

Basically, when you scroll to the end, Proud Clod doesn't properly 'scroll' the address list. 42 always DID point to the 92 opcode, it's just that PC doesn't 'scroll' the addresses properly once you roll to the end of a script. Make sure you're aware of this when writing your jumps.

This means, in effect, that by 'fixing' the jumps, I actually had the monsters perform 1C5 'as' a 1C5, which is impossible. Initially, I assumed that $20 was being popped somewhere, because it looked like an incorrect 'type'. It looked like an incorrect 'type'... because it was one.

Title: Official Proud Clod 1.0 Topic
Post by: NFITC1 on 2010-06-06 16:40:18
@secondadvent:

Yes, this is a known issue with copying scripts with text strings in them. This has been fixed in the version that is Oh-so-close to being released. Armorvil has a copy of a mostly ready one. The only problem is that I'm doing something different for disassembling and that's throwing me behind.

@Bosola:

This is also a known issue that I was hoping no one would notice.  :-[ Thing is, the actual grid of addresses and grid of code are two different objects. I split them for efficiency's sake. It made everything work three times faster, but they don't sync up 100% of the time. It is very frustrating, but the next version they will be combined again. It will also play around with some syncing, but it shouldn't be noticeable like this.
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: Bosola on 2010-07-18 17:11:36
More problems: there seem to be many circumstances under which PC will plain not save changes to AI, blanking the script out entirely. This is often the case after pasting into a blank script - until I type and change the code, PC doesn't recognize that I've made alterations.

I note that the 'data changed' flag doesn't seem to be touched (there's no '!' in the app. title).

Not saying it's down to the optimization efforts, but I will say one thing: a lot of optimizing 'tricks' - like, trying to only save data that has been changed - run the risk of incorrectly identifying 'redundant operations'. That can be a real problem with an IDE, as tempting as it is to improve performance.

Anyway, Proud Clod will never initialize snappily. It will never boot quickly because it is written in VB.NET, and the CLR / chunky vb dlls are the bottleneck. But no-one really minds about that - it's a difference of a few seconds. Don't worry about making PC fast.
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: DLPB on 2010-08-04 13:44:48
I changed Thundera to Thundara, when I then use search for Thundera it crashes.  Thundera no longer exists and maybe because it doesn't find it there is some sort of bug?



Quote
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ProudClod.Form1.ByNameToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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)
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: Bosola on 2010-08-04 16:02:41
Quote
Thundera no longer exists and maybe because it doesn't find it there is some sort of bug?

Well, that's basically what the exception says...

Quote
Object reference not set to an instance of an object.

An object has been nulled before being referenced.
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: NFITC1 on 2010-08-04 20:14:29
Quote
Thundera no longer exists and maybe because it doesn't find it there is some sort of bug?

Well, that's basically what the exception says...

Quote
Object reference not set to an instance of an object.

An object has been nulled before being referenced.

O_o VEEEEEERRRYYYY different concept there. The object wasn't "nulled" it just never existed. Kinda strange because I remember thinking about an empty result and I thought I took care of that eventuality. In fact, I did. Then I rewrote it and made that particular error handling not work. :( It's fixed now (for the next release).

Quote
Anyway, Proud Clod will never initialize snappily. It will never boot quickly because it is written in VB.NET, and the CLR / chunky vb dlls are the bottleneck. But no-one really minds about that - it's a difference of a few seconds. Don't worry about making PC fast.

Correct. It's noticeable, but there's really little to nothing I can do about it if I want all the functionality retained. What really slows it down is how it loads the scene.bin file. Each scene in there is GZipped and PrC has to GUNZip each of them, read the enemy names, the load the first scene before actually giving control to the user. It's a rather processing heavy process that I've reduced to as fast as possible (I think).
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: Bosola on 2010-08-04 21:22:40
I never realized GZipping took so much time.
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: NFITC1 on 2010-08-04 22:43:06
I never realized GZipping took so much time.

It's not the Gzipping that takes time. It's the gunzipping and storing of 256 files of varying size that makes it take so long.
Title: Re: Official Proud Clod 1.0-1.4 Topic
Post by: Bosola on 2010-08-04 23:48:54
You know what I meant.
Title: Proud Clod editor will not work
Post by: cloud171190 on 2010-09-22 12:53:10
when i used the Proud Clod editor and it come this: Unable to find a version of the runtime to run this application.

i have installed oll of framework and the other but it comes this error message.
Title: Re: Proud Clod editor will not work
Post by: NFITC1 on 2010-09-22 13:06:31
Which version of the framework did you install? I think it specifically wants version 3.5.
Title: ProudClod refuses to save AI script
Post by: Tenko Kuugen on 2010-09-22 17:51:53
Specifically, I found that block 155 in my scene.bin was completely missing ( aka empty. it's the rapps battle block. in ProudClod it's 154 I recon ) and because of that I had to manually recreate the part. I copied stats and whatever from other blocks for the monsters but since rapps is unique, I had to look up the original stats in a non-hardcore scene.bin ( yes, the rapps battle was merely missing in my h_scene.bin god knows why )  and modifiy it myself. I then 'created' the attacks in proudclod, did the formation tab stuff and then the AI stuff  ( I again copied from the existing blocks, as the enemies arent unique except rapps )

Now it gets tricky.
I had no hardcore version of rapps AI and as such i tried copying the non-hardcore version of his AI. it copy / pastes fine, but when I close the tab by clicking 'done' and save scene.bin, the AI data is gone. To clarify, I tried reproducing this with other monsters, but when I copy the AI of a non-hardcore foulander into the h_scene.bin , it saves without problems and errors and the monster acts normally.

It puzzles me why exactly the rapps part doesn't save.
Title: Re: ProudClod refuses to save AI script
Post by: obesebear on 2010-09-22 17:58:54
this belongs in the proud clod thread then
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2010-09-22 19:43:33
Please see my post further up this page. I detail the bug. Hope that helps.
Title: Re: Official Proud Clod 1.4.0!
Post by: Tenko Kuugen on 2010-09-23 09:21:28
Yeah, solved the problem
>copy paste AI
>change any value
>change value back
>save

works like a charm, thanks
Title: Re: Proud Clod editor will not work
Post by: cloud171190 on 2010-09-23 10:38:49
ok this problem is too ok i have installed the framework 2.0 and 3.0 thx for helping and this threat can be closed
Title: Re: Official Proud Clod 1.4.0!
Post by: NFITC1 on 2010-09-23 11:39:17
Yeah, solved the problem
>copy paste AI
>change any value
>change value back
>save

works like a charm, thanks

OK. That's why I was confused. It doesn't do that in the yet-to-be-released version, but I guess that problem still exists in the one available. I'm almost done with this next version, I just need to make sure some changes are saving and fix the way the disassembly looks.
Title: Re: Proud Clod editor will not work
Post by: Bosola on 2010-09-23 15:05:19
I believe the top post in the PC thread does mention that .NET 3.5 and VB powerpacks are needed. It's always a good idea to double-check these posts if a program plain won't run.

A caveat, though, is that PC and WM supposedly work just fine with .NET 2.0 if they're run through WINE (a tool which helps Linux users run Windows programs).
Title: Re: Proud Clod editor will not work
Post by: cloud171190 on 2010-09-23 16:00:15
sry when i have a new question becuse the WallMarket have a problem too when i go to initial Data then comes this Error Message

Unhandled exception has occurred in your application. If you click Continue,the application will ignore this error and attempt to continue.If you click Quit, the application will close immediately.

and another sentence.
Title: Re: Proud Clod editor will not work
Post by: NFITC1 on 2010-09-23 16:09:29
sry when i have a new question becuse the WallMarket have a problem too when i go to initial Data then comes this Error Message

Unhandled exception has occurred in your application. If you click Continue,the application will ignore this error and attempt to continue.If you click Quit, the application will close immediately.

and another sentence.

Sounds to me like you didn't install the VB Powerpacks that Bosola mentioned. They're also in the first post of the WallMarket topic.
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2010-09-23 17:37:36
Jesus. MAKOing. Christ. No offence to Cloud9001 or whatever, but why do I even bother?
Title: Re: Official Proud Clod 1.4.0!
Post by: sl1982 on 2010-09-23 23:52:35
Jesus. MAKOing. Christ. No offence to Cloud9001 or whatever, but why do I even bother?

For the benefit of all humanity?
Title: Re: Official Proud Clod 1.4.0!
Post by: RPGWiZaRD on 2010-10-27 17:41:59
I've noticed that editing Attack Strength for an enemy attack only works for a physical attack or a magical attack that AREN'T included in the "Attack" page in your Wallmarket tool (ie. all materia spells and enemy skills), those won't be affected by editing Attack Strength in this tool. Is it supposed to be like that? IE. is that a limitation of how the game itself was coded or a bug in this tool.
Title: Re: Official Proud Clod 1.4.0!
Post by: NFITC1 on 2010-10-27 22:03:07
I've noticed that editing Attack Strength for an enemy attack only works for a physical attack or a magical attack that AREN'T included in the "Attack" page in your Wallmarket tool (ie. all materia spells and enemy skills), those won't be affected by editing Attack Strength in this tool. Is it supposed to be like that? IE. is that a limitation of how the game itself was coded or a bug in this tool.

Read the readme. It explains this.
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2010-10-28 17:07:49
That's why it's called a read me. Because you should read it.

What are you doing?

Go read it.
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2010-12-12 23:57:39
1.4's one of the most extensive releases yet. I do have a couple of bug reports, though

* I still see the 'not saving pasted AI' bug when I'm not working with the Main script
* When I right click on an attack in a scene, the selection jumps up a place, or three if I'm right-clicking the last named attack of a scene.

That said, I do appreciate how 'check attacks' now investigates the 'authorized attack' data. That's quite nice.
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2010-12-19 20:05:24
Just an observation for fellow SCENE modders that couldn't go anywhere else: you can find out how much space you have in your SCENE by using HXD's analysis tool. The empty spaces between scene blocks are all in FFs, so take a look at the proportion of FFs in the file to glean an idea about how much space you have.

Of course, there's slightly more to it than that - if I have a scene too large to fit into *any* unused portion of a block, it'll trickle downwards and create a whole new block, probably leaving a large chunk of FFs in the old scene. Still, it's nice to have a rough idea how much space you can play with.
Title: Replacing Scenes
Post by: xLostWingx on 2011-02-13 20:00:29
A few years ago I was experimenting with LGP Tools and Scenester and switched around Scenes.  For example, replacing The Super Sweeper scene from outside Midgar with the Guard Scorpion scene - now random battles around Midgar include Guard Scorps and the Boss battle is against some Super Sweepers.

Can Proud Clod do this type of thing?  I have and have used PC, but not extensively and don't touch many features opting to use Hojo instead; So far I haven't found any way to use PC to do this.  With LGP/UnLGP and PC around I thought the programs above would be useless at this point.

EDIT:  Well I'm dumb, the PSX files don't include LGP files so I can't do what I was thinking unless Proud Clod can do this.
Title: Re: Official Proud Clod 1.4.0!
Post by: Bosola on 2011-02-13 22:29:57
You would do this by using WALLMARKET to play with the KERNEL.BIN's scene lookup table.
Title: Re: Official Proud Clod 1.4.0!
Post by: NFITC1 on 2011-02-13 23:47:05
You would do this by using WALLMARKET to play with the KERNEL.BIN's scene lookup table.

No. That wouldn't work. That would just offset some battles by given amounts. You would need to extract the entire scene and replace it with another one. PrC CAN do that, but I think that's an upcoming feature.
Title: Proof the Proud Clod bug with 3D animations wasn't only my fantasy
Post by: Armorvil on 2011-04-30 19:43:52
Yup, I'm happy I finally found a way to easily cause the bug, without having to mod dozens of enemies.
Follow these simple steps to experience the problem :

1- open a clean scene.bin with Proud Clod

2- head into scene218, and look at Master Tonberry's assigned animations. They should be unaltered and look like this :

Everyone's Grudge = 03
Knife = 04
Move = 05
Move Right = 06
Move Left = 07

3- Close Proud Clod, launch it again, and open the same scene.bin again.

4-  head now into scene222, and "Animations/Formations".

5- go to the second tab (Master Tonberry), and notice how the (!) appears in the main window, as if you changed something. Close the "Animations/Formations" window.

6- head back into scene218, and "Animations/Formations". You should be back to the tab of Master Tonberry. But look at its animations :

Everyone's Grudge = 03
Knife = 04
Move = 05
Move Right = 06
Move Left = 06

Congrats ! You didn't change anything, but if you don't fix this, Master Tonberry will now only move forward or right in battle. It could be worse though - sometimes the new animation Proud Clod automatically assigns is 'FF' or an animation a 3D model doesn't have. So, if you don't notice the error and save your changes, the game crashes when the enemy tries to perform the related move. And it's just an example, because this problem occurs throughout the scenes.

NFITC1, can you fix this ? This makes modding the game a nightmare. To iron out these wrong animations, I tried to open a clean scene.bin with PrC so I can compare the enemies' animations with the ones of my scene.bin, but eventually, the same bug corrupts the original scene.bin too. For instance, I'm not even sure if Custom Sweeper's animations should be :

03-w machine gun / 05-smoke shot / 06- matra magic, or
03-w machine gun / 04-smoke shot / 04- matra magic (after in-battle testing, this one is correct)

Or is there a dump of the originally assigned animations, somewhere ? It sure would help a lot.

I hope it can be fixed, because I can't live without Proud Clod. That's how great this tool is ^^

Moved to thread Official Proud Clod 1.4.0! - Bosola

EDIT:

Oops sorry about that ; guess I made the mistake of letting the more-than-30-days warning put me off.

EDIT2:

I just noticed that this bug doesn't occur with PrC v1.2 :D
Title: Re: Official Proud Clod 1.4.0!
Post by: Vgr on 2011-05-01 23:55:40
EDIT2:

I just noticed that this bug doesn't occur with PrC v1.2 :D

Maybe doing a "breakdown" or something similar to that would do the trick? Anyway. Was I right, AV? I told you that older version might work, and so it does :D
Title: Re: Official Proud Clod 1.4.0!
Post by: NFITC1 on 2011-05-02 12:21:20
Previous versions are not backed up so I can't go back and check these things. I'll take a look at what's going on, but I might have fixed this already. I've had a pending version for a while, but the AI disassembly is all busted and I don't know how to get it to look the way I want it to look. I'll keep playing with it though.

Basically, I think most of what you're talking about is fixed. The (!) always shows up when you do the Animations/Formations window because of the way it works. I might have changed that, I'm not sure. The design of the new version is a bit different.

Tell you what, I'll release an alpha version of 1.5.0 today as long as you don't complain about the way things are disassenbled, agreed?
Title: Re: Official Proud Clod 1.4.0!
Post by: Armorvil on 2011-05-02 13:49:51
Previous versions are not backed up so I can't go back and check these things.

I can provide a link to 1.2.2 if you wish.

Quote
(...) as long as you don't complain about the way things are disassenbled, agreed?

*starts complaining*

Just kidding, this sounds perfect :)
Title: Re: Official Proud Clod 1.4.0!
Post by: NFITC1 on 2011-05-02 14:59:21
I can provide a link to 1.2.2 if you wish.

No, I've got all the binaries, I just don't have any of the sources. Either way, this version has fixed that issue by handling the "changed" flag differently. It won't create the "(!)" by changing tabs the way it did.

*starts complaining*

Just kidding, this sounds perfect :)

Done. Check the first post. 1.5.0.alpha is out.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-02 20:15:32
I'm in awe, sir. This is magnificent  :D

Oh yeah, in the first post, you forgot a word :

Quote
Paste won't show up if you have an enemy copied

I think it should say "paste won't show up if you don't have an enemy copied" ;)

About PrC itself, the fact that it makes Hojo obsolete is awesome. I also love the dump feature, to create .txt files of your changes. And the bug I mentioned earlier is indeed fixed :)
I also love the fact that you can safely edit the 6th enemy in the formation editor now, without having an error message (trying to change a flag still results in a "System.OverflowException" though, but maybe you can't do a thing about those).

I also don't know what you meant by disassembling not properly working, since it does. And it does in a language even I can understand ! :D (almost the same language Terence used in his FAQ). Awesome. I see you also fixed the fact that a blank line was created after editing a byte in the AI and pressing an arrow key - but an error message still displays when, after changing a value, I just click in another cell.

Oh yeah, I also noticed that if I make a move that makes one of these error messages pop up then press Cancel, the data I entered (and that led to the error message popping up) will still be there when I return. Here is an example, if this isn't clear enough (skip the next paragraph if you understood) :

- Let's say I go into Zemzelett's formation editor, and I change the battle flag to something like FEFFFFFF. This doesn't work and it displays an error message. I click "continue" on the pop up, then choose "Cancel" in the formation editor window. In the previous versions of PrC, canceling a window when such a problem arose allowed everything in said window to return to normal. But now, if, after canceling, you head back into the formation editor, you'll notice your mistake will still be there. It might be a problem if, for example, you made multiple changes before messing up. You'd have no way to save your changes, unless you also saved this mistake (or you'd have to shut PrC down and re-enter all your changes). I learned to save often though, so it shouldn't be that big a deal.

What else... ...oh yeah, I see you kept out Hojo's Sleep, Death & Confusion elementals. I don't care much about them, so yeah, why not... ...WOW, you can now edit the Back Damage ! This is great :) AirBuster has a Back Damage of 40, whereas the other enemies have one of 16, huh. This explains everything.

...Mmm... ? You left out the "Manipulable" bit ? I don't understand why. Sure, you can edit the manipulate attacks in the Animations/Formations editor, but if you can't turn on and off their immunity to Manip, changing those is useless (apart from the first manipulate attack also being the Berserk attack).

I think that's all for now. All in all, a definitely great improvement. My hat goes off to you, and I thank you for sharing your hard work  :D

EDIT:

Ah yes, one last thing I'm thinking about. Is there a way to make PrC and WM communicate somehow, so the item names from Kernel.bin are loaded, instead of the originals ?
Or have PrC read a .dat or .xls file to display the item names ?... ...I tried to open ProudClod.dat as a text file to see if I'd find the item names in there (so I can change them to my mod's), but they're not.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: NFITC1 on 2011-05-02 21:58:32
trying to change a flag still results in a "System.OverflowException" though, but maybe you can't do a thing about those
I CAN do something about that, can you elaborate?

I also don't know what you meant by disassembling not properly working, since it does. And it does in a language even I can understand ! :D (almost the same language Terence used in his FAQ). Awesome. I see you also fixed the fact that a blank line was created after editing a byte in the AI and pressing an arrow key - but an error message still displays when, after changing a value, I just click in another cell.
I'll look into that clicking another cell = error thing, but I'm using Eligor's Main script as "properly working". That's probably a high bar, but can tell you that some assembler optimizations won't be read properly.

Oh yeah, I also noticed that if I make a move that makes one of these error messages pop up then press Cancel, the data I entered (and that led to the error message popping up) will still be there when I return. Here is an example, if this isn't clear enough (skip the next paragraph if you understood) :

- Let's say I go into Zemzelett's formation editor, and I change the battle flag to something like FEFFFFFF. This doesn't work and it displays an error message. I click "continue" on the pop up, then choose "Cancel" in the formation editor window. In the previous versions of PrC, canceling a window when such a problem arose allowed everything in said window to return to normal. But now, if, after canceling, you head back into the formation editor, you'll notice your mistake will still be there. It might be a problem if, for example, you made multiple changes before messing up. You'd have no way to save your changes, unless you also saved this mistake (or you'd have to shut PrC down and re-enter all your changes). I learned to save often though, so it shouldn't be that big a deal.
That'll be different per-error. Some will save before hand, some will not.

What else... ...oh yeah, I see you kept out Hojo's Sleep, Death & Confusion elementals. I don't care much about them, so yeah, why not...
Well, technically they should probably be in there. I think there might be an enemy or two that are affected that way. Maybe not though. Still, it'd be nice to see an enemy getting damaged if it's hasted or something.

...Mmm... ? You left out the "Manipulable" bit ? I don't understand why. Sure, you can edit the manipulate attacks in the Animations/Formations editor, but if you can't turn on and off their immunity to Manip, changing those is useless (apart from the first manipulate attack also being the Berserk attack).
The "Manipulate bit" is immunity to the Manipulate status. Hojo isolated that and left out the status bit PrC marks as "Dual". If you want an enemy to be manipulate-able then make sure the "Manip" status is allowed on the Enemy Stats window.

Ah yes, one last thing I'm thinking about. Is there a way to make PrC and WM communicate somehow, so the item names from Kernel.bin are loaded, instead of the originals ?
Or have PrC read a .dat or .xls file to display the item names ?... ...I tried to open ProudClod.dat as a text file to see if I'd find the item names in there (so I can change them to my mod's), but they're not.
I had thought about this. I think I probably should. The item names in the enemy stats and things were leftover place-holders. There should definitely be an "import item names" option somewhere, shouldn't there? It'd be best to read the KERNEL.BIN/kernel2.bin for this rather than a xml-based file.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-02 23:15:01
I CAN do something about that, can you elaborate?

Sure. It has to do with the battle flags, in the formation editor. In most cases, they are FFFFFFFF, but sometimes enemies that are not present in the battle right from the start (like the second Mighty Grunt) have a different flag (in Mighty Grunt's case, it's FFE6FFFF). Needless to say, it's rare to want to edit those, but I needed to revert a FFE6FFFF into a FFFFFFFF once, to fix a battle. And since you can't edit them with any version of PrC, I had to dump my scene, hex-edit it, and import it back into PrC. If you try to edit those in PrC, an unhandled exception occurs.

Quote
The "Manipulate bit" is immunity to the Manipulate status. Hojo isolated that and left out the status bit PrC marks as "Dual". If you want an enemy to be manipulate-able then make sure the "Manip" status is allowed on the Enemy Stats window.

 :-[ Sorry about that, I completely forgot to check the status immunities. Makes sense that it's listed in there :)


Quote
I had thought about this. I think I probably should. The item names in the enemy stats and things were leftover place-holders. There should definitely be an "import item names" option somewhere, shouldn't there? It'd be best to read the KERNEL.BIN/kernel2.bin for this rather than a xml-based file.

Yes, that would be great ^^
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-03 09:30:27
Sorry for the double-post, but I noticed a bug.

In the enemy stat editor, cycling between different enemies by repetitively clicking their tabs make the "allowed statuses" boxes disappear after a while.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: ff7rules on 2011-05-03 12:43:47
I have also noticed a bug when you change MP values they don't save. Also the enemy ID doesn't either apart from that i can't see any other problems
Title: Re: Official Proud Clod 1.5.0.α!
Post by: NFITC1 on 2011-05-03 14:32:43
Sure. It has to do with the battle flags, in the formation editor. In most cases, they are FFFFFFFF, but sometimes enemies that are not present in the battle right from the start (like the second Mighty Grunt) have a different flag (in Mighty Grunt's case, it's FFE6FFFF). Needless to say, it's rare to want to edit those, but I needed to revert a FFE6FFFF into a FFFFFFFF once, to fix a battle. And since you can't edit them with any version of PrC, I had to dump my scene, hex-edit it, and import it back into PrC. If you try to edit those in PrC, an unhandled exception occurs.
Fix'd

Sorry for the double-post, but I noticed a bug.

In the enemy stat editor, cycling between different enemies by repetitively clicking their tabs make the "allowed statuses" boxes disappear after a while.
Fix'd

I have also noticed a bug when you change MP values they don't save. Also the enemy ID doesn't either apart from that i can't see any other problems
Fix'd

Later I'll look into importing the item names from the KERNEL.BIN/kernel2.bin files and I'll re-release.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-03 18:29:07
Awesomesauce =D

EDIT:

I tried to copy a AI script so I could paste it in another enemy's script, but I had an error message. Unfortunately, this message is in french, so I don't think it could help you much. Basically, it states that it couldn't save the data into the clipboard. Weird.

EDIT 2:

Never mind, it must be a problem on my end. The other PrC had the same temporary issue. It's working fine now.

EDIT 3:

Messing up with AI, I found another bug. When you delete lines of code in any AI script, it looks like the lines of code you don't delete get corrupted. It doesn't show up immediately after deleting though, as it's only when you disassemble or close the AI menu/reenter it, that you will notice the corruption. For example, after realizing that the code I entered in the top part of the General Counter script made the game crash, I deleted it and noticed that the 02 2060 line just below it, turned into 00 6002.

Also,PrC doesn't save either, if you try to modify the Allowed Statuses in the EnemyStats window.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Dark_Ansem on 2011-05-07 06:25:58
love the new additions :D thanks!
Title: Re: Official Proud Clod 1.5.0.α!
Post by: DestroGalacticmon on 2011-05-10 13:47:11
There appears to be a bigger save problem with the Enemy Stat editor. I tried to change everything a little bit out of curiosity after reading these posts stating that some things aren't saving. Well, guess what? I click OK, the window closes, I open the stat editor again, and everything's back the way it was before my touch. :/

In a nutshell, nothing saves. Maybe someone has informed this already, but I'm doing it now just in case.  :evil:
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-10 18:41:18
Yeah, I bet NFITC1 fixed it all the first time it was mentioned. I just wish he'd release the fixed version  :'(
I just hope the delay is caused by real-life obligations or new functions tricky to implement - not because NFITC1 lost the will to work on PrC. The latter would suck. A lot.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: DestroGalacticmon on 2011-05-11 13:03:32
Oh! Well, if it's already been fixed then I guess I don't need to complain about anything. :lol:
The latter would suck. A lot.
I know what you mean.. But I highly doubt that would be the case. Not for long, anyway. (will power restores itself :P)
Title: Re: Official Proud Clod 1.5.0.α!
Post by: NFITC1 on 2011-05-11 22:13:06
Yeah, I bet NFITC1 fixed it all the first time it was mentioned. I just wish he'd release the fixed version  :'(
I just hope the delay is caused by real-life obligations or new functions tricky to implement - not because NFITC1 lost the will to work on PrC. The latter would suck. A lot.

Nope. Not the latter. I've been sick for the past few days and lost the will to use my laptop. %P I'm better now and I'll get to it when my IRL work load permits.
Title: Re: Official Proud Clod 1.5.0.α!
Post by: Armorvil on 2011-05-12 09:58:08
Oh, I forgot this possibility. Glad you're feeling better.
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: Armorvil on 2011-06-05 15:57:17
Is an Alpha 3 in the works ?... ...I'd love to have only one tool to modify enemies which, as it's slightly annoying to constantly switch between PrC and Hojo (because yes, even in Alpha2 and the tab-switch trick, some values still aren't saved - like the drops/steals, the MP, and the allowed statuses).

EDIT:

Sorry about that, SL. Since my previous post was one month old, and since I had a legitimate question I didn't want to get under NFITC1's radar, I thought double-posting was ok. I'm still confused about why double-posting in such a way would be frown upon, anyway. I can see how double-posting could be disruptive, but in this case ? Not so much.
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: sl1982 on 2011-06-05 16:40:53
No double posting please.
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: DestroGalacticmon on 2011-06-07 20:03:24
If it is not too much to ask, could the next release have the model ID letters fitted back? It seems impossible to create a new boss battle because I have no idea which model goes by which ID. :(

Yeah, and now that I really try it, changing the model ID is actually meaningless because the stats still don't save. That's... bad.
I hope you'll get some time to work on it. :P
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: sl1982 on 2011-06-07 20:40:19
Sorry about that, SL. Since my previous post was one month old, and since I had a legitimate question I didn't want to get under NFITC1's radar, I thought double-posting was ok. I'm still confused about why double-posting in such a way would be frown upon, anyway. I can see how double-posting could be disruptive, but in this case ? Not so much.

A simple edit would have been sufficient in this case as this topic was still on the first page of topics. It still shows a 'NEW' if you edit something.
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: DLPB on 2011-06-07 21:23:24
Does it also rise to the top though?
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: sl1982 on 2011-06-07 21:39:22
Nope.
Title: Re: Official Proud Clod 1.5.0.α_2!
Post by: NFITC1 on 2011-06-08 01:04:23
some values still aren't saved - like the drops/steals, the MP, and the allowed statuses).

If it is not too much to ask, could the next release have the model ID letters fitted back? It seems impossible to create a new boss battle because I have no idea which model goes by which ID. :(

Yeah, and now that I really try it, changing the model ID is actually meaningless because the stats still don't save. That's... bad.
I hope you'll get some time to work on it. :P

Fix'd, Fix'd and alpha3 uploaded.
Title: Re: Official Proud Clod 1.5.0.α_3!
Post by: DestroGalacticmon on 2011-06-08 07:55:23
Yep, all good now. It saves now.
Thanks a lot, man! This'll definitely help.  ;D
Title: Re: Official Proud Clod 1.5.0.α_3!
Post by: Armorvil on 2011-06-08 19:22:49
I second what Destro said. Stellar program. If I had to address a critic now, it would only be the fact that, as a full-fledged Scene.bin editor, it is somewhat less accessible than Hojo. What I mean is, when you select a particular scene (for example scene 10, with Devil Ride, Kalm Fang & Prowler), you don't instantly see the enemies' stats, drops and the like. You have to click on Enemy Management, then Enemy stats before you can alter (or even see) those. For this reason, if I wanted to edit something Hojo can modify, chances are I'll still open Hojo (quicker access to what I need to be changed, and I can easily compare the stats/drops/awards from one scene enemy to another).

So, I really think the "Enemy stats" window should be the main one, while the attack editor should be an option. The best thing though, would be to have both features in the main window. I'm not a big fan of tab-browsing - the more info you can squeeze into the main window, the better IMO. I admit though, that it's nitpicking on a high level. Two clicks won't kill me (though, rather personal issue : I've been using TeamViewer a lot lately, to control my pc with my ipod when I'm not at home, and two clicks mean something in TeamViewer).

Anyways thank you again, this made my day  :D

EDIT :

So basically, it all comes to this : Proud Clod's only flaw is that it wasn't designed to replace Hojo right from the start. It's an attack editor with a built-in (and improved) Hojo, whereas a scene.bin editor should, IMO, be the opposite. But like I said, it's not so big a deal. I'd even be perfectly happy if 1.5.0.α_3 was the final release.
Title: Re: Official Proud Clod 1.5.0.α_3!
Post by: NFITC1 on 2011-06-08 20:26:27
I second what Destro said. Stellar program. If I had to address a critic now, it would only be the fact that, as a full-fledged Scene.bin editor, it is somewhat less accessible than Hojo. What I mean is, when you select a particular scene (for example scene 10, with Devil Ride, Kalm Fang & Prowler), you don't instantly see the enemies' stats, drops and the like. You have to click on Enemy Management, then Enemy stats before you can alter those. For this reason, if I wanted to edit something Hojo can modify, chances are I'll still open Hojo (quicker access to what I need to be changed, and I can easily compare each enemy's stats).

So, I really think the "Enemy stats" window should be the main one, while the attack editor should be an option. The best thing though, would be to have both (or all features ?) in the main window. I'm not a big fan of tab-browsing - the more info you can squeeze into the main window, the better IMO. I admit though, that it's nitpicking on a high level. Two clicks won't kill me (but I've been using Team-Viewer a lot lately, to control my home PC with my ipod when I'm not at home, and two clicks mean something in Team-Viewer).

Anyways thank you again, this made my day  :D

I've intended to make this a suite since adding the AI editing. I don't have the skills to do that yet, but that IS the next bullet point on my TODO list. I'm not crazy about the organization of it all, but as soon as I figure out how to change it to something more accessible I will.
Title: Re: Official Proud Clod 1.5.0.α_3!
Post by: Armorvil on 2011-06-08 20:30:07
Ha I understand, thanks for the reply. I'm beyond happy with 1.5.0.α_3 as it is anyways ^_^
Well, time for me to go back to modding :-)

EDIT:

The same problem still occurs : in any given scene, nothing regarding the third enemy's drops/morph/allowed statuses/... can be saved. I don't know if I should laugh or cry.
At this rate, the not-saving bug will truly be "Fix'd" in 1.5.0.α_10.
Small tip : if you have trouble testing things by yourself and need someone to do it before publicly releasing a new version, I'm right here (you should have my email address).

It really looks like you can't try your own program by yourself and only use our feedback to fix things. If that's the case it's no problem (perhaps you don't develop PrC on a computer where FF7 is installed / where a scene.bin is available ?), but please tell us. So instead of typing "many enemy stats aren't saved", we'll list them all so you can fix them once and for all.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-09 13:38:35
The same problem still occurs : in any given scene, nothing regarding the third enemy's drops/morph/allowed statuses/... can be saved. I don't know if I should laugh or cry.
At this rate, the not-saving bug will truly be "Fix'd" in 1.5.0.α_10.
Small tip : if you have trouble testing things by yourself and need someone to do it before publicly releasing a new version, I'm right here (you should have my email address).

It really looks like you can't try your own program by yourself and only use our feedback to fix things. If that's the case it's no problem (perhaps you don't develop PrC on a computer where FF7 is installed / where a scene.bin is available ?), but please tell us. So instead of typing "many enemy stats aren't saved", we'll list them all so you can fix them once and for all.

The third enemy? That's oddly specific. I'll take a look. It's likely the index didn't get set properly. Then if it's not throwing an error it might be overwriting another enemy's data.

EDIT:
Fixed it. See blog for more details.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Armorvil on 2011-06-09 15:54:56
Wow, that was fast !  :o

Downloading Alpha 4 now. Thanks so much for being so reactive :)
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-09 16:02:17
It hit me as I was fixing this that I want to make it more like the tool Square was likely using to create the scene.bin in the first place. What I envision is there are entries for enemies, attacks, and scenes. Specifically, a list of each and a form for each. During saving, the tool would combine them all based on the formation data entries.

Enemy Data:
There would be spaces for 397 enemies (Models AADA - OFDA) that would each have their own stats, animations, required attacks, and AI assigned to them. This will be crucial for keeping enemies "synchronous" between scenes.

Attack Data:
Ranging from index 100h - 7FFFh for the same reason. They would each have attack values like the standard attacks.

Scene Data:
Between 00h - FFh and contain formation data, formation AI, camera placement, and which enemies would be contained within.

All this would be presented in an MDI format (individual windows, not tabbed) and can be used to compare enemies and attacks with each other. If you're familiar with either Morrowind's or Oblivion's Construction Set you know what I mean. Optionally, it would also allow importing of KERNEL.BIN attack data, attack names (both of which trump scene.bin attack data), and item names for consistency's sake. Optimistically, it would also allow importing the char.lgp to actually view the animations (currently this is WAY out of my league).
That's where I'd like this project to ultimately go. That would require a rather substantial re-write of the interface and I'd probably start from scratch on that. Theoretically, this envisioned tool could create a scene.bin file FROM SCRATCH!

Question: Is that what YOU, the end-user, wants?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Armorvil on 2011-06-09 16:52:36
This would be amazing. Yes, I think I'd love that.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2011-06-09 18:56:15
Quote
It hit me as I was fixing this that I want to make it more like the tool Square was likely using to create the scene.bin in the first place. What I envision is there are entries for enemies, attacks, and scenes. Specifically, a list of each and a form for each. During saving, the tool would combine them all based on the formation data entries.

WANT
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: secondadvent on 2011-06-09 20:03:55
WANT

Seconded. Been kinda hoping for something like that for a while now :P.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-09 21:08:01
Nice. I'm glad that got a good response. I figured it would. I'd like to apologize for the visual atrocity that PrC has become. Since it was originally just an attack editor it made sense to just keep adding little piece by little piece on to it.

I've been working on the interface for about an hour and I like the direction it's going already. Most of the code is written already (which is good) so it's really copy-pasting and a few days work to get it all together. Don't fool yourselves into thinking it'll be done in a few days, that's just the cumulative amount of time it'll take to finish it.....when I get the time.

Now what I need is some artistry. I'd like to add a little more pizazz to this redesign. What I'd like are 32x32 pixel icons for enemies, attacks, and scenes. I'm thinking something like http://www.finalfantasykingdom.net/dissidia/bomb.gif for enemies, maybe the buster sword for attacks http://geekskillz.com:50000/images/buster_sword.gif, and a basic blue squares vs red triangles for scenes. Any other ideas?

EDIT:
The more I play with this idea, the more I abso-freakin'-lutely LOVE IT!! This is going to be cool, but potentially memory demanding. I didn't ever retain more than the scene.bin's size plus two times the size of the uncompressed scene being worked on (just over 271K). Now this new interface is holding data for each unique attack, enemy, and scene. That's a LOT more data to hold onto, but it's SO much more organized and easier to keep up with what's changed.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2011-06-10 10:29:15
If you require assistance on the UI design front, I'm happy to give advice. My experience is more in laying out web service pages, but I've practical experience in the field PC deals with.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-06-10 12:18:05
I think you might get dependance on the kernel (already discussed I think) and battle.lgp so that we see potentially new names, models and all. Also, you might want to allow us to open any .BIN file instead of a one naming scene.bin so that it is easier for modders. Also, let us choose which kernel.bin to check data in, instead of the one in the kernel folder. Also, make all windows resizable and all, even is just diagonaly (because I sometimes want to open 2 scene.bin simultaneously and my screen isn't big enough).
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-10 13:36:17
I think you might get dependance on the kernel (already discussed I think) and battle.lgp so that we see potentially new names, models and all. Also, you might want to allow us to open any .BIN file instead of a one naming scene.bin so that it is easier for modders. Also, let us choose which kernel.bin to check data in, instead of the one in the kernel folder. Also, make all windows resizable and all, even is just diagonaly (because I sometimes want to open 2 scene.bin simultaneously and my screen isn't big enough).

Dependence on the KERNEL.BIN? No. Highly suggested encouragement of it's inclusion? Definitely. Like I said earlier, I want this to have the ability to create a scene.bin from scratch. I've already got that in place. I'm convinced I can create one from scratch based on the way I'm going with it.

Less restrictive file naming convention? You got it! That was easy. :)

Resizable? You got it! Now that this will be an MDI interface, I can restrict the size of the individual attack panels and still give you the ability to resize the overall container window. All those annoying focus-related issues will go away too! You can have multiple attacks or multiple enemies (even multiple windows PER enemy if you desire) viewable at the same time, be able to switch between them, and have the ability to save changes whenever!


Another epiphany:
Attack data will tend to look the way it used to, but I'm still going to have some tabbed browsing for enemies and formations.

Enemies will be divided into the following tabs: Stats; Animations (including allowed attacks, modelid, and berserk/manip attacks); AI. This way I can still make prime use of real-estate. The Animations tab will allow you to use ANY attack rather than just the thirty-two in the scene already so it might take a while to load. I'm going to see if I can do some sort of data-binding to reduce this lag.

Scenes will have the following tabs: Formations (including flags, background, enemy placement data in a similar format to what it was before); AI. I'd also love to keep the Preview button, but it'll likely be a while before I include the battle.lgp (not the char.lgp that I mentioned earlier) for model importing. I'm still not good at the animations and stuff.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-06-10 13:42:23
What about to let us choose which kernel to patch? Can you make it that the dumped scenes are text files? If I understand correctly, we can have dozens of windows and be able to switch between them all? Awaiting badly for the true release of 1.5.0!
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2011-06-11 22:08:40
Quote
It hit me as I was fixing this that I want to make it more like the tool Square was likely using to create the scene.bin in the first place. What I envision is there are entries for enemies, attacks, and scenes. Specifically, a list of each and a form for each. During saving, the tool would combine them all based on the formation data entries.

I've been reflecting on this. What 'development' tool did Square use? More importantly, what general 'development' tool best fits our requirements as modders?

My thinking is this: rather than even talking about separate KERNEL.BIN, SCENE.BIN, LIMTMENU.MNU etc. editors, what about, as an ultimate ambition, a 'general' FF7 mod IDE? Think an application that can work in an open-standard project file format, handling notes, flags, revision histories and user-defined groups, that can take the contents of an FF7 ISO and output a new, modified disc / patch file. An IDE that can automatically handle YAMADA.BIN (file table) modification and insert 'global' AI scripts (common AI scripts used to hack functionality, like our Poison=Disease script). An IDE that needn't be rewritten when new files are researched / alternative files are written, thanks to an extensible XML-based resource directory.

Would be a massive undertaking, though. Might have to park it until, ooh, 2016.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-12 03:14:38
...
Would be a massive undertaking, though. Might have to park it until, ooh, 2016.

Yeah, you get right on that, let me know how it goes. :)

Kidding aside, I doubt there was one great "omni-tool" that was used for every piece of the game. It would be likely that there would be one great battle-related tool that would end up creating all the resources like menus, stats and attacks for both player and enemy-related data. Perhaps some day I, or someone else, will combine the functionality of PrC and WM with some form of menu editor.

As an update to my current progress things are looking positive. I was able to sucessfully open at least thirty attack windows and manipulate them all. However, in order to do that most efficiently, I made the attack sat a window to be tabbed. This seems to be a good thing because I can make some labels be more descriptive. For instance "No re-target" got changed to "Will not re-target if target is disabled" and "One Row" got changed to "Cursor cannot switch between enemies and allies" and stuff like that. I was going to make a fraps of it and post it on YouTube, but I'll probably wait until it has more features ready
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: poofacetherisen on 2011-06-13 01:31:31
Optionally, it would also allow importing of KERNEL.BIN attack data, attack names (both of which trump scene.bin attack data), and item names for consistency's sake.
Yep, you need the item/materia (can enemies drop materia?) names, Hojo couldn't do that and it really made things difficult.
Quote
Question: Is that what YOU, the end-user, wants?
Well, I want to basically completely modify the game, so yes.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-13 13:55:54
Yep, you need the item/materia (can enemies drop materia?) names, Hojo couldn't do that and it really made things difficult.

When Hojo was developed KERNEL.BIN hacking wasn't happening. Since text of items wasn't changing there wasn't much point to allow a different set of item names. This new PrC will accept either KERNEL.BIN or kernel2.bin attack/item names (no, enemies never carry materia either dropped or stolen. You either find it or buy it).
I also realized as I was digging through the asm of attack indexes listed in the scenes that the attack data for KERNEL.BIN based attacks DOES INDEED need to be in the scene for only one function: determining MP cost. It looks like if the command index is 20h (from the 92 command) then this function will look through the attack data from the scene and pull MP data of the attack from that. If I'm reading the rest of the code right (including that) then that's really the only place that the game cares if KERNEL.BIN attacks are in the scene.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Armorvil on 2011-06-19 15:53:46
Small bug report : the camera override doesn't save for -at least- the first enemy.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-21 19:05:18
Small bug report : the camera override doesn't save for -at least- the first enemy.

Can you clarify that? I don't know what you mean by "camera override".

I did find a pretty glaring error while looking through this. The actual formation data, the stuff on the "Formation" tab, will be saved to the scene data as you edit it. Even if you hit cancel those changes will still be made.   :-[ That is, obviously, not a good thing. I'll fix this after Armorvil tells me what he meant.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Armorvil on 2011-06-21 21:03:50
Yeah, the "done" button doesn't do a thing, and "cancel" closes and saves the changes. Still, it's no big deal.

What I meant by camera override is : camera override. This is what it's called, and this is what it does :P
But this is just me being annoying. If you need more precisions, this is in the Animations/Formations window, in an enemy's tab. At the right of each attack, you can assign an animation. Then, at the right of the animations, you have a field called Camera Override. Basically, this forces a new camera data for this particular attack. Since my modifications sometimes turn a single-target attack into a multi-target attack, I need to change those values (so the camera doesn't zoom on the middle character when said attack hits the whole team). In previous versions of Proud Clod, the data in those fields was always saved - but not in PrC 1.5.0.α_4!  :'(

If you change a camera override value, close the animations/formations window, then open it again, you'll see your modifications - implying it will save. But alas, if you save your scene.bin, the data reverts to its previous state.

Oh yeah, and now that I'm at it, there is another bug - regarding AI editing this time. When you create a new line and type the 93 opcode, the program instantly displays an error message. And once, after I added many different 93 opcodes, the program would start to automatically add lines consisting of 00s below them (opcode being 00, argument being 00 00). And everytime I'd delete those unwanted lines, they would keep coming back after closing and opening the AI window again -__-

So I had to use Proud Clod 1.2.0.0 to do my AI editing, since it looks like it handles AI editing with more stability somehow.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: ff7rules on 2011-06-22 11:53:22
Another bug also the editing of enemys names is not saving at all
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-06-22 14:14:52
Yeah, the "done" button doesn't do a thing, and "cancel" closes and saves the changes. Still, it's no big deal.

Wow! This is the result of lazy programming on my part. I changed some variables to be global then didn't realize that that required a re-write of my saving processes. I think I have it more isolated now.

What I meant by camera override is : camera override. This is what it's called, and this is what it does :P
But this is just me being annoying. If you need more precisions, this is in the Animations/Formations window, in an enemy's tab. At the right of each attack, you can assign an animation. Then, at the right of the animations, you have a field called Camera Override. Basically, this forces a new camera data for this particular attack. Since my modifications sometimes turn a single-target attack into a multi-target attack, I need to change those values (so the camera doesn't zoom on the middle character when said attack hits the whole team). In previous versions of Proud Clod, the data in those fields was always saved - but not in PrC 1.5.0.α_4!  :'(

If you change a camera override value, close the animations/formations window, then open it again, you'll see your modifications - implying it will save. But alas, if you save your scene.bin, the data reverts to its previous state.

Oh yeah. I forgot about those. :) Sorry. Yeah, they weren't right. They weren't saving properly at all. I fixed that too.

Oh yeah, and now that I'm at it, there is another bug - regarding AI editing this time. When you create a new line and type the 93 opcode, the program instantly displays an error message. And once, after I added many different 93 opcodes, the program would start to automatically add lines consisting of 00s below them (opcode being 00, argument being 00 00). And everytime I'd delete those unwanted lines, they would keep coming back after closing and opening the AI window again -__-

So I had to use Proud Clod 1.2.0.0 to do my AI editing, since it looks like it handles AI editing with more stability somehow.

Yuck. This is why I have old versions of WM archived. ;D AI made a drastic change a few versions ago and that was bound to cause some odd things. I haven't gotten to this yet, but I'll look at it.

Another bug also the editing of enemys names is not saving at all

Actually it does, just not in the scene selector. I should probably fix that...Done.

I'll upload these changes soon. I think.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: LegacyHero on 2011-07-28 03:39:00
Ok, there's a bug for Proud Clod, and that's the enemy stat editing part.  When I edited enemy stats the enemies started showing up in the wrong places (for instance when fighting the ice lady in the cave, instead of the enemy snow, there were three bandersnatches).  I know this involves the Kernel.bin not updating correctly.  Hojo fixes the issue by updating the kernel.bin when you save.  However, Proud Clod does not, hence the bugging part.  I don't know how to resolve this issue except for to start with a scene.bin that hasn't been tampered with Proud Clod.  I tried opening the corrupted scene.bin with Hojo and then updating the kernel.bin.  It didn't work.  I'll try again, and post later if successful.  If there is any advice you can give I would appreciate it.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-07-28 03:40:06
Proud Clod can update it. Select create scene.bin from file.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-07-28 12:12:31
...Hojo fixes the issue by updating the kernel.bin when you save.  However, Proud Clod does not...

Proud Clod can update the KERNEL.BIN, but doesn't do it when it saves. I'm not going to offer much help to people that don't read the included readme.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: poofacetherisen on 2011-07-29 22:51:44
This new PrC will accept either KERNEL.BIN or kernel2.bin attack/item names (no, enemies never carry materia either dropped or stolen. You either find it or buy it).
Serious? Wow, and I was going to have enemies and bosses drop many attribute related Materia.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2011-07-30 05:30:47
You can make non-random enemies drop materia via field scripting. Think about the Ifrit materia Jenova-BIRTH leaves behind.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-07-30 12:07:22
Godo and Leviathan :P

Actually, it might be possible to do like gjoerulv's hardcore mod with summons.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: poofacetherisen on 2011-07-31 21:21:06
It hit me as I was fixing this that I want to make it more like the tool Square was likely using to create the scene.bin in the first place. What I envision is there are entries for enemies, attacks, and scenes. Specifically, a list of each and a form for each. During saving, the tool would combine them all based on the formation data entries.
If you do this, can you allow copying and pasting of enemy entries (collectively, like the whole form) into/over another enemy's form/entry (or whatever it's called)?
Which would make using already made enemies as a template for a stronger one or "Uber" boss far easier and quicker.

You can make non-random enemies drop materia via field scripting. Think about the Ifrit materia Jenova-BIRTH leaves behind.
Yep, I'm aware. I've just had some 'hair-tearing' problems with field scripting, so I had previously thought I was able to get by using the battle drops. But meh, whatever guess I have to slowly learn instead.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: DLPB on 2011-07-31 21:26:31
Now i confess this might be laziness on my part but is there any easy way for me to make sure the hardcore mod stays compatible with the retranslation project (which alters scene.bin text only)?  If not an easy way... any way?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: LegacyHero on 2011-08-06 14:04:42
@NFITC1
  I'm sorry, I didn't see an included readme in ProudClod when I downloaded.  Just checked it again and still no.  I've selected create scene.bin that got me in this whole debacle in the first place.  Whatever I did, it didn't update the kernel.bin.  Will you just tell me how to update the kernel using Proud Clod please?  I seriously do not have a readme from this version.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-08-06 15:03:15
He didn't include it, you need an "official" version for this. If it didn't update, it was because there was no need to.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: LegacyHero on 2011-08-06 16:47:52
I see. Thanks.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-08-17 21:23:13
Still working on better things.... (http://img836.imageshack.us/img836/4381/prcmdi.png)
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-08-17 21:24:34
Wow... Will this tool be able to edit any byte of the scenes? Are all the bytes known?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2011-09-09 01:30:23
Still working on better things.... (http://img836.imageshack.us/img836/4381/prcmdi.png)

Sorry to double-post, but I was just wondering... Will this tool combine both of your programs, Wall Market and Proud Clod? And I haven't got any answer to my question either :P Can you tell when you'd be able to release this?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2011-09-09 12:07:44
Sorry to double-post, but I was just wondering... Will this tool combine both of your programs, Wall Market and Proud Clod? And I haven't got any answer to my question either :P Can you tell when you'd be able to release this?
No and No are the answers to these questions.
Wow... Will this tool be able to edit any byte of the scenes? Are all the bytes known?
Sort of. This isn't going to be as direct as editing already existing flat files. This reads all the existing data and makes it more manipulatable. As it is, copying an entire enemy from one scene to another has the current PrC doing all sorts of crazy array copies that I don't entirely trust. What this will do is load the data from the scene.bin into attacks, enemies, and formations and recompile them back into scene files when you want to save. That will make it much easier to copy whole enemies and attack data between scenes without having to worry about how to replace the AI. It's easier to create from scratch than make a whole bunch of replacement and relocate methods.
As for bytes known, not entirely. Most of the ones marked as unknown on the wiki are simply unused. Some are labeled, but have not been fully investigated. The 32 bit flags at the end of the formation entries aren't completely known. I've been trying to look into it, but there's a lot of ground to cover. It takes that and maps it into 4020-403F battle memory which then gets stored into this rather large array of actor data when it comes time for said enemy to act. After that I don't know what happens to it. Stuff like that. PrCMDI will still modify these, but without labeling their function.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2012-02-26 18:59:17
I've encountered a few niggles with this version. Overall, the release is impressive, but there are a few minor changes that I think would really improve the application:

1. I'm not completely sold on the new damage algorithm UI. I understand that it's more 'accurate' than the older interfaces, but it creates discoverability issues. For example, if I want an attack to reduce a target's HP to 1, I have to know to try using the 9x class (magical; uses manipulate hit chance), or otherwise use trial and error to find the equation I want. That can be a tad frustrating.

2. There's an issue with how the UI lets several fields gain focus simultaneously. Consider the following example - if I start typing, which field gets updated?

(http://i.imgur.com/ucWCK.png)

The answer is none - nothing's actually selected. But it's impossible to tell. I'd suggest not putting any field in focus unless it's been clicked on.

3. UI controls in the AI window have a few padding and location issues (this is on Win7 64-bit) - look at the 'Disassemble', 'Search for Orphans' and 'Check Attacks' buttons:

(http://i.imgur.com/jppIk.png)

4. It'd probably be a good idea to abstract the targeting controls, but that's a matter for a later release.

5. There are a few little problems with the AI editor. Auto-updating pointers as I enter assembler means I can't write my code on paper then just transcribe. There are times when tabbing / pressing enter after an opcode pushes me onto a newline, which then causes exceptions if it needs an argument.

6. When I alter a creature's name in the stats dialog, the change isn't reflected when I exit it.

7. It'd be nice to be able to re-import enemy stats / element and status affinities after dumping them. That'd allow me to make mass-manipulations with more advanced tools, like Excel. This isn't a major thing, though, and it would probably only benefit me and about three other people.

8. I'd also like to see a raw damage estimator for enemy attacks. That would help me gauge appropriate attack and magic power values.

Just a few ideas for the next release. Other than that, keep up the good work!
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-02-27 13:35:24
I've encountered a few niggles with this version. Overall, the release is impressive, but there are a few minor changes that I think would really improve the application:

...

PrC is currently undergoing a complete rewrite which will address many of the issues you just brought up. I'll make a new topic when it's ready because it will be a completely different application.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Dark_Ansem on 2012-03-04 06:48:37
thank you for rewriting it, but it was very good from the beginning :D
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-03-05 13:28:11
thank you for rewriting it, but it was very good from the beginning :D

You're only saying that because there's nothing else to compare it to. The new one will make this one look like it was obsolete ten years ago (don't quote me on that).
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Vgr on 2012-03-09 12:35:01
You will make another tool for the same purpose, but would you keep updating this one? Or will it become truly obsolete?

Also, will you change the language in which you wrote it? I know you wrote both Proud Clod and Wall Market in Visual Basic but do you plan on going with a more advanced language like C# or C++?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-03-09 14:53:17
It's a re-write of PrC. It'll have a different layout and interface, but it'll have the same purpose.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Bosola on 2012-03-09 16:13:07
You will make another tool for the same purpose, but would you keep updating this one? Or will it become truly obsolete?

Also, will you change the language in which you wrote it? I know you wrote both Proud Clod and Wall Market in Visual Basic but do you plan on going with a more advanced language like C# or C++?

How's C# more advanced than VB? They're both .NET languages with memory management, that compile to the same kind of bytecode.

As for C++, well, being low level doesn't make things more 'advanced', just further abstracted. Abstraction is a good thing, and is something that OO languages like C++ aspire to anyway. Ever hunted memory leaks in a large C++ project? That's time you could spend making your application, well, better. Quite a trade-off for the overhead savings.

The only real reason to move to C++ is that it would free PC of the Microsoft Windows environment, but in practice, maintaining a single codebase for multiple platforms isn't workable in practice. You can move to Java for better results, but even there, there are still implementation-specific issues unless you sacrifice the application's native look and feel, which is a bit of a UX issue (a native appearance assures users that an application will work in the ways they expect).

Mind you, I'm planning to write the next version of Libre in platform-independent JS + HTML, so I'm a bit of a hypocrite in that regard.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-03-09 16:48:50
Mind you, I'm planning to write the next version of Libre in platform-independent JS + HTML, so I'm a bit of a hypocrite in that regard.

I wouldn't worry too much about it. We all have our preferences. I'm still writing in VB.NET which will still translate into usable libraries for any .NET applications anyone wants to make.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: sithlord48 on 2012-03-09 19:28:52
... in practice, maintaining a single codebase for multiple platforms isn't workable in practice. You can move to Java for better results, but even there, there are still implementation-specific issues unless you sacrifice the application's native look and feel, which is a bit of a UX issue (a native appearance assures users that an application will work in the ways they expect).

black chocobo has one code base for all platforms. it would also look completely native on any os (were qt works) if i remove my overriding theme for the gui parts. most Qt programs have one codebase and almost all run anywhere qt works (providing they don't use os specific other parts.)
[mini rant]
i use Qt, the objects help w/ memory management since they are all aware of when a new is needed or removed and automatic free or malloc the needed space. oh and with bindings to a bunch of different languages ,c++, c# , and java are a few. i fail to see why more people are not using it. qt works everywhere windows,linux,mac os, etc.. as well as unoffical support for android, blackberry, window phone, ios. 0 code changes are needed you only have to change the build target (or build on that system).
[/min rant]
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: gjoerulv on 2012-03-12 13:22:18
Most open source have one main codebase. However, in many cases, there are rewrites for different languages.
When you manage to write your own portable code in a low level IDE, or in a toolchain, it "feels" better imo. It becomes more like your child lol.
I must admit that big IDEs like QT develop and Visual Studio are highly efficient for their purposes. Java and C# syntax is very sexy.  8-) All my progys on qhimm are C#. I am planning on rewriting everything in C++ to make 'em more portable (Java is too slow imo).
[/offtopic]

@NFITC
So it's an entire new rewrite, huh? Can I come with a suggestion? It would be great to view multiple enemies at once (different windows/tabs) and have a lock/unlock feature on enemies/attacks/etc with same ID. You edit one, you edit all if they're locked. There isn't a feature like that now, is it? :P
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-03-12 14:12:55
So it's an entire new rewrite, huh? Can I come with a suggestion? It would be great to view multiple enemies at once (different windows/tabs) and have a lock/unlock feature on enemies/attacks/etc with same ID. You edit one, you edit all if they're locked. There isn't a feature like that now, is it? :P

That's the core reason for the re-write, actually. The lock idea is not. I'll post some screenshots when it starts looking decent.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: gjoerulv on 2012-03-12 16:00:45
ok, I saw those screen shots now. looking good.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-14 00:43:53
I'm using the "reasonable difficulty" mod in Bootleg 0039, but I still find it a bit too easy so I want to edit the enemies. I have two questions really:

1. Is there any way to edit the stats of all enemies at the same time? For example, if I want to double the hp of all enemies in the game. I really don't want to go over every single one manually.

2. Seeing as there isn't a readme included, how do you save? I open the scene.bin but every I close it nothing saves.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tenko Kuugen on 2012-09-14 01:04:31
>file >create scene.bin
thats saving

also, nope, you have to go through every enemy manually. you can trick a little by syncing enemies with their own copies but that still has you manually edit every unique enemy once
if you want harder, just try the hardcore mod then?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-14 06:41:33
>file >create scene.bin
thats saving

also, nope, you have to go through every enemy manually. you can trick a little by syncing enemies with their own copies but that still has you manually edit every unique enemy once
if you want harder, just try the hardcore mod then?
Do you mean gjoerulv's hardcore mod? Really, all these mods have a severe lack of changelogs. I have no idea how gjoerulv's mod compare to say the reasonable difficulty one. With that said, while a bit more overall damage would be nice, what I want most is to drastically increase the overall HP of monsters, because I'm playing with no 9999 limit. Reasonable difficulty on average has 25% more HP I think, but I want more.
Thanks for your answer anyway.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tenko Kuugen on 2012-09-14 13:46:17
yes I mean Gjoreluvs hardcore mod
thats probably the next step from reasonable difficulty
after the hardcore mod comes my Nightmare mod ( which is designed around no 9999 limit )
and I'm not sure what kind of changelog you want?
"All monsters edited, made them stronger and smarter."
"Edited a few weapons."
"Edited some materia."

stuff like that?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-14 15:55:26
... and I'm not sure what kind of changelog you want?
"All monsters edited, made them stronger and smarter."
"Edited a few weapons."
"Edited some materia."

stuff like that?
Well, there's very little descriptions is what I meant, which makes it hard to compare different mods. I'm hesitant to use more drastic mods that heavily changes equipment and materia because I feel it becomes a different game. I would be perfectly fine with a more traditional harder difficulty, like smarter enemies with more hp/damage, which reasonable difficulty does to an extent. The hp/dmg ratio is more skewed towards hp though because of the aforementioned no 9999 limit. I guess I'll check the mods you suggested.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tenko Kuugen on 2012-09-14 16:07:30
if you want traditional, hardcore and nightmare isn't for you
your best bet is making your own mod
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-16 11:12:12
>file >create scene.bin
thats saving
It doesn't seem to be working. I click create scene.bin, it ask if I want to check scene data in kernel.bin, I pick yes and it gives the message that kernel.bin look-up table appears to be correct.
When I open scene.bin again, nothing was saved and I confirmed it in-game too.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-09-16 15:08:33
It doesn't seem to be working. I click create scene.bin, it ask if I want to check scene data in kernel.bin, I pick yes and it gives the message that kernel.bin look-up table appears to be correct.
When I open scene.bin again, nothing was saved and I confirmed it in-game too.

The more I look at it the less I like the terminology "create scene.bin". It's not a common way to say "save", but it operates the same.
This is a pretty common problem with more than one possible solution. The most common is that it might be saving the scene.bin in the VirtualStore folder in your user folder. If you run PrC as Administrator that likely will not happen. That's likely what's happening.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-16 15:25:47
The most common is that it might be saving the scene.bin in the VirtualStore folder in your user folder. If you run PrC as Administrator that likely will not happen. That's likely what's happening.
I figured the same, so right-clicked and ran it as administrator to no avail.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-09-16 19:38:21
There are other posts in this thread of people that had this problem and solved it, but I don't remember all the solutions. Only other thing I can think of to do is to search your entire computer for a scene.bin file and see which one has a cooresponding modified date on it. What windows version are you using?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: RilleL on 2012-09-16 19:51:08
There are other posts in this thread of people that had this problem and solved it, but I don't remember all the solutions. Only other thing I can think of to do is to search your entire computer for a scene.bin file and see which one has a cooresponding modified date on it. What windows version are you using?
Windows 7. But never mind, I'll figure something out, or just forget about it and continue without any modifications.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tenko Kuugen on 2012-10-02 13:17:42
Didn't bother to check if this was already reported but:
if you paste AI in a previously empty slot ( counter for an enemy that had none for example ) and then dont touch it and just click Done, it won't save the AI. you need to make any change ( even if you change 0000 to 0000 ) and it will save fine
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: nmn132 on 2012-11-12 08:07:13
Hello. I am having a problem with Proud Clod. When I try to update the KERNEL.BIN look-up table, I see this message from Proud Clod:

          "Everything's fine

                  (!)   KERNEL.BIN look-up table appears to be correct."

But it isn't correct at all. I am still fighting enemies in the wrong places. Such as Gas Ducters in the sunken Gelnika. I will try another approach in the meanwhile. I plan on using an unmodded KERNEL.BIN with Proud Clod, updating it, and then comparing the look up table in the unmodded KERNEL.BIN with my modded one. Then I can just change the look up table in my modded KERNEL.BIN manually.  I modded my SCENE.BIN and my KERNEL.BIN extensively so I can't say exactly what is causing this. As a side note, Hojo and Scene.edit also will not update my look up table, but I posted this here since Proud Clod has made those two programs almost obsolete. Do you think I may have modded my SCENE.BIN too much? I thought there was plenty of memory in the PC version but maybe I added too much and that's why it's unable to update. Thanks for anyone that can help.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-11-12 13:43:13
Are you telling it to look at the correct KERNEL.BIN that your game is using? I've run this look up numerous times and haven't had a problem.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: nmn132 on 2012-11-14 04:30:06
Yes. I'm 100% sure. I just checked again for the sake of it. I think the problem is my scene.bin. I have other modded scene.bin files that do work. But I would really like this particular scene.bin file to work. I'm thinking that I changed something in the scene.bin to cause this problem. I think maybe the battle formation data(the scenes themselves) are messed up and the kernel is still reading it as though it is normal. Maybe I have too much data in the scene.bin file. Is it like an odometer? If you make the number too high it rolls over to 0? That would perhaps explain this. I don't know much about it but for now I will just use a different scene.bin and start toying around, testing periodically to see when it messes up.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-11-14 14:15:42
You can't have modified the scene.bin too much for the look-up table to not work correctly. That's not the way it works. Info on the scene.bin look up table lacking in explanation on the wiki. I'll remedy that shortly. Here's how the whole thing works:

Each of the 256 "scenes" in the scene.bin contain four formations. The entire uncompressed scene is 7808 bytes (or something like that). When the individual scenes are compiled, they are compressed and sequentially stored in chunks of 8192 bytes.

Each of these chunks begins with a 32 byte header stating where the compressed scene is located within that chunk. So the first scene would start at 0x0000 within that chunk and the next might start at 0x01F2, the third at 0x0342, etc. The chunk ends when it gets to be 8192 bytes in size or contains 16 scenes.

The scene look-up table in the KERNEL.BIN indicates the first scene in a particular chunk. So the first chunk will always start with scene 0, the second chunk starts with scene C, etc. The game checks this when a formation is requested. From the formation requested it can get the particular scene that the data for said formation is in and it can easily find the scene by checking the SLUT (Scene Look-Up Table, SLUT was too awesome an acronym to NOT use :D ). If the game requests scene 15 it will find the last chunk whose first scene is less than that and search that compressed block.

ex.
Formation 134h requested (I don't know what that is, it's just an example). The scene that's contained in is ( 134h >> 2 ) = 4Dh. The SLUT in the example KERNEL.BIN I have starts like this:
Code: [Select]
00 09 10 16 1A 25 2C 34 3C 49 52 59 60 66 6A 72It will find that the 49 is the greatest number in that list that is lower than 4D so it will search through chunk 0A of the scene.bin to find this formation. That happens to be the fifth scene in the chunk (4D - 49 = 5) so it will use the formation out of that scene. However, if that scene isn't really 4D (meaning the SLUT was off) it will look like the battle is out of place.

In conclusion (tl;dr for you more text-y types), based on the way the scenes are structured you CANNOT have done anything to them to make them suddenly not work. The scene.bin can be as small as 128K in size or as large as 512K in size (which is practically impossible). If it's in between those sizes (which it has to be) then you don't "have too much data".

There are at least three things that could be wrong:
1. Your SLUT is off and PrC is incorrectly reporting it as correct. Many people have used this feature and no one has recently said it's wrong, but that doesn't mean it's working in all cases. You can double-check it "manually" with a hex editor.
2. You screwed up something in the formation data and added an enemy you didn't mean to. This is likely the case if the background in the battle is what you want, but the enemy is out of place.
3. Your flevel is requesting the wrong formations.

I need more info to determine which one is the case. What does your SLUT look like?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: DLPB on 2012-11-14 14:34:06
What does your SLUT look like?

 ;D  Shame on you. 
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-11-14 14:42:15
;D  Shame on you.

I know, I couldn't help it.   :evil:
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: nmn132 on 2012-11-15 01:37:08
Lol. She is a model SLUT. She's definately a looker. Her bust is FF, but they're fake. Thanx for the info. My guess is #2. Bad formation data. I messed around with that and perhaps that is why the enemies look messed up. Ex: The Sea Serpent battle had a bad camera angle, as if it was supposed to be a smaller monster. Correct SCENE, wrong enemy. I think my SLUT is fine, but my enemies are just out of place. I am using an older mod and just working my way back up, being careful this time. Good thing I back up my mods after major changes.

BTW, are you going to add that info on SLUTS to the wiki?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2012-11-15 03:15:01
The current PrC version will tell you what enemies you have in in the scene in the formation window. You can't really add enemies on the fly without their data being in the scene. So don't go adding enemies to formations when they're not in the scene.

As for the SLUT, there's info there, it's just been there since before I came on to the scene so it doesn't give as good an explanation as it could. :D It just needs some updating.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Darq on 2013-01-15 07:47:43
First i have to say what a wonderful tool Proud Clod. I does modding significant easier  ;D

I have a question: is it possible to make physical enemy attacks ignoring rows? I tried some things but nothing worked.

Thanks in advance
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-01-15 11:48:35
is it possible to make physical enemy attacks ignoring rows? I tried some things but nothing worked.

Not by altering any attack property, no. However, you can adjust the AI to use different attacks on targets in different rows. I think there's only front and back rows for playable characters so that cuts down significantly the amount of checking you'd have to do. The trick is to check a potential target's row (402X-something, it's not in front of me right now) BEFORE adding them to the target mask (2070) and giving the command to attack. You could even set it up to do one attack to the front-rowers and then do one to the back rowers. I think I could give an example if you need some more clarification.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Darq on 2013-01-16 00:28:19
Not by altering any attack property, no. However, you can adjust the AI to use different attacks on targets in different rows. I think there's only front and back rows for playable characters so that cuts down significantly the amount of checking you'd have to do. The trick is to check a potential target's row (402X-something, it's not in front of me right now) BEFORE adding them to the target mask (2070) and giving the command to attack. You could even set it up to do one attack to the front-rowers and then do one to the back rowers. I think I could give an example if you need some more clarification.

Thanks for the fast answer.
I had hope that i don't have resort to this but it should help in most cases except for attacking multiple targets. The problem is that scripting with the version i have is not possible because i get an error message everytime.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tonfa on 2013-03-15 11:44:13
Using the SYNC command for enemies breaks formations in all scenes including that enemy. This is the source of the reports of wrong enemies even though the lookup table is correct.

Edit: Also, the status-type element table is wrong. The editor claims palmer takes double damage from reflect when it's really sleep.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-03-15 13:35:20
Using the SYNC command for enemies breaks formations in all scenes including that enemy. This is the source of the reports of wrong enemies even though the lookup table is correct.

Edit: Also, the status-type element table is wrong. The editor claims palmer takes double damage from reflect when it's really sleep.

I was afraid of that sync-breaking. I knew it could happen, but it's one of the newer features that made it an alpha version.

About the double damage, does it really claim reflect? I don't remember that one specifically, but I did check a few others and they were correct (I thought). Maybe my offsets are wrong.

Regardless, PrC is being re-written and these won't even be issues in the new edition.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: JBedford128 on 2013-03-15 13:51:30
Mine says Reflect double damage for Palmer too.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Laggy on 2013-03-15 21:53:16
Did the help docs get removed on the alpha? I was trying to find them to learn opcodes again and they aren't in the zip.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-03-15 23:38:29
Did the help docs get removed on the alpha? I was trying to find them to learn opcodes again and they aren't in the zip.

Yeah. Sorry about that. I lost the source. WM's help still has the opcode info, but the wiki is more accurate.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Laggy on 2013-03-16 03:06:07
It's actually not, though, I feel. I'm reading through the WM helpdoc right now and there are things that I just can't find on the wiki, such as for opcode 92:

Quote
NOTE: This also requires two values to be set first. The battle variables 2060 and 2070 from the calling script's owner. The 2060 is read to determine who executes the action and the 2070 determines whom the target of the action is.

Maybe I'm blind and the wiki stores a list of what the set addresses for battle variables are somewhere, but honestly, your documentation is much more accessible and comprehensive to me, and these details are incredibly important if you're trying to decipher and modify the AI scripts.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-03-17 00:17:53
...your documentation is much more accessible and comprehensive to me...

They're both written by me.

From the wiki:
Quote
Code: [Select]
Code    Arguments   Value(s) to pop   Effect
92h     N/A         Two of any type   First pop is attack ID to perform. Second pop action type
...
92 CODE NOTES:
    Second pop must be one of the following:

    Command index in case of character AI
    20h - For enemy attack
    22h - Force execution of script (referenced by first pop)
    24h - Pauses battle engine while string is displayed (in conjunction with code 93)

I don't remember what's in the documentation, but I do know there are examples that probably explain what it should do better.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: cloudiar on 2013-04-12 04:50:33
Hello  ;D

First congratulations to NFITC1 for this fantastic tool!


Have some questions, I try show debug message window (for testing) in battle but cant see  :-(

Its really possible print debug window message?

Is possible show values (global var,local var, etc..) in window?

For example in IA Aeris have debug print:

Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; Self.FormationNumber - 16; Unknown(2018); GlobalAddress

The opcode to print debug message is opcode A0 and Argument 03 "LOVEPARA CHR:%d, %d->%d" and A0 opcode in proudcloud is refuse, not possible?


And other question...its think its hard, created IA battle with special event, in moment you kill the boss others enemies already died.

Imagine that cloud kill boss, the others enemies died (these cant target, wait for the turn died, if he dies boss orders them die), but if you have previously be turn of allies (aeris and yuffie for example) they do so (for example if aeris prepare magic cure do), until "other enemies" end turn (for disabled and end battle), really dying boss "other enemies" also, but need wait their turn to die, but allies should not "try" turn (no enemy target), this being the problem.

The question is:

Anyone know OPCODE for cancel / suspend / end automatically turn allies?

Otherwise some solution to allow boss battle end when he dies without waiting turn of "others enemies" or allies to end battle?

Any suggestion to be good!

Sorry for english hard to explain T.T
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-04-12 13:41:06
Its really possible print debug window message?
The practical answer is "no."

Quote
Is possible show values (global var,local var, etc..) in window?
The actual answer is "no."

Quote
For example in IA Aeris have debug print:

Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; Self.FormationNumber - 16; Unknown(2018); GlobalAddress

The opcode to print debug message is opcode A0 and Argument 03 "LOVEPARA CHR:%d, %d->%d" and A0 opcode in proudcloud is refuse, not possible?
Not possible.

Quote
Imagine that cloud kill boss, the others enemies died (these cant target, wait for the turn died, if he dies boss orders them die), but if you have previously be turn of allies (aeris and yuffie for example) they do so (for example if aeris prepare magic cure do), until "other enemies" end turn (for disabled and end battle), really dying boss "other enemies" also, but need wait their turn to die, but allies should not "try" turn (no enemy target), this being the problem.
If you're saying what I think you're saying, it doesn't work like that. Recently the death animations were discovered. The boss death animation causes all enemies to die like a boss if the actual boss dies (Sample:H0512 does this along with his "options"). The battle ends as soon as the boss enemy dies unless there's a link in their script to move to a new battle (http://www.youtube.com/watch?v=uL7017hdubU).

Quote
Anyone know OPCODE for cancel / suspend / end automatically turn allies?

Otherwise some solution to allow boss battle end when he dies without waiting turn of "others enemies" or allies to end battle?
There's no code that will remove a queued action. Once an action is queued it will be performed as long as that character is active (not dead, paralyzed, etc).
Like I said, this should happen normally. Do you have an example where it doesn't?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: cloudiar on 2013-04-12 17:16:42
Quote
If you're saying what I think you're saying, it does not work like that. Were Recently discovered the death animations. The boss death animation causes all enemies to die like a boss if the current boss dies (Sample: H0512 does this along with His "options"). The battle ends as soon as the boss enemy dies UNLESS there's a link in Their script to move to a new battle.

Thanks for answering!

(http://www.fileden.com/files/2012/1/29/3256767/5%20vs%201.PNG)

Previously looking in Sample: H0512 (and Gi Natakk) but not luck, the enemies needs to wait end turn off (and finish battle).

In the image can see the battle, based in special event of my mod (yuffie stolen in Kalm), in this moment you have 5 players in character party, and I thought it might put the 5 characters in battle, although two are really enemies (Barret and Red, not target xD), if you kill Yuffie then Barret and Red cant attack and end of turn is "desactive" and declared victory (all, the real problem is mentioned earlier) if it interferes the "real" players before then enemies turn to run, although visually the combat is over, I try several solutions with no luck.

For off Barret / Red use the condition (based in the some code H0512):

(these in respective main)

{
0x00D Self.Flag: Unknown (00000001) <- 0
0x017 Self.Flag: Enabled? <- 0
0x021 Self.Flag: Unknown (00000004) <- 0
0x02B Self.Flag: MainScriptActive <- 0
0x035}

The condition for this is activated from death counter of "Yuffie", but same problem, if allies perform action before then make red and barret, although visually the battle be terminated, this case also if Yuffie escapes T.T

Coming soon post event and battle in youtube, but I think now you understand better.

In reference to that fight (and others) I have also another question, there is some value that allows attack "no animation"? Mean escape yuffie example, the animation is "empaler" (animation magic), not like, preferring only make animation model (Yuffie) without animation magic (to escape), ID attack animation is something not show anything?

Other example is my friend has battle with Turks and they go at the end, but besides animation to escape self needs to put magic animation (requires attack) to escape, you need to specify to not display animation or need any opcode to ignore? (In this battle same problem with turn of allies in moment death boss, need wait false allies to desactive and finish battle).


For finally, ask if this topic (and qhimm wiki), but information specific of opcodes not exist?

I search all over the internet but did not find any information do not have database with "opcodes" identified, documentation?

Sorry for the annoying, and thanks again.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-04-12 19:51:40
For finally, ask if this topic (and qhimm wiki), but information specific of opcodes not exist?

I search all over the internet but did not find any information do not have database with "opcodes" identified, documentation?

http://wiki.qhimm.com/view/FF7/Battle/Battle_Scenes/Battle_Script (http://wiki.qhimm.com/view/FF7/Battle/Battle_Scenes/Battle_Script)
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Tonfa on 2013-04-25 11:41:25
This came up during editing, I'll just paste some of the relevant e-mail.

"SO Proud Clod is completely fucked in terms of editing enemy steals/drops, it randomly puts values in incorrect places in the scene and does not set drop/steal flags properly. Also it flat out reads the values wrong, the "NOTHING 63" slots are actually "NOTHING 0" and are meant to be as such, using Hojo reads the correct values and I used it to fix everything."

So yeah, the enemy stat page has problems too.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-04-25 13:21:26
This came up during editing, I'll just paste some of the relevant e-mail.

"SO Proud Clod is completely f*cked in terms of editing enemy steals/drops, it randomly puts values in incorrect places in the scene and does not set drop/steal flags properly. Also it flat out reads the values wrong, the "NOTHING 63" slots are actually "NOTHING 0" and are meant to be as such, using Hojo reads the correct values and I used it to fix everything."

So yeah, the enemy stat page has problems too.

Not surprised. I knew this, actually.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: genesis063 on 2013-09-09 03:22:22
Awesome tool man can't wait to make my own enemy battles.  Also I am wondering will I be able to make boss battles with this?  Since i'm using the Sephiroth and Cloud swap could I do like they did in the hardcore mod and make Cloud fight able except not invincible?
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: meesbaker on 2013-09-30 18:07:48
As you know Im on the PSX version (dunno if this makes a difference here at all) and I cant seem to edit attack names. You said paste attack serves as a base for a new attack but this attack cant have a name or didt I find the right button yet ?

EDIT: Got that music stuff working in Makou Reactor.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: vayneruel on 2013-09-30 18:11:47
Proudclod not change the music of battle, so change this you use makou reactor, because the music is a field script not battle script.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: meesbaker on 2013-09-30 18:21:52
The thing Im really after is understanding the attacks. On the one hand if I edit an attack thats also in the Kernel (like thunder2) inside the kernel it ALSO changes the enemy attack although I was sure those were to seperate things. So what I assumed now is that ALL attacks are in the kernel and proudclod updates those attacks when I change them in Proudclod but that seemed neither correct as I was able to edit an attack animation in the SCENE file without touching Kernel.bin so how these two do actually work together is absolutely unlogical to me.

Im convinced that understanding this also enables me to edit the attack names lets wait for NFITC1 :)
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-09-30 19:01:43
Proud Clod only edits the scene.bin with the tiny exception of checking the SLUT in the KERNEL.BIN.
I have said this before and I will likely continue to say it until this version of FF7 passes out of all knowledge or I die in which case others will say this:

KERNEL.BIN action entries ALWAYS trump scene.bin action entries if the action index is less than 256 (100h).

Indexes higher than 255 (FFh) are not stored in the KERNEL.BIN. There are a maximum of 32 uniquely indexed actions packaged in each scene. The index is slightly arbitrary, but gives a little insight into the developing tool that was used to create them (which PrCMDI is going to try to simulate). Calculating all this out, there can be as many as 8192 unique actions in the game (each of the 256 scenes having 32 different actions), but I seem to remember seeing somewhere that the actual limitation is somewhere around 1024. I can't find that now so maybe I was insane when I saw that.
Back to a curious part, this may not have been the original intent of the scenes' action data entries. If an enemy uses a KERNEL.BIN-based action, the data for that action will be in the scene. However, it will be ignored by the action retrieval method because its index is below 256. So these entries are worthless.

In any case, only one instance of any action index in each scene will be used. If you have two actions that are index 180h, the action index retrieval method will only return the first instance. However, you can duplicate any action using Proud Clod as long as you change the index of that action from the previous action's index. You can even copy "Bolt2", paste it into a scene, rename it "Thundara", give it a unique index (Search -> For Unused Indecies) and assign it properly to an enemy and it will behave every bit as much as Bolt2 in the KERNEL.BIN, but be used as the scene.bin entry.

PS - Two things: You're consistently spelling my name wrong ("NF" is the appropriate abbreviation) and "unlogical" isn't a word.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: meesbaker on 2013-09-30 19:41:17
To put it simple I was just not getting that I have to confirm renaming an attack using "Enter"  ::) . I just clicked the mouse somewhere else and wondered why PC won't actually store the new name I entered.
On the Kernel stuff I assumed something similar but could not quite imagine how the game was supposed to tell which attacks to override using data from Kernel.Bin as the attack indexes don't have to be equal. So to get this straight I can only edit entries whose attack index is ff or less got it.



Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Sega Chief on 2013-10-03 23:43:58
Hi NFITC1,

I'm doing the first proper beta test of a mod, but I've ran into the issue that Tonfa mentions a few posts ago. Basically the drop/steal rates are messed up on a few enemies like Cripshay, Aero combatant, Mighty Grunt, etc. (seems to be fine on others). I tried running the battle.scene through Hojo and saving it there but these enemies are still tossing up glitched items and crashes. This is an example of a standard drop pattern I'm using:

[Item Drop] 8
[Item Drop] 63
[Item Steal] 63
[Nothing: Steal flag ticked] 63

For most enemies, this works fine but the same set on certain enemies gives those glitched items. Do I have to manually set drop/steal rates through Hojo and then save it or is there maybe a specific issue with certain enemies and their drop/steal rates? Any info you have on this would be appreciated, trying to iron out all the bugs before release.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: NFITC1 on 2013-10-04 02:58:23
Do I have to manually set drop/steal rates through Hojo and then save it or is there maybe a specific issue with certain enemies and their drop/steal rates? Any info you have on this would be appreciated, trying to iron out all the bugs before release.

It does seem that the problem is universal for drop/steal rates in Proud Clod. I'm going to be releasing PrC's source soon (maybe even tomorrow) along with the final version of PrC hopefully with this issue resolved.
Title: Re: Official Proud Clod 1.5.0.α_4!
Post by: Sega Chief on 2013-10-04 10:45:03
I'm going to be releasing PrC's source soon (maybe even tomorrow) along with the final version of PrC hopefully with this issue resolved.

A new version of PrC would be like Christmas came early, thanks for working on this stuff for us.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2013-10-04 14:30:01
Christmas come early? Perhaps not, but the final version that I'm going to release is out with the source. If there is a MAJOR problem with it I'll look into it. I anticipate there still being problems with the AI editing. Source is included now and mediafire is only host. GameFront changed its file storage policies and I'm not convinced it'll be a good place for them.

Only real change (that I remember) is the item drop/steal section should be fixed now.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Sega Chief on 2013-10-04 19:12:21
I'm still testing the latest version of the editor just now but there seems to be a major issue with changing formation data (camera, enemy position, etc.) Whenever you click 'done' when you're viewing/editing in the animation/formation tab menu, an error will pop up (included it here in case it helps:

Code: [Select]
************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at ProudClod.Form1.new_formations(Byte section, Byte index, Byte position, Byte enemy)
   at ProudClod.Form3.SaveChanges(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.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.Button.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.5472 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ProudClod
    Assembly Version: 1.5.0.0
    Win32 Version: 1.5.0.0
    CodeBase: file:///D:/Download%20Directory/FF7%20Downloads/ProudClodFinal/ProudClod.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.5420 (Win7SP1.050727-5400)
    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.5467 (Win7SP1GDR.050727-5400)
    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.5468 (Win7SP1GDR.050727-5400)
    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.5467 (Win7SP1GDR.050727-5400)
    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.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

Oddly, changes to the animation that an enemy will use for a move will persist, and so will the battle location used, but changing anything in the formation section such as camera or enemy ID won't. Sometimes though these numbers will persist but if you go in and out a few times then they go back to what they originally were (haven't been able to replicate it though).

There's a similar issue with setting the numbers for drop/steal rates (but these are working correctly in-game, I was testing them on Cripshay). If you click away after changing these numbers, all of them except the box that the typing cursor was in will revert back to their original values (and if the typing cursor isn't present in any box, then they all go back). This only seems to be the case for steal/drop values, the other stats can be changed without an issue. So you can only really change one steal/drop number at a time from the look of it (there was a similar issue on the Hojo editor but it was a little worse as it would sometimes 'bump' an item used in a lower/higher scene up into another enemy, for instance if the enemy in the middle slot was given a War Gong as a drop/steal then the enemy in the middle slot above that scene would also get War Gong if their corresponding item slot was empty).

That said, need to wait and see if other people have the same problems. Might just be my machine and installed programs/frameworks or something. Enjoy your Windwaker WiiU bundle!
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: JBedford128 on 2013-10-04 19:59:10
Are there no plans to support the Japanese versions? I loaded up the PS Japanese original's SCENE.BIN, and other than the obvious incorrect characters, many of the values are wrong.  Formation data seems correct, but enemy stats and ability stats don't. Also scenes with a trio of enemies with the same name display three different names.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: very sorry on 2014-01-30 18:05:13
Hey

everytime i want to try place demon gate on reactor 1 core

the game softlocks on me

take a look at screenshot please

and can you please tell what i did wrong

thanks

(http://i59.tinypic.com/9s71ci.jpg)
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-01-30 18:57:34
You're going to have to give a LOT more detail than that.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: very sorry on 2014-01-30 19:02:19
Hey

I copy and pasted demon gate from scene 161 to scene 81

to take guard scorpion out from that scene

and demon gate does not show up at all on scene 81

thanks
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: vayneruel on 2014-01-30 20:28:53
You need write in the scene formation demons gate ID
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: very sorry on 2014-01-30 22:51:12
Hey

everytime i try to click the done button on this prod clod program

when i am in the Assign animations & Formations part of this program

this error message shows up

 See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at ProudClod.Form1.new_formations(Byte section, Byte index, Byte
position, Byte enemy)
   at ProudClod.Form3.SaveChanges(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.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.Button.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.6407 (Win8RTMGDR.050727-6400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ProudClod
    Assembly Version: 1.5.0.0
    Win32 Version: 1.5.0.0
    CodeBase: file:///C:/Users/Owner/Desktop/New%20folder%20(3)/New%20folder/ProudClod.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.6387 (Win8RTM.050727-6300)
    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.6401 (Win8RTMGDR.050727-6400)
    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.6402 (Win8RTMGDR.050727-6400)
    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.6401 (Win8RTMGDR.050727-6400)
    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.6387 (Win8RTM.050727-6300)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.6387 (Win8RTM.050727-6300)
    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.

anyway to fix this problem

thanks
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: JBedford128 on 2014-02-05 21:22:18
Are there no plans to support the Japanese versions? I loaded up the PS Japanese original's SCENE.BIN, and other than the obvious incorrect characters, many of the values are wrong.  Formation data seems correct, but enemy stats and ability stats don't. Also scenes with a trio of enemies with the same name display three different names.
I looked into this. It seems the file format in the JORG (Japanese original) version was different. And the only difference I can see is... padding?

The original Japanese individual (256) scene files are 7248 bytes in size as opposed to the releases thereafter which are 7808 bytes.

For example, in the abilities portion of the format each ability has sixteen additional bytes (which always seem to be FF) in the post-JORG releases. Earlier in the format there are other places where sixteen bytes are added-- which I suspect to relate to enemies. And then there is more padding at the end of the file.

Here is a sample file. I hope I'm not breaking rules by posting this. This is one where the enemies and stats/abilities remain the same between releases.

scene120 (as Scene Reader extracts them, 119 if starting from 0 (like Proud Clod shows))
Code: [Select]
53 00 54 00 55 00 ff ff 1f 00 ff ff 02 00 ff ff
40 00 42 00 4b 00 5d 00 ed ff 00 0e 1f 00 ff ff
02 00 ff ff 41 00 47 00 48 00 53 00 fd ff 00 07
1f 00 ff ff 02 00 ff ff 41 00 47 00 48 00 53 00
ed ff 00 01 1f 00 ff ff 02 00 ff ff 40 00 42 00
4b 00 5d 00 fd ff 00 1a 53 1f 38 fa 67 17 00 00
c0 fe 2c 00 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 7d 28 38 f5 68 0c 00 00
a0 ff ec fd 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff ae 28 38 f5 68 12 00 00
70 ff 2c ff 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 9b 26 38 ea 9c 0c 00 00
f0 01 cc fe 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 53 00 18 fc 00 00 f8 f8
01 00 00 00 ff ff ff ff 53 00 00 00 00 00 88 fa
01 00 00 00 ff ff ff ff 53 00 e8 03 00 00 c0 f9
01 00 00 00 ff ff ff ff 54 00 00 00 00 00 48 f4
02 00 00 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 ff
ff ff ff ff ff ff ff ff 55 00 0c fe 00 00 88 fa
01 00 00 00 ff ff ff ff 55 00 b0 04 00 00 5c f9
01 00 00 00 ff ff ff ff 55 00 50 fb 00 00 48 f4
02 00 00 00 ff ff ff ff 55 00 f4 01 00 00 54 f2
02 00 00 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 ff
ff ff ff ff ff ff ff ff 55 00 c0 f9 00 00 5c f9
01 00 00 00 ff ff ff ff 55 00 d4 fe 00 00 88 fa
01 00 00 00 ff ff ff ff 54 00 18 fc 00 00 48 f4
02 00 00 00 ff ff ff ff 53 00 e8 03 00 00 3c f6
02 00 00 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 ff
ff ff ff ff ff ff ff ff 53 00 0c fe 00 00 5c f9
01 00 00 00 ff ff ff ff 53 00 f4 01 00 00 88 fa
01 00 00 00 ff ff ff ff 53 00 18 fc 00 00 74 f5
01 00 00 00 ff ff ff ff 53 00 00 00 00 00 54 f2
01 00 00 00 ff ff ff ff 53 00 e8 03 00 00 74 f5
01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff 4e 8e 68 86 d0 ff ff ff
ff ff ff ff ff ff ff ff 0f 24 02 05 1c 05 26 10
01 03 ff ff ff ff ff ff 04 02 ff ff ff ff ff ff
03 04 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
12 01 bd 01 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 ff
ff ff 05 01 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 ff
08 ff ff ff 01 00 ff ff ff ff ff ff 12 01 bd 01
ff ff ff ff 30 00 06 00 ff ff 10 ff 8c 00 00 00
38 00 00 00 41 00 00 00 ff ff ff ff ff ff ff ff
6a d0 4e 26 86 12 98 ff ff ff ff ff ff ff ff ff
12 3d 07 05 38 19 12 41 00 03 07 ff ff ff ff ff
06 05 02 ff ff ff ff ff 03 04 ff ff ff ff ff ff
ff ff ff ff ff ff ff ff be 01 50 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 ff ff ff d8 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 ff 08 02 a0 ff 07 00 03 00
03 00 ff ff be 01 50 00 ff ff fe ff 7c 00 0a 00
07 00 10 ff 18 01 00 00 54 00 00 00 b4 00 00 00
ff f3 ff fd ff ff ff ff 4a 58 5e 78 9c 62 ff ff
ff ff ff ff ff ff ff ff 0f 31 02 03 1a 26 02 02
00 ff ff ff ff ff ff ff 02 ff ff ff ff ff ff ff
03 04 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
bf 01 c0 01 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 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 ff ff ff ff ff ff
08 ff ff ff 01 00 ff ff ff ff ff ff bf 01 c0 01
ff ff ff ff 00 00 07 00 ff ff 10 ff be 00 00 00
41 00 00 00 71 00 00 00 ff ff ff ff ff ff ff ff
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 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 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 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
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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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
12 01 bd 01 be 01 50 00 bf 01 c0 01 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 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
4b 7f 63 4d ff ff ff ff ff ff ff ff ff ff ff ff
52 d0 8a 26 04 8c 58 ff ff ff ff ff ff ff ff ff
62 82 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
fa 05 fa 06 fa 22 fa 23 ff ff ff ff ff ff ff ff
35 fc 49 6a 5e 9c 4e ff ff ff ff ff ff ff ff ff
40 54 7e 58 29 d0 4e 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
06 00 46 00 92 00 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 ff 12 70 20 02 a0 20 82 90 81 60
02 34 52 70 19 00 60 20 61 12 01 92 72 1f 00 60
20 61 bd 01 92 73 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 ff 81 60 04 34 52 70 19 00 12 70
20 02 a0 20 82 90 60 20 61 be 01 92 72 2b 00 12
70 20 02 a0 20 03 60 41 80 84 82 90 60 20 60 50
92 73 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 ff 12 70 20 02 a0 20 82 90 81 60 02 34 52 70
19 00 60 20 61 bf 01 92 72 1f 00 60 20 61 c0 01
92 73 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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

I wrote a personal program that converts the extracted JORG scene files into the post-JORG scene file format (although since I did it without understanding the file format and just added padding in places to get the files to match up it might not be perfect),

But I figured you would better understand the changes and it could be a good addition to the program if you wanted to release another version, even if it doesn't support Japanese characters.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Tenko Kuugen on 2014-03-05 12:43:05
Every time I try to change enemy placement / numbers in the animation/formation tab, it throws me an index out of bounds error and won't save my changes.
I have literally no idea what causes this as everything seems to be proper.
This /is/ using the 1.5 final version and I don't have this issue with the older 1.5 version (I tested)

Code: [Select]
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at ProudClod.Form1.new_formations(Byte section, Byte index, Byte position, Byte enemy)
   at ProudClod.Form3.SaveChanges(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.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.Button.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)
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-03-05 14:35:10
Looks like sourceforge had an older version of the release binary. I replaced that now. Get it from sourceforge.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Green_goblin on 2014-04-09 15:56:03
Hello NF, I have a question for you

I'm trying to import the "scene.bin" PC version translated by DLPB into the PSX version.
Both PC & PSX files are identical so there should be no problem. However the size are not the same:

Original PSX file is 270.336 bytes (0x42000)
DLPB file is 278.528 bytes (0x44000)

So now I'll have to reduce the size of the file using your tool ProudClod until I get 270.338 bytes.
I deleted a couple of scenes (238 and 249), and I 've got the correct size. Are these scenes unused in the game? It looks like so, but I need your confirmation.

There is another problem, according to Thisguyaresick2 (a user form the RHDN forum):

(http://i101.photobucket.com/albums/m67/Control_2006/thisguy.png) (http://s101.photobucket.com/user/Control_2006/media/thisguy.png.html)

Do you know something about that? Maybe there are certain scenes that, when modified, causes that oversized file.

Please let me know. Thank you and regards

Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-04-09 18:50:18
You're asking in the wrong place. Ask DLPB in a new thread.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: DLPB on 2014-04-09 18:54:06
The only reason my scene is larger is text.  Same for the Kernel files.  Nothing I can do about it really...   Unless touphscript is making them larger somehow?

but yeah, this is wrong thread. Take to touphscript thread in tools.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Karifean on 2014-04-13 13:09:06
So I've just noticed I was using this "outdated" version of ProudClod for a while now. This may be unrelated but it seems my formations got quite screwed up (and yes, I did check the scene.bin lookup table in the KERNEL, it's correct). Like for example instead of fighting Airbuster, I suddenly fought three Special Combatants that overlapped (as in, their position was the same). Or sometimes enemies in the back row would suddenly appear in the front (and you'd get an Out of Range if you tried attacking them O_o).

I redownloaded PC just yesterday so I should have the up-to-date version, and I had hoped that this PC simply read and stored values somewhat wrongly, but it seems the problem isn't quite that easily fixed. The strangest part being.. I never even tinkered with the formations at all. Just the enemies.

I'm posting this here because I can't think of anything else that could've caused this. Anyone know a way to fix this?
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Ansem on 2014-04-13 18:55:23
So I've just noticed I was using this "outdated" version of ProudClod for a while now. This may be unrelated but it seems my formations got quite screwed up (and yes, I did check the scene.bin lookup table in the KERNEL, it's correct). Like for example instead of fighting Airbuster, I suddenly fought three Special Combatants that overlapped (as in, their position was the same). Or sometimes enemies in the back row would suddenly appear in the front (and you'd get an Out of Range if you tried attacking them O_o).

I redownloaded PC just yesterday so I should have the up-to-date version, and I had hoped that this PC simply read and stored values somewhat wrongly, but it seems the problem isn't quite that easily fixed. The strangest part being.. I never even tinkered with the formations at all. Just the enemies.

I'm posting this here because I can't think of anything else that could've caused this. Anyone know a way to fix this?

You've likely used the option that syncs an enemy with other scenes it is in. Don't use that option; it completely rapes the formations and there's no way to easily get them back unless you have backed up the scene.bin.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Karifean on 2014-04-14 00:17:18
I see. Well that's unfortunate.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Bosola on 2014-04-15 20:47:24
The enemy sync functionality merely syncs stats. It shouldn't cause enemies to be copied to new scenes, or for formation data to change.

I do remember some builds of PC breaking formation data from time to time; it caused me a lot of issues with Rebirth. It's fixed in more recent releases, though.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Ansem on 2014-04-18 15:25:43
Well, I just re-downloaded the latest version to be sure. I randomly changed some stats of the first MP enemy I came across, synced it with other scenes and it specifically informs me that "the following scene enemy positions have been modified" and I instantly found a scene with broken formation data. Namely scene 93, formation 0 where an extra MP enemy appeared with all position data as FFFFh. Comparing the file against a vanilla one, I can tell that the extra soldier does not belong there and it only appeared because of the sync button in Proud Clod.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Bosola on 2014-04-21 17:42:53
Interesting. In what scene was the enemy you sync'ed? If we can isolate criteria for replicating the bug, we can fix it much more easily.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-04-21 18:59:39
I see what the problem is. I didn't test the syncing function very much. There's a logic error in the code. Syncing copies the enemy in the current scene and pastes it through all the scenes in the scene.bin. In this case it is incorrectly assuming that the scene being pasted to is the current open scene. Takes a little bit of circular thinking to figure that out.

I just updated sourceforge with what I believe will fix the problem.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Ansem on 2014-04-22 18:54:32
Well technically, the only problem I saw first was that while copying and pasting the enemy's stats correctly, it even attempts to touch the formation data. I now see why this would happen, though - it is for the case of someone modifying the enemy's model ID, right? The formation data needs to be updated separately to call that enemy or it will produce a rather broken battle in-game. However, here's the problem:

Let's take that Air Buster issue as an example. Apart from Air Buster's entry, the scene 91 also contains an entry for Special Combatant.

Now, Air Buster is in the first, second and third formation table of Scene 91. There are three Special Combatants in the fourth formation table.

Then look at Scene 86, first formation table. You'll find three Special Combatants. Now sync the current Special Combatant with other scenes...

And boom! Scene 91, first formation table. It is now filled with three Special Combatants, one of which has Air Buster's position values, and the two others have FFFFh position values because there weren't supposed to be three enemies in the first place. And there we have replicated Karifean's broken Air Buster fight, which no longer even contains Air Buster.  ;)

Now, the way I see it, updating the model IDs in formation tables is what doesn't work as intended. Instead of checking IF the formation table even has any enemies of a given ID (in this case, 001E), it simply copies over the synced enemy's IDs as they were in the original scene's formation tables.

...Then again, there's always the chance that my theory here couldn't be any more wrong, given the fact that I know nothing of Proud Clod's inner workings.  ;D
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-04-22 20:12:26
Now, the way I see it, updating the model IDs in formation tables is what doesn't work as intended. Instead of checking IF the formation table even has any enemies of a given ID (in this case, 001E), it simply copies over the synced enemy's IDs as they were in the original scene's formation tables.

...Then again, there's always the chance that my theory here couldn't be any more wrong, given the fact that I know nothing of Proud Clod's inner workings.  ;D

Surprisingly, you are correct. Problem was it wasn't working as intended. I think it should be working now, but it's not a feature I used or even tested a lot.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: mexico on 2014-04-28 16:02:37
Hi guys, I'm new here!  ;) I'm french and I'm making a Hard Mod for the french version. I'm using Proud Clod, an excellent tool, but I have a problem: change the IA. I want to know if there is a simple tuto somewhere for doing this. I want to change the IA of Safer but it doesn't work.

Thanks and sorry for my bad english!  :)

Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-04-28 16:15:52
I want to know if there is a simple tuto somewhere for doing this.

You might want to check out the readme file that comes with WallMarket (http://forums.qhimm.com/index.php?topic=7928.0). It has a simple tutorial with some basic things. The details of the codes may be wrong, but the wiki is more up-to-date (http://wiki.qhimm.com/view/FF7/Battle/Battle_Scenes/Battle_Script) on the details of their functions. The wiki has no examples, however.

If you have specific questions on how to code, please use the topic you created. This topic is (should be) for technical discussion of the Proud Clod tool.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Xeeynamo on 2014-06-30 12:03:28
It's the tool still in development? Because the AI editor is bugged as the hell and the disassembly it's not accurate with the else and tabbed spaces.. If the updated source code is avaiable, I'd like to improve it.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: NFITC1 on 2014-06-30 13:15:38
It's the tool still in development? Because the AI editor is bugged as the hell and the disassembly it's not accurate with the else and tabbed spaces.. If the updated source code is avaiable, I'd like to improve it.

It's currently undergoing a ground-up re-write which I'm developing as I get to it. I've known all along that the AI handling is screwed up. It was written hastily and not-optimized so it could be a feature and never re-addressed.
You can find the source at the blog on the first post.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: myst6re on 2014-07-26 10:58:23
It seems that the "œ" character is buggy, ProudClod displays "œ", but saves "Œ". More precisely, it uses the value 0xAE instead of 0xAF.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2014-07-26 13:19:59
That's odd. I wonder if that's an encoding problem.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Roden on 2014-10-23 01:30:44
I looked into this. It seems the file format in the JORG (Japanese original) version was different. And the only difference I can see is... padding?

The original Japanese individual (256) scene files are 7248 bytes in size as opposed to the releases thereafter which are 7808 bytes.

For example, in the abilities portion of the format each ability has sixteen additional bytes (which always seem to be FF) in the post-JORG releases. Earlier in the format there are other places where sixteen bytes are added-- which I suspect to relate to enemies. And then there is more padding at the end of the file.

Here is a sample file. I hope I'm not breaking rules by posting this. This is one where the enemies and stats/abilities remain the same between releases.

scene120 (as Scene Reader extracts them, 119 if starting from 0 (like Proud Clod shows))
Code: [Select]
53 00 54 00 55 00 ff ff 1f 00 ff ff 02 00 ff ff
40 00 42 00 4b 00 5d 00 ed ff 00 0e 1f 00 ff ff
02 00 ff ff 41 00 47 00 48 00 53 00 fd ff 00 07
1f 00 ff ff 02 00 ff ff 41 00 47 00 48 00 53 00
ed ff 00 01 1f 00 ff ff 02 00 ff ff 40 00 42 00
4b 00 5d 00 fd ff 00 1a 53 1f 38 fa 67 17 00 00
c0 fe 2c 00 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 7d 28 38 f5 68 0c 00 00
a0 ff ec fd 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff ae 28 38 f5 68 12 00 00
70 ff 2c ff 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 9b 26 38 ea 9c 0c 00 00
f0 01 cc fe 10 27 78 ec 70 17 00 00 90 01 2c 01
10 27 78 ec 70 17 00 00 90 01 2c 01 ff ff ff ff
ff ff ff ff ff ff ff ff 53 00 18 fc 00 00 f8 f8
01 00 00 00 ff ff ff ff 53 00 00 00 00 00 88 fa
01 00 00 00 ff ff ff ff 53 00 e8 03 00 00 c0 f9
01 00 00 00 ff ff ff ff 54 00 00 00 00 00 48 f4
02 00 00 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 ff
ff ff ff ff ff ff ff ff 55 00 0c fe 00 00 88 fa
01 00 00 00 ff ff ff ff 55 00 b0 04 00 00 5c f9
01 00 00 00 ff ff ff ff 55 00 50 fb 00 00 48 f4
02 00 00 00 ff ff ff ff 55 00 f4 01 00 00 54 f2
02 00 00 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 ff
ff ff ff ff ff ff ff ff 55 00 c0 f9 00 00 5c f9
01 00 00 00 ff ff ff ff 55 00 d4 fe 00 00 88 fa
01 00 00 00 ff ff ff ff 54 00 18 fc 00 00 48 f4
02 00 00 00 ff ff ff ff 53 00 e8 03 00 00 3c f6
02 00 00 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 ff
ff ff ff ff ff ff ff ff 53 00 0c fe 00 00 5c f9
01 00 00 00 ff ff ff ff 53 00 f4 01 00 00 88 fa
01 00 00 00 ff ff ff ff 53 00 18 fc 00 00 74 f5
01 00 00 00 ff ff ff ff 53 00 00 00 00 00 54 f2
01 00 00 00 ff ff ff ff 53 00 e8 03 00 00 74 f5
01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff 4e 8e 68 86 d0 ff ff ff
ff ff ff ff ff ff ff ff 0f 24 02 05 1c 05 26 10
01 03 ff ff ff ff ff ff 04 02 ff ff ff ff ff ff
03 04 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
12 01 bd 01 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 ff
ff ff 05 01 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 ff
08 ff ff ff 01 00 ff ff ff ff ff ff 12 01 bd 01
ff ff ff ff 30 00 06 00 ff ff 10 ff 8c 00 00 00
38 00 00 00 41 00 00 00 ff ff ff ff ff ff ff ff
6a d0 4e 26 86 12 98 ff ff ff ff ff ff ff ff ff
12 3d 07 05 38 19 12 41 00 03 07 ff ff ff ff ff
06 05 02 ff ff ff ff ff 03 04 ff ff ff ff ff ff
ff ff ff ff ff ff ff ff be 01 50 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 ff ff ff d8 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 ff 08 02 a0 ff 07 00 03 00
03 00 ff ff be 01 50 00 ff ff fe ff 7c 00 0a 00
07 00 10 ff 18 01 00 00 54 00 00 00 b4 00 00 00
ff f3 ff fd ff ff ff ff 4a 58 5e 78 9c 62 ff ff
ff ff ff ff ff ff ff ff 0f 31 02 03 1a 26 02 02
00 ff ff ff ff ff ff ff 02 ff ff ff ff ff ff ff
03 04 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
bf 01 c0 01 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 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 ff ff ff ff ff ff
08 ff ff ff 01 00 ff ff ff ff ff ff bf 01 c0 01
ff ff ff ff 00 00 07 00 ff ff 10 ff be 00 00 00
41 00 00 00 71 00 00 00 ff ff ff ff ff ff ff ff
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 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 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 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
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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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
12 01 bd 01 be 01 50 00 bf 01 c0 01 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 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
4b 7f 63 4d ff ff ff ff ff ff ff ff ff ff ff ff
52 d0 8a 26 04 8c 58 ff ff ff ff ff ff ff ff ff
62 82 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
fa 05 fa 06 fa 22 fa 23 ff ff ff ff ff ff ff ff
35 fc 49 6a 5e 9c 4e ff ff ff ff ff ff ff ff ff
40 54 7e 58 29 d0 4e 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
06 00 46 00 92 00 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 ff 12 70 20 02 a0 20 82 90 81 60
02 34 52 70 19 00 60 20 61 12 01 92 72 1f 00 60
20 61 bd 01 92 73 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 ff 81 60 04 34 52 70 19 00 12 70
20 02 a0 20 82 90 60 20 61 be 01 92 72 2b 00 12
70 20 02 a0 20 03 60 41 80 84 82 90 60 20 60 50
92 73 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 ff 12 70 20 02 a0 20 82 90 81 60 02 34 52 70
19 00 60 20 61 bf 01 92 72 1f 00 60 20 61 c0 01
92 73 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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

I wrote a personal program that converts the extracted JORG scene files into the post-JORG scene file format (although since I did it without understanding the file format and just added padding in places to get the files to match up it might not be perfect),

But I figured you would better understand the changes and it could be a good addition to the program if you wanted to release another version, even if it doesn't support Japanese characters.
Yeah I noticed that too. Obviously neither Proud Clod or Wallmarket support Japanese characters, but I find Wallmarket produces usable kernels for both FF7ORG-J and FF7i-J (as long as you don't select "update text" which completely destroys everything). Proud Clod on the other hand only produces usable results for FF7i, the FF7ORG battle stuff just comes up with wrong values. Would  be great if it could manage FF7ORG-J even without Japanese character support in the actual app!
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-11-18 03:29:55
Is it possible to reverse an overwrite made with the copy tool? It's fine if it requires some work, but I have accidentally pasted an enemy over "cripshaw" which does not appear in any other scenes, and I would like to get that enemy back. Unfortunately I've also already made substantial modifications to my scene.bin, fixed tons of AI bugs, etc... so I really don't want to start fresh and lose those changes.

If it takes some work to recover cripshaw that's fine, I'd really like some guidance on how I might go about doing that.

I was also wondering if there are known issues with the latest version Proud Clod regarding encounter calls getting screwed up? I was play-testing today and for some strange reason when I was supposed to fight Air Buster I ended up just fighting a bunch of random guards. Is there I way known solution or another tool I can use to edit which formation is being called for a boss fight? Where is that data stored?

My understanding from reading this thread is that something has gotten messed up with kernel.bin look-ups, and that the solution should be in a "readme" but I don't seem to be able to find that readme anywhere. The application claims the lookups there appear to be correct, though it has made modifications in the past.

Best,

QP
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Green_goblin on 2014-11-18 08:31:37
Open the original file, copy the information and restore what you have accidentally modified.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2014-11-18 14:32:50
Is it possible to reverse an overwrite made with the copy tool? It's fine if it requires some work, but I have accidentally pasted an enemy over "cripshaw" which does not appear in any other scenes, and I would like to get that enemy back. Unfortunately I've also already made substantial modifications to my scene.bin, fixed tons of AI bugs, etc... so I really don't want to start fresh and lose those changes.

If it takes some work to recover cripshaw that's fine, I'd really like some guidance on how I might go about doing that.

Like Goblin said, open a default scene.bin and go to the group with Cripshaw in it. There's an option somewhere to 'dump current scene' (might have been reworded for this release). This'll let you make a save file of that particular scene. Now re-open your modified scene.bin and go to the Cripshaw scene, and there should be an option called 'load current scene' or similar. Select the dumped group, and it should restore the enemy.

I was also wondering if there are known issues with the latest version Proud Clod regarding encounter calls getting screwed up? I was play-testing today and for some strange reason when I was supposed to fight Air Buster I ended up just fighting a bunch of random guards. Is there I way known solution or another tool I can use to edit which formation is being called for a boss fight? Where is that data stored?

My understanding from reading this thread is that something has gotten messed up with kernel.bin look-ups, and that the solution should be in a "readme" but I don't seem to be able to find that readme anywhere. The application claims the lookups there appear to be correct, though it has made modifications in the past.

I've not used the final version of PC so I don't know if there are issues with it. One thing it might be is that you have 1998 & Steam installed, I think PC looks at the 1998 version's kernel by default. Might be a writing permissions issue as well, though I imagine an error would have been thrown up if that was the case. I could send you the two versions of PC that I use (Alpha & NotFinal); if they can't synch the kernel either then it'll be something outside of the tool itself.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-11-18 15:25:51
Thanks for the issue with cripshay, fixed that.

I do have the steam version installed alongside the version I'm modding, so I'll try removing that and seeing if it fixes the issue -- but I made other changes to this same kernel.bin using wall market and all of those are working fine, so I doubt that's the issue.

I was thinking about this today (after much wiki reading), if something were off with the Scene Look-up, then when I begin the fight I should be seeing a valid fight from the game just misplaced. That's not what's going on, though. Instead what happened here was that it seemed like the correct "fight" loaded, and three normal grunts (located in the same scene as Air Buster) took his place in the middle of my party, all kind of clustered together on top of each other, and classed as long range (couldn't be attacked.) I also had another issue in a random battle where there appeared to be two random guards standing on top of each other, and one of them was classified as long range and couldn't be attacked.

I'd like the old versions of Proud Clod if you have them just to see if that's it though the more I think about it the more I think it may be something besides the look-up table.

I also noticed that my version of proud clod gives me an "index outside the bounds of array" error whenever I open the formations tool, even if I don't save or modify anything. It does this for every scene.
Title: Re: [REL 1.5.0/FINAL] Proud Clod
Post by: Sega Chief on 2014-11-18 15:54:54
So I've just noticed I was using this "outdated" version of ProudClod for a while now. This may be unrelated but it seems my formations got quite screwed up (and yes, I did check the scene.bin lookup table in the KERNEL, it's correct). Like for example instead of fighting Airbuster, I suddenly fought three Special Combatants that overlapped (as in, their position was the same). Or sometimes enemies in the back row would suddenly appear in the front (and you'd get an Out of Range if you tried attacking them O_o).

I redownloaded PC just yesterday so I should have the up-to-date version, and I had hoped that this PC simply read and stored values somewhat wrongly, but it seems the problem isn't quite that easily fixed. The strangest part being.. I never even tinkered with the formations at all. Just the enemies.

I'm posting this here because I can't think of anything else that could've caused this. Anyone know a way to fix this?

I think this is the issue. I think it was caused when selecting the synch option that makes all enemies of the same name identical, have you done that? It can break formation data, it seems like.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-11-18 15:58:49
Ah, yes I have done that extensively -_-.

Alright, so is the best thing to do at this point just start fresh and remod/edit scene.bin, this time not using the synch option? I assume it's fine to synch attacks, just not enemies/stats?

Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2014-11-18 16:06:04
I personally avoid the synch option all together and instead use copy-paste. What you have can still be used though; open up your fresh Scene and the modified one at the same time (separate instances of PC running), then copy-paste the enemy AI over, etc. I think it works for actual enemy attacks too, but not sure; if not, those'll have to be re-done as dumping the scene carries the formation data with it too.

One thing to note, when copy-pasting an enemy it brings it's attacks too. These can get jumbled in terms of attack animation, sounds used, etc. Keep a close eye on that; it's usually worth just copy-pasting each attack individually.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-11-18 16:14:39
Gotcha, thanks so much. So just to make sure I've got this straight -- It'd be better to copy over all the AI changes I've made to a clean scene.bin, and then re-edit the scene. When re-editing, the "path of minimal bugs" would be to individually copy every attack I've created/edited from my modified file to the clean one, and then to re-edit the stats (rather than copying/pasting the whole enemy, which might create bugs with the attacks). And never synch anything, ever.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2014-11-18 16:20:14
I'm actually not convinced that syncing is as effective as it seemed to me in the first place. In most cases it ends up screwing up formations. Not making you encounter them in incorrect places, but the individual formations themselves. I could explain the rationale behind it, but I can tell you it's somewhere in this thread buried pretty deep.
For that matter, copy-pasting individual enemies can cause problems too.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2014-11-18 16:27:52
Yeah, when I copy-paste an enemy it generally drags over attacks with the wrong information loaded into them. I was worried there might be other hidden issues so I stopped doing it after a while; it seems to be fine copy-pasting individual attacks in though.

By the way, these might be of use:

Op Codes List
http://www.mediafire.com/view/umiqacyau66u9c9/opcode_list.txt

That proved to be invaluable to me when editing AI, so unless you have it already it'll hopefully be of use. Also:

FF7 Attack/Spells Database
http://www.mediafire.com/view/3p9ne4355qlgh1a/FF7_Attack_Anim_Database.txt

That's something I use for quick-reference when making new attacks or changing kernel-stored spells used by enemies. The older entries have 'useless' stuff like hurt animation (I was being careful at the time because I was just starting out and wanted to avoid issues) but the only important number is the two-digit one for attack anim. ID.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-11-19 23:07:51
Very useful Sega chief! That should speed things up quite nicely.

Out of curiosity, have you ever made an AI script which counters a *missed* attack? I wrote a general counter script for the ghost enemy which vanishes if he is hit by an attack and then if he's already vanished, casts fire on anyone who tries to physically hit him (to punish them for being dumb.) However the condition isn't activating, and I can only imagine that's because the counter script only triggers when damage is actually dealt, and not just when an attempt at doing damage is made. I looked through the opcode list but didn't see anyway to resolve this issue.

I suppose I could always just alter the vanish thing so that he can be hit... but that seems like it kills the point of vanish -_-.

EDIT: I just realized this is supposed to be only for PrC related things, so i'll move this conversation. sorry about that!
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Roden on 2014-11-29 22:10:22
I was just using this for the first time (rather than just checking stats/AI). Working great so far. I did read quite a bit of this thread but a few questions:

1. Is it safe to use [NONE] and [EMPTY] slots to add new enemies?
2. This one is probably a dumb question, but I understand the game stores some sort of scene data table in the Kernel, when/why does that update? Just curious, I know Proud Clod automatically handles it.
3. Can you add single enemies around bosses such as the Guard Scorpion? Or will that cause memory issues due to size of model/something else?

Yeah, when I copy-paste an enemy it generally drags over attacks with the wrong information loaded into them. I was worried there might be other hidden issues so I stopped doing it after a while; it seems to be fine copy-pasting individual attacks in though.

I did notice the dump/insert scene works great under Scene Data Management so I've been using that. Though for individual enemies, I was wondering how exactly do you copy/paste individual data?  Would these steps be correct? (this is of course without using the tool's copy enemy function which seems buggy from feedback on this thread).
1. Add enemy stats manually (I don't see any copy/paste buttons here), such as name, model id etc into the slot you want to use.
2. Right click enemy attacks and copy from one Proud Clod to the other.
3. Assign Animation/Formation data for that enemy manually using other Proud Clod as reference
4. For Enemy AI/Formation AI (the latter seems empty a lot?) use the copy/paste function
5. Think thats about it?

Thanks :)
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: quantumpencil on 2014-12-03 22:35:15
Another question:

For some reason, I cannot save changes to formations. I instead get an out of bounds exception whenever trying to click "done" while editing formations -- even if I don't change anything.

The odd thing is the application will show that it has changed the formation data right up until I create scene.bin, at which point it will revert back O_o?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2014-12-03 22:58:41
There's an issue with certain versions of PrC where the Formation data can't be edited. I use two versions of the tool in tandem with each other; Alpha and 'Final' (but not actually the final version, it's just called that). Alpha can edit Formations but it has a problem with setting Steal/Drop flags and can sometimes leave you with garbled items dropping. Final doesn't have this issue, but it can't edit Formations. So I use the two together, Final to make most changes with Alpha doing anything related to Formations (I keep it away from everything else, just in case).

I don't know how the new ones perform; there were two more that I know of, with one being replaced by another recently a few months ago.

Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Roden on 2014-12-04 16:28:37
There's an issue with certain versions of PrC where the Formation data can't be edited. I use two versions of the tool in tandem with each other; Alpha and 'Final' (but not actually the final version, it's just called that). Alpha can edit Formations but it has a problem with setting Steal/Drop flags and can sometimes leave you with garbled items dropping. Final doesn't have this issue, but it can't edit Formations. So I use the two together, Final to make most changes with Alpha doing anything related to Formations (I keep it away from everything else, just in case).

I don't know how the new ones perform; there were two more that I know of, with one being replaced by another recently a few months ago.
Interesting, where can we find this Alpha version? I don't see any past versions on SourceForge. :( I'm guessing quantumpencil and I are using the same most recent version.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Zara9 on 2015-04-01 12:35:37
hey

when i use this program to create the scene.bin file

this error message comes up and saids

index was outside the bounds of the array
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2015-04-01 14:20:03
Stack Trace? There should be more details to that error.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Walter253 on 2015-04-08 00:45:08
@NFITC1 : sorry I didn't know, i copy pasted my original message into a wordpad, can you indicate me the correct forum section please? In PM or in your message you can edit it i'll watch for an answer.
I'm a little lost in the forum : -(
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2015-04-08 02:07:01
I would appreciate it if you made a new thread with that question. This thread is about the discussion of ProudClod function and issues. This is a scripting question, not one for tools.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: genesis063 on 2015-04-11 08:51:41
Say speaking of functions could you add the option to choose which Kernel to update from as people can have one in the iro and not use the base game one?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2015-04-11 12:45:38
I had considered that but thought it better to make it as simple as possible and modify the currently used one. I guess more input on the part of the user wouldn't be out of the question.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: genesis063 on 2015-04-11 17:26:33
Coo it just can be frustrating when you are working and nothing you change for it will work as it'll point to the one in the iro and you'll be tearing your hair out wondering why it doesn't work lol.

Edit: Just thought of this.  Isn't there a way you can have two different makes?  Like have one version for developers and another for recreation like for patching and stuff?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2015-04-11 21:00:22
Isn't there a way you can have two different makes?  Like have one version for developers and another for recreation like for patching and stuff?

Yes, but I'm not maintaining two separate versions. That's why it's open source.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: DLPB on 2015-04-11 23:14:57
Yes, but I'm not maintaining two separate versions. That's why it's open source.

Further to this... maintaining one takes a colossal amount of time.  It's easy to say "Let's have two" but it's an almost thankless job to do it...and hard.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: genesis063 on 2015-04-11 23:50:08
I'd thank you and I can understand the time so not holding my breath just a suggestion.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: reversebustersword on 2015-05-20 09:34:16
I'm having problems opening up the application. When I try to open it my computer says "Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access the item."


I'm trying to edit the battle camera to always be the  back attacked camera angle because Cloud looks waayyy cooler on that side.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-05-20 12:43:56
Try right-clicking on the program's .exe and going to Properties; click 'unblock' (only if that button appears; if not then don't worry about that step). Then go to the Security tab. If one of the Groups are called Users, then select that and then click the Edit button. Tick the Full Control flag. Could also set it to run as Admin from the compatibility tab too.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: reversebustersword on 2015-05-20 20:54:05
I figured out why I couldn't open it. My antivirus was blocking it. So I just disable it.

When I try to 'create SCENE.BIN' to save the changes I've made it won't let me saying "Unable to load DLL'zlib1.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"

NFITC1 saids in the first post, "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."

What I don't know:
1. where is zlib1.dll?
2. where is PrC?

I'm trying to edit the camera so that its always the back attacked camera angle.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Kefka on 2015-05-22 07:37:36
What I don't know:
1. where is zlib1.dll?
2. where is PrC?

PrC is just the abbreviation of Proud Clod.
The zlib1.dll should be included in the zip-file of Proud Cloud that you downloaded. I just checked my Proud Clod zip files (the last two versions), and both contain the dll. If for some reason you don't find it, I can upload the file to Speedy Share for you.

The camera position can be edited under the formations tab, although you'll have to do it manually for every battle formation in every scene (which amounts to maybe 700 or so formations).
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: reversebustersword on 2015-05-22 08:06:29
The camera position can be edited under the formations tab, although you'll have to do it manually for every battle formation in every scene (which amounts to maybe 700 or so formations).


But there's only 4 formations you can edit.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-05-22 15:47:27
I think he means 700 in total; there's four formations per scene and about 254 scenes that are functioning, with quite a lot either empty or unused.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: reversebustersword on 2015-05-22 20:36:55
I think he means 700 in total; there's four formations per scene and about 254 scenes that are functioning, with quite a lot either empty or unused.


Do you know what numbers/letters I need to put to make this work?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-05-22 22:09:56
Your best bet would be to find a back-attack formation and use the camera data listed there (make a note of it in Notepad), then enter it into other formations. Two problems though is that this will take a long time and not all enemy formations will be suited to it (they might appear off-camera, for instance). I'd test it out on Kalm's enemies first; adjust each formation for Kalm enemies with back attack camera data and see how it works out before you commit time to it.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Kefka on 2015-05-24 14:23:06
I think it's actually easier if you click the Preview button in the formations tab to open the Battle View Preview window, then you can manually "grab" and move the camera around as you like. Just left-click with the mouse somewhere into the picture and hold it, then drag it along (you'll get a feeling for it eventually). If your mouse has a scroll wheel, you can use that to make the camera "zoom" in and out.

Once you found an angle that you like, you have to right-click into the white text box that shows the current camera coordinates (see picture below) and select "set camera to this position". Now your self-adjusted camera position has been saved.

(http://oi60.tinypic.com/ve0lc3.jpg)
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-05-24 14:48:01
D:

I did not know you could do that.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2015-05-24 16:34:03
D:

I did not know you could do that.

Seriously? That's in the first post.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Bartz24 on 2015-08-29 12:49:42
Is there a way to get the alpha version of this tool? The formation editor doesn't seem to work in the final version, and in earlier posts it was mentioned that the alpha tool works correctly when editing formations.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-08-29 13:25:01
Here ya go bud: https://mega.nz/#!fg0gXIoL!qugOxwGK0Cul8nZZR4F5HslAWM4DnnSmPjLQQdaHLPE

One thing to note with the Alpha version; it can corrupt Item Steal/Drops if you use this version to change them. What I recommend doing is using Alpha purely for Formation editing (also for setting Attack Anims, this is handled in the formation tab as well) while using Final for everything else.

Edit: And don't use the Synch function. It causes havoc with formations and is very difficult to fix; just copy enemies and paste them over the duplicates instead, double-checking all the attacks after you do it (often, the attack data will get scrambled so it needs to be corrected when copy-pasting enemies).
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Ansem on 2015-08-29 16:41:40
Edit: And don't use the Synch function. It causes havoc with formations and is very difficult to fix; just copy enemies and paste them over the duplicates instead, double-checking all the attacks after you do it (often, the attack data will get scrambled so it needs to be corrected when copy-pasting enemies).

Wait, I thought this was fixed the last time I complained about it?

Yep, it is fixed. I can't replicate this problem in the newest build, at least.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2015-08-29 18:18:25
I dunno, I'd recommend making a back-up before doing any synch work just to be on the safe side.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: mexico on 2016-03-23 07:15:20
Hi!

Is there a chance to see one day a tool like Proud Clod for FF8 ?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2016-03-23 11:55:30
Ifrit (http://forums.qhimm.com/index.php?topic=8741.0) is the closest thing right now.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: mexico on 2016-03-23 15:32:09
OK thanks but you can't edit ennemy attacks with this tool, hard to release a good hard mod without this...
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: mexico on 2016-03-25 18:10:12
Well, I have a problem with the tool. I want to replace the Cure2 of Materia keeper by Adrenaline but I have an error when I want to change the AI:

(http://image.noelshack.com/fichiers/2016/12/1458929331-capture.png)

I don't understand what's going on...
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: vayneruel on 2016-03-26 10:53:47
Try this:
60 20
61 0349
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: mexico on 2016-03-26 17:45:36
Thanks, it works. :D
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Raziel80 on 2016-03-31 19:40:29
Is it possible in Proud Clod to increase the health of all enemies by 50% in one click.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2016-03-31 20:57:58
No. There is a tool that does that, but this is not it. Can't remember what it's called though.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Raziel80 on 2016-08-01 09:46:45
Is it possible to create a hotkey (for example: F7) or button, to call "Enemy stats" window?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Question on 2016-10-17 10:33:21
I did some testing and noticed something odd. Jenova-Birth's attacks are not flagged as short range in proud clod, but they are short range in game...characters in the back row will take half damage from it's laser attacks.

The tail laser attacks also suffers a 1/3rd damage penalty, like the one you get when you linked an all materia to fire materia, even though it is flagged as "start as multiple" (same as a summon, which does not receive a damage penalty for hitting all enemies). Its not flagged as one row only or toggle multiple either.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Kefka on 2016-10-17 14:43:17
I did some testing and noticed something odd. Jenova-Birth's attacks are not flagged as short range in proud clod, but they are short range in game...characters in the back row will take half damage from it's laser attacks.

This is acutally a bug concerning ALL enemy attacks except magic spells. Apparently, all physical attacks from enemies are always treated as short range regardless of whether or not they have the 'long range' flag checked. There was once a thread about this bug here:

http://forums.qhimm.com/index.php?topic=14998.msg210596#msg210596 (http://forums.qhimm.com/index.php?topic=14998.msg210596#msg210596)
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2016-10-17 14:46:25
I did some testing and noticed something odd. Jenova-Birth's attacks are not flagged as short range in proud clod, but they are short range in game...characters in the back row will take half damage from it's laser attacks.
That's by design. Enemies don't have long ranged attacks even if they are marked as such. The code that determines if long range penalty is removed can only affect player characters. Party characters or enemy characters in the back row will always halve the damage done to player characters. I believe some here (DLPB) consider that a bug in the game.

The tail laser attacks also suffers a 1/3rd damage penalty, like the one you get when you linked an all materia to fire materia, even though it is flagged as "start as multiple" (same as a summon, which does not receive a damage penalty for hitting all enemies). Its not flagged as one row only or toggle multiple either.
Don't take the targeting data on enemy-exclusive action too seriously. Even if an action is marked as one row only the targeting is entirely controlled by the AI and can do whatever it wants (ex. Ultima could be "tricked" into targeting one actor). The targeting data section ONLY affects how the cursor behaves for player characters when selecting a target of an action.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: genesis063 on 2016-11-12 14:36:36
Sorry if this was covered but didn't see anything about it when searching.  So I found out what other people probably knew.  Posting it in here so everyone can see it and for future modders.  Basically when you edit 250 on ward it will not register in every kernel bin.  So basically you have to edit each different kernel bin for it to sync the battles with the look up table properly.  So if you can save the changes to just the ones you needed for 7th Heaven then you should be good to go just sync it to the regular one.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Kefka on 2017-01-08 17:41:56
I've got a question regarding attack animation IDs. Is it possible to make an enemy use items in battle? Or at least create an enemy-exclusive attack using an item animation ID? Because I thought it would be fun to have certain human-like enemies (the Turks) use items like Ethers, Hero Drinks and such. First off, I've read the various threads about it that I could find:

http://forums.qhimm.com/index.php?topic=8195.0 (http://forums.qhimm.com/index.php?topic=8195.0)

http://forums.qhimm.com/index.php?topic=9277.0 (http://forums.qhimm.com/index.php?topic=9277.0)

http://forums.qhimm.com/index.php?topic=11534.0 (http://forums.qhimm.com/index.php?topic=11534.0)

They were very informative, but they were usually aiming at giving enemy-exclusive attack animations to player-attacks, and I'm kinda trying to do the opposite. I'm unsure how to go about it since the above threads didn't cover item animations. Is it even possible at all?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-01-08 20:03:34
I've got a question regarding attack animation IDs. Is it possible to make an enemy use items in battle? Or at least create an enemy-exclusive attack using an item animation ID? Because I thought it would be fun to have certain human-like enemies (the Turks) use items like Ethers, Hero Drinks and such. First off, I've read the various threads about it that I could find:

http://forums.qhimm.com/index.php?topic=8195.0 (http://forums.qhimm.com/index.php?topic=8195.0)

http://forums.qhimm.com/index.php?topic=9277.0 (http://forums.qhimm.com/index.php?topic=9277.0)

http://forums.qhimm.com/index.php?topic=11534.0 (http://forums.qhimm.com/index.php?topic=11534.0)

They were very informative, but they were usually aiming at giving enemy-exclusive attack animations to player-attacks, and I'm kinda trying to do the opposite. I'm unsure how to go about it since the above threads didn't cover item animations. Is it even possible at all?

I'm not going to say "no", but I'll say "I don't think so".
I have a much better understanding on how these animation indexes work than when I made that first post, but It boils down to memory leaks. The animation methods are all in a single line in memory and if a player magic goes beyond what its maximum value should be it starts at the beginning of the next list and continues going. You can't go "backward" through the list as these values are unsigned. Sometimes these will use the same animation methods. Enemy attacks sometimes share an animation with a particular item (happens all the time with items). Ethers might have an equivalent, but Hero Drinks might not. I can look it all up tomorrow when I get it in front of me.

EDIT:
No. There is no way to make an enemy perform the effect for Hero Drink without some EXE editing.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Kefka on 2017-01-09 19:45:15

I'm not going to say "no", but I'll say "I don't think so".
I have a much better understanding on how these animation indexes work than when I made that first post, but It boils down to memory leaks. The animation methods are all in a single line in memory and if a player magic goes beyond what its maximum value should be it starts at the beginning of the next list and continues going. You can't go "backward" through the list as these values are unsigned. Sometimes these will use the same animation methods. Enemy attacks sometimes share an animation with a particular item (happens all the time with items). Ethers might have an equivalent, but Hero Drinks might not. I can look it all up tomorrow when I get it in front of me.

EDIT:
No. There is no way to make an enemy perform the effect for Hero Drink without some EXE editing.

Too bad, but thanks anyway for looking. I think I MIGHT have found a way to still imitate a Hero-Drink-looking effect by editing the kernel: The 2 spells between Shield and Choco/Mog are unused, so I thought about using one of them to create a custom spell with 0 MP cost and give it the effect of a Hero Drink and the animation of Big Guard (this should be possible, since Big Guard comes in a later set of spells). Then I just add this new "spell" to an enemy's attack list, and since no materia is using that spell, it'll be like an enemy-exclusive ability, sort of. I hope this explanation wasn't too confusing. I'm gonna test that tomorrow.

Edit: It worked! It's possible to create a player spell in WallMarket with the properties and animation of Hero Drink and let an enemy use that.

However, now I've got a different question about enemy AI: is it possible to have a magical counter-attack script NOT trigger when hit by a specific spell? Because I wanted to let enemy A cast Wall on all enemies, but this triggers enemy B's magical counter script, making him attack enemy A after receiving Wall, which looks kinda stupid. I've looked through various enemy AIs, and I know that it's possible to have counter scripts trigger when certain specific spells are used (example: Ruby Weapon counters with Ultima when hit with Knights of the Round, but counters with tentacle strikes against all other attacks). My question: does a code for the opposite exist as well? I mean, a magical counter script that triggers against all spells EXCEPT a certain specific one (in my case Wall)? In short, enemy B shall still use his counter attack against spells from the player, but not against his buddy when he gets Wall from him.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: azertyuiop2 on 2017-01-23 20:11:27
Hello everyone !

I am a newbie with ProudClod but I would like to change some battle texts. I can find the right ennemy, then its "main" AI and there I see in the displayed lines the one that I want to change, for example the warning from Cloud to Barret in the 1st boss battle.

I can click on the line and edit it but how can I save my change ?
When I click somewhere else the string disappears, if I click Escape the change is cancelled, and if I click Enter the string disappears and the line above is changed in a way that I don't understand...  :o

Could you please help me ? Does a "how to use" manual exist ?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-01-23 22:07:27
I am embarrassed to say I never got strings to cooperate with the rest of the AI editing in a consistent way. Try just clicking on the box with the text in it and start typing. You can't enter line breaks (pressing Enter) so you'll just have to create a new 93 code for additional lines. This is the biggest limitation of PrC and WM and I'm sure there's a better way to do it, but I haven't figured it out.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: azertyuiop2 on 2017-01-24 19:01:11
Thank you NFITC1, and please excuse me: my problem was because I was using an old version of ProudClod. With the last one I have no bugs anymore when I change texts in AIs...
Now I can complete my parody ;D
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Raziel80 on 2017-10-16 21:35:39
There is one mistake in Proud Clod. In the scene 109 in Soldier:3rd Tab, Proud Clod shows in Elements and Effects:
Manipulation - Double Damage
Fire - Double Damage
But application supposed to show:
Confusion - Double Damage
Fire - Double Damage.
In the scene 150 in Palmer Tab, application shows in Elements and Effects:
Gravity - Nullify
Reflect - Double Damage
But it supposed to show:
Gravity - Nullify
Sleep - Double Damage.
Maybe something wrong with status effects in Element's comboboxes.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-10-17 13:27:01
Yes. I believe all the statuses are incorrectly indexed in the damage modifiers.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Sega Chief on 2017-10-17 14:09:55
Do you happen to have a list of the correct indexes? Just so I can add it to my notes.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-10-17 16:11:20
Not on hand. I think they're off by one or two in either direction. Sorry I can't be more specific than that without digging more into it than I have time for right now.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Raziel80 on 2017-10-18 07:48:04
In the wiki.qhimm: http://wiki.qhimm.com/view/FF7/Battle/Battle_scenes#Enemy_data_format
it says: Element types (8 records):
00h - Fire, 01h - Ice, 02h - Bolt, 03h - Earth, 04h - Bio, 05h - Gravity, 06h - Water,
07h - Wind, 08h - Holy, 09h - Health, 0Ah - Cut, 0Bh - Hit, 0Ch - Punch,
0Dh - Shoot,
0Eh - Scream
0Fh - HIDDEN
10h-1Fh - No Effect
20h-3Fh - Statuses (Damage done by actions that inflict these statuses will be modified)
FFh - No element.
It seems that in the application you wrote statuses: 0x10 - Death, 0x11 - Near-Death, 0x12 - Sleep, 0x13 - Poison, 0x14 - Sadness, 0x15 - Fury,
0x16 - Confusion, 0x17 - Silence, . . . , 0x1F - Regen, 0x20 - Barrier, . . .
But statuses had to be written like this: 0x20 - Death, 0x21 - Near-Death, 0x22 - Sleep, 0x23 - Poison, 0x24 - Sadness, 0x25 - Fury,
0x26 - Confusion, 0x27 - Silence, . . . , 0x2F - Regen, 0x30 - Barrier, . . .
So, they are off to the forward by 16 positions. When we see Manip status in application, then by the 16 positions in the backward direction is located Confusion status. Because instead of Manip status, right status will be Confusion, as wiki.qhimm says. Or in other words, when supposed to be Confusion status, we see in application Manip status, which is located in the forward direction by 16 positions.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-10-18 13:57:52
In the wiki.qhimm: http://wiki.qhimm.com/view/FF7/Battle/Battle_scenes#Enemy_data_format
...
It seems that in the application you wrote statuses: 0x10 - Death, 0x11 - Near-Death, 0x12 - Sleep, 0x13 - Poison, 0x14 - Sadness, 0x15 - Fury,
0x16 - Confusion, 0x17 - Silence, . . . , 0x1F - Regen, 0x20 - Barrier, . . .
But statuses had to be written like this: 0x20 - Death, 0x21 - Near-Death, 0x22 - Sleep, 0x23 - Poison, 0x24 - Sadness, 0x25 - Fury,
0x26 - Confusion, 0x27 - Silence, . . . , 0x2F - Regen, 0x30 - Barrier, . . .
So, they are off to the forward by 16 positions. When we see Manip status in application, then by the 16 positions in the backward direction is located Confusion status. Because instead of Manip status, right status will be Confusion, as wiki.qhimm says. Or in other words, when supposed to be Confusion status, we see in application Manip status, which is located in the forward direction by 16 positions.

:P Yeah, you're probably right. The wiki is more often correct since it's easier to keep up-to-date.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Abashi76 on 2017-11-10 18:00:10
Proud Clod still doesn't work on my computer even after i install the required programs.

It gives an error message :

Quote
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentNullException: Buffer cannot be null.
Parameter name: buffer
   at System.IO.MemoryStream..ctor(Byte[] buffer, Boolean writable)
   at System.IO.MemoryStream..ctor(Byte[] buffer)
   at ProudClod.Form1.GUnZip(Byte[]& byteCompressed)
   at ProudClod.Form1.SceneName_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ComboBox.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.8794 (WinRelRS2.050727-8700)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ProudClod
    Assembly Version: 1.5.0.2
    Win32 Version: 1.5.0.2
    CodeBase: file:///C:/Users/John/Downloads/New%20folder%20(2)/New%20folder%20(2)/ProudClod.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.8784 (WinRel.050727-8700)
    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.8800 (WinRelRS2.050727-8800)
    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.8784 (WinRel.050727-8700)
    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.8784 (WinRel.050727-8700)
    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.8801 (WinRelRS2.050727-8800)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8784 (WinRel.050727-8700)
    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.

I posted this problem in the Gameplay Mod forum.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Grumpy_Edge on 2017-11-12 14:07:09
Hey,
I'm new to making my own mod in gerenal, but I love the work you and others have done so far!
My question is: Is it possible to apply a change to all enemies at the same time? For example, if I wanted to add 10 levels to all enemies? Or make everything immune to sleep? etc. Instead of manually changing each by hand?
Thanks!
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: resinate on 2017-11-17 22:50:19
few issues ive found:

*cant change drop rate of items
*when modding monsters stats some battle formations get bugged out happens to random battles
-for example i modded icicles on cliffs in disc 2 and now battle seems to spawn random monsters
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: azertyuiop2 on 2017-11-29 20:01:17
Hello NFITC1 ! :)

Is there an easy way to "merge" 2 different scene.bin files that have been modified independently (without obviously conflicting each other, I mean that the first have its "ennemies stats" modified, and the second have its "ennemies names/scripts" modified) ?

Thanks by advance and anyway many thanks for the software itself :)
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2017-11-29 21:55:56
Hello NFITC1 ! :)

Is there an easy way to "merge" 2 different scene.bin files that have been modified independently (without obviously conflicting each other, I mean that the first have its "ennemies stats" modified, and the second have its "ennemies names/scripts" modified) ?

Thanks by advance and anyway many thanks for the software itself :)

There's a menu selection under "File" called "Create Changes Patch". Let's say you have to modified scene files sceneA.bin and sceneB.bin and you want to merge them into sceneC.bin.
-Open sceneA.bin and select "Create Changes Patch"
-Select "No" to the dialog box that comes up
-Select an UNMODIFIED scene.bin file and it should create a sceneA.PrC file (or named something similar, might be a .patch file. I don't remember)
-Do the same thing with sceneB.bin to create a sceneB.PrC file
-Copy your unmodified scene.bin file as sceneC.bin
-Open the sceneC.bin and "Apply Changes Patch" in whichever order. The second one applied will overwrite any changes made by the first patch so prioritize them accordingly.
-Save the sceneC.bin file and utilize it as you see fit.

That's the intended procedure. I'm not sure if it 100% works, tbh. It was an idea I had a while back that is at least partially implemented. You should audit the results to make sure it does what you intend it to be because I'm not certain it works 100%.
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Raziel80 on 2017-12-09 12:29:39
Hello. I have one question. Can you add to Proud Clod, option to open "Any file" in the files type, when the program offers to open the file? In the Wallmarket we have two options: 1) Open Kernel.bin file; 2) Open Any file; But in the Proud Clod we have only one option: open Scene.bin file. How about to add option to open "Any file" in the Proud Clod, like it was done in the Wallmarket?
Title: Re: [FF7] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: azertyuiop2 on 2018-01-15 22:26:50
I know it's a bit late, but I just want to thank you again NFITC1; your advice was useful for merging different files as I wanted and as far as I have checked I have seen no bug in the game. Ha and the same thing has been successfully applied to the kernel files with the software WallMarket !
GG 8)
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: resinate on 2018-04-29 09:12:07
sry for the bump but how can i change the battle formations camera angles cuz when i even open window i get array index out of bounds error

heres the error log
https://pastebin.com/zssZ1s3J
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2018-04-30 02:39:51
I've encountered this error on Windows 10, but don't remember it happening in Win 7. It's weird. I'll have to look at it when I get time. I'm not sure there's a work-around.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Bartz24Games on 2018-09-19 02:23:48
Hi, I've been trying to use this editor but anytime I change anything (at least all I've tried to change), and then switch to another enemy "set", the editor gives the error "An attempt was made to load a program with an incorrect format (Exception from HRESULT: 0x800700B)".

After that, and I go back to the edited enemy "set" or try to save the scene.bin, the program crashes with the error "System.ArgumentNullExpection: Buffer cannot be null."

I am on Windows 10 too if that has anything to do with it.
Also, the Wall Market editor worked fine for me, so I'm not missing powerpacks or anything.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: NFITC1 on 2018-09-19 13:22:07
it might be that the zlib1.dll isn't in the directory with the PrC executable.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Bartz24Games on 2018-09-19 17:26:14
Hmm...I just put the zlib1.dll file in the same directory and the same errors occurred..weird.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Bartz24Games on 2018-09-22 02:26:23
So, I downloaded the Proud Clod editor off of ngplus that SegaChief provided.

And that PrC editor is working perfectly fine.  So I moved that zlib1.dll file over to the directory that has the program I downloaded off of here, and then that editor worked fine.

So I must have had a bad zlib1.dll file or something.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Darkslayerpowerfull on 2019-07-12 18:03:17
Hello everyone, I'm Darkslayer and i want help in this program. I want a tutorial of how to change enemy locations ou swap the enemies(when is so boring) to have more fun playing. I want modify the enemy ability too, to have enemy skills variety locations.
Sorry of my bad english, i'm BR
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: Abashi76 on 2019-10-25 22:54:22
Hello everyone, I'm Darkslayer and i want help in this program. I want a tutorial of how to change enemy locations ou swap the enemies(when is so boring) to have more fun playing. I want modify the enemy ability too, to have enemy skills variety locations.
Sorry of my bad english, i'm BR

I've been asking for help, but I still have trouble. My normal attacks miss, and I've been trying to fix it by updating Kernal.bin files for ages.
Title: Re: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)
Post by: DLPB on 2019-11-01 17:23:47
Make the tutorial yourself.  The modder is not obligated to provide one.  He creates the tool and I have no problems using it - so that means  you need to stop waiting for someone to do everything for you and take charge.