aboutsummaryrefslogtreecommitdiff
path: root/scumm/smush/smush_player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/smush/smush_player.cpp')
-rw-r--r--scumm/smush/smush_player.cpp33
1 files changed, 8 insertions, 25 deletions
diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp
index e3bd305ea4..a27d0d4a95 100644
--- a/scumm/smush/smush_player.cpp
+++ b/scumm/smush/smush_player.cpp
@@ -252,7 +252,6 @@ SmushPlayer::SmushPlayer(ScummEngine_v6 *scumm, int speed) {
_speed = speed;
_insanity = false;
_middleAudio = false;
- _skipPalette = false;
#ifdef _WIN32_WCE
_inTimer = false;
_inTimerCount = 0;
@@ -716,9 +715,6 @@ void SmushPlayer::handleNewPalette(Chunk &b) {
checkBlock(b, TYPE_NPAL, 0x300);
debugC(DEBUG_SMUSH, "SmushPlayer::handleNewPalette()");
- if (_skipPalette)
- return;
-
readPalette(_pal, b);
setPalette(_pal);
}
@@ -972,10 +968,8 @@ void SmushPlayer::handleAnimHeader(Chunk &b) {
_version = b.getWord();
_nbframes = b.getWord();
b.getWord();
- if (!_skipPalette) {
- readPalette(_pal, b);
- setPalette(_pal);
- }
+ readPalette(_pal, b);
+ setPalette(_pal);
}
void SmushPlayer::setupAnim(const char *file) {
@@ -1045,9 +1039,6 @@ void SmushPlayer::parseNextFrame() {
case TYPE_FRME:
handleFrame(*sub);
break;
- case TYPE_AHDR: // FT INSANE may seek file to the beginning
- handleAnimHeader(*sub);
- break;
default:
error("Unknown Chunk found at %x: %x, %d", _base->tell(), sub->getType(), sub->getSize());
}
@@ -1145,7 +1136,6 @@ void SmushPlayer::insanity(bool flag) {
}
void SmushPlayer::seekSan(const char *file, int32 pos, int32 contFrame) {
-
Common::StackLock lock(_mutex);
if(_smixer)
@@ -1158,24 +1148,17 @@ void SmushPlayer::seekSan(const char *file, int32 pos, int32 contFrame) {
}
_base = new FileChunk(file);
- // In this case we need to get palette and number of frames
- if (pos > 8) {
+ if (pos) {
+ assert(pos != 8);
+ // In this case we need to get palette and number of frames
Chunk *sub = _base->subBlock();
checkBlock(*sub, TYPE_AHDR);
handleAnimHeader(*sub);
delete sub;
- }
- if (pos >= 8)
- pos -= 8;
-
- _skipPalette = false;
- } else {
- _base->reinit(pos);
- _skipPalette = true;
- }
- if (pos != 8 && pos) {
- _middleAudio = true;
+ _middleAudio = true;
+ pos -= 8;
+ }
}
_base->seek(pos, FileChunk::seek_start);