X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=2d4e61d632948ed15d5d25e509c683bec6c6efa3;hb=e4b2e4f943c20af98956d30fd3014888e9f75416;hp=c67fbebbb0f363b3d35b7aa0485bb6c8aa16b6c9;hpb=040054d0534035b8bc1445ca80605db597c5b949;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index c67fbebb..2d4e61d6 100644 --- a/src/main.h +++ b/src/main.h @@ -2576,7 +2576,7 @@ enum #define PROGRAM_VERSION_SUPER 4 #define PROGRAM_VERSION_MAJOR 2 #define PROGRAM_VERSION_MINOR 3 -#define PROGRAM_VERSION_PATCH 1 +#define PROGRAM_VERSION_PATCH 2 #define PROGRAM_VERSION_EXTRA "" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" @@ -3038,10 +3038,26 @@ struct ViewportInfo struct RectWithBorder door_2[NUM_SPECIAL_GFX_ARGS]; }; -struct HiScore +struct ScoreEntry { - char Name[MAX_PLAYER_NAME_LEN + 1]; - int Score; + char tape_basename[MAX_FILENAME_LEN + 1]; + char name[MAX_PLAYER_NAME_LEN + 1]; + int score; + int time; // time (in frames) or steps played +}; + +struct ScoreInfo +{ + int file_version; // file format version the score is stored with + int game_version; // game release version the score was created with + + char level_identifier[MAX_FILENAME_LEN + 1]; + int level_nr; + + int num_entries; + int last_added; + + struct ScoreEntry entry[MAX_SCORE_ENTRIES]; }; struct Content @@ -3107,6 +3123,7 @@ struct LevelInfo int time; // available time (seconds) int gems_needed; boolean auto_count_gems; + boolean rate_time_over_score; char name[MAX_LEVEL_NAME_LEN + 1]; char author[MAX_LEVEL_AUTHOR_LEN + 1]; @@ -3749,7 +3766,7 @@ extern boolean network_player_action_received; extern int graphics_action_mapping[]; extern struct LevelInfo level, level_template; -extern struct HiScore highscore[]; +extern struct ScoreInfo scores, server_scores; extern struct TapeInfo tape; extern struct GlobalInfo global; extern struct BorderInfo border;