Patch #712493: CMI: Object line

svn-id: r6930
This commit is contained in:
Max Horn 2003-04-07 16:04:30 +00:00
parent df9ccab935
commit ca7c8081a1
5 changed files with 36 additions and 10 deletions

View file

@ -515,11 +515,14 @@ void Scumm_v8::decodeParseString(int m, int n) {
}
pointer[j] = 0;
// Stop any talking that's still going on
if (_sound->_talkChannel > -1)
_mixer->stop(_sound->_talkChannel);
int new_sound = _sound->playBundleSound(pointer);
if (new_sound != -1) {
// Stop any talking that's still going on
if (_sound->_talkChannel > -1)
_mixer->stop(_sound->_talkChannel);
_sound->_talkChannel = new_sound;
}
_sound->_talkChannel = _sound->playBundleSound(pointer);
_messagePtr = _transText;
}
@ -607,10 +610,24 @@ void Scumm::drawBlastTexts() {
_charset->_nextTop = _charset->_top;
}
} while (c);
_blastTextQueue[i].left = _charset->_strLeft;
_blastTextQueue[i].right = _charset->_strRight;
_blastTextQueue[i].top = _charset->_strTop;
_blastTextQueue[i].bottom = _charset->_strBottom;
}
_charset->_ignoreCharsetMask = false;
}
void Scumm::removeBlastTexts() {
int i;
for (i = 0; i < _blastTextQueuePos; i++) {
restoreBG(_blastTextQueue[i].left, _blastTextQueue[i].top, _blastTextQueue[i].right, _blastTextQueue[i].bottom);
}
_blastTextQueuePos = 0;
}
void Scumm_v8::o8_mod() {
int a = pop();
push(pop() % a);
@ -1614,7 +1631,7 @@ void Scumm_v8::o8_kernelGetFunctions() {
// scripts. Probably a wrong push/pop somewhere. For now override to correct value.
array = 658;
ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, readVar(array));
if (!strcmp((char *)ah->data, "Saveload Page"))
if (!strcmp((char *)ah->data, "Saveload Page") || !strcmp((char *)ah->data, "Object Names"))
push(1);
else
push(0);