[Glide64] Make ghq_enht_nobg private

This commit is contained in:
zilmar 2017-03-10 16:55:00 +11:00
parent 494fbaf7f5
commit d51c35338b
4 changed files with 19 additions and 8 deletions

View File

@ -633,7 +633,7 @@ public:
TTSetTxt(IDC_CHK_IGNORE_BACKGROUND, "Ignore Backgrounds:\n\nIt is used to skip enhancement for long narrow textures, usually used for backgrounds.\nThis may save texture memory greatly and increase performance.\n\n[Recommended: on (off for 'Store' mode)]"); TTSetTxt(IDC_CHK_IGNORE_BACKGROUND, "Ignore Backgrounds:\n\nIt is used to skip enhancement for long narrow textures, usually used for backgrounds.\nThis may save texture memory greatly and increase performance.\n\n[Recommended: on (off for 'Store' mode)]");
m_cbxEnhIgnoreBG.Attach(GetDlgItem(IDC_CHK_IGNORE_BACKGROUND)); m_cbxEnhIgnoreBG.Attach(GetDlgItem(IDC_CHK_IGNORE_BACKGROUND));
m_cbxEnhIgnoreBG.SetCheck(g_settings->ghq_enht_nobg > 0 ? BST_CHECKED : BST_UNCHECKED); m_cbxEnhIgnoreBG.SetCheck(g_settings->ghq_enht_nobg() > 0 ? BST_CHECKED : BST_UNCHECKED);
tooltip = "Texture compression:\n\nTextures will be compressed using selected texture compression method.\nThe overall compression ratio is about 1/6 for FXT1 and 1/4 for S3TC.\nIn addition to saving space on the texture cache, the space occupied on the GFX hardware's texture RAM, by the enhanced textures, will be greatly reduced.\nThis minimizes texture RAM usage, decreasing the number of texture swaps to the GFX hardware leading to performance gains.\nHowever, due to the nature of lossy compression of FXT1 and S3TC, using this option can sometimes lead to quality degradation of small size textures and color banding of gradient colored textures.\n\n[Recommended: off]"; tooltip = "Texture compression:\n\nTextures will be compressed using selected texture compression method.\nThe overall compression ratio is about 1/6 for FXT1 and 1/4 for S3TC.\nIn addition to saving space on the texture cache, the space occupied on the GFX hardware's texture RAM, by the enhanced textures, will be greatly reduced.\nThis minimizes texture RAM usage, decreasing the number of texture swaps to the GFX hardware leading to performance gains.\nHowever, due to the nature of lossy compression of FXT1 and S3TC, using this option can sometimes lead to quality degradation of small size textures and color banding of gradient colored textures.\n\n[Recommended: off]";
TTSetTxt(IDC_CHK_TEX_COMPRESSION, tooltip.c_str()); TTSetTxt(IDC_CHK_TEX_COMPRESSION, tooltip.c_str());
@ -691,7 +691,7 @@ public:
g_settings->SetGhqFltr((CSettings::TextureFilter_t)m_cmbEnhFilter.GetItemData(m_cmbEnhFilter.GetCurSel())); g_settings->SetGhqFltr((CSettings::TextureFilter_t)m_cmbEnhFilter.GetItemData(m_cmbEnhFilter.GetCurSel()));
g_settings->SetGhqEnht((CSettings::TextureEnhancement_t)m_cmbEnhEnhancement.GetItemData(m_cmbEnhEnhancement.GetCurSel())); g_settings->SetGhqEnht((CSettings::TextureEnhancement_t)m_cmbEnhEnhancement.GetItemData(m_cmbEnhEnhancement.GetCurSel()));
g_settings->ghq_cache_size = atoi(texcache); g_settings->ghq_cache_size = atoi(texcache);
g_settings->ghq_enht_nobg = (int)m_cbxEnhIgnoreBG.GetCheck() == BST_CHECKED; g_settings->SetGhqEnhtNobg(m_cbxEnhIgnoreBG.GetCheck() == BST_CHECKED);
g_settings->SetGhqEnhtCmpr(m_cbxEnhTexCompression.GetCheck() == BST_CHECKED); g_settings->SetGhqEnhtCmpr(m_cbxEnhTexCompression.GetCheck() == BST_CHECKED);
g_settings->SetGhqEnhtGz(m_cbxEnhCompressCache.GetCheck() == BST_CHECKED); g_settings->SetGhqEnhtGz(m_cbxEnhCompressCache.GetCheck() == BST_CHECKED);
g_settings->SetGhqHirs((CSettings::HiResPackFormat_t)m_cmbHrsFormat.GetItemData(m_cmbHrsFormat.GetCurSel())); g_settings->SetGhqHirs((CSettings::HiResPackFormat_t)m_cmbHrsFormat.GetItemData(m_cmbHrsFormat.GetCurSel()));

