--- deliantra/Deliantra-Client/Client.xs 2006/05/19 03:49:47 1.85 +++ deliantra/Deliantra-Client/Client.xs 2006/05/19 18:39:06 1.87 @@ -443,9 +443,9 @@ SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 5); SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 5); SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5); - SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 1); + SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 16); - SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 15); + SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 64); SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, 0); SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE, 0); @@ -672,19 +672,17 @@ void error (char *message) CODE: -#ifdef _WIN32 - MessageBox (0, message, "Crossfire+ Error", MB_OK | MB_ICONERROR | MB_SETFOREGROUND); -#else fprintf (stderr, "ERROR: %s\n", message); +#ifdef _WIN32 + MessageBox (0, message, "Crossfire+ Error", MB_OK | MB_ICONERROR); #endif void fatal (char *message) CODE: -#ifdef _WIN32 - MessageBox (0, message, "Crossfire+ Fatal Error", MB_OK | MB_ICONERROR | MB_SETFOREGROUND); -#else fprintf (stderr, "FATAL: %s\n", message); +#ifdef _WIN32 + MessageBox (0, message, "Crossfire+ Fatal Error", MB_OK | MB_ICONERROR); #endif exit (1); @@ -717,6 +715,9 @@ CFClient::Layout new (SV *class, int rgba = 0) CODE: +#if _WIN32 + rgba = 0;//D +#endif New (0, RETVAL, 1, struct cf_layout); RETVAL->pl = pango_layout_new (rgba ? cairo_context : ft2_context); @@ -906,6 +907,18 @@ { uint32_t rgba = *p; rgba = (rgba >> 24) | (rgba << 8); +#if 0 +#ifdef _WIN32 + {//D + uint8_t r = rgba >> 24; + uint8_t g = rgba >> 16; + uint8_t b = rgba >> 8; + uint8_t a = rgba >> 0; + + rgba = (rgba & 0xffffff00) | a; + } +#endif +#endif rgba = SDL_SwapBE32 (rgba); *p++ = rgba; } @@ -972,6 +985,8 @@ { glEnable (GL_BLEND); glBlendFunc (ix == 1 ? GL_SRC_ALPHA : GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glEnable (GL_ALPHA_TEST); + glAlphaFunc (GL_GREATER, 0.01f); } glBindTexture (GL_TEXTURE_2D, name); @@ -990,7 +1005,10 @@ glEnd (); if (ix) - glDisable (GL_BLEND); + { + glDisable (GL_ALPHA_TEST); + glDisable (GL_BLEND); + } } MODULE = CFClient PACKAGE = CFClient::Map @@ -1523,7 +1541,9 @@ const_iv (GL_RGBA), const_iv (GL_UNSIGNED_BYTE), const_iv (GL_ALPHA), + const_iv (GL_INTENSITY), const_iv (GL_LUMINANCE), + const_iv (GL_LUMINANCE_ALPHA), const_iv (GL_FLOAT), const_iv (GL_UNSIGNED_INT_8_8_8_8_REV), const_iv (GL_COMPILE),