[Scummvm-cvs-logs] scummvm master -> 34bd3aa749ad01c1e136805605a113c57f5fd4fa
sev-
sev at scummvm.org
Wed Jan 1 23:49:52 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:
e92dc69117 FULLPIPE: Add more code to scene17
4b91d62d64 FULLPIPE: Implement sceneHandler17_fillBottle()
17d0be2fd1 FULLPIPE: Implement sceneHandler17_testTruba() and sceneHandler17_updateFlies()
0072cf1ce6 FULLPIPE: Rename vars in scene17
6212cc64aa FULLPIPE: More renames in scene17
dd143adbaa FULLPIPE: Implement scene17_restoreState()
7873f59ad5 FULLPIPE: Implement scene17_updateCursor()
34bd3aa749 FULLPIPE: Enable scene17. This completes the scene
Commit: e92dc6911785660a8e0d9e1db407aa52872f9609
https://github.com/scummvm/scummvm/commit/e92dc6911785660a8e0d9e1db407aa52872f9609
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Add more code to scene17
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index a292be0..2ef2b54 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -690,6 +690,9 @@ namespace Fullpipe {
// Scene 17
#define ANI_HAND17 1446
+#define ANI_INV_SUGAR 1410
+#define ANI_JET_17 2746
+#define ANI_MUG_17 2737
#define MSG_SC17_DROP 3414
#define MSG_SC17_FILLBOTTLE 1436
#define MSG_SC17_HIDESUGAR 1417
@@ -702,7 +705,13 @@ namespace Fullpipe {
#define QU_HND17_ASK 1456
#define QU_HND17_ATTRACT 1455
#define QU_HND17_TOCYCLE 1454
+#define QU_JET17_DROP 3295
+#define QU_SC17_FILLMUG_DROP 3415
+#define QU_SC17_SHOWBOTTLE 1429
+#define QU_SC17_SHOWSUGAR 1415
+#define ST_HND17_ATTRACT 1451
#define ST_HND17_EMPTY 1448
+#define ST_MUG17_EMPTY 2739
// Scene 24
#define ANI_DROP_24 3505
@@ -719,7 +728,6 @@ namespace Fullpipe {
#define SND_24_006 4041
#define SND_24_007 4042
#define ST_DRP24_EMPTY 3507
-#define ST_HND17_ATTRACT 1451
#define ST_WTR24_FLOWLOWER 1843
// Debug scene
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index e08299b..d7cd25b 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -49,7 +49,16 @@ void scene17_initScene(Scene *sc) {
}
void sceneHandler17_drop() {
- warning("STUB: sceneHandler17_drop()");
+ StaticANIObject *mug = g_fp->_currentScene->getStaticANIObject1ById(ANI_MUG_17, -1);
+ StaticANIObject *jet = g_fp->_currentScene->getStaticANIObject1ById(ANI_JET_17, -1);
+
+ if (mug && mug->_flags & 4) {
+ mug->changeStatics2(ST_MUG17_EMPTY);
+ chainQueue(QU_SC17_FILLMUG_DROP, 0);
+ } else if (jet) {
+ jet->queueMessageQueue(0);
+ chainQueue(QU_JET17_DROP, 0);
+ }
}
void sceneHandler17_fillBottle() {
@@ -61,15 +70,20 @@ void sceneHandler17_testTruba() {
}
void sceneHandler17_showBottle() {
- warning("STUB: sceneHandler17_showBottle()");
+ chainQueue(QU_SC17_SHOWBOTTLE, 0);
}
void sceneHandler17_hideSugar() {
- warning("STUB: sceneHandler17_hideSugar()");
+ StaticANIObject *sugar = g_fp->_currentScene->getStaticANIObject1ById(ANI_INV_SUGAR, -1);
+
+ if (sugar)
+ sugar->hide();
}
void sceneHandler17_showSugar() {
- warning("STUB: sceneHandler17_showSugar()");
+ chainQueue(QU_SC17_SHOWSUGAR, 0);
+
+ g_vars->scene17_var06 = 1;
}
void sceneHandler17_moonshineFill() {
Commit: 4b91d62d6459173b0d7046bbb7ad1a7106cd852e
https://github.com/scummvm/scummvm/commit/4b91d62d6459173b0d7046bbb7ad1a7106cd852e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Implement sceneHandler17_fillBottle()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 2ef2b54..ef3fa44 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -689,10 +689,13 @@ namespace Fullpipe {
#define ST_MUG_FULL 1360
// Scene 17
+#define ANI_BOOT_17 4220
#define ANI_HAND17 1446
+#define ANI_INV_BOTTLE 1418
#define ANI_INV_SUGAR 1410
#define ANI_JET_17 2746
#define ANI_MUG_17 2737
+#define ANI_SAMOGONSHCHIK 1397
#define MSG_SC17_DROP 3414
#define MSG_SC17_FILLBOTTLE 1436
#define MSG_SC17_HIDESUGAR 1417
@@ -706,12 +709,18 @@ namespace Fullpipe {
#define QU_HND17_ATTRACT 1455
#define QU_HND17_TOCYCLE 1454
#define QU_JET17_DROP 3295
+#define QU_JET17_FLOW 3294
+#define QU_SC17_FILLBOOT 4237
+#define QU_SC17_FILLBOTTLE 1437
+#define QU_SC17_FILLMUG 2750
#define QU_SC17_FILLMUG_DROP 3415
#define QU_SC17_SHOWBOTTLE 1429
#define QU_SC17_SHOWSUGAR 1415
+#define QU_SMG_FILLBOTTLE 1433
#define ST_HND17_ATTRACT 1451
#define ST_HND17_EMPTY 1448
#define ST_MUG17_EMPTY 2739
+#define ST_SMG_SIT 1399
// Scene 24
#define ANI_DROP_24 3505
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index d7cd25b..2b95c37 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -62,7 +62,18 @@ void sceneHandler17_drop() {
}
void sceneHandler17_fillBottle() {
- warning("STUB: sceneHandler17_fillBottle()");
+ StaticANIObject *bottle = g_fp->_currentScene->getStaticANIObject1ById(ANI_INV_BOTTLE, -1);
+ StaticANIObject *mug = g_fp->_currentScene->getStaticANIObject1ById(ANI_MUG_17, -1);
+ StaticANIObject *boot = g_fp->_currentScene->getStaticANIObject1ById(ANI_BOOT_17, -1);
+
+ if (bottle && (bottle->_flags & 4))
+ chainQueue(QU_SC17_FILLBOTTLE, 1);
+ else if (mug && (mug->_flags & 4) && mug->_statics->_staticsId == ST_MUG17_EMPTY)
+ chainQueue(QU_SC17_FILLMUG, 1);
+ else if (boot && (boot->_flags & 4))
+ chainQueue(QU_SC17_FILLBOOT, 1);
+ else
+ chainQueue(QU_JET17_FLOW, 1);
}
void sceneHandler17_testTruba() {
@@ -87,7 +98,14 @@ void sceneHandler17_showSugar() {
}
void sceneHandler17_moonshineFill() {
- warning("STUB: sceneHandler17_moonshineFill()");
+ StaticANIObject *moonshiner = g_fp->_currentScene->getStaticANIObject1ById(ANI_SAMOGONSHCHIK, -1);
+
+ if (!(moonshiner->_flags & 0x80)) {
+ moonshiner->changeStatics2(ST_SMG_SIT);
+ chainObjQueue(moonshiner, QU_SMG_FILLBOTTLE, 1);
+
+ g_vars->scene17_var06 = 0;
+ }
}
void sceneHandler17_updateFlies() {
Commit: 17d0be2fd1a635ca09b7b4bb7713e19b9c2dc099
https://github.com/scummvm/scummvm/commit/17d0be2fd1a635ca09b7b4bb7713e19b9c2dc099
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Implement sceneHandler17_testTruba() and sceneHandler17_updateFlies()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ef3fa44..c1a7487 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -703,6 +703,7 @@ namespace Fullpipe {
#define MSG_SC17_SHOWSUGAR 1416
#define MSG_SC17_TESTTRUBA 1458
#define MSG_SC17_UPDATEHAND 1560
+#define MV_HND17_FIGA 1449
#define PIC_SC17_RTRUBA 1323
#define PIC_SC17_RTRUBA2 5297
#define QU_HND17_ASK 1456
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index 2b95c37..749d0d8 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -77,7 +77,12 @@ void sceneHandler17_fillBottle() {
}
void sceneHandler17_testTruba() {
- warning("STUB: sceneHandler17_testTruba()");
+ if (g_vars->scene17_hand->isIdle()) {
+ if (!g_vars->scene17_hand->_movement || g_vars->scene17_hand->_movement->_id != MV_HND17_FIGA) {
+ g_vars->scene17_hand->changeStatics2(ST_HND17_EMPTY);
+ g_vars->scene17_hand->startAnim(MV_HND17_FIGA, 0, -1);
+ }
+ }
}
void sceneHandler17_showBottle() {
@@ -109,7 +114,11 @@ void sceneHandler17_moonshineFill() {
}
void sceneHandler17_updateFlies() {
- warning("STUB: sceneHandler17_updateFlies()");
+ g_fp->_floaters->genFlies(g_fp->_currentScene, 239, -50, 20, 4);
+
+ g_fp->_floaters->_array2[0]->countdown = g_fp->_rnd->getRandomNumber(5) + 6; // FIXME. Check
+ g_fp->_floaters->_array2[0]->val6 = 239;
+ g_fp->_floaters->_array2[0]->val7 = -50;
}
Commit: 0072cf1ce61638ea65380fbcb3a513e99f710bbf
https://github.com/scummvm/scummvm/commit/0072cf1ce61638ea65380fbcb3a513e99f710bbf
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Rename vars in scene17
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 5a21543..3d81e1b 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -239,17 +239,13 @@ Vars::Vars() {
scene16_sound = 0;
scene16_placeIsOccupied = false;
- scene17_var01 = 0;
- scene17_var02 = 0;
- scene17_var03 = 0;
- scene17_var04 = 0;
- scene17_var05 = 0;
- scene17_var06 = 0;
+ scene17_flyState = 0;
+ scene17_sugarIsShown = false;
scene17_var07 = 0;
- scene17_var08 = 0;
+ scene17_flyCountdown = 0;
scene17_hand = 0;
- scene17_var09 = 0;
- scene17_var10 = 0;
+ scene17_handPhase = false;
+ scene17_sceneEdgeX = 0;
scene24_jetIsOn = false;
scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 012cd20..0560813 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -320,17 +320,13 @@ public:
int scene16_sound;
bool scene16_placeIsOccupied;
- int scene17_var01;
- int scene17_var02;
- int scene17_var03;
- int scene17_var04;
- int scene17_var05;
- int scene17_var06;
+ int scene17_flyState;
+ bool scene17_sugarIsShown;
int scene17_var07;
- int scene17_var08;
+ int scene17_flyCountdown;
StaticANIObject *scene17_hand;
- int scene17_var09;
- int scene17_var10;
+ bool scene17_handPhase;
+ int scene17_sceneEdgeX;
bool scene24_jetIsOn;
bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index 749d0d8..11bf7f2 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -37,14 +37,10 @@
namespace Fullpipe {
void scene17_initScene(Scene *sc) {
- g_vars->scene17_var01 = 200;
- g_vars->scene17_var02 = 200;
- g_vars->scene17_var03 = 300;
- g_vars->scene17_var04 = 300;
- g_vars->scene17_var05 = 1;
- g_vars->scene17_var06 = 0;
+ g_vars->scene17_flyState = 1;
+ g_vars->scene17_sugarIsShown = false;
g_vars->scene17_var07 = 0;
- g_vars->scene17_var08 = 0;
+ g_vars->scene17_flyCountdown = 0;
g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
}
@@ -99,7 +95,7 @@ void sceneHandler17_hideSugar() {
void sceneHandler17_showSugar() {
chainQueue(QU_SC17_SHOWSUGAR, 0);
- g_vars->scene17_var06 = 1;
+ g_vars->scene17_sugarIsShown = true;
}
void sceneHandler17_moonshineFill() {
@@ -109,7 +105,7 @@ void sceneHandler17_moonshineFill() {
moonshiner->changeStatics2(ST_SMG_SIT);
chainObjQueue(moonshiner, QU_SMG_FILLBOTTLE, 1);
- g_vars->scene17_var06 = 0;
+ g_vars->scene17_sugarIsShown = false;
}
}
@@ -136,12 +132,12 @@ int sceneHandler17(ExCommand *cmd) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
- g_vars->scene17_var09 = 0;
+ g_vars->scene17_handPhase = false;
} else {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 1);
- g_vars->scene17_var09 = 1;
+ g_vars->scene17_handPhase = true;
}
break;
@@ -171,7 +167,7 @@ int sceneHandler17(ExCommand *cmd) {
if (pic == PIC_SC17_RTRUBA2 || pic == PIC_SC17_RTRUBA) {
if (cmd->_keyCode == ANI_INV_COIN || cmd->_keyCode == ANI_INV_BOOT || cmd->_keyCode == ANI_INV_HAMMER) {
- if (g_vars->scene17_var09) {
+ if (g_vars->scene17_handPhase) {
if (g_fp->_aniMan->isIdle()) {
if (!(g_fp->_aniMan->_flags & 0x100)) {
handleObjectInteraction(g_fp->_aniMan, g_vars->scene17_hand, cmd->_keyCode);
@@ -186,32 +182,32 @@ int sceneHandler17(ExCommand *cmd) {
case 33:
{
- int x = g_vars->scene17_var10;
- g_vars->scene17_var07 = g_vars->scene17_var10;
+ int x = g_vars->scene17_sceneEdgeX;
+ g_vars->scene17_var07 = g_vars->scene17_sceneEdgeX;
if (g_fp->_aniMan2) {
x = g_fp->_aniMan2->_ox;
- g_vars->scene17_var10 = x;
+ g_vars->scene17_sceneEdgeX = x;
- if (x < g_fp->_sceneRect.left + g_vars->scene17_var01) {
- g_fp->_currentScene->_x = x - g_vars->scene17_var03 - g_fp->_sceneRect.left;
+ if (x < g_fp->_sceneRect.left + 200) {
+ g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left;
- x = g_vars->scene17_var10;
+ x = g_vars->scene17_sceneEdgeX;
}
- if (x > g_fp->_sceneRect.right - g_vars->scene17_var01) {
- g_fp->_currentScene->_x = x + g_vars->scene17_var03 - g_fp->_sceneRect.right;
- x = g_vars->scene17_var10;
+ if (x > g_fp->_sceneRect.right - 200) {
+ g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
+ x = g_vars->scene17_sceneEdgeX;
}
}
- if (g_vars->scene17_var06) {
+ if (g_vars->scene17_sugarIsShown) {
sceneHandler17_moonshineFill();
- x = g_vars->scene17_var10;
+ x = g_vars->scene17_sceneEdgeX;
}
- if (g_vars->scene17_var09) {
+ if (g_vars->scene17_handPhase) {
if (g_vars->scene17_var07 < 410 && x >= 410) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_ATTRACT, QU_HND17_ATTRACT, 0);
@@ -223,9 +219,9 @@ int sceneHandler17(ExCommand *cmd) {
}
}
- --g_vars->scene17_var08;
+ --g_vars->scene17_flyCountdown;
- if (!g_vars->scene17_var08)
+ if (!g_vars->scene17_flyCountdown)
sceneHandler17_updateFlies();
g_fp->_floaters->update();
Commit: 6212cc64aacb07141a8ba6d0fde747efc73b682e
https://github.com/scummvm/scummvm/commit/6212cc64aacb07141a8ba6d0fde747efc73b682e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: More renames in scene17
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 3d81e1b..899d215 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -241,7 +241,7 @@ Vars::Vars() {
scene17_flyState = 0;
scene17_sugarIsShown = false;
- scene17_var07 = 0;
+ scene17_sceneOldEdgeX = 0;
scene17_flyCountdown = 0;
scene17_hand = 0;
scene17_handPhase = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 0560813..b4052f4 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -322,7 +322,7 @@ public:
int scene17_flyState;
bool scene17_sugarIsShown;
- int scene17_var07;
+ int scene17_sceneOldEdgeX;
int scene17_flyCountdown;
StaticANIObject *scene17_hand;
bool scene17_handPhase;
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index 11bf7f2..cd2a004 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -39,7 +39,7 @@ namespace Fullpipe {
void scene17_initScene(Scene *sc) {
g_vars->scene17_flyState = 1;
g_vars->scene17_sugarIsShown = false;
- g_vars->scene17_var07 = 0;
+ g_vars->scene17_sceneOldEdgeX = 0;
g_vars->scene17_flyCountdown = 0;
g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
}
@@ -183,7 +183,7 @@ int sceneHandler17(ExCommand *cmd) {
case 33:
{
int x = g_vars->scene17_sceneEdgeX;
- g_vars->scene17_var07 = g_vars->scene17_sceneEdgeX;
+ g_vars->scene17_sceneOldEdgeX = g_vars->scene17_sceneEdgeX;
if (g_fp->_aniMan2) {
x = g_fp->_aniMan2->_ox;
@@ -208,11 +208,11 @@ int sceneHandler17(ExCommand *cmd) {
}
if (g_vars->scene17_handPhase) {
- if (g_vars->scene17_var07 < 410 && x >= 410) {
+ if (g_vars->scene17_sceneOldEdgeX < 410 && x >= 410) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_ATTRACT, QU_HND17_ATTRACT, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 1);
- } else if (g_vars->scene17_var07 > 410 && x <= 410) {
+ } else if (g_vars->scene17_sceneOldEdgeX > 410 && x <= 410) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_ATTRACT, QU_HND17_ATTRACT, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
Commit: dd143adbaaf21dfc19b7ad20a2e6243164ddfc39
https://github.com/scummvm/scummvm/commit/dd143adbaaf21dfc19b7ad20a2e6243164ddfc39
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Implement scene17_restoreState()
Changed paths:
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index cd2a004..ef9c0d2 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -44,6 +44,32 @@ void scene17_initScene(Scene *sc) {
g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
}
+void scene17_restoreState() {
+ if (g_fp->getObjectState(sO_UsherHand) == g_fp->getObjectEnumState(sO_UsherHand, sO_WithCoin)) {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
+
+ g_vars->scene17_handPhase = false;
+ } else {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 1);
+
+ g_vars->scene17_handPhase = true;
+ }
+
+ g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_17"));
+
+ g_vars->scene17_flyState = g_fp->getObjectState(sO_Fly_17);
+
+ if (g_vars->scene17_flyState <= 0 ) {
+ g_vars->scene17_flyCountdown = g_fp->_rnd->getRandomNumber(600) + 600; // FIXME. Check
+
+ g_vars->scene17_flyState = g_fp->_rnd->getRandomNumber(4) + 1; // FIXME. Check
+ }
+
+ g_fp->setObjectState(sO_Fly_17, g_vars->scene17_flyState - 1);
+}
+
void sceneHandler17_drop() {
StaticANIObject *mug = g_fp->_currentScene->getStaticANIObject1ById(ANI_MUG_17, -1);
StaticANIObject *jet = g_fp->_currentScene->getStaticANIObject1ById(ANI_JET_17, -1);
Commit: 7873f59ad5d12ca7d127925e4a1173fc473e1793
https://github.com/scummvm/scummvm/commit/7873f59ad5d12ca7d127925e4a1173fc473e1793
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:34-08:00
Commit Message:
FULLPIPE: Implement scene17_updateCursor()
Changed paths:
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index ef9c0d2..231934d 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -70,6 +70,25 @@ void scene17_restoreState() {
g_fp->setObjectState(sO_Fly_17, g_vars->scene17_flyState - 1);
}
+int scene17_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_objectIdAtCursor != PIC_SC17_RTRUBA2 && g_fp->_objectIdAtCursor != PIC_SC17_RTRUBA)
+ return g_fp->_cursorId;
+
+ if (!g_vars->scene17_handPhase)
+ return g_fp->_cursorId;
+
+ int item = g_fp->_inventory->getSelectedItemId();
+
+ if ((g_fp->_cursorId != PIC_CSR_DEFAULT_INV || item != ANI_INV_COIN) && item != ANI_INV_BOOT && item != ANI_INV_HAMMER)
+ ; // empty
+ else
+ g_fp->_cursorId = PIC_CSR_ITN_INV;
+
+ return g_fp->_cursorId;
+}
+
void sceneHandler17_drop() {
StaticANIObject *mug = g_fp->_currentScene->getStaticANIObject1ById(ANI_MUG_17, -1);
StaticANIObject *jet = g_fp->_currentScene->getStaticANIObject1ById(ANI_JET_17, -1);
Commit: 34bd3aa749ad01c1e136805605a113c57f5fd4fa
https://github.com/scummvm/scummvm/commit/34bd3aa749ad01c1e136805605a113c57f5fd4fa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T14:48:35-08:00
Commit Message:
FULLPIPE: Enable scene17. This completes the scene
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 899d215..c8ace3c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -578,7 +578,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene16_updateCursor;
break;
-#if 0
case SC_17:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_17");
scene->preloadMovements(sceneVar);
@@ -587,10 +586,11 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
scene->initObjectCursors("SC_17");
setSceneMusicParameters(sceneVar);
addMessageHandler(sceneHandler17, 2);
- scene17_sub_41F060();
+ scene17_restoreState();
_updateCursorCallback = scene17_updateCursor;
break;
+#if 0
case SC_18:
sub_40E1B0();
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_18");
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index b4052f4..358c6bc 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -96,6 +96,11 @@ void scene16_initScene(Scene *sc);
int sceneHandler16(ExCommand *cmd);
int scene16_updateCursor();
+void scene17_initScene(Scene *sc);
+void scene17_restoreState();
+int sceneHandler17(ExCommand *cmd);
+int scene17_updateCursor();
+
void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
More information about the Scummvm-git-logs
mailing list