diff -r 0a4c88935902 -r 35d762458d66 hedgewars/uStore.pas --- a/hedgewars/uStore.pas Thu May 10 23:21:56 2012 +0200 +++ b/hedgewars/uStore.pas Fri May 11 00:05:47 2012 +0200 @@ -41,16 +41,22 @@ procedure FreeWeaponTooltip; procedure MakeCrossHairs; +procedure WarpMouse(x, y: Word); inline; +procedure SwapBuffers; inline; + implementation -uses uMisc, uConsole, uMobile, uVariables, uUtils, uTextures, uRender, uRenderUtils, uCommands, uDebug, uWorld; +uses uMisc, uConsole, uMobile, uVariables, uUtils, uTextures, uRender, uRenderUtils, uCommands, + uDebug{$IFDEF USE_CONTEXT_RESTORE}, uWorld{$ENDIF}; //type TGPUVendor = (gvUnknown, gvNVIDIA, gvATI, gvIntel, gvApple); var MaxTextureSize: LongInt; +{$IFDEF SDL13} + SDLwindow: PSDL_Window; + SDLGLcontext: PSDL_GLContext; +{$ELSE} SDLPrimSurface: PSDL_Surface; -{$IFDEF SDL13}SDLGLcontext: PSDL_GLContext;{$ENDIF} - -// cGPUVendor: TGPUVendor; +{$ENDIF} function WriteInRect(Surface: PSDL_Surface; X, Y: LongInt; Color: LongWord; Font: THWFont; s: ansistring): TSDL_Rect; var w, h: LongInt; @@ -794,11 +800,7 @@ DrawTextureFromRect( -squaresize div 2, (cScreenHeight - squaresize) shr 1, @r, ProgrTex); -{$IFDEF SDL13} - SDL_GL_SwapWindow(SDLwindow); -{$ELSE} - SDL_GL_SwapBuffers(); -{$ENDIF} + SwapBuffers; inc(Step); end; @@ -1124,13 +1126,10 @@ begin RegisterVariable('fullscr', @chFullScr, true); - SDLPrimSurface:= nil; - cScaleFactor:= 2.0; Step:= 0; ProgrTex:= nil; SupportNPOTT:= false; -// cGPUVendor:= gvUnknown; // init all ammo name texture pointers for ai:= Low(TAmmoType) to High(TAmmoType) do @@ -1141,7 +1140,10 @@ for i:= Low(CountTexz) to High(CountTexz) do CountTexz[i] := nil; {$IFDEF SDL13} - SDLGLcontext := nil; + SDLwindow:= nil; + SDLGLcontext:= nil; +{$ELSE} + SDLPrimSurface:= nil; {$ENDIF} end; @@ -1156,4 +1158,22 @@ SDL_Quit(); end; +procedure WarpMouse(x, y: Word); inline; +begin +{$IFDEF SDL13} + SDL_WarpMouseInWindow(SDLwindow, x, y); +{$ELSE} + x:= x; y:= y; // avoid hints +{$ENDIF} +end; + +procedure SwapBuffers; inline; +begin +{$IFDEF SDL13} + SDL_GL_SwapWindow(SDLwindow); +{$ELSE} + SDL_GL_SwapBuffers(); +{$ENDIF} +end; + end.