mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- fixed behaviour of the 's' key and 'walk' UI toggle. When you press 's now or click on the 'walk' icon the character(s) stand up (if not already standing) and go to walk mode. Before they could be stuck in running mode which had been activated previously.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7247 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+11
-1
@@ -1722,7 +1722,17 @@ UINT32 UIHandleMovementMenu( UI_EVENT *pUIEvent )
|
||||
|
||||
case MOVEMENT_MENU_WALK:
|
||||
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_STAND );
|
||||
if ( pSoldier->usUIMovementMode != WALKING && pSoldier->usUIMovementMode != RUNNING && pSoldier->usUIMovementMode != WALKING_WEAPON_RDY && pSoldier->usUIMovementMode != WALKING_DUAL_RDY && pSoldier->usUIMovementMode != WALKING_ALTERNATIVE_RDY )
|
||||
{
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_STAND );
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
pSoldier->usUIMovementMode = WALKING;
|
||||
gfPlotNewMovement = TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
case MOVEMENT_MENU_SWAT:
|
||||
|
||||
@@ -5967,7 +5967,7 @@ void ToggleMercsNeverQuit()
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// silversurfer: This function handles switching between prone, crouching and standing stance. Running is handled in function HandleTBSoldierRun().
|
||||
void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
||||
{
|
||||
// If we have multiple guys selected, make all change stance!
|
||||
@@ -5986,7 +5986,24 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
||||
{
|
||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||
{
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ubAnimHeight );
|
||||
// silversurfer: If we decide to stand up or press "s" again while we are standing we should reset movement to walk mode.
|
||||
// If we want to run we have to press "r" which is handled elsewhere.
|
||||
if ( ubAnimHeight == ANIM_STAND )
|
||||
{
|
||||
if ( pSoldier->usUIMovementMode != WALKING && pSoldier->usUIMovementMode != RUNNING && pSoldier->usUIMovementMode != WALKING_WEAPON_RDY && pSoldier->usUIMovementMode != WALKING_DUAL_RDY && pSoldier->usUIMovementMode != WALKING_ALTERNATIVE_RDY )
|
||||
{
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_STAND );
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
pSoldier->usUIMovementMode = WALKING;
|
||||
gfPlotNewMovement = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ubAnimHeight );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5994,7 +6011,28 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
||||
else
|
||||
{
|
||||
if( gusSelectedSoldier != NOBODY )
|
||||
UIHandleSoldierStanceChange( (UINT8)gusSelectedSoldier, ubAnimHeight );
|
||||
{
|
||||
pSoldier = MercPtrs[ (UINT8)gusSelectedSoldier ];
|
||||
|
||||
// silversurfer: If we decide to stand up or press "s" again while we are standing we should reset movement to walk mode.
|
||||
// If we want to run we have to press "r" which is handled elsewhere.
|
||||
if ( ubAnimHeight == ANIM_STAND )
|
||||
{
|
||||
if ( pSoldier->usUIMovementMode != WALKING && pSoldier->usUIMovementMode != RUNNING && pSoldier->usUIMovementMode != WALKING_WEAPON_RDY && pSoldier->usUIMovementMode != WALKING_DUAL_RDY && pSoldier->usUIMovementMode != WALKING_ALTERNATIVE_RDY )
|
||||
{
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_STAND );
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->flags.fUIMovementFast = 0;
|
||||
pSoldier->usUIMovementMode = WALKING;
|
||||
gfPlotNewMovement = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ubAnimHeight );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user