diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 8170c773..5e5fe2a7 100755 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -245,9 +245,9 @@ void set_default_settings(Settings *settings) { settings->setDefault("font_shadow", "1"); settings->setDefault("font_shadow_alpha", "127"); settings->setDefault("mono_font_path", - porting::getDataPath("fonts" DIR_DELIM "Cousine-Regular.ttf")); + porting::getDataPath("fonts" DIR_DELIM "Cousine-Regular.ttf")); settings->setDefault("fallback_font_path", - porting::getDataPath("fonts" DIR_DELIM "DroidSansFallback.ttf")); + porting::getDataPath("fonts" DIR_DELIM "DroidSansFallback.ttf")); settings->setDefault("fallback_font_shadow", "1"); settings->setDefault("fallback_font_shadow_alpha", "128"); @@ -302,7 +302,7 @@ void set_default_settings(Settings *settings) { settings->setDefault("kick_msg_shutdown", "Server shutting down."); settings->setDefault("kick_msg_crash", - "This server has experienced an internal error. You will now be disconnected."); + "This server has experienced an internal error. You will now be disconnected."); settings->setDefault("ask_reconnect_on_crash", "false"); settings->setDefault("kamikaze", "false"); @@ -402,8 +402,6 @@ void set_default_settings(Settings *settings) { settings->setDefault("screenW", "0"); settings->setDefault("screenH", "0"); settings->setDefault("fullscreen", "true"); - settings->setDefault("enable_shaders", "false"); - settings->setDefault("video_driver", "ogles1"); settings->setDefault("touchtarget", "true"); settings->setDefault("touchscreen_threshold", "20"); settings->setDefault("doubletap_jump", "true"); @@ -415,15 +413,15 @@ void set_default_settings(Settings *settings) { // Set the optimal settings depending on the memory size [Android] | model [iOS] #ifdef __ANDROID__ - // minimal settings for less than 2GB RAM if (porting::getMemoryMax() < 2) { + // minimal settings for less than 2GB RAM #elif __IOS__ - // minimal settings for 32-bit devices bool arm = false; -#if defined(__arm__) +#ifdef __arm__ arm = true; #endif if (arm) { + // minimal settings for 32-bit devices settings->setDefault("enable_minimap", "false"); settings->setDefault("enable_clouds", "false"); #endif @@ -441,12 +439,13 @@ void set_default_settings(Settings *settings) { settings->setDefault("max_block_generate_distance", "1"); settings->setDefault("enable_weather", "false"); #ifdef __ANDROID__ - // low settings for 2-4GB RAM } else if (porting::getMemoryMax() >= 2 && porting::getMemoryMax() < 4) { + // low settings for 2-4GB RAM #elif __IOS__ - // low settings - } else if (([SDVersion deviceVersion] == iPhone5S) || ([SDVersion deviceVersion] == iPhone6) || ([SDVersion deviceVersion] == iPhone6Plus) || ([SDVersion deviceVersion] == iPodTouch6Gen) || + } else if (([SDVersion deviceVersion] == iPhone5S) || ([SDVersion deviceVersion] == iPhone6) || ([SDVersion deviceVersion] == iPhone6Plus) || + ([SDVersion deviceVersion] == iPodTouch6Gen) || ([SDVersion deviceVersion] == iPadMini2) || ([SDVersion deviceVersion] == iPadMini3)) { + // low settings settings->setDefault("enable_minimap", "false"); #endif settings->setDefault("client_unload_unused_data_timeout", "120"); @@ -464,12 +463,13 @@ void set_default_settings(Settings *settings) { settings->setDefault("max_block_generate_distance", "2"); settings->setDefault("enable_weather", "false"); #ifdef __ANDROID__ - // medium settings for 4.1-6GB RAM } else if (porting::getMemoryMax() >= 4 && porting::getMemoryMax() < 6) { + // medium settings for 4.1-6GB RAM #elif __IOS__ - // medium settings - } else if (([SDVersion deviceVersion] == iPhone6S) || ([SDVersion deviceVersion] == iPhone6SPlus) || ([SDVersion deviceVersion] == iPhoneSE) || ([SDVersion deviceVersion] == iPhone7) || ([SDVersion deviceVersion] == iPhone7Plus) || + } else if (([SDVersion deviceVersion] == iPhone6S) || ([SDVersion deviceVersion] == iPhone6SPlus) || ([SDVersion deviceVersion] == iPhoneSE) || + ([SDVersion deviceVersion] == iPhone7) || ([SDVersion deviceVersion] == iPhone7Plus) || ([SDVersion deviceVersion] == iPadMini4) || ([SDVersion deviceVersion] == iPadAir)) { + // medium settings settings->setDefault("enable_minimap", "false"); #endif settings->setDefault("client_unload_unused_data_timeout", "300"); @@ -480,23 +480,33 @@ void set_default_settings(Settings *settings) { settings->setDefault("active_block_range", "2"); settings->setDefault("max_block_generate_distance", "3"); } else { - // high settings + // high settings settings->setDefault("client_mapblock_limit", "500"); settings->setDefault("viewing_range", "80"); settings->setDefault("max_block_generate_distance", "5"); + + if (@available(iOS 13, *)) { + // enable visual shader effects + settings->setDefault("enable_waving_water", "true"); + settings->setDefault("enable_waving_leaves", "true"); + settings->setDefault("enable_waving_plants", "true"); + } } // Android Settings #ifdef __ANDROID__ + settings->setDefault("video_driver", "ogles1"); + settings->setDefault("enable_shaders", "false"); + settings->setDefault("debug_log_level", "error"); // Set font_path settings->setDefault("mono_font_path", "/system/fonts/DroidSansMono.ttf"); settings->setDefault("fallback_font_path", "/system/fonts/DroidSans.ttf"); - // Check screen size - double x_inches = (double) porting::getDisplaySize().X / - (160 * porting::getDisplayDensity()); + // Apply settings according to screen size + float x_inches = (float) porting::getDisplaySize().X / + (160.f * porting::getDisplayDensity()); std::string font_size_str_small = std::to_string(TTF_DEFAULT_FONT_SIZE - 1); if (x_inches <= 3.7) { @@ -523,6 +533,15 @@ void set_default_settings(Settings *settings) { // iOS Settings #ifdef __IOS__ + // Switch to olges2 with shaders on the new iOS version + if (@available(iOS 13, *)) { + settings->setDefault("video_driver", "ogles2"); + settings->setDefault("enable_shaders", "true"); + } else { + settings->setDefault("video_driver", "ogles1"); + settings->setDefault("enable_shaders", "false"); + } + settings->setDefault("debug_log_level", "none"); settings->setDefault("password_save", "true");