diff --git a/Editor/EditorItems.cpp b/Editor/EditorItems.cpp index 2141c26e..3cda9787 100644 --- a/Editor/EditorItems.cpp +++ b/Editor/EditorItems.cpp @@ -689,7 +689,11 @@ void RenderEditorItemsInfo() // item index no mprintf( x + 12, y + 18, L"%d", eInfo.pusItemIndex[ i ] ); - + + // index no within usItemClass + SetFontForeground( FONT_LTBLUE ); + mprintf( x + 40, y + 18, L"%d", i ); + // numbers of each visible item usNumItems = CountNumberOfEditorPlacementsInWorld( i, &usQuantity ); diff --git a/Editor/selectwin.cpp b/Editor/selectwin.cpp index 5cc1bb3e..d29f540e 100644 --- a/Editor/selectwin.cpp +++ b/Editor/selectwin.cpp @@ -169,7 +169,7 @@ INT16 iTopWinCutOff,iBotWinCutOff; DisplayList Selection; UINT16 SelWinFillColor = 0x0000; // Black -UINT16 SelWinHilightFillColor = 0x000d; // a kind of medium dark blue +UINT16 SelWinHilightFillColor = 0x23BA; //blue, formerly 0x000d a kind of medium dark blue (not contrasty) //---------------------------------------------------------------------------------------------- // CreateJA2SelectionWindow @@ -1653,6 +1653,7 @@ BOOLEAN DisplayWindowFunc( DisplayList *pNode, INT16 iTopCutOff, INT16 iBottomCu if ( sCount != 0) { + SetFontShade(LARGEFONT1, FONT_SHADE_WHITE); gprintf( pNode->iX, iCurrY, L"%d", sCount ); } diff --git a/GameSettings.cpp b/GameSettings.cpp index 430a2abe..62b7a8a7 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -2368,6 +2368,14 @@ void LoadModSettings(){ gModSettings.ubOmertaDropOffY = iniReader.ReadInteger("Gear Dropoff", "OMERTA_DROPOFF_Y", 1); gModSettings.ubOmertaDropOffZ = iniReader.ReadInteger("Gear Dropoff", "OMERTA_DROPOFF_Z", 0); gModSettings.iOmertaDropOff = iniReader.ReadInteger("Gear Dropoff", "OMERTA_DROPOFF_GRIDNO", 4868); + gModSettings.iBobbyRDropOff = iniReader.ReadInteger("Gear Dropoff", "BOBBYR_DROPOFF_GRIDNO", 10433); + + gModSettings.ubBobbyRShipDestSectorX = iniReader.ReadInteger("Bobby Ray", "BOBBYR_SHIPPING_DEST_SECTOR_X", 13); + gModSettings.ubBobbyRShipDestSectorY = iniReader.ReadInteger("Bobby Ray", "BOBBYR_SHIPPING_DEST_SECTOR_Y", 2); + gModSettings.ubBobbyRShipDestSectorZ = iniReader.ReadInteger("Bobby Ray", "BOBBYR_SHIPPING_DEST_SECTOR_Z", 0); + gModSettings.iBobbyRShipDestGridNo = iniReader.ReadInteger("Bobby Ray", "BOBBYR_SHIPPING_DEST_GRIDNO", 10122); + gModSettings.iPablosStolenDestGridNo = iniReader.ReadInteger("Bobby Ray", "PABLOS_STOLEN_DEST_GRIDNO", 1); + gModSettings.iLostShipmentGridNo = iniReader.ReadInteger("Bobby Ray", "LOST_SHIPMENT_GRIDNO", 2); //[Omerta] diff --git a/Language Defines.h b/Language Defines.h index d4b2e8e7..66660a6c 100644 --- a/Language Defines.h +++ b/Language Defines.h @@ -74,8 +74,8 @@ 1. Enable the "#undef ENGLISH" define below, so English will not be used anymore 2. Set the desired language below 3. If you want to build "Unfinished Business" version, enable "#define JA2UB" and "#define JA2UBMAPS" in builddefines.h" - 4. Build the executable in VS 2010 - 5. The output will be placed in the "Build\bin\VS2010" folder + 4. Build the executable in VS 2005 / 2008 / 2010 + 5. The output will be placed in the "Build\bin\" folder */ // Only enable this "undef", if you use the 3. way of building the executable! @@ -93,9 +93,8 @@ //#define TAIWANESE //#define POLISH -// WANNE: For CHINESE language we also have to define WINFONTS! So when building Chinese version, enable both defines. +// INFO: For Chinese 1.13 version, you also have to set USE_WINFONTS = 1 in ja2.ini inside your JA2 installation directory! //#define CHINESE -//#define WINFONTS #endif diff --git a/Strategic/Quests.h b/Strategic/Quests.h index 039b270d..f86fd3cf 100644 --- a/Strategic/Quests.h +++ b/Strategic/Quests.h @@ -561,12 +561,12 @@ enum Facts } ; //** END FACTS ************************* -#define BOBBYR_SHIPPING_DEST_SECTOR_X 13 -#define BOBBYR_SHIPPING_DEST_SECTOR_Y 2 -#define BOBBYR_SHIPPING_DEST_SECTOR_Z 0 -#define BOBBYR_SHIPPING_DEST_GRIDNO 10112 -#define PABLOS_STOLEN_DEST_GRIDNO 1 -#define LOST_SHIPMENT_GRIDNO 2 +#define BOBBYR_SHIPPING_DEST_SECTOR_X gModSettings.ubBobbyRShipDestSectorX //13 +#define BOBBYR_SHIPPING_DEST_SECTOR_Y gModSettings.ubBobbyRShipDestSectorY //2 +#define BOBBYR_SHIPPING_DEST_SECTOR_Z gModSettings.ubBobbyRShipDestSectorZ //0 +#define BOBBYR_SHIPPING_DEST_GRIDNO gModSettings.iBobbyRShipDestGridNo //10112 +#define PABLOS_STOLEN_DEST_GRIDNO gModSettings.iPablosStolenDestGridNo //1 +#define LOST_SHIPMENT_GRIDNO gModSettings.iLostShipmentGridNo //2 // omerta positions #define OMERTA_LEAVE_EQUIP_SECTOR_X gModSettings.ubOmertaDropOffX //9 diff --git a/Strategic/strategicmap.cpp b/Strategic/strategicmap.cpp index 3fc69833..6a2d9ee2 100644 --- a/Strategic/strategicmap.cpp +++ b/Strategic/strategicmap.cpp @@ -3043,6 +3043,7 @@ void UpdateMercsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ ) SOLDIERTYPE *pSoldier; BOOLEAN fPOWSquadSet = FALSE; UINT8 ubPOWSquad=0; + CHAR16 zTemp[256]; // Remove from interface slot RemoveAllPlayersFromSlot( ); @@ -3116,7 +3117,8 @@ void UpdateMercsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ ) // ATE: If we are in i13 - pop up message! if ( sSectorX == gModSettings.ubInitialPOWSectorX && sSectorY == gModSettings.ubInitialPOWSectorY ) //(13, 9) { - DoMessageBox( MSG_BOX_BASIC_STYLE, TacticalStr[ POW_MERCS_ARE_HERE ], GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_OK, NULL, NULL ); + swprintf( zTemp, TacticalStr[ POW_MERCS_ARE_HERE ], gMercProfiles[ QUEEN ].zNickname ); + DoMessageBox( MSG_BOX_BASIC_STYLE, zTemp, GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_OK, NULL, NULL ); } else { diff --git a/Tactical/Handle UI.cpp b/Tactical/Handle UI.cpp index 5caacc6c..4b7bfece 100644 --- a/Tactical/Handle UI.cpp +++ b/Tactical/Handle UI.cpp @@ -6112,7 +6112,10 @@ BOOLEAN HandleTalkInit( ) { if ( pTSoldier->ubProfile != NO_PROFILE ) { - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_LOS_TO_TALK_TARGET ], pSoldier->GetName(), pTSoldier->GetName() ); + if (zHiddenNames[pTSoldier->ubProfile].Hidden == TRUE) + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, gzLateLocalizedString[ 45 ], pSoldier->GetName() ); + else + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_LOS_TO_TALK_TARGET ], pSoldier->GetName(), pTSoldier->GetName() ); } else { diff --git a/Tactical/Interface Dialogue.cpp b/Tactical/Interface Dialogue.cpp index 4d0998ca..8156c6ce 100644 --- a/Tactical/Interface Dialogue.cpp +++ b/Tactical/Interface Dialogue.cpp @@ -4663,11 +4663,11 @@ void StartDialogueMessageBox( UINT8 ubProfileID, UINT16 usMessageBoxType ) DoMessageBox( MSG_BOX_BASIC_STYLE, zTemp, GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_YESNO, DialogueMessageBoxCallBack, NULL ); break; case NPC_ACTION_TRIGGER_MARRY_DARYL_PROMPT: - swprintf( zTemp, TacticalStr[ MARRY_DARYL_PROMPT ] ); + swprintf( zTemp, TacticalStr[ MARRY_DARYL_PROMPT ], gMercProfiles[ubProfileID].zNickname ); DoMessageBox( MSG_BOX_BASIC_STYLE, zTemp, GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_YESNO, DialogueMessageBoxCallBack, NULL ); break; case NPC_ACTION_KROTT_REQUESTOR: - swprintf( zTemp, TacticalStr[ SPARE_KROTT_PROMPT ] ); + swprintf( zTemp, TacticalStr[ SPARE_KROTT_PROMPT ], gMercProfiles[ubProfileID].zNickname ); DoMessageBox( MSG_BOX_BASIC_STYLE, zTemp, GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_YESNO, DialogueMessageBoxCallBack, NULL ); break; default: diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index 33aa54a7..7989e946 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -2905,16 +2905,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"你同意支付%s吗?", L"你要接受免费治疗吗?", - L"你同意让佣兵和Daryl结婚吗?", + L"你同意让佣兵和%s结婚吗?", //Daryl L"钥匙面板", L"你不能这样用EPC。", - L"不杀Krott?", + L"不杀%s?", //Krott L"超出武器的有效射程。", L"矿工", L"车辆只能在分区间旅行", L"现在不能自动包扎", L"%s被堵住了", - L"被Deidranna的军队俘虏的佣兵,被关押在这里!", + L"被%s的军队俘虏的佣兵,被关押在这里!", //Deidranna L"锁被击中了", L"锁被破坏了", L"其他人在使用这扇门。", diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 26436380..cd39ac26 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -2903,16 +2903,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Ben je het eens met %s?", // L"Do you agree to pay %s?", L"Wil je kostenloze medische hulp?", // L"Accept free medical treatment?", - L"Wil je trouwen met Daryl?", // L"Agree to marry Daryl?", + L"Wil je trouwen met %s?", // L"Agree to marry %s?", Daryl L"Slot Ring Paneel", // L"Key Ring Panel", L"Dat kan niet met een EPC.", // L"You cannot do that with an EPC.", - L"Krott sparen?", // L"Spare Krott?", + L"%s sparen?", // L"Spare Krott?", Krott L"Buiten wapenbereik", // L"Out of weapon range", L"Mijnwerker", // L"Miner", L"Voertuig kan alleen tussen sectors reizen", // L"Vehicle can only travel between sectors", L"Nu geen Auto-EHBO mogelijk", // L"Can't autobandage right now", L"Pad Geblokkeerd voor %s", // L"Path Blocked for %s", - L"Je huurlingen, gevangen door Deidranna's leger, zitten hier opgesloten!", + L"Je huurlingen, gevangen door %s's leger, zitten hier opgesloten!", //Deidranna L"Slot geraakt", // L"Lock hit", L"Slot vernielt", // L"Lock destroyed", L"Iemand anders probeert deze deur te gebruiken.", // L"Somebody else is trying to use this door.", diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 140a4278..e4cafc85 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -2905,16 +2905,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Do you agree to pay %s?", L"Accept free medical treatment?", - L"Agree to marry Daryl?", + L"Agree to marry %s?", //Daryl L"Key Ring Panel", L"You cannot do that with an EPC.", - L"Spare Krott?", + L"Spare %s?", //Krott L"Out of effective weapon range.", L"Miner", L"Vehicle can only travel between sectors", L"Can't autobandage right now", L"Path Blocked for %s", - L"Your mercs, who were captured by Deidranna's army are imprisoned here!", + L"Your mercs, who were captured by %s's army are imprisoned here!", //Deidranna L"Lock hit", L"Lock destroyed", L"Somebody else is trying to use this door.", diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 596b362f..19c5ff8e 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -2908,16 +2908,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Êtes-vous d'accord pour payer %s ?", L"Acceptez-vous le traitement médical gratuit ?", - L"Voulez-vous épouser Daryl ?", + L"Voulez-vous épouser %s ?", //Daryl L"Trousseau de Clés", L"Vous ne pouvez pas faire ça avec ce personnage.", - L"Épargner Krott ?", + L"Épargner %s ?", //Krott L"Hors de portée", L"Mineur", L"Un véhicule ne peut rouler qu'entre des secteurs", L"Impossible d'apposer des bandages maintenant", L"Chemin bloqué pour %s", - L"Vos mercenaires capturés par l'armée de Deidranna sont emprisonnés ici !", + L"Vos mercenaires capturés par l'armée de %s sont emprisonnés ici !", //Deidranna L"Verrou touché", L"Verrou détruit", L"Quelqu'un d'autre veut essayer sur cette porte.", diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index b9c7df65..d9cc1d30 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -2907,16 +2907,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Mit der Zahlung von %s einverstanden?", L"Gratisbehandlung akzeptieren?", - L"Daryl heiraten?", + L"%s heiraten?", //Daryl L"Schlüsselring", L"Das ist mit einem EPC nicht möglich.", - L"Krott verschonen?", + L"%s verschonen?", //Krott L"Außer Reichweite", L"Arbeiter", //People that work in mines to extract precious metals L"Fahrzeug kann nur zwischen Sektoren fahren", L"Automatische Erste Hilfe nicht möglich", L"Weg blockiert für %s", - L"Ihre von Deidrannas Truppe gefangenen Soldaten sind hier inhaftiert", + L"Ihre von %s Truppe gefangenen Soldaten sind hier inhaftiert", //Deidrannas L"Schloss getroffen", L"Schloss zerstört", L"Noch jemand an der Tür.", diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index cbd6f535..6ac33bdc 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -2897,16 +2897,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Sei d'accordo a pagare %s?", L"Accetti il trattamento medico gratuito?", - L"Vuoi sposare Daryl?", + L"Vuoi sposare %s?", //Daryl L"Quadro delle chiavi", L"Non puoi farlo con un EPC.", - L"Risparmi Krott?", + L"Risparmi %s?", //Krott L"Fuori dalla gittata dell'arma", L"Minatore", L"Il veicolo può viaggiare solo tra i settori", L"Non è in grado di fasciarsi da solo ora", L"Sentiero bloccato per %s", - L"I mercenari catturati dall'esercito di Deidranna, sono stati imprigionati qui!", + L"I mercenari catturati dall'esercito di %s, sono stati imprigionati qui!", //Deidranna L"Serratura manomessa", L"Serratura distrutta", L"Qualcun altro sta provando a utilizzare questa porta.", diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 76e0ce02..aab9ac9d 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -2913,16 +2913,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Zgadzasz się zapłacić %s?", L"Zgadzasz się na darmowe leczenie?", - L"Zgadasz się na małżeństwo z Darylem?", + L"Zgadasz się na małżeństwo z %s?", //Darylem L"Kółko na klucze", L"Nie możesz tego zrobić z eskortowaną osobą.", - L"Oszczędzić Krotta?", + L"Oszczędzić %s?", //Krotta L"Poza zasięgiem broni", L"Górnik", L"Pojazdem można podróżować tylko pomiędzy sektorami", L"Teraz nie można automatycznie udzielić pierwszej pomocy", L"Przejście zablokowane dla - %s", - L"Twoi najemnicy, schwytani przez żołnierzy Deidranny, są tutaj uwięzieni!", + L"Twoi najemnicy, schwytani przez żołnierzy %s, są tutaj uwięzieni!", //Deidranny L"Zamek został trafiony", L"Zamek został zniszczony", L"Ktoś inny majstruje przy tych drzwiach.", diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 5f23cbf6..b1fce4df 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -2904,16 +2904,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Вы согласны заплатить %s?", L"Принять бесплатное лечение?", - L"Согласиться выйти замуж за Дэррела?", + L"Согласиться выйти замуж за %s?", //Дэррела L"Связка ключей", L"С эскортируемыми этого сделать нельзя.", - L"Пощадить сержанта?", + L"Пощадить %s?", //сержанта L"За пределами прицельной дальности.", L"Шахтер", L"Машина может ездить только между секторами.", L"Ни у кого из наемников нет аптечки", L"Путь для %s заблокирован", - L"Ваши бойцы, захваченные армией Дейдраны, томятся здесь в плену!", + L"Ваши бойцы, захваченные армией %s, томятся здесь в плену!", //Дейдраны L"Замок поврежден.", L"Замок разрушен.", L"Кто-то с другой стороны пытается открыть эту дверь.", diff --git a/Utils/_TaiwaneseText.cpp b/Utils/_TaiwaneseText.cpp index 72a227ad..9c46d91a 100644 --- a/Utils/_TaiwaneseText.cpp +++ b/Utils/_TaiwaneseText.cpp @@ -2907,16 +2907,16 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = // In the following message, '%s' would be replaced with a quantity of money (e.g. $200) L"Do you agree to pay %s?", L"Accept free medical treatment?", - L"Agree to marry Daryl?", + L"Agree to marry %s?", //Daryl L"Key Ring Panel", L"You cannot do that with an EPC.", - L"Spare Krott?", + L"Spare %s?", //Krott L"Out of effective weapon range.", L"Miner", L"Vehicle can only travel between sectors", L"Can't autobandage right now", L"Path Blocked for %s", - L"Your mercs, who were captured by Deidranna's army are imprisoned here!", + L"Your mercs, who were captured by %s's army are imprisoned here!", //Deidranna L"Lock hit", L"Lock destroyed", L"Somebody else is trying to use this door.",