# HG changeset patch # User koda # Date 1317380104 -7200 # Node ID e3dc802965d62c3f6e03cef9340fa1428ebfdd73 # Parent 212e5a5eadeb4200ae368fb766198054c6b4c0f1 a little code cleanup diff -r 212e5a5eadeb -r e3dc802965d6 hedgewars/SDLh.pas --- a/hedgewars/SDLh.pas Fri Sep 30 13:17:34 2011 +0400 +++ b/hedgewars/SDLh.pas Fri Sep 30 12:55:04 2011 +0200 @@ -228,6 +228,8 @@ SDL_HWPALETTE = $20000000; SDL_DOUBLEBUF = $40000000; SDL_FULLSCREEN = $80000000; + + SDL_ALLEVENTS = $FFFFFFFF; {$ENDIF} {$IFDEF ENDIAN_LITTLE} @@ -279,9 +281,6 @@ IMG_INIT_TIF = $00000004; {* SDL_EventMask type definition *} -{$IFNDEF SDL13} - SDL_ALLEVENTS = $FFFFFFFF; -{$ENDIF} ///////////////////////////////////////////////////////////////// /////////////////////// TYPE DEFINITIONS /////////////////////// @@ -872,8 +871,8 @@ procedure TTF_SetFontStyle(font: PTTF_Font; style: LongInt); cdecl; external SDL_TTFLibName; (* SDL_mixer *) -function Mix_Init(flags: LongInt): LongInt; cdecl; external SDL_MixerLibName; -procedure Mix_Quit; cdecl; external SDL_MixerLibName; +function Mix_Init(flags: LongInt): LongInt; {$IFDEF SDL_MIXER_NEWER}cdecl; external SDL_MixerLibName;{$ENDIF} +procedure Mix_Quit; {$IFDEF SDL_MIXER_NEWER}cdecl; external SDL_MixerLibName;{$ENDIF} function Mix_OpenAudio(frequency: LongInt; format: Word; channels: LongInt; chunksize: LongInt): LongInt; cdecl; external SDL_MixerLibName; procedure Mix_CloseAudio; cdecl; external SDL_MixerLibName; @@ -904,8 +903,8 @@ function Mix_FadeOutChannel(channel: LongInt; fadems: LongInt): LongInt; cdecl; external SDL_MixerLibName; (* SDL_image *) -function IMG_Init(flags: LongInt): LongInt; cdecl; external SDL_ImageLibName; -procedure IMG_Quit; cdecl; external SDL_ImageLibName; +function IMG_Init(flags: LongInt): LongInt; {$IFDEF SDL_IMAGE_NEWER}cdecl; external SDL_ImageLibName;{$ENDIF} +procedure IMG_Quit; {$IFDEF SDL_IMAGE_NEWER}cdecl; external SDL_ImageLibName;{$ENDIF} function IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName; function IMG_Load_RW(rwop: PSDL_RWops; freesrc: LongInt): PSDL_Surface; cdecl; external SDL_ImageLibName; @@ -964,13 +963,36 @@ function SDL_MustLock(Surface: PSDL_Surface): Boolean; begin + SDL_MustLock:= {$IFDEF SDL13} - SDL_MustLock:= ((surface^.flags and SDL_RLEACCEL) <> 0) + ((surface^.flags and SDL_RLEACCEL) <> 0) {$ELSE} - SDL_MustLock:= ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0) + ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0) {$ENDIF} end; +{$IFNDEF SDL_MIXER_NEWER} +function Mix_Init(flags: LongInt): LongInt; +begin + exit(flags); +end; + +procedure Mix_Quit; +begin +end; +{$ENDIF} + +{$IFNDEF SDL_IMAGE_NEWER} +function IMG_Init(flags: LongInt): LongInt; +begin + exit(flags); +end; + +procedure IMG_Quit; +begin +end; +{$ENDIF} + procedure SDLNet_Write16(value: Word; buf: pointer); begin PByteArray(buf)^[1]:= value; diff -r 212e5a5eadeb -r e3dc802965d6 hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Fri Sep 30 13:17:34 2011 +0400 +++ b/hedgewars/hwengine.pas Fri Sep 30 12:55:04 2011 +0200 @@ -163,15 +163,11 @@ while isTerminated = false do begin SDL_PumpEvents(); -{$IFDEF SDL13} - while SDL_PeepEvents(@event, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT) > 0 do -{$ELSE} - while SDL_PeepEvents(@event, 1, SDL_GETEVENT, SDL_ALLEVENTS) > 0 do -{$ENDIF} + while SDL_PeepEvents(@event, 1, SDL_GETEVENT, {$IFDEF SDL13}SDL_FIRSTEVENT, SDL_LASTEVENT{$ELSE}SDL_ALLEVENTS{$ENDIF}) > 0 do begin case event.type_ of +{$IFDEF SDL13} SDL_KEYDOWN: if GameState = gsChat then -{$IFDEF SDL13} // sdl on iphone supports only ashii keyboards and the unicode field is deprecated in sdl 1.3 KeyPressChat(event.key.keysym.sym); SDL_WINDOWEVENT: @@ -196,6 +192,7 @@ cScreenResizeDelay:= RealTicks+500; end; {$ELSE} + SDL_KEYDOWN: if GameState = gsChat then KeyPressChat(event.key.keysym.unicode); SDL_MOUSEBUTTONDOWN: if event.button.button = SDL_BUTTON_WHEELDOWN then wheelDown:= true; SDL_MOUSEBUTTONUP: if event.button.button = SDL_BUTTON_WHEELUP then wheelUp:= true; @@ -224,6 +221,7 @@ SDL_QUITEV: isTerminated:= true end; //end case event.type_ of end; //end while SDL_PollEvent(@event) <> 0 do + if (cScreenResizeDelay <> 0) and (cScreenResizeDelay < RealTicks) and ((cNewScreenWidth <> cScreenWidth) or (cNewScreenHeight <> cScreenHeight)) then begin cScreenResizeDelay:= 0; @@ -237,25 +235,21 @@ end; if isTerminated = false then - begin + begin CurrTime:= SDL_GetTicks; if PrevTime + longword(cTimerInterval) <= CurrTime then - begin + begin DoTimer(CurrTime - PrevTime); PrevTime:= CurrTime - end + end else SDL_Delay(1); IPCCheckSock(); - end; + end; end; end; /////////////// -{$IFDEF HWLIBRARY} -procedure Game(gameArgs: PPChar); cdecl; export; -{$ELSE} -procedure Game; -{$ENDIF} +procedure Game{$IFDEF HWLIBRARY}(gameArgs: PPChar); cdecl; export{$ENDIF}; var p: TPathType; s: shortstring; i: LongInt; diff -r 212e5a5eadeb -r e3dc802965d6 hedgewars/uSound.pas --- a/hedgewars/uSound.pas Fri Sep 30 13:17:34 2011 +0400 +++ b/hedgewars/uSound.pas Fri Sep 30 12:55:04 2011 +0200 @@ -157,11 +157,9 @@ if isSoundEnabled then isSoundEnabled:= Mix_OpenAudio(44100, $8010, channels, 1024) = 0; -{$IFDEF SDL_MIXER_NEWER} WriteToConsole('Init SDL_mixer... '); SDLTry(Mix_Init(MIX_INIT_OGG) <> 0, true); WriteLnToConsole(msgOK); -{$ENDIF} if isSoundEnabled then WriteLnToConsole(msgOK) @@ -191,11 +189,9 @@ if Mus <> nil then Mix_FreeMusic(Mus); -{$IFDEF SDL_MIXER_NEWER} // make sure all instances of sdl_mixer are unloaded before continuing while Mix_Init(0) <> 0 do Mix_Quit(); -{$ENDIF} Mix_CloseAudio(); end; diff -r 212e5a5eadeb -r e3dc802965d6 hedgewars/uStore.pas --- a/hedgewars/uStore.pas Fri Sep 30 13:17:34 2011 +0400 +++ b/hedgewars/uStore.pas Fri Sep 30 12:55:04 2011 +0200 @@ -399,10 +399,7 @@ end; AddProgress; - -{$IFDEF SDL_IMAGE_NEWER} IMG_Quit(); -{$ENDIF} end; procedure StoreRelease(reload: boolean); @@ -949,30 +946,24 @@ procedure chFullScr(var s: shortstring); var flags: Longword = 0; - {$IFNDEF IPHONEOS}ico: PSDL_Surface;{$ENDIF} - reinit: boolean; + reinit: boolean = false; + {$IFNDEF DARWIN}ico: PSDL_Surface;{$ENDIF} {$IFDEF SDL13}x, y: LongInt;{$ENDIF} begin if Length(s) = 0 then cFullScreen:= not cFullScreen else cFullScreen:= s = '1'; AddFileLog('Preparing to change video parameters...'); - reinit:= false; {$IFNDEF IPHONEOS} if SDLPrimSurface = nil then begin // set window title SDL_WM_SetCaption('Hedgewars', nil); -{$IFDEF SDL_IMAGE_NEWER} WriteToConsole('Init SDL_image... '); SDLTry(IMG_Init(IMG_INIT_PNG) <> 0, true); WriteLnToConsole(msgOK); -{$ENDIF} // load engine icon -{$IFDEF DARWIN} - ico:= LoadImage(UserPathz[ptGraphics] + '/hwengine_mac', ifIgnoreCaps); - if ico = nil then ico:= LoadImage(Pathz[ptGraphics] + '/hwengine_mac', ifIgnoreCaps); -{$ELSE} +{$IFNDEF DARWIN} ico:= LoadImage(UserPathz[ptGraphics] + '/hwengine', ifIgnoreCaps); if ico = nil then ico:= LoadImage(Pathz[ptGraphics] + '/hwengine', ifIgnoreCaps); {$ENDIF}