X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameTick.cpp;h=4bcb66c07ae657b55880ff5c8a41cea3d1648df1;hb=44e4a5263469eb8e216bd6abfad3f0b5e2627d69;hp=2c357a5eb8f04fc0efbb9c3712bcbf9e83290f12;hpb=6adc55a29cf3471b0f043ee6363299a01f2fd014;p=lugaru.git diff --git a/Source/GameTick.cpp b/Source/GameTick.cpp index 2c357a5..4bcb66c 100644 --- a/Source/GameTick.cpp +++ b/Source/GameTick.cpp @@ -222,6 +222,31 @@ extern float accountcampaigntime[10]; extern int accountcampaignchoicesmade[10]; extern int accountcampaignchoices[10][5000]; + +static const char *rabbitskin[] = { +":Data:Textures:Fur3.jpg", +":Data:Textures:Fur.jpg", +":Data:Textures:Fur2.jpg", +":Data:Textures:Lynx.jpg", +":Data:Textures:Otter.jpg", +":Data:Textures:Opal.jpg", +":Data:Textures:Sable.jpg", +":Data:Textures:Chocolate.jpg", +":Data:Textures:BW2.jpg", +":Data:Textures:WB2.jpg" +}; + +static const char *wolfskin[] = { +":Data:Textures:Wolf.jpg", +":Data:Textures:Darkwolf.jpg", +":Data:Textures:Snowwolf.jpg" +}; + +#define STATIC_ASSERT(x) extern int s_a_dummy[2 * (!!(x)) - 1]; +STATIC_ASSERT (rabbittype == 0 && wolftype == 1) + +static const char **creatureskin[] = {rabbitskin, wolfskin}; + /********************> Tick() <*****/ extern OPENAL_STREAM * strm[20]; extern "C" void PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused); @@ -647,10 +672,10 @@ void Game::Setenvironment(int which) OPENAL_SetVolume(channels[stream_wind], 256); } - LoadTexture(ConvertFileName(":Data:Textures:snowtree.png"),&objects.treetextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:bushsnow.png"),&objects.bushtextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:bouldersnow.jpg"),&objects.rocktextureptr,1,0); - LoadTexture(ConvertFileName(":Data:Textures:snowbox.jpg"),&objects.boxtextureptr,1,0); + LoadTexture(":Data:Textures:snowtree.png",&objects.treetextureptr,0,1); + LoadTexture(":Data:Textures:bushsnow.png",&objects.bushtextureptr,0,1); + LoadTexture(":Data:Textures:bouldersnow.jpg",&objects.rocktextureptr,1,0); + LoadTexture(":Data:Textures:snowbox.jpg",&objects.boxtextureptr,1,0); OPENAL_Sample_Free(samp[footstepsound]); OPENAL_Sample_Free(samp[footstepsound2]); @@ -665,25 +690,25 @@ void Game::Setenvironment(int which) OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f); OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f); - LoadTexture(ConvertFileName(":Data:Textures:snow.jpg"),&terraintexture,1,0); + LoadTexture(":Data:Textures:snow.jpg",&terraintexture,1,0); - LoadTexture(ConvertFileName(":Data:Textures:rock.jpg"),&terraintexture2,1,0); + LoadTexture(":Data:Textures:rock.jpg",&terraintexture2,1,0); - //LoadTexture(ConvertFileName(":Data:Textures:detailgrain.png"),&terraintexture3,1); + //LoadTexture(":Data:Textures:detailgrain.png",&terraintexture3,1); temptexdetail=texdetail; if(texdetail>1)texdetail=4; - skybox.load( ConvertFileName(":Data:Textures:Skybox(snow):Front.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Left.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Back.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Right.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Up.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Down.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Cloud.jpg"), - ConvertFileName(":Data:Textures:Skybox(snow):Reflect.jpg")); + skybox.load( ":Data:Textures:Skybox(snow):Front.jpg", + ":Data:Textures:Skybox(snow):Left.jpg", + ":Data:Textures:Skybox(snow):Back.jpg", + ":Data:Textures:Skybox(snow):Right.jpg", + ":Data:Textures:Skybox(snow):Up.jpg", + ":Data:Textures:Skybox(snow):Down.jpg", + ":Data:Textures:Skybox(snow):Cloud.jpg", + ":Data:Textures:Skybox(snow):Reflect.jpg"); @@ -693,10 +718,10 @@ void Game::Setenvironment(int which) if(environment==desertenvironment){ windvector=0; windvector.z=2; - LoadTexture(ConvertFileName(":Data:Textures:deserttree.png"),&objects.treetextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:bushdesert.png"),&objects.bushtextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:boulderdesert.jpg"),&objects.rocktextureptr,1,0); - LoadTexture(ConvertFileName(":Data:Textures:desertbox.jpg"),&objects.boxtextureptr,1,0); + LoadTexture(":Data:Textures:deserttree.png",&objects.treetextureptr,0,1); + LoadTexture(":Data:Textures:bushdesert.png",&objects.bushtextureptr,0,1); + LoadTexture(":Data:Textures:boulderdesert.jpg",&objects.rocktextureptr,1,0); + LoadTexture(":Data:Textures:desertbox.jpg",&objects.boxtextureptr,1,0); if(ambientsound){ @@ -719,24 +744,24 @@ void Game::Setenvironment(int which) OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f); OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f); - LoadTexture(ConvertFileName(":Data:Textures:sand.jpg"),&terraintexture,1,0); + LoadTexture(":Data:Textures:sand.jpg",&terraintexture,1,0); - LoadTexture(ConvertFileName(":Data:Textures:sandslope.jpg"),&terraintexture2,1,0); + LoadTexture(":Data:Textures:sandslope.jpg",&terraintexture2,1,0); - //LoadTexture(ConvertFileName(":Data:Textures:detailgrain.png"),&terraintexture3,1); + //LoadTexture(":Data:Textures:detailgrain.png",&terraintexture3,1); temptexdetail=texdetail; if(texdetail>1)texdetail=4; - skybox.load( ConvertFileName(":Data:Textures:Skybox(sand):Front.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Left.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Back.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Right.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Up.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Down.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Cloud.jpg"), - ConvertFileName(":Data:Textures:Skybox(sand):Reflect.jpg")); + skybox.load( ":Data:Textures:Skybox(sand):Front.jpg", + ":Data:Textures:Skybox(sand):Left.jpg", + ":Data:Textures:Skybox(sand):Back.jpg", + ":Data:Textures:Skybox(sand):Right.jpg", + ":Data:Textures:Skybox(sand):Up.jpg", + ":Data:Textures:Skybox(sand):Down.jpg", + ":Data:Textures:Skybox(sand):Cloud.jpg", + ":Data:Textures:Skybox(sand):Reflect.jpg"); @@ -746,10 +771,10 @@ void Game::Setenvironment(int which) if(environment==grassyenvironment){ windvector=0; windvector.z=2; - LoadTexture(ConvertFileName(":Data:Textures:tree.png"),&objects.treetextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:bush.png"),&objects.bushtextureptr,0,1); - LoadTexture(ConvertFileName(":Data:Textures:boulder.jpg"),&objects.rocktextureptr,1,0); - LoadTexture(ConvertFileName(":Data:Textures:grassbox.jpg"),&objects.boxtextureptr,1,0); + LoadTexture(":Data:Textures:tree.png",&objects.treetextureptr,0,1); + LoadTexture(":Data:Textures:bush.png",&objects.bushtextureptr,0,1); + LoadTexture(":Data:Textures:boulder.jpg",&objects.rocktextureptr,1,0); + LoadTexture(":Data:Textures:grassbox.jpg",&objects.boxtextureptr,1,0); if(ambientsound){ PlayStreamEx( stream_wind, strm[stream_wind], NULL, true); @@ -770,24 +795,24 @@ void Game::Setenvironment(int which) OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f); OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f); - LoadTexture(ConvertFileName(":Data:Textures:grassdirt.jpg"),&terraintexture,1,0); + LoadTexture(":Data:Textures:grassdirt.jpg",&terraintexture,1,0); - LoadTexture(ConvertFileName(":Data:Textures:mossrock.jpg"),&terraintexture2,1,0); + LoadTexture(":Data:Textures:mossrock.jpg",&terraintexture2,1,0); - //LoadTexture(ConvertFileName(":Data:Textures:detail.png"),&terraintexture3,1); + //LoadTexture(":Data:Textures:detail.png",&terraintexture3,1); temptexdetail=texdetail; if(texdetail>1)texdetail=4; - skybox.load( ConvertFileName(":Data:Textures:Skybox(grass):Front.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Left.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Back.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Right.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Up.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Down.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Cloud.jpg"), - ConvertFileName(":Data:Textures:Skybox(grass):Reflect.jpg")); + skybox.load( ":Data:Textures:Skybox(grass):Front.jpg", + ":Data:Textures:Skybox(grass):Left.jpg", + ":Data:Textures:Skybox(grass):Back.jpg", + ":Data:Textures:Skybox(grass):Right.jpg", + ":Data:Textures:Skybox(grass):Up.jpg", + ":Data:Textures:Skybox(grass):Down.jpg", + ":Data:Textures:Skybox(grass):Cloud.jpg", + ":Data:Textures:Skybox(grass):Reflect.jpg"); @@ -795,7 +820,7 @@ void Game::Setenvironment(int which) } temptexdetail=texdetail; texdetail=1; - terrain.load(ConvertFileName(":Data:Textures:heightmap.png")); + terrain.load(":Data:Textures:heightmap.png"); texdetail=temptexdetail; } @@ -804,24 +829,24 @@ void Game::Setenvironment(int which) void Game::Loadlevel(int which){ stealthloading=0; - if(which==0)Loadlevel((char *)ConvertFileName(":Data:Maps:map1")); - else if(which==1)Loadlevel((char *)ConvertFileName(":Data:Maps:map2")); - else if(which==2)Loadlevel((char *)ConvertFileName(":Data:Maps:map3")); - else if(which==3)Loadlevel((char *)ConvertFileName(":Data:Maps:map4")); - else if(which==4)Loadlevel((char *)ConvertFileName(":Data:Maps:map5")); - else if(which==5)Loadlevel((char *)ConvertFileName(":Data:Maps:map6")); - else if(which==6)Loadlevel((char *)ConvertFileName(":Data:Maps:map7")); - else if(which==7)Loadlevel((char *)ConvertFileName(":Data:Maps:map8")); - else if(which==8)Loadlevel((char *)ConvertFileName(":Data:Maps:map9")); - else if(which==9)Loadlevel((char *)ConvertFileName(":Data:Maps:map10")); - else if(which==10)Loadlevel((char *)ConvertFileName(":Data:Maps:map11")); - else if(which==11)Loadlevel((char *)ConvertFileName(":Data:Maps:map12")); - else if(which==12)Loadlevel((char *)ConvertFileName(":Data:Maps:map13")); - else if(which==13)Loadlevel((char *)ConvertFileName(":Data:Maps:map14")); - else if(which==14)Loadlevel((char *)ConvertFileName(":Data:Maps:map15")); - else if(which==15)Loadlevel((char *)ConvertFileName(":Data:Maps:map16")); - else if(which==-1){tutoriallevel=-1;Loadlevel((char *)ConvertFileName(":Data:Maps:tutorial"));} - else Loadlevel((char *)ConvertFileName(":Data:Maps:mapsave")); + if(which==0)Loadlevel((char *)":Data:Maps:map1"); + else if(which==1)Loadlevel((char *)":Data:Maps:map2"); + else if(which==2)Loadlevel((char *)":Data:Maps:map3"); + else if(which==3)Loadlevel((char *)":Data:Maps:map4"); + else if(which==4)Loadlevel((char *)":Data:Maps:map5"); + else if(which==5)Loadlevel((char *)":Data:Maps:map6"); + else if(which==6)Loadlevel((char *)":Data:Maps:map7"); + else if(which==7)Loadlevel((char *)":Data:Maps:map8"); + else if(which==8)Loadlevel((char *)":Data:Maps:map9"); + else if(which==9)Loadlevel((char *)":Data:Maps:map10"); + else if(which==10)Loadlevel((char *)":Data:Maps:map11"); + else if(which==11)Loadlevel((char *)":Data:Maps:map12"); + else if(which==12)Loadlevel((char *)":Data:Maps:map13"); + else if(which==13)Loadlevel((char *)":Data:Maps:map14"); + else if(which==14)Loadlevel((char *)":Data:Maps:map15"); + else if(which==15)Loadlevel((char *)":Data:Maps:map16"); + else if(which==-1){tutoriallevel=-1;Loadlevel((char *)":Data:Maps:tutorial");} + else Loadlevel((char *)":Data:Maps:mapsave"); whichlevel=which; } @@ -902,7 +927,7 @@ void Game::Loadlevel(char *name){ won=0; //campaign=0; - animation[bounceidleanim].Load((char *)ConvertFileName(":Data:Animations:Idle"),middleheight,neutral); + animation[bounceidleanim].Load((char *)":Data:Animations:Idle",middleheight,neutral); numdialogues=0; @@ -1386,52 +1411,7 @@ void Game::Loadlevel(char *name){ //if(!player[i].loaded)player[i].skeleton.skinText = new GLubyte[texsize]; //player[i].skeleton.skinText.resize(texsize); - if(player[i].creature==rabbittype) - { - if(player[i].whichskin==0){ - LoadTextureSave(":Data:Textures:Fur3.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==1){ - LoadTextureSave(":Data:Textures:Fur.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==2){ - LoadTextureSave(":Data:Textures:Fur2.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==3){ - LoadTextureSave(":Data:Textures:Lynx.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==4){ - LoadTextureSave(":Data:Textures:Otter.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==5){ - LoadTextureSave(":Data:Textures:Opal.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==6){ - LoadTextureSave(":Data:Textures:Sable.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==7){ - LoadTextureSave(":Data:Textures:Chocolate.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==8){ - LoadTextureSave(":Data:Textures:BW2.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==9){ - LoadTextureSave(":Data:Textures:WB2.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - } - if(player[i].creature==wolftype) - { - //k=abs(Random()%3); - if(player[i].whichskin==0){ - LoadTextureSave(":Data:Textures:Wolf.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==1){ - LoadTextureSave(":Data:Textures:Darkwolf.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - else if(player[i].whichskin==2){ - LoadTextureSave(":Data:Textures:Snowwolf.jpg",&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); - } - } + LoadTextureSave(creatureskin[player[i].creature][player[i].whichskin],&player[i].skeleton.drawmodel.textureptr,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize); if(player[i].numclothes) { @@ -1513,7 +1493,7 @@ void Game::Loadlevel(char *name){ player[i].proportionlegs.z=0; } - player[i].tempanimation.Load((char *)ConvertFileName(":Data:Animations:Tempanim"),0,0); + player[i].tempanimation.Load((char *)":Data:Animations:Tempanim",0,0); player[i].headmorphness=0; player[i].targetheadmorphness=1; @@ -1703,6 +1683,43 @@ void Game::Tick() static bool mainmenutogglekeydown; + + if (IsKeyDown(theKeyMap, MAC_F6_KEY) && !freezetogglekeydown) { + if (IsKeyDown(theKeyMap, MAC_SHIFT_KEY)) { + stereoreverse=true; + } else { + stereoreverse=false; + } + + if (stereoreverse) { + printf("Stereo reversed\n"); + } else { + printf("Stereo unreversed\n"); + } + freezetogglekeydown=1; + } + + if (IsKeyDown(theKeyMap, MAC_F7_KEY)) { + if (IsKeyDown(theKeyMap, MAC_SHIFT_KEY)) { + stereoseparation -= 0.001; + } else { + stereoseparation -= 0.010; + } + + printf("Stereo decreased increased to %f\n", stereoseparation); + } + + if (IsKeyDown(theKeyMap, MAC_F8_KEY)) { + if (IsKeyDown(theKeyMap, MAC_SHIFT_KEY)) { + stereoseparation += 0.001; + } else { + stereoseparation += 0.010; + } + + printf("Stereo separation increased to %f\n", stereoseparation); + } + + if(!console){ if(mainmenu&&endgame==1)mainmenu=10; if(IsKeyDown(theKeyMap, MAC_ESCAPE_KEY)&&!mainmenutogglekeydown&&(mainmenu==7&&entername)){ @@ -3461,7 +3478,7 @@ void Game::Tick() FILE *tfile; - tfile=fopen( mapname, "wb" ); + tfile=fopen( ConvertFileName(mapname), "wb" ); fpackf(tfile, "Bi", mapvers); //fpackf(tfile, "Bi", indemo); fpackf(tfile, "Bi", maptype); @@ -4642,36 +4659,8 @@ void Game::Tick() } player[0].numclothes=0; - if(player[0].whichskin==0){ - LoadTextureSave(":Data:Textures:Fur3.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==1){ - LoadTextureSave(":Data:Textures:Fur.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==2){ - LoadTextureSave(":Data:Textures:Fur2.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==3){ - LoadTextureSave(":Data:Textures:Lynx.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==4){ - LoadTextureSave(":Data:Textures:Otter.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==5){ - LoadTextureSave(":Data:Textures:Opal.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==6){ - LoadTextureSave(":Data:Textures:Sable.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==7){ - LoadTextureSave(":Data:Textures:Chocolate.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==8){ - LoadTextureSave(":Data:Textures:BW2.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } - else if(player[0].whichskin==9){ - LoadTextureSave(":Data:Textures:WB2.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); - } + LoadTextureSave(creatureskin[player[0].creature][player[0].whichskin], + &player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize); editoractive=typeactive; player[0].immobile=0; @@ -5085,36 +5074,8 @@ void Game::Tick() } } player[closest].numclothes=0; - if(player[closest].whichskin==0){ - LoadTextureSave(":Data:Textures:Fur3.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==1){ - LoadTextureSave(":Data:Textures:Fur.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==2){ - LoadTextureSave(":Data:Textures:Fur2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==3){ - LoadTextureSave(":Data:Textures:Lynx.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==4){ - LoadTextureSave(":Data:Textures:Otter.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==5){ - LoadTextureSave(":Data:Textures:Opal.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==6){ - LoadTextureSave(":Data:Textures:Sable.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==7){ - LoadTextureSave(":Data:Textures:Chocolate.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==8){ - LoadTextureSave(":Data:Textures:BW2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==9){ - LoadTextureSave(":Data:Textures:WB2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } + LoadTextureSave(creatureskin[player[closest].creature][player[closest].whichskin], + &player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); donesomething=1; } @@ -5123,37 +5084,8 @@ void Game::Tick() int closest=0; player[closest].numclothes=0; - if(player[closest].whichskin==0){ - LoadTextureSave(":Data:Textures:Fur3.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==1){ - LoadTextureSave(":Data:Textures:Fur.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==2){ - LoadTextureSave(":Data:Textures:Fur2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==3){ - LoadTextureSave(":Data:Textures:Lynx.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==4){ - LoadTextureSave(":Data:Textures:Otter.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==5){ - LoadTextureSave(":Data:Textures:Opal.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==6){ - LoadTextureSave(":Data:Textures:Sable.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==7){ - LoadTextureSave(":Data:Textures:Chocolate.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==8){ - LoadTextureSave(":Data:Textures:BW2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==9){ - LoadTextureSave(":Data:Textures:WB2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - + LoadTextureSave(creatureskin[player[closest].creature][player[closest].whichskin], + &player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); donesomething=1; } @@ -7178,50 +7110,8 @@ void Game::Tick() if(player[closest].whichskin>9)player[closest].whichskin=0; if(player[closest].whichskin>2&&player[closest].creature==wolftype)player[closest].whichskin=0; - if(player[closest].creature==rabbittype){ - if(player[closest].whichskin==0){ - LoadTextureSave(":Data:Textures:Fur3.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==1){ - LoadTextureSave(":Data:Textures:Fur.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==2){ - LoadTextureSave(":Data:Textures:Fur2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==3){ - LoadTextureSave(":Data:Textures:Lynx.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==4){ - LoadTextureSave(":Data:Textures:Otter.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==5){ - LoadTextureSave(":Data:Textures:Opal.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==6){ - LoadTextureSave(":Data:Textures:Sable.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==7){ - LoadTextureSave(":Data:Textures:Chocolate.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==8){ - LoadTextureSave(":Data:Textures:BW2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==9){ - LoadTextureSave(":Data:Textures:WB2.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - } - if(player[closest].creature==wolftype){ - k=abs(Random()%3); - if(player[closest].whichskin==0){ - LoadTextureSave(":Data:Textures:Wolf.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==1){ - LoadTextureSave(":Data:Textures:Darkwolf.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - else if(player[closest].whichskin==2){ - LoadTextureSave(":Data:Textures:Snowwolf.jpg",&player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); - } - } + LoadTextureSave(creatureskin[player[closest].creature][player[closest].whichskin], + &player[closest].skeleton.drawmodel.textureptr,1,&player[closest].skeleton.skinText[0],&player[closest].skeleton.skinsize); } if(player[closest].numclothes){ @@ -7761,7 +7651,7 @@ void Game::Tick() player[numplayers].proportionlegs.z=0; } - player[numplayers].tempanimation.Load((char *)ConvertFileName(":Data:Animations:Tempanim"),0,0); + player[numplayers].tempanimation.Load((char *)":Data:Animations:Tempanim",0,0); player[numplayers].damagetolerance=200;