added asking before uploading scores and tapes for the first time
[rocksndiamonds.git] / src / libgame / system.h
index 8265773358ca9d1806dc39e69b3c78f39a9cf61e..d9b42321ba46b4ee59fb9936ded83414a197a8b7 100644 (file)
 #define API_SERVER_PORT                        80
 #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_RENAME          "/api/players/rename"
+
+#if defined(TESTING)
+#undef API_SERVER_HOSTNAME
+#define API_SERVER_HOSTNAME            "api-test.artsoft.org"
+#define TEST_PREFIX                    "test."
+#else
+#define TEST_PREFIX                    ""
+#endif
 
 // values for touch control
 #define TOUCH_CONTROL_OFF              "off"
 // default value for undefined levelset
 #define UNDEFINED_LEVELSET     "[NONE]"
 
+// default value for undefined password
+#define UNDEFINED_PASSWORD     "[undefined]"
+
 // default value for undefined parameter
 #define ARG_DEFAULT            "[DEFAULT]"
 
 // default value for off-screen positions
 #define POS_OFFSCREEN          (-1000000)
 
-// definitions for game sub-directories
-#ifndef RO_GAME_DIR
-#define RO_GAME_DIR            "."
-#endif
-
-#ifndef RW_GAME_DIR
-#define RW_GAME_DIR            "."
+// definitions for game base path and sub-directories
+#ifndef BASE_PATH
+#define BASE_PATH              "."
 #endif
 
-#define RO_BASE_PATH           RO_GAME_DIR
-#define RW_BASE_PATH           RW_GAME_DIR
-
 // directory names
 #define GRAPHICS_DIRECTORY     "graphics"
 #define SOUNDS_DIRECTORY       "sounds"
 #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"
@@ -1016,8 +1023,7 @@ struct ProgramInfo
   void (*exit_message_function)(char *, va_list);
   void (*exit_function)(int);
 
-  boolean global_scores;
-  boolean many_scores_per_name;
+  int api_thread_count;
 
   boolean headless;
 };
@@ -1038,6 +1044,8 @@ struct NetworkInfo
 struct RuntimeInfo
 {
   boolean uses_touch_device;
+
+  boolean use_api_server;
 };
 
 struct OptionInfo
@@ -1045,8 +1053,7 @@ struct OptionInfo
   char *server_host;
   int server_port;
 
-  char *ro_base_directory;
-  char *rw_base_directory;
+  char *base_directory;
   char *level_directory;
   char *graphics_directory;
   char *sounds_directory;
@@ -1055,10 +1062,15 @@ struct OptionInfo
   char *conf_directory;
 
   char *execute_command;
+  char *tape_log_filename;
 
   char *special_flags;
   char *debug_mode;
 
+  char *player_name;
+  char *identifier;
+  char *level_nr;
+
   boolean mytapes;
   boolean serveronly;
   boolean network;
@@ -1434,6 +1446,7 @@ struct SetupDebugInfo
 struct SetupInfo
 {
   char *player_name;
+  char *player_uuid;
 
   boolean multiple_users;
 
@@ -1478,7 +1491,9 @@ struct SetupInfo
   int game_frame_delay;
   boolean sp_show_border_elements;
   boolean small_game_graphics;
-  boolean show_snapshot_buttons;
+  boolean show_load_save_buttons;
+  boolean show_undo_redo_buttons;
+  char *scores_in_highscore_list;
 
   char *graphics_set;
   char *sounds_set;
@@ -1495,6 +1510,13 @@ struct SetupInfo
   int network_player_nr;
   char *network_server_hostname;
 
+  boolean use_api_server;
+  char *api_server_hostname;
+  char *api_server_password;
+  boolean ask_for_uploading_tapes;
+  boolean provide_uploading_tapes;
+  boolean ask_for_using_api_server;
+
   struct SetupAutoSetupInfo auto_setup;
   struct SetupLevelSetupInfo level_setup;
 
@@ -1868,7 +1890,6 @@ void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
 void InitNetworkInfo(boolean, boolean, boolean, char *, int);
 void InitRuntimeInfo(void);
 
-void InitScoresInfo(void);
 void SetWindowTitle(void);
 
 void InitWindowTitleFunction(char *(*window_title_function)(void));
@@ -1957,6 +1978,7 @@ Bitmap *LoadImage(char *);
 Bitmap *LoadCustomImage(char *);
 void ReloadCustomImage(Bitmap *, char *);
 
+Bitmap *ZoomBitmap(Bitmap *, int, int);
 void ReCreateGameTileSizeBitmap(Bitmap **);
 void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
 void CreateBitmapTextures(Bitmap **);