From f483086c9097546b9348936e0ece1dc86b3f5fdf Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Sat, 20 Nov 2021 11:16:46 -0600 Subject: [PATCH] Added wine configuration game link if on unix --- lib/application_manager.rb | 16 ++++++++++++++++ lib/pages/games.rb | 1 + 2 files changed, 17 insertions(+) diff --git a/lib/application_manager.rb b/lib/application_manager.rb index 82902bf..22b6c1f 100644 --- a/lib/application_manager.rb +++ b/lib/application_manager.rb @@ -51,6 +51,22 @@ class W3DHub end end + def wine_configuration(app_id, channel) + puts "Wine Configuration Request: #{app_id}-#{channel}" + + # open wwconfig.exe or config.exe for ecw + + if (app_data = installed?(app_id, channel) && W3DHub.unix?) + exe = if window.settings[:wine_prefix] + "WINEPREFIX=\"#{window.settings[:wine_prefix]}\" winecfg" + else + "winecfg" + end + + Process.spawn("#{exe}") + end + end + def repair(app_id, channel) puts "Repair Installation Request: #{app_id}-#{channel}" diff --git a/lib/pages/games.rb b/lib/pages/games.rb index 35c1442..4b5c8ce 100644 --- a/lib/pages/games.rb +++ b/lib/pages/games.rb @@ -88,6 +88,7 @@ class W3DHub if window.application_manager.installed?(game.id, channel.id) Hash.new.tap { |hash| hash["Game Settings"] = { icon: "gear", block: proc { window.application_manager.settings(game.id, channel.id) } } + hash["Wine Configuration"] = { icon: "gear", block: proc { window.application_manager.wine_configuration(game.id, channel.id) } } if W3DHub.unix? if game.id != "ren" hash["Repair Installation"] = { icon: "wrench", block: proc { window.application_manager.repair(game.id, channel.id) } } hash["Uninstall"] = { icon: "trashCan", block: proc { window.application_manager.uninstall(game.id, channel.id) } }