mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-02 09:03:37 +00:00
Correct VI.width calculation for interlaced mode.
Fixed crash in Topgear hyper bike #256
This commit is contained in:
parent
d68e9ed13a
commit
e5c452530a
4
VI.cpp
4
VI.cpp
|
@ -38,9 +38,9 @@ void VI_UpdateSize()
|
|||
VI.width = *REG.VI_WIDTH;
|
||||
VI.interlaced = (*REG.VI_STATUS & 0x40) != 0;
|
||||
if (VI.interlaced) {
|
||||
u32 fullWidth = (u32)(640.0f*xScale);
|
||||
f32 fullWidth = 640.0f*xScale;
|
||||
if (*REG.VI_WIDTH > fullWidth) {
|
||||
const u32 scale = *REG.VI_WIDTH / fullWidth;
|
||||
const u32 scale = (u32)floorf(*REG.VI_WIDTH / fullWidth + 0.5f);
|
||||
VI.width /= scale;
|
||||
VI.real_height *= scale;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user