]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Person.cpp
Remove some extra declarations of "channels"
[lugaru.git] / Source / Person.cpp
index 3ee97382eb4ad4c48aa033c3eb3dda39408b4a49..66d268ff75f592e4a3f4de9c509c09e4b120fc26 100644 (file)
@@ -28,7 +28,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "Game.h"
 
 extern float multiplier;
-extern int channels[100];
 extern Terrain terrain;
 extern float gravity;
 extern int environment;
@@ -67,7 +66,6 @@ extern bool tiltweird;
 extern bool midweird;
 extern bool proportionweird;
 extern bool vertexweird[6];
-extern GLubyte texturearray[512*512*3];
 extern XYZ envsound[30];
 extern float envsoundvol[30];
 extern float envsoundlife[30];
@@ -86,66 +84,65 @@ extern int indialogue;
 
 extern bool gamestarted;
 
-void Person::CheckKick(){
-       static XYZ relative;
-       static int i;
-
-       float damagemult=1*power;
-       if(creature==wolftype)damagemult=2.5*power;
-       damagemult*=power;
-
-       if(hasvictim)
-               if(targetanimation==rabbitkickanim&&victim&&victim!=this&&currentframe>=2&&currentanimation==rabbitkickanim){
-                       if(findDistancefast(&coords,&victim->coords)<1.2){
-                               if(!victim->skeleton.free){
-                                       relative=velocity;
-                                       Normalise(&relative);
-                                       relative=coords+relative*1;
-                                       if(animation[victim->targetanimation].height!=lowheight){
-                                               victim->spurt=1;
-                                               DoBlood(.2,250);
-                                               if(tutoriallevel!=1)
-                                                 emit_sound_at(heavyimpactsound, victim->coords);
-                                               victim->RagDoll(0);
-                                               relative=velocity;
-                                               relative.y=0;
-                                               Normalise(&relative);
-                                               for(i=0;i<victim->skeleton.num_joints;i++){
-                                                       victim->skeleton.joints[i].velocity+=relative*120*damagemult;
-                                               }
-                                               victim->Puff(neck);
-                                               victim->DoDamage(100*damagemult/victim->protectionhigh);
-                                               if(id==0)camerashake+=.4;
-
-                                               target=0;
-                                               currentframe=3;
-                                               targetanimation=backflipanim;
-                                               targetframe=4;
-                                               velocity=facing*-10;
-                                               velocity.y=5;
-                                               skeleton.free=0;
-                                               if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
-
-                                               award_bonus(id, cannon);
-                                       }
-                                       else if (victim->isCrouch()){
-                                               targetanimation=rabbitkickreversedanim;
-                                               currentanimation=rabbitkickreversedanim;
-                                               victim->currentanimation=rabbitkickreversalanim;
-                                               victim->targetanimation=rabbitkickreversalanim;
-                                               targettilt2=0;
-                                               currentframe=0;
-                                               targetframe=1;
-                                               target=0;
-                                               velocity=0;
-                                               victim->oldcoords=victim->coords;
-                                               coords=victim->coords;
-                                               victim->targetrotation=targetrotation;
-                                               victim->victim=this;
-                                       }
-                               }
-                       }
-               }
+void Person::CheckKick()
+{
+  if (!(hasvictim
+       && (targetanimation == rabbitkickanim
+           && victim
+           && victim != this
+           && currentframe >= 2
+           && currentanimation == rabbitkickanim)
+       && (findDistancefast(&coords,&victim->coords) < 1.2)
+       && (!victim->skeleton.free)))
+    return;
+
+  if (animation[victim->targetanimation].height!=lowheight)
+    {
+      float damagemult = (creature == wolftype ? 2.5 : 1.) * power * power;
+      XYZ relative = velocity;
+      relative.y=0;
+      Normalise(&relative);
+
+      victim->spurt=1;
+      DoBlood(.2,250);
+      if(tutoriallevel!=1)
+       emit_sound_at(heavyimpactsound, victim->coords);
+      victim->RagDoll(0);
+      for(int i=0;i<victim->skeleton.num_joints;i++){
+       victim->skeleton.joints[i].velocity+=relative*120*damagemult;
+      }
+      victim->Puff(neck);
+      victim->DoDamage(100*damagemult/victim->protectionhigh);
+      if(id==0)camerashake+=.4;
+
+      target=0;
+      currentframe=3;
+      targetanimation=backflipanim;
+      targetframe=4;
+      velocity=facing*-10;
+      velocity.y=5;
+      skeleton.free=0;
+      if(id==0)
+       resume_stream(whooshsound);
+
+      award_bonus(id, cannon);
+    }
+  else if (victim->isCrouch())
+    {
+      targetanimation=rabbitkickreversedanim;
+      currentanimation=rabbitkickreversedanim;
+      victim->currentanimation=rabbitkickreversalanim;
+      victim->targetanimation=rabbitkickreversalanim;
+      targettilt2=0;
+      currentframe=0;
+      targetframe=1;
+      target=0;
+      velocity=0;
+      victim->oldcoords=victim->coords;
+      coords=victim->coords;
+      victim->targetrotation=targetrotation;
+      victim->victim=this;
+    }
 }
 
 void Person::CatchFire(){
@@ -477,8 +474,7 @@ void Person::DoBloodBig(float howmuch,int which){
                                                                }
                                                        }
                                                        glBindTexture(GL_TEXTURE_2D,skeleton.drawmodel.textureptr);
-                                                       if(detail!=2||osx)DoMipmaps(5,0,0,skeleton.skinsize,skeleton.skinsize);
-                                                       else DoMipmaps(0,startx/realtexdetail,endx/realtexdetail,starty/realtexdetail,endy/realtexdetail);
+                                                       DoMipmaps();
 
                                                        bleedxint=0;
                                                        bleedyint=0;
@@ -706,8 +702,7 @@ bool Person::DoBloodBigWhere(float howmuch,int which, XYZ where){
                                                                }
                                                        }
                                                        glBindTexture(GL_TEXTURE_2D,skeleton.drawmodel.textureptr);
