]> git.jsancho.org Git - lugaru.git/blobdiff - Source/GameDraw.cpp
Allow user to set any reasonable resolution.
[lugaru.git] / Source / GameDraw.cpp
index 5ea481a29d4cb09722da3bf52826873569769162..c38e55204f804591edc7903afdaaddb80d9273e0 100644 (file)
@@ -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]="";
@@ -188,7 +173,7 @@ long long Game::MD5_string (char *string){
                i++;
        }
 
-       num=abs(num);
+       num=longlongabs(num);
        if(num==0)num+=1452;
 
        while(num<LONGLONGCONST(5000000000000000)){
@@ -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;
@@ -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;
 }
+