aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cge/cge_main.cpp2
-rw-r--r--engines/cge/vga13h.cpp8
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index 08e373d322..14109ddd6f 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -229,7 +229,7 @@ void CGEEngine::loadGame(XFile &file, bool tiny = false) {
}
if (! tiny) { // load sprites & pocket
- while (!readStream.eos()) {
+ while (readStream.pos() < readStream.size()) {
Sprite S(this, NULL);
S.sync(s);
diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp
index c349950bee..6c20a78cae 100644
--- a/engines/cge/vga13h.cpp
+++ b/engines/cge/vga13h.cpp
@@ -349,6 +349,14 @@ Sprite::Sprite(CGEEngine *vm, BMP_PTR *shpP)
_ext(NULL), _ref(-1), _cave(0), _vm(vm) {
memset(_file, 0, sizeof(_file));
*((uint16 *)&_flags) = 0;
+ _ref = 0;
+ _x = _y = 0;
+ _w = _h = 0;
+ _time = 0;
+ _seqPtr = 0;
+ _shpCnt = 0;
+ _prev = _next = NULL;
+
setShapeList(shpP);
}