mirror of
https://github.com/blawar/GLideN64.git
synced 2024-06-30 08:24:05 +00:00
GLideNUI: introduce config.hotkeys.enabledKeys
This commit is contained in:
parent
50fe71dc4c
commit
c36ffa97f7
|
@ -139,8 +139,10 @@ void Config::resetToDefaults()
|
|||
onScreenDisplay.statistics = 0;
|
||||
onScreenDisplay.pos = posBottomLeft;
|
||||
|
||||
for (u32 idx = 0; idx < HotKey::hkTotal; ++idx)
|
||||
for (u32 idx = 0; idx < HotKey::hkTotal; ++idx) {
|
||||
hotkeys.enabledKeys[idx] = 0;
|
||||
hotkeys.keys[idx] = 0;
|
||||
}
|
||||
|
||||
debug.dumpMode = 0;
|
||||
}
|
||||
|
@ -200,3 +202,40 @@ const char* Config::hotkeyIniName(u32 _idx)
|
|||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const char* Config::enabledHotkeyIniName(u32 _idx)
|
||||
{
|
||||
switch (_idx)
|
||||
{
|
||||
case Config::HotKey::hkTexDump:
|
||||
return "hkTexDumpEnabled";
|
||||
case Config::HotKey::hkHdTexReload:
|
||||
return "hkHdTexReloadEnabled";
|
||||
case Config::HotKey::hkHdTexToggle:
|
||||
return "hkHdTexToggleEnabled";
|
||||
case Config::HotKey::hkTexCoordBounds:
|
||||
return "hkTexCoordBoundsEnabled";
|
||||
case Config::HotKey::hkNativeResTexrects:
|
||||
return "hkNativeResTexrectsEnabled";
|
||||
case Config::HotKey::hkVsync:
|
||||
return "hkVsyncEnabled";
|
||||
case Config::HotKey::hkFBEmulation:
|
||||
return "hkFBEmulationEnabled";
|
||||
case Config::HotKey::hkN64DepthCompare:
|
||||
return "hkN64DepthCompareEnabled";
|
||||
case Config::HotKey::hkOsdVis:
|
||||
return "hkOsdVisEnabled";
|
||||
case Config::HotKey::hkOsdFps:
|
||||
return "hkOsdFpsEnabled";
|
||||
case Config::HotKey::hkOsdPercent:
|
||||
return "hkOsdPercentEnabled";
|
||||
case Config::HotKey::hkOsdInternalResolution:
|
||||
return "hkOsdInternalResolutionEnabled";
|
||||
case Config::HotKey::hkOsdRenderingResolution:
|
||||
return "hkOsdRenderingResolutionEnabled";
|
||||
case Config::HotKey::hkForceGammaCorrection:
|
||||
return "hkForceGammaCorrectionEnabled";
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
|
@ -235,6 +235,7 @@ struct Config
|
|||
};
|
||||
|
||||
struct {
|
||||
u8 enabledKeys[hkTotal];
|
||||
u8 keys[hkTotal];
|
||||
} hotkeys;
|
||||
|
||||
|
@ -245,6 +246,7 @@ struct Config
|
|||
void resetToDefaults();
|
||||
void validate();
|
||||
static const char* hotkeyIniName(u32 _idx);
|
||||
static const char* enabledHotkeyIniName(u32 _idx);
|
||||
};
|
||||
|
||||
#define hack_Ogre64 (1<<0) //Ogre Battle 64 background copy
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <QRegularExpression>
|
||||
#include <QInputDialog>
|
||||
#include <QDirIterator>
|
||||
#include <qnamespace.h>
|
||||
|
||||
#include "../Config.h"
|
||||
#include "../DebugDump.h"
|
||||
|
@ -429,7 +430,9 @@ void ConfigDialog::_init(bool reInit, bool blockCustomSettings)
|
|||
if (config.hotkeys.keys[idx] != 0) {
|
||||
pWgt->setHidCode(config.hotkeys.keys[idx]);
|
||||
pBtn->setText(HIDKeyToName(config.hotkeys.keys[idx]));
|
||||
pItem->setCheckState(Qt::Checked);
|
||||
if (config.hotkeys.enabledKeys[idx] != 0) {
|
||||
pItem->setCheckState(Qt::Checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -692,7 +695,7 @@ void ConfigDialog::accept(bool justSave) {
|
|||
if (!txDumpPath.exists() &&
|
||||
!txDumpPath.mkdir(txDumpPath.absolutePath()) &&
|
||||
config.textureFilter.txHiresEnable != 0 &&
|
||||
config.hotkeys.keys[Config::HotKey::hkTexDump] != 0) {
|
||||
config.hotkeys.enabledKeys[Config::HotKey::hkTexDump] != 0) {
|
||||
QMessageBox msgBox;
|
||||
msgBox.setStandardButtons(QMessageBox::Close);
|
||||
msgBox.setWindowTitle("GLideN64");
|
||||
|
@ -743,11 +746,12 @@ void ConfigDialog::accept(bool justSave) {
|
|||
config.onScreenDisplay.statistics = ui->statisticsCheckBox->isChecked() ? 1 : 0;
|
||||
|
||||
for (quint32 idx = 0; idx < Config::HotKey::hkTotal; ++idx) {
|
||||
config.hotkeys.keys[idx] = 0;
|
||||
config.hotkeys.keys[idx] = config.hotkeys.enabledKeys[idx] = 0;
|
||||
QListWidgetItem * pItem = ui->hotkeyListWidget->item(idx);
|
||||
HotkeyItemWidget* pWgt = (HotkeyItemWidget*)ui->hotkeyListWidget->itemWidget(pItem);
|
||||
config.hotkeys.keys[idx] = pWgt->hidCode();
|
||||
if (pItem->checkState() == Qt::Checked) {
|
||||
HotkeyItemWidget* pWgt = (HotkeyItemWidget*)ui->hotkeyListWidget->itemWidget(pItem);
|
||||
config.hotkeys.keys[idx] = pWgt->hidCode();
|
||||
config.hotkeys.enabledKeys[idx] = pWgt->hidCode();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -144,6 +144,7 @@ void _loadSettings(QSettings & settings)
|
|||
settings.beginGroup("hotkeys");
|
||||
for (u32 idx = 0; idx < Config::HotKey::hkTotal; ++idx) {
|
||||
config.hotkeys.keys[idx] = settings.value(Config::hotkeyIniName(idx), config.hotkeys.keys[idx]).toInt();
|
||||
config.hotkeys.enabledKeys[idx] = settings.value(Config::enabledHotkeyIniName(idx), config.hotkeys.keys[idx]).toInt();
|
||||
}
|
||||
settings.endGroup();
|
||||
|
||||
|
@ -319,6 +320,7 @@ void writeSettings(const QString & _strIniFolder)
|
|||
settings.beginGroup("hotkeys");
|
||||
for (u32 idx = 0; idx < Config::HotKey::hkTotal; ++idx) {
|
||||
settings.setValue(Config::hotkeyIniName(idx), config.hotkeys.keys[idx]);
|
||||
settings.setValue(Config::enabledHotkeyIniName(idx), config.hotkeys.enabledKeys[idx]);
|
||||
}
|
||||
settings.endGroup();
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ u32 TextureFilterHandler::_getConfigOptions() const
|
|||
options |= (DUMP_TEXCACHE | DUMP_HIRESTEXCACHE);
|
||||
if (config.textureFilter.txHiresFullAlphaChannel)
|
||||
options |= LET_TEXARTISTS_FLY;
|
||||
if (config.hotkeys.keys[Config::HotKey::hkTexDump] != 0)
|
||||
if (config.hotkeys.enabledKeys[Config::HotKey::hkTexDump] != 0)
|
||||
options |= DUMP_TEX;
|
||||
if (config.textureFilter.txDeposterize)
|
||||
options |= DEPOSTERIZE;
|
||||
|
|
|
@ -804,7 +804,7 @@ void TextureCache::_loadBackground(CachedTexture *pTexture)
|
|||
|
||||
if (m_toggleDumpTex &&
|
||||
config.textureFilter.txHiresEnable != 0 &&
|
||||
config.hotkeys.keys[Config::HotKey::hkTexDump] != 0) {
|
||||
config.hotkeys.enabledKeys[Config::HotKey::hkTexDump] != 0) {
|
||||
txfilter_dmptx((u8*)pDest, pTexture->width, pTexture->height,
|
||||
pTexture->width, (u16)u32(glInternalFormat),
|
||||
(unsigned short)(pTexture->format << 8 | pTexture->size),
|
||||
|
@ -1216,7 +1216,7 @@ void TextureCache::_load(u32 _tile, CachedTexture *_pTexture)
|
|||
|
||||
if (m_toggleDumpTex &&
|
||||
config.textureFilter.txHiresEnable != 0 &&
|
||||
config.hotkeys.keys[Config::HotKey::hkTexDump] != 0) {
|
||||
config.hotkeys.enabledKeys[Config::HotKey::hkTexDump] != 0) {
|
||||
txfilter_dmptx((u8*)texData.get(), tmptex.width, tmptex.height,
|
||||
tmptex.width, (u16)u32(glInternalFormat),
|
||||
(unsigned short)(_pTexture->format << 8 | _pTexture->size),
|
||||
|
|
28
src/VI.cpp
28
src/VI.cpp
|
@ -107,7 +107,7 @@ static void checkHotkeys()
|
|||
SwitchDump(config.debug.dumpMode);
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkHdTexToggle], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkHdTexToggle], 0x0001)) {
|
||||
if (config.textureFilter.txHiresEnable == 0)
|
||||
dwnd().getDrawer().showMessage("Enable HD textures\n", Milliseconds(750));
|
||||
else
|
||||
|
@ -118,7 +118,7 @@ static void checkHotkeys()
|
|||
|
||||
if (config.textureFilter.txHiresEnable != 0) {
|
||||
/* Force reload hi-res textures. Useful for texture artists */
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkHdTexReload], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkHdTexReload], 0x0001)) {
|
||||
dwnd().getDrawer().showMessage("Reload HD textures\n", Milliseconds(750));
|
||||
if (txfilter_reloadhirestex()) {
|
||||
textureCache().clear();
|
||||
|
@ -126,11 +126,11 @@ static void checkHotkeys()
|
|||
}
|
||||
|
||||
/* Turn on texture dump */
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkTexDump], 0x0001))
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkTexDump], 0x0001))
|
||||
textureCache().toggleDumpTex();
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkTexCoordBounds], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkTexCoordBounds], 0x0001)) {
|
||||
if (config.graphics2D.enableTexCoordBounds == 0)
|
||||
dwnd().getDrawer().showMessage("Bound texrect texture coordinates on\n", Milliseconds(1000));
|
||||
else
|
||||
|
@ -138,7 +138,7 @@ static void checkHotkeys()
|
|||
config.graphics2D.enableTexCoordBounds = !config.graphics2D.enableTexCoordBounds;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkNativeResTexrects], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkNativeResTexrects], 0x0001)) {
|
||||
static u32 s_nativeResTexrects = Config::NativeResTexrectsMode::ntOptimized;
|
||||
if (config.graphics2D.enableNativeResTexrects != Config::NativeResTexrectsMode::ntDisable) {
|
||||
s_nativeResTexrects = config.graphics2D.enableNativeResTexrects;
|
||||
|
@ -152,7 +152,7 @@ static void checkHotkeys()
|
|||
dwnd().getDrawer().showMessage("Enable 2D texrects in native resolution\n", Milliseconds(1000));
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkVsync], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkVsync], 0x0001)) {
|
||||
config.video.verticalSync = !config.video.verticalSync;
|
||||
dwnd().stop();
|
||||
dwnd().start();
|
||||
|
@ -163,7 +163,7 @@ static void checkHotkeys()
|
|||
}
|
||||
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkFBEmulation], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkFBEmulation], 0x0001)) {
|
||||
config.frameBufferEmulation.enable = !config.frameBufferEmulation.enable;
|
||||
dwnd().stop();
|
||||
dwnd().start();
|
||||
|
@ -174,7 +174,7 @@ static void checkHotkeys()
|
|||
}
|
||||
|
||||
if (config.frameBufferEmulation.enable != 0 &&
|
||||
osal_is_key_pressed(config.hotkeys.keys[Config::hkN64DepthCompare], 0x0001)) {
|
||||
osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkN64DepthCompare], 0x0001)) {
|
||||
static u32 N64DepthCompare = Config::N64DepthCompareMode::dcCompatible;
|
||||
if (config.frameBufferEmulation.N64DepthCompare != Config::N64DepthCompareMode::dcDisable) {
|
||||
N64DepthCompare = config.frameBufferEmulation.N64DepthCompare;
|
||||
|
@ -189,27 +189,27 @@ static void checkHotkeys()
|
|||
dwnd().getDrawer().showMessage("Enable N64 depth compare\n", Milliseconds(1000));
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkOsdVis], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkOsdVis], 0x0001)) {
|
||||
config.onScreenDisplay.vis = !config.onScreenDisplay.vis;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkOsdFps], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkOsdFps], 0x0001)) {
|
||||
config.onScreenDisplay.fps = !config.onScreenDisplay.fps;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkOsdPercent], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkOsdPercent], 0x0001)) {
|
||||
config.onScreenDisplay.percent = !config.onScreenDisplay.percent;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkOsdInternalResolution], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkOsdInternalResolution], 0x0001)) {
|
||||
config.onScreenDisplay.internalResolution = !config.onScreenDisplay.internalResolution;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkOsdRenderingResolution], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkOsdRenderingResolution], 0x0001)) {
|
||||
config.onScreenDisplay.renderingResolution = !config.onScreenDisplay.renderingResolution;
|
||||
}
|
||||
|
||||
if (osal_is_key_pressed(config.hotkeys.keys[Config::hkForceGammaCorrection], 0x0001)) {
|
||||
if (osal_is_key_pressed(config.hotkeys.enabledKeys[Config::hkForceGammaCorrection], 0x0001)) {
|
||||
if (config.gammaCorrection.force == 0)
|
||||
dwnd().getDrawer().showMessage("Force gamma correction on\n", Milliseconds(750));
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue
Block a user