[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