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
 static uint16_t power = POWER_MAX;
73
 static uint16_t power = POWER_MAX;
74
 static int32_t score = 0;
74
 static int32_t score = 0;
75
 static uint16_t frame_count = 0;
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
 static uint8_t pause_screen(void) {
99
 static uint8_t pause_screen(void) {
78
     snd_music_off();
100
     snd_music_off();
100
             move_win(MINWNDPOSX + DEVICE_SCREEN_PX_WIDTH - x_off, MINWNDPOSY + DEVICE_SCREEN_PX_HEIGHT - 16);
122
             move_win(MINWNDPOSX + DEVICE_SCREEN_PX_WIDTH - x_off, MINWNDPOSY + DEVICE_SCREEN_PX_HEIGHT - 16);
101
         }
123
         }
102
 
124
 
125
+        calc_fps();
103
         vsync();
126
         vsync();
104
     }
127
     }
105
 
128
 
193
     } END_ROM_BANK;
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
 int32_t game(enum GAME_MODE mode) BANKED {
219
 int32_t game(enum GAME_MODE mode) BANKED {
219
     snd_music_off();
220
     snd_music_off();
220
     snd_note_off();
221
     snd_note_off();
532
         }
533
         }
533
 
534
 
534
         calc_fps();
535
         calc_fps();
535
-        frame_count++;
536
-
537
         vsync();
536
         vsync();
538
     }
537
     }
539
 
538
 

Loading…
Cancel
Save