[Scummvm-cvs-logs] scummvm master -> 711522eeeb9f6686a1b7cf9c39c92d827735df25

sev- sev at scummvm.org
Tue Jan 21 16:29:10 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:
7d49a97e8c FULLPIPE: Implement sceneHandler38_hammerKick()
5137f609de FULLPIPE: Implement sceneHandler38_point()
33b6d0878b FULLPIPE: Implement sceneHandler38_propose()
711522eeeb FULLPIPE: Started implementation of sceneHandler38_animateAlcoholics()


Commit: 7d49a97e8cd380158657b5e3012569fc1da608c6
    https://github.com/scummvm/scummvm/commit/7d49a97e8cd380158657b5e3012569fc1da608c6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-21T07:28:25-08:00

Commit Message:
FULLPIPE: Implement sceneHandler38_hammerKick()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 4e40d11..1de3556 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1311,7 +1311,11 @@ namespace Fullpipe {
 #define MSG_SC38_POSTHMRKICK 2256
 #define MSG_SC38_PROPOSE 2287
 #define MSG_SC38_TRYTAKEBOTTLE 3179
+#define MV_DMS_FOUR 3322
+#define MV_DMS_THREE 3321
 #define MV_GLV_LOOKMAN 2167
+#define ST_DMS_3 3319
+#define ST_DMS_4 3320
 #define ST_GLV_NOHAMMER 2159
 #define ST_MLS_LEFT2 2291
 #define QU_MLS_TURNR 2221
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index a334b78..f73aa7c 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -110,7 +110,23 @@ void sceneHandler38_point() {
 }
 
 void sceneHandler38_hammerKick() {
-	warning("STUB: sceneHandler38_hammerKick()");
+	if (!g_vars->scene38_shorty->_movement) {
+		if (g_vars->scene38_shorty->_flags & 4) {
+			if (!(g_vars->scene38_shorty->_flags & 2) && g_vars->scene38_var11 > 1
+				&& g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2
+				&& g_fp->_rnd->getRandomNumber(32767) < 3276) {
+				chainQueue(QU_MLS_TURNR, 0);
+				g_vars->scene38_var11 = 0;
+			}
+		}
+	}
+
+	g_vars->scene38_domino1->setOXY(g_vars->scene38_domino1->_ox, g_vars->scene38_domino1->_oy - 2);
+
+	if (g_vars->scene38_dominos->_statics->_staticsId == ST_DMS_3)
+		g_vars->scene38_dominos->startAnim(MV_DMS_THREE, 0, -1);
+	else if (g_vars->scene38_dominos->_statics->_staticsId == ST_DMS_4)
+		g_vars->scene38_dominos->startAnim(MV_DMS_FOUR, 0, -1);
 }
 
 void sceneHandler38_drink() {


Commit: 5137f609de84e6e85558ab52c45af3da78bb1e9e
    https://github.com/scummvm/scummvm/commit/5137f609de84e6e85558ab52c45af3da78bb1e9e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-21T07:28:25-08:00

Commit Message:
FULLPIPE: Implement sceneHandler38_point()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1de3556..a4aef5a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1316,8 +1316,11 @@ namespace Fullpipe {
 #define MV_GLV_LOOKMAN 2167
 #define ST_DMS_3 3319
 #define ST_DMS_4 3320
+#define ST_GLV_HAMMER 2156
 #define ST_GLV_NOHAMMER 2159
 #define ST_MLS_LEFT2 2291
+#define QU_GLV_TOSMALL 2208
+#define QU_GLV_TOSMALL_NOHMR 2209
 #define QU_MLS_TURNR 2221
 #define QU_SC38_SHOWBOTTLE 2199
 #define QU_SC38_SHOWBOTTLE_ONTABLE 2838
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index f73aa7c..13c5dea 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -106,7 +106,19 @@ void sceneHandler38_propose() {
 }
 
 void sceneHandler38_point() {
-	warning("STUB: sceneHandler38_point()");
+	if ((!g_vars->scene38_boss->_movement && ((g_vars->scene38_boss->_flags & 4) || !(g_vars->scene38_boss->_flags & 2)))
+		&& g_vars->scene38_var05 > 0
+		&& g_fp->_rnd->getRandomNumber(32767) < 32767) {
+		if (g_vars->scene38_boss->_statics->_staticsId == ST_GLV_HAMMER) {
+			chainQueue(QU_GLV_TOSMALL, 0);
+			g_vars->scene38_var05 = 0;
+		} else {
+			if (g_vars->scene38_boss->_statics->_staticsId == ST_GLV_NOHAMMER)
+				chainQueue(QU_GLV_TOSMALL_NOHMR, 0);
+
+			g_vars->scene38_var05 = 0;
+		}
+	}
 }
 
 void sceneHandler38_hammerKick() {


Commit: 33b6d0878b482da0820f09de5ac21722701d0d4d
    https://github.com/scummvm/scummvm/commit/33b6d0878b482da0820f09de5ac21722701d0d4d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-21T07:28:25-08:00

Commit Message:
FULLPIPE: Implement sceneHandler38_propose()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index a4aef5a..1d1dbee 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1319,6 +1319,7 @@ namespace Fullpipe {
 #define ST_GLV_HAMMER 2156
 #define ST_GLV_NOHAMMER 2159
 #define ST_MLS_LEFT2 2291
+#define QU_DLD_DENY 2218
 #define QU_GLV_TOSMALL 2208
 #define QU_GLV_TOSMALL_NOHMR 2209
 #define QU_MLS_TURNR 2221
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 13c5dea..cdd0da0 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -102,7 +102,15 @@ void sceneHandler38_postHammerKick() {
 }
 
 void sceneHandler38_propose() {
-	warning("STUB: sceneHandler38_propose()");
+	if (!g_vars->scene38_tally->_movement) {
+		if (g_vars->scene38_tally->_flags & 4) {
+			if (!(g_vars->scene38_tally->_flags & 2) && g_vars->scene38_var08 > 0
+				&& g_fp->_rnd->getRandomNumber(32767) < 32767) {
+				chainQueue(QU_DLD_DENY, 0);
+				g_vars->scene38_var08 = 0;
+			}
+		}
+	}
 }
 
 void sceneHandler38_point() {


Commit: 711522eeeb9f6686a1b7cf9c39c92d827735df25
    https://github.com/scummvm/scummvm/commit/711522eeeb9f6686a1b7cf9c39c92d827735df25
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-21T07:28:26-08:00

Commit Message:
FULLPIPE: Started implementation of sceneHandler38_animateAlcoholics()

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



diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index cdd0da0..22ae370 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -164,6 +164,166 @@ void sceneHandler38_drink() {
 
 void sceneHandler38_animateAlcoholics() {
 	warning("STUB: sceneHandler38_animateAlcoholics()");
+
+#if 0
+	MessageQueue *mq;
+
+	if (g_vars->scene38_boss->_movement || !(g_vars->scene38_boss->_flags & 4) || (g_vars->scene38_boss->_flags & 2)) {
+		g_vars->scene38_var05 = 0;
+	} else {
+		g_vars->scene38_var05++;
+	}
+
+	if (g_vars->scene38_var05 >= 50) {
+		int bossSt = g_vars->scene38_boss->_statics->_staticsId;
+
+		if (bossSt == ST_GLV_SLEEP2) {
+			g_vars->scene38_var05 = 0;
+		} else if ((g_vars->scene38_domino0->_flags & 4) && g_vars->scene38_domino0->_statics->_staticsId == ST_DMN38_6) {
+			if (bossSt == ST_GLV_HAMMER) {
+				chainQueue(QU_GLV_TAKEDOMINO, 1);
+				g_vars->scene38_var05 = 0;
+			}
+
+			if (bossSt == ST_GLV_NOHAMMER) {
+				chainQueue(QU_GLV_TAKEDOMINO_NOHMR, 1);
+				g_vars->scene38_var05 = 0;
+			}
+		} else {
+			if ((g_vars->scene38_bottle->_flags & 4) && g_vars->scene38_bottle->_statics->_staticsId == ST_BTL38_FULL && bossSt == ST_GLV_NOHAMMER) {
+				chainQueue(QU_GLV_DRINKBOTTLE, 1);
+				g_vars->scene38_var05 = 0;
+			} else {
+				int bossAnim = 0;
+
+				if (g_fp->_rnd->getRandomNumber(32767) >= 1310 || g_vars->scene38_boss->_statics->_staticsId != ST_GLV_HAMMER) {
+					if (g_fp->_rnd->getRandomNumber(32767) >= 1310) {
+						if (g_fp->_rnd->getRandomNumber(32767) < 1310) {
+							if (bossSt == ST_GLV_HAMMER)
+								bossAnim = QU_GLV_DRINK;
+							else if (bossSt == ST_GLV_NOHAMMER)
+								bossAnim = QU_GLV_DRINK_NOHMR;
+						}
+					} else {
+						if (bossSt == ST_GLV_HAMMER)
+							bossAnim = QU_GLV_PROPOSE;
+						else if (bossSt == ST_GLV_NOHAMMER)
+							bossAnim = QU_GLV_PROPOSE_NOHMR;
+					}
+				} else {
+					bossAnim = QU_GLV_HMRKICK;
+				}
+
+				if (g_vars->scene38_var06 == bossAnim) {
+					g_vars->scene38_var07++;
+
+					if (g_vars->scene38_var07 > 2)
+						bossAnim = 0;
+				} else {
+					g_vars->scene38_var06 = bossAnim;
+					g_vars->scene38_var07 = 1;
+				}
+
+				if (bossAnim > 0) {
+					mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(bossAnim), 0, 0);
+
+					mq->chain(0);
+
+					g_vars->scene38_var05 = 0;
+				}
+			}
+		}
+	}
+
+	if (g_vars->scene38_tally->_movement || !(g_vars->scene38_tally->_flags & 4) || (g_vars->scene38_tally->_flags & 2)) {
+		g_vars->scene38_var08 = 0;
+	} else {
+		g_vars->scene38_var08++;
+	}
+
+	if (g_vars->scene38_var08 >= 50) {
+		int tallyAnim = 0;
+
+		if (g_fp->_rnd->getRandomNumber(32767) >= 1310) {
+			if (g_fp->_rnd->getRandomNumber(32767) >= 1310) {
+				if (g_fp->_rnd->getRandomNumber(32767) >= 1310) {
+					if (g_fp->_rnd->getRandomNumber(32767) < 1310)
+						tallyAnim = QU_DLD_ICK;
+				} else {
+					tallyAnim = QU_DLD_GLOT;
+				}
+			} else {
+				tallyAnim = QU_DLD_BLINK;
+			}
+		} else {
+			if (g_vars->scene38_domino1->_statics->_staticsId == ST_DMN38_NORM3) {
+				tallyAnim = QU_DLD_TAKE1;
+			} else if (g_vars->scene38_domino1->_statics->_staticsId == ST_DMN38_NORM4) {
+				tallyAnim = QU_DLD_TAKE2;
+			}
+		}
+
+		if (g_vars->scene38_var09 == tallyAnim) {
+			g_vars->scene38_var10++;
+
+			if (g_vars->scene38_var10++ > 2)
+				tallyAnim = 0;
+		} else {
+			g_vars->scene38_var09 = tallyAnim;
+			g_vars->scene38_var10 = 1;
+		}
+		if (tallyAnim > 0) {
+			mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(tallyAnim), 0, 0);
+
+			mq->chain(0);
+			g_vars->scene38_var08 = 0;
+		}
+	}
+
+	if (g_vars->scene38_shorty->_movement || !(g_vars->scene38_shorty->_flags & 4) || (g_vars->scene38_shorty->_flags & 2)) {
+		g_vars->scene38_var11 = 0;
+		return;
+	}
+
+	g_vars->scene38_var11++;
+
+	if (g_vars->scene38_var11 < 50)
+		return;
+
+	int shortyAnim = 0;
+
+	if (g_fp->_rnd->getRandomNumber(32767) >= 1310) {
+		if (g_fp->_rnd->getRandomNumber(32767) >= 1310 || g_vars->scene38_shorty->_statics->_staticsId != ST_MLS_LEFT2) {
+			if (g_vars->scene38_boss->_statics->_staticsId != ST_GLV_SLEEP2 && g_vars->scene38_var05 > 30 && g_fp->_rnd->getRandomNumber(32767) < 0x3FFF && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2)
+				shortyAnim = QU_MLS_HAND;
+		} else {
+			shortyAnim = QU_MLS_BLINK;
+		}
+	} else {
+		if (g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_RIGHT2) {
+			shortyAnim = QU_MLS_TURNL;
+		} else if (g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2) {
+			shortyAnim = QU_MLS_TURNR;
+		}
+	}
+
+	if (g_vars->scene38_var12 == shortyAnim) {
+		g_vars->scene38_var13++;
+		if (g_vars->scene38_var13 > 2)
+			return;
+	} else {
+		g_vars->scene38_var12 = shortyAnim;
+		g_vars->scene38_var13 = 1;
+	}
+
+	if (shortyAnim > 0) {
+		mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(shortyAnim), 0, 0);
+
+		mq->chain(0);
+
+		g_vars->scene38_var11 = 0;
+	}
+#endif
 }
 
 int sceneHandler38(ExCommand *cmd) {
@@ -238,7 +398,7 @@ int sceneHandler38(ExCommand *cmd) {
 			if (x < g_fp->_sceneRect.left + g_vars->scene38_var01)
 				g_fp->_currentScene->_x = x - g_vars->scene38_var03 - g_fp->_sceneRect.left;
 
-			if (x > g_fp->_sceneRect.right - g_vars->scene38_var01 )
+			if (x > g_fp->_sceneRect.right - g_vars->scene38_var01)
 				g_fp->_currentScene->_x = x + g_vars->scene38_var03 - g_fp->_sceneRect.right;
 		}
 






More information about the Scummvm-git-logs mailing list