SAY
This lump contains all the text boxes. It contains a series of fixed width records. In releases up to werewaffle it was exactly 400 bytes long. In releases starting with xocolatl its size is defined in BINSIZE.BIN
Formal Specs[edit]
Section | INT index | Data | Description |
---|---|---|---|
8 lines of text, 304 bytes, starting at byte 0 | 0 | STR (38) | Line 1 of text, unused bytes are null |
STR (38) | Line 2 of text | ||
STR (38) | Line 3 of text | ||
STR (38) | Line 4 of text | ||
STR (38) | Line 5 of text | ||
STR (38) | Line 6 of text | ||
STR (38) | Line 7 of text | ||
STR (38) | Line 8 of text | ||
Reserved | 152 | BYTE (1) | Wasted space |
Text box conditionals, 42 bytes, starting at byte 305 |
152 INTs + 1 BYTE | INT (1) | conditional tag (jump to text box/script # instead) |
INT (1) | param. 0-32767 are textboxes 0-32767 -1 to -32768 are negated plotscript Triggers | ||
INT (1) | conditional tag (set tag #n = on/off (x2)) | ||
INT (1) | param. +n = "tag #n=on" -n = "tag #n=off" | ||
INT (1) | param. +n = "tag #n=on", -n = "tag #n=off" | ||
INT (1) | conditional tag (fight formation #) | ||
INT (1) | param. index of battle formation | ||
INT (1) | conditional tag (restore/shop/inn) | ||
INT (1) | param. 0 = restore hp/mp. -n = go to an inn that costs $n. +n = go to shop #n | ||
INT (1) | conditional tag (add/remove/swap/unlock/lock hero) | ||
INT (1) | param. -n = remove hero #n +n = add hero n 0 = do nothing | ||
INT (1) | conditional tag (jump to text box/script # after) | ||
INT (1) | param. 0-32767 are textboxes 0-32767 -1 to -32768 are negated Plotscript Triggers | ||
INT (1) | conditional tag (gain/lose money) | ||
INT (1) | param. +n = amount of money to gain. =n = amount of money to lose | ||
INT (1) | conditional tag (use door #) | ||
INT (1) | param. door number on current map | ||
INT (1) | conditional tag (add/remove items) | ||
INT (1) | param. -n = remove item +n = add item | ||
INT (1) | param. swap in/out hero. -n = hero to swap out +n = hero to swap in | ||
INT (1) | param. lock/unlock hero. -n = hero to lock +n = hero to unlock | ||
Reserved | 173 INTs + 1 BYTE | BYTE (1) | Wasted space |
Text box bitsets, 1 byte, at byte 348 | 174 | BIT (1) | choicebox enabled |
BIT (1) | disable box | ||
BIT (1) | disable translucent | ||
BIT (1) | restore map music afterwards (if the map music is set to "same as last map", restores the music that was playing before the textbox instead) | ||
BIT (1) | show a box around the portrait | ||
BIT (1) | stop sound effect when box advances | ||
BIT (1) | backdrop transparency | ||
BIT (1) | undefined bitset | ||
Text box choices, 35 bytes, starting at byte 349 | 174 INTs + 1 BYTE | STR (15) | First choice string, unused bytes are null |
182 | INT (1) | Choice 1 Tag (positive ON, negative OFF) | |
183 | BYTE (1) | Wasted space | |
183 INTs + 1 BYTE | STR (15) | Second choice string, unused bytes are null | |
191 | INT (1) | Choice 2 Tag (positive ON, negative OFF) | |
2 bytes starting at byte 384 | 192 | INT (1) | Menu conditional (see conditionals above, and menu ID number below) |
Box appearance, 12 bytes, starting at byte 386 | 193 | INT (1) | vertical position. Y position of box is value*4 + 4 |
194 | INT (1) | box shrink. Height of box is 88 - 4 * shrink pixels, or if shrink is -1, then the box height is auto-sized | |
195 | INT (1) | text color. If 0, use color 15. | |
196 | INT (1) | border color. Box body color is value*16 + 18, box frame color is value*16 + 28 | |
197 | INT (1) | backdrop index + 1, 0 for none | |
198 | INT (1) | music + 1, 0 for none, -1 for silence (silence is (This is a WIP feature)) | |
Menu to display | 199 | INT (1) | Menu ID |
Speaker Portrait | 200 | INT (1) | Portrait Type: 0=none 1=fixed 2=hero by caterpillar 3=hero by party slot 4=hero by id |
201 | INT (1) | Portrait Picture (specifies either portrait number, caterpillar/party position, hero id, or nothing: see above) | |
202 | INT (1) | Portrait palette (-1 is default) (ignored unless type is "fixed") | |
203 | INT (1) | Portrait X offset | |
204 | INT (1) | Portrait Y offset | |
Sound Effect | 205 | INT (1) | Sound effect (sfx ID +1 or 0 for none) |
Line Sound | 206 | INT (1) | Line sound (sfx ID +1, 0 for default, -1 for none) (This is a WIP feature) |
ARCHINYM.LMP . ATTACK.BIN . BINSIZE.BIN . BROWSE.TXT . DEFPAL#.BIN . DEFPASS.BIN . distrib.reld . FIXBITS.BIN . heroes.reld . heroform.reld . LOOKUP1.BIN . MENUS.BIN . MENUITEM.BIN . PALETTES.BIN . PLOTSCR.LST . SFXDATA.BIN . slicetree_#_#.reld . SLICELOOKUP.TXT . SONGDATA.BIN . UICOLORS.BIN . GEN . general.reld . BAM . Map Format . T . P . E . D . L . N . Z . DOR . DOX . DT0 . DT1 . DT6 . EFS . FOR . FNT . HSP . HSZ . ITM . MAP . MAS . MN . MXS . PAL . PT0 . PT1 . PT2 . PT3 . PT4 . PT5 . PT6 . PT7 . PT8 . SAY . SHO . SNG . STF . STT . TAP . TIL . TMN . VEH