[Glide64] Make buff_clear private

This commit is contained in:
zilmar 2017-03-10 08:06:58 +11:00
parent da8926d482
commit 8d7cbae52b
4 changed files with 19 additions and 9 deletions

View File

@ -481,7 +481,7 @@ public:
tooltip = "Buffer clear on every frame:\n\nForces the frame buffer to be cleared every frame drawn.\nUsually frame buffer clear is controlled by the game.\nHowever, in some cases it is not well emulated, and some garbage may be left on the screen.\nIn such cases, this option must be set on.\n\n[Recommended: on]";
TTSetTxt(IDC_CHK_BUFFER_CLEAR, tooltip.c_str());
m_cbxBuffer.Attach(GetDlgItem(IDC_CHK_BUFFER_CLEAR));
m_cbxBuffer.SetCheck(g_settings->buff_clear > 0 ? BST_CHECKED : BST_UNCHECKED);
m_cbxBuffer.SetCheck(g_settings->buff_clear() ? BST_CHECKED : BST_UNCHECKED);
m_cbxFBEnable.Attach(GetDlgItem(IDC_CHK_FRAME_BUFFER_EMULATION));
TTSetTxt(IDC_CHK_FRAME_BUFFER_EMULATION, "Enable frame buffer emulation:\n\nIf on, plugin will try to detect frame buffer usage and apply appropriate frame buffer emulation.\n\n[Recommended: on for games which use frame buffer effects]");
@ -521,7 +521,7 @@ public:
g_settings->SetAspectmode((CSettings::AspectMode_t)m_cmbAspect.GetItemData(m_cmbAspect.GetCurSel()));
g_settings->SetSwapMode((CSettings::SwapMode_t)m_cmbBufferSwap.GetItemData(m_cmbBufferSwap.GetCurSel()));
g_settings->SetFog(m_cbxFog.GetCheck() == BST_CHECKED);
g_settings->buff_clear = m_cbxBuffer.GetCheck() == BST_CHECKED;
g_settings->SetBuffClear(m_cbxBuffer.GetCheck() == BST_CHECKED);
g_settings->SetLODmode((CSettings::PixelLevelOfDetail_t)m_cmbLOD.GetItemData(m_cmbLOD.GetCurSel()));
CButton * fb_buttons[] =

View File

@ -1564,7 +1564,7 @@ void newSwapBuffers()
}
}
if (g_settings->wireframe || g_settings->buff_clear || (g_settings->hacks(CSettings::hack_PPL) && g_settings->ucode() == CSettings::ucode_S2DEX))
if (g_settings->wireframe || g_settings->buff_clear() || (g_settings->hacks(CSettings::hack_PPL) && g_settings->ucode() == CSettings::ucode_S2DEX))
{
grDepthMask((g_settings->hacks(CSettings::hack_RE2) && g_settings->fb_depth_render_enabled()) ? FXFALSE : FXTRUE);
grBufferClear(0, 0, 0xFFFF);

View File

@ -27,7 +27,7 @@ CSettings::CSettings() :
m_rotate(Rotate_None),
m_filtering(Filter_Automatic),
m_fog(false),
buff_clear(0),
m_buff_clear(false),
m_swapmode(SwapMode_Old),
m_lodmode(LOD_Off),
m_aspectmode(Aspect_4x3),
@ -157,7 +157,7 @@ void CSettings::RegisterSettings(void)
general_setting(Set_filtering_default, "filtering", CSettings::Filter_Automatic);
general_setting(Set_lodmode_default, "lodmode", CSettings::LOD_Off);
general_setting(Set_fog_default, "fog", true);
general_setting(Set_buff_clear_default, "buff_clear", 1);
general_setting(Set_buff_clear_default, "buff_clear", true);
general_setting(Set_swapmode_default, "swapmode", SwapMode_New);
general_setting(Set_aspect_default, "aspect", Aspect_4x3);
@ -316,6 +316,15 @@ void CSettings::SetFog(bool value)
}
}
void CSettings::SetBuffClear(bool value)
{
if (value != m_buff_clear)
{
m_buff_clear = value;
m_dirty = true;
}
}
void CSettings::SetGhqFltr(TextureFilter_t value)
{
if (value != m_ghq_fltr)
@ -617,7 +626,6 @@ void CSettings::ReadGameSettings(const char * name)
g_settings->old_style_adither = GetSetting(Set_old_style_adither);
g_settings->n64_z_scale = GetSetting(Set_n64_z_scale);
g_settings->buff_clear = GetSetting(g_romopen ? Set_buff_clear : Set_buff_clear_default);
m_ScreenRes = GetSetting(Set_Resolution);
if (m_ScreenRes >= GetScreenResolutionCount()) { m_ScreenRes = GetDefaultScreenRes(); }
@ -676,6 +684,7 @@ void CSettings::ReadGameSettings(const char * name)
SetFiltering((Filtering_t)GetSetting(g_romopen ? Set_filtering : Set_filtering_default));
SetFog(GetSetting(g_romopen ? Set_fog : Set_fog_default) != 0);
SetBuffClear(GetSetting(g_romopen ? Set_buff_clear : Set_buff_clear_default) != 0);
SetSwapMode((SwapMode_t)GetSetting(g_romopen ? Set_swapmode : Set_swapmode_default));
SetAspectmode((AspectMode_t)GetSetting(g_romopen ? Set_aspect : Set_aspect_default));
SetLODmode((PixelLevelOfDetail_t)GetSetting(g_romopen ? Set_lodmode : Set_lodmode_default));
@ -725,7 +734,7 @@ void CSettings::WriteSettings(void)
SetSetting(g_romopen ? Set_filtering : Set_filtering_default, filtering());
SetSetting(g_romopen ? Set_fog : Set_fog_default, m_fog);
SetSetting(g_romopen ? Set_buff_clear : Set_buff_clear_default, g_settings->buff_clear);
SetSetting(g_romopen ? Set_buff_clear : Set_buff_clear_default, m_buff_clear);
SetSetting(g_romopen ? Set_swapmode : Set_swapmode_default, g_settings->swapmode());
SetSetting(g_romopen ? Set_lodmode : Set_lodmode_default, lodmode());
SetSetting(g_romopen ? Set_aspect : Set_aspect_default, m_aspectmode);

View File

@ -145,8 +145,6 @@ public:
ucode_Turbo3d = 21,
};
int buff_clear;
enum FBCRCMODE_t
{
@ -184,6 +182,7 @@ public:
inline Filtering_t filtering(void) const { return m_filtering; }
inline bool fog (void) const { return m_fog; }
inline bool buff_clear(void) const { return m_buff_clear; }
inline SwapMode_t swapmode(void) const { return m_swapmode; }
inline PixelLevelOfDetail_t lodmode(void) const { return m_lodmode; }
inline AspectMode_t aspectmode(void) const { return m_aspectmode; }
@ -261,6 +260,7 @@ public:
void SetFiltering(Filtering_t value);
void SetSwapMode(SwapMode_t value);
void SetFog(bool value);
void SetBuffClear(bool value);
void SetGhqFltr(TextureFilter_t value);
void SetGhqEnht(TextureEnhancement_t value);
void UpdateFrameBufferBits(uint32_t BitsToAdd, uint32_t BitsToRemove);
@ -294,6 +294,7 @@ private:
ScreenRotate_t m_rotate;
Filtering_t m_filtering;
bool m_fog;
bool m_buff_clear;
SwapMode_t m_swapmode;
PixelLevelOfDetail_t m_lodmode;
bool m_advanced_options;