From 88c1ff04a811f3e38c5677195f25bd65e169dc31 Mon Sep 17 00:00:00 2001
From: Florian Burgener <florian.burgener@hesge.ch>
Date: Sat, 11 Dec 2021 21:43:08 +0100
Subject: [PATCH] Fix zoom

---
 PlanetarySystem.h |  2 +-
 main.c            | 10 ++++------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/PlanetarySystem.h b/PlanetarySystem.h
index dca040a..4fdf97f 100644
--- a/PlanetarySystem.h
+++ b/PlanetarySystem.h
@@ -14,7 +14,7 @@ typedef struct {
     CelestialObject **objects;
     double interval;
     double zoom_factor;
-    uint32_t reference_frame_object_index;
+    int32_t reference_frame_object_index;
 } PlanetarySystem;
 
 PlanetarySystem *planetary_system_create(double interval);
diff --git a/main.c b/main.c
index 0aeb50b..336ce59 100644
--- a/main.c
+++ b/main.c
@@ -60,7 +60,10 @@ int main() {
 
                 if (event.key.keysym.sym == SDLK_LEFT) {
                     planetary_system->reference_frame_object_index -= 1;
-                    planetary_system->reference_frame_object_index %= planetary_system->objects_length;
+
+                    if (planetary_system->reference_frame_object_index < 0) {
+                        planetary_system->reference_frame_object_index = planetary_system->objects_length - 1;
+                    }
                 }
 
                 if (event.key.keysym.sym == SDLK_RIGHT) {
@@ -70,11 +73,6 @@ int main() {
             }
         }
 
-        // if (gfx_keypressed() == SDLK_ESCAPE)
-        //     break;
-        // if (gfx_keypressed() == SDL_MOUSEBUTTONDOWN) {
-        //     printf("A");
-        // }
         struct timespec t = {.tv_sec = 0, .tv_nsec = sleep_duration};
         nanosleep(&t, NULL);
         elapsed_time += 1;
-- 
GitLab