[Scummvm-cvs-logs] SF.net SVN: scummvm:[47808] scummvm/trunk/engines/teenagent

megath at users.sourceforge.net megath at users.sourceforge.net
Tue Feb 2 08:26:36 CET 2010


Revision: 47808
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47808&view=rev
Author:   megath
Date:     2010-02-02 07:26:36 +0000 (Tue, 02 Feb 2010)

Log Message:
-----------
added kWait event type

Modified Paths:
--------------
    scummvm/trunk/engines/teenagent/callbacks.cpp
    scummvm/trunk/engines/teenagent/scene.cpp
    scummvm/trunk/engines/teenagent/scene.h
    scummvm/trunk/engines/teenagent/teenagent.cpp
    scummvm/trunk/engines/teenagent/teenagent.h

Modified: scummvm/trunk/engines/teenagent/callbacks.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/callbacks.cpp	2010-02-02 03:23:48 UTC (rev 47807)
+++ scummvm/trunk/engines/teenagent/callbacks.cpp	2010-02-02 07:26:36 UTC (rev 47808)
@@ -360,8 +360,9 @@
 			setOns(3, 0x59);
 			//some moving animation is missing here
 			moveTo(scene->getPosition().x, scene->getPosition().y + 1, 3);
-			//wait
+			wait(150);
 			moveTo(scene->getPosition().x, scene->getPosition().y - 1, 2);
+			wait(100);
 			displayMessage(0x551f);
 			enableObject(4);
 			SET_FLAG(0xdbdc, 1);

Modified: scummvm/trunk/engines/teenagent/scene.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/scene.cpp	2010-02-02 03:23:48 UTC (rev 47807)
+++ scummvm/trunk/engines/teenagent/scene.cpp	2010-02-02 07:26:36 UTC (rev 47808)
@@ -532,7 +532,7 @@
 }
 
 
-bool Scene::render(bool tick_game, bool tick_mark, uint32 message_delta) {
+bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
 	Resources *res = Resources::instance();
 	bool busy;
 	bool restart;
@@ -570,12 +570,12 @@
 		}
 
 		if (!message.empty() && message_timer != 0) {
-			if (message_timer <= message_delta) {
+			if (message_timer <= delta) {
 				clearMessage();
 				nextEvent();
 				continue;
 			} else
-				message_timer -= message_delta;
+				message_timer -= delta;
 		}
 
 		if (current_event.type == SceneEvent::kCreditsMessage) {
@@ -799,6 +799,17 @@
 
 		_system->unlockScreen();
 
+		if (current_event.type == SceneEvent::kWait) {
+			if (current_event.timer > delta) {
+				busy = true;
+				current_event.timer -= delta;
+			}
+
+			if (current_event.timer <= delta)
+				restart |= nextEvent();
+
+		}
+
 		if (!restart && current_event.type == SceneEvent::kWaitForAnimation && !got_any_animation) {
 			debug(0, "no animations, nextevent");
 			nextEvent();
@@ -1048,6 +1059,10 @@
 			current_event.clear();
 			break;
 
+		case SceneEvent::kWait:
+			debug(0, "wait %u", current_event.timer);
+			break;
+
 		case SceneEvent::kCredits:
 			debug(0, "showing credits");
 			break;

Modified: scummvm/trunk/engines/teenagent/scene.h
===================================================================
--- scummvm/trunk/engines/teenagent/scene.h	2010-02-02 03:23:48 UTC (rev 47807)
+++ scummvm/trunk/engines/teenagent/scene.h	2010-02-02 07:26:36 UTC (rev 47808)
@@ -61,6 +61,7 @@
 		kTimer,
 		kEffect,
 		kFade,
+		kWait,
 		kQuit
 	} type;
 

Modified: scummvm/trunk/engines/teenagent/teenagent.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.cpp	2010-02-02 03:23:48 UTC (rev 47807)
+++ scummvm/trunk/engines/teenagent/teenagent.cpp	2010-02-02 07:26:36 UTC (rev 47808)
@@ -885,6 +885,12 @@
 	scene->push(event);
 }
 
+void TeenAgentEngine::wait(uint16 frames) {
+	SceneEvent event(SceneEvent::kWait);
+	event.timer = frames * 10;
+	scene->push(event);
+}
+
 void TeenAgentEngine::playSoundNow(byte id) {
 	Resources *res = Resources::instance();
 	Common::SeekableReadStream *in = res->sam_sam.getStream(id);
@@ -911,7 +917,6 @@
 	music->start();
 }
 
-
 bool TeenAgentEngine::hasFeature(EngineFeature f) const {
 	switch (f) {
 	case kSupportsRTL:

Modified: scummvm/trunk/engines/teenagent/teenagent.h
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.h	2010-02-02 03:23:48 UTC (rev 47807)
+++ scummvm/trunk/engines/teenagent/teenagent.h	2010-02-02 07:26:36 UTC (rev 47808)
@@ -112,6 +112,7 @@
 	void displayCredits();
 	void fadeIn();
 	void fadeOut();
+	void wait(uint16 frames);
 
 	Common::RandomSource random;
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list