-#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"
+#include "openal_wrapper.h"
using namespace std;
extern bool gamestarted;
-extern FSOUND_SAMPLE *samp[100];
+extern OPENAL_SAMPLE *samp[100];
extern int channels[100];
-extern "C" void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
+extern "C" void PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
/*********************> DrawGLScene() <*****/
long long Game::MD5_string (char *string){
if(dialogueboxsound[whichdialogue][indialogue]==-2)whichsoundplay=firestartsound;
if(dialogueboxsound[whichdialogue][indialogue]==-3)whichsoundplay=consolesuccesssound;
if(dialogueboxsound[whichdialogue][indialogue]==-4)whichsoundplay=consolefailsound;
- PlaySoundEx( whichsoundplay, samp[whichsoundplay], NULL, TRUE);
- FSOUND_3D_SetAttributes(channels[whichsoundplay], gLoc, vel);
- FSOUND_SetVolume(channels[whichsoundplay], 256);
- FSOUND_SetPaused(channels[whichsoundplay], FALSE);
+ PlaySoundEx( whichsoundplay, samp[whichsoundplay], NULL, true);
+ OPENAL_3D_SetAttributes(channels[whichsoundplay], gLoc, vel);
+ OPENAL_SetVolume(channels[whichsoundplay], 256);
+ OPENAL_SetPaused(channels[whichsoundplay], false);
}
}
}
}
if(mainmenu){
+#if USE_SDL
+ // !!! FIXME: hack: clamp framerate in menu so text input works correctly on fast systems.
+ SDL_Delay(15);
+#endif
glDrawBuffer(GL_BACK);
glReadBuffer(GL_BACK);
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
movex[10]=0;
movey[10]=0;
- sprintf (menustring[11], "Volume: %d%", (int)(volume*100));
+ sprintf (menustring[11], "Volume: %d%%", (int)(volume*100));
startx[11]=10+60;
starty[11]=155;
endx[11]=startx[11]+strlen(menustring[11])*10;
if(accountcampaignchoicesmade[accountactive])
for(i=0;i<accountcampaignchoicesmade[accountactive];i++){
- sprintf (menustring[7+i], campaigndescription[levelorder[i]]);
+ sprintf (menustring[7+i], "%s", campaigndescription[levelorder[i]]);
startx[7+i]=30+120+campaignlocationx[levelorder[i]]*400/512;
starty[7+i]=30+30+(512-campaignlocationy[levelorder[i]])*400/512;
endx[7+i]=startx[7+i]+10;
if(campaignchoicenum>0)
for(i=accountcampaignchoicesmade[accountactive];i<accountcampaignchoicesmade[accountactive]+campaignchoicenum;i++){
- sprintf (menustring[7+i], campaigndescription[levelorder[i]]);
+ sprintf (menustring[7+i], "%s", campaigndescription[levelorder[i]]);
startx[7+i]=30+120+campaignlocationx[campaignchoicewhich[i-(accountcampaignchoicesmade[accountactive])]]*400/512;
starty[7+i]=30+30+(512-campaignlocationy[campaignchoicewhich[i-(accountcampaignchoicesmade[accountactive])]])*400/512;
endx[7+i]=startx[7+i]+10;