• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 01:59:58 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


EasyVent Editor Super Perfect 2.1 UNOFFICIAL - UPDATE: 12/02/2019

Started by RavenOfRazgriz, March 28, 2017, 02:02:57 pm

RavenOfRazgriz


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

Hijacking Ravens thread to upload my Unofficial EasyVent 2.1 update. 2.1 is the same as 2.0, but it fixes issues in a couple events that weren't setup correctly in 2.0, such as the mid-bttle dialogue with Balk and Ramza in the battle right before the end of the game. This also adds all the FFT - The Lion War events to the folder already created for it in 2.0, as they were always supposed to be there, but were not ready when 2.0 was released. This includes the TLW TEST.EVT file as well, and a few typo fixes in the readme.

You can download the UNOFFICIAL EasyVent Editor Super Perfect 2.1 from the attachment at the bottom of this post (reupload by RetroTypes)


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

If this is your first time using EasyVent Editor Super Perfect 2.0, please download the full program.  Legacy versions (1.91 and previous) are no longer supported.  If you already have a copy of EasyVent Editor Super Perfect 2.0 but an update has been released, simply download the updater and apply it to your copy of EasyVent Editor Super Perfect 2.0, overwriting all files where applicable. 

When you want something done more right, it's best to take three years off to code an autistic MMO then re-do it yourself in a day.  Welcome to EasyVent Editor Super Perfect 2.0!  While this shares the name of EasyVent Editor Super Perfect with another program of similar purpose by some defunct bastard named RavenOfRazgriz, this entirely-new tool shares nothing in common with it aside from the concept.  EasyVent Editor Super Perfect 2.0 will bring the latest and greatest in event editing, including many features designed explicitly for managing large projects and managing multiple projects at once.



Features Included:
  • User-created directories for storing events in, with a number of starter directories to get started with.
  • Compilations in both event and TEST.EVT format of both Vanilla FFT and FFT: Complete provided stock, with write protections to prevent them accidentally being saved over.  Good for the aspiring event editor who wants easy access to initial files.
  • Saving and Loading Events from any number of user diirectories, with error-checking to catch incorrect commands.  Automatically concatenates a decimal value to the title of your event based on its Offset() to help keep things organized.  Has multiple protections to keep your events saved and prevent data loss or accidental overwrites.
  • Compile to any .EVT file stored in the .EVT Directory folder.  .EVTs can be given unique names for easy organization without issue.  No more managing TEST.EVTs by hand!
  • Compile to any savestate stored in the root folder of EasyVent Editor Super Perfect - with no need to fuss with offsets, editing CONFIG.INI, etc., everything needed is done by the program itself.
  • Compile any directory of event files to any .EVT file stored in the .EVT Directory folder.  WARNING: This can take about 10 minutes to perform with a full list of 500 events.
  • Decompile entire .EVT files to any chosen user directory for parsing.
  • Compile and Decompile in War of the Lions Mode for PSP users.
  • Right-Click menu for Cut, Copy, Paste, Select All, Find (+Replace), Undo, and Redo.
  • Many keyboard shortcuts for keyboard-oriented users.
  • Batch Offset Writer for editing the offsets of many events at once based on a name signifier.  Good if you need to rearrange many events at once.  Also supports War of the Lions Mode.
  • Instruction Viewer that allows for easy viewing of any help file for event commands.
  • Map Viewer for easily finding where your units need to be placed during events.
  • Camera Instruction Generator and SpriteMove Instruction Generator for easy generation of complex commands.
  • CONFIG.INI is the same as used in Xifanie's Event Compiler/Decompiler and is stored in the root folder.  All updates can be applied manually by the end user to this CONFIG.INI.  Event command parameters and help files are stored in root\Resources\Source Files\Event Instruction List\.  Any changes to commands must also be made in the matching event instruction text file to ensure the error-checking functions properly.  All can be handled by end-user to prevent program going out of date.
  • Fully supports the Event Instruction Upgrade Hack, a copy of which is packaged with the program.  While it is not mandatory to use, it is recommended.

Stuff Missing:
  • No more Auto-Complete.  Sorry, Jon!

[Shortcut List]
General:
F1 - Open README.txt
CTRL+L / F4 - Close Active Window
CTRL+R / F5 - Refresh Folders/etc. in Active Window

Text-Editing Windiow:
CTRL+X - Cut
CTRL+C - Copy
CTRL+V - Paste
CTRL+A - Select All
CTRL+F - Find
CTRL+Z - Undo
CTRL+Y - Redo
F3 - Find/Replace Next

