X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2FSDL.xs;h=defa68ca8bd9bf646a4d58ac892834d631b72a8a;hb=HEAD;hp=50e286a23a5c10a971d282336e6573808525b343;hpb=1be4c6f15e05abf39c06210ea17c682a6f4bae9b;p=sdlgit%2FSDL_perl.git diff --git a/src/SDL.xs b/src/SDL.xs index 50e286a..defa68c 100644 --- a/src/SDL.xs +++ b/src/SDL.xs @@ -110,6 +110,20 @@ extern PerlInterpreter *parent_perl; #endif +void +windows_force_driver () +{ + const SDL_version *version = SDL_Linked_Version(); + if(version->patch == 14) + { + putenv("SDL_VIDEODRIVER=directx"); + } + else + { + putenv("SDL_VIDEODRIVER=windib"); + } +} + Uint32 sdl_perl_timer_callback ( Uint32 interval, void* param ) { @@ -243,17 +257,20 @@ MODULE = SDL_perl PACKAGE = SDL PROTOTYPES : DISABLE char * -GetError () +get_error () CODE: RETVAL = SDL_GetError(); OUTPUT: RETVAL int -Init ( flags ) +init ( flags ) Uint32 flags CODE: INIT_NS_APPLICATION +#if defined WINDOWS || WIN32 + windows_force_driver(); +#endif RETVAL = SDL_Init(flags); #ifdef HAVE_TLS_CONTEXT Perl_call_atexit(PERL_GET_CONTEXT, (void*)sdl_perl_atexit,0); @@ -264,7 +281,7 @@ Init ( flags ) RETVAL int -InitSubSystem ( flags ) +init_subsystem ( flags ) Uint32 flags CODE: RETVAL = SDL_InitSubSystem(flags); @@ -272,19 +289,19 @@ InitSubSystem ( flags ) RETVAL void -QuitSubSystem ( flags ) +quit_subsystem ( flags ) Uint32 flags CODE: SDL_QuitSubSystem(flags); void -Quit () +quit () CODE: QUIT_NS_APPLICATION SDL_Quit(); int -WasInit ( flags ) +was_init ( flags ) Uint32 flags CODE: RETVAL = SDL_WasInit(flags); @@ -292,7 +309,7 @@ WasInit ( flags ) RETVAL void -Delay ( ms ) +delay ( ms ) int ms CODE: SDL_Delay(ms); @@ -726,7 +743,7 @@ KeyEventUnicode ( e ) RETVAL Uint8 -KeyEventScanCode ( e ) +key_scancode ( e ) SDL_Event *e CODE: RETVAL = e->key.keysym.scancode; @@ -774,7 +791,7 @@ MouseMotionYrel ( e ) RETVAL Uint8 -MouseButtonState ( e ) +button_state ( e ) SDL_Event *e CODE: RETVAL = e->button.state; @@ -782,7 +799,7 @@ MouseButtonState ( e ) RETVAL Uint8 -MouseButton ( e ) +button ( e ) SDL_Event *e CODE: RETVAL = e->button.button; @@ -790,7 +807,7 @@ MouseButton ( e ) RETVAL Uint16 -MouseButtonX ( e ) +button_x ( e ) SDL_Event *e CODE: RETVAL = e->button.x; @@ -798,7 +815,7 @@ MouseButtonX ( e ) RETVAL Uint16 -MouseButtonY ( e ) +button_y ( e ) SDL_Event *e CODE: RETVAL = e->button.y; @@ -842,7 +859,7 @@ SetModState ( state ) SDL_SetModState(state); char * -GetKeyName ( sym ) +get_key_name ( sym ) int sym CODE: RETVAL = SDL_GetKeyName(sym);