Updated LÖVE codebase to 6d245a253bab

This commit is contained in:
Martin Felis
2016-10-30 19:08:36 +01:00
parent 6dedec28a2
commit 967840db16
222 changed files with 12081 additions and 3941 deletions
Regular → Executable
+249 -75
View File
@@ -23,20 +23,23 @@ if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
message(FATAL_ERROR "Prevented in-tree build.")
endif()
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.1)
project(love)
if(NOT MEGA)
message(FATAL_ERROR "
It is currently only possible to build with megasource on Windows.
Please see http://bitbucket.org/rude/megasource
")
endif()
set(LOVE_EXE_NAME love)
set(LOVE_LIB_NAME liblove)
set(CMAKE_MODULE_PATH "${love_SOURCE_DIR}/extra/cmake" ${CMAKE_MODULE_PATH})
# Needed for shared libs on Linux. (-fPIC).
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set (CMAKE_CXX_STANDARD 11)
if(MSVC)
set(LOVE_CONSOLE_EXE_NAME lovec)
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(LOVE_X64 TRUE)
set(LOVE_TARGET_PLATFORM x64)
@@ -49,6 +52,9 @@ option(LOVE_JIT "Use LuaJIT" TRUE)
option(LOVE_MPG123 "Use mpg123" TRUE)
if(LOVE_JIT)
if(APPLE)
message(FATAL_ERROR "JIT not supported yet on Mac. Please use -DLOVE_JIT=0.")
endif()
message(STATUS "LuaJIT: Enabled")
else()
message(STATUS "LuaJIT: Disabled")
@@ -62,17 +68,186 @@ message(STATUS "Target platform: ${LOVE_TARGET_PLATFORM}")
find_package(OpenGL)
if(${LOVE_JIT})
set(MEGA_LUA ${MEGA_LUAJIT_LIB})
set(MEGA_EXTRA_INCLUDE ${MEGA_LUAJIT_INCLUDE})
set(MEGA_EXTRA_DLLS ${MEGA_LUAJIT_DLL})
set(MEGA_EXTRA_DEPENDECIES luajit)
if(MEGA)
# LOVE_MSVC_DLLS contains runtime DLLs that should be bundled with the love
# binary (in e.g. the installer). Example: msvcp140.dll.
set(LOVE_MSVC_DLLS ${MEGA_MSVC_DLLS})
# LOVE_INCLUDE_DIRS contains the search directories for #include. It's mostly
# not needed for MEGA builds, since almost all the libraries (except LuaJIT)
# are CMake targets, causing include paths to be added automatically.
set(LOVE_INCLUDE_DIRS)
if(APPLE)
# Some files do #include <SDL2/SDL.h>, but building with megasource
# requires #include <SDL.h>.
add_definitions(-DLOVE_MACOSX_SDL_DIRECT_INCLUDE)
endif ()
# SDL2 links with some DirectX libraries, and we apparently also
# pull those libraries in for linkage because we link with SDL2.
set(LOVE_LINK_DIRS ${SDL_LINK_DIR})
set(LOVE_LINK_LIBRARIES
${OPENGL_gl_LIBRARY}
${MEGA_FREETYPE}
${MEGA_LIBOGG}
${MEGA_LIBVORBISFILE}
${MEGA_LIBVORBIS}
${MEGA_LIBTHEORA}
${MEGA_MODPLUG}
${MEGA_OPENAL}
${MEGA_PHYSFS}
${MEGA_SDL2MAIN}
${MEGA_SDL2}
${MEGA_ZLIB}
)
# These DLLs are moved next to the love binary in a post-build step to
# love runnable from inside Visual Studio.
#
# LOVE_MOVE_DLLS can contain CMake targets, in which case the target's
# output is assumed to be a DLL, or it can contain paths to actual files.
# We detect whether or not each item is a target, and take the appropriate
# action.
set(LOVE_MOVE_DLLS
${MEGA_SDL2}
${MEGA_OPENAL}
)
if(LOVE_MPG123)
set(LOVE_LINK_LIBRARIES
${LOVE_LINK_LIBRARIES}
${MEGA_MPEG123}
)
set(LOVE_MOVE_DLLS
${LOVE_MOVE_DLLS}
${MEGA_MPEG123}
)
endif()
if(LOVE_JIT)
set(LOVE_LUA_LIBRARY ${MEGA_LUAJIT_LIB})
# LOVE_EXTRA_DLLS are non-runtime DLLs which should be bundled with the
# love binary in installers, etc. It's only needed for external
# (non-CMake) targets, i.e. LuaJIT.
set(LOVE_EXTRA_DLLS ${MEGA_LUAJIT_DLL})
set(LOVE_EXTRA_DEPENDECIES luajit)
set(LOVE_INCLUDE_DIRS
${LOVE_INCLUDE_DIRS}
${MEGA_LUAJIT_INCLUDE}
)
set(LOVE_LINK_LIBRARIES
${LOVE_LINK_LIBRARIES}
${LOVE_LUA_LIBRARY}
)
set(LOVE_MOVE_DLLS
${LOVE_MOVE_DLLS}
${MEGA_LUAJIT_DLL}
)
else()
set(LOVE_LUA_LIBRARY ${MEGA_LUA51})
set(LOVE_LINK_LIBRARIES
${LOVE_LINK_LIBRARIES}
${LOVE_LUA_LIBRARY}
)
set(LOVE_MOVE_DLLS
${LOVE_MOVE_DLLS}
${LOVE_LUA_LIBRARY}
)
# MEGA_LUA51 is a CMake target, so includes are handled
# automatically.
endif()
else()
set(MEGA_LUA ${MEGA_LUA51})
# MEGA_LUA51 is a CMake target, so includes are handled
# automatically.
if(MSVC)
message(FATAL_ERROR "
It is currently only possible to build with megasource on Windows.
Please see http://bitbucket.org/rude/megasource
")
endif()
find_package(Freetype REQUIRED)
find_package(ModPlug REQUIRED)
find_package(OpenAL REQUIRED)
find_package(OpenGL REQUIRED)
find_package(PhysFS REQUIRED)
find_package(SDL2 REQUIRED)
find_package(Theora REQUIRED)
find_package(Vorbis REQUIRED)
# required for enet
add_definitions(-D HAS_SOCKLEN_T)
set(LOVE_INCLUDE_DIRS
${SDL2_INCLUDE_DIR}
${PHYSFS_INCLUDE_DIR}
${FREETYPE_INCLUDE_DIRS}
${VORBIS_INCLUDE_DIR}
)
set(LOVE_LINK_LIBRARIES
${OPENGL_gl_LIBRARY}
${SDL2_LIBRARY}
${FREETYPE_LIBRARY}
${OPENAL_LIBRARY}
${MODPLUG_LIBRARY}
${PHYSFS_LIBRARY}
${THEORA_LIBRARY}
${THEORADEC_LIBRARY}
${VORBISFILE_LIBRARY}
${LOVE_LUA_LIBRARY}
)
if(LOVE_MPG123)
find_package(MPG123 REQUIRED)
set(LOVE_LINK_LIBRARIES
${LOVE_LINK_LIBRARIES}
${MPG123_LIBRARY}
)
endif()
if(LOVE_JIT)
find_package(LuaJIT REQUIRED)
set(LOVE_LUA_LIBRARY ${LUAJIT_LIBRARY})
set(LOVE_LUA_INCLUDE_DIR ${LUAJIT_INCLUDE_DIR})
else()
find_package(Lua51 REQUIRED)
set(LOVE_LUA_LIBRARY ${LUA_LIBRARY})
set(LOVE_LUA_INCLUDE_DIR ${LUA_INCLUDE_DIR})
endif()
set(LOVE_INCLUDE_DIRS
${LOVE_INCLUDE_DIRS}
${LOVE_LUA_INCLUDE_DIR}
)
set(LOVE_LINK_LIBRARIES
${LOVE_LINK_LIBRARIES}
${LOVE_LUA_LIBRARY}
)
endif()
###
### No Megasource-specific stuff beyond this point!
###
if(MSVC)
set(DISABLE_WARNING_FLAG -W0)
else()
set(DISABLE_WARNING_FLAG -w)
endif()
function(love_disable_warnings ARG_TARGET)
get_target_property(OLD_FLAGS ${ARG_TARGET} COMPILE_FLAGS)
set(NEW_FLAGS ${DISABLE_WARNING_FLAG})
if(OLD_FLAGS)
set(NEW_FLAGS "${OLD_FLAGS} ${NEW_FLAGS}")
endif()
set_target_properties(${ARG_TARGET} PROPERTIES COMPILE_FLAGS ${NEW_FLAGS})
endfunction()
#
# common
#
@@ -115,6 +290,12 @@ set(LOVE_SRC_COMMON
src/common/wrap_Data.h
)
if (APPLE)
set(LOVE_SRC_COMMON ${LOVE_SRC_COMMON}
src/common/macosx.mm
)
endif()
source_group("common" FILES ${LOVE_SRC_COMMON})
#
@@ -1024,7 +1205,7 @@ set(LOVE_SRC_3P_ENET
)
add_library(love_3p_enet ${LOVE_SRC_3P_ENET})
target_link_libraries(love_3p_enet ${MEGA_LUA})
target_link_libraries(love_3p_enet ${LOVE_LUA_LIBRARY})
target_include_directories(love_3p_enet PUBLIC src/libraries/enet/libenet/include)
#
@@ -1102,6 +1283,12 @@ if(MSVC)
src/libraries/luasocket/libluasocket/wsocket.c
src/libraries/luasocket/libluasocket/wsocket.h
)
else()
set(LOVE_SRC_3P_LUASOCKET_LIBLUASOCKET
${LOVE_SRC_3P_LUASOCKET_LIBLUASOCKET}
src/libraries/luasocket/libluasocket/usocket.c
src/libraries/luasocket/libluasocket/usocket.h
)
endif()
set(LOVE_SRC_3P_LUASOCKET
@@ -1110,7 +1297,7 @@ set(LOVE_SRC_3P_LUASOCKET
)
add_library(love_3p_luasocket ${LOVE_SRC_3P_LUASOCKET})
target_link_libraries(love_3p_luasocket ${MEGA_LUA})
target_link_libraries(love_3p_luasocket ${LOVE_LUA_LIBRARY})
#
# Lua 5.3's UTF-8 library
@@ -1123,7 +1310,7 @@ set(LOVE_SRC_3P_LUAUTF8
)
add_library(love_3p_luautf8 ${LOVE_SRC_3P_LUAUTF8})
target_link_libraries(love_3p_luautf8 ${MEGA_LUA})
target_link_libraries(love_3p_luautf8 ${LOVE_LUA_LIBRARY})
#
# lz4
@@ -1211,7 +1398,7 @@ set(LOVE_3P
love_3p_wuff
)
disable_warnings(love_3p_box2d love_3p_enet love_3p_luasocket)
love_disable_warnings(love_3p_box2d love_3p_enet love_3p_luasocket)
#
# liblove
@@ -1244,40 +1431,10 @@ include_directories(
src
src/libraries
src/modules
${MEGA_EXTRA_INCLUDE}
${LOVE_INCLUDE_DIRS}
)
# SDL2 links with some DirectX libraries, and we apparently also
# pull those libraries in for linkage because we link with SDL2.
link_directories(${SDL_LINK_DIR})
set(LOVE_MEGA_3P
${MEGA_FREETYPE}
${MEGA_LIBOGG}
${MEGA_LIBVORBISFILE}
${MEGA_LIBVORBIS}
${MEGA_LIBTHEORA}
${MEGA_LUA}
${MEGA_MODPLUG}
${MEGA_OPENAL}
${MEGA_PHYSFS}
${MEGA_SDL2MAIN}
${MEGA_SDL2}
${MEGA_ZLIB}
)
if(LOVE_MPG123)
set(LOVE_MEGA_3P
${LOVE_MEGA_3P}
${MEGA_MPEG123}
)
endif()
set(LOVE_LINK_LIBRARIES
${OPENGL_gl_LIBRARY}
${LOVE_MEGA_3P}
)
link_directories(${LOVE_LINK_DIRS})
set(LOVE_RC)
@@ -1294,10 +1451,10 @@ if(MSVC)
endif()
add_library(${LOVE_LIB_NAME} SHARED ${LOVE_LIB_SRC} ${LOVE_RC})
target_link_libraries(liblove ${LOVE_LINK_LIBRARIES} ${LOVE_3P})
target_link_libraries(${LOVE_LIB_NAME} ${LOVE_LINK_LIBRARIES} ${LOVE_3P})
if(MEGA_EXTRA_DEPENDECIES)
add_dependencies(${LOVE_LIB_NAME} ${MEGA_EXTRA_DEPENDECIES})
if(LOVE_EXTRA_DEPENDECIES)
add_dependencies(${LOVE_LIB_NAME} ${LOVE_EXTRA_DEPENDECIES})
endif()
if(MSVC)
@@ -1309,21 +1466,38 @@ endif()
# love (executable)
#
add_executable(${LOVE_EXE_NAME} WIN32 src/love.cpp ${LOVE_RC})
target_link_libraries(love liblove)
target_link_libraries(${LOVE_EXE_NAME} ${LOVE_LIB_NAME})
if(MSVC)
add_executable(${LOVE_CONSOLE_EXE_NAME} src/love.cpp ${LOVE_RC})
target_link_libraries(${LOVE_CONSOLE_EXE_NAME} ${LOVE_LIB_NAME})
endif()
function(post_step_move_dll ARG_POST_TARGET ARG_TARGET_OR_FILE)
if(TARGET ${ARG_TARGET_OR_FILE})
add_custom_command(TARGET ${ARG_POST_TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
$<TARGET_FILE:${ARG_TARGET_OR_FILE}>
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/$<TARGET_FILE_NAME:${ARG_TARGET_OR_FILE}>)
else()
get_filename_component(TEMP_FILENAME ${ARG_TARGET_OR_FILE} NAME)
add_custom_command(TARGET ${ARG_POST_TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${ARG_TARGET_OR_FILE}
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/${TEMP_FILENAME})
endif()
endfunction()
# Add post build steps to move the DLLs next to the binary. Otherwise
# running/debugging the binary will not work from inside VS.
if(LOVE_MPG123)
add_move_dll(love ${MEGA_MPEG123})
if(LOVE_MOVE_DLLS)
foreach(DLL ${LOVE_MOVE_DLLS})
post_step_move_dll(love ${DLL})
endforeach()
endif()
add_move_dll(love ${MEGA_SDL2})
add_move_dll(love ${MEGA_OPENAL})
if(LOVE_JIT)
add_move_file(love ${MEGA_LUAJIT_DLL})
else()
add_move_dll(love ${MEGA_LUA51})
if (NOT MSVC)
return()
endif()
###################################
@@ -1351,24 +1525,24 @@ message(STATUS "Version: ${LOVE_VERSION_STR}")
###################################
# CPack
###################################
install(TARGETS love ${LOVE_LIB_NAME} RUNTIME DESTINATION .)
install(TARGETS ${LOVE_EXE_NAME} ${LOVE_CONSOLE_EXE_NAME} ${LOVE_LIB_NAME} RUNTIME DESTINATION .)
# Extra DLLs.
if(MEGA_EXTRA_DLLS)
foreach(DLL ${MEGA_EXTRA_DLLS})
if(LOVE_EXTRA_DLLS)
foreach(DLL ${LOVE_EXTRA_DLLS})
get_filename_component(DLL_NAME ${DLL} NAME)
message(STATUS "Extra DLL: ${DLL_NAME}")
endforeach()
install(FILES ${MEGA_EXTRA_DLLS} DESTINATION .)
install(FILES ${LOVE_EXTRA_DLLS} DESTINATION .)
endif()
# Dynamic runtime libs.
if(MEGA_MSVC_DLLS)
foreach(DLL ${MEGA_MSVC_DLLS})
if(LOVE_MSVC_DLLS)
foreach(DLL ${LOVE_MSVC_DLLS})
get_filename_component(DLL_NAME ${DLL} NAME)
message(STATUS "Runtime DLL: ${DLL_NAME}")
endforeach()
install(FILES ${MEGA_MSVC_DLLS} DESTINATION .)
install(FILES ${LOVE_MSVC_DLLS} DESTINATION .)
endif()
# Copy a text file from CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_BINARY_DIR.
@@ -1404,12 +1578,12 @@ set(CPACK_PACKAGE_VERSION_MAJOR "${LOVE_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${LOVE_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${LOVE_VERSION_REV}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LOVE")
set(CPACK_PACKAGE_EXECUTABLES "love;LOVE")
set(CPACK_PACKAGE_EXECUTABLES "${LOVE_EXE_NAME};LOVE")
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/readme.md")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/license.txt")
set(CPACK_NSIS_EXECUTABLES_DIRECTORY .)
set(CPACK_NSIS_PACKAGE_NAME "LOVE")
set(CPACK_NSIS_PACKAGE_NAME "LÖVE")
set(CPACK_NSIS_DISPLAY_NAME "LOVE ${LOVE_VERSION_STR}")
set(CPACK_NSIS_MODIFY_PATH OFF)
@@ -1430,7 +1604,7 @@ set(NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/extra/nsis\\\\love.ico")
set(NSIS_MUI_UNICON "${CMAKE_CURRENT_SOURCE_DIR}/extra/nsis\\\\love.ico")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "
!define MUI_WELCOMEPAGE_TITLE \\\"LOVE ${LOVE_VERSION_STR} Setup\\\"
!define MUI_WELCOMEPAGE_TITLE \\\"LÖVE ${LOVE_VERSION_STR} Setup\\\"
!define MUI_WELCOMEFINISHPAGE_BITMAP \\\"${NSIS_LEFT_BMP}\\\"
!define MUI_HEADERIMAGE_BITMAP \\\"${NSIS_TOP_BMP}\\\"
!define MUI_ICON \\\"${NSIS_MUI_ICON}\\\"
+7
View File
@@ -0,0 +1,7 @@
image: mfcula/love-cmake:v1
pipelines:
default:
- step:
script:
- cmake -G"Ninja" -H. -Bout
- ninja -C out
+54
View File
@@ -1,3 +1,57 @@
LOVE 0.10.2 [Super Toast]
-------------------------
Released: N/A
* Added lovec.exe in Windows. It is the same as love.exe but built with the Console subsystem, so it always uses or provides a console.
* Added the ability to restart the game via love.event.quit("restart").
* Added support for passing a table to love.mouse.isDown, love.keyboard.isDown, love.keyboard.isScancodeDown, Joystick:isDown, and Joystick:isGamepadDown.
* Added love.window.isMaximized.
* Added 'shaderswitches' field to the table returned by love.graphics.getStats.
* Added Quad:getTextureDimensions.
* Added 'ellipse' area distribution to ParticleSystems.
* Added support for BC4-7 compressed texture formats in KTX files.
* Added PrismaticJoint:getAxis and WheelJoint:getAxis.
* Added 2-point version of love.physics.newRevoluteJoint.
* Added table variants of Fixture:setCategory and Fixture:setMask.
* Added getNextVertex and getPreviousVertex to ChainShape and EdgeShape.
* Added optional reference angle arguments to RevoluteJoint, PrismaticJoint, and WeldJoint constructors.
* Added RevoluteJoint:getReferenceAngle, PrismaticJoint:getReferenceAngle, and WeldJoint:getReferenceAngle.
* Deprecated undocumented Shader:sendTexture, Shader:sendMatrix, Shader:sendInt, and Shader:sendFloat functions.
* Fixed love on iOS 6.
* Fixed os.execute always returning -1 on Linux.
* Fixed the love.lowmemory callback to call collectgarbage() after the callback has fired, instead of before.
* Fixed love.math.noise(nil) to error instead of returning nil.
* Fixed an occasional crash when a Thread ends.
* Fixed a hang at the end of video playback with some video files.
* Fixed the video decoding thread to not do any work when there are no videos to decode.
* Fixed love.graphics.newVideo(file) to no longer error if love.audio is disabled.
* Fixed a rare bug in Source:play for streaming Sources if the associated OpenAL source object was previously used for a static Source.
* Fixed corrupted Font glyphs in rare cases.
* Fixed stencils inside Canvases on some OpenGL ES 2 devices.
* Fixed an OpenGL error in OpenGL ES 3 when multiple render targets are used.
* Fixed love.window.setMode crashing when called with a Canvas active.
* Fixed love.window.maximize to update the reported window dimensions immediately.
* Fixed gamma correction of ImageFonts and BMFonts with colored images.
* Fixed the default shader improperly applying gamma correction to per-vertex colors when gamma correction is requested but not supported on OpenGL ES.
* Fixed text coloring breaking because of an empty string.
* Fixed large burst of particles when dramatically increasing the emission rate of a ParticleSystem.
* Fixed SpriteBatch:setBufferSize to keep old sprite data if it can fit.
* Fixed MouseJoint:getBodies unconditionally erroring.
* Fixed memory leak in Text:set.
* Fixed incorrect kerning caused by using kerning information for the wrong character in some fonts.
* Fixed ImageData:setPixel/getPixel/mapPixel and SoundData:setSample/getSample to properly handle non-integer coordinates.
* Improved performance of Channel methods by roughly 2x in many cases.
* Improved performance of Shader:send when small numbers of arguments are given.
* Updated love.filesystem.mount to accept a DroppedFile as the first parameter.
* Updated Shader:send to do type and argument checking based on the specified uniform variable's information instead of the arguments to the function.
* Updated Shader:send to accept a flat table for matrix uniforms.
LOVE 0.10.1 [Super Toast]
-------------------------
+42
View File
@@ -0,0 +1,42 @@
version: 0.10.2.{build}
image: Visual Studio 2013
shallow_clone: true
init:
# Make VS 2013 command line tools available
- call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %platform%
install:
# We need to install NSIS to create the packaged installer executable.
- choco install nsis-unicode -y
# Move all woking directory items except `appveyor.yml` to `love` subdirectory.
- md love
- for /D %%i in (*) do @if "%%i" NEQ "love" @move %%i love\%%i
- for %%i in (*) do @if "%%i" NEQ "appveyor.yml" @move %%i love\%%i
# clone megasource and move into top directory.
- hg clone https://bitbucket.org/rude/megasource megasource
- cd megasource
- for /D %%i in (*) do @move %%i ..\%%i
- for %%i in (*) do @move %%i ..\%%i
- cd ..
# move love source to megasource's libs\love.
- move love libs\love
before_build:
- cmake -G "Visual Studio 12" -H. -Bbuild
build_script:
- cmake --build build --target PACKAGE --config Release
after_build:
before_test:
test_script:
artifacts:
- path: build\*.zip
- path: build\*.exe
+25
View File
@@ -0,0 +1,25 @@
# Sets the following variables:
#
# LUAJIT_FOUND
# LUAJIT_INCLUDE_DIR
# LUAJIT_LIBRARY
set(LUAJIT_SEARCH_PATHS
/usr/local
/usr
)
find_path(LUAJIT_INCLUDE_DIR
NAMES luajit.h
PATH_SUFFIXES include include/luajit-2.0
PATHS ${LUAJIT_SEARCH_PATHS})
find_library(LUAJIT_LIBRARY
NAMES luajit-5.1
PATH_SUFFIXES lib
PATHS ${LUAJIT_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LuaJIT DEFAULT_MSG LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR)
mark_as_advanced(LUAJIT_INCLUDE_DIR LUAJIT_LIBRARY)
+25
View File
@@ -0,0 +1,25 @@
# Sets the following variables:
#
# MPG123_FOUND
# MPG123_INCLUDE_DIR
# MPG123_LIBRARY
set(MPG123_SEARCH_PATHS
/usr/local
/usr
)
find_path(MPG123_INCLUDE_DIR
NAMES mpg123.h
PATH_SUFFIXES include
PATHS ${MPG123_SEARCH_PATHS})
find_library(MPG123_LIBRARY
NAMES mpg123
PATH_SUFFIXES lib
PATHS ${MPG123_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MPG123 DEFAULT_MSG MPG123_LIBRARY MPG123_INCLUDE_DIR)
mark_as_advanced(MPG123_INCLUDE_DIR MPG123_LIBRARY)
+25
View File
@@ -0,0 +1,25 @@
# Sets the following variables:
#
# MODPLUG_FOUND
# MODPLUG_INCLUDE_DIR
# MODPLUG_LIBRARY
set(MODPLUG_SEARCH_PATHS
/usr/local
/usr
)
find_path(MODPLUG_INCLUDE_DIR
NAMES libmodplug/modplug.h
PATH_SUFFIXES include
PATHS ${MODPLUG_SEARCH_PATHS})
find_library(MODPLUG_LIBRARY
NAMES modplug
PATH_SUFFIXES lib
PATHS ${MODPLUG_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ModPlug DEFAULT_MSG MODPLUG_LIBRARY MODPLUG_INCLUDE_DIR)
mark_as_advanced(MODPLUG_INCLUDE_DIR MODPLUG_LIBRARY)
+25
View File
@@ -0,0 +1,25 @@
# Sets the following variables:
#
# SDL2_FOUND
# SDL2_INCLUDE_DIR
# SDL2_LIBRARY
set(SDL2_SEARCH_PATHS
/usr/local
/usr
)
find_path(SDL2_INCLUDE_DIR
NAMES SDL.h
PATH_SUFFIXES include include/SDL2
PATHS ${SDL2_SEARCH_PATHS})
find_library(SDL2_LIBRARY
NAMES SDL2
PATH_SUFFIXES lib
PATHS ${SDL2_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SDL2 DEFAULT_MSG SDL2_LIBRARY SDL2_INCLUDE_DIR)
mark_as_advanced(SDL2_INCLUDE_DIR SDL2_LIBRARY)
+31
View File
@@ -0,0 +1,31 @@
# Sets the following variables:
#
# THEORA_FOUND
# THEORA_INCLUDE_DIR
# THEORA_LIBRARY
# THEORADEC_LIBRARY
set(THEORA_SEARCH_PATHS
/usr/local
/usr
)
find_path(THEORA_INCLUDE_DIR
NAMES theora/codec.h
PATH_SUFFIXES include
PATHS ${THEORA_SEARCH_PATHS})
find_library(THEORA_LIBRARY
NAMES theora
PATH_SUFFIXES lib
PATHS ${THEORA_SEARCH_PATHS})
find_library(THEORADEC_LIBRARY
NAMES theoradec
PATH_SUFFIXES lib
PATHS ${THEORA_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Theora DEFAULT_MSG THEORA_LIBRARY THEORA_INCLUDE_DIR)
mark_as_advanced(THEORA_INCLUDE_DIR THEORA_LIBRARY)
+30
View File
@@ -0,0 +1,30 @@
# Sets the following variables:
#
# VORBIS_FOUND
# VORBIS_INCLUDE_DIR
# VORBIS_LIBRARY
# VORBISFILE_LIBRARY
set(VORBIS_SEARCH_PATHS
/usr/local
/usr
)
find_path(VORBIS_INCLUDE_DIR vorbis/vorbisfile.h
PATH_SUFFIXES include
PATHS ${VORBIS_SEARCH_PATHS})
find_library(VORBIS_LIBRARY
NAMES vorbis
PATH_SUFFIXES lib
PATHS ${VORBIS_SEARCH_PATHS})
find_library(VORBISFILE_LIBRARY
NAMES vorbisfile
PATH_SUFFIXES lib
PATHS ${VORBIS_SEARCH_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Vorbis DEFAULT_MSG VORBIS_LIBRARY VORBISFILE_LIBRARY VORBIS_INCLUDE_DIR)
mark_as_advanced(VORBIS_INCLUDE_DIR VORBIS_LIBRARY VORBISFILE_LIBRARY)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.
+1 -1
View File
@@ -2,7 +2,7 @@ ACLOCAL_AMFLAGS = -I platform/unix/m4
SUBDIRS = src
EXTRA_DIST = changes.txt license.txt readme.md \
platform/unix/love.desktop.in
dist_man1_MANS = platform/unix/love.1
dist_man1_MANS = platform/unix/love.6
applicationsdir=$(datarootdir)/applications
mimeinfodir=$(datarootdir)/mime/packages
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 59 KiB

+21 -22
View File
@@ -7,34 +7,26 @@ AM_INIT_AUTOMAKE([foreign -Wall foreign tar-ustar silent-rules])
AM_SILENT_RULES
AC_PREFIX_DEFAULT([/usr])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_PROG_LIBTOOL
LT_INIT([disable-static])
AC_PROG_CC
AC_PROG_CXX
AC_PROG_SED
AC_PROG_MKDIR_P
AC_PROG_OBJCXX
PKG_PROG_PKG_CONFIG
AC_C_BIGENDIAN
AC_LANG([C++])
includes=
dnl Workaround for old aclocal versions
m4_include([platform/unix/cpp11.m4])
AC_DEFUN([ACLOVE_CXX_FLAG_TEST], # WARNING: NOT REENTRANT
[aclove_cxx_flag_test_save_cflags="$CXXFLAGS"
CXXFLAGS="$1"
AC_MSG_CHECKING([whether $CXX supports flag $1])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[AC_MSG_RESULT([yes])]; $2,
[AC_MSG_RESULT([no]); $3])
CXXFLAGS="$aclove_cxx_flag_test_save_cflags"])
includes=
AC_DEFUN([LOVE_MSG_ERROR],
[AC_MSG_ERROR([LÖVE needs "$1"[,] please install "$1" with development files and try again])])
# C++11 support
cxx11name="no"
ACLOVE_CXX_FLAG_TEST([-std=c++0x], cxx11name="c++0x", [])
ACLOVE_CXX_FLAG_TEST([-std=c++11], cxx11name="c++11", [])
AS_VAR_IF([cxx11name], [no], AC_MSG_ERROR([LÖVE needs a C++ compiler with C++11 support]), CXXFLAGS="$CXXFLAGS -std=$cxx11name")
# C++11 support in cpp11.m4
ACLOVE_CPP11_TEST
# Allow people on OSX to use autotools, they need their platform files
AC_ARG_ENABLE([osx],
@@ -44,6 +36,12 @@ AS_VAR_IF([enable_osx], [no], [], #else
AC_SUBST([LDFLAGS], ["${LDFLAGS} -framework CoreFoundation -framework Cocoa"])
AC_SUBST([CPPFLAGS], ["${CPPFLAGS} -I../platform/macosx"]))
# stb_image sse2 override (https://github.com/nothings/stb/issues/280)
AC_ARG_ENABLE([stbi-sse2-override],
AC_HELP_STRING([--enable-stbi-sse2-override], [Force stb_image SSE2 support]), [], [enable_stbi_sse2_override=no])
AS_VAR_IF([enable_stbi_sse2_override], [no], [], #else
AC_SUBST([CPPFLAGS], ["${CPPFLAGS} -DLOVE_STBI_SSE2_OVERRIDE"]))
# --with-lua and --with-luaversion
AC_ARG_WITH([lua], [AS_HELP_STRING([--with-lua], [Select the lua implementation])],
[], [with_lua=luajit])
@@ -52,31 +50,32 @@ AC_ARG_WITH([luaversion], [AS_HELP_STRING([--with-luaversion], [Select the lua v
# pkg-config libraries
AM_PATH_SDL2([], [], [LOVE_MSG_ERROR([SDL 2])])
with_clean_luaversion=`printf ${with_luaversion} | sed 's/\.//g'`
PKG_CHECK_MODULES([lua], [${with_lua}${with_luaversion}], [lua_found=yes],
[PKG_CHECK_MODULES([lua], [${with_lua}], [lua_found=yes], [lua_found=no])])
[PKG_CHECK_MODULES([lua], [${with_lua}${with_clean_luaversion}], [lua_found=yes],
[PKG_CHECK_MODULES([lua], [${with_lua}], [lua_found=yes], [lua_found=no])])])
PKG_CHECK_MODULES([freetype2], [freetype2], [], [LOVE_MSG_ERROR([FreeType2])])
PKG_CHECK_MODULES([openal], [openal], [], [LOVE_MSG_ERROR([OpenAL])])
PKG_CHECK_MODULES([devil], [IL], [], [LOVE_MSG_ERROR([DevIL])])
PKG_CHECK_MODULES([libmodplug], [libmodplug], [], [LOVE_MSG_ERROR([libmodplug])])
PKG_CHECK_MODULES([vorbisfile], [vorbisfile], [], [LOVE_MSG_ERROR([libvorbis and libvorbisfile])])
PKG_CHECK_MODULES([zlib], [zlib], [], [LOVE_MSG_ERROR([zlib])])
PKG_CHECK_MODULES([theora], [theoradec], [], [LOVE_MSG_ERROR([libtheora])])
# Other libraries
AC_SEARCH_LIBS([sqrt], [m], [], [LOVE_MSG_ERROR([the C math library])])
AC_SEARCH_LIBS([PHYSFS_init], [physfs], [], [LOVE_MSG_ERROR([PhysicsFS])])
AC_SEARCH_LIBS([glViewport], [GLESv2], [], [LOVE_MSG_ERROR([OpenGL])])
# Lua, treated seperately because of --with-lua
AS_VAR_IF([with_luaversion], [5.2], [luatest=lua_version], [luatest=lua_pcall]) # use lua_version for 5.2
AS_VAR_IF([lua_found], [yes],
#if
[
luaheaders_found=yes
AC_MSG_CHECKING([for library containing ${luatest}])
AC_MSG_CHECKING([for library containing lua_call])
AC_MSG_RESULT([${lua_LIBS}])],
#else
[
AC_MSG_WARN([Could not find pkg-config definition for ${with_lua}${with_luaversion} or ${with_lua}, falling back to manual detection])
AC_SEARCH_LIBS([$luatest], ["${with_lua}${with_luaversion}" "${with_lua}"], [],
AC_MSG_WARN([Could not find pkg-config definition for ${with_lua}${with_luaversion} or ${with_lua}${with_clean_luaversion}${with_lua}, falling back to manual detection])
AC_SEARCH_LIBS([lua_call], ["${with_lua}${with_luaversion}" "${with_lua}"], [],
[LOVE_MSG_ERROR([$with_lua])])
luaheaders_found=no
AC_CHECK_HEADER(["${with_lua}${with_luaversion}/lua.h"], [luaheaders_found=yes includes="$includes -I/usr/include/${with_lua}${with_luaversion}"], [])
+69
View File
@@ -0,0 +1,69 @@
AC_DEFUN([ACLOVE_CXX_FLAG_TEST], [ dnl WARNING: NOT REENTRANT
aclove_cxx_flag_test_save_cflags="$CXXFLAGS"
CXXFLAGS="$1"
AC_MSG_CHECKING([whether $CXX supports flag $1])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[AC_MSG_RESULT([yes])]; $2,
[AC_MSG_RESULT([no]); $3])
CXXFLAGS="$aclove_cxx_flag_test_save_cflags"
])
AC_DEFUN([ACLOVE_GET_GCC_VERSION], [
aclove_gcc_version_found="yes"
AC_COMPUTE_INT(aclove_gcc_version_major, __GNUC__,, aclove_gcc_version_found="no")
AC_COMPUTE_INT(aclove_gcc_version_minor, __GNUC_MINOR__,, aclove_gcc_version_found="no")
AC_COMPUTE_INT(aclove_gcc_version_patch, __GNUC_PATCHLEVEL__,, aclove_gcc_version_found="no")
])
AC_DEFUN([ACLOVE_GET_CLANG_VERSION], [
aclove_clang_version_found="yes"
AC_COMPUTE_INT(aclove_clang_version_major, __clang_major__,, aclove_clang_version_found="no")
AC_COMPUTE_INT(aclove_clang_version_minor, __clang_minor__,, aclove_clang_version_found="no")
AC_COMPUTE_INT(aclove_clang_version_patch, __clang_patchlevel__,, aclove_clang_version_found="no")
])
AC_DEFUN([ACLOVE_CPP11_TEST_FLAG], [
aclove_cpp11_test_cxx11name="no"
ACLOVE_CXX_FLAG_TEST([-std=c++0x], aclove_cpp11_test_cxx11name="c++0x", [])
ACLOVE_CXX_FLAG_TEST([-std=c++11], aclove_cpp11_test_cxx11name="c++11", [])
AS_VAR_IF([aclove_cpp11_test_cxx11name], [no],
[AC_MSG_ERROR([LÖVE needs a C++ compiler with C++11 support])],
[CXXFLAGS="$CXXFLAGS -std=$aclove_cpp11_test_cxx11name"])
])
AC_DEFUN([ACLOVE_CPP11_CHECK_VERSION], [ dnl compiler, targetmajor, targetminor, on-failure
aclove_cpp11_check_version_status="no"
AC_MSG_CHECKING([whether $1 version is at least $2.$3])
AS_IF([test "$aclove_[]$1[]_version_major" -gt $2], aclove_cpp11_check_version_status="yes")
AS_IF([test "$aclove_[]$1[]_version_major" -eq $2 && test "$aclove_[]$1[]_version_minor" -ge $3], aclove_cpp11_check_version_status="yes")
AC_MSG_RESULT([$aclove_cpp11_check_version_status])
AS_VAR_IF([aclove_cpp11_check_version_status], [no],
[$4])
])
AC_DEFUN([ACLOVE_CPP11_TEST_VERSION_GCC], [
ACLOVE_CPP11_CHECK_VERSION([gcc], 4, 7,
[AC_MSG_ERROR([LÖVE needs a GCC version of at least 4.7])])
])
AC_DEFUN([ACLOVE_CPP11_TEST_VERSION_CLANG], [
ACLOVE_CPP11_CHECK_VERSION([clang], 3, 1,
[AC_MSG_ERROR([LÖVE needs a clang version of at least 3.1])])
])
AC_DEFUN([ACLOVE_CPP11_TEST], [
ACLOVE_CPP11_TEST_FLAG
ACLOVE_GET_GCC_VERSION
ACLOVE_GET_CLANG_VERSION
# Since clang also sets gcc headers, check clang after
aclove_cpp11_test_compiler="unknown"
AS_VAR_IF([aclove_gcc_version_found], [yes], aclove_cpp11_test_compiler="gcc")
AS_VAR_IF([aclove_clang_version_found], [yes], aclove_cpp11_test_compiler="clang")
AS_CASE([$aclove_cpp11_test_compiler],
[gcc], [ACLOVE_CPP11_TEST_VERSION_GCC],
[clang], [ACLOVE_CPP11_TEST_VERSION_CLANG],
[AC_MSG_WARN([Could not determine compiler version])])
])
+1 -1
View File
@@ -1,4 +1,4 @@
love@LOVE_SUFFIX@ (0.9.0~ppatest5) precise; urgency=medium
love@LOVE_SUFFIX@ (0.10.0~pre2657ppa2) trusty; urgency=medium
* Upstream testing release
+24 -33
View File
@@ -3,57 +3,48 @@ Section: games
Priority: extra
Maintainer: Bart van Strien <bart.bes@gmail.com>
Build-Depends: debhelper (>= 9),
autotools-dev,
dh-autoreconf,
pkg-config,
libdevil-dev,
libtool,
g++ (>= 4.7.0),
libfreetype6-dev,
luajit,
libluajit-5.1-dev,
libphysfs-dev,
libsdl2-dev (>= 2.0.0),
libopenal-dev,
libogg-dev,
libvorbis-dev,
libflac-dev,
libflac++-dev,
libmodplug-dev,
libmpg123-dev,
libmng-dev
Standards-Version: 3.9.3
libopenal-dev,
libphysfs-dev,
libsdl2-dev (>= 2.0.1),
libogg-dev,
libvorbis-dev,
libtheora-dev,
zlib1g-dev
Standards-Version: 3.9.5
Homepage: http://love2d.org
Package: liblove@LOVE_SUFFIX@
Package: liblove@LOVE_SUFFIX@0
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
${shlibs:Depends},
libdevil1c2,
libmng1,
libfreetype6,
libgl1-mesa-glx,
libluajit-5.1-2,
libphysfs-1.0-0,
libsdl2-2.0-0 (>= 2.0.0),
libopenal1,
libogg0,
libvorbis0a,
libvorbisfile3,
libmodplug1,
libmpg123-0
Description: LOVE is a free 2D game engine which enables easy game creation in Lua.
${shlibs:Depends}
Description: 2D game engine - runtime
LOVE is a free 2D game engine which enables easy game creation in Lua.
Package: love@LOVE_SUFFIX@
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends},
liblove@LOVE_SUFFIX@ (= ${binary:Version})
Description: LOVE is a free 2D game engine which enables easy game creation in Lua.
${shlibs:Depends}
Description: 2D game engine
LOVE is a free 2D game engine which enables easy game creation in Lua.
Package: love@LOVE_SUFFIX@-dbg
Package: liblove@LOVE_SUFFIX@-dbg
Priority: extra
Section: debug
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends},
love@LOVE_SUFFIX@ (= ${binary:Version}),
Description: LOVE is a free 2D game engine which enables easy game creation in Lua.
liblove@LOVE_SUFFIX@0 (= ${binary:Version})
Description: 2D game engine - debug symbols
LOVE is a free 2D game engine which enables easy game creation in Lua.
+25 -18
View File
@@ -1,20 +1,27 @@
Copyright (c) 2006-2013 LOVE Development Team
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: LÖVE
Upstream-Contact: Bart van Strien <bart.bes@gmail.com>
Source: http://www.love2d.org/
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.
Files: *
Copyright: 2006-2015 LOVE Development Team
License: zlib
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.
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.
@@ -0,0 +1 @@
readme.md
@@ -0,0 +1 @@
usr/lib/*/liblove-unstable.so.*
@@ -0,0 +1 @@
readme.md
@@ -0,0 +1 @@
usr/lib/*/liblove.so.*
@@ -0,0 +1 @@
platform/unix/love-unstable.6
+5 -6
View File
@@ -1,6 +1,5 @@
usr/bin/love
usr/share/man/man1/love.1
usr/share/pixmaps/love.svg
usr/share/mime/packages/love.xml
usr/share/icons/hicolor/scalable/mimetypes/application-x-love-game.svg
usr/share/applications/love.desktop
usr/bin
usr/share/applications
usr/share/mime
usr/share/pixmaps
usr/share/icons
+1 -1
View File
@@ -1 +1 @@
platform/unix/love.1
platform/unix/love.6
+22 -7
View File
@@ -1,16 +1,31 @@
#!/usr/bin/make -f
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
commonflags = -Wall -Wno-maybe-uninitialized -Wno-strict-aliasing
CFLAGS += $(commonflags)
CXXFLAGS += $(commonflags)
%:
dh $@ --parallel --with autoreconf
override_dh_auto_clean:
dh_auto_clean
rm -f platform/unix/love-unstable.6
override_dh_auto_configure:
dh_auto_configure -- --with-lua=luajit
override_dh_link:
dh_link -plove@LOVE_SUFFIX@-dev usr/lib/$(DEB_HOST_MULTIARCH)/liblove@LOVE_SUFFIX@.so.0.0.0 usr/lib/$(DEB_HOST_MULTIARCH)/liblove@LOVE_SUFFIX@.so
override_dh_installdocs:
dh_installdocs --link-doc=liblove@LOVE_SUFFIX@0
override_dh_installchangelogs:
dh_installchangelogs changes.txt
override_dh_installman:
cp -f platform/unix/love.6 platform/unix/love-unstable.6
dh_installman
override_dh_strip:
dh_strip --dbg-package=love@LOVE_SUFFIX@-dbg
dh_strip -pliblove@LOVE_SUFFIX@0 --dbg-package=liblove@LOVE_SUFFIX@-dbg
dh_strip --remaining-packages
%:
dh $@ --parallel
+5 -6
View File
@@ -113,8 +113,8 @@ inc_libraries="$inc_current/libraries"
cat > src/Makefile.am << EOF
AM_CPPFLAGS = -I$inc_current -I$inc_modules -I$inc_libraries -I$inc_libraries/enet/libenet/include \$(LOVE_INCLUDES) \$(FILE_OFFSET)\
\$(SDL_CFLAGS) \$(lua_CFLAGS) \$(freetype2_CFLAGS)\
\$(openal_CFLAGS) \$(devil_CFLAGS) \$(libmodplug_CFLAGS)\
\$(vorbisfile_CFLAGS)
\$(openal_CFLAGS) \$(zlib_CFLAGS) \$(libmodplug_CFLAGS)\
\$(vorbisfile_CFLAGS) \$(theora_CFLAGS)
AUTOMAKE_OPTIONS = subdir-objects
SUBDIRS =
SUFFIXES = .lua .lua.h
@@ -129,8 +129,7 @@ love${love_amsuffix}_SOURCES = love.cpp
if LOVE_TARGET_OSX
love${love_amsuffix}_LIBTOOLFLAGS = --tag=OBJCXX
love${love_amsuffix}_SOURCES += \\
../platform/macosx/OSX.h \\
../platform/macosx/OSX.mm
./common/macosx.mm
else
love${love_amsuffix}_LIBTOOLFLAGS = --tag=CXX
endif
@@ -146,8 +145,8 @@ lib_LTLIBRARIES = liblove${love_suffix}.la
liblove${love_amsuffix}_la_LDFLAGS = -module -export-dynamic \$(LDFLAGS)
liblove${love_amsuffix}_la_LIBADD = \
\$(SDL_LIBS) \$(freetype2_LIBS) \$(lua_LIBS)\
\$(openal_LIBS) \$(devil_LIBS) \$(libmodplug_LIBS)\
\$(vorbisfile_LIBS)
\$(openal_LIBS) \$(zlib_LIBS) \$(libmodplug_LIBS)\
\$(vorbisfile_LIBS) \$(theora_LIBS)
EOF
genmodules >> src/Makefile.am
+33
View File
@@ -0,0 +1,33 @@
.\" (c) 2008-2011 Miriam Ruiz <little_miry@yahoo.es>
.\" (c) 2013 Bart van Strien <bart.bes@gmail.com>
.\"
.\" This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damagesarising 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.
.Dd December 23, 2015
.Dt LOVE 6
.Os LÖVE 0.10.0
.Sh NAME
.Nm love
.Nd 2D game development framework
.Sh SYNOPSIS
.Nm love
.Op Fl Fl fused
.Ar game Ns .love
.Pp
.Nm love
.Fl Fl version
.Sh DESCRIPTION
LÖVE was created to be a user-friendly engine in which simple (or complicated) games could be made without having extensive knowledge of system or graphics functions and without having to dedicate time towards developing the same engine features time and time again.
.Pp
Developed with cross-platform implementation in mind, it utilizes the latest open source libraries to deliver a similar game experience, independent of operating system.
By relying on the Lua scripting language for game-specific programming, it allows even the novice game creator to quickly and efficiently develop an idea into a fully working game.
.Sh SEE ALSO
You can find more information at
.Lk http://love2d.org/
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 72 KiB

@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

@@ -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"
}
}
@@ -0,0 +1,128 @@
{
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-29pt@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-29pt@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-29pt@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-40pt@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-40pt@3x.png",
"scale" : "3x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon-57pt@1x.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon-57pt@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon-60pt@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon-60pt@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-29pt@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-29pt@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-40pt@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-40pt@2x.png",
"scale" : "2x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon-50pt@1x.png",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon-50pt@2x.png",
"scale" : "2x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon-72pt@1x.png",
"scale" : "1x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon-72pt@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-76pt@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-76pt@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "icon-83.5pt@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,142 @@
{
"images" : [
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "8.0",
"subtype" : "736h",
"scale" : "3x"
},
{
"orientation" : "landscape",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "8.0",
"subtype" : "736h",
"scale" : "3x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "8.0",
"subtype" : "667h",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"subtype" : "retina4",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"subtype" : "retina4",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "to-status-bar",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "to-status-bar",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "to-status-bar",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "to-status-bar",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="404" y="445"/>
</view>
</objects>
</document>
+102
View File
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>LoveDocument.icns</string>
</array>
<key>CFBundleTypeName</key>
<string>LÖVE Project</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>org.love2d.love-game</string>
</array>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>
<dict/>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.10.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>Launch Screen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>opengles-2</string>
</array>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>com.pkware.zip-archive</string>
</array>
<key>UTTypeDescription</key>
<string>LÖVE Project</string>
<key>UTTypeIdentifier</key>
<string>org.love2d.love-game</string>
<key>UTTypeSize320IconFile</key>
<string>LoveDocument</string>
<key>UTTypeSize64IconFile</key>
<string>LoveDocument</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>LOVE</string>
<key>public.filename-extension</key>
<array>
<string>love</string>
</array>
<key>public.mime-type</key>
<string>application/x-love-game</string>
</dict>
</dict>
</array>
</dict>
</plist>
Binary file not shown.
+52
View File
@@ -0,0 +1,52 @@
mkdir -p include/luajit
mkdir -p libraries/luajit
git clone https://github.com/LuaJIT/LuaJIT.git luajit-git
cd luajit-git
git pull
git checkout v2.1
# iOS device binaries
ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
ICC=$(xcrun --sdk iphoneos --find clang)
ISDKF="-arch armv7 -isysroot $ISDKP -mios-version-min=6.0"
make clean
make -j8 HOST_CC="clang -m32 -arch i386" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
cp src/libluajit.a ../libraries/luajit/libluajit_arm7.a
ISDKF="-arch arm64 -isysroot $ISDKP -mios-version-min=6.0"
make clean
make -j8 CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
cp src/libluajit.a ../libraries/luajit/libluajit_arm64.a
# iOS simulator binaries
ISDKP=$(xcrun --sdk iphonesimulator --show-sdk-path)
ICC=$(xcrun --sdk iphonesimulator --find clang)
ISDKF="-arch i386 -isysroot $ISDKP -mios-simulator-version-min=6.0"
make clean
make -j8 HOST_CC="clang -m32 -arch i386" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
cp src/libluajit.a ../libraries/luajit/libluajit_x86.a
ISDKF="-arch x86_64 -isysroot $ISDKP -mios-simulator-version-min=6.0"
make clean
make -j8 CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
cp src/libluajit.a ../libraries/luajit/libluajit_x86_64.a
# copy includes
cp src/lua.hpp ../include/luajit
cp src/lauxlib.h ../include/luajit
cp src/lua.h ../include/luajit
cp src/luaconf.h ../include/luajit
cp src/lualib.h ../include/luajit
cp src/luajit.h ../include/luajit
# combine lib
cd ../libraries/luajit
lipo -create -output libluajit.a libluajit_arm7.a libluajit_arm64.a libluajit_x86.a libluajit_x86_64.a
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:liblove.xcodeproj">
</FileRef>
</Workspace>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,850 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4810420B4A007D418B /* FreeType.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255E021043195A00BA1496 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
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 */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F169A6109E824900FC83D1 /* mpg123.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F16926109E7BAD00FC83D1 /* libmodplug.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
FA0797991BF480A200034B7C /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA0797981BF480A200034B7C /* GameController.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
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, ); }; };
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 */; };
FA5D248A1A96CA9600C6FC8F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */; };
FA5D248C1A96CA9E00C6FC8F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */; };
FA5D248E1A96CAA700C6FC8F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */; };
FA5D24941A96CABA00C6FC8F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24931A96CABA00C6FC8F /* libz.dylib */; };
FA5D24961A96CAC200C6FC8F /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */; };
FA5D249C1A96CF4300C6FC8F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA5D249A1A96CF4300C6FC8F /* Images.xcassets */; };
FA5D24C21A96D78000C6FC8F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24C11A96D78000C6FC8F /* Foundation.framework */; };
FA5D24D11A96E73300C6FC8F /* liblove.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA0B7EEF1A95924A000E1D17 /* liblove.a */; };
FA7C636A1A9C49570000FD29 /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = FA7C63691A9C49570000FD29 /* Launch Screen.xib */; };
FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; };
FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
FAC1A449196F5DC600125284 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = FAC1A448196F5DC600125284 /* license.txt */; };
FAD4B1731C1F50A3004CF150 /* Theora.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA27B3CA1B498696008A9DCE /* Theora.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
FA0B78D71A958301000E1D17 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FA577AAF16C7507900860150;
remoteInfo = Framework;
};
FA0B7EEE1A95924A000E1D17 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FA0B78DD1A958B90000E1D17;
remoteInfo = "liblove-ios";
};
FA5D24BA1A96D6FC00C6FC8F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FA0B78DC1A958B90000E1D17;
remoteInfo = "liblove-ios";
};
FAA287711B0ABF1400B82827 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FA577AAE16C7507900860150;
remoteInfo = "liblove-macosx";
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
A9255DDE1043185300BA1496 /* Copy Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */,
FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */,
FAD4B1731C1F50A3004CF150 /* Theora.framework in Copy Frameworks */,
FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */,
A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */,
A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */,
A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */,
A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */,
A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */,
A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */,
A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */,
);
name = "Copy Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
8D1107320486CEB800E47090 /* love.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = love.app; sourceTree = BUILT_PRODUCTS_DIR; };
A9255E021043195A00BA1496 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = "<absolute>"; };
A9255F51104324D700BA1496 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = "<absolute>"; };
A93E6A3410420AC0007D418B /* love.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = love.cpp; path = ../../src/love.cpp; sourceTree = "<group>"; };
A93E6E4710420B4A007D418B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
A93E6E4810420B4A007D418B /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = "<absolute>"; };
A93E6E5310420B57007D418B /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = "<absolute>"; };
A97E3842132A9EDE00198A2F /* love-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "love-macosx.plist"; path = "macosx/love-macosx.plist"; sourceTree = "<group>"; };
A9D307E9106635C3004FEDF8 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = "<absolute>"; };
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>"; };
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; };
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 = "<absolute>"; };
FA577A9316C7217800860150 /* liblove.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = liblove.xcodeproj; sourceTree = "<group>"; };
FA5D24811A96CA1800C6FC8F /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/OpenAL.framework; sourceTree = DEVELOPER_DIR; };
FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; };
FA5D24871A96CA8A00C6FC8F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; };
FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
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 = "<group>"; };
FA5D249A1A96CF4300C6FC8F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
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 = "<group>"; };
FA9B4A0916E1579F00074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = "<absolute>"; };
FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = "<absolute>"; };
FAC1A448196F5DC600125284 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = license.txt; path = ../../license.txt; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FA08F69616C766E000F007B5 /* love.framework in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
A93E6E5510420B57007D418B /* Lua.framework in Frameworks */,
FA27B3CB1B498696008A9DCE /* Theora.framework in Frameworks */,
FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FA0B7F031A95AAF3000E1D17 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FA5D24D11A96E73300C6FC8F /* liblove.a in Frameworks */,
FA5D24C21A96D78000C6FC8F /* Foundation.framework in Frameworks */,
FA5D24961A96CAC200C6FC8F /* CoreMotion.framework in Frameworks */,
FA0797991BF480A200034B7C /* GameController.framework in Frameworks */,
FA5D24941A96CABA00C6FC8F /* libz.dylib in Frameworks */,
FA5D248E1A96CAA700C6FC8F /* CoreGraphics.framework in Frameworks */,
FA5D248C1A96CA9E00C6FC8F /* QuartzCore.framework in Frameworks */,
FA5D248A1A96CA9600C6FC8F /* AudioToolbox.framework in Frameworks */,
FA5D24881A96CA8A00C6FC8F /* UIKit.framework in Frameworks */,
FA5D24841A96CA2700C6FC8F /* OpenGLES.framework in Frameworks */,
FA5D24821A96CA1800C6FC8F /* OpenAL.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1058C7A0FEA54F0111CA2CBB /* Frameworks */ = {
isa = PBXGroup;
children = (
FA5D24801A96C97900C6FC8F /* ios */,
FA0B7EEC1A959249000E1D17 /* macosx */,
);
name = Frameworks;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* love.app */,
FA0B7F061A95AAF3000E1D17 /* love.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* love */ = {
isa = PBXGroup;
children = (
FA5D249A1A96CF4300C6FC8F /* Images.xcassets */,
FA577A9D16C7262E00860150 /* Source */,
FA5D24A01A96CF7200C6FC8F /* Supporting Files */,
1058C7A0FEA54F0111CA2CBB /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
29B97317FDCFA39411CA2CEA /* Resources */,
FA577A9316C7217800860150 /* liblove.xcodeproj */,
);
name = love;
sourceTree = "<group>";
usesTabs = 1;
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
FAC1A448196F5DC600125284 /* license.txt */,
);
name = Resources;
sourceTree = "<group>";
};
FA0B78D41A958301000E1D17 /* Products */ = {
isa = PBXGroup;
children = (
FA0B78D81A958301000E1D17 /* love.framework */,
FA0B7EEF1A95924A000E1D17 /* liblove.a */,
);
name = Products;
sourceTree = "<group>";
};
FA0B7EEC1A959249000E1D17 /* macosx */ = {
isa = PBXGroup;
children = (
FA27B3CA1B498696008A9DCE /* Theora.framework */,
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
A93E6E4810420B4A007D418B /* FreeType.framework */,
A9F16926109E7BAD00FC83D1 /* libmodplug.framework */,
FA08F69116C765A200F007B5 /* love.framework */,
A93E6E5310420B57007D418B /* Lua.framework */,
A9F169A6109E824900FC83D1 /* mpg123.framework */,
A9255F51104324D700BA1496 /* Ogg.framework */,
FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */,
A93E6E4710420B4A007D418B /* OpenGL.framework */,
A9D307E9106635C3004FEDF8 /* physfs.framework */,
FA9B4A0916E1579F00074F42 /* SDL2.framework */,
A9255E021043195A00BA1496 /* Vorbis.framework */,
);
name = macosx;
sourceTree = "<group>";
};
FA577A9D16C7262E00860150 /* Source */ = {
isa = PBXGroup;
children = (
A93E6A3410420AC0007D418B /* love.cpp */,
);
name = Source;
sourceTree = "<group>";
};
FA5D24801A96C97900C6FC8F /* ios */ = {
isa = PBXGroup;
children = (
FA0797981BF480A200034B7C /* GameController.framework */,
FA5D24C11A96D78000C6FC8F /* Foundation.framework */,
FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */,
FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */,
FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */,
FA5D24931A96CABA00C6FC8F /* libz.dylib */,
FA5D24811A96CA1800C6FC8F /* OpenAL.framework */,
FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */,
FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */,
FA5D24871A96CA8A00C6FC8F /* UIKit.framework */,
);
name = ios;
sourceTree = "<group>";
};
FA5D24A01A96CF7200C6FC8F /* Supporting Files */ = {
isa = PBXGroup;
children = (
FA7C63691A9C49570000FD29 /* Launch Screen.xib */,
FA5D24971A96CE1E00C6FC8F /* love-ios.plist */,
A97E3842132A9EDE00198A2F /* love-macosx.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* love-macosx */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love-macosx" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
A9255DDE1043185300BA1496 /* Copy Frameworks */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
buildRules = (
);
dependencies = (
FAA287721B0ABF1400B82827 /* PBXTargetDependency */,
);
name = "love-macosx";
productInstallPath = "$(HOME)/Applications";
productName = love;
productReference = 8D1107320486CEB800E47090 /* love.app */;
productType = "com.apple.product-type.application";
};
FA0B7F051A95AAF3000E1D17 /* love-ios */ = {
isa = PBXNativeTarget;
buildConfigurationList = FA0B7F2E1A95AAF4000E1D17 /* Build configuration list for PBXNativeTarget "love-ios" */;
buildPhases = (
FA0B7F021A95AAF3000E1D17 /* Sources */,
FA0B7F031A95AAF3000E1D17 /* Frameworks */,
FA0B7F041A95AAF3000E1D17 /* Resources */,
);
buildRules = (
);
dependencies = (
FA5D24BB1A96D6FC00C6FC8F /* PBXTargetDependency */,
);
name = "love-ios";
productName = "love-ios";
productReference = FA0B7F061A95AAF3000E1D17 /* love.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
TargetAttributes = {
FA0B7F051A95AAF3000E1D17 = {
CreatedOnToolsVersion = 6.1.1;
};
};
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
Base,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* love */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = FA0B78D41A958301000E1D17 /* Products */;
ProjectRef = FA577A9316C7217800860150 /* liblove.xcodeproj */;
},
);
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* love-macosx */,
FA0B7F051A95AAF3000E1D17 /* love-ios */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
FA0B78D81A958301000E1D17 /* love.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = love.framework;
remoteRef = FA0B78D71A958301000E1D17 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FA0B7EEF1A95924A000E1D17 /* liblove.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = liblove.a;
remoteRef = FA0B7EEE1A95924A000E1D17 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FA5933751C6D625B000EC779 /* Images.xcassets in Resources */,
FAC1A449196F5DC600125284 /* license.txt in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FA0B7F041A95AAF3000E1D17 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FA5D249C1A96CF4300C6FC8F /* Images.xcassets in Resources */,
FA7C636A1A9C49570000FD29 /* Launch Screen.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A93E6EED10420BA8007D418B /* love.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FA0B7F021A95AAF3000E1D17 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FA0B7F301A95AC7D000E1D17 /* love.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
FA5D24BB1A96D6FC00C6FC8F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "liblove-ios";
targetProxy = FA5D24BA1A96D6FC00C6FC8F /* PBXContainerItemProxy */;
};
FAA287721B0ABF1400B82827 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "liblove-macosx";
targetProxy = FAA287711B0ABF1400B82827 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "OS X AppIcon";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
/Library/Frameworks,
"\"$(SRCROOT)/build/Release\"",
"\"$(SRCROOT)/build/Debug\"",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Library/Frameworks/Lua.framework/Headers,
/Library/Frameworks/SDL2.framework/Headers,
);
INFOPLIST_FILE = "macosx/love-macosx.plist";
INSTALL_PATH = /Applications;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
};
name = Debug;
};
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 = (
"$(inherited)",
/Library/Frameworks,
"\"$(SRCROOT)/build/Release\"",
"\"$(SRCROOT)/build/Debug\"",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Library/Frameworks/Lua.framework/Headers,
/Library/Frameworks/SDL2.framework/Headers,
);
INFOPLIST_FILE = "macosx/love-macosx.plist";
INSTALL_PATH = /Applications;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO;
GCC_WARN_ABOUT_MISSING_NEWLINE = NO;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
GCC_WARN_ABOUT_RETURN_TYPE = NO;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO;
GCC_WARN_MISSING_PARENTHESES = NO;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
GCC_WARN_PEDANTIC = NO;
GCC_WARN_SHADOW = NO;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(SRCROOT)/../../src\"",
"\"$(SRCROOT)/../../src/libraries\"",
"\"$(SRCROOT)/../../src/modules\"",
);
INFOPLIST_FILE = "love-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[arch=x86_64]" = (
"-pagezero_size",
10000,
"-image_base",
100000000,
);
PRODUCT_NAME = love;
SDKROOT = macosx;
WARNING_CFLAGS = (
"-Wall",
"-W",
);
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
DEPLOYMENT_POSTPROCESSING = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_INPUT_FILETYPE = automatic;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO;
GCC_WARN_ABOUT_MISSING_NEWLINE = NO;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
GCC_WARN_ABOUT_RETURN_TYPE = NO;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO;
GCC_WARN_MISSING_PARENTHESES = NO;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
GCC_WARN_PEDANTIC = NO;
GCC_WARN_SHADOW = NO;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
GCC_WARN_UNUSED_PARAMETER = NO;
GCC_WARN_UNUSED_VALUE = NO;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(SRCROOT)/../../src\"",
"\"$(SRCROOT)/../../src/libraries\"",
"\"$(SRCROOT)/../../src/modules\"",
);
INFOPLIST_FILE = "love-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
LLVM_LTO = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[arch=x86_64]" = (
"-pagezero_size",
10000,
"-image_base",
100000000,
);
PRODUCT_NAME = love;
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
SDKROOT = macosx;
WARNING_CFLAGS = (
"-Wall",
"-W",
);
};
name = Release;
};
FA0B7F261A95AAF4000E1D17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
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;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
ios/include,
ios/include/luajit,
ios/include/SDL2,
);
INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
FA0B7F271A95AAF4000E1D17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
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;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
ios/include,
ios/include/luajit,
ios/include/SDL2,
);
INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
FA0B7F281A95AAF4000E1D17 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
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;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
ios/include,
ios/include/luajit,
ios/include/SDL2,
);
INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Distribution;
};
FA5326C618971A0900F7BBF4 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
DEPLOYMENT_POSTPROCESSING = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_INPUT_FILETYPE = automatic;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO;
GCC_WARN_ABOUT_MISSING_NEWLINE = NO;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
GCC_WARN_ABOUT_RETURN_TYPE = NO;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO;
GCC_WARN_MISSING_PARENTHESES = NO;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
GCC_WARN_PEDANTIC = NO;
GCC_WARN_SHADOW = NO;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
GCC_WARN_UNUSED_PARAMETER = NO;
GCC_WARN_UNUSED_VALUE = NO;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(SRCROOT)/../../src\"",
"\"$(SRCROOT)/../../src/libraries\"",
"\"$(SRCROOT)/../../src/modules\"",
);
INFOPLIST_FILE = "love-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
LLVM_LTO = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[arch=x86_64]" = (
"-pagezero_size",
10000,
"-image_base",
100000000,
);
PRODUCT_NAME = love;
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
SDKROOT = macosx;
WARNING_CFLAGS = (
"-Wall",
"-W",
);
};
name = Distribution;
};
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 = (
"$(inherited)",
/Library/Frameworks,
"\"$(SRCROOT)/build/Release\"",
"\"$(SRCROOT)/build/Debug\"",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Library/Frameworks/Lua.framework/Headers,
/Library/Frameworks/SDL2.framework/Headers,
);
INFOPLIST_FILE = "macosx/love-macosx.plist";
INSTALL_PATH = /Applications;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.love2d.love;
PRODUCT_NAME = love;
};
name = Distribution;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love-macosx" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
FA5326C718971A0900F7BBF4 /* Distribution */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
FA5326C618971A0900F7BBF4 /* Distribution */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FA0B7F2E1A95AAF4000E1D17 /* Build configuration list for PBXNativeTarget "love-ios" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FA0B7F261A95AAF4000E1D17 /* Debug */,
FA0B7F271A95AAF4000E1D17 /* Release */,
FA0B7F281A95AAF4000E1D17 /* Distribution */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:love.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>LÖVE</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.10.1</string>
<key>CFBundleSignature</key>
<string>LoVe</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>love</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>GameIcon</string>
<key>CFBundleTypeName</key>
<string>LÖVE Project</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>org.love2d.love-game</string>
</array>
<key>LSTypeIsPackage</key>
<integer>1</integer>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>Folder</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>fold</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>None</string>
</dict>
<dict>
<key>CFBundleTypeIconFile</key>
<string>Document</string>
<key>CFBundleTypeName</key>
<string>Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>love</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>LÖVE</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.10.2</string>
<key>CFBundleSignature</key>
<string>LoVe</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.games</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>© 2006-2016 LÖVE Development Team</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>com.pkware.zip-archive</string>
<string>com.apple.package</string>
</array>
<key>UTTypeDescription</key>
<string>LÖVE Project</string>
<key>UTTypeIconFile</key>
<string>GameIcon</string>
<key>UTTypeIdentifier</key>
<string>org.love2d.love-game</string>
<key>UTTypeReferenceURL</key>
<string>http://love2d.org/wiki/Game_Distribution</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>LOVE</string>
<key>public.filename-extension</key>
<array>
<string>love</string>
</array>
<key>public.mime-type</key>
<string>application/x-love-game</string>
</dict>
</dict>
</array>
</dict>
</plist>
+17
View File
@@ -36,6 +36,11 @@ Matrix4::Matrix4()
{
setIdentity();
}
Matrix4::Matrix4(float t00, float t10, float t01, float t11, float x, float y)
{
setRawTransformation(t00, t10, t01, t11, x, y);
}
Matrix4::Matrix4(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky)
{
@@ -129,6 +134,18 @@ void Matrix4::setShear(float kx, float ky)
e[1] = ky;
e[4] = kx;
}
void Matrix4::setRawTransformation(float t00, float t10, float t01, float t11, float x, float y)
{
memset(e, 0, sizeof(float)*16); // zero out matrix
e[10] = e[15] = 1.0f;
e[0] = t00;
e[1] = t10;
e[4] = t01;
e[5] = t11;
e[12] = x;
e[13] = y;
}
void Matrix4::setTransformation(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky)
{
+20
View File
@@ -40,6 +40,11 @@ public:
* Creates a new identity matrix.
**/
Matrix4();
/**
* Creates a new matrix with the transform values set.
**/
Matrix4(float t00, float t10, float t01, float t11, float x, float y);
/**
* Creates a new matrix set to a transformation.
@@ -101,6 +106,21 @@ public:
* @param ky Shear along y-axis.
**/
void setShear(float kx, float ky);
/**
* Sets a transformation's values directly. Useful if you want to modify them inplace,
* or if you want to create a transformation that's not buildable with setTransformation()
* i.e. the inverse of setTransformation() is not easily built with another call
* to setTransformation() with tweaked values.
*
* @param t00 The sx*cos(angle) component of the transformation.
* @param t10 The sx*sin(angle) component of the transformation.
* @param t01 The sy*(-sin(angle)) component of the transformation.
* @param t11 The sy*cos(angle) component of the transformation.
* @param x The x translation component of the transformation.
* @param y The y translation component of the transformation.
**/
void setRawTransformation(float t00, float t10, float t01, float t11, float x, float y);
/**
* Creates a transformation with a certain position, orientation, scale
+3 -2
View File
@@ -19,12 +19,13 @@
**/
#include "Memoizer.h"
#include <cstddef>
#include <unordered_map>
namespace love
{
std::map<void *, void *> Memoizer::objectMap;
static std::unordered_map<void *, void *> objectMap;
void Memoizer::add(void *key, void *val)
{
-7
View File
@@ -21,8 +21,6 @@
#ifndef LOVE_MEMOIZER_H
#define LOVE_MEMOIZER_H
#include <map>
namespace love
{
@@ -31,14 +29,9 @@ class Memoizer
public:
static void add(void *key, void *val);
static void remove(void *key);
static void *find(void *key);
private:
static std::map<void *, void *> objectMap;
}; // Memoizer
} // love
+23 -14
View File
@@ -59,14 +59,14 @@ public:
* Retains the Object, i.e. increases the
* reference count by one.
**/
virtual void retain();
void retain();
/**
* Releases one reference to the Object, i.e. decrements the
* reference count by one, and potentially deletes the Object
* if there are no more references.
**/
virtual void release();
void release();
private:
@@ -75,32 +75,41 @@ private:
}; // Object
/**
* Partial re-implementation + specialization of std::shared_ptr. We can't
* use C++11's stdlib yet...
**/
enum class Acquire
{
RETAIN,
NORETAIN,
};
template <typename T>
class StrongRef
{
public:
StrongRef()
: object(nullptr)
: object(nullptr)
{
}
StrongRef(T *obj)
: object(obj)
StrongRef(T *obj, Acquire acquire = Acquire::RETAIN)
: object(obj)
{
if (object) object->retain();
if (object && acquire == Acquire::RETAIN) object->retain();
}
StrongRef(const StrongRef &other)
: object(other.get())
: object(other.get())
{
if (object) object->retain();
}
StrongRef(StrongRef &&other)
: object(other.object)
{
other.object = nullptr;
}
~StrongRef()
{
if (object) object->release();
@@ -117,7 +126,7 @@ public:
return object;
}
operator bool() const
explicit operator bool() const
{
return object != nullptr;
}
@@ -127,9 +136,9 @@ public:
return object;
}
void set(T *obj)
void set(T *obj, Acquire acquire = Acquire::RETAIN)
{
if (obj) obj->retain();
if (obj && acquire == Acquire::RETAIN) obj->retain();
if (object) object->release();
object = obj;
}
+115 -86
View File
@@ -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<std::pair<Variant*, Variant*> > *table)
{
while (!table->empty())
{
std::pair<Variant*, Variant*> &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<Object *>(u->object) != nullptr)
return u->type;
return INVALID_ID;
}
Variant::Variant()
: type(NIL)
, data()
{
}
@@ -71,19 +57,18 @@ Variant::Variant(double number)
}
Variant::Variant(const char *string, size_t len)
: type(STRING)
{
char *buf = new char[len+1];
memset(buf, 0, len+1);
memcpy(buf, string, len);
data.string.str = buf;
data.string.len = len;
}
Variant::Variant(char c)
: type(CHARACTER)
{
data.character = c;
if (len <= MAX_SMALL_STRING_LENGTH)
{
type = SMALLSTRING;
memcpy(data.smallstring.str, string, len);
data.smallstring.len = (uint8) len;
}
else
{
type = STRING;
data.string = new SharedString(string, len);
}
}
Variant::Variant(void *userdata)
@@ -107,10 +92,31 @@ Variant::Variant(love::Type udatatype, void *userdata)
}
// Variant gets ownership of the vector.
Variant::Variant(std::vector<std::pair<Variant*, Variant*> > *table)
Variant::Variant(std::vector<std::pair<Variant, Variant>> *table)
: type(TABLE)
{
data.table = table;
data.table = new SharedTable(table);
}
Variant::Variant(const Variant &v)
: type(v.type)
, udatatype(v.udatatype)
, data(v.data)
{
if (type == STRING)
data.string->retain();
else if (type == FUSERDATA)
((love::Object *) data.userdata)->retain();
else if (type == TABLE)
data.table->retain();
}
Variant::Variant(Variant &&v)
: type(std::move(v.type))
, udatatype(std::move(v.udatatype))
, data(std::move(v.data))
{
v.type = NIL;
}
Variant::~Variant()
@@ -118,102 +124,118 @@ Variant::~Variant()
switch (type)
{
case STRING:
delete[] data.string.str;
data.string->release();
break;
case FUSERDATA:
((love::Object *) data.userdata)->release();
break;
case TABLE:
delete_table(data.table);
data.table->release();
break;
default:
break;
}
}
Variant *Variant::fromLua(lua_State *L, int n, bool allowTables)
Variant &Variant::operator = (const Variant &v)
{
if (v.type == STRING)
v.data.string->retain();
else if (v.type == FUSERDATA)
((love::Object *) v.data.userdata)->retain();
else if (v.type == TABLE)
v.data.table->retain();
if (type == STRING)
data.string->release();
else if (type == FUSERDATA)
((love::Object *) v.data.userdata)->release();
else if (type == TABLE)
data.table->release();
type = v.type;
data = v.data;
udatatype = v.udatatype;
return *this;
}
Variant Variant::fromLua(lua_State *L, int n, bool allowTables)
{
Variant *v = nullptr;
size_t len;
const char *str;
if (n < 0) // Fix the stack position, we might modify it later
n += lua_gettop(L) + 1;
switch (lua_type(L, n))
{
case LUA_TBOOLEAN:
v = new Variant(luax_toboolean(L, n));
break;
return Variant(luax_toboolean(L, n));
case LUA_TNUMBER:
v = new Variant(lua_tonumber(L, n));
break;
return Variant(lua_tonumber(L, n));
case LUA_TSTRING:
str = lua_tolstring(L, n, &len);
v = new Variant(str, len);
break;
return Variant(str, len);
case LUA_TLIGHTUSERDATA:
v = new Variant(lua_touserdata(L, n));
break;
return Variant(lua_touserdata(L, n));
case LUA_TUSERDATA:
v = new Variant(extractudatatype(L, n), lua_touserdata(L, n));
break;
return Variant(extractudatatype(L, n), lua_touserdata(L, n));
case LUA_TNIL:
v = new Variant();
break;
return Variant();
case LUA_TTABLE:
if (allowTables)
{
bool success = true;
std::vector<std::pair<Variant*, Variant*>> *table = new std::vector<std::pair<Variant*, Variant*>>();
std::vector<std::pair<Variant, Variant>> *table = new std::vector<std::pair<Variant, Variant>>();
size_t len = luax_objlen(L, -1);
if (len > 0)
table->reserve(len);
lua_pushnil(L);
while (lua_next(L, n))
{
Variant *key = fromLua(L, -2, false);
if (!key)
{
success = false;
lua_pop(L, 2);
break;
}
Variant *value = fromLua(L, -1, false);
if (!value)
{
delete key;
success = false;
lua_pop(L, 2);
break;
}
table->push_back(std::make_pair(key, value));
table->emplace_back(fromLua(L, -2), fromLua(L, -1));
lua_pop(L, 1);
const auto &p = table->back();
if (p.first.getType() == UNKNOWN || p.second.getType() == UNKNOWN)
{
success = false;
break;
}
}
if (success)
v = new Variant(table);
return Variant(table);
else
delete_table(table);
delete table;
}
break;
}
Variant v;
v.type = UNKNOWN;
return v;
}
void Variant::toLua(lua_State *L)
void Variant::toLua(lua_State *L) const
{
switch (type)
{
case BOOLEAN:
lua_pushboolean(L, data.boolean);
break;
case CHARACTER:
lua_pushlstring(L, &data.character, 1);
break;
case NUMBER:
lua_pushnumber(L, data.number);
break;
case STRING:
lua_pushlstring(L, data.string.str, data.string.len);
lua_pushlstring(L, data.string->str, data.string->len);
break;
case SMALLSTRING:
lua_pushlstring(L, data.smallstring.str, data.smallstring.len);
break;
case LUSERDATA:
lua_pushlightuserdata(L, data.userdata);
@@ -228,15 +250,22 @@ void Variant::toLua(lua_State *L)
// I can do (at the moment).
break;
case TABLE:
lua_createtable(L, 0, (int) data.table->size());
for (size_t i = 0; i < data.table->size(); ++i)
{
std::vector<std::pair<Variant, Variant>> *table = data.table->table;
int tsize = (int) table->size();
lua_createtable(L, 0, tsize);
for (int i = 0; i < tsize; ++i)
{
std::pair<Variant*, Variant*> &kv = data.table->at(i);
kv.first->toLua(L);
kv.second->toLua(L);
std::pair<Variant, Variant> &kv = (*table)[i];
kv.first.toLua(L);
kv.second.toLua(L);
lua_settable(L, -3);
}
break;
}
case NIL:
default:
lua_pushnil(L);
+70 -30
View File
@@ -23,60 +23,100 @@
#include "common/runtime.h"
#include "common/Object.h"
#include "common/int.h"
#include <cstring>
#include <vector>
#include <utility>
namespace love
{
class Variant : public love::Object
class Variant
{
public:
Variant();
Variant(bool boolean);
Variant(double number);
Variant(const char *string, size_t len);
Variant(char c);
Variant(void *userdata);
Variant(love::Type udatatype, void *userdata);
Variant(std::vector<std::pair<Variant*, Variant*> > *table);
virtual ~Variant();
static Variant *fromLua(lua_State *L, int n, bool allowTables = true);
void toLua(lua_State *L);
enum Type
{
UNKNOWN = 0,
BOOLEAN,
NUMBER,
CHARACTER,
STRING,
SMALLSTRING,
LUSERDATA,
FUSERDATA,
NIL,
TABLE
} type;
union
{
bool boolean;
char character;
double number;
struct
{
const char *str;
size_t len;
} string;
void *userdata;
std::vector<std::pair<Variant*, Variant*>> *table;
} data;
};
Variant();
Variant(bool boolean);
Variant(double number);
Variant(const char *string, size_t len);
Variant(void *userdata);
Variant(love::Type udatatype, void *userdata);
Variant(std::vector<std::pair<Variant, Variant>> *table);
Variant(const Variant &v);
Variant(Variant &&v);
~Variant();
Variant &operator = (const Variant &v);
Type getType() const { return type; }
static Variant fromLua(lua_State *L, int n, bool allowTables = true);
void toLua(lua_State *L) const;
private:
class SharedString : public love::Object
{
public:
SharedString(const char *string, size_t len)
: len(len)
{
str = new char[len+1];
memcpy(str, string, len);
}
virtual ~SharedString() { delete[] str; }
char *str;
size_t len;
};
class SharedTable : public love::Object
{
public:
SharedTable(std::vector<std::pair<Variant, Variant>> *table)
: table(table)
{
}
virtual ~SharedTable() { delete table; }
std::vector<std::pair<Variant, Variant>> *table;
};
static const int MAX_SMALL_STRING_LENGTH = 15;
Type type;
love::Type udatatype;
union Data
{
bool boolean;
double number;
SharedString *string;
void *userdata;
SharedTable *table;
struct
{
char str[MAX_SMALL_STRING_LENGTH];
uint8 len;
} smallstring;
} data;
}; // Variant
} // love
+7 -3
View File
@@ -34,9 +34,11 @@ static void b64_decode_block(char in[4], char out[3])
char *b64_decode(const char *src, int slen, int &size)
{
size = (slen / 4) * 3;
// Actual output may be smaller due to padding and/or whitespace in the
// base64-encoded string.
int max_size = (slen / 4) * 3;
char *dst = new char[size];
char *dst = new char[max_size];
char *d = dst;
char in[4] = {0}, out[3], v;
@@ -70,10 +72,12 @@ char *b64_decode(const char *src, int slen, int &size)
{
b64_decode_block(in, out);
for (i = 0; i < len - 1; i++)
*(d++) = out[i];
*(d++) = out[i];
}
}
size = int(d - dst);
return dst;
}
+14 -3
View File
@@ -24,12 +24,21 @@
// Platform stuff.
#if defined(WIN32) || defined(_WIN32)
# define LOVE_WINDOWS 1
// If _USING_V110_SDK71_ is defined it means we are using the xp toolset.
# if defined(_MSC_VER) && (_MSC_VER >= 1700) && !_USING_V110_SDK71_
# include <winapifamily.h>
# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
# define LOVE_WINDOWS_UWP 1
# define LOVE_NO_MODPLUG 1
# define LOVE_NOMPG123 1
# endif
# endif
#endif
#if defined(linux) || defined(__linux) || defined(__linux__)
# define LOVE_LINUX 1
# define LOVE_LINUX 1
#endif
#if defined(__ANDROID__)
# define LOVE_ANDROID 1
# define LOVE_ANDROID 1
#endif
#if defined(__APPLE__)
# include <TargetConditionals.h>
@@ -76,7 +85,9 @@
#endif
#if defined(LOVE_WINDOWS)
#ifndef LOVE_WINDOWS_UWP
# define LOVE_LEGENDARY_CONSOLE_IO_HACK
#endif // LOVE_WINDOWS_UWP
# define NOMINMAX
#endif
@@ -148,7 +159,7 @@
#endif
// Check we have a sane configuration
#if !defined(LOVE_WINDOWS) && !defined(LOVE_LINUX) && !defined(LOVE_IOS) && !defined(LOVE_MACOSX)
#if !defined(LOVE_WINDOWS) && !defined(LOVE_LINUX) && !defined(LOVE_IOS) && !defined(LOVE_MACOSX) && !defined(LOVE_ANDROID)
# error Could not detect target platform
#endif
#if !defined(LOVE_LITTLE_ENDIAN) && !defined(LOVE_BIG_ENDIAN)
+1 -1
View File
@@ -25,7 +25,7 @@
namespace love
{
void delay(unsigned int ms)
void sleep(unsigned int ms)
{
SDL_Delay(ms);
}
+1 -1
View File
@@ -24,7 +24,7 @@
namespace love
{
void delay(unsigned int ms);
void sleep(unsigned int ms);
} // namespace love
+5 -1
View File
@@ -25,7 +25,11 @@
#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#include <SDL2/SDL.h>
#ifdef LOVE_MACOSX_SDL_DIRECT_INCLUDE
# include <SDL.h>
#else
# include <SDL2/SDL.h>
#endif
namespace love
{
+3 -11
View File
@@ -68,15 +68,7 @@ struct Vertex
unsigned char r, g, b, a;
};
struct Triangle
{
Triangle(const Vertex &x, const Vertex &y, const Vertex &z)
: a(x), b(y), c(z)
{}
Vertex a, b, c;
};
inline int next_p2(int x)
inline int nextP2(int x)
{
x += (x == 0);
x--;
@@ -84,9 +76,9 @@ inline int next_p2(int x)
return ++x;
}
inline float next_p2(float x)
inline float nextP2(float x)
{
return static_cast<float>(next_p2(static_cast<int>(x)));
return (float) nextP2((int) x);
}
} // love
+2 -2
View File
@@ -445,7 +445,7 @@ T *luax_checktype(lua_State *L, int idx, love::Type type)
Proxy *u = (Proxy *)lua_touserdata(L, idx);
if (!typeFlags[u->type][type])
if (u->type <= INVALID_ID || u->type >= TYPE_MAX_ENUM || !typeFlags[u->type][type])
{
const char *name = "Invalid";
getTypeName(type, name);
@@ -469,7 +469,7 @@ T *luax_getmodule(lua_State *L, love::Type type)
Proxy *u = (Proxy *)lua_touserdata(L, -1);
if (!typeFlags[u->type][type])
if (u->type <= INVALID_ID || u->type >= TYPE_MAX_ENUM || !typeFlags[u->type][type])
luaL_error(L, "Incorrect module %s", name);
lua_pop(L, 2);
+3 -3
View File
@@ -25,12 +25,12 @@ namespace love
{
// Version stuff.
#define LOVE_VERSION_STRING "0.10.1"
#define LOVE_VERSION_STRING "0.10.2"
static const int VERSION_MAJOR = 0;
static const int VERSION_MINOR = 10;
static const int VERSION_REV = 1;
static const int VERSION_REV = 2;
static const char *VERSION = LOVE_VERSION_STRING;
static const char *VERSION_COMPATIBILITY[] = { VERSION, "0.10.0", 0 };
static const char *VERSION_COMPATIBILITY[] = { VERSION, "0.10.1", "0.10.0", 0 };
static const char *VERSION_CODENAME = "Super Toast";
} // love
@@ -1,3 +1,17 @@
* use getaddrinfo and getnameinfo where available
ENet 1.3.13 (April 30, 2015):
* miscellaneous bug fixes
* added premake and cmake support
* miscellaneous documentation cleanups
ENet 1.3.12 (April 24, 2014):
* added maximumPacketSize and maximumWaitingData fields to ENetHost to limit the amount of
data waiting to be delivered on a peer (beware that the default maximumPacketSize is
32MB and should be set higher if desired as should maximumWaitingData)
ENet 1.3.11 (December 26, 2013):
* allow an ENetHost to connect to itself

Some files were not shown because too many files have changed in this diff Show More