diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml index 1a86497..655385a 100644 --- a/app/qml/ApplicationSettings.qml +++ b/app/qml/ApplicationSettings.qml @@ -86,7 +86,7 @@ QtObject { property real horizontalSync: 0.08 property real flickering: 0.1 - property real rbgShift: 0.0 + property real rgbShift: 0.0 property real _frameShininess: 0.2 property real frameShininess: _frameShininess * 0.5 @@ -188,7 +188,7 @@ QtObject { "bloom": bloom, "rasterization": rasterization, "jitter": jitter, - "rbgShift": rbgShift, + "rgbShift": rgbShift, "brightness": brightness, "contrast": contrast, "ambientLight": ambientLight, @@ -289,7 +289,7 @@ QtObject { jitter = settings.jitter !== undefined ? settings.jitter : jitter - rbgShift = settings.rbgShift !== undefined ? settings.rbgShift : rbgShift + rgbShift = settings.rgbShift !== undefined ? settings.rgbShift : rgbShift ambientLight = settings.ambientLight !== undefined ? settings.ambientLight : ambientLight contrast = settings.contrast !== undefined ? settings.contrast : contrast @@ -384,9 +384,9 @@ QtObject { "horizontalSync": 0.1, "jitter": 0.2, "rasterization": 0, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0.2, - "screenCurvature": 0.4, + "screenCurvature": 0.2, "screenRadius": 0.1, "staticNoise": 0.1, "windowOpacity": 1, @@ -410,7 +410,7 @@ QtObject { "contrast": 0.8, "flickering": 0.1, "fontColor": "#0ccc68", - "fontName": "EXCELSIOR_SCALED", + "fontName": "DEPARTURE_MONO_SCALED", "fontSource": 0, "fontWidth": 1, "lineSpacing": 0.1, @@ -418,9 +418,9 @@ QtObject { "horizontalSync": 0.1, "jitter": 0.2, "rasterization": 0, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0.0, - "screenCurvature": 0.7, + "screenCurvature": 0.3, "screenRadius": 0.2, "staticNoise": 0.1, "windowOpacity": 1, @@ -444,7 +444,7 @@ QtObject { "contrast": 0.8, "flickering": 0.1, "fontColor": "#7fb4ff", - "fontName": "COZETTE_SCALED", + "fontName": "BIGBLUE_TERMINAL_SCALED", "fontSource": 0, "fontWidth": 1, "lineSpacing": 0.1, @@ -452,9 +452,9 @@ QtObject { "horizontalSync": 0.1, "jitter": 0.2, "rasterization": 0, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0.2, - "screenCurvature": 1.0, + "screenCurvature": 0.4, "screenRadius": 0.1, "staticNoise": 0.1, "windowOpacity": 1, @@ -486,7 +486,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.0, "rasterization": 1, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0, "screenCurvature": 0.5, "screenRadius": 0.1, @@ -495,7 +495,7 @@ QtObject { "margin": 0.3, "blinkingCursor": false, "frameSize": 0.5, - "frameColor": "#444444", + "frameColor": "#999999", "frameShininess": 0.0 }' builtin: true @@ -520,15 +520,15 @@ QtObject { "horizontalSync": 0.2, "jitter": 0.15, "rasterization": 1, - "rbgShift": 0.1, + "rgbShift": 0.0, "saturationColor": 0, - "screenCurvature": 1.0, + "screenCurvature": 0.7, "screenRadius": 0.3, "staticNoise": 0.2, "windowOpacity": 1, "margin": 0.2, "blinkingCursor": false, - "frameSize": 0.8, + "frameSize": 0.5, "frameColor": "#000000", "frameShininess": 0.6 }' @@ -554,15 +554,15 @@ QtObject { "horizontalSync": 0.2, "jitter": 0.2, "rasterization": 1, - "rbgShift": 0.1, + "rgbShift": 0.0, "saturationColor": 0, - "screenCurvature": 1.0, + "screenCurvature": 0.5, "screenRadius": 0.3, "staticNoise": 0.2, "windowOpacity": 1, "margin": 0.0, "blinkingCursor": false, - "frameSize": 0.5, + "frameSize": 0.2, "frameColor": "#ffffff", "frameShininess": 0.8 }' @@ -588,9 +588,9 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.0, "rasterization": 1, - "rbgShift": 0.0, + "rgbShift": 0.0, "saturationColor": 0, - "screenCurvature": 0.3, + "screenCurvature": 0.4, "screenRadius": 0.2, "staticNoise": 0.1, "windowOpacity": 1, @@ -622,7 +622,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.0, "rasterization": 1, - "rbgShift": 0.15, + "rgbShift": 0.1, "saturationColor": 0, "screenCurvature": 0.3, "screenRadius": 0.1, @@ -637,13 +637,13 @@ QtObject { builtin: true } ListElement { - text: "IBM 3278" + text: "IBM 3278 Reborn" obj_string: '{ "ambientLight": 0.2, "backgroundColor": "#000000", "bloom": 0.2, "brightness": 0.5, - "burnIn": 0.7, + "burnIn": 0.5, "chromaColor": 0, "contrast": 0.8, "flickering": 0, @@ -656,7 +656,7 @@ QtObject { "horizontalSync": 0, "jitter": 0, "rasterization": 4, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0, "screenCurvature": 0, "screenRadius": 0.0, @@ -690,7 +690,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.1, "rasterization": 4, - "rbgShift": 0.0, + "rgbShift": 0.0, "saturationColor": 0.6, "screenCurvature": 0, "screenRadius": 0.0, @@ -724,7 +724,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.0, "rasterization": 4, - "rbgShift": 0.1, + "rgbShift": 0.0, "saturationColor": 0.0, "screenCurvature": 0, "screenRadius": 0.0, @@ -758,7 +758,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.1, "rasterization": 4, - "rbgShift": 0.1, + "rgbShift": 0.1, "saturationColor": 0.8, "screenCurvature": 0, "screenRadius": 0.0, @@ -792,7 +792,7 @@ QtObject { "horizontalSync": 0, "jitter": 0.0, "rasterization": 4, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0.0, "screenCurvature": 0, "screenRadius": 0.0, @@ -826,7 +826,7 @@ QtObject { "horizontalSync": 0.0, "jitter": 0.0, "rasterization": 4, - "rbgShift": 0, + "rgbShift": 0, "saturationColor": 0, "screenCurvature": 0, "screenRadius": 0.0, diff --git a/app/qml/SettingsEffectsTab.qml b/app/qml/SettingsEffectsTab.qml index 133eaec..2186aee 100644 --- a/app/qml/SettingsEffectsTab.qml +++ b/app/qml/SettingsEffectsTab.qml @@ -83,8 +83,8 @@ ColumnLayout { } CheckableSlider { name: qsTr("RGB Shift") - onNewValue: function(newValue) { appSettings.rbgShift = newValue } - value: appSettings.rbgShift + onNewValue: function(newValue) { appSettings.rgbShift = newValue } + value: appSettings.rgbShift } CheckableSlider { name: qsTr("Frame Shininess") diff --git a/app/qml/ShaderTerminal.qml b/app/qml/ShaderTerminal.qml index 4d791f1..45deac8 100644 --- a/app/qml/ShaderTerminal.qml +++ b/app/qml/ShaderTerminal.qml @@ -36,7 +36,7 @@ Item { } function staticFragmentPath() { - var rgbShiftOn = appSettings.rbgShift > 0 ? 1 : 0; + var rgbShiftOn = appSettings.rgbShift > 0 ? 1 : 0; var bloomOn = appSettings.bloom > 0 ? 1 : 0; var curvatureOn = (appSettings.screenCurvature > 0 || appSettings.frameSize > 0) ? 1 : 0; var shineOn = appSettings.frameShininess > 0 ? 1 : 0; @@ -176,7 +176,7 @@ Item { property real chromaColor: appSettings.chromaColor; - property real rbgShift: (appSettings.rbgShift / width) * appSettings.totalFontScaling + property real rgbShift: appSettings.rgbShift * (4.0 / width) * appSettings.totalFontScaling property real screen_brightness: Utils.lint(0.5, 1.5, appSettings.brightness) property real frameShininess: appSettings.frameShininess diff --git a/app/qml/TerminalWindow.qml b/app/qml/TerminalWindow.qml index 232c4aa..462aab4 100644 --- a/app/qml/TerminalWindow.qml +++ b/app/qml/TerminalWindow.qml @@ -50,12 +50,6 @@ ApplicationWindow { sourceComponent: WindowMenu { } } - Loader { - id: globalMenuLoader - active: appSettings.isMacOS - sourceComponent: OSXMenu { } - } - property real normalizedWindowScale: 1024 / ((0.5 * width + 0.5 * height)) color: "#00000000" diff --git a/app/qml/main.qml b/app/qml/main.qml index a0e7eaa..c82f8f1 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -19,6 +19,8 @@ *******************************************************************************/ import QtQuick 2.2 +import "menus" + QtObject { id: appRoot @@ -34,7 +36,7 @@ QtObject { visible: false } - property AboutDialog aboutWindow: AboutDialog { + property AboutDialog aboutDialog: AboutDialog { visible: false } @@ -44,6 +46,11 @@ QtObject { property ListModel windowsModel: ListModel { } + property Loader globalMenuLoader: Loader { + active: appSettings.isMacOS + sourceComponent: OSXMenu { } + } + function createWindow() { var window = windowComponent.createObject(null) if (!window) @@ -65,8 +72,6 @@ QtObject { window.destroy() if (windowsModel.count === 0) { - settingsWindow.close() - aboutWindow.close() appSettings.close() } } diff --git a/app/shaders/passthrough.vert b/app/shaders/passthrough.vert index 7619161..5ad4dea 100644 --- a/app/shaders/passthrough.vert +++ b/app/shaders/passthrough.vert @@ -29,7 +29,7 @@ layout(std140, binding = 0) uniform ubuf { vec2 scaleNoiseSize; float screen_brightness; float bloom; - float rbgShift; + float rgbShift; float frameShadowCoeff; float frameShininess; vec4 frameColor; diff --git a/app/shaders/terminal_static.frag b/app/shaders/terminal_static.frag index 4d43cfa..7be4542 100644 --- a/app/shaders/terminal_static.frag +++ b/app/shaders/terminal_static.frag @@ -20,7 +20,7 @@ layout(std140, binding = 0) uniform ubuf { mat4 qt_Matrix; float qt_Opacity; float screenCurvature; - float rbgShift; + float rgbShift; float frameShininess; float frameSize; float screen_brightness; @@ -59,7 +59,7 @@ void main() { vec3 txt_color = texture(source, txt_coords).rgb; #if CRT_RGB_SHIFT == 1 - vec2 displacement = vec2(12.0, 0.0) * rbgShift; + vec2 displacement = vec2(rgbShift, 0.0); vec3 rightColor = texture(source, txt_coords + displacement).rgb; vec3 leftColor = texture(source, txt_coords - displacement).rgb; txt_color.r = leftColor.r * 0.10 + rightColor.r * 0.30 + txt_color.r * 0.60; diff --git a/app/shaders/terminal_static.vert b/app/shaders/terminal_static.vert index 860d279..a27981c 100644 --- a/app/shaders/terminal_static.vert +++ b/app/shaders/terminal_static.vert @@ -7,7 +7,7 @@ layout(std140, binding = 0) uniform ubuf { mat4 qt_Matrix; float qt_Opacity; float screenCurvature; - float rbgShift; + float rgbShift; float frameShininess; float frameSize; float screen_brightness; diff --git a/app/shaders/terminal_static.vert.qsb b/app/shaders/terminal_static.vert.qsb index a1a067c..bc601fa 100644 Binary files a/app/shaders/terminal_static.vert.qsb and b/app/shaders/terminal_static.vert.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom0_curve0_shine0.frag.qsb b/app/shaders/terminal_static_rgb0_bloom0_curve0_shine0.frag.qsb index 90a25b8..bf740ea 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom0_curve0_shine0.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom0_curve0_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom0_curve0_shine1.frag.qsb b/app/shaders/terminal_static_rgb0_bloom0_curve0_shine1.frag.qsb index a221eee..1f5a0b6 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom0_curve0_shine1.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom0_curve0_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom0_curve1_shine0.frag.qsb b/app/shaders/terminal_static_rgb0_bloom0_curve1_shine0.frag.qsb index f5a07c8..6dc84ca 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom0_curve1_shine0.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom0_curve1_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom0_curve1_shine1.frag.qsb b/app/shaders/terminal_static_rgb0_bloom0_curve1_shine1.frag.qsb index fcffe19..4c7884c 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom0_curve1_shine1.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom0_curve1_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom1_curve0_shine0.frag.qsb b/app/shaders/terminal_static_rgb0_bloom1_curve0_shine0.frag.qsb index 21bb2ca..ee5f9e8 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom1_curve0_shine0.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom1_curve0_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom1_curve0_shine1.frag.qsb b/app/shaders/terminal_static_rgb0_bloom1_curve0_shine1.frag.qsb index 2e22ebb..a4187c2 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom1_curve0_shine1.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom1_curve0_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom1_curve1_shine0.frag.qsb b/app/shaders/terminal_static_rgb0_bloom1_curve1_shine0.frag.qsb index cde000e..9d275ba 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom1_curve1_shine0.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom1_curve1_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb0_bloom1_curve1_shine1.frag.qsb b/app/shaders/terminal_static_rgb0_bloom1_curve1_shine1.frag.qsb index 2c5fef6..e56309f 100644 Binary files a/app/shaders/terminal_static_rgb0_bloom1_curve1_shine1.frag.qsb and b/app/shaders/terminal_static_rgb0_bloom1_curve1_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom0_curve0_shine0.frag.qsb b/app/shaders/terminal_static_rgb1_bloom0_curve0_shine0.frag.qsb index b2c4820..f2f75ed 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom0_curve0_shine0.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom0_curve0_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom0_curve0_shine1.frag.qsb b/app/shaders/terminal_static_rgb1_bloom0_curve0_shine1.frag.qsb index 9e55bad..8bfd16d 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom0_curve0_shine1.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom0_curve0_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom0_curve1_shine0.frag.qsb b/app/shaders/terminal_static_rgb1_bloom0_curve1_shine0.frag.qsb index 423ce7e..c38bf2c 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom0_curve1_shine0.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom0_curve1_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom0_curve1_shine1.frag.qsb b/app/shaders/terminal_static_rgb1_bloom0_curve1_shine1.frag.qsb index 1f1ec26..4226723 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom0_curve1_shine1.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom0_curve1_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom1_curve0_shine0.frag.qsb b/app/shaders/terminal_static_rgb1_bloom1_curve0_shine0.frag.qsb index a7f1811..473964a 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom1_curve0_shine0.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom1_curve0_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom1_curve0_shine1.frag.qsb b/app/shaders/terminal_static_rgb1_bloom1_curve0_shine1.frag.qsb index ca1ce39..d65b9cb 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom1_curve0_shine1.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom1_curve0_shine1.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom1_curve1_shine0.frag.qsb b/app/shaders/terminal_static_rgb1_bloom1_curve1_shine0.frag.qsb index 836fbc4..7379ef8 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom1_curve1_shine0.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom1_curve1_shine0.frag.qsb differ diff --git a/app/shaders/terminal_static_rgb1_bloom1_curve1_shine1.frag.qsb b/app/shaders/terminal_static_rgb1_bloom1_curve1_shine1.frag.qsb index bf63aa3..950e7ec 100644 Binary files a/app/shaders/terminal_static_rgb1_bloom1_curve1_shine1.frag.qsb and b/app/shaders/terminal_static_rgb1_bloom1_curve1_shine1.frag.qsb differ diff --git a/qmltermwidget b/qmltermwidget index 0b08d7f..049b1de 160000 --- a/qmltermwidget +++ b/qmltermwidget @@ -1 +1 @@ -Subproject commit 0b08d7f30671d33a382bb59ce09ee363aa573904 +Subproject commit 049b1dee787d9669e05d4e18e8727b8582c2cd65