Mercurial > pub > dyncall > bindings
diff R/rdyncall/inst/dynports/SDL.R @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/R/rdyncall/inst/dynports/SDL.R Thu Mar 19 22:26:28 2015 +0100 @@ -0,0 +1,760 @@ +# Mac OS X: this one is needed in case, we are running from Console +# and no initial event loop is available. + +# On Mac OS X Console, a Cocoa Environment is needed for SDL. +if ( Sys.info()[["sysname"]] == "Darwin" && .Platform$GUI != "AQUA") { + + # This seem to be the most practical solution for now: + # A dummy quartz device is created and closed again. + + quartz() + dev.off() + + # An alternative solution via R package 'cocoa' from dyncall site. + # source: http://dyncall.org/svn/trunk/bindings/R/cocoa + + # from: http://www.mail-archive.com/r-help@r-project.org/msg91375.html + # is.installed <- function(mypkg) is.element(mypkg, installed.packages()[,1]) + #if (!is.installed("cocoa")) { + # install.packages("cocoa",,"http://dyncall.org/r") + #} + #library(cocoa) + + # Probably on 10.3 using Carbon with older SDL: + # + # FIXME: Create NSAutoreleasePool + # if (!is.installed("CarbonEL")) { + # install.packages("CarbonEL",,"http://rforge.net") + # } + # library(CarbonEL) +} + +dynbind( c("SDL","SDL-1.2","SDL-1.2.so.0"), " +SDL_AddTimer(I*p*v)*<_SDL_TimerID>; +SDL_AllocRW()*<SDL_RWops>; +SDL_AudioDriverName(*ci)*c; +SDL_AudioInit(*c)i; +SDL_AudioQuit()v; +SDL_BuildAudioCVT(*<SDL_AudioCVT>SCiSCi)i; +SDL_CDClose(*<SDL_CD>)v; +SDL_CDEject(*<SDL_CD>)i; +SDL_CDName(i)*c; +SDL_CDNumDrives()i; +SDL_CDOpen(i)*<SDL_CD>; +SDL_CDPause(*<SDL_CD>)i; +SDL_CDPlay(*<SDL_CD>ii)i; +SDL_CDPlayTracks(*<SDL_CD>iiii)i; +SDL_CDResume(*<SDL_CD>)i; +SDL_CDStatus(*<SDL_CD>)i; +SDL_CDStop(*<SDL_CD>)i; +SDL_ClearError()v; +SDL_CloseAudio()v; +SDL_CondBroadcast(*<SDL_cond>)i; +SDL_CondSignal(*<SDL_cond>)i; +SDL_CondWait(*<SDL_cond>*<SDL_mutex>)i; +SDL_CondWaitTimeout(*<SDL_cond>*<SDL_mutex>I)i; +SDL_ConvertAudio(*<SDL_AudioCVT>)i; +SDL_ConvertSurface(*<SDL_Surface>*<SDL_PixelFormat>I)*<SDL_Surface>; +SDL_CreateCond()*<SDL_cond>; +SDL_CreateCursor(*C*Ciiii)*<SDL_Cursor>; +SDL_CreateMutex()*<SDL_mutex>; +SDL_CreateRGBSurface(IiiiIIII)*<SDL_Surface>; +SDL_CreateRGBSurfaceFrom(*viiiiIIII)*<SDL_Surface>; +SDL_CreateSemaphore(I)*<SDL_semaphore>; +SDL_CreateThread(*p*v)*<SDL_Thread>; +SDL_CreateYUVOverlay(iiI*<SDL_Surface>)*<SDL_Overlay>; +SDL_Delay(I)v; +SDL_DestroyCond(*<SDL_cond>)v; +SDL_DestroyMutex(*<SDL_mutex>)v; +SDL_DestroySemaphore(*<SDL_semaphore>)v; +SDL_DisplayFormat(*<SDL_Surface>)*<SDL_Surface>; +SDL_DisplayFormatAlpha(*<SDL_Surface>)*<SDL_Surface>; +SDL_DisplayYUVOverlay(*<SDL_Overlay>*<SDL_Rect>)i; +SDL_EnableKeyRepeat(ii)i; +SDL_EnableUNICODE(i)i; +SDL_Error(i)v; +SDL_EventState(Ci)C; +SDL_FillRect(*<SDL_Surface>*<SDL_Rect>I)i; +SDL_Flip(*<SDL_Surface>)i; +SDL_FreeCursor(*<SDL_Cursor>)v; +SDL_FreeRW(*<SDL_RWops>)v; +SDL_FreeSurface(*<SDL_Surface>)v; +SDL_FreeWAV(*C)v; +SDL_FreeYUVOverlay(*<SDL_Overlay>)v; +SDL_GL_GetAttribute(i*i)i; +SDL_GL_GetProcAddress(*c)*v; +SDL_GL_LoadLibrary(*c)i; +SDL_GL_Lock()v; +SDL_GL_SetAttribute(ii)i; +SDL_GL_SwapBuffers()v; +SDL_GL_Unlock()v; +SDL_GL_UpdateRects(i*<SDL_Rect>)v; +SDL_GetAppState()C; +SDL_GetAudioStatus()i; +SDL_GetClipRect(*<SDL_Surface>*<SDL_Rect>)v; +SDL_GetCursor()*<SDL_Cursor>; +SDL_GetError()*c; +SDL_GetEventFilter()*p; +SDL_GetGammaRamp(*S*S*S)i; +SDL_GetKeyName(i)*c; +SDL_GetKeyRepeat(*i*i)v; +SDL_GetKeyState(*i)*C; +SDL_GetModState()i; +SDL_GetMouseState(*i*i)C; +SDL_GetRGB(I*<SDL_PixelFormat>*C*C*C)v; +SDL_GetRGBA(I*<SDL_PixelFormat>*C*C*C*C)v; +SDL_GetRelativeMouseState(*i*i)C; +SDL_GetThreadID(*<SDL_Thread>)I; +SDL_GetTicks()I; +SDL_GetVideoInfo()*<SDL_VideoInfo>; +SDL_GetVideoSurface()*<SDL_Surface>; +SDL_Has3DNow()i; +SDL_Has3DNowExt()i; +SDL_HasAltiVec()i; +SDL_HasMMX()i; +SDL_HasMMXExt()i; +SDL_HasRDTSC()i; +SDL_HasSSE()i; +SDL_HasSSE2()i; +SDL_Init(I)i; +SDL_InitSubSystem(I)i; +SDL_JoystickClose(*<_SDL_Joystick>)v; +SDL_JoystickEventState(i)i; +SDL_JoystickGetAxis(*<_SDL_Joystick>i)s; +SDL_JoystickGetBall(*<_SDL_Joystick>i*i*i)i; +SDL_JoystickGetButton(*<_SDL_Joystick>i)C; +SDL_JoystickGetHat(*<_SDL_Joystick>i)C; +SDL_JoystickIndex(*<_SDL_Joystick>)i; +SDL_JoystickName(i)*c; +SDL_JoystickNumAxes(*<_SDL_Joystick>)i; +SDL_JoystickNumBalls(*<_SDL_Joystick>)i; +SDL_JoystickNumButtons(*<_SDL_Joystick>)i; +SDL_JoystickNumHats(*<_SDL_Joystick>)i; +SDL_JoystickOpen(i)*<_SDL_Joystick>; +SDL_JoystickOpened(i)i; +SDL_JoystickUpdate()v; +SDL_KillThread(*<SDL_Thread>)v; +SDL_Linked_Version()*<SDL_version>; +SDL_ListModes(*<SDL_PixelFormat>I)*; +SDL_LoadBMP_RW(*<SDL_RWops>i)*<SDL_Surface>; +SDL_LoadFunction(*v*c)*v; +SDL_LoadObject(*c)*v; +SDL_LoadWAV_RW(*<SDL_RWops>i*<SDL_AudioSpec>**I)*<SDL_AudioSpec>; +SDL_LockAudio()v; +SDL_LockSurface(*<SDL_Surface>)i; +SDL_LockYUVOverlay(*<SDL_Overlay>)i; +SDL_LowerBlit(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i; +SDL_MapRGB(*<SDL_PixelFormat>CCC)I; +SDL_MapRGBA(*<SDL_PixelFormat>CCCC)I; +SDL_MixAudio(*C*CIi)v; +SDL_NumJoysticks()i; +SDL_OpenAudio(*<SDL_AudioSpec>*<SDL_AudioSpec>)i; +SDL_PauseAudio(i)v; +SDL_PeepEvents(*<SDL_Event>iiI)i; +SDL_PollEvent(*<SDL_Event>)i; +SDL_PumpEvents()v; +SDL_PushEvent(*<SDL_Event>)i; +SDL_Quit()v; +SDL_QuitSubSystem(I)v; +SDL_RWFromConstMem(*vi)*<SDL_RWops>; +SDL_RWFromFP(*<__sFILE>i)*<SDL_RWops>; +SDL_RWFromFile(*c*c)*<SDL_RWops>; +SDL_RWFromMem(*vi)*<SDL_RWops>; +SDL_ReadBE16(*<SDL_RWops>)S; +SDL_ReadBE32(*<SDL_RWops>)I; +SDL_ReadBE64(*<SDL_RWops>)L; +SDL_ReadLE16(*<SDL_RWops>)S; +SDL_ReadLE32(*<SDL_RWops>)I; +SDL_ReadLE64(*<SDL_RWops>)L; +SDL_RemoveTimer(*<_SDL_TimerID>)i; +SDL_SaveBMP_RW(*<SDL_Surface>*<SDL_RWops>i)i; +SDL_SemPost(*<SDL_semaphore>)i; +SDL_SemTryWait(*<SDL_semaphore>)i; +SDL_SemValue(*<SDL_semaphore>)I; +SDL_SemWait(*<SDL_semaphore>)i; +SDL_SemWaitTimeout(*<SDL_semaphore>I)i; +SDL_SetAlpha(*<SDL_Surface>IC)i; +SDL_SetClipRect(*<SDL_Surface>*<SDL_Rect>)i; +SDL_SetColorKey(*<SDL_Surface>II)i; +SDL_SetColors(*<SDL_Surface>*<SDL_Color>ii)i; +SDL_SetCursor(*<SDL_Cursor>)v; +SDL_SetError(*c)v; +SDL_SetEventFilter(*p)v; +SDL_SetGamma(fff)i; +SDL_SetGammaRamp(*S*S*S)i; +SDL_SetModState(i)v; +SDL_SetPalette(*<SDL_Surface>i*<SDL_Color>ii)i; +SDL_SetTimer(I*p)i; +SDL_SetVideoMode(iiiI)*<SDL_Surface>; +SDL_ShowCursor(i)i; +SDL_SoftStretch(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i; +SDL_Swap16(S)S; +SDL_Swap32(I)I; +SDL_Swap64(L)L; +SDL_ThreadID()I; +SDL_UnloadObject(*v)v; +SDL_UnlockAudio()v; +SDL_UnlockSurface(*<SDL_Surface>)v; +SDL_UnlockYUVOverlay(*<SDL_Overlay>)v; +SDL_UpdateRect(*<SDL_Surface>iiII)v; +SDL_UpdateRects(*<SDL_Surface>i*<SDL_Rect>)v; +SDL_UpperBlit(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i; +SDL_VideoDriverName(*ci)*c; +SDL_VideoInit(*cI)i; +SDL_VideoModeOK(iiiI)i; +SDL_VideoQuit()v; +SDL_WM_GetCaption(**)v; +SDL_WM_GrabInput(i)i; +SDL_WM_IconifyWindow()i; +SDL_WM_SetCaption(*c*c)v; +SDL_WM_SetIcon(*<SDL_Surface>*C)v; +SDL_WM_ToggleFullScreen(*<SDL_Surface>)i; +SDL_WaitEvent(*<SDL_Event>)i; +SDL_WaitThread(*<SDL_Thread>*i)v; +SDL_WarpMouse(SS)v; +SDL_WasInit(I)I; +SDL_WriteBE16(*<SDL_RWops>S)i; +SDL_WriteBE32(*<SDL_RWops>I)i; +SDL_WriteBE64(*<SDL_RWops>L)i; +SDL_WriteLE16(*<SDL_RWops>S)i; +SDL_WriteLE32(*<SDL_RWops>I)i; +SDL_WriteLE64(*<SDL_RWops>L)i; +SDL_iconv(*<_SDL_iconv_t>**J**J)J; +SDL_iconv_close(*<_SDL_iconv_t>)i; +SDL_iconv_open(*c*c)*<_SDL_iconv_t>; +SDL_iconv_string(*c*c*cJ)*c; +SDL_lltoa(l*ci)*c; +SDL_ltoa(j*ci)*c; +SDL_main(i*)i; +SDL_mutexP(*<SDL_mutex>)i; +SDL_mutexV(*<SDL_mutex>)i; +SDL_strlwr(*c)*c; +SDL_strrev(*c)*c; +SDL_strupr(*c)*c; +SDL_ulltoa(L*ci)*c; +SDL_ultoa(J*ci)*c; +") +parseStructInfos(" +SDL_Rect{ssSS}x y w h ; +SDL_version{CCC}major minor patch ; +SDL_SysWMEvent{C*<SDL_SysWMmsg>}type msg ; +SDL_SysWMmsg{}; +SDL_UserEvent{Ci*v*v}type code data1 data2 ; +SDL_QuitEvent{C}type ; +SDL_ExposeEvent{C}type ; +SDL_ResizeEvent{Cii}type w h ; +SDL_JoyButtonEvent{CCCC}type which button state ; +SDL_JoyHatEvent{CCCC}type which hat value ; +SDL_JoyBallEvent{CCCss}type which ball xrel yrel ; +SDL_JoyAxisEvent{CCCs}type which axis value ; +SDL_MouseButtonEvent{CCCCSS}type which button state x y ; +SDL_MouseMotionEvent{CCCSSss}type which state x y xrel yrel ; +SDL_keysym{CiiS}scancode sym mod unicode ; +SDL_KeyboardEvent{CCC<SDL_keysym>}type which state keysym ; +SDL_ActiveEvent{CCC}type gain state ; +WMcursor{}; +private_yuvhwdata{}; +private_yuvhwfuncs{}; +SDL_VideoInfo{IIIIIIIIIIIII*<SDL_PixelFormat>ii}hw_available wm_available UnusedBits1 UnusedBits2 blit_hw blit_hw_CC blit_hw_A blit_sw blit_sw_CC blit_sw_A blit_fill UnusedBits3 video_mem vfmt current_w current_h ; +SDL_Surface{I*<SDL_PixelFormat>iiS*vi*<private_hwdata><SDL_Rect>II*<SDL_BlitMap>Ii}flags format w h pitch pixels offset hwdata clip_rect unused1 locked map format_version refcount ; +SDL_BlitMap{}; +private_hwdata{}; +SDL_PixelFormat{*<SDL_Palette>CCCCCCCCCCIIIIIC}palette BitsPerPixel BytesPerPixel Rloss Gloss Bloss Aloss Rshift Gshift Bshift Ashift Rmask Gmask Bmask Amask colorkey alpha ; +SDL_Palette{i*<SDL_Color>}ncolors colors ; +SDL_Color{CCCC}r g b unused ; +SDL_CDtrack{CCSII}id type unused length offset ; +SDL_Thread{}; +SDL_cond{}; +SDL_semaphore{}; +SDL_mutex{}; +") +.deactivated <- "SDL_AudioCVT{iSSd*Ciiidi}needed src_format dst_format rate_incr buf len len_cvt len_mult len_ratio filters filter_index ; +SDL_Overlay{Iiii*S**<private_yuvhwfuncs>*<private_yuvhwdata>II}format w h planes pitches pixels hwfuncs hwdata hw_overlay UnusedBits ; +SDL_Cursor{<SDL_Rect>ss*C*C*<WMcursor>}area hot_x hot_y data mask save wm_cursor ; +SDL_CD{iiiii}id status numtracks cur_track cur_frame track ; +SDL_AudioSpec{iSCCSSI*p*v}freq format channels silence samples padding size callback userdata ; +SDL_RWops{*p*p*p*pI<$_16>}seek read write close type hidden ; +imaxdiv_t{ll}quot rem ; +lldiv_t{ll}quot rem ; +ldiv_t{jj}quot rem ; +div_t{ii}quot rem ; +rlimit{LL}rlim_cur rlim_max ; +rusage{<timeval><timeval>jjjjjjjjjjjjjj}ru_utime ru_stime ru_maxrss ru_ixrss ru_idrss ru_isrss ru_minflt ru_majflt ru_nswap ru_inblock ru_oublock ru_msgsnd ru_msgrcv ru_nsignals ru_nvcsw ru_nivcsw ; +timeval{ji}tv_sec tv_usec ; +sigstack{*ci}ss_sp ss_onstack ; +sigvec{*pii}sv_handler sv_mask sv_flags ; +sigaction{<__sigaction_u>Ii}__sigaction_u sa_mask sa_flags ; +sigevent{ii<sigval>*p*<_opaque_pthread_attr_t>}sigev_notify sigev_signo sigev_value sigev_notify_function sigev_notify_attributes ; +fd_set{}fds_bits ; +" +parseUnionInfos(" +SDL_Event|C<SDL_ActiveEvent><SDL_KeyboardEvent><SDL_MouseMotionEvent><SDL_MouseButtonEvent><SDL_JoyAxisEvent><SDL_JoyBallEvent><SDL_JoyHatEvent><SDL_JoyButtonEvent><SDL_ResizeEvent><SDL_ExposeEvent><SDL_QuitEvent><SDL_UserEvent><SDL_SysWMEvent>}type active key motion button jaxis jball jhat jbutton resize expose quit user syswm ; +") +AUDIO_S16=0x8010 +AUDIO_S16LSB=0x8010 +AUDIO_S16MSB=0x9010 +AUDIO_S16SYS=0x8010 +AUDIO_S8=0x8008 +AUDIO_U16=0x0010 +AUDIO_U16LSB=0x0010 +AUDIO_U16MSB=0x1010 +AUDIO_U16SYS=0x0010 +AUDIO_U8=0x0008 +SDLCALL= +SDL_ALLEVENTS=0xFFFFFFFF +SDL_ALL_HOTKEYS=0xFFFFFFFF +SDL_ALPHA_OPAQUE=255 +SDL_ALPHA_TRANSPARENT=0 +SDL_ANYFORMAT=0x10000000 +SDL_APPACTIVE=0x04 +SDL_APPINPUTFOCUS=0x02 +SDL_APPMOUSEFOCUS=0x01 +SDL_ASSEMBLY_ROUTINES=1 +SDL_ASYNCBLIT=0x00000004 +SDL_AUDIO_DRIVER_COREAUDIO=1 +SDL_AUDIO_DRIVER_DISK=1 +SDL_AUDIO_DRIVER_DUMMY=1 +SDL_AUDIO_DRIVER_SNDMGR=1 +SDL_AUDIO_TRACK=0x00 +SDL_AllocSurface=SDL_CreateRGBSurface +SDL_BIG_ENDIAN=4321 +SDL_BUTTON_LEFT=1 +# SDL_BUTTON_LMASK=(1 << ((1)-1)) +SDL_BUTTON_MIDDLE=2 +# SDL_BUTTON_MMASK=(1 << ((2)-1)) +SDL_BUTTON_RIGHT=3 +# SDL_BUTTON_RMASK=(1 << ((3)-1)) +SDL_BUTTON_WHEELDOWN=5 +SDL_BUTTON_WHEELUP=4 +SDL_BUTTON_X1=6 +# SDL_BUTTON_X1MASK=(1 << ((6)-1)) +SDL_BUTTON_X2=7 +# SDL_BUTTON_X2MASK=(1 << ((7)-1)) +SDL_BYTEORDER=1234 +SDL_BlitSurface=SDL_UpperBlit +SDL_CDROM_MACOSX=1 +# SDL_COMPILEDVERSION=((1)*1000 + (2)*100 + (13)) +SDL_Colour=SDL_Color +SDL_DATA_TRACK=0x04 +SDL_DEFAULT_REPEAT_DELAY=500 +SDL_DEFAULT_REPEAT_INTERVAL=30 +SDL_DISABLE=0 +SDL_DOUBLEBUF=0x40000000 +SDL_ENABLE=1 +SDL_FULLSCREEN=0x80000000 +SDL_HAS_64BIT_TYPE=1 +SDL_HAT_CENTERED=0x00 +SDL_HAT_DOWN=0x04 +SDL_HAT_LEFT=0x08 +# SDL_HAT_LEFTDOWN=(0x08|0x04) +# SDL_HAT_LEFTUP=(0x08|0x01) +SDL_HAT_RIGHT=0x02 +# SDL_HAT_RIGHTDOWN=(0x02|0x04) +# SDL_HAT_RIGHTUP=(0x02|0x01) +SDL_HAT_UP=0x01 +SDL_HWACCEL=0x00000100 +SDL_HWPALETTE=0x20000000 +SDL_HWSURFACE=0x00000001 +# SDL_ICONV_E2BIG=(size_t)-2 +# SDL_ICONV_EILSEQ=(size_t)-3 +# SDL_ICONV_EINVAL=(size_t)-4 +# SDL_ICONV_ERROR=(size_t)-1 +SDL_IGNORE=0 +SDL_INIT_AUDIO=0x00000010 +SDL_INIT_CDROM=0x00000100 +SDL_INIT_EVENTTHREAD=0x01000000 +SDL_INIT_EVERYTHING=0x0000FFFF +SDL_INIT_JOYSTICK=0x00000200 +SDL_INIT_NOPARACHUTE=0x00100000 +SDL_INIT_TIMER=0x00000001 +SDL_INIT_VIDEO=0x00000020 +SDL_INLINE_OKAY= +SDL_IYUV_OVERLAY=0x56555949 +SDL_JOYSTICK_IOKIT=1 +SDL_LIL_ENDIAN=1234 +SDL_LOADSO_DLOPEN=1 +SDL_LOGPAL=0x01 +SDL_MAJOR_VERSION=1 +SDL_MAX_TRACKS=99 +SDL_MINOR_VERSION=2 +SDL_MIX_MAXVOLUME=128 +# SDL_MUTEX_MAXWAIT=(~(Uint32)0) +SDL_MUTEX_TIMEDOUT=1 +SDL_NOFRAME=0x00000020 +SDL_OPENGL=0x00000002 +SDL_OPENGLBLIT=0x0000000A +SDL_PATCHLEVEL=13 +SDL_PHYSPAL=0x02 +SDL_PREALLOC=0x01000000 +SDL_PRESSED=1 +SDL_QUERY=-1 +SDL_RELEASED=0 +SDL_RESIZABLE=0x00000010 +SDL_RLEACCEL=0x00004000 +SDL_RLEACCELOK=0x00002000 +SDL_SRCALPHA=0x00010000 +SDL_SRCCOLORKEY=0x00001000 +SDL_SWSURFACE=0x00000000 +SDL_THREAD_PTHREAD=1 +SDL_THREAD_PTHREAD_RECURSIVE_MUTEX=1 +SDL_TIMER_UNIX=1 +SDL_TIMESLICE=10 +SDL_UYVY_OVERLAY=0x59565955 +SDL_VIDEO_DRIVER_DUMMY=1 +SDL_VIDEO_DRIVER_QUARTZ=1 +SDL_VIDEO_OPENGL=1 +SDL_YUY2_OVERLAY=0x32595559 +SDL_YV12_OVERLAY=0x32315659 +SDL_YVYU_OVERLAY=0x55595659 +#SDL_abs=abs +#SDL_atof=atof +#SDL_atoi=atoi +#SDL_calloc=calloc +#SDL_free=free +#SDL_getenv=getenv +#SDL_malloc=malloc +#SDL_memcmp=memcmp +#SDL_memmove=memmove +#SDL_memset=memset +#SDL_putenv=putenv +#SDL_qsort=qsort +#SDL_realloc=realloc +#SDL_snprintf=snprintf +#SDL_sscanf=sscanf +#SDL_strcasecmp=strcasecmp +#SDL_strchr=strchr +#SDL_strcmp=strcmp +#SDL_strdup=strdup +#SDL_strlcat=strlcat +#SDL_strlcpy=strlcpy +#SDL_strlen=strlen +#SDL_strncasecmp=strncasecmp +#SDL_strncmp=strncmp +#SDL_strrchr=strrchr +#SDL_strstr=strstr +#SDL_strtod=strtod +#SDL_strtol=strtol +#SDL_strtoll=strtoll +#SDL_strtoul=strtoul +#SDL_strtoull=strtoull +#SDL_vsnprintf=vsnprintf + + +SDL_ADDEVENT=0; +SDL_PEEKEVENT=1; +SDL_GETEVENT=2; +SDL_ACTIVEEVENTMASK=2; +SDL_KEYDOWNMASK=4; +SDL_KEYUPMASK=8; +SDL_KEYEVENTMASK=12; +SDL_MOUSEMOTIONMASK=16; +SDL_MOUSEBUTTONDOWNMASK=32; +SDL_MOUSEBUTTONUPMASK=64; +SDL_MOUSEEVENTMASK=112; +SDL_JOYAXISMOTIONMASK=128; +SDL_JOYBALLMOTIONMASK=256; +SDL_JOYHATMOTIONMASK=512; +SDL_JOYBUTTONDOWNMASK=1024; +SDL_JOYBUTTONUPMASK=2048; +SDL_JOYEVENTMASK=3968; +SDL_VIDEORESIZEMASK=65536; +SDL_VIDEOEXPOSEMASK=131072; +SDL_QUITMASK=4096; +SDL_SYSWMEVENTMASK=8192; +SDL_NOEVENT=0; +SDL_ACTIVEEVENT=1; +SDL_KEYDOWN=2; +SDL_KEYUP=3; +SDL_MOUSEMOTION=4; +SDL_MOUSEBUTTONDOWN=5; +SDL_MOUSEBUTTONUP=6; +SDL_JOYAXISMOTION=7; +SDL_JOYBALLMOTION=8; +SDL_JOYHATMOTION=9; +SDL_JOYBUTTONDOWN=10; +SDL_JOYBUTTONUP=11; +SDL_QUIT=12; +SDL_SYSWMEVENT=13; +SDL_EVENT_RESERVEDA=14; +SDL_EVENT_RESERVEDB=15; +SDL_VIDEORESIZE=16; +SDL_VIDEOEXPOSE=17; +SDL_EVENT_RESERVED2=18; +SDL_EVENT_RESERVED3=19; +SDL_EVENT_RESERVED4=20; +SDL_EVENT_RESERVED5=21; +SDL_EVENT_RESERVED6=22; +SDL_EVENT_RESERVED7=23; +SDL_USEREVENT=24; +SDL_NUMEVENTS=32; +SDL_GRAB_QUERY=-1; +SDL_GRAB_OFF=0; +SDL_GRAB_ON=1; +SDL_GRAB_FULLSCREEN=2; +SDL_GL_RED_SIZE=0; +SDL_GL_GREEN_SIZE=1; +SDL_GL_BLUE_SIZE=2; +SDL_GL_ALPHA_SIZE=3; +SDL_GL_BUFFER_SIZE=4; +SDL_GL_DOUBLEBUFFER=5; +SDL_GL_DEPTH_SIZE=6; +SDL_GL_STENCIL_SIZE=7; +SDL_GL_ACCUM_RED_SIZE=8; +SDL_GL_ACCUM_GREEN_SIZE=9; +SDL_GL_ACCUM_BLUE_SIZE=10; +SDL_GL_ACCUM_ALPHA_SIZE=11; +SDL_GL_STEREO=12; +SDL_GL_MULTISAMPLEBUFFERS=13; +SDL_GL_MULTISAMPLESAMPLES=14; +SDL_GL_ACCELERATED_VISUAL=15; +SDL_GL_SWAP_CONTROL=16; +SDLK_UNKNOWN=0; +SDLK_FIRST=0; +SDLK_BACKSPACE=8; +SDLK_TAB=9; +SDLK_CLEAR=12; +SDLK_RETURN=13; +SDLK_PAUSE=19; +SDLK_ESCAPE=27; +SDLK_SPACE=32; +SDLK_EXCLAIM=33; +SDLK_QUOTEDBL=34; +SDLK_HASH=35; +SDLK_DOLLAR=36; +SDLK_AMPERSAND=38; +SDLK_QUOTE=39; +SDLK_LEFTPAREN=40; +SDLK_RIGHTPAREN=41; +SDLK_ASTERISK=42; +SDLK_PLUS=43; +SDLK_COMMA=44; +SDLK_MINUS=45; +SDLK_PERIOD=46; +SDLK_SLASH=47; +SDLK_0=48; +SDLK_1=49; +SDLK_2=50; +SDLK_3=51; +SDLK_4=52; +SDLK_5=53; +SDLK_6=54; +SDLK_7=55; +SDLK_8=56; +SDLK_9=57; +SDLK_COLON=58; +SDLK_SEMICOLON=59; +SDLK_LESS=60; +SDLK_EQUALS=61; +SDLK_GREATER=62; +SDLK_QUESTION=63; +SDLK_AT=64; +SDLK_LEFTBRACKET=91; +SDLK_BACKSLASH=92; +SDLK_RIGHTBRACKET=93; +SDLK_CARET=94; +SDLK_UNDERSCORE=95; +SDLK_BACKQUOTE=96; +SDLK_a=97; +SDLK_b=98; +SDLK_c=99; +SDLK_d=100; +SDLK_e=101; +SDLK_f=102; +SDLK_g=103; +SDLK_h=104; +SDLK_i=105; +SDLK_j=106; +SDLK_k=107; +SDLK_l=108; +SDLK_m=109; +SDLK_n=110; +SDLK_o=111; +SDLK_p=112; +SDLK_q=113; +SDLK_r=114; +SDLK_s=115; +SDLK_t=116; +SDLK_u=117; +SDLK_v=118; +SDLK_w=119; +SDLK_x=120; +SDLK_y=121; +SDLK_z=122; +SDLK_DELETE=127; +SDLK_WORLD_0=160; +SDLK_WORLD_1=161; +SDLK_WORLD_2=162; +SDLK_WORLD_3=163; +SDLK_WORLD_4=164; +SDLK_WORLD_5=165; +SDLK_WORLD_6=166; +SDLK_WORLD_7=167; +SDLK_WORLD_8=168; +SDLK_WORLD_9=169; +SDLK_WORLD_10=170; +SDLK_WORLD_11=171; +SDLK_WORLD_12=172; +SDLK_WORLD_13=173; +SDLK_WORLD_14=174; +SDLK_WORLD_15=175; +SDLK_WORLD_16=176; +SDLK_WORLD_17=177; +SDLK_WORLD_18=178; +SDLK_WORLD_19=179; +SDLK_WORLD_20=180; +SDLK_WORLD_21=181; +SDLK_WORLD_22=182; +SDLK_WORLD_23=183; +SDLK_WORLD_24=184; +SDLK_WORLD_25=185; +SDLK_WORLD_26=186; +SDLK_WORLD_27=187; +SDLK_WORLD_28=188; +SDLK_WORLD_29=189; +SDLK_WORLD_30=190; +SDLK_WORLD_31=191; +SDLK_WORLD_32=192; +SDLK_WORLD_33=193; +SDLK_WORLD_34=194; +SDLK_WORLD_35=195; +SDLK_WORLD_36=196; +SDLK_WORLD_37=197; +SDLK_WORLD_38=198; +SDLK_WORLD_39=199; +SDLK_WORLD_40=200; +SDLK_WORLD_41=201; +SDLK_WORLD_42=202; +SDLK_WORLD_43=203; +SDLK_WORLD_44=204; +SDLK_WORLD_45=205; +SDLK_WORLD_46=206; +SDLK_WORLD_47=207; +SDLK_WORLD_48=208; +SDLK_WORLD_49=209; +SDLK_WORLD_50=210; +SDLK_WORLD_51=211; +SDLK_WORLD_52=212; +SDLK_WORLD_53=213; +SDLK_WORLD_54=214; +SDLK_WORLD_55=215; +SDLK_WORLD_56=216; +SDLK_WORLD_57=217; +SDLK_WORLD_58=218; +SDLK_WORLD_59=219; +SDLK_WORLD_60=220; +SDLK_WORLD_61=221; +SDLK_WORLD_62=222; +SDLK_WORLD_63=223; +SDLK_WORLD_64=224; +SDLK_WORLD_65=225; +SDLK_WORLD_66=226; +SDLK_WORLD_67=227; +SDLK_WORLD_68=228; +SDLK_WORLD_69=229; +SDLK_WORLD_70=230; +SDLK_WORLD_71=231; +SDLK_WORLD_72=232; +SDLK_WORLD_73=233; +SDLK_WORLD_74=234; +SDLK_WORLD_75=235; +SDLK_WORLD_76=236; +SDLK_WORLD_77=237; +SDLK_WORLD_78=238; +SDLK_WORLD_79=239; +SDLK_WORLD_80=240; +SDLK_WORLD_81=241; +SDLK_WORLD_82=242; +SDLK_WORLD_83=243; +SDLK_WORLD_84=244; +SDLK_WORLD_85=245; +SDLK_WORLD_86=246; +SDLK_WORLD_87=247; +SDLK_WORLD_88=248; +SDLK_WORLD_89=249; +SDLK_WORLD_90=250; +SDLK_WORLD_91=251; +SDLK_WORLD_92=252; +SDLK_WORLD_93=253; +SDLK_WORLD_94=254; +SDLK_WORLD_95=255; +SDLK_KP0=256; +SDLK_KP1=257; +SDLK_KP2=258; +SDLK_KP3=259; +SDLK_KP4=260; +SDLK_KP5=261; +SDLK_KP6=262; +SDLK_KP7=263; +SDLK_KP8=264; +SDLK_KP9=265; +SDLK_KP_PERIOD=266; +SDLK_KP_DIVIDE=267; +SDLK_KP_MULTIPLY=268; +SDLK_KP_MINUS=269; +SDLK_KP_PLUS=270; +SDLK_KP_ENTER=271; +SDLK_KP_EQUALS=272; +SDLK_UP=273; +SDLK_DOWN=274; +SDLK_RIGHT=275; +SDLK_LEFT=276; +SDLK_INSERT=277; +SDLK_HOME=278; +SDLK_END=279; +SDLK_PAGEUP=280; +SDLK_PAGEDOWN=281; +SDLK_F1=282; +SDLK_F2=283; +SDLK_F3=284; +SDLK_F4=285; +SDLK_F5=286; +SDLK_F6=287; +SDLK_F7=288; +SDLK_F8=289; +SDLK_F9=290; +SDLK_F10=291; +SDLK_F11=292; +SDLK_F12=293; +SDLK_F13=294; +SDLK_F14=295; +SDLK_F15=296; +SDLK_NUMLOCK=300; +SDLK_CAPSLOCK=301; +SDLK_SCROLLOCK=302; +SDLK_RSHIFT=303; +SDLK_LSHIFT=304; +SDLK_RCTRL=305; +SDLK_LCTRL=306; +SDLK_RALT=307; +SDLK_LALT=308; +SDLK_RMETA=309; +SDLK_LMETA=310; +SDLK_LSUPER=311; +SDLK_RSUPER=312; +SDLK_MODE=313; +SDLK_COMPOSE=314; +SDLK_HELP=315; +SDLK_PRINT=316; +SDLK_SYSREQ=317; +SDLK_BREAK=318; +SDLK_MENU=319; +SDLK_POWER=320; +SDLK_EURO=321; +SDLK_UNDO=322; +SDLK_LAST=323; +CD_TRAYEMPTY=0; +CD_STOPPED=1; +CD_PLAYING=2; +CD_PAUSED=3; +CD_ERROR=-1; +SDL_AUDIO_STOPPED=0; +SDL_AUDIO_PLAYING=1; +SDL_AUDIO_PAUSED=2; +SDL_ENOMEM=0; +SDL_EFREAD=1; +SDL_EFWRITE=2; +SDL_EFSEEK=3; +SDL_UNSUPPORTED=4; +SDL_LASTERROR=5; +SDL_FALSE=0; +SDL_TRUE=1;