diff --git a/Engines/Wine/Engine/Object/script.js b/Engines/Wine/Engine/Object/script.js
index 9cf76d82b2..860de0022b 100644
--- a/Engines/Wine/Engine/Object/script.js
+++ b/Engines/Wine/Engine/Object/script.js
@@ -5,13 +5,13 @@ include(["utils", "functions", "net", "download"]);
include(["utils", "functions", "net", "resource"]);
/* exported LATEST_STABLE_VERSION */
-var LATEST_STABLE_VERSION = "3.0.4";
+var LATEST_STABLE_VERSION = "4.0";
/* exported LATEST_DEVELOPMENT_VERSION */
-var LATEST_DEVELOPMENT_VERSION = "4.0-rc6";
+var LATEST_DEVELOPMENT_VERSION = "4.0";
/* exported LATEST_STAGING_VERSION */
-var LATEST_STAGING_VERSION = "4.0-rc4";
+var LATEST_STAGING_VERSION = "4.0";
/* exported LATEST_DOS_SUPPORT_VERSION */
-var LATEST_DOS_SUPPORT_VERSION = "4.0-rc4";
+var LATEST_DOS_SUPPORT_VERSION = "4.0";
/**
* Wine main prototype
diff --git a/Engines/Wine/Verbs/DXVK/script.js b/Engines/Wine/Verbs/DXVK/script.js
index 4971c51fc5..2a40d475ca 100644
--- a/Engines/Wine/Verbs/DXVK/script.js
+++ b/Engines/Wine/Verbs/DXVK/script.js
@@ -76,7 +76,7 @@ var verbImplementation = {
.get();
var latestVersion = cat(releaseFile).replaceAll("\\n", "");
// query desired version (default: latest release version)
- var versions = ["0.93", "0.92", "0.91", "0.90",
+ var versions = ["0.95", "0.94", "0.93", "0.92", "0.91", "0.90",
"0.81", "0.80", "0.72", "0.71", "0.70",
"0.65", "0.64", "0.63", "0.62", "0.61", "0.60",
"0.54", "0.53", "0.52", "0.51", "0.50",
diff --git a/Engines/Wine/Verbs/FAudio/script.js b/Engines/Wine/Verbs/FAudio/script.js
new file mode 100644
index 0000000000..655946d67b
--- /dev/null
+++ b/Engines/Wine/Verbs/FAudio/script.js
@@ -0,0 +1,70 @@
+include(["engines", "wine", "engine", "object"]);
+include(["engines", "wine", "plugins", "override_dll"]);
+include(["utils", "functions", "net", "resource"]);
+include(["utils", "functions", "filesystem", "files"]);
+
+/**
+* Verb to install FAudio
+* see: https://github.com/Kron4ek/FAudio-Builds
+* @param {String} faudioVersion version of FAudio to downlaod
+* @returns {Wine} Wine object
+*/
+Wine.prototype.faudio = function (faudioVersion) {
+ if(typeof faudioVersion !== 'string')
+ faudioVersion = "19.01";
+
+ var setupFile = new Resource()
+ .wizard(this.wizard())
+ .url("https://github.com/Kron4ek/FAudio-Builds/releases/download/" + faudioVersion + "/faudio-" + faudioVersion + ".tar.xz")
+ .name("faudio-" + faudioVersion + ".tar.xz")
+ .get();
+
+ new Extractor()
+ .wizard(this.wizard())
+ .archive(setupFile)
+ .to(this.prefixDirectory() + "/FAudio/")
+ .extract();
+
+ var forEach = Array.prototype.forEach;
+ var sys32dir = this.system32directory();
+ var faudioDir = this.prefixDirectory() + "/FAudio/faudio-" + faudioVersion;
+ var self = this;
+
+ forEach.call(ls(faudioDir + "/x32"), function (file) {
+ if (file.endsWith(".dll")) {
+ cp(faudioDir + "/x32/" + file, sys32dir);
+ self.overrideDLL()
+ .set("native", [file])
+ .do();
+ }
+ });
+
+ if (this.architecture() == "amd64")
+ {
+ var sys64dir = this.system64directory();
+ forEach.call(ls(faudioDir + "/x64"), function (file) {
+ if (file.endsWith(".dll")) {
+ cp(faudioDir + "/x64/" + file, sys64dir);
+ }
+ });
+ }
+
+ return this;
+}
+
+/**
+ * Verb to install FAudio
+*/
+var verbImplementation = {
+ install: function (container) {
+ var wine = new Wine();
+ wine.prefix(container);
+ var wizard = SetupWizard(InstallationType.VERBS, "FAudio", java.util.Optional.empty());
+ wine.wizard(wizard);
+ wine.faudio();
+ wizard.close();
+ }
+};
+
+/* exported Verb */
+var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation);
diff --git a/Engines/Wine/Verbs/FAudio/script.json b/Engines/Wine/Verbs/FAudio/script.json
new file mode 100644
index 0000000000..ddd7e26bbd
--- /dev/null
+++ b/Engines/Wine/Verbs/FAudio/script.json
@@ -0,0 +1,12 @@
+{
+ "scriptName" : "faudio",
+ "id" : "faudio",
+ "compatibleOperatingSystems" : [
+ "LINUX"
+ ],
+ "testingOperatingSystems" : [
+ "LINUX"
+ ],
+ "free" : true,
+ "requiresPatch" : false
+}
diff --git a/Engines/Wine/Verbs/VK9/script.js b/Engines/Wine/Verbs/VK9/script.js
index 3dc356aeaa..64eabe1de0 100644
--- a/Engines/Wine/Verbs/VK9/script.js
+++ b/Engines/Wine/Verbs/VK9/script.js
@@ -15,7 +15,7 @@ Wine.prototype.VK9 = function (vk9Version) {
print("NOTE: works from 0.28.0");
if (typeof vk9Version !== 'string')
- vk9Version = "0.28.1";
+ vk9Version = "0.29.0";
var setupFile32 = new Resource()
.wizard(this.wizard())
@@ -68,7 +68,7 @@ var verbImplementation = {
wine.prefix(container);
var wizard = SetupWizard(InstallationType.VERBS, "VK9", java.util.Optional.empty());
// query desired version (default: 0.28.1)
- var versions = ["0.28.1", "0.28.0", "0.27.0", "0.26.0", "0.25.0", "0.23.0", "0.17.0", "0.16.0", "0.6.0", "0.4.0"];
+ var versions = ["0.29.0", "0.28.1", "0.28.0"]; //this script is not able to install older versions (VK9.conf mandatory)
var selectedVersion = wizard.menu(tr("Please select the version."), versions, "0.28.1");
wine.wizard(wizard);
// install selected version
diff --git a/docs/_docs/Develop/verbs.md b/docs/_docs/Develop/verbs.md
index cf921a5322..26f0a72a2b 100644
--- a/docs/_docs/Develop/verbs.md
+++ b/docs/_docs/Develop/verbs.md
@@ -80,7 +80,11 @@ It is also possible to pass additional parameters to the `extract()`, e.g.
```
If you extract many files, don't forget to add a progress bar like it is done for [d3dx9](https://github.com/PhoenicisOrg/scripts/blob/master/Engines/Wine/Verbs/d3dx9/script.js).
+### Copying DLL's to `C:\windows\sys*`
+On Windows 32 bits, 32 bits dll's go to `C:\windows\system32`.
+On Windows 64 bits, 32 bits dll's go to `C:\windows\syswow64` and 64 bits dll's go to system32.
+This is already handled inside the engine implementation if you use the functions `wine.system64directory()` for 64 bits dll's and bits and `wine.system32directory` for 32 bits dll's inside your scripts.
### DLL Overrides
```javascript
this.overrideDLL()
diff --git a/docs/jsdoc/Engines_Wine_Engine_Object_script.js.html b/docs/jsdoc/Engines_Wine_Engine_Object_script.js.html
index 0340c70aba..70139d4f19 100644
--- a/docs/jsdoc/Engines_Wine_Engine_Object_script.js.html
+++ b/docs/jsdoc/Engines_Wine_Engine_Object_script.js.html
@@ -33,13 +33,13 @@
Source: Engines/Wine/Engine/Object/script.js
include(["utils", "functions", "net", "resource"]);
/* exported LATEST_STABLE_VERSION */
-var LATEST_STABLE_VERSION = "3.0.4";
+var LATEST_STABLE_VERSION = "4.0";
/* exported LATEST_DEVELOPMENT_VERSION */
-var LATEST_DEVELOPMENT_VERSION = "4.0-rc6";
+var LATEST_DEVELOPMENT_VERSION = "4.0";
/* exported LATEST_STAGING_VERSION */
-var LATEST_STAGING_VERSION = "4.0-rc4";
+var LATEST_STAGING_VERSION = "4.0";
/* exported LATEST_DOS_SUPPORT_VERSION */
-var LATEST_DOS_SUPPORT_VERSION = "4.0-rc4";
+var LATEST_DOS_SUPPORT_VERSION = "4.0";
/**
* Wine main prototype
diff --git a/docs/jsdoc/Engines_Wine_Verbs_DXVK_script.js.html b/docs/jsdoc/Engines_Wine_Verbs_DXVK_script.js.html
index 1892986100..c2a2c47dca 100644
--- a/docs/jsdoc/Engines_Wine_Verbs_DXVK_script.js.html
+++ b/docs/jsdoc/Engines_Wine_Verbs_DXVK_script.js.html
@@ -104,7 +104,7 @@ Source: Engines/Wine/Verbs/DXVK/script.js
.get();
var latestVersion = cat(releaseFile).replaceAll("\\n", "");
// query desired version (default: latest release version)
- var versions = ["0.93", "0.92", "0.91", "0.90",
+ var versions = ["0.95", "0.94", "0.93", "0.92", "0.91", "0.90",
"0.81", "0.80", "0.72", "0.71", "0.70",
"0.65", "0.64", "0.63", "0.62", "0.61", "0.60",
"0.54", "0.53", "0.52", "0.51", "0.50",
diff --git a/docs/jsdoc/Engines_Wine_Verbs_FAudio_script.js.html b/docs/jsdoc/Engines_Wine_Verbs_FAudio_script.js.html
new file mode 100644
index 0000000000..c46bffcea5
--- /dev/null
+++ b/docs/jsdoc/Engines_Wine_Verbs_FAudio_script.js.html
@@ -0,0 +1,121 @@
+
+
+
+
+ JSDoc: Source: Engines/Wine/Verbs/FAudio/script.js
+
+
+
+
+
+
+
+
+
+
+
+
+
Source: Engines/Wine/Verbs/FAudio/script.js
+
+
+
+
+
+
+
+
+ include(["engines", "wine", "engine", "object"]);
+include(["engines", "wine", "plugins", "override_dll"]);
+include(["utils", "functions", "net", "resource"]);
+include(["utils", "functions", "filesystem", "files"]);
+
+/**
+* Verb to install FAudio
+* see: https://github.com/Kron4ek/FAudio-Builds
+* @param {String} faudioVersion version of FAudio to downlaod
+* @returns {Wine} Wine object
+*/
+Wine.prototype.faudio = function (faudioVersion) {
+ if(typeof faudioVersion !== 'string')
+ faudioVersion = "19.01";
+
+ var setupFile = new Resource()
+ .wizard(this.wizard())
+ .url("https://github.com/Kron4ek/FAudio-Builds/releases/download/" + faudioVersion + "/faudio-" + faudioVersion + ".tar.xz")
+ .name("faudio-" + faudioVersion + ".tar.xz")
+ .get();
+
+ new Extractor()
+ .wizard(this.wizard())
+ .archive(setupFile)
+ .to(this.prefixDirectory() + "/FAudio/")
+ .extract();
+
+ var forEach = Array.prototype.forEach;
+ var sys32dir = this.system32directory();
+ var faudioDir = this.prefixDirectory() + "/FAudio/faudio-" + faudioVersion;
+ var self = this;
+
+ forEach.call(ls(faudioDir + "/x32"), function (file) {
+ if (file.endsWith(".dll")) {
+ cp(faudioDir + "/x32/" + file, sys32dir);
+ self.overrideDLL()
+ .set("native", [file])
+ .do();
+ }
+ });
+
+ if (this.architecture() == "amd64")
+ {
+ var sys64dir = this.system64directory();
+ forEach.call(ls(faudioDir + "/x64"), function (file) {
+ if (file.endsWith(".dll")) {
+ cp(faudioDir + "/x64/" + file, sys64dir);
+ }
+ });
+ }
+
+ return this;
+}
+
+/**
+ * Verb to install FAudio
+*/
+var verbImplementation = {
+ install: function (container) {
+ var wine = new Wine();
+ wine.prefix(container);
+ var wizard = SetupWizard(InstallationType.VERBS, "FAudio", java.util.Optional.empty());
+ wine.wizard(wizard);
+ wine.faudio();
+ wizard.close();
+ }
+};
+
+/* exported Verb */
+var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/jsdoc/Engines_Wine_Verbs_VK9_script.js.html b/docs/jsdoc/Engines_Wine_Verbs_VK9_script.js.html
index d503f08662..4f0f0ee4d1 100644
--- a/docs/jsdoc/Engines_Wine_Verbs_VK9_script.js.html
+++ b/docs/jsdoc/Engines_Wine_Verbs_VK9_script.js.html
@@ -43,7 +43,7 @@ Source: Engines/Wine/Verbs/VK9/script.js
print("NOTE: works from 0.28.0");
if (typeof vk9Version !== 'string')
- vk9Version = "0.28.1";
+ vk9Version = "0.29.0";
var setupFile32 = new Resource()
.wizard(this.wizard())
@@ -96,7 +96,7 @@ Source: Engines/Wine/Verbs/VK9/script.js
wine.prefix(container);
var wizard = SetupWizard(InstallationType.VERBS, "VK9", java.util.Optional.empty());
// query desired version (default: 0.28.1)
- var versions = ["0.28.1", "0.28.0", "0.27.0", "0.26.0", "0.25.0", "0.23.0", "0.17.0", "0.16.0", "0.6.0", "0.4.0"];
+ var versions = ["0.29.0", "0.28.1", "0.28.0"]; //this script is not able to install older versions (VK9.conf mandatory)
var selectedVersion = wizard.menu(tr("Please select the version."), versions, "0.28.1");
wine.wizard(wizard);
// install selected version
diff --git a/docs/jsdoc/Wine.html b/docs/jsdoc/Wine.html
index 0e93b3ade7..ad130b0fd9 100644
--- a/docs/jsdoc/Wine.html
+++ b/docs/jsdoc/Wine.html
@@ -3154,6 +3154,164 @@ enableCSMT<
+Returns:
+
+
+
+ Wine object
+
+
+
+
+
+ -
+ Type
+
+ -
+
+Wine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ faudio(faudioVersion) → {Wine}
+
+
+
+
+
+
+
+ Verb to install FAudio
+see: https://github.com/Kron4ek/FAudio-Builds
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ faudioVersion |
+
+
+
+
+
+String
+
+
+
+ |
+
+
+
+
+
+ version of FAudio to downlaod |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns:
diff --git a/docs/jsdoc/global.html b/docs/jsdoc/global.html
index f11db9eab3..e888c6af77 100644
--- a/docs/jsdoc/global.html
+++ b/docs/jsdoc/global.html
@@ -166,7 +166,7 @@