SCUMM/Technical Reference/String format

From ScummVM :: Wiki
< SCUMM‎ | Technical Reference
Revision as of 01:41, 3 September 2010 by Jestar jokin (talk | contribs) (Copy information from ScummC wiki by Alban Bedel, from archive here:
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Scumm 6 strings

In SCUMM strings can contain some escapes to code a few special things. Escapes start with 0xFF followed by a byte which codes the escape type, and are generally followed by some parameters.

0x01: New line

0x02: Keep

0x03: Wait

0x04xxxx: Integer

Expands to the integer value of the variable at the given address.

0x05xxxx: Verb

Expands to the verb referenced in the variable at the given address.

0x06xxxx: Name

Expands to the name of the object or actor referenced in the variable at the given address.

0x07xxxx: String

Expands to the string contained in the array referenced in the variable at the given address.

0x09xxxx: Start actor anim

Starts the given animation. Only works on the talking actor, if any.

0x0Axxxx: Voice

Plays a sound sample, mostly used for voices. This escape takes quite a lot of arguments. To avoid yet another special case when computing the string length, etc., the escape is repeated several times to code two 32 bits values (LE). The first value is the position of the sample in the sound file. The second value is the size of the VCTL header found before the audio data.

0x0Cxxxx: Color

0x0Dxxxx: Unknown

0x0Exxxx: Charset