mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 01:02:34 +00:00
Renamed W3DHub.captured_command to simply W3DHub.command, replace usages of system with W3DHub.command, resolves command prompt's popping up on Windows under rubyw.
This commit is contained in:
@@ -49,7 +49,7 @@ class W3DHub
|
||||
lambda do
|
||||
@ping = -1
|
||||
|
||||
W3DHub.captured_commmand("ping #{@address} #{W3DHub.windows? ? '-n 3' : '-c 3'}") do |line|
|
||||
W3DHub.command("ping #{@address} #{W3DHub.windows? ? '-n 3' : '-c 3'}") do |line|
|
||||
if W3DHub.windows? && line =~ /Minimum|Maximum|Maximum/i
|
||||
@ping = line.strip.split(",").last.split("=").last.sub("ms", "").to_i
|
||||
elsif W3DHub.unix? && line.start_with?("rtt min/avg/max/mdev")
|
||||
|
||||
@@ -147,12 +147,12 @@ class W3DHub
|
||||
# FIXME: Check that there is enough disk space
|
||||
|
||||
# tar present?
|
||||
bsdtar_present = system("#{W3DHub.tar_command} --help")
|
||||
bsdtar_present = W3DHub.command("#{W3DHub.tar_command} --help")
|
||||
fail!("FAIL FAST: `#{W3DHub.tar_command} --help` command failed, #{W3DHub.tar_command} is not installed. Will be unable to unpack packages.") unless bsdtar_present
|
||||
|
||||
# Wine present?
|
||||
if W3DHub.unix?
|
||||
wine_present = system("which #{Store.settings[:wine_command]}")
|
||||
wine_present = W3DHub.command("which #{Store.settings[:wine_command]}")
|
||||
fail!("FAIL FAST: `which #{Store.settings[:wine_command]}` command failed, wine is not installed. Will be unable to create prefixes or launch games.") unless wine_present
|
||||
end
|
||||
end
|
||||
@@ -636,7 +636,7 @@ class W3DHub
|
||||
package_path = Cache.package_path(package.category, package.subcategory, package.name, package.version)
|
||||
|
||||
logger.info(LOG_TAG) { " Running #{W3DHub.tar_command} command: #{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{path}\"" }
|
||||
return system("#{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{path}\"")
|
||||
return W3DHub.command("#{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{path}\"")
|
||||
end
|
||||
|
||||
def apply_patch(package, path)
|
||||
@@ -648,7 +648,7 @@ class W3DHub
|
||||
Cache.create_directories(temp_path, true)
|
||||
|
||||
logger.info(LOG_TAG) { " Running #{W3DHub.tar_command} command: #{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{temp_path}\"" }
|
||||
system("#{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{temp_path}\"")
|
||||
W3DHub.command("#{W3DHub.tar_command} -xf \"#{package_path}\" -C \"#{temp_path}\"")
|
||||
|
||||
logger.info(LOG_TAG) { " Loading #{temp_path}/#{manifest_file.name}.patch..." }
|
||||
patch_mix = W3DHub::Mixer::Reader.new(file_path: "#{temp_path}/#{manifest_file.name}.patch", ignore_crc_mismatches: false)
|
||||
|
||||
@@ -40,7 +40,7 @@ class W3DHub
|
||||
end
|
||||
end
|
||||
|
||||
def self.captured_commmand(command, &block)
|
||||
def self.command(command, &block)
|
||||
if windows?
|
||||
stdout_read, stdout_write = IO.pipe
|
||||
|
||||
@@ -60,23 +60,26 @@ class W3DHub
|
||||
status = -1
|
||||
|
||||
until (status = Process.get_exitcode(pid))
|
||||
readable, _writable, _errorable = IO.select([stdout_read], [], [], 1)
|
||||
if block
|
||||
readable, _writable, _errorable = IO.select([stdout_read], [], [], 1)
|
||||
|
||||
readable&.each do |io|
|
||||
line = io.readpartial(1024)
|
||||
readable&.each do |io|
|
||||
line = io.readpartial(1024)
|
||||
|
||||
block&.call(line)
|
||||
block&.call(line)
|
||||
end
|
||||
else
|
||||
sleep 0.1
|
||||
end
|
||||
end
|
||||
|
||||
stdout_read.close
|
||||
stdout_write.close
|
||||
|
||||
status.zero?
|
||||
else
|
||||
IO.popen(command) do |io|
|
||||
io.each_line do |line|
|
||||
block&.call(line)
|
||||
if block
|
||||
io.each_line do |line|
|
||||
block&.call(line)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user