DisplayMessage

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

{10} 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.


See Also: {50} PortraitCol{51} ChangeDialog{E5} WaitForInstruction(x01,x00)


Unknown 1 : Byte (hex)

This always seems to be x10. Probably just a programming error. Any value shouldn't matter.


Dialog Type : Byte (hex)

  • x03 : Vertical Align
    • x00 : -Do not use-
    • x01 : Top
    • x02 : Bottom
    • x03 : Center
  • x04 : Convert Arrow to Thinking Bubbles (Dialog Box)
  • x08 : Remove Arrow (Dialog Box)
  • x70 : Display type
    • x00 : Appears Centered on screen
    • x10 : 3 lines Dialog Box (includes portrait)
    • x20 : 1-4 lines box named "Check"
    • x30 : 1-4 lines box named "Help"
    • x40 : 2 lines box
    • x50 : 8 lines box
    • x60 : 4 lines box
    • x70 : 3 lines Dialog Box (includes portrait)
  • x80 : Close with instruction


x03 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%.