rnd-20030121-1-src
[rocksndiamonds.git] / src / libgame / system.h
index f77bc0acf59d9bfcc67f48d1a21b00fb76238ea7..423f49c5d56f1540924991a660d5b679f153a887 100644 (file)
 #define VERSION_PATCH(x)       ((x) % 100)
 
 /* functions for parent/child process identification */
-#define IS_PARENT_PROCESS(pid) ((pid) > 0)
+#define IS_PARENT_PROCESS(pid) ((pid) > 0 || (pid) == -1)
 #define IS_CHILD_PROCESS(pid)  ((pid) == 0)
 
 
@@ -511,19 +511,45 @@ struct ListNodeInfo
   int num_references;
 };
 
+struct PropertyMapping
+{
+  int base_index;
+  int ext1_index;
+  int ext2_index;
+
+  int artwork_index;
+};
+
 struct ArtworkListInfo
 {
   int type;                                    /* type of artwork */
 
   int num_file_list_entries;
-  int num_suffix_list_entries;
+  int num_dynamic_file_list_entries;
 
   struct FileInfo *file_list;                  /* static artwork file array */
+  struct FileInfo *dynamic_file_list;          /* dynamic artwrk file array */
+
+  int num_suffix_list_entries;
+
   struct ConfigInfo *suffix_list;              /* parameter suffixes array */
-  struct SetupFileList *custom_setup_list;     /* additional definitions */
 
-  struct ListNodeInfo **artwork_list;          /* static artwork node array */
+  int num_base_prefixes;
+  int num_ext1_suffixes;
+  int num_ext2_suffixes;
+
+  char **base_prefixes;                                /* base token prefixes array */
+  char **ext1_suffixes;                                /* property suffixes array 1 */
+  char **ext2_suffixes;                                /* property suffixes array 2 */
+
+  int num_property_mapping_entries;
 
+  struct PropertyMapping *property_mapping;    /* mapping token -> artwork */
+
+  int sizeof_artwork_list_entry;
+
+  struct ListNodeInfo **artwork_list;          /* static artwork node array */
+  struct ListNodeInfo **dynamic_artwork_list;  /* dynamic artwrk node array */
   struct ListNode *content_list;               /* dynamic artwork node list */
 
   void *(*load_artwork)(char *);               /* constructor function */