diff --git a/.gitignore b/.gitignore index 93f954e..46f2627 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build_switch libromfs-generator build-ios build +vcpkg_installed diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b11040..28416ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ set(VERSION_MAJOR "1") set(VERSION_MINOR "2") set(VERSION_ALTER "1") set(VERSION_BUILD "1") -set(PACKAGE_NAME "com.xitrix.moonlight") +set(PACKAGE_NAME "ru.xitrix.Moonlight") set(PSN_TITLE_ID "MNTL00000") set(PSN_VERSION "01.00") set(PROJECT_AUTHOR "XITRIX") @@ -173,7 +173,12 @@ elseif (PLATFORM_IOS) "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_ALTER}") list(APPEND IOS_FRAMEWORKS ${CMAKE_CURRENT_SOURCE_DIR}/extern/borealis/library/lib/extern/angle/ios/MetalANGLE.framework) set_target_properties(${PROJECT_NAME} PROPERTIES - XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON) + INSTALL_RPATH @executable_path/Frameworks + XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON + XCODE_ATTRIBUTE_INFOPLIST_KEY_LSApplicationCategoryType "public.app-category.games" + XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks" + XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/extern/borealis/library/lib/extern/angle/ios/" + XCODE_ATTRIBUTE_INSTALL_PATH $(LOCAL_APPS_DIR)) elseif (PLATFORM_TVOS) ios_bundle( "${CMAKE_CURRENT_SOURCE_DIR}/app/platforms/ios/tvos/Splash.storyboard" @@ -183,7 +188,13 @@ elseif (PLATFORM_TVOS) "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_ALTER}") list(APPEND IOS_FRAMEWORKS ${CMAKE_CURRENT_SOURCE_DIR}/extern/borealis/library/lib/extern/angle/tvos/MetalANGLE.framework) set_target_properties(${PROJECT_NAME} PROPERTIES - XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON) + INSTALL_RPATH @executable_path/Frameworks + XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON + XCODE_ATTRIBUTE_INFOPLIST_KEY_LSApplicationCategoryType "public.app-category.games" + XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks" + XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/extern/borealis/library/lib/extern/angle/tvos/" + XCODE_ATTRIBUTE_INSTALL_PATH $(LOCAL_APPS_DIR) + XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIconTvOS") endif () target_include_directories(${PROJECT_NAME} PUBLIC diff --git a/app/platforms/ios/Images.xcassets/AppIcon.appiconset/Contents.json b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/Contents.json index 4fdb732..197fb14 100644 --- a/app/platforms/ios/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/Contents.json @@ -5,6 +5,30 @@ "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "moonlight 1.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "filename" : "moonlight 2.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" } ], "info" : { diff --git a/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 1.png b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 1.png new file mode 100644 index 0000000..5aa2a18 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 1.png differ diff --git a/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 2.png b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 2.png new file mode 100644 index 0000000..5aa2a18 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIcon.appiconset/moonlight 2.png differ diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json similarity index 73% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json index 795cce1..362717d 100644 --- a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +++ b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -1,10 +1,12 @@ { "images" : [ { + "filename" : "Frame 5.png", "idiom" : "tv", "scale" : "1x" }, { + "filename" : "Frame 5@2x.png", "idiom" : "tv", "scale" : "2x" } diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5.png new file mode 100644 index 0000000..6a823aa Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5.png differ diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5@2x.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5@2x.png new file mode 100644 index 0000000..a41b8f5 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Frame 5@2x.png differ diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image Wide.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json similarity index 73% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image Wide.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json index 795cce1..362717d 100644 --- a/app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image Wide.imageset/Contents.json +++ b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -1,10 +1,12 @@ { "images" : [ { + "filename" : "Frame 5.png", "idiom" : "tv", "scale" : "1x" }, { + "filename" : "Frame 5@2x.png", "idiom" : "tv", "scale" : "2x" } diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5.png new file mode 100644 index 0000000..1357b58 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5.png differ diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5@2x.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5@2x.png new file mode 100644 index 0000000..ab6d631 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Frame 5@2x.png differ diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json similarity index 73% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json index 795cce1..362717d 100644 --- a/app/platforms/ios/Images.xcassets/tvOS.brandassets/Top Shelf Image.imageset/Contents.json +++ b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -1,10 +1,12 @@ { "images" : [ { + "filename" : "Frame 5.png", "idiom" : "tv", "scale" : "1x" }, { + "filename" : "Frame 5@2x.png", "idiom" : "tv", "scale" : "2x" } diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5.png new file mode 100644 index 0000000..b07d440 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5.png differ diff --git a/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5@2x.png b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5@2x.png new file mode 100644 index 0000000..371c7d6 Binary files /dev/null and b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Frame 5@2x.png differ diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Top Shelf Image Wide.imageset/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Top Shelf Image Wide.imageset/Contents.json diff --git a/app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Top Shelf Image.imageset/Contents.json similarity index 100% rename from app/platforms/ios/Images.xcassets/tvOS.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json rename to app/platforms/ios/Images.xcassets/AppIconTvOs.brandassets/Top Shelf Image.imageset/Contents.json diff --git a/app/platforms/ios/iOSBundleInfo.plist.in b/app/platforms/ios/iOSBundleInfo.plist.in index 0e6279f..7f48cc3 100644 --- a/app/platforms/ios/iOSBundleInfo.plist.in +++ b/app/platforms/ios/iOSBundleInfo.plist.in @@ -66,5 +66,16 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + GCSupportedGameControllers + + + ProfileName + ExtendedGamepad + + + GCSupportsControllerUserInteraction + + LSApplicationCategoryType + public.app-category.games diff --git a/app/src/main.cpp b/app/src/main.cpp index f4ef617..3ab8d42 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -111,6 +111,9 @@ int main(int argc, char* argv[]) { // Exit #ifdef __SWITCH__ nvExit(); +#elif defined(PLATFORM_TVOS) + exit(0); #endif + return EXIT_SUCCESS; } diff --git a/extern/borealis b/extern/borealis index df740af..10b2822 160000 --- a/extern/borealis +++ b/extern/borealis @@ -1 +1 @@ -Subproject commit df740af34000368bf4e27317f5bb234d98e9ca19 +Subproject commit 10b282268f8e225f64e5e369c99858a11c3725b0 diff --git a/extern/cmake/toolchain.cmake b/extern/cmake/toolchain.cmake index de0dbfe..60c2769 100644 --- a/extern/cmake/toolchain.cmake +++ b/extern/cmake/toolchain.cmake @@ -34,6 +34,7 @@ elseif (PLATFORM_IOS OR PLATFORM_TVOS) set(DEPLOYMENT_TARGET 13.0) set(CMAKE_TOOLCHAIN_FILE ${EXTERN_PATH}/vcpkg/scripts/buildsystems/vcpkg.cmake CACHE PATH "vcpkg toolchain file") set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE ${BOREALIS_LIBRARY}/cmake/ios.toolchain.cmake CACHE PATH "ios toolchain file") + set(CMAKE_SHARED_LINKER_FLAGS "-rpath @executable_path/Frameworks -rpath @loader_path/Frameworks") set(USE_SDL2 ON) set(USE_GLFW OFF) set(USE_GLES3 ON)