diff --git a/Laptop/AimMembers.cpp b/Laptop/AimMembers.cpp index 7c3fab831..9adb17839 100644 --- a/Laptop/AimMembers.cpp +++ b/Laptop/AimMembers.cpp @@ -218,29 +218,6 @@ #define WEAPONBOX_LOADOUT_ONE_X iScreenWidthOffset + 143 #define WEAPONBOX_LOADOUT_ONE_Y iScreenHeightOffset + 367 + LAPTOP_SCREEN_WEB_DELTA_Y -#define WEAPONBOX_LOADOUT_ONE_BOX_Y WEAPONBOX_LOADOUT_ONE_Y - 4 -#define WEAPONBOX_LOADOUT_ONE_BR_X WEAPONBOX_LOADOUT_ONE_X + WEAPONBOX_BUTTON_START_WIDTH -#define WEAPONBOX_LOADOUT_ONE_BR_Y WEAPONBOX_LOADOUT_ONE_BOX_Y + WEAPONBOX_BUTTON_START_HEIGHT -#define WEAPONBOX_LOADOUT_TWO_X WEAPONBOX_LOADOUT_ONE_X + WEAPONBOX_BUTTON_START_WIDTH + WEAPONBOX_LOADOUT_BUTTON_X_DISTANCE -#define WEAPONBOX_LOADOUT_TWO_Y WEAPONBOX_LOADOUT_ONE_Y -#define WEAPONBOX_LOADOUT_TWO_BOX_Y WEAPONBOX_LOADOUT_TWO_Y - 4 -#define WEAPONBOX_LOADOUT_TWO_BR_X WEAPONBOX_LOADOUT_TWO_X + WEAPONBOX_BUTTON_START_WIDTH -#define WEAPONBOX_LOADOUT_TWO_BR_Y WEAPONBOX_LOADOUT_TWO_BOX_Y + WEAPONBOX_BUTTON_START_HEIGHT -#define WEAPONBOX_LOADOUT_THREE_X WEAPONBOX_LOADOUT_TWO_X + WEAPONBOX_BUTTON_START_WIDTH + WEAPONBOX_LOADOUT_BUTTON_X_DISTANCE -#define WEAPONBOX_LOADOUT_THREE_Y WEAPONBOX_LOADOUT_TWO_Y -#define WEAPONBOX_LOADOUT_THREE_BOX_Y WEAPONBOX_LOADOUT_THREE_Y - 4 -#define WEAPONBOX_LOADOUT_THREE_BR_X WEAPONBOX_LOADOUT_THREE_X + WEAPONBOX_BUTTON_START_WIDTH -#define WEAPONBOX_LOADOUT_THREE_BR_Y WEAPONBOX_LOADOUT_THREE_BOX_Y + WEAPONBOX_BUTTON_START_HEIGHT -#define WEAPONBOX_LOADOUT_FOUR_X WEAPONBOX_LOADOUT_THREE_X + WEAPONBOX_BUTTON_START_WIDTH + WEAPONBOX_LOADOUT_BUTTON_X_DISTANCE -#define WEAPONBOX_LOADOUT_FOUR_Y WEAPONBOX_LOADOUT_THREE_Y -#define WEAPONBOX_LOADOUT_FOUR_BOX_Y WEAPONBOX_LOADOUT_FOUR_Y - 4 -#define WEAPONBOX_LOADOUT_FOUR_BR_X WEAPONBOX_LOADOUT_FOUR_X + WEAPONBOX_BUTTON_START_WIDTH -#define WEAPONBOX_LOADOUT_FOUR_BR_Y WEAPONBOX_LOADOUT_FOUR_BOX_Y + WEAPONBOX_BUTTON_START_HEIGHT -#define WEAPONBOX_LOADOUT_FIVE_X WEAPONBOX_LOADOUT_FOUR_X + WEAPONBOX_BUTTON_START_WIDTH + WEAPONBOX_LOADOUT_BUTTON_X_DISTANCE -#define WEAPONBOX_LOADOUT_FIVE_Y WEAPONBOX_LOADOUT_FOUR_Y -#define WEAPONBOX_LOADOUT_FIVE_BOX_Y WEAPONBOX_LOADOUT_FIVE_Y - 4 -#define WEAPONBOX_LOADOUT_FIVE_BR_X WEAPONBOX_LOADOUT_FIVE_X + WEAPONBOX_BUTTON_START_WIDTH -#define WEAPONBOX_LOADOUT_FIVE_BR_Y WEAPONBOX_LOADOUT_FIVE_BOX_Y + WEAPONBOX_BUTTON_START_HEIGHT //tais: nsgi changed defines, kept old to keep old looks.. #define STATS_X_NSGI IMAGE_OFFSET_X + 121 @@ -583,17 +560,10 @@ BOOLEAN gfAimMemberCanMercSayOpeningQuote = TRUE; INT32 guiPreviousContactNextButtonImage; //tais: nsgi, gearkit selection buttons and eventhandlers -INT32 giWeaponboxSelectionButtonOne; -INT32 giWeaponboxSelectionButtonTwo; -INT32 giWeaponboxSelectionButtonThree; -INT32 giWeaponboxSelectionButtonFour; -INT32 giWeaponboxSelectionButtonFive; +INT32 giWeaponboxSelectionButton[NUM_MERCSTARTINGGEAR_KITS]; +BOOLEAN giWeaponboxSelectionButtonsCreated = FALSE; -void BtnWeaponboxSelectOneButtonCallback(GUI_BUTTON *btn,INT32 reason); -void BtnWeaponboxSelectTwoButtonCallback(GUI_BUTTON *btn,INT32 reason); -void BtnWeaponboxSelectThreeButtonCallback(GUI_BUTTON *btn,INT32 reason); -void BtnWeaponboxSelectFourButtonCallback(GUI_BUTTON *btn,INT32 reason); -void BtnWeaponboxSelectFiveButtonCallback(GUI_BUTTON *btn,INT32 reason); +void BtnWeaponboxSelectButtonCallback(GUI_BUTTON *btn,INT32 reason); //Previous Button void BtnPreviousButtonCallback(GUI_BUTTON *btn,INT32 reason); @@ -694,7 +664,7 @@ UINT8 DisplayTransparentSnow(UINT8 ubMode, UINT32 uiImageIdentifier, UINT8 ubMa //tais: nsgi, kit selection void CreateWeaponBoxMouseRegions(); void CreateKitSelectionButtons(); -void EraseWeaponBoxItems(); +void EraseKitSelectionButtons( ); void CreateWeaponBoxBackground(); void EnableWeaponKitSelectionButtons(); void RefreshWeaponKitSelectionButtons(); @@ -998,7 +968,16 @@ void ExitAIMMembers() UnloadButtonImage( giXToCloseVideoConfButtonImage ); //tais: nsgi, erase tooltip regions and buttons - if(gGameExternalOptions.gfUseNewStartingGearInterface) EraseWeaponBoxItems(); + if(gGameExternalOptions.gfUseNewStartingGearInterface) + { + //tais: tooltips for weaponbox + for ( int i = 0; iuiFlags & BUTTON_CLICKED_ON) { -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - //tais: handle selected kit - WeaponKitSelectionUpdate(0); - - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - gfRedrawScreen = TRUE; -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - gubVideoConferencingMode = AIM_VIDEO_NOT_DISPLAYED_MODE; - InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); - } - } - 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 BtnWeaponboxSelectTwoButtonCallback(GUI_BUTTON *btn,INT32 reason) -{ - 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 ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - //tais: handle selected kit - WeaponKitSelectionUpdate(1); - - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - gfRedrawScreen = TRUE; -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - - gubVideoConferencingMode = AIM_VIDEO_NOT_DISPLAYED_MODE; - InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); - } - } - 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 BtnWeaponboxSelectThreeButtonCallback(GUI_BUTTON *btn,INT32 reason) -{ - 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 ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - //tais: handle selected kit - WeaponKitSelectionUpdate(2); - - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - gfRedrawScreen = TRUE; -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - - gubVideoConferencingMode = AIM_VIDEO_NOT_DISPLAYED_MODE; - InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); - } - } - 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 BtnWeaponboxSelectFourButtonCallback(GUI_BUTTON *btn,INT32 reason) -{ - 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 ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; //tais: handle selected kit - WeaponKitSelectionUpdate(3); + for ( int i = 0; i < NUM_MERCSTARTINGGEAR_KITS; ++i ) + { + if ( btn->IDNum == giWeaponboxSelectionButton[i] ) + { + WeaponKitSelectionUpdate( i ); + break; + } + } btn->uiFlags &= (~BUTTON_CLICKED_ON ); gfRedrawScreen = TRUE; -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - - gubVideoConferencingMode = AIM_VIDEO_NOT_DISPLAYED_MODE; - InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); - } - } - 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 BtnWeaponboxSelectFiveButtonCallback(GUI_BUTTON *btn,INT32 reason) -{ - 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 ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - - //tais: handle selected kit - WeaponKitSelectionUpdate(4); - - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - gfRedrawScreen = TRUE; -// gbCurrentSoldier = AimMercArray[gbCurrentIndex]; - gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; - gubVideoConferencingMode = AIM_VIDEO_NOT_DISPLAYED_MODE; InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } @@ -5238,113 +5098,32 @@ void HandleAimMemberKeyBoardInput() break; #endif case '1': + case '2': + case '3': + case '4': + case '5': if((gGameExternalOptions.gfUseNewStartingGearInterface) && (UsingNewInventorySystem() == true)) { - // kit 1 - //gbCurrentSoldier = AimMercArray[gbCurrentIndex]; gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId; + if (!(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS)) { - UINT8 i; - for(i=INV_START_POS; i 1) { - if(buttonEnabled[0] == TRUE) ShowButton(giWeaponboxSelectionButtonOne); - if(buttonEnabled[1] == TRUE) ShowButton(giWeaponboxSelectionButtonTwo); - if(buttonEnabled[2] == TRUE) ShowButton(giWeaponboxSelectionButtonThree); - if(buttonEnabled[3] == TRUE) ShowButton(giWeaponboxSelectionButtonFour); - if(buttonEnabled[4] == TRUE) ShowButton(giWeaponboxSelectionButtonFive); - } } } } void WeaponKitSelectionUpdate(UINT8 selectedInventory = 0) -{ +{ UINT32 uiLoop; INT16 usItem; if(UsingNewInventorySystem() == true){