diff options
Diffstat (limited to 'platform')
6 files changed, 19 insertions, 10 deletions
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 1bd198ccc0..b678bbb886 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1823,6 +1823,15 @@ public: err += etc_error; } + // Ensure that `Use Custom Build` is enabled if a plugin is selected. + String enabled_plugins_names = get_plugins_names(get_enabled_plugins(p_preset)); + bool custom_build_enabled = p_preset->get("custom_template/use_custom_build"); + if (!enabled_plugins_names.empty() && !custom_build_enabled) { + valid = false; + err += TTR("\"Use Custom Build\" must be enabled to use the plugins."); + err += "\n"; + } + r_error = err; return valid; } diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle index 5251bc3066..acfdef531e 100644 --- a/platform/android/java/app/config.gradle +++ b/platform/android/java/app/config.gradle @@ -72,17 +72,12 @@ ext.getGodotPluginsRemoteBinaries = { -> /** * Parse the project properties for the 'plugins_local_binaries' property and return * their binaries for inclusion in the build dependencies. - * - * Returns the prebuilt plugins if the 'plugins_local_binaries' property is unavailable. */ ext.getGodotPluginsLocalBinaries = { -> - // Set the prebuilt plugins as default. If custom build is enabled, - // the 'plugins_local_binaries' will be defined so we can use it instead. - Set<String> binDeps = ["libs/plugins/GodotPayment.release.aar"] + Set<String> binDeps = [] // Retrieve the list of local plugins binaries. if (project.hasProperty("plugins_local_binaries")) { - binDeps.clear() String pluginsList = project.property("plugins_local_binaries") if (pluginsList != null && !pluginsList.trim().isEmpty()) { for (String plugin : pluginsList.split(PLUGIN_VALUE_SEPARATOR_REGEX)) { diff --git a/platform/android/java/build.gradle b/platform/android/java/build.gradle index 01a3607b20..80c6be0fae 100644 --- a/platform/android/java/build.gradle +++ b/platform/android/java/build.gradle @@ -193,4 +193,6 @@ task cleanGodotTemplates(type: Delete) { delete("$binDir/android_source.zip") delete("$binDir/godot-lib.debug.aar") delete("$binDir/godot-lib.release.aar") + + finalizedBy getTasksByName("clean", true) } diff --git a/platform/android/java/plugins/godotpayment/src/main/java/org/godotengine/godot/plugin/payment/GodotPayment.java b/platform/android/java/plugins/godotpayment/src/main/java/org/godotengine/godot/plugin/payment/GodotPayment.java index 9e55ab5027..6447a9ec3f 100644 --- a/platform/android/java/plugins/godotpayment/src/main/java/org/godotengine/godot/plugin/payment/GodotPayment.java +++ b/platform/android/java/plugins/godotpayment/src/main/java/org/godotengine/godot/plugin/payment/GodotPayment.java @@ -214,7 +214,7 @@ public class GodotPayment extends GodotPlugin implements PurchasesUpdatedListene @NonNull @Override public List<String> getPluginMethods() { - return Arrays.asList("startConnection", "endConnection", "purchase", "querySkuDetails", "isReady", "queryPurchases", "acknowledgePurchase"); + return Arrays.asList("startConnection", "endConnection", "purchase", "querySkuDetails", "isReady", "queryPurchases", "acknowledgePurchase", "consumePurchase"); } @NonNull diff --git a/platform/android/plugin/godot_plugin_jni.cpp b/platform/android/plugin/godot_plugin_jni.cpp index 053a4c078e..d2528bebeb 100644 --- a/platform/android/plugin/godot_plugin_jni.cpp +++ b/platform/android/plugin/godot_plugin_jni.cpp @@ -114,8 +114,10 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeEmitS String signal_name = jstring_to_string(j_signal_name, env); int count = env->GetArrayLength(j_signal_params); - Variant variant_params[count]; - const Variant *args[count]; + ERR_FAIL_COND_MSG(count > VARIANT_ARG_MAX, "Maximum argument count exceeded!"); + + Variant variant_params[VARIANT_ARG_MAX]; + const Variant *args[VARIANT_ARG_MAX]; for (int i = 0; i < count; i++) { jobject j_param = env->GetObjectArrayElement(j_signal_params, i); diff --git a/platform/windows/joypad_windows.cpp b/platform/windows/joypad_windows.cpp index 0cff12ca8c..50f090d2b0 100644 --- a/platform/windows/joypad_windows.cpp +++ b/platform/windows/joypad_windows.cpp @@ -70,7 +70,8 @@ JoypadWindows::JoypadWindows(HWND *hwnd) { HRESULT result; result = DirectInput8Create(GetModuleHandle(nullptr), DIRECTINPUT_VERSION, IID_IDirectInput8, (void **)&dinput, nullptr); if (FAILED(result)) { - printf("failed init DINPUT: %ld\n", result); + printf("Couldn't initialize DirectInput: %ld\n", result); + printf("Rebooting your PC may solve this issue.\n"); } probe_joypads(); } |