From b7de74034d88c7e742f64388092c55f21742d25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20=C4=8C=C3=AD=C5=BE?= Date: Tue, 28 May 2019 12:49:13 +0200 Subject: [PATCH] Fix sorting --- small3dlib.h | 2 +- testSDL.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/small3dlib.h b/small3dlib.h index 4ba85da..4d8a2bb 100644 --- a/small3dlib.h +++ b/small3dlib.h @@ -1887,7 +1887,7 @@ void S3L_drawScene(S3L_Scene scene) #if S3L_SORT != S3L_SORT_NONE // TODO: CHANGE BUBBLE SORT TO SOMETHING FASTER! - for (int16_t i = S3L_sortArrayLength - 1; i >= 0; --i) + for (int16_t i = S3L_sortArrayLength - 2; i >= 0; --i) for (S3L_Index j = 0; j <= i; ++j) { if (S3L_sortArray[j].sortValue < S3L_sortArray[j + 1].sortValue) diff --git a/testSDL.c b/testSDL.c index 0dce773..b0e063e 100644 --- a/testSDL.c +++ b/testSDL.c @@ -207,6 +207,8 @@ int main() draw(); SDL_UpdateTexture(texture,NULL,pixels,S3L_RESOLUTION_X * sizeof(uint32_t)); + int code = 0; + while (SDL_PollEvent(&event)) { switch (event.type) @@ -216,11 +218,19 @@ int main() break; case SDL_KEYDOWN: - keys['a' + event.key.keysym.scancode - SDL_SCANCODE_A] = 1; + code = 'a' + event.key.keysym.scancode - SDL_SCANCODE_A; + + if (code >= 0 && code <= 255) + keys[code] = 1; + break; case SDL_KEYUP: - keys['a' + event.key.keysym.scancode - SDL_SCANCODE_A] = 0; + code = 'a' + event.key.keysym.scancode - SDL_SCANCODE_A; + + if (code >= 0 && code <= 255) + keys[code] = 0; + break; default: