From 189196eb79f1103e138c8044e306c3612a5233b1 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sat, 16 Dec 2006 20:38:37 +0000 Subject: [PATCH] - bugfix: Tracer bullets animation starts some tiles away of where the shooter is git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@648 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.suo | Bin 197632 -> 197632 bytes Tactical/LOS.cpp | 12 ++++++++---- Tactical/bullets.cpp | 24 +++++++++++++++++++++--- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/JA2.suo b/JA2.suo index e6f5f2d317d0131305fc249da85ff3cd0bb45b92..08184f806f9708362a0e5c423675e48a5922bb55 100644 GIT binary patch delta 2386 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[pFirer->ubAttackingHand].ubGunAmmoType ].tracerEffect && (pFirer->bDoBurst || gGameSettings.fOptions[ TOPTION_TRACERS_FOR_SINGLE_FIRE ]) ) { - usBulletFlags |= BULLET_FLAG_TRACER; + //usBulletFlags |= BULLET_FLAG_TRACER; + fTracer = TRUE; } ubImpact =(UINT8) GetDamage(&pFirer->inv[pFirer->ubAttackingHand]); @@ -4256,7 +4260,7 @@ void MoveBullet( INT32 iBullet ) return; } - if ( pBullet->usFlags & ( BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT | BULLET_FLAG_TRACER ) ) + if (( pBullet->usFlags & ( BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT /*| BULLET_FLAG_TRACER*/ ) ) || fTracer == TRUE) { INT8 bStepsPerMove = STEPS_FOR_BULLET_MOVE_TRAILS; @@ -4541,11 +4545,11 @@ void MoveBullet( INT32 iBullet ) pBullet->iCurrCubesZ = CONVERT_HEIGHTUNITS_TO_INDEX( FIXEDPT_TO_INT32( pBullet->qCurrZ ) ); pBullet->iLoop++; - if ( pBullet->usFlags & ( BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT | BULLET_FLAG_TRACER ) ) + if (( pBullet->usFlags & ( BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT /*| BULLET_FLAG_TRACER */) ) || fTracer == TRUE) { INT8 bStepsPerMove = STEPS_FOR_BULLET_MOVE_TRAILS; - if ( pBullet->usFlags & ( BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TRACER ) ) + if (( pBullet->usFlags & ( BULLET_FLAG_SMALL_MISSILE /*| BULLET_FLAG_TRACER*/ ) ) || fTracer == TRUE) { bStepsPerMove = STEPS_FOR_BULLET_MOVE_SMALL_TRAILS; } diff --git a/Tactical/bullets.cpp b/Tactical/bullets.cpp index e418517d3..9879d2d4a 100644 --- a/Tactical/bullets.cpp +++ b/Tactical/bullets.cpp @@ -35,6 +35,7 @@ // GLOBAL FOR FACES LISTING BULLET gBullets[ NUM_BULLET_SLOTS ]; UINT32 guiNumBullets = 0; +BOOLEAN fTracer = FALSE; INT32 GetFreeBullet(void) @@ -255,7 +256,7 @@ void UpdateBullets( ) { // ALRIGHTY, CHECK WHAT TYPE OF BULLET WE ARE - if ( gBullets[ uiCount ].usFlags & ( BULLET_FLAG_CREATURE_SPIT | BULLET_FLAG_KNIFE | BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_TRACER ) ) + if ( gBullets[ uiCount ].usFlags & ( BULLET_FLAG_CREATURE_SPIT | BULLET_FLAG_KNIFE | BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME /*| BULLET_FLAG_TRACER*/ ) ) { } else @@ -302,10 +303,18 @@ void UpdateBullets( ) else if ( gBullets[ uiCount ].usFlags & ( BULLET_FLAG_MISSILE | BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_TANK_CANNON | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT ) ) { } + /* else if ( gBullets[ uiCount ].usFlags & ( BULLET_FLAG_TRACER ) ) { ManLooksForOtherTeams(gBullets[ uiCount ].pFirer); } + */ + /* + else if (fTracer == TRUE) + { + ManLooksForOtherTeams(gBullets[ uiCount ].pFirer); + } + */ else { pNode = AddStructToTail( gBullets[ uiCount ].sGridNo, BULLETTILE1 ); @@ -363,7 +372,15 @@ void AddMissileTrail( BULLET *pBullet, FIXEDPT qCurrX, FIXEDPT qCurrY, FIXEDPT q ANITILE_PARAMS AniParams; // If we are a small missle, don't show - if ( pBullet->usFlags & ( BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT | BULLET_FLAG_TRACER ) ) + if ( pBullet->usFlags & ( BULLET_FLAG_SMALL_MISSILE | BULLET_FLAG_FLAME | BULLET_FLAG_CREATURE_SPIT /*| BULLET_FLAG_TRACER*/ ) ) + { + if ( pBullet->iLoop < 5 ) + { + return; + } + } + + if (fTracer == TRUE) { if ( pBullet->iLoop < 5 ) { @@ -409,7 +426,8 @@ void AddMissileTrail( BULLET *pBullet, FIXEDPT qCurrX, FIXEDPT qCurrY, FIXEDPT q strcpy( AniParams.zCachedFile, "TILECACHE\\FLMTHR2.STI" ); AniParams.sDelay = (INT16)( 100 ); } - else if ( pBullet->usFlags & ( BULLET_FLAG_TRACER ) ) + //else if ( pBullet->usFlags & ( BULLET_FLAG_TRACER ) ) + else if (fTracer == TRUE) { strcpy( AniParams.zCachedFile, "TILECACHE\\BULLET_TRACER.STI" ); AniParams.uiFlags |= ANITILE_LIGHT;