Browse Source

Merged default into minor

--HG--
branch : minor
Alex Szpakowski 10 years ago
parent
commit
d229fb1129

+ 2 - 2
CMakeLists.txt

@@ -1215,8 +1215,8 @@ if(MEGA_EXTRA_DEPENDECIES)
 endif()
 endif()
 
 
 if(MSVC)
 if(MSVC)
-	set_target_properties(${LOVE_LIB_NAME} PROPERTIES RELEASE_OUTPUT_NAME "love" PDB_NAME "liblove")
-	set_target_properties(${LOVE_LIB_NAME} PROPERTIES DEBUG_OUTPUT_NAME "love" PDB_NAME "liblove")
+	set_target_properties(${LOVE_LIB_NAME} PROPERTIES RELEASE_OUTPUT_NAME "love" PDB_NAME "liblove" IMPORT_PREFIX "lib")
+	set_target_properties(${LOVE_LIB_NAME} PROPERTIES DEBUG_OUTPUT_NAME "love" PDB_NAME "liblove" IMPORT_PREFIX "lib")
 endif()
 endif()
 
 
 #
 #

+ 15 - 0
changes.txt

@@ -52,6 +52,7 @@ LOVE 0.9.2 [Baby Inspector]
 
 
   Released: N/A
   Released: N/A
 
 
+  * Added Lua 5.3's UTF-8 module (via utf8 = require("utf8")).
   * Added Shader:getExternVariable.
   * Added Shader:getExternVariable.
   * Added several new canvas texture formats.
   * Added several new canvas texture formats.
   * Added love.graphics.getCanvasFormats.
   * Added love.graphics.getCanvasFormats.
@@ -61,6 +62,7 @@ LOVE 0.9.2 [Baby Inspector]
   * Added SpriteBatch:flush.
   * Added SpriteBatch:flush.
   * Added love.graphics.getStats.
   * Added love.graphics.getStats.
   * Added "mirroredrepeat" wrap mode.
   * Added "mirroredrepeat" wrap mode.
+  * Added love.audio.setDopplerScale and love.audio.getDopplerScale.
   * Added optional duration argument to Joystick:setVibration.
   * Added optional duration argument to Joystick:setVibration.
   * Added love.joystick.loadGamepadMappings and love.joystick.saveGamepadMappings.
   * Added love.joystick.loadGamepadMappings and love.joystick.saveGamepadMappings.
   * Added Joint:setUserData and Joint:getUserData.
   * Added Joint:setUserData and Joint:getUserData.
@@ -69,8 +71,13 @@ LOVE 0.9.2 [Baby Inspector]
   * Added Contact:getFixtures and Body:getContactList.
   * Added Contact:getFixtures and Body:getContactList.
   * Added Body:getWorld.
   * Added Body:getWorld.
   * Added Body:getJointList.
   * Added Body:getJointList.
+  * Added Body/Contact/Fixture/Joint/World:isDestroyed.
+  * Added love.mousemoved event callback.
+  * Added love.mouse.setRelativeMode and love.mouse.getRelativeMode.
+  * Added Scancode enums, love.keyboard.getKeyFromScancode, and love.keyboard.getScancodeFromKey.
   * Added love.window.getDisplayName.
   * Added love.window.getDisplayName.
   * Added love.window.minimize.
   * Added love.window.minimize.
+  * Added love.window.maximize.
   * Added love.window.showMessageBox.
   * Added love.window.showMessageBox.
   * Added 'refreshrate' field to the table returned by love.window.getMode.
   * Added 'refreshrate' field to the table returned by love.window.getMode.
   * Added love.window.toPixels and love.window.fromPixels.
   * Added love.window.toPixels and love.window.fromPixels.
@@ -82,11 +89,16 @@ LOVE 0.9.2 [Baby Inspector]
   * Deprecated the 'hdrcanvas' graphics feature enum in favor of getCanvasFormats.
   * Deprecated the 'hdrcanvas' graphics feature enum in favor of getCanvasFormats.
   * Deprecated the 'dxt' and 'bc5' graphics feature enums in favor of getCompressedImageFormats.
   * Deprecated the 'dxt' and 'bc5' graphics feature enums in favor of getCompressedImageFormats.
 
 
+  * Fixed crashes when love objects are used in multiple threads.
   * Fixed love.filesystem.setIdentity breaking in some situations when called multiple times.
   * Fixed love.filesystem.setIdentity breaking in some situations when called multiple times.
   * Fixed the default love.filesystem identity when in Fused mode in Windows.
   * Fixed the default love.filesystem identity when in Fused mode in Windows.
   * Fixed love.system.openURL sometimes blocking indefinitely on Linux.
   * Fixed love.system.openURL sometimes blocking indefinitely on Linux.
   * Fixed love.joystick.setGamepadMapping.
   * Fixed love.joystick.setGamepadMapping.
   * Fixed the order of vertices in ChainShapes.
   * Fixed the order of vertices in ChainShapes.
