Merge pull request #585 from LegendOfDragoon/master

Improve LoadState
This commit is contained in:
zilmar 2015-09-04 17:08:07 +10:00
commit 60da75d041
1 changed files with 20 additions and 2 deletions

View File

@ -1576,8 +1576,11 @@ bool CN64System::LoadState()
bool CN64System::LoadState(LPCSTR FileName)
{
DWORD dwRead, Value,SaveRDRAMSize, NextVITimer = 0;
DWORD dwRead, Value,SaveRDRAMSize, NextVITimer = 0, old_status, old_width, old_dacrate;
bool LoadedZipFile = false, AudioResetOnLoad;
old_status = g_Reg->VI_STATUS_REG;
old_width = g_Reg->VI_WIDTH_REG;
old_dacrate = g_Reg->AI_DACRATE_REG;
WriteTraceF((TraceType)(TraceDebug | TraceRecompiler),__FUNCTION__ "(%s): Start",FileName);
@ -1753,6 +1756,21 @@ bool CN64System::LoadState(LPCSTR FileName)
m_Audio.SetFrequency(m_Reg.AI_DACRATE_REG, g_System->SystemType());
}
if (old_status != g_Reg->VI_STATUS_REG)
{
g_Plugins->Gfx()->ViStatusChanged();
}
if (old_width != g_Reg->VI_WIDTH_REG)
{
g_Plugins->Gfx()->ViWidthChanged();
}
if (old_dacrate != g_Reg->AI_DACRATE_REG)
{
g_Plugins->Audio()->DacrateChanged(g_System->SystemType());
}
//Fix Random Register
while ((int)m_Reg.RANDOM_REGISTER < (int)m_Reg.WIRED_REGISTER)
{