removed unused code for writable game data directory
[rocksndiamonds.git] / src / libgame / system.h
index f5b2967e5ffc5345b042c15a29fe5ac7e713422c..e93122a8099b33d9daf44d567e7faf2020ff7227 100644 (file)
@@ -22,6 +22,8 @@
 #include "windows.h"
 #elif defined(PLATFORM_ANDROID)
 #include "android.h"
+#elif defined(PLATFORM_EMSCRIPTEN)
+#include "emscripten.h"
 #endif
 
 #include "sdl.h"
 #define STR_NETWORK_AUTO_DETECT                "auto_detect_network_server"
 #define STR_NETWORK_AUTO_DETECT_SETUP  "(auto detect network server)"
 
+// values for API server settings
+#define API_SERVER_HOSTNAME            "api.artsoft.org"
+#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"
+
 // values for touch control
 #define TOUCH_CONTROL_OFF              "off"
 #define TOUCH_CONTROL_VIRTUAL_BUTTONS  "virtual_buttons"
 #define RO_GAME_DIR            "."
 #endif
 
-#ifndef RW_GAME_DIR
-#define RW_GAME_DIR            "."
-#endif
-
 #define RO_BASE_PATH           RO_GAME_DIR
-#define RW_BASE_PATH           RW_GAME_DIR
 
 // directory names
 #define GRAPHICS_DIRECTORY     "graphics"
 #define NUM_BASE_TREE_TYPES    4
 #define NUM_TREE_TYPES         6
 
+#define TREE_TYPE_IS_DIR(type) ((type) == TREE_TYPE_GRAPHICS_DIR ||    \
+                                (type) == TREE_TYPE_SOUNDS_DIR ||      \
+                                (type) == TREE_TYPE_MUSIC_DIR ||       \
+                                (type) == TREE_TYPE_LEVEL_DIR)
+
 #define INFOTEXT_UNDEFINED     ""
 #define INFOTEXT_GRAPHICS_DIR  "Custom Graphics"
 #define INFOTEXT_SOUNDS_DIR    "Custom Sounds"
@@ -1003,9 +1012,6 @@ struct ProgramInfo
   void (*exit_message_function)(char *, va_list);
   void (*exit_function)(int);
 
-  boolean global_scores;
-  boolean many_scores_per_name;
-
   boolean headless;
 };
 
@@ -1025,6 +1031,8 @@ struct NetworkInfo
 struct RuntimeInfo
 {
   boolean uses_touch_device;
+
+  boolean api_server;
 };
 
 struct OptionInfo
@@ -1033,7 +1041,6 @@ struct OptionInfo
   int server_port;
 
   char *ro_base_directory;
-  char *rw_base_directory;
   char *level_directory;
   char *graphics_directory;
   char *sounds_directory;
@@ -1454,6 +1461,8 @@ struct SetupInfo
   boolean ask_on_escape;
   boolean ask_on_escape_editor;
   boolean ask_on_game_over;
+  boolean ask_on_quit_game;
+  boolean ask_on_quit_program;
   boolean quick_switch;
   boolean input_on_focus;
   boolean prefer_aga_graphics;
@@ -1464,6 +1473,7 @@ struct SetupInfo
   boolean sp_show_border_elements;
   boolean small_game_graphics;
   boolean show_snapshot_buttons;
+  boolean only_show_local_scores;
 
   char *graphics_set;
   char *sounds_set;
@@ -1480,6 +1490,9 @@ struct SetupInfo
   int network_player_nr;
   char *network_server_hostname;
 
+  boolean api_server;
+  char *api_server_hostname;
+
   struct SetupAutoSetupInfo auto_setup;
   struct SetupLevelSetupInfo level_setup;
 
@@ -1556,6 +1569,7 @@ struct TreeInfo
 
   boolean level_group; // directory contains more level series directories
   boolean parent_link; // entry links back to parent directory
+  boolean is_copy;     // this entry is a copy of another entry in the tree
   boolean in_user_dir; // user defined levels are stored in home directory
   boolean user_defined;        // levels in user directory and marked as "private"
   boolean readonly;    // readonly levels can not be changed with editor
@@ -1852,7 +1866,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));
@@ -1974,4 +1987,7 @@ boolean ReadJoystick(int, int *, int *, boolean *, boolean *);
 boolean CheckJoystickOpened(int);
 void ClearJoystickState(void);
 
+void InitEmscriptenFilesystem(void);
+void SyncEmscriptenFilesystem(void);
+
 #endif // SYSTEM_H