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

dreammaster dreammaster at scummvm.org
Sun Oct 2 10:50:18 CEST 2011


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

Summary:
edd1ebb820 TSAGE: Implemented Blue Force scene 200


Commit: edd1ebb8204fbdfcfd65f00e182dc604e3c38998
    https://github.com/scummvm/scummvm/commit/edd1ebb8204fbdfcfd65f00e182dc604e3c38998
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-02T01:43:20-07:00

Commit Message:
TSAGE: Implemented Blue Force scene 200

Changed paths:
  A engines/tsage/blue_force/blueforce_scenes2.cpp
  A engines/tsage/blue_force/blueforce_scenes2.h
    engines/tsage/blue_force/blueforce_logic.cpp
    engines/tsage/module.mk



diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index ef2c85c..80b379d 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -24,6 +24,7 @@
 #include "tsage/blue_force/blueforce_dialogs.h"
 #include "tsage/blue_force/blueforce_scenes0.h"
 #include "tsage/blue_force/blueforce_scenes1.h"
+#include "tsage/blue_force/blueforce_scenes2.h"
 #include "tsage/blue_force/blueforce_scenes3.h"
 #include "tsage/blue_force/blueforce_scenes4.h"
 #include "tsage/blue_force/blueforce_scenes5.h"
@@ -79,6 +80,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
 		// Front of Police Station
 		return new Scene190();
 	case 200:
+		// Credits #2
+		return new Scene200();
 	case 210:
 	case 220:
 	case 225:
diff --git a/engines/tsage/blue_force/blueforce_scenes2.cpp b/engines/tsage/blue_force/blueforce_scenes2.cpp
new file mode 100644
index 0000000..1f45a86
--- /dev/null
+++ b/engines/tsage/blue_force/blueforce_scenes2.cpp
@@ -0,0 +1,140 @@
+/* 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 "tsage/blue_force/blueforce_scenes2.h"
+#include "tsage/scenes.h"
+#include "tsage/tsage.h"
+
+namespace TsAGE {
+
+namespace BlueForce {
+
+/*--------------------------------------------------------------------------
+ * Scene 200 - Credits #2 
+ *
+ *--------------------------------------------------------------------------*/
+
+void Scene200::Action1::signal() {
+	Scene200 *scene = (Scene200 *)BF_GLOBALS._sceneManager._scene;
+	static const uint32 black = 0;
+
+	switch (_actionIndex++) {
+	case 0:
+		setDelay(1);
+		break;
+	case 1:
+		BF_GLOBALS._scenePalette.loadPalette(235);
+		BF_GLOBALS._scenePalette.refresh();
+		_state = 0;
+		setDelay(30);
+		break;
+	case 2:
+		assert(_owner);
+		static_cast<SceneObject *>(_owner)->animate(ANIM_MODE_5, this);
+		break;
+	case 3:
+		if (++_state < 2) {
+			scene->_action2.signal();
+			static_cast<SceneObject *>(_owner)->setFrame(1);
+			_actionIndex = 2;
+		}
+		setDelay(2);
+		break;
+	case 4: {
+		PaletteRotation *rot;
+		rot = BF_GLOBALS._scenePalette.addRotation(64, 79, 1);
+		rot->setDelay(10);
+		rot = BF_GLOBALS._scenePalette.addRotation(96, 111, 1);
+		rot->setDelay(10);
+		
+		scene->setAction(&scene->_sequenceManager, this, 201, &scene->_object1, &scene->_object2,
+			&scene->_object3, &scene->_object4, &scene->_object5, &scene->_object6, NULL);
+		break;
+	}
+	case 5:
+		BF_GLOBALS._sceneManager.changeScene(210);
+		break;
+	default:
+		break;
+	}
+}
+
+void Scene200::Action2::signal() {
+	SceneObject *owner = static_cast<SceneObject *>(this->_owner);
+	
+	switch (_actionIndex++) {
+	case 1:
+		owner->setPosition(owner->_position);
+		owner->animate(ANIM_MODE_5, this);
+		break;
+	case 2:
+		owner->setPosition(owner->_position);
+		owner->setFrame(1);
+		break;
+	default:
+		break;
+	}
+}
+	
+
+/*--------------------------------------------------------------------------*/
+
+void Scene200::postInit(SceneObjectList *OwnerList) {
+	SceneExt::postInit();
+	loadScene(200);
+	setZoomPercents(0, 100, 200, 100);
+	BF_GLOBALS._sound1.play(3);
+
+	_object10.postInit();
+	_object10.setVisage(200);
+	_object10.setPosition(Common::Point(114, 102));
+	_object10.setStrip(2);
+	_object10.setFrame(1);
+	_object10.changeZoom(100);
+
+	_object1.postInit();
+	_object1.hide();
+	_object2.postInit();
+	_object2.hide();
+	_object3.postInit();
+	_object3.hide();
+	_object4.postInit();
+	_object4.hide();
+	_object5.postInit();
+	_object5.hide();
+	_object6.postInit();
+	_object6.hide();
+
+	_object11.postInit();
+	_object11.setVisage(200);
+	_object11.setPosition(Common::Point(96, 112), 1000);
+	_object11.setStrip(3);
+	_object11.setFrame(1);
+	_object11.changeZoom(100);
+
+	_object10.setAction(&_action1);
+	_object11.setAction(&_action2);
+}
+
+} // End of namespace BlueForce
+
+} // End of namespace TsAGE
diff --git a/engines/tsage/blue_force/blueforce_scenes2.h b/engines/tsage/blue_force/blueforce_scenes2.h
new file mode 100644
index 0000000..c405d9e
--- /dev/null
+++ b/engines/tsage/blue_force/blueforce_scenes2.h
@@ -0,0 +1,64 @@
+/* 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.
+ *
+ */
+
+#ifndef TSAGE_BLUEFORCE_SCENES2_H
+#define TSAGE_BLUEFORCE_SCENES2_H
+
+#include "common/scummsys.h"
+#include "tsage/blue_force/blueforce_logic.h"
+#include "tsage/events.h"
+#include "tsage/core.h"
+#include "tsage/scenes.h"
+#include "tsage/globals.h"
+#include "tsage/sound.h"
+
+namespace TsAGE {
+
+namespace BlueForce {
+
+using namespace TsAGE;
+
+class Scene200: public SceneExt {
+	/* Actions */
+	class Action1: public ActionExt {
+	public:
+		virtual void signal();
+	};
+	class Action2: public Action {
+	public:
+		virtual void signal();
+	};
+public:
+	SequenceManager _sequenceManager;
+	Action1 _action1;
+	Action2 _action2;
+	NamedObject _object1, _object2, _object3, _object4, _object5, _object6;
+	NamedObject  _object7, _object8, _object9, _object10, _object11;
+
+	virtual void postInit(SceneObjectList *OwnerList = NULL);
+};
+
+} // End of namespace BlueForce
+
+} // End of namespace TsAGE
+
+#endif
diff --git a/engines/tsage/module.mk b/engines/tsage/module.mk
index 7d15b66..50b2699 100644
--- a/engines/tsage/module.mk
+++ b/engines/tsage/module.mk
@@ -5,6 +5,7 @@ MODULE_OBJS := \
 	blue_force/blueforce_logic.o \
 	blue_force/blueforce_scenes0.o \
 	blue_force/blueforce_scenes1.o \
+	blue_force/blueforce_scenes2.o \
 	blue_force/blueforce_scenes3.o \
 	blue_force/blueforce_scenes4.o \
 	blue_force/blueforce_scenes5.o \






More information about the Scummvm-git-logs mailing list