X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameDraw.cpp;h=38d27d4ffc7912ecfea2bf17a711f4dfe78fffc4;hb=a73463888cc72d596e8afc63c6f0ce5731d5a27e;hp=5ea481a29d4cb09722da3bf52826873569769162;hpb=8562aa5bebc97ea8a61d056aec3847030c6985b7;p=lugaru.git diff --git a/Source/GameDraw.cpp b/Source/GameDraw.cpp index 5ea481a..38d27d4 100644 --- a/Source/GameDraw.cpp +++ b/Source/GameDraw.cpp @@ -1,4 +1,26 @@ -#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; @@ -13,15 +35,6 @@ extern float sps; extern float viewdistance; extern float fadestart; extern float screenwidth,screenheight; -#ifdef WIN32 -extern HDC hDC; -#elif PLATFORM_MACOSX -extern AGLContext gaglContext; -#elif USE_SDL -extern SDL_Surface *sdlscreen; -#else -#error please define your platform. -#endif extern int kTextureSize; extern FRUSTUM frustum; extern Light light; @@ -162,15 +175,9 @@ extern float accountcampaigntime[10]; 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); - -#ifdef __GNUC__ -#define LONGLONGCONST(x) (x##ll) -#else -#define LONGLONGCONST(x) (x) -#endif +extern "C" void PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused); /*********************> DrawGLScene() <*****/ long long Game::MD5_string (char *string){ @@ -188,7 +195,7 @@ long long Game::MD5_string (char *string){ i++; } - num=abs(num); + num=longlongabs(num); if(num==0)num+=1452; while(num.5||oldmainmenu!=mainmenu){ if(mainmenu==5){ - // ifstream ipstream(":Data:Campaigns:main.txt"); - ifstream ipstream("./Data/Campaigns/main.txt"); + ifstream ipstream(ConvertFileName(":Data:Campaigns:main.txt")); //campaignnumlevels=0; //accountcampaignchoicesmade[accountactive]=0; ipstream.ignore(256,':'); @@ -2496,7 +2506,7 @@ int Game::DrawGLScene(GLvoid) 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; @@ -3956,11 +3966,14 @@ int Game::DrawGLScene(GLvoid) //glFlush(); if(drawmode!=motionblurmode||mainmenu){ -#ifdef WIN32 - if(drawmode!=motionblurmode) SwapBuffers( hDC); -#else - if(drawmode!=motionblurmode)aglSwapBuffers(gaglContext); // send swap command -#endif // send swap command + #if !USE_SDL + // this prevents menus from rendering if you hit ESC during + // motion blur sequences...maybe SDL is buffering differently? + if(drawmode!=motionblurmode) + swap_gl_buffers(); + #else + swap_gl_buffers(); + #endif } //myassert(glGetError() == GL_NO_ERROR); @@ -3978,3 +3991,4 @@ int Game::DrawGLScene(GLvoid) //Jordan fixed your warning! return 0; } +