# HG changeset patch # User unc0rr # Date 1235216996 0 # Node ID 17dac76954d175d8921b5af8c4fdd6414d0a08af # Parent 4391c7037281c12843c7f1accd8580565197bc9b Patch by koda to better support Mac OS X diff -r 4391c7037281 -r 17dac76954d1 hedgewars/SDLh.pas --- a/hedgewars/SDLh.pas Fri Feb 20 19:54:02 2009 +0000 +++ b/hedgewars/SDLh.pas Sat Feb 21 11:49:56 2009 +0000 @@ -37,13 +37,33 @@ {$PACKRECORDS C} +{$IFDEF DARWIN} +{$linklib libpng} +{$linklib libz} +{$linklib libjpeg} +{$linklib libtiff} +{$linklib libfreetype} +{$linklib libsmpeg} +{$linklib libvorbis} +{$linklib libvorbisfile} +{$linklib libogg} + +{$linkframework Carbon} +{$linkframework OpenGL} +{$linkframework AudioUnit} +{$linkframework Quicktime} +{$linkframework IOKit} +{$linkframework ForceFeedback} +{$linkframework CoreAudio} +{$ENDIF} + (* SDL *) const {$IFDEF WIN32} SDLLibName = 'SDL.dll'; {$ENDIF} {$IFDEF UNIX} {$IFDEF DARWIN} - SDLLibName = 'libSDL.dylib'; + SDLLibName = 'libSDL.a'; {$linklib libSDL} {$linklib SDLmain} {$linkframework Cocoa} @@ -278,7 +298,7 @@ {$ENDIF} {$IFDEF UNIX} {$IFDEF DARWIN} - SDL_TTFLibName = 'libSDL_ttf.dylib'; + SDL_TTFLibName = 'libSDL_ttf.a'; {$linklib libSDL_ttf} {$ELSE} SDL_TTFLibName = 'libSDL_ttf.so'; @@ -313,7 +333,7 @@ {$ENDIF} {$IFDEF UNIX} {$IFDEF DARWIN} - SDL_MixerLibName = 'libSDL_mixer.dylib'; + SDL_MixerLibName = 'libSDL_mixer.a'; {$linklib libSDL_mixer} {$ELSE} SDL_MixerLibName = 'libSDL_mixer.so'; @@ -379,7 +399,7 @@ {$ENDIF} {$IFDEF UNIX} {$IFDEF DARWIN} - SDL_ImageLibName = 'libSDL_image.dylib'; + SDL_ImageLibName = 'libSDL_image.a'; {$linklib libSDL_image} {$ELSE} SDL_ImageLibName = 'libSDL_image.so'; @@ -395,7 +415,7 @@ {$ENDIF} {$IFDEF UNIX} {$IFDEF DARWIN} - SDL_NetLibName = 'libSDL_net.dylib'; + SDL_NetLibName = 'libSDL_net.a'; {$linklib libSDL_net} {$ELSE} SDL_NetLibName = 'libSDL_net.so'; diff -r 4391c7037281 -r 17dac76954d1 hedgewars/uChat.pas --- a/hedgewars/uChat.pas Fri Feb 20 19:54:02 2009 +0000 +++ b/hedgewars/uChat.pas Sat Feb 21 11:49:56 2009 +0000 @@ -152,14 +152,18 @@ var i, btw: integer; utf8: shortstring; begin + if Key <> 0 then case Key of - 8: if Length(InputStr.s) > 0 then + {Backspace} + 8, 127: if Length(InputStr.s) > 0 then begin InputStr.s[0]:= InputStrL[byte(InputStr.s[0])]; SetLine(InputStr, InputStr.s, true) end; + {Esc} 27: SetLine(InputStr, '', true); + {Return} 13, 271: begin if Length(InputStr.s) > 0 then begin @@ -168,7 +172,16 @@ end; FreezeEnterKey; GameState:= gsGame - end + end; + {missing Mac keys} + {* + 63272 is canc + 63232 is UP + 63234 is LEFT + 63235 is RIGHT + 63233 is DOWN + *} + 63272, 63232, 36233, 36234, 36235: Key:=28; else if (Key < $80) then btw:= 1 else if (Key < $800) then btw:= 2