rnd-20031019-4-src
[rocksndiamonds.git] / src / libgame / setup.h
index 954079151d136591a40740c3aba9c16bf56d8719..2498fe7d2345f5500484d05a99590454eaa74b5d 100644 (file)
@@ -89,10 +89,10 @@ typedef struct hashtable SetupFileHash;
 #define LEVELCLASS_TUTORIAL_END                99
 #define LEVELCLASS_CLASSICS_START      100
 #define LEVELCLASS_CLASSICS_END                199
-#define LEVELCLASS_CONTRIBUTION_START  200
-#define LEVELCLASS_CONTRIBUTION_END    299
-#define LEVELCLASS_USER_START          300
-#define LEVELCLASS_USER_END            399
+#define LEVELCLASS_CONTRIB_START       200
+#define LEVELCLASS_CONTRIB_END         299
+#define LEVELCLASS_PRIVATE_START       300
+#define LEVELCLASS_PRIVATE_END         399
 #define LEVELCLASS_BD_START            400
 #define LEVELCLASS_BD_END              499
 #define LEVELCLASS_EM_START            500
@@ -102,10 +102,13 @@ typedef struct hashtable SetupFileHash;
 #define LEVELCLASS_DX_START            700
 #define LEVELCLASS_DX_END              799
 
+#define LEVELCLASS_PREDEFINED_START    LEVELCLASS_TUTORIAL_START
+#define LEVELCLASS_PREDEFINED_END      LEVELCLASS_DX_END
+
 #define LEVELCLASS_TUTORIAL            LEVELCLASS_TUTORIAL_START
 #define LEVELCLASS_CLASSICS            LEVELCLASS_CLASSICS_START
-#define LEVELCLASS_CONTRIBUTION                LEVELCLASS_CONTRIBUTION_START
-#define LEVELCLASS_USER                        LEVELCLASS_USER_START
+#define LEVELCLASS_CONTRIB             LEVELCLASS_CONTRIB_START
+#define LEVELCLASS_PRIVATE             LEVELCLASS_PRIVATE_START
 #define LEVELCLASS_BD                  LEVELCLASS_BD_START
 #define LEVELCLASS_EM                  LEVELCLASS_EM_START
 #define LEVELCLASS_SP                  LEVELCLASS_SP_START
@@ -113,75 +116,78 @@ typedef struct hashtable SetupFileHash;
 
 #define LEVELCLASS_UNDEFINED           999
 
