diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp index 86af5ee7c7..e757e109d2 100644 --- a/plugins/GSdx/GSState.cpp +++ b/plugins/GSdx/GSState.cpp @@ -44,6 +44,7 @@ GSState::GSState() , m_crc(0) , m_options(0) , m_frameskip(0) + , m_crcinited(false) { m_nativeres = !!theApp.GetConfig("nativeres", 1); @@ -2305,7 +2306,7 @@ void GSState::SetGameCRC(uint32 crc, int options) { m_crc = crc; m_options = options; - m_game = CRC::Lookup(m_crc_hack_level ? crc : 0); + m_game = CRC::Lookup(crc); } // @@ -5416,11 +5417,10 @@ bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw) fi.TZTST = m_context->TEST.ZTST; static GetSkipCount map[CRC::TitleCount]; - static bool inited = false; - if(!inited) + if (!m_crcinited) { - inited = true; + m_crcinited = true; memset(map, 0, sizeof(map)); diff --git a/plugins/GSdx/GSState.h b/plugins/GSdx/GSState.h index 2bcafdd99f..9c155a739c 100644 --- a/plugins/GSdx/GSState.h +++ b/plugins/GSdx/GSState.h @@ -196,6 +196,7 @@ public: uint32 m_crc; int m_options; int m_frameskip; + bool m_crcinited; bool m_framelimit; CRC::Game m_game; GSDump m_dump;