X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameDraw.cpp;h=700ef1190ca9d70121cfdc638c2bba8471ecb04f;hb=055013bac06c70d04b46bc2e66bde847bdada1d4;hp=b4a5c86de5a8d0dd0f9f03755f973476589038b8;hpb=2380b6fea047f5a8cafc64d11291798cd30e0515;p=lugaru.git diff --git a/Source/GameDraw.cpp b/Source/GameDraw.cpp index b4a5c86..700ef11 100644 --- a/Source/GameDraw.cpp +++ b/Source/GameDraw.cpp @@ -13,15 +13,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; @@ -166,12 +157,6 @@ extern FSOUND_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 - /*********************> DrawGLScene() <*****/ long long Game::MD5_string (char *string){ char temp[256]=""; @@ -204,7 +189,7 @@ long long Game::MD5_string (char *string){ //return 1111111111111111; } -int Game::DrawGLScene(GLvoid) +int Game::DrawGLScene(void) { static float texcoordwidth,texcoordheight; static float texviewwidth, texviewheight; @@ -1954,7 +1939,7 @@ int Game::DrawGLScene(GLvoid) if(drawmode!=normalmode){ glEnable(GL_TEXTURE_2D); - //glFinish(); + glFinish(); if(!drawtoggle||drawmode!=realmotionblurmode||(drawtoggle==2||change==1)){ if(screentexture){ @@ -2265,8 +2250,7 @@ int Game::DrawGLScene(GLvoid) } if(lastcheck>.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,':'); @@ -3956,11 +3940,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 +3965,4 @@ int Game::DrawGLScene(GLvoid) //Jordan fixed your warning! return 0; } +