-#include "Game.h"
+/*
+Copyright (C) 2003, 2010 - Wolfire Games
+
+This file is part of Lugaru.
+
+Lugaru is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#include "Game.h"
extern float screenwidth,screenheight;
extern float viewdistance;
extern XYZ viewer;
extern int accountcampaignchoicesmade[10];
extern int accountcampaignchoices[10][5000];
-extern FSOUND_STREAM * strm[10];
+extern FSOUND_STREAM * strm[20];
-extern "C" void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
+extern "C" void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
extern "C" void PlayStreamEx(int chan, FSOUND_STREAM *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
+void LOG(const std::string &fmt, ...)
+{
+ // !!! FIXME: write me.
+}
+
+
Game::TextureList Game::textures;
void Game::Dispose()
FSOUND_StopSound(FSOUND_ALL);
+// 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
free(texture.data);
}
texture.data = 0;
+#endif
}
FSOUND_3D_SetDopplerFactor(0);
FSOUND_SetSFXMasterVolume((int)(volume*255));
-
+
samp[footstepsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:footstepsnow1.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
FSOUND_Sample_SetMinMaxDistance(samp[footstepsound], 4.0f, 1000.0f);
samp[footstepsound2] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:footstepsnow2.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f);
samp[footstepsound3] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:footstepstone1.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f);
samp[footstepsound4] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:footstepstone2.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f);
samp[landsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:land.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[landsound], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[landsound], 4.0f, 1000.0f);
samp[jumpsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:jump.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[jumpsound], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[jumpsound], 4.0f, 1000.0f);
samp[hawksound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:hawk.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[hawksound], 40.0f, 10000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[hawksound], 40.0f, 10000.0f);
samp[whooshsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:whoosh.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[whooshsound], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[whooshsound], 4.0f, 1000.0f);
FSOUND_Sample_SetMode(samp[whooshsound], FSOUND_LOOP_NORMAL);
samp[landsound1] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:land1.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[landsound1], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[landsound1], 4.0f, 1000.0f);
samp[landsound2] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:land2.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[landsound2], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[landsound2], 4.0f, 1000.0f);
samp[breaksound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:broken.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[breaksound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[breaksound], 8.0f, 2000.0f);
samp[lowwhooshsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:Lowwhoosh.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[lowwhooshsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[lowwhooshsound], 8.0f, 2000.0f);
samp[midwhooshsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:midwhoosh.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[midwhooshsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[midwhooshsound], 8.0f, 2000.0f);
samp[highwhooshsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:highwhoosh.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[highwhooshsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[highwhooshsound], 8.0f, 2000.0f);
samp[movewhooshsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:movewhoosh.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[movewhooshsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[movewhooshsound], 8.0f, 2000.0f);
samp[heavyimpactsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:heavyimpact.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[heavyimpactsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[heavyimpactsound], 8.0f, 2000.0f);
samp[whooshhitsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:Whooshhit.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[whooshhitsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[whooshhitsound], 8.0f, 2000.0f);
samp[thudsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:thud.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[thudsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[thudsound], 8.0f, 2000.0f);
samp[alarmsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:alarm.ogg", FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[alarmsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[alarmsound], 8.0f, 2000.0f);
samp[breaksound2] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:break.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[breaksound2], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[breaksound2], 8.0f, 2000.0f);
samp[knifedrawsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:knifedraw.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
FSOUND_Sample_SetMinMaxDistance(samp[knifedrawsound], 8.0f, 2000.0f);
FSOUND_Sample_SetMinMaxDistance(samp[snowskidsound], 8.0f, 2000.0f);
samp[bushrustle] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:bushrustle.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[bushrustle], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[bushrustle], 4.0f, 1000.0f);
samp[clank1sound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:clank1.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
FSOUND_Sample_SetMinMaxDistance(samp[clank1sound], 8.0f, 2000.0f);
FSOUND_Sample_SetMinMaxDistance(samp[clank4sound], 8.0f, 2000.0f);
samp[consolesuccesssound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:consolesuccess.ogg", FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[consolesuccesssound], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[consolesuccesssound], 4.0f, 1000.0f);
samp[consolefailsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:consolefail.ogg", FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[consolefailsound], 4.0f, 1000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[consolefailsound], 4.0f, 1000.0f);
samp[metalhitsound] = FSOUND_Sample_Load(FSOUND_FREE, ":Data:Sounds:MetalHit.ogg", FSOUND_HW3D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
FSOUND_Sample_SetMinMaxDistance(samp[metalhitsound], 8.0f, 2000.0f);
}
-void Game::LoadTexture(char *fileName, GLuint *textureid,int mipmap, bool hasalpha)
+void Game::LoadTexture(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha)
{
GLuint type;
unsigned char fileNamep[256];
CopyCStringToPascal(fileName,fileNamep);
//Load Image
- upload_image( fileNamep ,hasalpha);
+ upload_image( fileNamep ,hasalpha);
// std::string fname(fileName);
// std::transform(fname.begin(), fname.end(), tolower);
// }
}
-void Game::LoadTextureSave(char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize)
+void Game::LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize)
{
GLuint type;
int i;
unsigned char fileNamep[256];
CopyCStringToPascal(fileName,fileNamep);
//Load Image
- upload_image( fileNamep ,0);
- //LoadTGA( fileName );
+ upload_image( fileNamep ,0);
+ //LoadTGA( fileName );
// std::string fname(fileName);
// std::transform(fname.begin(), fname.end(), tolower);
// }
}
-void Game::LoadSave(char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize)
+void Game::LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize)
{
int i;
int bytesPerPixel;
//Load Image
float temptexdetail=texdetail;
texdetail=1;
- //upload_image( fileName );
- //LoadTGA( fileName );
+ //upload_image( fileName );
+ //LoadTGA( fileName );
//Load Image
unsigned char fileNamep[256];
CopyCStringToPascal(fileName,fileNamep);
//Load Image
- upload_image( fileNamep ,0);
+ upload_image( fileNamep ,0);
texdetail=temptexdetail;
//Is it valid?
}
}
-bool Game::AddClothes(char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize)
+bool Game::AddClothes(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize)
{
int i;
int bytesPerPixel;
LOGFUNC;
- //upload_image( fileName );
- //LoadTGA( fileName );
+ //upload_image( fileName );
+ //LoadTGA( fileName );
//Load Image
unsigned char fileNamep[256];
CopyCStringToPascal(fileName,fileNamep);
//Load Image
bool opened;
- opened=upload_image( fileNamep ,1);
+ opened=upload_image( fileNamep ,1);
float alphanum;
//Is it valid?
gluPerspective(fov,(GLfloat)screenwidth/(GLfloat)screenheight,pnear,viewdistance);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
}
-void Game::LoadingScreen()
+void Game::LoadingScreen()
{
static float loadprogress,minprogress,maxprogress;
static AbsoluteTime time = {0,0};
//glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(.1-loadprogress/100,0+loadprogress/100+.3);
- glVertex3f(-1, -1, 0.0f);
+ glVertex3f(-1, -1, 0.0f);
glTexCoord2f(.1-loadprogress/100,0+loadprogress/100+.3);
- glVertex3f(1, -1, 0.0f);
+ glVertex3f(1, -1, 0.0f);
glTexCoord2f(.1-loadprogress/100,1+loadprogress/100+.3);
glVertex3f(1, 1, 0.0f);
glTexCoord2f(.1-loadprogress/100,1+loadprogress/100+.3);
- glVertex3f(-1, 1, 0.0f);
+ glVertex3f(-1, 1, 0.0f);
glEnd();
glPopMatrix();
glEnable(GL_BLEND);
//glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(.4+loadprogress/100,0+loadprogress/100);
- glVertex3f(-1, -1, 0.0f);
+ glVertex3f(-1, -1, 0.0f);
glTexCoord2f(.4+loadprogress/100,0+loadprogress/100);
- glVertex3f(1, -1, 0.0f);
+ glVertex3f(1, -1, 0.0f);
glTexCoord2f(.4+loadprogress/100,1+loadprogress/100);
glVertex3f(1, 1, 0.0f);
glTexCoord2f(.4+loadprogress/100,1+loadprogress/100);
- glVertex3f(-1, 1, 0.0f);
+ glVertex3f(-1, 1, 0.0f);
glEnd();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
//glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0+.5,0+.5);
- glVertex3f(-1, -1, 0.0f);
+ glVertex3f(-1, -1, 0.0f);
glTexCoord2f(1+.5,0+.5);
- glVertex3f(1, -1, 0.0f);
+ glVertex3f(1, -1, 0.0f);
glTexCoord2f(1+.5,1+.5);
glVertex3f(1, 1, 0.0f);
glTexCoord2f(0+.5,1+.5);
- glVertex3f(-1, 1, 0.0f);
+ glVertex3f(-1, 1, 0.0f);
glEnd();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
//glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0+.2,0+.8);
- glVertex3f(-1, -1, 0.0f);
+ glVertex3f(-1, -1, 0.0f);
glTexCoord2f(1+.2,0+.8);
- glVertex3f(1, -1, 0.0f);
+ glVertex3f(1, -1, 0.0f);
glTexCoord2f(1+.2,1+.8);
glVertex3f(1, 1, 0.0f);
glTexCoord2f(0+.2,1+.8);
- glVertex3f(-1, 1, 0.0f);
+ glVertex3f(-1, 1, 0.0f);
glEnd();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glColor4f(flashr,flashg,flashb,flashamount);
glBegin(GL_QUADS);
- glVertex3f(0, 0, 0.0f);
- glVertex3f(256, 0, 0.0f);
+ glVertex3f(0, 0, 0.0f);
+ glVertex3f(256, 0, 0.0f);
glVertex3f(256, 256, 0.0f);
- glVertex3f(0, 256, 0.0f);
+ glVertex3f(0, 256, 0.0f);
glEnd();
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glPopMatrix(); // Restore The Old Projection Matrix
glEnable(GL_CULL_FACE);
glDisable(GL_BLEND);
glDepthMask(1);
- }
+ }
swap_gl_buffers();
loadscreencolor=0;
}
}
-void Game::FadeLoadingScreen(float howmuch)
+void Game::FadeLoadingScreen(float howmuch)
{
static float loadprogress,minprogress,maxprogress;
//glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0,0);
- glVertex3f(-1, -1, 0.0f);
+ glVertex3f(-1, -1, 0.0f);
glTexCoord2f(1,0);
- glVertex3f(1, -1, 0.0f);
+ glVertex3f(1, -1, 0.0f);
glTexCoord2f(1,1);
glVertex3f(1, 1, 0.0f);
glTexCoord2f(0,1);
- glVertex3f(-1, 1, 0.0f);
+ glVertex3f(-1, 1, 0.0f);
glEnd();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
}
-void Game::InitGame()
+void Game::InitGame()
{
#if PLATFORM_MACOSX
ProcessSerialNumber PSN;
longnum=num2+num1*100000000;
char tempstring[256];
+ #if defined(__APPLE__)
+ sprintf (tempstring, "%s", registrationname);
+ #elif defined(_WIN32) || defined(__linux__)
sprintf (tempstring, "%s-windows", registrationname);
- longnuma = MD5_string ( tempstring);
+ #else
+ #error Please make sure you have the right registration key stuff here!
+ #endif
+ longnuma = MD5_string ( tempstring);
num1a = longnuma/100000000;
num2a = longnuma%100000000;
//if(num1a==num1&&num2a==num2)registered=1;
LOG("Initializing sound system...");
+ int output = -1;
+
+ #if PLATFORM_LINUX
+ extern bool cmdline(const char *cmd);
+ unsigned char rc = 0;
+ output = FSOUND_OUTPUT_ALSA; // Try alsa first...
+ if (cmdline("forceoss")) // ...but let user override that.
+ output = FSOUND_OUTPUT_OSS;
+ else if (cmdline("nosound"))
+ output = FSOUND_OUTPUT_NOSOUND;
+
+ FSOUND_SetOutput(output);
+ if ((rc = FSOUND_Init(44100, 32, 0)) == false)
+ {
+ // if we tried ALSA and failed, fall back to OSS.
+ if ( (output == FSOUND_OUTPUT_ALSA) && (!cmdline("forcealsa")) )
+ {
+ FSOUND_Close();
+ output = FSOUND_OUTPUT_OSS;
+ FSOUND_SetOutput(output);
+ rc = FSOUND_Init(44100, 32, 0);
+ }
+ }
+
+ if (rc == false)
+ {
+ FSOUND_Close();
+ output = FSOUND_OUTPUT_NOSOUND; // we tried! just do silence.
+ FSOUND_SetOutput(output);
+ rc = FSOUND_Init(44100, 32, 0);
+ }
+ #else
FSOUND_Init(44100, 32, 0);
+ #endif
FSOUND_SetSFXMasterVolume((int)(volume*255));
strm[stream_music3] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:music3.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=0;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_music3], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_music3], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_music3], FSOUND_LOOP_NORMAL);
if(musictoggle){
-// PlaySoundEx( stream_music3, strm[stream_music3], NULL, TRUE);
- PlayStreamEx(stream_music3, strm[stream_music3], 0, TRUE);
- FSOUND_SetPaused(channels[stream_music3], FALSE);
+// PlaySoundEx( stream_music3, strm[stream_music3], NULL, true);
+ PlayStreamEx(stream_music3, strm[stream_music3], 0, true);
+ FSOUND_SetPaused(channels[stream_music3], false);
FSOUND_SetVolume(channels[stream_music3], 256);
}
if(ambientsound){
strm[stream_wind] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:wind.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_wind], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_wind], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_wind], FSOUND_LOOP_NORMAL);
FadeLoadingScreen(30);
strm[stream_desertambient] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:desertambient.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_desertambient], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_desertambient], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_desertambient], FSOUND_LOOP_NORMAL);
}
FadeLoadingScreen(40);
samp[firestartsound] = FSOUND_Sample_Load(FSOUND_FREE, ConvertFileName(":Data:Sounds:firestart.ogg"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 8.0f, 2000.0f);
strm[stream_firesound] = FSOUND_Stream_Open(":Data:Sounds:fire.ogg", FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_firesound], 8.0f, 2000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_firesound], 8.0f, 2000.0f);
FSOUND_Stream_SetMode(strm[stream_firesound], FSOUND_LOOP_NORMAL);
FadeLoadingScreen(50);
samp[fireendsound] = FSOUND_Sample_Load(FSOUND_FREE, ConvertFileName(":Data:Sounds:fireend.ogg"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=5;}
- FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 8.0f, 2000.0f);
+ FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 8.0f, 2000.0f);
//if(musictoggle){
strm[stream_music1grass] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:music1grass.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=1;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1grass], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1grass], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_music1grass], FSOUND_LOOP_NORMAL);
strm[stream_music1snow] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:music1snow.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=2;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1snow], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1snow], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_music1snow], FSOUND_LOOP_NORMAL);
FadeLoadingScreen(60);
strm[stream_music1desert] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:music1desert.mp3"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=3;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1desert], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_music1desert], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_music1desert], FSOUND_LOOP_NORMAL);
FadeLoadingScreen(80);
strm[stream_music2] = FSOUND_Stream_Open(ConvertFileName(":Data:Sounds:music2.ogg"), FSOUND_2D, 0, 0); if(visibleloading){LoadingScreen(); loadscreencolor=4;}
-// FSOUND_Sample_SetMinMaxDistance(strm[stream_music2], 4.0f, 1000.0f);
+// FSOUND_Sample_SetMinMaxDistance(strm[stream_music2], 4.0f, 1000.0f);
FSOUND_Stream_SetMode(strm[stream_music2], FSOUND_LOOP_NORMAL);
//}
newscreenwidth=screenwidth;
newscreenheight=screenheight;
-
-
+
+
/*
float gLoc[3]={0,0,0};
float vel[3]={0,0,0};
- FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 9999.0f, 99999.0f);
- PlaySoundEx( firestartsound, samp[firestartsound], NULL, TRUE);
+ FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 9999.0f, 99999.0f);
+ PlaySoundEx( firestartsound, samp[firestartsound], NULL, true);
FSOUND_3D_SetAttributes(channels[firestartsound], gLoc, vel);
FSOUND_SetVolume(channels[firestartsound], 256);
- FSOUND_SetPaused(channels[firestartsound], FALSE);
- FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 8.0f, 2000.0f);
+ FSOUND_SetPaused(channels[firestartsound], false);
+ FSOUND_Sample_SetMinMaxDistance(samp[firestartsound], 8.0f, 2000.0f);
flashr=1;
flashg=0;
}
-void Game::LoadStuff()
+void Game::LoadStuff()
{
static float temptexdetail;
static float viewdistdetail;
- static int i,j,texsize;
+ static int i,j,texsize;
float megascale =1;
LOGFUNC;
visibleloading=1;
/*musicvolume[3]=512;
- PlaySoundEx( music4, samp[music4], NULL, TRUE);
- FSOUND_SetPaused(channels[music4], FALSE);
+ PlaySoundEx( music4, samp[music4], NULL, true);
+ FSOUND_SetPaused(channels[music4], false);
FSOUND_SetVolume(channels[music4], 512);
*/
loadtime=0;
text.BuildFont();
texdetail=temptexdetail;
- numsounds=71;
+ numsounds=71;
viewdistdetail=2;
viewdistance=50*megascale*viewdistdetail;
for(i=0;i<player[0].skeleton.num_joints;i++){
for(j=0;j<animation[knifesneakattackanim].numframes;j++){
animation[knifesneakattackanim].position[i][j]+=moveamount;
- }
+ }
}
loadscreencolor=4;
for(i=0;i<player[0].skeleton.num_joints;i++){
for(j=0;j<animation[knifesneakattackedanim].numframes;j++){
animation[knifesneakattackedanim].position[i][j]+=moveamount;
- }
+ }
}
loadscreencolor=4;
for(i=0;i<player[0].skeleton.num_joints;i++){
for(j=0;j<animation[swordsneakattackanim].numframes;j++){
animation[swordsneakattackanim].position[i][j]+=moveamount;
- }
+ }
}
loadscreencolor=4;
LoadingScreen();
for(j=0;j<animation[swordsneakattackanim].numframes;j++){
animation[swordsneakattackanim].weapontarget[j]+=moveamount;
- }
+ }
loadscreencolor=4;
LoadingScreen();
for(i=0;i<player[0].skeleton.num_joints;i++){
for(j=0;j<animation[swordsneakattackedanim].numframes;j++){
animation[swordsneakattackedanim].position[i][j]+=moveamount;
- }
+ }
}
/*
for(i=0;i<player[0].skeleton.num_joints;i++){
for(j=0;j<animation[sleepanim].numframes;j++){
animation[sleepanim].position[i][j]=DoRotation(animation[sleepanim].position[i][j],0,180,0);
- }
+ }
}
*/
loadscreencolor=4;
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
- glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, kTextureSize, kTextureSize, 0);
+ glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, kTextureSize, kTextureSize, 0);
}
//}
LoadSounds();
- /*PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, TRUE);
+ /*PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, true);
FSOUND_SetVolume(channels[consolesuccesssound], 256);
- FSOUND_SetPaused(channels[consolesuccesssound], FALSE);
+ FSOUND_SetPaused(channels[consolesuccesssound], false);
*/
if(targetlevel!=7){
float gLoc[3]={0,0,0};
float vel[3]={0,0,0};
- FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 9999.0f, 99999.0f);
- PlaySoundEx( fireendsound, samp[fireendsound], NULL, TRUE);
+ FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 9999.0f, 99999.0f);
+ PlaySoundEx( fireendsound, samp[fireendsound], NULL, true);
FSOUND_3D_SetAttributes(channels[fireendsound], gLoc, vel);
FSOUND_SetVolume(channels[fireendsound], 256);
- FSOUND_SetPaused(channels[fireendsound], FALSE);
- FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 8.0f, 2000.0f);
+ FSOUND_SetPaused(channels[fireendsound], false);
+ FSOUND_Sample_SetMinMaxDistance(samp[fireendsound], 8.0f, 2000.0f);
}
stillloading=0;