[Scummvm-cvs-logs] SF.net SVN: scummvm:[43797] scummvm/trunk/engines/scumm/verbs.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Sat Aug 29 12:11:19 CEST 2009


Revision: 43797
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43797&view=rev
Author:   Kirben
Date:     2009-08-29 10:11:19 +0000 (Sat, 29 Aug 2009)

Log Message:
-----------
Add patch #2846476 - MM C64: german verbs fix.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/verbs.cpp

Modified: scummvm/trunk/engines/scumm/verbs.cpp
===================================================================
--- scummvm/trunk/engines/scumm/verbs.cpp	2009-08-29 08:02:40 UTC (rev 43796)
+++ scummvm/trunk/engines/scumm/verbs.cpp	2009-08-29 10:11:19 UTC (rev 43797)
@@ -68,34 +68,43 @@
 
 // FIXME: Replace * with the correct character
 static const VerbSettings v0VerbTable_German[] = {
-	{ 1,  0, 1,   0, "Ziehe"},
-	{ 2,  0, 0,   0, "Dr<cke"},
-	{ 3,  7, 2,   4, "Lese"},
-	{ 4, 23, 0,   0, "Schlie*e auf"},
-	{ 5, 37, 1,   0, "Ein"},
-	{ 6, 37, 0,   0, "Aus"},
+	{ 1,  7, 0,   0, "$ffne"},
+	{ 2, 13, 1,   0, "Schlie*e"},
+	{ 3,  0, 2,   4, "Gebe"},
+	{ 4, 37, 1,   0, "Ein"},
+	{ 5, 37, 0,   0, "Aus"},
+	{ 6, 23, 1,   2, "Repariere"},
 	{ 7, 34, 2,   0, "Person"},
-	{ 8, 13, 1,   2, "Schlie*e"},
-	{ 9,  7, 1,   0, "Nimm"},
-	{10,  0, 2,   0, "Gebe"},
-	{11, 23, 1, 255, "Repariere"},
-	{12,  7, 0,   0, "$ffne"},
+	{ 8, 23, 0,   2, "Schlie*e auf"},
+	{ 9,  0, 0,   0, "Dr<cke"},
+	{10,  0, 1,   0, "Ziehe"},
+	{11, 23, 2, 255, "Benutz"},
+	{12,  7, 2,   0, "Lese"},
 	{13, 13, 0,   0, "Gehe zu"},
-	{14, 13, 2,   0, "Was ist"},
-	{15, 23, 2,   0, "Benutz"}
+	{14,  7, 1,   0, "Nimm"},
+	{15, 13, 2,   0, "Was ist"}
 };
 
 void ScummEngine_v0::resetVerbs() {
 	VirtScreen *virt = &_virtscr[kVerbVirtScreen];
 	VerbSlot *vs;
+	const VerbSettings *vtable;
 	int i;
 
+	switch (_language) {
+	case Common::DE_DEU:
+		vtable = (const VerbSettings*)v0VerbTable_German;
+		break;
+	default:
+		vtable = (const VerbSettings*)v0VerbTable_English;
+	}
+
 	for (i = 1; i < 16; i++)
 		killVerb(i);
 
 	for (i = 1; i < 16; i++) {
 		vs = &_verbs[i];
-		vs->verbid = v0VerbTable_English[i - 1].id;
+		vs->verbid = vtable[i - 1].id;
 		vs->color = 5;
 		vs->hicolor = 7;
 		vs->dimcolor = 11;
@@ -106,17 +115,10 @@
 		vs->key = 0;
 		vs->center = 0;
 		vs->imgindex = 0;
-		vs->prep = v0VerbTable_English[i - 1].prep;
-
-		if (_language == Common::DE_DEU) {
-			vs->curRect.left = v0VerbTable_German[i - 1].x_pos * 8;
-			vs->curRect.top = v0VerbTable_German[i - 1].y_pos * 8 + virt->topline + 8;
-			loadPtrToResource(rtVerb, i, (const byte*)v0VerbTable_German[i - 1].name);
-		} else {
-			vs->curRect.left = v0VerbTable_English[i - 1].x_pos * 8;
-			vs->curRect.top = v0VerbTable_English[i - 1].y_pos * 8 + virt->topline + 8;
-			loadPtrToResource(rtVerb, i, (const byte*)v0VerbTable_English[i - 1].name);
-		}
+		vs->prep = vtable[i - 1].prep;
+		vs->curRect.left = vtable[i - 1].x_pos * 8;
+		vs->curRect.top = vtable[i - 1].y_pos * 8 + virt->topline + 8;
+		loadPtrToResource(rtVerb, i, (const byte*)vtable[i - 1].name);
 	}
 }
 


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