View File

@ -43,7 +43,7 @@ CSettings::CSettings() :
m_ghq_enht_cmpr(false), m_ghq_enht_cmpr(false),
m_ghq_enht_f16bpp(false), m_ghq_enht_f16bpp(false),
m_ghq_enht_gz(false), m_ghq_enht_gz(false),
ghq_enht_nobg(0), m_ghq_enht_nobg(false),
ghq_hirs_cmpr(0), ghq_hirs_cmpr(0),
ghq_hirs_tile(0), ghq_hirs_tile(0),
ghq_hirs_f16bpp(0), ghq_hirs_f16bpp(0),
@ -142,7 +142,7 @@ void CSettings::RegisterSettings(void)
general_setting(Set_ghq_enht_cmpr, "ghq_enht_cmpr", false); general_setting(Set_ghq_enht_cmpr, "ghq_enht_cmpr", false);
general_setting(Set_ghq_enht_f16bpp, "ghq_enht_f16bpp", false); general_setting(Set_ghq_enht_f16bpp, "ghq_enht_f16bpp", false);
general_setting(Set_ghq_enht_gz, "ghq_enht_gz", true); general_setting(Set_ghq_enht_gz, "ghq_enht_gz", true);
general_setting(Set_ghq_enht_nobg, "ghq_enht_nobg", 0); general_setting(Set_ghq_enht_nobg, "ghq_enht_nobg", false);
general_setting(Set_ghq_hirs_cmpr, "ghq_hirs_cmpr", 0); general_setting(Set_ghq_hirs_cmpr, "ghq_hirs_cmpr", 0);
general_setting(Set_ghq_hirs_tile, "ghq_hirs_tile", 0); general_setting(Set_ghq_hirs_tile, "ghq_hirs_tile", 0);
general_setting(Set_ghq_hirs_f16bpp, "ghq_hirs_f16bpp", 0); general_setting(Set_ghq_hirs_f16bpp, "ghq_hirs_f16bpp", 0);
@ -370,6 +370,15 @@ void CSettings::SetGhqEnhtGz(bool value)
} }
} }
void CSettings::SetGhqEnhtNobg(bool value)
{
if (value != m_ghq_enht_nobg)
{
m_ghq_enht_nobg = value;
m_dirty = true;
}
}
void CSettings::SetGhqEnhtCmpr(bool value) void CSettings::SetGhqEnhtCmpr(bool value)
{ {
if (value != m_ghq_enht_cmpr) if (value != m_ghq_enht_cmpr)
@ -488,7 +497,7 @@ void CSettings::ReadSettings()
m_ghq_enht_cmpr = GetSetting(Set_ghq_enht_cmpr) != 0; m_ghq_enht_cmpr = GetSetting(Set_ghq_enht_cmpr) != 0;
m_ghq_enht_f16bpp = GetSetting(Set_ghq_enht_f16bpp) !=0; m_ghq_enht_f16bpp = GetSetting(Set_ghq_enht_f16bpp) !=0;
m_ghq_enht_gz = GetSetting(Set_ghq_enht_gz) != 0; m_ghq_enht_gz = GetSetting(Set_ghq_enht_gz) != 0;
this->ghq_enht_nobg = GetSetting(Set_ghq_enht_nobg); m_ghq_enht_nobg = GetSetting(Set_ghq_enht_nobg) != 0;
this->ghq_hirs_cmpr = GetSetting(Set_ghq_hirs_cmpr); this->ghq_hirs_cmpr = GetSetting(Set_ghq_hirs_cmpr);
this->ghq_hirs_tile = GetSetting(Set_ghq_hirs_tile); this->ghq_hirs_tile = GetSetting(Set_ghq_hirs_tile);
this->ghq_hirs_f16bpp = GetSetting(Set_ghq_hirs_f16bpp); this->ghq_hirs_f16bpp = GetSetting(Set_ghq_hirs_f16bpp);
@ -757,7 +766,7 @@ void CSettings::WriteSettings(void)
SetSetting(Set_ghq_enht_cmpr, m_ghq_enht_cmpr); SetSetting(Set_ghq_enht_cmpr, m_ghq_enht_cmpr);
SetSetting(Set_ghq_enht_f16bpp, m_ghq_enht_f16bpp); SetSetting(Set_ghq_enht_f16bpp, m_ghq_enht_f16bpp);
SetSetting(Set_ghq_enht_gz, m_ghq_enht_gz); SetSetting(Set_ghq_enht_gz, m_ghq_enht_gz);
SetSetting(Set_ghq_enht_nobg, g_settings->ghq_enht_nobg); SetSetting(Set_ghq_enht_nobg, m_ghq_enht_nobg);
SetSetting(Set_ghq_hirs_cmpr, g_settings->ghq_hirs_cmpr); SetSetting(Set_ghq_hirs_cmpr, g_settings->ghq_hirs_cmpr);
SetSetting(Set_ghq_hirs_tile, g_settings->ghq_hirs_tile); SetSetting(Set_ghq_hirs_tile, g_settings->ghq_hirs_tile);
SetSetting(Set_ghq_hirs_f16bpp, g_settings->ghq_hirs_f16bpp); SetSetting(Set_ghq_hirs_f16bpp, g_settings->ghq_hirs_f16bpp);

View File

@ -210,7 +210,7 @@ public:
inline bool ghq_enht_cmpr(void) const { return m_ghq_enht_cmpr; } inline bool ghq_enht_cmpr(void) const { return m_ghq_enht_cmpr; }
inline bool ghq_enht_f16bpp(void) const { return m_ghq_enht_f16bpp; } inline bool ghq_enht_f16bpp(void) const { return m_ghq_enht_f16bpp; }
inline bool ghq_enht_gz(void) const { return m_ghq_enht_gz; } inline bool ghq_enht_gz(void) const { return m_ghq_enht_gz; }
int ghq_enht_nobg; inline bool ghq_enht_nobg(void) const { return m_ghq_enht_nobg; }
int ghq_hirs_cmpr; int ghq_hirs_cmpr;
int ghq_hirs_tile; int ghq_hirs_tile;
int ghq_hirs_f16bpp; int ghq_hirs_f16bpp;
@ -277,6 +277,7 @@ public:
void SetGhqCmpr(TextureCompression_t value); void SetGhqCmpr(TextureCompression_t value);
void SetGhqHirs(HiResPackFormat_t value); void SetGhqHirs(HiResPackFormat_t value);
void SetGhqEnhtGz(bool value); void SetGhqEnhtGz(bool value);
void SetGhqEnhtNobg(bool value);
void SetGhqEnhtCmpr(bool value); void SetGhqEnhtCmpr(bool value);
void UpdateFrameBufferBits(uint32_t BitsToAdd, uint32_t BitsToRemove); void UpdateFrameBufferBits(uint32_t BitsToAdd, uint32_t BitsToRemove);
ucode_t DetectUCode(uint32_t uc_crc); ucode_t DetectUCode(uint32_t uc_crc);
@ -325,6 +326,7 @@ private:
bool m_ghq_enht_cmpr; bool m_ghq_enht_cmpr;
bool m_ghq_enht_f16bpp; bool m_ghq_enht_f16bpp;
bool m_ghq_enht_gz; bool m_ghq_enht_gz;
bool m_ghq_enht_nobg;
ucode_t m_ucode; ucode_t m_ucode;
StippleMode_t m_stipple_mode; StippleMode_t m_stipple_mode;
hacks_t m_hacks; hacks_t m_hacks;

View File

@ -1584,7 +1584,7 @@ void LoadTex(int id, int tmu)
if (g_ghq_use) if (g_ghq_use)
{ {
if (!ghqTexInfo.data) if (!ghqTexInfo.data)
if (!g_settings->ghq_enht_nobg || !rdp.texrecting || (texinfo[id].splits == 1 && texinfo[id].width <= 256)) if (!g_settings->ghq_enht_nobg() || !rdp.texrecting || (texinfo[id].splits == 1 && texinfo[id].width <= 256))
ext_ghq_txfilter((unsigned char*)texture, (int)real_x, (int)real_y, LOWORD(result), (uint64)g64_crc, &ghqTexInfo); ext_ghq_txfilter((unsigned char*)texture, (int)real_x, (int)real_y, LOWORD(result), (uint64)g64_crc, &ghqTexInfo);
if (ghqTexInfo.data) if (ghqTexInfo.data)