summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-04-22 11:27:01 +0200
committerBad Diode <bd@badd10de.dev>2023-04-22 11:27:01 +0200
commit9fbf9df6c0048082054df18bcd72e5656a324d28 (patch)
treec25140d885220c4f65802725e4a4e21fab58a029
parent60c54f82fba2114ae1bceb81c4cd99d164f1f9f3 (diff)
downloadgba-link-cable-tester-9fbf9df6c0048082054df18bcd72e5656a324d28.tar.gz
gba-link-cable-tester-9fbf9df6c0048082054df18bcd72e5656a324d28.zip
Fix sprite flip_y bug
-rw-r--r--src/main.c4
-rw-r--r--src/renderer_m0.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index 55edea1..2f5d5af 100644
--- a/src/main.c
+++ b/src/main.c
@@ -286,12 +286,12 @@ test_sprites_bounce(void) {
286 sprite_chr, 286 sprite_chr,
287 s->clr, 287 s->clr,
288 s->flip_x, s->flip_y), chr_cycles); 288 s->flip_x, s->flip_y), chr_cycles);
289 if (s->x > (240 - 8) && s->inc_x > 0) { 289 if (s->x >= (240 - 8) && s->inc_x > 0) {
290 s->inc_x *= -1; 290 s->inc_x *= -1;
291 } else if (s->x <= 0 && s->inc_x < 0){ 291 } else if (s->x <= 0 && s->inc_x < 0){
292 s->inc_x *= -1; 292 s->inc_x *= -1;
293 } 293 }
294 if (s->y > (160 - 8) && s->inc_y > 0) { 294 if (s->y >= (160 - 8) && s->inc_y > 0) {
295 s->inc_y *= -1; 295 s->inc_y *= -1;
296 } else if (s->y <= 0 && s->inc_y < 0){ 296 } else if (s->y <= 0 && s->inc_y < 0){
297 s->inc_y *= -1; 297 s->inc_y *= -1;
diff --git a/src/renderer_m0.c b/src/renderer_m0.c
index e4d2dfc..745c0f9 100644
--- a/src/renderer_m0.c
+++ b/src/renderer_m0.c
@@ -597,7 +597,7 @@ draw_icn(size_t x, size_t y, u8 *sprite, u8 clr, u8 flip_x, u8 flip_y) {
597 } else { 597 } else {
598 for(size_t v = 0; v < 8; v++, dst++) { 598 for(size_t v = 0; v < 8; v++, dst++) {
599 if ((y + v) >= SCREEN_HEIGHT) break; 599 if ((y + v) >= SCREEN_HEIGHT) break;
600 u8 ch1 = sprite[v + 0]; 600 u8 ch1 = sprite[(7 - v) + 0];
601#if DEC_BIG_LUT 601#if DEC_BIG_LUT
602 u32 color = lut[ch1]; 602 u32 color = lut[ch1];
603#else 603#else