aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-24 11:09:19 -0800
committerEugene Sandulenko2014-01-24 14:29:23 -0800
commit94b2249f6911a3ce283731857ec1eaf740bd5dc4 (patch)
tree986f6fc7b73a8d7dd2c30afb716a9a18e15fe557
parentc691cd82a5ce3c7659b79acd0590ed18f37f5e01 (diff)
downloadscummvm-rg350-94b2249f6911a3ce283731857ec1eaf740bd5dc4.tar.gz
scummvm-rg350-94b2249f6911a3ce283731857ec1eaf740bd5dc4.tar.bz2
scummvm-rg350-94b2249f6911a3ce283731857ec1eaf740bd5dc4.zip
FULLPIPE: Started ModalCredits implementation
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/modal.cpp30
-rw-r--r--engines/fullpipe/modal.h14
3 files changed, 44 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e25a6f464a..dfc2146332 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -160,6 +160,7 @@ namespace Fullpipe {
#define PIC_MAP_S36 5260
#define PIC_MAP_S37 5261
#define PIC_MAP_S38 5262
+#define PIC_TTL_CREDITS 5172
#define QU_INTR_STARTINTRO 5133
#define SC_1 301
#define SC_2 302
@@ -210,6 +211,7 @@ namespace Fullpipe {
#define SC_INV 858
#define SC_LDR 635
#define SC_MAP 5222
+#define SC_TITLES 5166
#define SND_CMN_031 3516
#define SND_CMN_060 4921
#define SND_CMN_061 4922
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 5ee6395f6a..043f3b19ff 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -657,6 +657,36 @@ void ModalFinal::update() {
}
}
+ModalCredits::ModalCredits() {
+ Common::Point point;
+
+ _sceneTitles = g_fp->accessScene(SC_TITLES);
+
+ _creditsPic = _sceneTitles->getPictureObjectById(PIC_TTL_CREDITS, 0);
+ _creditsPic->_flags |= 4;
+
+ _fadeIn = true;
+ _fadeOut = false;
+
+ _creditsPic->getDimensions(&point);
+
+ _countdown = point.y / 2 + 470;
+ _sfxVolume = g_fp->_sfxVolume;
+
+ _currY = 630;
+ _maxY = -1000 - point.y;
+
+ _currX = 400 - point.x / 2;
+
+ _creditsPic->setOXY(_currX, _currY);
+}
+
+ModalCredits::~ModalCredits() {
+ g_fp->_gameLoader->unloadScene(SC_TITLES);
+
+ g_fp->_sfxVolume = _sfxVolume;
+}
+
void FullpipeEngine::openHelp() {
warning("STUB: FullpipeEngine::openHelp()");
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 925e4ed58e..e9a8478055 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -125,9 +125,19 @@ class ModalFinal : public BaseModalObject {
};
class ModalCredits : public BaseModalObject {
+ Scene *_sceneTitles;
+ PictureObject *_creditsPic;
+ bool _fadeIn;
+ bool _fadeOut;
+ int _countdown;
+ int _sfxVolume;
+ int _currX;
+ int _currY;
+ int _maxY;
+
public:
- ModalCredits() {}
- virtual ~ModalCredits() {}
+ ModalCredits();
+ virtual ~ModalCredits();
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message) { return false; }