[Scummvm-cvs-logs] scummvm master -> b2933f9c018a7366df21405df3161cf3c2148a87
sev-
sev at scummvm.org
Wed Jan 1 14:00:55 CET 2014
This automated email contains information about 9 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
86081fbc76 FULLPIPE: Implement scene16_updateCursor()
4a191f995c FULLPIPE: implement sceneHandler16()
65b845b522 FULLPIPE: Enable scene16
3fccfcdc54 FULLPIPE: Add some code to scene16
ec682de1f2 FULLPIPE: Implement sceneHandler16_laughSound()
1fea33cf4b FULLPIPE: sceneHandler16_mugClick()
eca37854d5 FULLPIPE: Implement sceneHandler16_startLaugh()
ba33bd4aed FULLPIPE: Implement sceneHandler16_showBearded()
b2933f9c01 FULLPIPE: Implement sceneHandler16_fillMug()
Commit: 86081fbc76cbe4f1d0a1d5c75a5aa97d500e9546
https://github.com/scummvm/scummvm/commit/86081fbc76cbe4f1d0a1d5c75a5aa97d500e9546
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T03:35:09-08:00
Commit Message:
FULLPIPE: Implement scene16_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1b7d8ea..cc82ee2 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -649,8 +649,10 @@ namespace Fullpipe {
#define ANI_MUG 1296
#define ANI_WIRE16 1344
#define MV_GRL_LAUGH_POPA 3278
+#define PIC_SC16_TUMBA 1368
#define SND_16_034 3854
#define ST_MUG_EMPTY 1298
+#define ST_MUG_FULL 1360
// Scene 24
#define ANI_DROP_24 3505
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 9b952ec..b205385 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -110,4 +110,18 @@ void scene16_initScene(Scene *sc) {
}
}
+int scene16_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_objectIdAtCursor == PIC_SC16_TUMBA) {
+ if (g_fp->_cursorId == PIC_CSR_DEFAULT)
+ g_fp->_cursorId = PIC_CSR_ITN;
+ } else {
+ if (g_fp->_objectIdAtCursor == ANI_MUG && g_fp->_cursorId == PIC_CSR_ITN && g_vars->scene16_mug->_statics->_staticsId == ST_MUG_FULL)
+ g_fp->_cursorId = PIC_CSR_ITN_GREEN;
+ }
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: 4a191f995cf2abfab8d4e674487a2270b019396f
https://github.com/scummvm/scummvm/commit/4a191f995cf2abfab8d4e674487a2270b019396f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:09:19-08:00
Commit Message:
FULLPIPE: implement sceneHandler16()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index cc82ee2..ae5288f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -648,6 +648,18 @@ namespace Fullpipe {
#define ANI_JETTIE 1392
#define ANI_MUG 1296
#define ANI_WIRE16 1344
+#define MSG_SC16_FILLMUG 1363
+#define MSG_SC16_HIDEMAN 1357
+#define MSG_SC16_HIDEMUG 1351
+#define MSG_SC16_HIDEWIRE 1349
+#define MSG_SC16_LAUGHSOUND 4993
+#define MSG_SC16_MUGCLICK 1366
+#define MSG_SC16_SHOWBEARDED 4956
+#define MSG_SC16_SHOWMAN 1358
+#define MSG_SC16_SHOWMUG 1352
+#define MSG_SC16_SHOWMUGFULL 1396
+#define MSG_SC16_SHOWWIRE 1350
+#define MSG_SC16_STARTLAUGH 1374
#define MV_GRL_LAUGH_POPA 3278
#define PIC_SC16_TUMBA 1368
#define SND_16_034 3854
@@ -658,6 +670,7 @@ namespace Fullpipe {
#define ANI_DROP_24 3505
#define ANI_JET24 1837
#define ANI_WATER24 1834
+#define MV_MAN_TURN_RL 332
#define MV_WTR24_FLOW 1835
#define MV_WTR24_FLOWLOWER 1844
#define MV_JET24_FLOW 1838
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 9ab3328..679095a 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -242,6 +242,8 @@ Vars::Vars() {
scene16_var09 = 0;
scene16_sound = 0;
scene16_var10 = 0;
+ scene16_var11 = 0;
+ scene16_var12 = 0;
scene24_jetIsOn = false;
scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index d8dcf89..1b9bd3a 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -319,6 +319,8 @@ public:
int scene16_var09;
int scene16_sound;
int scene16_var10;
+ int scene16_var11;
+ int scene16_var12;
bool scene24_jetIsOn;
bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index b205385..5804f7d 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -124,4 +124,162 @@ int scene16_updateCursor() {
return g_fp->_cursorId;
}
+void sceneHandler16_laughSound() {
+ warning("STUB: sceneHandler16_laughSound()");
+}
+
+void sceneHandler16_showBearded() {
+ warning("STUB: sceneHandler16_showBearded()");
+}
+
+void sceneHandler16_showMugFull() {
+ warning("STUB: sceneHandler16_showMugFull()");
+}
+
+void sceneHandler16_fillMug() {
+ warning("STUB: sceneHandler16_fillMug()");
+}
+
+void sceneHandler16_startLaugh() {
+ warning("STUB: sceneHandler16_startLaugh()");
+}
+
+void sceneHandler16_mugClick() {
+ warning("STUB: sceneHandler16_mugClick()");
+}
+
+void sceneHandler16_showMan() {
+ warning("STUB: sceneHandler16_showMan()");
+}
+
+void sceneHandler16_showMug() {
+ warning("STUB: sceneHandler16_showMug()");
+}
+
+void sceneHandler16_hideMan() {
+ warning("STUB: sceneHandler16_hideMan()");
+}
+
+void sceneHandler16_hideMug() {
+ warning("STUB: sceneHandler16_hideMug()");
+}
+
+void sceneHandler16_hideWire() {
+ warning("STUB: sceneHandler16_hideWire()");
+}
+
+void sceneHandler16_showWire() {
+ warning("STUB: sceneHandler16_showWire()");
+}
+
+void sceneHandler16_sub01() {
+ warning("STUB: sceneHandler16_sub01()");
+}
+
+void sceneHandler16_sub02() {
+ warning("STUB: sceneHandler16_sub02()");
+}
+
+void sceneHandler16_sub03() {
+ warning("STUB: sceneHandler16_sub03()");
+}
+
+int sceneHandler16(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch(cmd->_messageNum) {
+ case MSG_SC16_LAUGHSOUND:
+ sceneHandler16_laughSound();
+ break;
+
+ case MSG_SC16_SHOWBEARDED:
+ sceneHandler16_showBearded();
+ break;
+
+ case MSG_SC16_SHOWMUGFULL:
+ sceneHandler16_showMugFull();
+ break;
+
+ case MSG_SC16_FILLMUG:
+ sceneHandler16_fillMug();
+ break;
+
+ case MSG_SC16_STARTLAUGH:
+ sceneHandler16_startLaugh();
+ break;
+
+ case MSG_SC16_MUGCLICK:
+ if (!g_fp->_aniMan->isIdle() || g_fp->_aniMan->_flags & 0x100)
+ cmd->_messageKind = 0;
+ else
+ sceneHandler16_mugClick();
+
+ break;
+
+ case MSG_SC16_SHOWMAN:
+ sceneHandler16_showMan();
+ break;
+
+ case MSG_SC16_SHOWMUG:
+ sceneHandler16_showMug();
+ break;
+
+ case MSG_SC16_HIDEMAN:
+ sceneHandler16_hideMan();
+ break;
+
+ case MSG_SC16_HIDEMUG:
+ sceneHandler16_hideMug();
+ break;
+
+ case MSG_SC16_HIDEWIRE:
+ sceneHandler16_hideWire();
+ break;
+
+ case MSG_SC16_SHOWWIRE:
+ sceneHandler16_showWire();
+ break;
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ g_vars->scene16_var11 = x;
+ g_vars->scene16_var12 = g_fp->_aniMan2->_oy;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene16_var01) {
+ g_fp->_currentScene->_x = x - g_vars->scene16_var03 - g_fp->_sceneRect.left;
+
+ x = g_vars->scene16_var11;
+ }
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene16_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene16_var03 - g_fp->_sceneRect.right;
+ }
+
+ if (g_vars->scene16_var10) {
+ g_vars->scene16_var08++;
+
+ if (g_vars->scene16_var08 < 280) {
+ sceneHandler16_sub01();
+
+ g_vars->scene16_var08 = 0;
+ }
+ }
+
+ if (g_vars->scene16_var09) {
+ if (g_fp->_aniMan->_movement)
+ if (g_fp->_aniMan->_movement->_id == MV_MAN_TURN_RL)
+ sceneHandler16_sub03();
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+ g_fp->startSceneTrack();
+
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 65b845b522437164a5d15bbd3ea688ba89528921
https://github.com/scummvm/scummvm/commit/65b845b522437164a5d15bbd3ea688ba89528921
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:10:18-08:00
Commit Message:
FULLPIPE: Enable scene16
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 679095a..5c01ba5 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -565,7 +565,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene15_updateCursor;
break;
-#if 0
case SC_16:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_16");
scene->preloadMovements(sceneVar);
@@ -577,6 +576,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene16_updateCursor;
break;
+#if 0
case SC_17:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_17");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 1b9bd3a..c80bdc9 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -92,6 +92,10 @@ int scene15_updateCursor();
void scene15_initScene(Scene *sc);
int sceneHandler15(ExCommand *cmd);
+void scene16_initScene(Scene *sc);
+int sceneHandler16(ExCommand *cmd);
+int scene16_updateCursor();
+
void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
Commit: 3fccfcdc54200ae21445cfbf850cf6c4388e05c0
https://github.com/scummvm/scummvm/commit/3fccfcdc54200ae21445cfbf850cf6c4388e05c0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:23:43-08:00
Commit Message:
FULLPIPE: Add some code to scene16
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ae5288f..e84fb20 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -660,9 +660,12 @@ namespace Fullpipe {
#define MSG_SC16_SHOWMUGFULL 1396
#define MSG_SC16_SHOWWIRE 1350
#define MSG_SC16_STARTLAUGH 1374
+#define MV_GRL_FALL 3115
#define MV_GRL_LAUGH_POPA 3278
#define PIC_SC16_TUMBA 1368
+#define QU_SC16_SHOWMUG 1361
#define SND_16_034 3854
+#define ST_GRL_LAUGH 1342
#define ST_MUG_EMPTY 1298
#define ST_MUG_FULL 1360
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 5804f7d..0370ec7 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -133,7 +133,7 @@ void sceneHandler16_showBearded() {
}
void sceneHandler16_showMugFull() {
- warning("STUB: sceneHandler16_showMugFull()");
+ g_vars->scene16_mug->changeStatics2(ST_MUG_FULL);
}
void sceneHandler16_fillMug() {
@@ -149,27 +149,33 @@ void sceneHandler16_mugClick() {
}
void sceneHandler16_showMan() {
- warning("STUB: sceneHandler16_showMan()");
+ g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT);
+ g_fp->_aniMan->show1(-1, -1, -1, 0);
+
+ g_vars->scene16_mug->show1(-1, -1, -1, 0);
}
void sceneHandler16_showMug() {
- warning("STUB: sceneHandler16_showMug()");
+ chainQueue(QU_SC16_SHOWMUG, 0);
}
void sceneHandler16_hideMan() {
- warning("STUB: sceneHandler16_hideMan()");
+ g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT);
+ g_fp->_aniMan->hide();
+
+ g_vars->scene16_mug->hide();
}
void sceneHandler16_hideMug() {
- warning("STUB: sceneHandler16_hideMug()");
+ g_vars->scene16_mug->hide();
}
void sceneHandler16_hideWire() {
- warning("STUB: sceneHandler16_hideWire()");
+ g_vars->scene16_wire->hide();
}
void sceneHandler16_showWire() {
- warning("STUB: sceneHandler16_showWire()");
+ g_vars->scene16_wire->show1(-1, -1, -1, 0);
}
void sceneHandler16_sub01() {
@@ -180,8 +186,13 @@ void sceneHandler16_sub02() {
warning("STUB: sceneHandler16_sub02()");
}
-void sceneHandler16_sub03() {
- warning("STUB: sceneHandler16_sub03()");
+void sceneHandler16_girlROTFL() {
+ StaticANIObject *girl = g_fp->_currentScene->getStaticANIObject1ById(ANI_GIRL, -1);
+
+ girl->changeStatics2(ST_GRL_LAUGH);
+ girl->startAnim(MV_GRL_FALL, 0, -1);
+
+ g_vars->scene16_var09 = 0;
}
int sceneHandler16(ExCommand *cmd) {
@@ -271,7 +282,7 @@ int sceneHandler16(ExCommand *cmd) {
if (g_vars->scene16_var09) {
if (g_fp->_aniMan->_movement)
if (g_fp->_aniMan->_movement->_id == MV_MAN_TURN_RL)
- sceneHandler16_sub03();
+ sceneHandler16_girlROTFL();
}
g_fp->_behaviorManager->updateBehaviors();
Commit: ec682de1f2c09b3c27316aafb52c5770ed454b54
https://github.com/scummvm/scummvm/commit/ec682de1f2c09b3c27316aafb52c5770ed454b54
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:25:12-08:00
Commit Message:
FULLPIPE: Implement sceneHandler16_laughSound()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e84fb20..aefe91f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -665,6 +665,8 @@ namespace Fullpipe {
#define PIC_SC16_TUMBA 1368
#define QU_SC16_SHOWMUG 1361
#define SND_16_034 3854
+#define SND_16_035 3855
+#define SND_16_037 3857
#define ST_GRL_LAUGH 1342
#define ST_MUG_EMPTY 1298
#define ST_MUG_FULL 1360
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 0370ec7..23030a3 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -125,7 +125,25 @@ int scene16_updateCursor() {
}
void sceneHandler16_laughSound() {
- warning("STUB: sceneHandler16_laughSound()");
+ int snd;
+
+ switch (g_vars->scene16_sound) {
+ case SND_16_034:
+ snd = SND_16_035;
+ break;
+
+ case SND_16_035:
+ snd = SND_16_037;
+ break;
+
+ case SND_16_037:
+ snd = SND_16_034;
+ break;
+ }
+
+ g_vars->scene16_sound = snd;
+
+ g_fp->playSound(snd, 0);
}
void sceneHandler16_showBearded() {
Commit: 1fea33cf4b2c369da8f3acbac0570cc4b2ce8abe
https://github.com/scummvm/scummvm/commit/1fea33cf4b2c369da8f3acbac0570cc4b2ce8abe
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:31:59-08:00
Commit Message:
FULLPIPE: sceneHandler16_mugClick()
Changed paths:
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 23030a3..818b479 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -162,8 +162,25 @@ void sceneHandler16_startLaugh() {
warning("STUB: sceneHandler16_startLaugh()");
}
+void sceneHandler16_sub02() {
+ warning("STUB: sceneHandler16_sub02()");
+}
+
void sceneHandler16_mugClick() {
- warning("STUB: sceneHandler16_mugClick()");
+ if (abs(310 - g_fp->_aniMan->_ox) >= 1 || abs(449 - g_fp->_aniMan->_oy) >= 1
+ || g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_RIGHT) {
+ MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, 310, 449, 1, ST_MAN_RIGHT);
+
+ if (mq) {
+ ExCommand *ex = new ExCommand(0, 17, MSG_SC16_MUGCLICK, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags = 2;
+ mq->addExCommandToEnd(ex);
+
+ postExCommand(g_fp->_aniMan->_id, 2, 310, 449, 0, -1);
+ }
+ } else {
+ sceneHandler16_sub02();
+ }
}
void sceneHandler16_showMan() {
@@ -200,10 +217,6 @@ void sceneHandler16_sub01() {
warning("STUB: sceneHandler16_sub01()");
}
-void sceneHandler16_sub02() {
- warning("STUB: sceneHandler16_sub02()");
-}
-
void sceneHandler16_girlROTFL() {
StaticANIObject *girl = g_fp->_currentScene->getStaticANIObject1ById(ANI_GIRL, -1);
Commit: eca37854d5a3264200ed7e9dd0f62b054e40c716
https://github.com/scummvm/scummvm/commit/eca37854d5a3264200ed7e9dd0f62b054e40c716
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:38:41-08:00
Commit Message:
FULLPIPE: Implement sceneHandler16_startLaugh()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index aefe91f..8b8664f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -663,11 +663,13 @@ namespace Fullpipe {
#define MV_GRL_FALL 3115
#define MV_GRL_LAUGH_POPA 3278
#define PIC_SC16_TUMBA 1368
+#define QU_SC16_GIRLLAUGH 1375
#define QU_SC16_SHOWMUG 1361
#define SND_16_034 3854
#define SND_16_035 3855
#define SND_16_037 3857
#define ST_GRL_LAUGH 1342
+#define ST_GRL_STAND 1337
#define ST_MUG_EMPTY 1298
#define ST_MUG_FULL 1360
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 818b479..8129b27 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -159,7 +159,19 @@ void sceneHandler16_fillMug() {
}
void sceneHandler16_startLaugh() {
- warning("STUB: sceneHandler16_startLaugh()");
+ StaticANIObject *girl = g_fp->_currentScene->getStaticANIObject1ById(ANI_GIRL, -1);
+
+ girl->changeStatics2(ST_GRL_STAND);
+
+ MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_GIRLLAUGH), 0, 1);
+
+ mq->replaceKeyCode(-1, girl->_okeyCode);
+ mq->setFlags(mq->getFlags() | 1);
+ mq->chain(0);
+
+ g_fp->getGameLoaderGameVar()->getSubVarByName("OBJSTATES")->setSubVarAsInt(sO_DudeSwinged, 0);
+
+ g_vars->scene16_var09 = 1;
}
void sceneHandler16_sub02() {
Commit: ba33bd4aedf2fc1a0a36e25e1f1b683a67d37b81
https://github.com/scummvm/scummvm/commit/ba33bd4aedf2fc1a0a36e25e1f1b683a67d37b81
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T04:42:03-08:00
Commit Message:
FULLPIPE: Implement sceneHandler16_showBearded()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/objectnames.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 8b8664f..c83da09 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -663,6 +663,7 @@ namespace Fullpipe {
#define MV_GRL_FALL 3115
#define MV_GRL_LAUGH_POPA 3278
#define PIC_SC16_TUMBA 1368
+#define QU_BRD16_STARTBEARDED 4948
#define QU_SC16_GIRLLAUGH 1375
#define QU_SC16_SHOWMUG 1361
#define SND_16_034 3854
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index 219f1b9..3f2f9b1 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -176,7 +176,7 @@ namespace Fullpipe {
#define sO_IsDrinking "\xcf\xfc\xe5\xf2" // "Пьет"
#define sO_Broken "\xd0\xe0\xe7\xe1\xe8\xf2\xe0" // "Разбита"
#define sO_Unblocked "\xd0\xe0\xe7\xe1\xeb\xee\xea\xe8\xf0\xee\xe2\xe0\xed" // "Разблокирован"
-#define sO_Unfolded "\xd0\xe0\xe7\xe2\xe5\xf0\xed\xf3\xf2" // "Развернут"
+#define sO_Unconvoluted "\xd0\xe0\xe7\xe2\xe5\xf0\xed\xf3\xf2" // "Развернут"
#define sO_Jawcrucnher "\xd0\xee\xf2\xee\xf5\xf0\xf3\xf1" // "Ротохрус"
#define sO_UsherHand "\xd0\xf3\xea\xe0 \xc1\xe8\xeb\xe5\xf2\xe5\xf0\xf8\xe8" // "Рука Билетерши"
#define sO_LeverHandle_23 "\xd0\xf3\xea\xee\xff\xf2\xea\xe0 \xf0\xfb\xf7\xe0\xe3\xe0_23" // "Рукоятка рычага_23"
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index 8129b27..de98276 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -147,7 +147,12 @@ void sceneHandler16_laughSound() {
}
void sceneHandler16_showBearded() {
- warning("STUB: sceneHandler16_showBearded()");
+ if (g_fp->getObjectState(sO_Bridge) == g_fp->getObjectEnumState(sO_Bridge, sO_Unconvoluted)) {
+ StaticANIObject *brd = g_fp->_currentScene->getStaticANIObject1ById(ANI_BEARDED_CMN, -1);
+
+ if (!brd || !(brd->_flags & 4))
+ chainQueue(QU_BRD16_STARTBEARDED, 0);
+ }
}
void sceneHandler16_showMugFull() {
Commit: b2933f9c018a7366df21405df3161cf3c2148a87
https://github.com/scummvm/scummvm/commit/b2933f9c018a7366df21405df3161cf3c2148a87
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T05:00:13-08:00
Commit Message:
FULLPIPE: Implement sceneHandler16_fillMug()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/objectnames.h
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene16.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c83da09..fa90756 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -660,11 +660,17 @@ namespace Fullpipe {
#define MSG_SC16_SHOWMUGFULL 1396
#define MSG_SC16_SHOWWIRE 1350
#define MSG_SC16_STARTLAUGH 1374
+#define MV_BT16_FILL 3286
#define MV_GRL_FALL 3115
#define MV_GRL_LAUGH_POPA 3278
+#define MV_JTI_FLOWBY 1393
+#define MV_JTI_FLOWIN 1394
+#define MV_MAN16_TAKEMUG 1362
#define PIC_SC16_TUMBA 1368
#define QU_BRD16_STARTBEARDED 4948
+#define QU_SC16_BOYOUT 1364
#define QU_SC16_GIRLLAUGH 1375
+#define QU_SC16_GIRLOUT 1365
#define QU_SC16_SHOWMUG 1361
#define SND_16_034 3854
#define SND_16_035 3855
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index 3f2f9b1..871ca5d 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -222,7 +222,7 @@ namespace Fullpipe {
#define sO_Pedestal_17 "\xd2\xf3\xec\xe1\xe0_17" // "Тумба_17"
#define sO_Pedestal_33 "\xd2\xf3\xec\xe1\xe0_33" // "Тумба_33"
#define sO_NearDudesStairs "\xd3 \xc4\xff\xe4\xe8 \xed\xe0 \xeb\xe5\xf1\xf2\xed\xe8\xf6\xe5" // "У Дяди на лестнице"
-#define sO_NearDude "\xd3 \xc4\xff\xe4\xe8" // "У Дяди"
+#define sO_DudeHas "\xd3 \xc4\xff\xe4\xe8" // "У Дяди"
#define sO_NearPipeWithStool "\xd3 \xf2\xf0\xf3\xe1\xfb \xf1 \xf2\xe0\xe1\xf3\xf0\xe5\xf2\xea\xee\xe9" // "У трубы с табуреткой"
#define sO_NearPipe "\xd3 \xf2\xf0\xf3\xe1\xfb" // "У трубы"
#define sO_Janitors "\xd3\xe1\xee\xf0\xf9\xe8\xea\xe8" // "Уборщики"
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index c80bdc9..b28bd9a 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -313,8 +313,8 @@ public:
int scene16_var03;
int scene16_var04;
Common::List<StaticANIObject *> scene16_var05;
- int scene16_var06;
- int scene16_var07;
+ StaticANIObject *scene16_var06;
+ StaticANIObject *scene16_var07;
int scene16_var08;
StaticANIObject *scene16_wire;
StaticANIObject *scene16_mug;
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp
index de98276..dafb932 100644
--- a/engines/fullpipe/scenes/scene16.cpp
+++ b/engines/fullpipe/scenes/scene16.cpp
@@ -160,7 +160,73 @@ void sceneHandler16_showMugFull() {
}
void sceneHandler16_fillMug() {
- warning("STUB: sceneHandler16_fillMug()");
+ if (g_vars->scene16_mug->_flags & 4) {
+ g_vars->scene16_jettie->_priority = 2;
+ g_vars->scene16_jettie->startAnim(MV_JTI_FLOWIN, 0, -1);
+
+ if (g_fp->_aniMan->_movement) {
+ if (g_fp->_aniMan->_movement->_id == MV_MAN16_TAKEMUG) {
+ g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT);
+
+ g_vars->scene16_mug->show1(-1, -1, -1, 0);
+
+ g_fp->setObjectState(sO_Cup, g_fp->getObjectEnumState(sO_Cup, sO_DudeHas));
+ }
+ }
+ return;
+ }
+
+ MessageQueue *mq;
+
+ if (!(g_vars->scene16_boot->_flags & 4)) {
+ g_vars->scene16_jettie->_priority = 15;
+ g_vars->scene16_jettie->startAnim(MV_JTI_FLOWBY, 0, -1);
+
+ if (g_vars->scene16_var06) {
+ mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_BOYOUT), 0, 1);
+
+ mq->replaceKeyCode(-1, g_vars->scene16_var06->_okeyCode);
+ if (mq->chain(g_vars->scene16_var06) || !mq)
+ return;
+ } else {
+ if (!g_vars->scene16_var07)
+ return;
+
+ mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_GIRLOUT), 0, 1);
+
+ mq->replaceKeyCode(-1, g_vars->scene16_var07->_okeyCode);
+ if (mq->chain(g_vars->scene16_var07) || !mq)
+ return;
+ }
+ delete mq;
+
+ return;
+ }
+
+ g_vars->scene16_jettie->_priority = 15;
+
+ g_vars->scene16_boot->startAnim(MV_BT16_FILL, 0, -1);
+
+ StaticANIObject *ani;
+
+ if (g_vars->scene16_var06) {
+ mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_BOYOUT), 0, 1);
+
+ mq->replaceKeyCode(-1, g_vars->scene16_var06->_okeyCode);
+
+ ani = g_vars->scene16_var06;
+ } else {
+ if (!g_vars->scene16_var07)
+ return;
+
+ mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_GIRLOUT), 0, 1);
+
+ mq->replaceKeyCode(-1, g_vars->scene16_var07->_okeyCode);
+ ani = g_vars->scene16_var07;
+ }
+
+ if (!mq->chain(ani))
+ delete mq;
}
void sceneHandler16_startLaugh() {
More information about the Scummvm-git-logs
mailing list