Renamed Source:s/getDistance to Source:s/getAttenuationDistances (resolves issue #632).

Fixed detection for mipmap sharpness support.
This commit is contained in:
Alex Szpakowski
2013-10-10 23:05:45 -03:00
parent bf070afffa
commit 2710c6c488
4 changed files with 16 additions and 16 deletions
+4 -4
View File
@@ -252,7 +252,7 @@ int w_Source_getVolumeLimits(lua_State *L)
return 2;
}
int w_Source_setDistance(lua_State *L)
int w_Source_setAttenuationDistances(lua_State *L)
{
Source *t = luax_checksource(L, 1);
float dref = (float)luaL_checknumber(L, 2);
@@ -264,7 +264,7 @@ int w_Source_setDistance(lua_State *L)
return 0;
}
int w_Source_getDistance(lua_State *L)
int w_Source_getAttenuationDistances(lua_State *L)
{
Source *t = luax_checksource(L, 1);
lua_pushnumber(L, t->getReferenceDistance());
@@ -332,8 +332,8 @@ static const luaL_Reg functions[] =
{ "setVolumeLimits", w_Source_setVolumeLimits },
{ "getVolumeLimits", w_Source_getVolumeLimits },
{ "setDistance", w_Source_setDistance },
{ "getDistance", w_Source_getDistance },
{ "setAttenuationDistances", w_Source_setAttenuationDistances },
{ "getAttenuationDistances", w_Source_getAttenuationDistances },
{ "setRolloff", w_Source_setRolloff},
{ "getRolloff", w_Source_getRolloff},
+2 -2
View File
@@ -55,8 +55,8 @@ int w_Source_isPlaying(lua_State *L);
int w_Source_isStatic(lua_State *L);
int w_Source_setVolumeLimits(lua_State *L);
int w_Source_getVolumeLimits(lua_State *L);
int w_Source_setDistance(lua_State *L);
int w_Source_getDistance(lua_State *L);
int w_Source_setAttenuationDistances(lua_State *L);
int w_Source_getAttenuationDistances(lua_State *L);
int w_Source_setRolloff(lua_State *L);
int w_Source_getRolloff(lua_State *L);
int w_Source_getType(lua_State *L);
+7 -7
View File
@@ -58,6 +58,7 @@ Image::Image(love::image::CompressedData *cdata)
, width((float)(cdata->getWidth(0)))
, height((float)(cdata->getHeight(0)))
, texture(0)
, texCoordScale(1.0, 1.0)
, mipmapSharpness(defaultMipmapSharpness)
, mipmapsCreated(false)
, compressed(true)
@@ -114,8 +115,7 @@ void Image::drawq(Quad *quad, float x, float y, float angle, float sx, float sy,
Matrix t;
t.setTransformation(x, y, angle, sx, sy, ox, oy, kx, ky);
const Vertex *v = quad->getVertices();
drawv(t, v);
drawv(t, quad->getVertices());
}
void Image::predraw() const
@@ -149,21 +149,21 @@ void Image::uploadCompressedMipmaps()
bind();
int mipmapcount = cdata->getMipmapCount();
int count = cdata->getMipmapCount();
// We have to inform OpenGL if the image doesn't have all mipmap levels.
if (GLEE_VERSION_1_2 || GLEE_SGIS_texture_lod)
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, mipmapcount - 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, count - 1);
}
else if (cdata->getWidth(mipmapcount-1) > 1 || cdata->getHeight(mipmapcount-1) > 1)
else if (cdata->getWidth(count-1) > 1 || cdata->getHeight(count-1) > 1)
{
// Telling OpenGL to ignore certain levels isn't always supported.
throw love::Exception("Cannot load mipmaps: "
"compressed image does not have all required levels.");
}
for (int i = 1; i < mipmapcount; i++)
for (int i = 1; i < count; i++)
{
glCompressedTexImage2DARB(GL_TEXTURE_2D,
i,
@@ -627,7 +627,7 @@ bool Image::hasMipmapSupport()
bool Image::hasMipmapSharpnessSupport()
{
return GLEE_VERSION_1_4 || GLEE_EXT_texture_lod_bias;
return GLEE_VERSION_1_4;
}
bool Image::hasCompressedTextureSupport()
+3 -3
View File
@@ -122,7 +122,7 @@ void Mesh::setVertexMap(const std::vector<uint32> &map)
ibo = nullptr;
}
if (!ibo)
if (!ibo && size > 0)
{
// Full memory backing because we might access the data at any time.
ibo = VertexBuffer::Create(size, GL_ELEMENT_ARRAY_BUFFER, GL_DYNAMIC_DRAW, VertexBuffer::BACKING_FULL);
@@ -130,7 +130,7 @@ void Mesh::setVertexMap(const std::vector<uint32> &map)
element_count = map.size();
if (element_count > 0)
if (ibo && element_count > 0)
{
VertexBuffer::Bind ibo_bind(*ibo);
VertexBuffer::Mapper ibo_map(*ibo);
@@ -241,7 +241,7 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo
GLenum mode = getGLDrawMode(draw_mode);
if (element_count > 0)
if (ibo && element_count > 0)
{
VertexBuffer::Bind ibo_bind(*ibo);