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

sev- sev at scummvm.org
Thu Feb 6 23:05:49 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:
2d2c9929f6 FULLPIPE: Implement sceneHandler27_calcWinArcade()
d492457c34 FULLPIPE: Implement sceneHandler27_batLogic()
998e86ae4e FULLPIPE: Removed cyrillic constants
f5ea651e39 FULLPIPE: Implement BallChain::init()


Commit: 2d2c9929f6a4ace150219cb803e796a1cdbaedce
    https://github.com/scummvm/scummvm/commit/2d2c9929f6a4ace150219cb803e796a1cdbaedce
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-06T13:50:37-08:00

Commit Message:
FULLPIPE: Implement sceneHandler27_calcWinArcade()

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



diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp
index 1807266..c6d945e 100644
--- a/engines/fullpipe/scenes/scene27.cpp
+++ b/engines/fullpipe/scenes/scene27.cpp
@@ -441,8 +441,46 @@ void sceneHandler27_batSetColors(int batn) {
 	}
 }
 
+void sceneHandler27_driverPushButton() {
+	warning("STUB: sceneHandler27_driverPushButton()");
+}
+
+void sceneHandler27_maidSwitchback() {
+	warning("STUB: sceneHandler27_maidSwitchback()");
+}
+
+void sceneHandler27_batLogic() {
+	warning("STUB: sceneHandler27_batLogic()");
+}
+
 void sceneHandler27_calcWinArcade() {
-	warning("STUB: sceneHandler27_calcWinArcade()");
+	if (!g_vars->scene27_var10 && !g_vars->scene27_var11) {
+		int numHilite = 0;
+
+		for (uint i = 0; i < g_vars->scene27_bats.size(); i++) {
+			if (g_vars->scene27_bats[i]->ani->_statics->_staticsId == ST_BTA_HILITE)
+				numHilite++;
+		}
+
+		if (numHilite >= 3) {
+			if (g_fp->getObjectState(sO_Driver) == g_fp->getObjectEnumState(sO_Driver, sO_WithSteering)) {
+				sceneHandler27_driverGiveVent();
+				sceneHandler27_maidSwitchback();
+
+				return;
+			}
+		}
+
+		if (!g_vars->scene27_balls.numBalls) {
+			sceneHandler27_driverPushButton();
+			sceneHandler27_maidSwitchback();
+			return;
+		}
+
+		sceneHandler27_batLogic();
+	}
+
+	sceneHandler27_maidSwitchback();
 }
 
 void sceneHandler27_sub02() {


Commit: d492457c34fb13494dfb66786e55dce33d01175c
    https://github.com/scummvm/scummvm/commit/d492457c34fb13494dfb66786e55dce33d01175c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-06T13:50:37-08:00

Commit Message:
FULLPIPE: Implement sceneHandler27_batLogic()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 730dc71..f1d2d87 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1096,11 +1096,17 @@ namespace Fullpipe {
 #define MSG_SC27_STARTWIPE 2057
 #define MSG_SC27_TAKEVENT 4584
 #define MV_BTA_FALL 2049
+#define MV_BTH_1_0 3366
+#define MV_BTH_2_1 3364
+#define MV_BTH_3_2 3362
+#define MV_BTH_4_3 3360
+#define MV_BTH_5_4 3358
 #define MV_MAN27_FLOW 1990
 #define MV_MAN27_THROWBET 1989
 #define PIC_SC27_HITZONE2 4756
 #define QU_DRV_GIVEVENT 2040
 #define QU_MID_CLEANVENT 4583
+#define QU_SC27_RESTARTBETS 3370
 #define QU_SC27_SHOWBET 3368
 #define SND_27_026 4127
 #define SND_27_027 4128
@@ -1108,6 +1114,11 @@ namespace Fullpipe {
 #define ST_BTA_FALL 2054
 #define ST_BTA_HILITE 2052
 #define ST_BTA_NORM 2028
+#define ST_BTH_1 3365
+#define ST_BTH_2 3363
+#define ST_BTH_3 3361
+#define ST_BTH_4 3359
+#define ST_BTH_5 3357
 #define ST_DRV_VENT 1996
 #define ST_MID_BROOM 2022
 #define ST_MID_SPADE 3489
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index a94f176..c8916f3 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -1374,5 +1374,8 @@ void FullpipeEngine::updateMap(PreloadItem *pre) {
     }
 }
 
+void BallChain::init(Ball **ball) {
+	warning("STUB: BallChain::init()");
+}
 
 } // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index d07e926..a83c288 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -206,6 +206,8 @@ struct BallChain {
 
 	BallChain() : pHead(0), field_8(0), pTail(0), numBalls(0), cPlex(0), cPlexLen(0) {}
 	~BallChain() { free(cPlex); }
+
+	void init(Ball **ball);
 };
 
 class Vars {
diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp
index c6d945e..407cf38 100644
--- a/engines/fullpipe/scenes/scene27.cpp
+++ b/engines/fullpipe/scenes/scene27.cpp
@@ -450,7 +450,68 @@ void sceneHandler27_maidSwitchback() {
 }
 
 void sceneHandler27_batLogic() {
-	warning("STUB: sceneHandler27_batLogic()");
+	if (g_vars->scene27_balls.numBalls) {
+		g_vars->scene27_bat = g_vars->scene27_balls.pHead->ani;
+
+		g_vars->scene27_balls.pHead = g_vars->scene27_balls.pHead->p0;
+
+		if (g_vars->scene27_balls.pHead)
+			g_vars->scene27_balls.pHead->p0->p1 = 0;
+		else
+			g_vars->scene27_balls.field_8 = 0;
+
+		g_vars->scene27_balls.init(&g_vars->scene27_balls.pHead->p0);
+
+		int mv;
+
+		switch (g_vars->scene27_batHandler->_statics->_staticsId) {
+		case ST_BTH_5:
+			mv = MV_BTH_5_4;
+			break;
+
+		case ST_BTH_4:
+			mv = MV_BTH_4_3;
+			break;
+
+		case ST_BTH_3:
+			mv = MV_BTH_3_2;
+			break;
+
+		case ST_BTH_2:
+			mv = MV_BTH_2_1;
+			break;
+
+		case ST_BTH_1:
+			mv = MV_BTH_1_0;
+			break;
+
+		default:
+			chainQueue(QU_SC27_RESTARTBETS, 1);
+
+			getCurrSceneSc2MotionController()->setEnabled();
+			getGameLoaderInteractionController()->enableFlag24();
+
+			g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1);
+
+			return;
+		}
+
+		MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+
+		mq->setFlags(mq->getFlags() | 1);
+
+		ExCommand *ex = new ExCommand(g_vars->scene27_batHandler->_id, 1, mv, 0, 0, 0, 1, 0, 0, 0);
+		ex->_excFlags |= 2;
+		mq->addExCommandToEnd(ex);
+
+		ex = new ExCommand(0, 17, MSG_SC27_CLICKBET, 0, 0, 0, 1, 0, 0, 0);
+		ex->_excFlags |= 3;
+		mq->addExCommandToEnd(ex);
+
+		mq->chain(0);
+	} else {
+		g_vars->scene27_bat = 0;
+	}
 }
 
 void sceneHandler27_calcWinArcade() {


Commit: 998e86ae4e5c8f76523e789de54e09f6184e5244
    https://github.com/scummvm/scummvm/commit/998e86ae4e5c8f76523e789de54e09f6184e5244
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-06T13:50:38-08:00

Commit Message:
FULLPIPE: Removed cyrillic constants

Changed paths:
    engines/fullpipe/scenes.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c8916f3..3f9d6c3 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -31,6 +31,7 @@
 #include "fullpipe/behavior.h"
 
 #include "fullpipe/constants.h"
+#include "fullpipe/objectnames.h"
 #include "fullpipe/scenes.h"
 #include "fullpipe/interaction.h"
 
@@ -1229,7 +1230,7 @@ void FullpipeEngine::updateMap(PreloadItem *pre) {
 		break;
 
 	case SC_23:
-		if (getObjectState("Верхний люк_23") == getObjectEnumState("Верхний люк_23", "Открыт")) {
+		if (getObjectState(sO_UpperHatch_23) == getObjectEnumState(sO_UpperHatch_23, sO_Opened)) {
 			updateMapPiece(PIC_MAP_S23_1, 0);
 			updateMapPiece(PIC_MAP_S23_2, 1);
 			updateMapPiece(PIC_MAP_P07, 1);
@@ -1302,7 +1303,7 @@ void FullpipeEngine::updateMap(PreloadItem *pre) {
 	case SC_31:
 		updateMapPiece(PIC_MAP_S31_2, 1);
 
-		if (getObjectState("Кактус") == getObjectEnumState("Кактус", "Вырос"))
+		if (getObjectState(sO_Cactus) == getObjectEnumState(sO_Cactus, sO_HasGrown))
 			updateMapPiece(PIC_MAP_S31_1, 1);
 
 		if (pre->keyCode == TrubaRight)
@@ -1313,7 +1314,7 @@ void FullpipeEngine::updateMap(PreloadItem *pre) {
 	case SC_32:
 		updateMapPiece(PIC_MAP_S32_2, 1);
 
-		if (getObjectState("Кактус") == getObjectEnumState("Кактус", "Вырос"))
+		if (getObjectState(sO_Cactus) == getObjectEnumState(sO_Cactus, sO_HasGrown))
 			updateMapPiece(PIC_MAP_S32_1, 1);
 
 		break;


Commit: f5ea651e39dfce1a16367ef36b1532d74079f45a
    https://github.com/scummvm/scummvm/commit/f5ea651e39dfce1a16367ef36b1532d74079f45a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-06T13:50:38-08:00

Commit Message:
FULLPIPE: Implement BallChain::init()

Changed paths:
    engines/fullpipe/scenes.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 3f9d6c3..b60e2fc 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -1376,7 +1376,20 @@ void FullpipeEngine::updateMap(PreloadItem *pre) {
 }
 
 void BallChain::init(Ball **ball) {
-	warning("STUB: BallChain::init()");
+	*ball = pTail;
+	pTail = (Ball *)ball;
+	numBalls--;
+
+	if (!numBalls) {
+		for (Ball *i = pHead; i; i = i->p0 )
+			;
+		numBalls = 0;
+		pTail = 0;
+		field_8 = 0;
+		pHead = 0;
+		free(cPlex);
+		cPlex = 0;
+	}
 }
 
 } // End of namespace Fullpipe






More information about the Scummvm-git-logs mailing list