Fixed Geometry:getVertexMap to return 1-based vertex indices and made it return the default vertex map instead of nil if no map is set.

This commit is contained in:
Alex Szpakowski
2013-08-16 19:25:41 -03:00
parent d815374a9b
commit c230098642
2 changed files with 8 additions and 6 deletions
+1 -3
View File
@@ -539,8 +539,6 @@ bool Image::refresh()
if (texture == 0)
return false;
if (gl.getMaxTextureSize())
while (glGetError() != GL_NO_ERROR); // clear errors
// We want this lock to potentially cover mipmap creation as well.
@@ -593,7 +591,7 @@ void Image::uploadDefaultTexture()
// A nice friendly checkerboard to signify invalid textures...
GLubyte px[] = {0xFF,0xFF,0xFF,0xFF, 0xC0,0xC0,0xC0,0xFF,
0xC0,0xC0,0xC0,0xFF, 0xFF,0xFF,0xFF,0xFF};
0xC0,0xC0,0xC0,0xFF, 0xFF,0xFF,0xFF,0xFF};
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, px);
}
@@ -151,13 +151,17 @@ int w_Geometry_getVertexMap(lua_State *L)
size_t elemcount = g->getElementCount();
const uint16 *elements = g->getElementArray();
if (elemcount == 0 || elements == 0)
return 0;
if (elemcount == 0)
elemcount = g->getVertexCount();
lua_createtable(L, elemcount, 0);
for (size_t i = 0; i < elemcount; i++)
{
lua_pushinteger(L, elements[i]);
if (elements)
lua_pushinteger(L, elements[i] + 1);
else
lua_pushinteger(L, i + 1);
lua_rawseti(L, -2, i + 1);
}