From 3d1337ebeb5effaf3c6b9e1c7e08257759700724 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sun, 7 Jan 2007 15:56:55 +0000 Subject: [PATCH] - feature: Added armor filter buttons (helm, vest, legging, plate) to Bobby Rays git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@655 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.suo | Bin 197632 -> 197632 bytes Laptop/BobbyRAmmo.cpp | 2 + Laptop/BobbyRArmour.cpp | 12 +- Laptop/BobbyRGuns.cpp | 236 ++++++++++++++++++++++++++++++---------- Laptop/BobbyRGuns.h | 3 + Utils/Text.h | 6 +- Utils/_DutchText.cpp | 8 +- Utils/_EnglishText.cpp | 8 +- Utils/_FrenchText.cpp | 8 +- Utils/_GermanText.cpp | 8 +- Utils/_ItalianText.cpp | 8 +- Utils/_PolishText.cpp | 8 +- Utils/_RussianText.cpp | 7 +- builddefines.h | 18 +-- 14 files changed, 251 insertions(+), 81 deletions(-) diff --git a/JA2.suo b/JA2.suo index 241cee8e2a6d26a8a16b7e07a666ff3e23841f84..0c795df1fa22149ca01f3f7643be4827e0f1da9b 100644 GIT binary patch delta 2136 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 C50}vZ diff --git a/Laptop/BobbyRAmmo.cpp b/Laptop/BobbyRAmmo.cpp index 5ba112fc2..2ac3b7b4c 100644 --- a/Laptop/BobbyRAmmo.cpp +++ b/Laptop/BobbyRAmmo.cpp @@ -91,6 +91,8 @@ void RenderBobbyRAmmo() DisplayItemInfo(IC_AMMO, guiCurrentAmmoFilterMode); UpdateButtonText(guiCurrentLaptopMode); + + // WANNE UpdateAmmoFilterButtons(guiCurrentAmmoFilterMode, guiPrevAmmoFilterMode); MarkButtonsDirty( ); diff --git a/Laptop/BobbyRArmour.cpp b/Laptop/BobbyRArmour.cpp index a26c7b8b4..f7d7d1b0f 100644 --- a/Laptop/BobbyRArmour.cpp +++ b/Laptop/BobbyRArmour.cpp @@ -23,6 +23,7 @@ void GameInitBobbyRArmour() } +// WANNE BOOLEAN EnterBobbyRArmour() { VOBJECT_DESC VObjectDesc; @@ -42,10 +43,12 @@ BOOLEAN EnterBobbyRArmour() guiPrevArmourFilterMode = -1; guiCurrentArmourFilterMode = -1; + SetFirstLastPagesForNew( IC_ARMOUR, guiCurrentArmourFilterMode ); + //Draw menu bar InitBobbyMenuBar( ); - - SetFirstLastPagesForNew( IC_ARMOUR, guiCurrentArmourFilterMode ); + // WANNE + InitBobbyRArmourFilterBar(); RenderBobbyRArmour( ); @@ -58,6 +61,9 @@ void ExitBobbyRArmour() DeleteVideoObjectFromIndex(guiArmourGrid); DeleteBobbyMenuBar(); + // WANNE + DeleteBobbyRArmourFilter(); + DeleteBobbyBrTitle(); DeleteMouseRegionForBigImage(); @@ -88,7 +94,7 @@ void RenderBobbyRArmour() UpdateButtonText(guiCurrentLaptopMode); // TODO - //UpdateGunFilterButtons(guiCurrentArmourFilterMode, guiPrevArmourFilterMode); + UpdateArmourFilterButtons(guiCurrentArmourFilterMode, guiPrevArmourFilterMode); MarkButtonsDirty( ); RenderWWWProgramTitleBar( ); diff --git a/Laptop/BobbyRGuns.cpp b/Laptop/BobbyRGuns.cpp index c33caac7a..229301e14 100644 --- a/Laptop/BobbyRGuns.cpp +++ b/Laptop/BobbyRGuns.cpp @@ -139,13 +139,14 @@ BobbyRayPurchaseStruct BobbyRayPurchases[ MAX_PURCHASE_AMOUNT ]; #define FILTER_BUTTONS_GUN_START_X BOBBYR_PREVIOUS_BUTTON_X #define FILTER_BUTTONS_AMMO_START_X FILTER_BUTTONS_GUN_START_X #define FILTER_BUTTONS_USED_START_X FILTER_BUTTONS_GUN_START_X //FILTER_BUTTONS_GUN_START_X + 122 +#define FILTER_BUTTONS_ARMOUR_START_X FILTER_BUTTONS_GUN_START_X #define FILTER_BUTTONS_Y BOBBYR_PREVIOUS_BUTTON_Y + 25 // WANNE // The number of filter buttons which category uses #define NUMBER_GUNS_FILTER_BUTTONS 9 #define NUMBER_AMMO_FILTER_BUTTONS 8 -#define NUMBER_ARMOUR_FILTER_BUTTONS 1 +#define NUMBER_ARMOUR_FILTER_BUTTONS 4 #define NUMBER_MISC_FILTER_BUTTONS 1 #define NUMBER_USED_FILTER_BUTTONS 3 @@ -153,6 +154,7 @@ BobbyRayPurchaseStruct BobbyRayPurchases[ MAX_PURCHASE_AMOUNT ]; #define BOBBYR_GUNS_FILTER_BUTTON_GAP BOBBYR_CATALOGUE_BUTTON_GAP - 1 #define BOBBYR_AMMO_FILTER_BUTTON_GAP BOBBYR_CATALOGUE_BUTTON_GAP - 1 #define BOBBYR_USED_FILTER_BUTTON_GAP BOBBYR_CATALOGUE_BUTTON_GAP - 1 +#define BOBBYR_ARMOUR_FILTER_BUTTON_GAP BOBBYR_CATALOGUE_BUTTON_GAP - 1 // WANNE UINT32 guiBobbyRFilterGuns[ NUMBER_GUNS_FILTER_BUTTONS ]; @@ -169,6 +171,7 @@ INT32 guiBobbyRFilterImage; void BtnBobbyRFilterGunsCallback(GUI_BUTTON *btn,INT32 reason); void BtnBobbyRFilterAmmoCallback(GUI_BUTTON *btn,INT32 reason); void BtnBobbyRFilterUsedCallback(GUI_BUTTON *btn,INT32 reason); +void BtnBobbyRFilterArmourCallback(GUI_BUTTON *btn,INT32 reason); BOOLEAN IsAmmoMatchinWeaponType(UINT16 usItemIndex, UINT8 ubWeaponType); @@ -186,7 +189,6 @@ INT8 ubFilterGunsButtonValues[] = { // WANNE INT8 ubFilterAmmoButtonValues[] = { - //BOBBYR_FILTER_AMMO_HEAVY, BOBBYR_FILTER_AMMO_PISTOL, BOBBYR_FILTER_AMMO_M_PISTOL, BOBBYR_FILTER_AMMO_SMG, @@ -198,10 +200,15 @@ INT8 ubFilterAmmoButtonValues[] = { INT8 ubFilterUsedButtonValues[] = { BOBBYR_FILTER_USED_GUNS, - //BOBBYR_FILTER_USED_AMMO, BOBBYR_FILTER_USED_ARMOR, BOBBYR_FILTER_USED_MISC}; +INT8 ubFilterArmourButtonValues[] = { + BOBBYR_FILTER_ARMOUR_HELM, + BOBBYR_FILTER_ARMOUR_VEST, + BOBBYR_FILTER_ARMOUR_LEGGING, + BOBBYR_FILTER_ARMOUR_PLATE}; + extern BOOLEAN fExitingLaptopFlag; @@ -307,10 +314,12 @@ void GameInitBobbyRGuns() guiPrevGunFilterMode = -1; guiPrevAmmoFilterMode = -1; guiPrevUsedFilterMode = -1; + guiPrevArmourFilterMode = -1; guiCurrentGunFilterMode = -1; guiCurrentAmmoFilterMode = -1; guiCurrentUsedFilterMode = -1; + guiCurrentArmourFilterMode = -1; memset(&BobbyRayPurchases, 0, MAX_PURCHASE_AMOUNT); } @@ -513,7 +522,6 @@ BOOLEAN InitBobbyRGunsFilterBar() return(TRUE); } -// WANNE BOOLEAN InitBobbyRAmmoFilterBar() { UINT8 i; @@ -557,6 +565,48 @@ BOOLEAN InitBobbyRAmmoFilterBar() return(TRUE); } +BOOLEAN InitBobbyRArmourFilterBar() +{ + UINT8 i; + UINT16 usPosX; + UINT8 bCurMode; + UINT16 usYOffset = 0; + + bCurMode = 0; + usPosX = FILTER_BUTTONS_GUN_START_X; + + guiBobbyRFilterImage = LoadButtonImage("LAPTOP\\CatalogueButton1.sti", -1,0,-1,1,-1 ); + + // Loop through the filter buttons + for(i=0; i 7) + { + usPosX = FILTER_BUTTONS_ARMOUR_START_X; + usYOffset = 25; + } + + // Filter buttons + guiBobbyRFilterArmor[i] = CreateIconAndTextButton( guiBobbyRFilterImage, BobbyRFilter[BOBBYR_FILTER_ARMOUR_HELM+i], BOBBYR_GUNS_BUTTON_FONT, + BOBBYR_GUNS_TEXT_COLOR_ON, BOBBYR_GUNS_SHADOW_COLOR, + BOBBYR_GUNS_TEXT_COLOR_OFF, BOBBYR_GUNS_SHADOW_COLOR, + TEXT_CJUSTIFIED, + usPosX, FILTER_BUTTONS_Y + usYOffset, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, + DEFAULT_MOVE_CALLBACK, BtnBobbyRFilterArmourCallback); + + SetButtonCursor(guiBobbyRFilterArmor[i], CURSOR_LAPTOP_SCREEN); + + MSYS_SetBtnUserData( guiBobbyRFilterArmor[i], 0, ubFilterArmourButtonValues[bCurMode]); + + usPosX += BOBBYR_ARMOUR_FILTER_BUTTON_GAP; + bCurMode++; + } + + + return(TRUE); +} + BOOLEAN InitBobbyRUsedFilterBar() { @@ -689,7 +739,6 @@ BOOLEAN DeleteBobbyRGunsFilter() return (TRUE); } -// WANNE BOOLEAN DeleteBobbyRAmmoFilter() { UINT8 i; @@ -718,6 +767,21 @@ BOOLEAN DeleteBobbyRUsedFilter() return (TRUE); } +BOOLEAN DeleteBobbyRArmourFilter() +{ + UINT8 i; + + UnloadButtonImage( guiBobbyRFilterImage ); + + for (i=0; iuiFlags & BUTTON_ENABLED)) return; - //gbMessageDisplayed = TRUE; - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) { btn->uiFlags |= BUTTON_CLICKED_ON; @@ -895,7 +957,6 @@ void BtnBobbyRFilterGunsCallback(GUI_BUTTON *btn,INT32 reason) } } -// WANNE void BtnBobbyRFilterAmmoCallback(GUI_BUTTON *btn,INT32 reason) { UINT32 bNewValue; @@ -962,8 +1023,6 @@ void BtnBobbyRFilterAmmoCallback(GUI_BUTTON *btn,INT32 reason) } } - -// WANNE void BtnBobbyRFilterUsedCallback(GUI_BUTTON *btn,INT32 reason) { UINT32 bNewValue; @@ -1015,7 +1074,57 @@ void BtnBobbyRFilterUsedCallback(GUI_BUTTON *btn,INT32 reason) } } +// WANNE +void BtnBobbyRFilterArmourCallback(GUI_BUTTON *btn,INT32 reason) +{ + UINT32 bNewValue; + bNewValue = MSYS_GetBtnUserData( btn, 0 ); + if (!(btn->uiFlags & BUTTON_ENABLED)) + return; + + if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) + { + btn->uiFlags |= BUTTON_CLICKED_ON; + + InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); + } + if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + + guiPrevArmourFilterMode = guiCurrentArmourFilterMode; + + switch (bNewValue) + { + case BOBBYR_FILTER_ARMOUR_HELM: + guiCurrentArmourFilterMode = ARMOURCLASS_HELMET; + break; + case BOBBYR_FILTER_ARMOUR_VEST: + guiCurrentArmourFilterMode = ARMOURCLASS_VEST; + break; + case BOBBYR_FILTER_ARMOUR_LEGGING: + guiCurrentArmourFilterMode = ARMOURCLASS_LEGGINGS; + break; + case BOBBYR_FILTER_ARMOUR_PLATE: + guiCurrentArmourFilterMode = ARMOURCLASS_PLATE; + break; + } + + SetFirstLastPagesForNew(IC_ARMOUR, guiCurrentArmourFilterMode); + + UpdateArmourFilterButtons(guiCurrentArmourFilterMode, guiPrevArmourFilterMode); + + DeleteMouseRegionForBigImage(); + fReDrawScreenFlag = TRUE; + fPausedReDrawScreenFlag = TRUE; + } + if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); + } +} void BtnBobbyRNextPreviousPageCallback(GUI_BUTTON *btn,INT32 reason) { @@ -1061,7 +1170,7 @@ void BtnBobbyRNextPreviousPageCallback(GUI_BUTTON *btn,INT32 reason) } } - +// WANNE BOOLEAN DisplayItemInfo(UINT32 uiItemClass, INT32 iFilter) { UINT16 i; @@ -1111,8 +1220,6 @@ BOOLEAN DisplayItemInfo(UINT32 uiItemClass, INT32 iFilter) } - - for(i=gusCurWeaponIndex; ((i<=gusLastItemIndex) && (ubCount < 4)); i++) { bAddItem = FALSE; @@ -1253,7 +1360,10 @@ BOOLEAN DisplayItemInfo(UINT32 uiItemClass, INT32 iFilter) { if (iFilter > -1) { - // TODO + if (Armour[ Item[usItemIndex].ubClassIndex ].ubArmourClass == iFilter) + { + bAddItem = TRUE; + } } } @@ -1831,7 +1941,7 @@ void CalculateFirstAndLastIndexs() } */ - +// WANNE: Filter //Loops through Bobby Rays Inventory to find the first and last index void SetFirstLastPagesForNew( UINT32 uiClassMask, INT32 iFilter ) { @@ -1878,15 +1988,19 @@ void SetFirstLastPagesForNew( UINT32 uiClassMask, INT32 iFilter ) break; // Ammo case IC_AMMO: - //if (Weapon[ Item[usItemIndex].ubClassIndex ].ubWeaponType == uiFilter) + if (IsAmmoMatchinWeaponType(usItemIndex, guiCurrentAmmoFilterMode)) { - if (IsAmmoMatchinWeaponType(usItemIndex, guiCurrentAmmoFilterMode)) - { - bCntNumItems = TRUE; - } + bCntNumItems = TRUE; + } + break; + // Armour + case IC_ARMOUR: + // WANNE: TODO + if (Armour[ Item[usItemIndex].ubClassIndex ].ubArmourClass == iFilter) + { + bCntNumItems = TRUE; } break; - } } @@ -1918,6 +2032,7 @@ void SetFirstLastPagesForNew( UINT32 uiClassMask, INT32 iFilter ) gubNumPages += 1; } +// WANNE //Loops through Bobby Rays Used Inventory to find the first and last index void SetFirstLastPagesForUsed(INT32 iFilter) { @@ -2540,7 +2655,7 @@ void BtnBobbyRHomeButtonCallback(GUI_BUTTON *btn,INT32 reason) } - +// WANNE void UpdateButtonText(UINT32 uiCurPage) { switch( uiCurPage ) @@ -2568,7 +2683,14 @@ void UpdateButtonText(UINT32 uiCurPage) break; case LAPTOP_MODE_BOBBY_R_ARMOR: - DisableButton( guiBobbyRPageMenu[2] ); + if (guiCurrentArmourFilterMode != -1) + { + EnableButton( guiBobbyRPageMenu[2] ); + } + else + { + DisableButton( guiBobbyRPageMenu[2] ); + } break; case LAPTOP_MODE_BOBBY_R_MISC: @@ -2588,6 +2710,7 @@ void UpdateButtonText(UINT32 uiCurPage) } } +// WANNE void UpdateAmmoFilterButtons(INT32 iNewButton, INT32 iOldButton) { if (iNewButton != iOldButton) @@ -2633,32 +2756,40 @@ void UpdateUsedFilterButtons() EnableButton(guiBobbyRFilterUsed[1]); EnableButton(guiBobbyRFilterUsed[2]); - //EnableButton(guiBobbyRFilterUsed[3]); break; - /*case IC_AMMO: - DisableButton(guiBobbyRFilterUsed[1]); - - EnableButton(guiBobbyRFilterUsed[0]); - EnableButton(guiBobbyRFilterUsed[2]); - EnableButton(guiBobbyRFilterUsed[3]); - break;*/ case IC_ARMOUR: DisableButton(guiBobbyRFilterUsed[1]); EnableButton(guiBobbyRFilterUsed[0]); EnableButton(guiBobbyRFilterUsed[2]); - //EnableButton(guiBobbyRFilterUsed[3]); break; case IC_BOBBY_MISC: DisableButton(guiBobbyRFilterUsed[2]); EnableButton(guiBobbyRFilterUsed[0]); EnableButton(guiBobbyRFilterUsed[1]); - //EnableButton(guiBobbyRFilterUsed[2]); break; } } +void UpdateArmourFilterButtons(INT32 iNewButton, INT32 iOldButton) +{ + if (iNewButton != iOldButton) + { + if (iNewButton > -1) + { + // Disable new Button + DisableButton(guiBobbyRFilterArmor[iNewButton]); + } + + if (iOldButton > -1) + { + // Enable old Button + EnableButton(guiBobbyRFilterArmor[iOldButton]); + } + } +} + UINT16 CalcBobbyRayCost( UINT16 usIndex, UINT16 usBobbyIndex, BOOLEAN fUsed) { DOUBLE value; @@ -2725,6 +2856,7 @@ void DisableBobbyRButtons() */ } +// WANNE void CalcFirstIndexForPage( STORE_INVENTORY *pInv, UINT32 uiItemClass ) { UINT16 i; @@ -2857,7 +2989,12 @@ void CalcFirstIndexForPage( STORE_INVENTORY *pInv, UINT32 uiItemClass ) } else { - // TODO + usItemIndex = LaptopSaveInfo.BobbyRayInventory[ i ].usItemIndex; + + if (Armour[ Item[usItemIndex].ubClassIndex ].ubArmourClass == guiCurrentArmourFilterMode) + { + bCntItem = TRUE; + } } } else if (uiItemClass == IC_BOBBY_MISC) @@ -2904,29 +3041,18 @@ BOOLEAN IsAmmoMatchinWeaponType(UINT16 usItemIndex, UINT8 ubWeaponType) for (i = 0; i < MAXITEMS; i++) { - //if( LaptopSaveInfo.BobbyRayInventory[ i ].ubQtyOnHand != 0 ) + // We found the Weapon that uses this Ammo + if (Magazine[ Item[ usItemIndex ].ubClassIndex ].ubCalibre == Weapon[i].ubCalibre) { - // We found the Weapon that uses this Ammo - if (Magazine[ Item[ usItemIndex ].ubClassIndex ].ubCalibre == Weapon[i].ubCalibre) + // Weapon has the correct filter ammo weapon type + if (Weapon[i].ubWeaponType == ubWeaponType) { - // Weapon has the correct filter ammo weapon type - if (Weapon[i].ubWeaponType == ubWeaponType) + //Weapon has correct magazine size + if(Weapon[i].ubMagSize == Magazine[Item[usItemIndex].ubClassIndex].ubMagSize ) { - //Weapon has correct magazine size - if(Weapon[i].ubMagSize == Magazine[Item[usItemIndex].ubClassIndex].ubMagSize ) - { - bRetValue = TRUE; - break; - } + bRetValue = TRUE; + break; } - // Weapon has another filter ammo weapon type - /* - else - { - bRetValue = FALSE; - } - break; - */ } } } diff --git a/Laptop/BobbyRGuns.h b/Laptop/BobbyRGuns.h index 9d3a084ab..4280fb598 100644 --- a/Laptop/BobbyRGuns.h +++ b/Laptop/BobbyRGuns.h @@ -41,9 +41,11 @@ void RenderBobbyRGuns(); BOOLEAN DeleteBobbyRGunsFilter(); BOOLEAN DeleteBobbyRAmmoFilter(); BOOLEAN DeleteBobbyRUsedFilter(); +BOOLEAN DeleteBobbyRArmourFilter(); BOOLEAN InitBobbyRGunsFilterBar(); BOOLEAN InitBobbyRAmmoFilterBar(); BOOLEAN InitBobbyRUsedFilterBar(); +BOOLEAN InitBobbyRArmourFilterBar(); BOOLEAN DisplayBobbyRBrTitle(); BOOLEAN DeleteBobbyBrTitle(); @@ -61,6 +63,7 @@ void UpdateButtonText(UINT32 uiCurPage); void UpdateAmmoFilterButtons(INT32 iNewButton, INT32 iOldButton); void UpdateGunFilterButtons(INT32 iNewButton, INT32 iOldButton); void UpdateUsedFilterButtons(); +void UpdateArmourFilterButtons(INT32 iNewButton, INT32 iOldButton); void EnterInitBobbyRGuns(); void DailyUpdateOfBobbyRaysUsedInventory(); diff --git a/Utils/Text.h b/Utils/Text.h index ca27f0606..bf465460d 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -818,9 +818,13 @@ enum BOBBYR_FILTER_AMMO_SHOTGUN, // Used BOBBYR_FILTER_USED_GUNS, - //BOBBYR_FILTER_USED_AMMO, BOBBYR_FILTER_USED_ARMOR, BOBBYR_FILTER_USED_MISC, + // Armour + BOBBYR_FILTER_ARMOUR_HELM, + BOBBYR_FILTER_ARMOUR_VEST, + BOBBYR_FILTER_ARMOUR_LEGGING, + BOBBYR_FILTER_ARMOUR_PLATE, }; diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 8268d58fa..57c137586 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -2820,7 +2820,6 @@ STR16 BobbyRFilter[] = L"Shotgun", // Ammo - //L"Heavy W.", L"Pistol", L"M. Pistol", L"SMG", @@ -2832,9 +2831,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 23ad16a72..77c1d3cc4 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -2820,7 +2820,6 @@ STR16 BobbyRFilter[] = L"Shotgun", // Ammo - //L"Heavy W.", L"Pistol", L"M. Pistol", L"SMG", @@ -2832,9 +2831,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 43b234291..83681f9e1 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -2809,7 +2809,6 @@ STR16 BobbyRFilter[] = L"Shotgun", // Ammo - //L"Heavy W.", L"Pistol", L"M. Pistol", L"SMG", @@ -2821,9 +2820,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 6436f1b7f..0116fe47c 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -2681,7 +2681,6 @@ STR16 BobbyRFilter[] = L"Schrotfl.", // Ammo - //L"Schwere W.", L"Pistole", L"M. Pistole", L"SMG", @@ -2693,9 +2692,14 @@ STR16 BobbyRFilter[] = // Used L"Feuerwfn.", - //L"Munition", L"Rüstung", L"Sonstiges", + + // Armour + L"Helm", + L"Weste", + L"Hose", + L"Platte", }; // This text is used when on the various Bobby Ray Web site pages that sell items diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 340cb2b21..de871352b 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -2804,7 +2804,6 @@ STR16 BobbyRFilter[] = L"Shotgun", // Ammo - //L"Heavy W.", L"Pistol", L"M. Pistol", L"SMG", @@ -2816,9 +2815,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; // This text is used when on the various Bobby Ray Web site pages that sell items diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 62b5c107a..77a052394 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -2802,7 +2802,6 @@ STR16 BobbyRFilter[] = L"Shotgun", // Ammo - //L"Heavy W.", L"Pistol", L"M. Pistol", L"SMG", @@ -2814,9 +2813,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index deed314b3..54a645932 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -2823,9 +2823,14 @@ STR16 BobbyRFilter[] = // Used L"Guns", - //L"Ammo", L"Armor", L"Misc", + + // Armour + L"Helm", + L"Vest", + L"Legging", + L"Plate", }; diff --git a/builddefines.h b/builddefines.h index 35d5b6cab..52ecd7c32 100644 --- a/builddefines.h +++ b/builddefines.h @@ -17,19 +17,19 @@ // Remove comment to build the editor! -#ifdef _DEBUG - #ifndef JA2TESTVERSION - #define JA2TESTVERSION - #endif -#endif +//#ifdef _DEBUG +// #ifndef JA2TESTVERSION +// #define JA2TESTVERSION +// #endif +//#endif // Remove comment to build the editor! // Do combinations -#ifdef JA2TESTVERSION - #define JA2BETAVERSION - #define JA2EDITOR -#endif +//#ifdef JA2TESTVERSION +// #define JA2BETAVERSION +// #define JA2EDITOR +//#endif