diff --git a/desmume/src/frontend/windows/main.cpp b/desmume/src/frontend/windows/main.cpp index 15efabe1d..e257cacdb 100755 --- a/desmume/src/frontend/windows/main.cpp +++ b/desmume/src/frontend/windows/main.cpp @@ -1996,6 +1996,12 @@ static void DoDisplay() else ColorspaceConvertBuffer888XTo8888Opaque((u32*)video.srcBuffer, video.buffer, video.srcBufferSize / 4); + //some games use the backlight for fading effects + const size_t pixCount = video.prefilterWidth * video.prefilterHeight / 2; + const NDSDisplayInfo &displayInfo = GPU->GetDisplayInfo(); + ColorspaceApplyIntensityToBuffer32(video.buffer, pixCount, displayInfo.backlightIntensity[NDSDisplayID_Main]); + ColorspaceApplyIntensityToBuffer32(video.buffer + pixCount, pixCount, displayInfo.backlightIntensity[NDSDisplayID_Touch]); + if(AnyLuaActive()) { if(sthread_isself(display_thread))