diff -ur ScummVM-cvs20030330/scummvm/scumm/bundle.cpp ScummVM-cvs20030330+hack/scummvm/scumm/bundle.cpp
|
old
|
new
|
|
| 361 | 361 | return final_size; |
| 362 | 362 | } |
| 363 | 363 | } |
| 364 | | warning("Failed finding voice %s", name); |
| | 364 | debug(2, "Failed finding voice %s", name); |
| 365 | 365 | return final_size; |
| 366 | 366 | } |
| 367 | 367 | |
diff -ur ScummVM-cvs20030330/scummvm/scumm/script_v8.cpp ScummVM-cvs20030330+hack/scummvm/scumm/script_v8.cpp
|
old
|
new
|
|
| 515 | 515 | } |
| 516 | 516 | pointer[j] = 0; |
| 517 | 517 | |
| 518 | | // Stop any talking that's still going on |
| 519 | | if (_sound->_talkChannel > -1) |
| 520 | | _mixer->stop(_sound->_talkChannel); |
| | 518 | int new_sound = _sound->playBundleSound(pointer); |
| | 519 | if (new_sound != -1) { |
| | 520 | // Stop any talking that's still going on |
| | 521 | if (_sound->_talkChannel > -1) |
| | 522 | _mixer->stop(_sound->_talkChannel); |
| | 523 | _sound->_talkChannel = new_sound; |
| | 524 | } |
| 521 | 525 | |
| 522 | | _sound->_talkChannel = _sound->playBundleSound(pointer); |
| 523 | 526 | _messagePtr = _transText; |
| 524 | 527 | } |
| 525 | 528 | |
| … |
… |
|
| 607 | 610 | _charset->_nextTop = _charset->_top; |
| 608 | 611 | } |
| 609 | 612 | } while (c); |
| | 613 | |
| | 614 | _blastTextQueue[i].left = _charset->_strLeft; |
| | 615 | _blastTextQueue[i].right = _charset->_strRight; |
| | 616 | _blastTextQueue[i].top = _charset->_strTop; |
| | 617 | _blastTextQueue[i].bottom = _charset->_strBottom; |
| 610 | 618 | } |
| 611 | 619 | _charset->_ignoreCharsetMask = false; |
| 612 | 620 | } |
| 613 | 621 | |
| | 622 | void Scumm::removeBlastTexts() { |
| | 623 | int i; |
| | 624 | |
| | 625 | for (i = 0; i < _blastTextQueuePos; i++) { |
| | 626 | restoreBG(_blastTextQueue[i].left, _blastTextQueue[i].top, _blastTextQueue[i].right, _blastTextQueue[i].bottom); |
| | 627 | } |
| | 628 | _blastTextQueuePos = 0; |
| | 629 | } |
| | 630 | |
| 614 | 631 | void Scumm_v8::o8_mod() { |
| 615 | 632 | int a = pop(); |
| 616 | 633 | push(pop() % a); |
| … |
… |
|
| 1614 | 1631 | // scripts. Probably a wrong push/pop somewhere. For now override to correct value. |
| 1615 | 1632 | array = 658; |
| 1616 | 1633 | ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, readVar(array)); |
| 1617 | | if (!strcmp((char *)ah->data, "Saveload Page")) |
| | 1634 | if (!strcmp((char *)ah->data, "Saveload Page") || !strcmp((char *)ah->data, "Object Names")) |
| 1618 | 1635 | push(1); |
| 1619 | 1636 | else |
| 1620 | 1637 | push(0); |
diff -ur ScummVM-cvs20030330/scummvm/scumm/scumm.h ScummVM-cvs20030330+hack/scummvm/scumm/scumm.h
|
old
|
new
|
|
| 116 | 116 | |
| 117 | 117 | struct BlastText { |
| 118 | 118 | int16 xpos, ypos; |
| | 119 | int16 left, right, top, bottom; |
| 119 | 120 | byte color; |
| 120 | 121 | byte charset; |
| 121 | 122 | bool center; |
| … |
… |
|
| 876 | 877 | |
| 877 | 878 | void enqueueText(byte *text, int x, int y, byte color, byte charset, bool center); |
| 878 | 879 | void drawBlastTexts(); |
| 879 | | void removeBlastTexts() { _blastTextQueuePos = 0; } |
| | 880 | void removeBlastTexts(); |
| 880 | 881 | |
| 881 | 882 | void enqueueObject(int objectNumber, int objectX, int objectY, int objectWidth, |
| 882 | 883 | int objectHeight, int scaleX, int scaleY, int image, int mode); |