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.214 by root, Sun Jul 29 18:56:02 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
2260 CODE: 2260 CODE:
2261 RETVAL = SDL_RWFromFile (path, mode); 2261 RETVAL = SDL_RWFromFile (path, mode);
2262 OUTPUT: 2262 OUTPUT:
2263 RETVAL 2263 RETVAL
2264 2264
2265# fails on win32:
2266# CFPlus.xs(2268) : error C2059: syntax error : '('
2265void 2267#void
2266close (CFPlus::RW self) 2268#close (CFPlus::RW self)
2267 CODE: 2269# CODE:
2268 SDL_RWclose (self); 2270# (self->(close)) (self);
2269 2271
2270MODULE = CFPlus PACKAGE = CFPlus::Channel 2272MODULE = CFPlus PACKAGE = CFPlus::Channel
2271 2273
2272PROTOTYPES: 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
2273 2297
2274void 2298void
2275halt (CFPlus::Channel self) 2299halt (CFPlus::Channel self)
2276 CODE: 2300 CODE:
2277 Mix_HaltChannel (self); 2301 Mix_HaltChannel (self);
2287 Mix_FadeOutChannel (self, ticks); 2311 Mix_FadeOutChannel (self, ticks);
2288 2312
2289int 2313int
2290volume (CFPlus::Channel self, int volume) 2314volume (CFPlus::Channel self, int volume)
2291 CODE: 2315 CODE:
2292 RETVAL = Mix_Volume (self, volume); 2316 RETVAL = Mix_Volume (self, CLAMP (volume, 0, 128));
2293 OUTPUT: 2317 OUTPUT:
2294 RETVAL 2318 RETVAL
2295 2319
2296void 2320void
2297unregister_all_effects (CFPlus::Channel self) 2321unregister_all_effects (CFPlus::Channel self)
2299 Mix_UnregisterAllEffects (self); 2323 Mix_UnregisterAllEffects (self);
2300 2324
2301void 2325void
2302set_panning (CFPlus::Channel self, int left, int right) 2326set_panning (CFPlus::Channel self, int left, int right)
2303 CODE: 2327 CODE:
2328 left = CLAMP (left , 0, 255);
2329 right = CLAMP (right, 0, 255);
2304 Mix_SetPanning (self, left, right); 2330 Mix_SetPanning (self, left, right);
2305 2331
2306void 2332void
2307set_distance (CFPlus::Channel self, int distance) 2333set_distance (CFPlus::Channel self, int distance)
2308 CODE: 2334 CODE:
2309 Mix_SetDistance (self, distance); 2335 Mix_SetDistance (self, CLAMP (distance, 0, 255));
2310 2336
2311void 2337void
2312set_position (CFPlus::Channel self, int angle, int distance) 2338set_position (CFPlus::Channel self, int angle, int distance)
2313 CODE: 2339 CODE:
2314 Mix_SetPosition (self, angle, distance); 2340 Mix_SetPosition (self, angle, CLAMP (distance, 0, 255));
2315 2341
2316void 2342void
2317set_reverse_stereo (CFPlus::Channel self, int flip) 2343set_reverse_stereo (CFPlus::Channel self, int flip)
2318 CODE: 2344 CODE:
2319 Mix_SetReverseStereo (self, flip); 2345 Mix_SetReverseStereo (self, flip);
2335 Mix_FreeChunk (self); 2361 Mix_FreeChunk (self);
2336 2362
2337int 2363int
2338volume (CFPlus::MixChunk self, int volume = -1) 2364volume (CFPlus::MixChunk self, int volume = -1)
2339 CODE: 2365 CODE:
2366 if (items > 1)
2367 volume = CLAMP (volume, 0, 128);
2340 RETVAL = Mix_VolumeChunk (self, volume); 2368 RETVAL = Mix_VolumeChunk (self, volume);
2341 OUTPUT: 2369 OUTPUT:
2342 RETVAL 2370 RETVAL
2343 2371
2344CFPlus::Channel 2372CFPlus::Channel
2345play (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)
2346 CODE: 2374 CODE:
2375{
2347 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 {
2348 Mix_UnregisterAllEffects (RETVAL); 2383 Mix_UnregisterAllEffects (RETVAL);
2384 Mix_Volume (RETVAL, 128);
2385 }
2386}
2349 OUTPUT: 2387 OUTPUT:
2350 RETVAL 2388 RETVAL
2351 2389
2352MODULE = CFPlus PACKAGE = CFPlus::MixMusic 2390MODULE = CFPlus PACKAGE = CFPlus::MixMusic
2353 2391
2354int 2392int
2355volume (int volume = -1) 2393volume (int volume = -1)
2356 PROTOTYPE: ;$ 2394 PROTOTYPE: ;$
2357 CODE: 2395 CODE:
2396 if (items > 0)
2397 volume = CLAMP (volume, 0, 128);
2358 RETVAL = Mix_VolumeMusic (volume); 2398 RETVAL = Mix_VolumeMusic (volume);
2359 OUTPUT: 2399 OUTPUT:
2360 RETVAL 2400 RETVAL
2361 2401
2362void 2402void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines