Add support for ViWidthChanged in LoadState

Calls ViWidthChanged if the value of VI_WIDTH_REG changes after loading
a save state.
This commit is contained in:
LegendOfDragoon 2015-09-02 22:44:24 -07:00
parent a4a69a8a3a
commit abf71cdd1a
1 changed files with 7 additions and 1 deletions

View File

@ -1576,9 +1576,10 @@ bool CN64System::LoadState()
bool CN64System::LoadState(LPCSTR FileName) bool CN64System::LoadState(LPCSTR FileName)
{ {
DWORD dwRead, Value,SaveRDRAMSize, NextVITimer = 0, old_status; DWORD dwRead, Value,SaveRDRAMSize, NextVITimer = 0, old_status, old_width;
bool LoadedZipFile = false, AudioResetOnLoad; bool LoadedZipFile = false, AudioResetOnLoad;
old_status = g_Reg->VI_STATUS_REG; old_status = g_Reg->VI_STATUS_REG;
old_width = g_Reg->VI_WIDTH_REG;
WriteTraceF((TraceType)(TraceDebug | TraceRecompiler),__FUNCTION__ "(%s): Start",FileName); WriteTraceF((TraceType)(TraceDebug | TraceRecompiler),__FUNCTION__ "(%s): Start",FileName);
@ -1759,6 +1760,11 @@ bool CN64System::LoadState(LPCSTR FileName)
g_Plugins->Gfx()->ViStatusChanged(); g_Plugins->Gfx()->ViStatusChanged();
} }
if (old_width != g_Reg->VI_WIDTH_REG)
{
g_Plugins->Gfx()->ViWidthChanged();
}
//Fix Random Register //Fix Random Register
while ((int)m_Reg.RANDOM_REGISTER < (int)m_Reg.WIRED_REGISTER) while ((int)m_Reg.RANDOM_REGISTER < (int)m_Reg.WIRED_REGISTER)
{ {