X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=f5b42074b40351d932ab66823ac524d85758ac09;hb=1c7d28a2fc93699ab955ea66203d0c36bba9d977;hp=87c6c2e6b0faa726495686cd3f9ac14355bb1031;hpb=eaca5a12f009c9fb9c95a2e728a071e972e698d0;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index 87c6c2e..f5b4207 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -135,11 +135,9 @@ extern bool scoreadded; extern int numchallengelevels; extern bool console; -extern char consoletext[15][256]; -extern int consolechars[15]; +extern std::string consoletext[15]; extern bool chatting; -extern char displaytext[15][256]; -extern int displaychars[15]; +extern std::string displaytext[15]; extern float displaytime[15]; extern float displayblinkdelay; extern bool displayblink; @@ -178,7 +176,7 @@ int checkcollide(XYZ startpoint, XYZ endpoint, int what); void fireSound(int sound = fireendsound); void setKeySelected(); -void inputText(char* str, int* charselected, int* nb_chars); +void inputText(std::string& str, int* charselected); void flash(); } @@ -190,7 +188,15 @@ void flash(); static __forceinline void swap_gl_buffers(void) { - SDL_GL_SwapBuffers(); + extern SDL_Window *sdlwindow; + SDL_GL_SwapWindow(sdlwindow); + + // try to limit this to 60fps, even if vsync fails. + Uint32 now; + static Uint32 frameticks = 0; + const Uint32 endticks = (frameticks + 16); + while ((now = SDL_GetTicks()) < endticks) { /* spin. */ } + frameticks = now; } extern "C" {