aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/gfx.cpp15
-rw-r--r--engines/fullpipe/gfx.h20
-rw-r--r--engines/fullpipe/scene.cpp5
3 files changed, 31 insertions, 9 deletions
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 0305a004b8..79a1e1da70 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -204,4 +204,19 @@ bool BigPicture::load(MfcArchive &file) {
return true;
}
+Shadows::Shadows() {
+ _staticAniObjectId = 0;
+ _movementId = 0;
+ _sceneId = 0;
+}
+
+bool Shadows::load(MfcArchive &file) {
+ _sceneId = file.readUint32LE();
+ _staticAniObjectId = file.readUint32LE();
+ _movementId = file.readUint32LE();
+
+ return true;
+}
+
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index 53c10ee870..edf884dbca 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -25,9 +25,8 @@
namespace Fullpipe {
-class ShadowsItemArray : public Common::Array<CObject>, public CObject {
- public:
- virtual bool load(MfcArchive &file);
+class ShadowsItemArray : public CObArray {
+ // empty
};
class Picture : public MemoryObject {
@@ -106,12 +105,15 @@ class Background : public CObject {
void addPictureObject(PictureObject *pct);
};
-class Shadows {
- //CObject obj;
- int sceneId;
- int staticAniObjectId;
- int movementId;
- ShadowsItemArray items;
+class Shadows : public CObject {
+ int _sceneId;
+ int _staticAniObjectId;
+ int _movementId;
+ ShadowsItemArray _items;
+
+ public:
+ Shadows();
+ virtual bool load(MfcArchive &file);
};
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index af031db735..0a79ef5f0f 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -187,6 +187,11 @@ bool Scene::load(MfcArchive &file) {
char *shdname = genFileName(0, _sceneId, "shd");
+ Shadows *shd = new Shadows();
+
+ if (shd->loadFile(shdname))
+ _shadows = shd;
+
warning("STUB: Scene::load (%d bytes left)", file.size() - file.pos());
return true;