[Scummvm-cvs-logs] scummvm master -> 91ebc07eb93d850f2c9bd0a8c9419a1120b63eb2
sev-
sev at scummvm.org
Thu Jan 23 21:02:17 CET 2014
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8154da85ad FULLPIPE: Initial code for sceneFinal
7277ad7aa1 FULLPIPE: Plug sceneFinal in
34c2ba5ff3 FULLPIPE: Implement sceneFinal_updateCursor()
7ce04e0383 FULLPIPE: Implement sceneHandlerFinal()
c776ec6afa FULLPIPE: More code to sceneFinal
e9ced0784b FULLPIPE: Implement sceneHandlerFinal_fallCoin()
19bf8cf4bf FULLPIPE: Implement sceneHandlerFinal_startFinal()
91ebc07eb9 FULLPIPE: Enable sceneFinal
Commit: 8154da85ad69a3fb557fdd79f5a550e66138f457
https://github.com/scummvm/scummvm/commit/8154da85ad69a3fb557fdd79f5a550e66138f457
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: Initial code for sceneFinal
Changed paths:
A engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
new file mode 100644
index 0000000..e240bf5
--- /dev/null
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+
+#include "fullpipe/gameloader.h"
+#include "fullpipe/motion.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/statics.h"
+
+#include "fullpipe/interaction.h"
+#include "fullpipe/behavior.h"
+
+
+namespace Fullpipe {
+
+void sceneFinal_initScene() {
+ g_fp->_gameLoader->loadScene(SC_FINAL2);
+ g_fp->accessScene(SC_FINAL2)->setPictureObjectsFlag4();
+ g_fp->_gameLoader->loadScene(SC_FINAL3);
+ g_fp->accessScene(SC_FINAL3)->setPictureObjectsFlag4();
+ g_fp->_gameLoader->loadScene(v4, SC_FINAL4);
+ g_fp->accessScene(SC_FINAL4)->setPictureObjectsFlag4();
+
+ getGameLoaderInventory()->setIsLocked(0);
+ getGameLoaderInventory()->slideIn();
+
+ g_fp->_updateFlag = 0;
+ g_fp->_flgCanOpenMap = 0;
+
+ g_vars->sceneFinal_var01 = 0;
+ g_vars->sceneFinal_var02 = 0;
+ g_vars->sceneFinal_var03 = 0;
+}
+
+} // End of namespace Fullpipe
Commit: 7277ad7aa17613e91e451a572f091f4345990a32
https://github.com/scummvm/scummvm/commit/7277ad7aa17613e91e451a572f091f4345990a32
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: Plug sceneFinal in
Changed paths:
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index d9cecf0..f6a94de 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -59,6 +59,7 @@ MODULE_OBJS = \
scenes/scene36.o \
scenes/scene37.o \
scenes/scene38.o \
+ scenes/sceneFinal.o \
scenes/sceneDbg.o
# This module can be built as a plugin
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 5e49fb4..9c2ab87 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -382,6 +382,10 @@ Vars::Vars() {
scene38_lastShortyAnim = 0;
scene38_shortyAnimCounter = 0;
+ sceneFinal_var01 = 0;
+ sceneFinal_var02 = 0;
+ sceneFinal_var03 = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 6c91481..65c2f3d 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -536,6 +536,10 @@ public:
int scene38_lastShortyAnim;
int scene38_shortyAnimCounter;
+ int sceneFinal_var01;
+ int sceneFinal_var02;
+ int sceneFinal_var03;
+
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index e240bf5..cbb250c 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -41,7 +41,7 @@ void sceneFinal_initScene() {
g_fp->accessScene(SC_FINAL2)->setPictureObjectsFlag4();
g_fp->_gameLoader->loadScene(SC_FINAL3);
g_fp->accessScene(SC_FINAL3)->setPictureObjectsFlag4();
- g_fp->_gameLoader->loadScene(v4, SC_FINAL4);
+ g_fp->_gameLoader->loadScene(SC_FINAL4);
g_fp->accessScene(SC_FINAL4)->setPictureObjectsFlag4();
getGameLoaderInventory()->setIsLocked(0);
Commit: 34c2ba5ff3b7ede24b847b853c30aaef846c2322
https://github.com/scummvm/scummvm/commit/34c2ba5ff3b7ede24b847b853c30aaef846c2322
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: Implement sceneFinal_updateCursor()
Changed paths:
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index cbb250c..56dc9bf 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -55,4 +55,13 @@ void sceneFinal_initScene() {
g_vars->sceneFinal_var03 = 0;
}
+int sceneFinal_updateCursor() {
+ if (g_vars->sceneFinal_var01)
+ g_fp->_cursorId = 0;
+ else
+ g_fp->updateCursorCommon();
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: 7ce04e0383906c28b17206b988d610e6ec429bf3
https://github.com/scummvm/scummvm/commit/7ce04e0383906c28b17206b988d610e6ec429bf3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: Implement sceneHandlerFinal()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 9e79b1c..1dd5fcd 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1350,6 +1350,14 @@ namespace Fullpipe {
#define QU_SC38_ENTERLIFT 2836
#define QU_SC38_EXITLIFT 2837
+// Final scene
+#define MSG_FIN_ENDFINAL 5109
+#define MSG_FIN_GOTO2 5024
+#define MSG_FIN_GOTO3 5071
+#define MSG_FIN_GOTO4 5075
+#define MSG_FIN_STARTFINAL 5025
+#define MSG_FN4_STARTMUSIC 5356
+
// Debug scene
#define MSG_RESTARTGAME 4767
#define PIC_SCD_1 727
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 56dc9bf..332fccf 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -64,4 +64,83 @@ int sceneFinal_updateCursor() {
return g_fp->_cursorId;
}
+void sceneHandlerFinal_endFinal() {
+ warning("STUB: sceneHandlerFinal_endFinal()");
+}
+
+void sceneHandlerFinal_startMusic(const char *track) {
+ warning("STUB: sceneHandlerFinal_startMusic()");
+}
+
+void sceneHandlerFinal_goto4() {
+ warning("STUB: sceneHandlerFinal_goto4()");
+}
+
+void sceneHandlerFinal_goto3() {
+ warning("STUB: sceneHandlerFinal_goto3()");
+}
+
+void sceneHandlerFinal_goto2() {
+ warning("STUB: sceneHandlerFinal_goto2()");
+}
+
+void sceneHandlerFinal_startFinal() {
+ warning("STUB: sceneHandlerFinal_startFinal()");
+}
+
+void sceneHandlerFinal_fallCoin() {
+ warning("STUB: sceneHandlerFinal_fallCoin()");
+}
+
+int sceneHandlerFinal(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_FIN_ENDFINAL:
+ sceneHandlerFinal_endFinal();
+ break;
+
+ case MSG_FN4_STARTMUSIC:
+ sceneHandlerFinal_startMusic("track16.ogg");
+ break;
+
+ case MSG_FIN_GOTO4:
+ sceneHandlerFinal_goto4();
+
+ g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_FINAL1"), "MUSIC3", 1);
+ break;
+
+ case MSG_FIN_GOTO3:
+ sceneHandlerFinal_goto3();
+ break;
+
+ case MSG_FIN_GOTO2:
+ sceneHandlerFinal_goto2();
+ break;
+
+ case MSG_FIN_STARTFINAL:
+ sceneHandlerFinal_startFinal();
+ break;
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ g_vars->sceneFinal_var03 = g_fp->_aniMan2->_ox;
+
+ if (g_vars->sceneFinal_var03 < 450 && g_vars->sceneFinal_var02 >= 450 )
+ sceneHandlerFinal_fallCoin();
+
+ g_vars->sceneFinal_var02 = g_vars->sceneFinal_var03;
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: c776ec6afafb9b3508d66adbf032bc5430c5af04
https://github.com/scummvm/scummvm/commit/c776ec6afafb9b3508d66adbf032bc5430c5af04
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: More code to sceneFinal
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1dd5fcd..c5f97d8 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1357,6 +1357,9 @@ namespace Fullpipe {
#define MSG_FIN_GOTO4 5075
#define MSG_FIN_STARTFINAL 5025
#define MSG_FN4_STARTMUSIC 5356
+#define QU_FN2_DOFINAL 5066
+#define QU_FN3_DOFINAL 5072
+#define QU_FN4_DOFINAL 5108
// Debug scene
#define MSG_RESTARTGAME 4767
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 332fccf..0e4906e 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -65,7 +65,7 @@ int sceneFinal_updateCursor() {
}
void sceneHandlerFinal_endFinal() {
- warning("STUB: sceneHandlerFinal_endFinal()");
+ g_vars->sceneFinal_var01 = 0;
}
void sceneHandlerFinal_startMusic(const char *track) {
@@ -73,15 +73,23 @@ void sceneHandlerFinal_startMusic(const char *track) {
}
void sceneHandlerFinal_goto4() {
- warning("STUB: sceneHandlerFinal_goto4()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL4);
+
+ g_fp->_gameLoader->loadScene(SC_FINAL4);
+
+ chainQueue(QU_FN4_DOFINAL, 1);
}
void sceneHandlerFinal_goto3() {
- warning("STUB: sceneHandlerFinal_goto3()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL3);
+
+ chainQueue(QU_FN3_DOFINAL, 1);
}
void sceneHandlerFinal_goto2() {
- warning("STUB: sceneHandlerFinal_goto2()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL2);
+
+ chainQueue(QU_FN2_DOFINAL, 1);
}
void sceneHandlerFinal_startFinal() {
Commit: e9ced0784b8f1f2296b64bd0ca415c4ebde27015
https://github.com/scummvm/scummvm/commit/e9ced0784b8f1f2296b64bd0ca415c4ebde27015
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:25-08:00
Commit Message:
FULLPIPE: Implement sceneHandlerFinal_fallCoin()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c5f97d8..d9dda00 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1351,15 +1351,18 @@ namespace Fullpipe {
#define QU_SC38_EXITLIFT 2837
// Final scene
+#define ANI_FIN_COIN 5014
#define MSG_FIN_ENDFINAL 5109
#define MSG_FIN_GOTO2 5024
#define MSG_FIN_GOTO3 5071
#define MSG_FIN_GOTO4 5075
#define MSG_FIN_STARTFINAL 5025
#define MSG_FN4_STARTMUSIC 5356
+#define QU_FIN1_FALLCOIN 5018
#define QU_FN2_DOFINAL 5066
#define QU_FN3_DOFINAL 5072
#define QU_FN4_DOFINAL 5108
+#define ST_FCN_NORM 5017
// Debug scene
#define MSG_RESTARTGAME 4767
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 0e4906e..6ba72de 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -97,7 +97,12 @@ void sceneHandlerFinal_startFinal() {
}
void sceneHandlerFinal_fallCoin() {
- warning("STUB: sceneHandlerFinal_fallCoin()");
+ StaticANIObject *coin = g_fp->_currentScene->getStaticANIObject1ById(ANI_FIN_COIN, -1);
+
+ if (!coin->_movement) {
+ if (!coin->_statics || coin->_statics->_staticsId != ST_FCN_NORM)
+ chainQueue(QU_FIN1_FALLCOIN, 1);
+ }
}
int sceneHandlerFinal(ExCommand *cmd) {
Commit: 19bf8cf4bf0081cea7c1f531808ac0c2bed146a7
https://github.com/scummvm/scummvm/commit/19bf8cf4bf0081cea7c1f531808ac0c2bed146a7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:26-08:00
Commit Message:
FULLPIPE: Implement sceneHandlerFinal_startFinal()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/modal.h
engines/fullpipe/scenes/sceneFinal.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index d9dda00..e25a6f4 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1359,6 +1359,7 @@ namespace Fullpipe {
#define MSG_FIN_STARTFINAL 5025
#define MSG_FN4_STARTMUSIC 5356
#define QU_FIN1_FALLCOIN 5018
+#define QU_FIN1_TAKECOIN 5023
#define QU_FN2_DOFINAL 5066
#define QU_FN3_DOFINAL 5072
#define QU_FN4_DOFINAL 5108
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index af52e1b..65210aa 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -106,6 +106,18 @@ class ModalMap : public BaseModalObject {
PictureObject *getScenePicture();
};
+class ModalFinal : public BaseModalObject {
+ public:
+ ModalFinal() {}
+ virtual ~ModalFinal() {}
+
+ virtual bool pollEvent() { return true; }
+ virtual bool handleMessage(ExCommand *message) { return false; }
+ virtual bool init(int counterdiff) { return true; }
+ virtual void update() {}
+ virtual void saveload() {}
+};
+
} // End of namespace Fullpipe
#endif /* FULLPIPE_MODAL_H */
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 6ba72de..e483e8b 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -33,6 +33,8 @@
#include "fullpipe/interaction.h"
#include "fullpipe/behavior.h"
+#include "fullpipe/modal.h"
+
namespace Fullpipe {
@@ -93,7 +95,20 @@ void sceneHandlerFinal_goto2() {
}
void sceneHandlerFinal_startFinal() {
- warning("STUB: sceneHandlerFinal_startFinal()");
+ g_vars->sceneFinal_var01 = 1;
+
+ getCurrSceneSc2MotionController()->clearEnabled();
+ getGameLoaderInteractionController()->disableFlag24();
+
+ g_fp->_aniMan2 = 0;
+
+ g_fp->_aniMan->_flags &= 0xFFFB;
+
+ chainQueue(QU_FIN1_TAKECOIN, 1);
+
+ g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_FINAL1"), "MUSIC2", 1);
+
+ g_fp->_modalObject = new ModalFinal;
}
void sceneHandlerFinal_fallCoin() {
Commit: 91ebc07eb93d850f2c9bd0a8c9419a1120b63eb2
https://github.com/scummvm/scummvm/commit/91ebc07eb93d850f2c9bd0a8c9419a1120b63eb2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-23T12:01:26-08:00
Commit Message:
FULLPIPE: Enable sceneFinal
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 9c2ab87..71c8b1e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -986,18 +986,16 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = defaultUpdateCursor;
break;
-#if 0
case SC_FINAL1:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_FINAL1");
scene->preloadMovements(sceneVar);
- sceneFinal1_initScene();
+ sceneFinal_initScene();
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_FINAL1");
setSceneMusicParameters(sceneVar);
- addMessageHandler(sceneHandlerFinal1, 2);
- _updateCursorCallback = sceneFinal1_updateCursor;
+ addMessageHandler(sceneHandlerFinal, 2);
+ _updateCursorCallback = sceneFinal_updateCursor;
break;
-#endif
case SC_DBGMENU:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_DBGMENU");
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 65c2f3d..5f77f74 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -176,6 +176,10 @@ int scene37_updateCursor();
void scene38_initScene(Scene *sc);
int sceneHandler38(ExCommand *ex);
+int sceneFinal_updateCursor();
+void sceneFinal_initScene();
+int sceneHandlerFinal(ExCommand *cmd);
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
More information about the Scummvm-git-logs
mailing list