EasyVent Editor Super Perfect 2.0 - Home:
CTRL+O - Open Event
CTRL+S - Save Event
CTRL+E - Compile Event
CTRL+P - Compile Directory
CTRL+D - Decompile .EVT
CTRL+I - Open Instruction Viewer
CTRL+M - Open Map Viewer
CTRL+G - Open Camera Generator
CTRL+N - Open SpriteMove Generator
CTRL+B - Open Batch Offset Rewriter

EasyVent Editor Super Perfect 2.0 - Camera Generator:
CTRL+G - Generate Camera() Command

EasyVent Editor Super Perfect 2.0 - SpriteMove Generator:
CTRL+N - Generate SpriteMove() Commannd

EasyVent Editor Super Perfect 2.0 - Batch Offset Rewriter:
CTRL+B - Batch Offset Rewrite

More details can be found in the included README.txt file.  Bugtested only by myself.  Post bugs and they'll be fixed whenever I get around to them based on urgency.  Enjoy, you filthy animals.

nitwit

Great job!  I want to hear more about the autistic MMO, give us a thread on it.

Back up your source code this time..  I recommend a private repo or dropbox.

RavenOfRazgriz

Quote from: nitwit on March 28, 2017, 02:11:21 pm
Great job!  I want to hear more about the autistic MMO, give us a thread on it.

Back up your source code this time..  I recommend a private repo or dropbox.

I have plenty of backups these days, don't worry.

And maybe I will put a thread up on that once I'm working on it again.

RavenOfRazgriz

    UPDATE:


    • Layout of "Home" changed.  Primary changes are a larger text field, a Close button, and adjusted aesthetics.

    • Right-Click Support re-added.  Supports Cut, Copy, Paste, Select All, Find(Replace), Undo, Redo.

    • Keyboard Shortcut Support re-added.  List is in the OP.

    • Sanity checks added to compiling to .EVTs.  Program now always ignores the Text Offset even if it's not commented out when compiling to .EVTs, similar to how it ignores Offsets when compiling to SaveStates.  User should no longer have any need to manage the Text Offset unless explicitly making use of it.

    • Fix to a small error with SpriteMoveBeta()

    • Error Checking now runs when Saving, Loading, and Compiling instead of just when saving, including when using the Compile Directory function.

    • Many adjustments to the code that runs under-the-hood for stability purposes.

    • Aesthetic improvements to most windows. Might not be noticeable for most users.

    • Other general improvements.


    Download in OP is updated.  If you already have a copy of EasyVent Editor Super Perfect 2.0, there is an UPDATER download which you can install and apply instead.  See instructions in OP.

Nyzer

Two bugs noticed so far:

1) The InstructionViewer says SpriteMove uses +YYYYY,+ZZZZZ,+XXXXX when it's actually +XXXXX,+ZZZZZ,+YYYYY.

2) When you're trying to type in the Find window, typing N immediately triggers the "Find Next" option.
  • Modding version: Other/Unknown


Nyzer

Oh, was the config file in the download supposed to be pre-set for savestate editing?

It's aimed at 00004A9C (or something; I already saved over it and forgot exactly what it was) instead of 0004A96C.
  • Modding version: Other/Unknown

3lric

Quote from: nyzer on April 24, 2017, 10:05:10 pm
Oh, was the config file in the download supposed to be pre-set for savestate editing?

It's aimed at 00004A9C (or something; I already saved over it and forgot exactly what it was) instead of 0004A96C.


You don't touch the config.ini when using evsp. Use the savestate button when you want to compile to save state. EVSP will do it for you.
  • Modding version: PSX

RavenOfRazgriz

Quote from: nyzer on April 24, 2017, 10:05:10 pm
Oh, was the config file in the download supposed to be pre-set for savestate editing?

It's aimed at 00004A9C (or something; I already saved over it and forgot exactly what it was) instead of 0004A96C.


Posting to remind myself to look into this tomorrow, will put out an output tomorrow morning when I have a bit of time to code if it's needed.

RavenOfRazgriz

MAIN DOWNLOAD and UPDATER DOWNLOAD both updated with the following fixes:

  • Errors with the CONFIG.INI settings for compiling to Save State fixed, included a new CONFIG.INI in both downloads.  EasyVent Editor Super Perfect 2.0 will now also auto-detect whether to use a user-set Offset='00######' or use the now-correct Offset='0004A96C' when dealing with a Save State, and will do its best to correct mistakes in the CONFIG.INI automatically.  NOTE: Do NOT import your own CONFIG.INI where Offset='0004A96C' is already set!  Allow EasyVent Editor Super Perfect to handle this for you or you will experience errors!  If using a modified CONFIG.INI for some reason, change the Offset path to something like Offset='00002000' first!

  • Errors in SpriteMove and SpriteMoveBeta Help Files should be fixed, now congruent with wiki.

  • Errors with SpriteMove Generator should be fixed, now outputs commands congruent with wiki documentation.