-                                                       if(detail!=2||osx)DoMipmaps(5,0,0,skeleton.skinsize,skeleton.skinsize);
-                                                       else DoMipmaps(0,startx/realtexdetail,endx/realtexdetail,starty/realtexdetail,endy/realtexdetail);
+                                                       DoMipmaps();
 
                                                        bleedy=(1+coordsy)*512;
                                                        bleedx=coordsx*512;
@@ -737,390 +732,326 @@ bool Person::DoBloodBigWhere(float howmuch,int which, XYZ where){
 }
 
 
-void Person::DoMipmaps(int howmanylevels,float startx, float endx, float starty, float endy){
-       int i,j,k;
-       static float temp;
-       static int bytesPerPixel=3;
-       static int newsize,totalsize,rowsize,bigstep,smallstep,sum;
-       static int newstartx,newstarty,newendx,newendy;
-       static int newnewstartx,newnewstarty,newnewendx,newnewendy;
-       static int which;
-       static float sizemult;
-       /*
-       for(i=0;i<skeleton.skinsize*skeleton.skinsize*bytesPerPixel;i++){
-       texture[i]=skeleton.skinText[i];
-       }
-       */
-       if((!osx||howmanylevels)){
-
-               if(startx<0)startx=0;
-               if(starty<0)starty=0;
-               if(endx>skeleton.skinsize-1)endx=skeleton.skinsize-1;
-               if(endy>skeleton.skinsize-1)endy=skeleton.skinsize-1;
-               if((endx>startx&&endy>starty)||howmanylevels){
-
-                       newstartx=startx;
-                       newstarty=starty;
-                       newendx=endx;
-                       newendy=endy;
-
-                       for(i=startx;i<endx;i++){
-                               for(j=starty;j<endy;j++){
-                                       texturearray[(i-newstartx)*(newendy-newstarty)*3+(j-newstarty)*3+0]=skeleton.skinText[i*skeleton.skinsize*3+j*3+0];
-                                       texturearray[(i-newstartx)*(newendy-newstarty)*3+(j-newstarty)*3+1]=skeleton.skinText[i*skeleton.skinsize*3+j*3+1];
-                                       texturearray[(i-newstartx)*(newendy-newstarty)*3+(j-newstarty)*3+2]=skeleton.skinText[i*skeleton.skinsize*3+j*3+2];
-                               }
-                       }
-
-                       glBindTexture(GL_TEXTURE_2D,skeleton.drawmodel.textureptr);
-
-                       if(!howmanylevels){
-                               if(!osx)glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS,GL_TRUE);
-                               glTexSubImage2D(GL_TEXTURE_2D,0,starty,startx,endy-starty,endx-startx,GL_RGB,GL_UNSIGNED_BYTE,texturearray);
-                               if(!osx)glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS,GL_FALSE);
-                       }
-
-                       newsize=skeleton.skinsize;
-
-                       if(howmanylevels)
-                               gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGB, skeleton.skinsize, skeleton.skinsize, GL_RGB, GL_UNSIGNED_BYTE, &skeleton.skinText[0] );
-               }
-               /*for(j=1;j<=howmanylevels;j++){
-               if(j==1)texpointer=&skeleton.skinText[0];
-               else texpointer=&texture[0];
 
-               totalsize=int( newsize*newsize*bytesPerPixel);
-               rowsize=int( newsize*bytesPerPixel );
-               bigstep=bytesPerPixel*newsize*2;
-               smallstep=bytesPerPixel*2;
-
-               which=0;
-
-
-
-               glTexSubImage2D(GL_TEXTURE_2D,j,0,0,newsize/2,newsize/2,GL_RGB,GL_UNSIGNED_BYTE,texture);
-               newsize/=2;
-               }*/
+void Person::Reverse()
+{
+  if (!((victim->aitype == playercontrolled
+        || hostiletime > 1
+        || staggerdelay <= 0)
+       && victim->targetanimation != jumpupanim
+       && victim->targetanimation != jumpdownanim
+       && (tutoriallevel != 1 || cananger)
+       && hostile))
+    return;
+
+  if (normaldotproduct (victim->facing, victim->coords-coords) > 0
+      && (victim->id != 0 || difficulty >= 2)
+      && (creature != wolftype || victim->creature == wolftype))
+    return;
+
+  if(targetanimation==sweepanim){
+    targetanimation=sweepreversedanim;
+    currentanimation=sweepreversedanim;
+    victim->currentanimation=sweepreversalanim;
+    victim->targetanimation=sweepreversalanim;
+  }
+  if(targetanimation==spinkickanim){
+    targetanimation=spinkickreversedanim;
+    currentanimation=spinkickreversedanim;
+    victim->currentanimation=spinkickreversalanim;
+    victim->targetanimation=spinkickreversalanim;
+  }
+  if(targetanimation==upunchanim||targetanimation==rabbittacklinganim){
+    if(targetanimation==rabbittacklinganim){
+      currentframe=6;
+      targetframe=7;
+      victim->currentframe=6;
+      victim->targetframe=7;
+    }
+    targetanimation=upunchreversedanim;
+    currentanimation=upunchreversedanim;
+    victim->currentanimation=upunchreversalanim;
+    victim->targetanimation=upunchreversalanim;
+  }
+  if(targetanimation==staffhitanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
+    if(victim->weaponactive!=-1){
+      victim->throwtogglekeydown=1;
+      weapons.owner[victim->weaponids[0]]=-1;
+      weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
+      if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
+      weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
+      weapons.missed[victim->weaponids[0]]=1;
+      weapons.freetime[victim->weaponids[0]]=0;
+      weapons.firstfree[victim->weaponids[0]]=1;
+      weapons.physics[victim->weaponids[0]]=1;
+      victim->num_weapons--;
+      if(victim->num_weapons){
+       victim->weaponids[0]=victim->weaponids[victim->num_weapons];
+       if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
+      }
+
+      victim->weaponactive=-1;
+      for(int j=0;j<numplayers;j++){
+       player[j].wentforweapon=0;
+      }
+    }
+
+    targetanimation=staffhitreversedanim;
+    currentanimation=staffhitreversedanim;
+    victim->currentanimation=staffhitreversalanim;
+    victim->targetanimation=staffhitreversalanim;
+  }
+  if(targetanimation==staffspinhitanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%2==0)){
+    if(victim->weaponactive!=-1){
+      victim->throwtogglekeydown=1;
+      weapons.owner[victim->weaponids[0]]=-1;
+      weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
+      if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
+      weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
+      weapons.missed[victim->weaponids[0]]=1;
+      weapons.freetime[victim->weaponids[0]]=0;
+      weapons.firstfree[victim->weaponids[0]]=1;
+      weapons.physics[victim->weaponids[0]]=1;
+      victim->num_weapons--;
+      if(victim->num_weapons){
+       victim->weaponids[0]=victim->weaponids[victim->num_weapons];
+       if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
+      }
+
+      victim->weaponactive=-1;
+      for(int j=0;j<numplayers;j++){
+       player[j].wentforweapon=0;
+      }
+    }
+    targetanimation=staffspinhitreversedanim;
+    currentanimation=staffspinhitreversedanim;
+    victim->currentanimation=staffspinhitreversalanim;
+    victim->targetanimation=staffspinhitreversalanim;
+  }
+  if(targetanimation==swordslashanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
+    if(victim->weaponactive!=-1){
+      victim->throwtogglekeydown=1;
+      weapons.owner[victim->weaponids[0]]=-1;
+      weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
+      if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
+      weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
+      weapons.missed[victim->weaponids[0]]=1;
+      weapons.freetime[victim->weaponids[0]]=0;
+      weapons.firstfree[victim->weaponids[0]]=1;
+      weapons.physics[victim->weaponids[0]]=1;
+      victim->num_weapons--;
+      if(victim->num_weapons){
+       victim->weaponids[0]=victim->weaponids[victim->num_weapons];
+       if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
+      }
+
+      victim->weaponactive=-1;
+      for(int j=0;j<numplayers;j++){
+       player[j].wentforweapon=0;
+      }
+    }
+    targetanimation=swordslashreversedanim;
+    currentanimation=swordslashreversedanim;
+    victim->currentanimation=swordslashreversalanim;
+    victim->targetanimation=swordslashreversalanim;
+  }
+  if(targetanimation==knifeslashstartanim&&findDistancefast(&victim->coords,&coords)<2&&(victim->id==0||Random()%4==0)){
+    if(victim->weaponactive!=-1){
+      victim->throwtogglekeydown=1;
+      weapons.owner[victim->weaponids[0]]=-1;
+      weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
+      if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
+      weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
+      weapons.missed[victim->weaponids[0]]=1;
+      weapons.freetime[victim->weaponids[0]]=0;
+      weapons.firstfree[victim->weaponids[0]]=1;
+      weapons.physics[victim->weaponids[0]]=1;
+      victim->num_weapons--;
+      if(victim->num_weapons){
+       victim->weaponids[0]=victim->weaponids[victim->num_weapons];
+       if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
+      }
+
+      victim->weaponactive=-1;
+      for(int j=0;j<numplayers;j++){
+       player[j].wentforweapon=0;
+      }
+    }
+    targetanimation=knifeslashreversedanim;
+    currentanimation=knifeslashreversedanim;
+    victim->currentanimation=knifeslashreversalanim;
+    victim->targetanimation=knifeslashreversalanim;
+  }
+  if(targetanimation!=knifeslashstartanim&&targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim&&targetanimation!=winduppunchanim&&targetanimation!=wolfslapanim&&targetanimation!=swordslashanim&&targetanimation!=swordslashanim){
+    victim->targettilt2=targettilt2;
+    victim->currentframe=currentframe;
+    victim->targetframe=targetframe;
+    victim->target=target;
+    victim->velocity=0;
+    victim->oldcoords=victim->coords;
+    victim->coords=coords;
+    victim->targetrotation=targetrotation;
+    victim->rotation=targetrotation;
+    victim->victim=this;
+  }
+  if(targetanimation==winduppunchanim){
+    targetanimation=winduppunchblockedanim;
+    victim->targetanimation=blockhighleftanim;
+    victim->targetframe=1;
+    victim->target=.5;
+    victim->victim=this;
+    victim->targetrotation=targetrotation+180;
+  }
+  if(targetanimation==wolfslapanim){
+    targetanimation=winduppunchblockedanim;
+    victim->targetanimation=blockhighleftanim;
+    victim->targetframe=1;
+    victim->target=.5;
+    victim->victim=this;
+    victim->targetrotation=targetrotation+180;
+  }
+  if((targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim)&&victim->weaponactive!=-1){
+    targetanimation=swordslashparriedanim;
+    parriedrecently=.4;
+    victim->parriedrecently=0;
+    victim->targetanimation=swordslashparryanim;
+    victim->targetframe=1;
+    victim->target=.5;
+    victim->victim=this;
+    victim->targetrotation=targetrotation+180;
+
+    if(abs(Random()%20)==0||weapons.type[victim->weaponids[victim->weaponactive]]==knife){
+      if(victim->weaponactive!=-1){
+       if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){
+         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;
+         emit_sound_at(swordstaffsound, victim->coords);
        }
-}
-
-
-void Person::Reverse(){
-       if(victim->aitype==playercontrolled||hostiletime>1)
-               if(victim->targetanimation!=jumpupanim&&victim->targetanimation!=jumpdownanim&&((tutoriallevel!=1||cananger)&&hostile)){
-                       if(normaldotproduct(victim->facing,victim->coords-coords)>0&&!(victim->id==0&&difficulty<2)&&(creature!=wolftype||victim->creature==wolftype))return;
-                       if(victim->aitype!=playercontrolled&&staggerdelay>0)return;
-                       if(targetanimation==sweepanim){
-                               targetanimation=sweepreversedanim;
-                               currentanimation=sweepreversedanim;
-                               victim->currentanimation=sweepreversalanim;
-                               victim->targetanimation=sweepreversalanim;
-                       }
-                       if(targetanimation==spinkickanim){
-                               targetanimation=spinkickreversedanim;
-                               currentanimation=spinkickreversedanim;
-                               victim->currentanimation=spinkickreversalanim;
-                               victim->targetanimation=spinkickreversalanim;
-                       }
-                       if(targetanimation==upunchanim||targetanimation==rabbittacklinganim){
-                               if(targetanimation==rabbittacklinganim){
-                                       currentframe=6;
-                                       targetframe=7;
-                                       victim->currentframe=6;
-                                       victim->targetframe=7;
-                               }
-                               targetanimation=upunchreversedanim;
-                               currentanimation=upunchreversedanim;
-                               victim->currentanimation=upunchreversalanim;
-                               victim->targetanimation=upunchreversalanim;
-                       }
-                       if(targetanimation==staffhitanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
-                               if(victim->weaponactive!=-1){
-                                       victim->throwtogglekeydown=1;
-                                       weapons.owner[victim->weaponids[0]]=-1;
-                                       weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
-                                       if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
-                                       weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
-                                       weapons.missed[victim->weaponids[0]]=1;
-                                       weapons.freetime[victim->weaponids[0]]=0;
-                                       weapons.firstfree[victim->weaponids[0]]=1;
-                                       weapons.physics[victim->weaponids[0]]=1;
-                                       victim->num_weapons--;
-                                       if(victim->num_weapons){
-                                               victim->weaponids[0]=victim->weaponids[victim->num_weapons];
-                                               if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
-                                }
-
-                                       victim->weaponactive=-1;
-                                       for(int j=0;j<numplayers;j++){
-                                               player[j].wentforweapon=0;
-                                }
-                               }
-
-                               targetanimation=staffhitreversedanim;
-                               currentanimation=staffhitreversedanim;
-                               victim->currentanimation=staffhitreversalanim;
-                               victim->targetanimation=staffhitreversalanim;
-                       }
-                       if(targetanimation==staffspinhitanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%2==0)){
-                               if(victim->weaponactive!=-1){
-                                       victim->throwtogglekeydown=1;
-                                       weapons.owner[victim->weaponids[0]]=-1;
-                                       weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
-                                       if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
-                                       weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
-                                       weapons.missed[victim->weaponids[0]]=1;
-                                       weapons.freetime[victim->weaponids[0]]=0;
-                                       weapons.firstfree[victim->weaponids[0]]=1;
-                                       weapons.physics[victim->weaponids[0]]=1;
-                                       victim->num_weapons--;
-                                       if(victim->num_weapons){
-                                               victim->weaponids[0]=victim->weaponids[victim->num_weapons];
-                                               if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
-                                }
-
-                                       victim->weaponactive=-1;
-                                       for(int j=0;j<numplayers;j++){
-                                               player[j].wentforweapon=0;
-                                }
-                               }
-                               targetanimation=staffspinhitreversedanim;
-                               currentanimation=staffspinhitreversedanim;
-                               victim->currentanimation=staffspinhitreversalanim;
-                               victim->targetanimation=staffspinhitreversalanim;
-                       }
-                       if(targetanimation==swordslashanim&&findDistancefast(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
-                               if(victim->weaponactive!=-1){
-                                       victim->throwtogglekeydown=1;
-                                       weapons.owner[victim->weaponids[0]]=-1;
-                                       weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
-                                       if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
-                                       weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
-                                       weapons.missed[victim->weaponids[0]]=1;
-                                       weapons.freetime[victim->weaponids[0]]=0;
-                                       weapons.firstfree[victim->weaponids[0]]=1;
-                                       weapons.physics[victim->weaponids[0]]=1;
-                                       victim->num_weapons--;
-                                       if(victim->num_weapons){
-                                               victim->weaponids[0]=victim->weaponids[victim->num_weapons];
-                                               if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
-                                }
-
-                                       victim->weaponactive=-1;
-                                       for(int j=0;j<numplayers;j++){
-                                               player[j].wentforweapon=0;
-                                }
-                               }
-                               targetanimation=swordslashreversedanim;
-                               currentanimation=swordslashreversedanim;
-                               victim->currentanimation=swordslashreversalanim;
-                               victim->targetanimation=swordslashreversalanim;
-                       }
-                       if(targetanimation==knifeslashstartanim&&findDistancefast(&victim->coords,&coords)<2&&(victim->id==0||Random()%4==0)){
-                               if(victim->weaponactive!=-1){
-                                       victim->throwtogglekeydown=1;
-                                       weapons.owner[victim->weaponids[0]]=-1;
-                                       weapons.velocity[victim->weaponids[0]]=victim->velocity*.2;
-                                       if(weapons.velocity[victim->weaponids[0]].x==0)weapons.velocity[victim->weaponids[0]].x=.1;
-                                       weapons.tipvelocity[victim->weaponids[0]]=weapons.velocity[victim->weaponids[0]];
-                                       weapons.missed[victim->weaponids[0]]=1;
-                                       weapons.freetime[victim->weaponids[0]]=0;
-                                       weapons.firstfree[victim->weaponids[0]]=1;
-                                       weapons.physics[victim->weaponids[0]]=1;
-                                       victim->num_weapons--;
-                                       if(victim->num_weapons){
-                                               victim->weaponids[0]=victim->weaponids[victim->num_weapons];
-                                               if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
-                                }
-
-                                       victim->weaponactive=-1;
-                                       for(int j=0;j<numplayers;j++){
-                                               player[j].wentforweapon=0;
-                                }
-                               }
-                               targetanimation=knifeslashreversedanim;
-                               currentanimation=knifeslashreversedanim;
-                               victim->currentanimation=knifeslashreversalanim;
-                               victim->targetanimation=knifeslashreversalanim;
-                       }
-                       if(targetanimation!=knifeslashstartanim&&targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim&&targetanimation!=winduppunchanim&&targetanimation!=wolfslapanim&&targetanimation!=swordslashanim&&targetanimation!=swordslashanim){
-                               victim->targettilt2=targettilt2;
-                               victim->currentframe=currentframe;
-                               victim->targetframe=targetframe;
-                               victim->target=target;
-                               victim->velocity=0;
-                               victim->oldcoords=victim->coords;
-                               victim->coords=coords;
-                               victim->targetrotation=targetrotation;
-                               victim->rotation=targetrotation;
-                               victim->victim=this;
-                       }
-                       if(targetanimation==winduppunchanim){
-                               targetanimation=winduppunchblockedanim;
-                               victim->targetanimation=blockhighleftanim;
-                               victim->targetframe=1;
-                               victim->target=.5;
-                               victim->victim=this;
-                               victim->targetrotation=targetrotation+180;
-                       }
-                       if(targetanimation==wolfslapanim){
-                               targetanimation=winduppunchblockedanim;
-                               victim->targetanimation=blockhighleftanim;
-                               victim->targetframe=1;
-                               victim->target=.5;
-                               victim->victim=this;
-                               victim->targetrotation=targetrotation+180;
-                       }
-                       if((targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim)&&victim->weaponactive!=-1){
-                               targetanimation=swordslashparriedanim;
-                               parriedrecently=.4;
-                               victim->parriedrecently=0;
-                               victim->targetanimation=swordslashparryanim;
-                               victim->targetframe=1;
-                               victim->target=.5;
-                               victim->victim=this;
-                               victim->targetrotation=targetrotation+180;
-
-                               if(abs(Random()%20)==0||weapons.type[victim->weaponids[victim->weaponactive]]==knife){
-                                       if(victim->weaponactive!=-1){
-                                               if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){
-                                                       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;
-                                                       emit_sound_at(swordstaffsound, victim->coords);
-                                               }
-                                               else{
-                                                       emit_sound_at(metalhitsound, victim->coords);
-                                               }
-                                       }
-                                       XYZ aim;
-                                       victim->Puff(righthand);
-                                       victim->target=0;
-                                       victim->targetframe=0;
-                                       victim->targetanimation=staggerbackhighanim;
-                                       victim->targetrotation=targetrotation+180;
-                                       victim->target=0;
-                                       weapons.owner[victim->weaponids[0]]=-1;
-                                       aim=DoRotation(facing,0,90,0)*21;
-                                       aim.y+=7;
-                                       weapons.velocity[victim->weaponids[0]]=aim*-.2;
-                                       weapons.tipvelocity[victim->weaponids[0]]=aim;
-                                       weapons.missed[victim->weaponids[0]]=1;
-                                       weapons.hitsomething[victim->weaponids[0]]=0;
-                                       weapons.freetime[victim->weaponids[0]]=0;
-                                       weapons.firstfree[victim->weaponids[0]]=1;
-                                       weapons.physics[victim->weaponids[0]]=1;
-                                       victim->num_weapons--;
-                                       if(victim->num_weapons){
-                                               victim->weaponids[0]=victim->weaponids[num_weapons];
-                                               if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
-                                }
-                                       victim->weaponactive=-1;
-                                       for(int i=0;i<numplayers;i++){
-                                               player[i].wentforweapon=0;
-                                }
-
-
-
-
-
-                               }
-
-                               if(abs(Random()%20)==0){
-                                       if(weaponactive!=-1){
-                                               if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){
-                                                       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;
-
-                                                       emit_sound_at(swordstaffsound, coords);
-                                               }
-                                               else{
-                                                       emit_sound_at(metalhitsound, coords);
-                                               }
-                                       }
-
-                                       XYZ aim;
-                                       Puff(righthand);
-                                       target=0;
-                                       targetframe=0;
-                                       targetanimation=staggerbackhighanim;
-                                       targetrotation=targetrotation+180;
-                                       target=0;
-                                       weapons.owner[weaponids[0]]=-1;
-                                       aim=DoRotation(facing,0,90,0)*21;
-                                       aim.y+=7;
-                                       weapons.velocity[weaponids[0]]=aim*-.2;
-                                       weapons.tipvelocity[weaponids[0]]=aim;
-                                       weapons.hitsomething[weaponids[0]]=0;
-                                       weapons.missed[weaponids[0]]=1;
-                                       weapons.freetime[weaponids[0]]=0;
-                                       weapons.firstfree[weaponids[0]]=1;
-                                       weapons.physics[weaponids[0]]=1;
-                                       num_weapons--;
-                                       if(num_weapons){
-                                               weaponids[0]=weaponids[num_weapons];
-                                               if(weaponstuck==num_weapons)weaponstuck=0;
-                                }
-                                       weaponactive=-1;
-                                       for(int i=0;i<numplayers;i++){
-                                               player[i].wentforweapon=0;
-                                }
-
-
-                               }
-                       }
-                       if(hasvictim)
-                               if(targetanimation==knifeslashstartanim||targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim){
-                                       if((targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim)||findDistancefast(&coords,&victim->coords)>.2){
-                                               //victim->targetanimation=sweepanim;
-                                               victim->targetanimation=dodgebackanim;
-                                               victim->targetframe=0;
-                                               victim->target=0;
-                                               //victim->velocity=0;
-
-                                               XYZ rotatetarget;
-                                               rotatetarget=coords-victim->coords;
-                                               Normalise(&rotatetarget);
-                                               victim->targetrotation=-asin(0-rotatetarget.x);
-                                               victim->targetrotation*=360/6.28;
-                                               if(rotatetarget.z<0)victim->targetrotation=180-victim->targetrotation;
-
-                                               victim->targettilt2=-asin(rotatetarget.y)*360/6.28;//*-70;
-
-                                               victim->lastattack3=victim->lastattack2;
-                                               victim->lastattack2=victim->lastattack;
-                                               victim->lastattack=victim->targetanimation;
-                                       }
-                                       else
-                                       {
-                                               victim->targetanimation=sweepanim;
-                                               victim->targetframe=0;
-                                               victim->target=0;
-
-                                               XYZ rotatetarget;
-                                               rotatetarget=coords-victim->coords;
-                                               Normalise(&rotatetarget);
-                                               victim->targetrotation=-asin(0-rotatetarget.x);
-                                               victim->targetrotation*=360/6.28;
-                                               if(rotatetarget.z<0)victim->targetrotation=180-victim->targetrotation;
-
-                                               victim->targettilt2=-asin(rotatetarget.y)*360/6.28;//*-70;
-
-                                               victim->lastattack3=victim->lastattack2;
-                                               victim->lastattack2=victim->lastattack;
-                                               victim->lastattack=victim->targetanimation;
-                                       }
-                               }
+       else{
+         emit_sound_at(metalhitsound, victim->coords);
+       }
+      }
+      XYZ aim;
+      victim->Puff(righthand);
+      victim->target=0;
+      victim->targetframe=0;
+      victim->targetanimation=staggerbackhighanim;
+      victim->targetrotation=targetrotation+180;
+      victim->target=0;
+      weapons.owner[victim->weaponids[0]]=-1;
+      aim=DoRotation(facing,0,90,0)*21;
+      aim.y+=7;
+      weapons.velocity[victim->weaponids[0]]=aim*-.2;
+      weapons.tipvelocity[victim->weaponids[0]]=aim;
+      weapons.missed[victim->weaponids[0]]=1;
+      weapons.hitsomething[victim->weaponids[0]]=0;
+      weapons.freetime[victim->weaponids[0]]=0;
+      weapons.firstfree[victim->weaponids[0]]=1;
+      weapons.physics[victim->weaponids[0]]=1;
+      victim->num_weapons--;
+      if(victim->num_weapons){
+       victim->weaponids[0]=victim->weaponids[num_weapons];
+       if(victim->weaponstuck==victim->num_weapons)victim->weaponstuck=0;
+      }
+      victim->weaponactive=-1;
+      for(int i=0;i<numplayers;i++){
+       player[i].wentforweapon=0;
+      }
+    }
+
+    if(abs(Random()%20)==0){
+      if(weaponactive!=-1){
+       if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){
+         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;
+
+         emit_sound_at(swordstaffsound, coords);
+       }
+       else{
+         emit_sound_at(metalhitsound, coords);
+       }
+      }
+
+      XYZ aim;
+      Puff(righthand);
+      target=0;
+      targetframe=0;
+      targetanimation=staggerbackhighanim;
+      targetrotation=targetrotation+180;
+      target=0;
+      weapons.owner[weaponids[0]]=-1;
+      aim=DoRotation(facing,0,90,0)*21;
+      aim.y+=7;
+      weapons.velocity[weaponids[0]]=aim*-.2;
+      weapons.tipvelocity[weaponids[0]]=aim;
+      weapons.hitsomething[weaponids[0]]=0;
+      weapons.missed[weaponids[0]]=1;
+      weapons.freetime[weaponids[0]]=0;
+      weapons.firstfree[weaponids[0]]=1;
+      weapons.physics[weaponids[0]]=1;
+      num_weapons--;
+      if(num_weapons){
+       weaponids[0]=weaponids[num_weapons];
+       if(weaponstuck==num_weapons)weaponstuck=0;
+      }
+      weaponactive=-1;
+      for(int i=0;i<numplayers;i++){
+       player[i].wentforweapon=0;
+      }
+
+
+    }
+  }
+  if(hasvictim)
+    if(targetanimation==knifeslashstartanim||targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim){
+      if((targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim)||findDistancefast(&coords,&victim->coords)>.2){
+       victim->targetanimation=dodgebackanim;
+       victim->targetframe=0;
+       victim->target=0;
+
+       XYZ rotatetarget;
+       rotatetarget=coords-victim->coords;
+       Normalise(&rotatetarget);
+       victim->targetrotation=-asin(0-rotatetarget.x);
+       victim->targetrotation*=360/6.28;
+       if(rotatetarget.z<0)victim->targetrotation=180-victim->targetrotation;
+
+       victim->targettilt2=-asin(rotatetarget.y)*360/6.28;//*-70;
+
+       victim->lastattack3=victim->lastattack2;
+       victim->lastattack2=victim->lastattack;
+       victim->lastattack=victim->targetanimation;
+      }
+      else
+       {
+         victim->targetanimation=sweepanim;
+         victim->targetframe=0;
+         victim->target=0;
+
+         XYZ rotatetarget;
+         rotatetarget=coords-victim->coords;
+         Normalise(&rotatetarget);
+         victim->targetrotation=-asin(0-rotatetarget.x);
+         victim->targetrotation*=360/6.28;
+         if(rotatetarget.z<0)victim->targetrotation=180-victim->targetrotation;
+
+         victim->targettilt2=-asin(rotatetarget.y)*360/6.28;//*-70;
+
+         victim->lastattack3=victim->lastattack2;
+         victim->lastattack2=victim->lastattack;
+         victim->lastattack=victim->targetanimation;
+       }
+    }
 
