FFHacktics
News
About

Downloads
Tools
Patches
Custom Sprites

Community
Forum
Contests
Mibbit (IRC)
FFH's Discord irc.ffhacktics.com #FFH

Resources
Wiki
Maps
Effects
Tutorials
Sprites
Item Palettes
Event Instructions


Affiliates
FFVI Hacking
Graphics Gale
Event Instruction: {10}DisplayMessage
See Also: {50}PortraitCol {51}ChangeDialog {E5}WaitForInstruction

Description:
This instruction is used to display any text stored after the event's instruction in various ways like a character thinking, speaking, or simply printing text on the screen.


Parameters:
Unknown 1 : Byte (hex)
Dialog Type : Byte (hex)
Message ID : Half-Word (hex)
Unit ID : Byte (hex)
Unknown 2 : Byte (hex)
Portrait Row : Byte (hex)
X Coordinate : Half-Word (signed)
Y Coordinate : Half-Word (signed)
Arrow Position : Half-Word (signed)
Dialog Box Opening Type : Byte (hex)


Unknown 1 : Byte (hex)
This always seems to be x10. Probably just a programmation error. Any value shouldn't matter.


Dialog Type : Byte (hex)
x01 : Top of screen (over unit with Dialog Box)
x02 : Bottom of screen (under unit with Dialog Box)
x04 : Thinking (Dialog Box)
x08 : Remove Arrow (for Dialog Box)
x10 : Dialog Box
x20 : Named box ("Check" if x10 = FALSE; "Help" if TRUE)
x40 : Independant Message Box (becomes a page if x10 = TRUE, if x20 = TRUE too, it becomes a regular Dialog Box forced under unit)
x80 : Close with instruction

By dafault the game will print overlaying text on the screen unless x10-x20-x40 are set.
Always set x01 or x02 when using Dialog Box alone, else the game might ignore other parameters.
Combining x01 & x02 displays the message at the center of the screen, except for Dialog Box (the box is over the unit's head and the arrow is flipped horizontally).


Message ID : Half-Word (hex)
ID of the Message that will be displayed. Message x01 starts at the text offset of the event. Therefore there is no Message x00. This parameter being a Half-Word, you could even go take lines that are stored in the RAM, which is pretty pointless IMHO.


Unit ID : Byte (hex)
ID of the unit specified in the ENTD. This is only required for Dialog Box.
If a unit with the same Unit ID is found, the dialog box will be centered over or under it and the unit's portrait will be displayed.
Else, it will display a blank portrait (which still takes up the place of a normal portrait) and display on the left side of the screen.


Unknown 2 : Byte (hex)
Seems to always be x00.


Portrait Row : Byte (hex)
For the list and more explanation read {50}PortraitCol.


X Coordinate : Half-Word (signed)
Move the Displayed Message on the screen's X axis based on default location.
Determines the portrait's facing.


Y Coordinate : Half-Word (signed)
Move the Displayed Message on the screen's Y axis based on default location.


Arrow Position : Half-Word (signed)
Move the Arrow on the Dialog Box's X axis based on its default location.
Determines the portrait's facing.
If you don't move the Dialog Box in X, you can simply set this byte to -1 and the portrait will switch side.


Dialog Box Opening Type : Byte (hex)
x01 : +50% speed
x02 : -50% speed, remove bouncing
x10 : Toggle Arrow (points left if FALSE; point right if TRUE)

*bounce: the message box grows in size gradually and goes a bit over it's real size (about 110%) in the process then shrinks back to 100%.

Final Fantasy Hacktics 2.0 ~ The Final Fantasy Tactics Hacking community
©2007-2014 Xifanie Boisvert
All materials are property of their respective owners.