[Scummvm-cvs-logs] scummvm master -> cb411b3fa0ce135aa73a8aef2961f5218f65b23c

sev- sev at scummvm.org
Sun Dec 22 23:40:21 CET 2013


This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e7ac135919 FULLPIPE: Fix regression with absent background graphics.
d82218748a FULLPIPE: Implement sceneHandler08_airMoves()
80db7f7bde FULLPIPE: Implement sceneHandler08_startArcade()
0a210e8f4e FULLPIPE: Implement sceneHandler08_pushCallback()
f8d1633de9 FULLPIPE: Implement scene08_setupMusic()
cb411b3fa0 FULLPIPE: Renames in scene08


Commit: e7ac135919ceac08db89d004d106bfc6917028d2
    https://github.com/scummvm/scummvm/commit/e7ac135919ceac08db89d004d106bfc6917028d2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:26-08:00

Commit Message:
FULLPIPE: Fix regression with absent background graphics.

Changed paths:
    engines/fullpipe/gfx.cpp



diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 4b0125e..8b2aca4 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -807,7 +807,7 @@ bool Bitmap::putDibRB(int32 *palette, int pX, int pY) {
 	uint16 *srcPtr;
 
 	if (!palette && pX == -1) {
-		warning("Bitmap::putDibRB(): Both global and local palettes are empty");
+		debug(2, "Bitmap::putDibRB(): Both global and local palettes are empty");
 		return false;
 	}
 
@@ -1179,7 +1179,7 @@ bool BigPicture::load(MfcArchive &file) {
 }
 
 void BigPicture::draw(int x, int y, int style, int angle) {
-	if (_bitmap)
+	if (!_bitmap)
 		init();
 
 	if (_bitmap) {


Commit: d82218748a3cb5d4c01baf8bbded68a797abd8fa
    https://github.com/scummvm/scummvm/commit/d82218748a3cb5d4c01baf8bbded68a797abd8fa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:26-08:00

Commit Message:
FULLPIPE: Implement sceneHandler08_airMoves()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 115b867..b7ba75e 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -209,8 +209,11 @@ namespace Fullpipe {
 #define MV_MAN6_TAKEBALL 2691
 #define MV_MAN6_THROWBALL 2692
 #define MV_MAN8_BADLUCK 783
+#define MV_MAN8_DRYGDOWN 770
+#define MV_MAN8_DRYGUP 768
 #define MV_MAN8_HANDSDOWN 772
 #define MV_MAN8_HANDSUP 777
+#define MV_MAN8_JUMP 775
 #define MV_MAN8_JUMPOFF 2969
 #define MV_MAN8_SITDOWN 2968
 #define MV_MANHDL_HANDLEDOWN 630
@@ -461,6 +464,7 @@ namespace Fullpipe {
 #define ST_MAN8_FLYDOWN 771
 #define ST_MAN8_FLYUP 769
 #define ST_MAN8_HANDSUP 773
+#define ST_MAN8_STAND 774
 #define ST_MOM_SITS 659
 #define ST_MOM_STANDS 658
 #define ST_NBL_NORM 1076
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 181ac58..7c28e9d 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -180,7 +180,33 @@ void sceneHandler08_startArcade() {
 }
 
 void sceneHandler08_airMoves() {
-	warning("STUB: sceneHandler08_airMoves()");
+	if (g_fp->_aniMan->isIdle() && !(g_fp->_aniMan->_flags & 0x100)) {
+		int x = g_fp->_aniMan->_ox;
+		int y = g_fp->_aniMan->_oy;
+		Common::Point point;
+
+		if (703 - g_fp->_aniMan->getSomeXY(point)->y - y < 150) {
+			if (g_fp->_aniMan->_statics) {
+				if (g_fp->_aniMan->_statics->_staticsId == ST_MAN8_FLYDOWN) {
+					y -= 25;
+
+					g_fp->_aniMan->setOXY(x, y);
+				}
+			}
+
+			g_fp->_aniMan->changeStatics2(ST_MAN8_STAND);
+			g_fp->_aniMan->setOXY(380, y);
+			g_fp->_aniMan->startAnim(MV_MAN8_JUMP, 0, -1);
+
+		} else if (g_fp->_aniMan->_statics) {
+			if (g_fp->_aniMan->_statics->_staticsId == ST_MAN8_FLYUP) {
+				g_fp->_aniMan->startAnim(MV_MAN8_DRYGUP, 0, -1);
+
+			} else if (g_fp->_aniMan->_statics->_staticsId == ST_MAN8_FLYDOWN) {
+				g_fp->_aniMan->startAnim(MV_MAN8_DRYGDOWN, 0, -1);
+			}
+		}
+	}
 }
 
 void sceneHandler08_finishArcade() {
@@ -281,8 +307,8 @@ void sceneHandler08_calcFlight() {
 	if (g_fp->_aniMan->_oy <= 280 && g_vars->scene08_var07 && g_fp->_aniMan->_statics && g_fp->_aniMan->_statics->_staticsId == ST_MAN8_HANDSUP) {
 		sceneHandler08_badLuck();
 	} else if (g_fp->_aniMan->_oy > 236 || g_vars->scene08_var07 || !g_fp->_aniMan->_statics || g_fp->_aniMan->_statics->_staticsId != ST_MAN8_HANDSUP) {
-		if (g_fp->_aniMan->_movement || g_fp->_aniMan->_oy < 660 
-			 || (g_vars->scene08_vmyats->_movement && g_vars->scene08_vmyats->_movement->_currDynamicPhaseIndex > 0) 
+		if (g_fp->_aniMan->_movement || g_fp->_aniMan->_oy < 660
+			 || (g_vars->scene08_vmyats->_movement && g_vars->scene08_vmyats->_movement->_currDynamicPhaseIndex > 0)
 			|| abs(g_vars->scene08_var08) > 2) {
 			if (g_vars->scene08_var08 >= 0 && !g_fp->_aniMan->_movement) {
 				if (g_fp->_aniMan->_statics->_staticsId == ST_MAN8_HANDSUP)


Commit: 80db7f7bde95c95893801fae9bd9cc1d98d03f84
    https://github.com/scummvm/scummvm/commit/80db7f7bde95c95893801fae9bd9cc1d98d03f84
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:27-08:00

Commit Message:
FULLPIPE: Implement sceneHandler08_startArcade()

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



diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 7c28e9d..45c7856 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -175,8 +175,48 @@ void sceneHandler08_resumeFlight() {
 	g_vars->scene08_var07 = 0;
 }
 
+void sceneHandler08_calcOffset() {
+	warning("STUB: sceneHandler08_calcOffset()");
+}
+
+void sceneHandler08_pushCallback(int *par) {
+	warning("STUB: sceneHandler08_pushCallback()");
+}
+
+int sceneHandler08_updateScreenCallback() {
+	int res;
+
+	res = g_fp->drawArcadeOverlay(g_vars->scene08_var06);
+
+	if (!res)
+		g_fp->_updateScreenCallback = 0;
+
+	return res;
+}
+
 void sceneHandler08_startArcade() {
-	warning("STUB: sceneHandler08_startArcade()");
+	g_vars->scene08_var06 = 1;
+	g_vars->scene08_var01 = 1;
+	g_vars->scene08_var02 = 0;
+	g_vars->scene08_var03 = 0;
+
+	getGameLoaderInteractionController()->disableFlag24();
+	getCurrSceneSc2MotionController()->clearEnabled();
+
+	g_vars->scene08_batuta->stopAnim_maybe();
+
+	g_vars->scene08_vmyats->_statics = g_vars->scene08_vmyats->getStaticsById(ST_VMT_MIN);
+	g_vars->scene08_vmyats->setOXY(382, 703);
+	g_vars->scene08_vmyats->_priority = 29;
+	g_vars->scene08_vmyats->_callback2 = sceneHandler08_pushCallback;
+
+	g_fp->_aniMan = g_fp->_currentScene->getStaticANIObject1ById(ANI_MAN, -1);
+
+	g_vars->scene08_var08 = 15;
+
+	g_fp->_currentScene->_y = 0;
+
+	g_fp->_updateScreenCallback = sceneHandler08_updateScreenCallback;
 }
 
 void sceneHandler08_airMoves() {
@@ -350,25 +390,6 @@ void sceneHandler08_checkEndArcade() {
 	}
 }
 
-void sceneHandler08_calcOffset() {
-	warning("STUB: sceneHandler08_calcOffset()");
-}
-
-void sceneHandler08_pushCallback(int *par) {
-	warning("STUB: sceneHandler08_pushCallback()");
-}
-
-int sceneHandler08_updateScreenCallback() {
-	int res;
-
-	res = g_fp->drawArcadeOverlay(g_vars->scene08_var06);
-
-	if (!res)
-		g_fp->_updateScreenCallback = 0;
-
-	return res;
-}
-
 int sceneHandler08(ExCommand *cmd) {
 	if (cmd->_messageKind != 17)
 		return 0;


Commit: 0a210e8f4e55d5c3cf6d92c71c051087357f6e8b
    https://github.com/scummvm/scummvm/commit/0a210e8f4e55d5c3cf6d92c71c051087357f6e8b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:27-08:00

Commit Message:
FULLPIPE: Implement sceneHandler08_pushCallback()

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



diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 45c7856..c7a6589 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -175,12 +175,34 @@ void sceneHandler08_resumeFlight() {
 	g_vars->scene08_var07 = 0;
 }
 
-void sceneHandler08_calcOffset() {
-	warning("STUB: sceneHandler08_calcOffset()");
+int sceneHandler08_calcOffset(int off, int flag) {
+	if (off > 0) {
+		if (flag)
+			return off * 31 / 10; // off * 3.1
+		else
+			return 5 * off;
+	} else {
+		return 5 * off;
+	}
 }
 
 void sceneHandler08_pushCallback(int *par) {
-	warning("STUB: sceneHandler08_pushCallback()");
+	Common::Point point;
+
+	int y = g_fp->_aniMan->_oy + g_fp->_aniMan->getSomeXY(point)->y;
+
+	if (g_fp->_aniMan->_statics && g_fp->_aniMan->_statics->_staticsId == ST_MAN8_FLYDOWN)
+		y -= 25;
+
+	*par = (y - 703) / 10;
+	if (*par > 11) {
+		*par = 11;
+		g_vars->scene08_var08 = 0;
+	}
+	if (*par >= 0)
+		g_vars->scene08_var08 -= sceneHandler08_calcOffset(*par, g_vars->scene08_var08 < 0);
+	else
+		*par = 0;
 }
 
 int sceneHandler08_updateScreenCallback() {


Commit: f8d1633de90a4f5cd70b8d1d7b474c70f71ab8e0
    https://github.com/scummvm/scummvm/commit/f8d1633de90a4f5cd70b8d1d7b474c70f71ab8e0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:27-08:00

Commit Message:
FULLPIPE: Implement scene08_setupMusic()

Changed paths:
    engines/fullpipe/fullpipe.h
    engines/fullpipe/scenes/scene08.cpp
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index f4ac84b..75a7630 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -149,6 +149,7 @@ public:
 	void stopAllSounds();
 	void toggleMute();
 	void playSound(int id, int flag);
+	void playTrack(GameVar *sceneVar, const char *name, bool delayed);
 	void startSceneTrack();
 	void stopSoundStream2();
 	void stopAllSoundStreams();
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index c7a6589..9c904e1 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -103,7 +103,8 @@ void scene08_initScene(Scene *sc) {
 }
 
 void scene08_setupMusic() {
-	warning("STUB: scene08_setupMusic()");
+	if (g_fp->getObjectState(sO_TummyTrampie) == g_fp->getObjectEnumState(sO_TummyTrampie, sO_IsSleeping))
+		g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_8"), "MUSIC_ARCADE", 1);
 }
 
 int scene08_updateCursor() {
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index de0a666..a08152e 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -128,7 +128,11 @@ void FullpipeEngine::toggleMute() {
 }
 
 void FullpipeEngine::playSound(int id, int flag) {
-	warning("STUB: FullpipeEngine::playSounds(%d, %d)", id, flag);
+	warning("STUB: FullpipeEngine::playSound(%d, %d)", id, flag);
+}
+
+void FullpipeEngine::playTrack(GameVar *sceneVar, const char *name, bool delayed) {
+	warning("STUB: FullpipeEngine::playTrack(var, %s, %d)", name, delayed);
 }
 
 void global_messageHandler_handleSound(ExCommand *cmd) {


Commit: cb411b3fa0ce135aa73a8aef2961f5218f65b23c
    https://github.com/scummvm/scummvm/commit/cb411b3fa0ce135aa73a8aef2961f5218f65b23c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-22T14:39:27-08:00

Commit Message:
FULLPIPE: Renames in scene08

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene08.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 1ab512c..08b9357 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -146,8 +146,8 @@ Vars::Vars() {
 	scene08_batuta = 0;
 	scene08_vmyats = 0;
 	scene08_clock = 0;
-	scene08_var01 = 0;
-	scene08_var02 = 0;
+	scene08_inArcade = false;
+	scene08_flyingUp = false;
 	scene08_var03 = 0;
 	scene08_var04 = 0;
 	scene08_var05 = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 38c3fb3..b5d6562 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -196,8 +196,8 @@ public:
 	StaticANIObject *scene08_batuta;
 	StaticANIObject *scene08_vmyats;
 	StaticANIObject *scene08_clock;
-	int scene08_var01;
-	int scene08_var02;
+	bool scene08_inArcade;
+	bool scene08_flyingUp;
 	int scene08_var03;
 	int scene08_var04;
 	int scene08_var05;
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 9c904e1..76f2272 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -38,8 +38,8 @@ namespace Fullpipe {
 
 void scene08_initScene(Scene *sc) {
 	g_vars->scene08_var06 = 0;
-	g_vars->scene08_var01 = 0;
-	g_vars->scene08_var02 = 0;
+	g_vars->scene08_inArcade = false;
+	g_vars->scene08_flyingUp = false;
 	g_vars->scene08_var03 = 0;
 	g_vars->scene08_batuta = sc->getStaticANIObject1ById(ANI_BATUTA, -1);
 	g_vars->scene08_vmyats = sc->getStaticANIObject1ById(ANI_VMYATS, -1);
@@ -141,7 +141,7 @@ void sceneHandler08_enterUp() {
 
 	chainObjQueue(g_fp->_aniMan, QU_SC8_FINISH, 1);
 
-	g_vars->scene08_var01 = 0;
+	g_vars->scene08_inArcade = false;
 }
 
 void sceneHandler08_winArcade() {
@@ -172,7 +172,7 @@ void sceneHandler08_arcadeNow() {
 void sceneHandler08_resumeFlight() {
 	g_vars->scene08_var08 = 3;
 	g_vars->scene08_var04 = -39;
-	g_vars->scene08_var01 = 1;
+	g_vars->scene08_inArcade = true;
 	g_vars->scene08_var07 = 0;
 }
 
@@ -219,8 +219,8 @@ int sceneHandler08_updateScreenCallback() {
 
 void sceneHandler08_startArcade() {
 	g_vars->scene08_var06 = 1;
-	g_vars->scene08_var01 = 1;
-	g_vars->scene08_var02 = 0;
+	g_vars->scene08_inArcade = true;
+	g_vars->scene08_flyingUp = false;
 	g_vars->scene08_var03 = 0;
 
 	getGameLoaderInteractionController()->disableFlag24();
@@ -326,7 +326,7 @@ void sceneHandler08_badLuck() {
 
 	g_fp->setObjectState(sO_StairsUp_8, g_fp->getObjectEnumState(sO_StairsUp_8, sO_NotBroken));
 
-	g_vars->scene08_var01 = 0;
+	g_vars->scene08_inArcade = false;
 }
 
 void sceneHandler08_sitDown() {
@@ -338,7 +338,7 @@ void sceneHandler08_sitDown() {
 	g_vars->scene08_vmyats->changeStatics2(ST_VMT_MIN);
 	g_vars->scene08_vmyats->hide();
 
-	g_vars->scene08_var01 = 0;
+	g_vars->scene08_inArcade = false;
 	g_vars->scene08_var03 = 1;
 }
 
@@ -391,7 +391,7 @@ void sceneHandler08_calcFlight() {
 }
 
 void sceneHandler08_checkEndArcade() {
-	if (g_vars->scene08_var02) {
+	if (g_vars->scene08_flyingUp) {
 		int x = g_fp->_aniMan->_ox;
 		int y = g_vars->scene08_var08 + g_fp->_aniMan->_oy;
 
@@ -436,7 +436,7 @@ int sceneHandler08(ExCommand *cmd) {
 		g_vars->scene08_vmyats->setOXY(382, 703);
 		g_vars->scene08_vmyats->_priority = 29;
 		g_vars->scene08_vmyats->_callback2 = sceneHandler08_pushCallback;
-		g_vars->scene08_var01 = 1;
+		g_vars->scene08_inArcade = true;
 		break;
 
 	case MSG_SC8_ARCADENOW:
@@ -449,7 +449,7 @@ int sceneHandler08(ExCommand *cmd) {
 
 	case MSG_SC8_GETHIMUP:
 		g_vars->scene08_var08 = 0;
-		g_vars->scene08_var02 = 1;
+		g_vars->scene08_flyingUp = true;
 		break;
 
 	case MSG_STARTARCADE:
@@ -458,7 +458,7 @@ int sceneHandler08(ExCommand *cmd) {
 
 	case 29:
 		if (g_vars->scene08_var06) {
-			if (g_vars->scene08_var01) {
+			if (g_vars->scene08_inArcade) {
 				sceneHandler08_airMoves();
 				break;
 			}
@@ -504,7 +504,7 @@ int sceneHandler08(ExCommand *cmd) {
 			g_fp->_floaters->update();
 
 			if (g_vars->scene08_var06) {
-				if (g_vars->scene08_var01)
+				if (g_vars->scene08_inArcade)
 					sceneHandler08_calcFlight();
 			} else {
 				Movement *mov = g_fp->_aniMan->_movement;
@@ -521,7 +521,7 @@ int sceneHandler08(ExCommand *cmd) {
 				g_fp->startSceneTrack();
 			}
 
-			if (g_vars->scene08_var02)
+			if (g_vars->scene08_flyingUp)
 				sceneHandler08_checkEndArcade();
 
 			if (g_vars->scene08_var05 > 0) {






More information about the Scummvm-git-logs mailing list