diff --git a/Engines/Wine/Settings/DirectDraw renderer/script.js b/Engines/Wine/Settings/DirectDraw renderer/script.js new file mode 100644 index 0000000000..0bc0c0d038 --- /dev/null +++ b/Engines/Wine/Settings/DirectDraw renderer/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..68c9074fd9 --- /dev/null +++ b/Engines/Wine/Settings/DirectDraw renderer/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "DirectDraw renderer", + "id" : "directdraw_renderer", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Settings/GLSL/script.js b/Engines/Wine/Settings/GLSL/script.js new file mode 100644 index 0000000000..cf233c275f --- /dev/null +++ b/Engines/Wine/Settings/GLSL/script.js @@ -0,0 +1,48 @@ +include(["engines", "wine", "engine", "object"]); +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 () { + return this._options; + }, + getCurrentOption: function (container) { + var currentValue = new Wine() + .prefix(container) + .regedit() + .fetchValue(["HKEY_CURRENT_USER", "Software", "Wine", "Direct3D", "UseGLSL"]); + // 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) { + 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); + } + } +}; + +/* 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/always offscreen/script.js b/Engines/Wine/Settings/always offscreen/script.js new file mode 100644 index 0000000000..07e9822bd6 --- /dev/null +++ b/Engines/Wine/Settings/always offscreen/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..a0684c8c25 --- /dev/null +++ b/Engines/Wine/Settings/always offscreen/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "always offscreen", + "id" : "always_offscreen", + "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." +} 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..1e4cbcba5d --- /dev/null +++ b/Engines/Wine/Settings/mouse warp override/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..7283ef967b --- /dev/null +++ b/Engines/Wine/Settings/mouse warp override/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "mouse warp override", + "id" : "mouse_warp_override", + "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..4259f0cafa --- /dev/null +++ b/Engines/Wine/Settings/multisampling/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..a4df2ca2e2 --- /dev/null +++ b/Engines/Wine/Settings/multisampling/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "multisampling", + "id" : "multisampling", + "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..7a886946bf --- /dev/null +++ b/Engines/Wine/Settings/offscreen rendering mode/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..520e38b9bf --- /dev/null +++ b/Engines/Wine/Settings/offscreen rendering mode/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "offscreen rendering mode", + "id" : "offscreen_rendering_mode", + "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..0878cffbc9 --- /dev/null +++ b/Engines/Wine/Settings/render target lock mode/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..676c0333f5 --- /dev/null +++ b/Engines/Wine/Settings/render target lock mode/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "render target lock mode", + "id" : "render_target_lock_mode", + "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..b291ccd060 --- /dev/null +++ b/Engines/Wine/Settings/strict draw ordering/script.js @@ -0,0 +1,48 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..f24791ea71 --- /dev/null +++ b/Engines/Wine/Settings/strict draw ordering/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "strict draw ordering", + "id" : "strict_draw_ordering", + "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..b0dd575d60 --- /dev/null +++ b/Engines/Wine/Settings/video memory size/script.js @@ -0,0 +1,47 @@ +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 (use default if not found) + var index = Math.max(this._registryValues.indexOf(currentValue), 0); + return this._options[index]; + }, + setOption: function (container, optionIndex) { + 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); + } + } +}; + +/* 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..02aba8bdc5 --- /dev/null +++ b/Engines/Wine/Settings/video memory size/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "video memory size", + "id" : "video_memory_size", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +}