mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
ESC for multiple selected mercs: first stop mercs, next press unready weapon.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9358 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+11
-4
@@ -5911,14 +5911,16 @@ void EndMultiSoldierSelection( BOOLEAN fAcknowledge )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void StopRubberBandedMercFromMoving( )
|
BOOLEAN StopRubberBandedMercFromMoving(void)
|
||||||
{
|
{
|
||||||
if ( !gTacticalStatus.fAtLeastOneGuyOnMultiSelect || ( gTacticalStatus.uiFlags & INCOMBAT ) )
|
if ( !gTacticalStatus.fAtLeastOneGuyOnMultiSelect || ( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||||
{
|
{
|
||||||
return;
|
return FALSE;
|
||||||
}
|
}
|
||||||
SOLDIERTYPE * pSoldier;
|
|
||||||
INT32 cnt;
|
SOLDIERTYPE *pSoldier;
|
||||||
|
INT32 cnt;
|
||||||
|
BOOLEAN fFound = FALSE;
|
||||||
|
|
||||||
// OK, loop through all guys who are 'multi-selected' and
|
// OK, loop through all guys who are 'multi-selected' and
|
||||||
// check if our currently selected guy is among the
|
// check if our currently selected guy is among the
|
||||||
@@ -5930,6 +5932,10 @@ void StopRubberBandedMercFromMoving( )
|
|||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
{
|
{
|
||||||
|
if (!(gAnimControl[pSoldier->usAnimState].uiFlags & ANIM_STATIONARY))
|
||||||
|
{
|
||||||
|
fFound = TRUE;
|
||||||
|
}
|
||||||
pSoldier->flags.fDelayedMovement = FALSE;
|
pSoldier->flags.fDelayedMovement = FALSE;
|
||||||
pSoldier->pathing.sFinalDestination = pSoldier->sGridNo;
|
pSoldier->pathing.sFinalDestination = pSoldier->sGridNo;
|
||||||
pSoldier->StopSoldier( );
|
pSoldier->StopSoldier( );
|
||||||
@@ -5937,6 +5943,7 @@ void StopRubberBandedMercFromMoving( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return fFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ void ChangeInterfaceLevel( INT16 sLevel );
|
|||||||
void EndRubberBanding( );
|
void EndRubberBanding( );
|
||||||
void ResetMultiSelection( );
|
void ResetMultiSelection( );
|
||||||
void EndMultiSoldierSelection( BOOLEAN fAcknowledge );
|
void EndMultiSoldierSelection( BOOLEAN fAcknowledge );
|
||||||
void StopRubberBandedMercFromMoving( );
|
BOOLEAN StopRubberBandedMercFromMoving(void);
|
||||||
|
|
||||||
BOOLEAN SelectedGuyInBusyAnimation( );
|
BOOLEAN SelectedGuyInBusyAnimation( );
|
||||||
|
|
||||||
|
|||||||
@@ -2214,16 +2214,19 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
if (gTacticalStatus.fAtLeastOneGuyOnMultiSelect)
|
if (gTacticalStatus.fAtLeastOneGuyOnMultiSelect)
|
||||||
{
|
{
|
||||||
// ATE: OK, stop any mercs who are moving by selection method....
|
// ATE: OK, stop any mercs who are moving by selection method....
|
||||||
StopRubberBandedMercFromMoving();
|
BOOLEAN fFound = StopRubberBandedMercFromMoving();
|
||||||
|
|
||||||
// sevenfm: unready weapon for all selected
|
// sevenfm: unready weapon for all selected
|
||||||
UINT8 cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
if (!fFound)
|
||||||
for (SOLDIERTYPE *pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[gbPlayerNum].bLastID; cnt++, pSoldier++)
|
|
||||||
{
|
{
|
||||||
if (pSoldier->bActive && pSoldier->bInSector && pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED && WeaponReady(pSoldier))
|
UINT8 cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||||
|
for (SOLDIERTYPE *pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[gbPlayerNum].bLastID; cnt++, pSoldier++)
|
||||||
{
|
{
|
||||||
pSoldier->InternalSoldierReadyWeapon(pSoldier->ubDirection, TRUE, FALSE);
|
if (pSoldier->bActive && pSoldier->bInSector && pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED && WeaponReady(pSoldier))
|
||||||
HandleSight(pSoldier, SIGHT_LOOK);
|
{
|
||||||
|
pSoldier->InternalSoldierReadyWeapon(pSoldier->ubDirection, TRUE, FALSE);
|
||||||
|
HandleSight(pSoldier, SIGHT_LOOK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user