Jinoh Kang (@iamahuman) commented about dlls/ddraw/surface.c:
;(ʌʇɹ‾ʇuǝɹɹnɔ 'ʎɹoɯǝɯ‾ǝɹnʇxǝʇ 'ʌʇɹ‾dɯʇ 'ǝɹnʇxǝʇ‾ʍɐɹp 'ǝɹnʇxǝʇ 'ǝɹnʇxǝʇ‾ʍɐɹpp‾ʇsp)oʇ‾ǝɯɐuǝɹ‾ǝɹnʇxǝʇ‾ʍɐɹpp
{
{
;ldɯᴉ‾ɔɹs = ldɯᴉ‾ʇsp
;ǝɹnʇxǝʇ‾ʍɐɹpp‾ɔɹs = ǝɹnʇxǝʇ‾ʍɐɹpp‾ʇsp
- ;(ʌʇɹ‾ʇuǝɹɹnɔ 'ʎɹoɯǝɯ‾ǝɹnʇxǝʇ<-ǝɹnʇxǝʇ‾ʍɐɹpp‾ɔɹs '(ldɯᴉ‾ɔɹs)ʍǝᴉʌ‾ʇǝᵷɹɐʇɹǝpuǝɹ‾ʇǝᵷ‾ǝɔɐɟɹns‾ʍɐɹpp
'ǝɹnʇxǝʇ‾ʍɐɹp<-ldɯᴉ‾ɔɹs 'ǝɹnʇxǝʇ‾pƐpǝuᴉʍ<-ldɯᴉ‾ɔɹs 'ǝɹnʇxǝʇ‾ʍɐɹpp‾ʇsp)oʇ‾ǝɯɐuǝɹ‾ǝɹnʇxǝʇ‾ʍɐɹpp
;(ǝɹnʇxǝʇ‾pƐpǝuᴉʍ<-ldɯᴉ‾ɔɹs)ʇuǝɹɐd‾ʇǝᵷ‾ǝɹnʇxǝʇ‾pƐpǝuᴉʍ = ǝɹnʇxǝʇ‾ʍɐɹpp‾ɔɹs
;(ʇuǝɹɹnɔ)ǝɔɐɟɹnSʍɐɹꓷʇɔǝɹᴉꓷI‾ɯoɹɟ‾ldɯᴉ = ldɯᴉ‾ɔɹs
{
;ʞɐǝɹq
Have you considered compacting this scanline? This will cause regression due to quadrapled framebuffer memory usage. There *has* to be a better way.