[Scummvm-cvs-logs] SF.net SVN: scummvm:[54084] scummvm/trunk/engines/agos
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Fri Nov 5 04:30:46 CET 2010
Revision: 54084
http://scummvm.svn.sourceforge.net/scummvm/?rev=54084&view=rev
Author: Kirben
Date: 2010-11-05 03:30:45 +0000 (Fri, 05 Nov 2010)
Log Message:
-----------
AGOS: Display item names and descriptions via GUImessage, in Swampy Adventures for now.
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/script_pp.cpp
scummvm/trunk/engines/agos/string.cpp
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2010-11-05 01:20:53 UTC (rev 54083)
+++ scummvm/trunk/engines/agos/agos.h 2010-11-05 03:30:45 UTC (rev 54084)
@@ -2098,6 +2098,8 @@
void startOverlayAnims();
void startAnOverlayAnim();
+ void printInfoText(const char *itemText);
+
virtual char *genSaveName(int slot);
};
Modified: scummvm/trunk/engines/agos/script_pp.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_pp.cpp 2010-11-05 01:20:53 UTC (rev 54083)
+++ scummvm/trunk/engines/agos/script_pp.cpp 2010-11-05 03:30:45 UTC (rev 54084)
@@ -336,13 +336,12 @@
void AGOSEngine_PuzzlePack::opp_message() {
// 63: show string nl
-
+ const byte *stringPtr = getStringPtrByID(getNextStringID());
if (getBitFlag(105)) {
// Swampy adventures
- getStringPtrByID(getNextStringID());
-// printInfoText(getStringPtrByID(getNextStringID()));
+ printInfoText((const char *)stringPtr);
} else {
- showMessageFormat("%s\n", getStringPtrByID(getNextStringID()));
+ showMessageFormat("%s\n", stringPtr);
}
}
Modified: scummvm/trunk/engines/agos/string.cpp
===================================================================
--- scummvm/trunk/engines/agos/string.cpp 2010-11-05 01:20:53 UTC (rev 54083)
+++ scummvm/trunk/engines/agos/string.cpp 2010-11-05 03:30:45 UTC (rev 54084)
@@ -27,6 +27,9 @@
#include "common/file.h"
+#include "gui/about.h"
+#include "gui/message.h"
+
#include "agos/agos.h"
#include "agos/intern.h"
@@ -559,6 +562,162 @@
}
#ifdef ENABLE_AGOS2
+// Swampy Adventures specific
+void AGOSEngine_PuzzlePack::printInfoText(const char *itemText) {
+ const char *itemName = NULL;
+ int flag = (_mouse.y / 32) * 20 + (_mouse.x / 32) + 1300;
+
+ switch (_variableArray[999]) {
+ case 80:
+ if (_variableArray[flag]) {
+ if (_variableArray[flag] == 201)
+ itemName = " Bridge: ";
+ if (_variableArray[flag] == 231 || _variableArray[flag] == 241)
+ itemName = " Log: ";
+ if (_variableArray[flag] == 281)
+ itemName = " Rubble: ";
+ if (_variableArray[flag] == 291)
+ itemName = " Boulder: ";
+ if (_variableArray[flag] == 311)
+ itemName = " Key: ";
+ if (_variableArray[flag] == 312)
+ itemName = " Spanner: ";
+ if (_variableArray[flag] == 321)
+ itemName = " Gate: ";
+ if (_variableArray[flag] == 331)
+ itemName = " Crate: ";
+ } else {
+ flag -= 300;
+ if (_variableArray[flag] == 2)
+ itemName = " Water: ";
+ if (_variableArray[flag] == 5)
+ itemName = " Exit: ";
+ if ((_variableArray[flag] == 5) && (_variableArray[81] == 10))
+ itemName = " Gem: ";
+ if (_variableArray[flag] == 236 || _variableArray[flag] == 246)
+ itemName = " Floating Log: ";
+ if (_variableArray[flag] == 400)
+ itemName = " Valve: ";
+ }
+ break;
+
+ case 81:
+ if (_variableArray[flag]) {
+ if (_variableArray[flag] == 281)
+ itemName = " Cracked Block: ";
+ if (_variableArray[flag] == 291)
+ itemName = " Boulder: ";
+ if (_variableArray[flag] == 331)
+ itemName = " Block: ";
+ if (_variableArray[flag] == 341)
+ itemName = " Switch: ";
+ if (_variableArray[flag] == 343)
+ itemName = " Button: ";
+ if ((_variableArray[flag] > 430) && (_variableArray[flag] < 480))
+ itemName = " Mosaic Block: ";
+ } else {
+ flag -= 300;
+ if (_variableArray[flag] == 5)
+ itemName = " Exit: ";
+ if ((_variableArray[flag] == 5) && (_variableArray[82] == 10))
+ itemName = " Gem: ";
+ }
+ break;
+
+ case 82:
+ if (_variableArray[flag]) {
+ if (_variableArray[flag] == 201 || _variableArray[flag] == 211)
+ itemName = " Unstable Track: ";
+ if (_variableArray[flag] == 281)
+ itemName = " Rubble Pile: ";
+ if (_variableArray[flag] == 291)
+ itemName = " Boulder: ";
+ if (_variableArray[flag] == 331)
+ itemName = " Crate: ";
+ if (_variableArray[flag] == 401 || _variableArray[flag] == 405)
+ itemName = " Cart: ";
+ } else {
+ flag -= 300;
+ if (_variableArray[flag] == 4)
+ itemName = " Hole: ";
+ if (_variableArray[flag] == 5)
+ itemName = " Exit: ";
+ if ((_variableArray[flag] == 5) && (_variableArray[83] == 10))
+ itemName = " Gem: ";
+ if ((_variableArray[flag] > 5) && (_variableArray[flag] < 10))
+ itemName = " Buffer Track: ";
+ if ((_variableArray[flag] > 9) && (_variableArray[flag] < 40))
+ itemName = " Track: ";
+ if (_variableArray[flag] == 300)
+ itemName = " Boulder: ";
+ }
+ break;
+
+ case 83:
+ if (_variableArray[flag]) {
+ if (_variableArray[flag] == 201)
+ itemName = " Broken Floor: ";
+ if (_variableArray[flag] == 231 || _variableArray[flag] == 241)
+ itemName = " Barrel: ";
+ if (_variableArray[flag] == 281)
+ itemName = " Cracked Rock: ";
+ if (_variableArray[flag] == 291)
+ itemName = " Spacehopper: ";
+ if (_variableArray[flag] == 311)
+ itemName = " Key: ";
+ if (_variableArray[flag] == 321)
+ itemName = " Trapdoor: ";
+ if (_variableArray[flag] == 324)
+ itemName = " Trapdoor: ";
+ if (_variableArray[flag] == 331)
+ itemName = " Crate: ";
+ } else {
+ flag -= 300;
+ if (_variableArray[flag] == 4)
+ itemName = " Hole: ";
+ if (_variableArray[flag] == 239 || _variableArray[flag] == 249)
+ itemName = " Barrel: ";
+ }
+ break;
+
+ case 84:
+ if (_variableArray[flag]) {
+ if (_variableArray[flag] == 201)
+ itemName = " Floating Platform: ";
+ if (_variableArray[flag] == 231)
+ itemName = " Cauldron: ";
+ if (_variableArray[flag] == 281)
+ itemName = " Cracked Block: ";
+ if (_variableArray[flag] == 311 || _variableArray[flag] == 312)
+ itemName = " Key: ";
+ if (_variableArray[flag] == 321 || _variableArray[flag] == 361 || _variableArray[flag] == 371)
+ itemName = " Gate: ";
+ if (_variableArray[flag] == 331)
+ itemName = " Chest: ";
+ if (_variableArray[flag] == 332)
+ itemName = " Jewel: ";
+ if (_variableArray[flag] == 351 || _variableArray[flag] == 352)
+ itemName = " Babies: ";
+ } else {
+ flag -= 300;
+ if (_variableArray[flag] == 6)
+ itemName = " Slime: ";
+ if (_variableArray[flag] == 334)
+ itemName = " Chest: ";
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ if (itemName != NULL) {
+ Common::String buf = Common::String::format("%s\n%s", itemName, itemText);
+ GUI::TimedMessageDialog dialog(buf, 1500);
+ dialog.runModal();
+ }
+}
+
// The Feeble Files specific
void AGOSEngine_Feeble::printScreenText(uint vgaSpriteId, uint color, const char *string, int16 x, int16 y, int16 width) {
char convertedString[320];
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