aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v5.cpp
diff options
context:
space:
mode:
authorMax Horn2004-03-15 03:09:48 +0000
committerMax Horn2004-03-15 03:09:48 +0000
commitba5aa37dccbb466f70984c8e7c51fbebf757457a (patch)
tree3aa3ba50bd863645eafe5e0aa20978f01aff1fe5 /scumm/script_v5.cpp
parent759c05f936ab9a0317d28343a799d7c6857c3e27 (diff)
downloadscummvm-rg350-ba5aa37dccbb466f70984c8e7c51fbebf757457a.tar.gz
scummvm-rg350-ba5aa37dccbb466f70984c8e7c51fbebf757457a.tar.bz2
scummvm-rg350-ba5aa37dccbb466f70984c8e7c51fbebf757457a.zip
refactor use of _messagePtr -> instead of using it as an implicit parameter for various methods, pass its value explicitly to those methods. Note: this *should* be just a code transformation, with no change to the program logic - unless I messed up once again <sigh>
svn-id: r13298
Diffstat (limited to 'scumm/script_v5.cpp')
-rw-r--r--scumm/script_v5.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index cb57dd9478..2f294568c2 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -2702,6 +2702,7 @@ int ScummEngine_v5::getWordVararg(int *ptr) {
void ScummEngine_v5::decodeParseString() {
int textSlot;
+ const byte *msg;
switch (_actorToPrintStrFor) {
case 252:
@@ -2784,19 +2785,21 @@ void ScummEngine_v5::decodeParseString() {
}
break;
case 15: // SO_TEXTSTRING
- _messagePtr = _scriptPointer;
+ msg = _scriptPointer;
+ _scriptPointer += resStrLen(_scriptPointer)+ 1;
+
switch (textSlot) {
case 0:
- actorTalk();
+ actorTalk(msg);
break;
case 1:
- drawString(1);
+ drawString(1, msg);
break;
case 2:
- unkMessage1();
+ unkMessage1(msg);
break;
case 3:
- unkMessage2();
+ unkMessage2(msg);
break;
}
@@ -2812,8 +2815,6 @@ void ScummEngine_v5::decodeParseString() {
_string[textSlot].t_ypos = _string[textSlot].ypos;
_string[textSlot].t_color = _string[textSlot].color;
}
-
- _scriptPointer = _messagePtr;
return;
default:
warning("ScummEngine_v5::decodeParseString: Unhandled case %d", _opcode & 0xF);