diff options
| -rw-r--r-- | engines/fullpipe/constants.h | 5 | ||||
| -rw-r--r-- | engines/fullpipe/module.mk | 1 | ||||
| -rw-r--r-- | engines/fullpipe/scenes.cpp | 4 | ||||
| -rw-r--r-- | engines/fullpipe/scenes.h | 4 | ||||
| -rw-r--r-- | engines/fullpipe/scenes/scene07.cpp | 55 | 
5 files changed, 69 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 1a41538732..433866fbe4 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -32,6 +32,7 @@ namespace Fullpipe {  #define ANI_BUTTON 598  #define ANI_BUTTON_6 2988  #define ANI_CLOCK 588 +#define ANI_CORNERSITTER 71  #define ANI_DOMINO_3 2732  #define ANI_DADAYASHIK 306  #define ANI_EGGEATER 334 @@ -55,6 +56,7 @@ namespace Fullpipe {  #define ANI_NEWBALL 1073  #define ANI_OTMOROZ 419  #define ANI_PLANK 501 +#define ANI_PLUSMINUS 2938  #define ANI_SC2_BOX 1020  #define ANI_SC4_BOOT 1035  #define ANI_SC4_COIN 690 @@ -351,6 +353,7 @@ namespace Fullpipe {  #define ST_BLK_CLOSED 912  #define ST_BLK_OPEN 913  #define ST_CLK_CLOSED 590 +#define ST_CST_HANDLELESS 794  #define ST_DYAS_LIES 318  #define ST_EGTR_MID1 2863  #define ST_EGTR_MID2 2869 @@ -402,6 +405,8 @@ namespace Fullpipe {  #define ST_OTM_BOX_LEFT 429  #define ST_OTM_GLS_LEFT 421  #define ST_OTM_VNT_LEFT 434 +#define ST_PMS_MINUS 2942 +#define ST_PMS_PLUS 2941  #define ST_PNK_WEIGHTLEFT 503  #define ST_PNK_WEIGHTRIGHT 504  #define ST_SPR_UP 544 diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index efb3d65786..7c09811c18 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -30,6 +30,7 @@ MODULE_OBJS = \  	scenes/scene04.o \  	scenes/scene05.o \  	scenes/scene06.o \ +	scenes/scene07.o \  	scenes/sceneDbg.o \  	scenes/sceneIntro.o diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 08eed7210b..83f4d6be10 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -139,6 +139,10 @@ Vars::Vars() {  	scene06_mumsyJumpBkPercent = 0;  	scene06_mumsyJumpFwPercent = 0; +	scene07_lukeAnim = 0; +	scene07_lukePercent = 0; +	scene07_plusMinus = 0; +  	selector = 0;  } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 6664d823be..3751ed9a32 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -177,6 +177,10 @@ public:  	int scene06_mumsyJumpBkPercent;  	int scene06_mumsyJumpFwPercent; +	BehaviorEntryInfo *scene07_lukeAnim; +	int scene07_lukePercent; +	StaticANIObject *scene07_plusMinus; +  	PictureObject *selector;  }; diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp new file mode 100644 index 0000000000..037a201249 --- /dev/null +++ b/engines/fullpipe/scenes/scene07.cpp @@ -0,0 +1,55 @@ +/* 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/scenes.h" +#include "fullpipe/scene.h" +#include "fullpipe/statics.h" + +namespace Fullpipe { + +void scene07_initScene(Scene *sc) { +	g_vars->scene07_lukeAnim = 0; +	g_vars->scene07_lukePercent = 0; +	g_vars->scene07_plusMinus = sc->getStaticANIObject1ById(ANI_PLUSMINUS, -1); + +	if (g_fullpipe->getObjectState(sO_Guard_1) == g_fullpipe->getObjectEnumState(sO_Guard_1, sO_Off)) +		g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_MINUS); +	else +		g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_PLUS); + +	if (g_fullpipe->getObjectState(sO_HareTheNooksiter) == g_fullpipe->getObjectEnumState(sO_HareTheNooksiter, sO_WithoutHandle)) { +		Scene *oldsc = g_fullpipe->_currentScene; + +		g_fullpipe->_currentScene = sc; + +		sc->getStaticANIObject1ById(ANI_CORNERSITTER, -1)->changeStatics2(ST_CST_HANDLELESS); + +		g_fullpipe->_currentScene = oldsc; +	} +} + +} // End of namespace Fullpipe  | 
