mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +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:
+48
-6
@@ -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())
|
||||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_CROUCH );
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_CROUCH);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ANIM_CROUCH)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_CROUCH);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MOVEMENT_MENU_PRONE:
|
case MOVEMENT_MENU_PRONE:
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_PRONE );
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ANIM_PRONE);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ANIM_PRONE)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UIHandleSoldierStanceChange(pSoldier->ubID, ANIM_PRONE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3128,8 +3160,18 @@ UINT32 UIHandlePADJAdjustStance( UI_EVENT *pUIEvent )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Set state to result
|
if (pSoldier->IsCowering())
|
||||||
UIHandleSoldierStanceChange( pSoldier->ubID, ubNewStance );
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ubNewStance);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ubNewStance)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set state to result
|
||||||
|
UIHandleSoldierStanceChange(pSoldier->ubID, ubNewStance);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Once we have APs, we can safely reset nomove flag!
|
// Once we have APs, we can safely reset nomove flag!
|
||||||
|
|||||||
@@ -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,13 +6143,32 @@ 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
|
||||||
UIHandleSoldierStanceChange( pSoldier->ubID, ubAnimHeight );
|
{
|
||||||
|
if (pSoldier->IsCowering())
|
||||||
|
{
|
||||||
|
pSoldier->StopCoweringAnimation();
|
||||||
|
UINT16 usNewState = pSoldier->GetNewSoldierStateFromNewStance(ubAnimHeight);
|
||||||
|
if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ubAnimHeight)
|
||||||
|
pSoldier->usPendingAnimation = usNewState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UIHandleSoldierStanceChange(pSoldier->ubID, ubAnimHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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