📄 anim_sound.cpp
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : Anim_Sound.cpp
//
// PURPOSE : Animation/Sound functions
//
// CREATED :
//
// ----------------------------------------------------------------------- //
#include <stdio.h>
#include "cpp_server_de.h"
#include "generic_msg_de.h"
#include "Anim_Sound.h"
#include "basecharacter.h"
#include "SoundTypes.h"
void BPrint(char*);
char *szNodes[NUM_ALL_NODES] =
{
"head", //0
"neck", //1
"torso", //2
"pelvis", //3
"ru_arm", //4
"rl_arm", //5
"r_hand", //6
"lu_arm", //7
"ll_arm", //8
"l_hand", //9
"lu_leg", //10
"ll_leg", //11
"l_ankle", //12
"l_foot", //13
"ru_leg", //14
"rl_leg", //15
"r_ankle", //16
"r_foot", //17
"obj", //18
"l_gun", //19
"r_gun", //20
};
// ----------------------------------------------------------------------- //
// ROUTINE : CheckAnims
// DESCRIPTION : Check anims for validity
// RETURN TYPE : void
// PARAMS : DDWORD* nAnim
// PARAMS : int nSize
// ----------------------------------------------------------------------- //
void CheckAnims(DDWORD nAnim[], int nSize)
{
for(int i = 1; i < nSize; i++)
{
if(nAnim[i] < 0 || nAnim[i] > 999)
nAnim[i] = nAnim[i-1];
}
return;
}
CAnim_Sound::CAnim_Sound()
{
memset(m_nAnim_IDLE,0,sizeof(m_nAnim_IDLE));
memset(m_nAnim_TALK,0,sizeof(m_nAnim_TALK));
memset(m_nAnim_WALK,0,sizeof(m_nAnim_WALK));
m_nAnim_WALK_INJURED_RLEG_RIFLE = 0;
m_nAnim_WALK_INJURED_RLEG_PISTOL = 0;
m_nAnim_WALK_INJURED_LLEG_RIFLE = 0;
m_nAnim_WALK_INJURED_LLEG_PISTOL = 0;
memset(m_nAnim_RUN,0,sizeof(m_nAnim_RUN));
memset(m_nAnim_JUMP,0,sizeof(m_nAnim_JUMP));
memset(m_nAnim_CROUCH,0,sizeof(m_nAnim_JUMP));
memset(m_nAnim_CRAWL,0,sizeof(m_nAnim_JUMP));
memset(m_nAnim_SWIM,0,sizeof(m_nAnim_SWIM));
memset(m_nAnim_STRAFERIGHT,0,sizeof(m_nAnim_STRAFERIGHT));
memset(m_nAnim_STRAFELEFT,0,sizeof(m_nAnim_STRAFELEFT));
m_nAnim_PICKUP_WEAPON = 0;
memset( m_nAnim_SWITCH_WEAPON,0,sizeof( m_nAnim_SWITCH_WEAPON));
memset(m_nAnim_FIRE_STAND,0,sizeof(m_nAnim_FIRE_STAND));
memset(m_nAnim_FIRE_WALK,0,sizeof(m_nAnim_FIRE_WALK));
memset(m_nAnim_FIRE_RUN,0,sizeof(m_nAnim_FIRE_RUN));
memset(m_nAnim_FIRE_JUMP,0,sizeof(m_nAnim_FIRE_JUMP));
memset(m_nAnim_FIRE_CROUCH,0,sizeof(m_nAnim_FIRE_CROUCH));
memset(m_nAnim_FIRE_CRAWL,0,sizeof(m_nAnim_FIRE_CRAWL));
m_nAnim_FALLING = 0;
m_nAnim_FALLING_UNCONTROL = 0;
m_nAnim_ROLL_FORWARD = 0;
m_nAnim_ROLL_RIGHT = 0;
m_nAnim_ROLL_LEFT = 0;
m_nAnim_ROLL_BACK = 0;
m_nAnim_HANDSPRING_FORWARD = 0;
m_nAnim_HANDSPRING_RIGHT = 0;
m_nAnim_HANDSPRING_LEFT = 0;
m_nAnim_HANDSPRING_BACK = 0;
m_nAnim_FLIP_FORWARD = 0;
m_nAnim_FLIP_RIGHT = 0;
m_nAnim_FLIP_LEFT = 0;
m_nAnim_FLIP_BACK = 0;
m_nAnim_DODGE_RIGHT = 0;
m_nAnim_DODGE_LEFT = 0;
memset(m_nAnim_RECOIL,0,sizeof(m_nAnim_RECOIL));
memset(m_nAnim_TAUNT,0,sizeof(m_nAnim_TAUNT));
m_nAnim_SPOTPLAYER_RIGHT = 0;
m_nAnim_SPOTPLAYER_LEFT = 0;
m_nAnim_SPOTPLAYER_POINT = 0;
memset(m_nAnim_DEATH,0,sizeof(m_nAnim_DEATH));
memset(m_nAnim_HUMILIATION,0,sizeof(m_nAnim_HUMILIATION));
memset(m_nAnim_SPECIAL,0,sizeof(m_nAnim_SPECIAL));
memset(m_nAnim_CORPSE,0,sizeof(m_nAnim_CORPSE));
memset(m_nAnim_LIMB,0,sizeof(m_nAnim_LIMB));
m_szSoundRoot[0] = '\0';
m_hVoxSound = DNULL;
m_bSilent = DFALSE;
}
CAnim_Sound::~CAnim_Sound()
{
if( m_hVoxSound )
g_pServerDE->KillSound( m_hVoxSound );
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: SetAnimationIndexes()
//
// PURPOSE: Initialize model animation indexes
//
// ----------------------------------------------------------------------- //
void CAnim_Sound::SetAnimationIndexes(HOBJECT m_hObject)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if (!pServerDE || !m_hObject) return;
m_nAnim_IDLE[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_IDLE1 );
m_nAnim_IDLE[1] = pServerDE->GetAnimIndex(m_hObject, ANIM_IDLE2 );
m_nAnim_IDLE[2] = pServerDE->GetAnimIndex(m_hObject, ANIM_IDLE3 );
m_nAnim_IDLE[3] = pServerDE->GetAnimIndex(m_hObject, ANIM_IDLE4 );
m_nAnim_TALK[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_TALK1 );
m_nAnim_TALK[1] = pServerDE->GetAnimIndex(m_hObject, ANIM_TALK2 );
m_nAnim_TALK[2] = pServerDE->GetAnimIndex(m_hObject, ANIM_TALK3 );
m_nAnim_TALK[3] = pServerDE->GetAnimIndex(m_hObject, ANIM_TALK4 );
m_nAnim_TALK[4] = pServerDE->GetAnimIndex(m_hObject, ANIM_TALK5 );
m_nAnim_WALK[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_RIFLE );
m_nAnim_WALK[1] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_RIFLE );
m_nAnim_WALK[2] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_PISTOL );
m_nAnim_WALK[3] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_PISTOL );
m_nAnim_WALK[4] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_KNIFE );
m_nAnim_WALK[5] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_KNIFE );
m_nAnim_WALK[6] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_KNIFE );
m_nAnim_WALK[7] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_PISTOL );
m_nAnim_WALK[8] = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_PISTOL );
m_nAnim_WALK_INJURED_RLEG_RIFLE = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_INJURED_RLEG_RIFLE );
m_nAnim_WALK_INJURED_RLEG_PISTOL = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_INJURED_RLEG_PISTOL );
m_nAnim_WALK_INJURED_LLEG_RIFLE = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_INJURED_LLEG_RIFLE );
m_nAnim_WALK_INJURED_LLEG_PISTOL = pServerDE->GetAnimIndex(m_hObject, ANIM_WALK_INJURED_LLEG_PISTOL );
m_nAnim_RUN[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_RIFLE );
m_nAnim_RUN[1] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_RIFLE );
m_nAnim_RUN[2] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_PISTOL );
m_nAnim_RUN[3] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_PISTOL );
m_nAnim_RUN[4] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_KNIFE );
m_nAnim_RUN[5] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_KNIFE );
m_nAnim_RUN[6] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_KNIFE );
m_nAnim_RUN[7] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_PISTOL );
m_nAnim_RUN[8] = pServerDE->GetAnimIndex(m_hObject, ANIM_RUN_PISTOL );
m_nAnim_JUMP[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_RIFLE );
m_nAnim_JUMP[1] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_RIFLE );
m_nAnim_JUMP[2] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_PISTOL );
m_nAnim_JUMP[3] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_PISTOL );
m_nAnim_JUMP[4] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_KNIFE );
m_nAnim_JUMP[5] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_KNIFE );
m_nAnim_JUMP[6] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_KNIFE );
m_nAnim_JUMP[7] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_PISTOL );
m_nAnim_JUMP[8] = pServerDE->GetAnimIndex(m_hObject, ANIM_JUMP_PISTOL );
m_nAnim_CROUCH[0] = pServerDE->GetAnimIndex(m_hObject, ANIM_CROUCH_RIFLE );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -