diff --git a/dmdserver.ini b/dmdserver.ini index 092aa9f..9c8aea4 100644 --- a/dmdserver.ini +++ b/dmdserver.ini @@ -13,7 +13,7 @@ PUPCapture = 1 # Overwrite the PUPVideosPath sent by the client and set it to a fixed value. PUPVideosPath = # Set to 1 if PUP DMD frame matching should respect the exact colors, 0 if not. -PUPExactColorMatch = 0 +PUPExactColorMatch = 1 [ZeDMD] # Set to 1 if ZeDMD is attached. diff --git a/platforms/android/arm64-v8a/external.sh b/platforms/android/arm64-v8a/external.sh index 94cf78a..88e348f 100755 --- a/platforms/android/arm64-v8a/external.sh +++ b/platforms/android/arm64-v8a/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b if [[ $(uname) == "Linux" ]]; then NUM_PROCS=$(nproc) diff --git a/platforms/ios/arm64/external.sh b/platforms/ios/arm64/external.sh index 359ab5b..ad07d0c 100755 --- a/platforms/ios/arm64/external.sh +++ b/platforms/ios/arm64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(sysctl -n hw.ncpu) diff --git a/platforms/linux/aarch64/external.sh b/platforms/linux/aarch64/external.sh index cbf4440..8778598 100755 --- a/platforms/linux/aarch64/external.sh +++ b/platforms/linux/aarch64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(nproc) diff --git a/platforms/linux/x64/external.sh b/platforms/linux/x64/external.sh index 0da69cd..7152424 100755 --- a/platforms/linux/x64/external.sh +++ b/platforms/linux/x64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(nproc) diff --git a/platforms/macos/arm64/external.sh b/platforms/macos/arm64/external.sh index b2232c5..0a095da 100755 --- a/platforms/macos/arm64/external.sh +++ b/platforms/macos/arm64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(sysctl -n hw.ncpu) diff --git a/platforms/macos/x64/external.sh b/platforms/macos/x64/external.sh index 6c41c92..b1b2f1d 100755 --- a/platforms/macos/x64/external.sh +++ b/platforms/macos/x64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(sysctl -n hw.ncpu) diff --git a/platforms/tvos/arm64/external.sh b/platforms/tvos/arm64/external.sh index bee2553..cb1b505 100755 --- a/platforms/tvos/arm64/external.sh +++ b/platforms/tvos/arm64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b NUM_PROCS=$(sysctl -n hw.ncpu) diff --git a/platforms/win/x64/external.sh b/platforms/win/x64/external.sh index e230ca4..b0c2ef1 100755 --- a/platforms/win/x64/external.sh +++ b/platforms/win/x64/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b echo "Building libraries..." echo " CARGS_SHA: ${CARGS_SHA}" diff --git a/platforms/win/x86/external.sh b/platforms/win/x86/external.sh index ff4c6d6..af9306c 100755 --- a/platforms/win/x86/external.sh +++ b/platforms/win/x86/external.sh @@ -6,7 +6,7 @@ CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251 LIBZEDMD_SHA=42d95ed6f1fe2065ecbd247502d177d7e5eb7e4c LIBSERUM_SHA=b69d2b436bc93570a2e7e78d0946cd3c43f7aed5 SOCKPP_SHA=e6c4688a576d95f42dd7628cefe68092f6c5cd0f -LIBPUPDMD_SHA=52d485f6276d7ca57b59a61ac2f11fb8cbfcf9ac +LIBPUPDMD_SHA=a444a178b9c61290470acefbfb65128d56f6556b echo "Building libraries..." echo " CARGS_SHA: ${CARGS_SHA}" diff --git a/src/Config.cpp b/src/Config.cpp index 85acd53..6fe9c3e 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -18,7 +18,7 @@ Config::Config() m_altColorPath.clear(); m_pupCapture = false; m_pupVideosPath.clear(); - m_pupExactColorMatch = false; + m_pupExactColorMatch = true; m_framesTimeout = 0; m_framesToSkip = 0; m_zedmd = true; diff --git a/src/DMD.cpp b/src/DMD.cpp index 65512bc..132f452 100644 --- a/src/DMD.cpp +++ b/src/DMD.cpp @@ -1323,7 +1323,7 @@ void DMD::PupDMDThread() m_pPUPDMD = new PUPDMD::DMD(); m_pPUPDMD->SetLogCallback(PUPDMDLogCallback, nullptr); - if (!m_pPUPDMD->Load(m_pupVideosPath, m_romName)) + if (!m_pPUPDMD->Load(m_pupVideosPath, m_romName, m_pUpdateBufferQueue[bufferPosition]->depth)) { delete (m_pPUPDMD); m_pPUPDMD = nullptr; @@ -1344,6 +1344,10 @@ void DMD::PupDMDThread() uint16_t triggerID = 0; if (Config::GetInstance()->IsPUPExactColorMatch()) + { + triggerID = m_pPUPDMD->MatchIndexed(renderBuffer); + } + else { UpdatePalette(palette, m_pUpdateBufferQueue[bufferPosition]->depth, m_pUpdateBufferQueue[bufferPosition]->r, m_pUpdateBufferQueue[bufferPosition]->g, m_pUpdateBufferQueue[bufferPosition]->b); @@ -1354,13 +1358,9 @@ void DMD::PupDMDThread() uint16_t pos = renderBuffer[i] * 3; memcpy(&pFrame[i * 3], &palette[pos], 3); } - triggerID = m_pPUPDMD->Match(pFrame, true); + triggerID = m_pPUPDMD->Match(pFrame, false); free(pFrame); } - else - { - triggerID = m_pPUPDMD->MatchIndexed(renderBuffer); - } if (triggerID > 0) handleTrigger(triggerID); }