This commit is contained in:
Wanne
2006-10-04 12:24:10 +00:00
parent 0c0f6eafad
commit 4341409ded
22 changed files with 481 additions and 285 deletions
+263 -184
View File
@@ -8,121 +8,100 @@
BOOLEAN LoadItemInfo(UINT16 ubIndex, STR16 pNameString, STR16 pInfoString )
{
//HWFILE hFile;
//UINT32 uiBytesRead;
//UINT16 i;
//UINT32 uiStartSeekAmount;
// DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo"));
for (int i=0;i<80;i++)
if (pNameString != NULL)
{
if ( i<(int)strlen(Item[ubIndex].szLongItemName ))
pNameString[i] = Item[ubIndex].szLongItemName [i];
else
pNameString[i] ='\0';
for (int i=0;i<80;i++)
{
if ( i<(int)strlen(Item[ubIndex].szLongItemName ))
{
pNameString[i] = Item[ubIndex].szLongItemName [i];
// WANNE: German specific characters
#ifdef GERMAN
switch( pNameString[ i ] )
{
// ü
case 65532: pNameString[i] = 252; break;
// Ü
case 65500: pNameString[i] = 220; break;
// ä
case 65508: pNameString[i] = 228; break;
// Ä
case 65476: pNameString[i] = 196; break;
// ö
case 65526: pNameString[i] = 246; break;
// Ö
case 65494: pNameString[i] = 214; break;
// ß
case 65503: pNameString[i] = 223; break;
}
#endif
#ifdef POLISH
switch( pNameString[ i ] )
{
case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break;
case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break;
case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break;
}
#endif
}
else
{
pNameString[i] ='\0';
}
}
}
if(pInfoString != NULL)
{
// WANNE: CHANGE THIS
for (int i=0;i<400;i++)
{
if ( i<(int)strlen(Item[ubIndex].szItemDesc ))
pInfoString[i] = Item[ubIndex].szItemDesc [i];
else
pInfoString[i] ='\0';
}
}
/*
hFile = FileOpen(ITEMSTRINGFILENAME, FILE_ACCESS_READ, FALSE);
if ( !hFile )
{
return( FALSE );
}
// Get current mercs bio info
uiStartSeekAmount = ( ( SIZE_SHORT_ITEM_NAME + SIZE_ITEM_NAME + SIZE_ITEM_INFO) * ubIndex );
// Skip short names
uiStartSeekAmount += SIZE_SHORT_ITEM_NAME;
if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE )
{
FileClose(hFile);
return( FALSE );
}
if( !FileRead( hFile, pNameString, SIZE_ITEM_NAME, &uiBytesRead) )
{
FileClose(hFile);
return( FALSE );
}
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo: pNameString file read = %s",pNameString));
// Decrement, by 1, any value > 32
for(i=0; (i<SIZE_ITEM_NAME) && (pNameString[i] != 0); i++ )
{
if( pNameString[i] > 33 )
pNameString[i] -= 1;
#ifdef POLISH
switch( pNameString[ i ] )
{
case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break;
pInfoString[i] = Item[ubIndex].szItemDesc [i];
case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break;
case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break;
}
#endif
}
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo: pNameString after decrement = %s",pNameString));
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo: pNameString after decrement = %s",pNameString+1));
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo: pNameString after decrement = %s",pNameString+2));
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("LoadItemInfo: pNameString after decrement = %s",pNameString+3));
// condition added by Chris - so we can get the name without the item info
// when desired, by passing in a null pInfoString
if (pInfoString != NULL)
{
// Get the additional info
uiStartSeekAmount = ((SIZE_ITEM_NAME + SIZE_SHORT_ITEM_NAME + SIZE_ITEM_INFO) * ubIndex ) + SIZE_ITEM_NAME + SIZE_SHORT_ITEM_NAME;
if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE )
{
FileClose(hFile);
return( FALSE );
}
if( !FileRead( hFile, pInfoString, SIZE_ITEM_INFO, &uiBytesRead) )
{
FileClose(hFile);
return( FALSE );
}
// Decrement, by 1, any value > 32
for(i=0; (i<SIZE_ITEM_INFO) && (pInfoString[i] != 0); i++ )
{
if( pInfoString[i] > 33 )
pInfoString[i] -= 1;
#ifdef POLISH
// WANNE: German specific characters
#ifdef GERMAN
switch( pInfoString[ i ] )
{
// ü
case 65532: pInfoString[i] = 252; break;
// Ü
case 65500: pInfoString[i] = 220; break;
// ä
case 65508: pInfoString[i] = 228; break;
// Ä
case 65476: pInfoString[i] = 196; break;
// ö
case 65526: pInfoString[i] = 246; break;
// Ö
case 65494: pInfoString[i] = 214; break;
// ß
case 65503: pInfoString[i] = 223; break;
}
#endif
#ifdef POLISH
switch( pNameString[ i ] )
{
case 260: pInfoString[ i ] = 165; break;
case 262: pInfoString[ i ] = 198; break;
@@ -145,38 +124,146 @@ BOOLEAN LoadItemInfo(UINT16 ubIndex, STR16 pNameString, STR16 pInfoString )
case 380: pInfoString[ i ] = 191; break;
case 378: pInfoString[ i ] = 376; break;
}
#endif
#endif
}
else
{
pInfoString[i] ='\0';
}
}
}
FileClose(hFile);
*/
return(TRUE);
}
BOOLEAN LoadBRName(UINT16 ubIndex, STR16 pNameString )
{
for (int i=0;i<80;i++)
if (pNameString != NULL)
{
if ( i<(int)strlen(Item[ubIndex].szBRName))
pNameString[i] = Item[ubIndex].szBRName [i];
else
pNameString[i] ='\0';
}
for (int i=0;i<80;i++)
{
if ( i<(int)strlen(Item[ubIndex].szBRName))
{
pNameString[i] = Item[ubIndex].szBRName [i];
// WANNE: German specific characters
#ifdef GERMAN
switch( pNameString[ i ] )
{
// ü
case 65532: pNameString[i] = 252; break;
// Ü
case 65500: pNameString[i] = 220; break;
// ä
case 65508: pNameString[i] = 228; break;
// Ä
case 65476: pNameString[i] = 196; break;
// ö
case 65526: pNameString[i] = 246; break;
// Ö
case 65494: pNameString[i] = 214; break;
// ß
case 65503: pNameString[i] = 223; break;
}
#endif
#ifdef POLISH
switch( pNameString[ i ] )
{
case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break;
case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break;
case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break;
}
#endif
}
else
{
pNameString[i] ='\0';
}
}
}
return TRUE;
}
BOOLEAN LoadBRDesc(UINT16 ubIndex, STR16 pDescString )
{
for (int i=0;i<400;i++)
if (pDescString != NULL)
{
if ( i<(int)strlen(Item[ubIndex].szBRDesc))
pDescString[i] = Item[ubIndex].szBRDesc [i];
else
pDescString[i] ='\0';
for (int i=0;i<400;i++)
{
if ( i<(int)strlen(Item[ubIndex].szBRDesc))
{
pDescString[i] = Item[ubIndex].szBRDesc [i];
// WANNE: German specific characters
#ifdef GERMAN
switch( pDescString[ i ] )
{
// ü
case 65532: pDescString[i] = 252; break;
// Ü
case 65500: pDescString[i] = 220; break;
// ä
case 65508: pDescString[i] = 228; break;
// Ä
case 65476: pDescString[i] = 196; break;
// ö
case 65526: pDescString[i] = 246; break;
// Ö
case 65494: pDescString[i] = 214; break;
// ß
case 65503: pDescString[i] = 223; break;
}
#endif
#ifdef POLISH
switch( pDescString[ i ] )
{
case 260: pDescString[ i ] = 165; break;
case 262: pDescString[ i ] = 198; break;
case 280: pDescString[ i ] = 202; break;
case 321: pDescString[ i ] = 163; break;
case 323: pDescString[ i ] = 209; break;
case 211: pDescString[ i ] = 211; break;
case 346: pDescString[ i ] = 338; break;
case 379: pDescString[ i ] = 175; break;
case 377: pDescString[ i ] = 143; break;
case 261: pDescString[ i ] = 185; break;
case 263: pDescString[ i ] = 230; break;
case 281: pDescString[ i ] = 234; break;
case 322: pDescString[ i ] = 179; break;
case 324: pDescString[ i ] = 241; break;
case 243: pDescString[ i ] = 243; break;
case 347: pDescString[ i ] = 339; break;
case 380: pDescString[ i ] = 191; break;
case 378: pDescString[ i ] = 376; break;
}
#endif
}
else
{
pDescString[i] ='\0';
}
}
}
return TRUE;
@@ -184,77 +271,69 @@ BOOLEAN LoadBRDesc(UINT16 ubIndex, STR16 pDescString )
BOOLEAN LoadShortNameItemInfo(UINT16 ubIndex, STR16 pNameString )
{
for (int i=0;i<80;i++)
if(pNameString != NULL)
{
if ( i<(int)strlen(Item[ubIndex].szItemName))
pNameString[i] = Item[ubIndex].szItemName [i];
else
pNameString[i] ='\0';
}
/*
HWFILE hFile;
// wchar_t DestString[ SIZE_MERC_BIO_INFO ];
UINT32 uiBytesRead;
UINT16 i;
UINT32 uiStartSeekAmount;
hFile = FileOpen(ITEMSTRINGFILENAME, FILE_ACCESS_READ, FALSE);
if ( !hFile )
{
return( FALSE );
}
// Get current mercs bio info
uiStartSeekAmount = ( ( SIZE_SHORT_ITEM_NAME + SIZE_ITEM_NAME + SIZE_ITEM_INFO ) * ubIndex );
if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE )
{
FileClose(hFile);
return( FALSE );
}
if( !FileRead( hFile, pNameString, SIZE_ITEM_NAME, &uiBytesRead) )
{
FileClose(hFile);
return( FALSE );
}
// Decrement, by 1, any value > 32
for(i=0; (i<SIZE_ITEM_NAME) && (pNameString[i] != 0); i++ )
{
if( pNameString[i] > 33 )
pNameString[i] -= 1;
#ifdef POLISH
switch( pNameString[ i ] )
// WANNE:
for (int i=0;i<80;i++)
{
if ( i<(int)strlen(Item[ubIndex].szItemName))
{
case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break;
pNameString[i] = Item[ubIndex].szItemName [i];
case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break;
// WANNE: German specific characters
#ifdef GERMAN
switch( pNameString[ i ] )
{
// ü
case 65532: pNameString[i] = 252; break;
// Ü
case 65500: pNameString[i] = 220; break;
// ä
case 65508: pNameString[i] = 228; break;
// Ä
case 65476: pNameString[i] = 196; break;
// ö
case 65526: pNameString[i] = 246; break;
// Ö
case 65494: pNameString[i] = 214; break;
// ß
case 65503: pNameString[i] = 223; break;
}
#endif
case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break;
#ifdef POLISH
switch( pNameString[ i ] )
{
case 260: pNameString[ i ] = 165; break;
case 262: pNameString[ i ] = 198; break;
case 280: pNameString[ i ] = 202; break;
case 321: pNameString[ i ] = 163; break;
case 323: pNameString[ i ] = 209; break;
case 211: pNameString[ i ] = 211; break;
case 346: pNameString[ i ] = 338; break;
case 379: pNameString[ i ] = 175; break;
case 377: pNameString[ i ] = 143; break;
case 261: pNameString[ i ] = 185; break;
case 263: pNameString[ i ] = 230; break;
case 281: pNameString[ i ] = 234; break;
case 322: pNameString[ i ] = 179; break;
case 324: pNameString[ i ] = 241; break;
case 243: pNameString[ i ] = 243; break;
case 347: pNameString[ i ] = 339; break;
case 380: pNameString[ i ] = 191; break;
case 378: pNameString[ i ] = 376; break;
}
#endif
}
#endif
else
{
pNameString[i] ='\0';
}
}
}
FileClose(hFile);
*/
return(TRUE);
}
+74
View File
@@ -23,6 +23,80 @@ extern BOOLEAN GetCDromDriveLetter( STR8 pString );
BOOLEAN PerformTimeLimitedCheck();
// WANNE:
/* Given a string, replaces all instances of "oldpiece" with "newpiece".
*
* Modified this routine to eliminate recursion and to avoid infinite
* expansion of string when newpiece contains oldpiece. --Byron
*/
char *Replace(char *string, char *oldpiece, char *newpiece) {
int str_index, newstr_index, oldpiece_index, end,
new_len, old_len, cpy_len;
char *c;
static char newstring[MAXLINE];
if ((c = (char *) strstr(string, oldpiece)) == NULL)
return string;
new_len = strlen(newpiece);
old_len = strlen(oldpiece);
end = strlen(string) - old_len;
oldpiece_index = c - string;
newstr_index = 0;
str_index = 0;
while(str_index <= end && c != NULL)
{
/* Copy characters from the left of matched pattern occurence */
cpy_len = oldpiece_index-str_index;
strncpy(newstring+newstr_index, string+str_index, cpy_len);
newstr_index += cpy_len;
str_index += cpy_len;
/* Copy replacement characters instead of matched pattern */
strcpy(newstring+newstr_index, newpiece);
newstr_index += new_len;
str_index += old_len;
/* Check for another pattern match */
if((c = (char *) strstr(string+str_index, oldpiece)) != NULL)
oldpiece_index = c - string;
}
/* Copy remaining characters from the right of last matched pattern */
strcpy(newstring+newstr_index, string+str_index);
return newstring;
}
// WANNE: Replaces german specific characters
char *ReplaceGermanSpecialCharacters(char *text)
{
// ä
text = Replace(text, "ä", "ä");
// Ä
text = Replace(text, "Ä", "Ä");
// ö
text = Replace(text, "ö", "ö");
// Ö
text = Replace(text, "Ö", "Ö");
// ü
text = Replace(text, "ü", "ü");
// Ü
text = Replace(text, "Ü", "Ü");
// ß
text = Replace(text, "ß", "ß");
return text;
}
//#define TIME_LIMITED_VERSION
void FilenameForBPP(STR pFilename, STR pDestination)
+9
View File
@@ -7,6 +7,9 @@
#define GETPIXELDEPTH( ) ( gbPixelDepth )
// WANNE: Maximum number of characters in german description (German xml files)
#define MAXLINE 200
BOOLEAN CreateSGPPaletteFromCOLFile( SGPPaletteEntry *pPalette, SGPFILENAME ColFile );
BOOLEAN DisplayPaletteRep( PaletteRepID aPalRep, UINT8 ubXPos, UINT8 ubYPos, UINT32 uiDestSurface );
@@ -22,6 +25,12 @@ void HandleLimitedNumExecutions( );
BOOLEAN HandleJA2CDCheck( );
BOOLEAN HandleJA2CDCheckTwo( );
// WANNE: This method replaces characters in a given text with new characters
char *Replace(char *string, char *oldpiece, char *newpiece);
// WANNE: This method calls the replace method and replaces all german specific characters
char *ReplaceGermanSpecialCharacters(char *text);
// Snap: integer division that rounds the result to the nearest integer
template<class Integer>
inline Integer idiv(Integer a, Integer b)
+11
View File
@@ -42,6 +42,7 @@
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#include "utilities.h"
#endif
struct
@@ -260,11 +261,20 @@ itemEndElementHandle(void *userData, const char *name)
pData->curArray[pData->curItem.uiIndex] = pData->curItem; //write the item into the table
else if ( sizeof(pData->curItem.szItemName)>0 && localizedTextOnly )
{
// WANNE: Replace specific characters (ö, ä, ...)
#ifdef GERMAN
strcpy((char *)pData->curArray[pData->curItem.uiIndex].szItemName, (char *)ReplaceGermanSpecialCharacters((char *)pData->curItem.szItemName));
strcpy((char *)pData->curArray[pData->curItem.uiIndex].szLongItemName, (char *)ReplaceGermanSpecialCharacters((char *)pData->curItem.szLongItemName));
strcpy((char *)pData->curArray[pData->curItem.uiIndex].szBRName, (char *)ReplaceGermanSpecialCharacters((char *)pData->curItem.szBRName));
strcpy((char *)pData->curArray[pData->curItem.uiIndex].szItemDesc, (char *)ReplaceGermanSpecialCharacters((char *)pData->curItem.szItemDesc));
strcpy((char *)pData->curArray[pData->curItem.uiIndex].szBRDesc, (char *)ReplaceGermanSpecialCharacters((char *)pData->curItem.szBRDesc));
#else
strcpy(pData->curArray[pData->curItem.uiIndex].szItemName,pData->curItem.szItemName);
strcpy(pData->curArray[pData->curItem.uiIndex].szLongItemName,pData->curItem.szLongItemName);
strcpy(pData->curArray[pData->curItem.uiIndex].szBRName,pData->curItem.szBRName);
strcpy(pData->curArray[pData->curItem.uiIndex].szItemDesc,pData->curItem.szItemDesc);
strcpy(pData->curArray[pData->curItem.uiIndex].szBRDesc,pData->curItem.szBRDesc);
#endif
}
}
}
@@ -995,6 +1005,7 @@ BOOLEAN ReadInItemStats(STR fileName, BOOLEAN localizedVersion )
UINT32 uiBytesRead;
UINT32 uiFSize;
CHAR8 * lpcBuffer;
XML_Parser parser = XML_ParserCreate(NULL);
itemParseData pData;
+2 -1
View File
@@ -3461,6 +3461,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3537,7 +3538,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved in tactical after each players turn.",
};
+2
View File
@@ -3464,6 +3464,7 @@ STR16 zOptionsToggleText[] =
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3541,6 +3542,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved after each players turn.",
};
+2
View File
@@ -3450,6 +3450,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3526,6 +3527,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved in tactical after each players turn.",
};
+2
View File
@@ -3270,6 +3270,7 @@ STR16 zOptionsToggleText[] =
L"Regengeräusche",
L"Krähen erlauben",
L"Zufällige B.S.E Personalität",
L"Automatisch speichern",
};
//This is the help text associated with the above toggles.
@@ -3347,6 +3348,7 @@ STR16 zOptionsScreenHelpText[] =
L"Wenn diese Funktion aktiviert ist, werden Regengeräusche hörbar falls es regnet.",
L"Wenn diese Funktion aktiviert ist, sind Krähen im Spiel vorhanden.",
L"Wenn diese Funktion aktiviert ist, erhalten B.S.E Charaktere zufällige Persönlichkeit und Einstellung.",
L"Wenn diese Funktion aktiviert ist, wird nach jeder Runde automatisch gespeichert.",
};
STR16 gzGIOScreenText[] =
+2
View File
@@ -3443,6 +3443,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3519,6 +3520,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved in tactical after each players turn.",
};
+2
View File
@@ -3443,6 +3443,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3519,6 +3520,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved in tactical after each players turn.",
};
+2
View File
@@ -3454,6 +3454,7 @@ STR16 zOptionsToggleText[] =
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Auto save",
};
//This is the help text associated with the above toggles.
@@ -3531,6 +3532,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, game will be saved in tactical after each players turn.",
};