From b826c0706a70b0a65b88c5600a5c7bfa479c35db Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Tue, 11 Jan 2022 11:48:07 +0100 Subject: [PATCH] Upgrade platform_get_default_scale() --- src/openrct2/config/Config.cpp | 2 +- src/openrct2/platform/Android.cpp | 16 ---------------- src/openrct2/platform/Platform.Android.cpp | 16 ++++++++++++++++ src/openrct2/platform/Platform2.h | 1 + src/openrct2/platform/Shared.cpp | 14 +++++++------- src/openrct2/platform/platform.h | 2 -- 6 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 3c79ab6eef..6bd5c27888 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -202,7 +202,7 @@ namespace Config model->disable_lightning_effect = reader->GetBoolean("disable_lightning_effect", false); model->allow_loading_with_incorrect_checksum = reader->GetBoolean("allow_loading_with_incorrect_checksum", true); model->steam_overlay_pause = reader->GetBoolean("steam_overlay_pause", true); - model->window_scale = reader->GetFloat("window_scale", platform_get_default_scale()); + model->window_scale = reader->GetFloat("window_scale", Platform::GetDefaultScale()); model->scale_quality = reader->GetEnum( "scale_quality", ScaleQuality::SmoothNearestNeighbour, Enum_ScaleQuality); model->show_fps = reader->GetBoolean("show_fps", false); diff --git a/src/openrct2/platform/Android.cpp b/src/openrct2/platform/Android.cpp index 979ab3dc81..8f537c7852 100644 --- a/src/openrct2/platform/Android.cpp +++ b/src/openrct2/platform/Android.cpp @@ -18,22 +18,6 @@ # include # include -float platform_get_default_scale() -{ - JNIEnv* env = static_cast(SDL_AndroidGetJNIEnv()); - - jobject activity = static_cast(SDL_AndroidGetActivity()); - jclass activityClass = env->GetObjectClass(activity); - jmethodID getDefaultScale = env->GetMethodID(activityClass, "getDefaultScale", "()F"); - - jfloat displayScale = env->CallFloatMethod(activity, getDefaultScale); - - env->DeleteLocalRef(activity); - env->DeleteLocalRef(activityClass); - - return displayScale; -} - AndroidClassLoader::AndroidClassLoader() { log_info("Obtaining JNI class loader"); diff --git a/src/openrct2/platform/Platform.Android.cpp b/src/openrct2/platform/Platform.Android.cpp index 0062d89a29..1ac745f6b6 100644 --- a/src/openrct2/platform/Platform.Android.cpp +++ b/src/openrct2/platform/Platform.Android.cpp @@ -83,6 +83,22 @@ namespace Platform return ""; } # endif + + float GetDefaultScale() + { + JNIEnv* env = static_cast(SDL_AndroidGetJNIEnv()); + + jobject activity = static_cast(SDL_AndroidGetActivity()); + jclass activityClass = env->GetObjectClass(activity); + jmethodID getDefaultScale = env->GetMethodID(activityClass, "getDefaultScale", "()F"); + + jfloat displayScale = env->CallFloatMethod(activity, getDefaultScale); + + env->DeleteLocalRef(activity); + env->DeleteLocalRef(activityClass); + + return displayScale; + } } // namespace Platform #endif diff --git a/src/openrct2/platform/Platform2.h b/src/openrct2/platform/Platform2.h index f324da3af4..6689c5cb48 100644 --- a/src/openrct2/platform/Platform2.h +++ b/src/openrct2/platform/Platform2.h @@ -54,6 +54,7 @@ namespace Platform bool FindApp(std::string_view app, std::string* output); int32_t Execute(std::string_view command, std::string* output = nullptr); bool ProcessIsElevated(); + float GetDefaultScale(); bool OriginalGameDataExists(std::string_view path); diff --git a/src/openrct2/platform/Shared.cpp b/src/openrct2/platform/Shared.cpp index dbe4637abd..54c6258484 100644 --- a/src/openrct2/platform/Shared.cpp +++ b/src/openrct2/platform/Shared.cpp @@ -137,6 +137,13 @@ namespace Platform sanitised = String::Trim(sanitised); return sanitised; } + +#ifndef __ANDROID__ + float GetDefaultScale() + { + return 1; + } +#endif } // namespace Platform GamePalette gPalette; @@ -208,13 +215,6 @@ void platform_sleep(uint32_t ms) #endif } -#ifndef __ANDROID__ -float platform_get_default_scale() -{ - return 1; -} -#endif - void core_init() { static bool initialised = false; diff --git a/src/openrct2/platform/platform.h b/src/openrct2/platform/platform.h index e20392b576..dcacbc052d 100644 --- a/src/openrct2/platform/platform.h +++ b/src/openrct2/platform/platform.h @@ -103,8 +103,6 @@ std::string platform_get_rct2_steam_dir(); datetime64 platform_get_datetime_now_utc(); -float platform_get_default_scale(); - // Called very early in the program before parsing commandline arguments. void core_init();