aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sequences_v1.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2006-09-18 17:30:51 +0000
committerJohannes Schickel2006-09-18 17:30:51 +0000
commitf9d1a82cc0011c4db8745d51af30ca8b73c2b1d1 (patch)
tree88b56e9991a75fccd0335bb6ded1a30076fd6389 /engines/kyra/sequences_v1.cpp
parent99016886ba0d31f9ccb310c3974b409f884c294d (diff)
downloadscummvm-rg350-f9d1a82cc0011c4db8745d51af30ca8b73c2b1d1.tar.gz
scummvm-rg350-f9d1a82cc0011c4db8745d51af30ca8b73c2b1d1.tar.bz2
scummvm-rg350-f9d1a82cc0011c4db8745d51af30ca8b73c2b1d1.zip
Fixes the Macintosh related problems Krest mentioned on the IRC channel.
(the user has to set the game platform to Macintosh though, since it's atm detected as DOS version) svn-id: r23929
Diffstat (limited to 'engines/kyra/sequences_v1.cpp')
-rw-r--r--engines/kyra/sequences_v1.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/engines/kyra/sequences_v1.cpp b/engines/kyra/sequences_v1.cpp
index ed53396482..6e76b95347 100644
--- a/engines/kyra/sequences_v1.cpp
+++ b/engines/kyra/sequences_v1.cpp
@@ -196,8 +196,10 @@ void KyraEngine::seq_introStory() {
_screen->clearPage(0);
if (_flags.isTalkie) {
return;
- } else if (_flags.lang == Common::EN_ANY) {
+ } else if (_flags.lang == Common::EN_ANY && _flags.platform != Common::kPlatformMacintosh) {
_screen->loadBitmap("TEXT.CPS", 3, 3, 0);
+ } else if (_flags.lang == Common::EN_ANY && _flags.platform == Common::kPlatformMacintosh) {
+ _screen->loadBitmap("TEXT_ENG.CPS", 3, 3, 0);
} else if (_flags.lang == Common::DE_DEU) {
_screen->loadBitmap("TEXT_GER.CPS", 3, 3, 0);
} else if (_flags.lang == Common::FR_FRA) {
@@ -1065,7 +1067,8 @@ void KyraEngine::seq_playCredits() {
_screen->setTextColorMap(colorMap);
_screen->_charWidth = -1;
// we don't need that one for midi or adlib
- //snd_playWanderScoreViaMap(53, 1);
+ if (_flags.hasAudioCD)
+ snd_playWanderScoreViaMap(53, 1);
uint8 *buffer = 0;
uint32 size;
@@ -1643,8 +1646,29 @@ int KyraEngine::processBead(int x, int y, int &x2, int &y2, BeadState *ptr) {
void KyraEngine::setupPanPages() {
debugC(9, kDebugLevelMain, "KyraEngine::setupPanPages()");
_screen->loadBitmap("BEAD.CPS", 3, 3, 0);
- for (int i = 0; i <= 19; ++i) {
- _panPagesTable[i] = _seq->setPanPages(3, i);
+ if (_flags.platform == Common::kPlatformMacintosh) {
+ int pageBackUp = _screen->_curPage;
+ _screen->_curPage = 2;
+
+ delete [] _panPagesTable[19];
+ _panPagesTable[19] = _screen->encodeShape(0, 0, 16, 9, 0);
+ assert(_panPagesTable[19]);
+
+ int curX = 16;
+ for (int i = 0; i < 19; ++i) {
+ delete [] _panPagesTable[i];
+ _panPagesTable[i] = _screen->encodeShape(curX, 0, 8, 5, 0);
+ assert(_panPagesTable[i]);
+ curX += 8;
+ }
+
+ _screen->_curPage = pageBackUp;
+ } else {
+ for (int i = 0; i <= 19; ++i) {
+ delete [] _panPagesTable[i];
+ _panPagesTable[i] = _seq->setPanPages(3, i);
+ assert(_panPagesTable[i]);
+ }
}
}
@@ -1654,7 +1678,7 @@ void KyraEngine::freePanPages() {
_endSequenceBackUpRect = 0;
for (int i = 0; i <= 19; ++i) {
delete [] _panPagesTable[i];
- _panPagesTable[i] = NULL;
+ _panPagesTable[i] = 0;
}
}