mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Fixed a pathing issue where a soldier would sometimes jump the wrong fence
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1034 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -626,6 +626,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
|||||||
// Only in realtime...
|
// Only in realtime...
|
||||||
//if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
//if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||||
// This has to be here to make guys continue along fence path
|
// This has to be here to make guys continue along fence path
|
||||||
|
#if 0
|
||||||
if ( pSoldier->sGridNo == pSoldier->sFinalDestination )
|
if ( pSoldier->sGridNo == pSoldier->sFinalDestination )
|
||||||
{
|
{
|
||||||
if ( gAnimControl[ pSoldier->usAnimState ].ubEndHeight != gAnimControl[ pSoldier->usUIMovementMode ].ubEndHeight )
|
if ( gAnimControl[ pSoldier->usAnimState ].ubEndHeight != gAnimControl[ pSoldier->usUIMovementMode ].ubEndHeight )
|
||||||
@@ -637,20 +638,15 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SoldierGotoStationaryStance( pSoldier );
|
//SoldierGotoStationaryStance( pSoldier );
|
||||||
|
|
||||||
// Set UI Busy
|
// Set UI Busy
|
||||||
UnSetUIBusy( pSoldier->ubID );
|
UnSetUIBusy( pSoldier->ubID );
|
||||||
|
|
||||||
// 0verhaul
|
//return( TRUE );
|
||||||
// I hate this kludgy stuff. We need to simplify the animation system so that things can be centralized
|
|
||||||
// and handled properly.
|
|
||||||
pSoldier->usPathIndex++;
|
|
||||||
// Kludge done
|
|
||||||
|
|
||||||
return( TRUE );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 445:
|
case 445:
|
||||||
|
|||||||
@@ -7029,7 +7029,17 @@ void BeginSoldierClimbFence( SOLDIERTYPE *pSoldier )
|
|||||||
{
|
{
|
||||||
INT8 bDirection;
|
INT8 bDirection;
|
||||||
|
|
||||||
if ( FindFenceJumpDirection( pSoldier, pSoldier->sGridNo, pSoldier->bDirection, &bDirection ) )
|
// Make sure we hop the correct fence to follow our path!
|
||||||
|
if (pSoldier->usPathIndex < pSoldier->usPathDataSize)
|
||||||
|
{
|
||||||
|
bDirection = (INT8) pSoldier->usPathingData[ pSoldier->usPathIndex];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bDirection = pSoldier->bDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( FindFenceJumpDirection( pSoldier, pSoldier->sGridNo, bDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
pSoldier->sTempNewGridNo = NewGridNo( (UINT16)pSoldier->sGridNo, (UINT16)DirectionInc(bDirection ) );
|
pSoldier->sTempNewGridNo = NewGridNo( (UINT16)pSoldier->sGridNo, (UINT16)DirectionInc(bDirection ) );
|
||||||
pSoldier->fDontChargeTurningAPs = TRUE;
|
pSoldier->fDontChargeTurningAPs = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user