Author Topic: [PSX/PC] Battle editor - Proud Clod (1.5.0/FINAL)  (Read 365618 times)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #350 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 :)
« Last Edit: 2010-05-20 13:27:03 by seif »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Official Proud Clod 1.0 Topic
« Reply #351 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.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #352 on: 2010-05-20 14:11:42 »
 ;D

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #353 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 :)

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Official Proud Clod 1.0 Topic
« Reply #354 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.

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #355 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
« Last Edit: 2010-05-21 18:35:33 by Armorvil »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Official Proud Clod 1.0 Topic
« Reply #356 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.

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #357 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 ;)
« Last Edit: 2010-05-22 19:54:56 by Armorvil »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Official Proud Clod 1.0 Topic
« Reply #358 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.

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #359 on: 2010-05-23 13:29:17 »
Look what you made me do  ;D

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:
« Last Edit: 2010-05-23 17:56:55 by Armorvil »

secondadvent

  • *
  • Posts: 287
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #360 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.

secondadvent

  • *
  • Posts: 287
    • View Profile
Official Proud Clod 1.0 Topic
« Reply #361 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
« Last Edit: 2010-06-04 08:49:17 by secondadvent »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Official Proud Clod 1.0 Topic
« Reply #362 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?



So, why isn't using 92 with 01C5 / 20 working? It's just Nerosuferoth's beak.


« Last Edit: 2010-06-06 13:34:10 by Bosola »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Official Proud Clod 1.0 Topic
« Reply #363 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 : ) ):



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.

« Last Edit: 2010-06-06 14:13:09 by Bosola »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Official Proud Clod 1.0 Topic
« Reply #364 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.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #365 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.
« Last Edit: 2010-07-18 17:26:39 by Bosola »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #366 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)

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #367 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.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #368 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).
« Last Edit: 2010-08-04 20:27:29 by NFITC1 »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #369 on: 2010-08-04 21:22:40 »
I never realized GZipping took so much time.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #370 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.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Official Proud Clod 1.0-1.4 Topic
« Reply #371 on: 2010-08-04 23:48:54 »
You know what I meant.

cloud171190

  • *
  • Posts: 18
    • View Profile
Proud Clod editor will not work
« Reply #372 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.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Proud Clod editor will not work
« Reply #373 on: 2010-09-22 13:06:31 »
Which version of the framework did you install? I think it specifically wants version 3.5.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
ProudClod refuses to save AI script
« Reply #374 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.