From e0d71c78c0cb927ec3f0c8cfec5b7b595959a948 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Mon, 22 Dec 2014 13:48:45 +0600 Subject: [PATCH] Fix VI.width for non-interlaced mode. Fixed vertical black bar in Mario Tennis. --- VI.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/VI.cpp b/VI.cpp index 97dcfae5..c09030a5 100644 --- a/VI.cpp +++ b/VI.cpp @@ -48,8 +48,13 @@ void VI_UpdateSize() VI.real_height = (u32)floor(((vEnd - vStart) >> 1) * yScale + 0.5f); #else VI.real_height = (((vEnd - vStart) >> 1) * vScale) >> 10; - if (VI.interlaced && VI.width != 0) - VI.real_height *= *REG.VI_WIDTH / VI.width; + if (VI.interlaced) { + if (VI.width != 0) + VI.real_height *= *REG.VI_WIDTH / VI.width; + } else { + if (*REG.VI_WIDTH > 0) + VI.width = min(VI.width, *REG.VI_WIDTH); + } #endif if (VI.interlaced && VI.real_height % 2 == 1)