[Scummvm-cvs-logs] scummvm master -> b4ce81baf9057b2158ef41104d61d1647ab0ee80
sev-
sev at scummvm.org
Tue Dec 17 22:34:45 CET 2013
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
35758d05d4 FULLPIPE: Implement sceneHandler06_throwBall()
17cb840bc2 FULLPIPE: More code to scene06
b4ce81baf9 FULLPIPE: Implement sceneHandler06_sub04()
Commit: 35758d05d4fdfbe04c26419b347c261be6e2b444
https://github.com/scummvm/scummvm/commit/35758d05d4fdfbe04c26419b347c261be6e2b444
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T11:49:32-08:00
Commit Message:
FULLPIPE: Implement sceneHandler06_throwBall()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ccaea13..fd4f835 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -138,15 +138,15 @@ namespace Fullpipe {
#define MV_BLK_OPEN 910
#define MV_EGTR_FATASK 5332
#define MV_IN1MAN_SLEEP 5111
+#define MV_BDG_OPEN 1379
+#define MV_BTN_CLICK 599
+#define MV_CLK_GO 589
+#define MV_HND_POINT 602
#define MV_KZW_GOR 564
#define MV_KZW_JUMP 558
#define MV_KZW_JUMPROTATE 561
#define MV_KZW_TOHOLERV 537
#define MV_KZW_WALKPLANK 500
-#define MV_BDG_OPEN 1379
-#define MV_BTN_CLICK 599
-#define MV_CLK_GO 589
-#define MV_HND_POINT 602
#define MV_KZW_JUMPHIT 2857
#define MV_KZW_JUMPOUT 586
#define MV_KZW_RAISEHEAD 577
@@ -171,6 +171,7 @@ namespace Fullpipe {
#define MV_MAN_TOLADDER2 2841
#define MV_MAN_TURN_LU 486
#define MV_MAN_TURN_SUD 1089
+#define MV_MAN6_THROWBALL 2692
#define MV_MANHDL_HANDLEDOWN 630
#define MV_MANHDL_HANDLEUP 631
#define MV_OTM_BOXHANDLEDOWN 626
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 0753258..65494f4 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -172,8 +172,33 @@ void sceneHandler06_sub02() {
warning("STUB: sceneHandler06_sub02()");
}
+void sceneHandler06_sub07() {
+ warning("STUB: sceneHandler06_sub07()");
+}
+
+void sceneHandler06_throwCallback(int *arg) {
+ if (g_vars->scene06_var08) {
+ int dist = (g_fullpipe->_mouseVirtY - g_vars->scene06_sceneClickY)
+ * (g_fullpipe->_mouseVirtY - g_vars->scene06_sceneClickY)
+ + (g_fullpipe->_mouseVirtX - g_vars->scene06_sceneClickX)
+ * (g_fullpipe->_mouseVirtX - g_vars->scene06_sceneClickX);
+
+ *arg = sqrt(dist) * 0.1;
+
+ if (*arg > 8)
+ *arg = 8;
+ } else {
+ *arg = *arg + 1;
+ if (*arg == 12)
+ sceneHandler06_sub07();
+ }
+}
+
void sceneHandler06_throwBall() {
- warning("STUB: sceneHandler06_throwBall()");
+ g_fullpipe->_aniMan->_callback2 = sceneHandler06_throwCallback;
+ g_fullpipe->_aniMan->startAnim(MV_MAN6_THROWBALL, 0, -1);
+
+ g_vars->scene06_var08 = 1;
}
void sceneHandler06_sub03() {
@@ -192,10 +217,6 @@ void sceneHandler06_sub06() {
warning("STUB: sceneHandler06_sub06()");
}
-void sceneHandler06_sub07() {
- warning("STUB: sceneHandler06_sub07()");
-}
-
void sceneHandler06_sub09() {
warning("STUB: sceneHandler06_sub09()");
}
Commit: 17cb840bc2a405c5b93f046f389481f72d878fdd
https://github.com/scummvm/scummvm/commit/17cb840bc2a405c5b93f046f389481f72d878fdd
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T12:47:56-08:00
Commit Message:
FULLPIPE: More code to scene06
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 38c5b8c..b4a8625 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -121,7 +121,7 @@ Vars::Vars() {
scene06_ballDrop = 0;
scene06_var07 = 0;
scene06_var08 = 0;
- scene06_var09 = 0;
+ scene06_currentBall = 0;
scene06_var10 = 0;
scene06_var11 = 0;
scene06_numBallsGiven = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 28fc2b7..15f5e7a 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -158,8 +158,8 @@ public:
StaticANIObject *scene06_ballDrop;
int scene06_var07;
int scene06_var08;
- StaticANIObject *scene06_var09;
- int scene06_var10;
+ StaticANIObject *scene06_currentBall;
+ StaticANIObject *scene06_var10;
StaticANIObject *scene06_var11;
Common::Array<StaticANIObject *> scene06_balls;
int scene06_numBallsGiven;
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 65494f4..8b9db0f 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -59,7 +59,7 @@ int scene06_updateCursor() {
return PIC_CSR_ITN;
}
- } else if (g_fullpipe->_objectAtCursor && (StaticANIObject *)g_fullpipe->_objectAtCursor == g_vars->scene06_var09
+ } else if (g_fullpipe->_objectAtCursor && (StaticANIObject *)g_fullpipe->_objectAtCursor == g_vars->scene06_currentBall
&& g_fullpipe->_cursorId == PIC_CSR_DEFAULT) {
g_fullpipe->_cursorId = PIC_CSR_ITN;
}
@@ -127,12 +127,12 @@ void sceneHandler06_buttonPush() {
void sceneHandler06_showNextBall() {
if (g_vars->scene06_balls.size()) {
- g_vars->scene06_var09 = new StaticANIObject(g_vars->scene06_balls.front());
+ g_vars->scene06_currentBall = new StaticANIObject(g_vars->scene06_balls.front());
g_vars->scene06_balls.remove_at(0);
MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_SC6_SHOWNEXTBALL), 0, 1);
- mq->replaceKeyCode(-1, g_vars->scene06_var09->_okeyCode);
+ mq->replaceKeyCode(-1, g_vars->scene06_currentBall->_okeyCode);
mq->chain(0);
++g_vars->scene06_numBallsGiven;
@@ -148,7 +148,7 @@ void sceneHandler06_sub08() {
}
void sceneHandler06_takeBall() {
- if (g_vars->scene06_var09 && !g_vars->scene06_var09->_movement && g_vars->scene06_var09->_statics->_staticsId == ST_NBL_NORM) {
+ if (g_vars->scene06_currentBall && !g_vars->scene06_currentBall->_movement && g_vars->scene06_currentBall->_statics->_staticsId == ST_NBL_NORM) {
if (abs(1158 - g_fullpipe->_aniMan->_ox) > 1
|| abs(452 - g_fullpipe->_aniMan->_oy) > 1
|| g_fullpipe->_aniMan->_movement
@@ -169,11 +169,32 @@ void sceneHandler06_takeBall() {
}
void sceneHandler06_sub02() {
- warning("STUB: sceneHandler06_sub02()");
+ if (g_vars->scene06_var10) {
+ g_vars->scene06_var17 = 4 * g_fullpipe->_aniMan->_movement->_currDynamicPhaseIndex + 16;
+ g_vars->scene06_var18 = 5 * (g_fullpipe->_aniMan->_movement->_currDynamicPhaseIndex + 4);
+
+ if (g_fullpipe->_aniMan->_movement->_currDynamicPhaseIndex < 4) {
+ g_fullpipe->_aniMan->_movement->setDynamicPhaseIndex(11);
+
+ g_vars->scene06_var08 = 0;
+
+ return;
+ }
+
+ g_fullpipe->_aniMan->_movement->setDynamicPhaseIndex(9);
+ }
+
+ g_vars->scene06_var08 = 0;
}
void sceneHandler06_sub07() {
- warning("STUB: sceneHandler06_sub07()");
+ if (g_vars->scene06_var10) {
+ g_vars->scene06_var11 = g_vars->scene06_var10;
+ g_vars->scene06_var10 = 0;
+ g_vars->scene06_var11->show1(g_fullpipe->_aniMan->_ox - 60, g_fullpipe->_aniMan->_oy - 60, -1, 0);
+
+ g_vars->scene06_var11->_priority = 27;
+ }
}
void sceneHandler06_throwCallback(int *arg) {
@@ -234,7 +255,7 @@ void scene06_initScene(Scene *sc) {
g_vars->scene06_ballDrop = sc->getStaticANIObject1ById(ANI_BALLDROP, -1);
g_vars->scene06_var07 = 0;
g_vars->scene06_var08 = 0;
- g_vars->scene06_var09 = 0;
+ g_vars->scene06_currentBall = 0;
g_vars->scene06_var10 = 0;
g_vars->scene06_var11 = 0;
g_vars->scene06_balls.clear();
@@ -388,7 +409,7 @@ int sceneHandler06(ExCommand *ex) {
return 0;
}
- if (g_vars->scene06_var09 == st) {
+ if (g_vars->scene06_currentBall == st) {
if (g_vars->scene06_numBallsGiven == 1)
sceneHandler06_takeBall();
@@ -484,7 +505,7 @@ int sceneHandler06(ExCommand *ex) {
sceneHandler06_sub04(g_vars->scene06_var17);
}
if (g_vars->scene06_var07
- && !g_vars->scene06_var09
+ && !g_vars->scene06_currentBall
&& !g_vars->scene06_var10
&& !g_vars->scene06_var11
&& g_vars->scene06_numBallsGiven >= 15
Commit: b4ce81baf9057b2158ef41104d61d1647ab0ee80
https://github.com/scummvm/scummvm/commit/b4ce81baf9057b2158ef41104d61d1647ab0ee80
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T13:32:30-08:00
Commit Message:
FULLPIPE: Implement sceneHandler06_sub04()
Changed paths:
engines/fullpipe/messages.cpp
engines/fullpipe/messages.h
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index e8fcf75..8ea94ff 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -810,6 +810,25 @@ bool chainQueue(int queueId, int flags) {
return true;
}
+bool chainObjQueue(StaticANIObject *obj, int queueId, int flags) {
+ MessageQueue *mq = g_fullpipe->_currentScene->getMessageQueueById(queueId);
+
+ if (!mq)
+ return false;
+
+ MessageQueue *nmq = new MessageQueue(mq, 0, 0);
+
+ nmq->_flags |= flags;
+
+ if (!nmq->chain(obj)) {
+ delete nmq;
+
+ return false;
+ }
+
+ return true;
+}
+
void postExCommand(int parentId, int keyCode, int x, int y, int f20, int f14) {
ExCommand *ex = new ExCommand(parentId, 17, 64, 0, 0, 0, 1, 0, 0, 0);
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h
index ca61dad..44245bc 100644
--- a/engines/fullpipe/messages.h
+++ b/engines/fullpipe/messages.h
@@ -178,6 +178,7 @@ void updateGlobalMessageQueue(int id, int objid);
void clearGlobalMessageQueueList1();
bool chainQueue(int queueId, int flags);
+bool chainObjQueue(StaticANIObject *obj, int queueId, int flags);
void postExCommand(int parentId, int keyCode, int x, int y, int f20, int f16);
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 8b9db0f..62360e6 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -226,22 +226,33 @@ void sceneHandler06_sub03() {
warning("STUB: sceneHandler06_sub03()");
}
-void sceneHandler06_sub04(int par) {
- warning("STUB: sceneHandler06_sub04()");
-}
-
void sceneHandler06_sub05() {
warning("STUB: sceneHandler06_sub05()");
}
-void sceneHandler06_sub06() {
- warning("STUB: sceneHandler06_sub06()");
-}
-
void sceneHandler06_sub09() {
warning("STUB: sceneHandler06_sub09()");
}
+void sceneHandler06_sub04(int par) {
+ int pixel;
+
+ if (g_vars->scene06_var04 <= 475) {
+ if (g_vars->scene06_mumsy->getPixelAtPos(g_vars->scene06_var03, g_vars->scene06_var04, &pixel)) {
+ if (pixel) {
+ chainObjQueue(g_vars->scene06_mumsy, QU_MOM_JUMPBK, 0);
+ sceneHandler06_sub09();
+ }
+ }
+ } else {
+ sceneHandler06_sub05();
+ }
+}
+
+void sceneHandler06_sub06() {
+ warning("STUB: sceneHandler06_sub06()");
+}
+
void sceneHandler06_sub10() {
warning("STUB: sceneHandler06_sub10()");
}
More information about the Scummvm-git-logs
mailing list