mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
MERGED source code from development trunk (revision: 4660)
- New big mercs with either Throwing trait or Show-Off personality use a slightly more fancy animation for throwing knives. (by Sandro & PasHancock) o New animation files: M_K_THRO2.sti git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@4661 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -69,6 +69,8 @@ static UINT16 JUMP_WALL_DOWN_AnimationScript[MAX_FRAMES_PER_ANIM] = { 44,43,42,4
|
|||||||
|
|
||||||
static UINT16 REMOTE_DET_AnimationScript[MAX_FRAMES_PER_ANIM] = { 1,2,3,4,484,4,5,6,1,442,499,999,0,0,0,0 }; // SANDRO - new animation of remote detonator by PasHancock
|
static UINT16 REMOTE_DET_AnimationScript[MAX_FRAMES_PER_ANIM] = { 1,2,3,4,484,4,5,6,1,442,499,999,0,0,0,0 }; // SANDRO - new animation of remote detonator by PasHancock
|
||||||
|
|
||||||
|
static UINT16 THROW_KNIFE_SP_BM_AnimationScript[MAX_FRAMES_PER_ANIM] = { 757,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,12,13,709,14,15,16,430,16,17,17,18,19,20,21,753,442,499,999,0,0,0,0 };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -989,6 +991,9 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
|||||||
|
|
||||||
{"JUMP WINDOWS" , 0, 50, (FLOAT)0, ANIM_NOCHANGE_PENDINGCOUNT | ANIM_NORESTART | ANIM_STATIONARY | ANIM_NOSHOW_MARKER | ANIM_MODERATE_EFFORT | ANIM_LOWER_WEAPON | ANIM_NONINTERRUPT, ANIM_STAND, ANIM_CROUCH, -1},
|
{"JUMP WINDOWS" , 0, 50, (FLOAT)0, ANIM_NOCHANGE_PENDINGCOUNT | ANIM_NORESTART | ANIM_STATIONARY | ANIM_NOSHOW_MARKER | ANIM_MODERATE_EFFORT | ANIM_LOWER_WEAPON | ANIM_NONINTERRUPT, ANIM_STAND, ANIM_CROUCH, -1},
|
||||||
|
|
||||||
|
//SPECIAL THROW KNIFE FOR BIG MALES
|
||||||
|
"THROW KNIFE 2" , 0, 50, (FLOAT)0, ANIM_STATIONARY | ANIM_NOMOVE_MARKER | ANIM_NONINTERRUPT | ANIM_MIN_EFFORT | ANIM_ATTACK , ANIM_STAND, ANIM_STAND, -1,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ANI_SPEED_DEF gubAnimWalkSpeeds[ TOTALBODYTYPES ] =
|
ANI_SPEED_DEF gubAnimWalkSpeeds[ TOTALBODYTYPES ] =
|
||||||
@@ -1677,6 +1682,7 @@ void InitAnimationSurfacesPerBodytype( )
|
|||||||
gubAnimSurfaceIndex[ BIGMALE ][ CUTTING_FENCE ] = BGMMEDIC;
|
gubAnimSurfaceIndex[ BIGMALE ][ CUTTING_FENCE ] = BGMMEDIC;
|
||||||
gubAnimSurfaceIndex[ BIGMALE ][ FROM_INJURED_TRANSITION ] = BGMHURTTRANS;
|
gubAnimSurfaceIndex[ BIGMALE ][ FROM_INJURED_TRANSITION ] = BGMHURTTRANS;
|
||||||
gubAnimSurfaceIndex[ BIGMALE ][ THROW_KNIFE ] = BGMTHROWKNIFE;
|
gubAnimSurfaceIndex[ BIGMALE ][ THROW_KNIFE ] = BGMTHROWKNIFE;
|
||||||
|
gubAnimSurfaceIndex[ BIGMALE ][ THROW_KNIFE_SP_BM ] = BGMTHROWKNIFE2;
|
||||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_BREATH ] = BGMBREATHKNIFE;
|
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_BREATH ] = BGMBREATHKNIFE;
|
||||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_GOTOBREATH ] = BGMBREATHKNIFE;
|
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_GOTOBREATH ] = BGMBREATHKNIFE;
|
||||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_ENDBREATH ] = BGMBREATHKNIFE;
|
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_ENDBREATH ] = BGMBREATHKNIFE;
|
||||||
@@ -3258,6 +3264,8 @@ BOOLEAN LoadAnimationStateInstructions( )
|
|||||||
|
|
||||||
memcpy(gusAnimInst[USE_REMOTE],REMOTE_DET_AnimationScript,sizeof(REMOTE_DET_AnimationScript)); // SANDRO - new animation of remote detonator by PasHancock
|
memcpy(gusAnimInst[USE_REMOTE],REMOTE_DET_AnimationScript,sizeof(REMOTE_DET_AnimationScript)); // SANDRO - new animation of remote detonator by PasHancock
|
||||||
|
|
||||||
|
memcpy(gusAnimInst[THROW_KNIFE_SP_BM],THROW_KNIFE_SP_BM_AnimationScript,sizeof(THROW_KNIFE_SP_BM_AnimationScript)); // SANDRO - new animation of remote detonator by PasHancock
|
||||||
|
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -560,6 +560,8 @@ enum AnimationStates
|
|||||||
|
|
||||||
JUMPWINDOWS,
|
JUMPWINDOWS,
|
||||||
|
|
||||||
|
THROW_KNIFE_SP_BM,
|
||||||
|
|
||||||
NUMANIMATIONSTATES
|
NUMANIMATIONSTATES
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -515,6 +515,9 @@ AnimationSurfaceType gAnimSurfaceDatabase[ NUMANIMATIONSURFACETYPES ] =
|
|||||||
RGMUSEREMOTE, "ANIMS\\S_MERC\\S_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
RGMUSEREMOTE, "ANIMS\\S_MERC\\S_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||||
BGMUSEREMOTE, "ANIMS\\M_MERC\\M_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
BGMUSEREMOTE, "ANIMS\\M_MERC\\M_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||||
RGFUSEREMOTE, "ANIMS\\F_MERC\\F_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
RGFUSEREMOTE, "ANIMS\\F_MERC\\F_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||||
|
|
||||||
|
BGMTHROWKNIFE, "ANIMS\\M_MERC\\M_K_THRO2.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -545,6 +545,8 @@ BGMWITHSTONE,
|
|||||||
BGMUSEREMOTE,
|
BGMUSEREMOTE,
|
||||||
RGFUSEREMOTE,
|
RGFUSEREMOTE,
|
||||||
|
|
||||||
|
BGMTHROWKNIFE2,
|
||||||
|
|
||||||
NUMANIMATIONSURFACETYPES
|
NUMANIMATIONSURFACETYPES
|
||||||
|
|
||||||
} AnimationSurfaceTypes;
|
} AnimationSurfaceTypes;
|
||||||
|
|||||||
@@ -11268,7 +11268,14 @@ void SOLDIERTYPE::EVENT_SoldierBeginKnifeThrowAttack( INT32 sGridNo, UINT8 ubDir
|
|||||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("!!!!!!! Starting knifethrow attack, bullets left %d", this->bBulletsLeft) );
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("!!!!!!! Starting knifethrow attack, bullets left %d", this->bBulletsLeft) );
|
||||||
DebugAttackBusy( String( "Begin knife throwing attack: ATB %d\n", gTacticalStatus.ubAttackBusyCount) );
|
DebugAttackBusy( String( "Begin knife throwing attack: ATB %d\n", gTacticalStatus.ubAttackBusyCount) );
|
||||||
|
|
||||||
this->EVENT_InitNewSoldierAnim( THROW_KNIFE, 0 , FALSE );
|
if ( this->ubBodyType == BIGMALE && ((this->ubProfile != NO_PROFILE && gMercProfiles[ this->ubProfile ].bCharacterTrait == CHAR_TRAIT_SHOWOFF) || (HAS_SKILL_TRAIT( this, THROWING_NT ) && gGameOptions.fNewTraitSystem) || (HAS_SKILL_TRAIT( this, THROWING_OT ) && !gGameOptions.fNewTraitSystem) ) )
|
||||||
|
{
|
||||||
|
this->EVENT_InitNewSoldierAnim( THROW_KNIFE_SP_BM, 0 , FALSE );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this->EVENT_InitNewSoldierAnim( THROW_KNIFE, 0 , FALSE );
|
||||||
|
}
|
||||||
|
|
||||||
// CHANGE DIRECTION AND GOTO ANIMATION NOW
|
// CHANGE DIRECTION AND GOTO ANIMATION NOW
|
||||||
this->EVENT_SetSoldierDesiredDirection( ubDirection );
|
this->EVENT_SetSoldierDesiredDirection( ubDirection );
|
||||||
@@ -11997,7 +12004,7 @@ void SOLDIERTYPE::HaultSoldierFromSighting( BOOLEAN fFromSightingEnemy )
|
|||||||
// ATE: Dave, don't kill me
|
// ATE: Dave, don't kill me
|
||||||
// Here, we need to handle the situation when we're throweing a knife and we see somebody
|
// Here, we need to handle the situation when we're throweing a knife and we see somebody
|
||||||
// cause for some reason throwing a knie does not use the pTempObject stuff that all other stuff does...
|
// cause for some reason throwing a knie does not use the pTempObject stuff that all other stuff does...
|
||||||
if ( this->usPendingAnimation == THROW_KNIFE )
|
if ( this->usPendingAnimation == THROW_KNIFE || this->usPendingAnimation == THROW_KNIFE_SP_BM )
|
||||||
{
|
{
|
||||||
// Decrement attack counter...
|
// Decrement attack counter...
|
||||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Reducing attacker busy count..., ending throw knife because saw something") );
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Reducing attacker busy count..., ending throw knife because saw something") );
|
||||||
|
|||||||
Reference in New Issue
Block a user