[PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)

  • Thread starter Thread starter nfitc1
  • Start date Start date
Status
Not open for further replies.
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. ;)
 
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 :)
 
Last edited:
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.
 
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.
 
Last edited:
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
Last edited:
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.
 
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.
 
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
 
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.
 
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]
Code:
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 detteprogrammet eller datamaskinen (machine.config) hajitDebugging-verdien angitt i delen system.windows.forms.Programmet mÃ¥ ogsÃ¥ kompileres med feilsøkingaktivert.For eksempel:<configuration>    <system.windows.forms jitDebugging="true" /></configuration>NÃ¥r JIT-feilsøking er aktivert, blir alle ubehandlede unntaksendt 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.
 
Code: [Select]
Code:
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. ;)
 
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 :)
 
Last edited:
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.
 
Status
Not open for further replies.
Back
Top