Remove some weird Mesh return codes;

This commit is contained in:
bjorn 2017-10-22 07:20:40 -07:00
parent 2c0d85a84a
commit 65c26e47f2
3 changed files with 7 additions and 15 deletions

View File

@ -339,10 +339,7 @@ int l_lovrMeshSetDrawRange(lua_State* L) {
lovrMeshSetRangeEnabled(mesh, 1); lovrMeshSetRangeEnabled(mesh, 1);
int rangeStart = luaL_checkinteger(L, 2) - 1; int rangeStart = luaL_checkinteger(L, 2) - 1;
int rangeCount = luaL_checkinteger(L, 3); int rangeCount = luaL_checkinteger(L, 3);
if (lovrMeshSetDrawRange(mesh, rangeStart, rangeCount)) { lovrMeshSetDrawRange(mesh, rangeStart, rangeCount);
return luaL_error(L, "Invalid mesh draw range (%d, %d)", rangeStart + 1, rangeCount);
}
return 0; return 0;
} }

View File

@ -150,9 +150,8 @@ MeshDrawMode lovrMeshGetDrawMode(Mesh* mesh) {
return mesh->drawMode; return mesh->drawMode;
} }
int lovrMeshSetDrawMode(Mesh* mesh, MeshDrawMode drawMode) { void lovrMeshSetDrawMode(Mesh* mesh, MeshDrawMode drawMode) {
mesh->drawMode = drawMode; mesh->drawMode = drawMode;
return 0;
} }
int lovrMeshGetVertexCount(Mesh* mesh) { int lovrMeshGetVertexCount(Mesh* mesh) {
@ -230,16 +229,12 @@ void lovrMeshGetDrawRange(Mesh* mesh, int* start, int* count) {
*count = mesh->rangeCount; *count = mesh->rangeCount;
} }
int lovrMeshSetDrawRange(Mesh* mesh, int start, int count) { void lovrMeshSetDrawRange(Mesh* mesh, int start, int count) {
size_t limit = mesh->indexCount > 0 ? mesh->indexCount : mesh->count; size_t limit = mesh->indexCount > 0 ? mesh->indexCount : mesh->count;
int isValidRange = start >= 0 && count >= 0 && (size_t) start + count <= limit;
if (start < 0 || count < 0 || (size_t) start + count > limit) { lovrAssert(isValidRange, "Invalid mesh draw range [%d, %d]", start + 1, start + count + 1);
return 1;
}
mesh->rangeStart = start; mesh->rangeStart = start;
mesh->rangeCount = count; mesh->rangeCount = count;
return 0;
} }
void* lovrMeshMap(Mesh* mesh, int start, size_t count, int read, int write) { void* lovrMeshMap(Mesh* mesh, int start, size_t count, int read, int write) {

View File

@ -63,7 +63,7 @@ void lovrMeshDestroy(const Ref* ref);
void lovrMeshDraw(Mesh* mesh, mat4 transform); void lovrMeshDraw(Mesh* mesh, mat4 transform);
MeshFormat lovrMeshGetVertexFormat(Mesh* mesh); MeshFormat lovrMeshGetVertexFormat(Mesh* mesh);
MeshDrawMode lovrMeshGetDrawMode(Mesh* mesh); MeshDrawMode lovrMeshGetDrawMode(Mesh* mesh);
int lovrMeshSetDrawMode(Mesh* mesh, MeshDrawMode drawMode); void lovrMeshSetDrawMode(Mesh* mesh, MeshDrawMode drawMode);
int lovrMeshGetVertexCount(Mesh* mesh); int lovrMeshGetVertexCount(Mesh* mesh);
int lovrMeshGetVertexSize(Mesh* mesh); int lovrMeshGetVertexSize(Mesh* mesh);
void* lovrMeshGetVertexMap(Mesh* mesh, size_t* count); void* lovrMeshGetVertexMap(Mesh* mesh, size_t* count);
@ -73,7 +73,7 @@ void lovrMeshSetAttributeEnabled(Mesh* mesh, const char* name, int enabled);
int lovrMeshIsRangeEnabled(Mesh* mesh); int lovrMeshIsRangeEnabled(Mesh* mesh);
void lovrMeshSetRangeEnabled(Mesh* mesh, char isEnabled); void lovrMeshSetRangeEnabled(Mesh* mesh, char isEnabled);
void lovrMeshGetDrawRange(Mesh* mesh, int* start, int* count); void lovrMeshGetDrawRange(Mesh* mesh, int* start, int* count);
int lovrMeshSetDrawRange(Mesh* mesh, int start, int count); void lovrMeshSetDrawRange(Mesh* mesh, int start, int count);
Texture* lovrMeshGetTexture(Mesh* mesh); Texture* lovrMeshGetTexture(Mesh* mesh);
void lovrMeshSetTexture(Mesh* mesh, Texture* texture); void lovrMeshSetTexture(Mesh* mesh, Texture* texture);
void* lovrMeshMap(Mesh* mesh, int start, size_t count, int read, int write); void* lovrMeshMap(Mesh* mesh, int start, size_t count, int read, int write);