[Glide64] Make force_microcheck private

This commit is contained in:
zilmar 2017-03-13 07:52:37 +11:00
parent c2bb2c5dac
commit 9dc2a8bc8c
3 changed files with 6 additions and 5 deletions

View File

@ -69,7 +69,7 @@ CSettings::CSettings() :
m_texture_correction(false), // enable perspective texture correction emulation. is on by default m_texture_correction(false), // enable perspective texture correction emulation. is on by default
m_stipple_mode(STIPPLE_Disable), //used for dithered alpha emulation m_stipple_mode(STIPPLE_Disable), //used for dithered alpha emulation
m_stipple_pattern(0), //used for dithered alpha emulation m_stipple_pattern(0), //used for dithered alpha emulation
force_microcheck(0), //check microcode each frame, for mixed F3DEX-S2DEX games m_force_microcheck(false), //check microcode each frame, for mixed F3DEX-S2DEX games
force_quad3d(0), //force 0xb5 command to be quad, not line 3d force_quad3d(0), //force 0xb5 command to be quad, not line 3d
clip_zmin(0), //enable near z clipping clip_zmin(0), //enable near z clipping
clip_zmax(0), //enable far plane clipping; clip_zmax(0), //enable far plane clipping;
@ -170,7 +170,7 @@ void CSettings::RegisterSettings(void)
game_setting(Set_stipple_mode, "stipple_mode", STIPPLE_Rotate); game_setting(Set_stipple_mode, "stipple_mode", STIPPLE_Rotate);
game_setting(Set_stipple_pattern, "stipple_pattern", 0x3E0F83E0); game_setting(Set_stipple_pattern, "stipple_pattern", 0x3E0F83E0);
game_setting(Set_force_microcheck, "force_microcheck", 0); game_setting(Set_force_microcheck, "force_microcheck", false);
game_setting(Set_force_quad3d, "force_quad3d", 0); game_setting(Set_force_quad3d, "force_quad3d", 0);
game_setting(Set_clip_zmin, "clip_zmin", 0); game_setting(Set_clip_zmin, "clip_zmin", 0);
game_setting(Set_clip_zmax, "clip_zmax", 1); game_setting(Set_clip_zmax, "clip_zmax", 1);
@ -723,7 +723,7 @@ void CSettings::ReadGameSettings(const char * name)
m_stipple_mode = (StippleMode_t)GetSetting(Set_stipple_mode); m_stipple_mode = (StippleMode_t)GetSetting(Set_stipple_mode);
int stipple_pattern = GetSetting(Set_stipple_pattern); int stipple_pattern = GetSetting(Set_stipple_pattern);
m_stipple_pattern = stipple_pattern > 0 ? (uint32_t)stipple_pattern : 0x3E0F83E0; m_stipple_pattern = stipple_pattern > 0 ? (uint32_t)stipple_pattern : 0x3E0F83E0;
g_settings->force_microcheck = GetSetting(Set_force_microcheck); m_force_microcheck = GetSetting(Set_force_microcheck) != 0;
g_settings->force_quad3d = GetSetting(Set_force_quad3d); g_settings->force_quad3d = GetSetting(Set_force_quad3d);
g_settings->clip_zmin = GetSetting(Set_clip_zmin); g_settings->clip_zmin = GetSetting(Set_clip_zmin);
g_settings->clip_zmax = GetSetting(Set_clip_zmax); g_settings->clip_zmax = GetSetting(Set_clip_zmax);

View File

@ -243,7 +243,7 @@ public:
inline bool texture_correction(void) const { return m_texture_correction; } // enable perspective texture correction emulation. is on by default inline bool texture_correction(void) const { return m_texture_correction; } // enable perspective texture correction emulation. is on by default
inline StippleMode_t stipple_mode(void) const { return m_stipple_mode; } //used for dithered alpha emulation inline StippleMode_t stipple_mode(void) const { return m_stipple_mode; } //used for dithered alpha emulation
inline uint32_t stipple_pattern(void) const { return m_stipple_pattern; } //used for dithered alpha emulation inline uint32_t stipple_pattern(void) const { return m_stipple_pattern; } //used for dithered alpha emulation
int force_microcheck; //check microcode each frame, for mixed F3DEX-S2DEX games inline bool force_microcheck(void) const { return m_force_microcheck; } //check microcode each frame, for mixed F3DEX-S2DEX games
int force_quad3d; //force 0xb5 command to be quad, not line 3d int force_quad3d; //force 0xb5 command to be quad, not line 3d
int clip_zmin; //enable near z clipping int clip_zmin; //enable near z clipping
int clip_zmax; //enable far plane clipping; int clip_zmax; //enable far plane clipping;
@ -362,6 +362,7 @@ private:
bool m_texture_correction; bool m_texture_correction;
StippleMode_t m_stipple_mode; StippleMode_t m_stipple_mode;
uint32_t m_stipple_pattern; uint32_t m_stipple_pattern;
bool m_force_microcheck;
hacks_t m_hacks; hacks_t m_hacks;
}; };

View File

@ -586,7 +586,7 @@ EXPORT void CALL ProcessDList(void)
else else
memset(microcode, 0, 4096); memset(microcode, 0, 4096);
} }
else if ((g_old_ucode == CSettings::ucode_S2DEX && g_settings->ucode() == CSettings::ucode_F3DEX) || g_settings->force_microcheck) else if ((g_old_ucode == CSettings::ucode_S2DEX && g_settings->ucode() == CSettings::ucode_F3DEX) || g_settings->force_microcheck())
{ {
uint32_t startUcode = *(uint32_t*)(gfx.DMEM + 0xFD0); uint32_t startUcode = *(uint32_t*)(gfx.DMEM + 0xFD0);
memcpy(microcode, gfx.RDRAM + startUcode, 4096); memcpy(microcode, gfx.RDRAM + startUcode, 4096);