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.69 by root, Sun Apr 30 08:09:44 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;
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
1324 } *civ, const_iv[] = { 1348 } *civ, const_iv[] = {
1325# define const_iv(name) { # name, (IV)name } 1349# define const_iv(name) { # name, (IV)name }
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),
1353 const_iv (GL_DITHER),
1329 const_iv (GL_BLEND), 1354 const_iv (GL_BLEND),
1355 const_iv (GL_SCISSOR_TEST),
1330 const_iv (GL_AND), 1356 const_iv (GL_AND),
1357 const_iv (GL_ONE),
1358 const_iv (GL_ZERO),
1331 const_iv (GL_SRC_ALPHA), 1359 const_iv (GL_SRC_ALPHA),
1360 const_iv (GL_SRC_ALPHA_SATURATE),
1332 const_iv (GL_ONE_MINUS_SRC_ALPHA), 1361 const_iv (GL_ONE_MINUS_SRC_ALPHA),
1362 const_iv (GL_ONE_MINUS_DST_ALPHA),
1333 const_iv (GL_RGB), 1363 const_iv (GL_RGB),
1334 const_iv (GL_RGBA), 1364 const_iv (GL_RGBA),
1335 const_iv (GL_UNSIGNED_BYTE), 1365 const_iv (GL_UNSIGNED_BYTE),
1336 const_iv (GL_ALPHA4),
1337 const_iv (GL_ALPHA), 1366 const_iv (GL_ALPHA),
1338 const_iv (GL_FLOAT), 1367 const_iv (GL_FLOAT),
1339 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV), 1368 const_iv (GL_UNSIGNED_INT_8_8_8_8_REV),
1340 const_iv (GL_COMPILE), 1369 const_iv (GL_COMPILE),
1341 const_iv (GL_TEXTURE_1D), 1370 const_iv (GL_TEXTURE_1D),
1353 const_iv (GL_NEAREST_MIPMAP_NEAREST), 1382 const_iv (GL_NEAREST_MIPMAP_NEAREST),
1354 const_iv (GL_LINEAR_MIPMAP_NEAREST), 1383 const_iv (GL_LINEAR_MIPMAP_NEAREST),
1355 const_iv (GL_NEAREST_MIPMAP_LINEAR), 1384 const_iv (GL_NEAREST_MIPMAP_LINEAR),
1356 const_iv (GL_LINEAR_MIPMAP_LINEAR), 1385 const_iv (GL_LINEAR_MIPMAP_LINEAR),
1357 const_iv (GL_GENERATE_MIPMAP), 1386 const_iv (GL_GENERATE_MIPMAP),
1358 const_iv (GL_LINEAR),
1359 const_iv (GL_MODULATE), 1387 const_iv (GL_MODULATE),
1388 const_iv (GL_DECAL),
1360 const_iv (GL_REPLACE), 1389 const_iv (GL_REPLACE),
1361 const_iv (GL_COLOR_BUFFER_BIT), 1390 const_iv (GL_COLOR_BUFFER_BIT),
1362 const_iv (GL_PROJECTION), 1391 const_iv (GL_PROJECTION),
1363 const_iv (GL_MODELVIEW), 1392 const_iv (GL_MODELVIEW),
1364 const_iv (GL_COLOR_LOGIC_OP), 1393 const_iv (GL_COLOR_LOGIC_OP),
1394 const_iv (GL_SEPARABLE_2D),
1365 const_iv (GL_CONVOLUTION_2D), 1395 const_iv (GL_CONVOLUTION_2D),
1366 const_iv (GL_CONVOLUTION_BORDER_MODE), 1396 const_iv (GL_CONVOLUTION_BORDER_MODE),
1367 const_iv (GL_CONSTANT_BORDER), 1397 const_iv (GL_CONSTANT_BORDER),
1368 const_iv (GL_LINES), 1398 const_iv (GL_LINES),
1369 const_iv (GL_QUADS), 1399 const_iv (GL_QUADS),
1394 1424
1395void glBlendFunc (int sfactor, int dfactor) 1425void glBlendFunc (int sfactor, int dfactor)
1396 1426
1397void glLogicOp (int opcode) 1427void glLogicOp (int opcode)
1398 1428
1429void glColorMask (int red, int green, int blue, int alpha)
1430
1399void glMatrixMode (int mode) 1431void glMatrixMode (int mode)
1400 1432
1401void glPushMatrix () 1433void glPushMatrix ()
1402 1434
1403void glPopMatrix () 1435void glPopMatrix ()
1404 1436
1405void glLoadIdentity () 1437void glLoadIdentity ()
1406 1438
1439# near and far are due to microsofts buggy c compiler
1407void glOrtho (double left, double right, double bottom, double top, double near, double far) 1440void glOrtho (double left, double right, double bottom, double top, double near_, double far_)
1408 1441
1409void glViewport (int x, int y, int width, int height) 1442void glViewport (int x, int y, int width, int height)
1443
1444void glScissor (int x, int y, int width, int height)
1410 1445
1411void glTranslate (float x, float y, float z = 0.) 1446void glTranslate (float x, float y, float z = 0.)
1412 CODE: 1447 CODE:
1413 glTranslatef (x, y, z); 1448 glTranslatef (x, y, z);
1414 1449
1415void glScale (float x, float y, float z) 1450void glScale (float x, float y, float z = 1.)
1416 CODE: 1451 CODE:
1417 glScalef (x, y, z); 1452 glScalef (x, y, z);
1418 1453
1419void glRotate (float angle, float x, float y, float z) 1454void glRotate (float angle, float x, float y, float z)
1420 CODE: 1455 CODE:
1447 1482
1448void glBindTexture (int target, int name) 1483void glBindTexture (int target, int name)
1449 1484
1450void glConvolutionParameter (int target, int pname, float params) 1485void glConvolutionParameter (int target, int pname, float params)
1451 CODE: 1486 CODE:
1452 glConvolutionParameterf (target, pname, params); 1487 GL_CALL (PFNGLCONVOLUTIONPARAMETERFEXTPROC, glConvolutionParameterf, (target, pname, params));
1453 1488
1454void glConvolutionFilter2D (int target, int internalformat, int width, int height, int format, int type, char *data) 1489void glConvolutionFilter2D (int target, int internalformat, int width, int height, int format, int type, char *data)
1490 CODE:
1491 GL_CALL (PFNGLCONVOLUTIONFILTER2DEXTPROC, glConvolutionFilter2D,
1492 (target, internalformat, width, height, format, type, data));
1493
1494void glSeparableFilter2D (int target, int internalformat, int width, int height, int format, int type, char *row, char *column)
1495 CODE:
1496 GL_CALL (PFNGLSEPARABLEFILTER2DEXTPROC, glSeparableFilter2D,
1497 (target, internalformat, width, height, format, type, row, column));
1455 1498
1456void glTexImage2D (int target, int level, int internalformat, int width, int height, int border, int format, int type, char *data) 1499void glTexImage2D (int target, int level, int internalformat, int width, int height, int border, int format, int type, char *data)
1457 1500
1458void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border) 1501void glCopyTexImage2D (int target, int level, int internalformat, int x, int y, int width, int height, int border)
1502
1503void glRasterPos (int x, int y)
1504 CODE:
1505 glRasterPos2i (x, y);
1506
1507void glCopyPixels (int x, int y, int width, int height, int type = GL_COLOR)
1459 1508
1460int glGenTexture () 1509int glGenTexture ()
1461 CODE: 1510 CODE:
1462{ 1511{
1463 GLuint name; 1512 GLuint name;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines