From 6736abc277653d9af5a79f8de76e6b110e1fc0a9 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Wed, 11 Sep 2024 16:54:21 -0500 Subject: [PATCH] Write data/paths.ini file --- lib/api/applications.rb | 7 +++++++ lib/application_manager/task.rb | 16 ++++++++++++++++ lib/application_manager/tasks/installer.rb | 3 +++ 3 files changed, 26 insertions(+) diff --git a/lib/api/applications.rb b/lib/api/applications.rb index 8e4f553..f958b56 100644 --- a/lib/api/applications.rb +++ b/lib/api/applications.rb @@ -42,12 +42,19 @@ class W3DHub cfg = @data[:"extended-data"].find { |h| h[:name] == "usesEngineCfg" } @uses_engine_cfg = (cfg && cfg[:value].to_s.downcase.strip == "true") == true # explicit truthy compare to prevent return `nil` + + cfg = @data[:"extended-data"].find { |h| h[:name] == "usesRenFolder" } + @uses_ren_folder = (cfg && cfg[:value].to_s.downcase.strip == "true") == true # explicit truthy compare to prevent return `nil` end def uses_engine_cfg? @uses_engine_cfg end + def uses_ren_folder? + @uses_ren_folder + end + class Channel attr_reader :id, :name, :user_level, :current_version diff --git a/lib/application_manager/task.rb b/lib/application_manager/task.rb index 02d165d..09fb933 100644 --- a/lib/application_manager/task.rb +++ b/lib/application_manager/task.rb @@ -552,6 +552,22 @@ class W3DHub @status.step = :install_dependencies end + def write_paths_ini + path = Cache.install_path(@application, @channel) + + File.open("#{path}/data/paths.ini", "w") do |file| + file.puts("[paths]") + file.puts("RegBase=W3D Hub") + file.puts("RegClient=#{@application.category}\\#{@application.id}-#{@channel.id}") + file.puts("RegFDS=#{@application.category}\\#{@application.id}-#{@channel.id}-server") + file.puts("FileBase=W3D Hub"); + file.puts("FileClient=#{@application.category}\\#{@application.id}-#{@channel.id}") + file.puts("FileFDS=#{@application.category}\\#{@application.id}-#{@channel.id}-server") + + file.puts("UseRenFolder=#{@application.uses_ren_folder?}") + end + end + def mark_application_installed Store.application_manager.installed!(self) diff --git a/lib/application_manager/tasks/installer.rb b/lib/application_manager/tasks/installer.rb index d2bb6b3..4c63b3a 100644 --- a/lib/application_manager/tasks/installer.rb +++ b/lib/application_manager/tasks/installer.rb @@ -40,6 +40,9 @@ class W3DHub install_dependencies return false if failed? + write_paths_ini + return false if failed? + mark_application_installed return false if failed?