diff --git a/Source/Glide64/Settings.cpp b/Source/Glide64/Settings.cpp index e966c1ad9..94d458a3e 100644 --- a/Source/Glide64/Settings.cpp +++ b/Source/Glide64/Settings.cpp @@ -78,7 +78,7 @@ CSettings::CSettings() : m_pal230(false), //set special scale for PAL games m_correct_viewport(false), //correct viewport values m_zmode_compare_less(false), //force GR_CMP_LESS for zmode=0 (opaque)and zmode=1 (interpenetrating) -old_style_adither(0), //apply alpha dither regardless of alpha_dither_mode + m_old_style_adither(false), //apply alpha dither regardless of alpha_dither_mode n64_z_scale(0), //scale vertex z value before writing to depth buffer, as N64 does. m_hacks((hacks_t)0), @@ -177,7 +177,7 @@ void CSettings::RegisterSettings(void) game_setting(Set_fast_crc, "fast_crc", true); game_setting(Set_adjust_aspect, "adjust_aspect", true); game_setting(Set_zmode_compare_less, "zmode_compare_less", false); - game_setting(Set_old_style_adither, "old_style_adither", 0); + game_setting(Set_old_style_adither, "old_style_adither", false); game_setting(Set_n64_z_scale, "n64_z_scale", 0); game_setting_default(Set_optimize_texrect, "optimize_texrect", Set_optimize_texrect_default); game_setting(Set_ignore_aux_copy, "ignore_aux_copy", false); @@ -730,7 +730,7 @@ void CSettings::ReadGameSettings(const char * name) m_fast_crc = GetSetting(Set_fast_crc) != 0; m_adjust_aspect = GetSetting(Set_adjust_aspect); m_zmode_compare_less = GetSetting(Set_zmode_compare_less); - g_settings->old_style_adither = GetSetting(Set_old_style_adither); + m_old_style_adither = GetSetting(Set_old_style_adither); g_settings->n64_z_scale = GetSetting(Set_n64_z_scale); m_ScreenRes = GetSetting(Set_Resolution); diff --git a/Source/Glide64/Settings.h b/Source/Glide64/Settings.h index 84242a51a..5ae83a1be 100644 --- a/Source/Glide64/Settings.h +++ b/Source/Glide64/Settings.h @@ -252,7 +252,7 @@ public: inline bool pal230(void) const { return m_pal230; } //use spheric mapping only, Ridge Racer 64 inline bool correct_viewport(void) const { return m_correct_viewport; } //correct viewport values inline bool zmode_compare_less(void) const { return m_zmode_compare_less; } //force GR_CMP_LESS for zmode=0 (opaque)and zmode=1 (interpenetrating) - int old_style_adither; //apply alpha dither regardless of alpha_dither_mode + inline bool old_style_adither(void) const { return m_old_style_adither; } //apply alpha dither regardless of alpha_dither_mode int n64_z_scale; //scale vertex z value before writing to depth buffer, as N64 does. inline bool hacks(hacks_t hack) const { return (m_hacks & hack) == hack; } //Special game hacks @@ -371,6 +371,7 @@ private: bool m_pal230; bool m_correct_viewport; bool m_zmode_compare_less; + bool m_old_style_adither; hacks_t m_hacks; }; diff --git a/Source/Glide64/Util.cpp b/Source/Glide64/Util.cpp index f57fa44e3..43d05c41a 100644 --- a/Source/Glide64/Util.cpp +++ b/Source/Glide64/Util.cpp @@ -1876,12 +1876,15 @@ void update() } if (rdp.acmp == 3 && rdp.cycle_mode < 2) { - if (g_settings->old_style_adither || rdp.alpha_dither_mode != 3) { + if (g_settings->old_style_adither() || rdp.alpha_dither_mode != 3) + { WriteTrace(TraceRDP, TraceDebug, " |- alpha compare: dither"); grStippleMode(g_settings->stipple_mode()); } else + { grStippleMode(GR_STIPPLE_DISABLE); + } } else {