all repos — mgba @ 78bd884a051ba4fdccc7f0cfd33b039b0363be1d

mGBA Game Boy Advance Emulator

Fix setting window sizes to 0xFFFF from actually making a window
Jeffrey Pfau jeffrey@endrift.com
Wed, 09 Jul 2014 02:24:19 -0700
commit

78bd884a051ba4fdccc7f0cfd33b039b0363be1d

parent

3ee3f7625f5f60248ff2a05853bf93e8a00d9171

1 files changed, 4 insertions(+), 4 deletions(-)

jump to
M src/gba/renderers/video-software.csrc/gba/renderers/video-software.c

@@ -259,7 +259,7 @@ _updatePalettes(softwareRenderer);

break; case REG_WIN0H: softwareRenderer->winN[0].h.packed = value; - if (softwareRenderer->winN[0].h.start > VIDEO_HORIZONTAL_PIXELS) { + if (softwareRenderer->winN[0].h.start > VIDEO_HORIZONTAL_PIXELS && softwareRenderer->winN[0].h.start != softwareRenderer->winN[0].h.end) { softwareRenderer->winN[0].h.start = 0; } if (softwareRenderer->winN[0].h.start > softwareRenderer->winN[0].h.end || softwareRenderer->winN[0].h.end > VIDEO_HORIZONTAL_PIXELS) {

@@ -268,7 +268,7 @@ }

break; case REG_WIN1H: softwareRenderer->winN[1].h.packed = value; - if (softwareRenderer->winN[1].h.start > VIDEO_HORIZONTAL_PIXELS) { + if (softwareRenderer->winN[1].h.start > VIDEO_HORIZONTAL_PIXELS && softwareRenderer->winN[1].h.start != softwareRenderer->winN[1].h.end) { softwareRenderer->winN[1].h.start = 0; } if (softwareRenderer->winN[1].h.start > softwareRenderer->winN[1].h.end || softwareRenderer->winN[1].h.end > VIDEO_HORIZONTAL_PIXELS) {

@@ -277,7 +277,7 @@ }

break; case REG_WIN0V: softwareRenderer->winN[0].v.packed = value; - if (softwareRenderer->winN[0].v.start > VIDEO_VERTICAL_PIXELS) { + if (softwareRenderer->winN[0].v.start > VIDEO_VERTICAL_PIXELS && softwareRenderer->winN[0].v.start != softwareRenderer->winN[0].v.end) { softwareRenderer->winN[0].v.start = 0; } if (softwareRenderer->winN[0].v.start > softwareRenderer->winN[0].v.end || softwareRenderer->winN[0].v.end > VIDEO_HORIZONTAL_PIXELS) {

@@ -286,7 +286,7 @@ }

break; case REG_WIN1V: softwareRenderer->winN[1].v.packed = value; - if (softwareRenderer->winN[1].v.start > VIDEO_VERTICAL_PIXELS) { + if (softwareRenderer->winN[1].v.start > VIDEO_VERTICAL_PIXELS && softwareRenderer->winN[1].v.start != softwareRenderer->winN[1].v.end) { softwareRenderer->winN[1].v.start = 0; } if (softwareRenderer->winN[1].v.start > softwareRenderer->winN[1].v.end || softwareRenderer->winN[1].v.end > VIDEO_HORIZONTAL_PIXELS) {