Browse Source

update frame counters in pause screen

Thomas B 2 weeks ago
parent
commit
dab0de0fe0
1 changed files with 23 additions and 24 deletions
  1. 23
    24
      src/game.c

+ 23
- 24
src/game.c View File

@@ -73,6 +73,28 @@ static uint16_t health = HEALTH_MAX;
73 73
 static uint16_t power = POWER_MAX;
74 74
 static int32_t score = 0;
75 75
 static uint16_t frame_count = 0;
76
+static uint8_t fps_count = 0;
77
+static uint16_t prev_fps_start = 0;
78
+static uint8_t prev_fps = 0;
79
+
80
+static void calc_fps(void) {
81
+    frame_count++;
82
+    fps_count++;
83
+    uint16_t diff = timer_get() - prev_fps_start;
84
+    if (diff >= TIMER_HZ) {
85
+        prev_fps_start = timer_get();
86
+        prev_fps = fps_count;
87
+        fps_count = 0;
88
+    }
89
+}
90
+
91
+uint8_t game_get_fps(void) BANKED {
92
+    return prev_fps;
93
+}
94
+
95
+uint16_t game_get_framecount(void) BANKED {
96
+    return frame_count;
97
+}
76 98
 
77 99
 static uint8_t pause_screen(void) {
78 100
     snd_music_off();
@@ -100,6 +122,7 @@ static uint8_t pause_screen(void) {
100 122
             move_win(MINWNDPOSX + DEVICE_SCREEN_PX_WIDTH - x_off, MINWNDPOSY + DEVICE_SCREEN_PX_HEIGHT - 16);
101 123
         }
102 124
 
125
+        calc_fps();
103 126
         vsync();
104 127
     }
105 128
 
@@ -193,28 +216,6 @@ static void get_shot_spd(int16_t *shot_spd_x, int16_t *shot_spd_y) NONBANKED {
193 216
     } END_ROM_BANK;
194 217
 }
195 218
 
196
-static uint8_t fps_count = 0;
197
-static uint16_t prev_fps_start = 0;
198
-static uint8_t prev_fps = 0;
199
-
200
-static inline void calc_fps(void) {
201
-    fps_count++;
202
-    uint16_t diff = timer_get() - prev_fps_start;
203
-    if (diff >= TIMER_HZ) {
204
-        prev_fps_start = timer_get();
205
-        prev_fps = fps_count;
206
-        fps_count = 0;
207
-    }
208
-}
209
-
210
-uint8_t game_get_fps(void) BANKED {
211
-    return prev_fps;
212
-}
213
-
214
-uint16_t game_get_framecount(void) BANKED {
215
-    return frame_count;
216
-}
217
-
218 219
 int32_t game(enum GAME_MODE mode) BANKED {
219 220
     snd_music_off();
220 221
     snd_note_off();
@@ -532,8 +533,6 @@ int32_t game(enum GAME_MODE mode) BANKED {
532 533
         }
533 534
 
534 535
         calc_fps();
535
-        frame_count++;
536
-
537 536
         vsync();
538 537
     }
539 538
 

Loading…
Cancel
Save