[Scummvm-cvs-logs] scummvm master -> 01269c241b3ad9ae8742e12c12f64b9bb84669ee

sev- sev at scummvm.org
Tue Jan 7 01:21:46 CET 2014


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
03f1d8494f FULLPIPE: Implement sceneHandler28_clickLift()
273e4bf6e8 FULLPIPE: Implement sceneHandler28_lift1ShowAfter()
b433752ab5 FULLPIPE: Implement sceneHandler28_lift*Start()
d78e0cf98d FULLPIPE: Implement sceneHandler28_startWork1()
01269c241b FULLPIPE: Implement sceneHandler28_makeFaces()


Commit: 03f1d8494f60c682e6237b9286c367e83179be36
    https://github.com/scummvm/scummvm/commit/03f1d8494f60c682e6237b9286c367e83179be36
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-06T16:20:59-08:00

Commit Message:
FULLPIPE: Implement sceneHandler28_clickLift()

Changed paths:
    engines/fullpipe/scenes/scene28.cpp



diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index 9fad0f7..ad1325e 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -83,10 +83,6 @@ void sceneHandler28_startWork1() {
 	warning("STUB: sceneHandler28_startWork1()");
 }
 
-void sceneHandler28_clickLift(int keyCode) {
-	warning("STUB: sceneHandler28_clickLift()");
-}
-
 void sceneHandler28_lift0Start() {
 	chainQueue(QU_SC28_LIFT0_START, 1);
 }
@@ -115,6 +111,59 @@ void sceneHandler28_lift6Start() {
 	warning("STUB: sceneHandler28_lift6Start()");
 }
 
