X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FPerson.cpp;h=b9e61813b4c34900d6da5d67fc3922efca118018;hb=617a36f729718c59c2f886fd4a1d145388e7c8bc;hp=edebfb243612885b8b4dd962f908a3c121d49ea5;hpb=36cc3af3e5074215817ddee16defde754e2ad67f;p=lugaru.git diff --git a/Source/Person.cpp b/Source/Person.cpp index edebfb2..b9e6181 100644 --- a/Source/Person.cpp +++ b/Source/Person.cpp @@ -1,14 +1,35 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +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. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + /**> HEADER FILES <**/ #include "Person.h" +#include "openal_wrapper.h" +#include "Animation.h" +#include "Sounds.h" extern float multiplier; -extern Animation animation[animation_count]; -extern FSOUND_SAMPLE *samp[100]; extern int channels[100]; extern Terrain terrain; extern float gravity; extern int environment; -extern Sprites sprites; extern int detail; extern FRUSTUM frustum; extern XYZ viewer; @@ -67,8 +88,6 @@ extern float damagetaken; extern int hostile; extern float hostiletime; -extern int mainmenu; - extern int numfalls; extern int numflipfail; extern int numseen; @@ -87,9 +106,9 @@ extern int indialogue; extern bool gamestarted; -extern FSOUND_STREAM * strm[10]; -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; @@ -118,10 +137,10 @@ void Person::CheckKick(){ 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; @@ -141,7 +160,7 @@ void Person::CheckKick(){ 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){ @@ -180,7 +199,7 @@ void Person::CatchFire(){ if(skeleton.free)flatvelocity=skeleton.joints[howmany].velocity; 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(flamesprite, flatfacing,flatvelocity, 1,1,1, 2, 1); + Sprite::MakeSprite(flamesprite, flatfacing,flatvelocity, 1,1,1, 2, 1); } onfiredelay=0.5; @@ -193,19 +212,19 @@ void Person::CatchFire(){ 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; @@ -413,36 +432,33 @@ void Person::DoBlood(float howmuch,int which){ if(skeleton.free)bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[head]].velocity,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; 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[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); - sprites.MakeSprite(bloodflamesprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); + Sprite::MakeSprite(bloodflamesprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .3, 1); } 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); - } + Sprite::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); + Sprite::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(Random()%2!=0){ bloodvel=0; - if(!skeleton.free){ + if(skeleton.free) { + bloodvel-=DoRotation(skeleton.forward*10*scale,((float)(Random()%100))/4,((float)(Random()%100))/4,0); + bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[head]].velocity,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; + } else { bloodvel.z=10; bloodvel=DoRotation(bloodvel,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; + bloodvel+=DoRotation(velocity,((float)(Random()%100))/4,((float)(Random()%100))/4,0)*scale; } - if(skeleton.free){ - bloodvel-=DoRotation(skeleton.forward*10*scale,((float)(Random()%100))/4,((float)(Random()%100))/4,0); - } - if(skeleton.free)bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[head]].velocity,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; - if(!skeleton.free)bloodvel+=DoRotation(velocity,((float)(Random()%100))/4,((float)(Random()%100))/4,0)*scale; bloodvel*=.2; if(skeleton.free){ - sprites.MakeSprite(splintersprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); - sprites.special[sprites.numsprites-1]=3; - } - if(!skeleton.free){ - sprites.MakeSprite(splintersprite, 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.special[sprites.numsprites-1]=3; + Sprite::MakeSprite(splintersprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); + } else { + Sprite::MakeSprite(splintersprite, 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); } + Sprite::setLastSpriteSpecial(3); } } } @@ -456,16 +472,16 @@ void Person::DoBlood(float howmuch,int which){ bleedxint=abs(Random()%512); bleedyint=abs(Random()%512); } - if(creature==wolftype) - while(wolfbloodText[bleedxint*512*3+bleedyint*3+0]>which+4||wolfbloodText[bleedxint*512*3+bleedyint*3+0]500||bleedyint>500){ - bleedxint=abs(Random()%512); - bleedyint=abs(Random()%512); - } - bleedy=bleedxint; - bleedx=bleedyint; - bleedy/=realtexdetail; - bleedx/=realtexdetail; - direction=abs(Random()%2)*2-1; + if(creature==wolftype) + while(wolfbloodText[bleedxint*512*3+bleedyint*3+0]>which+4||wolfbloodText[bleedxint*512*3+bleedyint*3+0]500||bleedyint>500){ + bleedxint=abs(Random()%512); + bleedyint=abs(Random()%512); + } + bleedy=bleedxint; + bleedx=bleedyint; + bleedy/=realtexdetail; + bleedx/=realtexdetail; + direction=abs(Random()%2)*2-1; } } @@ -510,10 +526,10 @@ void Person::DoBloodBig(float howmuch,int which){ } 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); } } @@ -540,13 +556,13 @@ void Person::DoBloodBig(float howmuch,int which){ if(skeleton.free)bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[head]].velocity,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; 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[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); - sprites.MakeSprite(bloodflamesprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .05, 1); + Sprite::MakeSprite(bloodflamesprite, skeleton.joints[skeleton.jointlabels[head]].position*scale+coords,bloodvel, 1,1,1, .3, 1); } 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); - } + Sprite::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); + Sprite::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; @@ -587,7 +603,7 @@ void Person::DoBloodBig(float howmuch,int which){ if(i>endx)endx=i; if(j>endy)endy=j; } - } + } } if(creature==wolftype) for(i=0;i<512;i++){ @@ -598,7 +614,7 @@ void Person::DoBloodBig(float howmuch,int which){ if(i>endx)endx=i; if(j>endy)endy=j; } - } + } } startx+=offsetx; @@ -676,7 +692,7 @@ void Person::DoBloodBig(float howmuch,int which){ bloodloss+=bleeding*3; if(tutoriallevel!=1&&aitype!=playercontrolled&&bloodloss>damagetolerance*2/3&&bloodlossendx)endx=i; if(j>endy)endy=j; } - } + } } if(creature==wolftype) for(i=0;i<512;i++){ @@ -814,7 +830,7 @@ bool Person::DoBloodBigWhere(float howmuch,int which, XYZ where){ if(i>endx)endx=i; if(j>endy)endy=j; } - } + } } startx+=offsetx; endx+=offsetx; @@ -894,7 +910,7 @@ bool Person::DoBloodBigWhere(float howmuch,int which, XYZ where){ bloodloss+=bleeding*3; if(tutoriallevel!=1&&aitype!=playercontrolled&&bloodloss>damagetolerance*2/3&&bloodlossweaponids[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; @@ -1206,10 +1222,10 @@ void Person::Reverse(){ - /*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){ @@ -1226,16 +1242,16 @@ void Person::Reverse(){ 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); } } @@ -1267,10 +1283,10 @@ void Person::Reverse(){ } - /*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) @@ -1345,7 +1361,7 @@ void Person::DoDamage(float howmuch){ if(aitype==passivetype&&damagedamagetolerance*2/3&&creature==rabbittype){ - if(abs(Random()%2)==0){aitype=gethelptype; + if(abs(Random()%2)==0){aitype=gethelptype; lastseentime=12; } else aitype=attacktypecutoff; @@ -1363,9 +1379,9 @@ void Person::DoDamage(float howmuch){ flatvelocity2.x+=(float)(abs(Random()%100)-50)/10; flatvelocity2.y+=(float)(abs(Random()%100)-50)/10; flatvelocity2.z+=(float)(abs(Random()%100)-50)/10; - sprites.MakeSprite(bloodflamesprite, flatfacing2,flatvelocity2, 1,1,1, 3, 1); - sprites.MakeSprite(bloodsprite, flatfacing2,flatvelocity2, 1,1,1, .4, 1); - sprites.MakeSprite(cloudsprite, flatfacing2,flatvelocity2*0, .6,0,0, 1, .5); + Sprite::MakeSprite(bloodflamesprite, flatfacing2,flatvelocity2, 1,1,1, 3, 1); + Sprite::MakeSprite(bloodsprite, flatfacing2,flatvelocity2, 1,1,1, .4, 1); + Sprite::MakeSprite(cloudsprite, flatfacing2,flatvelocity2*0, .6,0,0, 1, .5); } float gLoc[3]; @@ -1376,10 +1392,10 @@ void Person::DoDamage(float howmuch){ 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); @@ -1391,7 +1407,7 @@ void Person::DoDamage(float howmuch){ if(!dead&&creature==wolftype){ bonus=Wolfbonus; bonustime=0; - bonusvalue=300; + bonusvalue=300; } dead=2; coords=20; @@ -1430,10 +1446,10 @@ void Person::DoDamage(float howmuch){ } 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; @@ -1447,7 +1463,7 @@ void Person::DoHead(){ static XYZ facing; static float lookspeed=500; - if(!freeze&&!winfreeze&&(!mainmenu||!gamestarted)){ + if(!freeze&&!winfreeze){ //head facing targetheadrotation=(float)((int)((0-rotation-targetheadrotation+180)*100)%36000)/100; @@ -1685,7 +1701,7 @@ void Person::FootLand(int which, float opacity){ if(which==0)footpoint=DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,rotation,0)*scale+coords; if(which==1)footpoint=DoRotation(skeleton.joints[skeleton.jointlabels[rightfoot]].position,0,rotation,0)*scale+coords; //footpoint.y=coords.y; - if(findDistancefast(&footpoint,&viewer))sprites.MakeSprite(cloudsprite, footpoint,footvel, 1,1,1, .5, .2*opacity); + if(findDistancefast(&footpoint,&viewer))Sprite::MakeSprite(cloudsprite, footpoint,footvel, 1,1,1, .5, .2*opacity); } else if(environment==snowyenvironment&&onterrain&&terrain.getOpacity(coords.x,coords.z)<.2){ footvel=velocity/5; @@ -1694,7 +1710,7 @@ void Person::FootLand(int which, float opacity){ if(which==1)footpoint=DoRotation(skeleton.joints[skeleton.jointlabels[rightfoot]].position,0,rotation,0)*scale+coords; footpoint.y=terrain.getHeight(footpoint.x,footpoint.z); terrainlight=terrain.getLighting(footpoint.x,footpoint.z); - if(findDistancefast(&footpoint,&viewer)=1||detail==2)if(detail==2)if(findDistancefast(&footpoint,&viewer)=1||detail==2)if(detail==2)if(findDistancefast(&footpoint,&viewer)distancemax){ -distancemax=findDistancefast(average,skeleton.joints[j].position); -} -} -distancemax=fast_sqrt(distancemax); -//Collide with player -if(skeleton.free<1){ -start=start-coords; -end=end-coords; -if(rotation)start=DoRotation(start,0,-rotation,0); -if(rotation)end=DoRotation(end,0,-rotation,0); -} -tempbulletloc[0]=start; -tempbulletloc[1]=end; -if(sphere_line_intersection(tempbulletloc[0].x,tempbulletloc[0].y,tempbulletloc[0].z, -tempbulletloc[1].x,tempbulletloc[1].y,tempbulletloc[1].z, -average.x, average.y, average.z, distancemax)){ -for(int j=0;jposition.x)/2), -(-(skeleton.joints[j].position.y+skeleton.joints[j].parent->position.y)/2), -(-(skeleton.joints[j].position.z+skeleton.joints[j].parent->position.z)/2)); -glTranslatef(tempbulletloc[0].x,tempbulletloc[0].y,tempbulletloc[0].z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -tempbulletloc[0].x=M[12]; -tempbulletloc[0].y=M[13]; -tempbulletloc[0].z=M[14]; -glPopMatrix(); -glPushMatrix(); -glLoadIdentity(); -glScalef(1,1/skeleton.joints[j].length,1); -glRotatef(skeleton.joints[j].rotate2-90,0,0,1); -glRotatef(skeleton.joints[j].rotate1-90,0,1,0); -glTranslatef( (-(skeleton.joints[j].position.x+skeleton.joints[j].parent->position.x)/2), -(-(skeleton.joints[j].position.y+skeleton.joints[j].parent->position.y)/2), -(-(skeleton.joints[j].position.z+skeleton.joints[j].parent->position.z)/2)); -glTranslatef(tempbulletloc[1].x,tempbulletloc[1].y,tempbulletloc[1].z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -tempbulletloc[1].x=M[12]; -tempbulletloc[1].y=M[13]; -tempbulletloc[1].z=M[14]; -glPopMatrix(); -collide=skeletonmodels[skeleton.joints[j].modelnum].LineCheck(tempbulletloc[0],tempbulletloc[1],&collisionpoint); -if(collide!=-1) -{ -glPushMatrix(); -glLoadIdentity(); -glTranslatef( (skeleton.joints[j].position.x+skeleton.joints[j].parent->position.x)/2, -(skeleton.joints[j].position.y+skeleton.joints[j].parent->position.y)/2, -(skeleton.joints[j].position.z+skeleton.joints[j].parent->position.z)/2); -glRotatef(-skeleton.joints[j].rotate1+90,0,1,0); -glRotatef(-skeleton.joints[j].rotate2+90,0,0,1); -glScalef(1,skeleton.joints[j].length,1); -glTranslatef(collisionpoint.x,collisionpoint.y,collisionpoint.z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -collisionpoint.x=M[12]; -collisionpoint.y=M[13]; -collisionpoint.z=M[14]; -glPopMatrix(); -hitstruct.collision=1; -hitstruct.hitlocation=collisionpoint; -hitstruct.joint1=&skeleton.joints[j]; -hitstruct.joint2=skeleton.joints[j].parent; -} -} -} -for(int j=0;jposition.x+skeleton.muscles[j].parent2->position.x)/2), -(-(skeleton.muscles[j].parent1->position.y+skeleton.muscles[j].parent2->position.y)/2), -(-(skeleton.muscles[j].parent1->position.z+skeleton.muscles[j].parent2->position.z)/2)); - -glTranslatef(tempbulletloc[0].x,tempbulletloc[0].y,tempbulletloc[0].z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -tempbulletloc[0].x=M[12]; -tempbulletloc[0].y=M[13]; -tempbulletloc[0].z=M[14]; -glPopMatrix(); -glPushMatrix(); -glLoadIdentity(); -glScalef(1,1/skeleton.muscles[j].length,1); -glRotatef(skeleton.muscles[j].rotate3,0,1,0); -glRotatef(skeleton.muscles[j].rotate2-90,0,0,1); -glRotatef(skeleton.muscles[j].rotate1-90,0,1,0); - -glTranslatef( (-(skeleton.muscles[j].parent1->position.x+skeleton.muscles[j].parent2->position.x)/2), -(-(skeleton.muscles[j].parent1->position.y+skeleton.muscles[j].parent2->position.y)/2), -(-(skeleton.muscles[j].parent1->position.z+skeleton.muscles[j].parent2->position.z)/2)); -glTranslatef(tempbulletloc[1].x,tempbulletloc[1].y,tempbulletloc[1].z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -tempbulletloc[1].x=M[12]; -tempbulletloc[1].y=M[13]; -tempbulletloc[1].z=M[14]; -glPopMatrix(); -collide=skeletonmodels[skeleton.muscles[j].parent1->modelnum].LineCheck(tempbulletloc[0],tempbulletloc[1],&collisionpoint); -if(collide!=-1) -{ -glPushMatrix(); -glLoadIdentity(); -glTranslatef( (skeleton.muscles[j].parent1->position.x+skeleton.muscles[j].parent2->position.x)/2, -(skeleton.muscles[j].parent1->position.y+skeleton.muscles[j].parent2->position.y)/2, -(skeleton.muscles[j].parent1->position.z+skeleton.muscles[j].parent2->position.z)/2); -glRotatef(-skeleton.muscles[j].rotate1+90,0,1,0); -glRotatef(-skeleton.muscles[j].rotate2+90,0,0,1); -glRotatef(-skeleton.muscles[j].rotate3,0,1,0); -glScalef(1,findDistance(skeleton.muscles[j].parent1->position,skeleton.muscles[j].parent2->position),1); -glTranslatef(collisionpoint.x,collisionpoint.y,collisionpoint.z); -glGetFloatv(GL_MODELVIEW_MATRIX,M); -collisionpoint.x=M[12]; -collisionpoint.y=M[13]; -collisionpoint.z=M[14]; -glPopMatrix(); -hitstruct.collision=1; -hitstruct.hitlocation=collisionpoint; -hitstruct.joint1=skeleton.muscles[j].parent1; -hitstruct.joint2=skeleton.muscles[j].parent2; -} -} -} -} -if(skeleton.free<1){ -if(rotation)hitstruct.hitlocation=DoRotation(hitstruct.hitlocation,0,rotation,0); -hitstruct.hitlocation=hitstruct.hitlocation+coords; -} -return hitstruct; -} -*/ -void Person::DoAnimations(){ +void Person::DoAnimations(){ if(!skeleton.free){ int i = 0; static float oldtarget; @@ -1913,7 +1760,7 @@ void Person::DoAnimations(){ 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]; @@ -1926,10 +1773,10 @@ void Person::DoAnimations(){ 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))){ @@ -1953,7 +1800,7 @@ void Person::DoAnimations(){ 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; @@ -1975,11 +1822,11 @@ void Person::DoAnimations(){ 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; } @@ -2005,10 +1852,10 @@ void Person::DoAnimations(){ 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); } @@ -2036,10 +1883,10 @@ void Person::DoAnimations(){ 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]; @@ -2051,10 +1898,10 @@ void Person::DoAnimations(){ 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; @@ -2082,11 +1929,11 @@ void Person::DoAnimations(){ 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; @@ -2104,12 +1951,12 @@ void Person::DoAnimations(){ 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){ @@ -2122,10 +1969,10 @@ void Person::DoAnimations(){ 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); } } @@ -2166,16 +2013,16 @@ void Person::DoAnimations(){ //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); } @@ -2200,10 +2047,10 @@ void Person::DoAnimations(){ 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; @@ -2246,17 +2093,17 @@ void Person::DoAnimations(){ } 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){ @@ -2284,7 +2131,7 @@ void Person::DoAnimations(){ footpoint=weapons.position[i]; if(victim->weaponstuck!=-1){ if(victim->weaponids[victim->weaponstuck]==i){ - if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .8, .3); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .8, .3); weapons.bloody[i]=2; weapons.blooddrip[i]=5; victim->weaponstuck=-1; @@ -2333,10 +2180,10 @@ void Person::DoAnimations(){ 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]; @@ -2348,10 +2195,10 @@ void Person::DoAnimations(){ 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); } } @@ -2385,10 +2232,10 @@ void Person::DoAnimations(){ 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; @@ -2433,10 +2280,10 @@ void Person::DoAnimations(){ 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); } } } @@ -2465,16 +2312,16 @@ void Person::DoAnimations(){ 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); } @@ -2514,15 +2361,15 @@ void Person::DoAnimations(){ 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); } @@ -2559,16 +2406,16 @@ void Person::DoAnimations(){ 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); } @@ -2614,16 +2461,16 @@ void Person::DoAnimations(){ 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); } @@ -2670,10 +2517,10 @@ void Person::DoAnimations(){ 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; @@ -2701,15 +2548,15 @@ void Person::DoAnimations(){ 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; @@ -2751,10 +2598,10 @@ void Person::DoAnimations(){ 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; @@ -2786,10 +2633,10 @@ void Person::DoAnimations(){ 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; @@ -2841,10 +2688,10 @@ void Person::DoAnimations(){ 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){ @@ -2907,10 +2754,10 @@ void Person::DoAnimations(){ 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]]){ @@ -2919,10 +2766,10 @@ void Person::DoAnimations(){ } 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); } } } @@ -2940,19 +2787,19 @@ void Person::DoAnimations(){ 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); @@ -3012,7 +2859,7 @@ void Person::DoAnimations(){ for(i=0;iskeleton.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; } @@ -3021,7 +2868,7 @@ void Person::DoAnimations(){ relative.y=10; Normalise(&relative); //victim->Puff(abdomen); - if(bloodtoggle)sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .8, .3); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .8, .3); if(victim->bloodlossdamagetolerance){ victim->bloodloss+=1000; @@ -3035,7 +2882,7 @@ void Person::DoAnimations(){ if(!hasvictim&&onterrain){ weapons.bloody[weaponids[weaponactive]]=0; weapons.blooddrip[weaponids[weaponactive]]=0; - } + } } if(targetanimation==upunchanim&&animation[targetanimation].label[currentframe]==5){ @@ -3057,18 +2904,18 @@ void Person::DoAnimations(){ //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); } } @@ -3115,27 +2962,27 @@ void Person::DoAnimations(){ //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) @@ -3178,10 +3025,10 @@ void Person::DoAnimations(){ 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); } @@ -3204,16 +3051,16 @@ void Person::DoAnimations(){ 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); } } @@ -3226,7 +3073,7 @@ void Person::DoAnimations(){ 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); @@ -3243,7 +3090,7 @@ void Person::DoAnimations(){ weaponids[0]=weaponids[num_weapons]; } weaponactive=-1; - } + } } if(targetanimation==knifeslashstartanim&&animation[targetanimation].label[currentframe]==5){ @@ -3268,10 +3115,10 @@ void Person::DoAnimations(){ 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)){ @@ -3289,25 +3136,25 @@ void Person::DoAnimations(){ 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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .6, .3); footvel=DoRotation(facing,0,90,0)*.8; //footvel.y-=.3; - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .2, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .2, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .2, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .2, 1); } if(tutoriallevel==1){ - sprites.MakeSprite(cloudimpactsprite, footpoint,footvel, 1,1,1, .6, .3); + Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,1,1, .6, .3); } victim->DoDamage(damagemult*0); } @@ -3320,7 +3167,7 @@ void Person::DoAnimations(){ 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); @@ -3333,10 +3180,10 @@ void Person::DoAnimations(){ 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){ @@ -3360,21 +3207,21 @@ void Person::DoAnimations(){ //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); + } + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=DoRotation(facing,0,90,0)*.8; footvel.y-=.3; - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); } } else { @@ -3393,16 +3240,16 @@ void Person::DoAnimations(){ 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); } } @@ -3434,10 +3281,10 @@ void Person::DoAnimations(){ 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);*/ } } @@ -3460,10 +3307,10 @@ void Person::DoAnimations(){ 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; @@ -3509,10 +3356,10 @@ void Person::DoAnimations(){ 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; @@ -3555,10 +3402,10 @@ void Person::DoAnimations(){ 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; @@ -3566,7 +3413,7 @@ void Person::DoAnimations(){ for(i=0;iskeleton.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; } @@ -3639,19 +3486,19 @@ void Person::DoAnimations(){ } 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); } @@ -3667,18 +3514,18 @@ void Person::DoAnimations(){ 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); } @@ -3700,10 +3547,10 @@ void Person::DoAnimations(){ 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; @@ -3742,10 +3589,10 @@ void Person::DoAnimations(){ 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); @@ -3757,7 +3604,7 @@ void Person::DoAnimations(){ } } - } + } 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; @@ -3775,16 +3622,16 @@ void Person::DoAnimations(){ 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); } @@ -3844,10 +3691,10 @@ void Person::DoAnimations(){ 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; @@ -3886,10 +3733,10 @@ void Person::DoAnimations(){ } 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){ @@ -3957,18 +3804,18 @@ void Person::DoAnimations(){ 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); } @@ -4015,10 +3862,10 @@ void Person::DoAnimations(){ 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; }*/ @@ -4040,10 +3887,10 @@ void Person::DoAnimations(){ 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; @@ -4096,19 +3943,19 @@ void Person::DoAnimations(){ 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); } @@ -4131,17 +3978,17 @@ void Person::DoAnimations(){ bloodvel.z=20; bloodvel.y=5; 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); + Sprite::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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=(weapons.tippoint[weaponids[0]]-weapons.position[weaponids[0]]); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); victim->DoBloodBig(200,195); if(id==0){ bonus=tracheotomy; @@ -4157,15 +4004,15 @@ void Person::DoAnimations(){ 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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=(weapons.tippoint[weaponids[0]]-weapons.position[weaponids[0]])*-1; - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .2, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .2, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .2, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .2, 1); } victim->bloodloss+=10000; @@ -4178,10 +4025,10 @@ void Person::DoAnimations(){ 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; } @@ -4208,22 +4055,22 @@ void Person::DoAnimations(){ 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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=(weapons.tippoint[weaponids[0]]-weapons.position[weaponids[0]])*-1; - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); } } @@ -4237,15 +4084,15 @@ void Person::DoAnimations(){ 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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=(weapons.tippoint[weaponids[0]]-weapons.position[weaponids[0]]); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,DoRotation(footvel*5,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .3, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,DoRotation(footvel*5,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .3, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .3, 1); victim->DoBloodBig(200,180); victim->DoBloodBig(200,215); victim->bloodloss+=10000; @@ -4258,10 +4105,10 @@ void Person::DoAnimations(){ 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; } @@ -4282,22 +4129,22 @@ void Person::DoAnimations(){ 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); + if(bloodtoggle)Sprite::MakeSprite(cloudimpactsprite, footpoint,footvel, 1,0,0, .9, .3); footvel=(weapons.tippoint[weaponids[0]]-weapons.position[weaponids[0]])*-1; - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); - sprites.MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*7,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodsprite,footpoint,DoRotation(footvel*3,(float)(Random()%20),(float)(Random()%20),0), 1,1,1, .05, .9); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*5, 1,1,1, .3, 1); + Sprite::MakeSprite(bloodflamesprite, footpoint,footvel*2, 1,1,1, .3, 1); } } @@ -4318,10 +4165,10 @@ void Person::DoAnimations(){ 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; @@ -4331,18 +4178,18 @@ void Person::DoAnimations(){ 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); } @@ -4421,10 +4268,10 @@ void Person::DoAnimations(){ 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(); @@ -4473,10 +4320,10 @@ void Person::DoAnimations(){ 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]; @@ -4488,10 +4335,10 @@ void Person::DoAnimations(){ 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){ @@ -4566,7 +4413,7 @@ void Person::DoAnimations(){ 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; @@ -4584,7 +4431,7 @@ void Person::DoAnimations(){ 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){ @@ -4624,7 +4471,7 @@ void Person::DoAnimations(){ 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; @@ -4719,10 +4566,10 @@ void Person::DoAnimations(){ 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; @@ -4788,7 +4635,7 @@ void Person::DoAnimations(){ escapednum++; targetanimation=rollanim; coords+=facing; - if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE); + if(id==0)OPENAL_SetPaused(channels[whooshsound], true); } lastfeint=0; } @@ -4811,7 +4658,7 @@ void Person::DoAnimations(){ escapednum++; targetanimation=rollanim; coords+=facing*2; - if(id==0)FSOUND_SetPaused(channels[whooshsound], TRUE); + if(id==0)OPENAL_SetPaused(channels[whooshsound], true); } lastfeint=0; } @@ -4843,7 +4690,7 @@ void Person::DoAnimations(){ targetanimation=jumpdownanim; } } - if(!skeleton.free){ + if(!skeleton.free){ oldtarget=target; if(!transspeed&&animation[targetanimation].attack!=2&&animation[targetanimation].attack!=3){ if(!isRun()||!wasRun()){ @@ -4883,7 +4730,7 @@ void Person::DoAnimations(){ if(currentanimation!=oldcurrentanimation||targetanimation!=oldtargetanimation||((currentframe!=oldcurrentframe||targetframe!=oldtargetframe)&&!calcrot)){ //Old rotates for(i=0;i0){ if(weapons.type[weaponids[0]]==staff){ @@ -5051,7 +4892,7 @@ void Person::DoStuff(){ /*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]; @@ -5064,8 +4905,8 @@ void Person::DoStuff(){ 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); } } } @@ -5076,7 +4917,7 @@ void Person::DoStuff(){ 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(flamesprite, flatfacing,flatvelocity, 1,1,1, .6+(float)abs(Random()%100)/200-.25, 1); + Sprite::MakeSprite(flamesprite, flatfacing,flatvelocity, 1,1,1, .6+(float)abs(Random()%100)/200-.25, 1); } while(flamedelay<0&&!onfire&&tutoriallevel==1&&id!=0){ @@ -5086,7 +4927,7 @@ void Person::DoStuff(){ 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); + Sprite::MakeSprite(breathsprite, flatfacing,flatvelocity, 1,1,1, .6+(float)abs(Random()%100)/200-.25, .3); } if(bleeding>0){ @@ -5113,8 +4954,8 @@ void Person::DoStuff(){ } if(skeleton.free)bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[head]].velocity,((float)(Random()%100))/40,rotation+((float)(Random()%100))/40,0)*scale; if(!skeleton.free)bloodvel+=DoRotation(velocity,((float)(Random()%100))/40,((float)(Random()%100))/40,0)*scale; - if(skeleton.free)sprites.MakeSprite(bloodsprite, (skeleton.joints[skeleton.jointlabels[neck]].position+(skeleton.joints[skeleton.jointlabels[neck]].position-skeleton.joints[skeleton.jointlabels[head]].position)/5)*scale+coords,bloodvel, 1,1,1, .05, .9); - if(!skeleton.free)sprites.MakeSprite(bloodsprite, DoRotation(skeleton.joints[skeleton.jointlabels[neck]].position+(skeleton.joints[skeleton.jointlabels[neck]].position-skeleton.joints[skeleton.jointlabels[head]].position)/5,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, .9); + if(skeleton.free)Sprite::MakeSprite(bloodsprite, (skeleton.joints[skeleton.jointlabels[neck]].position+(skeleton.joints[skeleton.jointlabels[neck]].position-skeleton.joints[skeleton.jointlabels[head]].position)/5)*scale+coords,bloodvel, 1,1,1, .05, .9); + if(!skeleton.free)Sprite::MakeSprite(bloodsprite, DoRotation(skeleton.joints[skeleton.jointlabels[neck]].position+(skeleton.joints[skeleton.jointlabels[neck]].position-skeleton.joints[skeleton.jointlabels[head]].position)/5,0,rotation,0)*scale+coords,bloodvel, 1,1,1, .05, .9); neckspurtparticledelay=.05; } if(neckspurtdelay<0){ @@ -5132,18 +4973,14 @@ void Person::DoStuff(){ bloodvel=0; if(skeleton.free)bloodvel+=DoRotation(skeleton.joints[skeleton.jointlabels[abdomen]].velocity,((float)(Random()%100))/4,rotation+((float)(Random()%100))/4,0)*scale; 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(skeleton.free)Sprite::MakeSprite(bloodsprite, skeleton.joints[skeleton.jointlabels[abdomen]].position*scale+coords,bloodvel, 1,1,1, .05, 1); + if(!skeleton.free)Sprite::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; - deathbleeding=0; - }*/ 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; @@ -5177,7 +5014,7 @@ void Person::DoStuff(){ if(!dead&&creature==wolftype){ bonus=Wolfbonus; bonustime=0; - bonusvalue=300; + bonusvalue=300; } dead=2; if(targetanimation==knifefollowedanim&&!skeleton.free){ @@ -5213,10 +5050,6 @@ void Person::DoStuff(){ if(endy>skeleton.skinsize-1){endy=skeleton.skinsize-1;bleeding=0;} if(endxdamagetolerance&&dead!=2){ @@ -5654,7 +5481,7 @@ void Person::DoStuff(){ 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)&&bloodloss2000){ 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; @@ -5811,7 +5638,7 @@ void Person::DoStuff(){ 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){ @@ -5868,7 +5695,7 @@ void Person::DoStuff(){ 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; @@ -5995,10 +5822,10 @@ void Person::DoStuff(){ 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; @@ -6035,10 +5862,10 @@ void Person::DoStuff(){ 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; } @@ -6060,10 +5887,10 @@ void Person::DoStuff(){ 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; } @@ -6085,10 +5912,10 @@ void Person::DoStuff(){ 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; @@ -6111,8 +5938,8 @@ void Person::DoStuff(){ pos.x+=float(abs(Random()%100)-50)/200; pos.y+=float(abs(Random()%100)-50)/200; pos.z+=float(abs(Random()%100)-50)/200; - sprites.MakeSprite(splintersprite, pos,tempvel*.5+velocity*float(abs(Random()%100))/100, 165/255+float(abs(Random()%100)-50)/400,0,0, .2+float(abs(Random()%100)-50)/1300, 1); - sprites.special[sprites.numsprites-1]=1; + Sprite::MakeSprite(splintersprite, pos,tempvel*.5+velocity*float(abs(Random()%100))/100, 165/255+float(abs(Random()%100)-50)/400,0,0, .2+float(abs(Random()%100)-50)/1300, 1); + Sprite::setLastSpriteSpecial(1); } howmany=findLength(&velocity)*4; if(detail==2) @@ -6126,12 +5953,12 @@ void Person::DoStuff(){ pos.x+=float(abs(Random()%100)-50)/200; pos.y+=float(abs(Random()%100)-50)/200; pos.z+=float(abs(Random()%100)-50)/200; - sprites.MakeSprite(splintersprite, pos,tempvel*.3+velocity*float(abs(Random()%100))/100/2, 1,1,1, .1, 1); - sprites.special[sprites.numsprites-1]=2; + Sprite::MakeSprite(splintersprite, pos,tempvel*.3+velocity*float(abs(Random()%100))/100/2, 1,1,1, .1, 1); + Sprite::setLastSpriteSpecial(2); } } 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; @@ -6144,23 +5971,6 @@ void Person::DoStuff(){ tempcoord+=objects.position[i]; } if(findDistancefastflat(&tempcoord,&objects.position[i])objects.position[i].y+3*objects.scale[i]){ - /*if(onfire){ - if(!objects.onfire[i]){ - float gLoc[3]; - float vel[3]; - gLoc[0]=objects.position[i].x; - gLoc[1]=objects.position[i].y; - gLoc[2]=objects.position[i].z; - 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); - objects.onfire[i]=1; - } - }*/ if(objects.messedwith[i]<=0){ XYZ tempvel; XYZ pos; @@ -6173,10 +5983,10 @@ void Person::DoStuff(){ 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; @@ -6200,8 +6010,8 @@ void Person::DoStuff(){ pos.x+=float(abs(Random()%100)-50)/150; pos.y+=float(abs(Random()%100)-50)/150; pos.z+=float(abs(Random()%100)-50)/150; - sprites.MakeSprite(splintersprite, pos,tempvel*.5+velocity*float(abs(Random()%100))/100, 165/255+float(abs(Random()%100)-50)/400,0,0, .2+float(abs(Random()%100)-50)/1300, 1); - sprites.special[sprites.numsprites-1]=1; + Sprite::MakeSprite(splintersprite, pos,tempvel*.5+velocity*float(abs(Random()%100))/100, 165/255+float(abs(Random()%100)-50)/400,0,0, .2+float(abs(Random()%100)-50)/1300, 1); + Sprite::setLastSpriteSpecial(1); } howmany=findLength(&velocity)*4; if(detail==2) @@ -6216,16 +6026,16 @@ void Person::DoStuff(){ pos.x+=float(abs(Random()%100)-50)/150; pos.y+=float(abs(Random()%100)-50)/150; pos.z+=float(abs(Random()%100)-50)/150; - sprites.MakeSprite(splintersprite, pos,tempvel*.3+velocity*float(abs(Random()%100))/100/2, 1,1,1, .1, 1); - sprites.special[sprites.numsprites-1]=2; + Sprite::MakeSprite(splintersprite, pos,tempvel*.3+velocity*float(abs(Random()%100))/100/2, 1,1,1, .1, 1); + Sprite::setLastSpriteSpecial(2); } } 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; @@ -6254,16 +6064,14 @@ void Person::DoStuff(){ } } speechdelay=.3; - //else if(animation[targetanimation].label[targetframe]==4)whichsound=knifeswishsound; - //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; @@ -6379,7 +6187,7 @@ void Person::DoStuff(){ } } /* - if(speechdelay>.25){ + if(speechdelay>.25){ if(headmorphend!=2)headmorphness=0; headmorphend=2; targetheadmorphness=1; @@ -6427,7 +6235,7 @@ void Person::DoStuff(){ flatfacing=DoRotation(flatfacing,0,rotation,0); facing=flatfacing; - ReflectVector(&facing,&terrainnormal); + ReflectVector(&facing,terrainnormal); Normalise(&facing); if(isRun()||targetanimation==sneakanim||targetanimation==rollanim||targetanimation==walkanim){ @@ -6473,36 +6281,36 @@ void Person::DoStuff(){ //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(velspeedspeed*55*scale){ velocity/=velspeed; @@ -6518,109 +6326,94 @@ void Person::DoStuff(){ } } 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); - 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); - 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); } @@ -6636,34 +6429,34 @@ void Person::DoStuff(){ 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); } @@ -6678,12 +6471,12 @@ void Person::DoStuff(){ 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()){ @@ -6697,10 +6490,10 @@ void Person::DoStuff(){ 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; @@ -6719,7 +6512,7 @@ void Person::DoStuff(){ 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(velspeedcoords; } } - skeleton.oldfree=skeleton.free; + skeleton.oldfree=skeleton.free; XYZ midterrain; midterrain=0; @@ -6813,7 +6606,7 @@ void Person::DoStuff(){ int Person::DrawSkeleton(){ int oldplayerdetail; - if((frustum.SphereInFrustum(coords.x,coords.y+scale*3,coords.z,scale*8)&&findDistancefast(&viewer,&coords)0){ for(k=0;klabel==righthand||skeleton.muscles[j].parent2->label==righthand)&&skeleton.muscles[j].numvertices>0){ @@ -7398,7 +7195,7 @@ int Person::DrawSkeleton(){ }*/ } } - 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; @@ -7408,7 +7205,7 @@ int Person::DrawSkeleton(){ } } } - 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;jtemppoint2.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; @@ -7476,7 +7273,7 @@ int Person::DrawSkeleton(){ 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; @@ -7519,7 +7316,7 @@ int Person::DrawSkeleton(){ 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){ @@ -7541,7 +7338,7 @@ int Person::DrawSkeleton(){ 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]; } } } @@ -7628,12 +7425,12 @@ int Person::SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate, 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()){ @@ -7647,10 +7444,10 @@ int Person::SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate, 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;