X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=e93122a8099b33d9daf44d567e7faf2020ff7227;hb=a4e95e0a6d4b53732ea0a585be0b6df55ae41e42;hp=f5b2967e5ffc5345b042c15a29fe5ac7e713422c;hpb=bcffcb9d803359d36cad2130f065de3bbf38d7bc;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index f5b2967e..e93122a8 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -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" @@ -103,6 +105,13 @@ #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" @@ -620,12 +629,7 @@ #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" @@ -774,6 +778,11 @@ #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