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.69 by root, Sun Apr 30 08:09:44 2006 UTC vs.
Revision 1.71 by root, Fri May 5 19:05:47 2006 UTC

265 SDL_UserEvent ev; 265 SDL_UserEvent ev;
266 266
267 ev.type = SDL_USEREVENT; 267 ev.type = SDL_USEREVENT;
268 ev.code = 0; 268 ev.code = 0;
269 ev.data1 = 0; 269 ev.data1 = 0;
270 ev.data2 = 0;
271
272 SDL_PushEvent ((SDL_Event *)&ev);
273}
274
275static void
276channel_finished (int channel)
277{
278 SDL_UserEvent ev;
279
280 ev.type = SDL_USEREVENT;
281 ev.code = 1;
282 ev.data1 = channel;
270 ev.data2 = 0; 283 ev.data2 = 0;
271 284
272 SDL_PushEvent ((SDL_Event *)&ev); 285 SDL_PushEvent ((SDL_Event *)&ev);
273} 286}
274 287
457 470
458 while (SDL_PollEvent (&ev)) 471 while (SDL_PollEvent (&ev))
459 { 472 {
460 HV *hv = newHV (); 473 HV *hv = newHV ();
461 hv_store (hv, "type", 4, newSViv (ev.type), 0); 474 hv_store (hv, "type", 4, newSViv (ev.type), 0);
475
462 switch (ev.type) 476 switch (ev.type)
463 { 477 {
464 case SDL_KEYDOWN: 478 case SDL_KEYDOWN:
465 case SDL_KEYUP: 479 case SDL_KEYUP:
466 hv_store (hv, "state", 5, newSViv (ev.key.state), 0); 480 hv_store (hv, "state", 5, newSViv (ev.key.state), 0);
486 case SDL_MOUSEBUTTONUP: 500 case SDL_MOUSEBUTTONUP:
487 hv_store (hv, "button", 6, newSViv (ev.button.button), 0); 501 hv_store (hv, "button", 6, newSViv (ev.button.button), 0);
488 hv_store (hv, "state", 5, newSViv (ev.button.state), 0); 502 hv_store (hv, "state", 5, newSViv (ev.button.state), 0);
489 hv_store (hv, "x", 1, newSViv (ev.button.x), 0); 503 hv_store (hv, "x", 1, newSViv (ev.button.x), 0);
490 hv_store (hv, "y", 1, newSViv (ev.button.y), 0); 504 hv_store (hv, "y", 1, newSViv (ev.button.y), 0);
505 break;
491 } 506 }
492 507
493 XPUSHs (sv_2mortal (newRV_noinc ((SV *)hv))); 508 XPUSHs (sv_2mortal (newRV_noinc ((SV *)hv)));
494 } 509 }
495} 510}
496 511
497int 512int
498Mix_OpenAudio (int frequency = 22050, int format = MIX_DEFAULT_FORMAT, int channels = 1, int chunksize = 512) 513Mix_OpenAudio (int frequency = 22050, int format = MIX_DEFAULT_FORMAT, int channels = 1, int chunksize = 512)
499 POSTCALL: 514 POSTCALL:
500 Mix_HookMusicFinished (music_finished); 515 Mix_HookMusicFinished (music_finished);
516 Mix_ChannelFinished (channel_finished);
501 517
502void 518void
503Mix_CloseAudio () 519Mix_CloseAudio ()
504 520
505int 521int
640 exit (1); 656 exit (1);
641 657
642MODULE = CFClient PACKAGE = CFClient::Font 658MODULE = CFClient PACKAGE = CFClient::Font
643 659
644CFClient::Font 660CFClient::Font
645new_from_file (SV *class, char *path) 661new_from_file (SV *class, char *path, int id = 0)
646 CODE: 662 CODE:
647{ 663{
648 int count; 664 int count;
649 FcPattern *pattern = FcFreeTypeQuery ((const FcChar8 *)path, 0, 0, &count); 665 FcPattern *pattern = FcFreeTypeQuery ((const FcChar8 *)path, id, 0, &count);
650 RETVAL = pango_fc_font_description_from_pattern (pattern, 0); 666 RETVAL = pango_fc_font_description_from_pattern (pattern, 0);
651 FcPatternDestroy (pattern); 667 FcPatternDestroy (pattern);
652} 668}
653 OUTPUT: 669 OUTPUT:
654 RETVAL 670 RETVAL
1460void glEnd () 1476void glEnd ()
1461 1477
1462void glColor (float r, float g, float b, float a = 1.0) 1478void glColor (float r, float g, float b, float a = 1.0)
1463 PROTOTYPE: @ 1479 PROTOTYPE: @
1464 CODE: 1480 CODE:
1465 glColor4f (r, g, b, a); 1481 glColor4ub (r * 255., g * 255., b * 255., a * 255.);
1466 1482
1467void glVertex (float x, float y, float z = 0.) 1483void glVertex (float x, float y, float z = 0.)
1468 CODE: 1484 CODE:
1469 glVertex3f (x, y, z); 1485 glVertex3f (x, y, z);
1470 1486

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines