diff --git a/platform/macosx/love-framework.xcodeproj/project.pbxproj b/platform/macosx/love-framework.xcodeproj/project.pbxproj index 7aadcd14b..f0aeb1f8c 100644 --- a/platform/macosx/love-framework.xcodeproj/project.pbxproj +++ b/platform/macosx/love-framework.xcodeproj/project.pbxproj @@ -215,7 +215,6 @@ FA577AC316C7512F00860150 /* Game_Music_Emu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6B16C719E400860150 /* Game_Music_Emu.framework */; }; FA577AC416C7513200860150 /* IL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6916C719DE00860150 /* IL.framework */; }; FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A8216C71A5300860150 /* libmodplug.framework */; }; - FA577AC616C7513800860150 /* Lua.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6D16C719EA00860150 /* Lua.framework */; }; FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6F16C719F000860150 /* mpg123.framework */; }; FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7116C719F400860150 /* Ogg.framework */; }; FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7C16C71A2600860150 /* OpenGL.framework */; }; @@ -233,6 +232,7 @@ FAAC6B02170A373B008A61C5 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAAC6B00170A373A008A61C5 /* CompressedData.cpp */; }; FAAC6B03170A373B008A61C5 /* CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FAAC6B01170A373A008A61C5 /* CompressedData.h */; }; FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */; }; + FABE5DD5175AA0D5000F343D /* LuaJIT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABE5DD4175AA0D5000F343D /* LuaJIT.framework */; }; FAC5710017402D1100D147E4 /* BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC570FC17402D1100D147E4 /* BezierCurve.cpp */; }; FAC5710117402D1100D147E4 /* BezierCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC570FD17402D1100D147E4 /* BezierCurve.h */; }; FAC5710217402D1100D147E4 /* wrap_BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC570FE17402D1100D147E4 /* wrap_BezierCurve.cpp */; }; @@ -705,7 +705,6 @@ FA577A6716C719D900860150 /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; FA577A6916C719DE00860150 /* IL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IL.framework; path = /Library/Frameworks/IL.framework; sourceTree = ""; }; FA577A6B16C719E400860150 /* Game_Music_Emu.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Game_Music_Emu.framework; path = /Library/Frameworks/Game_Music_Emu.framework; sourceTree = ""; }; - FA577A6D16C719EA00860150 /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; FA577A6F16C719F000860150 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; }; FA577A7116C719F400860150 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = ""; }; FA577A7316C719F900860150 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; @@ -734,6 +733,7 @@ FAAC6B00170A373A008A61C5 /* CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompressedData.cpp; sourceTree = ""; }; FAAC6B01170A373A008A61C5 /* CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedData.h; sourceTree = ""; }; FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; + FABE5DD4175AA0D5000F343D /* LuaJIT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LuaJIT.framework; path = /Library/Frameworks/LuaJIT.framework; sourceTree = ""; }; FAC570FC17402D1100D147E4 /* BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BezierCurve.cpp; sourceTree = ""; }; FAC570FD17402D1100D147E4 /* BezierCurve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BezierCurve.h; sourceTree = ""; }; FAC570FE17402D1100D147E4 /* wrap_BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_BezierCurve.cpp; sourceTree = ""; }; @@ -778,13 +778,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FABE5DD5175AA0D5000F343D /* LuaJIT.framework in Frameworks */, FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */, FA577AB016C7507900860150 /* Cocoa.framework in Frameworks */, FA577AC216C7512D00860150 /* FreeType.framework in Frameworks */, FA577AC316C7512F00860150 /* Game_Music_Emu.framework in Frameworks */, FA577AC416C7513200860150 /* IL.framework in Frameworks */, FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */, - FA577AC616C7513800860150 /* Lua.framework in Frameworks */, FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */, FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */, FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */, @@ -1665,12 +1665,12 @@ FA577A6616C7199700860150 /* Frameworks */ = { isa = PBXGroup; children = ( + FABE5DD4175AA0D5000F343D /* LuaJIT.framework */, FA577A7916C71A1700860150 /* Cocoa.framework */, FA577A6716C719D900860150 /* FreeType.framework */, FA577A6B16C719E400860150 /* Game_Music_Emu.framework */, FA577A6916C719DE00860150 /* IL.framework */, FA577A8216C71A5300860150 /* libmodplug.framework */, - FA577A6D16C719EA00860150 /* Lua.framework */, FA577A6F16C719F000860150 /* mpg123.framework */, FA577A7116C719F400860150 /* Ogg.framework */, FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */, @@ -2061,6 +2061,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -2068,11 +2069,10 @@ "\"$(SRCROOT)/../../src/libraries\"", "\"$(SRCROOT)/../../src/modules\"", /Library/Frameworks/FreeType.framework/Headers, - /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/LuaJIT.framework/Headers, /Library/Frameworks/SDL.framework/Headers, ); LIBRARY_SEARCH_PATHS = ""; - LLVM_LTO = NO; MACOSX_DEPLOYMENT_TARGET = 10.5; ONLY_ACTIVE_ARCH = NO; WARNING_CFLAGS = "-Wall"; @@ -2092,6 +2092,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -2099,7 +2100,7 @@ "\"$(SRCROOT)/../../src/libraries\"", "\"$(SRCROOT)/../../src/modules\"", /Library/Frameworks/FreeType.framework/Headers, - /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/LuaJIT.framework/Headers, /Library/Frameworks/SDL.framework/Headers, ); LIBRARY_SEARCH_PATHS = ""; diff --git a/platform/macosx/love.xcodeproj/project.pbxproj b/platform/macosx/love.xcodeproj/project.pbxproj index 7e5f8e78b..9efe8f6f3 100644 --- a/platform/macosx/love.xcodeproj/project.pbxproj +++ b/platform/macosx/love.xcodeproj/project.pbxproj @@ -11,14 +11,12 @@ A911D3C915DFF25D005B7EB8 /* Game_Music_Emu.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A911D3C715DFF24D005B7EB8 /* Game_Music_Emu.framework */; }; A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4810420B4A007D418B /* FreeType.framework */; }; A9255DD21043183600BA1496 /* SDL.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5210420B57007D418B /* SDL.framework */; }; - A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; }; A9255DEC1043188D00BA1496 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = A9255DEA1043188D00BA1496 /* SDLMain.m */; }; A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255E021043195A00BA1496 /* Vorbis.framework */; }; A9255F431043240F00BA1496 /* IL.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F421043240F00BA1496 /* IL.framework */; }; A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; }; A93E6E4A10420B4A007D418B /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4710420B4A007D418B /* OpenGL.framework */; }; A93E6E5410420B57007D418B /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5210420B57007D418B /* SDL.framework */; }; - A93E6E5510420B57007D418B /* Lua.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; }; A93E6EED10420BA8007D418B /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E6A3410420AC0007D418B /* love.cpp */; }; A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9D307E9106635C3004FEDF8 /* physfs.framework */; }; A9DEC1C11046EFA70049C70C /* Love.icns in Resources */ = {isa = PBXBuildFile; fileRef = A9DEC1BF1046EFA60049C70C /* Love.icns */; }; @@ -28,6 +26,8 @@ FA08F69616C766E000F007B5 /* love.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; }; FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; }; FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */; }; + FABE5DD8175AA111000F343D /* LuaJIT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABE5DD7175AA111000F343D /* LuaJIT.framework */; }; + FABE5DD9175AA11B000F343D /* LuaJIT.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FABE5DD7175AA111000F343D /* LuaJIT.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -49,6 +49,7 @@ files = ( FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */, FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */, + FABE5DD9175AA11B000F343D /* LuaJIT.framework in Copy Frameworks */, A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */, A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */, A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */, @@ -57,7 +58,6 @@ A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */, A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */, A9255DD21043183600BA1496 /* SDL.framework in Copy Frameworks */, - A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */, A911D3C915DFF25D005B7EB8 /* Game_Music_Emu.framework in Copy Frameworks */, ); name = "Copy Frameworks"; @@ -78,7 +78,6 @@ A93E6E4710420B4A007D418B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; A93E6E4810420B4A007D418B /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; A93E6E5210420B57007D418B /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = ""; }; - A93E6E5310420B57007D418B /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; A97E3842132A9EDE00198A2F /* love-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "love-Info.plist"; sourceTree = ""; }; A9B1AE451197293000D496EB /* love_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = love_Prefix.pch; sourceTree = ""; }; A9D307E9106635C3004FEDF8 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; @@ -89,6 +88,7 @@ FA08F69116C765A200F007B5 /* love.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; }; FA577A9316C7217800860150 /* love-framework.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "love-framework.xcodeproj"; sourceTree = ""; }; FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; + FABE5DD7175AA111000F343D /* LuaJIT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LuaJIT.framework; path = /Library/Frameworks/LuaJIT.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -96,11 +96,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FABE5DD8175AA111000F343D /* LuaJIT.framework in Frameworks */, FA08F69616C766E000F007B5 /* love.framework in Frameworks */, 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, A93E6E4A10420B4A007D418B /* OpenGL.framework in Frameworks */, A93E6E5410420B57007D418B /* SDL.framework in Frameworks */, - A93E6E5510420B57007D418B /* Lua.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -110,13 +110,13 @@ 1058C7A0FEA54F0111CA2CBB /* Frameworks */ = { isa = PBXGroup; children = ( + FABE5DD7175AA111000F343D /* LuaJIT.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, A93E6E4810420B4A007D418B /* FreeType.framework */, A911D3C715DFF24D005B7EB8 /* Game_Music_Emu.framework */, A9255F421043240F00BA1496 /* IL.framework */, A9F16926109E7BAD00FC83D1 /* libmodplug.framework */, FA08F69116C765A200F007B5 /* love.framework */, - A93E6E5310420B57007D418B /* Lua.framework */, A9F169A6109E824900FC83D1 /* mpg123.framework */, A9255F51104324D700BA1496 /* Ogg.framework */, FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */, @@ -345,7 +345,7 @@ "\"$(SRCROOT)/../../src\"", "\"$(SRCROOT)/../../src/libraries\"", "\"$(SRCROOT)/../../src/modules\"", - /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/LuaJIT.framework/Headers, /Library/Frameworks/FreeType.framework/Headers, /Library/Frameworks/SDL.framework/Headers, ); @@ -398,7 +398,7 @@ "\"$(SRCROOT)/../../src\"", "\"$(SRCROOT)/../../src/libraries\"", "\"$(SRCROOT)/../../src/modules\"", - /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/LuaJIT.framework/Headers, /Library/Frameworks/FreeType.framework/Headers, /Library/Frameworks/SDL.framework/Headers, ); diff --git a/src/modules/graphics/opengl/wrap_Graphics.cpp b/src/modules/graphics/opengl/wrap_Graphics.cpp index b9453c08b..3108d3b74 100644 --- a/src/modules/graphics/opengl/wrap_Graphics.cpp +++ b/src/modules/graphics/opengl/wrap_Graphics.cpp @@ -309,44 +309,17 @@ int w_newQuad(lua_State *L) int w_newFont(lua_State *L) { - Data *font_data = NULL; - // Convert to File, if necessary. - if (lua_isstring(L, 1)) - luax_convobj(L, 1, "filesystem", "newFile"); - - // Convert to Data, if necessary. - if (luax_istype(L, 1, FILESYSTEM_FILE_T)) - { - love::filesystem::File *f = luax_checktype(L, 1, "File", FILESYSTEM_FILE_T); - try - { - font_data = f->read(); - } - catch(love::Exception &e) - { - return luaL_error(L, e.what()); - } - lua_remove(L, 1); // get rid of the file - luax_newtype(L, "Data", DATA_T, (void *)font_data); - lua_insert(L, 1); // put it at the bottom of the stack - } + // Convert to FileData, if necessary. + if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T)) + luax_convobj(L, 1, "filesystem", "newFileData"); // Convert to Rasterizer, if necessary. - if (luax_istype(L, 1, DATA_T)) + if (luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) { int idxs[] = {1, 2}; - int ret = luax_pconvobj(L, idxs, 2, "font", "newRasterizer"); - if (ret != 0) - { - if (font_data) - font_data->release(); - return lua_error(L); - } + luax_convobj(L, idxs, 2, "font", "newRasterizer"); } - if (font_data) - font_data->release(); - love::font::Rasterizer *rasterizer = luax_checktype(L, 1, "Rasterizer", FONT_RASTERIZER_T); Font *font = NULL; diff --git a/src/modules/thread/wrap_ThreadModule.cpp b/src/modules/thread/wrap_ThreadModule.cpp index f7d48aefa..4e6173ba6 100644 --- a/src/modules/thread/wrap_ThreadModule.cpp +++ b/src/modules/thread/wrap_ThreadModule.cpp @@ -33,37 +33,23 @@ static ThreadModule *instance = 0; int w_newThread(lua_State *L) { std::string name = "Thread code"; - love::Data *data; - if (lua_isstring(L, 1)) - luax_convobj(L, 1, "filesystem", "newFile"); - if (luax_istype(L, 1, FILESYSTEM_FILE_T)) + love::Data *data = 0; + + if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T)) + luax_convobj(L, 1, "filesystem", "newFileData"); + + if (luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) { - try - { - love::filesystem::File * file = luax_checktype(L, 1, "File", FILESYSTEM_FILE_T); - name = std::string("@") + file->getFilename(); - data = file->read(); - } - catch (love::Exception & e) - { - return luaL_error(L, "%s", e.what()); - } - } - else if (luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) - { - love::filesystem::FileData * fdata = luax_checktype(L, 1, "FileData", FILESYSTEM_FILE_DATA_T); + love::filesystem::FileData *fdata = luax_checktype(L, 1, "FileData", FILESYSTEM_FILE_DATA_T); name = std::string("@") + fdata->getFilename(); data = fdata; - data->retain(); } else { data = luax_checktype(L, 1, "Data", DATA_T); - data->retain(); } + LuaThread *t = instance->newThread(name, data); - // do not worry, file->read() returns retained data - data->release(); luax_newtype(L, "Thread", THREAD_THREAD_T, (void *)t); return 1; }