[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