Final Fantasy Hacktics

Modding => PSX FFT Hacking => Topic started by: Snap006 on June 19, 2013, 11:47:37 pm

Title: Event Editor Bug?
Post by: Snap006 on June 19, 2013, 11:47:37 pm
I'm editing just the text in events. Everything has been ok until I got to Goland Coal City when Ramza meets Olan. After the battle the dialog gets screwed up and the game crashes.

I imported the original text back to the game through cdmage and it works fine. I think I know the reason, but I just need conformation of it. I think it's because I might have went over the text limit. Could that cause this to happen?
Title: Re: Event Editor Bug?
Post by: Jumza on June 20, 2013, 01:57:49 am
I'm pretty sure that limit is 49 characters ( letters :P ) per line, try and use more line breaks, make sure you are using the  proper format etc.. If the error persists let us know with some more details, like the text itself.
Title: Re: Event Editor Bug?
Post by: 3lric on June 20, 2013, 02:06:27 am
We would have to see your text, you undoubtedly missed either a {br} or a {end}
IF the line is too long, it was also just simply NOT play.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 20, 2013, 01:10:16 pm
It was weird. I replaced the original text for the event and still got the same error. It was only with the original event file for the whole game that it worked.

The scene began halfway through with the text and then 0's spread across the screen. I'll take a screen shot when I get home.

Basically I'm thinking that I used too much text for the parts of the game before that point and just ran out of space in the event file. That's the only thing I can think of.
Title: Re: Event Editor Bug?
Post by: 3lric on June 20, 2013, 01:42:12 pm
Sounds like you didnt remove the text offset before reimporting the event
Title: Re: Event Editor Bug?
Post by: Snap006 on June 20, 2013, 02:15:52 pm
Ive never done that before now. Should I do that with every event?
Title: Re: Event Editor Bug?
Post by: Jumza on June 20, 2013, 02:26:32 pm
Yes! Every event! Every single one! Always!
If you are using EVSP then it should remind you to do so as well if you haven't already.
Always remove it.
Always.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 20, 2013, 03:08:11 pm
What I've been doing is changing the text in the event editor copying it to a text file then compiling it to the event file. The use cdmage to import it. I've never ran into problems before. I'll try that to see if it solves the problem.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 21, 2013, 08:38:00 pm
Ok. I removed the text offset like you said. Still same results. I've attached some screen shots.
Title: Re: Event Editor Bug?
Post by: 3lric on June 21, 2013, 08:45:02 pm
paste your event here please
Title: Re: Event Editor Bug?
Post by: FFMaster on June 21, 2013, 08:58:24 pm
000000000000000000000000 - Olan. Looks like event editing is as hard as ever.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 21, 2013, 11:22:12 pm
This is it:


