[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