//============================================================================== // // m_spreader_anim.c // // Heretic II // Copyright 1998 Raven Software // //============================================================================== #include "g_local.h" #pragma hdrstop("g_local.pch") // PRECOMPILED HEADER ABOVE // WARNING: DO NOT CHANGE THE ABOVE HEADERS OR THE PRECOMPILED STUFF WILL BREAK! // ADD ANY ADDITIONAL FILES BELOW #include "m_spreader_anim.h" #include "m_spreadermist.h" #include "m_spreader.h" void ai_charge2 (edict_t *self, float dist); /*------------------------------------------------------------------ spreader attack 1 -- the throw -------------------------------------------------------------------*/ animframe_t spreader_frames_attack1 [] = { FRAME_atacka1, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka2, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka3, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka4, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka5, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka6, NULL, 0, 0, 0, ai_charge2, 0, spreader_showgrenade, FRAME_atacka7, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka8, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka9, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka10, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka11, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka12, NULL, 0, 0, 0, ai_charge2, 0, spreader_hidegrenade, FRAME_atacka13, NULL, 0, 0, 0, ai_charge2, 0, spreader_toss_grenade, FRAME_atacka14, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka15, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atacka16, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_attack1 = { 16, spreader_frames_attack1, spreader_pause }; /*------------------------------------------------------------------ spreader attack 2 -- the plague effect attack Using the move func for the spreader mist instead of the action func because the action func is already being used as a move func... -------------------------------------------------------------------*/ animframe_t spreader_frames_attack2 [] = { FRAME_atackb1, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atackb2, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atackb3, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atackb4, spreader_mist, 14.59, -0.96, 16, ai_charge2, 0, spreader_miststartsound, FRAME_atackb5, spreader_mist, 12.49, -5.98, 16, ai_charge2, 0, NULL, FRAME_atackb6, spreader_mist, 10.35, -13.15, 16, ai_charge2, 0, NULL, FRAME_atackb7, spreader_mist, 6.14, -17.95, 16, ai_charge2, 0, NULL, FRAME_atackb8, spreader_mist, 2.4, -18.06, 16, ai_charge2, 0, NULL, FRAME_atackb9, spreader_mist, 6.23, -14.4, 16, ai_charge2, 0, NULL, FRAME_atackb10, spreader_mist, 12.85, -4.18, 16, ai_charge2, 0, NULL, FRAME_atackb11, spreader_mist, 13.88, 10.8, 16.36, ai_charge2, 0, NULL, FRAME_atackb12, spreader_mist, 7.11, 23.19, 16.81, ai_charge2, 0, spreader_miststopsound, FRAME_atackb13, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_atackb14, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_attack2 = { 14, spreader_frames_attack2, spreader_pause }; /*------------------------------------------------------------------ spreader backattack 1 -- the spreader backpedals while shooting -------------------------------------------------------------------*/ animframe_t spreader_frames_backattack1 [] = { FRAME_bkatck1, spreader_mist, 14.4, 10.24, 16, ai_run, -5, spreader_miststartsound, FRAME_bkatck2, spreader_mist, 14.22, 10.03, 16, ai_run, -5, NULL, FRAME_bkatck3, spreader_mist, 13.79, 9.79, 16, ai_run, -5, NULL, FRAME_bkatck4, spreader_mist, 13.62, 9.63, 16, ai_run, -5, NULL, FRAME_bkatck5, spreader_mist, 13.84, 9.64, 16, ai_run, -5, NULL, FRAME_bkatck6, spreader_mist, 14.23, 9.75, 16, ai_run, -5, NULL, FRAME_bkatck7, spreader_mist, 14.59, 9.85, 16, ai_run, -5, NULL, FRAME_bkatck8, spreader_mist, 14.15, 9.75, 16, ai_run, -5, NULL, FRAME_bkatck9, spreader_mist, 13.83, 9.66, 16, ai_run, -5, NULL, FRAME_bkatck10, spreader_mist, 13.58, 9.65, 16, ai_run, -5, NULL, FRAME_bkatck11, spreader_mist, 13.82, 9.82, 16, ai_run, -5, NULL, FRAME_bkatck12, spreader_mist, 14.2, 10.06, 16, ai_run, -5, NULL, FRAME_bkatck13, spreader_mist, 14.47, 10.38, 16, ai_run, -5, spreader_miststopsound }; animmove_t spreader_move_backattack1 = { 13, spreader_frames_backattack1, spreader_pause }; /*------------------------------------------------------------------ spreader backup 1 -- the spreader backpedals -------------------------------------------------------------------*/ animframe_t spreader_frames_backup1 [] = { FRAME_backup1, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup2, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup3, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup4, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup5, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup6, NULL, 0, 0, 0, ai_run, -5, spreader_pause, FRAME_backup7, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup8, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup9, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup10, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup11, NULL, 0, 0, 0, ai_run, -5, spreader_pause, FRAME_backup12, NULL, 0, 0, 0, ai_run, -5, NULL, FRAME_backup13, NULL, 0, 0, 0, ai_run, -5, NULL }; animmove_t spreader_move_backup1 = { 13, spreader_frames_backup1, spreader_pause }; /*------------------------------------------------------------------ spreader death -- the spreader spreads no more (big death) -------------------------------------------------------------------*/ animframe_t spreader_frames_death1_go [] = { FRAME_death1, NULL, 0, 0, 0, NULL, 0, spreader_flyback_move, }; animmove_t spreader_move_death1_go = { 1, spreader_frames_death1_go, spreader_flyback_loop }; animframe_t spreader_frames_death1_loop [] = { FRAME_death2, NULL, 0, 0, 0, NULL, 0, spreader_flyback_move, }; animmove_t spreader_move_death1_loop = { 1, spreader_frames_death1_loop, NULL }; animframe_t spreader_frames_death1_end [] = { FRAME_death3, NULL, 0, 0, 0, ai_move, -4, spreader_flyback_move, FRAME_death4, NULL, 0, 0, 0, ai_move, -4, spreader_flyback_move, FRAME_death5, NULL, 0, 0, 0, ai_move, -4, spreader_flyback_move, FRAME_death6, NULL, 0, 0, 0, ai_move, -3, spreader_flyback_move, FRAME_death7, NULL, 0, 0, 0, ai_move, -3, spreader_flyback_move, FRAME_death8, NULL, 0, 0, 0, ai_move, -3, spreader_flyback_move, FRAME_death9, NULL, 0, 0, 0, ai_move, -2, spreader_flyback_move, FRAME_death10, NULL, 0, 0, 0, ai_move, -2, spreader_flyback_move, FRAME_death11, NULL, 0, 0, 0, ai_move, -2, spreader_flyback_move, FRAME_death12, NULL, 0, 0, 0, ai_move, -1, spreader_flyback_move, FRAME_death13, NULL, 0, 0, 0, ai_move, -1, spreader_flyback_move, FRAME_death14, NULL, 0, 0, 0, ai_move, 0, spreader_flyback_move, FRAME_death15, NULL, 0, 0, 0, ai_move, 0, spreader_flyback_move, FRAME_death16, NULL, 0, 0, 0, ai_move, 0, spreader_flyback_move, FRAME_death17, NULL, 0, 0, 0, ai_move, 0, spreader_dead }; animmove_t spreader_move_death1_end = { 15, spreader_frames_death1_end, NULL }; /*------------------------------------------------------------------ spreader death -- the spreader spreads no more (little death) -------------------------------------------------------------------*/ animframe_t spreader_frames_death2 [] = { FRAME_deathb1, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb2, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb3, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb4, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb6, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb7, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb9, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb10, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb11, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb12, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb13, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb14, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb16, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_deathb17, NULL, 0, 0, 0, ai_move, 0, spreader_dead }; animmove_t spreader_move_death2 = { 14, spreader_frames_death2, NULL }; /*------------------------------------------------------------------ spreader duck attack 1 -- spreader ducking, shoots, rises -------------------------------------------------------------------*/ animframe_t spreader_frames_dkatck1 [] = { FRAME_dkatck_1, spreader_mist, 21.39, 11.26, -16, ai_move, 0, spreader_miststartsound, FRAME_dkatck_2, spreader_mist, 12.08, 24.16, -16, ai_move, 0, NULL, FRAME_dkatck_3, spreader_mist, 26.14, 1.26, -16, ai_move, 0, NULL, FRAME_dkatck_4, spreader_mist, 26.65, -0.43, -16, ai_move, 0, spreader_miststopsound, FRAME_dkatck_5, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_dkatck_6, NULL, 0, 0, 0, ai_move, 0, NULL }; animmove_t spreader_move_dkatck1 = { 6, spreader_frames_dkatck1, spreader_pause }; /*------------------------------------------------------------------ spreader duck -- spreader ducks and rises -------------------------------------------------------------------*/ animframe_t spreader_frames_duck1 [] = { FRAME_duck1, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck2, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck3, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck4, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck5, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck6, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck7, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_duck1 = { 7, spreader_frames_duck1, spreader_pause }; /*------------------------------------------------------------------------- spreader ducks -------------------------------------------------------------------------*/ animframe_t spreader_frames_duckdown [] = { FRAME_duck1, NULL, 0,0,0, ai_charge2, 0, NULL, FRAME_duck2, NULL, 0,0,0, ai_charge2, 0, NULL, FRAME_duck3, NULL, 0,0,0, ai_charge2, 0, NULL, FRAME_duck4, NULL, 0,0,0, ai_charge2, 0, NULL }; animmove_t spreader_move_duckdown = { 4, spreader_frames_duckdown, spreader_duckpause }; /*------------------------------------------------------------------ spreader duck still 1 -- the spreader ducking, still -------------------------------------------------------------------*/ animframe_t spreader_frames_duckstill [] = { FRAME_dkidle1, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle2, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle3, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle4, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle5, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle6, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle7, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle8, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle9, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle10, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle11, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_dkidle12, NULL, 0, 0, 0, NULL, 0, NULL }; animmove_t spreader_move_duckstill = { 12, spreader_frames_duckstill, spreader_duckpause }; /*------------------------------------------------------------------------- spreader rises from a ducking pos -------------------------------------------------------------------------*/ animframe_t spreader_frames_duckup [] = { FRAME_duck4, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck5, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck6, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_duck7, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_duckup = { 4, spreader_frames_duckup, spreader_pause }; /*------------------------------------------------------------------ spreader idle 1 -- the spreader stands around -------------------------------------------------------------------*/ animframe_t spreader_frames_idle1 [] = { FRAME_idle1, NULL, 0, 0, 0, ai_stand, 0, NULL, FRAME_idle2, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_idle3, NULL, 0, 0, 0, ai_stand, 0, spreader_idlenoise, FRAME_idle4, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_idle5, NULL, 0, 0, 0, ai_stand, 0, NULL, FRAME_idle6, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_idle7, NULL, 0, 0, 0, ai_stand, 0, NULL, FRAME_idle8, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_idle9, NULL, 0, 0, 0, ai_stand, 0, NULL, FRAME_idle10, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_idle11, NULL, 0, 0, 0, ai_stand, 0, NULL }; animmove_t spreader_move_idle1 = { 11, spreader_frames_idle1, spreader_pause }; /*------------------------------------------------------------------ spreader pain -- spreader recoils from hit -------------------------------------------------------------------*/ animframe_t spreader_frames_pain1 [] = { FRAME_pain1, NULL, 0, 0, 0, ai_move, 0, spreader_pain_sound, FRAME_pain2, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_pain3, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_pain4, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_pain5, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_pain6, NULL, 0, 0, 0, ai_move, 0, NULL, FRAME_pain7, NULL, 0, 0, 0, ai_move, 0, NULL }; animmove_t spreader_move_pain1 = { 7, spreader_frames_pain1, spreader_pause }; /*------------------------------------------------------------------ spreader pivot left -- spreader turns left -------------------------------------------------------------------*/ animframe_t spreader_frames_pvtlt1 [] = { FRAME_pvtlt1, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtlt2, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtlt3, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtlt4, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtlt5, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_pvtlt1 = { 5, spreader_frames_pvtlt1, spreader_pause }; /*------------------------------------------------------------------ spreader pivot right -- spreader turns right -------------------------------------------------------------------*/ animframe_t spreader_frames_pvtrt1 [] = { FRAME_pvtrt1, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtrt2, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtrt3, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtrt4, NULL, 0, 0, 0, ai_charge2, 0, NULL, FRAME_pvtrt5, NULL, 0, 0, 0, ai_charge2, 0, NULL }; animmove_t spreader_move_pvtrt1 = { 5, spreader_frames_pvtrt1, spreader_pause }; /*------------------------------------------------------------------ spreader run 1 -- the spreader runs -------------------------------------------------------------------*/ animframe_t spreader_frames_run1 [] = { FRAME_run1, NULL, 0, 0, 0, ai_run, 20, spreader_pause, FRAME_run2, NULL, 0, 0, 0, ai_run, 18, NULL, FRAME_run3, NULL, 0, 0, 0, ai_run, 16, NULL, FRAME_run4, NULL, 0, 0, 0, ai_run, 18, spreader_pause, //foot down FRAME_run5, NULL, 0, 0, 0, ai_run, 20, NULL, FRAME_run6, NULL, 0, 0, 0, ai_run, 18, NULL, FRAME_run7, NULL, 0, 0, 0, ai_run, 16, NULL, FRAME_run8, NULL, 0, 0, 0, ai_run, 18, NULL //foot down }; animmove_t spreader_move_run1 = { 8, spreader_frames_run1, spreader_pause }; /*------------------------------------------------------------------ spreader land -------------------------------------------------------------------*/ animframe_t spreader_frames_land [] = { FRAME_jump17, NULL, 0, 0, 0, NULL, 0, spreader_land, FRAME_jump18, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump19, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump20, NULL, 0, 0, 0, NULL, 0, NULL, //foot down FRAME_jump21, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump22, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump23, NULL, 0, 0, 0, NULL, 0, NULL, }; animmove_t spreader_move_land = {7, spreader_frames_land, spreader_pause}; /*------------------------------------------------------------------ spreader jump from buoy -------------------------------------------------------------------*/ animframe_t spreader_frames_inair [] = { FRAME_jump16, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, }; animmove_t spreader_move_inair = {1, spreader_frames_inair, NULL}; /*------------------------------------------------------------------ spreader jump from buoy -------------------------------------------------------------------*/ animframe_t spreader_frames_fjump [] = { FRAME_jump1, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump2, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump3, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump4, NULL, 0, 0, 0, NULL, 0, NULL, //foot down FRAME_jump5, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump6, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump7, NULL, 0, 0, 0, NULL, 0, spreaderApplyJump, FRAME_jump8, NULL, 0, 0, 0, NULL, 0, NULL, //foot down FRAME_jump9, NULL, 0, 0, 0, NULL, 0, NULL, FRAME_jump10, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, FRAME_jump11, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, FRAME_jump12, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, //foot down FRAME_jump13, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, FRAME_jump14, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, FRAME_jump15, NULL, 0, 0, 0, MG_CheckLanded, ANIM_LAND, NULL, }; animmove_t spreader_move_fjump = {15, spreader_frames_fjump, spreader_go_inair}; /*------------------------------------------------------------------ spreader run attack -- the spreader runs and shoots -------------------------------------------------------------------*/ animframe_t spreader_frames_rnatck1 [] = { FRAME_rnatck1, spreader_mist_fast, 38.0*2, 5, 16, ai_run, 20, spreader_miststartsound, FRAME_rnatck2, spreader_mist_fast, 39.27*2, 5, 16, ai_run, 18, NULL, FRAME_rnatck3, spreader_mist_fast, 37.43*2, 5, 16, ai_run, 16, NULL, FRAME_rnatck4, spreader_mist_fast, 36.68*2, 5, 16, ai_run, 18, spreader_pause, FRAME_rnatck5, spreader_mist_fast, 37.02*2, 5, 16, ai_run, 20, NULL, FRAME_rnatck6, spreader_mist_fast, 36.41*2, 5, 16, ai_run, 18, NULL, FRAME_rnatck7, spreader_mist_fast, 35.69*2, 5, 16, ai_run, 16, spreader_pause, FRAME_rnatck8, spreader_mist_fast, 35.68*2, 5, 16, ai_run, 18, spreader_pause,//spreader_mist_faststopsound }; animmove_t spreader_move_rnatck1 = { 8, spreader_frames_rnatck1, spreader_pause }; /*------------------------------------------------------------------ spreader walk 1 -- the spreader walks -------------------------------------------------------------------*/ animframe_t spreader_frames_walk1 [] = { FRAME_walk1, NULL, 0, 0, 0, ai_walk, 8, spreader_idlenoise, FRAME_walk2, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk3, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk4, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk5, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk6, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk7, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk8, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk9, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk10, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk11, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk12, NULL, 0, 0, 0, ai_walk, 8, NULL, FRAME_walk13, NULL, 0, 0, 0, ai_walk, 8, NULL, }; animmove_t spreader_move_walk1 = { 13, spreader_frames_walk1, spreader_pause }; /*------------------------------------------------------------------ spreader walk 2 -- the spreader walks -------------------------------------------------------------------*/ animframe_t spreader_frames_walk2 [] = { FRAME_walk1, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk2, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk3, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk4, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk5, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk6, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk7, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk8, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk9, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk10, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk11, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk12, NULL, 0, 0, 0, ai_run, 6, spreader_pause, FRAME_walk13, NULL, 0, 0, 0, ai_run, 6, spreader_pause }; animmove_t spreader_move_walk2 = { 13, spreader_frames_walk2, spreader_pause }; /*------------------------------------------------------------------ spreader fly into air- ouch! -------------------------------------------------------------------*/ animframe_t spreader_frames_flyloop [] = { FRAME_pain5, NULL, 0, 0, 0, NULL, 0, spreaderFly, }; animmove_t spreader_move_flyloop = { 1, spreader_frames_flyloop, NULL}; /*------------------------------------------------------------------ spreader fly into air- ouch! -------------------------------------------------------------------*/ animframe_t spreader_frames_fly [] = { FRAME_pain1, NULL, 0, 0, 0, NULL, 0, spreaderFly, FRAME_pain2, NULL, 0, 0, 0, NULL, 0, spreaderFly, FRAME_pain3, NULL, 0, 0, 0, NULL, 0, spreaderFly, FRAME_pain4, NULL, 0, 0, 0, NULL, 0, spreaderFly, }; animmove_t spreader_move_fly = { 4, spreader_frames_fly, spreaderFlyLoop}; animframe_t spreader_frames_dead [] = { FRAME_deathb17, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain }; animmove_t spreader_move_dead = { 1, spreader_frames_dead, NULL}; animframe_t spreader_frames_fdie [] = { FRAME_deathb1, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb2, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb3, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb4, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb6, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb7, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb9, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb10, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb11, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb12, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb13, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb14, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb16, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain, FRAME_deathb17, NULL, 0, 0, 0, NULL, 0, spreaderSolidAgain }; animmove_t spreader_move_fdie = { 14, spreader_frames_fdie, spreader_go_deadloop}; /*------------------------------------------------------------------ spreader delay -------------------------------------------------------------------*/ animframe_t spreader_frames_delay [] = { FRAME_idle1, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle2, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle3, NULL, 0, 0, 0, NULL, 0, spreader_idlenoise, FRAME_idle4, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle5, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle6, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle7, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle8, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle9, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle10, NULL, 0, 0, 0, NULL, 0, spreader_pause, FRAME_idle11, NULL, 0, 0, 0, NULL, 0, spreader_pause }; animmove_t spreader_move_delay = { 11, spreader_frames_delay, spreader_pause };