added support for fallback text file for element description files
[rocksndiamonds.git] / src / libgame / system.h
index cf2bf1632f66a0289e1c4f1bef5c7724ea2a189b..a3d94efd8159d5e7769f4d7f6d5dae55ba03c57f 100644 (file)
@@ -16,9 +16,9 @@
 #include "types.h"
 
 
-#if defined(PLATFORM_MACOSX)
+#if defined(PLATFORM_MAC)
 #include "macosx.h"
-#elif defined(PLATFORM_WIN32)
+#elif defined(PLATFORM_WINDOWS)
 #include "windows.h"
 #elif defined(PLATFORM_ANDROID)
 #include "android.h"
 #define USE_TOUCH_INPUT_OVERLAY
 #define USE_COMPLETE_DISPLAY
 #define HAS_SCREEN_KEYBOARD
-#define SCREEN_KEYBOARD_POS(h)         ((h) / 2)
+#define SCREEN_KEYBOARD_POS(h)         ((h) * 40 / 100)
 #endif
 
 // values for drag-and-drop support (some parts not added before SDL 2.0.5)
 #define DEFAULT_KEY_RIGHT              KSYM_Right
 #define DEFAULT_KEY_UP                 KSYM_Up
 #define DEFAULT_KEY_DOWN               KSYM_Down
-#if defined(PLATFORM_MACOSX)
+#if defined(PLATFORM_MAC)
 #define DEFAULT_KEY_SNAP               KSYM_Control_L
 #define DEFAULT_KEY_DROP               KSYM_KP_Enter
 #else
 #define MB_MENU_MARK                   TRUE
 #define MB_MENU_INITIALIZE             (-1)
 #define MB_MENU_LEAVE                  (-2)
+#define MB_MENU_CONTINUE               (-3)
 #define MB_LEFTBUTTON                  1
 #define MB_MIDDLEBUTTON                        2
 #define MB_RIGHTBUTTON                 3
 #define DOCS_DIRECTORY         "docs"
 #define ELEMENTS_DIRECTORY     "elements"
 #define CREDITS_DIRECTORY      "credits"
-#define INFO_DIRECTORY         "info"
+#define PROGRAM_INFO_DIRECTORY "program"
 #define CACHE_DIRECTORY                "cache"
 #define CONF_DIRECTORY         "conf"
 #define NETWORK_DIRECTORY      "network"
 
 #define GAMECONTROLLER_BASENAME        "gamecontrollerdb.txt"
 
+#define FALLBACK_TEXT_FILENAME "fallback.txt"
+
 #define LOG_OUT_BASENAME       "stdout.txt"
 #define LOG_ERR_BASENAME       "stderr.txt"
 
 #define STRING_NEWLINE_UNIX            "\n"
 #define STRING_NEWLINE_DOS             "\r\n"
 
-#if defined(PLATFORM_WIN32)
+#if defined(PLATFORM_WINDOWS)
 #define CHAR_PATH_SEPARATOR    CHAR_PATH_SEPARATOR_DOS
 #define STRING_PATH_SEPARATOR  STRING_PATH_SEPARATOR_DOS
 #define STRING_NEWLINE         STRING_NEWLINE_DOS
 #define BACKLINK_TEXT_MAIN     ".. (main menu)"
 #define BACKLINK_TEXT_SETUP    ".. (setup menu)"
 #define BACKLINK_TEXT_PARENT   ".. (parent directory)"
-#define BACKLINK_TEXT_SCORES   "back"
+#define BACKLINK_TEXT_BACK     "back"
+#define BACKLINK_TEXT_NEXT     "next"
 
 #define TREE_INFOTEXT(t)       ((t) == TREE_TYPE_SCORE_ENTRY ?         \
                                 INFOTEXT_SCORE_ENTRY :                 \
                                 INFOTEXT_UNDEFINED)
 
 #define TREE_BACKLINK_TEXT(t)  ((t) == TREE_TYPE_SCORE_ENTRY ?         \
-                                BACKLINK_TEXT_SCORES :                 \
+                                BACKLINK_TEXT_BACK :                   \
                                 (t) == TREE_TYPE_LEVEL_DIR ?           \
                                 BACKLINK_TEXT_MAIN :                   \
                                 BACKLINK_TEXT_SETUP)
@@ -1623,6 +1627,9 @@ struct TreeInfo
 
   char *special_flags; // flags for special actions performed on level file
 
+  char *empty_level_name;   // name pattern if level title is "nameless level"
+  boolean force_level_name; // force also renaming non-nameless level titles
+
   int levels;          // number of levels in level series
   int first_level;     // first level number (to allow start with 0 or 1)
   int last_level;      // last level number (automatically calculated)