rnd-20030104-1-src
[rocksndiamonds.git] / src / main.c
index 1fecbd9de3ec9402db6e99da65de77bac9be7973..46277b95ad0dccae43801e9992d668be4fe2de28 100644 (file)
 #include "events.h"
 
 GC             tile_clip_gc;
+#if 0
 Bitmap        *pix[NUM_BITMAPS];
+#endif
+Bitmap        *bitmap_db_field, *bitmap_db_door;
 Pixmap         tile_clipmask[NUM_TILES];
 DrawBuffer     *fieldbuffer;
 DrawBuffer     *drawto_field;
@@ -191,14 +194,14 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "bomb",                    "bomb"                          },
   { "magic_wall",              "magic wall"                    },     /* 20 */
   { "speed_pill",              "speed pill"                    },
-  { "acid",                    "acid pool"                     },
+  { "acid",                    "acid"                          },
   { "amoeba",                  "dropping amoeba"               },
   { "amoeba",                  "normal amoeba"                 },
   { "nut",                     "nut with emerald"              },
   { "gameoflife",              "Conway's wall of life"         },
   { "biomaze",                 "biomaze"                       },
   { "dynamite",                        "burning dynamite"              },
-  { NULL,                      "unknown"                       },
+  { "wall",                    "wall"                          },
   { "robot_wheel",             "magic wheel"                   },     /* 30 */
   { "robot_wheel",             "magic wheel (running)"         },
   { "key",                     "red key"                       },
@@ -232,7 +235,9 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "dark_yamyam",             "dark yam yam"                  },     /* 60 */
   { "bd_magic_wall",           "magic wall (BD style)"         },
   { "wall",                    "invisible steel wall"          },
-  { NULL,                      "-"                             },
+
+  { NULL,                      "(not used)"                    },
+
   { "dynabomb_nr",             "increases number of bombs"     },
   { "dynabomb_sz",             "increases explosion size"      },
   { "dynabomb_xl",             "increases power of explosion"  },
@@ -269,12 +274,12 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "emerald",                 "purple emerald"                },
   { "wall",                    "wall with red emerald"         },
   { "wall",                    "wall with purple emerald"      },
-  { NULL,                      "unknown"                       },    /* 100 */
-  { NULL,                      "unknown"                       },
-  { NULL,                      "unknown"                       },
-  { NULL,                      "unknown"                       },
-  { NULL,                      "unknown"                       },
-  { NULL,                      "normal wall (BD style)"        },
+  { "wall",                    "acid pool (top left)"          },    /* 100 */
+  { "wall",                    "acid pool (top right)"         },
+  { "wall",                    "acid pool (bottom left)"       },
+  { "wall",                    "acid pool (bottom)"            },
+  { "wall",                    "acid pool (bottom right)"      },
+  { "wall",                    "normal wall (BD style)"        },
   { "bd_rock",                 "rock (BD style)"               },
   { "exit",                    "open exit"                     },
   { NULL,                      "black orb bomb"                },
@@ -423,8 +428,9 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "gate",                    "gray door (EM style, yellow key)"},
   { "gate",                    "gray door (EM style, green key)"},
   { "gate",                    "gray door (EM style, blue key)"},
-  { NULL,                      "unknown"                       },
-  { NULL,                      "unknown"                       },
+
+  { NULL,                      "(not used)"                    },
+  { NULL,                      "(not used)"                    },
 
   /* 256 */
 
@@ -489,10 +495,13 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "mole",                    "mole (starts moving down)"     },
   { "wall",                    "steel wall (slanted)"          },
   { "sand",                    "invisible sand"                },
-  { NULL,                      "dx unknown 15"                 },
-  { NULL,                      "dx unknown 42"                 },
-  { NULL,                      "-"                             },
-  { NULL,                      "-"                             },    /* 320 */
+
+  { NULL,                      "dx unknown element 15"         },
+  { NULL,                      "dx unknown element 42"         },
+
+  { NULL,                      "(not used)"                    },
+  { NULL,                      "(not used)"                    },    /* 320 */
+
   { "shield_deadly",           "shield (deadly, kills enemies)"},
   { "timegate",                        "time gate (open)"              },
   { "timegate",                        "time gate (closed)"            },
@@ -530,6 +539,137 @@ struct ElementInfo element_info[MAX_ELEMENTS] =
   { "spring",                  "spring"                        },
   { "trap",                    "trap"                          },
   { "dx_bomb",                 "stable bomb (DX style)"        },
