GBA Video: Fix another window bug with windows going too far

This commit is contained in:
Jeffrey Pfau 2014-11-22 23:22:40 -08:00
parent 89f7a69f3a
commit ebe543e482
1 changed files with 12 additions and 0 deletions

View File

@ -269,6 +269,9 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
} }
if (softwareRenderer->winN[0].h.end > VIDEO_HORIZONTAL_PIXELS) { if (softwareRenderer->winN[0].h.end > VIDEO_HORIZONTAL_PIXELS) {
softwareRenderer->winN[0].h.end = VIDEO_HORIZONTAL_PIXELS; softwareRenderer->winN[0].h.end = VIDEO_HORIZONTAL_PIXELS;
if (softwareRenderer->winN[0].h.start > VIDEO_HORIZONTAL_PIXELS) {
softwareRenderer->winN[0].h.start = VIDEO_HORIZONTAL_PIXELS;
}
} }
break; break;
case REG_WIN1H: case REG_WIN1H:
@ -279,6 +282,9 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
} }
if (softwareRenderer->winN[1].h.end > VIDEO_HORIZONTAL_PIXELS) { if (softwareRenderer->winN[1].h.end > VIDEO_HORIZONTAL_PIXELS) {
softwareRenderer->winN[1].h.end = VIDEO_HORIZONTAL_PIXELS; softwareRenderer->winN[1].h.end = VIDEO_HORIZONTAL_PIXELS;
if (softwareRenderer->winN[1].h.start > VIDEO_HORIZONTAL_PIXELS) {
softwareRenderer->winN[1].h.start = VIDEO_HORIZONTAL_PIXELS;
}
} }
break; break;
case REG_WIN0V: case REG_WIN0V:
@ -289,6 +295,9 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
} }
if (softwareRenderer->winN[0].v.end > VIDEO_VERTICAL_PIXELS) { if (softwareRenderer->winN[0].v.end > VIDEO_VERTICAL_PIXELS) {
softwareRenderer->winN[0].v.end = VIDEO_VERTICAL_PIXELS; softwareRenderer->winN[0].v.end = VIDEO_VERTICAL_PIXELS;
if (softwareRenderer->winN[0].v.start > VIDEO_VERTICAL_PIXELS) {
softwareRenderer->winN[0].v.start = VIDEO_VERTICAL_PIXELS;
}
} }
break; break;
case REG_WIN1V: case REG_WIN1V:
@ -299,6 +308,9 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
} }
if (softwareRenderer->winN[1].v.end > VIDEO_VERTICAL_PIXELS) { if (softwareRenderer->winN[1].v.end > VIDEO_VERTICAL_PIXELS) {
softwareRenderer->winN[1].v.end = VIDEO_VERTICAL_PIXELS; softwareRenderer->winN[1].v.end = VIDEO_VERTICAL_PIXELS;
if (softwareRenderer->winN[1].v.start > VIDEO_VERTICAL_PIXELS) {
softwareRenderer->winN[1].v.start = VIDEO_VERTICAL_PIXELS;
}
} }
break; break;
case REG_WININ: case REG_WININ: