[Scummvm-cvs-logs] scummvm master -> 627716ab1ae493316da5a36f3dddc8ca72959b39
sev-
sev at scummvm.org
Sun Dec 1 16:08:18 CET 2013
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
521eeb9b42 FULLPIPE: Implement sceneHandler04_winArcade()
627716ab1a FULLPIPE: Implement sceneHandler04_liftBottle()
Commit: 521eeb9b42d0b37c5fe79843e7ecbda08f5b8065
https://github.com/scummvm/scummvm/commit/521eeb9b42d0b37c5fe79843e7ecbda08f5b8065
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-01T06:50:04-08:00
Commit Message:
FULLPIPE: Implement sceneHandler04_winArcade()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/fullpipe.h
engines/fullpipe/scenes/scene04.cpp
engines/fullpipe/sound.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e1ec51a..76739b6 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -187,6 +187,7 @@ namespace Fullpipe {
#define QU_EGTR_MD2_SHOW 4698
#define QU_EGTR_MD1_SHOW 4697
#define QU_EGTR_SLIMSHOW 4883
+#define QU_HND_TAKEBOTTLE 1443
#define QU_IN2_DO 5144
#define QU_INTR_FINISH 5138
#define QU_INTR_GETUPMAN 5136
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 63dde50..00d2863 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -142,6 +142,7 @@ public:
void toggleMute();
void playSound(int id, int flag);
void startSceneTrack();
+ void stopSoundStream2();
int _sfxVolume;
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index f2fbfd3..137133b 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -33,6 +33,7 @@
#include "fullpipe/interaction.h"
#include "fullpipe/gameloader.h"
#include "fullpipe/behavior.h"
+#include "fullpipe/motion.h"
namespace Fullpipe {
@@ -446,7 +447,30 @@ void sceneHandler04_updateBottle() {
}
void sceneHandler04_winArcade() {
- warning("sceneHandler04_winArcade()");
+ if (g_fullpipe->getObjectState(sO_LowerPipe) == g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed)
+ && g_vars->scene04_soundPlaying) {
+ g_vars->scene04_clock->changeStatics2(ST_CLK_CLOSED);
+ g_vars->scene04_hand->changeStatics2(ST_HND_EMPTY);
+
+ chainQueue(QU_HND_TAKEBOTTLE, 1);
+
+ if (g_vars->scene04_walkingKozyawka) {
+ g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_walkingKozyawka);
+
+ g_vars->scene04_walkingKozyawka->changeStatics2(ST_KZW_EMPTY);
+ g_vars->scene04_walkingKozyawka->hide();
+ g_vars->scene04_walkingKozyawka = 0;
+ }
+
+ g_vars->scene04_var19 = 0;
+ g_vars->scene04_soundPlaying = 0;
+
+ getSc2MctlCompoundBySceneId(g_fullpipe->_currentScene->_sceneId)->setEnabled();
+
+ getGameLoaderInteractionController()->enableFlag24();
+
+ g_fullpipe->stopSoundStream2();
+ }
}
int sceneHandler04(ExCommand *ex) {
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 6da848a..b4a864d 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -135,6 +135,9 @@ void global_messageHandler_handleSound(ExCommand *cmd) {
debug(0, "STUB: global_messageHandler_handleSound()");
}
+void FullpipeEngine::stopSoundStream2() {
+ warning("STUB: FullpipeEngine::stopSoundStream2()");
+}
} // End of namespace Fullpipe
Commit: 627716ab1ae493316da5a36f3dddc8ca72959b39
https://github.com/scummvm/scummvm/commit/627716ab1ae493316da5a36f3dddc8ca72959b39
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-01T07:07:23-08:00
Commit Message:
FULLPIPE: Implement sceneHandler04_liftBottle()
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene04.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index a0f90af..014459e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -99,7 +99,7 @@ Vars::Vars() {
scene04_var19 = 0;
scene04_var20 = 0;
scene04_var24 = 0;
- scene04_var26 = 0;
+ scene04_bottleY = 0;
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index ed0da0a..670b94a 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -122,7 +122,7 @@ public:
int scene04_var19;
int scene04_var20;
StaticANIObject *scene04_var24;
- int scene04_var26;
+ int scene04_bottleY;
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index 137133b..d642ebf 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -285,7 +285,7 @@ void sceneHandler04_clickPlank() {
void sceneHandler04_dropBottle() {
g_vars->scene04_var12 = 1;
- g_vars->scene04_var26 = 10;
+ g_vars->scene04_bottleY = 10;
g_vars->scene04_var06 = 0;
while (g_vars->scene04_kozyawkiAni.size()) {
@@ -389,8 +389,36 @@ void sceneHandler04_sub5() {
warning("sceneHandler04_sub5()");
}
-void sceneHandler04_sub6() {
- warning("sceneHandler04_sub6()");
+void sceneHandler04_bottleUpdateObjects(int off) {
+ for (Common::List<GameObject *>::iterator it = g_vars->scene04_bottleObjList.begin(); it != g_vars->scene04_bottleObjList.end(); ++it) {
+ GameObject *obj = *it;
+
+ obj->setOXY(obj->_field_8 + 20, off + obj->_field_8 + 24);
+ }
+}
+
+void sceneHandler04_liftBottle() {
+ int newy = g_vars->scene04_bottleY + g_vars->scene04_spring->_oy;
+
+ g_vars->scene04_bottleY += 5;
+
+ sceneHandler04_bottleUpdateObjects(newy - g_vars->scene04_spring->_oy);
+
+ g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, newy);
+
+ if (g_vars->scene04_bottle->_oy >= 226) {
+ sceneHandler04_bottleUpdateObjects(226 - g_vars->scene04_bottle->_oy);
+
+ g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, 437);
+ g_vars->scene04_var12 = 0;
+ g_vars->scene04_var09 = 0;
+ g_vars->scene04_var19 = 1;
+ g_vars->scene04_var06 = 2;
+ g_vars->scene04_var20 = 10;
+ g_vars->scene04_var02 = 0;
+
+ g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed));
+ }
}
void sceneHandler04_sub7() {
@@ -425,10 +453,6 @@ void sceneHandler04_testPlank(ExCommand *ex) {
warning("sceneHandler04_testPlank()");
}
-void sceneHandler04_bottleUpdateObjects(int off) {
- warning("sceneHandler04_bottleUpdateObjects()");
-}
-
void sceneHandler04_updateBottle() {
Common::Point point;
@@ -581,7 +605,7 @@ int sceneHandler04(ExCommand *ex) {
sceneHandler04_sub5();
if (g_vars->scene04_var12)
- sceneHandler04_sub6();
+ sceneHandler04_liftBottle();
if (g_vars->scene04_var08)
sceneHandler04_clickLadder();
More information about the Scummvm-git-logs
mailing list