[Scummvm-cvs-logs] SF.net SVN: scummvm:[46297] scummvm/trunk/engines/teenagent
megath at users.sourceforge.net
megath at users.sourceforge.net
Tue Dec 8 23:04:01 CET 2009
Revision: 46297
http://scummvm.svn.sourceforge.net/scummvm/?rev=46297&view=rev
Author: megath
Date: 2009-12-08 22:04:00 +0000 (Tue, 08 Dec 2009)
Log Message:
-----------
added final credits
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 2009-12-08 22:03:33 UTC (rev 46296)
+++ scummvm/trunk/engines/teenagent/callbacks.cpp 2009-12-08 22:04:00 UTC (rev 46297)
@@ -3784,7 +3784,7 @@
waitAnimation();
playMusic(11);
- //BIG FIXME: show scrolling credits
+ displayCredits();
loadScene(39, 192, 177, 0);
hideActor();
Dialog::showMono(scene, 0x8b4d, 953, 0xe3, 1); //well...
Modified: scummvm/trunk/engines/teenagent/scene.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/scene.cpp 2009-12-08 22:03:33 UTC (rev 46296)
+++ scummvm/trunk/engines/teenagent/scene.cpp 2009-12-08 22:04:00 UTC (rev 46297)
@@ -491,6 +491,20 @@
do {
restart = false;
busy = processEventQueue();
+
+ if (current_event.type == SceneEvent::kCredits) {
+ system->fillScreen(0);
+ ///\todo: optimize me
+ Graphics::Surface *surface = system->lockScreen();
+ res->font7.render(surface, current_event.dst.x, current_event.dst.y--, current_event.message, current_event.color);
+ system->unlockScreen();
+
+ if (current_event.dst.y < -(int)current_event.timer)
+ current_event.clear();
+
+ return true;
+ }
+
if (!message.empty() && message_timer != 0) {
if (--message_timer == 0) {
clearMessage();
@@ -925,6 +939,10 @@
debug(0, "*stub* shaking the screen");
current_event.clear();
break;
+
+ case SceneEvent::kCredits:
+ debug(0, "showing credits");
+ break;
case SceneEvent::kQuit:
debug(0, "quit!");
Modified: scummvm/trunk/engines/teenagent/scene.h
===================================================================
--- scummvm/trunk/engines/teenagent/scene.h 2009-12-08 22:03:33 UTC (rev 46296)
+++ scummvm/trunk/engines/teenagent/scene.h 2009-12-08 22:04:00 UTC (rev 46297)
@@ -57,6 +57,7 @@
kWaitForAnimation,
kWaitLanAnimationFrame,
kCreditsMessage, //16
+ kCredits,
kTimer,
kEffect,
kQuit
Modified: scummvm/trunk/engines/teenagent/teenagent.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.cpp 2009-12-08 22:03:33 UTC (rev 46296)
+++ scummvm/trunk/engines/teenagent/teenagent.cpp 2009-12-08 22:04:00 UTC (rev 46297)
@@ -489,6 +489,21 @@
scene->push(event);
}
+void TeenAgentEngine::displayCredits() {
+ SceneEvent event(SceneEvent::kCredits);
+ event.message = parseMessage(0xe488);
+ event.dst.y = 200;
+
+ int lines = 1;
+ for(uint i = 0; i < event.message.size(); ++i)
+ if (event.message[i] == '\n')
+ ++lines;
+ event.dst.x = (320 - Resources::instance()->font7.render(NULL, 0, 0, event.message, 0xd1)) / 2;
+ event.timer = 11 * lines - event.dst.y + 22;
+ //debug(0, "credits = %s", event.message.c_str());
+ scene->push(event);
+}
+
void TeenAgentEngine::displayCutsceneMessage(uint16 addr, uint16 position) {
SceneEvent event(SceneEvent::kCreditsMessage);
Modified: scummvm/trunk/engines/teenagent/teenagent.h
===================================================================
--- scummvm/trunk/engines/teenagent/teenagent.h 2009-12-08 22:03:33 UTC (rev 46296)
+++ scummvm/trunk/engines/teenagent/teenagent.h 2009-12-08 22:04:00 UTC (rev 46297)
@@ -105,6 +105,7 @@
void waitLanAnimationFrame(byte slot, uint16 frame);
void setTimerCallback(uint16 addr, uint16 frames);
void shakeScreen();
+ void displayCredits();
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