[Scummvm-cvs-logs] SF.net SVN: scummvm:[45859] scummvm/trunk/engines/sci/gui
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Thu Nov 12 13:49:18 CET 2009
Revision: 45859
http://scummvm.svn.sourceforge.net/scummvm/?rev=45859&view=rev
Author: m_kiewitz
Date: 2009-11-12 12:49:17 +0000 (Thu, 12 Nov 2009)
Log Message:
-----------
SCI/newgui: SciGuiMenu now has said support (used in at least codename iceman)
Modified Paths:
--------------
scummvm/trunk/engines/sci/gui/gui_menu.cpp
scummvm/trunk/engines/sci/gui/gui_menu.h
Modified: scummvm/trunk/engines/sci/gui/gui_menu.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_menu.cpp 2009-11-12 11:47:28 UTC (rev 45858)
+++ scummvm/trunk/engines/sci/gui/gui_menu.cpp 2009-11-12 12:49:17 UTC (rev 45859)
@@ -233,7 +233,6 @@
itemEntry->enabled = value.isNull() ? false : true;
break;
case SCI_MENU_ATTRIBUTE_SAID:
- itemEntry->said = _segMan->getString(value);
itemEntry->saidVmPtr = value;
break;
case SCI_MENU_ATTRIBUTE_TEXT:
@@ -334,6 +333,8 @@
GuiMenuItemList::iterator itemEnd = _itemList.end();
GuiMenuItemEntry *itemEntry = NULL;
bool forceClaimed = false;
+ EngineState *s;
+ byte saidSpec[64];
switch (eventType) {
case SCI_EVT_KEYBOARD:
@@ -359,11 +360,17 @@
break;
case SCI_EVT_SAID:
+ // HACK: should be removed as soon as said() is cleaned up
+ s = ((SciEngine *)g_engine)->getEngineState();
while (itemIterator != itemEnd) {
itemEntry = *itemIterator;
- // TODO: said comparsion
- // said(_s, itemEntry->said.c_str(), 0) != SAID_NO_MATCH
- // Where is this used anyway, so we can test it out?
+
+ if (!itemEntry->saidVmPtr.isNull()) {
+ // TODO: get a pointer to saidVmPtr or make said() work on VmPtrs
+ _segMan->memcpy(saidSpec, itemEntry->saidVmPtr, 64);
+ if (said(s, saidSpec, 0) != SAID_NO_MATCH)
+ break;
+ }
itemIterator++;
}
if (itemIterator == itemEnd)
Modified: scummvm/trunk/engines/sci/gui/gui_menu.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_menu.h 2009-11-12 11:47:28 UTC (rev 45858)
+++ scummvm/trunk/engines/sci/gui/gui_menu.h 2009-11-12 12:49:17 UTC (rev 45859)
@@ -60,7 +60,6 @@
uint16 keyPress;
uint16 keyModifier;
bool separatorLine;
- Common::String said;
reg_t saidVmPtr;
Common::String text;
reg_t textVmPtr;
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