diff --git a/src/GLideNUI/ConfigDialog.cpp b/src/GLideNUI/ConfigDialog.cpp index a99fa44d..db098388 100644 --- a/src/GLideNUI/ConfigDialog.cpp +++ b/src/GLideNUI/ConfigDialog.cpp @@ -245,6 +245,7 @@ void ConfigDialog::_init(bool reInit, bool blockCustomSettings) } ui->halosRemovalCheckBox->setChecked(config.texture.enableHalosRemoval != 0); + ui->texCoordBoundsCheckBox->setChecked(config.graphics2D.enableTexCoordBounds != 0); ui->nativeRes2DComboBox->setCurrentIndex(config.graphics2D.enableNativeResTexrects); @@ -577,6 +578,7 @@ void ConfigDialog::accept(bool justSave) { config.graphics2D.bgMode = Config::BGMode::bgStripped; config.texture.enableHalosRemoval = ui->halosRemovalCheckBox->isChecked() ? 1 : 0; + config.graphics2D.enableTexCoordBounds = ui->texCoordBoundsCheckBox->isChecked() ? 1 : 0; config.graphics2D.enableNativeResTexrects = ui->nativeRes2DComboBox->currentIndex(); config.frameBufferEmulation.enable = ui->frameBufferCheckBox->isChecked() ? 1 : 0; diff --git a/src/GLideNUI/Settings.cpp b/src/GLideNUI/Settings.cpp index ef828a07..e2764193 100644 --- a/src/GLideNUI/Settings.cpp +++ b/src/GLideNUI/Settings.cpp @@ -59,6 +59,7 @@ void _loadSettings(QSettings & settings) config.graphics2D.correctTexrectCoords = settings.value("correctTexrectCoords", config.graphics2D.correctTexrectCoords).toInt(); config.graphics2D.enableNativeResTexrects = settings.value("enableNativeResTexrects", config.graphics2D.enableNativeResTexrects).toInt(); config.graphics2D.bgMode = settings.value("bgMode", config.graphics2D.bgMode).toInt(); + config.graphics2D.enableTexCoordBounds = settings.value("enableTexCoordBounds", config.graphics2D.enableTexCoordBounds).toInt(); settings.endGroup(); settings.beginGroup("frameBufferEmulation"); @@ -244,6 +245,7 @@ void writeSettings(const QString & _strIniFolder) settings.setValue("correctTexrectCoords", config.graphics2D.correctTexrectCoords); settings.setValue("enableNativeResTexrects", config.graphics2D.enableNativeResTexrects); settings.setValue("bgMode", config.graphics2D.bgMode); + settings.setValue("enableTexCoordBounds", config.graphics2D.enableTexCoordBounds); settings.endGroup(); settings.beginGroup("frameBufferEmulation"); @@ -443,6 +445,7 @@ void saveCustomRomSettings(const QString & _strIniFolder, const char * _strRomNa WriteCustomSetting(graphics2D, correctTexrectCoords); WriteCustomSetting(graphics2D, enableNativeResTexrects); WriteCustomSetting(graphics2D, bgMode); + WriteCustomSetting(graphics2D, enableTexCoordBounds); settings.endGroup(); settings.beginGroup("frameBufferEmulation"); diff --git a/src/GLideNUI/configDialog.ui b/src/GLideNUI/configDialog.ui index 5a051b0f..29346463 100644 --- a/src/GLideNUI/configDialog.ui +++ b/src/GLideNUI/configDialog.ui @@ -1536,11 +1536,25 @@ - - - Try to remove colored halos around transparent objects - - + + + + + Remove colored halos around transparent objects + + + + + + + <html><head/><body><p>Bound texture rectangle texture coordinates to the values they take in native resolutions. It prevents garbage due to fetching out of texture bounds, but can result in hard edges.</p></body></html> + + + Enable native-res bounds for texture coordinates + + + +