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.61 by root, Sun Apr 23 21:47:30 2006 UTC vs.
Revision 1.67 by root, Tue Apr 25 11:18:48 2006 UTC

40#define FOW_DARKNESS 32 40#define FOW_DARKNESS 32
41 41
42#define MAP_EXTEND_X 32 42#define MAP_EXTEND_X 32
43#define MAP_EXTEND_Y 512 43#define MAP_EXTEND_Y 512
44 44
45#define MIN_FONT_HEIGHT 8 45#define MIN_FONT_HEIGHT 10
46
47#define GL_CALL(type,func,args) \
48 { \
49 static int init_; \
50 static type fptr_; \
51 \
52 if (!init_) \
53 { \
54 init_ = 1; \
55 fptr_ = (type)SDL_GL_GetProcAddress (# func); \
56 } \
57 \
58 if (fptr_) \
59 fptr_ args; \
60 }
46 61
47typedef Mix_Chunk *CFClient__MixChunk; 62typedef Mix_Chunk *CFClient__MixChunk;
48typedef Mix_Music *CFClient__MixMusic; 63typedef Mix_Music *CFClient__MixMusic;
49 64
50typedef PangoFontDescription *CFClient__Font; 65typedef PangoFontDescription *CFClient__Font;
391 SDL_Rect **m; 406 SDL_Rect **m;
392 407
393 SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 5); 408 SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 5);
394 SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 5); 409 SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 5);
395 SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5); 410 SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5);
396 SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 1); 411 SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 0);
397 412
398 SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE, 0); 413 SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE, 0);
399 SDL_GL_SetAttribute (SDL_GL_ACCUM_GREEN_SIZE, 0); 414 SDL_GL_SetAttribute (SDL_GL_ACCUM_GREEN_SIZE, 0);
400 SDL_GL_SetAttribute (SDL_GL_ACCUM_BLUE_SIZE, 0); 415 SDL_GL_SetAttribute (SDL_GL_ACCUM_BLUE_SIZE, 0);
401 SDL_GL_SetAttribute (SDL_GL_ACCUM_ALPHA_SIZE, 0); 416 SDL_GL_SetAttribute (SDL_GL_ACCUM_ALPHA_SIZE, 0);
604 PUSHs (sv_2mortal (newSViv (b / y))); 619 PUSHs (sv_2mortal (newSViv (b / y)));
605 PUSHs (sv_2mortal (newSViv (a / y))); 620 PUSHs (sv_2mortal (newSViv (a / y)));
606} 621}
607 622
608void 623void
624error (char *message)
625 CODE:
626#ifdef _WIN32
627 MessageBox (0, message, "Crossfire+ Error", MB_OK | MB_ICONERROR | MB_SETFOREGROUND);
628#else
629 fprintf (stderr, "ERROR: %s\n", message);
630#endif
631
632void
609fatal (char *message) 633fatal (char *message)
610 CODE: 634 CODE:
611#ifdef _WIN32 635#ifdef _WIN32
612 MessageBox (0, message, "Crossfire+ Fatal Error", MB_OK | MB_ICONERROR | MB_SETFOREGROUND); 636 MessageBox (0, message, "Crossfire+ Fatal Error", MB_OK | MB_ICONERROR | MB_SETFOREGROUND);
613#else 637#else
1326 const_iv (GL_COLOR_MATERIAL), 1350 const_iv (GL_COLOR_MATERIAL),
1327 const_iv (GL_SMOOTH), 1351 const_iv (GL_SMOOTH),
1328 const_iv (GL_FLAT), 1352 const_iv (GL_FLAT),
1329 const_iv (GL_BLEND), 1353 const_iv (GL_BLEND),
1330 const_iv (GL_AND), 1354 const_iv (GL_AND),
1355 const_iv (GL_ONE),
1356 const_iv (GL_ZERO),
1331 const_iv (GL_SRC_ALPHA), 1357 const_iv (GL_SRC_ALPHA),
1358 const_iv (GL_SRC_ALPHA_SATURATE),
1332 const_iv (GL_ONE_MINUS_SRC_ALPHA), 1359 const_iv (GL_ONE_MINUS_SRC_ALPHA),
1360 const_iv (GL_ONE_MINUS_DST_ALPHA),
1333 const_iv (GL_RGB), 1361 const_iv (GL_RGB),
1334 const_iv (GL_RGBA), 1362 const_iv (GL_RGBA),
1335 const_iv (GL_UNSIGNED_BYTE), 1363 const_iv (GL_UNSIGNED_BYTE),
1336 const_iv (GL_ALPHA4),
1337 const_iv (GL_ALPHA), 1364 const_iv (GL_ALPHA),
1338 const_iv (GL_FLOAT), 1365 const_iv (GL_FLOAT),
1339 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV), 1366 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV),
1340 const_iv (GL_COMPILE), 1367 const_iv (GL_COMPILE),
1341 const_iv (GL_TEXTURE_1D), 1368 const_iv (GL_TEXTURE_1D),
1353 const_iv (GL_NEAREST_MIPMAP_NEAREST), 1380 const_iv (GL_NEAREST_MIPMAP_NEAREST),
1354 const_iv (GL_LINEAR_MIPMAP_NEAREST), 1381 const_iv (GL_LINEAR_MIPMAP_NEAREST),
1355 const_iv (GL_NEAREST_MIPMAP_LINEAR), 1382 const_iv (GL_NEAREST_MIPMAP_LINEAR),
1356 const_iv (GL_LINEAR_MIPMAP_LINEAR), 1383 const_iv (GL_LINEAR_MIPMAP_LINEAR),
1357 const_iv (GL_GENERATE_MIPMAP), 1384 const_iv (GL_GENERATE_MIPMAP),
1358 const_iv (GL_LINEAR),
1359 const_iv (GL_MODULATE), 1385 const_iv (GL_MODULATE),
1360 const_iv (GL_REPLACE), 1386 const_iv (GL_REPLACE),
1361 const_iv (GL_COLOR_BUFFER_BIT), 1387 const_iv (GL_COLOR_BUFFER_BIT),
1362 const_iv (GL_PROJECTION), 1388 const_iv (GL_PROJECTION),
1363 const_iv (GL_MODELVIEW), 1389 const_iv (GL_MODELVIEW),
1402 1428
1403void glPopMatrix () 1429void glPopMatrix ()
1404 1430
1405void glLoadIdentity () 1431void glLoadIdentity ()
1406 1432
1433# near and far are due to microsofts buggy c compiler
1407void glOrtho (double left, double right, double bottom, double top, double near, double far) 1434void glOrtho (double left, double right, double bottom, double top, double near_, double far_)
1408 1435
1409void glViewport (int x, int y, int width, int height) 1436void glViewport (int x, int y, int width, int height)
1410 1437
1411void glTranslate (float x, float y, float z = 0.) 1438void glTranslate (float x, float y, float z = 0.)
1412 CODE: 1439 CODE:
1413 glTranslatef (x, y, z); 1440 glTranslatef (x, y, z);
1414 1441
1415void glScale (float x, float y, float z) 1442void glScale (float x, float y, float z = 1.)
1416 CODE: 1443 CODE:
1417 glScalef (x, y, z); 1444 glScalef (x, y, z);
1418 1445
1419void glRotate (float angle, float x, float y, float z) 1446void glRotate (float angle, float x, float y, float z)
1420 CODE: 1447 CODE:
1447 1474
1448void glBindTexture (int target, int name) 1475void glBindTexture (int target, int name)
1449 1476
1450void glConvolutionParameter (int target, int pname, float params) 1477void glConvolutionParameter (int target, int pname, float params)
1451 CODE: 1478 CODE:
1452 glConvolutionParameterf (target, pname, params); 1479 GL_CALL (PFNGLCONVOLUTIONPARAMETERFEXTPROC, glConvolutionParameterf, (target, pname, params));
1453 1480
1454void glConvolutionFilter2D (int target, int internalformat, int width, int height, int format, int type, char *data) 1481void glConvolutionFilter2D (int target, int internalformat, int width, int height, int format, int type, char *data)
1482 CODE:
1483 GL_CALL (PFNGLCONVOLUTIONFILTER2DEXTPROC, glConvolutionFilter2D,
1484 (target, internalformat, width, height, format, type, data));
1455 1485
1456void glTexImage2D (int target, int level, int internalformat, int width, int height, int border, int format, int type, char *data) 1486void glTexImage2D (int target, int level, int internalformat, int width, int height, int border, int format, int type, char *data)
1457 1487
1458void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border) 1488void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border)
1459 1489

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines