summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNebuleon <nebuleon@alakazam>2013-10-05 03:58:59 +0000
committerNebuleon <nebuleon@alakazam>2013-10-05 04:44:09 +0000
commit1b652f173f7e61414d0e07422293521c62b4c575 (patch)
treecab3e9b10dc06378b8baeda1f18f73f1998ddf82
parent3ec55ea5ebf58ce0b5af0ccf41e4ea0498b2a0b7 (diff)
downloadReGBA-1b652f173f7e61414d0e07422293521c62b4c575.zip
ReGBA-1b652f173f7e61414d0e07422293521c62b4c575.tar.gz
ReGBA-1b652f173f7e61414d0e07422293521c62b4c575.tar.bz2
OpenDingux: Draw images at the correct boundaries. (Formerly, unscaled and full-screen ignored the top row of pixels, and full-screen proportional ignored the bottom row.)
-rw-r--r--source/opendingux/draw.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/opendingux/draw.c b/source/opendingux/draw.c
index 99e8d4a..d3e2a4a 100644
--- a/source/opendingux/draw.c
+++ b/source/opendingux/draw.c
@@ -520,18 +520,19 @@ void ReGBA_RenderScreen(void)
switch (ScaleMode)
{
case unscaled:
- gba_render((uint32_t *) OutputSurface->pixels, (uint32_t*) (src + GBAScreenSurface->pitch), GCW0_SCREEN_WIDTH, GCW0_SCREEN_HEIGHT);
+ gba_render((uint32_t *) OutputSurface->pixels, (uint32_t*) src, GCW0_SCREEN_WIDTH, GCW0_SCREEN_HEIGHT);
break;
case fullscreen:
- gba_upscale((uint32_t*) OutputSurface->pixels, (uint32_t*) (src + GBAScreenSurface->pitch), GBA_SCREEN_WIDTH, GBA_SCREEN_HEIGHT);
+ gba_upscale((uint32_t*) OutputSurface->pixels, (uint32_t*) src, GBA_SCREEN_WIDTH, GBA_SCREEN_HEIGHT);
break;
case scaled_aspect:
+ src = GBAScreenSurface->pixels;
gba_upscale_aspect((uint16_t*) ((uint8_t*)
OutputSurface->pixels +
- (((GCW0_SCREEN_HEIGHT - GBA_SCREEN_HEIGHT * 4 / 3) / 2) * OutputSurface->pitch)) /* center vertically */,
- (uint16_t*) src, GBA_SCREEN_WIDTH, GBA_SCREEN_HEIGHT);
+ (((GCW0_SCREEN_HEIGHT - (GBA_SCREEN_HEIGHT + 2) * 4 / 3) / 2) * OutputSurface->pitch)) /* center vertically */,
+ (uint16_t*) src, GBA_SCREEN_WIDTH, GBA_SCREEN_HEIGHT + 2);
break;
}
ReGBA_DisplayFPS();