- bugfix: German "Umlaute" were not displayed correctly for short item names

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@685 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2007-01-28 20:02:05 +00:00
parent 21c2464a43
commit 0ae307a316
4 changed files with 76 additions and 45 deletions
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -43,7 +43,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib"
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_debug_665.exe" OutputFile="C:\Games\Jagged Alliance 2 DE\ja2_debug_669.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
+2 -2
View File
@@ -20,8 +20,8 @@
#if !defined(ENGLISH) && !defined(GERMAN) && !defined(RUSSIAN) && !defined(DUTCH) && !defined(POLISH) #if !defined(ENGLISH) && !defined(GERMAN) && !defined(RUSSIAN) && !defined(DUTCH) && !defined(POLISH)
/* please set one manually here (by uncommenting) if not willingly to set Workspace wide */ /* please set one manually here (by uncommenting) if not willingly to set Workspace wide */
#define ENGLISH //#define ENGLISH
//#define GERMAN #define GERMAN
//#define RUSSIAN //#define RUSSIAN
//#define DUTCH //#define DUTCH
//#define POLISH //#define POLISH
+73 -42
View File
@@ -389,60 +389,91 @@ BOOLEAN LoadShortNameItemInfo(UINT16 ubIndex, STR16 pNameString )
{ {
if(pNameString != NULL) if(pNameString != NULL)
{ {
int j = -1;
// WANNE: // WANNE:
for (int i=0;i<80;i++) for (int i=0;i<80;i++)
{ {
if ( i<(int)strlen(Item[ubIndex].szItemName)) j++;
if ( i<(int)strlen(Item[ubIndex].szItemName))
{ {
pNameString[i] = Item[ubIndex].szItemName [i]; pNameString[i] = Item[ubIndex].szItemName [j];
// WANNE: German specific characters // WANNE: German specific characters
#ifdef GERMAN #ifdef GERMAN
switch( pNameString[ i ] ) // We have a german special character
if (Item[ubIndex].szItemName [j] == -61)
{ {
// ü // This character determines the special character
case 65532: pNameString[i] = 252; break; switch (Item[ubIndex].szItemName [j + 1])
// Ü {
case 65500: pNameString[i] = 220; break; // ü
// ä case -68:
case 65508: pNameString[i] = 228; break; pNameString[i] = 252;
// Ä // Skip next character, because "umlaute" have 2 chars
case 65476: pNameString[i] = 196; break; j++;
// ö break;
case 65526: pNameString[i] = 246; break; // Ü
// Ö case -100:
case 65494: pNameString[i] = 214; break; pNameString[i] = 220;
// ß j++;
case 65503: pNameString[i] = 223; break; break;
// ä
case -92:
pNameString[i] = 228;
j++;
break;
// Ä
case -124:
pNameString[i] = 196;
j++;
break;
// ö
case -74:
pNameString[i] = 246;
j++;
break;
// Ö
case -106:
pNameString[i] = 214;
j++;
break;
// ß
case -97:
pNameString[i] = 223;
j++;
break;
}
} }
#endif #endif
#ifdef POLISH #ifdef POLISH
switch( pNameString[ i ] ) switch( pNameString[ i ] )
{ {
case 260: pNameString[ i ] = 165; break; case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break; case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break; case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break; case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break; case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break; case 211: pNameString[ i ] = 211; break;
case 346: pNameString[ i ] = 338; break; case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break; case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break; case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break; case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break; case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break; case 281: pNameString[ i ] = 234; break;
case 322: pNameString[ i ] = 179; break; case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break; case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break; case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break; case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break; case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break; case 378: pNameString[ i ] = 376; break;
}
#endif
} }
#endif
}
else else
{ {
pNameString[i] ='\0'; pNameString[i] ='\0';