- on-the-fly convertation of all codepages to unicode (by lalien and bugmonster). I think this is needed for a Polish release in the future.

BE SURE TO UPDATE FROM SVN GAME DIR (REV. 1050) TO GET THE NEEDED GAME DATA FILES FOR THIS SOURCE MODIFICATION 

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2417 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2008-11-14 11:50:38 +00:00
parent 59f652c6a2
commit 8f2201afe4
13 changed files with 609 additions and 580 deletions
+3 -3
View File
@@ -18,7 +18,7 @@ CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.2389" };
#elif defined JA2BETAVERSION
//BETA/TEST BUILD VERSION
CHAR16 zVersionLabel[256] = { L"Debug v1.13.2415" };
CHAR16 zVersionLabel[256] = { L"Debug v1.13.2417" };
#elif defined CRIPPLED_VERSION
@@ -28,11 +28,11 @@ CHAR16 zVersionLabel[256] = { L"Beta v. 0.98" };
#else
//RELEASE BUILD VERSION
CHAR16 zVersionLabel[256] = { L"Release v1.13.2415" };
CHAR16 zVersionLabel[256] = { L"Release v1.13.2417" };
#endif
CHAR8 czVersionNumber[16] = { "Build 08.11.13" }; //YY.MM.DD
CHAR8 czVersionNumber[16] = { "Build 08.11.14" }; //YY.MM.DD
CHAR16 zTrackingNumber[16] = { L"Z" };
+64 -60
View File
@@ -49,6 +49,7 @@
#include "Strategic Town Loyalty.h"
#include "connect.h"
#include "fresh_header.h"
#include "Encrypted File.h"
//
//****** Defines ******
@@ -1100,7 +1101,7 @@ BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo)
{
HWFILE hFile;
UINT32 uiBytesRead;
UINT16 i;
//UINT16 i;
UINT32 uiStartSeekAmount;
@@ -1124,38 +1125,39 @@ BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo)
return( FALSE );
}
// Decrement, by 1, any value > 32
for(i=0; (i<SIZE_MERC_BIO_INFO) && (pInfoString[i] != 0); i++ )
{
if( pInfoString[i] > 33 )
pInfoString[i] -= 1;
#ifdef POLISH
switch( pInfoString[ i ] )
{
case 260: pInfoString[ i ] = 165; break;
case 262: pInfoString[ i ] = 198; break;
case 280: pInfoString[ i ] = 202; break;
case 321: pInfoString[ i ] = 163; break;
case 323: pInfoString[ i ] = 209; break;
case 211: pInfoString[ i ] = 211; break;
//// Decrement, by 1, any value > 32
//for(i=0; (i<SIZE_MERC_BIO_INFO) && (pInfoString[i] != 0); i++ )
//{
// if( pInfoString[i] > 33 )
// pInfoString[i] -= 1;
// #ifdef POLISH
// switch( pInfoString[ i ] )
// {
// case 260: pInfoString[ i ] = 165; break;
// case 262: pInfoString[ i ] = 198; break;
// case 280: pInfoString[ i ] = 202; break;
// case 321: pInfoString[ i ] = 163; break;
// case 323: pInfoString[ i ] = 209; break;
// case 211: pInfoString[ i ] = 211; break;
case 346: pInfoString[ i ] = 338; break;
case 379: pInfoString[ i ] = 175; break;
case 377: pInfoString[ i ] = 143; break;
case 261: pInfoString[ i ] = 185; break;
case 263: pInfoString[ i ] = 230; break;
case 281: pInfoString[ i ] = 234; break;
case 322: pInfoString[ i ] = 179; break;
case 324: pInfoString[ i ] = 241; break;
case 243: pInfoString[ i ] = 243; break;
case 347: pInfoString[ i ] = 339; break;
case 380: pInfoString[ i ] = 191; break;
case 378: pInfoString[ i ] = 376; break;
}
#endif
}
// case 346: pInfoString[ i ] = 338; break;
// case 379: pInfoString[ i ] = 175; break;
// case 377: pInfoString[ i ] = 143; break;
// case 261: pInfoString[ i ] = 185; break;
// case 263: pInfoString[ i ] = 230; break;
// case 281: pInfoString[ i ] = 234; break;
// case 322: pInfoString[ i ] = 179; break;
// case 324: pInfoString[ i ] = 241; break;
// case 243: pInfoString[ i ] = 243; break;
// case 347: pInfoString[ i ] = 339; break;
// case 380: pInfoString[ i ] = 191; break;
// case 378: pInfoString[ i ] = 376; break;
// }
// #endif
//}
DecodeString(pInfoString, SIZE_MERC_BIO_INFO);
// Get the additional info
uiStartSeekAmount = ((SIZE_MERC_BIO_INFO + SIZE_MERC_ADDITIONAL_INFO) * ubIndex )+ SIZE_MERC_BIO_INFO ;
@@ -1169,37 +1171,39 @@ BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo)
return( FALSE );
}
// Decrement, by 1, any value > 32
for(i=0; (i<SIZE_MERC_BIO_INFO) && (pAddInfo[i] != 0); i++ )
{
if( pAddInfo[i] > 33 )
pAddInfo[i] -= 1;
#ifdef POLISH
switch( pAddInfo[ i ] )
{
case 260: pAddInfo[ i ] = 165; break;
case 262: pAddInfo[ i ] = 198; break;
case 280: pAddInfo[ i ] = 202; break;
case 321: pAddInfo[ i ] = 163; break;
case 323: pAddInfo[ i ] = 209; break;
case 211: pAddInfo[ i ] = 211; break;
//// Decrement, by 1, any value > 32
//for(i=0; (i<SIZE_MERC_BIO_INFO) && (pAddInfo[i] != 0); i++ )
//{
// if( pAddInfo[i] > 33 )
// pAddInfo[i] -= 1;
// #ifdef POLISH
// switch( pAddInfo[ i ] )
// {
// case 260: pAddInfo[ i ] = 165; break;
// case 262: pAddInfo[ i ] = 198; break;
// case 280: pAddInfo[ i ] = 202; break;
// case 321: pAddInfo[ i ] = 163; break;
// case 323: pAddInfo[ i ] = 209; break;
// case 211: pAddInfo[ i ] = 211; break;
case 346: pAddInfo[ i ] = 338; break;
case 379: pAddInfo[ i ] = 175; break;
case 377: pAddInfo[ i ] = 143; break;
case 261: pAddInfo[ i ] = 185; break;
case 263: pAddInfo[ i ] = 230; break;
case 281: pAddInfo[ i ] = 234; break;
// case 346: pAddInfo[ i ] = 338; break;
// case 379: pAddInfo[ i ] = 175; break;
// case 377: pAddInfo[ i ] = 143; break;
// case 261: pAddInfo[ i ] = 185; break;
// case 263: pAddInfo[ i ] = 230; break;
// case 281: pAddInfo[ i ] = 234; break;
case 322: pAddInfo[ i ] = 179; break;
case 324: pAddInfo[ i ] = 241; break;
case 243: pAddInfo[ i ] = 243; break;
case 347: pAddInfo[ i ] = 339; break;
case 380: pAddInfo[ i ] = 191; break;
case 378: pAddInfo[ i ] = 376; break;
}
#endif
}
// case 322: pAddInfo[ i ] = 179; break;
// case 324: pAddInfo[ i ] = 241; break;
// case 243: pAddInfo[ i ] = 243; break;
// case 347: pAddInfo[ i ] = 339; break;
// case 380: pAddInfo[ i ] = 191; break;
// case 378: pAddInfo[ i ] = 376; break;
// }
// #endif
//}
DecodeString(pAddInfo, SIZE_MERC_BIO_INFO);
FileClose(hFile);
return(TRUE);
+262 -370
View File
@@ -657,6 +657,8 @@ INT16 GetIndex(CHAR16 siChar)
UINT16 ssCount=0;
UINT16 usNumberOfSymbols = pFManager->pTranslationTable->usNumberOfSymbols;
siChar = GetUnicodeChar(siChar);
// search the Translation Table and return the index for the font
pTrav = pFManager->pTranslationTable->DynamicArrayOf16BitValues;
while (ssCount < usNumberOfSymbols )
@@ -677,6 +679,144 @@ INT16 GetIndex(CHAR16 siChar)
}
CHAR16 GetUnicodeChar(CHAR16 siChar)
{
#ifdef GERMAN
//switch( siChar )
//{
// // ü
// case 252: siChar = 252; break;
// // Ü
// case 220: siChar = 220; break;
// // ä
// case 228: siChar = 228; break;
// // Ä
// case 196: siChar = 196; break;
// // ö
// case 246: siChar = 246; break;
// // Ö
// case 214: siChar = 214; break;
// // ß
// case 223: siChar = 223; break;
//}
#endif
#ifdef RUSSIAN
switch( siChar )
{
//capital letters
case 168: siChar = 1025; break; //U+0401 d0 81 CYRILLIC CAPITAL LETTER IO
case 192: siChar = 1040; break; //U+0410 A d0 90 CYRILLIC CAPITAL LETTER A
case 193: siChar = 1041; break;
case 194: siChar = 1042; break;
case 195: siChar = 1043; break;
case 196: siChar = 1044; break;
case 197: siChar = 1045; break;
case 198: siChar = 1046; break;
case 199: siChar = 1047; break;
case 200: siChar = 1048; break;
case 201: siChar = 1049; break;
case 202: siChar = 1050; break;
case 203: siChar = 1051; break;
case 204: siChar = 1052; break;
case 205: siChar = 1053; break;
case 206: siChar = 1054; break;
case 207: siChar = 1055; break;
case 208: siChar = 1056; break;
case 209: siChar = 1057; break;
case 210: siChar = 1058; break;
case 211: siChar = 1059; break;
case 212: siChar = 1060; break;
case 213: siChar = 1061; break;
case 214: siChar = 1062; break;
case 215: siChar = 1063; break;
case 216: siChar = 1064; break;
case 217: siChar = 1065; break;
case 218: siChar = 1066; break;
case 219: siChar = 1067; break;
case 220: siChar = 1068; break;
case 221: siChar = 1069; break;
case 222: siChar = 1070; break;
case 223: siChar = 1071; break; //U+042F d0 af CYRILLIC CAPITAL LETTER YA
//small letters
case 185: siChar = 8470; break; // ?
case 178: siChar = 1030; break; // ?
case 161: siChar = 1038; break; // í
case 179: siChar = 1110; break; // ?
case 162: siChar = 1118; break; // ó
case 165: siChar = 1168; break; // Ñ
case 170: siChar = 1028; break; // ¬
case 175: siChar = 1031; break; // »
case 180: siChar = 1169; break; // ?
case 186: siChar = 1108; break; // ?
case 191: siChar = 1111; break; // ?
case 184: siChar = 1105; break; //U+0451 d1 91 CYRILLIC SMALL LETTER IO
case 224: siChar = 1072; break; //U+0430 a d0 b0 CYRILLIC SMALL LETTER A
case 225: siChar = 1073; break;
case 226: siChar = 1074; break;
case 227: siChar = 1075; break;
case 228: siChar = 1076; break;
case 229: siChar = 1077; break;
case 230: siChar = 1078; break;
case 231: siChar = 1079; break;
case 232: siChar = 1080; break;
case 233: siChar = 1081; break;
case 234: siChar = 1082; break;
case 235: siChar = 1083; break;
case 236: siChar = 1084; break;
case 237: siChar = 1085; break;
case 238: siChar = 1086; break;
case 239: siChar = 1087; break; //U+043F d0 bf CYRILLIC SMALL LETTER PE
case 240: siChar = 1088; break; //U+0440 p d1 80 CYRILLIC SMALL LETTER ER
case 241: siChar = 1089; break;
case 242: siChar = 1090; break;
case 243: siChar = 1091; break;
case 244: siChar = 1092; break;
case 245: siChar = 1093; break;
case 246: siChar = 1094; break;
case 247: siChar = 1095; break;
case 248: siChar = 1096; break;
case 249: siChar = 1097; break;
case 250: siChar = 1098; break;
case 251: siChar = 1099; break;
case 252: siChar = 1100; break;
case 253: siChar = 1101; break;
case 254: siChar = 1102; break;
case 255: siChar = 1103; break; //U+044F d1 8f CYRILLIC SMALL LETTER YA
}
#endif
#ifdef POLISH
switch( siChar )
{
case 165: siChar = 260; break;
case 198: siChar = 262; break;
case 202: siChar = 280; break;
case 163: siChar = 321; break;
case 209: siChar = 323; break;
case 211: siChar = 211; break;
case 338: siChar = 346; break;
case 175: siChar = 379; break;
case 143: siChar = 377; break;
case 185: siChar = 261; break;
case 230: siChar = 263; break;
case 234: siChar = 281; break;
case 179: siChar = 322; break;
case 241: siChar = 324; break;
case 243: siChar = 243; break;
case 339: siChar = 347; break;
case 191: siChar = 380; break;
case 376: siChar = 378; break;
}
#endif
return siChar;
}
//*****************************************************************************
// SetFont
//
@@ -1285,12 +1425,15 @@ FontTranslationTable *CreateEnglishTransTable( )
pTable = (FontTranslationTable *)MemAlloc(sizeof(FontTranslationTable));
memset(pTable, 0, sizeof(FontTranslationTable) );
#ifdef JA2
// ha ha, we have more than Wizardry now (again)
pTable->usNumberOfSymbols = 255;
#else
pTable->usNumberOfSymbols = 255;
#endif
//#ifdef JA2
// // ha ha, we have more than Wizardry now (again)
// pTable->usNumberOfSymbols = 255;
//#else
// pTable->usNumberOfSymbols = 255;
//#endif
pTable->usNumberOfSymbols = 200;
pTable->DynamicArrayOf16BitValues = (UINT16 *)MemAlloc(pTable->usNumberOfSymbols * 2);
temp = pTable->DynamicArrayOf16BitValues;
@@ -1481,9 +1624,7 @@ FontTranslationTable *CreateEnglishTransTable( )
*temp = ' '; //93
temp++;
#ifdef JA2
#ifdef GERMAN
// GERMAN letters in UNICODE
*temp = 196; // "A" umlaut
temp++;
*temp = 214; // "O" umlaut
@@ -1496,469 +1637,220 @@ FontTranslationTable *CreateEnglishTransTable( )
temp++;
*temp = 252; // "u" umlaut
temp++;
*temp = 223; // double-s that looks like a beta/B // 100
*temp = 223; // double-s that looks like a beta/B
temp++;
#else
*temp = 0; // "A" umlaut
temp++;
*temp = 0; // "O" umlaut
temp++;
*temp = 0; // "U" umlaut
temp++;
*temp = 0; // "a" umlaut
temp++;
*temp = 0; // "o" umlaut
temp++;
*temp = 0; // "u" umlaut
temp++;
*temp = 0; // double-s that looks like a beta/B // 100
temp++;
#endif
*temp = 192; // À
temp++;
*temp = 193; // Á
temp++;
*temp = 194; // Ã
temp++;
*temp = 195; // Ä
temp++;
*temp = 196; // Å
temp++;
*temp = 197; // ¨
temp++;
*temp = 198; // Æ
temp++;
*temp = 199; // Ç
temp++;
*temp = 200; // È 140
temp++;
*temp = 201; // É
temp++;
*temp = 202; // Ê
temp++;
*temp = 203; // Ë
temp++;
*temp = 204; // Ì
temp++;
*temp = 205; // Í
temp++;
*temp = 206; // Î
temp++;
*temp = 207; // Ï
temp++;
*temp = 208; // Ð
temp++;
*temp = 209; // Ñ
temp++;
*temp = 210; // Ò 150
temp++;
*temp = 211; // Ó
temp++;
*temp = 212; // Ô
temp++;
*temp = 213; // Õ
temp++;
*temp = 214; // Ö
temp++;
*temp = 215; // ×
temp++;
*temp = 216; // Ø
temp++;
*temp = 217; // Ù
temp++;
*temp = 218; // Ú
temp++;
*temp = 219; // Û
temp++;
*temp = 220; // Ü 160
temp++;
*temp = 221; // Ý
temp++;
*temp = 222; // Þ
temp++;
*temp = 223; // ß
temp++;
*temp = 224; // à
temp++;
*temp = 225; // á
temp++;
*temp = 226; // â
temp++;
*temp = 227; // ã
temp++;
*temp = 228; // ä
temp++;
*temp = 229; // å
temp++;
*temp = 230; // ¸ 170
temp++;
*temp = 231; // æ
temp++;
*temp = 232; // ç
temp++;
*temp = 233; // è
temp++;
*temp = 234; // é
temp++;
*temp = 235; // ê
temp++;
*temp = 236; // ë
temp++;
*temp = 237; // ì
temp++;
*temp = 238; // í
temp++;
*temp = 239; // î 170
temp++;
*temp = 240; // ï
temp++;
*temp = 241; // ð
temp++;
*temp = 242; // ñ
temp++;
*temp = 243; // ò
temp++;
*temp = 244; // ó
temp++;
*temp = 245; // ô
temp++;
*temp = 246; // õ
temp++;
*temp = 247; // ö
temp++;
*temp = 248; // ÷
temp++;
*temp = 249; // ø 170
temp++;
*temp = 250; // ù
temp++;
*temp = 251; // ú
temp++;
*temp = 252; // û
temp++;
*temp = 253; // ü 170
temp++;
*temp = 254; // ý
temp++;
*temp = 255; // þ
temp++;
// START OF FUNKY RUSSIAN STUFF
// RUSSIAN letters in UNICODE
*temp = 1040; //À
temp++;
*temp = 1041;
*temp = 1041; //Á
temp++;
*temp = 1042;
*temp = 1042; //Â
temp++;
*temp = 1043;
*temp = 1043; //Ã
temp++;
*temp = 1044;
*temp = 1044; //Ä
temp++;
*temp = 1045;
*temp = 1045; //Å
temp++;
*temp = 1046;
*temp = 1046; //Æ
temp++;
*temp = 1047;
*temp = 1047; //Ç
temp++;
*temp = 1048;
*temp = 1048; //È
temp++;
*temp = 1049; //110
*temp = 1049; //É
temp++;
*temp = 1050;
*temp = 1050; //Ê
temp++;
*temp = 1051;
*temp = 1051; //Ë
temp++;
*temp = 1052;
*temp = 1052; //Ì
temp++;
*temp = 1053;
*temp = 1053; //Í
temp++;
*temp = 1054;
*temp = 1054; //Î
temp++;
*temp = 1055;
*temp = 1055; //Ï
temp++;
*temp = 1056;
*temp = 1056; //Ð
temp++;
*temp = 1057;
*temp = 1057; //Ñ
temp++;
*temp = 1058;
*temp = 1058; //Ò
temp++;
*temp = 1059; //120
*temp = 1059; //Ó
temp++;
*temp = 1060;
*temp = 1060; //Ô
temp++;
*temp = 1061;
*temp = 1061; //Õ
temp++;
*temp = 1062;
*temp = 1062; //Ö
temp++;
*temp = 1063;
*temp = 1063; //×
temp++;
*temp = 1064;
*temp = 1064; //Ø
temp++;
*temp = 1065;
*temp = 1065; //Ù
temp++;
*temp = 1066;
*temp = 1066; //Ú
temp++;
*temp = 1067;
*temp = 1067; //Û
temp++;
*temp = 1068;
*temp = 1068; //Ü
temp++;
*temp = 1069; // 130
*temp = 1069; //Ý
temp++;
*temp = 1070;
*temp = 1070; //Þ
temp++;
*temp = 1071;
*temp = 1071; //ß
temp++;
*temp = 1072; // à
temp++;
*temp = 1072; // Ä
*temp = 1073; // á
temp++;
*temp = 1073; // À
*temp = 1074; // â
temp++;
*temp = 1074; // Á
*temp = 1075; // ã
temp++;
*temp = 1075; // Â
*temp = 1076; // ä
temp++;
*temp = 1076; // Ã
*temp = 1077; // å
temp++;
*temp = 1077; // Å
*temp = 1078; // æ
temp++;
*temp = 1078; // ¨
*temp = 1079; // ç
temp++;
*temp = 1079; // Ç 140
*temp = 1080; // è
temp++;
*temp = 1080; // Ë
*temp = 1081; // é
temp++;
*temp = 1081; // È
*temp = 1082; // ê
temp++;
*temp = 1082; // É 140
*temp = 1083; // ë
temp++;
*temp = 1083; // Ê
*temp = 1084; // ì
temp++;
*temp = 1084; // Ï
*temp = 1085; // í
temp++;
*temp = 1085; // Ö
*temp = 1086; // î
temp++;
*temp = 1086; // Ò
*temp = 1087; // ï
temp++;
*temp = 1087; // Ó
*temp = 1088; // ð
temp++;
*temp = 1088; // Ô
*temp = 1089; // ñ
temp++;
*temp = 1089; // Ü 150
*temp = 1090; // ò
temp++;
*temp = 1090; // Ù
*temp = 1091; // ó
temp++;
*temp = 1091; // Ú
*temp = 1092; // ô
temp++;
*temp = 1092; // Û 150
*temp = 1093; // õ
temp++;
*temp = 1093; // ä
*temp = 1094; // ö
temp++;
*temp = 1094; // à
*temp = 1095; // ÷
temp++;
*temp = 1095; // á
*temp = 1096; // ø
temp++;
*temp = 1096; // â
*temp = 1097; // ù
temp++;
*temp = 1097; // ç
*temp = 1098; // ú
temp++;
*temp = 1098; // ë
*temp = 1099; // û
temp++;
*temp = 1099; // è 160
*temp = 1100; // ü
temp++;
*temp = 1100; // é
*temp = 1101; // ý
temp++;
*temp = 1101; // ê
*temp = 1102; // þ
temp++;
*temp = 1102; // ï 160
temp++;
*temp = 1103; // ö
*temp = 1103; // ÿ
temp++;
//SB: new russian & bellorussian & ukrainian symbols
// in ascii
*temp = 185; // ¹
// BELORUSSIAN and UKRAINIAN letters in UNICODE
*temp = 8470; // ¹
temp++;
*temp = 168; // ¨
*temp = 1025; // ¨
temp++;
*temp = 178; // ²
*temp = 1030; // ²
temp++;
*temp = 161; // ¡
*temp = 1038; // ¡
temp++;
*temp = 184; // ¸
*temp = 1105; // ¸
temp++;
*temp = 179; // ³
*temp = 1110; // ³
temp++;
*temp = 162; // ¢
*temp = 1118; // ¢
temp++;
*temp = 165; // ¥
*temp = 1168; // ¥
temp++;
*temp = 170; // ª
*temp = 1028; // ª
temp++;
*temp = 175; // ¯
*temp = 1031; // ¯
temp++;
*temp = 180; // ´
*temp = 1169; // ´
temp++;
*temp = 186; // º
*temp = 1108; // º
temp++;
*temp = 191; // ¿
*temp = 1111; // ¿
temp++;
// in unicode
*temp = 0x2116; // ¹
temp++;
*temp = 0x0401; // ¨
temp++;
*temp = 0x0406; // ²
temp++;
*temp = 0x040E; // ¡
temp++;
*temp = 0x0451; // ¸
temp++;
*temp = 0x0456; // ³
temp++;
*temp = 0x045E; // ¢
temp++;
*temp = 0x0490; // ¥
temp++;
*temp = 0x0404; // ª
temp++;
*temp = 0x0407; // ¯
temp++;
*temp = 0x0491; // ´
temp++;
*temp = 0x0454; // º
temp++;
*temp = 0x0457; // ¿
temp++;
#else
// Windows Code Page 1252 Western Standard Character Set
*temp = 193; // "A" acute
// POLISH letters in UNICODE
*temp = 260; // ¥ (îí)
temp++;
*temp = 192; // "A" grave
*temp = 262; // Æ (öå)
temp++;
*temp = 193; // "A" circumflex
*temp = 280; // Ê (ýí)
temp++;
*temp = 196; // "A" umlaut
*temp = 321; // £ (ýëü)
temp++;
*temp = 195; // "A" tilde
*temp = 323; // Ñ (ýíü)
temp++;
*temp = 197; // "A" ring
*temp = 211; // Ó (î êðàòêîå)
temp++;
*temp = 199; // "C" cedile
*temp = 346; // Œ (ýñü)
temp++;
*temp = 201; // "E" acute
*temp = 379; // ¯ (æåò)
temp++;
*temp = 200; // "E" grave
*temp = 377; // (çåò)
temp++;
*temp = 202; // "E" circumflex
*temp = 261; // ¹ (îí)
temp++;
*temp = 203; // "E" umlaut
*temp = 263; // æ (öå)
temp++;
*temp = 205; // "I" acute
*temp = 281; // ê (ýí)
temp++;
*temp = 204; // "I" grave
*temp = 322; // ³ (ýëü)
temp++;
*temp = 206; // "I" circumflex
*temp = 324; // ñ (ýíü)
temp++;
*temp = 207; // "I" umlaut
*temp = 243; // ó (î êðàòêîå)
temp++;
*temp = 209; // "N" tilde
*temp = 347; // œ (ýñü)
temp++;
*temp = 211; // "O" acute
*temp = 380; // ¿ (æåò)
temp++;
*temp = 210; // "O" grave
*temp = 378; // Ÿ (çåò)
temp++;
*temp = 212; // "O" circumflex
temp++;
*temp = 214; // "O" umlaut
temp++;
*temp = 213; // "O" tilde
temp++;
*temp = 216; // "0" O strike-through
temp++;
*temp = 218; // "U" acute
temp++;
*temp = 217; // "U" grave
temp++;
*temp = 219; // "U" circumflex
temp++;
*temp = 220; // "U" umlaut
temp++;
*temp = 221; // "Y" acute
temp++;
*temp = 225; // "a" acute
temp++;
*temp = 224; // "a" grave
temp++;
*temp = 226; // "a" circumflex
temp++;
*temp = 228; // "a" umlaut
temp++;
*temp = 227; // "a" tilde
temp++;
*temp = 229; // "a" ring
temp++;
*temp = 231; // "c" cedile
temp++;
*temp = 233; // "e" acute
temp++;
*temp = 232; // "e" grave
temp++;
*temp = 234; // "e" circumflex
temp++;
*temp = 235; // "e" umlaut
temp++;
*temp = 237; // "i" acute
temp++;
*temp = 236; // "i" grave
temp++;
*temp = 238; // "i" circumflex
temp++;
*temp = 239; // "i" umlaut
temp++;
*temp = 241; // "n" tilde
temp++;
*temp = 243; // "o" acute
temp++;
*temp = 242; // "o" grave
temp++;
*temp = 244; // "o" circumflex
temp++;
*temp = 246; // "o" umlaut
temp++;
*temp = 245; // "o" tilde
temp++;
*temp = 248; // "o" strike-through
temp++;
*temp = 250; // "u" acute
temp++;
*temp = 249; // "u" grave
temp++;
*temp = 251; // "u" circumflex
temp++;
*temp = 252; // "u" umlaut
temp++;
*temp = 254; // "y" acute
temp++;
*temp = 255; // "y" umlaut
temp++;
*temp = 223; // beta
// Font glyphs for spell targeting icons
// Font glyphs for spell targeting icons
//ATE: IMPORTANT! INcreate the array above if you add any new items here...
temp++;
*temp = FONT_GLYPH_TARGET_POINT;
temp++;
*temp = FONT_GLYPH_TARGET_CONE;
temp++;
*temp = FONT_GLYPH_TARGET_SINGLE;
temp++;
*temp = FONT_GLYPH_TARGET_GROUP;
temp++;
*temp = FONT_GLYPH_TARGET_NONE;
// 154
#endif
//temp++;
//*temp = FONT_GLYPH_TARGET_POINT;
//temp++;
//*temp = FONT_GLYPH_TARGET_CONE;
//temp++;
//*temp = FONT_GLYPH_TARGET_SINGLE;
//temp++;
//*temp = FONT_GLYPH_TARGET_GROUP;
//temp++;
//*temp = FONT_GLYPH_TARGET_NONE;
// 200
return pTable;
}
+2
View File
@@ -183,3 +183,5 @@ void FindFontCenterCoordinates( INT16 sLeft, INT16 sTop, INT16 sWidth, INT16 sHe
*/
#endif
CHAR16 GetUnicodeChar(CHAR16 siChar);
+157 -31
View File
@@ -10,8 +10,7 @@
BOOLEAN LoadEncryptedDataFromFile(STR pFileName, STR16 pDestString, UINT32 uiSeekFrom, UINT32 uiSeekAmount)
{
HWFILE hFile;
UINT16 i;
HWFILE hFile;
UINT32 uiBytesRead;
@@ -36,38 +35,165 @@ BOOLEAN LoadEncryptedDataFromFile(STR pFileName, STR16 pDestString, UINT32 uiSee
return( FALSE );
}
// Decrement, by 1, any value > 32
for(i=0; (i<uiSeekAmount) && (pDestString[i] != 0); i++ )
{
if( pDestString[i] > 33 )
pDestString[i] -= 1;
#ifdef POLISH
switch( pDestString[ i ] )
{
case 260: pDestString[ i ] = 165; break;
case 262: pDestString[ i ] = 198; break;
case 280: pDestString[ i ] = 202; break;
case 321: pDestString[ i ] = 163; break;
case 323: pDestString[ i ] = 209; break;
case 211: pDestString[ i ] = 211; break;
case 346: pDestString[ i ] = 338; break;
case 379: pDestString[ i ] = 175; break;
case 377: pDestString[ i ] = 143; break;
case 261: pDestString[ i ] = 185; break;
case 263: pDestString[ i ] = 230; break;
case 281: pDestString[ i ] = 234; break;
case 322: pDestString[ i ] = 179; break;
case 324: pDestString[ i ] = 241; break;
case 243: pDestString[ i ] = 243; break;
case 347: pDestString[ i ] = 339; break;
case 380: pDestString[ i ] = 191; break;
case 378: pDestString[ i ] = 376; break;
}
#endif
}
//// Decrement, by 1, any value > 32
//for(i=0; (i<uiSeekAmount) && (pDestString[i] != 0); i++ )
//{
// if( pDestString[i] > 33 )
// pDestString[i] -= 1;
//
//}
DecodeString(pDestString, uiSeekAmount);
FileClose(hFile);
return(TRUE);
}
void DecodeString(STR16 pDestString, UINT32 uiSeekAmount)
{
UINT32 i;
// Decrement, by 1, any value > 32
for(i=0; (i<uiSeekAmount) && (pDestString[i] != 0); i++ )
{
if( pDestString[i] > 33 )
pDestString[i] -= 1;
//#ifdef GERMAN
// //switch( pDestString[ i ] )
// //{
// // // ü
// // case 252: pDestString[i] = 252; break;
// // // Ü
// // case 220: pDestString[i] = 220; break;
// // // ä
// // case 228: pDestString[i] = 228; break;
// // // Ä
// // case 196: pDestString[i] = 196; break;
// // // ö
// // case 246: pDestString[i] = 246; break;
// // // Ö
// // case 214: pDestString[i] = 214; break;
// // // ß
// // case 223: pDestString[i] = 223; break;
// //}
//#endif
//#ifdef RUSSIAN
// switch( pDestString[ i ] )
// {
// //capital letters
// case 168: pDestString[ i ] = 1025; break; //U+0401 d0 81 CYRILLIC CAPITAL LETTER IO
// case 192: pDestString[ i ] = 1040; break; //U+0410 A d0 90 CYRILLIC CAPITAL LETTER A
// case 193: pDestString[ i ] = 1041; break;
// case 194: pDestString[ i ] = 1042; break;
// case 195: pDestString[ i ] = 1043; break;
// case 196: pDestString[ i ] = 1044; break;
// case 197: pDestString[ i ] = 1045; break;
// case 198: pDestString[ i ] = 1046; break;
// case 199: pDestString[ i ] = 1047; break;
// case 200: pDestString[ i ] = 1048; break;
// case 201: pDestString[ i ] = 1049; break;
// case 202: pDestString[ i ] = 1050; break;
// case 203: pDestString[ i ] = 1051; break;
// case 204: pDestString[ i ] = 1052; break;
// case 205: pDestString[ i ] = 1053; break;
// case 206: pDestString[ i ] = 1054; break;
// case 207: pDestString[ i ] = 1055; break;
// case 208: pDestString[ i ] = 1056; break;
// case 209: pDestString[ i ] = 1057; break;
// case 210: pDestString[ i ] = 1058; break;
// case 211: pDestString[ i ] = 1059; break;
// case 212: pDestString[ i ] = 1060; break;
// case 213: pDestString[ i ] = 1061; break;
// case 214: pDestString[ i ] = 1062; break;
// case 215: pDestString[ i ] = 1063; break;
// case 216: pDestString[ i ] = 1064; break;
// case 217: pDestString[ i ] = 1065; break;
// case 218: pDestString[ i ] = 1066; break;
// case 219: pDestString[ i ] = 1067; break;
// case 220: pDestString[ i ] = 1068; break;
// case 221: pDestString[ i ] = 1069; break;
// case 222: pDestString[ i ] = 1070; break;
// case 223: pDestString[ i ] = 1071; break; //U+042F d0 af CYRILLIC CAPITAL LETTER YA
// //small letters
// case 184: pDestString[ i ] = 1105; break; //U+0451 d1 91 CYRILLIC SMALL LETTER IO
//case 185: pDestString[ i ] = 8470; break; // ?
//case 178: pDestString[ i ] = 1030; break; // ?
//case 161: pDestString[ i ] = 1038; break; // í
//case 179: pDestString[ i ] = 1110; break; // ?
//case 162: pDestString[ i ] = 1118; break; // ó
//case 165: pDestString[ i ] = 1168; break; // Ń
//case 170: pDestString[ i ] = 1028; break; // Ź
//case 175: pDestString[ i ] = 1031; break; // ť
//case 180: pDestString[ i ] = 1169; break; // ?
//case 186: pDestString[ i ] = 1108; break; // ?
//case 191: pDestString[ i ] = 1111; break; // ?
// case 224: pDestString[ i ] = 1072; break; //U+0430 a d0 b0 CYRILLIC SMALL LETTER A
// case 225: pDestString[ i ] = 1073; break;
// case 226: pDestString[ i ] = 1074; break;
// case 227: pDestString[ i ] = 1075; break;
// case 228: pDestString[ i ] = 1076; break;
// case 229: pDestString[ i ] = 1077; break;
// case 230: pDestString[ i ] = 1078; break;
// case 231: pDestString[ i ] = 1079; break;
// case 232: pDestString[ i ] = 1080; break;
// case 233: pDestString[ i ] = 1081; break;
// case 234: pDestString[ i ] = 1082; break;
// case 235: pDestString[ i ] = 1083; break;
// case 236: pDestString[ i ] = 1084; break;
// case 237: pDestString[ i ] = 1085; break;
// case 238: pDestString[ i ] = 1086; break;
// case 239: pDestString[ i ] = 1087; break; //U+043F d0 bf CYRILLIC SMALL LETTER PE
// case 240: pDestString[ i ] = 1088; break; //U+0440 p d1 80 CYRILLIC SMALL LETTER ER
// case 241: pDestString[ i ] = 1089; break;
// case 242: pDestString[ i ] = 1090; break;
// case 243: pDestString[ i ] = 1091; break;
// case 244: pDestString[ i ] = 1092; break;
// case 245: pDestString[ i ] = 1093; break;
// case 246: pDestString[ i ] = 1094; break;
// case 247: pDestString[ i ] = 1095; break;
// case 248: pDestString[ i ] = 1096; break;
// case 249: pDestString[ i ] = 1097; break;
// case 250: pDestString[ i ] = 1098; break;
// case 251: pDestString[ i ] = 1099; break;
// case 252: pDestString[ i ] = 1100; break;
// case 253: pDestString[ i ] = 1101; break;
// case 254: pDestString[ i ] = 1102; break;
// case 255: pDestString[ i ] = 1103; break; //U+044F d1 8f CYRILLIC SMALL LETTER YA
// }
//#endif
//#ifdef POLISH
// switch( pDestString[ i ] )
// {
// case 165: pDestString[ i ] = 260; break;
// case 198: pDestString[ i ] = 262; break;
// case 202: pDestString[ i ] = 280; break;
// case 163: pDestString[ i ] = 321; break;
// case 209: pDestString[ i ] = 323; break;
// case 211: pDestString[ i ] = 211; break;
// case 338: pDestString[ i ] = 346; break;
// case 175: pDestString[ i ] = 379; break;
// case 143: pDestString[ i ] = 377; break;
// case 185: pDestString[ i ] = 261; break;
// case 230: pDestString[ i ] = 263; break;
// case 234: pDestString[ i ] = 281; break;
// case 179: pDestString[ i ] = 322; break;
// case 241: pDestString[ i ] = 324; break;
// case 243: pDestString[ i ] = 243; break;
// case 339: pDestString[ i ] = 347; break;
// case 191: pDestString[ i ] = 380; break;
// case 376: pDestString[ i ] = 378; break;
// }
//#endif
}
}
+1
View File
@@ -4,5 +4,6 @@
#include "types.h"
BOOLEAN LoadEncryptedDataFromFile(STR pFileName, STR16 pDestString, UINT32 uiSeekFrom, UINT32 uiSeekAmount);
void DecodeString(STR16 pDestString, UINT32 uiSeekAmount);
#endif
+1
View File
@@ -1,3 +1,4 @@
#pragma setlocale("GERMAN")
#ifdef PRECOMPILEDHEADERS
#include "Utils All.h"
#else
+1
View File
@@ -1,3 +1,4 @@
#pragma setlocale("GERMAN")
#ifdef PRECOMPILEDHEADERS
#include "Utils All.h"
#include "_Ja25GermanText.h"
+1
View File
@@ -1,3 +1,4 @@
#pragma setlocale("POLISH")
#ifdef PRECOMPILEDHEADERS
#include "Utils All.h"
#include "_Ja25Polishtext.h"
+1
View File
@@ -1,3 +1,4 @@
#pragma setlocale("RUSSIAN")
#ifdef PRECOMPILEDHEADERS
#include "Utils All.h"
#include "_Ja25RussianText.h"
+4 -4
View File
@@ -1,3 +1,4 @@
#pragma setlocale("POLISH")
#include "Utils All.h"
#include "Language Defines.h"
@@ -3762,10 +3763,9 @@ STR16 zOptionsScreenHelpText[] =
L"Jeśli WŁĄCZONE, gra będzie zapisywana każdorazowo po zakończeniu tury gracza.",
L"Jeśli WŁĄCZONE, Skyrider nie będzie nic mówił.",
L"Jeśli WŁĄCZONE, gra będzie obciążała procesor w mniejszym stopniu.",
L"Jeœli W£¥CZONE, gra bêdzie u¿yciem "Enhanced Description Box" opisu.",
L"Jeœli W£¥CZONE, gra bêdzie u¿yciem 'Enhanced Description Box' opisu.",
};
STR16 gzGIOScreenText[] =
{
L"POCZĄTKOWE USTAWIENIA GRY",
@@ -4330,7 +4330,7 @@ STR16 gzLateLocalizedString[] =
//55
L"Nie można kompresować czasu, gdy otwarty jest inwentarz sektora.",
L"Nie odnaleziono p³yty nr 2 Jagged Alliance 2 v1.13.",
L"Nie odnaleziono p³yty nr 2 Jagged Alliance 2.",
L"Przedmioty zostały pomyślnie połączone.",
@@ -4535,7 +4535,7 @@ STR16 MPClientMessage[] =
STR16 MPHelp[] =
{
// 0
L"Welcome to Jagged Alliance2 2 v1.13 Multiplayer",
L"Welcome to JAGGED ALLIANCE 2 v1.13 Multiplayer",
L"Press 'F1' for help",
L"Multiplayer controls (from strategy screen)",
L"* first set up ja2_mp.ini *",
+110 -110
View File
@@ -1,4 +1,4 @@
#pragma setlocale("RUSSIAN")
#ifdef PRECOMPILEDHEADERS
#include "Utils All.h"
#else
@@ -243,33 +243,33 @@ CHAR16 Message[][STRING_LENGTH] =
L"%s è %s îêàçûâàþò ïåðâóþ ïîìîùü (ëþáàÿ êëàâèøà - îòìåíà).",
// the following 17 strings are used to create lists of gun advantages and disadvantages
// (separated by commas)
L"надежен",
L"ненадежен",
L"надёжно",
L"ненадёжно",
L"ïðîñòîé ðåìîíò",
L"ñëîæíûé ðåìîíò",
L"áîëüøîé óðîí",
L"ìàëûé óðîí",
L"скорострельный",
L"нескоростр.",
L"скорострельное",
L"нескорострельное",
L"äàëüíèé áîé",
L"áëèæíèé áîé",
L"легкий",
L"тяжелый",
L"компактный",
L"очередями",
L"", //нет отсечки очереди
L"лёгкое",
L"тяжёлое",
L"компактное",
L"очередями", //fast burst fire
L"нет отсечки очереди",
L"áîë.ìàãàçèí",
L"ìàë.ìàãàçèí",
// In the following two lines, all %s's are merc names
L"%s: камуфляжная краска стерлась.",
L"%s: камуфляжная краска стёрлась.",
L"%s: êàìóôëÿæíàÿ êðàñêà ñìûëàñü.",
// The first %s is a merc name and the second %s is an item name
L"Âòîðîå îðóæèå: çàêîí÷èëèñü ïàòðîíû!",
L"%s крадет %s.",
L"%s крадёт %s.",
// The %s is a merc name
@@ -1101,7 +1101,7 @@ CHAR16 gWeaponStatsDesc[][ 16 ] =
L"Âåñ:", //12
L"Îãëóøåíèå:",//13
// HEADROCK: Added new strings for extended description ** REDUNDANT **
L"АВТОШТРАФ:", //14
L"AUTOPEN:", //14
L"AUTO/5:", //15
L"Âñåãî:", //16
@@ -1112,41 +1112,41 @@ CHAR16 gWeaponStatsDesc[][ 16 ] =
// changing item type while watching its description box
STR16 gzWeaponStatsFasthelp[ 27 ] =
{
L"Дальность",
L"Урон",
L"Burst/Auto Penalty",
L"Autofire shots per 5 AP",
L"Точность",
L"Надёжность",
L"Простота ремонта",
L"ОД на вскидку",
L"ОД на 1 выстрел",
L"ОД на огонь с отсечкой",
L"ОД на огонь очередью",
L"ОД на замену магазина",
L"ОД на досылку патрона",
L"Пламегаситель",
L"Шумность (Чем меньше, тем лучше)",
L"To-Hit Modifier",
L"Average Best Laser Range",
L"Aiming Modifier",
L"Min. Range for Aiming Bonus",
L"Bipod Modifier",
L"ОД на бросок",
L"ОД на выстрел",
L"ОД на удар ножом",
L"Не стреляет одиночными!",
L"Нет отсечки патрона!",
L"Нет автоматического режима!",
L"ОД на удар",
L"Дальнобойность", //Range
L"Урон", //Damage
L"Штраф за отдачу при\nстрельбе очередью\n(c отсечкой/без)", //Burst/Auto Penalty
L"Выстрелов в автоматическом\nрежиме за 5 ОД", //Autofire shots per 5 AP
L"Точность", //Accuracy
L"Надёжность", //Reliability
L"Простота ремонта", //Repair Ease
L"ОД на вскидку", //APs to ready
L"ОД на 1 выстрел", //APs to fire Single
L"ОД на огонь с отсечкой", //APs to fire Burst
L"ОД на огонь очередью", //APs to fire Auto
L"ОД на замену магазина", //APs to Reload
L"ОД на досылку патрона", //APs to Reload Manually
L"Пламегаситель", //Flash Suppression
L"Шумность (чем меньше, тем лучше)", //Loudness (Lower is better)
L"Модификатор точности", //To-Hit Modifier
L"Радиус наилучшей видимости\nточки прицеливания", //Average Best Laser Range
L"Модификатор прицельной стрельбы", //Aiming Modifier
L"Минимальная эффективная дальность", //Min. Range for Aiming Bonus
L"Бонус от сошек\n(при стрельбе лёжа)", //Bipod Modifier
L"ОД на бросок", //APs to Throw
L"ОД на выстрел", //APs to Launch
L"ОД на удар ножом", //APs to Stab
L"Не стреляет одиночными!", //No Single Shot!
L"Нет отсечки патрона!", //No Burst Mode!
L"Нет автоматического режима!", //No Auto Mode!
L"ОД на удар", //APs to Bash
};
STR16 gzWeaponStatsFasthelpTactical[ 27 ] =
{
L"Дальность",
L"Дальнобойность",
L"Óðîí",
L"Burst/Auto Penalty",
L"Autofire shots per 5 AP",
L"Штраф за отдачу при\nстрельбе очередью\n(c отсечкой/без)",
L"Выстрелов в автоматическом\nрежиме за 5 ОД",
L"Òî÷íîñòü",
L"Íà䏿íîñòü",
L"Ïðîñòîòà ðåìîíòà",
@@ -1156,13 +1156,13 @@ STR16 gzWeaponStatsFasthelpTactical[ 27 ] =
L"ÎÄ íà îãîíü î÷åðåäüþ",
L"ÎÄ íà çàìåíó ìàãàçèíà",
L"ÎÄ íà äîñûëêó ïàòðîíà",
L"To-Hit Modifier",
L"Average Best Laser Range",
L"Aiming Modifier",
L"Min. Range for Aiming Bonus",
L"Модификатор точности",
L"Радиус наилучшей видимости\nточки прицеливания",
L"Модификатор прицельной стрельбы",
L"Минимальная эффективная дальность",
L"Ïëàìåãàñèòåëü",
L"Шумность\n(Чем меньше, тем лучше)",
L"Bipod Modifier",
L"Шумность\n(чем меньше, тем лучше)",
L"Бонус от сошек\n(при стрельбе лёжа)",
L"ÎÄ íà áðîñîê",
L"ÎÄ íà âûñòðåë",
L"ÎÄ íà óäàð íîæîì",
@@ -1177,17 +1177,17 @@ STR16 gzAmmoStatsFasthelp[ 20 ] =
L"Armor Penetration (Lower is better)",
L"Bullet Tumble (Higher is better)",
L"Pre-impact Explosion (Higher is better)",
L"Трассирующий эффект",
L"Anti-Tank",
L"Трассирующий эффект", //Tracer Effect
L"Кумулятивные", //Anti-Tank
L"Lockbuster",
L"Ignores Armor",
L"Acidic",
L"Range Modifier",
L"Damage Modifier",
L"To-Hit Modifier",
L"Игнорируется наличие брони", //Ignores Armor
L"Кислотный эффект", //Acidic
L"Модификатор дальнобойности", //Range Modifier
L"Модификатор урона", //Damage Modifier
L"Модификатор точности", //To-Hit Modifier
L"Burst/Auto Penalty Modifier (Higher is better)",
L"Reliability Modifier",
L"Loudness Modifier (Lower is better)",
L"Модификатор надёжности", //Reliability Modifier
L"Модификатор шумности\n(чем меньше, тем лучше)", //Loudness Modifier (Lower is better)
L"",
L"",
L"",
@@ -1198,23 +1198,23 @@ STR16 gzAmmoStatsFasthelp[ 20 ] =
STR16 gzArmorStatsFasthelp[ 20 ] =
{
L"Защита",
L"Покрытие тела\n(чем больше, тем лучше)",
L"Изнашиваемость\n(чем меньше, тем лучше)",
L"Влияние на подвижность",
L"To-Hit Modifier",
L"Камуфляж (Лес)",
L"Камуфляж (Город)",
L"Камуфляж (Пустыня)",
L"Камуфляж (Снег)",
L"Stealth Modifier",
L"Vision Range Modifier",
L"Day Vision Range Modifier",
L"Night Vision Range Modifier",
L"Bright Light Vision Range Modifier",
L"Cave Vision Range Modifier",
L"Tunnel Vision Percentage",
L"Hearing Range Modifier",
L"Защита", //Protection
L"Покрытие тела\n(чем больше, тем лучше)", //Coverage (Higher is better)
L"Изнашиваемость\n(чем меньше, тем лучше)", //Degrade Rate (Lower is better)
L"Влияние на подвижность", //AP Modifier
L"Модификатор точности", //To-Hit Modifier
L"Камуфляж 'Лес'",
L"Камуфляж 'Город'",
L"Камуфляж 'Пустыня'",
L"Камуфляж 'Снег'",
L"Модификатор скрытности", //Stealth Modifier
L"Модификатор диапазона\nвидимости", //Vision Range Modifier
L"Модификатор диапазона\nвидимости днём", //Day Vision Range Modifier
L"Модификатор диапазона\nвидимости ночью", //Night Vision Range Modifier
L"Модификатор диапазона\nвидимости при ярком освещении",//Bright Light Vision Range Modifier
L"Модификатор диапазона\nвидимости в пещере", //Cave Vision Range Modifier
L"Процент видимости в тоннеле", //Tunnel Vision Percentage
L"Модификатор диапазона\nслышимости", //Hearing Range Modifier
L"",
L"",
L"",
@@ -1222,14 +1222,14 @@ STR16 gzArmorStatsFasthelp[ 20 ] =
STR16 gzExplosiveStatsFasthelp[ 20 ] =
{
L"Урон",
L"Оглушение", //отнимает энергию
L"Зона слышимости взрыва\n(чем меньше, тем лучше)",
L"Взрывоопасность!!!\n(чем меньше, тем лучше)",
L"Зона действия взрыва",
L"Начальная зона действия",
L"Максимальная зона действия",
L"Время действия",
L"Урон", //Damage
L"Оглушение", //отнимает энергию //Stun Damage
L"Зона слышимости взрыва\n(чем меньше, тем лучше)", //Blast Loudness (Lower is better)
L"Взрывоопасность!!!\n(чем меньше, тем лучше)", //Volatility!!! (Lower is better)
L"Зона действия взрыва", //Blast Radius
L"Начальная зона действия", //Effect Start Radius
L"Конечная зона действия", //Effect Final Radius
L"Время действия", //Effect Duration
L"",
L"",
L"",
@@ -1247,13 +1247,13 @@ STR16 gzExplosiveStatsFasthelp[ 20 ] =
STR16 gzMiscItemStatsFasthelp[ 34 ] =
{
L"Item Size Modifier (Lower is better)", // 0
L"Reliability Modifier",
L"Loudness Modifier (Lower is better)",
L"Hides Muzzle Flash",
L"Bipod Modifier",
L"Range Modifier", // 5
L"To-Hit Modifier",
L"Best Laser Range",
L"Модификатор надёжности", //Reliability Modifier
L"Модификатор шумности\n(чем меньше, тем лучше)", //Loudness Modifier (Lower is better)
L"Скрывает вспышку", //Hides Muzzle Flash
L"Модификатор сошек", //Bipod Modifier
L"Модификатор дальнобойности", // 5 //Range Modifier
L"Модификатор точности", //To-Hit Modifier
L"Радиус наилучшей видимости\nточки прицеливания", //Best Laser Range
L"Aiming Bonus Modifier",
L"Burst Size Modifier",
L"Burst Penalty Modifier (Higher is better)", // 10
@@ -1263,23 +1263,23 @@ STR16 gzMiscItemStatsFasthelp[ 34 ] =
L"AP to Auto-Fire Modifier (Lower is better)",
L"AP to Ready Modifier (Lower is better)", // 15
L"AP to Reload Modifier (Lower is better)",
L"Magazine Size Modifier",
L"Модификатор объёма магазина", //Magazine Size Modifier
L"AP to Attack Modifier (Lower is better)",
L"Damage Modifier",
L"Модификатор урона", //Damage Modifier
L"Melee Damage Modifier", // 20
L"Камуфляж (Лес)",
L"Камуфляж (Город)",
L"Камуфляж (Пустыня)",
L"Камуфляж (Снег)",
L"Stealth Modifier", // 25
L"Hearing Range Modifier",
L"Vision Range Modifier",
L"Day Vision Range Modifier",
L"Night Vision Range Modifier",
L"Bright Light Vision Range Modifier", //30
L"Cave Vision Range Modifier",
L"Tunnel Vision Percentage (Lower is better)",
L"Minimum Range for Aiming Bonus",
L"Камуфляж 'Лес'",
L"Камуфляж 'Город'",
L"Камуфляж 'Пустыня'",
L"Камуфляж 'Снег'",
L"Модификатор скрытности", // 25
L"Модификатор диапазона\nслышимости",
L"Модификатор диапазона\nвидимости",
L"Модификатор диапазона\nвидимости днём",
L"Модификатор диапазона\nвидимости ночью",
L"Модификатор диапазона\nвидимости при ярком освещении", //30
L"Модификатор диапазона\nвидимости в пещере",
L"Процент видимости в тоннеле\n(чем меньше, тем лучше)", //Tunnel Vision Percentage (Lower is better)
L"Минимальная эффективная\nдальность оптики", //Minimum Range for Aiming Bonus
};
// HEADROCK: End new tooltip text
@@ -3683,7 +3683,7 @@ STR16 zOptionsToggleText[] =
L"Àâòîñîõðàíåíèå êàæäûé õîä",
L"Ìîë÷àëèâûé ïèëîò âåðòîë¸òà",
L"Íèçêàÿ çàãðóçêà ïðîöåññîðà",
L"Расширенное описание предметов", //Enhanced Description Box
L"Подробное описание предметов", //Enhanced Description Box
};
//This is the help text associated with the above toggles.
@@ -3729,7 +3729,7 @@ STR16 zOptionsScreenHelpText[] =
L"Åñëè âêëþ÷åíî, òî èñïîëüçóåòñÿ ìåòðè÷åñêàÿ ñèñòåìà ìåð,\nèíà÷å áóäåò áðèòàíñêàÿ.",
//Merc Lighted movement
L"При ходьбе карта подсвечивается вокруг бойца (|G).\nВыключите опцию для повышения производительности системы.",
L"При ходьбе карта подсвечивается вокруг бойца (|G).\nОтключите эту настройку для повышения производительности системы.",
//Smart cursor
L"Åñëè âêëþ÷åíî, òî ïåðåìåùåíèå êóðñîðà âîçëå íàåìíèêà\nàâòîìàòè÷åñêè âûáèðàåò åãî.",
@@ -3764,7 +3764,7 @@ STR16 zOptionsScreenHelpText[] =
L"Åñëè âêëþ÷åíî, èãðà áóäåò àâòîìàòè÷åñêè ñîõðàíÿòüñÿ\nïîñëå êàæäîãî õîäà èãðîêà.",
L"Åñëè âêëþ÷åíî, Íåáåñíûé Âñàäíèê\níå áóäåò âàñ ðàçäðàæàòü áîëòëèâîñòüþ.",
L"Åñëè âêëþ÷åíî, èãðà áóäåò èñïîëüçîâàòü\nìåíüøå ïðîöåññîðíîãî âðåìåíè.",
L"Если включено, будет задействовано\nрасширенное описание предметов.", //EDB description
L"Если включено, будет задействовано\nподробное описание предметов.", //EDB description
};
@@ -3910,7 +3910,7 @@ STR16 pMessageStrings[] =
L"Ýòà ÿ÷åéêà çàðåçåðâèðîâàíà äëÿ Áûñòðîãî Ñîõðàíåíèÿ, êîòîðîå ìîæíî ïðîâåñòè ñ òàêòè÷åñêîé êàðòû èëè ñ ãëîáàëüíîé êàðòû, íàæàâ êëàâèøè ALT+S.",
L"Îòêðûòàÿ",
L"Çàêðûòàÿ",
L"У вас заканчивается свободное дисковое пространство. На диске есть всего %sMб свободного места, а для Jagged Alliance 2 v1.13 требуется %sMб.",
L"У вас заканчивается свободное дисковое пространство. На диске есть всего %sMб свободного места, а для Jagged Alliance 2 требуется %sMб.",
L"Èç A.I.M. íàíÿò áîåö %s.",
L"%s ëîâèò %s.", //'Merc name' has caught 'item' -- let SirTech know if name comes after item.
L"%s ïðèíèìàåò ïðåïàðàò.", //'Merc name' has taken the drug
@@ -4539,7 +4539,7 @@ STR16 MPClientMessage[] =
STR16 MPHelp[] =
{
// 0
L"Запущена сетевая игра Jagged Alliance 2 v1.13",
L"Запущена сетевая игра Jagged Alliance 2",
L"Íàæìèòå F1 äëÿ ïðîñìîòðà ïîìîùè.",
L"Óïðàâëåíèå ñåòåâîé èãðîé (íà ñòðàòåãè÷åñêîì ýêðàíå)",
L"* Ñïåðâà óñòàíîâèòå íàñòðîéêè â ôàéëå ja2_mp.ini *",
+2 -2
View File
@@ -66,7 +66,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib .\Multiplayer\raknet\RakNetLibStaticDebug.lib ws2_32.lib"
OutputFile="$(OutDir)\ja2_debug_2389_en.exe"
OutputFile="$(OutDir)\ja2_debug_2417_en.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
@@ -145,7 +145,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib .\Multiplayer\raknet\RakNetLibStatic.lib ws2_32.lib"
OutputFile="$(OutDir)\ja2_release_2415_en.exe"
OutputFile="$(OutDir)\ja2_release_2417_en.exe"
LinkIncremental="1"
GenerateDebugInformation="true"
GenerateMapFile="true"