This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
/**> HEADER FILES <**/
#include "Person.h"
+#include "openal_wrapper.h"
extern float multiplier;
extern Animation animation[animation_count];
-extern FSOUND_SAMPLE *samp[100];
+extern OPENAL_SAMPLE *samp[100];
extern int channels[100];
extern Terrain terrain;
extern float gravity;
extern bool gamestarted;
-extern FSOUND_STREAM * strm[20];
-extern "C" void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
-extern "C" void PlayStreamEx(int chan, FSOUND_STREAM *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
+extern OPENAL_STREAM * strm[20];
+extern "C" void PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
+extern "C" void PlayStreamEx(int chan, OPENAL_STREAM *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
void Person::CheckKick(){
static XYZ relative;
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
victim->RagDoll(0);
relative=velocity;
velocity=facing*-10;
velocity.y=5;
skeleton.free=0;
- if(id==0)FSOUND_SetPaused(channels[whooshsound], FALSE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
//if(victim->damage>victim->damagetolerance){
if(id==0){
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( firestartsound, samp[firestartsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[firestartsound], gLoc, vel);
- FSOUND_SetVolume(channels[firestartsound], 256);
- FSOUND_SetPaused(channels[firestartsound], FALSE);
+ PlaySoundEx( firestartsound, samp[firestartsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[firestartsound], gLoc, vel);
+ OPENAL_SetVolume(channels[firestartsound], 256);
+ OPENAL_SetPaused(channels[firestartsound], false);
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- //PlaySoundEx( firesound, samp[firesound], NULL, TRUE);
- PlayStreamEx( stream_firesound, strm[stream_firesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[stream_firesound], gLoc, vel);
- FSOUND_SetVolume(channels[stream_firesound], 256);
- FSOUND_SetPaused(channels[stream_firesound], FALSE);
+ //PlaySoundEx( firesound, samp[firesound], NULL, true);
+ PlayStreamEx( stream_firesound, strm[stream_firesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[stream_firesound], gLoc, vel);
+ OPENAL_SetVolume(channels[stream_firesound], 256);
+ OPENAL_SetPaused(channels[stream_firesound], false);
flamedelay=0;
if(!skeleton.free){
sprites.MakeSprite(bloodsprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, 1);
sprites.MakeSprite(bloodflamesprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .3, 1);
- }
+ }
}
if(Random()%2==0)
for(int i=0;i<3;i++){
}
if(whichsound!=-1){
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- FSOUND_SetVolume(channels[whichsound], 512);
- FSOUND_SetPaused(channels[whichsound], FALSE);
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsound], 512);
+ OPENAL_SetPaused(channels[whichsound], false);
}
}
if(!skeleton.free){
sprites.MakeSprite(bloodsprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, 1);
sprites.MakeSprite(bloodflamesprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .3, 1);
- }
+ }
}
}
int offsetx=0,offsety=0;
if(i>endx)endx=i;
if(j>endy)endy=j;
}
- }
+ }
}
if(creature==wolftype)
for(i=0;i<512;i++){
if(i>endx)endx=i;
if(j>endy)endy=j;
}
- }
+ }
}
startx+=offsetx;
bloodloss+=bleeding*3;
if(tutoriallevel!=1&&aitype!=playercontrolled&&bloodloss>damagetolerance*2/3&&bloodloss<damagetolerance&&creature==rabbittype){
- if(abs(Random()%2)==0){aitype=gethelptype;
+ if(abs(Random()%2)==0){aitype=gethelptype;
lastseentime=12;
}
else aitype=attacktypecutoff;
if(!skeleton.free){
sprites.MakeSprite(bloodsprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, 1);
sprites.MakeSprite(bloodflamesprite, DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .3, 1);
- }
+ }
}
}
int offsetx=0,offsety=0;
if(i>endx)endx=i;
if(j>endy)endy=j;
}
- }
+ }
}
if(creature==wolftype)
for(i=0;i<512;i++){
if(i>endx)endx=i;
if(j>endy)endy=j;
}
- }
+ }
}
startx+=offsetx;
endx+=offsetx;
bloodloss+=bleeding*3;
if(tutoriallevel!=1&&aitype!=playercontrolled&&bloodloss>damagetolerance*2/3&&bloodloss<damagetolerance&&creature==rabbittype){
- if(abs(Random()%2)==0){aitype=gethelptype;
+ if(abs(Random()%2)==0){aitype=gethelptype;
lastseentime=12;
}
else aitype=attacktypecutoff;
if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
- PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
- FSOUND_SetVolume(channels[swordstaffsound], 512);
- FSOUND_SetPaused(channels[swordstaffsound], FALSE);
+ PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
+ OPENAL_SetVolume(channels[swordstaffsound], 512);
+ OPENAL_SetPaused(channels[swordstaffsound], false);
}
else{
- PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);
+ PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);
}
}
XYZ aim;
- /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);*/
+ /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);*/
}
if(abs(Random()%20)==0){
if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
- PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
- FSOUND_SetVolume(channels[swordstaffsound], 512);
- FSOUND_SetPaused(channels[swordstaffsound], FALSE);
+ PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
+ OPENAL_SetVolume(channels[swordstaffsound], 512);
+ OPENAL_SetPaused(channels[swordstaffsound], false);
}
else{
- PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);
+ PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);
}
}
}
- /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);*/
+ /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);*/
}
}
if(hasvictim)
if(aitype==passivetype&&damage<damagetolerance&&((tutoriallevel!=1||cananger)&&hostile))aitype=attacktypecutoff;
if(tutoriallevel!=1&&aitype!=playercontrolled&&damage<damagetolerance&&damage>damagetolerance*2/3&&creature==rabbittype){
- if(abs(Random()%2)==0){aitype=gethelptype;
+ if(abs(Random()%2)==0){aitype=gethelptype;
lastseentime=12;
}
else aitype=attacktypecutoff;
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( splattersound, samp[splattersound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[splattersound], gLoc, vel);
- FSOUND_SetVolume(channels[splattersound], 256);
- FSOUND_SetPaused(channels[splattersound], FALSE);
+ PlaySoundEx( splattersound, samp[splattersound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[splattersound], gLoc, vel);
+ OPENAL_SetVolume(channels[splattersound], 256);
+ OPENAL_SetPaused(channels[splattersound], false);
skeleton.free=2;
DoDamage(10000);
if(!dead&&creature==wolftype){
bonus=Wolfbonus;
bonustime=0;
- bonusvalue=300;
+ bonusvalue=300;
}
dead=2;
coords=20;
}
if(whichsound!=-1){
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- FSOUND_SetVolume(channels[whichsound], 512);
- FSOUND_SetPaused(channels[whichsound], FALSE);
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsound], 512);
+ OPENAL_SetPaused(channels[whichsound], false);
}
}
speechdelay=.3;
/*
-HitStruct Person::BulletCollideWithPlayer(XYZ start, XYZ end){
+HitStruct Person::BulletCollideWithPlayer(XYZ start, XYZ end){
float damage=20;
XYZ tempbulletloc[2];
XYZ collisionpoint;
return hitstruct;
}
*/
-void Person::DoAnimations(){
+void Person::DoAnimations(){
if(!skeleton.free){
int i = 0;
static float oldtarget;
if(isIdle()&¤tanimation!=getIdle())normalsupdatedelay=0;
if(targetanimation==tempanim||currentanimation==tempanim){
- animation[tempanim]=tempanimation;
+ animation[tempanim]=tempanimation;
}
if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
float gLoc[3];
vel[2]=velocity.z;
if(id==0){
- FSOUND_3D_SetAttributes(channels[whooshsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshsound], 64*findLength(&velocity)/5);
+ OPENAL_3D_SetAttributes(channels[whooshsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshsound], 64*findLength(&velocity)/5);
}
- if(((velocity.y<-15)||(crouchkeydown&&velocity.y<-8))&&abs(velocity.y)*4>fast_sqrt(velocity.x*velocity.x*velocity.z*velocity.z))landhard=1;
+ if(((velocity.y<-15)||(crouchkeydown&&velocity.y<-8))&&abs(velocity.y)*4>fast_sqrt(velocity.x*velocity.x*velocity.z*velocity.z))landhard=1;
if(!crouchkeydown&&velocity.y>=-15)landhard=0;
}
if((currentanimation==jumpupanim||targetanimation==jumpdownanim)/*&&velocity.y<40*/&&!isFlip()&&(!isLanding()&&!isLandhard())&&((crouchkeydown&&!crouchtogglekeydown))){
crouchtogglekeydown=0;
if(aitype==playercontrolled)feint=0;
}
- else
+ else
{
if(!crouchtogglekeydown&&animation[targetanimation].attack==reversed&&aitype==playercontrolled&&(escapednum<2||reversaltrain))feint=1;
if(!isFlip())crouchtogglekeydown=1;
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( fireendsound, samp[fireendsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fireendsound], gLoc, vel);
- FSOUND_SetVolume(channels[fireendsound], 256);
- FSOUND_SetPaused(channels[fireendsound], FALSE);
- FSOUND_SetPaused(channels[stream_firesound], TRUE);
+ PlaySoundEx( fireendsound, samp[fireendsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fireendsound], gLoc, vel);
+ OPENAL_SetVolume(channels[fireendsound], 256);
+ OPENAL_SetPaused(channels[fireendsound], false);
+ OPENAL_SetPaused(channels[stream_firesound], true);
deathbleeding=0;
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(1/victim->armorhead,210);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifesheathesound], 128);
- FSOUND_SetPaused(channels[knifesheathesound], FALSE);
+ PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifesheathesound], 128);
+ OPENAL_SetPaused(channels[knifesheathesound], false);
}
if(weaponactive!=-1){
float gLoc[3];
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
}
drawtogglekeydown=1;
FootLand(0,1);
}
- }
+ }
if(terrain.getOpacity(coords.x,coords.z)>=.2){
if(animation[targetanimation].label[targetframe]==1)whichsound=footstepsound3;
else whichsound=footstepsound4;
- }
+ }
}
if(!onterrain){
if(animation[targetanimation].label[targetframe]==1)whichsound=footstepsound3;
else if(animation[targetanimation].label[targetframe]==4)whichsound=knifeswishsound;
if(animation[targetanimation].label[targetframe]==8&&tutoriallevel!=1)whichsound=landsound2;
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- if(whichsound!=knifeswishsound)FSOUND_SetVolume(channels[whichsound], 128);
- if(whichsound!=knifeswishsound&&(targetanimation==staffhitanim||targetanimation==staffgroundsmashanim||targetanimation==staffspinhitanim))FSOUND_SetVolume(channels[whichsound], 256);
- if(whichsound==knifeswishsound)FSOUND_SetVolume(channels[whichsound], 512);
- FSOUND_SetPaused(channels[whichsound], FALSE);
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ if(whichsound!=knifeswishsound)OPENAL_SetVolume(channels[whichsound], 128);
+ if(whichsound!=knifeswishsound&&(targetanimation==staffhitanim||targetanimation==staffgroundsmashanim||targetanimation==staffspinhitanim))OPENAL_SetVolume(channels[whichsound], 256);
+ if(whichsound==knifeswishsound)OPENAL_SetVolume(channels[whichsound], 512);
+ OPENAL_SetPaused(channels[whichsound], false);
if(id==0)
if(whichsound==footstepsound||whichsound==footstepsound2||whichsound==footstepsound3||whichsound==footstepsound4){
if(animation[targetanimation].label[targetframe]==3){
whichsound--;
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- FSOUND_SetVolume(channels[whichsound], 128);
- FSOUND_SetPaused(channels[whichsound], FALSE);
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsound], 128);
+ OPENAL_SetPaused(channels[whichsound], false);
}
}
//if(animation[targetanimation].label[targetframe]==8)whichsound=landsound2;
if(whichsound!=-1){
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- FSOUND_SetVolume(channels[whichsound], 512);
- FSOUND_SetPaused(channels[whichsound], FALSE);
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsound], 512);
+ OPENAL_SetPaused(channels[whichsound], false);
}
}
- if((!wasLanding()&&!wasLandhard())&¤tanimation!=getIdle()&&(isLanding()||isLandhard())){
+ if((!wasLanding()&&!wasLandhard())&¤tanimation!=getIdle()&&(isLanding()||isLandhard())){
FootLand(0,1);
FootLand(1,1);
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
weaponactive=0;
}
if(!fleshstuck){
if(weapons.type[i]!=staff){
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
}
if(fleshstuck){
- PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabremovesound], 128);
- FSOUND_SetPaused(channels[fleshstabremovesound], FALSE);
+ PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabremovesound], 128);
+ OPENAL_SetPaused(channels[fleshstabremovesound], false);
}
weaponactive=0;
if(weapons.owner[i]!=-1){
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifesheathesound], 128);
- FSOUND_SetPaused(channels[knifesheathesound], FALSE);
+ PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifesheathesound], 128);
+ OPENAL_SetPaused(channels[knifesheathesound], false);
}
if(weaponactive!=-1){
float gLoc[3];
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
}
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( jumpsound, samp[jumpsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[jumpsound], gLoc, vel);
- FSOUND_SetVolume(channels[jumpsound], 128);
- FSOUND_SetPaused(channels[jumpsound], FALSE);
+ PlaySoundEx( jumpsound, samp[jumpsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[jumpsound], gLoc, vel);
+ OPENAL_SetVolume(channels[jumpsound], 128);
+ OPENAL_SetPaused(channels[jumpsound], false);
}
float closestdist;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( jumpsound, samp[jumpsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[jumpsound], gLoc, vel);
- FSOUND_SetVolume(channels[jumpsound], 128);
- FSOUND_SetPaused(channels[jumpsound], FALSE);
+ PlaySoundEx( jumpsound, samp[jumpsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[jumpsound], gLoc, vel);
+ OPENAL_SetVolume(channels[jumpsound], 128);
+ OPENAL_SetPaused(channels[jumpsound], false);
}
}
}
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhead,175);
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshhitsound], 512);
- FSOUND_SetPaused(channels[whooshhitsound], FALSE);
+ PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshhitsound], 512);
+ OPENAL_SetPaused(channels[whooshhitsound], false);
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2,175);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 160);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 160);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhead,175);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 160);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 160);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhead,175);
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshhitsound], 512);
- FSOUND_SetPaused(channels[whooshhitsound], FALSE);
+ PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshhitsound], 512);
+ OPENAL_SetPaused(channels[whooshhitsound], false);
victim->RagDoll(0);
XYZ relative;
relative=victim->coords-coords;
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- /*PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 128);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ /*PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 128);
+ OPENAL_SetPaused(channels[landsound2], false);
*/
- PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
- FSOUND_SetVolume(channels[movewhooshsound], 128);
- FSOUND_SetPaused(channels[movewhooshsound], FALSE);
+ PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
+ OPENAL_SetVolume(channels[movewhooshsound], 128);
+ OPENAL_SetPaused(channels[movewhooshsound], false);
victim->skeleton.longdead=0;
victim->skeleton.free=1;
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
XYZ relative;
relative=victim->coords-coords;
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( thudsound, samp[thudsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[thudsound], gLoc, vel);
- FSOUND_SetVolume(channels[thudsound], 400);
- FSOUND_SetPaused(channels[thudsound], FALSE);
+ PlaySoundEx( thudsound, samp[thudsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[thudsound], gLoc, vel);
+ OPENAL_SetVolume(channels[thudsound], 400);
+ OPENAL_SetPaused(channels[thudsound], false);
}
victim->skeleton.longdead=0;
if(!hasvictim){
terrain.MakeDecal(blooddecalfast,(weapons.tippoint[weaponids[weaponactive]]*.8+weapons.position[weaponids[weaponactive]]*.2),.08,.6,Random()%360);
- PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifesheathesound], 128);
- FSOUND_SetPaused(channels[knifesheathesound], FALSE);
+ PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifesheathesound], 128);
+ OPENAL_SetPaused(channels[knifesheathesound], false);
}
if(victim&&hasvictim){
victim->skeleton.joints[i].locked=0;
//victim->skeleton.joints[i].velocity=0;
}
- PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabsound], 128);
- FSOUND_SetPaused(channels[fleshstabsound], FALSE);
+ PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabsound], 128);
+ OPENAL_SetPaused(channels[fleshstabsound], false);
}
if(whichtri!=-1||weapons.bloody[weaponids[weaponactive]]){
}
if(whichtri==-1){
hasvictim=0;
- PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifesheathesound], 128);
- FSOUND_SetPaused(channels[knifesheathesound], FALSE);
+ PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifesheathesound], 128);
+ OPENAL_SetPaused(channels[knifesheathesound], false);
}
}
}
vel[1]=velocity.y;
vel[2]=velocity.z;
if(!hasvictim){
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
if(victim&&hasvictim){
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
- PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabremovesound], 128);
- FSOUND_SetPaused(channels[fleshstabremovesound], FALSE);
+ PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabremovesound], 128);
+ OPENAL_SetPaused(channels[fleshstabremovesound], false);
footvel=0;
footpoint=(weapons.tippoint[weaponids[weaponactive]]*.8+weapons.position[weaponids[weaponactive]]*.2);
for(i=0;i<victim->skeleton.num_joints;i++){
victim->skeleton.joints[i].velchange=0;
- victim->skeleton.joints[i].locked=0;
+ victim->skeleton.joints[i].locked=0;
//victim->skeleton.joints[i].velocity=0;
}
if(!hasvictim&&onterrain){
weapons.bloody[weaponids[weaponactive]]=0;
weapons.blooddrip[weaponids[weaponactive]]=0;
- }
+ }
}
if(targetanimation==upunchanim&&animation[targetanimation].label[currentframe]==5){
//if(!victim->isIdle()||victim->damage>victim->damagetolerance-60){
if(1==1){
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
}
else {
if(tutoriallevel!=1){
- PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 256);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 256);
+ OPENAL_SetPaused(channels[landsound2], false);
}
}
//if(!victim->isIdle()||victim->damage>victim->damagetolerance-60){
if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height!=lowheight){
if(tutoriallevel!=1){
- PlaySoundEx( thudsound, samp[thudsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[thudsound], gLoc, vel);
- FSOUND_SetVolume(channels[thudsound], 512);
- FSOUND_SetPaused(channels[thudsound], FALSE);
+ PlaySoundEx( thudsound, samp[thudsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[thudsound], gLoc, vel);
+ OPENAL_SetVolume(channels[thudsound], 512);
+ OPENAL_SetPaused(channels[thudsound], false);
}
}
else if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height==lowheight){
if(tutoriallevel!=1){
- PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshhitsound], 512);
- FSOUND_SetPaused(channels[whooshhitsound], FALSE);
+ PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshhitsound], 512);
+ OPENAL_SetPaused(channels[whooshhitsound], false);
}
}
else {
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 256);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
- }
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 256);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
+ }
}
if(victim->damage>victim->damagetolerance-60||normaldotproduct(victim->facing,victim->coords-coords)>0||animation[victim->targetanimation].height==lowheight)
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 256);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 256);
+ OPENAL_SetPaused(channels[landsound2], false);
Puff(righthand);
}
if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
- PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
- FSOUND_SetVolume(channels[swordstaffsound], 512);
- FSOUND_SetPaused(channels[swordstaffsound], FALSE);
+ PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
+ OPENAL_SetVolume(channels[swordstaffsound], 512);
+ OPENAL_SetPaused(channels[swordstaffsound], false);
}
else{
- PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);
+ PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);
}
}
escapednum=0;
XYZ aim;
weapons.owner[weaponids[0]]=-1;
- aim=victim->coords+DoRotation(victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position,0,victim->rotation,0)*victim->scale+victim->velocity*findDistance(&victim->coords,&coords)/50-(coords+DoRotation(skeleton.joints[skeleton.jointlabels[righthand]].position,0,rotation,0)*scale);
+ aim=victim->coords+DoRotation(victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position,0,victim->rotation,0)*victim->scale+victim->velocity*findDistance(&victim->coords,&coords)/50-(coords+DoRotation(skeleton.joints[skeleton.jointlabels[righthand]].position,0,rotation,0)*scale);
Normalise(&aim);
/*if(victim->targetanimation==jumpupanim||victim->targetanimation==jumpdownanim){
aim=DoRotation(aim,(float)abs(Random()%15)-7,(float)abs(Random()%15)-7,0);
weaponids[0]=weaponids[num_weapons];
}
weaponactive=-1;
- }
+ }
}
if(targetanimation==knifeslashstartanim&&animation[targetanimation].label[currentframe]==5){
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifeslicesound], 512);
- FSOUND_SetPaused(channels[knifeslicesound], FALSE);
+ PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifeslicesound], 512);
+ OPENAL_SetPaused(channels[knifeslicesound], false);
}
//victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
if(animation[victim->targetanimation].attack&&(victim->aitype!=playercontrolled||victim->targetanimation==knifeslashstartanim)&&(victim->creature==rabbittype||victim->deathbleeding<=0)){
if(tutoriallevel!=1)if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1;
if(tutoriallevel!=1)weapons.blooddrip[weaponids[weaponactive]]+=3;
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
if(skeleton.free){
footpoint=(victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position+victim->skeleton.joints[victim->skeleton.jointlabels[neck]].position)/2*victim->scale+victim->coords;
}
if(!skeleton.free){
footpoint=DoRotation((victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position+victim->skeleton.joints[victim->skeleton.jointlabels[neck]].position)/2,0,victim->rotation,0)*victim->scale+victim->coords;
- }
+ }
if(tutoriallevel!=1){
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .6, .3);
footvel=DoRotation(facing,0,90,0)*.8;
bonustime=0;
bonusvalue=40;
}
- escapednum=0;
+ escapednum=0;
if(tutoriallevel!=1){
if(normaldotproduct(victim->facing,victim->coords-coords)<0)victim->DoBloodBig(2/victim->armorhigh,190);
else victim->DoBloodBig(2/victim->armorhigh,185);
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( swordslicesound, samp[swordslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[swordslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[swordslicesound], 512);
- FSOUND_SetPaused(channels[swordslicesound], FALSE);
+ PlaySoundEx( swordslicesound, samp[swordslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[swordslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[swordslicesound], 512);
+ OPENAL_SetPaused(channels[swordslicesound], false);
}
//victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
//if(animation[victim->targetanimation].attack){
//victim->bloodloss+=100*(6.5-findDistancefast(&coords,&victim->coords));
victim->DoDamage(damagemult*0);
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
if(skeleton.free){
footpoint=(victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position+victim->skeleton.joints[victim->skeleton.jointlabels[neck]].position)/2*victim->scale+victim->coords;
}
if(!skeleton.free){
footpoint=DoRotation((victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position+victim->skeleton.joints[victim->skeleton.jointlabels[neck]].position)/2,0,victim->rotation,0)*victim->scale+victim->coords;
- }
+ }
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
footvel=DoRotation(facing,0,90,0)*.8;
footvel.y-=.3;
if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250;
- PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
- FSOUND_SetVolume(channels[swordstaffsound], 512);
- FSOUND_SetPaused(channels[swordstaffsound], FALSE);
+ PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel);
+ OPENAL_SetVolume(channels[swordstaffsound], 512);
+ OPENAL_SetPaused(channels[swordstaffsound], false);
}
else{
- PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);
+ PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);
}
}
player[i].wentforweapon=0;
}
- /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[metalhitsound], 512);
- FSOUND_SetPaused(channels[metalhitsound], FALSE);*/
+ /*PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[metalhitsound], 512);
+ OPENAL_SetPaused(channels[metalhitsound], false);*/
}
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[staffheadsound], gLoc, vel);
- FSOUND_SetVolume(channels[staffheadsound], 256);
- FSOUND_SetPaused(channels[staffheadsound], FALSE);
+ PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[staffheadsound], gLoc, vel);
+ OPENAL_SetVolume(channels[staffheadsound], 256);
+ OPENAL_SetPaused(channels[staffheadsound], false);
}
victim->RagDoll(0);
XYZ relative;
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[staffheadsound], gLoc, vel);
- FSOUND_SetVolume(channels[staffheadsound], 256);
- FSOUND_SetPaused(channels[staffheadsound], FALSE);
+ PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[staffheadsound], gLoc, vel);
+ OPENAL_SetVolume(channels[staffheadsound], 256);
+ OPENAL_SetPaused(channels[staffheadsound], false);
}
victim->RagDoll(0);
XYZ relative;
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( staffbodysound, samp[staffbodysound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[staffbodysound], gLoc, vel);
- FSOUND_SetVolume(channels[staffbodysound], 256);
- FSOUND_SetPaused(channels[staffbodysound], FALSE);
+ PlaySoundEx( staffbodysound, samp[staffbodysound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[staffbodysound], gLoc, vel);
+ OPENAL_SetVolume(channels[staffbodysound], 256);
+ OPENAL_SetPaused(channels[staffbodysound], false);
}
victim->skeleton.longdead=0;
victim->skeleton.free=1;
for(i=0;i<victim->skeleton.num_joints;i++){
victim->skeleton.joints[i].velchange=0;
- victim->skeleton.joints[i].locked=0;
+ victim->skeleton.joints[i].locked=0;
//victim->skeleton.joints[i].velocity=0;
}
}
victim->skeleton.joints[victim->skeleton.jointlabels[head]].velocity+=relative*damagemult*200;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
victim->Puff(head);
victim->DoDamage(damagemult*100/victim->protectionhead);
if(victim->howactive==typesleeping)victim->DoDamage(damagemult*150/victim->protectionhead);
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhead,175);
}
victim->targetrotation=targetrotation+180;
victim->target=0;
if(tutoriallevel!=1){
- PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 128);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 128);
+ OPENAL_SetPaused(channels[landsound2], false);
}
victim->Puff(abdomen);
victim->DoDamage(damagemult*30/victim->protectionhigh);
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhigh,170);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 128);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 128);
+ OPENAL_SetPaused(channels[landsound2], false);
}
XYZ relative;
relative=victim->coords-coords;
victim->targetrotation=targetrotation+180;
victim->target=0;
if(tutoriallevel!=1){
- PlaySoundEx( landsound2, samp[landsound2], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound2], gLoc, vel);
- FSOUND_SetVolume(channels[landsound2], 128);
- FSOUND_SetPaused(channels[landsound2], FALSE);
+ PlaySoundEx( landsound2, samp[landsound2], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound2], 128);
+ OPENAL_SetPaused(channels[landsound2], false);
}
victim->Puff(abdomen);
victim->DoDamage(damagemult*30/victim->protectionlow);
}
}
- }
+ }
if(animation[targetanimation].attack==reversal&&(!victim->feint||(victim->lastattack==victim->lastattack2&&victim->lastattack2==victim->lastattack3&&Random()%2)||targetanimation==knifefollowanim)){
if(targetanimation==spinkickreversalanim&&animation[targetanimation].label[currentframe]==7){
escapednum=0;
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
if(creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhigh,170);
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshhitsound], 128);
- FSOUND_SetPaused(channels[whooshhitsound], FALSE);
+ PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshhitsound], 128);
+ OPENAL_SetPaused(channels[whooshhitsound], false);
victim->RagDoll(0);
XYZ relative;
relative=victim->coords-oldcoords;
}
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
victim->RagDoll(0);
if(id==0){
vel[2]=velocity.z;
if(weaponactive!=-1){
victim->DoBloodBig(2/victim->armorhigh,225);
- PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifeslicesound], 512);
- FSOUND_SetPaused(channels[knifeslicesound], FALSE);
+ PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifeslicesound], 512);
+ OPENAL_SetPaused(channels[knifeslicesound], false);
if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1;
weapons.blooddrip[weaponids[weaponactive]]+=3;
}
if(weaponactive==-1&&creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhigh,175);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
victim->DoBloodBig(2,225);
- PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifeslicesound], 512);
- FSOUND_SetPaused(channels[knifeslicesound], FALSE);
+ PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifeslicesound], 512);
+ OPENAL_SetPaused(channels[knifeslicesound], false);
if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1;
weapons.blooddrip[weaponids[weaponactive]]+=3;
}*/
vel[1]=velocity.y;
vel[2]=velocity.z;
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
victim->RagDoll(0);
XYZ relative;
vel[2]=velocity.z;
if(weaponactive!=-1){
victim->DoBloodBig(200,225);
- PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifeslicesound], 512);
- FSOUND_SetPaused(channels[knifeslicesound], FALSE);
+ PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifeslicesound], 512);
+ OPENAL_SetPaused(channels[knifeslicesound], false);
if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2;
weapons.blooddrip[weaponids[weaponactive]]+=5;
}
if(creature==wolftype&&weaponactive==-1){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2,175);
}
bloodvel=DoRotation(bloodvel,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale;
sprites.MakeSprite(bloodsprite, DoRotation(skeleton.joints[skeleton.jointlabels[neck]].position,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, 1);
*/
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
footpoint=weapons.tippoint[weaponids[0]];
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
bonustime=0;
bonusvalue=40;
}
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
footpoint=weapons.tippoint[weaponids[0]];
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabsound], 512);
- FSOUND_SetPaused(channels[fleshstabsound], FALSE);
+ PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabsound], 512);
+ OPENAL_SetPaused(channels[fleshstabsound], false);
if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2;
weapons.blooddrip[weaponids[weaponactive]]+=5;
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabremovesound], 512);
- FSOUND_SetPaused(channels[fleshstabremovesound], FALSE);
+ PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabremovesound], 512);
+ OPENAL_SetPaused(channels[fleshstabremovesound], false);
if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2;
weapons.blooddrip[weaponids[weaponactive]]+=5;
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
footpoint=weapons.tippoint[weaponids[0]];
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
escapednum=0;
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
footpoint=(weapons.tippoint[weaponids[0]]+weapons.position[weaponids[0]])/2;
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabsound], 512);
- FSOUND_SetPaused(channels[fleshstabsound], FALSE);
+ PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabsound], 512);
+ OPENAL_SetPaused(channels[fleshstabsound], false);
if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2;
weapons.blooddrip[weaponids[weaponactive]]+=5;
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
- FSOUND_SetVolume(channels[fleshstabremovesound], 512);
- FSOUND_SetPaused(channels[fleshstabremovesound], FALSE);
+ PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel);
+ OPENAL_SetVolume(channels[fleshstabremovesound], 512);
+ OPENAL_SetPaused(channels[fleshstabremovesound], false);
if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2;
weapons.blooddrip[weaponids[weaponactive]]+=5;
- XYZ footvel,footpoint;
+ XYZ footvel,footpoint;
footvel=0;
footpoint=weapons.tippoint[weaponids[0]];
if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3);
vel[2]=velocity.z;
if(weaponactive==-1){
if(tutoriallevel!=1){
- PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
- FSOUND_SetVolume(channels[heavyimpactsound], 128);
- FSOUND_SetPaused(channels[heavyimpactsound], FALSE);
+ PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel);
+ OPENAL_SetVolume(channels[heavyimpactsound], 128);
+ OPENAL_SetPaused(channels[heavyimpactsound], false);
}
}
bool doslice;
if(doslice){
if(weaponactive!=-1){
victim->DoBloodBig(2/victim->armorhead,225);
- PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifeslicesound], 512);
- FSOUND_SetPaused(channels[knifeslicesound], FALSE);
+ PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifeslicesound], 512);
+ OPENAL_SetPaused(channels[knifeslicesound], false);
if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1;
weapons.blooddrip[weaponids[weaponactive]]+=3;
}
- if(weaponactive==-1&&creature==wolftype){
- PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
- FSOUND_SetVolume(channels[clawslicesound], 128);
- FSOUND_SetPaused(channels[clawslicesound], FALSE);
+ if(weaponactive==-1&&creature==wolftype){
+ PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel);
+ OPENAL_SetVolume(channels[clawslicesound], 128);
+ OPENAL_SetPaused(channels[clawslicesound], false);
victim->spurt=1;
victim->DoBloodBig(2/victim->armorhead,175);
}
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
- FSOUND_SetVolume(channels[movewhooshsound], 128);
- FSOUND_SetPaused(channels[movewhooshsound], FALSE);
+ PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
+ OPENAL_SetVolume(channels[movewhooshsound], 128);
+ OPENAL_SetPaused(channels[movewhooshsound], false);
}
if(currentanimation==staggerbackhighanim){
targetanimation=getIdle();
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
- FSOUND_SetVolume(channels[knifesheathesound], 128);
- FSOUND_SetPaused(channels[knifesheathesound], FALSE);
+ PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifesheathesound], 128);
+ OPENAL_SetPaused(channels[knifesheathesound], false);
}
if(weaponactive!=-1){
float gLoc[3];
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
- FSOUND_SetVolume(channels[knifedrawsound], 128);
- FSOUND_SetPaused(channels[knifedrawsound], FALSE);
+ PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel);
+ OPENAL_SetVolume(channels[knifedrawsound], 128);
+ OPENAL_SetPaused(channels[knifedrawsound], false);
}
}
if(currentanimation==rollanim){
targetframe=3;
velocity=facing*-8;
velocity.y=4;
- if(id==0)FSOUND_SetPaused(channels[whooshsound], FALSE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
}
if(targetanimation==walljumprightanim){
targetanimation=rightflipanim;
velocity=facing*8;
velocity.y=4;
}
- if(id==0)FSOUND_SetPaused(channels[whooshsound], FALSE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
}
if(targetanimation==walljumpleftanim){
if(attackkeydown){
velocity=DoRotation(facing,0,-30,0)*-8;
velocity.y=4;
}
- if(id==0)FSOUND_SetPaused(channels[whooshsound], FALSE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
}
if(targetanimation==sneakattackanim){
float ycoords=oldcoords.y;
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( landsound, samp[landsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound], gLoc, vel);
- FSOUND_SetVolume(channels[landsound], 128);
- FSOUND_SetPaused(channels[landsound], FALSE);
+ PlaySoundEx( landsound, samp[landsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound], 128);
+ OPENAL_SetPaused(channels[landsound], false);
if(currentanimation==upunchreversedanim||currentanimation==swordslashreversedanim){
targetanimation=rollanim;
escapednum++;
targetanimation=rollanim;
coords+=facing;
- if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
}
lastfeint=0;
}
escapednum++;
targetanimation=rollanim;
coords+=facing*2;
- if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
}
lastfeint=0;
}
targetanimation=jumpdownanim;
}
}
- if(!skeleton.free){
+ if(!skeleton.free){
oldtarget=target;
if(!transspeed&&animation[targetanimation].attack!=2&&animation[targetanimation].attack!=3){
if(!isRun()||!wasRun()){
if(currentanimation!=oldcurrentanimation||targetanimation!=oldtargetanimation||((currentframe!=oldcurrentframe||targetframe!=oldtargetframe)&&!calcrot)){
//Old rotates
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].position=animation[currentanimation].position[i][currentframe];
+ skeleton.joints[i].position=animation[currentanimation].position[i][currentframe];
}
skeleton.FindForwards();
//New rotates
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].position=animation[targetanimation].position[i][targetframe];
+ skeleton.joints[i].position=animation[targetanimation].position[i][targetframe];
}
skeleton.FindForwards();
//skeleton.DoConstraints();
}
-void Person::DoStuff(){
+void Person::DoStuff(){
static XYZ terrainnormal;
static XYZ flatfacing;
static XYZ flatvelocity;
/*if(aitype!=playercontrolled)*/
deathbleeding=1;
if(burnt>.6)burnt=.6;
- FSOUND_SetVolume(channels[stream_firesound], 256+256*findLength(&velocity)/3);
+ OPENAL_SetVolume(channels[stream_firesound], 256+256*findLength(&velocity)/3);
if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
float gLoc[3];
vel[2]=velocity.z;
if(id==0){
- FSOUND_3D_SetAttributes(channels[whooshsound], gLoc, vel);
- FSOUND_SetVolume(channels[whooshsound], 64*findLength(&velocity)/5);
+ OPENAL_3D_SetAttributes(channels[whooshsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whooshsound], 64*findLength(&velocity)/5);
}
}
}
if(skeleton.free)flatvelocity=skeleton.joints[howmany].velocity*scale/2;
if(!skeleton.free)flatfacing=DoRotation(DoRotation(DoRotation(skeleton.joints[howmany].position,0,0,tilt),tilt2,0,0),0,rotation,0)*scale+coords;
if(skeleton.free)flatfacing=skeleton.joints[howmany].position*scale+coords;
- sprites.MakeSprite(breathsprite, flatfacing,flatvelocity, 1,1,1, .6+(float)abs(Random()%100)/200-.25, .3);
+ sprites.MakeSprite(breathsprite, flatfacing,flatvelocity, 1,1,1, .6+(float)abs(Random()%100)/200-.25, .3);
}
if(bleeding>0){
if(!skeleton.free)bloodvel+=DoRotation(velocity,((float)(Random()%100))/4,((float)(Random()%100))/4,0)*scale;
if(skeleton.free)sprites.MakeSprite(bloodsprite, skeleton.joints[skeleton.jointlabels[abdomen]].position*scale+coords,bloodvel, 1,1,1, .05, 1);
if(!skeleton.free)sprites.MakeSprite(bloodsprite, DoRotation((skeleton.joints[skeleton.jointlabels[abdomen]].position+skeleton.joints[skeleton.jointlabels[abdomen]].position)/2,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, 1);
- }
+ }
}
/*if(id==0){
bloodloss+=deathbleeding*40;
bloodloss+=deathbleeding*multiplier*80;
deathbleeding-=multiplier*1.6;
//if(id==0)deathbleeding-=multiplier*.2;
- if(deathbleeding<0)deathbleeding=0;
+ if(deathbleeding<0)deathbleeding=0;
if(bloodloss>damagetolerance&&animation[targetanimation].attack==neutral){
if(weaponactive!=-1){
weapons.owner[weaponids[0]]=-1;
if(!dead&&creature==wolftype){
bonus=Wolfbonus;
bonustime=0;
- bonusvalue=300;
+ bonusvalue=300;
}
dead=2;
if(targetanimation==knifefollowedanim&&!skeleton.free){
if(!skeleton.free)footpoint=DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,rotation,0)*scale+coords;
if(skeleton.free)footpoint=((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2)*scale+coords;
if(targetanimation==sleepanim)footvel=DoRotation(footvel,0,90,0);
- sprites.MakeSprite(breathsprite, footpoint+footvel*.2,footvel*.4, 1,1,1, .4, .3);
+ sprites.MakeSprite(breathsprite, footpoint+footvel*.2,footvel*.4, 1,1,1, .4, .3);
}
}
}
}
}
- if(creature==wolftype){
+ if(creature==wolftype){
twitchdelay2-=multiplier*1.5;
if(tailmorphend!=0)
if((isRun()||targetanimation==jumpupanim||targetanimation==jumpdownanim||targetanimation==backflipanim)&&!skeleton.free){
if(creature==wolftype){
bonus=Wolfbonus;
bonustime=0;
- bonusvalue=300;
+ bonusvalue=300;
}
RagDoll(0);
/*
if(bloodloss<damagetolerance)
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].velocity*=1.5;
+ skeleton.joints[i].velocity*=1.5;
}*/
}
skeleton.free=1;
damage-=20;
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].velocity=0;
+ skeleton.joints[i].velocity=0;
}
}
if(permanentdamage>damagetolerance&&dead!=2){
if(!dead&&creature==wolftype){
bonus=Wolfbonus;
bonustime=0;
- bonusvalue=300;
+ bonusvalue=300;
}
if(id!=0&&unconscioustime<.1&&(bonus!=spinecrusher||bonustime>1)&&(bonus!=FinishedBonus||bonustime>1)&&bloodloss<damagetolerance){
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( breaksound, samp[breaksound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[breaksound], gLoc, vel);
- FSOUND_SetVolume(channels[breaksound], 512);
- FSOUND_SetPaused(channels[breaksound], FALSE);
+ PlaySoundEx( breaksound, samp[breaksound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[breaksound], gLoc, vel);
+ OPENAL_SetVolume(channels[breaksound], 512);
+ OPENAL_SetPaused(channels[breaksound], false);
/*if(id==0||findDistancefast(&coords,&viewer)<50){
slomo=1;
slomodelay=.2;
}
if(skeleton.free==1){
- if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
if(!dead){
//If knocked over, open hands and close mouth
skeleton.longdead+=(2000-findLength(&average))*multiplier+multiplier;
if(skeleton.longdead>2000){
if(skeleton.longdead>6000){
- if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
skeleton.free=3;
DrawSkeleton();
skeleton.free=2;
if(objects.type[i]!=treeleavestype&&objects.type[i]!=bushtype&&objects.type[i]!=firetype){
colviewer=startpoint;
coltarget=endpoint;
- if(objects.model[i].LineCheck(&colviewer,&coltarget,&colpoint,&objects.position[i],&objects.rotation[i])!=-1)canrecover=0;
+ if(objects.model[i].LineCheck(&colviewer,&coltarget,&colpoint,&objects.position[i],&objects.rotation[i])!=-1)canrecover=0;
}
}
if(canrecover){
if(findLength(&average)<10&&!dead&&skeleton.free){
skeleton.longdead+=(2000-findLength(&average))*multiplier+multiplier;
if(skeleton.longdead>(damage+500)*1.5){
- if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE);
+ if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
skeleton.free=0;
velocity=0;
XYZ middle;
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
- FSOUND_SetVolume(channels[movewhooshsound], 128);
- FSOUND_SetPaused(channels[movewhooshsound], FALSE);
+ PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel);
+ OPENAL_SetVolume(channels[movewhooshsound], 128);
+ OPENAL_SetPaused(channels[movewhooshsound], false);
currentanimation=targetanimation;
currentframe=targetframe-1;
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( firestartsound, samp[firestartsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[firestartsound], gLoc, vel);
- FSOUND_SetVolume(channels[firestartsound], 256);
- FSOUND_SetPaused(channels[firestartsound], FALSE);
+ PlaySoundEx( firestartsound, samp[firestartsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[firestartsound], gLoc, vel);
+ OPENAL_SetVolume(channels[firestartsound], 256);
+ OPENAL_SetPaused(channels[firestartsound], false);
}
objects.onfire[i]=1;
}
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( firestartsound, samp[firestartsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[firestartsound], gLoc, vel);
- FSOUND_SetVolume(channels[firestartsound], 256);
- FSOUND_SetPaused(channels[firestartsound], FALSE);
+ PlaySoundEx( firestartsound, samp[firestartsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[firestartsound], gLoc, vel);
+ OPENAL_SetVolume(channels[firestartsound], 256);
+ OPENAL_SetPaused(channels[firestartsound], false);
}
objects.onfire[i]=1;
}
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( bushrustle, samp[bushrustle], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[bushrustle], gLoc, vel);
- FSOUND_SetVolume(channels[bushrustle], 40*findLength(&velocity));
- FSOUND_SetPaused(channels[bushrustle], FALSE);
+ PlaySoundEx( bushrustle, samp[bushrustle], NULL, true);
+ OPENAL_3D_SetAttributes(channels[bushrustle], gLoc, vel);
+ OPENAL_SetVolume(channels[bushrustle], 40*findLength(&velocity));
+ OPENAL_SetPaused(channels[bushrustle], false);
if(id==0){
envsound[numenvsounds]=coords;
}
}
objects.rotx[i]+=velocity.x*multiplier*6;
- objects.roty[i]+=velocity.z*multiplier*6;
+ objects.roty[i]+=velocity.z*multiplier*6;
objects.messedwith[i]=.5;
}
XYZ tempcoord;
vel[0]=0;
vel[1]=0;
vel[2]=0;
- PlaySoundEx( firestartsound, samp[firestartsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[firestartsound], gLoc, vel);
- FSOUND_SetVolume(channels[firestartsound], 256);
- FSOUND_SetPaused(channels[firestartsound], FALSE);
+ PlaySoundEx( firestartsound, samp[firestartsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[firestartsound], gLoc, vel);
+ OPENAL_SetVolume(channels[firestartsound], 256);
+ OPENAL_SetPaused(channels[firestartsound], false);
objects.onfire[i]=1;
}
}*/
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( bushrustle, samp[bushrustle], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[bushrustle], gLoc, vel);
- FSOUND_SetVolume(channels[bushrustle], 40*findLength(&velocity));
- FSOUND_SetPaused(channels[bushrustle], FALSE);
+ PlaySoundEx( bushrustle, samp[bushrustle], NULL, true);
+ OPENAL_3D_SetAttributes(channels[bushrustle], gLoc, vel);
+ OPENAL_SetVolume(channels[bushrustle], 40*findLength(&velocity));
+ OPENAL_SetPaused(channels[bushrustle], false);
if(id==0){
envsound[numenvsounds]=coords;
}
}
objects.messedwith[i]=.5;
- }
+ }
}
}
- if(!skeleton.free){
+ if(!skeleton.free){
bool play;
play=0;
if((stunned>0||surprised>0)&&numplayers>2&&aitype!=passivetype)play=1;
//if(animation[targetanimation].label[targetframe]==8)whichsound=landsound2;
if(whichsound!=-1){
- PlaySoundEx( whichsound, samp[whichsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsound], gLoc, vel);
- FSOUND_SetVolume(channels[whichsound], 512);
- FSOUND_SetPaused(channels[whichsound], FALSE);
- }
- }
+ PlaySoundEx( whichsound, samp[whichsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsound], 512);
+ OPENAL_SetPaused(channels[whichsound], false);
+ }
+ }
if(targetanimation==staggerbackhighanim)staggerdelay=1;
if(targetanimation==staggerbackhardanim)staggerdelay=1;
}
}
/*
- if(speechdelay>.25){
+ if(speechdelay>.25){
if(headmorphend!=2)headmorphness=0;
headmorphend=2;
targetheadmorphness=1;
flatfacing=DoRotation(flatfacing,0,rotation,0);
facing=flatfacing;
- ReflectVector(&facing,&terrainnormal);
+ ReflectVector(&facing,terrainnormal);
Normalise(&facing);
if(isRun()||targetanimation==sneakanim||targetanimation==rollanim||targetanimation==walkanim){
//if(!creature==wolftype||targetanimation==rabbitkickanim)
if(targetanimation==rabbittackleanim){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*65*scale){
velocity/=velspeed;
velspeed=speed*65*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
if(targetanimation!=rabbitrunninganim&&targetanimation!=wolfrunninganim){
if(isRun()||targetanimation==rabbitkickanim){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*45*scale){
velocity/=velspeed;
velspeed=speed*45*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
if(velspeed<speed*30*scale)velspeed=speed*30*scale;
velocity=flatfacing*velspeed;
}
}
else if(isRun()){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(creature==rabbittype){
if(velspeed>speed*55*scale){
velocity/=velspeed;
}
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
/*if(creature==wolftype)
if(isRun()){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*55*scale){
velocity/=velspeed;
velspeed=speed*55*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}*/
if(targetanimation==rollanim&&animation[targetanimation].label[targetframe]!=6){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*45*scale){
velocity/=velspeed;
velspeed=speed*45*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
/*if(currentanimation==rollanim&&(isCrouch()||isIdle())){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*25*scale){
velocity/=velspeed;
velspeed=speed*25*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}*/
if(targetanimation==sneakanim||targetanimation==walkanim){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*12*scale){
velocity/=velspeed;
velspeed=speed*12*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
if((targetanimation==fightidleanim||targetanimation==knifefightidleanim)&&(currentanimation==bounceidleanim||currentanimation==hurtidleanim)){
velocity+=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*2*scale){
velocity/=velspeed;
velspeed=speed*2*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
if((targetanimation==bounceidleanim||currentanimation==hurtidleanim)&&(currentanimation==fightidleanim||currentanimation==knifefightidleanim)){
velocity-=facing*multiplier*speed*700*scale;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*2*scale){
velocity/=velspeed;
velspeed=speed*2*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed*-1;
}
if(targetanimation==fightsidestep){
velocity+=DoRotation(facing*multiplier*speed*700*scale,0,-90,0);
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*12*scale){
velocity/=velspeed;
velspeed=speed*12*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=DoRotation(flatfacing*velspeed,0,-90,0);
}
if(targetanimation==backhandspringanim){
//coords-=facing*multiplier*50*scale;
velocity+=facing*multiplier*speed*700*scale*-1;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*50*scale){
velocity/=velspeed;
velspeed=speed*50*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed*-1;
}
if(targetanimation==dodgebackanim){
//coords-=facing*multiplier*50*scale;
velocity+=facing*multiplier*speed*700*scale*-1;
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
if(velspeed>speed*60*scale){
velocity/=velspeed;
velspeed=speed*60*scale;
velocity*=velspeed;
}
velocity.y+=gravity*multiplier*20;
- ReflectVector(&velocity,&terrain.getNormal(coords.x,coords.z));
- velspeed=findLength(&velocity);
+ ReflectVector(&velocity,terrain.getNormal(coords.x,coords.z));
+ velspeed=findLength(&velocity);
velocity=flatfacing*velspeed*-1;
}
if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
}
if(targetanimation==jumpupanim){jumppower=-4;targetanimation=getIdle();}
target=0;
- targetframe=0;
+ targetframe=0;
onterrain=1;
if(id==0){
- FSOUND_SetPaused(channels[whooshsound], TRUE);
- FSOUND_SetVolume(channels[whooshsound], 0);
+ OPENAL_SetPaused(channels[whooshsound], true);
+ OPENAL_SetVolume(channels[whooshsound], 0);
}
if(targetanimation==jumpdownanim||isFlip()){
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( landsound, samp[landsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound], gLoc, vel);
- FSOUND_SetVolume(channels[landsound], 128);
- FSOUND_SetPaused(channels[landsound], FALSE);
+ PlaySoundEx( landsound, samp[landsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound], 128);
+ OPENAL_SetPaused(channels[landsound], false);
if(id==0){
envsound[numenvsounds]=coords;
if(isIdle()||targetanimation==drawrightanim||targetanimation==drawleftanim||targetanimation==crouchdrawrightanim||targetanimation==crouchstabanim||targetanimation==swordgroundstabanim||isStop()||targetanimation==removeknifeanim||targetanimation==crouchremoveknifeanim||isLanding()||isCrouch()||animation[targetanimation].attack||(targetanimation==rollanim&&animation[targetanimation].label[targetframe]==6)){
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
velocity.y=0;
if(velspeed<multiplier*300*scale){
velocity=0;
}
if(isLandhard()){
- velspeed=findLength(&velocity);
+ velspeed=findLength(&velocity);
velocity.y=0;
if(velspeed<multiplier*600*scale){
velocity=0;
vel[1]=velocity.y;
vel[2]=velocity.z;
if(!onterrain||environment==grassyenvironment){
- PlaySoundEx( skidsound, samp[skidsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[skidsound], gLoc, vel);
- FSOUND_SetVolume(channels[skidsound], 128*velspeed/10);
- FSOUND_SetPaused(channels[skidsound], FALSE);
+ PlaySoundEx( skidsound, samp[skidsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[skidsound], gLoc, vel);
+ OPENAL_SetVolume(channels[skidsound], 128*velspeed/10);
+ OPENAL_SetPaused(channels[skidsound], false);
}
else {
- PlaySoundEx( snowskidsound, samp[snowskidsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[snowskidsound], gLoc, vel);
- FSOUND_SetVolume(channels[snowskidsound], 128*velspeed/10);
- FSOUND_SetPaused(channels[snowskidsound], FALSE);
+ PlaySoundEx( snowskidsound, samp[snowskidsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[snowskidsound], gLoc, vel);
+ OPENAL_SetVolume(channels[snowskidsound], 128*velspeed/10);
+ OPENAL_SetPaused(channels[snowskidsound], false);
}
}
coords=victim->coords;
}
}
- skeleton.oldfree=skeleton.free;
+ skeleton.oldfree=skeleton.free;
XYZ midterrain;
midterrain=0;
int Person::DrawSkeleton(){
int oldplayerdetail;
- if((frustum.SphereInFrustum(coords.x,coords.y+scale*3,coords.z,scale*8)&&findDistancefast(&viewer,&coords)<viewdistance*viewdistance)||skeleton.free==3){
+ if((frustum.SphereInFrustum(coords.x,coords.y+scale*3,coords.z,scale*8)&&findDistancefast(&viewer,&coords)<viewdistance*viewdistance)||skeleton.free==3){
if(onterrain&&(isIdle()||isCrouch()||wasIdle()||wasCrouch())&&!skeleton.free){
calcrot=1;
}
if(num_weapons>0){
for(k=0;k<num_weapons;k++){
i=weaponids[k];
- if(weaponactive==k){
+ if(weaponactive==k){
if(weapons.type[i]!=staff){
for(j=0;j<skeleton.num_muscles;j++){
if((skeleton.muscles[j].parent1->label==righthand||skeleton.muscles[j].parent2->label==righthand)&&skeleton.muscles[j].numvertices>0){
}*/
}
}
- if(weaponactive!=k&&weaponstuck!=k){
+ if(weaponactive!=k&&weaponstuck!=k){
if(weapons.type[i]==knife)weaponpoint=skeleton.joints[skeleton.jointlabels[abdomen]].position+(skeleton.joints[skeleton.jointlabels[righthip]].position-skeleton.joints[skeleton.jointlabels[lefthip]].position)*.1+(skeleton.joints[skeleton.jointlabels[rightshoulder]].position-skeleton.joints[skeleton.jointlabels[leftshoulder]].position)*.35;
if(weapons.type[i]==sword)weaponpoint=skeleton.joints[skeleton.jointlabels[abdomen]].position+(skeleton.joints[skeleton.jointlabels[lefthip]].position-skeleton.joints[skeleton.jointlabels[righthip]].position)*.09+(skeleton.joints[skeleton.jointlabels[leftshoulder]].position-skeleton.joints[skeleton.jointlabels[rightshoulder]].position)*.33;
if(weapons.type[i]==staff)weaponpoint=skeleton.joints[skeleton.jointlabels[abdomen]].position+(skeleton.joints[skeleton.jointlabels[lefthip]].position-skeleton.joints[skeleton.jointlabels[righthip]].position)*.09+(skeleton.joints[skeleton.jointlabels[leftshoulder]].position-skeleton.joints[skeleton.jointlabels[rightshoulder]].position)*.33;
}
}
}
- if(weaponstuck==k){
+ if(weaponstuck==k){
if(weaponstuckwhere==0)weaponpoint=skeleton.joints[skeleton.jointlabels[abdomen]].position*.5+skeleton.joints[skeleton.jointlabels[neck]].position*.5-skeleton.forward*.8;
else weaponpoint=skeleton.joints[skeleton.jointlabels[abdomen]].position*.5+skeleton.joints[skeleton.jointlabels[neck]].position*.5+skeleton.forward*.8;
for(j=0;j<skeleton.num_muscles;j++){
weapons.rotation3[i]=0;
weapons.smallrotation[i]=-90;
weapons.smallrotation2[i]=0;
- if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
+ if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
}
if((currentanimation==knifeslashreversalanim&&targetanimation==knifeslashreversalanim)||(currentanimation==knifeslashreversedanim&&targetanimation==knifeslashreversedanim)){
XYZ temppoint1,temppoint2,tempforward;
weapons.rotation3[i]=0;
weapons.smallrotation[i]=90;
weapons.smallrotation2[i]=0;
- if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
+ if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
}
if(targetanimation==knifethrowanim){
weapons.smallrotation[i]=90;
weapons.rotation3[i]=0;
weapons.smallrotation[i]=90;
weapons.smallrotation2[i]=0;
- if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
+ if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
}
}
if(weapons.type[i]==staff){
weapons.rotation3[i]=0;
weapons.smallrotation[i]=90;
weapons.smallrotation2[i]=0;
- if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
+ if(temppoint1.x>temppoint2.x)weapons.rotation1[i]=360-weapons.rotation1[i];
}
}
}
if(targetanimation==jumpupanim){jumppower=-4;targetanimation=getIdle();}
target=0;
- targetframe=0;
+ targetframe=0;
onterrain=1;
if(id==0){
- FSOUND_SetPaused(channels[whooshsound], TRUE);
- FSOUND_SetVolume(channels[whooshsound], 0);
+ OPENAL_SetPaused(channels[whooshsound], true);
+ OPENAL_SetVolume(channels[whooshsound], 0);
}
if((targetanimation==jumpdownanim||isFlip())&&!wasLanding()&&!wasLandhard()){
vel[0]=velocity.x;
vel[1]=velocity.y;
vel[2]=velocity.z;
- PlaySoundEx( landsound, samp[landsound], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[landsound], gLoc, vel);
- FSOUND_SetVolume(channels[landsound], 128);
- FSOUND_SetPaused(channels[landsound], FALSE);
+ PlaySoundEx( landsound, samp[landsound], NULL, true);
+ OPENAL_3D_SetAttributes(channels[landsound], gLoc, vel);
+ OPENAL_SetVolume(channels[landsound], 128);
+ OPENAL_SetPaused(channels[landsound], false);
if(id==0){
envsound[numenvsounds]=coords;