X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=24d0d722502b70ddb5c083740e812bef192cb861;hb=51cc8f17af487cc53aafccf050ff1b16fec878a9;hp=32180326631362a6aca8a9fe2eed0ad1587fb496;hpb=b65cb6a4342705f9080d262862c0961f4a808982;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 32180326..24d0d722 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -111,7 +111,9 @@ #define API_SERVER_METHOD "POST" #define API_SERVER_URI_ADD "/api/scores/add" #define API_SERVER_URI_GET "/api/scores/get" +#define API_SERVER_URI_GETTAPE "/api/scores/gettape" #define API_SERVER_URI_RENAME "/api/players/rename" +#define API_SERVER_URI_RESETUUID "/api/players/resetuuid" #if defined(TESTING) #undef API_SERVER_HOSTNAME @@ -174,6 +176,8 @@ // default shortcut keys #define DEFAULT_KEY_SAVE_GAME KSYM_F1 #define DEFAULT_KEY_LOAD_GAME KSYM_F2 +#define DEFAULT_KEY_RESTART_GAME KSYM_F3 +#define DEFAULT_KEY_PAUSE_BEFORE_END KSYM_F4 #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space #define DEFAULT_KEY_FOCUS_PLAYER_1 KSYM_F5 #define DEFAULT_KEY_FOCUS_PLAYER_2 KSYM_F6 @@ -368,6 +372,8 @@ #define ANIM_STATIC_PANEL (1 << 13) #define ANIM_ALL (1 << 14) #define ANIM_ONCE (1 << 15) +#define ANIM_TILED (1 << 16) +#define ANIM_RANDOM_STATIC (1 << 17) #define ANIM_DEFAULT ANIM_LOOP @@ -649,6 +655,9 @@ #define TAPES_DIRECTORY "tapes" #define SCORES_DIRECTORY "scores" #define DOCS_DIRECTORY "docs" +#define ELEMENTS_DIRECTORY "elements" +#define CREDITS_DIRECTORY "credits" +#define INFO_DIRECTORY "info" #define CACHE_DIRECTORY "cache" #define CONF_DIRECTORY "conf" #define NETWORK_DIRECTORY "network" @@ -674,6 +683,7 @@ #define USERSETUP_FILENAME "usersetup.conf" #define AUTOSETUP_FILENAME "autosetup.conf" #define LEVELSETUP_FILENAME "levelsetup.conf" +#define SERVERSETUP_FILENAME "serversetup.conf" #define EDITORSETUP_FILENAME "editorsetup.conf" #define EDITORCASCADE_FILENAME "editorcascade.conf" #define HELPANIM_FILENAME "helpanim.conf" @@ -684,6 +694,7 @@ #define MUSICINFO_FILENAME "musicinfo.conf" #define ARTWORKINFO_CACHE_FILE "artworkinfo.cache" #define LEVELTEMPLATE_FILENAME "template.level" +#define UPLOADED_FILENAME ".uploaded" #define LEVELFILE_EXTENSION "level" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" @@ -784,9 +795,10 @@ #define TREE_TYPE_LEVEL_DIR 3 #define TREE_TYPE_LEVEL_NR 4 #define TREE_TYPE_PLAYER_NAME 5 +#define TREE_TYPE_SCORE_ENTRY 6 #define NUM_BASE_TREE_TYPES 4 -#define NUM_TREE_TYPES 6 +#define NUM_TREE_TYPES 7 #define TREE_TYPE_IS_DIR(type) ((type) == TREE_TYPE_GRAPHICS_DIR || \ (type) == TREE_TYPE_SOUNDS_DIR || \ @@ -800,12 +812,16 @@ #define INFOTEXT_LEVEL_DIR "Level Sets" #define INFOTEXT_LEVEL_NR "Levels" #define INFOTEXT_PLAYER_NAME "Players & Teams" +#define INFOTEXT_SCORE_ENTRY "Hall of Fame" #define BACKLINK_TEXT_MAIN ".. (main menu)" #define BACKLINK_TEXT_SETUP ".. (setup menu)" #define BACKLINK_TEXT_PARENT ".. (parent directory)" +#define BACKLINK_TEXT_SCORES "back" -#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \ +#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_SCORE_ENTRY ? \ + INFOTEXT_SCORE_ENTRY : \ + (t) == TREE_TYPE_PLAYER_NAME ? \ INFOTEXT_PLAYER_NAME : \ (t) == TREE_TYPE_LEVEL_NR ? \ INFOTEXT_LEVEL_NR : \ @@ -819,7 +835,9 @@ INFOTEXT_MUSIC_DIR : \ INFOTEXT_UNDEFINED) -#define TREE_BACKLINK_TEXT(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ +#define TREE_BACKLINK_TEXT(t) ((t) == TREE_TYPE_SCORE_ENTRY ? \ + BACKLINK_TEXT_SCORES : \ + (t) == TREE_TYPE_LEVEL_DIR ? \ BACKLINK_TEXT_MAIN : \ BACKLINK_TEXT_SETUP) @@ -1022,6 +1040,8 @@ struct ProgramInfo void (*exit_message_function)(char *, va_list); void (*exit_function)(int); + int api_thread_count; + boolean headless; }; @@ -1348,6 +1368,7 @@ struct SetupEditorCascadeInfo boolean el_steel_chars; boolean el_ce; boolean el_ge; + boolean el_es; boolean el_ref; boolean el_user; boolean el_dynamic; @@ -1357,6 +1378,8 @@ struct SetupShortcutInfo { Key save_game; Key load_game; + Key restart_game; + Key pause_before_end; Key toggle_pause; Key focus_player[MAX_PLAYERS]; @@ -1444,6 +1467,7 @@ struct SetupInfo { char *player_name; char *player_uuid; + int player_version; boolean multiple_users; @@ -1459,6 +1483,7 @@ struct SetupInfo int engine_snapshot_memory; boolean fade_screens; boolean autorecord; + boolean auto_pause_on_start; boolean show_titlescreen; boolean quick_doors; boolean team_mode; @@ -1490,7 +1515,7 @@ struct SetupInfo boolean small_game_graphics; boolean show_load_save_buttons; boolean show_undo_redo_buttons; - boolean only_show_local_scores; + char *scores_in_highscore_list; char *graphics_set; char *sounds_set; @@ -1511,7 +1536,10 @@ struct SetupInfo char *api_server_hostname; char *api_server_password; boolean ask_for_uploading_tapes; + boolean ask_for_remaining_tapes; boolean provide_uploading_tapes; + boolean ask_for_using_api_server; + boolean has_remaining_tapes; struct SetupAutoSetupInfo auto_setup; struct SetupLevelSetupInfo level_setup; @@ -1584,6 +1612,7 @@ struct TreeInfo int first_level; // first level number (to allow start with 0 or 1) int last_level; // last level number (automatically calculated) int sort_priority; // sort levels by 'sort_priority' and then by name + int pos; // custom position information of node in tree boolean latest_engine;// force level set to use the latest game engine @@ -2002,6 +2031,7 @@ KeyMod GetKeyModStateFromEvents(void); void StartTextInput(int, int, int, int); void StopTextInput(void); void PushUserEvent(int, int, int); +boolean PendingEscapeKeyEvent(void); void InitJoysticks(void); boolean ReadJoystick(int, int *, int *, boolean *, boolean *);