descumm: better string output and semicolon cleanup for
|Reported by:||SF/jestar_jokin||Owned by:||fingolfin|
This patch comprises of fixes for two issues:
1) descumm is outputting semicolons in odd places for SCUMM <= V5 scripts.
- doSentence is missing semicolons when outputting special values "STOP" and "RESET"
- setVarRange is outputting semicolons in the middle of the instruction
- drawBox is outputting semicolons in the middle of the instruction
2) Improved and standardised string output.
The string output method has been consolidated into descumm-common.cpp, and is now shared between all SCUMM versions (except HE games, and possibly low SCUMM versions, but tested against V5 and V6). In addition, extra information is now output for some in-line string functions, and the formatting of the string functions and how they join with the rest of the string has been changed. For example, an old string might look like this:
talkActor(:sound:"It makes me feel GREAT!":wait:"Smarter! More aggressive!",7)
talkActor(sound(0x3BD5, 0x16) + "It makes me feel GREAT!" + wait() + "Smarter! More aggressive!",7)
HE string output has not been changed. I've added an extra workaround for Indy3 scripts (gleaned from the main ScummVM source).
Ticket imported from: #3049421. Ticket imported from: patches/1307.