New animations: added animations for crouched walking with weapons aimed for all merc bodytypes (made by Taro)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8496 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2017-10-15 17:10:49 +00:00
parent d701f26919
commit 5bdd23ac13
10 changed files with 310 additions and 48 deletions
+9 -9
View File
@@ -15,9 +15,9 @@
#ifdef JA2EDITOR #ifdef JA2EDITOR
#ifdef JA2UB #ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8495 (Development Build)" };
#else #else
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8495 (Development Build)" };
#endif #endif
// ------------------------------ // ------------------------------
@@ -27,11 +27,11 @@
//DEBUG BUILD VERSION //DEBUG BUILD VERSION
#ifdef JA2UB #ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8495 (Development Build)" };
#elif defined (JA113DEMO) #elif defined (JA113DEMO)
CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8495 (Development Build)" };
#else #else
CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8495 (Development Build)" };
#endif #endif
#elif defined CRIPPLED_VERSION #elif defined CRIPPLED_VERSION
@@ -46,16 +46,16 @@
//RELEASE BUILD VERSION //RELEASE BUILD VERSION
#ifdef JA2UB #ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8495 (Development Build)" };
#elif defined (JA113DEMO) #elif defined (JA113DEMO)
CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8495 (Development Build)" };
#else #else
CHAR16 zVersionLabel[256] = { L"Release v1.13.8478 (Development Build)" }; CHAR16 zVersionLabel[256] = { L"Release v1.13.8495 (Development Build)" };
#endif #endif
#endif #endif
CHAR8 czVersionNumber[16] = { "Build 17.09.23" }; //YY.MM.DD CHAR8 czVersionNumber[16] = { "Build 17.10.07" }; //YY.MM.DD
CHAR16 zTrackingNumber[16] = { L"Z" }; CHAR16 zTrackingNumber[16] = { L"Z" };
// SAVE_GAME_VERSION is defined in header, change it there // SAVE_GAME_VERSION is defined in header, change it there
+57 -4
View File
@@ -104,6 +104,10 @@ static UINT16 CRYO_DEATH_CROUCHED_AnimationScript[MAX_FRAMES_PER_ANIM] = {1, 2,
static UINT16 BAYONET_STAB_STANDING_VS_STANDING_AnimationScript[MAX_FRAMES_PER_ANIM] = {757, 1, 2, 3, 4, 5, 6, 7, 727, 492, 8, 9, 430, 10, 11, 12, 13, 14, 15, 16, 17, 442, 1038, 494, 0}; static UINT16 BAYONET_STAB_STANDING_VS_STANDING_AnimationScript[MAX_FRAMES_PER_ANIM] = {757, 1, 2, 3, 4, 5, 6, 7, 727, 492, 8, 9, 430, 10, 11, 12, 13, 14, 15, 16, 17, 442, 1038, 494, 0};
static UINT16 BAYONET_STAB_STANDING_VS_PRONE_AnimationScript[MAX_FRAMES_PER_ANIM] = { 757, 1, 2, 3, 4, 5, 6, 7, 727, 492, 8, 9, 430, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 442, 1038, 494, 0 }; static UINT16 BAYONET_STAB_STANDING_VS_PRONE_AnimationScript[MAX_FRAMES_PER_ANIM] = { 757, 1, 2, 3, 4, 5, 6, 7, 727, 492, 8, 9, 430, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 442, 1038, 494, 0 };
static UINT16 CROUCHEDMOVE_RIFLE_READY_AnimationScript[MAX_FRAMES_PER_ANIM] = { 5, 703, 6, 7, 8, 9, 10, 11, 704, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 501, 999, 0 };
static UINT16 CROUCHEDMOVE_PISTOL_READY_AnimationScript[MAX_FRAMES_PER_ANIM] = { 5, 703, 6, 7, 8, 9, 10, 11, 704, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 501, 999, 0 };
static UINT16 CROUCHEDMOVE_DUAL_READY_AnimationScript[MAX_FRAMES_PER_ANIM] = { 5, 703, 6, 7, 8, 9, 10, 11, 704, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 501, 999, 0 };
ANI_SPEED_DEF gubAnimCrawlSpeeds[ TOTALBODYTYPES ]; ANI_SPEED_DEF gubAnimCrawlSpeeds[ TOTALBODYTYPES ];
//Block for anim file //Block for anim file
UINT16 gusAnimInst[ MAX_ANIMATIONS ][ MAX_FRAMES_PER_ANIM ]; UINT16 gusAnimInst[ MAX_ANIMATIONS ][ MAX_FRAMES_PER_ANIM ];
@@ -1029,9 +1033,19 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
"SIDE STEPPING WITH RIFLE RDY" , 0, 50, (FLOAT)0.4, ANIM_MOVING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1, "SIDE STEPPING WITH RIFLE RDY" , 0, 50, (FLOAT)0.4, ANIM_MOVING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1,
"SIDE STEPPING WITH DUAL RDY" , 0, 50, (FLOAT)0.4, ANIM_MOVING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1, "SIDE STEPPING WITH DUAL RDY" , 0, 50, (FLOAT)0.4, ANIM_MOVING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1,
// SIDE_STEP_CROUCH_
{ "SIDE_STEP_CROUCH_RIFLE_RDY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
{ "SIDE_STEP_CROUCH_PISTOL_RDY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
{ "SIDE_STEP_CROUCH_DUAL_RDY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
//WALKING WITH READIED WEAPON //WALKING WITH READIED WEAPON
{"WALKING WITH RIFLE RDY" , 20, 0, (FLOAT)1.6, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1}, {"WALKING WITH RIFLE RDY" , 20, 0, (FLOAT)1.6, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1},
{"WALKING WITH DUAL RDY" , 20, 0, (FLOAT)1.6, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1}, {"WALKING WITH DUAL RDY" , 20, 0, (FLOAT)1.6, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_STAND, ANIM_STAND, -1},
// CROUCHED WITH READIED WEAPON
{ "CROUCHEDMOVE_RIFLE_READY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
{ "CROUCHEDMOVE_PISTOL_READY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
{ "CROUCHEDMOVE_DUAL_READY", 0, 0, ( FLOAT )2.2, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_FIREREADY | ANIM_RAISE_WEAPON | ANIM_VARIABLE_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1 },
//GIVING AID WHILE PRONE //GIVING AID WHILE PRONE
{"PRN START AID" , 0, 90, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_FASTTURN | ANIM_NORESTART | ANIM_NONINTERRUPT | ANIM_LOWER_WEAPON | ANIM_LIGHT_EFFORT , ANIM_PRONE, ANIM_PRONE, -1}, {"PRN START AID" , 0, 90, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_FASTTURN | ANIM_NORESTART | ANIM_NONINTERRUPT | ANIM_LOWER_WEAPON | ANIM_LIGHT_EFFORT , ANIM_PRONE, ANIM_PRONE, -1},
@@ -1499,10 +1513,18 @@ void InitAnimationSurfacesPerBodytype( )
gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_WEAPON_RDY ] = RGMSIDESTEP_R_RDY; gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_WEAPON_RDY ] = RGMSIDESTEP_R_RDY;
gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_DUAL_RDY ] = RGMSIDESTEP_D_RDY; gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_DUAL_RDY ] = RGMSIDESTEP_D_RDY;
gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_CROUCH_RIFLE ] = RGMSIDESTEP_CROUCH_R_RDY;
gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_CROUCH_PISTOL ] = RGMSIDESTEP_CROUCH_P_RDY;
gubAnimSurfaceIndex[ REGMALE ][ SIDE_STEP_CROUCH_DUAL ] = RGMSIDESTEP_CROUCH_D_RDY;
gubAnimSurfaceIndex[ REGMALE ][ WALKING_WEAPON_RDY ] = RGMWALK_R_RDY; gubAnimSurfaceIndex[ REGMALE ][ WALKING_WEAPON_RDY ] = RGMWALK_R_RDY;
gubAnimSurfaceIndex[ REGMALE ][ WALKING_DUAL_RDY ] = RGMWALK_D_RDY; gubAnimSurfaceIndex[ REGMALE ][ WALKING_DUAL_RDY ] = RGMWALK_D_RDY;
gubAnimSurfaceIndex[ REGMALE ][ CROUCHEDMOVE_RIFLE_READY ] = RGMCROUCH_R_RDY;
gubAnimSurfaceIndex[ REGMALE ][ CROUCHEDMOVE_PISTOL_READY ] = RGMCROUCH_P_RDY;
gubAnimSurfaceIndex[ REGMALE ][ CROUCHEDMOVE_DUAL_READY ] = RGMCROUCH_D_RDY;
gubAnimSurfaceIndex[ REGMALE ][ START_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ REGMALE ][ START_AID_PRN ] = RGMMEDICPRN;
gubAnimSurfaceIndex[ REGMALE ][ GIVING_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ REGMALE ][ GIVING_AID_PRN ] = RGMMEDICPRN;
gubAnimSurfaceIndex[ REGMALE ][ END_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ REGMALE ][ END_AID_PRN ] = RGMMEDICPRN;
@@ -1943,10 +1965,18 @@ void InitAnimationSurfacesPerBodytype( )
gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_WEAPON_RDY ] = BGMSIDESTEP_R_RDY; gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_WEAPON_RDY ] = BGMSIDESTEP_R_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_DUAL_RDY ] = BGMSIDESTEP_D_RDY; gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_DUAL_RDY ] = BGMSIDESTEP_D_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_CROUCH_RIFLE ] = BGMSIDESTEP_CROUCH_R_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_CROUCH_PISTOL ] = BGMSIDESTEP_CROUCH_P_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ SIDE_STEP_CROUCH_DUAL ] = BGMSIDESTEP_CROUCH_D_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ WALKING_WEAPON_RDY ] = BGMWALK_R_RDY; gubAnimSurfaceIndex[ BIGMALE ][ WALKING_WEAPON_RDY ] = BGMWALK_R_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ WALKING_DUAL_RDY ] = BGMWALK_D_RDY; gubAnimSurfaceIndex[ BIGMALE ][ WALKING_DUAL_RDY ] = BGMWALK_D_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ CROUCHEDMOVE_RIFLE_READY ] = BGMCROUCH_R_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ CROUCHEDMOVE_PISTOL_READY ] = BGMCROUCH_P_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ CROUCHEDMOVE_DUAL_READY ] = BGMCROUCH_D_RDY;
gubAnimSurfaceIndex[ BIGMALE ][ START_AID_PRN ] = BGMMEDICPRN; gubAnimSurfaceIndex[ BIGMALE ][ START_AID_PRN ] = BGMMEDICPRN;
gubAnimSurfaceIndex[ BIGMALE ][ GIVING_AID_PRN ] = BGMMEDICPRN; gubAnimSurfaceIndex[ BIGMALE ][ GIVING_AID_PRN ] = BGMMEDICPRN;
gubAnimSurfaceIndex[ BIGMALE ][ END_AID_PRN ] = BGMMEDICPRN; gubAnimSurfaceIndex[ BIGMALE ][ END_AID_PRN ] = BGMMEDICPRN;
@@ -2412,10 +2442,18 @@ void InitAnimationSurfacesPerBodytype( )
gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_WEAPON_RDY ] = RGMSIDESTEP_R_RDY; gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_WEAPON_RDY ] = RGMSIDESTEP_R_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_DUAL_RDY ] = RGMSIDESTEP_D_RDY; gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_DUAL_RDY ] = RGMSIDESTEP_D_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_CROUCH_RIFLE ] = RGMSIDESTEP_CROUCH_R_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_CROUCH_PISTOL ] = RGMSIDESTEP_CROUCH_P_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ SIDE_STEP_CROUCH_DUAL ] = RGMSIDESTEP_CROUCH_D_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ WALKING_WEAPON_RDY ] = RGMWALK_R_RDY; gubAnimSurfaceIndex[ STOCKYMALE ][ WALKING_WEAPON_RDY ] = RGMWALK_R_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ WALKING_DUAL_RDY ] = RGMWALK_D_RDY; gubAnimSurfaceIndex[ STOCKYMALE ][ WALKING_DUAL_RDY ] = RGMWALK_D_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ CROUCHEDMOVE_RIFLE_READY ] = RGMCROUCH_R_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ CROUCHEDMOVE_PISTOL_READY ] = RGMCROUCH_P_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ CROUCHEDMOVE_DUAL_READY ] = RGMCROUCH_D_RDY;
gubAnimSurfaceIndex[ STOCKYMALE ][ START_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ STOCKYMALE ][ START_AID_PRN ] = RGMMEDICPRN;
gubAnimSurfaceIndex[ STOCKYMALE ][ GIVING_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ STOCKYMALE ][ GIVING_AID_PRN ] = RGMMEDICPRN;
gubAnimSurfaceIndex[ STOCKYMALE ][ END_AID_PRN ] = RGMMEDICPRN; gubAnimSurfaceIndex[ STOCKYMALE ][ END_AID_PRN ] = RGMMEDICPRN;
@@ -2850,12 +2888,20 @@ void InitAnimationSurfacesPerBodytype( )
gubAnimSurfaceIndex[ REGFEMALE ][ JUMPWINDOWS ] = RGFJUMPWINDOWS; gubAnimSurfaceIndex[ REGFEMALE ][ JUMPWINDOWS ] = RGFJUMPWINDOWS;
gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_WEAPON_RDY ] = RGFSIDESTEP_R_RDY; gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_WEAPON_RDY ] = RGFSIDESTEP_R_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_DUAL_RDY ] = RGFSIDESTEP_D_RDY; gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_DUAL_RDY ] = RGFSIDESTEP_D_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_CROUCH_RIFLE ] = RGFSIDESTEP_CROUCH_R_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_CROUCH_PISTOL ] = RGFSIDESTEP_CROUCH_P_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ SIDE_STEP_CROUCH_DUAL ] = RGFSIDESTEP_CROUCH_D_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ WALKING_WEAPON_RDY ] = RGFWALK_R_RDY; gubAnimSurfaceIndex[ REGFEMALE ][ WALKING_WEAPON_RDY ] = RGFWALK_R_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ WALKING_DUAL_RDY ] = RGFWALK_D_RDY; gubAnimSurfaceIndex[ REGFEMALE ][ WALKING_DUAL_RDY ] = RGFWALK_D_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ CROUCHEDMOVE_RIFLE_READY ] = RGFCROUCH_R_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ CROUCHEDMOVE_PISTOL_READY ] = RGFCROUCH_P_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ CROUCHEDMOVE_DUAL_READY ] = RGFCROUCH_D_RDY;
gubAnimSurfaceIndex[ REGFEMALE ][ START_AID_PRN ] = RGFMEDICPRN; gubAnimSurfaceIndex[ REGFEMALE ][ START_AID_PRN ] = RGFMEDICPRN;
gubAnimSurfaceIndex[ REGFEMALE ][ GIVING_AID_PRN ] = RGFMEDICPRN; gubAnimSurfaceIndex[ REGFEMALE ][ GIVING_AID_PRN ] = RGFMEDICPRN;
gubAnimSurfaceIndex[ REGFEMALE ][ END_AID_PRN ] = RGFMEDICPRN; gubAnimSurfaceIndex[ REGFEMALE ][ END_AID_PRN ] = RGFMEDICPRN;
@@ -3744,9 +3790,16 @@ BOOLEAN LoadAnimationStateInstructions( )
memcpy(gusAnimInst[SIDE_STEP_WEAPON_RDY],fuckTheBoundz[SIDE_STEP],sizeof(fuckTheBoundz[SIDE_STEP])); memcpy(gusAnimInst[SIDE_STEP_WEAPON_RDY],fuckTheBoundz[SIDE_STEP],sizeof(fuckTheBoundz[SIDE_STEP]));
memcpy(gusAnimInst[SIDE_STEP_DUAL_RDY],fuckTheBoundz[SIDE_STEP],sizeof(fuckTheBoundz[SIDE_STEP])); memcpy(gusAnimInst[SIDE_STEP_DUAL_RDY],fuckTheBoundz[SIDE_STEP],sizeof(fuckTheBoundz[SIDE_STEP]));
memcpy( gusAnimInst[SIDE_STEP_CROUCH_RIFLE], fuckTheBoundz[SIDE_STEP], sizeof( fuckTheBoundz[SIDE_STEP] ) );
memcpy( gusAnimInst[SIDE_STEP_CROUCH_PISTOL], fuckTheBoundz[SIDE_STEP], sizeof( fuckTheBoundz[SIDE_STEP] ) );
memcpy( gusAnimInst[SIDE_STEP_CROUCH_DUAL], fuckTheBoundz[SIDE_STEP], sizeof( fuckTheBoundz[SIDE_STEP] ) );
memcpy(gusAnimInst[WALKING_WEAPON_RDY],fuckTheBoundz[WALKING],sizeof(fuckTheBoundz[WALKING])); memcpy(gusAnimInst[WALKING_WEAPON_RDY],fuckTheBoundz[WALKING],sizeof(fuckTheBoundz[WALKING]));
memcpy(gusAnimInst[WALKING_DUAL_RDY],fuckTheBoundz[WALKING],sizeof(fuckTheBoundz[WALKING])); memcpy(gusAnimInst[WALKING_DUAL_RDY],fuckTheBoundz[WALKING],sizeof(fuckTheBoundz[WALKING]));
memcpy(gusAnimInst[CROUCHEDMOVE_RIFLE_READY], CROUCHEDMOVE_RIFLE_READY_AnimationScript, sizeof( CROUCHEDMOVE_RIFLE_READY_AnimationScript ));
memcpy(gusAnimInst[CROUCHEDMOVE_PISTOL_READY], CROUCHEDMOVE_PISTOL_READY_AnimationScript, sizeof( CROUCHEDMOVE_PISTOL_READY_AnimationScript ) );
memcpy(gusAnimInst[CROUCHEDMOVE_DUAL_READY], CROUCHEDMOVE_DUAL_READY_AnimationScript, sizeof( CROUCHEDMOVE_DUAL_READY_AnimationScript ) );
memcpy(gusAnimInst[START_AID_PRN],PRONE_START_FIRST_AID_AnimationScript,sizeof(PRONE_START_FIRST_AID_AnimationScript)); memcpy(gusAnimInst[START_AID_PRN],PRONE_START_FIRST_AID_AnimationScript,sizeof(PRONE_START_FIRST_AID_AnimationScript));
memcpy(gusAnimInst[GIVING_AID_PRN],PRONE_GIVE_FIRST_AID_AnimationScript,sizeof(PRONE_GIVE_FIRST_AID_AnimationScript)); memcpy(gusAnimInst[GIVING_AID_PRN],PRONE_GIVE_FIRST_AID_AnimationScript,sizeof(PRONE_GIVE_FIRST_AID_AnimationScript));
+6
View File
@@ -567,9 +567,15 @@ enum AnimationStates
SIDE_STEP_WEAPON_RDY, SIDE_STEP_WEAPON_RDY,
SIDE_STEP_DUAL_RDY, SIDE_STEP_DUAL_RDY,
SIDE_STEP_CROUCH_RIFLE,
SIDE_STEP_CROUCH_PISTOL,
SIDE_STEP_CROUCH_DUAL,
WALKING_WEAPON_RDY, WALKING_WEAPON_RDY,
WALKING_DUAL_RDY, WALKING_DUAL_RDY,
CROUCHEDMOVE_RIFLE_READY,
CROUCHEDMOVE_PISTOL_READY,
CROUCHEDMOVE_DUAL_READY,
START_AID_PRN, START_AID_PRN,
GIVING_AID_PRN, GIVING_AID_PRN,
+24
View File
@@ -543,20 +543,44 @@ AnimationSurfaceType gAnimSurfaceDatabase[ NUMANIMATIONSURFACETYPES ] =
RGFSIDESTEP_P_RDY, "ANIMS\\F_MERC\\F_P_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFSIDESTEP_P_RDY, "ANIMS\\F_MERC\\F_P_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFSIDESTEP_R_RDY, "ANIMS\\F_MERC\\F_R_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFSIDESTEP_R_RDY, "ANIMS\\F_MERC\\F_R_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFSIDESTEP_D_RDY, "ANIMS\\F_MERC\\F_DBL_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFSIDESTEP_D_RDY, "ANIMS\\F_MERC\\F_DBL_RDY_SDSP.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMSIDESTEP_CROUCH_R_RDY, "ANIMS\\S_MERC\\s_rifle_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMSIDESTEP_CROUCH_P_RDY, "ANIMS\\S_MERC\\s_pistol_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMSIDESTEP_CROUCH_D_RDY, "ANIMS\\S_MERC\\s_dual_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMSIDESTEP_CROUCH_R_RDY, "ANIMS\\M_MERC\\m_rifle_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMSIDESTEP_CROUCH_P_RDY, "ANIMS\\M_MERC\\m_pistol_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMSIDESTEP_CROUCH_D_RDY, "ANIMS\\M_MERC\\m_dual_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFSIDESTEP_CROUCH_R_RDY, "ANIMS\\F_MERC\\f_rifle_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFSIDESTEP_CROUCH_P_RDY, "ANIMS\\F_MERC\\f_pistol_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFSIDESTEP_CROUCH_D_RDY, "ANIMS\\F_MERC\\f_dual_crouch_sidestep.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMWALK_P_RDY, "ANIMS\\S_MERC\\S_P_RDY_WALK.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGMWALK_P_RDY, "ANIMS\\S_MERC\\S_P_RDY_WALK.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMWALK_R_RDY, "ANIMS\\S_MERC\\S_R_RDY_WALK.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGMWALK_R_RDY, "ANIMS\\S_MERC\\S_R_RDY_WALK.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMWALK_D_RDY, "ANIMS\\S_MERC\\S_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGMWALK_D_RDY, "ANIMS\\S_MERC\\S_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMCROUCH_R_RDY, "ANIMS\\S_MERC\\s_rifle_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMCROUCH_P_RDY, "ANIMS\\S_MERC\\s_pistol_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMCROUCH_D_RDY, "ANIMS\\S_MERC\\s_dual_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMWALK_P_RDY, "ANIMS\\M_MERC\\M_N2_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, BGMWALK_P_RDY, "ANIMS\\M_MERC\\M_N2_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMWALK_R_RDY, "ANIMS\\M_MERC\\M_R_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, BGMWALK_R_RDY, "ANIMS\\M_MERC\\M_R_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMWALK_R_RDY2, "ANIMS\\M_MERC\\M_R_RDY_DBASS_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, BGMWALK_R_RDY2, "ANIMS\\M_MERC\\M_R_RDY_DBASS_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMWALK_D_RDY, "ANIMS\\M_MERC\\M_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, BGMWALK_D_RDY, "ANIMS\\M_MERC\\M_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMCROUCH_R_RDY, "ANIMS\\M_MERC\\m_rifle_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMCROUCH_P_RDY, "ANIMS\\M_MERC\\m_pistol_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMCROUCH_D_RDY, "ANIMS\\M_MERC\\m_dual_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFWALK_P_RDY, "ANIMS\\F_MERC\\F_P_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFWALK_P_RDY, "ANIMS\\F_MERC\\F_P_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFWALK_R_RDY, "ANIMS\\F_MERC\\F_R_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFWALK_R_RDY, "ANIMS\\F_MERC\\F_R_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFWALK_D_RDY, "ANIMS\\F_MERC\\F_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFWALK_D_RDY, "ANIMS\\F_MERC\\F_DBL_RDY_WALK.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFCROUCH_R_RDY, "ANIMS\\F_MERC\\f_rifle_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFCROUCH_P_RDY, "ANIMS\\F_MERC\\f_pistol_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFCROUCH_D_RDY, "ANIMS\\F_MERC\\f_dual_crouch_walk_aim.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGMMEDICPRN, "ANIMS\\S_MERC\\S_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGMMEDICPRN, "ANIMS\\S_MERC\\S_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
BGMMEDICPRN, "ANIMS\\M_MERC\\M_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, BGMMEDICPRN, "ANIMS\\M_MERC\\M_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
RGFMEDICPRN, "ANIMS\\F_MERC\\F_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1, RGFMEDICPRN, "ANIMS\\F_MERC\\F_PRN_MED.STI", P_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
+24
View File
@@ -577,19 +577,43 @@ BGMWITHSTONE,
RGFSIDESTEP_R_RDY, RGFSIDESTEP_R_RDY,
RGFSIDESTEP_D_RDY, RGFSIDESTEP_D_RDY,
RGMSIDESTEP_CROUCH_R_RDY,
RGMSIDESTEP_CROUCH_P_RDY,
RGMSIDESTEP_CROUCH_D_RDY,
BGMSIDESTEP_CROUCH_R_RDY,
BGMSIDESTEP_CROUCH_P_RDY,
BGMSIDESTEP_CROUCH_D_RDY,
RGFSIDESTEP_CROUCH_R_RDY,
RGFSIDESTEP_CROUCH_P_RDY,
RGFSIDESTEP_CROUCH_D_RDY,
RGMWALK_P_RDY, RGMWALK_P_RDY,
RGMWALK_R_RDY, RGMWALK_R_RDY,
RGMWALK_D_RDY, RGMWALK_D_RDY,
RGMCROUCH_R_RDY,
RGMCROUCH_P_RDY,
RGMCROUCH_D_RDY,
BGMWALK_P_RDY, BGMWALK_P_RDY,
BGMWALK_R_RDY, BGMWALK_R_RDY,
BGMWALK_R_RDY2, BGMWALK_R_RDY2,
BGMWALK_D_RDY, BGMWALK_D_RDY,
BGMCROUCH_R_RDY,
BGMCROUCH_P_RDY,
BGMCROUCH_D_RDY,
RGFWALK_P_RDY, RGFWALK_P_RDY,
RGFWALK_R_RDY, RGFWALK_R_RDY,
RGFWALK_D_RDY, RGFWALK_D_RDY,
RGFCROUCH_R_RDY,
RGFCROUCH_P_RDY,
RGFCROUCH_D_RDY,
RGMMEDICPRN, RGMMEDICPRN,
BGMMEDICPRN, BGMMEDICPRN,
RGFMEDICPRN, RGFMEDICPRN,
+9
View File
@@ -4920,6 +4920,9 @@ void SetMovementModeCursor( SOLDIERTYPE *pSoldier )
///ddd quick fix for losed cursor { ///ddd quick fix for losed cursor {
case SWATTING_WK: case SWATTING_WK:
///ddd quick fix for losed cursor } ///ddd quick fix for losed cursor }
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
guiNewUICursor = MOVE_SWAT_UICURSOR; guiNewUICursor = MOVE_SWAT_UICURSOR;
break; break;
@@ -4980,6 +4983,12 @@ void SetConfirmMovementModeCursor( SOLDIERTYPE *pSoldier, BOOLEAN fFromMove )
break; break;
case SWATTING: case SWATTING:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
guiNewUICursor = ALL_MOVE_SWAT_UICURSOR; guiNewUICursor = ALL_MOVE_SWAT_UICURSOR;
break; break;
+26 -1
View File
@@ -1284,6 +1284,25 @@ BOOLEAN ExecuteOverhead( )
pSoldier->usPendingAnimation = AIM_DUAL_STAND; pSoldier->usPendingAnimation = AIM_DUAL_STAND;
pSoldier->ubPendingDirection = pSoldier->ubDirection; pSoldier->ubPendingDirection = pSoldier->ubDirection;
} }
else if ( pSoldier->usAnimState == CROUCHEDMOVE_RIFLE_READY )
{
fAimAfterMove = TRUE;
pSoldier->usPendingAnimation = AIM_RIFLE_CROUCH;
pSoldier->ubPendingDirection = pSoldier->ubDirection;
}
else if ( pSoldier->usAnimState == CROUCHEDMOVE_PISTOL_READY )
{
fAimAfterMove = TRUE;
pSoldier->usPendingAnimation = AIM_RIFLE_CROUCH;
pSoldier->ubPendingDirection = pSoldier->ubDirection;
}
else if ( pSoldier->usAnimState == CROUCHEDMOVE_DUAL_READY )
{
fAimAfterMove = TRUE;
pSoldier->usPendingAnimation = AIM_DUAL_CROUCH;
pSoldier->ubPendingDirection = pSoldier->ubDirection;
}
// OK, if we are the selected soldier, refresh some UI stuff // OK, if we are the selected soldier, refresh some UI stuff
if ( pSoldier->ubID == (UINT8)gusSelectedSoldier ) if ( pSoldier->ubID == (UINT8)gusSelectedSoldier )
{ {
@@ -1582,7 +1601,7 @@ BOOLEAN ExecuteOverhead( )
if ( gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT && gGameExternalOptions.fNoStandingAnimAdjustInCombat && if ( gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT && gGameExternalOptions.fNoStandingAnimAdjustInCombat &&
!pSoldier->bCollapsed && !pSoldier->bBreathCollapsed ) !pSoldier->bCollapsed && !pSoldier->bBreathCollapsed )
{ {
// Flugente: We have to decide depending on the animation we have, otherwise we canc ause bugs if we do this after being hit by an explosion etc. // Flugente: We have to decide depending on the animation we have, otherwise we can cause bugs if we do this after being hit by an explosion etc.
BOOLEAN dontadjustanim = FALSE; BOOLEAN dontadjustanim = FALSE;
switch ( pSoldier->usAnimState ) switch ( pSoldier->usAnimState )
{ {
@@ -1599,10 +1618,16 @@ BOOLEAN ExecuteOverhead( )
case RUNNING_W_PISTOL: case RUNNING_W_PISTOL:
case SIDE_STEP_WEAPON_RDY: case SIDE_STEP_WEAPON_RDY:
case SIDE_STEP_DUAL_RDY: case SIDE_STEP_DUAL_RDY:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case WALKING_WEAPON_RDY: case WALKING_WEAPON_RDY:
case WALKING_DUAL_RDY: case WALKING_DUAL_RDY:
case WALKING_ALTERNATIVE_RDY: case WALKING_ALTERNATIVE_RDY:
case SIDE_STEP_ALTERNATIVE_RDY: case SIDE_STEP_ALTERNATIVE_RDY:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
dontadjustanim = TRUE; dontadjustanim = TRUE;
break; break;
} }
+18
View File
@@ -3609,6 +3609,12 @@ if(!GridNoOnVisibleWorldTile(iDestination))
ubAPCost += APBPConstants[AP_MODIFIER_WALK]; //WALKCOST); ubAPCost += APBPConstants[AP_MODIFIER_WALK]; //WALKCOST);
break; break;
case SWATTING: case SWATTING:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
ubAPCost += APBPConstants[AP_MODIFIER_SWAT]; //SWATCOST); ubAPCost += APBPConstants[AP_MODIFIER_SWAT]; //SWATCOST);
break; break;
case CRAWLING: case CRAWLING:
@@ -3703,6 +3709,9 @@ if(!GridNoOnVisibleWorldTile(iDestination))
break; break;
case SWATTING: case SWATTING:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
// Add cost to stand once there BEFORE jumping.... // Add cost to stand once there BEFORE jumping....
ubAPCost += GetAPsCrouch( s, TRUE ); ubAPCost += GetAPsCrouch( s, TRUE );
@@ -4611,6 +4620,9 @@ INT32 PlotPath( SOLDIERTYPE *pSold, INT32 sDestGridNo, INT8 bCopyRoute, INT8 bPl
break; break;
case SWATTING: case SWATTING:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
// Add cost to stand once there BEFORE.... // Add cost to stand once there BEFORE....
sExtraCostSwat += GetAPsCrouch(pSold, TRUE); sExtraCostSwat += GetAPsCrouch(pSold, TRUE);
@@ -4674,6 +4686,12 @@ INT32 PlotPath( SOLDIERTYPE *pSold, INT32 sDestGridNo, INT8 bCopyRoute, INT8 bPl
sMovementAPsCost = sTileCost + APBPConstants[AP_MODIFIER_WALK] + APBPConstants[AP_MODIFIER_READY]; sMovementAPsCost = sTileCost + APBPConstants[AP_MODIFIER_WALK] + APBPConstants[AP_MODIFIER_READY];
break; break;
case SWATTING: case SWATTING:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
sMovementAPsCost = sTileCost + APBPConstants[AP_MODIFIER_SWAT]; sMovementAPsCost = sTileCost + APBPConstants[AP_MODIFIER_SWAT];
break; break;
case CRAWLING: case CRAWLING:
+26 -1
View File
@@ -294,7 +294,11 @@ INT16 TerrainBreathPoints(SOLDIERTYPE * pSoldier, INT32 sGridNo, INT8 bDir, UINT
return(0); return(0);
} }
if ( usMovementMode == WALKING_WEAPON_RDY || usMovementMode == WALKING_DUAL_RDY ) if ( usMovementMode == WALKING_WEAPON_RDY ||
usMovementMode == WALKING_DUAL_RDY ||
usMovementMode == CROUCHEDMOVE_RIFLE_READY ||
usMovementMode == CROUCHEDMOVE_DUAL_READY ||
usMovementMode == CROUCHEDMOVE_PISTOL_READY )
{ {
iPoints += APBPConstants[BP_MOVEMENT_READY]; iPoints += APBPConstants[BP_MOVEMENT_READY];
} }
@@ -331,6 +335,12 @@ INT16 TerrainBreathPoints(SOLDIERTYPE * pSoldier, INT32 sGridNo, INT8 bDir, UINT
case START_SWAT: case START_SWAT:
case SWATTING: case SWATTING:
case SWAT_BACKWARDS: case SWAT_BACKWARDS:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
iPoints *= APBPConstants[BP_SWAT_ENERGYCOSTFACTOR]; break; iPoints *= APBPConstants[BP_SWAT_ENERGYCOSTFACTOR]; break;
case CRAWLING: iPoints *= APBPConstants[BP_CRAWL_ENERGYCOSTFACTOR]; break; case CRAWLING: iPoints *= APBPConstants[BP_CRAWL_ENERGYCOSTFACTOR]; break;
@@ -451,6 +461,12 @@ INT16 ActionPointCost( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, UINT16 u
case START_SWAT: case START_SWAT:
case SWAT_BACKWARDS: case SWAT_BACKWARDS:
case SWATTING: case SWATTING:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
sPoints = sTileCost + APBPConstants[AP_MODIFIER_SWAT]; sPoints = sTileCost + APBPConstants[AP_MODIFIER_SWAT];
break; break;
case CRAWLING: case CRAWLING:
@@ -625,6 +641,12 @@ INT16 EstimateActionPointCost( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir,
case SWATTING: case SWATTING:
case START_SWAT: case START_SWAT:
case SWAT_BACKWARDS: case SWAT_BACKWARDS:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
// Add cost to stand once there BEFORE.... // Add cost to stand once there BEFORE....
sPoints += GetAPsCrouch(pSoldier, TRUE); // SANDRO changed.. sPoints += GetAPsCrouch(pSoldier, TRUE); // SANDRO changed..
@@ -2736,6 +2758,9 @@ INT8 MinAPsToStartMovement( SOLDIERTYPE * pSoldier, UINT16 usMovementMode )
} }
break; break;
case SWATTING: case SWATTING:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
if (gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE) if (gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)
{ {
bAPs += GetAPsProne(pSoldier, TRUE); bAPs += GetAPsProne(pSoldier, TRUE);
+111 -33
View File
@@ -3363,7 +3363,7 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
{ {
if ( usNewState == WALKING || usNewState == RUNNING || usNewState == SWATTING if ( usNewState == WALKING || usNewState == RUNNING || usNewState == SWATTING
//*** ddd //*** ddd
|| usNewState == SWATTING_WK ) || usNewState == SWATTING_WK || usNewState == START_SWAT )
{ {
// CHECK FOR SIDEWAYS! // CHECK FOR SIDEWAYS!
if ( !(this->flags.uiStatusFlags & SOLDIER_VEHICLE) && this->ubDirection == gPurpendicularDirection[this->ubDirection][this->pathing.usPathingData[this->pathing.usPathIndex]] ) if ( !(this->flags.uiStatusFlags & SOLDIER_VEHICLE) && this->ubDirection == gPurpendicularDirection[this->ubDirection][this->pathing.usPathingData[this->pathing.usPathIndex]] )
@@ -3375,23 +3375,45 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
{ {
if ( this->inv[HANDPOS].exists( ) == true && Item[usItem].usItemClass == IC_GUN && !Item[usItem].rocketlauncher ) if ( this->inv[HANDPOS].exists( ) == true && Item[usItem].usItemClass == IC_GUN && !Item[usItem].rocketlauncher )
{ {
if ( this->IsValidSecondHandShot( ) ) if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_STAND )
{ {
usNewState = SIDE_STEP_DUAL_RDY; if ( this->IsValidSecondHandShot() )
} {
else if ( gAnimControl[this->usAnimState].uiFlags & ANIM_ALT_WEAPON_HOLDING ) usNewState = SIDE_STEP_DUAL_RDY;
{ }
usNewState = SIDE_STEP_ALTERNATIVE_RDY; else if ( gAnimControl[this->usAnimState].uiFlags & ANIM_ALT_WEAPON_HOLDING )
} {
else usNewState = SIDE_STEP_ALTERNATIVE_RDY;
{ }
usNewState = SIDE_STEP_WEAPON_RDY; else
{
usNewState = SIDE_STEP_WEAPON_RDY;
}
} }
} }
} }
else else
{ {
usNewState = SIDE_STEP; if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_STAND )
{
usNewState = SIDE_STEP;
}
// comment in once animations are ready
/*else if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
{
if ( this->IsValidSecondHandShot() )
{
usNewState = SIDE_STEP_CROUCH_DUAL;
}
else if ( !Item[this->inv[HANDPOS].usItem].twohanded )
{
usNewState = SIDE_STEP_CROUCH_PISTOL;
}
else
{
usNewState = SIDE_STEP_CROUCH_RIFLE;
}
}*/
} }
} }
else else
@@ -3467,26 +3489,43 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
} }
} }
// SANDRO - check if we are gonna move with weapon raised // SANDRO - check if we are gonna move with weapon raised
else if ( ((gAnimControl[this->usAnimState].uiFlags & ANIM_FIREREADY) || else if ( gGameExternalOptions.fAllowWalkingWithWeaponRaised && ( (gAnimControl[this->usAnimState].uiFlags & ANIM_FIREREADY) || (gAnimControl[this->usAnimState].uiFlags & ANIM_FIRE) ) )
(gAnimControl[this->usAnimState].uiFlags & ANIM_FIRE)) && (usNewState == WALKING) && gGameExternalOptions.fAllowWalkingWithWeaponRaised )
{ {
if ( this->inv[HANDPOS].exists( ) == true && Item[usItem].usItemClass == IC_GUN && !Item[usItem].rocketlauncher ) if ( this->inv[HANDPOS].exists( ) == true && Item[usItem].usItemClass == IC_GUN && !Item[usItem].rocketlauncher )
{ {
if ( this->IsValidSecondHandShot( ) ) if ( usNewState == WALKING )
{ {
usNewState = WALKING_DUAL_RDY; if (this->IsValidSecondHandShot())
{
usNewState = WALKING_DUAL_RDY;
}
else if (gAnimControl[this->usAnimState].uiFlags & ANIM_ALT_WEAPON_HOLDING)
{
usNewState = WALKING_ALTERNATIVE_RDY;
}
else
{
usNewState = WALKING_WEAPON_RDY;
}
} }
else if ( gAnimControl[this->usAnimState].uiFlags & ANIM_ALT_WEAPON_HOLDING ) else if (usNewState == SWATTING || usNewState == START_SWAT )
{ {
usNewState = WALKING_ALTERNATIVE_RDY; if ( this->IsValidSecondHandShot() )
} {
else usNewState = CROUCHEDMOVE_DUAL_READY;
{ }
usNewState = WALKING_WEAPON_RDY; else if ( !Item[this->inv[HANDPOS].usItem].twohanded )
{
usNewState = CROUCHEDMOVE_PISTOL_READY;
}
else
{
usNewState = CROUCHEDMOVE_RIFLE_READY;
}
} }
} }
} }
// Turn off anipause flag for any anim! // Turn off anipause flag for any anim!
this->flags.uiStatusFlags &= (~SOLDIER_PAUSEANIMOVE); this->flags.uiStatusFlags &= (~SOLDIER_PAUSEANIMOVE);
@@ -3704,7 +3743,6 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
// ONLY DO FOR EVERYONE BUT PLANNING GUYS // ONLY DO FOR EVERYONE BUT PLANNING GUYS
if ( this->ubID < MAX_NUM_SOLDIERS ) if ( this->ubID < MAX_NUM_SOLDIERS )
{ {
// Do special things based on new state // Do special things based on new state
// CHRISL: Make changes so that we charge extra APs while wearing a backpack while using new inventory system // CHRISL: Make changes so that we charge extra APs while wearing a backpack while using new inventory system
switch ( usNewState ) switch ( usNewState )
@@ -3762,6 +3800,9 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
break; break;
case SWATTING: case SWATTING:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
this->usPendingAnimation = NO_PENDING_ANIMATION; this->usPendingAnimation = NO_PENDING_ANIMATION;
this->aiData.ubPendingActionAnimCount = 0; this->aiData.ubPendingActionAnimCount = 0;
@@ -7247,6 +7288,19 @@ void SOLDIERTYPE::SoldierGotoStationaryStance( void )
{ {
this->EVENT_InitNewSoldierAnim( COWERING, 0, FALSE ); this->EVENT_InitNewSoldierAnim( COWERING, 0, FALSE );
} }
// Flugente: if we walk with our gun raised, we should still have it raised once we stop walking
else if (this->usAnimState == CROUCHEDMOVE_RIFLE_READY )
{
this->EVENT_InitNewSoldierAnim(AIM_RIFLE_CROUCH, 0, FALSE);
}
else if (this->usAnimState == CROUCHEDMOVE_PISTOL_READY )
{
this->EVENT_InitNewSoldierAnim(AIM_RIFLE_CROUCH, 0, FALSE);
}
else if (this->usAnimState == CROUCHEDMOVE_DUAL_READY)
{
this->EVENT_InitNewSoldierAnim(AIM_DUAL_CROUCH, 0, FALSE);
}
else else
{ {
this->EVENT_InitNewSoldierAnim( CROUCHING, 0, FALSE ); this->EVENT_InitNewSoldierAnim( CROUCHING, 0, FALSE );
@@ -7331,8 +7385,16 @@ void SOLDIERTYPE::EVENT_InternalSetSoldierDestination( UINT16 usNewDirection, BO
// OK, ATE: If we are side_stepping, calculate a NEW desired direction.... // OK, ATE: If we are side_stepping, calculate a NEW desired direction....
if ( this->bReverse && (usAnimState == SIDE_STEP || usAnimState == ROLL_PRONE_R || usAnimState == ROLL_PRONE_L || usAnimState == SIDE_STEP_ALTERNATIVE_RDY if ( this->bReverse &&
|| usAnimState == SIDE_STEP_WEAPON_RDY || usAnimState == SIDE_STEP_DUAL_RDY) ) (usAnimState == SIDE_STEP ||
usAnimState == ROLL_PRONE_R ||
usAnimState == ROLL_PRONE_L ||
usAnimState == SIDE_STEP_CROUCH_RIFLE ||
usAnimState == SIDE_STEP_CROUCH_PISTOL ||
usAnimState == SIDE_STEP_CROUCH_DUAL ||
usAnimState == SIDE_STEP_ALTERNATIVE_RDY ||
usAnimState == SIDE_STEP_WEAPON_RDY ||
usAnimState == SIDE_STEP_DUAL_RDY) )
{ {
UINT8 ubPerpDirection; UINT8 ubPerpDirection;
@@ -7443,14 +7505,21 @@ void EVENT_InternalSetSoldierDesiredDirection( SOLDIERTYPE *pSoldier, UINT8 ubNe
INT32 iBPCost = 0; INT32 iBPCost = 0;
//if ( usAnimState == WALK_BACKWARDS ) //if ( usAnimState == WALK_BACKWARDS )
if ( pSoldier->bReverse && (usAnimState != SIDE_STEP && usAnimState != ROLL_PRONE_R && usAnimState != ROLL_PRONE_L if ( pSoldier->bReverse &&
&& usAnimState != SIDE_STEP_WEAPON_RDY && usAnimState != SIDE_STEP_DUAL_RDY && usAnimState != SIDE_STEP_ALTERNATIVE_RDY) ) (usAnimState != SIDE_STEP &&
usAnimState != ROLL_PRONE_R &&
usAnimState != ROLL_PRONE_L &&
usAnimState != SIDE_STEP_CROUCH_RIFLE &&
usAnimState != SIDE_STEP_CROUCH_PISTOL &&
usAnimState != SIDE_STEP_CROUCH_DUAL &&
usAnimState != SIDE_STEP_WEAPON_RDY &&
usAnimState != SIDE_STEP_DUAL_RDY &&
usAnimState != SIDE_STEP_ALTERNATIVE_RDY) )
{ {
// OK, check if we are going to go in the exact opposite than our facing.... // OK, check if we are going to go in the exact opposite than our facing....
ubNewDirection = gOppositeDirection[ubNewDirection]; ubNewDirection = gOppositeDirection[ubNewDirection];
} }
pSoldier->pathing.bDesiredDirection = (INT8)ubNewDirection; pSoldier->pathing.bDesiredDirection = (INT8)ubNewDirection;
// If we are prone, goto crouched first! // If we are prone, goto crouched first!
@@ -8834,6 +8903,12 @@ void CalculateSoldierAniSpeed( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pStatsSoldier
//***ddd //***ddd
case SWATTING_WK: case SWATTING_WK:
case SWAT_BACKWARDS_WK: case SWAT_BACKWARDS_WK:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
// Adjust based on body type // Adjust based on body type
if ( pStatsSoldier->ubBodyType <= REGFEMALE ) if ( pStatsSoldier->ubBodyType <= REGFEMALE )
@@ -8916,10 +8991,16 @@ void CalculateSoldierAniSpeed( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pStatsSoldier
case WALKING: case WALKING:
case WALKING_WEAPON_RDY: case WALKING_WEAPON_RDY:
case WALKING_DUAL_RDY: case WALKING_DUAL_RDY:
case CROUCHEDMOVE_RIFLE_READY:
case CROUCHEDMOVE_PISTOL_READY:
case CROUCHEDMOVE_DUAL_READY:
case WALKING_ALTERNATIVE_RDY: case WALKING_ALTERNATIVE_RDY:
case RUNNING: case RUNNING:
case SWATTING: case SWATTING:
case SWATTING_WK: case SWATTING_WK:
case SIDE_STEP_CROUCH_RIFLE:
case SIDE_STEP_CROUCH_PISTOL:
case SIDE_STEP_CROUCH_DUAL:
case SWAT_BACKWARDS_WK: case SWAT_BACKWARDS_WK:
// Flugente: background running speed reduces time needed: + is good, - is bad // Flugente: background running speed reduces time needed: + is good, - is bad
uiTerrainDelay = (uiTerrainDelay * (100 - pSoldier->GetBackgroundValue( BG_PERC_SPEED_RUNNING ))) / 100; uiTerrainDelay = (uiTerrainDelay * (100 - pSoldier->GetBackgroundValue( BG_PERC_SPEED_RUNNING ))) / 100;
@@ -14222,12 +14303,9 @@ void SelectMoveAnimationFromStance( SOLDIERTYPE *pSoldier )
case ANIM_CROUCH: case ANIM_CROUCH:
pSoldier->EVENT_InitNewSoldierAnim( SWATTING, 0, FALSE ); pSoldier->EVENT_InitNewSoldierAnim( SWATTING, 0, FALSE );
break; break;
} }
} }
void GetActualSoldierAnimDims( SOLDIERTYPE *pSoldier, INT16 *psHeight, INT16 *psWidth ) void GetActualSoldierAnimDims( SOLDIERTYPE *pSoldier, INT16 *psHeight, INT16 *psWidth )
{ {
UINT16 usAnimSurface; UINT16 usAnimSurface;