[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