Difference between revisions of "DisplayMessage"
Line 1: | Line 1: | ||
− | = | + | = {10} {{IE_10}} = |
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. | 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. | ||
Revision as of 16:14, 30 December 2013
Contents
- 1 {10} DisplayMessage
- 1.1 Unknown 1 : Byte (hex)
- 1.2 Dialog Type : Byte (hex)
- 1.3 Message ID : Half-Word (hex)
- 1.4 Unit ID : Byte (hex)
- 1.5 Unknown 2 : Byte (hex)
- 1.6 Portrait Row : Byte (hex)
- 1.7 X Coordinate : Half-Word (signed)
- 1.8 Y Coordinate : Half-Word (signed)
- 1.9 Arrow Position : Half-Word (signed)
- 1.10 Dialog Box Opening Type : Byte (hex)
{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.
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%.