FULLPIPE: Implement ModalIntro::update()

This commit is contained in:
Eugene Sandulenko 2013-10-28 23:18:33 +02:00
parent 3a444f3b63
commit 727c44a72a
3 changed files with 27 additions and 6 deletions

View File

@ -157,6 +157,7 @@ namespace Fullpipe {
#define SC_TITLES 5166
#define SND_CMN_031 3516
#define SND_CMN_070 5199
#define SND_INTR_019 5220
#define ST_IN1MAN_SLEEP 5112
#define ST_LBN_0N 2832
#define ST_LBN_0P 2833

View File

@ -180,10 +180,30 @@ bool ModalIntro::init(int counterdiff) {
return true;
}
bool ModalIntro::update() {
warning("STUB: ModalIntro::update()");
void ModalIntro::update() {
if (g_fullpipe->_currentScene) {
if (_introFlags & 1) {
//sceneFade(virt, g_currentScene, 1);
_needRedraw = 255;
_introFlags &= 0xfe;
return true;
if (_introFlags & 0x20)
g_fullpipe->playSound(SND_INTR_019, 0);
} else if (_introFlags & 2) {
if (g_vars->sceneIntro_needBlackout) {
//vrtRectangle(*(_DWORD *)virt, 0, 0, 0, 800, 600);
g_vars->sceneIntro_needBlackout = 0;
_needRedraw = 0;
_introFlags &= 0xfd;
} else {
//sceneFade(virt, g_currentScene, 0);
_needRedraw = 0;
_introFlags &= 0xfd;
}
} else if (_needRedraw) {
g_fullpipe->_currentScene->draw();
}
}
}
void ModalIntro::idle() {

View File

@ -38,7 +38,7 @@ class BaseModalObject {
virtual bool pollEvent() = 0;
virtual bool handleMessage(ExCommand *message) = 0;
virtual bool init(int counterdiff) = 0;
virtual bool update() = 0;
virtual void update() = 0;
virtual void saveload() = 0;
};
@ -56,7 +56,7 @@ class ModalIntro : public BaseModalObject {
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message);
virtual bool init(int counterdiff);
virtual bool update();
virtual void update();
virtual void saveload() {}
void idle();
@ -68,7 +68,7 @@ public:
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message) { return true; }
virtual bool init(int counterdiff) { return true; }
virtual bool update() { return true; }
virtual void update() {}
virtual void saveload() {}
void play(const char *fname);