Please download or update to the newest version!

Nyzer

Trying to compile now brings up an error message:



I'd mess around with it, but I'm not sure how it handles its new auto-detection so I'm thinking I probably shouldn't.
  • Modding version: Other/Unknown

RavenOfRazgriz

That's interesting.  Might not have a chance to look at it until tomorrow.  For now, open your CONFIG.INI and delete the comment that''s after the Offset='BLAHBLAH' entries and it should compile.  I'll sort it out when I can.  That's what I get for rushing out the update in the ~1hr of time I had to work on it this morning.


Jumza

If EVSP detects 'Incomplete Or Invalid Event Instruction On Line x' it won't let you save the file at all. It should stop you from compiling but not saving :P
  • Modding version: PSX
Nyzer: Alma teleports out of her own possessed body.
Raijinili: Remember that you're telling a modding community that the game they love could use some fixing.

3lric

Quote from: Jumza on May 08, 2017, 10:46:38 am
If EVSP detects 'Incomplete Or Invalid Event Instruction On Line x' it won't let you save the file at all. It should stop you from compiling but not saving :P

  • Modding version: PSX

Nyzer

Oh, Raven - I was running into an error shortly before I left on my vacation, but in my haste to get an event done before I had to go (I did not succeed) I failed to report it.

If you turn on the offset option, the compiler displays the offset message long enough for EVSP to report an error with compiling. I closed the offset display and hit try again, and it closes like normal, with the event compiled & functional.

Also, the previous issue of having the textbox jump back to the top when you Compile to Savestate without commenting out the offset is still a thing. Pretty sure I was using the newest version.
  • Modding version: Other/Unknown

Nyzer

Started to get this error after removing an extra, unnecessary EventEnd() command.

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.

Conversion from string "Input " to type 'Double' is not valid.


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidCastException: Conversion from string "Input " to type 'Double' is not valid. ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value)
   at EasyVent_Editor_Super_Perfect_2._0___Hub.Form1.EventConsistency(String EventToWrite, String EventTitle, String Directory)
   at EasyVent_Editor_Super_Perfect_2._0___Hub.Form2.Button3_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)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3260.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
EasyVent Editor Super Perfect 2.0 - Home
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/USER/Documents/FFTactics%20Work/Tools/EasyVent%20Editor%20Super%20Perfect%202.0/easyvent%20editor%20super%20perfect%202.0%20-%20home.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 14.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3190.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.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.


