From 5c9803a0b2caaea540fcfbf0b6c93f597aaefb55 Mon Sep 17 00:00:00 2001 From: Wouter Wijsman Date: Sun, 5 Jan 2025 14:06:02 +0100 Subject: [PATCH 1/2] Fix Unreal Gold being unable to launch --- CHANGELOG.md | 1 + minigalaxy/launcher.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0aaa0a93..02d061c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Completely reworked windows wine installation. This should solve a lot of problems with failing game installs (thanks to GB609) - Variables and arguments in game settings can now contain blanks when quoted shell-style (thanks to GB609) - Minigalaxy will now create working Desktop Shortcuts for wine games (thanks to GB609) +- Make games Unreal Gold able to launch **1.3.1** - Fix Windows games with multiple parts not installing with wine diff --git a/minigalaxy/launcher.py b/minigalaxy/launcher.py index 790679bf..6b6e798a 100644 --- a/minigalaxy/launcher.py +++ b/minigalaxy/launcher.py @@ -147,7 +147,10 @@ def get_windows_exe_cmd(game, files): # in case no goggame info file was found executables = glob.glob(game.install_dir + '/*.exe') executables.remove(os.path.join(game.install_dir, "unins000.exe")) - filename = os.path.splitext(os.path.basename(executables[0]))[0] + '.exe' + if not executables: + # Look one directory level deeper + executables = glob.glob(game.install_dir + '/**/*.exe') + filename = os.path.relpath(executables[0], game.install_dir) exe_cmd = [get_wine_path(game), filename] # Backwards compatibility with windows games installed before installer fixes. From 3e61f83bbeca3dec3a626c156e7c35783e88c699 Mon Sep 17 00:00:00 2001 From: Wouter Wijsman Date: Mon, 6 Jan 2025 11:15:12 +0100 Subject: [PATCH 2/2] Replace ** with * in glob --- minigalaxy/launcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minigalaxy/launcher.py b/minigalaxy/launcher.py index 6b6e798a..fed7299a 100644 --- a/minigalaxy/launcher.py +++ b/minigalaxy/launcher.py @@ -149,7 +149,7 @@ def get_windows_exe_cmd(game, files): executables.remove(os.path.join(game.install_dir, "unins000.exe")) if not executables: # Look one directory level deeper - executables = glob.glob(game.install_dir + '/**/*.exe') + executables = glob.glob(game.install_dir + '/*/*.exe') filename = os.path.relpath(executables[0], game.install_dir) exe_cmd = [get_wine_path(game), filename]