From c1c38fa83fac5edc7c998abbd2d73873da8fb5c4 Mon Sep 17 00:00:00 2001 From: aomizu Date: Mon, 19 May 2025 08:41:37 +0900 Subject: [PATCH] updated to newest libSiliconPatch.dll --- main.go | 2 +- pkg/patching/patching.go | 7 ++++--- pkg/ui/ui.go | 9 ++++++--- winerosetta/libSiliconPatch.dll | Bin 31744 -> 33280 bytes 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 712ab88..e0c669d 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,7 @@ import ( "turtlesilicon/pkg/ui" // Updated import path ) -const appVersion = "1.0.3" // Added version constant +const appVersion = "1.0.4" func main() { myApp := app.NewWithID("com.tairasu.turtlesilicon") diff --git a/pkg/patching/patching.go b/pkg/patching/patching.go index fa5ab04..3ada653 100644 --- a/pkg/patching/patching.go +++ b/pkg/patching/patching.go @@ -25,12 +25,13 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) { targetWinerosettaDll := filepath.Join(paths.TurtlewowPath, "winerosetta.dll") targetD3d9Dll := filepath.Join(paths.TurtlewowPath, "d3d9.dll") + targetLibSiliconPatchDll := filepath.Join(paths.TurtlewowPath, "libSiliconPatch.dll") targetRosettaX87Dir := filepath.Join(paths.TurtlewowPath, "rosettax87") dllsTextFile := filepath.Join(paths.TurtlewowPath, "dlls.txt") - filesToCopy := map[string]string{ - "winerosetta/winerosetta.dll": targetWinerosettaDll, - "winerosetta/d3d9.dll": targetD3d9Dll, + "winerosetta/winerosetta.dll": targetWinerosettaDll, + "winerosetta/d3d9.dll": targetD3d9Dll, + "winerosetta/libSiliconPatch.dll": targetLibSiliconPatchDll, } for resourceName, destPath := range filesToCopy { diff --git a/pkg/ui/ui.go b/pkg/ui/ui.go index 5dd3340..127710d 100644 --- a/pkg/ui/ui.go +++ b/pkg/ui/ui.go @@ -68,6 +68,7 @@ func UpdateAllStatuses() { turtlewowPathLabel.Segments = []widget.RichTextSegment{&widget.TextSegment{Text: paths.TurtlewowPath, Style: widget.RichTextStyle{ColorName: theme.ColorNameSuccess}}} winerosettaDllPath := filepath.Join(paths.TurtlewowPath, "winerosetta.dll") d3d9DllPath := filepath.Join(paths.TurtlewowPath, "d3d9.dll") + libSiliconPatchDllPath := filepath.Join(paths.TurtlewowPath, "libSiliconPatch.dll") rosettaX87DirPath := filepath.Join(paths.TurtlewowPath, "rosettax87") dllsTextFile := filepath.Join(paths.TurtlewowPath, "dlls.txt") rosettaX87ExePath := filepath.Join(rosettaX87DirPath, "rosettax87") @@ -76,14 +77,16 @@ func UpdateAllStatuses() { dllsFileValid := false if utils.PathExists(dllsTextFile) { if fileContent, err := os.ReadFile(dllsTextFile); err == nil { - if strings.Contains(string(fileContent), "winerosetta.dll") { + contentStr := string(fileContent) + if strings.Contains(contentStr, "winerosetta.dll") && strings.Contains(contentStr, "libSiliconPatch.dll") { dllsFileValid = true } } } - if utils.PathExists(winerosettaDllPath) && utils.PathExists(d3d9DllPath) && utils.DirExists(rosettaX87DirPath) && - utils.PathExists(rosettaX87ExePath) && utils.PathExists(libRuntimeRosettaX87Path) && dllsFileValid { + if utils.PathExists(winerosettaDllPath) && utils.PathExists(d3d9DllPath) && utils.PathExists(libSiliconPatchDllPath) && + utils.DirExists(rosettaX87DirPath) && utils.PathExists(rosettaX87ExePath) && + utils.PathExists(libRuntimeRosettaX87Path) && dllsFileValid { paths.PatchesAppliedTurtleWoW = true } else { // paths.PatchesAppliedTurtleWoW = false diff --git a/winerosetta/libSiliconPatch.dll b/winerosetta/libSiliconPatch.dll index ce0602bd6dfcda2be3137777afa37df39938e4d6..d75808c544a484aa4ca9d89924011c2b57c883e5 100755 GIT binary patch delta 7296 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