+  { NULL,                      "-"                             },
+  { NULL,                      "-"                             },
+  { "custom",                  "custom element 0"              },
+  { "custom",                  "custom element 1"              },
+  { "custom",                  "custom element 2"              },
+  { "custom",                  "custom element 3"              },
+  { "custom",                  "custom element 4"              },
+  { "custom",                  "custom element 5"              },
+  { "custom",                  "custom element 6"              },
+  { "custom",                  "custom element 7"              },
+  { "custom",                  "custom element 8"              },
+  { "custom",                  "custom element 9"              },
+  { "custom",                  "custom element 10"             },
+  { "custom",                  "custom element 11"             },
+  { "custom",                  "custom element 12"             },
+  { "custom",                  "custom element 13"             },
+  { "custom",                  "custom element 14"             },
+  { "custom",                  "custom element 15"             },
+  { "custom",                  "custom element 16"             },
+  { "custom",                  "custom element 17"             },
+  { "custom",                  "custom element 18"             },
+  { "custom",                  "custom element 19"             },
+  { "custom",                  "custom element 20"             },
+  { "custom",                  "custom element 21"             },
+  { "custom",                  "custom element 22"             },
+  { "custom",                  "custom element 23"             },
+  { "custom",                  "custom element 24"             },
+  { "custom",                  "custom element 25"             },
+  { "custom",                  "custom element 26"             },
+  { "custom",                  "custom element 27"             },
+  { "custom",                  "custom element 28"             },
+  { "custom",                  "custom element 29"             },
+  { "custom",                  "custom element 30"             },
+  { "custom",                  "custom element 31"             },
+  { "custom",                  "custom element 32"             },
+  { "custom",                  "custom element 33"             },
+  { "custom",                  "custom element 34"             },
+  { "custom",                  "custom element 35"             },
+  { "custom",                  "custom element 36"             },
+  { "custom",                  "custom element 37"             },
+  { "custom",                  "custom element 38"             },
+  { "custom",                  "custom element 39"             },
+  { "custom",                  "custom element 40"             },
+  { "custom",                  "custom element 41"             },
+  { "custom",                  "custom element 42"             },
+  { "custom",                  "custom element 43"             },
+  { "custom",                  "custom element 44"             },
+  { "custom",                  "custom element 45"             },
+  { "custom",                  "custom element 46"             },
+  { "custom",                  "custom element 47"             },
+  { "custom",                  "custom element 48"             },
+  { "custom",                  "custom element 49"             },
+  { "custom",                  "custom element 50"             },
+  { "custom",                  "custom element 51"             },
+  { "custom",                  "custom element 52"             },
+  { "custom",                  "custom element 53"             },
+  { "custom",                  "custom element 54"             },
+  { "custom",                  "custom element 55"             },
+  { "custom",                  "custom element 56"             },
+  { "custom",                  "custom element 57"             },
+  { "custom",                  "custom element 58"             },
+  { "custom",                  "custom element 59"             },
+  { "custom",                  "custom element 60"             },
+  { "custom",                  "custom element 61"             },
+  { "custom",                  "custom element 62"             },
+  { "custom",                  "custom element 63"             },
+  { "custom",                  "custom element 64"             },
+  { "custom",                  "custom element 65"             },
+  { "custom",                  "custom element 66"             },
+  { "custom",                  "custom element 67"             },
+  { "custom",                  "custom element 68"             },
+  { "custom",                  "custom element 69"             },
+  { "custom",                  "custom element 70"             },
+  { "custom",                  "custom element 71"             },
+  { "custom",                  "custom element 72"             },
+  { "custom",                  "custom element 73"             },
+  { "custom",                  "custom element 74"             },
+  { "custom",                  "custom element 75"             },
+  { "custom",                  "custom element 76"             },
+  { "custom",                  "custom element 77"             },
+  { "custom",                  "custom element 78"             },
+  { "custom",                  "custom element 79"             },
+  { "custom",                  "custom element 80"             },
+  { "custom",                  "custom element 81"             },
+  { "custom",                  "custom element 82"             },
+  { "custom",                  "custom element 83"             },
+  { "custom",                  "custom element 84"             },
+  { "custom",                  "custom element 85"             },
+  { "custom",                  "custom element 86"             },
+  { "custom",                  "custom element 87"             },
+  { "custom",                  "custom element 88"             },
+  { "custom",                  "custom element 89"             },
+  { "custom",                  "custom element 90"             },
+  { "custom",                  "custom element 91"             },
+  { "custom",                  "custom element 92"             },
+  { "custom",                  "custom element 93"             },
+  { "custom",                  "custom element 94"             },
+  { "custom",                  "custom element 95"             },
+  { "custom",                  "custom element 96"             },
+  { "custom",                  "custom element 97"             },
+  { "custom",                  "custom element 98"             },
+  { "custom",                  "custom element 99"             },
+  { "custom",                  "custom element 100"            },
+  { "custom",                  "custom element 101"            },
+  { "custom",                  "custom element 102"            },
+  { "custom",                  "custom element 103"            },
+  { "custom",                  "custom element 104"            },
+  { "custom",                  "custom element 105"            },
+  { "custom",                  "custom element 106"            },
+  { "custom",                  "custom element 107"            },
+  { "custom",                  "custom element 108"            },
+  { "custom",                  "custom element 109"            },
+  { "custom",                  "custom element 110"            },
+  { "custom",                  "custom element 111"            },
+  { "custom",                  "custom element 112"            },
+  { "custom",                  "custom element 113"            },
+  { "custom",                  "custom element 114"            },
+  { "custom",                  "custom element 115"            },
+  { "custom",                  "custom element 116"            },
+  { "custom",                  "custom element 117"            },
+  { "custom",                  "custom element 118"            },
+  { "custom",                  "custom element 119"            },
+  { "custom",                  "custom element 120"            },
+  { "custom",                  "custom element 121"            },
+  { "custom",                  "custom element 122"            },
+  { "custom",                  "custom element 123"            },
+  { "custom",                  "custom element 124"            },
+  { "custom",                  "custom element 125"            },
+  { "custom",                  "custom element 126"            },
+  { "custom",                  "custom element 127"            },
+
   { NULL,                      "-"                             }
 
   /*