Updated LÖVE codebase to 6d245a253bab
@@ -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}\\\"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
image: mfcula/love-cmake:v1
|
||||
pipelines:
|
||||
default:
|
||||
- step:
|
||||
script:
|
||||
- cmake -G"Ninja" -H. -Bout
|
||||
- ninja -C out
|
||||
@@ -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]
|
||||
-------------------------
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 361 KiB |
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 361 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 361 KiB |
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 59 KiB |
@@ -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}"], [])
|
||||
|
||||
@@ -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,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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -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 @@
|
||||
platform/unix/love.1
|
||||
platform/unix/love.6
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 72 KiB |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 713 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 723 B |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:liblove.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
namespace love
|
||||
{
|
||||
|
||||
void delay(unsigned int ms)
|
||||
void sleep(unsigned int ms)
|
||||
{
|
||||
SDL_Delay(ms);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
namespace love
|
||||
{
|
||||
|
||||
void delay(unsigned int ms);
|
||||
void sleep(unsigned int ms);
|
||||
|
||||
} // namespace love
|
||||
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||