ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Client.xs
(Generate patch)

Comparing deliantra/Deliantra-Client/Client.xs (file contents):
Revision 1.213 by root, Sun Jul 29 04:14:45 2007 UTC vs.
Revision 1.218 by root, Mon Aug 6 02:11:45 2007 UTC

804 XPUSHs (sv_2mortal (sv_bless (newRV_noinc ((SV *)hv), gv_stashpv ("CFPlus::UI::Event", 1)))); 804 XPUSHs (sv_2mortal (sv_bless (newRV_noinc ((SV *)hv), gv_stashpv ("CFPlus::UI::Event", 1))));
805 } 805 }
806} 806}
807 807
808int 808int
809Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 4096) 809Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 1024)
810 POSTCALL: 810 POSTCALL:
811 Mix_HookMusicFinished (music_finished); 811 Mix_HookMusicFinished (music_finished);
812 Mix_ChannelFinished (channel_finished); 812 Mix_ChannelFinished (channel_finished);
813 813
814void 814void
815Mix_CloseAudio () 815Mix_CloseAudio ()
816 816
817int 817int
818Mix_AllocateChannels (int numchans = -1) 818Mix_AllocateChannels (int numchans = -1)
819
820const char *
821Mix_GetError ()
819 822
820void 823void
821lowdelay (int fd, int val = 1) 824lowdelay (int fd, int val = 1)
822 CODE: 825 CODE:
823 setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (void *)&val, sizeof (val)); 826 setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (void *)&val, sizeof (val));
2257 CODE: 2260 CODE:
2258 RETVAL = SDL_RWFromFile (path, mode); 2261 RETVAL = SDL_RWFromFile (path, mode);
2259 OUTPUT: 2262 OUTPUT:
2260 RETVAL 2263 RETVAL
2261 2264
2265# fails on win32:
2266# CFPlus.xs(2268) : error C2059: syntax error : '('
2262void 2267#void
2263close (CFPlus::RW self) 2268#close (CFPlus::RW self)
2264 CODE: 2269# CODE:
2265 SDL_RWclose (self); 2270# (self->(close)) (self);
2266 2271
2267MODULE = CFPlus PACKAGE = CFPlus::Channel 2272MODULE = CFPlus PACKAGE = CFPlus::Channel
2268 2273
2269PROTOTYPES: DISABLE 2274PROTOTYPES: DISABLE
2275
2276CFPlus::Channel
2277find ()
2278 CODE:
2279{
2280 RETVAL = Mix_GroupAvailable (-1);
2281
2282 if (RETVAL < 0)
2283 {
2284 RETVAL = Mix_GroupOldest (-1);
2285
2286 if (RETVAL < 0)
2287 XSRETURN_UNDEF;
2288
2289 Mix_HaltChannel (RETVAL);
2290 }
2291
2292 Mix_UnregisterAllEffects (RETVAL);
2293 Mix_Volume (RETVAL, 128);
2294}
2295 OUTPUT:
2296 RETVAL
2270 2297
2271void 2298void
2272halt (CFPlus::Channel self) 2299halt (CFPlus::Channel self)
2273 CODE: 2300 CODE:
2274 Mix_HaltChannel (self); 2301 Mix_HaltChannel (self);
2284 Mix_FadeOutChannel (self, ticks); 2311 Mix_FadeOutChannel (self, ticks);
2285 2312
2286int 2313int
2287volume (CFPlus::Channel self, int volume) 2314volume (CFPlus::Channel self, int volume)
2288 CODE: 2315 CODE:
2289 RETVAL = Mix_Volume (self, volume); 2316 RETVAL = Mix_Volume (self, CLAMP (volume, 0, 128));
2290 OUTPUT: 2317 OUTPUT:
2291 RETVAL 2318 RETVAL
2292 2319
2293void 2320void
2294unregister_all_effects (CFPlus::Channel self) 2321unregister_all_effects (CFPlus::Channel self)
2296 Mix_UnregisterAllEffects (self); 2323 Mix_UnregisterAllEffects (self);
2297 2324
2298void 2325void
2299set_panning (CFPlus::Channel self, int left, int right) 2326set_panning (CFPlus::Channel self, int left, int right)
2300 CODE: 2327 CODE:
2328 left = CLAMP (left , 0, 255);
2329 right = CLAMP (right, 0, 255);
2301 Mix_SetPanning (self, left, right); 2330 Mix_SetPanning (self, left, right);
2302 2331
2303void 2332void
2304set_distance (CFPlus::Channel self, int distance) 2333set_distance (CFPlus::Channel self, int distance)
2305 CODE: 2334 CODE:
2306 Mix_SetDistance (self, distance); 2335 Mix_SetDistance (self, CLAMP (distance, 0, 255));
2307 2336
2308void 2337void
2309set_position (CFPlus::Channel self, int angle, int distance) 2338set_position (CFPlus::Channel self, int angle, int distance)
2310 CODE: 2339 CODE:
2311 Mix_SetPosition (self, angle, distance); 2340 Mix_SetPosition (self, angle, CLAMP (distance, 0, 255));
2312 2341
2313void 2342void
2314set_reverse_stereo (CFPlus::Channel self, int flip) 2343set_reverse_stereo (CFPlus::Channel self, int flip)
2315 CODE: 2344 CODE:
2316 Mix_SetReverseStereo (self, flip); 2345 Mix_SetReverseStereo (self, flip);
2332 Mix_FreeChunk (self); 2361 Mix_FreeChunk (self);
2333 2362
2334int 2363int
2335volume (CFPlus::MixChunk self, int volume = -1) 2364volume (CFPlus::MixChunk self, int volume = -1)
2336 CODE: 2365 CODE:
2366 if (items > 1)
2367 volume = CLAMP (volume, 0, 128);
2337 RETVAL = Mix_VolumeChunk (self, volume); 2368 RETVAL = Mix_VolumeChunk (self, volume);
2338 OUTPUT: 2369 OUTPUT:
2339 RETVAL 2370 RETVAL
2340 2371
2341CFPlus::Channel 2372CFPlus::Channel
2342play (CFPlus::MixChunk self, int channel = -1, int loops = 0, int ticks = -1) 2373play (CFPlus::MixChunk self, CFPlus::Channel channel = -1, int loops = 0, int ticks = -1)
2343 CODE: 2374 CODE:
2375{
2344 RETVAL = Mix_PlayChannelTimed (channel, self, loops, ticks); 2376 RETVAL = Mix_PlayChannelTimed (channel, self, loops, ticks);
2377
2378 if (RETVAL < 0)
2379 XSRETURN_UNDEF;
2380
2381 if (channel < 0)
2382 {
2345 Mix_UnregisterAllEffects (RETVAL); 2383 Mix_UnregisterAllEffects (RETVAL);
2384 Mix_Volume (RETVAL, 128);
2385 }
2386}
2346 OUTPUT: 2387 OUTPUT:
2347 RETVAL 2388 RETVAL
2348 2389
2349MODULE = CFPlus PACKAGE = CFPlus::MixMusic 2390MODULE = CFPlus PACKAGE = CFPlus::MixMusic
2350 2391
2351int 2392int
2352volume (int volume = -1) 2393volume (int volume = -1)
2353 PROTOTYPE: ;$ 2394 PROTOTYPE: ;$
2354 CODE: 2395 CODE:
2396 if (items > 0)
2397 volume = CLAMP (volume, 0, 128);
2355 RETVAL = Mix_VolumeMusic (volume); 2398 RETVAL = Mix_VolumeMusic (volume);
2356 OUTPUT: 2399 OUTPUT:
2357 RETVAL 2400 RETVAL
2358 2401
2359void 2402void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines