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.230 by root, Sun Aug 19 12:56:24 2007 UTC vs.
Revision 1.235 by root, Tue Aug 28 01:23:47 2007 UTC

438 n |= n >> 4; 438 n |= n >> 4;
439 n |= n >> 8; 439 n |= n >> 8;
440 n |= n >> 16; 440 n |= n >> 16;
441 441
442 return n + 1; 442 return n + 1;
443}
444
445static unsigned int
446popcount (unsigned int n)
447{
448 n -= (n >> 1) & 0x55555555U;
449 n = ((n >> 2) & 0x33333333U) + (n & 0x33333333U);
450 n = ((n >> 4) + n) & 0x0f0f0f0fU;
451 n *= 0x01010101U;
452
453 return n >> 24;
443} 454}
444 455
445/* SDL should provide this, really. */ 456/* SDL should provide this, really. */
446#define SDLK_MODIFIER_MIN 300 457#define SDLK_MODIFIER_MIN 300
447#define SDLK_MODIFIER_MAX 314 458#define SDLK_MODIFIER_MAX 314
525 536
526 const_iv (SDL_APPINPUTFOCUS), 537 const_iv (SDL_APPINPUTFOCUS),
527 const_iv (SDL_APPMOUSEFOCUS), 538 const_iv (SDL_APPMOUSEFOCUS),
528 const_iv (SDL_APPACTIVE), 539 const_iv (SDL_APPACTIVE),
529 540
541 const_iv (SDLK_FIRST),
542 const_iv (SDLK_LAST),
530 const_iv (SDLK_KP0), 543 const_iv (SDLK_KP0),
531 const_iv (SDLK_KP1), 544 const_iv (SDLK_KP1),
532 const_iv (SDLK_KP2), 545 const_iv (SDLK_KP2),
533 const_iv (SDLK_KP3), 546 const_iv (SDLK_KP3),
534 const_iv (SDLK_KP4), 547 const_iv (SDLK_KP4),
633 646
634NV floor (NV x) 647NV floor (NV x)
635 648
636NV ceil (NV x) 649NV ceil (NV x)
637 650
651IV minpot (UV n)
652
653IV popcount (UV n)
654
638void 655void
639pango_init () 656pango_init ()
640 CODE: 657 CODE:
641{ 658{
642 opengl_fontmap = pango_opengl_font_map_new (); 659 opengl_fontmap = pango_opengl_font_map_new ();
1345} 1362}
1346 1363
1347MODULE = CFPlus PACKAGE = CFPlus::Texture 1364MODULE = CFPlus PACKAGE = CFPlus::Texture
1348 1365
1349PROTOTYPES: ENABLE 1366PROTOTYPES: ENABLE
1350
1351int minpot (int n)
1352 1367
1353void 1368void
1354pad (SV *data_, int ow, int oh, int nw, int nh) 1369pad (SV *data_, int ow, int oh, int nw, int nh)
1355 CODE: 1370 CODE:
1356{ 1371{
2603 const_iv (GL_PERSPECTIVE_CORRECTION_HINT), 2618 const_iv (GL_PERSPECTIVE_CORRECTION_HINT),
2604 const_iv (GL_POINT_SMOOTH_HINT), 2619 const_iv (GL_POINT_SMOOTH_HINT),
2605 const_iv (GL_LINE_SMOOTH_HINT), 2620 const_iv (GL_LINE_SMOOTH_HINT),
2606 const_iv (GL_POLYGON_SMOOTH_HINT), 2621 const_iv (GL_POLYGON_SMOOTH_HINT),
2607 const_iv (GL_GENERATE_MIPMAP_HINT), 2622 const_iv (GL_GENERATE_MIPMAP_HINT),
2623 const_iv (GL_TEXTURE_COMPRESSION_HINT),
2608 const_iv (GL_FASTEST), 2624 const_iv (GL_FASTEST),
2609 const_iv (GL_DONT_CARE), 2625 const_iv (GL_DONT_CARE),
2610 const_iv (GL_NICEST), 2626 const_iv (GL_NICEST),
2611 const_iv (GL_V2F), 2627 const_iv (GL_V2F),
2612 const_iv (GL_V3F), 2628 const_iv (GL_V3F),
2620 2636
2621 texture_av = newAV (); 2637 texture_av = newAV ();
2622 AvREAL_off (texture_av); 2638 AvREAL_off (texture_av);
2623} 2639}
2624 2640
2641void
2642disable_GL_EXT_blend_func_separate ()
2643 CODE:
2644 gl.BlendFuncSeparate = 0;
2645 gl.BlendFuncSeparateEXT = 0;
2646
2625char * 2647char *
2626gl_vendor () 2648gl_vendor ()
2627 CODE: 2649 CODE:
2628 RETVAL = (char *)glGetString (GL_VENDOR); 2650 RETVAL = (char *)glGetString (GL_VENDOR);
2629 OUTPUT: 2651 OUTPUT:
2749 glTexCoord2f (s, t); 2771 glTexCoord2f (s, t);
2750 2772
2751void glRect (float x1, float y1, float x2, float y2) 2773void glRect (float x1, float y1, float x2, float y2)
2752 CODE: 2774 CODE:
2753 glRectf (x1, y1, x2, y2); 2775 glRectf (x1, y1, x2, y2);
2776
2777void glRect_lineloop (float x1, float y1, float x2, float y2)
2778 CODE:
2779 glBegin (GL_LINE_LOOP);
2780 glVertex2f (x1, y1);
2781 glVertex2f (x2, y1);
2782 glVertex2f (x2, y2);
2783 glVertex2f (x1, y2);
2784 glEnd ();
2754 2785
2755PROTOTYPES: ENABLE 2786PROTOTYPES: ENABLE
2756 2787
2757void glBegin (int mode) 2788void glBegin (int mode)
2758 2789
2911 glEnd (); 2942 glEnd ();
2912 glDisable (GL_BLEND); 2943 glDisable (GL_BLEND);
2913 } 2944 }
2914 } 2945 }
2915#if 0 2946#if 0
2916 if ($ENV{CFPLUS_DEBUG} & 1) { 2947 // draw borders, for debugging
2917 glPushMatrix; 2948 glPushMatrix ();
2918 glColor 1, 1, 0, 1; 2949 glColor4f (1., 1., 0., 1.);
2919 glTranslate 0.375, 0.375; 2950 glTranslatef (.5, .5, 0.);
2920 glBegin GL_LINE_LOOP; 2951 glBegin (GL_LINE_LOOP);
2921 glVertex 0 , 0; 2952 glVertex2f (0 , 0);
2922 glVertex $self->{w} - 1, 0; 2953 glVertex2f (w - 1, 0);
2923 glVertex $self->{w} - 1, $self->{h} - 1; 2954 glVertex2f (w - 1, h - 1);
2924 glVertex 0 , $self->{h} - 1; 2955 glVertex2f (0 , h - 1);
2925 glEnd; 2956 glEnd ();
2926 glPopMatrix; 2957 glPopMatrix ();
2927 #CFPlus::UI::Label->new (w => $self->{w}, h => $self->{h}, text => $self, fontsize => 0)->_draw;
2928 }
2929#endif 2958#endif
2930 PUSHMARK (SP); 2959 PUSHMARK (SP);
2931 XPUSHs (self); 2960 XPUSHs (self);
2932 PUTBACK; 2961 PUTBACK;
2933 call_method ("_draw", G_VOID | G_DISCARD); 2962 call_method ("_draw", G_VOID | G_DISCARD);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines