[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