--- deliantra/Deliantra-Client/Client.xs 2010/02/04 20:01:08 1.301 +++ deliantra/Deliantra-Client/Client.xs 2010/05/02 21:22:20 1.305 @@ -1029,6 +1029,19 @@ } } +char * +SDL_AudioDriverName () + CODE: +{ + char buf [256]; + if (!SDL_AudioDriverName (buf, sizeof (buf))) + XSRETURN_UNDEF; + + RETVAL = buf; +} + OUTPUT: + RETVAL + int Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 4096) POSTCALL: @@ -1102,6 +1115,9 @@ RETVAL void +IMG_Init (int flags = IMG_INIT_JPG | IMG_INIT_PNG) + +void load_image_inline (SV *image_) ALIAS: load_image_file = 1 @@ -2800,9 +2816,15 @@ RETVAL = Mix_GroupOldest (-1); if (RETVAL < 0) - XSRETURN_UNDEF; + { + // happens sometimes, maybe it just stopped playing(?) + RETVAL = Mix_GroupAvailable (-1); - Mix_HaltChannel (RETVAL); + if (RETVAL < 0) + XSRETURN_UNDEF; + } + else + Mix_HaltChannel (RETVAL); } Mix_UnregisterAllEffects (RETVAL); @@ -3167,6 +3189,8 @@ void glFinish () +void glFlush () + void glClear (int mask) void glClearColor (float r, float g, float b, float a = 1.0)