aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/smush
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/smush')
-rw-r--r--engines/scumm/smush/chunk.cpp8
-rw-r--r--engines/scumm/smush/chunk.h6
-rw-r--r--engines/scumm/smush/smush_player.cpp2
-rw-r--r--engines/scumm/smush/smush_player.h2
4 files changed, 10 insertions, 8 deletions
diff --git a/engines/scumm/smush/chunk.cpp b/engines/scumm/smush/chunk.cpp
index 5e6f05b3e4..855f0a3985 100644
--- a/engines/scumm/smush/chunk.cpp
+++ b/engines/scumm/smush/chunk.cpp
@@ -45,7 +45,7 @@ bool BaseChunk::eos() const {
return _curPos >= _size;
}
-uint32 BaseChunk::pos() const {
+int32 BaseChunk::pos() const {
return _curPos;
}
@@ -53,11 +53,11 @@ Chunk::type BaseChunk::getType() const {
return _type;
}
-uint32 BaseChunk::size() const {
+int32 BaseChunk::size() const {
return _size;
}
-void BaseChunk::seek(int32 delta, int dir) {
+bool BaseChunk::seek(int32 delta, int dir) {
switch (dir) {
case SEEK_CUR:
_curPos += delta;
@@ -85,6 +85,8 @@ void BaseChunk::seek(int32 delta, int dir) {
warning("Looks like you compressed file %s in wrong way. It has FLU index which was not updated", _name.c_str());
error("invalid seek request : %d > %d (delta == %d)", _curPos, _size, delta);
}
+
+ return true;
}
FileChunk::FileChunk(BaseScummFile *data, int offset) {
diff --git a/engines/scumm/smush/chunk.h b/engines/scumm/smush/chunk.h
index ca4a3cdd99..08d7037d1c 100644
--- a/engines/scumm/smush/chunk.h
+++ b/engines/scumm/smush/chunk.h
@@ -55,10 +55,10 @@ protected:
public:
Chunk::type getType() const;
- uint32 size() const;
+ int32 size() const;
bool eos() const;
- uint32 pos() const;
- void seek(int32 delta, int dir);
+ int32 pos() const;
+ bool seek(int32 delta, int dir);
};
class FileChunk : public BaseChunk {
diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp
index e4d8393dbe..9100d95e5d 100644
--- a/engines/scumm/smush/smush_player.cpp
+++ b/engines/scumm/smush/smush_player.cpp
@@ -315,7 +315,7 @@ void SmushPlayer::release() {
_codec47 = 0;
}
-void SmushPlayer::checkBlock(const Chunk &b, Chunk::type type_expected, uint32 min_size) {
+void SmushPlayer::checkBlock(const Chunk &b, Chunk::type type_expected, int32 min_size) {
if (type_expected != b.getType()) {
error("Chunk type is different from expected : %x != %x", b.getType(), type_expected);
}
diff --git a/engines/scumm/smush/smush_player.h b/engines/scumm/smush/smush_player.h
index 64ae167349..29a2397d58 100644
--- a/engines/scumm/smush/smush_player.h
+++ b/engines/scumm/smush/smush_player.h
@@ -121,7 +121,7 @@ private:
bool readString(const char *file);
void decodeFrameObject(int codec, const uint8 *src, int left, int top, int width, int height);
- void checkBlock(const Chunk &, Chunk::type, uint32 = 0);
+ void checkBlock(const Chunk &, Chunk::type, int32 = 0);
void handleAnimHeader(Chunk &);
void handleFrame(Chunk &);
void handleNewPalette(Chunk &);