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.198 by root, Sun Jul 15 21:42:02 2007 UTC vs.
Revision 1.200 by root, Tue Jul 17 16:02:13 2007 UTC

587 opengl_fontmap = pango_opengl_font_map_new (); 587 opengl_fontmap = pango_opengl_font_map_new ();
588 pango_opengl_font_map_set_default_substitute ((PangoOpenGLFontMap *)opengl_fontmap, substitute_func, 0, 0); 588 pango_opengl_font_map_set_default_substitute ((PangoOpenGLFontMap *)opengl_fontmap, substitute_func, 0, 0);
589 opengl_context = pango_opengl_font_map_create_context ((PangoOpenGLFontMap *)opengl_fontmap); 589 opengl_context = pango_opengl_font_map_create_context ((PangoOpenGLFontMap *)opengl_fontmap);
590} 590}
591 591
592char *
593SDL_GetError ()
594
592int 595int
593SDL_Init (U32 flags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | PARACHUTE) 596SDL_Init (U32 flags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | PARACHUTE)
594 597
595void 598void
596SDL_Quit () 599SDL_Quit ()
597 600
598void 601void
599SDL_ListModes () 602SDL_ListModes (int rgb, int alpha)
600 PPCODE: 603 PPCODE:
601{ 604{
602 SDL_Rect **m; 605 SDL_Rect **m;
603 606
604 SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 5); 607 SDL_GL_SetAttribute (SDL_GL_RED_SIZE , rgb);
605 SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 5); 608 SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, rgb);
606 SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5); 609 SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE , rgb);
607 SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 1); 610 SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, alpha);
608 611
609 SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 15); 612 SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 15);
610 SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, 0); 613 SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE , 0);
611 614
612 SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE, 0); 615 SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE , 0);
613 SDL_GL_SetAttribute (SDL_GL_ACCUM_GREEN_SIZE, 0); 616 SDL_GL_SetAttribute (SDL_GL_ACCUM_GREEN_SIZE, 0);
614 SDL_GL_SetAttribute (SDL_GL_ACCUM_BLUE_SIZE, 0); 617 SDL_GL_SetAttribute (SDL_GL_ACCUM_BLUE_SIZE , 0);
615 SDL_GL_SetAttribute (SDL_GL_ACCUM_ALPHA_SIZE, 0); 618 SDL_GL_SetAttribute (SDL_GL_ACCUM_ALPHA_SIZE, 0);
616 619
617 SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1); 620 SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
618#if SDL_VERSION_ATLEAST(1,2,10) 621#if SDL_VERSION_ATLEAST(1,2,10)
619 SDL_GL_SetAttribute (SDL_GL_ACCELERATED_VISUAL, 1); 622 SDL_GL_SetAttribute (SDL_GL_ACCELERATED_VISUAL, 1);
620 SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 1); 623 SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 1);
621#endif 624#endif
622 625
623 SDL_EnableUNICODE (1);
624 SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
625
626 m = SDL_ListModes (0, SDL_FULLSCREEN | SDL_OPENGL); 626 m = SDL_ListModes (0, SDL_FULLSCREEN | SDL_OPENGL);
627 627
628 if (m && m != (SDL_Rect **)-1) 628 if (m && m != (SDL_Rect **)-1)
629 while (*m) 629 while (*m)
630 { 630 {
631 if ((*m)->w >= 640 && (*m)->h >= 480)
632 {
631 AV *av = newAV (); 633 AV *av = newAV ();
632 av_push (av, newSViv ((*m)->w)); 634 av_push (av, newSViv ((*m)->w));
633 av_push (av, newSViv ((*m)->h)); 635 av_push (av, newSViv ((*m)->h));
636 av_push (av, newSViv (rgb));
637 av_push (av, newSViv (alpha));
634 XPUSHs (sv_2mortal (newRV_noinc ((SV *)av))); 638 XPUSHs (sv_2mortal (newRV_noinc ((SV *)av)));
639 }
635 640
636 ++m; 641 ++m;
637 } 642 }
638} 643}
639 644
640char *
641SDL_GetError ()
642
643int 645int
644SDL_SetVideoMode (int w, int h, int fullscreen) 646SDL_SetVideoMode (int w, int h, int rgb, int alpha, int fullscreen)
645 CODE: 647 CODE:
648{
649 SDL_EnableUNICODE (1);
650 SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
651
652 SDL_GL_SetAttribute (SDL_GL_RED_SIZE , rgb);
653 SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, rgb);
654 SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE , rgb);
655 SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, alpha);
656
646 RETVAL = !!SDL_SetVideoMode ( 657 RETVAL = !!SDL_SetVideoMode (
647 w, h, 0, SDL_OPENGL | (fullscreen ? SDL_FULLSCREEN : 0) 658 w, h, 0, SDL_OPENGL | (fullscreen ? SDL_FULLSCREEN : 0)
648 ); 659 );
660
649 if (RETVAL) 661 if (RETVAL)
650 { 662 {
651 av_clear (texture_av); 663 av_clear (texture_av);
652 664
653 SDL_WM_SetCaption ("Crossfire+ Client " VERSION, "Crossfire+"); 665 SDL_WM_SetCaption ("Crossfire+ Client " VERSION, "Crossfire+");
654# define GL_FUNC(ptr,name) gl.name = (ptr)SDL_GL_GetProcAddress ("gl" # name); 666#define GL_FUNC(ptr,name) gl.name = (ptr)SDL_GL_GetProcAddress ("gl" # name);
655# include "glfunc.h" 667#include "glfunc.h"
656# undef GL_FUNC 668#undef GL_FUNC
657
658 } 669 }
670}
659 OUTPUT: 671 OUTPUT:
660 RETVAL 672 RETVAL
661 673
662void 674void
663SDL_GL_SwapBuffers () 675SDL_GL_SwapBuffers ()
1242 flags 1254 flags
1243 ); 1255 );
1244 1256
1245MODULE = CFPlus PACKAGE = CFPlus::Texture 1257MODULE = CFPlus PACKAGE = CFPlus::Texture
1246 1258
1259int minpot (int n)
1260
1247void 1261void
1248pad2pot (SV *data_, SV *w_, SV *h_) 1262pad2pot (SV *data_, SV *w_, SV *h_)
1249 CODE: 1263 CODE:
1250{ 1264{
1251 int ow = SvIV (w_); 1265 int ow = SvIV (w_);
1327 { 1341 {
1328 glDisable (GL_ALPHA_TEST); 1342 glDisable (GL_ALPHA_TEST);
1329 glDisable (GL_BLEND); 1343 glDisable (GL_BLEND);
1330 } 1344 }
1331} 1345}
1346
1347IV texture_valid_2d (GLint internalformat, GLsizei w, GLsizei h, GLenum format, GLenum type)
1348 CODE:
1349{
1350 GLint width;
1351 glTexImage2D (GL_PROXY_TEXTURE_2D, 0, internalformat, w, h, 0, format, type, 0);
1352 glGetTexLevelParameteriv (GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
1353 RETVAL = width > 0;
1354}
1355 OUTPUT:
1356 RETVAL
1332 1357
1333MODULE = CFPlus PACKAGE = CFPlus::Map 1358MODULE = CFPlus PACKAGE = CFPlus::Map
1334 1359
1335CFPlus::Map 1360CFPlus::Map
1336new (SV *class) 1361new (SV *class)
2205 static const struct { 2230 static const struct {
2206 const char *name; 2231 const char *name;
2207 IV iv; 2232 IV iv;
2208 } *civ, const_iv[] = { 2233 } *civ, const_iv[] = {
2209# define const_iv(name) { # name, (IV)name } 2234# define const_iv(name) { # name, (IV)name }
2235 const_iv (GL_VENDOR),
2236 const_iv (GL_VERSION),
2237 const_iv (GL_EXTENSIONS),
2210 const_iv (GL_COLOR_MATERIAL), 2238 const_iv (GL_COLOR_MATERIAL),
2211 const_iv (GL_SMOOTH), 2239 const_iv (GL_SMOOTH),
2212 const_iv (GL_FLAT), 2240 const_iv (GL_FLAT),
2213 const_iv (GL_DITHER), 2241 const_iv (GL_DITHER),
2214 const_iv (GL_BLEND), 2242 const_iv (GL_BLEND),
2241 const_iv (GL_LUMINANCE), 2269 const_iv (GL_LUMINANCE),
2242 const_iv (GL_LUMINANCE_ALPHA), 2270 const_iv (GL_LUMINANCE_ALPHA),
2243 const_iv (GL_FLOAT), 2271 const_iv (GL_FLOAT),
2244 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV), 2272 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV),
2245 const_iv (GL_COMPILE), 2273 const_iv (GL_COMPILE),
2274 const_iv (GL_PROXY_TEXTURE_1D),
2275 const_iv (GL_PROXY_TEXTURE_2D),
2246 const_iv (GL_TEXTURE_1D), 2276 const_iv (GL_TEXTURE_1D),
2247 const_iv (GL_TEXTURE_2D), 2277 const_iv (GL_TEXTURE_2D),
2248 const_iv (GL_TEXTURE_ENV), 2278 const_iv (GL_TEXTURE_ENV),
2249 const_iv (GL_TEXTURE_MAG_FILTER), 2279 const_iv (GL_TEXTURE_MAG_FILTER),
2250 const_iv (GL_TEXTURE_MIN_FILTER), 2280 const_iv (GL_TEXTURE_MIN_FILTER),
2316 CODE: 2346 CODE:
2317 RETVAL = (char *)glGetString (GL_EXTENSIONS); 2347 RETVAL = (char *)glGetString (GL_EXTENSIONS);
2318 OUTPUT: 2348 OUTPUT:
2319 RETVAL 2349 RETVAL
2320 2350
2351char *glGetString (GLenum pname)
2352
2353GLint glGetInteger (GLenum pname)
2354 CODE:
2355 glGetIntegerv (pname, &RETVAL);
2356 OUTPUT:
2357 RETVAL
2358
2359GLdouble glGetDouble (GLenum pname)
2360 CODE:
2361 glGetDoublev (pname, &RETVAL);
2362 OUTPUT:
2363 RETVAL
2364
2321int glGetError () 2365int glGetError ()
2322 2366
2323void glFinish () 2367void glFinish ()
2324 2368
2325void glClear (int mask) 2369void glClear (int mask)
2447 2491
2448void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border) 2492void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border)
2449 2493
2450void glDrawPixels (int width, int height, int format, int type, char *pixels) 2494void glDrawPixels (int width, int height, int format, int type, char *pixels)
2451 2495
2496void glPixelZoom (float x, float y)
2497
2452void glCopyPixels (int x, int y, int width, int height, int type = GL_COLOR) 2498void glCopyPixels (int x, int y, int width, int height, int type = GL_COLOR)
2453 2499
2454int glGenTexture () 2500int glGenTexture ()
2455 CODE: 2501 CODE:
2456 RETVAL = gen_texture (); 2502 RETVAL = gen_texture ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines