--- deliantra/Deliantra-Client/Client.xs 2006/04/19 20:46:44 1.51 +++ deliantra/Deliantra-Client/Client.xs 2006/04/19 21:17:15 1.52 @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -39,6 +40,9 @@ #define MAP_EXTEND_X 32 #define MAP_EXTEND_Y 512 +typedef Mix_Chunk *CFClient__MixChunk; +typedef Mix_Music *CFClient__MixMusic; + static PangoContext *context; static PangoFontMap *fontmap; @@ -408,6 +412,18 @@ OUTPUT: RETVAL +int +Mix_VolumeMusic (int newvol = -1) + +int +Mix_OpenAudio (int frequency = 22050, int format = MIX_DEFAULT_FORMAT, int channels = 1, int chunksize = 512) + +void +Mix_CloseAudio () + +int +Mix_AllocateChannels (int numchans = -1) + void lowdelay (int fd, int val = 1) CODE: @@ -1153,3 +1169,59 @@ } } +MODULE = CFClient PACKAGE = CFClient::MixChunk + +CFClient::MixChunk +new_from_file (SV *class, char *path) + CODE: + RETVAL = Mix_LoadWAV (path); + OUTPUT: + RETVAL + +void +DESTROY (CFClient::MixChunk self) + CODE: + Mix_FreeChunk (self); + +int +volume (CFClient::MixChunk self, int volume = -1) + CODE: + RETVAL = Mix_VolumeChunk (self, volume); + OUTPUT: + RETVAL + +int +play (CFClient::MixChunk self, int channel = -1, int loops = 0, int ticks = -1) + CODE: + RETVAL = Mix_PlayChannelTimed (channel, self, loops, ticks); + OUTPUT: + RETVAL + +MODULE = CFClient PACKAGE = CFClient::MixMusic + +int +volume (int volume = -1) + CODE: + RETVAL = Mix_VolumeMusic (volume); + OUTPUT: + RETVAL + +CFClient::MixMusic +new_from_file (SV *class, char *path) + CODE: + RETVAL = Mix_LoadMUS (path); + OUTPUT: + RETVAL + +void +DESTROY (CFClient::MixMusic self) + CODE: + Mix_FreeMusic (self); + +int +play (CFClient::MixMusic self, int loops = -1) + CODE: + RETVAL = Mix_PlayMusic (self, loops); + OUTPUT: + RETVAL +