SAY

From OHRRPGCE-Wiki
Jump to: navigation, search

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]

About Formal Specs

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
Npctag-cond-blank.png
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)