diff --git a/CHANGES b/CHANGES index 6c770ee98..3a814a7f6 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,7 @@ Bugfixes: - DS Video: Fix display capture blending value 16 (fixes mgba.io/i/757) - DS GX: Properly center cross product in polygon normal calculations - DS Video: Fix affine parameter advancing (fixes mgba.io/i/802) + - DS GX: Fix incorrect W values Misc: - DS GX: Clean up and unify texture mapping - DS Core: Add symbol loading diff --git a/src/ds/gx.c b/src/ds/gx.c index 304a93c38..201459cd5 100644 --- a/src/ds/gx.c +++ b/src/ds/gx.c @@ -408,7 +408,7 @@ static int32_t _dotViewport(struct DSGXVertex* vertex, int32_t* col) { a = col[12]; b = MTX_ONE; sum += a * b; - return sum >> 8LL; + return sum >> 12LL; } static int16_t _dotTexture(struct DSGX* gx, int16_t* input, int mode, int c) {