[Scummvm-cvs-logs] scummvm master -> ee3f26e4b6548b93419b9729645ae2c3c2b5ab81

sev- sev at scummvm.org
Tue Mar 4 22:20:41 CET 2014


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:
bb29087332 FULLPIPE: Implement scene19_updateCursor()
ee3f26e4b6 FULLPIPE: Implement scene18_setupSwingers()


Commit: bb290873320bcd87e1e0c915be03518a9ab0d355
    https://github.com/scummvm/scummvm/commit/bb290873320bcd87e1e0c915be03518a9ab0d355
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-04T13:19:48-08:00

Commit Message:
FULLPIPE: Implement scene19_updateCursor()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene18and19.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 83fafee..6f98e1a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -891,6 +891,7 @@ namespace Fullpipe {
 #define ANI_WHIRLGIG_19 1302
 #define MV_WHR19_SPIN 1317
 #define PIC_SC19_RTRUBA3 1515
+#define PIC_SC19_RTRUBA31 5320
 #define SND_19_015 3928
 #define SND_19_016 4995
 #define ST_CDI_EMPTY2 1543
diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index 5e69ec7..759af91 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -325,4 +325,13 @@ int scene18_updateCursor() {
 	return g_fp->_cursorId;
 }
 
+int scene19_updateCursor() {
+	g_fp->updateCursorCommon();
+
+	if (g_fp->_objectIdAtCursor == PIC_SC19_RTRUBA31)
+		g_fp->_cursorId = g_vars->scene19_var05 != 0 ? PIC_CSR_GOR : PIC_CSR_DEFAULT;
+
+	return g_fp->_cursorId;
+}
+
 } // End of namespace Fullpipe


Commit: ee3f26e4b6548b93419b9729645ae2c3c2b5ab81
    https://github.com/scummvm/scummvm/commit/ee3f26e4b6548b93419b9729645ae2c3c2b5ab81
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-04T13:19:48-08:00

Commit Message:
FULLPIPE: Implement scene18_setupSwingers()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene18and19.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 6f98e1a..d84b639 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -877,6 +877,9 @@ namespace Fullpipe {
 #define ANI_GIRL18 1484
 #define ANI_KRESLO 1459
 #define ANI_WHIRLIGIG_18 829
+#define MV_KSL_SWING 1460
+#define MV_KSL_SWINGBOY 1462
+#define MV_KSL_SWINGGIRL 1464
 #define MV_WHR18_SPIN 1300
 #define PIC_SC18_DOMIN 5184
 #define PIC_SC18_LADDER1 1471
diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index 759af91..8319c83 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -134,8 +134,58 @@ void scene19_preload() {
 	}
 }
 
-void scene18_sub2(StaticANIObject *ani, Scene *sc) {
-	warning("WARNING: scene18_sub2()");
+void scene18_setupSwingers(StaticANIObject *ani, Scene *sc) {
+	Swinger *swinger;
+
+	g_vars->scene18_var07.clear();
+
+	Scene *oldsc = g_fp->_currentScene;
+	g_fp->_currentScene = sc;
+
+	for (int i = 0; i < 8; i++) {
+		swinger = new Swinger;
+
+		swinger->angle = (double)i * M_PI / 4.0;
+		swinger->sx = g_vars->scene18_var20 - (int)(cos(swinger->angle) * -575.0);
+		swinger->sy = g_vars->scene18_var04 - (int)(sin(swinger->angle) * -575.0) + 87;
+		swinger->ix = swinger->sx;
+		swinger->iy = swinger->sy;
+
+		if (i) {
+			StaticANIObject *newani = new StaticANIObject(ani);
+
+			ani = newani;
+
+			swinger->ani = newani;
+			swinger->sflags = 2;
+
+			sc->addStaticANIObject(newani, 1);
+		} else {
+			swinger->ani = ani;
+			swinger->sflags = g_vars->scene18_var03 != 0 ? 4 : 1;
+		}
+
+		ani->_statics = ani->getStaticsById(ST_KSL_NORM);
+		ani->_movement = 0;
+		ani->setOXY(swinger->sx, swinger->sy);
+		ani->_priority = 30;
+		ani->_flags |= 4;
+
+		if (swinger->sflags & 2) {
+			ani->startAnim(MV_KSL_SWINGBOY, 0, -1);
+		} else {
+			if (swinger->sflags & 4)
+				ani->startAnim(MV_KSL_SWINGGIRL, 0, -1);
+			else
+				ani->startAnim(MV_KSL_SWING, 0, -1);
+		}
+
+		ani->_movement->setDynamicPhaseIndex(g_fp->_rnd->getRandomNumber(17));
+
+		g_vars->scene18_var07.push_back(swinger);
+	}
+
+	g_fp->_currentScene = oldsc;
 }
 
 void scene18_initScene1(Scene *sc) {
@@ -272,7 +322,7 @@ void scene18_initScene2(Scene *sc) {
 		g_fp->playSound(SND_18_010, 1);
 	}
 
-	scene18_sub2(armchair, sc);
+	scene18_setupSwingers(armchair, sc);
 
 	g_vars->scene18_var21 = 0;
 	g_vars->scene18_var12 = 0;






More information about the Scummvm-git-logs mailing list