From 35a6d73da17a9f2c72f2770a0849fd8b7025dcae Mon Sep 17 00:00:00 2001 From: Plata Date: Sat, 5 May 2018 21:08:24 +0200 Subject: [PATCH 1/8] Proof of concept --- Engines/Wine/Settings/GLSL/script.js | 33 ++++++++++++++++++++++++++ Engines/Wine/Settings/GLSL/script.json | 11 +++++++++ Engines/Wine/Settings/application.json | 5 ++++ 3 files changed, 49 insertions(+) create mode 100644 Engines/Wine/Settings/GLSL/script.js create mode 100644 Engines/Wine/Settings/GLSL/script.json create mode 100644 Engines/Wine/Settings/application.json diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js new file mode 100644 index 0000000000..c73d6a6b2e --- /dev/null +++ b/Engines/Wine/Settings/GLSL/script.js @@ -0,0 +1,33 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to enable/disable GLSL +*/ +var settingImplementation = { + getText: function () { + return tr("GLSL support"); + }, + getOptions: function () { + // TODO: handle translations + return ["default", "disabled", "enabled"]; + }, + getCurrentOption: function () { + // TODO: get from registry + return "default"; + }, + setOption: function (container, option) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"UseGLSL\"=\"" + option + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/GLSL/script.json b/Engines/Wine/Settings/GLSL/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/GLSL/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/application.json b/Engines/Wine/Settings/application.json new file mode 100644 index 0000000000..3c1571cbda --- /dev/null +++ b/Engines/Wine/Settings/application.json @@ -0,0 +1,5 @@ +{ + "name" : "Wine Settings", + "id" : "settings", + "description" : "Settings for Wine." +} From 396298086966dea4bf510033ece4d2c1ed0c4ae0 Mon Sep 17 00:00:00 2001 From: Plata Date: Sun, 6 May 2018 12:30:02 +0200 Subject: [PATCH 2/8] Finish proof of concept --- Engines/Wine/Settings/GLSL/script.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index c73d6a6b2e..d7c352909a 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -5,23 +5,30 @@ include(["engines", "wine", "plugins", "regedit"]); * setting to enable/disable GLSL */ var settingImplementation = { + _options: [tr("default"), tr("disabled"), tr("enabled")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "enabled"], getText: function () { return tr("GLSL support"); }, getOptions: function () { - // TODO: handle translations - return ["default", "disabled", "enabled"]; + return this._options; }, - getCurrentOption: function () { - // TODO: get from registry - return "default"; + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "UseGLSL"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; }, - setOption: function (container, option) { + setOption: function (container, optionIndex) { var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + - "\"UseGLSL\"=\"" + option + "\"\n"; + "\"UseGLSL\"=\"" + this._registryValues[optionIndex] + "\"\n"; new Wine() .prefix(container) .regedit() From b89c351b69f27191289227c5a1ec4f28090585fd Mon Sep 17 00:00:00 2001 From: Plata Date: Sun, 6 May 2018 17:07:59 +0200 Subject: [PATCH 3/8] Implement remaining settings --- .../Settings/DirectDraw renderer/script.js | 40 +++++++++++++++++++ .../Settings/DirectDraw renderer/script.json | 11 +++++ Engines/Wine/Settings/GLSL/script.js | 2 +- .../Wine/Settings/always offscreen/script.js | 40 +++++++++++++++++++ .../Settings/always offscreen/script.json | 11 +++++ .../Settings/mouse warp override/script.js | 40 +++++++++++++++++++ .../Settings/mouse warp override/script.json | 11 +++++ Engines/Wine/Settings/multisampling/script.js | 40 +++++++++++++++++++ .../Wine/Settings/multisampling/script.json | 11 +++++ .../offscreen rendering mode/script.js | 40 +++++++++++++++++++ .../offscreen rendering mode/script.json | 11 +++++ .../render target lock mode/script.js | 40 +++++++++++++++++++ .../render target lock mode/script.json | 11 +++++ .../Settings/strict draw ordering/script.js | 40 +++++++++++++++++++ .../Settings/strict draw ordering/script.json | 11 +++++ .../Wine/Settings/video memory size/script.js | 40 +++++++++++++++++++ .../Settings/video memory size/script.json | 11 +++++ 17 files changed, 409 insertions(+), 1 deletion(-) create mode 100644 Engines/Wine/Settings/DirectDraw renderer/script.js create mode 100644 Engines/Wine/Settings/DirectDraw renderer/script.json create mode 100644 Engines/Wine/Settings/always offscreen/script.js create mode 100644 Engines/Wine/Settings/always offscreen/script.json create mode 100644 Engines/Wine/Settings/mouse warp override/script.js create mode 100644 Engines/Wine/Settings/mouse warp override/script.json create mode 100644 Engines/Wine/Settings/multisampling/script.js create mode 100644 Engines/Wine/Settings/multisampling/script.json create mode 100644 Engines/Wine/Settings/offscreen rendering mode/script.js create mode 100644 Engines/Wine/Settings/offscreen rendering mode/script.json create mode 100644 Engines/Wine/Settings/render target lock mode/script.js create mode 100644 Engines/Wine/Settings/render target lock mode/script.json create mode 100644 Engines/Wine/Settings/strict draw ordering/script.js create mode 100644 Engines/Wine/Settings/strict draw ordering/script.json create mode 100644 Engines/Wine/Settings/video memory size/script.js create mode 100644 Engines/Wine/Settings/video memory size/script.json diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js new file mode 100644 index 0000000000..1488386564 --- /dev/null +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to set the DirectDraw renderer +*/ +var settingImplementation = { + _options: [tr("Default"), tr("GDI"), tr("OpenGL")], + // values which are written into the registry, do not translate! + _registryValues: ["", "gdi", "opengl"], + getText: function () { + return tr("DirectDraw renderer"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "DirectDrawRenderer"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"DirectDrawRenderer\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.json b/Engines/Wine/Settings/DirectDraw renderer/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/DirectDraw renderer/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index d7c352909a..577c4f94b5 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -5,7 +5,7 @@ include(["engines", "wine", "plugins", "regedit"]); * setting to enable/disable GLSL */ var settingImplementation = { - _options: [tr("default"), tr("disabled"), tr("enabled")], + _options: [tr("Default"), tr("Disabled"), tr("Enabled")], // values which are written into the registry, do not translate! _registryValues: ["", "disabled", "enabled"], getText: function () { diff --git a/Engines/Wine/Settings/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js new file mode 100644 index 0000000000..0ad8650e2f --- /dev/null +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to set always offscreen +*/ +var settingImplementation = { + _options: [tr("Default"), tr("Disabled"), tr("Enabled")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "enabled"], + getText: function () { + return tr("Always offscreen"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "AlwaysOffscreen"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"AlwaysOffscreen\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/always offscreen/script.json b/Engines/Wine/Settings/always offscreen/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/always offscreen/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/mouse warp override/script.js b/Engines/Wine/Settings/mouse warp override/script.js new file mode 100644 index 0000000000..36f436ac0d --- /dev/null +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to configure mouse warp override +*/ +var settingImplementation = { + _options: [tr("Default"), tr("Disabled"), tr("Enabled"), tr("Force")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "enabled", "force"], + getText: function () { + return tr("Mouse warp override"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "DirectInput", "MouseWarpOverride"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\DirectInput]\n" + + "\"MouseWarpOverride\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/mouse warp override/script.json b/Engines/Wine/Settings/mouse warp override/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/mouse warp override/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/multisampling/script.js b/Engines/Wine/Settings/multisampling/script.js new file mode 100644 index 0000000000..7e2573cb8b --- /dev/null +++ b/Engines/Wine/Settings/multisampling/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to configure multisampling +*/ +var settingImplementation = { + _options: [tr("Default"), tr("Disabled"), tr("Enabled")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "enabled"], + getText: function () { + return tr("Multisampling"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "Multisampling"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"Multisampling\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/multisampling/script.json b/Engines/Wine/Settings/multisampling/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/multisampling/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.js b/Engines/Wine/Settings/offscreen rendering mode/script.js new file mode 100644 index 0000000000..9b85c80683 --- /dev/null +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to set the offscreen rendering mode +*/ +var settingImplementation = { + _options: [tr("Default"), tr("FBO"), tr("Backbuffer")], + // values which are written into the registry, do not translate! + _registryValues: ["", "fbo", "backbuffer"], + getText: function () { + return tr("Offscreen rendering mode"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "OffscreenRenderingMode"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"OffscreenRenderingMode\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.json b/Engines/Wine/Settings/offscreen rendering mode/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/offscreen rendering mode/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/render target lock mode/script.js b/Engines/Wine/Settings/render target lock mode/script.js new file mode 100644 index 0000000000..b0194de3fc --- /dev/null +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to set the render target lock mode +*/ +var settingImplementation = { + _options: [tr("Default"), tr("Disabled"), tr("readdraw"), tr("readtext")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "readdraw", "readtext"], + getText: function () { + return tr("Render target lock mode"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "RenderTargetModeLock"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"RenderTargetModeLock\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/render target lock mode/script.json b/Engines/Wine/Settings/render target lock mode/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/render target lock mode/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/strict draw ordering/script.js b/Engines/Wine/Settings/strict draw ordering/script.js new file mode 100644 index 0000000000..7e2dc58ada --- /dev/null +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to configure strict draw ordering +*/ +var settingImplementation = { + _options: [tr("Default"), tr("Disabled"), tr("Enabled")], + // values which are written into the registry, do not translate! + _registryValues: ["", "disabled", "enabled"], + getText: function () { + return tr("Strict Draw Ordering"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "StrictDrawOrdering"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"StrictDrawOrdering\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/strict draw ordering/script.json b/Engines/Wine/Settings/strict draw ordering/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/strict draw ordering/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/video memory size/script.js b/Engines/Wine/Settings/video memory size/script.js new file mode 100644 index 0000000000..7da964248f --- /dev/null +++ b/Engines/Wine/Settings/video memory size/script.js @@ -0,0 +1,40 @@ +include(["engines", "wine", "engine", "object"]); +include(["engines", "wine", "plugins", "regedit"]); + +/** + * setting to set the video memory size +*/ +var settingImplementation = { + _options: [tr("Default"), "64", "384", "1024", "4096", "7168"], + // values which are written into the registry, do not translate! + _registryValues: ["", "64", "384", "1024", "4096", "7168"], + getText: function () { + return tr("Video memory size"); + }, + getOptions: function () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "VideoMemorySize"]); + // find matching option + var index = this._registryValues.indexOf(currentValue); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"VideoMemorySize\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } +}; + +/* exported Setting */ +var Setting = Java.extend(org.phoenicis.engines.EngineSetting, settingImplementation); diff --git a/Engines/Wine/Settings/video memory size/script.json b/Engines/Wine/Settings/video memory size/script.json new file mode 100644 index 0000000000..a927461f26 --- /dev/null +++ b/Engines/Wine/Settings/video memory size/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "GLSL", + "id" : "glsl", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} From d22b5f2d6a329a3a5c214127e9f746ecf6bed897 Mon Sep 17 00:00:00 2001 From: Plata Date: Sun, 6 May 2018 20:31:13 +0200 Subject: [PATCH 4/8] Fix JSON --- Engines/Wine/Settings/DirectDraw renderer/script.json | 4 ++-- Engines/Wine/Settings/always offscreen/script.json | 4 ++-- Engines/Wine/Settings/mouse warp override/script.json | 4 ++-- Engines/Wine/Settings/multisampling/script.json | 4 ++-- Engines/Wine/Settings/offscreen rendering mode/script.json | 4 ++-- Engines/Wine/Settings/render target lock mode/script.json | 4 ++-- Engines/Wine/Settings/strict draw ordering/script.json | 4 ++-- Engines/Wine/Settings/video memory size/script.json | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.json b/Engines/Wine/Settings/DirectDraw renderer/script.json index a927461f26..68c9074fd9 100644 --- a/Engines/Wine/Settings/DirectDraw renderer/script.json +++ b/Engines/Wine/Settings/DirectDraw renderer/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "DirectDraw renderer", + "id" : "directdraw_renderer", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/always offscreen/script.json b/Engines/Wine/Settings/always offscreen/script.json index a927461f26..a0684c8c25 100644 --- a/Engines/Wine/Settings/always offscreen/script.json +++ b/Engines/Wine/Settings/always offscreen/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "always offscreen", + "id" : "always_offscreen", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/mouse warp override/script.json b/Engines/Wine/Settings/mouse warp override/script.json index a927461f26..7283ef967b 100644 --- a/Engines/Wine/Settings/mouse warp override/script.json +++ b/Engines/Wine/Settings/mouse warp override/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "mouse warp override", + "id" : "mouse_warp_override", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/multisampling/script.json b/Engines/Wine/Settings/multisampling/script.json index a927461f26..a4df2ca2e2 100644 --- a/Engines/Wine/Settings/multisampling/script.json +++ b/Engines/Wine/Settings/multisampling/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "multisampling", + "id" : "multisampling", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.json b/Engines/Wine/Settings/offscreen rendering mode/script.json index a927461f26..520e38b9bf 100644 --- a/Engines/Wine/Settings/offscreen rendering mode/script.json +++ b/Engines/Wine/Settings/offscreen rendering mode/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "offscreen rendering mode", + "id" : "offscreen_rendering_mode", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/render target lock mode/script.json b/Engines/Wine/Settings/render target lock mode/script.json index a927461f26..676c0333f5 100644 --- a/Engines/Wine/Settings/render target lock mode/script.json +++ b/Engines/Wine/Settings/render target lock mode/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "render target lock mode", + "id" : "render_target_lock_mode", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/strict draw ordering/script.json b/Engines/Wine/Settings/strict draw ordering/script.json index a927461f26..f24791ea71 100644 --- a/Engines/Wine/Settings/strict draw ordering/script.json +++ b/Engines/Wine/Settings/strict draw ordering/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "strict draw ordering", + "id" : "strict_draw_ordering", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" diff --git a/Engines/Wine/Settings/video memory size/script.json b/Engines/Wine/Settings/video memory size/script.json index a927461f26..02aba8bdc5 100644 --- a/Engines/Wine/Settings/video memory size/script.json +++ b/Engines/Wine/Settings/video memory size/script.json @@ -1,6 +1,6 @@ { - "scriptName" : "GLSL", - "id" : "glsl", + "scriptName" : "video memory size", + "id" : "video_memory_size", "compatibleOperatingSystems" : [ "MACOSX", "LINUX" From 07dab2d1691a9b0e3b09d2de9df24dedc798e1db Mon Sep 17 00:00:00 2001 From: Plata Date: Sun, 6 May 2018 20:34:41 +0200 Subject: [PATCH 5/8] Format --- Engines/Wine/Settings/DirectDraw renderer/script.js | 6 +++--- Engines/Wine/Settings/GLSL/script.js | 6 +++--- Engines/Wine/Settings/always offscreen/script.js | 6 +++--- Engines/Wine/Settings/mouse warp override/script.js | 6 +++--- Engines/Wine/Settings/multisampling/script.js | 6 +++--- Engines/Wine/Settings/offscreen rendering mode/script.js | 6 +++--- Engines/Wine/Settings/render target lock mode/script.js | 6 +++--- Engines/Wine/Settings/strict draw ordering/script.js | 6 +++--- Engines/Wine/Settings/video memory size/script.js | 6 +++--- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js index 1488386564..1fe72ac90f 100644 --- a/Engines/Wine/Settings/DirectDraw renderer/script.js +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "DirectDrawRenderer"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "DirectDrawRenderer"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index 577c4f94b5..fafb262429 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "UseGLSL"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "UseGLSL"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js index 0ad8650e2f..dfed337055 100644 --- a/Engines/Wine/Settings/always offscreen/script.js +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "AlwaysOffscreen"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "AlwaysOffscreen"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/mouse warp override/script.js b/Engines/Wine/Settings/mouse warp override/script.js index 36f436ac0d..4f0ba74a64 100644 --- a/Engines/Wine/Settings/mouse warp override/script.js +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "DirectInput", "MouseWarpOverride"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "DirectInput", "MouseWarpOverride"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/multisampling/script.js b/Engines/Wine/Settings/multisampling/script.js index 7e2573cb8b..42d0685e80 100644 --- a/Engines/Wine/Settings/multisampling/script.js +++ b/Engines/Wine/Settings/multisampling/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "Multisampling"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "Multisampling"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.js b/Engines/Wine/Settings/offscreen rendering mode/script.js index 9b85c80683..113ba38c4c 100644 --- a/Engines/Wine/Settings/offscreen rendering mode/script.js +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "OffscreenRenderingMode"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "OffscreenRenderingMode"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/render target lock mode/script.js b/Engines/Wine/Settings/render target lock mode/script.js index b0194de3fc..b4b9d17af9 100644 --- a/Engines/Wine/Settings/render target lock mode/script.js +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "RenderTargetModeLock"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "RenderTargetModeLock"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/strict draw ordering/script.js b/Engines/Wine/Settings/strict draw ordering/script.js index 7e2dc58ada..7940c1f901 100644 --- a/Engines/Wine/Settings/strict draw ordering/script.js +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "StrictDrawOrdering"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "StrictDrawOrdering"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; diff --git a/Engines/Wine/Settings/video memory size/script.js b/Engines/Wine/Settings/video memory size/script.js index 7da964248f..2775c32acd 100644 --- a/Engines/Wine/Settings/video memory size/script.js +++ b/Engines/Wine/Settings/video memory size/script.js @@ -16,9 +16,9 @@ var settingImplementation = { }, getCurrentOption: function (container) { var currentValue = new Wine() - .prefix(container) - .regedit() - .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "VideoMemorySize"]); + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "VideoMemorySize"]); // find matching option var index = this._registryValues.indexOf(currentValue); return this._options[index]; From 393308bef2deb625275a99fba74c59e48d38da7c Mon Sep 17 00:00:00 2001 From: Plata Date: Sun, 6 May 2018 20:43:53 +0200 Subject: [PATCH 6/8] Use default if no value is set --- Engines/Wine/Settings/DirectDraw renderer/script.js | 4 ++-- Engines/Wine/Settings/GLSL/script.js | 4 ++-- Engines/Wine/Settings/always offscreen/script.js | 4 ++-- Engines/Wine/Settings/mouse warp override/script.js | 4 ++-- Engines/Wine/Settings/multisampling/script.js | 4 ++-- Engines/Wine/Settings/offscreen rendering mode/script.js | 4 ++-- Engines/Wine/Settings/render target lock mode/script.js | 4 ++-- Engines/Wine/Settings/strict draw ordering/script.js | 4 ++-- Engines/Wine/Settings/video memory size/script.js | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js index 1fe72ac90f..882be2a13d 100644 --- a/Engines/Wine/Settings/DirectDraw renderer/script.js +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "DirectDrawRenderer"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index fafb262429..fdba57831f 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "UseGLSL"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js index dfed337055..8b973b27b4 100644 --- a/Engines/Wine/Settings/always offscreen/script.js +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "AlwaysOffscreen"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/mouse warp override/script.js b/Engines/Wine/Settings/mouse warp override/script.js index 4f0ba74a64..11759b731c 100644 --- a/Engines/Wine/Settings/mouse warp override/script.js +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "DirectInput", "MouseWarpOverride"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/multisampling/script.js b/Engines/Wine/Settings/multisampling/script.js index 42d0685e80..4ebab3298b 100644 --- a/Engines/Wine/Settings/multisampling/script.js +++ b/Engines/Wine/Settings/multisampling/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "Multisampling"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.js b/Engines/Wine/Settings/offscreen rendering mode/script.js index 113ba38c4c..691900b960 100644 --- a/Engines/Wine/Settings/offscreen rendering mode/script.js +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "OffscreenRenderingMode"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/render target lock mode/script.js b/Engines/Wine/Settings/render target lock mode/script.js index b4b9d17af9..ba04901d84 100644 --- a/Engines/Wine/Settings/render target lock mode/script.js +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "RenderTargetModeLock"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/strict draw ordering/script.js b/Engines/Wine/Settings/strict draw ordering/script.js index 7940c1f901..aeff38c10b 100644 --- a/Engines/Wine/Settings/strict draw ordering/script.js +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "StrictDrawOrdering"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { diff --git a/Engines/Wine/Settings/video memory size/script.js b/Engines/Wine/Settings/video memory size/script.js index 2775c32acd..fbc84c725b 100644 --- a/Engines/Wine/Settings/video memory size/script.js +++ b/Engines/Wine/Settings/video memory size/script.js @@ -19,8 +19,8 @@ var settingImplementation = { .prefix(container) .regedit() .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "VideoMemorySize"]); - // find matching option - var index = this._registryValues.indexOf(currentValue); + // find matching option (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); return this._options[index]; }, setOption: function (container, optionIndex) { From 79f1d37dd5d3c9e5019ecb5ffd94f05892843b02 Mon Sep 17 00:00:00 2001 From: Plata Date: Mon, 7 May 2018 10:08:51 +0200 Subject: [PATCH 7/8] Delete if default --- .../Settings/DirectDraw renderer/script.js | 18 +++++++++---- Engines/Wine/Settings/GLSL/script.js | 26 ++++++++++++------- .../Wine/Settings/always offscreen/script.js | 18 +++++++++---- .../Settings/mouse warp override/script.js | 18 +++++++++---- Engines/Wine/Settings/multisampling/script.js | 18 +++++++++---- .../offscreen rendering mode/script.js | 18 +++++++++---- .../render target lock mode/script.js | 18 +++++++++---- .../Settings/strict draw ordering/script.js | 18 +++++++++---- .../Wine/Settings/video memory size/script.js | 17 ++++++++---- 9 files changed, 120 insertions(+), 49 deletions(-) diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js index 882be2a13d..b0b3d55d2f 100644 --- a/Engines/Wine/Settings/DirectDraw renderer/script.js +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\DirectDrawRenderer"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"DirectDrawRenderer\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index fdba57831f..83cc1faab0 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = - "REGEDIT4\n" + - "\n" + - "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + - "\"UseGLSL\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\UseGLSL"); + } + else { + var regeditFileContent = + "REGEDIT4\n" + + "\n" + + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + + "\"UseGLSL\"=\"" + this._registryValues[optionIndex] + "\"\n"; + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js index 8b973b27b4..82a2a347e4 100644 --- a/Engines/Wine/Settings/always offscreen/script.js +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\AlwaysOffscreen"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"AlwaysOffscreen\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/mouse warp override/script.js b/Engines/Wine/Settings/mouse warp override/script.js index 11759b731c..fc1cf86ac9 100644 --- a/Engines/Wine/Settings/mouse warp override/script.js +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\DirectInput\\MouseWarpOverride"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\DirectInput]\n" + "\"MouseWarpOverride\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/multisampling/script.js b/Engines/Wine/Settings/multisampling/script.js index 4ebab3298b..14aea67461 100644 --- a/Engines/Wine/Settings/multisampling/script.js +++ b/Engines/Wine/Settings/multisampling/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\Multisampling"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"Multisampling\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.js b/Engines/Wine/Settings/offscreen rendering mode/script.js index 691900b960..e98a3dadbf 100644 --- a/Engines/Wine/Settings/offscreen rendering mode/script.js +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\OffscreenRenderingMode"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"OffscreenRenderingMode\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/render target lock mode/script.js b/Engines/Wine/Settings/render target lock mode/script.js index ba04901d84..b07904210b 100644 --- a/Engines/Wine/Settings/render target lock mode/script.js +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\RenderTargetModeLock"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"RenderTargetModeLock\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/strict draw ordering/script.js b/Engines/Wine/Settings/strict draw ordering/script.js index aeff38c10b..8524e197d9 100644 --- a/Engines/Wine/Settings/strict draw ordering/script.js +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -24,15 +24,23 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\StrictDrawOrdering"); + } + else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"StrictDrawOrdering\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; diff --git a/Engines/Wine/Settings/video memory size/script.js b/Engines/Wine/Settings/video memory size/script.js index fbc84c725b..d85118b060 100644 --- a/Engines/Wine/Settings/video memory size/script.js +++ b/Engines/Wine/Settings/video memory size/script.js @@ -24,15 +24,22 @@ var settingImplementation = { return this._options[index]; }, setOption: function (container, optionIndex) { - var regeditFileContent = + if (0 == optionIndex) { + new Wine() + .prefix(container) + .regedit() + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\VideoMemorySize"); + } else { + var regeditFileContent = "REGEDIT4\n" + "\n" + "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]\n" + "\"VideoMemorySize\"=\"" + this._registryValues[optionIndex] + "\"\n"; - new Wine() - .prefix(container) - .regedit() - .patch(regeditFileContent); + new Wine() + .prefix(container) + .regedit() + .patch(regeditFileContent); + } } }; From b6c1ccf15786b6a39b1b517bcdcb8d2c25a6c76d Mon Sep 17 00:00:00 2001 From: Plata Date: Mon, 7 May 2018 11:33:32 +0200 Subject: [PATCH 8/8] Fix delete registry value --- Engines/Wine/Settings/DirectDraw renderer/script.js | 2 +- Engines/Wine/Settings/GLSL/script.js | 2 +- Engines/Wine/Settings/always offscreen/script.js | 2 +- Engines/Wine/Settings/mouse warp override/script.js | 2 +- Engines/Wine/Settings/multisampling/script.js | 2 +- Engines/Wine/Settings/offscreen rendering mode/script.js | 2 +- Engines/Wine/Settings/render target lock mode/script.js | 2 +- Engines/Wine/Settings/strict draw ordering/script.js | 2 +- Engines/Wine/Settings/video memory size/script.js | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js index b0b3d55d2f..0bc0c0d038 100644 --- a/Engines/Wine/Settings/DirectDraw renderer/script.js +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\DirectDrawRenderer"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "DirectDrawRenderer"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js index 83cc1faab0..cf233c275f 100644 --- a/Engines/Wine/Settings/GLSL/script.js +++ b/Engines/Wine/Settings/GLSL/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\UseGLSL"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "UseGLSL"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js index 82a2a347e4..07e9822bd6 100644 --- a/Engines/Wine/Settings/always offscreen/script.js +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\AlwaysOffscreen"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "AlwaysOffscreen"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/mouse warp override/script.js b/Engines/Wine/Settings/mouse warp override/script.js index fc1cf86ac9..1e4cbcba5d 100644 --- a/Engines/Wine/Settings/mouse warp override/script.js +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\DirectInput\\MouseWarpOverride"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\DirectInput", "MouseWarpOverride"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/multisampling/script.js b/Engines/Wine/Settings/multisampling/script.js index 14aea67461..4259f0cafa 100644 --- a/Engines/Wine/Settings/multisampling/script.js +++ b/Engines/Wine/Settings/multisampling/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\Multisampling"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "Multisampling"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/offscreen rendering mode/script.js b/Engines/Wine/Settings/offscreen rendering mode/script.js index e98a3dadbf..7a886946bf 100644 --- a/Engines/Wine/Settings/offscreen rendering mode/script.js +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\OffscreenRenderingMode"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "OffscreenRenderingMode"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/render target lock mode/script.js b/Engines/Wine/Settings/render target lock mode/script.js index b07904210b..0878cffbc9 100644 --- a/Engines/Wine/Settings/render target lock mode/script.js +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\RenderTargetModeLock"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "RenderTargetModeLock"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/strict draw ordering/script.js b/Engines/Wine/Settings/strict draw ordering/script.js index 8524e197d9..b291ccd060 100644 --- a/Engines/Wine/Settings/strict draw ordering/script.js +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\StrictDrawOrdering"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "StrictDrawOrdering"); } else { var regeditFileContent = diff --git a/Engines/Wine/Settings/video memory size/script.js b/Engines/Wine/Settings/video memory size/script.js index d85118b060..b0dd575d60 100644 --- a/Engines/Wine/Settings/video memory size/script.js +++ b/Engines/Wine/Settings/video memory size/script.js @@ -28,7 +28,7 @@ var settingImplementation = { new Wine() .prefix(container) .regedit() - .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D\\VideoMemorySize"); + .deleteValue("HKEY_CURRENT_USER\\Software\\Wine\\Direct3D", "VideoMemorySize"); } else { var regeditFileContent = "REGEDIT4\n" +