|
@ -116,6 +116,5 @@ void Config::resetToDefaults()
|
|||
onScreenDisplay.vis = 0;
|
||||
onScreenDisplay.fps = 0;
|
||||
onScreenDisplay.percent = 0;
|
||||
onScreenDisplay.verticalPos = posBottom;
|
||||
onScreenDisplay.horisontalPos = posLeft;
|
||||
onScreenDisplay.pos = posBottomLeft;
|
||||
}
|
||||
|
|
22
src/Config.h
|
@ -4,7 +4,7 @@
|
|||
#include <string>
|
||||
#include "Types.h"
|
||||
|
||||
#define CONFIG_VERSION_CURRENT 15U
|
||||
#define CONFIG_VERSION_CURRENT 16U
|
||||
|
||||
#define BILINEAR_3POINT 0
|
||||
#define BILINEAR_STANDARD 1
|
||||
|
@ -155,22 +155,22 @@ struct Config
|
|||
f32 level;
|
||||
} gammaCorrection;
|
||||
|
||||
enum HorisontalPosition {
|
||||
posLeft,
|
||||
posRight
|
||||
};
|
||||
|
||||
enum VerticalPosition {
|
||||
posBottom,
|
||||
posTop
|
||||
enum CountersPosition {
|
||||
posTopLeft = 1,
|
||||
posTopCenter = 2,
|
||||
posTopRight = 4,
|
||||
posTop = posTopLeft | posTopCenter | posTopRight,
|
||||
posBottomLeft = 8,
|
||||
posBottomCenter = 16,
|
||||
posBottomRight = 32,
|
||||
posBottom = posBottomLeft | posBottomCenter | posBottomRight
|
||||
};
|
||||
|
||||
struct {
|
||||
u32 vis;
|
||||
u32 fps;
|
||||
u32 percent;
|
||||
u32 verticalPos;
|
||||
u32 horisontalPos;
|
||||
u32 pos;
|
||||
} onScreenDisplay;
|
||||
|
||||
void resetToDefaults();
|
||||
|
|
BIN
src/GLideNUI/BottomLeft.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/BottomRight.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
|
@ -132,40 +132,26 @@ void ConfigDialog::_init()
|
|||
ui->fixTexrectForceRadioButton->setChecked(true);
|
||||
break;
|
||||
}
|
||||
ui->nativeRes2D_checkBox->toggle();
|
||||
ui->nativeRes2D_checkBox->setChecked(config.generalEmulation.enableNativeResTexrects != 0);
|
||||
if (ui->nativeRes2D_checkBox->isChecked()) {
|
||||
ui->texrectsBlackLinesLabel->setEnabled(false);
|
||||
ui->fixTexrectDisableRadioButton->setEnabled(false);
|
||||
ui->fixTexrectSmartRadioButton->setEnabled(false);
|
||||
ui->fixTexrectForceRadioButton->setEnabled(false);
|
||||
}
|
||||
|
||||
ui->bufferSwapComboBox->setCurrentIndex(config.frameBufferEmulation.bufferSwapMode);
|
||||
ui->frameBufferGroupBox->setChecked(config.frameBufferEmulation.enable != 0);
|
||||
switch (config.frameBufferEmulation.copyToRDRAM) {
|
||||
case Config::ctDisable:
|
||||
ui->copyBufferDisableRadioButton->setChecked(true);
|
||||
break;
|
||||
case Config::ctSync:
|
||||
ui->copyBufferSyncRadioButton->setChecked(true);
|
||||
break;
|
||||
case Config::ctAsync:
|
||||
ui->copyBufferAsyncRadioButton->setChecked(true);
|
||||
break;
|
||||
}
|
||||
ui->frameBufferSwapComboBox->setCurrentIndex(config.frameBufferEmulation.bufferSwapMode);
|
||||
|
||||
ui->fbInfoEnableCheckBox->toggle();
|
||||
ui->fbInfoEnableCheckBox->setChecked(config.frameBufferEmulation.fbInfoDisabled == 0);
|
||||
|
||||
ui->frameBufferCheckBox->toggle();
|
||||
const bool fbEmulationEnabled = config.frameBufferEmulation.enable != 0;
|
||||
ui->frameBufferCheckBox->setChecked(fbEmulationEnabled);
|
||||
ui->frameBufferInfoFrame->setVisible(!fbEmulationEnabled);
|
||||
ui->frameBufferInfoFrame2->setVisible(!fbEmulationEnabled);
|
||||
ui->frameBufferInfoFrame3->setVisible(!fbEmulationEnabled);
|
||||
|
||||
ui->copyColorBufferComboBox->setCurrentIndex(config.frameBufferEmulation.copyToRDRAM);
|
||||
ui->copyDepthBufferComboBox->setCurrentIndex(config.frameBufferEmulation.copyDepthToRDRAM);
|
||||
ui->RenderFBCheckBox->setChecked(config.frameBufferEmulation.copyFromRDRAM != 0);
|
||||
switch (config.frameBufferEmulation.copyDepthToRDRAM) {
|
||||
case Config::cdDisable:
|
||||
ui->copyDepthDisableRadioButton->setChecked(true);
|
||||
break;
|
||||
case Config::cdCopyFromVRam:
|
||||
ui->copyDepthVRamRadioButton->setChecked(true);
|
||||
break;
|
||||
case Config::cdSoftwareRender:
|
||||
ui->copyDepthSoftwareRadioButton->setChecked(true);
|
||||
break;
|
||||
}
|
||||
ui->n64DepthCompareCheckBox->setChecked(config.frameBufferEmulation.N64DepthCompare != 0);
|
||||
|
||||
switch (config.frameBufferEmulation.aspect) {
|
||||
case Config::aStretch:
|
||||
ui->aspectStretchRadioButton->setChecked(true);
|
||||
|
@ -180,13 +166,30 @@ void ConfigDialog::_init()
|
|||
ui->aspectAdjustRadioButton->setChecked(true);
|
||||
break;
|
||||
}
|
||||
ui->resolutionFactorSlider->setValue(config.frameBufferEmulation.nativeResFactor);
|
||||
|
||||
ui->resolutionFactorSlider->valueChanged(2);
|
||||
ui->factor0xRadioButton->toggle();
|
||||
ui->factor1xRadioButton->toggle();
|
||||
ui->factorXxRadioButton->toggle();
|
||||
switch (config.frameBufferEmulation.nativeResFactor) {
|
||||
case 0:
|
||||
ui->factor0xRadioButton->setChecked(true);
|
||||
break;
|
||||
case 1:
|
||||
ui->factor1xRadioButton->setChecked(true);
|
||||
break;
|
||||
default:
|
||||
ui->factorXxRadioButton->setChecked(true);
|
||||
ui->resolutionFactorSlider->setValue(config.frameBufferEmulation.nativeResFactor);
|
||||
break;
|
||||
}
|
||||
|
||||
ui->copyAuxBuffersCheckBox->setChecked(config.frameBufferEmulation.copyAuxToRDRAM != 0);
|
||||
ui->fbInfoDisableCheckBox->setChecked(config.frameBufferEmulation.fbInfoDisabled != 0);
|
||||
|
||||
ui->readColorChunkCheckBox->setChecked(config.frameBufferEmulation.fbInfoReadColorChunk != 0);
|
||||
ui->readColorChunkCheckBox->setEnabled(config.frameBufferEmulation.fbInfoDisabled == 0);
|
||||
ui->readColorChunkCheckBox->setEnabled(fbEmulationEnabled && config.frameBufferEmulation.fbInfoDisabled == 0);
|
||||
ui->readDepthChunkCheckBox->setChecked(config.frameBufferEmulation.fbInfoReadDepthChunk != 0);
|
||||
ui->readDepthChunkCheckBox->setEnabled(config.frameBufferEmulation.fbInfoDisabled == 0);
|
||||
ui->readDepthChunkCheckBox->setEnabled(fbEmulationEnabled && config.frameBufferEmulation.fbInfoDisabled == 0);
|
||||
|
||||
// Texture filter settings
|
||||
QStringList textureFiltersList;
|
||||
|
@ -205,7 +208,8 @@ void ConfigDialog::_init()
|
|||
ui->deposterizeCheckBox->setChecked(config.textureFilter.txDeposterize != 0);
|
||||
ui->ignoreBackgroundsCheckBox->setChecked(config.textureFilter.txFilterIgnoreBG != 0);
|
||||
|
||||
ui->texturePackGroupBox->setChecked(config.textureFilter.txHiresEnable != 0);
|
||||
ui->texturePackOnCheckBox->toggle();
|
||||
ui->texturePackOnCheckBox->setChecked(config.textureFilter.txHiresEnable != 0);
|
||||
ui->alphaChannelCheckBox->setChecked(config.textureFilter.txHiresFullAlphaChannel != 0);
|
||||
ui->alternativeCRCCheckBox->setChecked(config.textureFilter.txHresAltCRC != 0);
|
||||
ui->textureDumpCheckBox->setChecked(config.textureFilter.txDump != 0);
|
||||
|
@ -232,9 +236,9 @@ void ConfigDialog::_init()
|
|||
ui->blurAmountSlider->setValue(config.bloomFilter.blurAmount);
|
||||
ui->blurStrengthSlider->setValue(config.bloomFilter.blurStrength);
|
||||
|
||||
ui->forceGammaCorrectionCheckBox->setChecked(config.gammaCorrection.force != 0);
|
||||
ui->gammaCorrectionGroupBox->setChecked(config.gammaCorrection.force != 0);
|
||||
ui->gammaLevelSpinBox->setValue(config.gammaCorrection.level);
|
||||
ui->gammaLevelSpinBox->setEnabled(ui->forceGammaCorrectionCheckBox->isChecked());
|
||||
ui->gammaLevelSpinBox->setEnabled(ui->gammaCorrectionGroupBox->isChecked());
|
||||
|
||||
// OSD settings
|
||||
QString fontName(config.font.name.c_str());
|
||||
|
@ -244,25 +248,38 @@ void ConfigDialog::_init()
|
|||
ui->fontNameLabel->setText(m_font.family() + " - " + strSize);
|
||||
|
||||
m_color = QColor(config.font.color[0], config.font.color[1], config.font.color[2]);
|
||||
ui->fontColorLabel->setFont(m_font);
|
||||
ui->fontColorLabel->setText(m_color.name());
|
||||
ui->fontPreviewLabel->setFont(m_font);
|
||||
ui->fontColorLabel->setText(m_color.name());
|
||||
QPalette palette;
|
||||
palette.setColor(QPalette::Window, Qt::black);
|
||||
palette.setColor(QPalette::WindowText, m_color);
|
||||
ui->fontColorLabel->setAutoFillBackground(true);
|
||||
ui->fontColorLabel->setPalette(palette);
|
||||
ui->fontPreviewLabel->setAutoFillBackground(true);
|
||||
ui->fontPreviewLabel->setPalette(palette);
|
||||
|
||||
switch (config.onScreenDisplay.pos) {
|
||||
case Config::posTopLeft:
|
||||
ui->topLeftPushButton->setChecked(true);
|
||||
break;
|
||||
case Config::posTopCenter:
|
||||
ui->topPushButton->setChecked(true);
|
||||
break;
|
||||
case Config::posTopRight:
|
||||
ui->topRightPushButton->setChecked(true);
|
||||
break;
|
||||
case Config::posBottomLeft:
|
||||
ui->bottomLeftPushButton->setChecked(true);
|
||||
break;
|
||||
case Config::posBottomCenter:
|
||||
ui->bottomPushButton->setChecked(true);
|
||||
break;
|
||||
case Config::posBottomRight:
|
||||
ui->bottomRightPushButton->setChecked(true);
|
||||
break;
|
||||
}
|
||||
|
||||
ui->fpsCheckBox->setChecked(config.onScreenDisplay.fps != 0);
|
||||
ui->visCheckBox->setChecked(config.onScreenDisplay.vis != 0);
|
||||
ui->percentCheckBox->setChecked(config.onScreenDisplay.percent != 0);
|
||||
if (config.onScreenDisplay.horisontalPos == Config::posLeft)
|
||||
ui->leftRadioButton->setChecked(true);
|
||||
else
|
||||
ui->rightRadioButton->setChecked(true);
|
||||
if (config.onScreenDisplay.verticalPos == Config::posTop)
|
||||
ui->topRadioButton->setChecked(true);
|
||||
else
|
||||
ui->bottoRadioButton->setChecked(true);
|
||||
}
|
||||
|
||||
void ConfigDialog::_getTranslations(QStringList & _translationFiles) const
|
||||
|
@ -357,30 +374,25 @@ void ConfigDialog::accept()
|
|||
config.generalEmulation.enableHWLighting = ui->enableHWLightingCheckBox->isChecked() ? 1 : 0;
|
||||
config.generalEmulation.enableShadersStorage = ui->enableShadersStorageCheckBox->isChecked() ? 1 : 0;
|
||||
config.generalEmulation.enableCustomSettings = ui->customSettingsCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
if (ui->fixTexrectDisableRadioButton->isChecked())
|
||||
config.generalEmulation.correctTexrectCoords = Config::tcDisable;
|
||||
else if (ui->fixTexrectSmartRadioButton->isChecked())
|
||||
config.generalEmulation.correctTexrectCoords = Config::tcSmart;
|
||||
else if (ui->fixTexrectForceRadioButton->isChecked())
|
||||
config.generalEmulation.correctTexrectCoords = Config::tcForce;
|
||||
|
||||
config.generalEmulation.enableNativeResTexrects = ui->nativeRes2D_checkBox->isChecked() ? 1 : 0;
|
||||
|
||||
config.frameBufferEmulation.bufferSwapMode = ui->bufferSwapComboBox->currentIndex();
|
||||
config.frameBufferEmulation.enable = ui->frameBufferGroupBox->isChecked() ? 1 : 0;
|
||||
if (ui->copyBufferDisableRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyToRDRAM = Config::ctDisable;
|
||||
else if (ui->copyBufferSyncRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyToRDRAM = Config::ctSync;
|
||||
else if (ui->copyBufferAsyncRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyToRDRAM = Config::ctAsync;
|
||||
config.frameBufferEmulation.enable = ui->frameBufferCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
config.frameBufferEmulation.bufferSwapMode = ui->frameBufferSwapComboBox->currentIndex();
|
||||
config.frameBufferEmulation.copyToRDRAM = ui->copyColorBufferComboBox->currentIndex();
|
||||
config.frameBufferEmulation.copyDepthToRDRAM = ui->copyDepthBufferComboBox->currentIndex();
|
||||
config.frameBufferEmulation.copyFromRDRAM = ui->RenderFBCheckBox->isChecked() ? 1 : 0;
|
||||
if (ui->copyDepthDisableRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyDepthToRDRAM = Config::cdDisable;
|
||||
else if (ui->copyDepthVRamRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyDepthToRDRAM = Config::cdCopyFromVRam;
|
||||
else if (ui->copyDepthSoftwareRadioButton->isChecked())
|
||||
config.frameBufferEmulation.copyDepthToRDRAM = Config::cdSoftwareRender;
|
||||
|
||||
config.frameBufferEmulation.N64DepthCompare = ui->n64DepthCompareCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
if (ui->aspectStretchRadioButton->isChecked())
|
||||
config.frameBufferEmulation.aspect = Config::aStretch;
|
||||
else if (ui->aspect43RadioButton->isChecked())
|
||||
|
@ -389,9 +401,16 @@ void ConfigDialog::accept()
|
|||
config.frameBufferEmulation.aspect = Config::a169;
|
||||
else if (ui->aspectAdjustRadioButton->isChecked())
|
||||
config.frameBufferEmulation.aspect = Config::aAdjust;
|
||||
config.frameBufferEmulation.nativeResFactor = ui->resolutionFactorSlider->value();
|
||||
|
||||
if (ui->factor0xRadioButton->isChecked())
|
||||
config.frameBufferEmulation.nativeResFactor = 0;
|
||||
else if (ui->factor1xRadioButton->isChecked())
|
||||
config.frameBufferEmulation.nativeResFactor = 1;
|
||||
else if (ui->factorXxRadioButton->isChecked())
|
||||
config.frameBufferEmulation.nativeResFactor = ui->resolutionFactorSlider->value();
|
||||
|
||||
config.frameBufferEmulation.copyAuxToRDRAM = ui->copyAuxBuffersCheckBox->isChecked() ? 1 : 0;
|
||||
config.frameBufferEmulation.fbInfoDisabled = ui->fbInfoDisableCheckBox->isChecked() ? 1: 0;
|
||||
config.frameBufferEmulation.fbInfoDisabled = ui->fbInfoEnableCheckBox->isChecked() ? 0 : 1;
|
||||
config.frameBufferEmulation.fbInfoReadColorChunk = ui->readColorChunkCheckBox->isChecked() ? 1 : 0;
|
||||
config.frameBufferEmulation.fbInfoReadDepthChunk = ui->readDepthChunkCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
|
@ -403,7 +422,7 @@ void ConfigDialog::accept()
|
|||
config.textureFilter.txDeposterize = ui->deposterizeCheckBox->isChecked() ? 1 : 0;
|
||||
config.textureFilter.txFilterIgnoreBG = ui->ignoreBackgroundsCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
config.textureFilter.txHiresEnable = ui->texturePackGroupBox->isChecked() ? 1 : 0;
|
||||
config.textureFilter.txHiresEnable = ui->texturePackOnCheckBox->isChecked() ? 1 : 0;
|
||||
config.textureFilter.txHiresFullAlphaChannel = ui->alphaChannelCheckBox->isChecked() ? 1 : 0;
|
||||
config.textureFilter.txHresAltCRC = ui->alternativeCRCCheckBox->isChecked() ? 1 : 0;
|
||||
config.textureFilter.txDump = ui->textureDumpCheckBox->isChecked() ? 1 : 0;
|
||||
|
@ -428,7 +447,7 @@ void ConfigDialog::accept()
|
|||
config.bloomFilter.blurAmount = ui->blurAmountSlider->value();
|
||||
config.bloomFilter.blurStrength = ui->blurStrengthSlider->value();
|
||||
|
||||
config.gammaCorrection.force = ui->forceGammaCorrectionCheckBox->isChecked() ? 1 : 0;
|
||||
config.gammaCorrection.force = ui->gammaCorrectionGroupBox->isChecked() ? 1 : 0;
|
||||
config.gammaCorrection.level = ui->gammaLevelSpinBox->value();
|
||||
|
||||
// OSD settings
|
||||
|
@ -448,11 +467,23 @@ void ConfigDialog::accept()
|
|||
config.font.colorf[2] = m_color.blueF();
|
||||
config.font.colorf[3] = m_color.alphaF();
|
||||
|
||||
|
||||
if (ui->topLeftPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posTopLeft;
|
||||
else if (ui->topPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posTopCenter;
|
||||
else if (ui->topRightPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posTopRight;
|
||||
else if (ui->bottomLeftPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posBottomLeft;
|
||||
else if (ui->bottomPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posBottomCenter;
|
||||
else if (ui->bottomRightPushButton->isChecked())
|
||||
config.onScreenDisplay.pos = Config::posBottomRight;
|
||||
|
||||
config.onScreenDisplay.fps = ui->fpsCheckBox->isChecked() ? 1 : 0;
|
||||
config.onScreenDisplay.vis = ui->visCheckBox->isChecked() ? 1 : 0;
|
||||
config.onScreenDisplay.percent = ui->percentCheckBox->isChecked() ? 1 : 0;
|
||||
config.onScreenDisplay.horisontalPos = ui->leftRadioButton->isChecked() ? Config::posLeft : Config::posRight;
|
||||
config.onScreenDisplay.verticalPos = ui->topRadioButton->isChecked() ? Config::posTop : Config::posBottom;
|
||||
|
||||
writeSettings(m_strIniPath);
|
||||
|
||||
|
@ -471,7 +502,7 @@ void ConfigDialog::on_selectFontButton_clicked()
|
|||
QString strSize;
|
||||
strSize.setNum(m_font.pointSize());
|
||||
ui->fontNameLabel->setText(m_font.family() + " - " + strSize);
|
||||
ui->fontColorLabel->setFont(m_font);
|
||||
ui->fontPreviewLabel->setFont(m_font);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_PickFontColorButton_clicked()
|
||||
|
@ -486,7 +517,7 @@ void ConfigDialog::on_PickFontColorButton_clicked()
|
|||
palette.setColor(QPalette::Window, Qt::black);
|
||||
palette.setColor(QPalette::WindowText, m_color);
|
||||
ui->fontColorLabel->setText(m_color.name());
|
||||
ui->fontColorLabel->setPalette(palette);
|
||||
ui->fontPreviewLabel->setPalette(palette);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_buttonBox_clicked(QAbstractButton *button)
|
||||
|
@ -525,32 +556,35 @@ void ConfigDialog::on_texPackPathButton_clicked()
|
|||
ui->txPathLabel->setText(directory);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_fbInfoDisableCheckBox_toggled(bool checked)
|
||||
{
|
||||
ui->readColorChunkCheckBox->setEnabled(!checked);
|
||||
ui->readDepthChunkCheckBox->setEnabled(!checked);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_windowedResolutionComboBox_currentIndexChanged(int index)
|
||||
{
|
||||
const bool bCustom = index == numWindowedModes - 1;
|
||||
ui->windowWidthLabel->setEnabled(bCustom);
|
||||
ui->windowWidthSpinBox->setValue(bCustom ? config.video.windowedWidth : WindowedModes[index].width);
|
||||
ui->windowWidthSpinBox->setEnabled(bCustom);
|
||||
ui->windowHeightLabel->setEnabled(bCustom);
|
||||
ui->windowHeightSpinBox->setValue(bCustom ? config.video.windowedHeight : WindowedModes[index].height);
|
||||
ui->windowHeightSpinBox->setEnabled(bCustom);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_nativeRes2D_checkBox_toggled(bool checked)
|
||||
{
|
||||
ui->texrectsBlackLinesLabel->setEnabled(!checked);
|
||||
ui->fixTexrectDisableRadioButton->setEnabled(!checked);
|
||||
ui->fixTexrectSmartRadioButton->setEnabled(!checked);
|
||||
ui->fixTexrectForceRadioButton->setEnabled(!checked);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_cropImageComboBox_currentIndexChanged(int index)
|
||||
{
|
||||
const bool bCustom = index == Config::cmCustom;
|
||||
ui->cropImageWidthLabel->setEnabled(bCustom);
|
||||
ui->cropImageWidthSpinBox->setEnabled(bCustom);
|
||||
ui->cropImageHeightLabel->setEnabled(bCustom);
|
||||
ui->cropImageHeightSpinBox->setEnabled(bCustom);
|
||||
}
|
||||
|
||||
void ConfigDialog::on_frameBufferCheckBox_toggled(bool checked)
|
||||
{
|
||||
|
||||
if (!checked) {
|
||||
ui->nativeRes2DFrame->setEnabled(true);
|
||||
} else {
|
||||
ui->nativeRes2DFrame->setEnabled(!ui->factor1xRadioButton->isChecked());
|
||||
}
|
||||
|
||||
ui->readColorChunkCheckBox->setEnabled(checked && ui->fbInfoEnableCheckBox->isChecked());
|
||||
ui->readDepthChunkCheckBox->setEnabled(checked && ui->fbInfoEnableCheckBox->isChecked());
|
||||
}
|
||||
|
|
|
@ -33,14 +33,12 @@ private slots:
|
|||
|
||||
void on_texPackPathButton_clicked();
|
||||
|
||||
void on_fbInfoDisableCheckBox_toggled(bool checked);
|
||||
|
||||
void on_windowedResolutionComboBox_currentIndexChanged(int index);
|
||||
|
||||
void on_nativeRes2D_checkBox_toggled(bool checked);
|
||||
|
||||
void on_cropImageComboBox_currentIndexChanged(int index);
|
||||
|
||||
void on_frameBufferCheckBox_toggled(bool checked);
|
||||
|
||||
private:
|
||||
void _init();
|
||||
void _getTranslations(QStringList & _translationFiles) const;
|
||||
|
|
BIN
src/GLideNUI/Down.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
|
@ -43,3 +43,5 @@ TRANSLATIONS = gliden64_fr.ts \
|
|||
gliden64_pl.ts \
|
||||
gliden64_pt_BR.ts \
|
||||
gliden64_ja.ts
|
||||
|
||||
DISTFILES +=
|
||||
|
|
BIN
src/GLideNUI/Icon-48.ico
Normal file
After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 47 KiB |
BIN
src/GLideNUI/Info.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/Left.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/Right.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
|
@ -113,8 +113,7 @@ void _loadSettings(QSettings & settings)
|
|||
config.onScreenDisplay.fps = settings.value("showFPS", config.onScreenDisplay.fps).toInt();
|
||||
config.onScreenDisplay.vis = settings.value("showVIS", config.onScreenDisplay.vis).toInt();
|
||||
config.onScreenDisplay.percent = settings.value("showPercent", config.onScreenDisplay.percent).toInt();
|
||||
config.onScreenDisplay.horisontalPos = settings.value("osdHorisontalPos", config.onScreenDisplay.horisontalPos).toInt();
|
||||
config.onScreenDisplay.verticalPos = settings.value("osdVerticalPos", config.onScreenDisplay.verticalPos).toInt();
|
||||
config.onScreenDisplay.pos = settings.value("osdPos", config.onScreenDisplay.pos).toInt();
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
|
@ -229,8 +228,7 @@ void writeSettings(const QString & _strIniFolder)
|
|||
settings.setValue("showFPS", config.onScreenDisplay.fps);
|
||||
settings.setValue("showVIS", config.onScreenDisplay.vis);
|
||||
settings.setValue("showPercent", config.onScreenDisplay.percent);
|
||||
settings.setValue("osdHorisontalPos", config.onScreenDisplay.horisontalPos);
|
||||
settings.setValue("osdVerticalPos", config.onScreenDisplay.verticalPos);
|
||||
settings.setValue("osdPos", config.onScreenDisplay.pos);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
|
|
BIN
src/GLideNUI/TopLeft.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/TopRight.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/Up.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/GLideNUI/Warning.ico
Normal file
After Width: | Height: | Size: 4.2 KiB |
|
@ -1,5 +1,16 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>Icon.ico</file>
|
||||
<file>Icon-48.ico</file>
|
||||
<file>Warning.ico</file>
|
||||
<file>Info.ico</file>
|
||||
<file>Up.ico</file>
|
||||
<file>Right.ico</file>
|
||||
<file>Down.ico</file>
|
||||
<file>Left.ico</file>
|
||||
<file>TopLeft.ico</file>
|
||||
<file>TopRight.ico</file>
|
||||
<file>BottomRight.ico</file>
|
||||
<file>BottomLeft.ico</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1973,12 +1973,22 @@ void OGLRender::_drawOSD(const char *_pText, float _x, float & _y)
|
|||
{
|
||||
float tW, tH;
|
||||
_getTextSize(_pText, tW, tH);
|
||||
if (config.onScreenDisplay.horisontalPos == config.posRight)
|
||||
|
||||
const bool top = (config.posTop & config.onScreenDisplay.pos) != 0;
|
||||
const bool right = (config.onScreenDisplay.pos == Config::posTopRight) || (config.onScreenDisplay.pos == Config::posBottomRight);
|
||||
const bool center = (config.onScreenDisplay.pos == Config::posTopCenter) || (config.onScreenDisplay.pos == Config::posBottomCenter);
|
||||
|
||||
if (center)
|
||||
_x = -tW * 0.5f;
|
||||
else if (right)
|
||||
_x -= tW;
|
||||
if (config.onScreenDisplay.verticalPos == config.posTop)
|
||||
|
||||
if (top)
|
||||
_y -= tH;
|
||||
|
||||
drawText(_pText, _x, _y);
|
||||
if (config.onScreenDisplay.verticalPos == config.posTop)
|
||||
|
||||
if (top)
|
||||
_y -= tH * 0.5f;
|
||||
else
|
||||
_y += tH * 1.5f;
|
||||
|
@ -2001,8 +2011,12 @@ void OGLRender::drawOSD()
|
|||
gSP.changed |= CHANGED_VIEWPORT;
|
||||
gDP.changed |= CHANGED_SCISSOR;
|
||||
|
||||
const float hp = config.onScreenDisplay.horisontalPos == config.posLeft ? -1 : 1;
|
||||
const float vp = config.onScreenDisplay.verticalPos == config.posBottom ? -1 : 1;
|
||||
|
||||
const bool bottom = (config.posBottom & config.onScreenDisplay.pos) != 0;
|
||||
const bool left = (config.onScreenDisplay.pos == Config::posTopLeft) || (config.onScreenDisplay.pos == Config::posBottomLeft);
|
||||
|
||||
const float hp = left ? -1 : 1;
|
||||
const float vp = bottom ? -1 : 1;
|
||||
|
||||
float hShift, vShift;
|
||||
_getTextSize("0", hShift, vShift);
|
||||
|
|
|
@ -181,9 +181,8 @@ bool Config_SetDefault()
|
|||
assert(res == M64ERR_SUCCESS);
|
||||
res = ConfigSetDefaultBool(g_configVideoGliden64, "ShowPercent", config.onScreenDisplay.percent, "Show percent counter.");
|
||||
assert(res == M64ERR_SUCCESS);
|
||||
res = ConfigSetDefaultInt(g_configVideoGliden64, "CountersHPos", config.onScreenDisplay.horisontalPos, "Counters horisontal position (0=left, 1=right)");
|
||||
assert(res == M64ERR_SUCCESS);
|
||||
res = ConfigSetDefaultInt(g_configVideoGliden64, "CountersVPos", config.onScreenDisplay.verticalPos, "Counters vertical position (0=bottom, 1=top)");
|
||||
res = ConfigSetDefaultInt(g_configVideoGliden64, "CountersPos", config.onScreenDisplay.pos,
|
||||
"Counters position (1=top left, 2=top center, 4=top right, 8=bottom left, 16=bottom center, 32=bottom right)");
|
||||
assert(res == M64ERR_SUCCESS);
|
||||
|
||||
return ConfigSaveSection("Video-GLideN64") == M64ERR_SUCCESS;
|
||||
|
@ -310,8 +309,7 @@ void Config_LoadConfig()
|
|||
config.onScreenDisplay.fps = ConfigGetParamBool(g_configVideoGliden64, "ShowFPS");
|
||||
config.onScreenDisplay.vis = ConfigGetParamBool(g_configVideoGliden64, "ShowVIS");
|
||||
config.onScreenDisplay.percent = ConfigGetParamBool(g_configVideoGliden64, "ShowPercent");
|
||||
config.onScreenDisplay.horisontalPos = ConfigGetParamInt(g_configVideoGliden64, "CountersHPos");
|
||||
config.onScreenDisplay.verticalPos = ConfigGetParamInt(g_configVideoGliden64, "CountersVPos");
|
||||
config.onScreenDisplay.pos = ConfigGetParamInt(g_configVideoGliden64, "CountersPos");
|
||||
|
||||
config.generalEmulation.hacks = hacks;
|
||||
}
|
||||
|
|