diff --git a/.eslintrc.yml b/.eslintrc.yml index e7923548bd..6112560d39 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -30,6 +30,7 @@ globals: # java Bean: false # files + ls: false mkdir: false fileExists: false cat: false diff --git a/Engines/Wine/Engine/Implementation/script.js b/Engines/Wine/Engine/Implementation/script.js index e24c36fdb0..c9e43ed0f5 100644 --- a/Engines/Wine/Engine/Implementation/script.js +++ b/Engines/Wine/Engine/Implementation/script.js @@ -93,34 +93,51 @@ var engineImplementation = { .archive(tmpFile) .to(localDirectory) .extract(); - }, - _installGecko: function (setupWizard, winePackage, localDirectory) { - var gecko = new Resource() - .wizard(setupWizard) - .url(winePackage.geckoUrl) - .checksum(winePackage.geckoMd5) - .algorithm("md5") - .name(winePackage.geckoFile) - .directory("gecko") - .get(); - var wineGeckoDir = localDirectory + "/share/wine/gecko"; + var files = ls(localDirectory); + if (files.length == 1) { + // probably the archive contained a folder (e.g. for Lutris Wine version) + // link folders so Phoenicis can find them + var extractedDir = files[0]; - lns(new java.io.File(gecko).getParent(), wineGeckoDir); + var forEach = Array.prototype.forEach; + forEach.call(ls(localDirectory + "/" + extractedDir), function (folder) { + lns(localDirectory + "/" + extractedDir + "/" + folder, localDirectory + "/" + folder); + } + ); + } + }, + _installGecko: function (setupWizard, winePackage, localDirectory) { + if (winePackage.geckoUrl) { + var gecko = new Resource() + .wizard(setupWizard) + .url(winePackage.geckoUrl) + .checksum(winePackage.geckoMd5) + .algorithm("md5") + .name(winePackage.geckoFile) + .directory("gecko") + .get(); + + var wineGeckoDir = localDirectory + "/share/wine/gecko"; + + lns(new java.io.File(gecko).getParent(), wineGeckoDir); + } }, _installMono: function (setupWizard, winePackage, localDirectory) { - var mono = new Resource() - .wizard(setupWizard) - .url(winePackage.monoUrl) - .checksum(winePackage.monoMd5) - .algorithm("md5") - .name(winePackage.monoFile) - .directory("mono") - .get(); - - var wineMonoDir = localDirectory + "/share/wine/mono"; - - lns(new java.io.File(mono).getParent(), wineMonoDir); + if (winePackage.monoUrl) { + var mono = new Resource() + .wizard(setupWizard) + .url(winePackage.monoUrl) + .checksum(winePackage.monoMd5) + .algorithm("md5") + .name(winePackage.monoFile) + .directory("mono") + .get(); + + var wineMonoDir = localDirectory + "/share/wine/mono"; + + lns(new java.io.File(mono).getParent(), wineMonoDir); + } }, delete: function (subCategory, version) { if (this.isInstalled(subCategory, version)) { diff --git a/Engines/Wine/Engine/Object/script.js b/Engines/Wine/Engine/Object/script.js index 134e195f53..0117b66ac5 100644 --- a/Engines/Wine/Engine/Object/script.js +++ b/Engines/Wine/Engine/Object/script.js @@ -5,9 +5,9 @@ include(["utils", "functions", "net", "download"]); include(["utils", "functions", "net", "resource"]); /* exported LATEST_STABLE_VERSION */ -var LATEST_STABLE_VERSION = "3.0"; +var LATEST_STABLE_VERSION = "3.0.1"; /* exported LATEST_DEVELOPMENT_VERSION */ -var LATEST_DEVELOPMENT_VERSION = "3.7"; +var LATEST_DEVELOPMENT_VERSION = "3.8"; /* exported LATEST_STAGING_VERSION */ var LATEST_STAGING_VERSION = "2.21"; @@ -264,4 +264,4 @@ Wine.prototype.system64directory = function () { */ Wine.prototype.fontDirectory = function () { return this.prefixDirectory() + "/drive_c/windows/Fonts"; -}; \ No newline at end of file +}; diff --git a/Engines/Wine/QuickScript/Steam Script/script.js b/Engines/Wine/QuickScript/Steam Script/script.js index ec983cbc0d..a285e5e961 100644 --- a/Engines/Wine/QuickScript/Steam Script/script.js +++ b/Engines/Wine/QuickScript/Steam Script/script.js @@ -94,12 +94,13 @@ SteamScript.prototype.go = function () { .to(tempFile) .get(); + setupWizard.wait(tr("Please follow the steps of the Steam setup.\n\nUncheck \"Run Steam\" or close Steam completely after the setup so that the installation of \"{0}\" can continue.", this._name)); + var wine = new Wine() .wizard(setupWizard) .prefix(this._name, this._wineDistribution, this._wineArchitecture, this._wineVersion) .luna() - .run(tempFile) - .wait(tr("Please follow the steps of the Steam setup.\n\nUncheck \"Run Steam\" or close Steam completely after the setup so that the installation of \"{0}\" can continue.", this._name)); + .run(tempFile, [], null, false, true); // Steam installation has finished setupWizard.wait(tr("Please wait ...")); diff --git a/Engines/Wine/Verbs/DXVK/script.js b/Engines/Wine/Verbs/DXVK/script.js index 02c46490cc..5a9f308dc4 100644 --- a/Engines/Wine/Verbs/DXVK/script.js +++ b/Engines/Wine/Verbs/DXVK/script.js @@ -11,7 +11,7 @@ Wine.prototype.DXVK = function () { print("NOTE: you need a driver that supports Vulkan enough to run DXVK"); print("NOTE: wine version should be greater or equal to 3.5"); - var dxvkVersion = "0.50"; + var dxvkVersion = "0.51"; var setupFile = new Resource() .wizard(this.wizard()) diff --git a/Utils/Functions/Filesystem/Files/script.js b/Utils/Functions/Filesystem/Files/script.js index ddc4bdac87..08c0d75d6b 100644 --- a/Utils/Functions/Filesystem/Files/script.js +++ b/Utils/Functions/Filesystem/Files/script.js @@ -1,13 +1,22 @@ var fileAnalyser = Bean("fileAnalyser"); var fileUtilities = Bean("fileUtilities"); +/** +* lists files and directories +* @param {string} directoryPath directory path +* @returns {string[]} list of files and directories +*/ +function ls(directoryPath) { // eslint-disable-line no-unused-vars + return fileUtilities.ls(new java.io.File(directoryPath)); +} + /** * creates directory * @param {string} directoryPath directory path * @returns {void} */ function mkdir(directoryPath) { // eslint-disable-line no-unused-vars - fileUtilities.mkdir(new java.io.File(directoryPath)) + fileUtilities.mkdir(new java.io.File(directoryPath)); } /** diff --git a/docs/jsdoc/AppResource.html b/docs/jsdoc/AppResource.html index 23d69355cc..da032bc63f 100644 --- a/docs/jsdoc/AppResource.html +++ b/docs/jsdoc/AppResource.html @@ -471,7 +471,7 @@
var fileAnalyser = Bean("fileAnalyser");
var fileUtilities = Bean("fileUtilities");
+/**
+* lists files and directories
+* @param {string} directoryPath directory path
+* @returns {string[]} list of files and directories
+*/
+function ls(directoryPath) { // eslint-disable-line no-unused-vars
+ return fileUtilities.ls(new java.io.File(directoryPath));
+}
+
/**
* creates directory
* @param {string} directoryPath directory path
* @returns {void}
*/
function mkdir(directoryPath) { // eslint-disable-line no-unused-vars
- fileUtilities.mkdir(new java.io.File(directoryPath))
+ fileUtilities.mkdir(new java.io.File(directoryPath));
}
/**
@@ -197,7 +206,7 @@ Source: Utils/Functions/Filesystem/Files/script.js
diff --git a/docs/jsdoc/Utils_Functions_Net_Download_script.js.html b/docs/jsdoc/Utils_Functions_Net_Download_script.js.html
index 6024688d64..ce06dccef1 100644
--- a/docs/jsdoc/Utils_Functions_Net_Download_script.js.html
+++ b/docs/jsdoc/Utils_Functions_Net_Download_script.js.html
@@ -179,7 +179,7 @@ Source: Utils/Functions/Net/Download/script.js
diff --git a/docs/jsdoc/Utils_Functions_Net_Resource_script.js.html b/docs/jsdoc/Utils_Functions_Net_Resource_script.js.html
index 3ffecaca7f..a3ddc1e6ba 100644
--- a/docs/jsdoc/Utils_Functions_Net_Resource_script.js.html
+++ b/docs/jsdoc/Utils_Functions_Net_Resource_script.js.html
@@ -146,7 +146,7 @@ Source: Utils/Functions/Net/Resource/script.js
diff --git a/docs/jsdoc/Wine.html b/docs/jsdoc/Wine.html
index 08aff08699..0caece0cb9 100644
--- a/docs/jsdoc/Wine.html
+++ b/docs/jsdoc/Wine.html
@@ -7535,7 +7535,7 @@ Returns:
diff --git a/docs/jsdoc/WineShortcut.html b/docs/jsdoc/WineShortcut.html
index ca24edf5e9..051905a997 100644
--- a/docs/jsdoc/WineShortcut.html
+++ b/docs/jsdoc/WineShortcut.html
@@ -1522,7 +1522,7 @@ Returns:
diff --git a/docs/jsdoc/global.html b/docs/jsdoc/global.html
index f94d6d2921..651286c1a2 100644
--- a/docs/jsdoc/global.html
+++ b/docs/jsdoc/global.html
@@ -166,7 +166,7 @@
- setting to configure strict draw ordering
+ setting to set the render target lock mode
@@ -204,7 +204,7 @@
Source:
@@ -228,7 +228,7 @@
- setting to set the video memory size
+ setting to set the offscreen rendering mode
@@ -266,7 +266,7 @@
Source:
@@ -290,7 +290,7 @@
- setting to set always offscreen
+ setting to configure multisampling
@@ -328,7 +328,7 @@
Source:
@@ -352,7 +352,7 @@
- setting to enable/disable GLSL
+ setting to configure mouse warp override
@@ -390,7 +390,7 @@
Source:
@@ -414,7 +414,7 @@
- setting to set the DirectDraw renderer
+ setting to set always offscreen
@@ -452,7 +452,7 @@
Source:
@@ -476,7 +476,7 @@
- setting to configure multisampling
+ setting to enable/disable GLSL
@@ -514,7 +514,7 @@
Source:
@@ -538,7 +538,7 @@
- setting to set the offscreen rendering mode
+ setting to set the DirectDraw renderer
@@ -576,7 +576,7 @@
Source:
@@ -600,7 +600,7 @@
- setting to set the render target lock mode
+ setting to set the video memory size
@@ -638,7 +638,7 @@
Source:
@@ -662,7 +662,7 @@
- setting to configure mouse warp override
+ setting to configure strict draw ordering
@@ -700,7 +700,7 @@
Source:
@@ -724,7 +724,7 @@ too
- tool to open a terminal in a Wine prefix
+ tool to open the Wine registry editor
@@ -762,7 +762,7 @@ too
Source:
@@ -786,7 +786,7 @@ too
- tool to open the Wine registry editor
+ tool to uninstall Wine
@@ -824,7 +824,7 @@ too
Source:
@@ -848,7 +848,7 @@ too
- tool to repair a Wine prefix
+ tool to open a terminal in a Wine prefix
@@ -886,7 +886,7 @@ too
Source:
@@ -910,7 +910,7 @@ too
- tool to reboot Wine
+ tool to open a Wine console
@@ -948,7 +948,7 @@ too
Source:
@@ -972,7 +972,7 @@ too
- tool to uninstall Wine
+ tool to configure Wine
@@ -1010,7 +1010,7 @@ too
Source:
@@ -1034,7 +1034,7 @@ too
- tool to kill running Wine processes
+ tool to open the Wine task manager
@@ -1072,7 +1072,7 @@ too
Source:
@@ -1096,7 +1096,7 @@ too
- tool to configure Wine
+ tool to kill running Wine processes
@@ -1134,7 +1134,7 @@ too
Source:
@@ -1158,7 +1158,7 @@ too
- tool to open a Wine console
+ tool to repair a Wine prefix
@@ -1196,7 +1196,7 @@ too
Source:
@@ -1220,7 +1220,7 @@ too
- tool to open the Wine task manager
+ tool to reboot Wine
@@ -1258,7 +1258,7 @@ too
Source:
@@ -1387,7 +1387,7 @@ Parameters:
Source:
@@ -1567,7 +1567,7 @@ Parameters:
Source:
@@ -1720,7 +1720,7 @@ Parameters:
Source:
@@ -1877,7 +1877,7 @@ Parameters:
Source:
@@ -2034,7 +2034,7 @@ Parameters:
Source:
@@ -2191,7 +2191,7 @@ Parameters:
Source:
@@ -2371,7 +2371,7 @@ Parameters:
Source:
@@ -2423,6 +2423,163 @@ Returns:
+ ls(directoryPath) → {Array.<string>}
+
+
+
+
+
+
+
+ lists files and directories
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ directoryPath
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+ directory path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Returns:
+
+
+
+ list of files and directories
+
+
+
+
+
+ -
+ Type
+
+ -
+
+Array.<string>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
mkdir(directoryPath) → {void}
@@ -2524,7 +2681,7 @@ Parameters:
Source:
@@ -2677,7 +2834,7 @@ Parameters:
Source:
@@ -2830,7 +2987,7 @@ Parameters:
Source:
@@ -3006,7 +3163,7 @@ Parameters:
Source:
@@ -3068,7 +3225,7 @@ Returns:
diff --git a/docs/jsdoc/index.html b/docs/jsdoc/index.html
index 50311d4a97..27522fed5f 100644
--- a/docs/jsdoc/index.html
+++ b/docs/jsdoc/index.html
@@ -50,7 +50,7 @@