X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameInitDispose.cpp;h=eb55bb39fb04c548dda355eba633d036fd4bf40c;hb=72621d52ae69fa4ecb4329437810d71860ae3ebc;hp=faa4f0316a1e792184627cd10e3f612f26ac6d87;hpb=c8e0bed3c6219d4f8b447df8bde2442646eda279;p=lugaru.git diff --git a/Source/GameInitDispose.cpp b/Source/GameInitDispose.cpp index faa4f03..eb55bb3 100644 --- a/Source/GameInitDispose.cpp +++ b/Source/GameInitDispose.cpp @@ -21,6 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "Game.h" #include "openal_wrapper.h" +#include "Animation.h" +#include "Texture.h" extern float screenwidth,screenheight; extern float viewdistance; @@ -31,17 +33,13 @@ extern float fadestart; extern float texscale; extern float gravity; extern Light light; -extern Animation animation[animation_count]; extern Skeleton testskeleton; extern int numsounds; -extern OPENAL_SAMPLE *samp[100]; -extern int channels[100]; extern Terrain terrain; -extern Sprites sprites; +//extern Sprites sprites; extern int kTextureSize; extern float texdetail; extern float realtexdetail; -extern float terraindetail; extern float volume; extern Objects objects; extern int detail; @@ -52,9 +50,6 @@ extern bool ismotionblur; extern bool trilinear; extern bool osx; extern bool musictoggle; -extern Weapons weapons; -extern Person player[maxplayers]; -extern int numplayers; extern int environment; extern bool ambientsound; extern float multiplier; @@ -67,7 +62,6 @@ extern long dirID; extern int mainmenu; extern int oldmainmenu; extern bool visibleloading; -extern int loadscreencolor; extern float flashamount,flashr,flashg,flashb; extern int flashdelay; extern int whichjointstartarray[26]; @@ -75,19 +69,8 @@ extern int whichjointendarray[26]; extern int difficulty; extern float tintr,tintg,tintb; extern float slomospeed; -extern char mapname[256]; extern bool gamestarted; -extern int numaccounts; -extern int accountactive; -extern int accountdifficulty[10]; -extern int accountprogress[10]; -extern float accountpoints[10]; -extern float accounthighscore[10][50]; -extern float accountfasttime[10][50]; -extern bool accountunlocked[10][60]; -extern char accountname[10][256]; - extern int numdialogues; extern int numdialogueboxes[20]; extern int dialoguetype[20]; @@ -111,87 +94,23 @@ extern float accountcampaigntime[10]; extern int accountcampaignchoicesmade[10]; extern int accountcampaignchoices[10][5000]; -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 LOG(const std::string &fmt, ...) { // !!! FIXME: write me. } - -Game::TextureList Game::textures; - void Game::Dispose() { - int i,j; - LOGFUNC; if(endgame==2){ - accountcampaignchoicesmade[accountactive]=0; - accountcampaignscore[accountactive]=0; - accountcampaigntime[accountactive]=0; + accountactive->endGame(); endgame=0; } + Account::saveFile(":Data:Users", accountactive); - sprintf (ConvertFileName(mapname), ":Data:Users"); - - FILE *tfile; - tfile=fopen( ConvertFileName(mapname), "wb" ); - if (tfile) - { - fpackf(tfile, "Bi", numaccounts); - fpackf(tfile, "Bi", accountactive); - if(numaccounts>0) - { - for(i=0;i0) - { - for(j=0;j<(int)strlen(accountname[i]);j++) - { - fpackf(tfile, "Bb", accountname[i][j]); - } - } - } - } - - fclose(tfile); - } - - TexIter it = textures.begin(); - for (; it != textures.end(); ++it) - { - if (glIsTexture(it->second)) - glDeleteTextures(1, &it->second); - } - textures.clear(); + //textures.clear(); LOG("Shutting down sound system..."); @@ -200,19 +119,12 @@ void Game::Dispose() // this is causing problems on Linux, but we'll force an _exit() a little // later in the shutdown process. --ryan. #if !PLATFORM_LINUX -#define streamcount 20 -#define samplecount 100 - for (i=0; i < samplecount; ++i) + for (int i=0; i < sounds_count; ++i) { OPENAL_Sample_Free(samp[i]); } - for (i=0; i < streamcount; ++i) - { - OPENAL_Stream_Close(strm[i]); - } - OPENAL_Close(); if (texture.data) { @@ -223,320 +135,12 @@ void Game::Dispose() } -//void Game::LoadSounds(); -void Game::LoadSounds() -{ - LOGFUNC; - - LOG(std::string("Loading sounds...")); - - OPENAL_3D_SetDopplerFactor(0); - - OPENAL_SetSFXMasterVolume((int)(volume*255)); - - samp[footstepsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:footstepsnow1.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[footstepsound], 4.0f, 1000.0f); - - samp[footstepsound2] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:footstepsnow2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f); - - samp[footstepsound3] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:footstepstone1.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f); - - samp[footstepsound4] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:footstepstone2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f); - - samp[landsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:land.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[landsound], 4.0f, 1000.0f); - - samp[jumpsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:jump.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[jumpsound], 4.0f, 1000.0f); - - samp[hawksound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:hawk.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[hawksound], 40.0f, 10000.0f); - - samp[whooshsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:whoosh.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[whooshsound], 4.0f, 1000.0f); - OPENAL_Sample_SetMode(samp[whooshsound], OPENAL_LOOP_NORMAL); - - samp[landsound1] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:land1.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[landsound1], 4.0f, 1000.0f); - - - - samp[landsound2] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:land2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[landsound2], 4.0f, 1000.0f); - - samp[breaksound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:broken.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[breaksound], 8.0f, 2000.0f); - - samp[lowwhooshsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Lowwhoosh.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[lowwhooshsound], 8.0f, 2000.0f); - - samp[midwhooshsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:midwhoosh.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[midwhooshsound], 8.0f, 2000.0f); - - samp[highwhooshsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:highwhoosh.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[highwhooshsound], 8.0f, 2000.0f); - - samp[movewhooshsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:movewhoosh.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[movewhooshsound], 8.0f, 2000.0f); - - samp[heavyimpactsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:heavyimpact.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[heavyimpactsound], 8.0f, 2000.0f); - - samp[whooshhitsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Whooshhit.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[whooshhitsound], 8.0f, 2000.0f); - - samp[thudsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:thud.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[thudsound], 8.0f, 2000.0f); - - samp[alarmsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:alarm.ogg", OPENAL_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[alarmsound], 8.0f, 2000.0f); - - samp[breaksound2] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:break.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[breaksound2], 8.0f, 2000.0f); - - samp[knifedrawsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:knifedraw.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[knifedrawsound], 8.0f, 2000.0f); - - samp[knifesheathesound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:knifesheathe.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[knifesheathesound], 8.0f, 2000.0f); - - samp[fleshstabsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Fleshstab.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[fleshstabsound], 8.0f, 2000.0f); - - samp[fleshstabremovesound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Fleshstabremove.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[fleshstabremovesound], 8.0f, 2000.0f); - - samp[knifeswishsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:knifeswish.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[knifeswishsound], 8.0f, 2000.0f); - - samp[knifeslicesound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:knifeslice.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[knifeslicesound], 8.0f, 2000.0f); - - samp[swordslicesound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:swordslice.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[swordslicesound], 8.0f, 2000.0f); - - samp[skidsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:skid.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[skidsound], 8.0f, 2000.0f); - - samp[snowskidsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:snowskid.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[snowskidsound], 8.0f, 2000.0f); - - samp[bushrustle] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:bushrustle.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[bushrustle], 4.0f, 1000.0f); - - samp[clank1sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:clank1.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[clank1sound], 8.0f, 2000.0f); - - samp[clank2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:clank2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[clank2sound], 8.0f, 2000.0f); - - samp[clank3sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:clank3.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[clank3sound], 8.0f, 2000.0f); - - samp[clank4sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:clank4.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[clank4sound], 8.0f, 2000.0f); - - samp[consolesuccesssound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:consolesuccess.ogg", OPENAL_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[consolesuccesssound], 4.0f, 1000.0f); - - samp[consolefailsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:consolefail.ogg", OPENAL_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[consolefailsound], 4.0f, 1000.0f); - - samp[metalhitsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:MetalHit.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[metalhitsound], 8.0f, 2000.0f); - - samp[clawslicesound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:clawslice.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[clawslicesound], 8.0f, 2000.0f); - - samp[splattersound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:splatter.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[splattersound], 8.0f, 2000.0f); - - samp[growlsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Growl.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[growlsound], 1000.0f, 2000.0f); - - samp[growl2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:Growl2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[growl2sound], 1000.0f, 2000.0f); - - samp[barksound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:bark.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[barksound], 1000.0f, 2000.0f); - - samp[bark2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:bark2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[bark2sound], 1000.0f, 2000.0f); - - samp[bark3sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:bark3.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[bark3sound], 1000.0f, 2000.0f); - - samp[snarlsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:snarl.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[snarlsound], 1000.0f, 2000.0f); - - - samp[snarl2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:snarl2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[snarl2sound], 1000.0f, 2000.0f); - - samp[barkgrowlsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:barkgrowl.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[barkgrowlsound], 1000.0f, 2000.0f); - - samp[rabbitattacksound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitattack.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitattacksound], 1000.0f, 2000.0f); - - samp[rabbitattack2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitattack2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitattack2sound], 1000.0f, 2000.0f); - - samp[rabbitattack3sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitattack3.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitattack3sound], 1000.0f, 2000.0f); - - samp[rabbitattack4sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitattack4.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitattack4sound], 1000.0f, 2000.0f); - - samp[rabbitpainsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitpain.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitpainsound], 1000.0f, 2000.0f); - - samp[rabbitpain1sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitpain2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitpain1sound], 1000.0f, 2000.0f); - - /*samp[rabbitpain2sound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitpain2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitpain2sound], 1000.0f, 2000.0f); - */ - samp[rabbitchitter] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitchitter.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitchitter], 1000.0f, 2000.0f); - - samp[rabbitchitter2] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:rabbitchitter2.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[rabbitchitter2], 1000.0f, 2000.0f); - - samp[swordstaffsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:swordstaff.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[swordstaffsound], 8.0f, 2000.0f); - - samp[staffbodysound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:staffbody.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[staffbodysound], 8.0f, 2000.0f); - - samp[staffheadsound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:staffhead.ogg", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[staffheadsound], 8.0f, 2000.0f); - - samp[staffbreaksound] = OPENAL_Sample_LoadEx(OPENAL_FREE, ":Data:Sounds:staffbreak.wav", OPENAL_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;} - OPENAL_Sample_SetMinMaxDistance(samp[staffbreaksound], 8.0f, 2000.0f); -} - -void Game::LoadTexture(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha) -{ - GLuint type; - - LOGFUNC; - - LOG(std::string("Loading texture...") + fileName); - - // Fix filename so that is os appropreate - char * fixedFN = ConvertFileName(fileName); - - unsigned char fileNamep[256]; - CopyCStringToPascal(fixedFN, fileNamep); - //Load Image - upload_image( fileNamep ,hasalpha); - -// std::string fname(fileName); -// std::transform(fname.begin(), fname.end(), tolower); -// TexIter it = textures.find(fname); - - //Is it valid? - if(1==1) - //if(textures.end() == it) - { - //Alpha channel? - if ( texture.bpp == 24 ) - type = GL_RGB; - else - type = GL_RGBA; - - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - - if(!*textureid)glGenTextures( 1, textureid ); - glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); - - glBindTexture( GL_TEXTURE_2D, *textureid); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - if(trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); - if(!trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); - if(!mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - //glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texture.sizeX, texture.sizeY, 0, - // GL_BGRA_EXT, GL_UNSIGNED_INT_8_8_8_8_REV, texture.data); - - //gluBuild2DMipmaps( GL_TEXTURE_2D, type, texture.sizeX, texture.sizeY, GL_BGRA_EXT, GL_UNSIGNED_INT_8_8_8_8_REV, texture.data ); - - gluBuild2DMipmaps( GL_TEXTURE_2D, type, texture.sizeX, texture.sizeY, type, GL_UNSIGNED_BYTE, texture.data ); - -// textures.insert(std::make_pair(fname, *textureid)); - } -// else -// { -// *textureid = it->second; -// } +void Game::LoadTexture(const string fileName, GLuint *textureid,int mipmap, bool hasalpha) { + *textureid = Texture::Load(fileName,mipmap,hasalpha); } -void Game::LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize) -{ - GLuint type; - int i; - int bytesPerPixel; - - LOGFUNC; - - LOG(std::string("Loading texture (S)...") + fileName); - - //Load Image - unsigned char fileNamep[256]; - CopyCStringToPascal(ConvertFileName(fileName), fileNamep); - //Load Image - upload_image( fileNamep ,0); - //LoadTGA( fileName ); - -// std::string fname(fileName); -// std::transform(fname.begin(), fname.end(), tolower); -// TexIter it = textures.find(fname); - - //Is it valid? - if(1==1) - //if(textures.end() == it) - { - bytesPerPixel=texture.bpp/8; - - //Alpha channel? - if ( texture.bpp == 24 ) - type = GL_RGB; - else - type = GL_RGBA; - - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - - if(!*textureid)glGenTextures( 1, textureid ); - glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); - - glBindTexture( GL_TEXTURE_2D, *textureid); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - if(trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); - if(!trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); - if(!mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - int tempnum=0; - for(i=0;i<(int)(texture.sizeY*texture.sizeX*bytesPerPixel);i++){ - if((i+1)%4||type==GL_RGB){ - array[tempnum]=texture.data[i]; - tempnum++; - } - } - - *skinsize=texture.sizeX; - - gluBuild2DMipmaps( GL_TEXTURE_2D, type, texture.sizeX, texture.sizeY, GL_RGB, GL_UNSIGNED_BYTE, array ); - -// textures.insert(std::make_pair(fname, *textureid)); - } -// else -// { -// *textureid = it->second; -// } +void Game::LoadTextureSave(const string fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize) { + *textureid = Texture::Load(fileName,mipmap,false,array,skinsize); } void Game::LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize) @@ -578,7 +182,7 @@ void Game::LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte } } -bool Game::AddClothes(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize) +bool Game::AddClothes(const char *fileName, GLubyte *array) { int i; int bytesPerPixel; @@ -648,7 +252,7 @@ GLvoid Game::ReSizeGLScene(float fov, float pnear) void Game::LoadingScreen() { - static float loadprogress,minprogress,maxprogress; + static float loadprogress; static AbsoluteTime time = {0,0}; static AbsoluteTime frametime = {0,0}; AbsoluteTime currTime = UpTime (); @@ -665,7 +269,6 @@ void Game::LoadingScreen() if(multiplier>.05){ frametime = currTime; // reset for next time interval - float size=1; glLoadIdentity(); //Clear to black glClearColor(0,0,0,1); @@ -701,14 +304,6 @@ void Game::LoadingScreen() glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); glColor4f(loadprogress/100,loadprogress/100,loadprogress/100,1); - //glColor4f(1,1,1,1); - /*if(loadscreencolor==0)glColor4f(1,1,1,1); - if(loadscreencolor==1)glColor4f(1,0,0,1); - if(loadscreencolor==2)glColor4f(0,1,0,1); - if(loadscreencolor==3)glColor4f(0,0,1,1); - if(loadscreencolor==4)glColor4f(1,1,0,1); - if(loadscreencolor==5)glColor4f(1,0,1,1); - */ glPushMatrix(); //glScalef(.25,.25,.25); glBegin(GL_QUADS); @@ -765,13 +360,6 @@ void Game::LoadingScreen() glEnable(GL_BLEND); //glColor4f(loadprogress/100,loadprogress/100,loadprogress/100,1); glColor4f(loadprogress/100,loadprogress/100,loadprogress/100,1); - /*if(loadscreencolor==0)glColor4f(1,1,1,1); - if(loadscreencolor==1)glColor4f(1,0,0,1); - if(loadscreencolor==2)glColor4f(0,1,0,1); - if(loadscreencolor==3)glColor4f(0,0,1,1); - if(loadscreencolor==4)glColor4f(1,1,0,1); - if(loadscreencolor==5)glColor4f(1,0,1,1); - */ glPushMatrix(); //glScalef(.25,.25,.25); glBegin(GL_QUADS); @@ -835,15 +423,6 @@ void Game::LoadingScreen() glDepthMask(1); //Text - /* - glEnable(GL_TEXTURE_2D); - static char string[256]=""; - sprintf (string, "LOADING... %d%",(int)loadprogress); - glColor4f(1,1,1,.2); - text.glPrint(280-280*loadprogress/100/2/4,125-125*loadprogress/100/2/4,string,1,1+loadprogress/100,640,480); - glColor4f(1.2-loadprogress/100,1.2-loadprogress/100,1.2-loadprogress/100,1); - text.glPrint(280,125,string,1,1,640,480); - */ if(flashamount>0){ if(flashamount>1)flashamount=1; @@ -883,15 +462,13 @@ void Game::LoadingScreen() } swap_gl_buffers(); - loadscreencolor=0; } } void Game::FadeLoadingScreen(float howmuch) { - static float loadprogress,minprogress,maxprogress; + static float loadprogress; - float size=1; glLoadIdentity(); //Clear to black glClearColor(0,0,0,1); @@ -924,13 +501,6 @@ void Game::FadeLoadingScreen(float howmuch) glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); glColor4f(loadprogress/100,0,0,1); - /*if(loadscreencolor==0)glColor4f(1,1,1,1); - if(loadscreencolor==1)glColor4f(1,0,0,1); - if(loadscreencolor==2)glColor4f(0,1,0,1); - if(loadscreencolor==3)glColor4f(0,0,1,1); - if(loadscreencolor==4)glColor4f(1,1,0,1); - if(loadscreencolor==5)glColor4f(1,0,1,1); - */ glPushMatrix(); //glScalef(.25,.25,.25); glBegin(GL_QUADS); @@ -952,17 +522,7 @@ void Game::FadeLoadingScreen(float howmuch) glDisable(GL_BLEND); glDepthMask(1); //Text - /* - glEnable(GL_TEXTURE_2D); - static char string[256]=""; - sprintf (string, "LOADING... %d%",(int)loadprogress); - glColor4f(1,1,1,.2); - text.glPrint(280-280*loadprogress/100/2/4,125-125*loadprogress/100/2/4,string,1,1+loadprogress/100,640,480); - glColor4f(1.2-loadprogress/100,1.2-loadprogress/100,1.2-loadprogress/100,1); - text.glPrint(280,125,string,1,1,640,480); - */ swap_gl_buffers(); - loadscreencolor=0; } @@ -992,77 +552,9 @@ void Game::InitGame() autocam=0; - int i,j; - numchallengelevels=14; - /*char tempstring[256]; - sprintf (tempstring, "%s", registrationname); - long num1; - long num2; - long num3; - long num4; - long long longnum; - longnum = MD5_string ( tempstring); - //longnum = 1111111111111111; - num1 = longnum/100000000; - num2 = longnum%100000000; - sprintf (tempstring, "%d-%d-%d-%d", num1/10000, num1%10000, num2/10000, num2%10000); - */ - - FILE *tfile; - - accountactive=-1; - - sprintf (ConvertFileName(mapname), ":Data:Users"); - tfile=fopen( ConvertFileName(mapname), "rb" ); - if(tfile) - { - funpackf(tfile, "Bi", &numaccounts); - funpackf(tfile, "Bi", &accountactive); - if(numaccounts>0) - { - for(i=0;i= 10) - { - accountcampaignchoices[i][j] = 0; - } - } - funpackf(tfile, "Bf", &accountpoints[i]); - for(j=0;j<50;j++) - { - funpackf(tfile, "Bf", &accounthighscore[i][j]); - funpackf(tfile, "Bf", &accountfasttime[i][j]); - } - for(j=0;j<60;j++) - { - funpackf(tfile, "Bb", &accountunlocked[i][j]); - } - int temp; - funpackf(tfile, "Bi", &temp); - if(temp>0) - { - for(j=0;j4)texdetail=4; + LoadTexture(":Data:Textures:knife.png",&Weapon::knifetextureptr,0,1); + LoadTexture(":Data:Textures:bloodknife.png",&Weapon::bloodknifetextureptr,0,1); + LoadTexture(":Data:Textures:lightbloodknife.png",&Weapon::lightbloodknifetextureptr,0,1); + LoadTexture(":Data:Textures:sword.jpg",&Weapon::swordtextureptr,1,0); + LoadTexture(":Data:Textures:Swordblood.jpg",&Weapon::bloodswordtextureptr,1,0); + LoadTexture(":Data:Textures:Swordbloodlight.jpg",&Weapon::lightbloodswordtextureptr,1,0); + LoadTexture(":Data:Textures:Staff.jpg",&Weapon::stafftextureptr,1,0); + + Weapon::throwingknifemodel.load((char *)":Data:Models:throwingknife.solid",1); + Weapon::throwingknifemodel.Scale(.001,.001,.001); + //Weapon::throwingknifemodel.Rotate(0,0,-90); + Weapon::throwingknifemodel.Rotate(90,0,0); + Weapon::throwingknifemodel.Rotate(0,90,0); + Weapon::throwingknifemodel.flat=0; + Weapon::throwingknifemodel.CalculateNormals(1); + //Weapon::throwingknifemodel.ScaleNormals(-1,-1,-1); + + Weapon::swordmodel.load((char *)":Data:Models:sword.solid",1); + Weapon::swordmodel.Scale(.001,.001,.001); + //Weapon::swordmodel.Rotate(0,0,-90); + Weapon::swordmodel.Rotate(90,0,0); + Weapon::swordmodel.Rotate(0,90,0); + Weapon::swordmodel.Rotate(0,0,90); + Weapon::swordmodel.flat=1; + Weapon::swordmodel.CalculateNormals(1); + //Weapon::swordmodel.ScaleNormals(-1,-1,-1); + + Weapon::staffmodel.load((char *)":Data:Models:staff.solid",1); + Weapon::staffmodel.Scale(.005,.005,.005); + //Weapon::staffmodel.Rotate(0,0,-90); + Weapon::staffmodel.Rotate(90,0,0); + Weapon::staffmodel.Rotate(0,90,0); + Weapon::staffmodel.Rotate(0,0,90); + Weapon::staffmodel.flat=1; + Weapon::staffmodel.CalculateNormals(1); + //Weapon::staffmodel.ScaleNormals(-1,-1,-1); + LoadTexture(":Data:Textures:shadow.png",&terrain.shadowtexture,0,1); LoadTexture(":Data:Textures:blood.png",&terrain.bloodtexture,0,1); @@ -1481,41 +864,22 @@ void Game::LoadStuff() LoadTexture(":Data:Textures:bodyprint.png",&terrain.bodyprinttexture,0,1); - /*LoadTexture(":Data:Textures:cloud.png",&sprites.cloudtexture,1); - - LoadTexture(":Data:Textures:cloudimpact.png",&sprites.cloudimpacttexture,1); - - LoadTexture(":Data:Textures:bloodparticle.png",&sprites.bloodtexture,1); - - LoadTexture(":Data:Textures:snowflake.png",&sprites.snowflaketexture,1); - - LoadTexture(":Data:Textures:flame.png",&sprites.flametexture,1); - - LoadTexture(":Data:Textures:smoke.png",&sprites.smoketexture,1); - //texdetail=temptexdetail; - LoadTexture(":Data:Textures:shine.png",&sprites.shinetexture,1);*/ - - - LoadTexture(":Data:Textures:hawk.png",&hawktexture,0,1); LoadTexture(":Data:Textures:logo.png",&logotexture,0,1); - //LoadTexture(":Data:Textures:box.jpg",&objects.boxtextureptr,1,0); - - - LoadTexture(":Data:Textures:cloud.png",&sprites.cloudtexture,1,1); - LoadTexture(":Data:Textures:cloudimpact.png",&sprites.cloudimpacttexture,1,1); - LoadTexture(":Data:Textures:bloodparticle.png",&sprites.bloodtexture,1,1); - LoadTexture(":Data:Textures:snowflake.png",&sprites.snowflaketexture,1,1); - LoadTexture(":Data:Textures:flame.png",&sprites.flametexture,1,1); - LoadTexture(":Data:Textures:bloodflame.png",&sprites.bloodflametexture,1,1); - LoadTexture(":Data:Textures:smoke.png",&sprites.smoketexture,1,1); - LoadTexture(":Data:Textures:shine.png",&sprites.shinetexture,1,0); - LoadTexture(":Data:Textures:splinter.png",&sprites.splintertexture,1,1); - LoadTexture(":Data:Textures:leaf.png",&sprites.leaftexture,1,1); - LoadTexture(":Data:Textures:tooth.png",&sprites.toothtexture,1,1); + LoadTexture(":Data:Textures:cloud.png",&Sprite::cloudtexture,1,1); + LoadTexture(":Data:Textures:cloudimpact.png",&Sprite::cloudimpacttexture,1,1); + LoadTexture(":Data:Textures:bloodparticle.png",&Sprite::bloodtexture,1,1); + LoadTexture(":Data:Textures:snowflake.png",&Sprite::snowflaketexture,1,1); + LoadTexture(":Data:Textures:flame.png",&Sprite::flametexture,1,1); + LoadTexture(":Data:Textures:bloodflame.png",&Sprite::bloodflametexture,1,1); + LoadTexture(":Data:Textures:smoke.png",&Sprite::smoketexture,1,1); + LoadTexture(":Data:Textures:shine.png",&Sprite::shinetexture,1,0); + LoadTexture(":Data:Textures:splinter.png",&Sprite::splintertexture,1,1); + LoadTexture(":Data:Textures:leaf.png",&Sprite::leaftexture,1,1); + LoadTexture(":Data:Textures:tooth.png",&Sprite::toothtexture,1,1); rotation=0; rotation2=0; @@ -1524,15 +888,10 @@ void Game::LoadStuff() viewer=0; - - if(detail)kTextureSize=1024; if(detail==1)kTextureSize=512; if(detail==0)kTextureSize=256; - - - //drawmode=motionblurmode; - + //Set up distant light light.color[0]=.95; light.color[1]=.95; @@ -1554,7 +913,7 @@ void Game::LoadStuff() gravity=-10; texscale=.2/megascale/viewdistdetail; - terrain.scale=3*megascale*terraindetail*viewdistdetail; + terrain.scale=3*megascale*viewdistdetail; viewer.x=terrain.size/2*terrain.scale; viewer.z=terrain.size/2*terrain.scale; @@ -1568,7 +927,6 @@ void Game::LoadStuff() hawkcoords.z=terrain.size/2*terrain.scale-5-7; hawkcoords.y=terrain.getHeight(hawkcoords.x,hawkcoords.z)+25; - eye.load((char *)":Data:Models:eye.solid",1); eye.Scale(.03,.03,.03); eye.CalculateNormals(0); @@ -1590,133 +948,11 @@ void Game::LoadStuff() mainmenu=0; firstload=0; - //if(targetlevel!=7) - Loadlevel(targetlevel); - rabbitcoords=player[0].coords; rabbitcoords.y=terrain.getHeight(rabbitcoords.x,rabbitcoords.z); - animation[runanim].Load((char *)":Data:Animations:Run",middleheight,neutral); - - animation[bounceidleanim].Load((char *)":Data:Animations:Idle",middleheight,neutral); - animation[stopanim].Load((char *)":Data:Animations:Stop",middleheight,neutral); - - animation[jumpupanim].Load((char *)":Data:Animations:JumpUp",highheight,neutral); - animation[jumpdownanim].Load((char *)":Data:Animations:JumpDown",highheight,neutral); - - animation[landanim].Load((char *)":Data:Animations:Landing",lowheight,neutral); - animation[landhardanim].Load((char *)":Data:Animations:Landhard",lowheight,neutral); - animation[climbanim].Load((char *)":Data:Animations:Climb",lowheight,neutral); - animation[hanganim].Load((char *)":Data:Animations:Hangon",lowheight,neutral); - animation[spinkickanim].Load((char *)":Data:Animations:SpinKick",middleheight,normalattack); - - animation[getupfromfrontanim].Load((char *)":Data:Animations:GetUpFromFront",lowheight,neutral); - animation[getupfrombackanim].Load((char *)":Data:Animations:GetUpFromBack",lowheight,neutral); - animation[crouchanim].Load((char *)":Data:Animations:Crouch",lowheight,neutral); - animation[sneakanim].Load((char *)":Data:Animations:Sneak",lowheight,neutral); - animation[rollanim].Load((char *)":Data:Animations:Roll",lowheight,neutral); - animation[flipanim].Load((char *)":Data:Animations:Flip",highheight,neutral); - animation[frontflipanim].Load((char *)":Data:Animations:Flip",highheight,neutral); - animation[spinkickreversedanim].Load((char *)":Data:Animations:SpinKickCaught",middleheight,reversed); - - animation[spinkickreversalanim].Load((char *)":Data:Animations:SpinKickCatch",middleheight,reversal); - animation[lowkickanim].Load((char *)":Data:Animations:lowkick",middleheight,normalattack); - animation[sweepanim].Load((char *)":Data:Animations:sweep",lowheight,normalattack); - animation[sweepreversedanim].Load((char *)":Data:Animations:SweepCaught",lowheight,reversed); - animation[sweepreversalanim].Load((char *)":Data:Animations:SweepCatch",middleheight,reversal); - animation[rabbitkickanim].Load((char *)":Data:Animations:RabbitKick",middleheight,normalattack); - animation[rabbitkickreversedanim].Load((char *)":Data:Animations:RabbitKickCaught",middleheight,reversed); - animation[rabbitkickreversalanim].Load((char *)":Data:Animations:RabbitKickCatch",lowheight,reversal); - animation[upunchanim].Load((char *)":Data:Animations:Upunch",middleheight,normalattack); - animation[staggerbackhighanim].Load((char *)":Data:Animations:Staggerbackhigh",middleheight,neutral); - animation[upunchreversedanim].Load((char *)":Data:Animations:UpunchCaught",middleheight,reversed); - - animation[upunchreversalanim].Load((char *)":Data:Animations:UpunchCatch",middleheight,reversal); - animation[hurtidleanim].Load((char *)":Data:Animations:Hurtidle",middleheight,neutral); - animation[backhandspringanim].Load((char *)":Data:Animations:Backhandspring",middleheight,neutral); - animation[fightidleanim].Load((char *)":Data:Animations:Fightidle",middleheight,neutral); - animation[walkanim].Load((char *)":Data:Animations:Walk",middleheight,neutral); - - animation[fightsidestep].Load((char *)":Data:Animations:Fightsidestep",middleheight,neutral); - animation[killanim].Load((char *)":Data:Animations:Kill",middleheight,normalattack); - animation[sneakattackanim].Load((char *)":Data:Animations:Sneakattack",middleheight,reversal); - animation[sneakattackedanim].Load((char *)":Data:Animations:Sneakattacked",middleheight,reversed); - animation[drawrightanim].Load((char *)":Data:Animations:drawright",middleheight,neutral); - animation[knifeslashstartanim].Load((char *)":Data:Animations:slashstart",middleheight,normalattack); - animation[crouchdrawrightanim].Load((char *)":Data:Animations:crouchdrawright",lowheight,neutral); - animation[crouchstabanim].Load((char *)":Data:Animations:crouchstab",lowheight,normalattack); - - animation[knifefollowanim].Load((char *)":Data:Animations:slashfollow",middleheight,reversal); - animation[knifefollowedanim].Load((char *)":Data:Animations:slashfollowed",middleheight,reversed); - animation[knifethrowanim].Load((char *)":Data:Animations:knifethrow",middleheight,normalattack); - animation[removeknifeanim].Load((char *)":Data:Animations:removeknife",middleheight,neutral); - animation[crouchremoveknifeanim].Load((char *)":Data:Animations:crouchremoveknife",lowheight,neutral); - animation[jumpreversedanim].Load((char *)":Data:Animations:JumpCaught",middleheight,reversed); - animation[jumpreversalanim].Load((char *)":Data:Animations:JumpCatch",middleheight,reversal); - animation[staggerbackhardanim].Load((char *)":Data:Animations:Staggerbackhard",middleheight,neutral); - - animation[dropkickanim].Load((char *)":Data:Animations:Dropkick",middleheight,normalattack); - animation[winduppunchanim].Load((char *)":Data:Animations:Winduppunch",middleheight,normalattack); - animation[winduppunchblockedanim].Load((char *)":Data:Animations:Winduppunchblocked",middleheight,normalattack); - animation[blockhighleftanim].Load((char *)":Data:Animations:Blockhighleft",middleheight,normalattack); - animation[blockhighleftstrikeanim].Load((char *)":Data:Animations:Blockhighleftstrike",middleheight,normalattack); - animation[backflipanim].Load((char *)":Data:Animations:Backflip",highheight,neutral); - animation[walljumpbackanim].Load((char *)":Data:Animations:Walljumpback",highheight,neutral); - animation[walljumpfrontanim].Load((char *)":Data:Animations:Walljumpfront",highheight,neutral); - animation[rightflipanim].Load((char *)":Data:Animations:Rightflip",highheight,neutral); - animation[walljumprightanim].Load((char *)":Data:Animations:Walljumpright",highheight,neutral); - animation[leftflipanim].Load((char *)":Data:Animations:Leftflip",highheight,neutral); - animation[walljumpleftanim].Load((char *)":Data:Animations:Walljumpleft",highheight,neutral); - animation[walljumprightkickanim].Load((char *)":Data:Animations:Walljumprightkick",highheight,neutral); - animation[walljumpleftkickanim].Load((char *)":Data:Animations:Walljumpleftkick",highheight,neutral); - animation[knifefightidleanim].Load((char *)":Data:Animations:Knifefightidle",middleheight,neutral); - animation[knifesneakattackanim].Load((char *)":Data:Animations:Knifesneakattack",middleheight,reversal); - animation[knifesneakattackedanim].Load((char *)":Data:Animations:Knifesneakattacked",middleheight,reversed); - animation[swordfightidleanim].Load((char *)":Data:Animations:swordfightidle",middleheight,neutral); - animation[drawleftanim].Load((char *)":Data:Animations:drawleft",middleheight,neutral); - animation[swordslashanim].Load((char *)":Data:Animations:swordslash",middleheight,normalattack); - animation[swordgroundstabanim].Load((char *)":Data:Animations:swordgroundstab",lowheight,normalattack); - animation[dodgebackanim].Load((char *)":Data:Animations:dodgeback",middleheight,neutral); - animation[swordsneakattackanim].Load((char *)":Data:Animations:Swordsneakattack",middleheight,reversal); - animation[swordsneakattackedanim].Load((char *)":Data:Animations:Swordsneakattacked",middleheight,reversed); - animation[swordslashreversedanim].Load((char *)":Data:Animations:swordslashCaught",middleheight,reversed); - animation[swordslashreversalanim].Load((char *)":Data:Animations:swordslashCatch",middleheight,reversal); - animation[knifeslashreversedanim].Load((char *)":Data:Animations:knifeslashCaught",middleheight,reversed); - animation[knifeslashreversalanim].Load((char *)":Data:Animations:knifeslashCatch",middleheight,reversal); - animation[swordfightidlebothanim].Load((char *)":Data:Animations:swordfightidleboth",middleheight,neutral); - animation[swordslashparryanim].Load((char *)":Data:Animations:sworduprightparry",middleheight,normalattack); - animation[swordslashparriedanim].Load((char *)":Data:Animations:swordslashparried",middleheight,normalattack); - animation[wolfidle].Load((char *)":Data:Animations:Wolfidle",middleheight,neutral); - animation[wolfcrouchanim].Load((char *)":Data:Animations:Wolfcrouch",lowheight,neutral); - animation[wolflandanim].Load((char *)":Data:Animations:Wolflanding",lowheight,neutral); - animation[wolflandhardanim].Load((char *)":Data:Animations:Wolflandhard",lowheight,neutral); - animation[wolfrunanim].Load((char *)":Data:Animations:Wolfrun",middleheight,neutral); - animation[wolfrunninganim].Load((char *)":Data:Animations:Wolfrunning",middleheight,neutral); - animation[rabbitrunninganim].Load((char *)":Data:Animations:Rabbitrunning",middleheight,neutral); - animation[wolfstopanim].Load((char *)":Data:Animations:Wolfstop",middleheight,neutral); - animation[rabbittackleanim].Load((char *)":Data:Animations:Rabbittackle",middleheight,neutral); - animation[rabbittacklinganim].Load((char *)":Data:Animations:Rabbittackling",middleheight,reversal); - animation[rabbittackledbackanim].Load((char *)":Data:Animations:Rabbittackledback",middleheight,reversed); - animation[rabbittackledfrontanim].Load((char *)":Data:Animations:Rabbittackledfront",middleheight,reversed); - animation[wolfslapanim].Load((char *)":Data:Animations:Wolfslap",middleheight,normalattack); - animation[staffhitanim].Load((char *)":Data:Animations:StaffHit",middleheight,normalattack); - animation[staffgroundsmashanim].Load((char *)":Data:Animations:StaffGroundSmash",lowheight,normalattack); - animation[staffspinhitanim].Load((char *)":Data:Animations:Spinwhack",middleheight,normalattack); - animation[staffhitreversedanim].Load((char *)":Data:Animations:StaffHitCaught",middleheight,reversed); - animation[staffhitreversalanim].Load((char *)":Data:Animations:StaffHitCatch",middleheight,reversal); - animation[staffspinhitreversedanim].Load((char *)":Data:Animations:SpinWhackCaught",middleheight,reversed); - animation[staffspinhitreversalanim].Load((char *)":Data:Animations:SpinWhackCatch",middleheight,reversal); - - animation[sitanim].Load((char *)":Data:Animations:Sit",lowheight,neutral); - animation[sleepanim].Load((char *)":Data:Animations:Sleep",lowheight,neutral); - animation[talkidleanim].Load((char *)":Data:Animations:TalkIdle",middleheight,neutral); - - animation[sitwallanim].Load((char *)":Data:Animations:Dying",lowheight,neutral); - animation[dead1anim].Load((char *)":Data:Animations:Dead1",lowheight,neutral); - animation[dead2anim].Load((char *)":Data:Animations:Dead2",lowheight,neutral); - animation[dead3anim].Load((char *)":Data:Animations:Dead3",lowheight,neutral); - animation[dead4anim].Load((char *)":Data:Animations:Dead4",lowheight,neutral); + loadAllAnimations(); //Fix knife stab, too lazy to do it manually XYZ moveamount; moveamount=0; @@ -1727,7 +963,6 @@ void Game::LoadStuff() } } - loadscreencolor=4; LoadingScreen(); for(i=0;i