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

megath at users.sourceforge.net megath at users.sourceforge.net
Sat Nov 7 13:00:56 CET 2009


Revision: 45724
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45724&view=rev
Author:   megath
Date:     2009-11-07 12:00:56 +0000 (Sat, 07 Nov 2009)

Log Message:
-----------
implemented waiting for the particular frame in animation.

Modified Paths:
--------------
    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/scene.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/scene.cpp	2009-11-07 11:52:00 UTC (rev 45723)
+++ scummvm/trunk/engines/teenagent/scene.cpp	2009-11-07 12:00:56 UTC (rev 45724)
@@ -400,6 +400,19 @@
 
 			a = animation + i;
 			s = a->currentFrame();
+			if (current_event.type == SceneEvent::kWaitLanAnimationFrame && current_event.color == i) {
+				if (s == NULL) {
+					nextEvent();
+					continue;
+				}
+				int index = a->currentIndex();
+				//debug(0, "index = %d", index);
+				if (index == current_event.animation) {
+					debug(0, "kWaitLanAnimationFrame(%d, %d) complete", current_event.color, current_event.animation);
+					nextEvent();
+				}
+			}
+			
 			if (s == NULL)
 				continue;
 
@@ -635,6 +648,10 @@
 			debug(0, "waiting for the animation");
 			break;
 
+		case SceneEvent::kWaitLanAnimationFrame:
+			debug(0, "waiting for the frame %d in slot %d", current_event.animation, current_event.color);
+			break;
+
 		case SceneEvent::kQuit:
 			debug(0, "quit!");
 			_engine->quitGame();

Modified: scummvm/trunk/engines/teenagent/scene.h
===================================================================
--- scummvm/trunk/engines/teenagent/scene.h	2009-11-07 11:52:00 UTC (rev 45723)
+++ scummvm/trunk/engines/teenagent/scene.h	2009-11-07 12:00:56 UTC (rev 45724)
@@ -53,6 +53,7 @@
 		kEnableObject,			//12
 		kHideActor,
 		kWaitForAnimation,
+		kWaitLanAnimationFrame,
 		kCreditsMessage,
 		kQuit					//16
 	} type;

Modified: scummvm/trunk/engines/teenagent/teenagent.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.cpp	2009-11-07 11:52:00 UTC (rev 45723)
+++ scummvm/trunk/engines/teenagent/teenagent.cpp	2009-11-07 12:00:56 UTC (rev 45724)
@@ -543,6 +543,17 @@
 	scene->push(event);
 }
 
+void TeenAgentEngine::waitLanAnimationFrame(byte slot, uint16 frame) {
+	SceneEvent event(SceneEvent::kWaitLanAnimationFrame);
+	if (frame > 0)
+		--frame;
+	
+	event.color = slot - 1;
+	event.animation = frame;
+	scene->push(event);
+}
+
+
 void TeenAgentEngine::playSoundNow(byte id) {
 	Resources *res = Resources::instance();
 	Common::SeekableReadStream *in = res->sam_sam.getStream(id);

Modified: scummvm/trunk/engines/teenagent/teenagent.h
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.h	2009-11-07 11:52:00 UTC (rev 45723)
+++ scummvm/trunk/engines/teenagent/teenagent.h	2009-11-07 12:00:56 UTC (rev 45724)
@@ -90,6 +90,7 @@
 	void hideActor();
 	void showActor();
 	void waitAnimation();
+	void waitLanAnimationFrame(byte slot, uint16 frame);
 
 	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