From: Kartik Thakore Date: Fri, 11 Sep 2009 15:24:03 +0000 (-0400) Subject: Applied relevant debian patchesand move version to v2.2.2.13 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=sdlgit%2FSDL_perl.git;a=commitdiff_plain;h=24379be6145d8b1f519155219cdf6a96710d40b1 Applied relevant debian patchesand move version to v2.2.2.13 --- diff --git a/lib/SDL.pm b/lib/SDL.pm index 0778469..5137856 100644 --- a/lib/SDL.pm +++ b/lib/SDL.pm @@ -54,7 +54,7 @@ sub import { $self->export_to_level(1, @_); SDL::Constants->export_to_level(1); } -$VERSION = '2.2.2.11'; +$VERSION = '2.2.2.13'; print "$VERSION" if (defined($ARGV[0]) && ($ARGV[0] eq '--SDLperl')); @@ -108,6 +108,7 @@ the C subroutine. This routine takes a mode flag constructed through the bitwise OR product of the following functions: =over 4 + =item * INIT_AUDIO() diff --git a/src/OpenGL.xs b/src/OpenGL.xs index 807c997..841d92b 100644 --- a/src/OpenGL.xs +++ b/src/OpenGL.xs @@ -67,6 +67,8 @@ constants missing in GL/gl.h thus we need also GL/glext.h #define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFF #endif /* GL_ALL_CLIENT_BITS */ +#define GL_HAS_NURBS + #include "../../src/defines.h" SV* sdl_perl_nurbs_error_hook; @@ -958,7 +960,7 @@ glLoadMatrix ( ... ) int i; double mat[16]; for ( i = 0; i < 16; i++ ) { - mat[i] = (i < items && SvNOK(ST(i)) ? SvNV(ST(i)) : 0.0 ); + mat[i] = i < items ? SvNV(ST(i)) : 0.0; } glLoadMatrixd(mat); @@ -968,7 +970,7 @@ glMultMatrix ( ... ) int i; double mat[16]; for ( i = 0; i < 16; i++ ) { - mat[i] = (i < items && SvNOK(ST(i)) ? SvNV(ST(i)) : 0.0 ); + mat[i] = i < items ? SvNV(ST(i)) : 0.0; } glMultMatrixd(mat); @@ -1052,7 +1054,7 @@ glClipPlane ( plane, ... ) double v[4]; int i; for (i = 0; i < 4; i++ ) { - v[i] = (i+1 < items && SvNOK(ST(i+1))) ? SvNV(ST(i+1)) : 0.0; + v[i] = i+1 < items ? SvNV(ST(i+1)) : 0.0; } glClipPlane(plane,v); @@ -1091,13 +1093,13 @@ glLight ( light, name, ... ) if ( items == 6 ) { float v[4]; for ( i = 0; i < 4; i++ ) { - v[i] = (SvNOK(ST(i+2))) ? SvNV(ST(i+2)) : 0.0; + v[i] = SvNV(ST(i+2)); } glLightfv(light,name,v); } else if ( items == 5 ) { float v[3]; for ( i = 0; i < 3; i++ ) { - v[i] = (SvNOK(ST(i+2))) ? SvNV(ST(i+2)) : 0.0; + v[i] = SvNV(ST(i+2)); } glLightfv(light,name,v); } else if ( items == 3 ) { @@ -1136,13 +1138,13 @@ glMaterial ( face, name, ... ) if ( items == 6 ) { float v[4]; for ( i = 0; i < 4; i++ ) { - v[i] = (SvNOK(ST(i+2))) ? SvNV(ST(i+2)) : 0.0; + v[i] = SvNV(ST(i+2)); } glMaterialfv(face,name,v); } else if ( items == 5 ) { float v[3]; - for ( i = 0; i < 4; i++ ) { - v[i] = (SvNOK(ST(i+2))) ? SvNV(ST(i+2)) : 0.0; + for ( i = 0; i < 3; i++ ) { + v[i] = SvNV(ST(i+2)); } glMaterialfv(face,name,v); } else if ( items == 3 ) { diff --git a/src/SFont.xs b/src/SFont.xs index 2839a67..5c5136b 100644 --- a/src/SFont.xs +++ b/src/SFont.xs @@ -225,7 +225,7 @@ void SFont_InternalInput( SDL_Surface *Dest, SFont_FontInfo *Font, int x, int y, if ((ch=='\b')&&(strlen(text)>0)) text[strlen(text)-1]='\0'; else if (ch!='\b') - sprintf(text,"%s%c",text,ch); + sprintf(text+strlen(text),"%c",ch); if (SFont_TextWidth2(Font,text)>PixelWidth) text[strlen(text)-1]='\0'; SDL_BlitSurface( Back, NULL, Dest, &rect); SFont_PutString2(Dest, Font, x, y, text); diff --git a/test/loopwave.pl b/test/loopwave.pl index 458d93c..48af51d 100644 --- a/test/loopwave.pl +++ b/test/loopwave.pl @@ -1,10 +1,11 @@ #!/usr/bin/env perl use SDL; +use SDL::Event; use Carp; croak "Could not initialize SDL: ", SDL::GetError() - if ( 0 > SDL::Init(SDL_INIT_AUDIO())); + if ( 0 > SDL::Init(SDL_INIT_AUDIO)); $ARGV[0] ||= 'data/sample.wav'; @@ -57,7 +58,7 @@ SDL::PauseAudio(0); print "Using audio driver: ", SDL::AudioDriverName(), "\n"; -while (! $done && ( SDL::GetAudioStatus() == SDL_AUDIO_PLAYING())) { +while (! $done && ( SDL::GetAudioStatus() == SDL_AUDIO_PLAYING)) { SDL::Delay(1000); } diff --git a/test/testjoystick.pl b/test/testjoystick.pl index cf390ba..79efa6c 100644 --- a/test/testjoystick.pl +++ b/test/testjoystick.pl @@ -44,50 +44,50 @@ sub WatchJoystick($){ { while($event->poll()) { - if($event->type() eq SDL::JOYAXISMOTION()) + if($event->type() eq SDL_JOYAXISMOTION) { print "Joystick ".SDL::JoyAxisEventWhich($$event). " axis ".SDL::JoyAxisEventAxis($$event). " value: ".SDL::JoyAxisEventValue($$event)."\n"; } - elsif($event->type() eq SDL::JOYHATMOTION()) + elsif($event->type() eq SDL_JOYHATMOTION) { print "Joystick ".SDL::JoyHatEventWhich($$event). " hat ".SDL::JoyHatEventHat($$event); - if(SDL::JoyHatEventValue($$event) == SDL::HAT_CENTERED() ) + if(SDL::JoyHatEventValue($$event) == SDL_HAT_CENTERED() ) { print " centered"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_UP() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_UP() ) { print " up"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_RIGHT() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_RIGHT() ) { print " right"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_DOWN() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_DOWN() ) { print " down"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_LEFT()) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_LEFT()) { print " left"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_RIGHTUP() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_RIGHTUP() ) { print " right & up"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_RIGHTDOWN() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_RIGHTDOWN() ) { print " right & down"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_LEFTDOWN() ) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_LEFTDOWN() ) { print " left & down"; - } elsif(SDL::JoyHatEventValue($$event) == SDL::HAT_LEFTUP()) { + } elsif(SDL::JoyHatEventValue($$event) == SDL_HAT_LEFTUP()) { print " left & up"; } print "\n"; - } elsif($event->type() eq SDL::JOYBALLMOTION()){ + } elsif($event->type() eq SDL_JOYBALLMOTION){ print "Joystick ".SDL::JoyBallEventWhich($$event). " ball ".SDL::JoyBallEventBall($$event). " delta: (".SDL::JoyBallEventXrel($$event). ",".SDL::JoyBallEventYrel($$event)."\n"; - } elsif($event->type() eq SDL::JOYBUTTONDOWN()){ + } elsif($event->type() eq SDL_JOYBUTTONDOWN){ print "Joystick ".SDL::JoyButtonEventWhich($$event). " button ".SDL::JoyButtonEventButton($$event)." down\n"; - } elsif($event->type() eq SDL::JOYBUTTONUP()){ + } elsif($event->type() eq SDL_JOYBUTTONUP){ print "Joystick ".SDL::JoyButtonEventWhich($$event). " button ".SDL::JoyButtonEventButton($$event)." up\n"; - } elsif($event->type() eq SDL_QUIT() or - ($event->type() eq SDL_KEYDOWN() and + } elsif($event->type() eq SDL_QUIT or + ($event->type() eq SDL_KEYDOWN and $event->key_sym() == SDLK_ESCAPE)){ $done = 1; } @@ -101,7 +101,7 @@ sub WatchJoystick($){ -height => 32, -x => $i*34, -y => $screenHeight-34); - if(SDL::JoystickGetButton($joystick, $i) eq SDL::PRESSED()) + if(SDL::JoystickGetButton($joystick, $i) eq SDL_PRESSED) { $app->fill($rect, $colorWhite); } else { diff --git a/test/testtimer.pl b/test/testtimer.pl index 523d085..209c1bf 100644 --- a/test/testtimer.pl +++ b/test/testtimer.pl @@ -2,10 +2,11 @@ use SDL; use SDL::Timer; +use SDL::Event; die "usage: $0\n" if in($ARGV[0], qw/ -? -h --help/); -SDL::Init(SDL_INIT_EVERYTHING()); +SDL::Init(SDL_INIT_TIMER); print STDERR "Waiting 4 seconds\n"; SDL::Delay(4000);