From 97c9fecd8ca1ab5c3e1b42585384fab235b62795 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sun, 1 Mar 2015 20:54:42 +0600 Subject: [PATCH] Correct VI.width calculation when hEnd is zero. Corrected commit 42fe2ddf09 since it brokes background in F1 Pole Position, #263 --- VI.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/VI.cpp b/VI.cpp index a0d9abde..e170de02 100644 --- a/VI.cpp +++ b/VI.cpp @@ -37,7 +37,12 @@ void VI_UpdateSize() VI.interlaced = (*REG.VI_STATUS & 0x40) != 0; const bool isPAL = (*REG.VI_V_SYNC & 0x3ff) > 550; - VI.width = hEnd == 0 ? 0 : (u32)floor((hEnd - (isPAL ? 128 : 108))* xScale + 0.5f); + if (hEnd != 0) + VI.width = (u32)floor((hEnd - (isPAL ? 128 : 108))* xScale + 0.5f); + else if (!VI.interlaced) + VI.width = *REG.VI_WIDTH; + else + VI.width = 0; #if 0 const f32 yScale = _FIXED2FLOAT(vScale, 10);