X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=score.c;h=8c5bc59fd96dcb3b7a6cd84741e2df534739e404;hp=406576c85b6a5cf3aee8f995528e824534959706;hb=HEAD;hpb=f1768e98ddbe134b9f6fd6056caf2393b666bb5a diff --git a/score.c b/score.c index 406576c..8c5bc59 100644 --- a/score.c +++ b/score.c @@ -22,42 +22,41 @@ #include #include -#include "SFont.h" +#include "font.h" #include "common.h" -#include "config.h" +#include "vorconfig.h" #include "file.h" #include "globals.h" #include "score.h" // High score table +// below are the defaults (when there's no high score file) in miliseconds struct highscore g_scores[2][N_SCORES] = { { - {1*60*1000,"-"}, - {45*1000,"-"}, - {30*1000,"-"}, - {20*1000,"-"}, - {10*1000,"-"}, - {7*1000,"-"}, - {5*1000,"-"}, - {3*1000,"-"} + {120000,"-"}, + {105000,"-"}, + { 90000,"-"}, + { 75000,"-"}, + { 60000,"-"}, + { 50000,"-"}, + { 40000,"-"}, + { 30000,"-"} }, { - {1*60*1000,"-"}, - {45*1000,"-"}, - {30*1000,"-"}, - {20*1000,"-"}, - {10*1000,"-"}, - {7*1000,"-"}, - {5*1000,"-"}, - {3*1000,"-"} + {120000,"-"}, + {105000,"-"}, + { 90000,"-"}, + { 75000,"-"}, + { 60000,"-"}, + { 50000,"-"}, + { 40000,"-"}, + { 30000,"-"} } }; static char *titles[2] = { "Normal\n", "Easy\n" }; -extern SFont_Font *g_font; - int g_easy = 0; int cur_score = -1; // which score we're currently entering. @@ -65,15 +64,21 @@ void read_high_score_table() { FILE *f; - int i, j; + int i, j, ret; f = open_score_file("r"); if(f) { // If the file exists, read from it for(j=0; j<2; j++) { - fscanf(f, titles[j]); + ret = fseek(f, strlen(titles[j]), SEEK_CUR); + if (ret != 0) { + break; + } for(i = 0; i 0) name[--n]=0; - } else { - if(k == SDLK_RETURN) { - SDL_EnableUNICODE(0); - cur_score = -1; - return false; - } else name[n++] = c; - } + if(key->sym == SDLK_BACKSPACE) { + if(n > 0) name[--n]=0; + } else { + if(key->sym == SDLK_RETURN || key->sym == SDLK_KP_ENTER) { + SDL_EnableUNICODE(0); + cur_score = -1; + if(n == 0) { + name[0] = '-'; + } + return false; + } else if(n < 12) { + if(key->unicode >= 32 && key->unicode <= 126) { + name[n++] = key->unicode; + } + } // else drop it } return true; }