#ifndef TIMER_H #define TIMER_H #include "display.h" #include "keys.h" #include "splitsio.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define NS_PER_S 1000000000 #define cJSON_GetItem(x, y) cJSON_GetObjectItemCaseSensitive(x, y) struct segment { int id; char *name; int ms; bool isSkipped; bool isReset; }; struct pastseg { int ms; bool isSkipped; bool isReset; }; extern char *gameTitle; extern char *categoryTitle; extern int currentMS; extern int currSeg; extern int segCount; extern int attempts; extern char currentTime[10]; extern struct segment *pbrun; extern struct segment *bestsegs; extern struct segment *wrrun; extern struct segment *segments; extern struct timespec notif; extern int *route; void sub_timespec(struct timespec t1, struct timespec t2, struct timespec* td); void add_timespec(struct timespec t1, struct timespec t2, struct timespec* td); void start(); void stop(); void split(); void tpause(); void unsplit(); void skip(); int timespecToMS(struct timespec t); void calculatePB(); void loadConfig(); void saveConfig(cJSON *config); void loadFile(); void saveFile(); int main(int argc, char **argv); #endif