all repos — mgba @ 054f5a996c2b6a2b73b50cc7b62e29b4fde3100e

mGBA Game Boy Advance Emulator

DS Video: Fix affine transformations in video capture
Vicki Pfau vi@endrift.com
Wed, 12 Apr 2017 17:57:34 -0700
commit

054f5a996c2b6a2b73b50cc7b62e29b4fde3100e

parent

01f6fd47d52b59265c771f90eec250fe518a6af1

2 files changed, 6 insertions(+), 4 deletions(-)

jump to
M CHANGESCHANGES

@@ -16,6 +16,7 @@ - DS GX: Hack around writing to a full FIFO that has a swap pending (fixes mgba.io/i/608)

- DS Video: Enable overflow bit on extended affine modes - DS Video: Fix extended mode 0 without extended palettes - DS Video: Fix caputre stride + - DS Video: Fix affine transformations in video capture Misc: - DS: Set boot complete bit in RAM on boot (fixes mgba.io/i/576, mgba.io/i/580, mgba.io/i/586) - DS Memory: Ensure DS9 I/O is 8-byte aligned
M src/ds/renderers/software.csrc/ds/renderers/software.c

@@ -379,6 +379,11 @@ int spriteLayers = GBAVideoSoftwareRendererPreprocessSpriteLayer(softwareRenderer, y);

memset(softwareRenderer->alphaA, softwareRenderer->blda, sizeof(softwareRenderer->alphaA)); memset(softwareRenderer->alphaB, softwareRenderer->bldb, sizeof(softwareRenderer->alphaB)); + softwareRenderer->bg[2].sx = softwareRenderer->bg[2].dmx * y; + softwareRenderer->bg[2].sy = softwareRenderer->bg[2].dmy * y; + softwareRenderer->bg[3].sx = softwareRenderer->bg[3].dmx * y; + softwareRenderer->bg[3].sy = softwareRenderer->bg[3].dmy * y; + int w; unsigned priority; for (priority = 0; priority < 4; ++priority) {

@@ -477,10 +482,6 @@ }

} } } - softwareRenderer->bg[2].sx += softwareRenderer->bg[2].dmx; - softwareRenderer->bg[2].sy += softwareRenderer->bg[2].dmy; - softwareRenderer->bg[3].sx += softwareRenderer->bg[3].dmx; - softwareRenderer->bg[3].sy += softwareRenderer->bg[3].dmy; GBAVideoSoftwareRendererPostprocessBuffer(softwareRenderer); }