From ed4b506f529423433c0661ec968a67c1e467b3a2 Mon Sep 17 00:00:00 2001 From: nemo Date: Fri, 15 Nov 2024 14:08:58 +0100 Subject: [PATCH] reverse penger --- app.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app.c b/app.c index 7daf825..838656e 100644 --- a/app.c +++ b/app.c @@ -6,6 +6,7 @@ #define BLUE 0xffff0000 #define BLACK 0xff000000 +#define EPSILON 0.000001f #define GRAVITY 9 const unsigned int width = 800; @@ -170,10 +171,12 @@ void draw(float dt) if (keys[ARROW_RIGHT]) { penger_pos.x += speed; if (velocity.x < 0) velocity.x *= -1; + else if (velocity.x >= -EPSILON) velocity.x = 1; } if (keys[ARROW_LEFT]) { penger_pos.x -= speed; if (velocity.x > 0) velocity.x *= -1; + else if (velocity.x <= EPSILON) velocity.x = -1; } if (keys[ARROW_DOWN]) penger_pos.y += speed; @@ -189,7 +192,10 @@ void draw(float dt) // dessine le penger sur le canva for (int y = 0; y < pengers_height[id]; y++) { for (int i = 0; i < pengers_width[id]; i++) { - if (pengers_img[id][y*pengers_width[id] + i] <= 0x00FFFFFF) // pixel transparant + int i_for_reverse_pixel_rendering_it_s_craazy = i; + if (velocity.x < EPSILON) + i_for_reverse_pixel_rendering_it_s_craazy = pengers_width[id]-i-1; + if (pengers_img[id][y*pengers_width[id] + i_for_reverse_pixel_rendering_it_s_craazy] <= 0x00FFFFFF) // pixel transparant continue; for (int s1 = 0; s1 < scale; s1++) { for (int s2 = 0; s2 < scale; s2++) { @@ -197,7 +203,7 @@ void draw(float dt) int idx_y = penger_origin.y + y*scale+s2; if (idx_x < 0 || idx_x >= width || idx_y < 0 || idx_y >= height) continue; - BUFFER[idx_y*width + idx_x] = pengers_img[id][y*pengers_width[id] + i]; + BUFFER[idx_y*width + idx_x] = pengers_img[id][y*pengers_width[id] + i_for_reverse_pixel_rendering_it_s_craazy]; } } }