Offset(x001A2000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.

//Remove the previous line if you wish text to compile directly after instructions.

UnitAnim(x00,x00,x02,x00,x00)
Camera(+00728,-01564,+00392,+00302,+00512,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
{4D}(r3C)
{63}(rA9)
Camera(+00728,-00284,+00392,+00302,+00512,+00000,+04096,+00100)
WaitForInstruction(x04,x00)
LoadEVTCHR(x01,x37,x00)
Wait(00030)
WaitForInstruction(x34,x00)
SaveEVTCHR(x01)
UnitAnim(x02,x00,x78,x02,x00)
Wait(00010)
UnitAnim(x02,x00,x79,x02,x00)
Wait(00010)
UnitAnim(x02,x00,x7A,x02,x00)
Wait(00010)
DisplayMessage(x10,x91,x000A,x02,x00,x00,-00020,+00000,+00014,x13)
WaitForInstruction(x01,x00)
UnitAnim(x02,x00,x78,x02,x00)
Wait(00008)
UnitAnim(x02,x00,x02,x00,x00)
DisplayMessage(x10,x92,x000B,x15,x00,x00,+00016,+00006,-00004,x13)
WaitForInstruction(x01,x00)
ChangeDialog(x01,x000C,x00,x00)
WaitForInstruction(x01,x00)
UnitAnim(x15,x00,x58,x02,x00)
Wait(00004)
UnitAnim(x15,x00,x59,x02,x00)
Wait(00002)
UnitAnim(x15,x00,x58,x02,x00)
Wait(00004)
ChangeDialog(x02,x000D,x00,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00008)
ChangeDialog(x02,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
Wait(00040)
DisplayMessage(x10,x91,x000E,x02,x00,x00,-00020,+00000,+00014,x13)
WaitForInstruction(x01,x00)
UnitAnim(x15,x00,x5A,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x5B,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x5C,x02,x00)
Wait(00008)
ZERO(x0057)
ADD(x0057,x0000)
BlockStart()
{7E}(r57002100)
UnitAnim(x15,x00,x5B,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x5A,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x02,x00,x00)
BlockEnd()
DisplayMessage(x10,x92,x000F,x15,x00,x00,+00026,+00006,-00012,x13)
WaitForInstruction(x01,x00)
WaitForInstruction(x08,x00)
ChangeDialog(x01,x0010,x00,x00)
WaitForInstruction(x01,x00)
UnitAnim(x15,x00,x5D,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x5E,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x5F,x02,x00)
Wait(00010)
ChangeDialog(x02,x0011,x00,x00)
WaitForInstruction(x01,x00)
UnitAnim(x15,x00,x5D,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x02,x00,x00)
ChangeDialog(x01,x0012,x00,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x02,x0013,x00,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00008)
ChangeDialog(x02,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
SpriteMove(x15,x00,+00000,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x15,x00)
Sound(x0041)
UnitAnim(x15,x00,x60,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x61,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x62,x02,x00)
Wait(00008)
AddUnitPrep()
{82}()
AddUnitStart()
UnitAnim(x02,x00,x6D,x02,x00)
Wait(00008)
UnitAnim(x02,x00,x6E,x02,x00)
Wait(00030)
UnitAnim(x02,x00,x6D,x02,x00)
Wait(00008)
UnitAnim(x02,x00,x02,x00,x00)
Wait(00010)
UnitAnim(x02,x00,x70,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x71,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x70,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x02,x00,x00)
Wait(00008)
UnitAnim(x02,x00,x70,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x71,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x70,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x02,x00,x00)
Wait(00020)
UnitAnim(x02,x00,x6D,x02,x00)
Wait(00008)
UnitAnim(x02,x00,x6E,x02,x00)
Wait(00010)
UnitAnim(x02,x00,x6F,x02,x00)
Wait(00032)
UnitAnim(x02,x00,x6E,x02,x00)
Wait(00004)
UnitAnim(x02,x00,x6D,x02,x00)
Wait(00006)
UnitAnim(x02,x00,x02,x00,x00)
Wait(00014)
UnitAnim(x02,x00,x72,x02,x00)
Wait(00008)
UnitAnim(x02,x00,x73,x02,x00)
Wait(00010)
Sound(x0053)
UnitAnim(x15,x00,x66,x02,x00)
UnitAnim(x02,x00,x74,x02,x00)
Wait(00012)
UnitAnim(x15,x00,x63,x02,x00)
UnitAnim(x02,x00,x75,x02,x00)
Wait(00020)
Wait(00014)
UnitAnim(x15,x00,x64,x02,x00)
UnitAnim(x02,x00,x76,x02,x00)
Wait(00014)
Sound(x0041)
UnitAnim(x15,x00,x63,x02,x00)
UnitAnim(x02,x00,x75,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x65,x02,x00)
UnitAnim(x02,x00,x77,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x63,x02,x00)
UnitAnim(x02,x00,x75,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x64,x02,x00)
UnitAnim(x02,x00,x76,x02,x00)
Wait(00014)
Sound(x0041)
UnitAnim(x15,x00,x63,x02,x00)
UnitAnim(x02,x00,x75,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x65,x02,x00)
UnitAnim(x02,x00,x77,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x63,x02,x00)
UnitAnim(x02,x00,x75,x02,x00)
Wait(00030)
UnitAnim(x15,x00,x62,x02,x00)
UnitAnim(x02,x00,x74,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x61,x02,x00)
UnitAnim(x02,x00,x73,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x60,x02,x00)
UnitAnim(x02,x00,x72,x02,x00)
Wait(00004)
UnitAnim(x15,x00,x02,x00,x00)
UnitAnim(x02,x00,x02,x00,x00)
Wait(00060)
BlockStart()
RotateUnit(x15,x00,x08,x00,x00,000)
WaitRotateUnit(x15,x00)
Wait(00010)
UnitAnim(x15,x00,x03,x00,x00)
SpriteMove(x15,x00,+00000,+00000,+00056,x00,x01,+00084)
WaitSpriteMove(x15,x00)
UnitAnim(x15,x00,x02,x00,x00)
Wait(00030)
BlockEnd()
BlockStart()
Wait(00030)
WalkTo(x02,x00,006,003,x00,x00,+006,x01)
MovementAnim(x02,x00,x0002)
WaitWalk(x02,x00)
Wait(00006)
RotateUnit(x02,x00,x08,x00,x00,000)
WaitRotateUnit(x02,x00)
BlockEnd()
WaitForInstruction(x08,x00)
Wait(00010)
UnitAnim(x15,x00,x67,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x68,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x69,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x6A,x02,x00)
Wait(00010)
DisplayMessage(x10,x91,x0014,x15,x00,x00,+00040,-00020,+00000,x03)
WaitForInstruction(x01,x00)
DisplayMessage(x10,x92,x0015,x02,x00,x00,+00000,+00000,+00000,x02)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00008)
ChangeDialog(x02,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
UnitAnim(x15,x00,x6A,x02,x00)
Wait(00030)
Sound(x0041)
UnitAnim(x15,x00,x69,x02,x00)
Wait(00010)
UnitAnim(x15,x00,x68,x02,x00)
Wait(00008)
UnitAnim(x15,x00,x67,x02,x00)
Wait(00006)
UnitAnim(x15,x00,x02,x00,x00)
Wait(00030)
UnitAnim(x15,x00,x03,x00,x00)
SpriteMove(x15,x00,+00000,+00000,+00098,x00,x01,+00042)
WaitSpriteMove(x15,x00)
SpriteMove(x15,x00,+00000,+00012,+00102,x00,x01,+00008)
WaitSpriteMove(x15,x00)
SpriteMove(x15,x00,+00000,+00012,+00112,x00,x01,+00006)
WaitSpriteMove(x15,x00)
RotateUnit(x15,x00,x04,x00,x01,000)
SpriteMove(x15,x00,-00014,+00012,+00112,x00,x01,+00014)
WaitSpriteMove(x15,x00)
SpriteMove(x15,x00,-00056,+00030,+00112,x00,x01,+00042)
WaitSpriteMove(x15,x00)
Wait(00090)
{63}(rAA)
Camera(+00728,-01564,+00392,+00302,+00512,+00000,+04096,+00100)
Wait(00045)
{3E}(r02000000FFFFFF1E00)
{60}(r001E)
Wait(00030)
ZERO(x006E)
ADD(x006E,x0020)
ZERO(x01D8)
ADD(x01D8,x0001)
ZERO(x026F)
ADD(x026F,x0001)
AddUnitEnd()
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}Are you all right?{end}

//Message x02
{font:08}Orran{br}
{font:00}Thank you for saving me.{br}
{br}
My name is Orran Durai.{br}
What's yours?{end}

//Message x03
{font:08}{Ramza}{br}
{font:00}{Ramza} Beoulve.{end}

//Message x04
{font:08}Orran{br}
{font:00}!!{end}

//Message x05
{font:08}{Ramza}{br}
{font:00}Is something wrong?{end}

//Message x06
{font:08}Orran{br}
{font:00}Oh, nothing.{br}
Never mind.   {br}
Where are you going anyway?{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}To Lesalia. If you're going{br}
that way we could go along.{end}

//Message x08
{font:08}Orran{br}
{font:00}Too bad, I'm going the other way.{br}
Thanks for the offer.{end}

//Message x09
{font:08}{Ramza}{br}
{font:00}Well, be careful.{end}

//Message x0A
{font:08}Orran{br}
{font:00}You too.{end}

//Message x0B
{font:08}Orran{br}
{font:00}I'll see you later.{br}
Stay alive, till then.{end}

//Message x0C
{font:08}{Ramza}{br}
{font:00}Oh, uh, yeah...{end}

//Message x0D

Title: Re: Event Editor Bug?
Post by: Xifanie on June 22, 2013, 12:06:17 am
QuoteDisplayMessage(x10,x91,x000E,x02,x00,x00,-00020,+00000,+00014,x13)

DisplayMessage(x10,x92,x000F,x15,x00,x00,+00026,+00006,-00012,x13)

DisplayMessage(x10,x91,x0014,x15,x00,x00,+00040,-00020,+00000,x03)
WaitForInstruction(x01,x00)
DisplayMessage(x10,x92,x0015,x02,x00,x00,+00000,+00000,+00000,x02)


Your last message ID is 0x000C, so why you used x000E, x000F, x0014 and x0015 I have no idea. I just know this is what causes the "bug".
Title: Re: Event Editor Bug?
Post by: Snap006 on June 22, 2013, 12:55:50 am
So changing those to x000C should fix the problem if I'm understanding you correct.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 22, 2013, 12:59:09 am
The only thing I changed in the event editor was Olan's name to Orran. Could the event editor for that event have the wrong code in it?
Title: Re: Event Editor Bug?
Post by: Xifanie on June 22, 2013, 08:58:33 am
Now I see what's wrong... Where the hell did you get that event? It's missing 9 unused dialogues before "Are you all right?"

This is what the raw text of the event normally looks like originally

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}Roar{br}
{font:00}Where! Where did he run!?{end}

//Message x02
{font:08}A roar{br}
{font:00}Up there! On the roof!!{end}

//Message x03
{font:08}Olan{br}
{font:00}Surrounded...{end}

//Message x04
{font:08}Thief{br}
{font:00}I don't know who you are.{br}
Too bad you stumbled on us.{end}

//Message x05
{font:08}Olan{br}
{font:00}Next time put a sign outside{br}
saying "Thieves' hideout".{end}

//Message x06
{font:08}Thief{br}
{font:00}Hya, ha! Damn blabbermouth.{br}
Now, give yourself up.{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}Something weird's going{br}
on in here...{end}

//Message x08
{font:08}Thief{br}
{font:00}We have many visitors today.{br}
Let's get them all together!{end}

//Message x09
{font:08}Olan{br}
{font:00}Damn! F, father...{end}

//Message x0A
{font:08}{Ramza}{br}
{font:00}Are you all right?{end}

//Message x0B
{font:08}Olan{br}
{font:00}Thank you for saving me.{br}
{br}
My name is Olan Durai.{br}
What's yours?{end}

//Message x0C
{font:08}{Ramza}{br}
{font:00}{Ramza} Beoulve.{end}

//Message x0D
{font:08}Olan{br}
{font:00}!!{end}

//Message x0E
{font:08}{Ramza}{br}
{font:00}Is something wrong?{end}

//Message x0F
{font:08}Olan{br}
{font:00}Oh, nothing.{br}
Never mind.   {br}
Where are you going anyway?{end}

//Message x10
{font:08}{Ramza}{br}
{font:00}To Lesalia. If you're going{br}
that way we could go along.{end}

//Message x11
{font:08}Olan{br}
{font:00}Too bad, I'm going the other way.{br}
Thanks for the offer.{end}

//Message x12
{font:08}{Ramza}{br}
{font:00}Well, be careful.{end}

//Message x13
{font:08}Olan{br}
{font:00}You too.{end}

//Message x14
{font:08}Olan{br}
{font:00}I'll see you later.{br}
Stay alive, till then.{end}

//Message x15
{font:08}{Ramza}{br}
{font:00}Oh, uh, yeah...{end}


The easy fix would be to put {end}{end}{end}{end}{end}{end}{end}{end}{end} before Ramza's first message in your case
Title: Re: Event Editor Bug?
Post by: Snap006 on June 22, 2013, 11:30:11 am
The event was under Goland Coal City post battle.txt

So like this?

//INSTRUCTION SECTION END -  TEXT START
{end}{end}{end}{end}{end}{end}{end}{end}{end}
//Message x01
{font:08}{Ramza}{br}
{font:00}Are you all right?{end}
Title: Re: Event Editor Bug?
Post by: Xifanie on June 22, 2013, 04:50:44 pm
Yes it should work like this.

It seems like Raven forgot to the message IDs in that event, because for all the other events, he took out all the unnecessary, unused text and rewrote the message IDs accordingly inside the event's code.
Title: Re: Event Editor Bug?
Post by: Snap006 on June 22, 2013, 07:05:45 pm
Xifanie your a genius! Worked perfectly. I know what to watch out for next time. Thanks for everyone who helped!
Title: Re: Event Editor Bug?
Post by: axfelix on July 17, 2017, 07:39:04 pm
FYI, this is still a problem with Easyvent upstream, but I'm glad I was able to find this thread to correct it!

Not sure what the best way to get the attention of the maintainer is, but anyone who is a) just using the event files shipped with the editor rather than dumping their own TEST.EVT and b) just making minor dialog changes to the existing game is likely to encounter it.
Title: Re: Event Editor Bug?
Post by: Nyzer on July 17, 2017, 09:40:23 pm
Is that still happening in EasyVent 2.0 (http://ffhacktics.com/smf/index.php?topic=11675.0)? Because Raven changed quite a lot with that one. So if you're not using it yet, you should be.