From 755e811293bfc6e72b41bee45369251f6b5dc0a8 Mon Sep 17 00:00:00 2001 From: Wanne Date: Thu, 5 Oct 2006 09:58:01 +0000 Subject: [PATCH] - bugfix: Average column in laptop->profiles was not correct calculated - feature: Moved Auto save to option screen - feature: German.Items.xml can now use "Umlaute". It is now correct displayed in the game git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@592 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 6 +- JA2.suo | Bin 197632 -> 197632 bytes JA2.vcproj | 4 +- Language Defines.h | 4 +- Laptop/email.cpp | 20 +-- Laptop/personnel.cpp | 132 +++++++------- Tactical/XML_AmmoStrings.cpp | 12 -- Utils/Text Utils.cpp | 328 ++++++++++++++++++++++++----------- Utils/Utilities.cpp | 128 +++++++------- Utils/Utilities.h | 4 +- Utils/XML_Items.cpp | 11 +- Utils/_ItalianText.cpp | 2 - jascreens.cpp | 2 - 13 files changed, 373 insertions(+), 280 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index b58dfec71..ae454f23d 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -13,7 +13,7 @@ #ifdef JA2BETAVERSION //BETA/TEST BUILD VERSION -INT16 zVersionLabel[256] = { L"Map Editor v1.13.590" }; +INT16 zVersionLabel[256] = { L"Map Editor v1.13.579" }; #elif defined CRIPPLED_VERSION @@ -23,12 +23,12 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.590" }; + INT16 zVersionLabel[256] = { L"Release v1.13.592" }; #endif -INT8 czVersionNumber[16] = { "Build 06.10.04" }; +INT8 czVersionNumber[16] = { "Build 06.10.05" }; INT16 zTrackingNumber[16] = { L"Z" }; diff --git a/JA2.suo b/JA2.suo index 43805c9b4ea2809aaa0418b8dc129ff017db71dc..840fcce2ec600bbd4fe2b8b7c1b93492fd5f4eb6 100644 GIT binary patch delta 3930 zcmdT{ZBSI_6+Y*(unQ~;xXagS;36byQ<)Vu5iK9P1T`2)5l~ZuAIpbIvn~{cWEY|f z6AXwB@%ur&8Lw+!&#cq>zpT_w z&ReuuwJ_9msaYtqN9}1cox{X{04ALhCw2&nQ%fr(KbRpF>V;T8Uutl4gaZ+R)&9zIr z(aIL;XFK`e2wN%kirp~>cl7ZNdU&)4HbM>68gYc0jrcPCu?@>&Sgc%+a3zCq6aFn6tiiX^a3hVFP@{_t*pE4M*Mf85 zg`KFRrYA>1b@7La{Agc&&NNkZ&cvn%qgnbCP;m$%djvXzI6&v$WdrVf z6Q7aR)614w^P4?re~R*7#Xalx>J;gMy=({%FSCqE+Q&D*S(#+o7 z!+3RR&RPbKyS2y$HwAZNaB>j6G#kJS+vA`C?5G9j8tL{R9p9pq$!hX{pw{Va>Z`E*c$1 z7fp=e57*pDx`pgrkw~Tj;<|EOeXUyg!dtC`|22lYP|b?(d1!8c_Q@f<`9c#z^D-X< zUX(uryb3R<(8jBHgL_nXflb@RHI>14Gsk3g!Xfd=GB`>T-{Nj6I*S>_*@>sDL(TPU zBMxgX&1|6igZQG>IAdAe$_hId)v3_RfR6F)VdZ|BJ&j&#kDu-+cZF5m9P^IUBuMM z-I#CXxEIHixd7Iqu2ogyyJK-ZFLW`!0!`2e2WjL4Bl^P`Y}p8q2g_tkO01)XrY7*F zgsw5wka%dD482YFTG{ch?8jW$qv-P0@jV<=yLBd7`8<5wgt`=cc@!~_3v#l38`1V6f)aTNlM2uYXicRL)x1qo=9*sxl#DWf?QRZX8TBbZmx5wCG8HvTq zSlmz9gV^$L#{9%0TlE!Y$E=X;Jpev^n;aERA@DN#g2cLVW1@X48|ygJWCxQ=jK?J7 zgW^ZgU9%_FQ?)`Mv>U~3`=L{SdC7bp({q+0dMs(8>!Gx;vPL|xO=lVfCotW#G(1di z$pP?GVi3QGMw;a94Bsb=^XTzQEleyn6%|WuVYElYrN|fHBlYVsOjV1XNHl$~9-)`# zJtD%k+$Hp}i`^MdZzpC^V-?zkcfJ*cj;<`kshF*xi5EM_$mN`t!yNpE%4pL?`$AI8%`P!poAwFa(u6YX!f{7oUyr zJeM8(ETIr&m3(j3@i_P`_jbMIId0v;NXzMqUt-CMZX%K5rX)}%qx?VgK(~0O`iQr$ zi?>$z)F7((FuhtIKZJ_TrB{0G~zrmD7O#d7(78lRkR za_E+S4$gaj62@Xpak@gmGS2;#H2fa=2yNIP$LBNrkHv%ZOTPOgt$mF~r#L-4bQwQO z|G(SD06uMvH`&UYNF_&i*}S-Jz-LSo&;o z^p{kAKZF764d)a+dydVCUghk$y;`AKKf3AAdHj&N1K6)egF+>S28-ijww4wGn0tB} JKbltR{{!i7b5H;P delta 3186 zcmcgue{57$7QWx>bUM?{OsAb`J8c1{7ExAgN?X?grJZgo2qMVZZ6u1=0xOkTYJVxU zr7gRL3S?9AbPh)2%DTJRtczC1Fl4uj)gZ2;LRGVs2E$Si4=UjE}zDUfmJ;|tp+3nh4WHv=Exg1DORsdD_ z*a?T3;mJup$hXye^O+&fcH48=N|^&@mQSf92WKAUz9k$j`I%?4%uAkn|3wcax2sL$ z(V@1Hk5U&So6?7Db{naGX*VzVc3{Zd?(aiutKV5} zo;{j}skdy|*@<~(=$$T3ALjH8X4}bfbH`nJ6(k2CA-Reu6-mMWB{R)j`~%D%D2S$po4*S|t0t zSTEk$2t+#^_$UJpMAzow{B`h0s}~~|$kL-5vZVqpG4k;-o#mHR6__Q5V{l=vU?Dz_ z_E+M!sZcWDfGPV|pbZP;j0YE^<11k}YuZ)!^qx}(QL5a{TSH=FxxzWLu< zL;6xM5Z;Y|kJ+a$yM6|j+?o1f#hs~={}c|(C;5!^LtV%{RFAybxL4rE3ON^nH(jYG zCp4_FMjF=P{H^z@yVNSRK~*ytk1#m#rJ zLRC&q)^q&jvdr^G4t^}df?{;aTQ*clRWBTJcPBFSeG79NrF!YWTIPA9>NI2X2h4vL z7DZZ$PbEpF17+bS@H2D#Xwart3f7@A5-JNJPu>D$u4G+EAH)@`}FmubCi z58OVMq#56d`^5@zN54FPwUCj&Ak8tjWKy=Zhq3||xWv^wyh?HDty$Y3$NzvQELHcE zs(YowD7%IJ8Xl@-i35={XWhuvh59wx$C)P3wPN#wa*4Q z*o$-@%YWi#mO}a(D=2ML+N{H(tvCDFC=ypknWB%v$M%spBh1J#saVGR1Vx|EU|Qx7pY>kFwvkTq`}ezgJ-j8@QqWLFvzc;jJ@$)!?Wi+@*J{vQt zXBZ|=2nRkecFnN!2I7tJYtmR~##mCBDwA_#M$L>VCq?QuatqCHli>hQs}HK*o?qI- z=^88TH>$0?nfl*awbj7x;6>1lO!xSEC~vm@&*@vN>z;1VTLfwJ&FG&E2LhVO(z{By zUm5+rjAnC)AIZEt{Vw*qfj#7Ewpt00h!ef@xTjkNyBPfIfw-_OkoD}l(=CzSL;-n5AJudj(B(Kz( oCMj>9Kt=S_2#O|%S!_!gyW;4Xleir^{5`u;M-fdOHNL3%2B*af82|tP diff --git a/JA2.vcproj b/JA2.vcproj index 25a035d4f..23db1d90d 100644 --- a/JA2.vcproj +++ b/JA2.vcproj @@ -43,7 +43,7 @@ "); + wcscpy(pString, L"Dach-Treffer Bonus: "); #else wcscpy(pString, L"Rooftop Sniping: "); #endif - // add to list - AddEmailRecordToList( pString ); + // add to list + AddEmailRecordToList( pString ); } // camouflage if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == CAMOUFLAGED )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == CAMOUFLAGED ) ) { // WANNE: No entry in the Impass.edt for camouflage, so add any static text here - // read one record from email file - //LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_CAMOUFLAGED ), MAIL_STRING_SIZE ); + // read one record from email file + //LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_CAMOUFLAGED ), MAIL_STRING_SIZE ); #ifdef GERMAN - wcscpy(pString, L"Getarnt: "); + wcscpy(pString, L"Getarnt: "); #else wcscpy(pString, L"Camouflage: "); #endif - // add to list - AddEmailRecordToList( pString ); + // add to list + AddEmailRecordToList( pString ); } // now the physical diff --git a/Laptop/personnel.cpp b/Laptop/personnel.cpp index b498915c8..a6898bb4f 100644 --- a/Laptop/personnel.cpp +++ b/Laptop/personnel.cpp @@ -3751,80 +3751,80 @@ INT32 GetAvgStatOfCurrentTeamStat( INT32 iStat ) // Only count stats of merc (not vehicles) if ( !( pTeamSoldier->uiStatusFlags & SOLDIER_VEHICLE ) ) { - if(( pTeamSoldier->bActive)&&( pTeamSoldier->bLife > 0 ) && !AM_A_ROBOT( pTeamSoldier ) ) - { - switch( iStat ) - { - case 0: - // health + if(( pTeamSoldier->bActive)&&( pTeamSoldier->bLife > 0 ) && !AM_A_ROBOT( pTeamSoldier ) ) + { + switch( iStat ) + { + case 0: + // health - //if this is a pow, dont count his stats - if( pTeamSoldier->bAssignment == ASSIGNMENT_POW ) - { - bNumberOfPows++; - continue; - } + //if this is a pow, dont count his stats + if( pTeamSoldier->bAssignment == ASSIGNMENT_POW ) + { + bNumberOfPows++; + continue; + } - iTotalStatValue += pTeamSoldier -> bLifeMax; - - break; - case 1: - // agility - iTotalStatValue +=pTeamSoldier -> bAgility; + iTotalStatValue += pTeamSoldier -> bLifeMax; + + break; + case 1: + // agility + iTotalStatValue +=pTeamSoldier -> bAgility; - break; - case 2: - // dexterity - iTotalStatValue += pTeamSoldier -> bDexterity; - - break; - case 3: - // strength - iTotalStatValue += pTeamSoldier -> bStrength; + break; + case 2: + // dexterity + iTotalStatValue += pTeamSoldier -> bDexterity; break; - case 4: - // leadership - iTotalStatValue += pTeamSoldier -> bLeadership; + case 3: + // strength + iTotalStatValue += pTeamSoldier -> bStrength; - break; - case 5: - // wisdom - - iTotalStatValue += pTeamSoldier -> bWisdom; - break; - case 6: - // exper - - iTotalStatValue += pTeamSoldier -> bExpLevel; + break; + case 4: + // leadership + iTotalStatValue += pTeamSoldier -> bLeadership; - break; - case 7: - //mrkmanship - - iTotalStatValue += pTeamSoldier -> bMarksmanship; - - break; - case 8: - // mech - - iTotalStatValue += pTeamSoldier -> bMechanical; - break; - case 9: - // exp - - iTotalStatValue += pTeamSoldier ->bExplosive; - break; - case 10: - // med - - iTotalStatValue += pTeamSoldier -> bMedical; - break; - } + break; + case 5: + // wisdom + + iTotalStatValue += pTeamSoldier -> bWisdom; + break; + case 6: + // exper + + iTotalStatValue += pTeamSoldier -> bExpLevel; - ubNumberOfMercsInCalculation++; - } - } + break; + case 7: + //mrkmanship + + iTotalStatValue += pTeamSoldier -> bMarksmanship; + + break; + case 8: + // mech + + iTotalStatValue += pTeamSoldier -> bMechanical; + break; + case 9: + // exp + + iTotalStatValue += pTeamSoldier ->bExplosive; + break; + case 10: + // med + + iTotalStatValue += pTeamSoldier -> bMedical; + break; + } + + ubNumberOfMercsInCalculation++; + } + } } diff --git a/Tactical/XML_AmmoStrings.cpp b/Tactical/XML_AmmoStrings.cpp index 291db791f..9f40e9136 100644 --- a/Tactical/XML_AmmoStrings.cpp +++ b/Tactical/XML_AmmoStrings.cpp @@ -130,13 +130,7 @@ ammoEndElementHandle(void *userData, const char *name) { for(int i=0;iszCharData),MAX_CHAR_DATA_LENGTH);i++) { - // WANNE: TODO with ReplaceGermanSpecificCharacters() Method - #ifdef GERMAN temp = pData->szCharData[i]; - #else - temp = pData->szCharData[i]; - #endif - AmmoCaliber[pData->curIndex][i] = temp; } } @@ -149,13 +143,7 @@ ammoEndElementHandle(void *userData, const char *name) { for(int i=0;iszCharData),MAX_CHAR_DATA_LENGTH);i++) { - // WANNE: TODO with ReplaceGermanSpecificCharacters() Method - #ifdef GERMAN temp = pData->szCharData[i]; - #else - temp = pData->szCharData[i]; - #endif - BobbyRayAmmoCaliber[pData->curIndex][i] = temp; } } diff --git a/Utils/Text Utils.cpp b/Utils/Text Utils.cpp index 394d93a60..0b037ef69 100644 --- a/Utils/Text Utils.cpp +++ b/Utils/Text Utils.cpp @@ -8,32 +8,62 @@ BOOLEAN LoadItemInfo(UINT16 ubIndex, STR16 pNameString, STR16 pInfoString ) { + int j = 0; + if (pNameString != NULL) { + j = -1; for (int i=0;i<80;i++) { - if ( i<(int)strlen(Item[ubIndex].szLongItemName )) + j++; + if ( j<(int)strlen(Item[ubIndex].szLongItemName )) { - pNameString[i] = Item[ubIndex].szLongItemName [i]; + pNameString[i] = Item[ubIndex].szLongItemName [j]; - // WANNE: German specific characters #ifdef GERMAN - switch( pNameString[ i ] ) + // We have a german special character + if (Item[ubIndex].szLongItemName [j] == -61) { - // ü - 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; + // This character determines the special character + switch (Item[ubIndex].szLongItemName [j + 1]) + { + // ü + case -68: + pNameString[i] = 252; + // Skip next character, because "umlaute" have 2 chars + j++; + break; + // Ü + case -100: + pNameString[i] = 220; + j++; + 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 @@ -72,36 +102,63 @@ BOOLEAN LoadItemInfo(UINT16 ubIndex, STR16 pNameString, STR16 pInfoString ) if(pInfoString != NULL) { - // WANNE: CHANGE THIS + j = -1; for (int i=0;i<400;i++) { - if ( i<(int)strlen(Item[ubIndex].szItemDesc )) + j++; + if ( j<(int)strlen(Item[ubIndex].szItemDesc )) { - pInfoString[i] = Item[ubIndex].szItemDesc [i]; + pInfoString[i] = Item[ubIndex].szItemDesc [j]; - // WANNE: German specific characters #ifdef GERMAN - switch( pInfoString[ i ] ) + // We have a german special character + if (Item[ubIndex].szItemDesc [j] == -61) { - // ü - 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; + // This character determines the special character + switch (Item[ubIndex].szItemDesc [j + 1]) + { + // ü + case -68: + pInfoString[i] = 252; + // Skip next character, because "umlaute" have 2 chars + j++; + break; + // Ü + case -100: + pInfoString[i] = 220; + j++; + break; + // ä + case -92: + pInfoString[i] = 228; + j++; + break; + // Ä + case -124: + pInfoString[i] = 196; + j++; + break; + // ö + case -74: + pInfoString[i] = 246; + j++; + break; + // Ö + case -106: + pInfoString[i] = 214; + j++; + break; + // ß + case -97: + pInfoString[i] = 223; + j++; + break; + } } #endif - #ifdef POLISH - switch( pNameString[ i ] ) + #ifdef POLISH + switch( pNameString[ i ] ) { case 260: pInfoString[ i ] = 165; break; case 262: pInfoString[ i ] = 198; break; @@ -124,8 +181,8 @@ 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'; @@ -140,30 +197,59 @@ BOOLEAN LoadBRName(UINT16 ubIndex, STR16 pNameString ) { if (pNameString != NULL) { + int j = -1; + for (int i=0;i<80;i++) { - if ( i<(int)strlen(Item[ubIndex].szBRName)) + j++; + if ( j<(int)strlen(Item[ubIndex].szBRName)) { - pNameString[i] = Item[ubIndex].szBRName [i]; + pNameString[i] = Item[ubIndex].szBRName [j]; - // WANNE: German specific characters #ifdef GERMAN - switch( pNameString[ i ] ) + // We have a german special character + if (Item[ubIndex].szBRName [j] == -61) { - // ü - 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; + // This character determines the special character + switch (Item[ubIndex].szBRName [j + 1]) + { + // ü + case -68: + pNameString[i] = 252; + // Skip next character, because "umlaute" have 2 chars + j++; + break; + // Ü + case -100: + pNameString[i] = 220; + j++; + 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 @@ -193,10 +279,10 @@ BOOLEAN LoadBRName(UINT16 ubIndex, STR16 pNameString ) } #endif } - else + else { - pNameString[i] ='\0'; - } + pNameString[i] ='\0'; + } } } return TRUE; @@ -206,30 +292,60 @@ BOOLEAN LoadBRDesc(UINT16 ubIndex, STR16 pDescString ) { if (pDescString != NULL) { + int j = -1; + for (int i=0;i<400;i++) { - if ( i<(int)strlen(Item[ubIndex].szBRDesc)) + j++; + if ( j<(int)strlen(Item[ubIndex].szBRDesc)) { - pDescString[i] = Item[ubIndex].szBRDesc [i]; + pDescString[i] = Item[ubIndex].szBRDesc [j]; // WANNE: German specific characters #ifdef GERMAN - switch( pDescString[ i ] ) + // We have a german special character + if (Item[ubIndex].szBRDesc [j] == -61) { - // ü - 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; + // This character determines the special character + switch (Item[ubIndex].szBRDesc [j + 1]) + { + // ü + case -68: + pDescString[i] = 252; + // Skip next character, because "umlaute" have 2 chars + j++; + break; + // Ü + case -100: + pDescString[i] = 220; + j++; + break; + // ä + case -92: + pDescString[i] = 228; + j++; + break; + // Ä + case -124: + pDescString[i] = 196; + j++; + break; + // ö + case -74: + pDescString[i] = 246; + j++; + break; + // Ö + case -106: + pDescString[i] = 214; + j++; + break; + // ß + case -97: + pDescString[i] = 223; + j++; + break; + } } #endif @@ -274,11 +390,11 @@ BOOLEAN LoadShortNameItemInfo(UINT16 ubIndex, STR16 pNameString ) if(pNameString != NULL) { // WANNE: - for (int i=0;i<80;i++) - { - if ( i<(int)strlen(Item[ubIndex].szItemName)) + for (int i=0;i<80;i++) + { + if ( i<(int)strlen(Item[ubIndex].szItemName)) { - pNameString[i] = Item[ubIndex].szItemName [i]; + pNameString[i] = Item[ubIndex].szItemName [i]; // WANNE: German specific characters #ifdef GERMAN @@ -301,32 +417,32 @@ BOOLEAN LoadShortNameItemInfo(UINT16 ubIndex, STR16 pNameString ) } #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; + #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 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 + 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'; diff --git a/Utils/Utilities.cpp b/Utils/Utilities.cpp index df0a9a3c1..4c74cb0a6 100644 --- a/Utils/Utilities.cpp +++ b/Utils/Utilities.cpp @@ -29,72 +29,72 @@ BOOLEAN PerformTimeLimitedCheck(); * 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; -} +//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; -} +//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; +//} diff --git a/Utils/Utilities.h b/Utils/Utilities.h index 8146eb791..02fbff7c0 100644 --- a/Utils/Utilities.h +++ b/Utils/Utilities.h @@ -27,8 +27,10 @@ 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); +// WANNE: Not used! +//char *ReplaceGermanSpecialCharacters(char *text); // Snap: integer division that rounds the result to the nearest integer diff --git a/Utils/XML_Items.cpp b/Utils/XML_Items.cpp index 63e32844a..532505641 100644 --- a/Utils/XML_Items.cpp +++ b/Utils/XML_Items.cpp @@ -261,20 +261,11 @@ 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 } } } @@ -1011,7 +1002,7 @@ BOOLEAN ReadInItemStats(STR fileName, BOOLEAN localizedVersion ) itemParseData pData; localizedTextOnly = localizedVersion; - + DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading Items.xml" ); // Open items file diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 8fdd6495e..9544d7633 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -3443,7 +3443,6 @@ 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. @@ -3520,7 +3519,6 @@ 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.", }; diff --git a/jascreens.cpp b/jascreens.cpp index e90acbee1..9400ac81a 100644 --- a/jascreens.cpp +++ b/jascreens.cpp @@ -265,11 +265,9 @@ UINT32 ErrorScreenHandle(void) { InputAtom InputEvent; static BOOLEAN fFirstTime = FALSE; -/* #ifdef JA2BETAVERSION UINT16 str[256]; #endif -*/ // For quick setting of new video stuff / to be changed StartFrameBufferRender( );