From c4fc748024e2b704d6a10dfa43074f6b93174ae1 Mon Sep 17 00:00:00 2001 From: Mathew Tkachuk Date: Sat, 8 Mar 2025 11:25:00 +0300 Subject: [PATCH] fix: Fix patch `Fix Unreal Engine 4 crash` --- .../src/commonMain/kotlin/moe/crx/ovrport/patch/Patch.kt | 9 ++++++--- .../kotlin/moe/crx/ovrport/patch/PatchStore.kt | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/Patch.kt b/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/Patch.kt index 29939af..465b371 100644 --- a/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/Patch.kt +++ b/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/Patch.kt @@ -14,8 +14,8 @@ class FileTransformer(val file: File) { file.writeText(Regex(input, RegexOption.DOT_MATCHES_ALL).replace(file.readText(), output)) } - fun find(input: String): Boolean { - return Regex(input, RegexOption.DOT_MATCHES_ALL).find(file.readText()) != null + fun readText(): String { + return file.readText() } fun append(line: String) { @@ -158,7 +158,10 @@ class PatchExecutor(private val workingDir: File) { it ?: workingDir.resolve("smali/classes").apply { mkdirs() } } .resolve("${fileName}.smali") - .apply { createNewFile() } + .apply { + parentFile?.mkdirs() + createNewFile() + } .run { if (exists()) { FileTransformer(this).block() diff --git a/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/PatchStore.kt b/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/PatchStore.kt index da1d425..86061f8 100644 --- a/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/PatchStore.kt +++ b/composeApp/src/commonMain/kotlin/moe/crx/ovrport/patch/PatchStore.kt @@ -216,7 +216,7 @@ object PatchStore { } PATCHES += Patch("Fix Unreal Engine 4 crash") { createSmali("com/unity3d/player/UnityPlayer") { - if (!find(".*")) { + if (readText().isBlank()) { append(".class public Lcom/unity3d/player/UnityPlayer;") append(".super Ljava/lang/Object;") append(".field public static currentActivity:Landroid/app/Activity;")