--- deliantra/Deliantra-Client/rendercache.c 2007/08/12 08:49:51 1.5 +++ deliantra/Deliantra-Client/rendercache.c 2007/12/25 18:58:32 1.8 @@ -1,7 +1,7 @@ typedef struct { GLenum mode; GLenum format; // 0, GL_T2F_V3F, GL_V2F - GLint texname; + GLuint texname; unsigned char r, g, b, a; } rc_key_t; @@ -12,7 +12,7 @@ typedef SV rc_array_t; static rc_t * -rc_alloc () +rc_alloc (void) { rc_t *rc = g_slice_new0 (rc_t); rc->hv = newHV (); @@ -83,6 +83,9 @@ SvGROW (arr, len + 2 * 2 + 1 * 4); c = (U8 *)SvEND (arr); + x += w; + y += h; + *c++ = u; *c++ = v; *c++ = w; @@ -151,6 +154,9 @@ x = *c++; if (x > 0x7f) x = ((x & 0x7f) << 7) | *c++; y = *c++; if (y > 0x7f) y = ((y & 0x7f) << 7) | *c++; + x -= w; + y -= h; + glTexCoord2f ( u * (1.f / TC_WIDTH), v * (1.f / TC_HEIGHT)); glVertex2i (x , y ); glTexCoord2f ((u + w) * (1.f / TC_WIDTH), v * (1.f / TC_HEIGHT)); glVertex2i (x + w, y ); glTexCoord2f ((u + w) * (1.f / TC_WIDTH), (v + h) * (1.f / TC_HEIGHT)); glVertex2i (x + w, y + h);