@@ -1026,11 +1026,12 @@ void DMD::SerumThread()
10261026
10271027 if (m_altColorPath[0 ] == ' \0 ' ) strcpy (m_altColorPath, Config::GetInstance ()->GetAltColorPath ());
10281028 flags = 0 ;
1029+
10291030 // At the moment, ZeDMD HD and RGB24DMD are the only devices supporting 64P frames. Not requesting 64P
10301031 // saves memory.
10311032 if (m_pZeDMD)
10321033 {
1033- if (m_pZeDMD->GetWidth () == 256 )
1034+ if (m_pZeDMD->GetHight () == 64 )
10341035 flags |= FLAG_REQUEST_64P_FRAMES;
10351036 else
10361037 flags |= FLAG_REQUEST_32P_FRAMES;
@@ -1040,7 +1041,18 @@ void DMD::SerumThread()
10401041 {
10411042 for (RGB24DMD* pRGB24DMD : m_rgb24DMDs)
10421043 {
1043- if (pRGB24DMD->GetWidth () == 256 )
1044+ if (pRGB24DMD->GetHeight () == 64 )
1045+ flags |= FLAG_REQUEST_64P_FRAMES;
1046+ else
1047+ flags |= FLAG_REQUEST_32P_FRAMES;
1048+ }
1049+ }
1050+
1051+ if (m_levelDMDs.size () > 0 )
1052+ {
1053+ for (LevelDMD* pLevelDMD : m_levelDMDs)
1054+ {
1055+ if (pLevelDMD->GetHeight () == 64 )
10441056 flags |= FLAG_REQUEST_64P_FRAMES;
10451057 else
10461058 flags |= FLAG_REQUEST_32P_FRAMES;
@@ -1053,6 +1065,8 @@ void DMD::SerumThread()
10531065 if (m_pPixelcadeDMD) flags |= FLAG_REQUEST_32P_FRAMES;
10541066#endif
10551067
1068+ if (!flags) flags |= FLAG_REQUEST_32P_FRAMES;
1069+
10561070 m_pSerum = (name[0 ] != ' \0 ' ) ? Serum_Load (m_altColorPath, m_romName, flags) : nullptr ;
10571071 if (m_pSerum)
10581072 {
0 commit comments