DisplayMessage

From Final Fantasy Hacktics Wiki
Revision as of 18:49, 29 December 2013 by Xifanie (talk | contribs) (Created page with "= DisplayMessage = 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 te...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

DisplayMessage

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.


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 default 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 x0001 starts at the text offset of the event. Therefore there is no Message x0000. 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%.