diff --git a/CMakeLists.txt b/CMakeLists.txt index aca09f1e3..7d3b5a311 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -670,7 +670,8 @@ else() Source/main.cpp Packaging/windows/devilutionx.exe.manifest Packaging/windows/devilutionx.rc - Packaging/apple/AppIcon.icns) + Packaging/apple/AppIcon.icns + Packaging/apple/LaunchScreen.storyboard) endif() target_link_libraries(${BIN_TARGET} PRIVATE libdevilutionx) @@ -1168,12 +1169,13 @@ if(APPLE) set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION}) set(MACOSX_BUNDLE_LONG_VERSION_STRING "Version ${PROJECT_VERSION}") if(IOS) + set_target_properties(${BIN_TARGET} PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") set(CMAKE_OSX_DEPLOYMENT_TARGET "9.0") else() set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0") endif() set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_ICON_FILE "AppIcon.icns") - set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Packaging/macOS/Info.plist") + set_target_properties(${BIN_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Packaging/apple/Info.plist") install (TARGETS ${BIN_TARGET} DESTINATION ./) diff --git a/Packaging/apple/Info.plist b/Packaging/apple/Info.plist index 26c12a00b..2c34fa0c9 100644 --- a/Packaging/apple/Info.plist +++ b/Packaging/apple/Info.plist @@ -1,5 +1,5 @@ - + CFBundleDevelopmentRegion @@ -28,6 +28,10 @@ ???? CFBundleVersion ${MACOSX_BUNDLE_BUNDLE_VERSION} + UILaunchStoryboardName + LaunchScreen + NSHighResolutionCapable + CSResourcesFileMapped LSRequiresCarbon diff --git a/Packaging/apple/LaunchScreen.storyboard b/Packaging/apple/LaunchScreen.storyboard new file mode 100644 index 000000000..5ce037b70 --- /dev/null +++ b/Packaging/apple/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/utils/display.cpp b/Source/utils/display.cpp index bd975292b..237c663bf 100644 --- a/Source/utils/display.cpp +++ b/Source/utils/display.cpp @@ -205,7 +205,7 @@ bool SpawnWindow(const char *lpWindowName) SDL_WM_GrabInput(SDL_GRAB_ON); atexit(SDL_VideoQuit); // Without this video mode is not restored after fullscreen. #else - int flags = 0; + int flags = SDL_WINDOW_ALLOW_HIGHDPI; if (*sgOptions.Graphics.upscale) { if (!gbForceWindowed && *sgOptions.Graphics.fullscreen) { flags |= SDL_WINDOW_FULLSCREEN_DESKTOP;