-                               velocity=0;
-                               victim->velocity=0;
+  velocity=0;
+  victim->velocity=0;
 
-                               if(aitype!=playercontrolled)feint=0;
-                               if(aitype!=playercontrolled&&Random()%3==0&&escapednum<2&&difficulty==2)feint=1;
-                               if(aitype!=playercontrolled&&Random()%5==0&&escapednum<2&&difficulty==1)feint=1;
-                               if(aitype!=playercontrolled&&Random()%10==0&&escapednum<2&&difficulty==0)feint=1;
+  if(aitype!=playercontrolled)feint=0;
+  if(aitype!=playercontrolled&&Random()%3==0&&escapednum<2&&difficulty==2)feint=1;
+  if(aitype!=playercontrolled&&Random()%5==0&&escapednum<2&&difficulty==1)feint=1;
+  if(aitype!=playercontrolled&&Random()%10==0&&escapednum<2&&difficulty==0)feint=1;
 
-                               if(victim->id==0&&animation[victim->targetanimation].attack==reversal)numreversals++;
-               }
+  if(victim->id==0&&animation[victim->targetanimation].attack==reversal)numreversals++;
 }
 
 void Person::DoDamage(float howmuch){
@@ -1570,7 +1501,7 @@ void      Person::DoAnimations(){
                        if(targetanimation==rollanim&&targetframe==3&&onfire){
                                onfire=0;
                                emit_sound_at(fireendsound, coords);
-                               OPENAL_SetPaused(channels[stream_firesound], true);
+                               pause_sound(stream_firesound);
                                deathbleeding=0;
                        }
 
@@ -3409,7 +3340,8 @@ void      Person::DoAnimations(){
                                                                                targetframe=3;
                                                                                velocity=facing*-8;
                                                                                velocity.y=4;
-                                                                               if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
+                                                                               if(id==0)
+                                                                                 resume_stream(whooshsound);
                                                                        }
                                                                        if(targetanimation==walljumprightanim){
                                                                                targetanimation=rightflipanim;
@@ -3427,7 +3359,8 @@ void      Person::DoAnimations(){
                                                                                velocity=facing*8;
                                                                                velocity.y=4;
                                                                        }
-                                                                       if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
+                                                                       if(id==0)
+                                                                         resume_stream(whooshsound);
                                                                }
                                                                if(targetanimation==walljumpleftanim){
                                                                        if(attackkeydown){
@@ -3467,7 +3400,8 @@ void      Person::DoAnimations(){
                                                                                velocity=DoRotation(facing,0,-30,0)*-8;
                                                                                velocity.y=4;
                                                                        }
-                                                                       if(id==0)OPENAL_SetPaused(channels[whooshsound], false);
+                                                                       if(id==0)
+                                                                         resume_stream(whooshsound);
                                                                }
                                                                if(targetanimation==sneakattackanim){
                                                                        float ycoords=oldcoords.y;
@@ -3620,7 +3554,7 @@ void      Person::DoAnimations(){
                                                                                escapednum++;
                                                                                targetanimation=rollanim;
                                                                                coords+=facing;
-                                                                               if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
+                                                                               if(id==0)pause_sound(whooshsound);
                                                                        }
                                                                        lastfeint=0;
                                                                }
@@ -3643,7 +3577,7 @@ void      Person::DoAnimations(){
                                                                                escapednum++;
                                                                                targetanimation=rollanim;
                                                                                coords+=facing*2;
-                                                                               if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
+                                                                               if(id==0)pause_sound(whooshsound);
                                                                        }
                                                                        lastfeint=0;
                                                                }
@@ -3917,7 +3851,7 @@ void      Person::DoStuff(){
                bleeding-=multiplier*.3;
                if(bloodtoggle==2){
                        glBindTexture(GL_TEXTURE_2D,skeleton.drawmodel.textureptr);
-                       if(bleeding<=0&&(detail!=2||osx))DoMipmaps(5,0,0,skeleton.skinsize,skeleton.skinsize);
+                       if(bleeding<=0&&(detail!=2||osx))DoMipmaps();
                }
        }
 
@@ -4044,7 +3978,7 @@ void      Person::DoStuff(){
                }
                if(!osx&&detail>1){
                        glBindTexture(GL_TEXTURE_2D,skeleton.drawmodel.textureptr);
-                       DoMipmaps(0,startx,endx,starty,endy);
+                       DoMipmaps();
                }
 
                if(!skeleton.free){
@@ -4472,14 +4406,10 @@ void    Person::DoStuff(){
                skeleton.free=1;
 
                emit_sound_at(breaksound, coords);
-               /*if(id==0||findDistancefast(&coords,&viewer)<50){
-               slomo=1;
-               slomodelay=.2;
-               }*/
        }
 
        if(skeleton.free==1){
-               if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
+               if(id==0)pause_sound(whooshsound);
 
                if(!dead){
                        //If knocked over, open hands and close mouth
@@ -4542,7 +4472,7 @@ void      Person::DoStuff(){
                        skeleton.longdead+=(2000-findLength(&average))*multiplier+multiplier;
                        if(skeleton.longdead>2000){
                                if(skeleton.longdead>6000){
-                                       if(id==0)OPENAL_SetPaused(channels[whooshsound], true);
+                                       if(id==0)pause_sound(whooshsound);
                                        skeleton.free=3;
                                        DrawSkeleton();
                                        skeleton.free=2;
@@ -4651,7 +4581,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)OPENAL_SetPaused(channels[whooshsound], true);
+                               if(id==0)pause_sound(whooshsound);
                                skeleton.free=0;
                                velocity=0;
                                XYZ middle;
@@ -5363,7 +5293,7 @@ void      Person::DoStuff(){
                                                onterrain=1;
 
                                                if(id==0){
-                                                       OPENAL_SetPaused(channels[whooshsound], true);
+                                                       pause_sound(whooshsound);
                                                        OPENAL_SetVolume(channels[whooshsound], 0);
                                                }
 
@@ -5719,35 +5649,11 @@ int Person::DrawSkeleton(){
 
                                                skeleton.muscles[i].lastrotate3=skeleton.muscles[i].rotate3;
                                                glRotatef(-skeleton.muscles[i].lastrotate3,0,1,0);
-                                               /*
-                                               if(!isnormal(proportionbody.x)||!isnormal(proportionbody.y)||!isnormal(proportionbody.z)){
-                                               proportionbody=1;
-                                               proportionweird=1;
-                                               }
-                                               if(!isnormal(proportionarms.x)||!isnormal(proportionarms.y)||!isnormal(proportionarms.z)){
-                                               proportionarms=1;
-                                               proportionweird=1;
-                                               }
-                                               if(!isnormal(proportionhead.x)||!isnormal(proportionhead.y)||!isnormal(proportionhead.z)){
-                                               proportionhead=1;
-                                               proportionweird=1;
-                                               }
-                                               if(!isnormal(proportionlegs.x)||!isnormal(proportionlegs.y)||!isnormal(proportionlegs.z)){
-                                               proportionlegs=1;
-                                               proportionweird=1;
-                                               }*/
 
                                                if(playerdetail||skeleton.free==3)
                                                {
                                                        for(j=0;j<skeleton.muscles[i].numvertices;j++)
                                                        {
-                                                               /*if(!isnormal(skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]].x))vertexweird[0]=1;
-                                                               if(!isnormal(skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]].y))vertexweird[1]=1;
-                                                               if(!isnormal(skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]].z))vertexweird[2]=1;
-                                                               if(!isnormal(skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]].x))vertexweird[3]=1;
-                                                               if(!isnormal(skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]].y))vertexweird[4]=1;
-                                                               if(!isnormal(skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]].z))vertexweird[5]=1;
-                                                               if(skeleton.muscles[i].vertices[j]<skeleton.model[start].vertexNum&&skeleton.muscles[i].vertices[j]>=0){*/
                                                                glMatrixMode(GL_MODELVIEW);                                                     // Select The Modelview Matrix
                                                                glPushMatrix();
                                                                        if(skeleton.muscles[i].parent1->label==abdomen||skeleton.muscles[i].parent2->label==abdomen)
@@ -6042,13 +5948,6 @@ int Person::DrawSkeleton(){
                                                CrossProduct(&vec1,&vec2,&tempnormthing);
                                                Normalise(&tempnormthing);
                                                if(targetanimation!=staffhitanim&&currentanimation!=staffhitanim&&targetanimation!=staffgroundsmashanim&&currentanimation!=staffgroundsmashanim&&targetanimation!=staffspinhitanim&&currentanimation!=staffspinhitanim)weaponpoint+=tempnormthing*.1-skeleton.specialforward[1]*.3+(skeleton.joints[skeleton.jointlabels[rightwrist]].position-skeleton.joints[skeleton.jointlabels[rightelbow]].position);
-                                               /*if(targetanimation==staffhitanim||currentanimation==staffhitanim){
-                                               XYZ weaptargnorm;
-                                               weaptargnorm=DoRotation(weapons.tippoint[i]-weapons.position[i],0,-rotation,0);
-                                               //weaptargnorm=animation[currentanimation].weapontarget[currentframe]*(1-target)+animation[targetanimation].weapontarget[targetframe]*(target);
-                                               Normalise(&weaptargnorm);
-                                               weaponpoint-=weaptargnorm*2;
-                                               }*/
                                        }
                                }
                                if(weaponactive!=k&&weaponstuck!=k){
@@ -6283,7 +6182,7 @@ int Person::SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate,
                                                                onterrain=1;
 
                                                                if(id==0){
-                                                                       OPENAL_SetPaused(channels[whooshsound], true);
+                                                                       pause_sound(whooshsound);
                                                                        OPENAL_SetVolume(channels[whooshsound], 0);
                                                                }