[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