aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/scene.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/saga/scene.h')
-rw-r--r--engines/saga/scene.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/saga/scene.h b/engines/saga/scene.h
index f7c6c39ec5..fdb9919064 100644
--- a/engines/saga/scene.h
+++ b/engines/saga/scene.h
@@ -74,7 +74,6 @@ enum FTA2Endings {
struct BGInfo {
Rect bounds;
byte *buffer;
- size_t bufferLength;
};
typedef int (SceneProc) (int, void *);
@@ -141,15 +140,18 @@ class SceneEntryList : public Common::Array<SceneEntry> {
};
struct SceneImage {
- int loaded;
+ bool loaded;
int w;
int h;
int p;
- byte *buf;
- size_t buf_len;
+ ByteArray buffer;
byte *res_buf;
size_t res_len;
PalEntry pal[256];
+
+ SceneImage() : loaded(false), w(0), h(0), p(0) {
+ memset(pal, 0, sizeof(pal));
+ }
};
@@ -239,7 +241,7 @@ class Scene {
bool isInIntro() { return !_inGame; }
const Rect& getSceneClip() const { return _sceneClip; }
- void getBGMaskInfo(int &width, int &height, byte *&buffer, size_t &bufferLength);
+ void getBGMaskInfo(int &width, int &height, byte *&buffer);
int isBGMaskPresent() { return _bgMask.loaded; }
int getBGMaskType(const Point &testPoint) {
@@ -255,7 +257,7 @@ class Scene {
}
#endif
- return (_bgMask.buf[offset] >> 4) & 0x0f;
+ return (_bgMask.buffer[offset] >> 4) & 0x0f;
}
bool validBGMaskPoint(const Point &testPoint) {