-#define IS_LEVELCLASS_TUTORIAL(p) \
-       ((p)->sort_priority >= LEVELCLASS_TUTORIAL_START && \
+#define IS_LEVELCLASS_TUTORIAL(p)                                      \
+       ((p)->sort_priority >= LEVELCLASS_TUTORIAL_START &&             \
         (p)->sort_priority <= LEVELCLASS_TUTORIAL_END)
-#define IS_LEVELCLASS_CLASSICS(p) \
-       ((p)->sort_priority >= LEVELCLASS_CLASSICS_START && \
+#define IS_LEVELCLASS_CLASSICS(p)                                      \
+       ((p)->sort_priority >= LEVELCLASS_CLASSICS_START &&             \
         (p)->sort_priority <= LEVELCLASS_CLASSICS_END)
-#define IS_LEVELCLASS_CONTRIBUTION(p) \
-       ((p)->sort_priority >= LEVELCLASS_CONTRIBUTION_START && \
-        (p)->sort_priority <= LEVELCLASS_CONTRIBUTION_END)
-#define IS_LEVELCLASS_USER(p) \
-       ((p)->sort_priority >= LEVELCLASS_USER_START && \
-        (p)->sort_priority <= LEVELCLASS_USER_END)
-#define IS_LEVELCLASS_BD(p) \
-       ((p)->sort_priority >= LEVELCLASS_BD_START && \
+#define IS_LEVELCLASS_CONTRIB(p)                                       \
+       ((p)->sort_priority >= LEVELCLASS_CONTRIB_START &&              \
+        (p)->sort_priority <= LEVELCLASS_CONTRIB_END)
+#define IS_LEVELCLASS_PRIVATE(p)                                       \
+       ((p)->sort_priority >= LEVELCLASS_PRIVATE_START &&              \
+        (p)->sort_priority <= LEVELCLASS_PRIVATE_END)
+#define IS_LEVELCLASS_BD(p)                                            \
+       ((p)->sort_priority >= LEVELCLASS_BD_START &&                   \
         (p)->sort_priority <= LEVELCLASS_BD_END)
-#define IS_LEVELCLASS_EM(p) \
-       ((p)->sort_priority >= LEVELCLASS_EM_START && \
+#define IS_LEVELCLASS_EM(p)                                            \
+       ((p)->sort_priority >= LEVELCLASS_EM_START &&                   \
         (p)->sort_priority <= LEVELCLASS_EM_END)
-#define IS_LEVELCLASS_SP(p) \
-       ((p)->sort_priority >= LEVELCLASS_SP_START && \
+#define IS_LEVELCLASS_SP(p)                                            \
+       ((p)->sort_priority >= LEVELCLASS_SP_START &&                   \
         (p)->sort_priority <= LEVELCLASS_SP_END)
-#define IS_LEVELCLASS_DX(p) \
-       ((p)->sort_priority >= LEVELCLASS_DX_START && \
+#define IS_LEVELCLASS_DX(p)                                            \
+       ((p)->sort_priority >= LEVELCLASS_DX_START &&                   \
         (p)->sort_priority <= LEVELCLASS_DX_END)
+#define IS_LEVELCLASS_UNDEFINED(p)                                     \
+       ((p)->sort_priority < LEVELCLASS_PREDEFINED_START ||            \
+        (p)->sort_priority > LEVELCLASS_PREDEFINED_END)
 
 #define LEVELCLASS(n)  (IS_LEVELCLASS_TUTORIAL(n) ? LEVELCLASS_TUTORIAL : \
                         IS_LEVELCLASS_CLASSICS(n) ? LEVELCLASS_CLASSICS : \
-                        IS_LEVELCLASS_CONTRIBUTION(n) ? LEVELCLASS_CONTRIBUTION : \
-                        IS_LEVELCLASS_USER(n) ? LEVELCLASS_USER : \
-                        IS_LEVELCLASS_BD(n) ? LEVELCLASS_BD : \
-                        IS_LEVELCLASS_EM(n) ? LEVELCLASS_EM : \
-                        IS_LEVELCLASS_SP(n) ? LEVELCLASS_SP : \
-                        IS_LEVELCLASS_DX(n) ? LEVELCLASS_DX : \
+                        IS_LEVELCLASS_CONTRIB(n) ? LEVELCLASS_CONTRIB :   \
+                        IS_LEVELCLASS_PRIVATE(n) ? LEVELCLASS_PRIVATE :   \
+                        IS_LEVELCLASS_BD(n) ? LEVELCLASS_BD :             \
+                        IS_LEVELCLASS_EM(n) ? LEVELCLASS_EM :             \
+                        IS_LEVELCLASS_SP(n) ? LEVELCLASS_SP :             \
+                        IS_LEVELCLASS_DX(n) ? LEVELCLASS_DX :             \
                         LEVELCLASS_UNDEFINED)
 
 /* sort priorities of artwork */
 #define ARTWORKCLASS_CLASSICS_START    100
 #define ARTWORKCLASS_CLASSICS_END      199
-#define ARTWORKCLASS_CONTRIBUTION_START        200
-#define ARTWORKCLASS_CONTRIBUTION_END  299
-#define ARTWORKCLASS_LEVEL_START       300
-#define ARTWORKCLASS_LEVEL_END         399
-#define ARTWORKCLASS_USER_START                400
-#define ARTWORKCLASS_USER_END          499
+#define ARTWORKCLASS_CONTRIB_START     200
+#define ARTWORKCLASS_CONTRIB_END       299
+#define ARTWORKCLASS_PRIVATE_START     300
+#define ARTWORKCLASS_PRIVATE_END       399
+#define ARTWORKCLASS_LEVEL_START       400
+#define ARTWORKCLASS_LEVEL_END         499
 
 #define ARTWORKCLASS_CLASSICS          ARTWORKCLASS_CLASSICS_START
-#define ARTWORKCLASS_CONTRIBUTION      ARTWORKCLASS_CONTRIBUTION_START
+#define ARTWORKCLASS_CONTRIB           ARTWORKCLASS_CONTRIB_START
+#define ARTWORKCLASS_PRIVATE           ARTWORKCLASS_PRIVATE_START
 #define ARTWORKCLASS_LEVEL             ARTWORKCLASS_LEVEL_START
-#define ARTWORKCLASS_USER              ARTWORKCLASS_USER_START
 
 #define ARTWORKCLASS_UNDEFINED         999
 
-#define IS_ARTWORKCLASS_CLASSICS(p) \
-       ((p)->sort_priority >= ARTWORKCLASS_CLASSICS_START && \
+#define IS_ARTWORKCLASS_CLASSICS(p)                                    \
+       ((p)->sort_priority >= ARTWORKCLASS_CLASSICS_START &&           \
         (p)->sort_priority <= ARTWORKCLASS_CLASSICS_END)
-#define IS_ARTWORKCLASS_CONTRIBUTION(p) \
-       ((p)->sort_priority >= ARTWORKCLASS_CONTRIBUTION_START && \
-        (p)->sort_priority <= ARTWORKCLASS_CONTRIBUTION_END)
-#define IS_ARTWORKCLASS_LEVEL(p) \
-       ((p)->sort_priority >= ARTWORKCLASS_LEVEL_START && \
+#define IS_ARTWORKCLASS_CONTRIB(p)                                     \
+       ((p)->sort_priority >= ARTWORKCLASS_CONTRIB_START &&            \
+        (p)->sort_priority <= ARTWORKCLASS_CONTRIB_END)
+#define IS_ARTWORKCLASS_PRIVATE(p)                                     \
+       ((p)->sort_priority >= ARTWORKCLASS_PRIVATE_START &&            \
+        (p)->sort_priority <= ARTWORKCLASS_PRIVATE_END)
+#define IS_ARTWORKCLASS_LEVEL(p)                                       \
+       ((p)->sort_priority >= ARTWORKCLASS_LEVEL_START &&              \
         (p)->sort_priority <= ARTWORKCLASS_LEVEL_END)
-#define IS_ARTWORKCLASS_USER(p) \
-       ((p)->sort_priority >= ARTWORKCLASS_USER_START && \
-        (p)->sort_priority <= ARTWORKCLASS_USER_END)
 
 #define ARTWORKCLASS(n)        (IS_ARTWORKCLASS_CLASSICS(n) ? ARTWORKCLASS_CLASSICS :\
-                        IS_ARTWORKCLASS_CONTRIBUTION(n) ? ARTWORKCLASS_CONTRIBUTION : \
-                        IS_ARTWORKCLASS_LEVEL(n) ? ARTWORKCLASS_LEVEL : \
-                        IS_ARTWORKCLASS_USER(n) ? ARTWORKCLASS_USER : \
+                        IS_ARTWORKCLASS_CONTRIB(n) ? ARTWORKCLASS_CONTRIB :  \
+                        IS_ARTWORKCLASS_PRIVATE(n) ? ARTWORKCLASS_PRIVATE :  \
+                        IS_ARTWORKCLASS_LEVEL(n) ? ARTWORKCLASS_LEVEL :      \
                         ARTWORKCLASS_UNDEFINED)