X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=f5b42074b40351d932ab66823ac524d85758ac09;hb=5310d6ffd89fd8b981b273b332a232b70b4ce7ad;hp=eb07d20c8ce7b9ddb9ef49a8b51f3cc1fc0c9f9e;hpb=24004d6ab1e68faaf85ece11b566449997da5013;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index eb07d20..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" { @@ -200,8 +206,6 @@ extern "C" { #define STUBBED(x) { static bool seen = false; if (!seen) { seen = true; fprintf(stderr, "STUBBED: %s at %s:%d\n", x, __FILE__, __LINE__); } } //#define STUBBED(x) -extern int numplayers; - extern int numdialogues; const int max_dialogues = 20; const int max_dialoguelength = 20;