X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=8ebd43dca41d15a869e75c98871f6ed1000c3636;hb=ba6af23b5637bcd5fa4e247dc336b45ba1e6fd1a;hp=ce239f1d3a5c2ead14c370d2c3edd8546ed3b462;hpb=49e9115e09b8bcd6b8f47a111b11b704c661d60b;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index ce239f1d..8ebd43dc 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" @@ -581,6 +583,9 @@ JOY_BUTTON_2 : \ JOY_NO_ACTION) +// maximum number of level sets in the level set history +#define MAX_LEVELDIR_HISTORY 12 + // default name for empty highscore entry #define EMPTY_PLAYER_NAME "no name" @@ -771,6 +776,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" @@ -779,6 +789,10 @@ #define INFOTEXT_LEVEL_NR "Levels" #define INFOTEXT_PLAYER_NAME "Players & Teams" +#define BACKLINK_TEXT_MAIN ".. (main menu)" +#define BACKLINK_TEXT_SETUP ".. (setup menu)" +#define BACKLINK_TEXT_PARENT ".. (parent directory)" + #define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \ INFOTEXT_PLAYER_NAME : \ (t) == TREE_TYPE_LEVEL_NR ? \ @@ -793,6 +807,10 @@ INFOTEXT_MUSIC_DIR : \ INFOTEXT_UNDEFINED) +#define TREE_BACKLINK_TEXT(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ + BACKLINK_TEXT_MAIN : \ + BACKLINK_TEXT_SETUP) + #define TREE_USERDIR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ getUserLevelDir(NULL) : \ (t) == TREE_TYPE_GRAPHICS_DIR ? \ @@ -1284,6 +1302,8 @@ struct SetupEditorInfo boolean show_element_token; + boolean show_read_only_warning; + boolean use_template_for_new_levels; }; @@ -1292,6 +1312,11 @@ struct SetupAutoSetupInfo int editor_zoom_tilesize; }; +struct SetupLevelSetupInfo +{ + char *last_level_series[MAX_LEVELDIR_HISTORY + 1]; +}; + struct SetupEditorCascadeInfo { boolean el_bd; @@ -1425,7 +1450,8 @@ struct SetupInfo boolean skip_levels; boolean increment_levels; boolean auto_play_next_level; - boolean skip_scores_after_game; + boolean count_score_after_game; + boolean show_scores_after_game; boolean time_limit; boolean fullscreen; int window_scaling_percent; @@ -1462,6 +1488,8 @@ struct SetupInfo char *network_server_hostname; struct SetupAutoSetupInfo auto_setup; + struct SetupLevelSetupInfo level_setup; + struct SetupEditorInfo editor; struct SetupEditorCascadeInfo editor_cascade; struct SetupShortcutInfo shortcut;