diff options
author | Bad Diode <bd@badd10de.dev> | 2023-04-22 11:27:01 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-04-22 11:27:01 +0200 |
commit | 9fbf9df6c0048082054df18bcd72e5656a324d28 (patch) | |
tree | c25140d885220c4f65802725e4a4e21fab58a029 | |
parent | 60c54f82fba2114ae1bceb81c4cd99d164f1f9f3 (diff) | |
download | gba-link-cable-tester-9fbf9df6c0048082054df18bcd72e5656a324d28.tar.gz gba-link-cable-tester-9fbf9df6c0048082054df18bcd72e5656a324d28.zip |
Fix sprite flip_y bug
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/renderer_m0.c | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -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 |