Offset(x0000A000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.
//Text(x000007BD)
//Remove the previous line if you wish text to compile directly after instructions.




Music(x01,-000,000)

//Check for an as-yet undetermined variable for the Skip Scene option.
ZERO(x0000)
ZERO(x0001)
ADDVar(x0001,x0000)
EQ()
JumpForwardIfNot(x01)
//The Skip Scene option.
DisplayMessage(x10,x63,x0028,x00,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
ZERO(x0000)
ZERO(x0001)
ADDVar(x0001,x0018)
EQ()
EventEnd()
//End of Skip Scene option.
ForwardTarget(x01)


RemoveUnit(x01,x00)
RemoveUnit(x06,x00)


AddGhostUnit(x01,x00,x00,004,001,x00,x02,x00)

AddGhostUnit(x04,x00,x01,004,011,x00,x02,x00)

AddGhostUnit(x1E,z00,x02,005,001,x00,x02,x00)

AddGhostUnit(x64,x02,x03,004,002,x00,x02,x00)

AddGhostUnit(x7B,x02,x04,004,000,x00,x02,x00)

AddGhostUnit(x80,x02,x05,005,000,x00,x02,x00)


Camera(+00904,-00700,+00304,+00341,-01536,+00000,+04096,+00000)
Reveal(120)
Camera(+00904,-00000,+00304,+00341,-01536,+00000,+04096,+00120)

Wait(00040)
WalkTo(x67,x00,003,008,x00,x00,+008,x01)
WalkToAnim(x67,x00,x0002)
WalkTo(x64,x00,004,008,x00,x00,+008,x01)
WalkToAnim(x64,x00,x0002)
WalkTo(x66,x00,005,008,x00,x00,+008,x01)
WalkToAnim(x66,x00,x0002)
WalkTo(x68,x00,004,007,x00,x00,+008,x01)
WalkToAnim(x68,x00,x0002)
WalkTo(x69,x00,005,007,x00,x00,+008,x01)
WalkToAnim(x69,x00,x0002)
WaitWalk(x67,x00)
UnitAnimRotate(x67,x00,x08,x0024,x00)
WaitRotateUnit(x67,x00)
WaitForInstruction(x04,x00)

DisplayMessage(x10,x13,x0001,x67,x00,x00,-00000,-00000,-00000,x03)
WaitForInstruction(x01,x00)

EventEnd()

//INSTRUCTION SECTION END -  TEXT START


======

So, apparently there's an issue there in which I have a z instead of an x by mistake. I don't know why that would crash the editor even when just saving the event, or why having EventEnd() before that error would make the editor completely ignore it and work properly for both saving and compiling.

For the sake of documentation, I'm bolding the bad z command too.
  • Modding version: Other/Unknown

Nyzer

I've come across a few error messages like this when I miss or mistype something, and I figured I'd document the ones I remember for future use or for anyone else who might use this tool.

Conversion from string " " to type 'Integer' is not valid.

I get this when I try to save a new event with no Offset and the first command is Pause(). It doesn't give me this same error when I save an existing event.

Conversion from string "Input " to type 'Double' is not valid.

As mentioned in my last post here, this happens when I put a z instead of an x somewhere.

I'll add more to this if I come across any more unclear errors in the future.
  • Modding version: Other/Unknown

DarthFutuza

November 25, 2019, 06:49:01 pm #18 Last Edit: November 25, 2019, 08:31:47 pm by DarthFutuza
Found an error in one of the events supplied with this editor.  In ".\Event Directories\Final Fantasy Tactics - PSX\316 Lost Sacred Precints (Balk and Ramza talk).txt"

Contains the following:

Offset(x00278000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.
Text(x00000163)
//Remove the previous line if you wish text to compile directly after instructions.

{63}(rAA)
Focus(x03,x00,x03,x00,x00)
Camera(-00316,+01288,+00302,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
InflictStatus(x03,x00,x00,x0C,x00)
WaitForInstruction(x43,x00)
FaceUnit(x2B,x00,x03,x00,x00,x01,x00)
WaitRotateUnit(x03,x00)
Wait(00010)
DisplayMessage(x10,x70,x0002,x03,x00,x00,+00000,+00000,+00000,x02)
WaitForInstruction(x01,x00)
Focus(x2B,x00,x2B,x00,x00)
Camera(+00616,-00172,+00840,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
InflictStatus(x2B,x00,x00,x0C,x00)
WaitForInstruction(x43,x00)
FaceUnit(x03,x00,x2B,x00,x00,x01,x00)
WaitRotateUnit(x2B,x00)
Wait(00010)
DisplayMessage(x10,x70,x0003,x2B,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x03,x00,x03,x00,x00)
Camera(+00000,+25352,+17320,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0004,x03,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x2B,x00,x2B,x00,x00)
Camera(+09722,+09256,+10295,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0005,x2B,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x03,x00,x03,x00,x00)
Camera(+10253,+14116,-01493,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0006,x03,x00,x00,+00000,+00000,+00000,x01)
WaitForInstruction(x01,x00)
Focus(x69,x00,x69,x00,x00)
Camera(+10289,+13050,-02007,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00010)
RotateUnit(x03,x00,x14,x00,x01,x00)
WaitRotateUnit(x03,x00)
RotateUnit(x2B,x00,x14,x00,x01,x00)
WaitRotateUnit(x2B,x00)
March(x03,x00,000)
March(x2B,x00,000)
{63}(rA8)
ZERO(x007D)
ADD(x007D,x0001)
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}You turned into one of{br}
Lucavi's too...{br}
You'd sink that low just{br}
to live?{br}
What a pity!!{end}

//Message x02
{font:08}Balk{br}
{font:00}It's pretty nice, kid.{br}
I'm finally a real human being!{end}

//Message x03
{font:08}{Ramza}{br}
{font:00}I wouldn't call selling your{br}
soul to the devil human!{end}

//Message x04
{font:08}Balk{br}
{font:00}I'm above 'death'.{br}
At the top of the human race.   {br}
Now I don't have to endure{br}
unjust treatment by you{br}
aristocrats!!{br}
I've won true 'freedom'!{br}
I'm a true 'human being'!{br}
I will be treated 'equally' now!!{end}

//Message x05
{font:08}{Ramza}{br}
{font:00}A real 'human being'?{br}
Don't make me laugh!!{br}
How valuable is a 'freedom'{br}
you didn't earn yourself?{br}
{br}
The moment 'pride' is lost,{br}
'freedom' is also lost...!!{br}
{br}
You lost your freedom when{br}
you lost your pride and{br}
confidence...!!{br}
'Equality's not something{br}
you're given! It's something{br}
you fight for!!{br}
Any 'freedom' gotten from{br}
Lucavi isn't true freedom!{end}

//Message x06

The dialogue should begin with message one, but instead on line 15 has the following:
DisplayMessage(x10,x70,x0002,x03,x00,x00,+00000,+00000,+00000,x02)
Meaning that the dialogue begins with having Ramza deliver message 2 (supposed to be Balk's line), skipping his first line and then the whole thing is offset.  This will freeze up the game, as the wrong units are delivering the wrong messages by the end of the dialogue.  There might be more issues with that particular dialogue, but that part at least is messed up in the current distribution of EasyVent Editor.  (This event works fine in the vanilla game).

EDIT: I wanted to test it to make sure, hence the delay, but you can just replace the event with the following to fix it:

Offset(x00278000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.
//Text(x00000163)
//Remove the previous line if you wish text to compile directly after instructions.

{63}(rAA)
Focus(x03,x00,x03,x00,x00)
Camera(-00316,+01288,+00302,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
InflictStatus(x03,x00,x00,x0C,x00)
WaitForInstruction(x43,x00)
FaceUnit(x2B,x00,x03,x00,x00,x01,x00)
WaitRotateUnit(x03,x00)
Wait(00010)
DisplayMessage(x10,x70,x0001,x03,x00,x00,+00000,+00000,+00000,x02)
WaitForInstruction(x01,x00)
Focus(x2B,x00,x2B,x00,x00)
Camera(+00616,-00172,+00840,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
InflictStatus(x2B,x00,x00,x0C,x00)
WaitForInstruction(x43,x00)
FaceUnit(x03,x00,x2B,x00,x00,x01,x00)
WaitRotateUnit(x2B,x00)
Wait(00010)
DisplayMessage(x10,x70,x0002,x2B,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x03,x00,x03,x00,x00)
Camera(+00000,+25352,+17320,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0003,x03,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x2B,x00,x2B,x00,x00)
Camera(+09722,+09256,+10295,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0004,x2B,x00,x00,+00000,+00000,+00000,x00)
WaitForInstruction(x01,x00)
Focus(x03,x00,x03,x00,x00)
Camera(+10253,+14116,-01493,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00016)
DisplayMessage(x10,x70,x0005,x03,x00,x00,+00000,+00000,+00000,x01)
WaitForInstruction(x01,x00)
Focus(x69,x00,x69,x00,x00)
Camera(+10289,+13050,-02007,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)
Wait(00010)
RotateUnit(x03,x00,x14,x00,x01,x00)
WaitRotateUnit(x03,x00)
RotateUnit(x2B,x00,x14,x00,x01,x00)
WaitRotateUnit(x2B,x00)
March(x03,x00,000)
March(x2B,x00,000)
{63}(rA8)
ZERO(x007D)
ADD(x007D,x0001)
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}You turned into one of{br}
Lucavi's too...{br}
You'd sink that low just{br}
to live?{br}
What a pity!!{end}

//Message x02
{font:08}Balk{br}
{font:00}It's pretty nice, kid.{br}
I'm finally a real human being!{end}

//Message x03
{font:08}{Ramza}{br}
{font:00}I wouldn't call selling your{br}
soul to the devil human!{end}

//Message x04
{font:08}Balk{br}
{font:00}I'm above 'death'.{br}
At the top of the human race.   {br}
Now I don't have to endure{br}
unjust treatment by you{br}
aristocrats!!{br}
I've won true 'freedom'!{br}
I'm a true 'human being'!{br}
I will be treated 'equally' now!!{end}

//Message x05
{font:08}{Ramza}{br}
{font:00}A real 'human being'?{br}
Don't make me laugh!!{br}
How valuable is a 'freedom'{br}
you didn't earn yourself?{br}
{br}
The moment 'pride' is lost,{br}
'freedom' is also lost...!!{br}
{br}
You lost your freedom when{br}
you lost your pride and{br}
confidence...!!{br}
'Equality's not something{br}
you're given! It's something{br}
you fight for!!{br}
Any 'freedom' gotten from{br}
Lucavi isn't true freedom!{end}

  • Modding version: PSX

3lric

Yup, i told Raven about this a while ago, when TLW first launched.
  • Modding version: PSX