diff -r 1b327b7515ed -r 7e0f88013fe8 hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Thu Dec 24 13:38:20 2009 +0000 +++ b/hedgewars/CCHandlers.inc Sun Jan 03 15:40:41 2010 +0000 @@ -81,7 +81,7 @@ val(s, Color); TryDo(Color <> 0, 'Error: black team color', true); - // color is always in ARGB so the mask must be constant + // color is always little endian so the mask must be constant also in big endian archs Color:= Color or $FF000000; AddTeam(Color); @@ -594,13 +594,13 @@ end; procedure chFullScr(var s: shortstring); -var flags: Longword; +var flags: Longword = 0; {$IFDEF DEBUGFILE} buf: array[byte] of char; {$ENDIF} begin if Length(s) = 0 then cFullScreen:= not cFullScreen - else cFullScreen:= s = '1'; + else cFullScreen:= s = '1'; {$IFDEF DEBUGFILE} AddFileLog('Prepare to change video parameters...'); @@ -620,11 +620,19 @@ {$ENDIF} {$IFNDEF SDL13} -// this attribute is default in 1.3 -SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); +// this attribute is default in 1.3 and must be enabled in MacOSX +{$IFNDEF DARWIN} +if cVSyncInUse then +{$ENDIF} + SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); {$ENDIF} flags:= SDL_OPENGL;// or SDL_RESIZABLE; +{$IFDEF IPHONEOS} +// remove the topbar from the iPhone +flags:= flags or SDL_NOFRAME; +{$ENDIF} + if cFullScreen then begin flags:= flags or SDL_FULLSCREEN; @@ -641,23 +649,16 @@ SDL_FreeSurface(SDLPrimSurface); end; -{$IFDEF IPHONEOS} -//remove the topbar from the iPhone -flags:= flags or SDL_NOFRAME; -{$ENDIF} - SDLPrimSurface:= SDL_SetVideoMode(cScreenWidth, cScreenHeight, cBits, flags); SDLTry(SDLPrimSurface <> nil, true); +PixelFormat:= SDLPrimSurface^.format; {$IFDEF DEBUGFILE} AddFileLog('Setting up OpenGL...'); +AddFileLog('SDL video driver: ' + string(SDL_VideoDriverName(buf, sizeof(buf)))); {$ENDIF} SetupOpenGL(); -{$IFDEF DEBUGFILE} -AddFileLog('SDL video driver: ' + string(SDL_VideoDriverName(buf, sizeof(buf)))); -{$ENDIF} -PixelFormat:= SDLPrimSurface^.format end; procedure chVol_p(var s: shortstring);