[Scummvm-cvs-logs] SF.net SVN: scummvm:[46460] scummvm/trunk/engines/sci
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Mon Dec 21 15:05:36 CET 2009
Revision: 46460
http://scummvm.svn.sourceforge.net/scummvm/?rev=46460&view=rev
Author: thebluegr
Date: 2009-12-21 14:05:36 +0000 (Mon, 21 Dec 2009)
Log Message:
-----------
Fixed menus in multilingual SCI01 games
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/kmenu.cpp
scummvm/trunk/engines/sci/gui/gui_menu.cpp
Modified: scummvm/trunk/engines/sci/engine/kmenu.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kmenu.cpp 2009-12-21 12:19:57 UTC (rev 46459)
+++ scummvm/trunk/engines/sci/engine/kmenu.cpp 2009-12-21 14:05:36 UTC (rev 46460)
@@ -38,7 +38,7 @@
namespace Sci {
reg_t kAddMenu(EngineState *s, int argc, reg_t *argv) {
- Common::String title = s->_segMan->getString(argv[0]);
+ Common::String title = s->strSplit(s->_segMan->getString(argv[0]).c_str());
Common::String content = s->_segMan->getString(argv[1]);
s->_gui->menuAdd(title, content, argv[1]);
Modified: scummvm/trunk/engines/sci/gui/gui_menu.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_menu.cpp 2009-12-21 12:19:57 UTC (rev 46459)
+++ scummvm/trunk/engines/sci/gui/gui_menu.cpp 2009-12-21 14:05:36 UTC (rev 46460)
@@ -184,7 +184,8 @@
if (separatorCount == tempPos - beginPos) {
itemEntry->separatorLine = true;
} else {
- itemEntry->text = Common::String(content.c_str() + beginPos, tempPos - beginPos);
+ EngineState *s = ((SciEngine *)g_engine)->getEngineState(); // HACK: needed for strSplit()
+ itemEntry->text = s->strSplit(Common::String(content.c_str() + beginPos, tempPos - beginPos).c_str());
}
itemEntry->textVmPtr = contentVmPtr;
itemEntry->textVmPtr.offset += beginPos;
@@ -229,6 +230,7 @@
}
void SciGuiMenu::setAttribute(uint16 menuId, uint16 itemId, uint16 attributeId, reg_t value) {
+ EngineState *s = ((SciEngine *)g_engine)->getEngineState(); // HACK: needed for strSplit()
GuiMenuItemEntry *itemEntry = findItem(menuId, itemId);
if (!itemEntry)
error("Tried to setAttribute() on non-existant menu-item %d:%d", menuId, itemId);
@@ -240,7 +242,7 @@
itemEntry->saidVmPtr = value;
break;
case SCI_MENU_ATTRIBUTE_TEXT:
- itemEntry->text = _segMan->getString(value);
+ itemEntry->text = s->strSplit(_segMan->getString(value).c_str());
itemEntry->textVmPtr = value;
// We assume here that no script ever creates a separatorLine dynamically
break;
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