diff --git a/Tactical/Real Time Input.cpp b/Tactical/Real Time Input.cpp index c9f3ec934..e855e991b 100644 --- a/Tactical/Real Time Input.cpp +++ b/Tactical/Real Time Input.cpp @@ -59,7 +59,8 @@ #include "worlddat.h" //for gtileset #include "Debug Control.h" //for livelog -#include "SkillMenu.h" // sevenfm: need this for TraitsMenu +#include "SkillMenu.h" // sevenfm: need this for TraitsMenu +#include "DisplayCover.h" // added by Sevenfm #include "Vehicles.h" // anv: for switching from soldier to vehicle #include "VehicleMenu.h" @@ -134,6 +135,10 @@ void HandleRTLocateSoldier( void ); extern void SetScopeMode( INT32 usMapPos ); +extern void HandleTacticalReload(void); +extern void HandleTacticalTransformItem(void); +extern void HandleTBSelectAllMercs(void); + extern void HandleStealthChangeFromUIKeys( ); extern void HandleTBReloadAll( void ); extern void HandleTBEnterTurnbased( void ); @@ -1897,147 +1902,148 @@ void QueryRTX2Button( UINT32 *puiNewEvent ) } // sevenfm: new mouse commands -void HandleAltMouseRTWheel( void ) +void HandleAltMouseRTWheel(void) { - if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) && - ( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) ) + if (!(gTacticalStatus.uiFlags & ENGAGED_IN_CONV) && + ((gsCurInterfacePanel != SM_PANEL) || (ButtonList[iSMPanelButtons[NEXTMERC_BUTTON]]->uiFlags & BUTTON_ENABLED))) { - if ( gViewportRegion.WheelState > 0 ) // wheel up + if (gViewportRegion.WheelState > 0) // wheel up { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBPickUpBackpacks(); - else // SHIFT+ALT - CycleThroughKnownEnemies(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapGoogles(); - else // ALT - HandleTBGotoHigherStance(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBSwapGunsling(); - else // CTRL - HandleTBSoldierRun(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBCycleThroughVisibleEnemies(); - else - HandleTBLocatePrevMerc(); + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTBPickUpBackpacks(); + else // ALT + HandleTBGotoHigherStance(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleTBLocatePrevMerc(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBCycleThroughVisibleEnemiesBackward(); + else + ; } else // wheel down { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBDropBackpacks(); - else // SHIFT+ALT - CycleThroughKnownEnemies( TRUE ); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapSidearm(); - else // ALT - HandleTBGotoLowerStance(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBSwapKnife(); - else // CTRL - HandleTBSwapHands(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBCycleThroughVisibleEnemiesBackward(); - else - HandleTBLocateNextMerc(); + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTBDropBackpacks(); + else // ALT + HandleTBGotoLowerStance(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleTBLocateNextMerc(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBCycleThroughVisibleEnemies(); + else + ; } } } -void HandleAltMouseRTMButton( UINT32 *puiNewEvent ) + +void HandleAltMouseRTMButton(UINT32 *puiNewEvent) { INT32 usMapPos; - GetMouseMapPos( &usMapPos ); + GetMouseMapPos(&usMapPos); - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleRTJumpThroughWindow(); - else // SHIFT+ALT - ;// reserved - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBChangeLevel(); - else // ALT - HandleRTToggleFireMode(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleRTJump(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ;// reserved + } + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTacticalReload(); + else // ALT + HandleRTToggleFireMode(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; else // CTRL - SetScopeMode( usMapPos ); + SetScopeMode(usMapPos); } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBLocateSoldier(); + else if (_KeyDown(SHIFT)) // SHIFT + HandleTacticalTransformItem(); else // Button - HandleRTLook( puiNewEvent ); - + HandleRTLook(puiNewEvent); } -void HandleAltMouseRTX1Button( UINT32 *puiNewEvent ) + +void HandleAltMouseRTX1Button(UINT32 *puiNewEvent) { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBToggleSneak(); - else // SHIFT+ALT - HandleTBToggleFormation(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapGoogles(); - else // ALT - HandleTBSwapKnife(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBEnterTurnbased(); - else // CTRL - HandleTBSwapSidearm(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT + else if (_KeyDown(CTRL)) // CTRL+ALT + ToggleTrapNetworkView(); + else // ALT HandleTBSwapGunsling(); - else // Button - HandleTBSwapHands(); - -} -void HandleAltMouseRTX2Button( UINT32 *puiNewEvent ) -{ - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBToggleTrapNetworkView(); - else // SHIFT+ALT - HandleTBReloadAll(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBShowMines(); - else // ALT - HandleTBToggleStealthAll(); - else if( _KeyDown( CTRL ) ) + else if (_KeyDown(CTRL)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBShowLOS(); + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; else // CTRL - HandleTBShowCover(); + HandleTBSwapHands(); } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBReload(); + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBSelectAllMercs(); else // Button - HandleTBToggleStealth(); + HandleTBShowLOS(); +} + +void HandleAltMouseRTX2Button(UINT32 *puiNewEvent) +{ + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) + { + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; + } + else if (_KeyDown(CTRL)) // CTRL+ALT + ToggleHostileTrapsView(); + else // ALT + HandleTBToggleFormation(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleRTJump(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleRTJumpThroughWindow(); + else // Button + HandleTBShowCover(); } // sevenfm: original mouse commands functionality diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index 24e7bdc2b..a3a1272fa 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -336,6 +336,7 @@ void HandleTBDropBackpacks( void ); void HandleTBPickUpBackpacks( void ); void HandleTBSoldierRun( void ); +void HandleTacticalReload(void); void HandleTacticalTakeItem( void ); void HandleTacticalDropItem( UINT8 ubSlot ); void HandleTacticalTakeInvItem( INT32 iType ); @@ -7065,146 +7066,148 @@ void SwapMercPortraits ( SOLDIERTYPE *pSoldier, INT8 bDirection ) // sevenfm: new mouse commands void HandleAltMouseTBWheel( void ) { - if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) && - ( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) ) - { - if ( gViewportRegion.WheelState > 0 ) // wheel up - { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBPickUpBackpacks(); - else // SHIFT+ALT - HandleTBCycleThroughKnownEnemies(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapGoogles(); - else // ALT - HandleTBGotoHigherStance(); - else if( _KeyDown( CTRL ) ) + if (!(gTacticalStatus.uiFlags & ENGAGED_IN_CONV) && + ((gsCurInterfacePanel != SM_PANEL) || (ButtonList[iSMPanelButtons[NEXTMERC_BUTTON]]->uiFlags & BUTTON_ENABLED))) + { + if (gViewportRegion.WheelState > 0) // wheel up + { + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBSwapGunsling(); - else // CTRL - HandleTBSoldierRun(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBCycleThroughVisibleEnemies(); - else - HandleTBLocatePrevMerc(); + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTBPickUpBackpacks(); + else // ALT + HandleTBGotoHigherStance(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleTBLocatePrevMerc(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBCycleThroughVisibleEnemiesBackward(); + else + ; } else // wheel down { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBDropBackpacks(); - else // SHIFT+ALT - HandleTBCycleThroughKnownEnemiesBackward(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapSidearm(); - else // ALT - HandleTBGotoLowerStance(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBSwapKnife(); - else // CTRL - HandleTBSwapHands(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBCycleThroughVisibleEnemiesBackward(); - else - HandleTBLocateNextMerc(); - + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTBDropBackpacks(); + else // ALT + HandleTBGotoLowerStance(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleTBLocateNextMerc(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBCycleThroughVisibleEnemies(); + else + ; } } } -void HandleAltMouseTBMButton( UINT32 *puiNewEvent ) +void HandleAltMouseTBMButton(UINT32 *puiNewEvent) { INT32 usMapPos; - GetMouseMapPos( &usMapPos ); + GetMouseMapPos(&usMapPos); - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBJumpThroughWindow(); - else // SHIFT+ALT - ;// reserved - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBChangeLevel(); - else // ALT - HandleTBToggleFireMode(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBJump(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ;// reserved + } + else if (_KeyDown(CTRL)) // CTRL+ALT + HandleTacticalReload(); + else // ALT + HandleTBToggleFireMode(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; else // CTRL - SetScopeMode( usMapPos ); + SetScopeMode(usMapPos); } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBLocateSoldier(); + else if (_KeyDown(SHIFT)) // SHIFT + HandleTacticalTransformItem(); else // Button - HandleTBLook( puiNewEvent ); + HandleTBLook(puiNewEvent); } -void HandleAltMouseTBX1Button( UINT32 *puiNewEvent ) + +void HandleAltMouseTBX1Button(UINT32 *puiNewEvent) { - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBToggleSneak(); - else // SHIFT+ALT - HandleTBToggleFormation(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBSwapGoogles(); - else // ALT - HandleTBSwapKnife(); - else if( _KeyDown( CTRL ) ) + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBEnterTurnbased(); - else // CTRL - HandleTBSwapSidearm(); + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; } - else if( _KeyDown( SHIFT ) ) // SHIFT + else if (_KeyDown(CTRL)) // CTRL+ALT + ToggleTrapNetworkView(); + else // ALT HandleTBSwapGunsling(); - else // Button - HandleTBSwapHands(); -} -void HandleAltMouseTBX2Button( UINT32 *puiNewEvent ) -{ - if ( _KeyDown( ALT ) ) - if( _KeyDown( SHIFT ) ) - { - if( _KeyDown( CTRL ) ) // SHIFT+CTRL+ALT - HandleTBToggleTrapNetworkView(); - else // SHIFT+ALT - HandleTBReloadAll(); - } - else if ( _KeyDown( CTRL ) ) // CTRL+ALT - HandleTBShowMines(); - else // ALT - HandleTBToggleStealthAll(); - else if( _KeyDown( CTRL ) ) + else if (_KeyDown(CTRL)) { - if( _KeyDown( SHIFT ) ) // SHIFT+CTRL - HandleTBShowLOS(); + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; else // CTRL - HandleTBShowCover(); + HandleTBSwapHands(); } - else if( _KeyDown( SHIFT ) ) // SHIFT - HandleTBReload(); + else if (_KeyDown(SHIFT)) // SHIFT + ; else // Button - HandleTBToggleStealth(); + HandleTBShowLOS(); } + +void HandleAltMouseTBX2Button(UINT32 *puiNewEvent) +{ + if (_KeyDown(ALT)) + if (_KeyDown(SHIFT)) + { + if (_KeyDown(CTRL)) // SHIFT+CTRL+ALT + ; + else // SHIFT+ALT + ; + } + else if (_KeyDown(CTRL)) // CTRL+ALT + ToggleHostileTrapsView(); + else // ALT + HandleTBToggleFormation(); + else if (_KeyDown(CTRL)) + { + if (_KeyDown(SHIFT)) // SHIFT+CTRL + ; + else // CTRL + HandleTBJump(); + } + else if (_KeyDown(SHIFT)) // SHIFT + HandleTBJumpThroughWindow(); + else // Button + HandleTBShowCover(); +} + // sevenfm: these functions keep original mouse code functionality void HandleMouseTBWheel( void ) { @@ -8804,4 +8807,31 @@ void HandleTacticalTakeItem( void ) } } +void HandleTacticalReload() +{ + SOLDIERTYPE *pSoldier; + INT16 bAPs = 0; + if (gusSelectedSoldier != NOBODY) + pSoldier = MercPtrs[gusSelectedSoldier]; + else + return; + + // Do we have the ammo to reload? + // Check APs to reload... + bAPs = GetAPsToAutoReload(pSoldier); + + if (EnoughPoints(pSoldier, bAPs, 0, TRUE)) + { + // OK, we have some ammo we can reload.... reload now! + if (!AutoReload(pSoldier)) + { + // Do we say we could not reload gun...? + pSoldier->DoMercBattleSound(BATTLE_SOUND_CURSE1); + //TacticalCharacterDialogue( pSoldier, QUOTE_OUT_OF_AMMO ); + } + + // ATE: Re-examine cursor info! + gfUIForceReExamineCursorData = TRUE; + } +}