+  * Fixed love.mouse.getPosition returning outdated values if love.mouse.setPosition is used in the same frame.
+  * Fixed love.graphics.newFont to error when given an invalid size argument.
+  * Fixed the filename and backtrace given when love.graphics.print errors.
+  * Fixed a small memory leak if love.graphics.newCanvas errors.
   * Fixed shader:getWarnings returning unnecessary information.
   * Fixed shader:getWarnings returning unnecessary information.
   * Fixed some cases of noncompliant shader code not properly erroring on some nvidia drivers.
   * Fixed some cases of noncompliant shader code not properly erroring on some nvidia drivers.
   * Fixed a potential crash when Shader objects are garbage collected.
   * Fixed a potential crash when Shader objects are garbage collected.
@@ -108,6 +120,9 @@ LOVE 0.9.2 [Baby Inspector]
 
 
   * Renamed all cases of FSAA to MSAA. The FSAA names still exist for backward-compatibility.
   * Renamed all cases of FSAA to MSAA. The FSAA names still exist for backward-compatibility.
 
 
+  * Updated the Windows executable to automatically prefer the higher performance GPU on nvidia Optimus systems.
+  * Updated the --console command-line argument in Windows to open the console before conf.lua is loaded.
+  * Updated the love executable to verify that the love library's version matches.
   * Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated.
   * Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated.
   * Updated internal code for handling garbage collection of love objects to be more efficient.
   * Updated internal code for handling garbage collection of love objects to be more efficient.
   * Updated love's initialization code to trigger a Lua error if love.conf has an error in it.
   * Updated love's initialization code to trigger a Lua error if love.conf has an error in it.

+ 11 - 0
src/love.cpp

@@ -39,6 +39,17 @@ extern "C" {
 #include "OSX.h"
 #include "OSX.h"
 #endif // LOVE_MACOSX
 #endif // LOVE_MACOSX
 
 
+#ifdef LOVE_WINDOWS
+extern "C"
+{
+// Prefer the higher performance GPU on Windows systems that use nvidia Optimus.
+// http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf
+// TODO: Re-evaluate in the future when the average integrated GPU in Optimus
+// systems is less mediocre?
+LOVE_EXPORT DWORD NvOptimusEnablement = 0x00000001;
+}
+#endif
+
 #ifdef LOVE_LEGENDARY_UTF8_ARGV_HACK
 #ifdef LOVE_LEGENDARY_UTF8_ARGV_HACK
 
 
 void get_utf8_arguments(int &argc, char **&argv)
 void get_utf8_arguments(int &argc, char **&argv)

+ 19 - 0
src/modules/filesystem/wrap_Filesystem.cpp

@@ -283,6 +283,24 @@ int w_getSourceBaseDirectory(lua_State *L)
 	return 1;
 	return 1;
 }
 }
 
 
+int w_getRealDirectory(lua_State *L)
+{
+	const char *filename = luaL_checkstring(L, 1);
+	std::string dir;
+
+	try
+	{
+		dir = instance()->getRealDirectory(filename);
+	}
+	catch (love::Exception &e)
+	{
+		return luax_ioError(L, "%s", e.what());
+	}
+
+	lua_pushstring(L, dir.c_str());
+	return 1;
+}
+
 int w_isDirectory(lua_State *L)
 int w_isDirectory(lua_State *L)
 {
 {
 	const char *arg = luaL_checkstring(L, 1);
 	const char *arg = luaL_checkstring(L, 1);
@@ -666,6 +684,7 @@ static const luaL_Reg functions[] =
 	{ "getAppdataDirectory", w_getAppdataDirectory },
 	{ "getAppdataDirectory", w_getAppdataDirectory },
 	{ "getSaveDirectory", w_getSaveDirectory },
 	{ "getSaveDirectory", w_getSaveDirectory },
 	{ "getSourceBaseDirectory", w_getSourceBaseDirectory },
 	{ "getSourceBaseDirectory", w_getSourceBaseDirectory },
+	{ "getRealDirectory", w_getRealDirectory },
 	{ "isDirectory", w_isDirectory },
 	{ "isDirectory", w_isDirectory },
 	{ "isFile", w_isFile },
 	{ "isFile", w_isFile },
 	{ "createDirectory", w_createDirectory },
 	{ "createDirectory", w_createDirectory },

+ 1 - 0
src/modules/filesystem/wrap_Filesystem.h

@@ -56,6 +56,7 @@ int w_getUserDirectory(lua_State *L);
 int w_getAppdataDirectory(lua_State *L);
 int w_getAppdataDirectory(lua_State *L);
 int w_getSaveDirectory(lua_State *L);
 int w_getSaveDirectory(lua_State *L);
 int w_getSourceBaseDirectory(lua_State *L);
 int w_getSourceBaseDirectory(lua_State *L);
+int w_getRealDirectory(lua_State *L);
 int w_isDirectory(lua_State *L);
 int w_isDirectory(lua_State *L);
 int w_isFile(lua_State *L);
 int w_isFile(lua_State *L);
 int w_createDirectory(lua_State *L);
 int w_createDirectory(lua_State *L);