[Scummvm-cvs-logs] scummvm master -> fe8d2df77c63bb23b070dda89c97f7a491e54d49
sev-
sev at scummvm.org
Mon Dec 16 10:19:55 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:
021e00ab7c FULLPIPE: Implement scene06_initScene()
0911865af6 FULLPIPE: Rearrange arcade-related functions
fe8d2df77c FULLPIPE: Implement FullpipeEngine::setArcadeOverlay()
Commit: 021e00ab7c7fd82ca3b9ec1082abacc373823cfb
https://github.com/scummvm/scummvm/commit/021e00ab7c7fd82ca3b9ec1082abacc373823cfb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T01:08:54-08:00
Commit Message:
FULLPIPE: Implement scene06_initScene()
Changed paths:
A engines/fullpipe/scenes/scene06.cpp
engines/fullpipe/constants.h
engines/fullpipe/fullpipe.h
engines/fullpipe/init.cpp
engines/fullpipe/input.cpp
engines/fullpipe/module.mk
engines/fullpipe/objectnames.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene02.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index be47e0d..7abfd8a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -25,10 +25,12 @@
namespace Fullpipe {
+#define ANI_BALLDROP 2685
#define ANI_BIGBALL 4923
#define ANI_BIGLUK 909
#define ANI_BOOT_1 4231
#define ANI_BUTTON 598
+#define ANI_BUTTON_6 2988
#define ANI_CLOCK 588
#define ANI_DOMINO_3 2732
#define ANI_DADAYASHIK 306
@@ -42,11 +44,14 @@ namespace Fullpipe {
#define ANI_INV_EGGCOIN 1567
#define ANI_INV_EGGDOM 1561
#define ANI_INV_EGGGLS 1573
+#define ANI_INV_HANDLE 893
#define ANI_INV_MAP 5321
#define ANI_KOZAWKA 495
#define ANI_LIFTBUTTON 2751
+#define ANI_MAMASHA 656
#define ANI_MAMASHA_4 660
#define ANI_MAN 322
+#define ANI_NEWBALL 1073
#define ANI_OTMOROZ 419
#define ANI_PLANK 501
#define ANI_SC2_BOX 1020
@@ -242,6 +247,8 @@ namespace Fullpipe {
#define QU_SC4_MANTOBOTTLE 2850
#define QU_SC5_MANBUMP 1167
#define QU_SC5_MANFLY 1168
+#define QU_SC6_ENTERLIFT 1054
+#define QU_SC6_EXITLIFT 1055
#define SC_1 301
#define SC_10 653
#define SC_11 654
@@ -347,6 +354,7 @@ namespace Fullpipe {
#define ST_MAN_SIT 1164
#define ST_MAN_STANDLADDER 453
#define ST_MAN_UP 449
+#define ST_NBL_NORM 1076
#define ST_OTM_BOX_LEFT 429
#define ST_OTM_GLS_LEFT 421
#define ST_OTM_VNT_LEFT 434
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 51b9353..d5001b2 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -246,6 +246,7 @@ public:
void initArcadeKeys(const char *varname);
void processArcade(ExCommand *ex);
void winArcade();
+ void setArcadeOverlay(int picId);
void getAllInventory();
diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp
index eb109e1..0b74648 100644
--- a/engines/fullpipe/init.cpp
+++ b/engines/fullpipe/init.cpp
@@ -52,7 +52,7 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_Fly_12, 0);
setObjectState(sO_ClockAxis, getObjectEnumState(sO_ClockAxis, sO_NotAvailable));
setObjectState(sO_ClockHandle, getObjectEnumState(sO_ClockHandle, sO_In_7));
- setObjectState(sO_BigMumsy, getObjectEnumState(sO_BigMumsy, sO_Sleeping));
+ setObjectState(sO_BigMumsy, getObjectEnumState(sO_BigMumsy, sO_IsSleeping));
setObjectState(sO_CoinSlot_1, getObjectEnumState(sO_CoinSlot_1, sO_Empty));
setObjectState(sO_FriesPit, getObjectEnumState(sO_FriesPit, sO_WithApple));
setObjectState(sO_Jug, getObjectEnumState(sO_Jug, sO_Blocked));
diff --git a/engines/fullpipe/input.cpp b/engines/fullpipe/input.cpp
index e98920c..beff95c 100644
--- a/engines/fullpipe/input.cpp
+++ b/engines/fullpipe/input.cpp
@@ -274,4 +274,9 @@ void FullpipeEngine::updateCursorCommon() {
_cursorId = PIC_CSR_DEFAULT;
}
+void FullpipeEngine::setArcadeOverlay(int picId) {
+ warning("STUB: setArcadeOverlay()");
+}
+
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 1da0c33..efb3d65 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -29,6 +29,7 @@ MODULE_OBJS = \
scenes/scene03.o \
scenes/scene04.o \
scenes/scene05.o \
+ scenes/scene06.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index b8696ec..5e67f09 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -94,7 +94,7 @@ namespace Fullpipe {
#define sO_HalfFull "\xc7\xe0\xef\xee\xeb\xed\xe5\xed \xed\xe0\xef\xee\xeb\xee\xe2\xe8\xed\xf3" // "Заполнен наполовину"
#define sO_Full "\xc7\xe0\xef\xee\xeb\xed\xe5\xed \xf6\xe5\xeb\xe8\xea\xee\xec" // "Заполнен целиком"
#define sO_MirroredTo "\xc7\xe5\xf0\xea\xe0\xeb\xfc\xed\xe0\xff \xea" // "Зеркальная к"
-#define sO_Playing "\xc8\xe3\xf0\xe0\xe5\xf2" // "Играет"
+#define sO_IsPlaying "\xc8\xe3\xf0\xe0\xe5\xf2" // "Играет"
#define sO_Tub "\xca\xe0\xe4\xea\xe0" // "Кадка"
#define sO_Cactus "\xca\xe0\xea\xf2\xf3\xf1" // "Кактус"
#define sO_SwingingWithBoot "\xca\xe0\xf2\xe0\xe5\xf2\xf1\xff \xf1 \xe1\xee\xf2\xe8\xed\xea\xee\xec" // "Катается с ботинком"
@@ -203,7 +203,7 @@ namespace Fullpipe {
#define sO_WithMop "\xd1\xee \xf8\xe2\xe0\xe1\xf0\xee\xe9" // "Со шваброй"
#define sO_WithHose "\xd1\xee \xf8\xeb\xe0\xed\xe3\xee\xec" // "Со шлангом"
#define sO_WithBrush "\xd1\xee \xf9\xe5\xf2\xea\xee\xe9" // "Со щеткой"
-#define sO_Sleeping "\xd1\xef\xe8\xf2" // "Спит"
+#define sO_IsSleeping "\xd1\xef\xe8\xf2" // "Спит"
#define sO_OnRight "\xd1\xef\xf0\xe0\xe2\xe0" // "Справа"
#define sO_StandsInBoots "\xd1\xf2\xee\xe8\xf2 \xe2 \xe1\xee\xf2\xe8\xed\xea\xe0\xf5" // "Стоит в ботинках"
#define sO_StandsInCorner "\xd1\xf2\xee\xe8\xf2 \xe2 \xf3\xe3\xeb\xf3" // "Стоит в углу"
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 41bec4d..a4b1a07 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -110,6 +110,21 @@ Vars::Vars() {
scene05_handleFlipper = 0;
scene05_floatersTicker = 0;
+ scene06_mumsy = 0;
+ scene06_var06 = 0;
+ scene06_invHandle = 0;
+ scene06_liftButton = 0;
+ scene06_ballDrop = 0;
+ scene06_var07 = 0;
+ scene06_var08 = 0;
+ scene06_var09 = 0;
+ scene06_var10 = 0;
+ scene06_var11 = 0;
+ scene06_var12 = 0;
+ scene06_var13 = 0;
+ scene06_var14 = 0;
+ scene06_var15 = 1;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 4c7302d..7c1e338 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -141,6 +141,22 @@ public:
int scene05_handleFlipper;
int scene05_floatersTicker;
+ StaticANIObject *scene06_mumsy;
+ int scene06_var06;
+ StaticANIObject *scene06_invHandle;
+ StaticANIObject *scene06_liftButton;
+ StaticANIObject *scene06_ballDrop;
+ int scene06_var07;
+ int scene06_var08;
+ int scene06_var09;
+ int scene06_var10;
+ int scene06_var11;
+ Common::Array<StaticANIObject *> scene06_balls;
+ int scene06_var12;
+ int scene06_var13;
+ int scene06_var14;
+ int scene06_var15;
+
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene02.cpp b/engines/fullpipe/scenes/scene02.cpp
index dd01af4..3ca28cb 100644
--- a/engines/fullpipe/scenes/scene02.cpp
+++ b/engines/fullpipe/scenes/scene02.cpp
@@ -39,7 +39,7 @@ namespace Fullpipe {
void scene02_initScene(Scene *sc) {
g_vars->scene02_guvTheDrawer = sc->getStaticANIObject1ById(ANI_DADAYASHIK, -1);
- if (g_fullpipe->getObjectState(sO_GuvTheDrawer) == g_fullpipe->getObjectEnumState(sO_GuvTheDrawer, sO_Sleeping)) {
+ if (g_fullpipe->getObjectState(sO_GuvTheDrawer) == g_fullpipe->getObjectEnumState(sO_GuvTheDrawer, sO_IsSleeping)) {
Scene *s = g_fullpipe->_currentScene;
g_fullpipe->_currentScene = sc;
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
new file mode 100644
index 0000000..f341216
--- /dev/null
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -0,0 +1,88 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/objects.h"
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+#include "fullpipe/gfx.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/statics.h"
+#include "fullpipe/scene.h"
+
+namespace Fullpipe {
+
+void sceneHandler06_setExits(Scene *sc) {
+ warning("STUB: sceneHandler06_setExits()");
+}
+
+void scene06_initScene(Scene *sc) {
+ g_vars->scene06_mumsy = sc->getStaticANIObject1ById(ANI_MAMASHA, -1);
+ g_vars->scene06_var06 = 0;
+ g_vars->scene06_invHandle = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
+ g_vars->scene06_liftButton = sc->getStaticANIObject1ById(ANI_BUTTON_6, -1);
+ 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_var10 = 0;
+ g_vars->scene06_var11 = 0;
+ g_vars->scene06_balls.clear();
+ g_vars->scene06_var12 = 0;
+ g_vars->scene06_var13 = 0;
+ g_vars->scene06_var14 = 0;
+ g_vars->scene06_var15 = 1;
+
+ StaticANIObject *ball = sc->getStaticANIObject1ById(ANI_NEWBALL, -1);
+
+ ball->hide();
+ ball->_statics = ball->getStaticsById(ST_NBL_NORM);
+ g_vars->scene06_balls.push_back(ball);
+
+ for (int i = 0; i < 3; i++) {
+ StaticANIObject *ball2 = new StaticANIObject(ball);
+
+ ball2->hide();
+ ball2->_statics = ball2->getStaticsById(ST_NBL_NORM);
+
+ sc->addStaticANIObject(ball2, 1);
+
+ g_vars->scene06_balls.push_back(ball2);
+ }
+
+ if (g_fullpipe->getObjectState(sO_BigMumsy) == g_fullpipe->getObjectEnumState(sO_BigMumsy, sO_IsPlaying))
+ g_fullpipe->setObjectState(sO_BigMumsy, g_fullpipe->getObjectEnumState(sO_BigMumsy, sO_IsSleeping));
+
+ if (g_fullpipe->getObjectState(sO_BigMumsy) != g_fullpipe->getObjectEnumState(sO_BigMumsy, sO_IsSleeping))
+ g_vars->scene06_mumsy->hide();
+
+ g_fullpipe->lift_setButton(sO_Level3, ST_LBN_3N);
+ g_fullpipe->lift_sub5(sc, QU_SC6_ENTERLIFT, QU_SC6_EXITLIFT);
+ g_fullpipe->initArcadeKeys("SC_6");
+
+ sceneHandler06_setExits(sc);
+
+ g_fullpipe->setArcadeOverlay(PIC_CSR_ARCADE2);
+}
+
+} // End of namespace Fullpipe
Commit: 0911865af6d1eb3a883c840b1e5823833fd50a81
https://github.com/scummvm/scummvm/commit/0911865af6d1eb3a883c840b1e5823833fd50a81
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T01:10:39-08:00
Commit Message:
FULLPIPE: Rearrange arcade-related functions
Changed paths:
engines/fullpipe/input.cpp
engines/fullpipe/scenes.cpp
diff --git a/engines/fullpipe/input.cpp b/engines/fullpipe/input.cpp
index beff95c..d551019 100644
--- a/engines/fullpipe/input.cpp
+++ b/engines/fullpipe/input.cpp
@@ -274,6 +274,26 @@ void FullpipeEngine::updateCursorCommon() {
_cursorId = PIC_CSR_DEFAULT;
}
+void FullpipeEngine::initArcadeKeys(const char *varname) {
+ GameVar *var = getGameLoaderGameVar()->getSubVarByName(varname)->getSubVarByName("KEYPOS");
+
+ if (!var)
+ return;
+
+ int cnt = var->getSubVarsCount();
+
+ for (int i = 0; i < cnt; i++) {
+ Common::Point *point = new Common::Point;
+
+ GameVar *sub = var->getSubVarByIndex(i);
+
+ point->x = sub->getSubVarAsInt("X");
+ point->y = sub->getSubVarAsInt("Y");
+
+ _arcadeKeys.push_back(point);
+ }
+}
+
void FullpipeEngine::setArcadeOverlay(int picId) {
warning("STUB: setArcadeOverlay()");
}
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index a4b1a07..74beb1c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -729,26 +729,6 @@ int defaultUpdateCursor() {
return g_fullpipe->_cursorId;
}
-void FullpipeEngine::initArcadeKeys(const char *varname) {
- GameVar *var = getGameLoaderGameVar()->getSubVarByName(varname)->getSubVarByName("KEYPOS");
-
- if (!var)
- return;
-
- int cnt = var->getSubVarsCount();
-
- for (int i = 0; i < cnt; i++) {
- Common::Point *point = new Common::Point;
-
- GameVar *sub = var->getSubVarByIndex(i);
-
- point->x = sub->getSubVarAsInt("X");
- point->y = sub->getSubVarAsInt("Y");
-
- _arcadeKeys.push_back(point);
- }
-}
-
void FullpipeEngine::processArcade(ExCommand *ex) {
warning("STUB: FullpipeEngine::processArcade()");
}
Commit: fe8d2df77c63bb23b070dda89c97f7a491e54d49
https://github.com/scummvm/scummvm/commit/fe8d2df77c63bb23b070dda89c97f7a491e54d49
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T01:18:33-08:00
Commit Message:
FULLPIPE: Implement FullpipeEngine::setArcadeOverlay()
Changed paths:
engines/fullpipe/fullpipe.cpp
engines/fullpipe/fullpipe.h
engines/fullpipe/input.cpp
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index 970af42..674f67f 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -148,6 +148,13 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
_objectAtCursor = 0;
_objectIdAtCursor = 0;
+ _arcadeOverlay = 0;
+ _arcadeOverlayHelper = 0;
+ _arcadeOverlayX = 0;
+ _arcadeOverlayY = 0;
+ _arcadeOverlayMidX = 0;
+ _arcadeOverlayMidY = 0;
+
_isSaveAllowed = true;
g_fullpipe = this;
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index d5001b2..b326c45 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -63,6 +63,7 @@ struct MessageHandler;
struct MovTable;
class MGM;
class NGIArchive;
+class PictureObject;
class Scene;
class SoundList;
class StaticANIObject;
@@ -243,6 +244,13 @@ public:
void openHelp();
void openMainMenu();
+ PictureObject *_arcadeOverlay;
+ PictureObject *_arcadeOverlayHelper;
+ int _arcadeOverlayX;
+ int _arcadeOverlayY;
+ int _arcadeOverlayMidX;
+ int _arcadeOverlayMidY;
+
void initArcadeKeys(const char *varname);
void processArcade(ExCommand *ex);
void winArcade();
diff --git a/engines/fullpipe/input.cpp b/engines/fullpipe/input.cpp
index d551019..d5431dd 100644
--- a/engines/fullpipe/input.cpp
+++ b/engines/fullpipe/input.cpp
@@ -295,7 +295,20 @@ void FullpipeEngine::initArcadeKeys(const char *varname) {
}
void FullpipeEngine::setArcadeOverlay(int picId) {
- warning("STUB: setArcadeOverlay()");
+ Common::Point point;
+ Common::Point point2;
+
+ _arcadeOverlayX = 800;
+ _arcadeOverlayY = 545;
+
+ _arcadeOverlayHelper = accessScene(SC_INV)->getPictureObjectById(PIC_CSR_HELPERBGR, 0);
+ _arcadeOverlay = accessScene(SC_INV)->getPictureObjectById(picId, 0);
+
+ _arcadeOverlay->getDimensions(&point);
+ _arcadeOverlayHelper->getDimensions(&point2);
+
+ _arcadeOverlayMidX = (point2.x - point.x) / 2;
+ _arcadeOverlayMidY = abs(point2.y - point.y) / 2;
}
More information about the Scummvm-git-logs
mailing list