+void sceneHandler28_clickLift(int keycode) {
+	int x = 0;
+
+	switch (keycode) {
+	case 0: x = 600; break;
+	case 1: x = 824; break;
+	case 2: x = 1055; break;
+	case 3: x = 1286; break;
+	case 4: x = 1517; break;
+	case 5: x = 1748; break;
+	case 6: x = 1979; break;
+	}
+
+	if (abs(x - g_fp->_aniMan->_ox) > 1 || abs(472 - g_fp->_aniMan->_oy) > 1
+		|| g_fp->_aniMan->_movement
+		|| g_fp->_aniMan->_statics->_staticsId != ST_MAN_UP) {
+		MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, x, 472, 1, ST_MAN_UP);
+		if (mq) {
+			ExCommand *ex = new ExCommand(0, 17, MSG_SC28_CLICKLIFT, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags |= 3;
+
+			mq->addExCommandToEnd(ex);
+
+			postExCommand(g_fp->_aniMan->_id, 2, x, 472, 0, -1);
+		}
+	} else {
+		switch (keycode) {
+		case 0:
+			sceneHandler28_lift0Start();
+			break;
+		case 1:
+			sceneHandler28_lift1Start();
+			break;
+		case 2:
+			sceneHandler28_lift2Start();
+			break;
+		case 3:
+			sceneHandler28_lift3Start();
+			break;
+		case 4:
+			sceneHandler28_lift4Start();
+			break;
+		case 5:
+			sceneHandler28_lift5Start();
+			break;
+		case 6:
+			sceneHandler28_lift6Start();
+			break;
+		default:
+			return;
+		}
+	}
+}
 
 int sceneHandler28(ExCommand *cmd) {
 	if (cmd->_messageKind != 17)


Commit: 273e4bf6e88f7ce9e17fe375a81239f89106b038
    https://github.com/scummvm/scummvm/commit/273e4bf6e88f7ce9e17fe375a81239f89106b038
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-06T16:20:59-08:00

Commit Message:
FULLPIPE: Implement sceneHandler28_lift1ShowAfter()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 5edeeb1..bef369e 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -980,6 +980,7 @@ namespace Fullpipe {
 // Scene 28
 #define ANI_LIFT 982
 #define ANI_LIFT_28 4238
+#define ANI_MAN_28 4247
 #define MSG_SC28_CLICKLIFT 4258
 #define MSG_SC28_ENDCABIN 3456
 #define MSG_SC28_ENDLIFT1 4259
diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index ad1325e..d55cb33 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -64,7 +64,12 @@ int scene28_updateCursor() {
 }
 
 void sceneHandler28_lift1ShowAfter() {
-	warning("STUB: sceneHandler28_lift1ShowAfter()");
+	StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_MAN_28, -1);
+
+	g_fp->_aniMan->_statics = g_fp->_aniMan->getStaticsById(ST_MAN_SIT|0x4000);
+	g_fp->_aniMan->setOXY(ani->_ox + 7, ani->_oy);
+	g_fp->_aniMan->_priority = ani->_priority;
+	g_fp->_aniMan->show1(-1, -1, -1, 0);
 }
 
 void sceneHandler28_makeFaces(ExCommand *cmd) {


Commit: b433752ab5f050a3e9f3656c9c54d0cd42f1ff34
    https://github.com/scummvm/scummvm/commit/b433752ab5f050a3e9f3656c9c54d0cd42f1ff34
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-06T16:20:59-08:00

Commit Message:
FULLPIPE: Implement sceneHandler28_lift*Start()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index bef369e..4603582 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -981,6 +981,7 @@ namespace Fullpipe {
 #define ANI_LIFT 982
 #define ANI_LIFT_28 4238
 #define ANI_MAN_28 4247
+#define ANI_TIOTIA 4286
 #define MSG_SC28_CLICKLIFT 4258
 #define MSG_SC28_ENDCABIN 3456
 #define MSG_SC28_ENDLIFT1 4259
@@ -1018,6 +1019,8 @@ namespace Fullpipe {
 #define QU_SC28_LIFT5_START 4674
 #define QU_SC28_LIFT6_END 3563
 #define QU_SC28_LIFT6_START 4243
+#define QU_SC28_LIFT6_START2 4295
+#define QU_SC28_WMN_START 3452
 
 // Scene 30
 #define ANI_LEG 2322
diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index d55cb33..bc7b7d2 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -93,7 +93,11 @@ void sceneHandler28_lift0Start() {
 }
 
 void sceneHandler28_lift1Start() {
-	warning("STUB: sceneHandler28_lift1Start()");
+	g_fp->_aniMan->_flags |= 1;
+
+	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+	chainQueue(QU_SC28_LIFT1_START, 1);
 }
 
 void sceneHandler28_lift2Start() {
@@ -105,7 +109,11 @@ void sceneHandler28_lift3Start() {
 }
 
 void sceneHandler28_lift4Start() {
-	warning("STUB: sceneHandler28_lift4Start()");
+	g_fp->_aniMan->_flags |= 1;
+
+	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+	chainQueue(QU_SC28_WMN_START, 1);
 }
 
 void sceneHandler28_lift5Start() {
@@ -113,7 +121,16 @@ void sceneHandler28_lift5Start() {
 }
 
 void sceneHandler28_lift6Start() {
-	warning("STUB: sceneHandler28_lift6Start()");
+	g_fp->_aniMan->_flags |= 1;
+
+	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+	StaticANIObject *woman = g_fp->_currentScene->getStaticANIObject1ById(ANI_TIOTIA, -1);
+
+	if (woman && (woman->_flags & 4))
+		chainQueue(QU_SC28_LIFT6_START2, 1);
+	else
+		chainQueue(QU_SC28_LIFT6_START, 1);
 }
 
 void sceneHandler28_clickLift(int keycode) {


Commit: d78e0cf98d08361d4a0797777e249a24aec34ca6
    https://github.com/scummvm/scummvm/commit/d78e0cf98d08361d4a0797777e249a24aec34ca6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-06T16:20:59-08:00

Commit Message:
FULLPIPE: Implement sceneHandler28_startWork1()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 4603582..50ca12b 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1014,6 +1014,7 @@ namespace Fullpipe {
 #define PIC_SC28_DARK6 4271
 #define QU_SC28_LIFT0_START 4676
 #define QU_SC28_LIFT1_START 4254
+#define QU_SC28_LIFT1_WORK 4256
 #define QU_SC28_LIFT2_START 4246
 #define QU_SC28_LIFT3_START 4245
 #define QU_SC28_LIFT5_START 4674
@@ -1021,6 +1022,7 @@ namespace Fullpipe {
 #define QU_SC28_LIFT6_START 4243
 #define QU_SC28_LIFT6_START2 4295
 #define QU_SC28_WMN_START 3452
+#define ST_MAN28_RIGHT 4249
 
 // Scene 30
 #define ANI_LEG 2322
diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index bc7b7d2..b6031f2 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -85,7 +85,16 @@ void sceneHandler28_turnOn2() {
 }
 
 void sceneHandler28_startWork1() {
-	warning("STUB: sceneHandler28_startWork1()");
+	g_fp->_aniMan->hide();
+
+	StaticANIObject *man = g_fp->_currentScene->getStaticANIObject1ById(ANI_MAN_28, -1);
+
+	man->_statics = man->getStaticsById(ST_MAN28_RIGHT);
+	man->setOXY(g_fp->_aniMan->_ox, g_fp->_aniMan->_oy);
+	man->_priority = g_fp->_aniMan->_priority;
+	man->show1(-1, -1, -1, 0);
+
+	chainQueue(QU_SC28_LIFT1_WORK, 1);
 }
 
 void sceneHandler28_lift0Start() {


Commit: 01269c241b3ad9ae8742e12c12f64b9bb84669ee
    https://github.com/scummvm/scummvm/commit/01269c241b3ad9ae8742e12c12f64b9bb84669ee
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-06T16:21:00-08:00

Commit Message:
FULLPIPE: Implement sceneHandler28_makeFaces()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 50ca12b..6d05ecc 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1005,6 +1005,11 @@ namespace Fullpipe {
 #define MSG_SC28_TURNON_3 4274
 #define MSG_SC28_TURNON_4 4281
 #define MSG_SC28_TURNON_6 4272
+#define MV_WMN28_IN_1 3443
+#define MV_WMN28_IN_2 3445
+#define MV_WMN28_IN_3 3446
+#define MV_WMN28_IN_4 3447
+#define MV_WMN28_IN_5 3448
 #define PIC_SC28_DARK0 4675
 #define PIC_SC28_DARK1 4266
 #define PIC_SC28_DARK2 4267
diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index b6031f2..9165953 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -73,7 +73,31 @@ void sceneHandler28_lift1ShowAfter() {
 }
 
 void sceneHandler28_makeFaces(ExCommand *cmd) {
-	warning("STUB: sceneHandler28_makeFaces()");
+	g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK4, 0)->_flags &= 0xFFFB;
+
+	g_vars->scene28_var08 = 0;
+
+	MessageQueue *mq = g_fp->_globalMessageQueueList->getMessageQueueById(cmd->_parId);
+	if (mq) {
+		int frames[5];
+
+		frames[0] = MV_WMN28_IN_1;
+		frames[1] = MV_WMN28_IN_2;
+		frames[2] = MV_WMN28_IN_3;
+		frames[3] = MV_WMN28_IN_4;
+		frames[4] = MV_WMN28_IN_5;
+
+		for (int i = 0; i < 5; i++) {
+			int pos;
+
+			while (frames[pos = g_fp->_rnd->getRandomNumber(4)] == 0)
+				;
+
+			mq->getExCommandByIndex(i)->_messageNum = frames[pos];
+
+			frames[pos] = 0;
+		}
+	}
 }
 
 void sceneHandler28_trySecondaryPers() {






More information about the Scummvm-git-logs mailing list