[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