[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