[Scummvm-cvs-logs] scummvm master -> af239cbd77c6e6be38edd166060ff1ccd3de4105

sev- sev at scummvm.org
Sun Jan 12 23:51:41 CET 2014


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a700dba335 FULLPIPE: Implement scene34_updateCursor()
0f0e8f1d52 FULLPIPE: Implement sceneHandler34()
0ab4bdd1da FULLPIPE: Enable scene34
af239cbd77 FULLPIPE: Implement sceneHandler34_fromCactus()


Commit: a700dba33570509bd6f24fdaf5183a3d38bac9ac
    https://github.com/scummvm/scummvm/commit/a700dba33570509bd6f24fdaf5183a3d38bac9ac
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-12T11:17:52-08:00

Commit Message:
FULLPIPE: Implement scene34_updateCursor()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index cdb5dc6..5f38147 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1137,8 +1137,10 @@ namespace Fullpipe {
 
 // Scene 34
 #define ANI_BOOT_34 4560
+#define ANI_BOX_34 2498
 #define ANI_CACTUS_34 2381
 #define ANI_LUK_34 2541
+#define ANI_STOOL_34 2486
 #define ANI_VENT_34 2473
 #define QU_SC34_ENTERLIFT 2819
 #define QU_SC34_EXITLIFT 2820
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 0882c0f..d04e389 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -89,16 +89,14 @@ void scene34_initBeh() {
 }
 
 int scene34_updateCursor() {
-#if 0
 	g_fp->updateCursorCommon();
 
-	if ((g_fp->_objectIdAtCursor != ANI_STOOL_34 || g_fp->getGameLoaderInventory()->getSelectedItemId() != ANI_INV_BOX)
-		 && (g_fp->_objectIdAtCursor != ANI_BOX_34 || g_fp->getGameLoaderInventory()->getSelectedItemId() != ANI_INV_STOOL))
+	if ((g_fp->_objectIdAtCursor != ANI_STOOL_34 || getGameLoaderInventory()->getSelectedItemId() != ANI_INV_BOX)
+		 && (g_fp->_objectIdAtCursor != ANI_BOX_34 || getGameLoaderInventory()->getSelectedItemId() != ANI_INV_STOOL))
 		; // emtpy
 	else
 		g_fp->_cursorId = PIC_CSR_ITN_INV;
 
-#endif
 	return g_fp->_cursorId;
 }
 


Commit: 0f0e8f1d527d82435a2e4945bd098cb8b7125358
    https://github.com/scummvm/scummvm/commit/0f0e8f1d527d82435a2e4945bd098cb8b7125358
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-12T12:02:35-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 5f38147..492c6f4 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1142,11 +1142,23 @@ namespace Fullpipe {
 #define ANI_LUK_34 2541
 #define ANI_STOOL_34 2486
 #define ANI_VENT_34 2473
+#define MSG_SC34_CLIMB 2490
+#define MSG_SC34_CLIMBBOX 4571
+#define MSG_SC34_FROMCACTUS 4313
+#define MSG_SC34_LEAVEBOARD 2576
+#define MSG_SC34_ONBOARD 2550
+#define MSG_SC34_ONBUMP 5313
+#define MSG_SC34_ONCACTUS 2482
+#define MSG_SC34_RETRYVENT 5210
+#define MSG_SC34_SHOWBOX 2497
+#define MSG_SC34_SHOWVENT 2481
+#define MSG_SC34_TESTVENT 2557
+#define MSG_SC34_UNCLIMB 2492
 #define QU_SC34_ENTERLIFT 2819
 #define QU_SC34_EXITLIFT 2820
-#define ST_CTS34_EMPTY 2383
 #define QU_CTS34_FALLEFT 4316
 #define QU_CTS34_FALLRIGHT 4317
+#define ST_CTS34_EMPTY 2383
 #define ST_CTS34_GROWNEMPTY2 2475
 
 // Scene 36
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index d04e389..0a76c8d 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -100,4 +100,237 @@ int scene34_updateCursor() {
 	return g_fp->_cursorId;
 }
 
+void sceneHandler34_leaveBoard() {
+	warning("STUB: sceneHandler34_leaveBoard()");
+}
+
+void sceneHandler34_onBoard() {
+	warning("STUB: sceneHandler34_onBoard()");
+}
+
+void sceneHandler34_testVent() {
+	warning("STUB: sceneHandler34_testVent()");
+}
+
+void sceneHandler34_hideStool() {
+	warning("STUB: sceneHandler34_hideStool()");
+}
+
+void sceneHandler34_climb() {
+	warning("STUB: sceneHandler34_climb()");
+}
+
+void sceneHandler34_sub04() {
+	warning("STUB: sceneHandler34_sub04()");
+}
+
+void sceneHandler34_sub03(ExCommand *cmd) {
+	warning("STUB: sceneHandler34_sub03(cmd)");
+}
+
+void sceneHandler34_sub02(ExCommand *cmd) {
+	warning("STUB: sceneHandler34_sub02(cmd)");
+}
+
+void sceneHandler34_sub01(ExCommand *cmd) {
+	warning("STUB: sceneHandler34_sub01(cmd)");
+}
+
+void sceneHandler34_showVent() {
+	warning("STUB: sceneHandler34_showVent()");
+}
+
+void sceneHandler34_showBox() {
+	warning("STUB: sceneHandler34_showBox()");
+}
+
+void sceneHandler34_showStool() {
+	warning("STUB: sceneHandler34_showStool()");
+}
+
+void sceneHandler34_unclimb() {
+	warning("STUB: sceneHandler34_unclimb()");
+}
+
+int sceneHandler34(ExCommand *cmd) {
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_SC4_HIDEBOOT:
+		g_vars->scene34_boot->_flags &= 0xFFFB;
+		break;
+
+	case MSG_SC34_LEAVEBOARD:
+		sceneHandler34_leaveBoard();
+		break;
+
+	case MSG_SC34_ONBOARD:
+		sceneHandler34_onBoard();
+		break;
+
+	case MSG_SC34_TESTVENT:
+		sceneHandler34_testVent();
+		break;
+
+	case MSG_LIFT_CLICKBUTTON:
+		g_fp->lift_animation3();
+		break;
+
+	case MSG_SC34_FROMCACTUS:
+		g_vars->scene34_var07 = 0;
+
+		getCurrSceneSc2MotionController()->setEnabled();
+		getGameLoaderInteractionController()->enableFlag24();
+
+		g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1);
+
+		break;
+
+	case MSG_SC34_RETRYVENT:
+		if (!g_fp->_aniMan->isIdle())
+			break;
+
+		g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT);
+		g_fp->_aniMan->_flags &= 0xFEFF;
+
+		getGameLoaderInteractionController()->handleInteraction(g_fp->_aniMan, g_vars->scene34_vent, cmd->_keyCode);
+
+		break;
+
+	case MSG_SC34_ONBUMP:
+		g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene34_cactus, ST_CTS34_GROWNEMPTY2, QU_CTS34_FALLEFT, 1);
+		g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene34_cactus, ST_CTS34_GROWNEMPTY2, QU_CTS34_FALLRIGHT, 1);
+		break;
+
+	case MSG_LIFT_CLOSEDOOR:
+		g_fp->lift_closedoorSeq();
+		break;
+
+	case MSG_LIFT_EXITLIFT:
+		g_fp->lift_exitSeq(cmd);
+		break;
+
+	case MSG_LIFT_STARTEXITQUEUE:
+		g_fp->lift_startExitQueue();
+		break;
+
+	case MSG_SC22_HIDESTOOL:
+		sceneHandler34_hideStool();
+		break;
+
+	case MSG_SC34_CLIMB:
+		sceneHandler34_climb();
+		break;
+
+	case MSG_SC34_UNCLIMB:
+		sceneHandler34_unclimb();
+		break;
+
+	case MSG_SC22_SHOWSTOOL:
+		sceneHandler34_showStool();
+		break;
+
+	case MSG_SC34_SHOWBOX:
+		sceneHandler34_showBox();
+		break;
+
+	case MSG_SC34_ONCACTUS:
+		g_vars->scene34_var07 = 1;
+
+		getCurrSceneSc2MotionController()->clearEnabled();
+		getGameLoaderInteractionController()->disableFlag24();
+
+		g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+		break;
+
+	case MSG_SC34_SHOWVENT:
+		sceneHandler34_showVent();
+		break;
+
+	case 64:
+		g_fp->lift_sub05(cmd);
+		break;
+
+	case MSG_LIFT_GO:
+		g_fp->lift_goAnimation();
+		break;
+
+	case 29:
+		{
+			if (g_vars->scene34_var05) {
+				sceneHandler34_sub01(cmd);
+				break;
+			}
+
+			if (g_vars->scene34_var06) {
+				sceneHandler34_sub02(cmd);
+				break;
+			}
+
+			if (g_vars->scene34_var07) {
+				sceneHandler34_sub03(cmd);
+				break;
+			}
+
+			StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y);
+
+			if (ani) {
+				if ((ani->_id == ANI_STOOL_34 && cmd->_keyCode == ANI_INV_BOX) || (ani->_id == ANI_BOX_34 && cmd->_keyCode == ANI_INV_STOOL)) {
+					getGameLoaderInteractionController()->handleInteraction(g_fp->_aniMan, g_vars->scene34_vent, cmd->_keyCode);
+
+					cmd->_messageKind = 0;
+				}
+
+				if (ani->_id == ANI_LIFTBUTTON) {
+					g_fp->lift_sub1(ani);
+
+					cmd->_messageKind = 0;
+
+					break;
+				}
+			}
+
+			if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_keyCode)) {
+				int picId = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+				PictureObject *pic = g_fp->_currentScene->getPictureObjectById(picId, 0);
+
+				if (!pic || !canInteractAny(g_fp->_aniMan, pic, cmd->_keyCode)) {
+					if ((g_fp->_sceneRect.right - cmd->_sceneClickX < 47 && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1) || (cmd->_sceneClickX - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0)) {
+						g_fp->processArcade(cmd);
+						break;
+					}
+				}
+			}
+			break;
+		}
+
+	case 33:
+		if (g_fp->_aniMan2) {
+			int x = g_fp->_aniMan2->_ox;
+
+			if (x < g_fp->_sceneRect.left + g_vars->scene34_var01)
+				g_fp->_currentScene->_x = x - g_vars->scene34_var03 - g_fp->_sceneRect.left;
+
+			if (x > g_fp->_sceneRect.right - g_vars->scene34_var01)
+				g_fp->_currentScene->_x = x + g_vars->scene34_var03 - g_fp->_sceneRect.right;
+		}
+
+		--g_vars->scene34_var08;
+
+		if (!g_vars->scene34_var08)
+			sceneHandler34_sub04();
+
+		g_fp->_floaters->update();
+
+		g_fp->_behaviorManager->updateBehaviors();
+
+		g_fp->startSceneTrack();
+
+		break;
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: 0ab4bdd1da30c22aab1871b2ece2e34afa60e0fe
    https://github.com/scummvm/scummvm/commit/0ab4bdd1da30c22aab1871b2ece2e34afa60e0fe
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-12T12:04:55-08:00

