mirror of
https://github.com/love2d/love.git
synced 2026-08-21 21:15:09 +02:00
Merge
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
A9255F461043247300BA1496 /* IL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F421043240F00BA1496 /* IL.framework */; };
|
||||
A9255F52104324D700BA1496 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; };
|
||||
A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; };
|
||||
A93A3AB51121E86E003B04A4 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93A3AB41121E86E003B04A4 /* Image.cpp */; };
|
||||
A93E6E4910420B4A007D418B /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4610420B4A007D418B /* OpenAL.framework */; };
|
||||
A93E6E4A10420B4A007D418B /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4710420B4A007D418B /* OpenGL.framework */; };
|
||||
A93E6E4B10420B4A007D418B /* FreeType.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4810420B4A007D418B /* FreeType.framework */; };
|
||||
@@ -225,6 +226,7 @@
|
||||
A9255E021043195A00BA1496 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = "<absolute>"; };
|
||||
A9255F421043240F00BA1496 /* IL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IL.framework; path = /Library/Frameworks/IL.framework; sourceTree = "<absolute>"; };
|
||||
A9255F51104324D700BA1496 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = "<absolute>"; };
|
||||
A93A3AB41121E86E003B04A4 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = "<group>"; };
|
||||
A93E69DE10420ABF007D418B /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
|
||||
A93E69DF10420ABF007D418B /* Data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Data.h; sourceTree = "<group>"; };
|
||||
A93E69E010420ABF007D418B /* Exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Exception.cpp; sourceTree = "<group>"; };
|
||||
@@ -560,9 +562,9 @@
|
||||
A93E6B9210420ACC007D418B /* wrap_Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Timer.h; sourceTree = "<group>"; };
|
||||
A93E6B9410420ACC007D418B /* resources.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resources.cpp; sourceTree = "<group>"; };
|
||||
A93E6B9510420ACC007D418B /* resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resources.h; sourceTree = "<group>"; };
|
||||
A93E6B9710420ACC007D418B /* boot.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = boot.lua; sourceTree = "<group>"; };
|
||||
A93E6B9710420ACC007D418B /* boot.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = boot.lua; sourceTree = "<group>"; };
|
||||
A93E6B9810420ACC007D418B /* boot.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boot.lua.h; sourceTree = "<group>"; };
|
||||
A93E6B9910420ACC007D418B /* graphics.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = graphics.lua; sourceTree = "<group>"; };
|
||||
A93E6B9910420ACC007D418B /* graphics.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = graphics.lua; sourceTree = "<group>"; };
|
||||
A93E6B9A10420ACC007D418B /* graphics.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics.lua.h; sourceTree = "<group>"; };
|
||||
A93E6E4610420B4A007D418B /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
|
||||
A93E6E4710420B4A007D418B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
|
||||
@@ -592,6 +594,8 @@
|
||||
A9DEC1C01046EFA70049C70C /* LoveDocument.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = LoveDocument.icns; path = icons/LoveDocument.icns; sourceTree = "<group>"; };
|
||||
A9F16926109E7BAD00FC83D1 /* libmodplug.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libmodplug.framework; path = /Library/Frameworks/libmodplug.framework; sourceTree = "<absolute>"; };
|
||||
A9F169A6109E824900FC83D1 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = "<absolute>"; };
|
||||
A9F8833511163C8C00831E98 /* audio.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = audio.lua; sourceTree = "<group>"; };
|
||||
A9F8833611163C8C00831E98 /* audio.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio.lua.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -948,6 +952,7 @@
|
||||
A93E6A8310420AC2007D418B /* Drawable.h */,
|
||||
A968F0D21083A9D400A895AA /* Graphics.cpp */,
|
||||
A93E6A8410420AC2007D418B /* Graphics.h */,
|
||||
A93A3AB41121E86E003B04A4 /* Image.cpp */,
|
||||
A93E6A8510420AC2007D418B /* Image.h */,
|
||||
A93E6A8610420AC2007D418B /* opengl */,
|
||||
A93E6AA510420AC3007D418B /* Volatile.cpp */,
|
||||
@@ -1001,8 +1006,8 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A93E6AA810420AC3007D418B /* devil */,
|
||||
A98D913E10507BF9008E03F2 /* EncodedImageData.h */,
|
||||
A98D914310507C97008E03F2 /* EncodedImageData.cpp */,
|
||||
A98D913E10507BF9008E03F2 /* EncodedImageData.h */,
|
||||
A93E6AAD10420AC3007D418B /* Image.h */,
|
||||
A93E6AAE10420AC3007D418B /* ImageData.cpp */,
|
||||
A93E6AAF10420AC3007D418B /* ImageData.h */,
|
||||
@@ -1368,6 +1373,8 @@
|
||||
A93E6B9610420ACC007D418B /* scripts */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9F8833511163C8C00831E98 /* audio.lua */,
|
||||
A9F8833611163C8C00831E98 /* audio.lua.h */,
|
||||
A93E6B9710420ACC007D418B /* boot.lua */,
|
||||
A93E6B9810420ACC007D418B /* boot.lua.h */,
|
||||
A93E6B9910420ACC007D418B /* graphics.lua */,
|
||||
@@ -1612,6 +1619,7 @@
|
||||
A968F0DD1083AA6600A895AA /* Shape.cpp in Sources */,
|
||||
A968F0DE1083AA6600A895AA /* Joint.cpp in Sources */,
|
||||
A9CF0E8610B9EB1000E6F37E /* utf8.cpp in Sources */,
|
||||
A93A3AB51121E86E003B04A4 /* Image.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
@@ -80,11 +80,11 @@ namespace love
|
||||
|
||||
bool find(const char * key, T & t)
|
||||
{
|
||||
unsigned str_hash = djb2(key);
|
||||
//unsigned str_hash = djb2(key);
|
||||
|
||||
for(unsigned i = 0; i < MAX; ++i)
|
||||
{
|
||||
unsigned str_i = (str_hash + i) % MAX;
|
||||
//unsigned str_i = (str_hash + i) % MAX; //this isn't used, is this intentional?
|
||||
|
||||
if(records[i].set && streq(records[i].key, key))
|
||||
{
|
||||
@@ -151,7 +151,7 @@ namespace love
|
||||
unsigned hash = 5381;
|
||||
int c;
|
||||
|
||||
while (c = *key++)
|
||||
while ((c = *key++))
|
||||
hash = ((hash << 5) + hash) + c;
|
||||
|
||||
return hash;
|
||||
|
||||
@@ -33,8 +33,8 @@ namespace openal
|
||||
{
|
||||
|
||||
Source::Source(Pool * pool, love::sound::SoundData * soundData)
|
||||
: love::audio::Source(Source::TYPE_STATIC), pool(pool), pitch(1.0f),
|
||||
volume(1.0f), looping(false), decoder(0), valid(false)
|
||||
: love::audio::Source(Source::TYPE_STATIC), pool(pool), valid(false),
|
||||
pitch(1.0f), volume(1.0f), looping(false), decoder(0)
|
||||
{
|
||||
alGenBuffers(1, buffers);
|
||||
ALenum fmt = getFormat(soundData->getChannels(), soundData->getBits());
|
||||
@@ -48,8 +48,8 @@ namespace openal
|
||||
}
|
||||
|
||||
Source::Source(Pool * pool, love::sound::Decoder * decoder)
|
||||
: love::audio::Source(Source::TYPE_STREAM), pool(pool), pitch(1.0f),
|
||||
volume(1.0f), looping(false), decoder(decoder), valid(false)
|
||||
: love::audio::Source(Source::TYPE_STREAM), pool(pool), valid(false),
|
||||
pitch(1.0f), volume(1.0f), looping(false), decoder(decoder)
|
||||
{
|
||||
decoder->retain();
|
||||
alGenBuffers(MAX_BUFFERS, buffers);
|
||||
@@ -259,7 +259,7 @@ namespace openal
|
||||
{
|
||||
int usedBuffers = 0;
|
||||
|
||||
for(int i = 0; i < MAX_BUFFERS; i++)
|
||||
for(unsigned int i = 0; i < MAX_BUFFERS; i++)
|
||||
{
|
||||
int decoded = streamAtomic(buffers[i], decoder);
|
||||
++usedBuffers;
|
||||
|
||||
@@ -130,6 +130,8 @@ namespace sdl
|
||||
case Event::TYPE_QUIT:
|
||||
e.type = SDL_QUIT;
|
||||
return true;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -66,6 +66,8 @@ namespace sdl
|
||||
return true;
|
||||
case Event::TYPE_QUIT:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -108,6 +110,8 @@ namespace sdl
|
||||
return 3;
|
||||
case Event::TYPE_QUIT:
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -74,6 +74,8 @@ namespace physfs
|
||||
case WRITE:
|
||||
file = PHYSFS_openWrite(filename.c_str());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return (file != 0);
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace love
|
||||
namespace font
|
||||
{
|
||||
ImageRasterizer::ImageRasterizer(love::image::ImageData * data, unsigned short * glyphs)
|
||||
: imageData(imageData)
|
||||
: imageData(data)
|
||||
{
|
||||
imageData->retain();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Copyright (c) 2006-2010 LOVE Development Team
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
**/
|
||||
|
||||
#include "Image.h"
|
||||
|
||||
namespace love
|
||||
{
|
||||
namespace graphics
|
||||
{
|
||||
Image::~Image()
|
||||
{
|
||||
}
|
||||
|
||||
bool Image::getConstant(const char * in, FilterMode & out)
|
||||
{
|
||||
return filterModes.find(in, out);
|
||||
}
|
||||
|
||||
bool Image::getConstant(FilterMode in, const char *& out)
|
||||
{
|
||||
return filterModes.find(in, out);
|
||||
}
|
||||
|
||||
bool Image::getConstant(const char * in, WrapMode & out)
|
||||
{
|
||||
return wrapModes.find(in, out);
|
||||
}
|
||||
|
||||
bool Image::getConstant(WrapMode in, const char *& out)
|
||||
{
|
||||
return wrapModes.find(in, out);
|
||||
}
|
||||
|
||||
StringMap<Image::FilterMode, Image::FILTER_MAX_ENUM>::Entry Image::filterModeEntries[] =
|
||||
{
|
||||
{ "linear", Image::FILTER_LINEAR },
|
||||
{ "nearest", Image::FILTER_NEAREST },
|
||||
};
|
||||
|
||||
StringMap<Image::FilterMode, Image::FILTER_MAX_ENUM> Image::filterModes(Image::filterModeEntries, sizeof(Image::filterModeEntries));
|
||||
|
||||
StringMap<Image::WrapMode, Image::WRAP_MAX_ENUM>::Entry Image::wrapModeEntries[] =
|
||||
{
|
||||
{ "clamp", Image::WRAP_CLAMP },
|
||||
{ "repeat", Image::WRAP_REPEAT },
|
||||
};
|
||||
|
||||
StringMap<Image::WrapMode, Image::WRAP_MAX_ENUM> Image::wrapModes(Image::wrapModeEntries, sizeof(Image::wrapModeEntries));
|
||||
|
||||
|
||||
} // graphics
|
||||
} // love
|
||||
@@ -24,6 +24,7 @@
|
||||
// LOVE
|
||||
#include <graphics/Volatile.h>
|
||||
#include <graphics/Drawable.h>
|
||||
#include <common/StringMap.h>
|
||||
|
||||
namespace love
|
||||
{
|
||||
@@ -36,14 +37,16 @@ namespace graphics
|
||||
|
||||
enum WrapMode
|
||||
{
|
||||
WRAP_CLAMP,
|
||||
WRAP_REPEAT
|
||||
WRAP_CLAMP = 1,
|
||||
WRAP_REPEAT,
|
||||
WRAP_MAX_ENUM
|
||||
};
|
||||
|
||||
enum FilterMode
|
||||
{
|
||||
FILTER_LINEAR,
|
||||
FILTER_NEAREST
|
||||
FILTER_LINEAR = 1,
|
||||
FILTER_NEAREST,
|
||||
FILTER_MAX_ENUM
|
||||
};
|
||||
|
||||
struct Filter
|
||||
@@ -58,7 +61,19 @@ namespace graphics
|
||||
WrapMode t;
|
||||
};
|
||||
|
||||
virtual ~Image(){};
|
||||
virtual ~Image();
|
||||
|
||||
static bool getConstant(const char * in, FilterMode & out);
|
||||
static bool getConstant(FilterMode in, const char *& out);
|
||||
static bool getConstant(const char * in, WrapMode & out);
|
||||
static bool getConstant(WrapMode in, const char *& out);
|
||||
|
||||
private:
|
||||
|
||||
static StringMap<FilterMode, FILTER_MAX_ENUM>::Entry filterModeEntries[];
|
||||
static StringMap<FilterMode, FILTER_MAX_ENUM> filterModes;
|
||||
static StringMap<WrapMode, WRAP_MAX_ENUM>::Entry wrapModeEntries[];
|
||||
static StringMap<WrapMode, WRAP_MAX_ENUM> wrapModes;
|
||||
|
||||
}; // Image
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace opengl
|
||||
{
|
||||
|
||||
Glyph::Glyph(love::font::GlyphData * data)
|
||||
: data(data), texture(0), width((float)data->getWidth()), height((float)data->getHeight())
|
||||
: data(data), width((float)data->getWidth()), height((float)data->getHeight()), texture(0)
|
||||
{
|
||||
data->retain();
|
||||
data->getWidth();
|
||||
|
||||
@@ -123,6 +123,7 @@ namespace opengl
|
||||
void Image::setFilter(Image::Filter f)
|
||||
{
|
||||
GLint gmin, gmag;
|
||||
gmin = gmag = 0; // so that they're not used uninitialized
|
||||
|
||||
switch(f.min)
|
||||
{
|
||||
@@ -132,6 +133,8 @@ namespace opengl
|
||||
case FILTER_NEAREST:
|
||||
gmin = GL_NEAREST;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch(f.mag)
|
||||
@@ -142,12 +145,14 @@ namespace opengl
|
||||
case FILTER_NEAREST:
|
||||
gmag = GL_NEAREST;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
bind();
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gmin);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gmag);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gmin);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gmag);
|
||||
}
|
||||
|
||||
Image::Filter Image::getFilter() const
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace graphics
|
||||
namespace opengl
|
||||
{
|
||||
ImageFont::ImageFont(Image * image, std::string glyphs)
|
||||
: Font(0), glyphs(glyphs), image(image)
|
||||
: Font(0), image(image), glyphs(glyphs)
|
||||
|
||||
{
|
||||
image->retain();
|
||||
|
||||
@@ -50,8 +50,17 @@ namespace opengl
|
||||
{
|
||||
Image * t = luax_checkimage(L, 1);
|
||||
Image::Filter f;
|
||||
f.min = (Image::FilterMode)luaL_checkint(L, 2);
|
||||
f.mag = (Image::FilterMode)luaL_checkint(L, 3);
|
||||
Image::FilterMode min;
|
||||
Image::FilterMode mag;
|
||||
const char * minstr = luaL_checkstring(L, 2);
|
||||
const char * magstr = luaL_checkstring(L, 3);
|
||||
if (!Image::getConstant(minstr, min))
|
||||
return luaL_error(L, "Invalid filter mode: %s", minstr);
|
||||
if (!Image::getConstant(magstr, mag))
|
||||
return luaL_error(L, "Invalid filter mode: %s", magstr);
|
||||
|
||||
f.min = min;
|
||||
f.mag = mag;
|
||||
t->setFilter(f);
|
||||
return 0;
|
||||
}
|
||||
@@ -60,27 +69,52 @@ namespace opengl
|
||||
{
|
||||
Image * t = luax_checkimage(L, 1);
|
||||
Image::Filter f = t->getFilter();
|
||||
lua_pushinteger(L, f.min);
|
||||
lua_pushinteger(L, f.mag);
|
||||
Image::FilterMode min = f.min;
|
||||
Image::FilterMode mag = f.mag;
|
||||
const char * minstr;
|
||||
const char * magstr;
|
||||
if (!Image::getConstant(min, minstr))
|
||||
return luaL_error(L, "Invalid filter mode: %s", minstr);
|
||||
if (!Image::getConstant(mag, magstr))
|
||||
return luaL_error(L, "Invalid filter mode: %s", magstr);
|
||||
lua_pushstring(L, minstr);
|
||||
lua_pushstring(L, magstr);
|
||||
return 2;
|
||||
}
|
||||
|
||||
int w_Image_setWrap(lua_State * L)
|
||||
{
|
||||
Image * t = luax_checkimage(L, 1);
|
||||
Image * i = luax_checkimage(L, 1);
|
||||
Image::Wrap w;
|
||||
w.s = (Image::WrapMode)luaL_checkint(L, 2);
|
||||
w.t = (Image::WrapMode)luaL_checkint(L, 3);
|
||||
t->setWrap(w);
|
||||
Image::WrapMode s;
|
||||
Image::WrapMode t;
|
||||
const char * sstr = luaL_checkstring(L, 2);
|
||||
const char * tstr = luaL_checkstring(L, 3);
|
||||
if (!Image::getConstant(sstr, s))
|
||||
return luaL_error(L, "Invalid wrap mode: %s", sstr);
|
||||
if (!Image::getConstant(tstr, t))
|
||||
return luaL_error(L, "Invalid wrap mode, %s", tstr);
|
||||
|
||||
w.s = s;
|
||||
w.t = t;
|
||||
i->setWrap(w);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int w_Image_getWrap(lua_State * L)
|
||||
{
|
||||
Image * t = luax_checkimage(L, 1);
|
||||
Image::Wrap w = t->getWrap();
|
||||
lua_pushinteger(L, w.s);
|
||||
lua_pushinteger(L, w.t);
|
||||
Image * i = luax_checkimage(L, 1);
|
||||
Image::Wrap w = i->getWrap();
|
||||
Image::WrapMode s = w.s;
|
||||
Image::WrapMode t = w.t;
|
||||
const char * sstr;
|
||||
const char * tstr;
|
||||
if (!Image::getConstant(s, sstr))
|
||||
return luaL_error(L, "Invalid filter mode: %s", sstr);
|
||||
if (!Image::getConstant(t, tstr))
|
||||
return luaL_error(L, "Invalid filter mode: %s", tstr);
|
||||
lua_pushstring(L, sstr);
|
||||
lua_pushstring(L, tstr);
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace love
|
||||
namespace image
|
||||
{
|
||||
EncodedImageData::EncodedImageData(void * d, Format f, int s)
|
||||
: data(d), format(f), size(s)
|
||||
: data(d), size(s), format(f)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -154,16 +154,16 @@ namespace devil
|
||||
|
||||
void ImageData::setPixel(int x, int y, pixel c)
|
||||
{
|
||||
int tx = x > width-1 ? width-1 : x;
|
||||
int ty = y > height-1 ? height-1 : y;
|
||||
//int tx = x > width-1 ? width-1 : x;
|
||||
//int ty = y > height-1 ? height-1 : y; // not using these seems to not break anything
|
||||
pixel * pixels = (pixel *)getData();
|
||||
pixels[y*width+x] = c;
|
||||
}
|
||||
|
||||
pixel ImageData::getPixel(int x, int y) const
|
||||
{
|
||||
int tx = x > width-1 ? width-1 : x;
|
||||
int ty = y > height-1 ? height-1 : y;
|
||||
//int tx = x > width-1 ? width-1 : x;
|
||||
//int ty = y > height-1 ? height-1 : y; // not using these seems to not break anything
|
||||
pixel * pixels = (pixel *)getData();
|
||||
return pixels[y*width+x];
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ namespace box2d
|
||||
|
||||
void PrismaticJoint::setMotorEnabled(bool motor)
|
||||
{
|
||||
return joint->EnableMotor(true);
|
||||
return joint->EnableMotor(motor);
|
||||
}
|
||||
|
||||
bool PrismaticJoint::isMotorEnabled() const
|
||||
|
||||
@@ -218,7 +218,7 @@ namespace box2d
|
||||
for(int i = 1;i<=argc;i++)
|
||||
{
|
||||
size_t bpos = (size_t)(lua_tointeger(L, i)-1);
|
||||
if(bpos < 0 || bpos > 16)
|
||||
if(bpos > 16)
|
||||
return luaL_error(L, "Values must be in range 1-16.");
|
||||
b.set(bpos, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user