diff --git a/.hgtags b/.hgtags
index c4cce6364..67d680e02 100644
--- a/.hgtags
+++ b/.hgtags
@@ -9,3 +9,4 @@ e0f98d53debb62347c6433ca0534a0f77f15f76f 0.8.0
8b113c345e97e7bb7e963e5d67451abdfb05cfde 0.9.1
a5e405cdf14d030b71d09a105086797942ae91a9 0.9.2
14717f0fb5d96d380c10fe6f41b74b7652c7d836 0.10.0
+3cb3559eebb89803c0b7fa83d51d8e48a2b20b7a 0.10.1
diff --git a/changes.txt b/changes.txt
index c45db9982..d686553da 100644
--- a/changes.txt
+++ b/changes.txt
@@ -1,5 +1,39 @@
+LOVE 0.10.1 [Super Toast]
+-------------------------
+
+Released: 2016-02-14
+
+ * Added a new love.conf flag t.externalstorage, which determines whether files are saved in internal or external storage on Android devices.
+ * Added a new variant of love.graphics.arc which can draw different types of arcs ("pie", "open", or "closed").
+ * Added "lighten" and "darken" BlendModes. They can only be used with the "premultiplied" BlendAlphaMode.
+ * Added the "lighten" GraphicsFeature constant.
+ * Added the ability to avoid clearing specific Canvases when calling love.graphics.clear, if multiple Canvases are active at once via love.graphics.setCanvas.
+ * Added Text:getDimensions.
+ * Added optional "collideconnected" argument to love.physics.newMotorJoint.
+
+ * Fixed a Lua error in the no-game screen if the window's height is too small.
+ * Fixed the default error handler to reset the mouse Cursor.
+ * Fixed love.filesystem functions crashing when called if liblove is used directly without calling love.filesystem.init.
+ * Fixed audio on Android to pause when the app is inactive, and resume when the app becomes active again.
+ * Fixed the Video decoding thread hanging after Video:seek or when a Video finishes.
+ * Fixed Video:isPlaying to always return false after it finishes playing.
+ * Fixed RandomGenerator:random crashing if a nil 'self' is used.
+ * Fixed loading BMFont files which have characters with 0 width or height (a space character, for example).
+ * Fixed love.graphics.newFont causing crashes if FileData is passed in.
+ * Fixed love.graphics.clear(colortable) causing crashes on OpenGL ES 2 systems when a Canvas is active.
+ * Fixed a driver bug on some Android devices which caused all objects to show up as black.
+ * Fixed a driver bug on Windows with AMD graphics cards where love.graphics.clear would not always work.
+ * Fixed Shader:sendColor incorrectly converting alpha values from sRGB to linear RGB when gamma-correct rendering is enabled.
+ * Fixed love.graphics.newMesh(vertices) double-converting colors from sRGB to linear RGB when gamma-correct rendering is enabled.
+ * Fixed love.graphics.new* crashing when there is no graphics context/window.
+
+ * Updated the Windows executable to prefer the high-powered AMD graphics card on systems which have switchable Intel+AMD GPUs.
+ * Updated love.touch.getTouches to return the list of IDs in the relative order that the touches initially happened, instead of being in a random order.
+ * Updated the error messages caused by invalid or bad arguments to ImageData and SoundData methods to be more descriptive.
+
+
LOVE 0.10.0 [Super Toast]
---------------
+-------------------------
Released: 2015-12-22
diff --git a/extra/nsis/game.ico b/extra/nsis/game.ico
index 3a0103438..ecc5c0d3d 100644
Binary files a/extra/nsis/game.ico and b/extra/nsis/game.ico differ
diff --git a/extra/nsis/left.bmp b/extra/nsis/left.bmp
index 227e6a05f..91d5e3a30 100644
Binary files a/extra/nsis/left.bmp and b/extra/nsis/left.bmp differ
diff --git a/extra/nsis/love.ico b/extra/nsis/love.ico
index 73403aedb..b703c98b8 100644
Binary files a/extra/nsis/love.ico and b/extra/nsis/love.ico differ
diff --git a/extra/nsis/top.bmp b/extra/nsis/top.bmp
index 99d179aed..bec3e05fd 100644
Binary files a/extra/nsis/top.bmp and b/extra/nsis/top.bmp differ
diff --git a/extra/windows/love.ico b/extra/windows/love.ico
index 73403aedb..b703c98b8 100644
Binary files a/extra/windows/love.ico and b/extra/windows/love.ico differ
diff --git a/platform/unix/application-x-love-game.svg b/platform/unix/application-x-love-game.svg
index 19c62362b..a01da96f3 100644
--- a/platform/unix/application-x-love-game.svg
+++ b/platform/unix/application-x-love-game.svg
@@ -1,1024 +1,793 @@
-
-
-
-
+
+
+
+
diff --git a/platform/unix/love.svg b/platform/unix/love.svg
index 03267f0b6..552ad1781 100644
--- a/platform/unix/love.svg
+++ b/platform/unix/love.svg
@@ -1,1030 +1,962 @@
-
+
diff --git a/platform/xcode/Images.xcassets/Contents.json b/platform/xcode/Images.xcassets/Contents.json
new file mode 100644
index 000000000..da4a164c9
--- /dev/null
+++ b/platform/xcode/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128.png
new file mode 100644
index 000000000..6aaf64d0a
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128@2x.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128@2x.png
new file mode 100644
index 000000000..bfbccd330
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_128x128@2x.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16.png
new file mode 100644
index 000000000..81b7da9fb
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16@2x.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16@2x.png
new file mode 100644
index 000000000..e28e79f83
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_16x16@2x.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256.png
new file mode 100644
index 000000000..bfbccd330
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256@2x.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256@2x.png
new file mode 100644
index 000000000..28054d712
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_256x256@2x.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32.png
new file mode 100644
index 000000000..e28e79f83
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32@2x.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32@2x.png
new file mode 100644
index 000000000..75847d1ee
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_32x32@2x.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512.png
new file mode 100644
index 000000000..28054d712
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512.png differ
diff --git a/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512@2x.png b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512@2x.png
new file mode 100644
index 000000000..08683780f
Binary files /dev/null and b/platform/xcode/Images.xcassets/GameIcon.iconset/icon_512x512@2x.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/1024.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/1024.png
new file mode 100644
index 000000000..6c52a9deb
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/1024.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/128.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/128.png
new file mode 100644
index 000000000..82c74bcdb
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/128.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/16.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/16.png
new file mode 100644
index 000000000..1b310d3f9
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/16.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/256.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/256.png
new file mode 100644
index 000000000..cd0212152
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/256.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/32.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/32.png
new file mode 100644
index 000000000..5c0890d21
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/32.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/512.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/512.png
new file mode 100644
index 000000000..17915d68a
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/512.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/64.png b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/64.png
new file mode 100644
index 000000000..be300b35d
Binary files /dev/null and b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/64.png differ
diff --git a/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/Contents.json b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..79b9cddac
--- /dev/null
+++ b/platform/xcode/Images.xcassets/OS X AppIcon.appiconset/Contents.json
@@ -0,0 +1,68 @@
+{
+ "images" : [
+ {
+ "size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "16.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "32.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "32.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "64.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "128.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "256.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "256.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "512.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "512.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "1024.png",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/Contents.json
similarity index 68%
rename from platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json
rename to platform/xcode/Images.xcassets/iOS AppIcon.appiconset/Contents.json
index d58677a9b..f1a9e0970 100644
--- a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json
+++ b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/Contents.json
@@ -3,121 +3,121 @@
{
"size" : "29x29",
"idiom" : "iphone",
- "filename" : "pig-29pt@1x.png",
+ "filename" : "icon-29pt@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
- "filename" : "pig-29pt@2x.png",
+ "filename" : "icon-29pt@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
- "filename" : "pig-29pt@3x.png",
+ "filename" : "icon-29pt@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
- "filename" : "pig-40pt@2x.png",
+ "filename" : "icon-40pt@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
- "filename" : "pig-40pt@3x.png",
+ "filename" : "icon-40pt@3x.png",
"scale" : "3x"
},
{
"size" : "57x57",
"idiom" : "iphone",
- "filename" : "pig-57pt@1x.png",
+ "filename" : "icon-57pt@1x.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
- "filename" : "pig-57pt@2x.png",
+ "filename" : "icon-57pt@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
- "filename" : "pig-60pt@2x.png",
+ "filename" : "icon-60pt@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
- "filename" : "pig-60pt@3x.png",
+ "filename" : "icon-60pt@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "ipad",
- "filename" : "pig-29pt@1x.png",
+ "filename" : "icon-29pt@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
- "filename" : "pig-29pt@2x.png",
+ "filename" : "icon-29pt@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
- "filename" : "pig-40pt@1x.png",
+ "filename" : "icon-40pt@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
- "filename" : "pig-40pt@2x.png",
+ "filename" : "icon-40pt@2x.png",
"scale" : "2x"
},
{
"size" : "50x50",
"idiom" : "ipad",
- "filename" : "pig-50pt@1x.png",
+ "filename" : "icon-50pt@1x.png",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
- "filename" : "pig-50pt@2x.png",
+ "filename" : "icon-50pt@2x.png",
"scale" : "2x"
},
{
"size" : "72x72",
"idiom" : "ipad",
- "filename" : "pig-72pt@1x.png",
+ "filename" : "icon-72pt@1x.png",
"scale" : "1x"
},
{
"size" : "72x72",
"idiom" : "ipad",
- "filename" : "pig-72pt@2x.png",
+ "filename" : "icon-72pt@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
- "filename" : "pig-76pt@1x.png",
+ "filename" : "icon-76pt@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
- "filename" : "pig-76pt@2x.png",
+ "filename" : "icon-76pt@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
- "filename" : "pig-83.5pt@2x.png",
+ "filename" : "icon-83.5pt@2x.png",
"scale" : "2x"
}
],
@@ -125,4 +125,4 @@
"version" : 1,
"author" : "xcode"
}
-}
\ No newline at end of file
+}
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@1x.png
new file mode 100644
index 000000000..8b548ef9b
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@2x.png
new file mode 100644
index 000000000..1fcc4be30
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@3x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@3x.png
new file mode 100644
index 000000000..d7a8b6000
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-29pt@3x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@1x.png
new file mode 100644
index 000000000..aa936450e
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@2x.png
new file mode 100644
index 000000000..6705cbfa9
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@3x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@3x.png
new file mode 100644
index 000000000..54ca124f3
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-40pt@3x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@1x.png
new file mode 100644
index 000000000..8b9b1118d
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@2x.png
new file mode 100644
index 000000000..9806b7083
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-50pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@1x.png
new file mode 100644
index 000000000..02d7cc98c
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@2x.png
new file mode 100644
index 000000000..68f898502
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-57pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@2x.png
new file mode 100644
index 000000000..54ca124f3
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@3x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@3x.png
new file mode 100644
index 000000000..c93997c00
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-60pt@3x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@1x.png
new file mode 100644
index 000000000..a47c6d10e
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@2x.png
new file mode 100644
index 000000000..0850319f1
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-72pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@1x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@1x.png
new file mode 100644
index 000000000..f90a1360f
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@1x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@2x.png
new file mode 100644
index 000000000..c2cba8cc3
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-76pt@2x.png differ
diff --git a/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-83.5pt@2x.png b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-83.5pt@2x.png
new file mode 100644
index 000000000..ac90e1bb7
Binary files /dev/null and b/platform/xcode/Images.xcassets/iOS AppIcon.appiconset/icon-83.5pt@2x.png differ
diff --git a/platform/xcode/ios/Images.xcassets/LaunchImage.launchimage/Contents.json b/platform/xcode/Images.xcassets/iOS LaunchImage.launchimage/Contents.json
similarity index 100%
rename from platform/xcode/ios/Images.xcassets/LaunchImage.launchimage/Contents.json
rename to platform/xcode/Images.xcassets/iOS LaunchImage.launchimage/Contents.json
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png
deleted file mode 100644
index 7b2ef1872..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png
deleted file mode 100644
index a67fca032..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png
deleted file mode 100644
index 9fcc1ee0a..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png
deleted file mode 100644
index 599212d2b..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png
deleted file mode 100644
index fbb029b5f..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png
deleted file mode 100644
index de29613e9..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png
deleted file mode 100644
index 87a29dd2e..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png
deleted file mode 100644
index 0fb257a35..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png
deleted file mode 100644
index d5c81e2e2..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png
deleted file mode 100644
index 77bc3086d..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png
deleted file mode 100644
index de29613e9..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png
deleted file mode 100644
index 0d31db7f1..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png
deleted file mode 100644
index e9648ceb9..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png
deleted file mode 100644
index 4227fd6a5..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png
deleted file mode 100644
index 4e40fe0bf..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png
deleted file mode 100644
index d5fcbe95a..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-83.5pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-83.5pt@2x.png
deleted file mode 100644
index 78c9f8c88..000000000
Binary files a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-83.5pt@2x.png and /dev/null differ
diff --git a/platform/xcode/ios/Launch Screen.xib b/platform/xcode/ios/Launch Screen.xib
index 91013a3de..45fffdbdb 100644
--- a/platform/xcode/ios/Launch Screen.xib
+++ b/platform/xcode/ios/Launch Screen.xib
@@ -1,8 +1,8 @@
-
+
-
+
diff --git a/platform/xcode/love.xcodeproj/project.pbxproj b/platform/xcode/love.xcodeproj/project.pbxproj
index 823472763..a1cfe0367 100644
--- a/platform/xcode/love.xcodeproj/project.pbxproj
+++ b/platform/xcode/love.xcodeproj/project.pbxproj
@@ -20,10 +20,9 @@
FA0797991BF480A200034B7C /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA0797981BF480A200034B7C /* GameController.framework */; };
FA08F69616C766E000F007B5 /* love.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; };
FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
- FA0B78D21A95814A000E1D17 /* love.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA0B78D01A95814A000E1D17 /* love.icns */; };
- FA0B78D31A95814A000E1D17 /* lovedocument.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA0B78D11A95814A000E1D17 /* lovedocument.icns */; };
FA0B7F301A95AC7D000E1D17 /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E6A3410420AC0007D418B /* love.cpp */; };
FA27B3CB1B498696008A9DCE /* Theora.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA27B3CA1B498696008A9DCE /* Theora.framework */; };
+ FA5933751C6D625B000EC779 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA5D249A1A96CF4300C6FC8F /* Images.xcassets */; };
FA5D24821A96CA1800C6FC8F /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24811A96CA1800C6FC8F /* OpenAL.framework */; };
FA5D24841A96CA2700C6FC8F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */; };
FA5D24881A96CA8A00C6FC8F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24871A96CA8A00C6FC8F /* UIKit.framework */; };
@@ -113,8 +112,6 @@
A9F169A6109E824900FC83D1 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; };
FA0797981BF480A200034B7C /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/GameController.framework; sourceTree = DEVELOPER_DIR; };
FA08F69116C765A200F007B5 /* love.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- FA0B78D01A95814A000E1D17 /* love.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = love.icns; path = macosx/love.icns; sourceTree = ""; };
- FA0B78D11A95814A000E1D17 /* lovedocument.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = lovedocument.icns; path = macosx/lovedocument.icns; sourceTree = ""; };
FA0B7F061A95AAF3000E1D17 /* love.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = love.app; sourceTree = BUILT_PRODUCTS_DIR; };
FA27B3CA1B498696008A9DCE /* Theora.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Theora.framework; path = /Library/Frameworks/Theora.framework; sourceTree = ""; };
FA577A9316C7217800860150 /* liblove.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = liblove.xcodeproj; sourceTree = ""; };
@@ -127,7 +124,7 @@
FA5D24931A96CABA00C6FC8F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/CoreMotion.framework; sourceTree = DEVELOPER_DIR; };
FA5D24971A96CE1E00C6FC8F /* love-ios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "love-ios.plist"; path = "ios/love-ios.plist"; sourceTree = ""; };
- FA5D249A1A96CF4300C6FC8F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ios/Images.xcassets; sourceTree = ""; };
+ FA5D249A1A96CF4300C6FC8F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
FA5D24C11A96D78000C6FC8F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
FA7C63691A9C49570000FD29 /* Launch Screen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "Launch Screen.xib"; path = "ios/Launch Screen.xib"; sourceTree = ""; };
FA9B4A0916E1579F00074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; };
@@ -206,8 +203,6 @@
isa = PBXGroup;
children = (
FAC1A448196F5DC600125284 /* license.txt */,
- FA0B78D01A95814A000E1D17 /* love.icns */,
- FA0B78D11A95814A000E1D17 /* lovedocument.icns */,
);
name = Resources;
sourceTree = "";
@@ -379,9 +374,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ FA5933751C6D625B000EC779 /* Images.xcassets in Resources */,
FAC1A449196F5DC600125284 /* license.txt in Resources */,
- FA0B78D31A95814A000E1D17 /* lovedocument.icns in Resources */,
- FA0B78D21A95814A000E1D17 /* love.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -432,6 +426,7 @@
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "OS X AppIcon";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -458,6 +453,7 @@
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "OS X AppIcon";
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -597,8 +593,8 @@
FA0B7F261A95AAF4000E1D17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ ASSETCATALOG_COMPILER_APPICON_NAME = "iOS AppIcon";
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "iOS LaunchImage";
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
@@ -643,8 +639,8 @@
FA0B7F271A95AAF4000E1D17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ ASSETCATALOG_COMPILER_APPICON_NAME = "iOS AppIcon";
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "iOS LaunchImage";
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
@@ -685,8 +681,8 @@
FA0B7F281A95AAF4000E1D17 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ ASSETCATALOG_COMPILER_APPICON_NAME = "iOS AppIcon";
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "iOS LaunchImage";
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
@@ -786,6 +782,7 @@
FA5326C718971A0900F7BBF4 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "OS X AppIcon";
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
diff --git a/platform/xcode/macosx/love-macosx.plist b/platform/xcode/macosx/love-macosx.plist
index f90396a75..b5a9adf0e 100644
--- a/platform/xcode/macosx/love-macosx.plist
+++ b/platform/xcode/macosx/love-macosx.plist
@@ -8,7 +8,7 @@
CFBundleTypeIconFile
- lovedocument
+ GameIcon
CFBundleTypeName
LÖVE Project
CFBundleTypeRole
@@ -47,8 +47,6 @@
CFBundleExecutable
love
- CFBundleIconFile
- love.icns
CFBundleIdentifier
$(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
@@ -79,7 +77,7 @@
UTTypeDescription
LÖVE Project
UTTypeIconFile
- lovedocument
+ GameIcon
UTTypeIdentifier
org.love2d.love-game
UTTypeReferenceURL
diff --git a/platform/xcode/macosx/love.icns b/platform/xcode/macosx/love.icns
deleted file mode 100644
index 483712ea0..000000000
Binary files a/platform/xcode/macosx/love.icns and /dev/null differ
diff --git a/platform/xcode/macosx/lovedocument.icns b/platform/xcode/macosx/lovedocument.icns
deleted file mode 100644
index 1dede26b8..000000000
Binary files a/platform/xcode/macosx/lovedocument.icns and /dev/null differ
diff --git a/src/common/Variant.cpp b/src/common/Variant.cpp
index 32e9ba5ea..b26a368ef 100644
--- a/src/common/Variant.cpp
+++ b/src/common/Variant.cpp
@@ -26,35 +26,21 @@ namespace love
static love::Type extractudatatype(lua_State *L, int idx)
{
- Type t = INVALID_ID;
- if (!lua_isuserdata(L, idx))
- return t;
- if (luaL_getmetafield(L, idx, "type") == 0)
- return t;
- lua_pushvalue(L, idx);
- int result = lua_pcall(L, 1, 1, 0);
- if (result == 0)
- getTypeName(lua_tostring(L, -1), t);
- if (result == 0 || result == LUA_ERRRUN)
- lua_pop(L, 1);
- return t;
-}
+ Proxy *u = (Proxy *)lua_touserdata(L, idx);
-static inline void delete_table(std::vector > *table)
-{
- while (!table->empty())
- {
- std::pair &kv = table->back();
- kv.first->release();
- kv.second->release();
- table->pop_back();
- }
- delete table;
+ if (u == nullptr || u->type <= INVALID_ID || u->type >= TYPE_MAX_ENUM)
+ return INVALID_ID;
+
+ // We could get rid of the dynamic_cast for more performance, but it would
+ // be less safe...
+ if (dynamic_cast