Commit Message:
FULLPIPE: Enable scene34

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 11f8e19..36ec78d 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -899,7 +899,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = scene33_updateCursor;
 		break;
 
-#if 0
 	case SC_34:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_34");
 		scene->preloadMovements(sceneVar);
@@ -908,10 +907,11 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		scene->initObjectCursors("SC_34");
 		setSceneMusicParameters(sceneVar);
 		insertMessageHandler(sceneHandler34, 2, 2);
-		scene34_sub_42DEE0();
+		scene34_initBeh();
 		_updateCursorCallback = scene34_updateCursor;
 		break;
 
+#if 0
 	case SC_35:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_35");
 		scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 1348740..b3ebae93 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -156,6 +156,11 @@ void scene33_setupMusic();
 int sceneHandler33(ExCommand *cmd);
 int scene33_updateCursor();
 
+void scene34_initScene(Scene *sc);
+void scene34_initBeh();
+int sceneHandler34(ExCommand *cmd);
+int scene34_updateCursor();
+
 int scene36_updateCursor();
 void scene36_initScene(Scene *sc);
 int sceneHandler36(ExCommand *cmd);


Commit: af239cbd77c6e6be38edd166060ff1ccd3de4105
    https://github.com/scummvm/scummvm/commit/af239cbd77c6e6be38edd166060ff1ccd3de4105
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-12T13:00:34-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_fromCactus()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 492c6f4..5cb6668 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1156,6 +1156,7 @@ namespace Fullpipe {
 #define MSG_SC34_UNCLIMB 2492
 #define QU_SC34_ENTERLIFT 2819
 #define QU_SC34_EXITLIFT 2820
+#define QU_SC34_FROMCACTUS 4312
 #define QU_CTS34_FALLEFT 4316
 #define QU_CTS34_FALLRIGHT 4317
 #define ST_CTS34_EMPTY 2383
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 0a76c8d..ffb4ffa 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -124,8 +124,29 @@ void sceneHandler34_sub04() {
 	warning("STUB: sceneHandler34_sub04()");
 }
 
-void sceneHandler34_sub03(ExCommand *cmd) {
-	warning("STUB: sceneHandler34_sub03(cmd)");
+void sceneHandler34_fromCactus(ExCommand *cmd) {
+	if (g_fp->_aniMan->_movement || g_vars->scene34_cactus->_movement || (g_fp->_aniMan->_flags & 0x100)) {
+		cmd->_messageKind = 0;
+
+		return;
+	}
+
+	MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC34_FROMCACTUS), 0, 0);
+
+	ExCommand *ex = new ExCommand(ANI_MAN, 34, 256, 0, 0, 0, 1, 0, 0, 0);
+
+	ex->_messageNum = 0;
+	ex->_excFlags |= 3;
+	ex->_field_14 = 256;
+	mq->addExCommandToEnd(ex);
+
+	ex = cmd->createClone();
+	mq->addExCommandToEnd(ex);
+
+	mq->setFlags(mq->getFlags() | 1);
+	mq->chain(0);
+
+	g_fp->_aniMan->_flags |= 1;
 }
 
 void sceneHandler34_sub02(ExCommand *cmd) {
@@ -269,7 +290,7 @@ int sceneHandler34(ExCommand *cmd) {
 			}
 
 			if (g_vars->scene34_var07) {
-				sceneHandler34_sub03(cmd);
+				sceneHandler34_fromCactus(cmd);
 				break;
 			}
 






More information about the Scummvm-git-logs mailing list