From 22c3f36a92ac8bde46bfe524ec3585a6eb79c001 Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Fri, 7 May 2021 17:42:43 +0000 Subject: [PATCH] SHIFT+k shortcut on map screen to use same code as in tactical. Made ALT and CTRL +SHIFT+k shortcuts work on map screen (by Shadooow). git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9008 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/mapscreen.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Strategic/mapscreen.cpp b/Strategic/mapscreen.cpp index 8171f63b..71408498 100644 --- a/Strategic/mapscreen.cpp +++ b/Strategic/mapscreen.cpp @@ -7842,15 +7842,17 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent ) //CHRISL: Swap gunsling if ( bSelectedInfoChar != -1 && fShowInventoryFlag && UsingNewInventorySystem() == true ) { - SOLDIERTYPE *pSoldier = MercPtrs[ gCharactersList[ bSelectedInfoChar ].usSolID ]; - BOOLEAN handFit = (CanItemFitInPosition(pSoldier, &pSoldier->inv[HANDPOS], GUNSLINGPOCKPOS, FALSE) || (pSoldier->inv[HANDPOS].exists() == false && pSoldier->inv[SECONDHANDPOS].exists() == false)); - BOOLEAN slingFit = (CanItemFitInPosition(pSoldier, &pSoldier->inv[GUNSLINGPOCKPOS], HANDPOS, FALSE) || pSoldier->inv[GUNSLINGPOCKPOS].exists() == false); - if(Item[pSoldier->inv[GUNSLINGPOCKPOS].usItem].twohanded && pSoldier->inv[SECONDHANDPOS].exists() == true) - handFit = FALSE; - if( handFit == TRUE && slingFit == TRUE) - { - SwapObjs(&pSoldier->inv[HANDPOS], &pSoldier->inv[GUNSLINGPOCKPOS]); - } + SOLDIERTYPE *pSoldier = MercPtrs[gCharactersList[bSelectedInfoChar].usSolID]; + if (fAlt) + // switch to knife, or from knife to gun + pSoldier->SwitchWeapons(TRUE); + else if (fCtrl) + // switch to sidearm, or from sidearm to non-sidearm gun + pSoldier->SwitchWeapons(FALSE, TRUE); + else + // switch to and from gunsling + pSoldier->SwitchWeapons(); + fTeamPanelDirty = TRUE; fMapPanelDirty = TRUE; fInterfacePanelDirty = DIRTYLEVEL2;