/*========================================================================= panimsfx.cpp Author: PKG Created: Project: Spongebob Purpose: Handles automatically generated sound effects based upon anim frames Copyright (c) 2001 Climax Development Ltd ===========================================================================*/ /*---------------------------------------------------------------------- Includes -------- */ #include "player\player.h" /* Std Lib ------- */ /* Data ---- */ /*---------------------------------------------------------------------- Tyepdefs && Defines ------------------- */ /*---------------------------------------------------------------------- Structure defintions -------------------- */ /*---------------------------------------------------------------------- Function Prototypes ------------------- */ /*---------------------------------------------------------------------- Vars ---- */ // ANIM_PLAYER_ANIM_BUTTBOUNCEEND static const CPlayer::AnimFrameSfx s_buttBounceEndSfx[]= { { 1, CSoundMediator::SFX_SPONGEBOB_BUTTBOUNCE, }, }; static const int s_buttBounceEndCount=sizeof(s_buttBounceEndSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_BUTTBOUNCESTART // ANIM_PLAYER_ANIM_DEATHBACKWARDS // ANIM_PLAYER_ANIM_DEATHDRY // ANIM_PLAYER_ANIM_DEATHFORWARDS // ANIM_PLAYER_ANIM_DEATHSPIN // ANIM_PLAYER_ANIM_DEATHTAR // ANIM_PLAYER_ANIM_ELECTRICSHOCK // ANIM_PLAYER_ANIM_ELECTRICSHOCKEND // ANIM_PLAYER_ANIM_ELECTRICSHOCKSTART // ANIM_PLAYER_ANIM_FACEBACK static const CPlayer::AnimFrameSfx s_faceBackSfx[]= { { 6, CSoundMediator::SFX_SPONGEBOB_WALK_2 }, { 7, CSoundMediator::SFX_SPONGEBOB_WALK_1 }, }; static const int s_faceBackCount=sizeof(s_faceBackSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_FACEFRONT static const CPlayer::AnimFrameSfx s_faceFrontSfx[]= { { 6, CSoundMediator::SFX_SPONGEBOB_WALK_1 }, { 7, CSoundMediator::SFX_SPONGEBOB_WALK_2 }, }; static const int s_faceFrontCount=sizeof(s_faceFrontSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_FALL // ANIM_PLAYER_ANIM_GETUP // ANIM_PLAYER_ANIM_GETUPRUN // ANIM_PLAYER_ANIM_HITGROUND // ANIM_PLAYER_ANIM_HOVER // ANIM_PLAYER_ANIM_HOVEREND // ANIM_PLAYER_ANIM_HOVERSTART // ANIM_PLAYER_ANIM_IDLEBREATHE // ANIM_PLAYER_ANIM_IDLEHOOLA // ANIM_PLAYER_ANIM_IDLELOOK // ANIM_PLAYER_ANIM_IDLEWIGGLEARM // ANIM_PLAYER_ANIM_JUMPEND static const CPlayer::AnimFrameSfx s_jumpEndSfx[]= { { 4, CSoundMediator::SFX_SPONGEBOB_WALK_2 }, { 5, CSoundMediator::SFX_SPONGEBOB_WALK_1 }, }; static const int s_jumpEndCount=sizeof(s_jumpEndSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_KARATE Might have to go into the CPlayerStateChop::enter code (PKG) static const CPlayer::AnimFrameSfx s_chopSfx[]= { { 1, CSoundMediator::SFX_SPONGEBOB_KARATE_1, }, }; static const int s_chopCount=sizeof(s_chopSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_RUN static const CPlayer::AnimFrameSfx s_runSfx[]= { { 6, CSoundMediator::SFX_SPONGEBOB_WALK_1 }, { 18, CSoundMediator::SFX_SPONGEBOB_WALK_2 }, }; static const int s_runCount=sizeof(s_runSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_RUNSTART // ANIM_PLAYER_ANIM_RUNSTOP static const CPlayer::AnimFrameSfx s_runStopSfx[]= { { 6, CSoundMediator::SFX_SPONGEBOB_WALK_1 }, { 18, CSoundMediator::SFX_SPONGEBOB_WALK_2 }, }; static const int s_runStopCount=sizeof(s_runStopSfx)/sizeof(CPlayer::AnimFrameSfx); // ANIM_PLAYER_ANIM_SOAKUP // ANIM_PLAYER_ANIM_TALK01 // ANIM_PLAYER_ANIM_TEETERBACK // ANIM_PLAYER_ANIM_TEETERFRONT // ANIM_PLAYER_ANIM_IDLEWIND static const CPlayer::AnimFrameSfx s_idleWindSfx[]= { { 7, CSoundMediator::SFX_HAZARD__SWAMP_GAS, }, { 24, CSoundMediator::SFX_SPONGEBOB_WALK_2, }, }; static const int s_idleWindCount=sizeof(s_idleWindSfx)/sizeof(CPlayer::AnimFrameSfx); // This is the table that ties up anims to sfx // CPlayer::setAnimFrame() uses this table to generate sfx based upon anim frames // NB: Don't use frame 0 in the AnimFrameSfx lists ot it'll play more than once const CPlayer::AnimSfx CPlayer::s_animSfx[]= { { s_buttBounceEndCount, s_buttBounceEndSfx }, // ANIM_PLAYER_ANIM_BUTTBOUNCEEND { 0, NULL }, // ANIM_PLAYER_ANIM_BUTTBOUNCESTART { 0, NULL }, // ANIM_PLAYER_ANIM_DEATHBACKWARDS { 0, NULL }, // ANIM_PLAYER_ANIM_DEATHDRY { 0, NULL }, // ANIM_PLAYER_ANIM_DEATHFORWARDS { 0, NULL }, // ANIM_PLAYER_ANIM_DEATHSPIN { 0, NULL }, // ANIM_PLAYER_ANIM_DEATHTAR { 0, NULL }, // ANIM_PLAYER_ANIM_ELECTRICSHOCK { 0, NULL }, // ANIM_PLAYER_ANIM_ELECTRICSHOCKEND { 0, NULL }, // ANIM_PLAYER_ANIM_ELECTRICSHOCKSTART { s_faceBackCount, s_faceBackSfx }, // ANIM_PLAYER_ANIM_FACEBACK { s_faceFrontCount, s_faceFrontSfx }, // ANIM_PLAYER_ANIM_FACEFRONT { 0, NULL }, // ANIM_PLAYER_ANIM_FALL { 0, NULL }, // ANIM_PLAYER_ANIM_GETUP { 0, NULL }, // ANIM_PLAYER_ANIM_GETUPRUN { 0, NULL }, // ANIM_PLAYER_ANIM_HITGROUND { 0, NULL }, // ANIM_PLAYER_ANIM_HOVER { 0, NULL }, // ANIM_PLAYER_ANIM_HOVEREND { 0, NULL }, // ANIM_PLAYER_ANIM_HOVERSTART { 0, NULL }, // ANIM_PLAYER_ANIM_IDLEBREATHE { 0, NULL }, // ANIM_PLAYER_ANIM_IDLEHOOLA { 0, NULL }, // ANIM_PLAYER_ANIM_IDLELOOK { 0, NULL }, // ANIM_PLAYER_ANIM_IDLEWIGGLEARM { s_jumpEndCount, s_jumpEndSfx }, // ANIM_PLAYER_ANIM_JUMPEND { s_chopCount, s_chopSfx }, // ANIM_PLAYER_ANIM_KARATE { s_runCount, s_runSfx }, // ANIM_PLAYER_ANIM_RUN { 0, NULL }, // ANIM_PLAYER_ANIM_RUNSTART { s_runStopCount, s_runStopSfx }, // ANIM_PLAYER_ANIM_RUNSTOP { 0, NULL }, // ANIM_PLAYER_ANIM_SOAKUP { 0, NULL }, // ANIM_PLAYER_ANIM_TALK01 { 0, NULL }, // ANIM_PLAYER_ANIM_TEETERBACK { 0, NULL }, // ANIM_PLAYER_ANIM_TEETERFRONT { s_idleWindCount, s_idleWindSfx }, // ANIM_PLAYER_ANIM_IDLEWIND }; /*=========================================================================== end */