diff options
author | Nebuleon <nebuleon@alakazam> | 2013-10-05 03:58:59 +0000 |
---|---|---|
committer | Nebuleon <nebuleon@alakazam> | 2013-10-05 04:44:09 +0000 |
commit | 1b652f173f7e61414d0e07422293521c62b4c575 (patch) | |
tree | cab3e9b10dc06378b8baeda1f18f73f1998ddf82 | |
parent | 3ec55ea5ebf58ce0b5af0ccf41e4ea0498b2a0b7 (diff) | |
download | ReGBA-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.c | 9 |
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(); |