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.195 by root, Sat Jul 14 12:05:52 2007 UTC vs.
Revision 1.199 by root, Tue Jul 17 13:53:02 2007 UTC

663SDL_GL_SwapBuffers () 663SDL_GL_SwapBuffers ()
664 664
665char * 665char *
666SDL_GetKeyName (int sym) 666SDL_GetKeyName (int sym)
667 667
668int
669SDL_GetAppState ()
670
668void 671void
669SDL_PollEvent () 672poll_events ()
670 PPCODE: 673 PPCODE:
671{ 674{
672 SDL_Event ev; 675 SDL_Event ev;
673 676
674 while (SDL_PollEvent (&ev)) 677 SDL_PumpEvents ();
678 while (SDL_PeepEvents (&ev, 1, SDL_GETEVENT, SDL_ALLEVENTS) > 0)
675 { 679 {
676 HV *hv = newHV (); 680 HV *hv = newHV ();
677 hv_store (hv, "type", 4, newSViv (ev.type), 0); 681 hv_store (hv, "type", 4, newSViv (ev.type), 0);
678 682
679 switch (ev.type) 683 switch (ev.type)
691 hv_store (hv, "gain", 4, newSViv (ev.active.gain), 0); 695 hv_store (hv, "gain", 4, newSViv (ev.active.gain), 0);
692 hv_store (hv, "state", 5, newSViv (ev.active.state), 0); 696 hv_store (hv, "state", 5, newSViv (ev.active.state), 0);
693 break; 697 break;
694 698
695 case SDL_MOUSEMOTION: 699 case SDL_MOUSEMOTION:
700 {
701 int state = ev.motion.state;
702 int x = ev.motion.x;
703 int y = ev.motion.y;
704 int xrel = ev.motion.xrel;
705 int yrel = ev.motion.yrel;
706
707 /* do simplistic event compression */
708 while (SDL_PeepEvents (&ev, 1, SDL_PEEKEVENT, SDL_EVENTMASK (SDL_MOUSEMOTION)) > 0
709 && state == ev.motion.state)
710 {
711 xrel += ev.motion.xrel;
712 yrel += ev.motion.yrel;
713 x = ev.motion.x;
714 y = ev.motion.y;
715 SDL_PeepEvents (&ev, 1, SDL_GETEVENT, SDL_EVENTMASK (SDL_MOUSEMOTION));
716 }
717
696 hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0); 718 hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0);
697
698 hv_store (hv, "state", 5, newSViv (ev.motion.state), 0); 719 hv_store (hv, "state", 5, newSViv (state), 0);
699 hv_store (hv, "x", 1, newSViv (ev.motion.x), 0); 720 hv_store (hv, "x", 1, newSViv (x), 0);
700 hv_store (hv, "y", 1, newSViv (ev.motion.y), 0); 721 hv_store (hv, "y", 1, newSViv (y), 0);
701 hv_store (hv, "xrel", 4, newSViv (ev.motion.xrel), 0); 722 hv_store (hv, "xrel", 4, newSViv (xrel), 0);
702 hv_store (hv, "yrel", 4, newSViv (ev.motion.yrel), 0); 723 hv_store (hv, "yrel", 4, newSViv (yrel), 0);
724 }
703 break; 725 break;
704 726
705 case SDL_MOUSEBUTTONDOWN: 727 case SDL_MOUSEBUTTONDOWN:
706 case SDL_MOUSEBUTTONUP: 728 case SDL_MOUSEBUTTONUP:
707 hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0); 729 hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0);
1220 flags 1242 flags
1221 ); 1243 );
1222 1244
1223MODULE = CFPlus PACKAGE = CFPlus::Texture 1245MODULE = CFPlus PACKAGE = CFPlus::Texture
1224 1246
1247int minpot (int n)
1248
1225void 1249void
1226pad2pot (SV *data_, SV *w_, SV *h_) 1250pad2pot (SV *data_, SV *w_, SV *h_)
1227 CODE: 1251 CODE:
1228{ 1252{
1229 int ow = SvIV (w_); 1253 int ow = SvIV (w_);
1305 { 1329 {
1306 glDisable (GL_ALPHA_TEST); 1330 glDisable (GL_ALPHA_TEST);
1307 glDisable (GL_BLEND); 1331 glDisable (GL_BLEND);
1308 } 1332 }
1309} 1333}
1334
1335IV texture_valid_2d (GLint internalformat, GLsizei w, GLsizei h, GLenum format, GLenum type)
1336 CODE:
1337{
1338 GLint width;
1339 glTexImage2D (GL_PROXY_TEXTURE_2D, 0, internalformat, w, h, 0, format, type, 0);
1340 glGetTexLevelParameteriv (GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
1341 RETVAL = width > 0;
1342}
1343 OUTPUT:
1344 RETVAL
1310 1345
1311MODULE = CFPlus PACKAGE = CFPlus::Map 1346MODULE = CFPlus PACKAGE = CFPlus::Map
1312 1347
1313CFPlus::Map 1348CFPlus::Map
1314new (SV *class) 1349new (SV *class)
2183 static const struct { 2218 static const struct {
2184 const char *name; 2219 const char *name;
2185 IV iv; 2220 IV iv;
2186 } *civ, const_iv[] = { 2221 } *civ, const_iv[] = {
2187# define const_iv(name) { # name, (IV)name } 2222# define const_iv(name) { # name, (IV)name }
2223 const_iv (GL_VENDOR),
2224 const_iv (GL_VERSION),
2225 const_iv (GL_EXTENSIONS),
2188 const_iv (GL_COLOR_MATERIAL), 2226 const_iv (GL_COLOR_MATERIAL),
2189 const_iv (GL_SMOOTH), 2227 const_iv (GL_SMOOTH),
2190 const_iv (GL_FLAT), 2228 const_iv (GL_FLAT),
2191 const_iv (GL_DITHER), 2229 const_iv (GL_DITHER),
2192 const_iv (GL_BLEND), 2230 const_iv (GL_BLEND),
2219 const_iv (GL_LUMINANCE), 2257 const_iv (GL_LUMINANCE),
2220 const_iv (GL_LUMINANCE_ALPHA), 2258 const_iv (GL_LUMINANCE_ALPHA),
2221 const_iv (GL_FLOAT), 2259 const_iv (GL_FLOAT),
2222 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV), 2260 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV),
2223 const_iv (GL_COMPILE), 2261 const_iv (GL_COMPILE),
2262 const_iv (GL_PROXY_TEXTURE_1D),
2263 const_iv (GL_PROXY_TEXTURE_2D),
2224 const_iv (GL_TEXTURE_1D), 2264 const_iv (GL_TEXTURE_1D),
2225 const_iv (GL_TEXTURE_2D), 2265 const_iv (GL_TEXTURE_2D),
2226 const_iv (GL_TEXTURE_ENV), 2266 const_iv (GL_TEXTURE_ENV),
2227 const_iv (GL_TEXTURE_MAG_FILTER), 2267 const_iv (GL_TEXTURE_MAG_FILTER),
2228 const_iv (GL_TEXTURE_MIN_FILTER), 2268 const_iv (GL_TEXTURE_MIN_FILTER),
2294 CODE: 2334 CODE:
2295 RETVAL = (char *)glGetString (GL_EXTENSIONS); 2335 RETVAL = (char *)glGetString (GL_EXTENSIONS);
2296 OUTPUT: 2336 OUTPUT:
2297 RETVAL 2337 RETVAL
2298 2338
2339char *glGetString (GLenum pname)
2340
2341GLint glGetInteger (GLenum pname)
2342 CODE:
2343 glGetIntegerv (pname, &RETVAL);
2344 OUTPUT:
2345 RETVAL
2346
2347GLdouble glGetDouble (GLenum pname)
2348 CODE:
2349 glGetDoublev (pname, &RETVAL);
2350 OUTPUT:
2351 RETVAL
2352
2299int glGetError () 2353int glGetError ()
2300 2354
2301void glFinish () 2355void glFinish ()
2302 2356
2303void glClear (int mask) 2357void glClear (int mask)
2425 2479
2426void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border) 2480void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border)
2427 2481
2428void glDrawPixels (int width, int height, int format, int type, char *pixels) 2482void glDrawPixels (int width, int height, int format, int type, char *pixels)
2429 2483
2484void glPixelZoom (float x, float y)
2485
2430void glCopyPixels (int x, int y, int width, int height, int type = GL_COLOR) 2486void glCopyPixels (int x, int y, int width, int height, int type = GL_COLOR)
2431 2487
2432int glGenTexture () 2488int glGenTexture ()
2433 CODE: 2489 CODE:
2434 RETVAL = gen_texture (); 2490 RETVAL = gen_texture ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines