aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-06-24 16:22:26 -0400
committerEugene Sandulenko2013-09-06 14:48:15 +0300
commit5f7cf0131c95c165db8ce5b1933917e4da037845 (patch)
tree8f96d11c009e0d4ccd4a91b1ade5d98ab6f44238 /engines
parent00971bf2092c5e9c33d5475bb91075d2bcc32557 (diff)
downloadscummvm-rg350-5f7cf0131c95c165db8ce5b1933917e4da037845.tar.gz
scummvm-rg350-5f7cf0131c95c165db8ce5b1933917e4da037845.tar.bz2
scummvm-rg350-5f7cf0131c95c165db8ce5b1933917e4da037845.zip
FULLPIPE: Started sound loading
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/fullpipe.cpp8
-rw-r--r--engines/fullpipe/fullpipe.h2
-rw-r--r--engines/fullpipe/module.mk1
-rw-r--r--engines/fullpipe/objects.h1
-rw-r--r--engines/fullpipe/scene.cpp26
-rw-r--r--engines/fullpipe/scene.h3
6 files changed, 40 insertions, 1 deletions
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index c43e14beb6..a6a52bbccb 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -46,6 +46,14 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
_rnd = new Common::RandomSource("fullpipe");
+ _gameProjectVersion = 0;
+ _gameProjectValue = 0;
+ _scrollSpeed = 0;
+ _currSoundListCount = 0;
+
+ _soundEnabled = true;
+ _flgSoundList = true;
+
g_fullpipe = this;
}
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 013303d71e..d6b38f2d7e 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -81,6 +81,8 @@ public:
int _gameProjectValue;
int _scrollSpeed;
int _currSoundListCount;
+ bool _soundEnabled;
+ bool _flgSoundList;
void initObjectStates();
void setLevelStates();
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 77dcfaa2c3..1b115a3463 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -8,6 +8,7 @@ MODULE_OBJS = \
motion.o \
ngiarchive.o \
scene.o \
+ sound.o \
stateloader.o \
statics.o \
utils.o
diff --git a/engines/fullpipe/objects.h b/engines/fullpipe/objects.h
index c12905ec58..52383cc24c 100644
--- a/engines/fullpipe/objects.h
+++ b/engines/fullpipe/objects.h
@@ -26,6 +26,7 @@
#include "fullpipe/utils.h"
#include "fullpipe/inventory.h"
#include "fullpipe/gfx.h"
+#include "fullpipe/sound.h"
#include "fullpipe/scene.h"
namespace Fullpipe {
diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index 0a79ef5f0f..3dc98bf7c9 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -192,9 +192,35 @@ bool Scene::load(MfcArchive &file) {
if (shd->loadFile(shdname))
_shadows = shd;
+ free(shdname);
+
+ char *slsname = genFileName(0, _sceneId, "sls");
+
+ if (g_fullpipe->_soundEnabled) {
+ _soundList = new SoundList();
+
+ if (g_fullpipe->_flgSoundList) {
+ char *nlname = genFileName(17, _sceneId, "nl");
+
+ _soundList->loadFile(slsname, nlname);
+
+ free(nlname);
+ } else {
+ _soundList->loadFile(slsname, 0);
+ }
+ }
+
+ free(slsname);
+
+ initStaticANIObjects();
+
warning("STUB: Scene::load (%d bytes left)", file.size() - file.pos());
return true;
}
+void Scene::initStaticANIObjects() {
+ warning("STUB: Scene::initStaticANIObjects");
+}
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h
index 31af782a44..a797c69e02 100644
--- a/engines/fullpipe/scene.h
+++ b/engines/fullpipe/scene.h
@@ -32,7 +32,7 @@ class Scene : public Background {
CPtrList _messageQueueList;
CPtrList _faObjectList;
Shadows *_shadows;
- int _soundList;
+ SoundList *_soundList;
int16 _sceneId;
char *_scstringObj;
int _field_BC;
@@ -41,6 +41,7 @@ class Scene : public Background {
public:
Scene();
virtual bool load(MfcArchive &file);
+ void initStaticANIObjects();
};
class SceneTag : public CObject {