mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
When changing stance from UI, first stop cowering.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8930 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+44
-2
@@ -1819,6 +1819,13 @@ UINT32 UIHandleMovementMenu( UI_EVENT *pUIEvent )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_STAND);
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
|
||||||
pSoldier->flags.fUIMovementFast = 1;
|
pSoldier->flags.fUIMovementFast = 1;
|
||||||
pSoldier->usUIMovementMode = RUNNING;
|
pSoldier->usUIMovementMode = RUNNING;
|
||||||
gfPlotNewMovement = TRUE;
|
gfPlotNewMovement = TRUE;
|
||||||
@@ -1834,6 +1841,13 @@ UINT32 UIHandleMovementMenu( UI_EVENT *pUIEvent )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_STAND);
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
|
||||||
pSoldier->flags.fUIMovementFast = 0;
|
pSoldier->flags.fUIMovementFast = 0;
|
||||||
pSoldier->usUIMovementMode = WALKING;
|
pSoldier->usUIMovementMode = WALKING;
|
||||||
gfPlotNewMovement = TRUE;
|
gfPlotNewMovement = TRUE;
|
||||||
@@ -1841,13 +1855,31 @@ UINT32 UIHandleMovementMenu( UI_EVENT *pUIEvent )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MOVEMENT_MENU_SWAT:
|
case MOVEMENT_MENU_SWAT:
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_CROUCH);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ANIM_CROUCH)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_CROUCH);
|
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_CROUCH);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MOVEMENT_MENU_PRONE:
|
case MOVEMENT_MENU_PRONE:
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_PRONE);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ANIM_PRONE)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_PRONE);
|
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_PRONE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3127,10 +3159,20 @@ UINT32 UIHandlePADJAdjustStance( UI_EVENT *pUIEvent )
|
|||||||
pSoldier->BeginSoldierClimbDownRoof( );
|
pSoldier->BeginSoldierClimbDownRoof( );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ubNewStance);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ubNewStance)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
// Set state to result
|
// Set state to result
|
||||||
UIHandleSoldierStanceChange(pSoldier->ubID, ubNewStance);
|
UIHandleSoldierStanceChange(pSoldier->ubID, ubNewStance);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Once we have APs, we can safely reset nomove flag!
|
// Once we have APs, we can safely reset nomove flag!
|
||||||
// AdjustNoAPToFinishMove( pSoldier, FALSE );
|
// AdjustNoAPToFinishMove( pSoldier, FALSE );
|
||||||
|
|||||||
@@ -6132,7 +6132,6 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
|||||||
if( gusSelectedSoldier != NOBODY )
|
if( gusSelectedSoldier != NOBODY )
|
||||||
{
|
{
|
||||||
pSoldier = MercPtrs[ (UINT8)gusSelectedSoldier ];
|
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.
|
// 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 we want to run we have to press "r" which is handled elsewhere.
|
||||||
if ( ubAnimHeight == ANIM_STAND )
|
if ( ubAnimHeight == ANIM_STAND )
|
||||||
@@ -6144,16 +6143,35 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ubAnimHeight);
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
|
||||||
pSoldier->flags.fUIMovementFast = 0;
|
pSoldier->flags.fUIMovementFast = 0;
|
||||||
pSoldier->usUIMovementMode = WALKING;
|
pSoldier->usUIMovementMode = WALKING;
|
||||||
gfPlotNewMovement = TRUE;
|
gfPlotNewMovement = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ubAnimHeight);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ubAnimHeight)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
UIHandleSoldierStanceChange(pSoldier->ubID, ubAnimHeight);
|
UIHandleSoldierStanceChange(pSoldier->ubID, ubAnimHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ToggleStealthMode( SOLDIERTYPE *pSoldier )
|
void ToggleStealthMode( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
@@ -8124,6 +8142,13 @@ void HandleTBSoldierRun( void )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_STAND);
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
|
||||||
pSoldier->flags.fUIMovementFast = 1;
|
pSoldier->flags.fUIMovementFast = 1;
|
||||||
pSoldier->usUIMovementMode = RUNNING;
|
pSoldier->usUIMovementMode = RUNNING;
|
||||||
gfPlotNewMovement = TRUE;
|
gfPlotNewMovement = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user