From 1e2c52c04364f8b724bde8ee540c56dd1062a1c9 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 2 Feb 2003 03:17:38 +0100 Subject: [PATCH] rnd-20030202-1-src --- src/conf_esg.c | 52 ++ src/conf_gfx.c | 112 +++- src/conf_gfx.h | 1533 ++++++++++++++++++++++--------------------- src/conftime.h | 2 +- src/init.c | 74 +-- src/libgame/image.c | 2 + src/main.c | 292 ++++++++- src/main.h | 6 +- src/tools.c | 58 +- src/tools.h | 1 + 10 files changed, 1261 insertions(+), 871 deletions(-) diff --git a/src/conf_esg.c b/src/conf_esg.c index dc3f5045..729651c2 100644 --- a/src/conf_esg.c +++ b/src/conf_esg.c @@ -27,10 +27,62 @@ static struct } element_to_special_graphic[] = { + { + EL_AMOEBA_WET, GFX_SPECIAL_ARG_EDITOR, + IMG_AMOEBA_WET_EDITOR + }, { EL_AMOEBA_FULL, GFX_SPECIAL_ARG_EDITOR, IMG_AMOEBA_FULL_EDITOR }, + { + EL_STEELWALL_TOPLEFT, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_TOPLEFT_EDITOR + }, + { + EL_STEELWALL_TOPRIGHT, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_TOPRIGHT_EDITOR + }, + { + EL_STEELWALL_BOTTOMLEFT, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_BOTTOMLEFT_EDITOR + }, + { + EL_STEELWALL_BOTTOMRIGHT, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_BOTTOMRIGHT_EDITOR + }, + { + EL_STEELWALL_HORIZONTAL, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_HORIZONTAL_EDITOR + }, + { + EL_STEELWALL_VERTICAL, GFX_SPECIAL_ARG_EDITOR, + IMG_STEELWALL_VERTICAL_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_TOPLEFT, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_TOPRIGHT, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_BOTTOMLEFT, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_BOTTOMRIGHT, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_HORIZONTAL, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR + }, + { + EL_INVISIBLE_STEELWALL_VERTICAL, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR + }, { -1, -1, -1 diff --git a/src/conf_gfx.c b/src/conf_gfx.c index ae6fa9f1..c26ed0fd 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -883,6 +883,10 @@ struct ConfigInfo image_config[] = { "amoeba_wet.xpos", "8" }, { "amoeba_wet.ypos", "6" }, { "amoeba_wet.frames", "1" }, + { "amoeba_wet.EDITOR", "RocksElements.pcx" }, + { "amoeba_wet.EDITOR.xpos", "4" }, + { "amoeba_wet.EDITOR.ypos", "6" }, + { "amoeba_wet.EDITOR.frames", "1" }, { "amoeba_wet_part1", "RocksElements.pcx" }, { "amoeba_wet_part1.xpos", "8" }, { "amoeba_wet_part1.ypos", "6" }, @@ -2483,55 +2487,105 @@ struct ConfigInfo image_config[] = { "twinkle_white.global_sync", "false" }, { "steelwall_topleft", "RocksElements.pcx" }, - { "steelwall_topleft.xpos", "0" }, - { "steelwall_topleft.ypos", "13" }, + { "steelwall_topleft.xpos", "4" }, + { "steelwall_topleft.ypos", "0" }, { "steelwall_topleft.frames", "1" }, { "steelwall_topright", "RocksElements.pcx" }, - { "steelwall_topright.xpos", "1" }, - { "steelwall_topright.ypos", "13" }, + { "steelwall_topright.xpos", "4" }, + { "steelwall_topright.ypos", "0" }, { "steelwall_topright.frames", "1" }, { "steelwall_bottomleft", "RocksElements.pcx" }, - { "steelwall_bottomleft.xpos", "2" }, - { "steelwall_bottomleft.ypos", "13" }, + { "steelwall_bottomleft.xpos", "4" }, + { "steelwall_bottomleft.ypos", "0" }, { "steelwall_bottomleft.frames", "1" }, { "steelwall_bottomright", "RocksElements.pcx" }, - { "steelwall_bottomright.xpos", "3" }, - { "steelwall_bottomright.ypos", "13" }, + { "steelwall_bottomright.xpos", "4" }, + { "steelwall_bottomright.ypos", "0" }, { "steelwall_bottomright.frames", "1" }, { "steelwall_horizontal", "RocksElements.pcx" }, { "steelwall_horizontal.xpos", "4" }, - { "steelwall_horizontal.ypos", "13" }, + { "steelwall_horizontal.ypos", "0" }, { "steelwall_horizontal.frames", "1" }, { "steelwall_vertical", "RocksElements.pcx" }, - { "steelwall_vertical.xpos", "5" }, - { "steelwall_vertical.ypos", "13" }, + { "steelwall_vertical.xpos", "4" }, + { "steelwall_vertical.ypos", "0" }, { "steelwall_vertical.frames", "1" }, - { "invisible_steelwall_topleft", "RocksElements.pcx" }, - { "invisible_steelwall_topleft.xpos", "6" }, - { "invisible_steelwall_topleft.ypos", "13" }, + { "steelwall_topleft.EDITOR", "RocksElements.pcx" }, + { "steelwall_topleft.EDITOR.xpos", "0" }, + { "steelwall_topleft.EDITOR.ypos", "13" }, + { "steelwall_topleft.EDITOR.frames", "1" }, + { "steelwall_topright.EDITOR", "RocksElements.pcx" }, + { "steelwall_topright.EDITOR.xpos", "1" }, + { "steelwall_topright.EDITOR.ypos", "13" }, + { "steelwall_topright.EDITOR.frames", "1" }, + { "steelwall_bottomleft.EDITOR", "RocksElements.pcx" }, + { "steelwall_bottomleft.EDITOR.xpos", "2" }, + { "steelwall_bottomleft.EDITOR.ypos", "13" }, + { "steelwall_bottomleft.EDITOR.frames", "1" }, + { "steelwall_bottomright.EDITOR", "RocksElements.pcx" }, + { "steelwall_bottomright.EDITOR.xpos", "3" }, + { "steelwall_bottomright.EDITOR.ypos", "13" }, + { "steelwall_bottomright.EDITOR.frames", "1" }, + { "steelwall_horizontal.EDITOR", "RocksElements.pcx" }, + { "steelwall_horizontal.EDITOR.xpos", "4" }, + { "steelwall_horizontal.EDITOR.ypos", "13" }, + { "steelwall_horizontal.EDITOR.frames", "1" }, + { "steelwall_vertical.EDITOR", "RocksElements.pcx" }, + { "steelwall_vertical.EDITOR.xpos", "5" }, + { "steelwall_vertical.EDITOR.ypos", "13" }, + { "steelwall_vertical.EDITOR.frames", "1" }, + + { "invisible_steelwall_topleft", "RocksSP.pcx" }, + { "invisible_steelwall_topleft.xpos", "0" }, + { "invisible_steelwall_topleft.ypos", "0" }, { "invisible_steelwall_topleft.frames", "1" }, - { "invisible_steelwall_topright", "RocksElements.pcx" }, - { "invisible_steelwall_topright.xpos", "7" }, - { "invisible_steelwall_topright.ypos", "13" }, + { "invisible_steelwall_topright", "RocksSP.pcx" }, + { "invisible_steelwall_topright.xpos", "0" }, + { "invisible_steelwall_topright.ypos", "0" }, { "invisible_steelwall_topright.frames", "1" }, - { "invisible_steelwall_bottomleft", "RocksElements.pcx" }, - { "invisible_steelwall_bottomleft.xpos", "8" }, - { "invisible_steelwall_bottomleft.ypos", "13" }, + { "invisible_steelwall_bottomleft", "RocksSP.pcx" }, + { "invisible_steelwall_bottomleft.xpos", "0" }, + { "invisible_steelwall_bottomleft.ypos", "0" }, { "invisible_steelwall_bottomleft.frames", "1" }, - { "invisible_steelwall_bottomright", "RocksElements.pcx" }, - { "invisible_steelwall_bottomright.xpos", "9" }, - { "invisible_steelwall_bottomright.ypos", "13" }, + { "invisible_steelwall_bottomright", "RocksSP.pcx" }, + { "invisible_steelwall_bottomright.xpos", "0" }, + { "invisible_steelwall_bottomright.ypos", "0" }, { "invisible_steelwall_bottomright.frames", "1" }, - { "invisible_steelwall_horizontal", "RocksElements.pcx" }, - { "invisible_steelwall_horizontal.xpos", "10" }, - { "invisible_steelwall_horizontal.ypos", "13" }, + { "invisible_steelwall_horizontal", "RocksSP.pcx" }, + { "invisible_steelwall_horizontal.xpos", "0" }, + { "invisible_steelwall_horizontal.ypos", "0" }, { "invisible_steelwall_horizontal.frames", "1" }, - { "invisible_steelwall_vertical", "RocksElements.pcx" }, - { "invisible_steelwall_vertical.xpos", "11" }, - { "invisible_steelwall_vertical.ypos", "13" }, + { "invisible_steelwall_vertical", "RocksSP.pcx" }, + { "invisible_steelwall_vertical.xpos", "0" }, + { "invisible_steelwall_vertical.ypos", "0" }, { "invisible_steelwall_vertical.frames", "1" }, + { "invisible_steelwall_topleft.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_topleft.EDITOR.xpos", "6" }, + { "invisible_steelwall_topleft.EDITOR.ypos", "13" }, + { "invisible_steelwall_topleft.EDITOR.frames","1" }, + { "invisible_steelwall_topright.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_topright.EDITOR.xpos", "7" }, + { "invisible_steelwall_topright.EDITOR.ypos", "13" }, + { "invisible_steelwall_topright.EDITOR.frames","1" }, + { "invisible_steelwall_bottomleft.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_bottomleft.EDITOR.xpos","8" }, + { "invisible_steelwall_bottomleft.EDITOR.ypos","13" }, + { "invisible_steelwall_bottomleft.EDITOR.frames","1" }, + { "invisible_steelwall_bottomright.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_bottomright.EDITOR.xpos","9" }, + { "invisible_steelwall_bottomright.EDITOR.ypos","13" }, + { "invisible_steelwall_bottomright.EDITOR.frames","1" }, + { "invisible_steelwall_horizontal.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_horizontal.EDITOR.xpos","10" }, + { "invisible_steelwall_horizontal.EDITOR.ypos","13" }, + { "invisible_steelwall_horizontal.EDITOR.frames","1" }, + { "invisible_steelwall_vertical.EDITOR", "RocksElements.pcx" }, + { "invisible_steelwall_vertical.EDITOR.xpos", "11" }, + { "invisible_steelwall_vertical.EDITOR.ypos", "13" }, + { "invisible_steelwall_vertical.EDITOR.frames","1" }, + { "arrow_blue.left", "RocksDC.pcx" }, { "arrow_blue.left.xpos", "8" }, { "arrow_blue.left.ypos", "8" }, diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 3114a8cd..85ddaa4c 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -18,766 +18,779 @@ /* values for graphics configuration (normal elements) */ -#define IMG_BD_WALL 0 -#define IMG_BD_ROCK 1 -#define IMG_BD_ROCK_FALLING 2 -#define IMG_BD_ROCK_MOVING_LEFT 3 -#define IMG_BD_ROCK_MOVING_RIGHT 4 -#define IMG_BD_DIAMOND 5 -#define IMG_BD_DIAMOND_MOVING 6 -#define IMG_BD_DIAMOND_FALLING 7 -#define IMG_BD_MAGIC_WALL 8 -#define IMG_BD_MAGIC_WALL_ACTIVE 9 -#define IMG_BD_MAGIC_WALL_FILLING 10 -#define IMG_BD_MAGIC_WALL_FULL 11 -#define IMG_BD_MAGIC_WALL_EMPTYING 12 -#define IMG_BD_MAGIC_WALL_DEAD 13 -#define IMG_BD_AMOEBA 14 -#define IMG_BD_AMOEBA_PART1 15 -#define IMG_BD_AMOEBA_PART2 16 -#define IMG_BD_AMOEBA_PART3 17 -#define IMG_BD_AMOEBA_PART4 18 -#define IMG_BD_BUTTERFLY 19 -#define IMG_BD_BUTTERFLY_RIGHT 20 -#define IMG_BD_BUTTERFLY_UP 21 -#define IMG_BD_BUTTERFLY_LEFT 22 -#define IMG_BD_BUTTERFLY_DOWN 23 -#define IMG_BD_BUTTERFLY_MOVING 24 -#define IMG_BD_FIREFLY 25 -#define IMG_BD_FIREFLY_RIGHT 26 -#define IMG_BD_FIREFLY_UP 27 -#define IMG_BD_FIREFLY_LEFT 28 -#define IMG_BD_FIREFLY_DOWN 29 -#define IMG_BD_FIREFLY_MOVING 30 -#define IMG_SP_EMPTY_SPACE 31 -#define IMG_SP_ZONK 32 -#define IMG_SP_ZONK_FALLING 33 -#define IMG_SP_ZONK_MOVING_LEFT 34 -#define IMG_SP_ZONK_MOVING_RIGHT 35 -#define IMG_SP_BASE 36 -#define IMG_SP_MURPHY 37 -#define IMG_SP_MURPHY_LEFT 38 -#define IMG_SP_MURPHY_RIGHT 39 -#define IMG_SP_MURPHY_UP 40 -#define IMG_SP_MURPHY_DOWN 41 -#define IMG_SP_MURPHY_MOVING_LEFT 42 -#define IMG_SP_MURPHY_MOVING_RIGHT 43 -#define IMG_SP_MURPHY_DIGGING_LEFT 44 -#define IMG_SP_MURPHY_DIGGING_RIGHT 45 -#define IMG_SP_MURPHY_PUSHING_LEFT 46 -#define IMG_SP_MURPHY_PUSHING_RIGHT 47 -#define IMG_SP_MURPHY_SNAPPING_LEFT 48 -#define IMG_SP_MURPHY_SNAPPING_RIGHT 49 -#define IMG_SP_MURPHY_SNAPPING_UP 50 -#define IMG_SP_MURPHY_SNAPPING_DOWN 51 -#define IMG_SP_MURPHY_CLONE 52 -#define IMG_SP_INFOTRON 53 -#define IMG_SP_INFOTRON_FALLING 54 -#define IMG_SP_CHIP_SINGLE 55 -#define IMG_SP_CHIP_LEFT 56 -#define IMG_SP_CHIP_RIGHT 57 -#define IMG_SP_CHIP_UPPER 58 -#define IMG_SP_CHIP_LOWER 59 -#define IMG_SP_HARD_GRAY 60 -#define IMG_SP_HARD_GREEN 61 -#define IMG_SP_HARD_BLUE 62 -#define IMG_SP_HARD_RED 63 -#define IMG_SP_HARD_YELLOW 64 -#define IMG_SP_EXIT_CLOSED 65 -#define IMG_SP_EXIT_OPEN 66 -#define IMG_SP_DISK_ORANGE 67 -#define IMG_SP_DISK_ORANGE_FALLING 68 -#define IMG_SP_DISK_ORANGE_PUSHING 69 -#define IMG_SP_DISK_YELLOW 70 -#define IMG_SP_DISK_YELLOW_PUSHING 71 -#define IMG_SP_DISK_RED 72 -#define IMG_SP_DISK_RED_COLLECTING 73 -#define IMG_SP_PORT1_RIGHT 74 -#define IMG_SP_PORT1_DOWN 75 -#define IMG_SP_PORT1_LEFT 76 -#define IMG_SP_PORT1_UP 77 -#define IMG_SP_PORT2_RIGHT 78 -#define IMG_SP_PORT2_DOWN 79 -#define IMG_SP_PORT2_LEFT 80 -#define IMG_SP_PORT2_UP 81 -#define IMG_SP_PORT_X 82 -#define IMG_SP_PORT_Y 83 -#define IMG_SP_PORT_XY 84 -#define IMG_SP_SNIKSNAK 85 -#define IMG_SP_SNIKSNAK_LEFT 86 -#define IMG_SP_SNIKSNAK_RIGHT 87 -#define IMG_SP_SNIKSNAK_UP 88 -#define IMG_SP_SNIKSNAK_DOWN 89 -#define IMG_SP_ELECTRON 90 -#define IMG_SP_TERMINAL 91 -#define IMG_SP_TERMINAL_ACTIVE 92 -#define IMG_SP_BUGGY_BASE 93 -#define IMG_SP_BUGGY_BASE_ACTIVATING 94 -#define IMG_SP_BUGGY_BASE_ACTIVE 95 -#define IMG_SP_HARD_BASE1 96 -#define IMG_SP_HARD_BASE2 97 -#define IMG_SP_HARD_BASE3 98 -#define IMG_SP_HARD_BASE4 99 -#define IMG_SP_HARD_BASE5 100 -#define IMG_SP_HARD_BASE6 101 -#define IMG_SP_EXPLOSION 102 -#define IMG_SP_EXPLOSION_INFOTRON 103 -#define IMG_SOKOBAN_OBJECT 104 -#define IMG_SOKOBAN_FIELD_EMPTY 105 -#define IMG_SOKOBAN_FIELD_FULL 106 -#define IMG_EMPTY_SPACE 107 -#define IMG_SAND 108 -#define IMG_SAND_CRUMBLED 109 -#define IMG_WALL 110 -#define IMG_WALL_CRUMBLED 111 -#define IMG_STEELWALL 112 -#define IMG_ROCK 113 -#define IMG_ROCK_FALLING 114 -#define IMG_ROCK_MOVING_LEFT 115 -#define IMG_ROCK_MOVING_RIGHT 116 -#define IMG_EMERALD 117 -#define IMG_EMERALD_MOVING 118 -#define IMG_EMERALD_FALLING 119 -#define IMG_DIAMOND 120 -#define IMG_DIAMOND_MOVING 121 -#define IMG_DIAMOND_FALLING 122 -#define IMG_BOMB 123 -#define IMG_NUT 124 -#define IMG_NUT_FALLING 125 -#define IMG_NUT_MOVING_LEFT 126 -#define IMG_NUT_MOVING_RIGHT 127 -#define IMG_NUT_CRACKING 128 -#define IMG_DYNAMITE 129 -#define IMG_DYNAMITE_ACTIVE 130 -#define IMG_WALL_EMERALD 131 -#define IMG_WALL_DIAMOND 132 -#define IMG_BUG_RIGHT 133 -#define IMG_BUG_UP 134 -#define IMG_BUG_LEFT 135 -#define IMG_BUG_DOWN 136 -#define IMG_SPACESHIP_RIGHT 137 -#define IMG_SPACESHIP_UP 138 -#define IMG_SPACESHIP_LEFT 139 -#define IMG_SPACESHIP_DOWN 140 -#define IMG_YAMYAM 141 -#define IMG_YAMYAM_MOVING 142 -#define IMG_ROBOT 143 -#define IMG_ROBOT_MOVING 144 -#define IMG_ROBOT_WHEEL 145 -#define IMG_ROBOT_WHEEL_ACTIVE 146 -#define IMG_MAGIC_WALL 147 -#define IMG_MAGIC_WALL_ACTIVE 148 -#define IMG_MAGIC_WALL_FILLING 149 -#define IMG_MAGIC_WALL_FULL 150 -#define IMG_MAGIC_WALL_EMPTYING 151 -#define IMG_MAGIC_WALL_DEAD 152 -#define IMG_QUICKSAND_EMPTY 153 -#define IMG_QUICKSAND_FILLING 154 -#define IMG_QUICKSAND_FULL 155 -#define IMG_QUICKSAND_EMPTYING 156 -#define IMG_ACIDPOOL_TOPLEFT 157 -#define IMG_ACIDPOOL_TOPRIGHT 158 -#define IMG_ACIDPOOL_BOTTOMLEFT 159 -#define IMG_ACIDPOOL_BOTTOM 160 -#define IMG_ACIDPOOL_BOTTOMRIGHT 161 -#define IMG_ACID 162 -#define IMG_ACID_SPLASH_LEFT 163 -#define IMG_ACID_SPLASH_RIGHT 164 -#define IMG_AMOEBA_DROP 165 -#define IMG_AMOEBA_CREATING 166 -#define IMG_AMOEBA_SHRINKING 167 -#define IMG_AMOEBA_WET 168 -#define IMG_AMOEBA_WET_PART1 169 -#define IMG_AMOEBA_WET_PART2 170 -#define IMG_AMOEBA_WET_PART3 171 -#define IMG_AMOEBA_WET_PART4 172 -#define IMG_AMOEBA_DRY 173 -#define IMG_AMOEBA_DRY_PART1 174 -#define IMG_AMOEBA_DRY_PART2 175 -#define IMG_AMOEBA_DRY_PART3 176 -#define IMG_AMOEBA_DRY_PART4 177 -#define IMG_AMOEBA_FULL 178 -#define IMG_AMOEBA_FULL_EDITOR 179 -#define IMG_AMOEBA_FULL_PART1 180 -#define IMG_AMOEBA_FULL_PART2 181 -#define IMG_AMOEBA_FULL_PART3 182 -#define IMG_AMOEBA_FULL_PART4 183 -#define IMG_AMOEBA_DEAD 184 -#define IMG_AMOEBA_DEAD_PART1 185 -#define IMG_AMOEBA_DEAD_PART2 186 -#define IMG_AMOEBA_DEAD_PART3 187 -#define IMG_AMOEBA_DEAD_PART4 188 -#define IMG_EM_KEY1 189 -#define IMG_EM_KEY2 190 -#define IMG_EM_KEY3 191 -#define IMG_EM_KEY4 192 -#define IMG_EM_GATE1 193 -#define IMG_EM_GATE2 194 -#define IMG_EM_GATE3 195 -#define IMG_EM_GATE4 196 -#define IMG_EM_GATE1_GRAY 197 -#define IMG_EM_GATE2_GRAY 198 -#define IMG_EM_GATE3_GRAY 199 -#define IMG_EM_GATE4_GRAY 200 -#define IMG_EXIT_CLOSED 201 -#define IMG_EXIT_OPENING 202 -#define IMG_EXIT_OPEN 203 -#define IMG_BALLOON 204 -#define IMG_BALLOON_MOVING 205 -#define IMG_BALLOON_SEND_LEFT 206 -#define IMG_BALLOON_SEND_RIGHT 207 -#define IMG_BALLOON_SEND_UP 208 -#define IMG_BALLOON_SEND_DOWN 209 -#define IMG_BALLOON_SEND_ANY_DIRECTION 210 -#define IMG_SPRING 211 -#define IMG_SPRING_MOVING 212 -#define IMG_EMC_STEELWALL1 213 -#define IMG_EMC_STEELWALL2 214 -#define IMG_EMC_STEELWALL3 215 -#define IMG_EMC_STEELWALL4 216 -#define IMG_EMC_WALL_PILLAR_UPPER 217 -#define IMG_EMC_WALL_PILLAR_MIDDLE 218 -#define IMG_EMC_WALL_PILLAR_LOWER 219 -#define IMG_EMC_WALL4 220 -#define IMG_EMC_WALL5 221 -#define IMG_EMC_WALL6 222 -#define IMG_EMC_WALL7 223 -#define IMG_EMC_WALL8 224 -#define IMG_INVISIBLE_STEELWALL 225 -#define IMG_INVISIBLE_STEELWALL_ACTIVE 226 -#define IMG_INVISIBLE_WALL 227 -#define IMG_INVISIBLE_WALL_ACTIVE 228 -#define IMG_INVISIBLE_SAND 229 -#define IMG_INVISIBLE_SAND_ACTIVE 230 -#define IMG_CONVEYOR_BELT1_MIDDLE 231 -#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE 232 -#define IMG_CONVEYOR_BELT1_LEFT 233 -#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE 234 -#define IMG_CONVEYOR_BELT1_RIGHT 235 -#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE 236 -#define IMG_CONVEYOR_BELT1_SWITCH_LEFT 237 -#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE 238 -#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT 239 -#define IMG_CONVEYOR_BELT2_MIDDLE 240 -#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE 241 -#define IMG_CONVEYOR_BELT2_LEFT 242 -#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE 243 -#define IMG_CONVEYOR_BELT2_RIGHT 244 -#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE 245 -#define IMG_CONVEYOR_BELT2_SWITCH_LEFT 246 -#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE 247 -#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT 248 -#define IMG_CONVEYOR_BELT3_MIDDLE 249 -#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE 250 -#define IMG_CONVEYOR_BELT3_LEFT 251 -#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE 252 -#define IMG_CONVEYOR_BELT3_RIGHT 253 -#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE 254 -#define IMG_CONVEYOR_BELT3_SWITCH_LEFT 255 -#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE 256 -#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT 257 -#define IMG_CONVEYOR_BELT4_MIDDLE 258 -#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE 259 -#define IMG_CONVEYOR_BELT4_LEFT 260 -#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE 261 -#define IMG_CONVEYOR_BELT4_RIGHT 262 -#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE 263 -#define IMG_CONVEYOR_BELT4_SWITCH_LEFT 264 -#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE 265 -#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT 266 -#define IMG_SWITCHGATE_SWITCH_UP 267 -#define IMG_SWITCHGATE_SWITCH_DOWN 268 -#define IMG_LIGHT_SWITCH 269 -#define IMG_LIGHT_SWITCH_ACTIVE 270 -#define IMG_TIMEGATE_SWITCH 271 -#define IMG_TIMEGATE_SWITCH_ACTIVE 272 -#define IMG_ENVELOPE 273 -#define IMG_SIGN_EXCLAMATION 274 -#define IMG_SIGN_STOP 275 -#define IMG_LANDMINE 276 -#define IMG_STEELWALL_SLANTED 277 -#define IMG_EXTRA_TIME 278 -#define IMG_SHIELD_NORMAL 279 -#define IMG_SHIELD_NORMAL_ACTIVE 280 -#define IMG_SHIELD_DEADLY 281 -#define IMG_SHIELD_DEADLY_ACTIVE 282 -#define IMG_SWITCHGATE_CLOSED 283 -#define IMG_SWITCHGATE_OPENING 284 -#define IMG_SWITCHGATE_OPEN 285 -#define IMG_SWITCHGATE_CLOSING 286 -#define IMG_TIMEGATE_CLOSED 287 -#define IMG_TIMEGATE_OPENING 288 -#define IMG_TIMEGATE_OPEN 289 -#define IMG_TIMEGATE_CLOSING 290 -#define IMG_PEARL 291 -#define IMG_PEARL_BREAKING 292 -#define IMG_CRYSTAL 293 -#define IMG_WALL_PEARL 294 -#define IMG_WALL_CRYSTAL 295 -#define IMG_TUBE_RIGHT_DOWN 296 -#define IMG_TUBE_HORIZONTAL_DOWN 297 -#define IMG_TUBE_LEFT_DOWN 298 -#define IMG_TUBE_HORIZONTAL 299 -#define IMG_TUBE_VERTICAL_RIGHT 300 -#define IMG_TUBE_ALL 301 -#define IMG_TUBE_VERTICAL_LEFT 302 -#define IMG_TUBE_VERTICAL 303 -#define IMG_TUBE_RIGHT_UP 304 -#define IMG_TUBE_HORIZONTAL_UP 305 -#define IMG_TUBE_LEFT_UP 306 -#define IMG_TRAP 307 -#define IMG_TRAP_ACTIVE 308 -#define IMG_DX_SUPABOMB 309 -#define IMG_KEY1 310 -#define IMG_KEY2 311 -#define IMG_KEY3 312 -#define IMG_KEY4 313 -#define IMG_GATE1 314 -#define IMG_GATE2 315 -#define IMG_GATE3 316 -#define IMG_GATE4 317 -#define IMG_GATE1_GRAY 318 -#define IMG_GATE2_GRAY 319 -#define IMG_GATE3_GRAY 320 -#define IMG_GATE4_GRAY 321 -#define IMG_GAMEOFLIFE 322 -#define IMG_BIOMAZE 323 -#define IMG_PACMAN_RIGHT 324 -#define IMG_PACMAN_UP 325 -#define IMG_PACMAN_LEFT 326 -#define IMG_PACMAN_DOWN 327 -#define IMG_LAMP 328 -#define IMG_LAMP_ACTIVE 329 -#define IMG_TIME_ORB_FULL 330 -#define IMG_TIME_ORB_EMPTY 331 -#define IMG_EMERALD_YELLOW 332 -#define IMG_EMERALD_YELLOW_MOVING 333 -#define IMG_EMERALD_YELLOW_FALLING 334 -#define IMG_EMERALD_RED 335 -#define IMG_EMERALD_RED_MOVING 336 -#define IMG_EMERALD_RED_FALLING 337 -#define IMG_EMERALD_PURPLE 338 -#define IMG_EMERALD_PURPLE_MOVING 339 -#define IMG_EMERALD_PURPLE_FALLING 340 -#define IMG_WALL_EMERALD_YELLOW 341 -#define IMG_WALL_EMERALD_RED 342 -#define IMG_WALL_EMERALD_PURPLE 343 -#define IMG_WALL_BD_DIAMOND 344 -#define IMG_WALL_GROWING 345 -#define IMG_WALL_GROWING_XY 346 -#define IMG_WALL_GROWING_X 347 -#define IMG_WALL_GROWING_Y 348 -#define IMG_WALL_GROWING_ACTIVE_LEFT 349 -#define IMG_WALL_GROWING_ACTIVE_RIGHT 350 -#define IMG_WALL_GROWING_ACTIVE_UP 351 -#define IMG_WALL_GROWING_ACTIVE_DOWN 352 -#define IMG_BLACK_ORB 353 -#define IMG_SPEED_PILL 354 -#define IMG_DARK_YAMYAM 355 -#define IMG_DYNABOMB_ACTIVE 356 -#define IMG_DYNABOMB_PLAYER1_ACTIVE 357 -#define IMG_DYNABOMB_PLAYER2_ACTIVE 358 -#define IMG_DYNABOMB_PLAYER3_ACTIVE 359 -#define IMG_DYNABOMB_PLAYER4_ACTIVE 360 -#define IMG_DYNABOMB_NR 361 -#define IMG_DYNABOMB_SZ 362 -#define IMG_DYNABOMB_XL 363 -#define IMG_PIG 364 -#define IMG_PIG_DOWN 365 -#define IMG_PIG_UP 366 -#define IMG_PIG_LEFT 367 -#define IMG_PIG_RIGHT 368 -#define IMG_PIG_MOVING_DOWN 369 -#define IMG_PIG_MOVING_UP 370 -#define IMG_PIG_MOVING_LEFT 371 -#define IMG_PIG_MOVING_RIGHT 372 -#define IMG_PIG_EATING_DOWN 373 -#define IMG_PIG_EATING_UP 374 -#define IMG_PIG_EATING_LEFT 375 -#define IMG_PIG_EATING_RIGHT 376 -#define IMG_DRAGON 377 -#define IMG_DRAGON_DOWN 378 -#define IMG_DRAGON_UP 379 -#define IMG_DRAGON_LEFT 380 -#define IMG_DRAGON_RIGHT 381 -#define IMG_DRAGON_MOVING_DOWN 382 -#define IMG_DRAGON_MOVING_UP 383 -#define IMG_DRAGON_MOVING_LEFT 384 -#define IMG_DRAGON_MOVING_RIGHT 385 -#define IMG_DRAGON_ATTACKING_DOWN 386 -#define IMG_DRAGON_ATTACKING_UP 387 -#define IMG_DRAGON_ATTACKING_LEFT 388 -#define IMG_DRAGON_ATTACKING_RIGHT 389 -#define IMG_MOLE 390 -#define IMG_MOLE_DOWN 391 -#define IMG_MOLE_UP 392 -#define IMG_MOLE_LEFT 393 -#define IMG_MOLE_RIGHT 394 -#define IMG_MOLE_MOVING_DOWN 395 -#define IMG_MOLE_MOVING_UP 396 -#define IMG_MOLE_MOVING_LEFT 397 -#define IMG_MOLE_MOVING_RIGHT 398 -#define IMG_MOLE_DIGGING_DOWN 399 -#define IMG_MOLE_DIGGING_UP 400 -#define IMG_MOLE_DIGGING_LEFT 401 -#define IMG_MOLE_DIGGING_RIGHT 402 -#define IMG_PENGUIN 403 -#define IMG_PENGUIN_DOWN 404 -#define IMG_PENGUIN_UP 405 -#define IMG_PENGUIN_LEFT 406 -#define IMG_PENGUIN_RIGHT 407 -#define IMG_PENGUIN_MOVING_DOWN 408 -#define IMG_PENGUIN_MOVING_UP 409 -#define IMG_PENGUIN_MOVING_LEFT 410 -#define IMG_PENGUIN_MOVING_RIGHT 411 -#define IMG_SATELLITE 412 -#define IMG_SATELLITE_MOVING 413 -#define IMG_FLAMES1_LEFT 414 -#define IMG_FLAMES2_LEFT 415 -#define IMG_FLAMES3_LEFT 416 -#define IMG_FLAMES1_RIGHT 417 -#define IMG_FLAMES2_RIGHT 418 -#define IMG_FLAMES3_RIGHT 419 -#define IMG_FLAMES1_UP 420 -#define IMG_FLAMES2_UP 421 -#define IMG_FLAMES3_UP 422 -#define IMG_FLAMES1_DOWN 423 -#define IMG_FLAMES2_DOWN 424 -#define IMG_FLAMES3_DOWN 425 -#define IMG_STONEBLOCK 426 -#define IMG_PLAYER1 427 -#define IMG_PLAYER1_DOWN 428 -#define IMG_PLAYER1_UP 429 -#define IMG_PLAYER1_LEFT 430 -#define IMG_PLAYER1_RIGHT 431 -#define IMG_PLAYER1_MOVING_DOWN 432 -#define IMG_PLAYER1_MOVING_UP 433 -#define IMG_PLAYER1_MOVING_LEFT 434 -#define IMG_PLAYER1_MOVING_RIGHT 435 -#define IMG_PLAYER1_DIGGING_DOWN 436 -#define IMG_PLAYER1_DIGGING_UP 437 -#define IMG_PLAYER1_DIGGING_LEFT 438 -#define IMG_PLAYER1_DIGGING_RIGHT 439 -#define IMG_PLAYER1_PUSHING_DOWN 440 -#define IMG_PLAYER1_PUSHING_UP 441 -#define IMG_PLAYER1_PUSHING_LEFT 442 -#define IMG_PLAYER1_PUSHING_RIGHT 443 -#define IMG_PLAYER1_SNAPPING_DOWN 444 -#define IMG_PLAYER1_SNAPPING_UP 445 -#define IMG_PLAYER1_SNAPPING_LEFT 446 -#define IMG_PLAYER1_SNAPPING_RIGHT 447 -#define IMG_PLAYER2 448 -#define IMG_PLAYER2_DOWN 449 -#define IMG_PLAYER2_UP 450 -#define IMG_PLAYER2_LEFT 451 -#define IMG_PLAYER2_RIGHT 452 -#define IMG_PLAYER2_MOVING_DOWN 453 -#define IMG_PLAYER2_MOVING_UP 454 -#define IMG_PLAYER2_MOVING_LEFT 455 -#define IMG_PLAYER2_MOVING_RIGHT 456 -#define IMG_PLAYER2_DIGGING_DOWN 457 -#define IMG_PLAYER2_DIGGING_UP 458 -#define IMG_PLAYER2_DIGGING_LEFT 459 -#define IMG_PLAYER2_DIGGING_RIGHT 460 -#define IMG_PLAYER2_PUSHING_DOWN 461 -#define IMG_PLAYER2_PUSHING_UP 462 -#define IMG_PLAYER2_PUSHING_LEFT 463 -#define IMG_PLAYER2_PUSHING_RIGHT 464 -#define IMG_PLAYER2_SNAPPING_DOWN 465 -#define IMG_PLAYER2_SNAPPING_UP 466 -#define IMG_PLAYER2_SNAPPING_LEFT 467 -#define IMG_PLAYER2_SNAPPING_RIGHT 468 -#define IMG_PLAYER3 469 -#define IMG_PLAYER3_DOWN 470 -#define IMG_PLAYER3_UP 471 -#define IMG_PLAYER3_LEFT 472 -#define IMG_PLAYER3_RIGHT 473 -#define IMG_PLAYER3_MOVING_DOWN 474 -#define IMG_PLAYER3_MOVING_UP 475 -#define IMG_PLAYER3_MOVING_LEFT 476 -#define IMG_PLAYER3_MOVING_RIGHT 477 -#define IMG_PLAYER3_DIGGING_DOWN 478 -#define IMG_PLAYER3_DIGGING_UP 479 -#define IMG_PLAYER3_DIGGING_LEFT 480 -#define IMG_PLAYER3_DIGGING_RIGHT 481 -#define IMG_PLAYER3_PUSHING_DOWN 482 -#define IMG_PLAYER3_PUSHING_UP 483 -#define IMG_PLAYER3_PUSHING_LEFT 484 -#define IMG_PLAYER3_PUSHING_RIGHT 485 -#define IMG_PLAYER3_SNAPPING_DOWN 486 -#define IMG_PLAYER3_SNAPPING_UP 487 -#define IMG_PLAYER3_SNAPPING_LEFT 488 -#define IMG_PLAYER3_SNAPPING_RIGHT 489 -#define IMG_PLAYER4 490 -#define IMG_PLAYER4_DOWN 491 -#define IMG_PLAYER4_UP 492 -#define IMG_PLAYER4_LEFT 493 -#define IMG_PLAYER4_RIGHT 494 -#define IMG_PLAYER4_MOVING_DOWN 495 -#define IMG_PLAYER4_MOVING_UP 496 -#define IMG_PLAYER4_MOVING_LEFT 497 -#define IMG_PLAYER4_MOVING_RIGHT 498 -#define IMG_PLAYER4_DIGGING_DOWN 499 -#define IMG_PLAYER4_DIGGING_UP 500 -#define IMG_PLAYER4_DIGGING_LEFT 501 -#define IMG_PLAYER4_DIGGING_RIGHT 502 -#define IMG_PLAYER4_PUSHING_DOWN 503 -#define IMG_PLAYER4_PUSHING_UP 504 -#define IMG_PLAYER4_PUSHING_LEFT 505 -#define IMG_PLAYER4_PUSHING_RIGHT 506 -#define IMG_PLAYER4_SNAPPING_DOWN 507 -#define IMG_PLAYER4_SNAPPING_UP 508 -#define IMG_PLAYER4_SNAPPING_LEFT 509 -#define IMG_PLAYER4_SNAPPING_RIGHT 510 -#define IMG_EXPLOSION 511 -#define IMG_TWINKLE_BLUE 512 -#define IMG_TWINKLE_WHITE 513 -#define IMG_STEELWALL_TOPLEFT 514 -#define IMG_STEELWALL_TOPRIGHT 515 -#define IMG_STEELWALL_BOTTOMLEFT 516 -#define IMG_STEELWALL_BOTTOMRIGHT 517 -#define IMG_STEELWALL_HORIZONTAL 518 -#define IMG_STEELWALL_VERTICAL 519 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT 520 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 521 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 522 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 523 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 524 -#define IMG_INVISIBLE_STEELWALL_VERTICAL 525 -#define IMG_ARROW_BLUE_LEFT 526 -#define IMG_ARROW_BLUE_RIGHT 527 -#define IMG_ARROW_BLUE_UP 528 -#define IMG_ARROW_BLUE_DOWN 529 -#define IMG_ARROW_RED_LEFT 530 -#define IMG_ARROW_RED_RIGHT 531 -#define IMG_ARROW_RED_UP 532 -#define IMG_ARROW_RED_DOWN 533 -#define IMG_BALL_RED 534 -#define IMG_BALL_BLUE 535 -#define IMG_BALL_YELLOW 536 -#define IMG_BALL_GRAY 537 -#define IMG_SCROLLBAR_BLUE 538 -#define IMG_SCROLLBAR_RED 539 -#define IMG_SCROLLBAR_GREEN 540 -#define IMG_SCROLLBAR_YELLOW 541 -#define IMG_CHAR_SPACE 542 -#define IMG_CHAR_EXCLAM 543 -#define IMG_CHAR_QUOTEDBL 544 -#define IMG_CHAR_NUMBERSIGN 545 -#define IMG_CHAR_DOLLAR 546 -#define IMG_CHAR_PROCENT 547 -#define IMG_CHAR_AMPERSAND 548 -#define IMG_CHAR_APOSTROPHE 549 -#define IMG_CHAR_PARENLEFT 550 -#define IMG_CHAR_PARENRIGHT 551 -#define IMG_CHAR_ASTERISK 552 -#define IMG_CHAR_PLUS 553 -#define IMG_CHAR_COMMA 554 -#define IMG_CHAR_MINUS 555 -#define IMG_CHAR_PERIOD 556 -#define IMG_CHAR_SLASH 557 -#define IMG_CHAR_0 558 -#define IMG_CHAR_1 559 -#define IMG_CHAR_2 560 -#define IMG_CHAR_3 561 -#define IMG_CHAR_4 562 -#define IMG_CHAR_5 563 -#define IMG_CHAR_6 564 -#define IMG_CHAR_7 565 -#define IMG_CHAR_8 566 -#define IMG_CHAR_9 567 -#define IMG_CHAR_COLON 568 -#define IMG_CHAR_SEMICOLON 569 -#define IMG_CHAR_LESS 570 -#define IMG_CHAR_EQUAL 571 -#define IMG_CHAR_GREATER 572 -#define IMG_CHAR_QUESTION 573 -#define IMG_CHAR_AT 574 -#define IMG_CHAR_A 575 -#define IMG_CHAR_B 576 -#define IMG_CHAR_C 577 -#define IMG_CHAR_D 578 -#define IMG_CHAR_E 579 -#define IMG_CHAR_F 580 -#define IMG_CHAR_G 581 -#define IMG_CHAR_H 582 -#define IMG_CHAR_I 583 -#define IMG_CHAR_J 584 -#define IMG_CHAR_K 585 -#define IMG_CHAR_L 586 -#define IMG_CHAR_M 587 -#define IMG_CHAR_N 588 -#define IMG_CHAR_O 589 -#define IMG_CHAR_P 590 -#define IMG_CHAR_Q 591 -#define IMG_CHAR_R 592 -#define IMG_CHAR_S 593 -#define IMG_CHAR_T 594 -#define IMG_CHAR_U 595 -#define IMG_CHAR_V 596 -#define IMG_CHAR_W 597 -#define IMG_CHAR_X 598 -#define IMG_CHAR_Y 599 -#define IMG_CHAR_Z 600 -#define IMG_CHAR_AE 601 -#define IMG_CHAR_OE 602 -#define IMG_CHAR_UE 603 -#define IMG_CHAR_COPYRIGHT 604 -#define IMG_CHAR_UNDERSCORE 605 -#define IMG_CHAR_EMPTY 606 -#define IMG_CHAR_DEGREE 607 -#define IMG_CHAR_TM 608 -#define IMG_CHAR_CURSOR 609 -#define IMG_CUSTOM_1 610 -#define IMG_CUSTOM_2 611 -#define IMG_CUSTOM_3 612 -#define IMG_CUSTOM_4 613 -#define IMG_CUSTOM_5 614 -#define IMG_CUSTOM_6 615 -#define IMG_CUSTOM_7 616 -#define IMG_CUSTOM_8 617 -#define IMG_CUSTOM_9 618 -#define IMG_CUSTOM_10 619 -#define IMG_CUSTOM_11 620 -#define IMG_CUSTOM_12 621 -#define IMG_CUSTOM_13 622 -#define IMG_CUSTOM_14 623 -#define IMG_CUSTOM_15 624 -#define IMG_CUSTOM_16 625 -#define IMG_CUSTOM_17 626 -#define IMG_CUSTOM_18 627 -#define IMG_CUSTOM_19 628 -#define IMG_CUSTOM_20 629 -#define IMG_CUSTOM_21 630 -#define IMG_CUSTOM_22 631 -#define IMG_CUSTOM_23 632 -#define IMG_CUSTOM_24 633 -#define IMG_CUSTOM_25 634 -#define IMG_CUSTOM_26 635 -#define IMG_CUSTOM_27 636 -#define IMG_CUSTOM_28 637 -#define IMG_CUSTOM_29 638 -#define IMG_CUSTOM_30 639 -#define IMG_CUSTOM_31 640 -#define IMG_CUSTOM_32 641 -#define IMG_CUSTOM_33 642 -#define IMG_CUSTOM_34 643 -#define IMG_CUSTOM_35 644 -#define IMG_CUSTOM_36 645 -#define IMG_CUSTOM_37 646 -#define IMG_CUSTOM_38 647 -#define IMG_CUSTOM_39 648 -#define IMG_CUSTOM_40 649 -#define IMG_CUSTOM_41 650 -#define IMG_CUSTOM_42 651 -#define IMG_CUSTOM_43 652 -#define IMG_CUSTOM_44 653 -#define IMG_CUSTOM_45 654 -#define IMG_CUSTOM_46 655 -#define IMG_CUSTOM_47 656 -#define IMG_CUSTOM_48 657 -#define IMG_CUSTOM_49 658 -#define IMG_CUSTOM_50 659 -#define IMG_CUSTOM_51 660 -#define IMG_CUSTOM_52 661 -#define IMG_CUSTOM_53 662 -#define IMG_CUSTOM_54 663 -#define IMG_CUSTOM_55 664 -#define IMG_CUSTOM_56 665 -#define IMG_CUSTOM_57 666 -#define IMG_CUSTOM_58 667 -#define IMG_CUSTOM_59 668 -#define IMG_CUSTOM_60 669 -#define IMG_CUSTOM_61 670 -#define IMG_CUSTOM_62 671 -#define IMG_CUSTOM_63 672 -#define IMG_CUSTOM_64 673 -#define IMG_CUSTOM_65 674 -#define IMG_CUSTOM_66 675 -#define IMG_CUSTOM_67 676 -#define IMG_CUSTOM_68 677 -#define IMG_CUSTOM_69 678 -#define IMG_CUSTOM_70 679 -#define IMG_CUSTOM_71 680 -#define IMG_CUSTOM_72 681 -#define IMG_CUSTOM_73 682 -#define IMG_CUSTOM_74 683 -#define IMG_CUSTOM_75 684 -#define IMG_CUSTOM_76 685 -#define IMG_CUSTOM_77 686 -#define IMG_CUSTOM_78 687 -#define IMG_CUSTOM_79 688 -#define IMG_CUSTOM_80 689 -#define IMG_CUSTOM_81 690 -#define IMG_CUSTOM_82 691 -#define IMG_CUSTOM_83 692 -#define IMG_CUSTOM_84 693 -#define IMG_CUSTOM_85 694 -#define IMG_CUSTOM_86 695 -#define IMG_CUSTOM_87 696 -#define IMG_CUSTOM_88 697 -#define IMG_CUSTOM_89 698 -#define IMG_CUSTOM_90 699 -#define IMG_CUSTOM_91 700 -#define IMG_CUSTOM_92 701 -#define IMG_CUSTOM_93 702 -#define IMG_CUSTOM_94 703 -#define IMG_CUSTOM_95 704 -#define IMG_CUSTOM_96 705 -#define IMG_CUSTOM_97 706 -#define IMG_CUSTOM_98 707 -#define IMG_CUSTOM_99 708 -#define IMG_CUSTOM_100 709 -#define IMG_CUSTOM_101 710 -#define IMG_CUSTOM_102 711 -#define IMG_CUSTOM_103 712 -#define IMG_CUSTOM_104 713 -#define IMG_CUSTOM_105 714 -#define IMG_CUSTOM_106 715 -#define IMG_CUSTOM_107 716 -#define IMG_CUSTOM_108 717 -#define IMG_CUSTOM_109 718 -#define IMG_CUSTOM_110 719 -#define IMG_CUSTOM_111 720 -#define IMG_CUSTOM_112 721 -#define IMG_CUSTOM_113 722 -#define IMG_CUSTOM_114 723 -#define IMG_CUSTOM_115 724 -#define IMG_CUSTOM_116 725 -#define IMG_CUSTOM_117 726 -#define IMG_CUSTOM_118 727 -#define IMG_CUSTOM_119 728 -#define IMG_CUSTOM_120 729 -#define IMG_CUSTOM_121 730 -#define IMG_CUSTOM_122 731 -#define IMG_CUSTOM_123 732 -#define IMG_CUSTOM_124 733 -#define IMG_CUSTOM_125 734 -#define IMG_CUSTOM_126 735 -#define IMG_CUSTOM_127 736 -#define IMG_CUSTOM_128 737 -#define IMG_GLOBAL_BORDER 738 -#define IMG_GLOBAL_DOOR 739 -#define IMG_GLOBAL_TOONS 740 -#define IMG_FONT_BIG 741 -#define IMG_FONT_MEDIUM 742 -#define IMG_FONT_SMALL 743 -#define IMG_FONT_EM 744 -#define IMG_BACKGROUND_DEFAULT 745 -#define IMG_BACKGROUND_DOOR 746 -#define IMG_BACKGROUND_MAIN 747 -#define IMG_BACKGROUND_LEVEL_SERIES 748 -#define IMG_BACKGROUND_HALL_OF_FAME 749 -#define IMG_BACKGROUND_EDITOR_SETTINGS_LEVEL 750 -#define IMG_BACKGROUND_EDITOR_SETTINGS_ELEMENT 751 -#define IMG_BACKGROUND_INFO 752 -#define IMG_BACKGROUND_SETUP 753 -#define IMG_INFO_FONT_EM_1 754 -#define IMG_INFO_FONT_EM_2 755 -#define IMG_INFO_FONT_EM_3 756 -#define IMG_INFO_FONT_EM_4 757 -#define IMG_INFO_FONT_EM_5 758 +#define IMG_BD_WALL 0 +#define IMG_BD_ROCK 1 +#define IMG_BD_ROCK_FALLING 2 +#define IMG_BD_ROCK_MOVING_LEFT 3 +#define IMG_BD_ROCK_MOVING_RIGHT 4 +#define IMG_BD_DIAMOND 5 +#define IMG_BD_DIAMOND_MOVING 6 +#define IMG_BD_DIAMOND_FALLING 7 +#define IMG_BD_MAGIC_WALL 8 +#define IMG_BD_MAGIC_WALL_ACTIVE 9 +#define IMG_BD_MAGIC_WALL_FILLING 10 +#define IMG_BD_MAGIC_WALL_FULL 11 +#define IMG_BD_MAGIC_WALL_EMPTYING 12 +#define IMG_BD_MAGIC_WALL_DEAD 13 +#define IMG_BD_AMOEBA 14 +#define IMG_BD_AMOEBA_PART1 15 +#define IMG_BD_AMOEBA_PART2 16 +#define IMG_BD_AMOEBA_PART3 17 +#define IMG_BD_AMOEBA_PART4 18 +#define IMG_BD_BUTTERFLY 19 +#define IMG_BD_BUTTERFLY_RIGHT 20 +#define IMG_BD_BUTTERFLY_UP 21 +#define IMG_BD_BUTTERFLY_LEFT 22 +#define IMG_BD_BUTTERFLY_DOWN 23 +#define IMG_BD_BUTTERFLY_MOVING 24 +#define IMG_BD_FIREFLY 25 +#define IMG_BD_FIREFLY_RIGHT 26 +#define IMG_BD_FIREFLY_UP 27 +#define IMG_BD_FIREFLY_LEFT 28 +#define IMG_BD_FIREFLY_DOWN 29 +#define IMG_BD_FIREFLY_MOVING 30 +#define IMG_SP_EMPTY_SPACE 31 +#define IMG_SP_ZONK 32 +#define IMG_SP_ZONK_FALLING 33 +#define IMG_SP_ZONK_MOVING_LEFT 34 +#define IMG_SP_ZONK_MOVING_RIGHT 35 +#define IMG_SP_BASE 36 +#define IMG_SP_MURPHY 37 +#define IMG_SP_MURPHY_LEFT 38 +#define IMG_SP_MURPHY_RIGHT 39 +#define IMG_SP_MURPHY_UP 40 +#define IMG_SP_MURPHY_DOWN 41 +#define IMG_SP_MURPHY_MOVING_LEFT 42 +#define IMG_SP_MURPHY_MOVING_RIGHT 43 +#define IMG_SP_MURPHY_DIGGING_LEFT 44 +#define IMG_SP_MURPHY_DIGGING_RIGHT 45 +#define IMG_SP_MURPHY_PUSHING_LEFT 46 +#define IMG_SP_MURPHY_PUSHING_RIGHT 47 +#define IMG_SP_MURPHY_SNAPPING_LEFT 48 +#define IMG_SP_MURPHY_SNAPPING_RIGHT 49 +#define IMG_SP_MURPHY_SNAPPING_UP 50 +#define IMG_SP_MURPHY_SNAPPING_DOWN 51 +#define IMG_SP_MURPHY_CLONE 52 +#define IMG_SP_INFOTRON 53 +#define IMG_SP_INFOTRON_FALLING 54 +#define IMG_SP_CHIP_SINGLE 55 +#define IMG_SP_CHIP_LEFT 56 +#define IMG_SP_CHIP_RIGHT 57 +#define IMG_SP_CHIP_UPPER 58 +#define IMG_SP_CHIP_LOWER 59 +#define IMG_SP_HARD_GRAY 60 +#define IMG_SP_HARD_GREEN 61 +#define IMG_SP_HARD_BLUE 62 +#define IMG_SP_HARD_RED 63 +#define IMG_SP_HARD_YELLOW 64 +#define IMG_SP_EXIT_CLOSED 65 +#define IMG_SP_EXIT_OPEN 66 +#define IMG_SP_DISK_ORANGE 67 +#define IMG_SP_DISK_ORANGE_FALLING 68 +#define IMG_SP_DISK_ORANGE_PUSHING 69 +#define IMG_SP_DISK_YELLOW 70 +#define IMG_SP_DISK_YELLOW_PUSHING 71 +#define IMG_SP_DISK_RED 72 +#define IMG_SP_DISK_RED_COLLECTING 73 +#define IMG_SP_PORT1_RIGHT 74 +#define IMG_SP_PORT1_DOWN 75 +#define IMG_SP_PORT1_LEFT 76 +#define IMG_SP_PORT1_UP 77 +#define IMG_SP_PORT2_RIGHT 78 +#define IMG_SP_PORT2_DOWN 79 +#define IMG_SP_PORT2_LEFT 80 +#define IMG_SP_PORT2_UP 81 +#define IMG_SP_PORT_X 82 +#define IMG_SP_PORT_Y 83 +#define IMG_SP_PORT_XY 84 +#define IMG_SP_SNIKSNAK 85 +#define IMG_SP_SNIKSNAK_LEFT 86 +#define IMG_SP_SNIKSNAK_RIGHT 87 +#define IMG_SP_SNIKSNAK_UP 88 +#define IMG_SP_SNIKSNAK_DOWN 89 +#define IMG_SP_ELECTRON 90 +#define IMG_SP_TERMINAL 91 +#define IMG_SP_TERMINAL_ACTIVE 92 +#define IMG_SP_BUGGY_BASE 93 +#define IMG_SP_BUGGY_BASE_ACTIVATING 94 +#define IMG_SP_BUGGY_BASE_ACTIVE 95 +#define IMG_SP_HARD_BASE1 96 +#define IMG_SP_HARD_BASE2 97 +#define IMG_SP_HARD_BASE3 98 +#define IMG_SP_HARD_BASE4 99 +#define IMG_SP_HARD_BASE5 100 +#define IMG_SP_HARD_BASE6 101 +#define IMG_SP_EXPLOSION 102 +#define IMG_SP_EXPLOSION_INFOTRON 103 +#define IMG_SOKOBAN_OBJECT 104 +#define IMG_SOKOBAN_FIELD_EMPTY 105 +#define IMG_SOKOBAN_FIELD_FULL 106 +#define IMG_EMPTY_SPACE 107 +#define IMG_SAND 108 +#define IMG_SAND_CRUMBLED 109 +#define IMG_WALL 110 +#define IMG_WALL_CRUMBLED 111 +#define IMG_STEELWALL 112 +#define IMG_ROCK 113 +#define IMG_ROCK_FALLING 114 +#define IMG_ROCK_MOVING_LEFT 115 +#define IMG_ROCK_MOVING_RIGHT 116 +#define IMG_EMERALD 117 +#define IMG_EMERALD_MOVING 118 +#define IMG_EMERALD_FALLING 119 +#define IMG_DIAMOND 120 +#define IMG_DIAMOND_MOVING 121 +#define IMG_DIAMOND_FALLING 122 +#define IMG_BOMB 123 +#define IMG_NUT 124 +#define IMG_NUT_FALLING 125 +#define IMG_NUT_MOVING_LEFT 126 +#define IMG_NUT_MOVING_RIGHT 127 +#define IMG_NUT_CRACKING 128 +#define IMG_DYNAMITE 129 +#define IMG_DYNAMITE_ACTIVE 130 +#define IMG_WALL_EMERALD 131 +#define IMG_WALL_DIAMOND 132 +#define IMG_BUG_RIGHT 133 +#define IMG_BUG_UP 134 +#define IMG_BUG_LEFT 135 +#define IMG_BUG_DOWN 136 +#define IMG_SPACESHIP_RIGHT 137 +#define IMG_SPACESHIP_UP 138 +#define IMG_SPACESHIP_LEFT 139 +#define IMG_SPACESHIP_DOWN 140 +#define IMG_YAMYAM 141 +#define IMG_YAMYAM_MOVING 142 +#define IMG_ROBOT 143 +#define IMG_ROBOT_MOVING 144 +#define IMG_ROBOT_WHEEL 145 +#define IMG_ROBOT_WHEEL_ACTIVE 146 +#define IMG_MAGIC_WALL 147 +#define IMG_MAGIC_WALL_ACTIVE 148 +#define IMG_MAGIC_WALL_FILLING 149 +#define IMG_MAGIC_WALL_FULL 150 +#define IMG_MAGIC_WALL_EMPTYING 151 +#define IMG_MAGIC_WALL_DEAD 152 +#define IMG_QUICKSAND_EMPTY 153 +#define IMG_QUICKSAND_FILLING 154 +#define IMG_QUICKSAND_FULL 155 +#define IMG_QUICKSAND_EMPTYING 156 +#define IMG_ACIDPOOL_TOPLEFT 157 +#define IMG_ACIDPOOL_TOPRIGHT 158 +#define IMG_ACIDPOOL_BOTTOMLEFT 159 +#define IMG_ACIDPOOL_BOTTOM 160 +#define IMG_ACIDPOOL_BOTTOMRIGHT 161 +#define IMG_ACID 162 +#define IMG_ACID_SPLASH_LEFT 163 +#define IMG_ACID_SPLASH_RIGHT 164 +#define IMG_AMOEBA_DROP 165 +#define IMG_AMOEBA_CREATING 166 +#define IMG_AMOEBA_SHRINKING 167 +#define IMG_AMOEBA_WET 168 +#define IMG_AMOEBA_WET_EDITOR 169 +#define IMG_AMOEBA_WET_PART1 170 +#define IMG_AMOEBA_WET_PART2 171 +#define IMG_AMOEBA_WET_PART3 172 +#define IMG_AMOEBA_WET_PART4 173 +#define IMG_AMOEBA_DRY 174 +#define IMG_AMOEBA_DRY_PART1 175 +#define IMG_AMOEBA_DRY_PART2 176 +#define IMG_AMOEBA_DRY_PART3 177 +#define IMG_AMOEBA_DRY_PART4 178 +#define IMG_AMOEBA_FULL 179 +#define IMG_AMOEBA_FULL_EDITOR 180 +#define IMG_AMOEBA_FULL_PART1 181 +#define IMG_AMOEBA_FULL_PART2 182 +#define IMG_AMOEBA_FULL_PART3 183 +#define IMG_AMOEBA_FULL_PART4 184 +#define IMG_AMOEBA_DEAD 185 +#define IMG_AMOEBA_DEAD_PART1 186 +#define IMG_AMOEBA_DEAD_PART2 187 +#define IMG_AMOEBA_DEAD_PART3 188 +#define IMG_AMOEBA_DEAD_PART4 189 +#define IMG_EM_KEY1 190 +#define IMG_EM_KEY2 191 +#define IMG_EM_KEY3 192 +#define IMG_EM_KEY4 193 +#define IMG_EM_GATE1 194 +#define IMG_EM_GATE2 195 +#define IMG_EM_GATE3 196 +#define IMG_EM_GATE4 197 +#define IMG_EM_GATE1_GRAY 198 +#define IMG_EM_GATE2_GRAY 199 +#define IMG_EM_GATE3_GRAY 200 +#define IMG_EM_GATE4_GRAY 201 +#define IMG_EXIT_CLOSED 202 +#define IMG_EXIT_OPENING 203 +#define IMG_EXIT_OPEN 204 +#define IMG_BALLOON 205 +#define IMG_BALLOON_MOVING 206 +#define IMG_BALLOON_SEND_LEFT 207 +#define IMG_BALLOON_SEND_RIGHT 208 +#define IMG_BALLOON_SEND_UP 209 +#define IMG_BALLOON_SEND_DOWN 210 +#define IMG_BALLOON_SEND_ANY_DIRECTION 211 +#define IMG_SPRING 212 +#define IMG_SPRING_MOVING 213 +#define IMG_EMC_STEELWALL1 214 +#define IMG_EMC_STEELWALL2 215 +#define IMG_EMC_STEELWALL3 216 +#define IMG_EMC_STEELWALL4 217 +#define IMG_EMC_WALL_PILLAR_UPPER 218 +#define IMG_EMC_WALL_PILLAR_MIDDLE 219 +#define IMG_EMC_WALL_PILLAR_LOWER 220 +#define IMG_EMC_WALL4 221 +#define IMG_EMC_WALL5 222 +#define IMG_EMC_WALL6 223 +#define IMG_EMC_WALL7 224 +#define IMG_EMC_WALL8 225 +#define IMG_INVISIBLE_STEELWALL 226 +#define IMG_INVISIBLE_STEELWALL_ACTIVE 227 +#define IMG_INVISIBLE_WALL 228 +#define IMG_INVISIBLE_WALL_ACTIVE 229 +#define IMG_INVISIBLE_SAND 230 +#define IMG_INVISIBLE_SAND_ACTIVE 231 +#define IMG_CONVEYOR_BELT1_MIDDLE 232 +#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE 233 +#define IMG_CONVEYOR_BELT1_LEFT 234 +#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE 235 +#define IMG_CONVEYOR_BELT1_RIGHT 236 +#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE 237 +#define IMG_CONVEYOR_BELT1_SWITCH_LEFT 238 +#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE 239 +#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT 240 +#define IMG_CONVEYOR_BELT2_MIDDLE 241 +#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE 242 +#define IMG_CONVEYOR_BELT2_LEFT 243 +#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE 244 +#define IMG_CONVEYOR_BELT2_RIGHT 245 +#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE 246 +#define IMG_CONVEYOR_BELT2_SWITCH_LEFT 247 +#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE 248 +#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT 249 +#define IMG_CONVEYOR_BELT3_MIDDLE 250 +#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE 251 +#define IMG_CONVEYOR_BELT3_LEFT 252 +#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE 253 +#define IMG_CONVEYOR_BELT3_RIGHT 254 +#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE 255 +#define IMG_CONVEYOR_BELT3_SWITCH_LEFT 256 +#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE 257 +#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT 258 +#define IMG_CONVEYOR_BELT4_MIDDLE 259 +#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE 260 +#define IMG_CONVEYOR_BELT4_LEFT 261 +#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE 262 +#define IMG_CONVEYOR_BELT4_RIGHT 263 +#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE 264 +#define IMG_CONVEYOR_BELT4_SWITCH_LEFT 265 +#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE 266 +#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT 267 +#define IMG_SWITCHGATE_SWITCH_UP 268 +#define IMG_SWITCHGATE_SWITCH_DOWN 269 +#define IMG_LIGHT_SWITCH 270 +#define IMG_LIGHT_SWITCH_ACTIVE 271 +#define IMG_TIMEGATE_SWITCH 272 +#define IMG_TIMEGATE_SWITCH_ACTIVE 273 +#define IMG_ENVELOPE 274 +#define IMG_SIGN_EXCLAMATION 275 +#define IMG_SIGN_STOP 276 +#define IMG_LANDMINE 277 +#define IMG_STEELWALL_SLANTED 278 +#define IMG_EXTRA_TIME 279 +#define IMG_SHIELD_NORMAL 280 +#define IMG_SHIELD_NORMAL_ACTIVE 281 +#define IMG_SHIELD_DEADLY 282 +#define IMG_SHIELD_DEADLY_ACTIVE 283 +#define IMG_SWITCHGATE_CLOSED 284 +#define IMG_SWITCHGATE_OPENING 285 +#define IMG_SWITCHGATE_OPEN 286 +#define IMG_SWITCHGATE_CLOSING 287 +#define IMG_TIMEGATE_CLOSED 288 +#define IMG_TIMEGATE_OPENING 289 +#define IMG_TIMEGATE_OPEN 290 +#define IMG_TIMEGATE_CLOSING 291 +#define IMG_PEARL 292 +#define IMG_PEARL_BREAKING 293 +#define IMG_CRYSTAL 294 +#define IMG_WALL_PEARL 295 +#define IMG_WALL_CRYSTAL 296 +#define IMG_TUBE_RIGHT_DOWN 297 +#define IMG_TUBE_HORIZONTAL_DOWN 298 +#define IMG_TUBE_LEFT_DOWN 299 +#define IMG_TUBE_HORIZONTAL 300 +#define IMG_TUBE_VERTICAL_RIGHT 301 +#define IMG_TUBE_ALL 302 +#define IMG_TUBE_VERTICAL_LEFT 303 +#define IMG_TUBE_VERTICAL 304 +#define IMG_TUBE_RIGHT_UP 305 +#define IMG_TUBE_HORIZONTAL_UP 306 +#define IMG_TUBE_LEFT_UP 307 +#define IMG_TRAP 308 +#define IMG_TRAP_ACTIVE 309 +#define IMG_DX_SUPABOMB 310 +#define IMG_KEY1 311 +#define IMG_KEY2 312 +#define IMG_KEY3 313 +#define IMG_KEY4 314 +#define IMG_GATE1 315 +#define IMG_GATE2 316 +#define IMG_GATE3 317 +#define IMG_GATE4 318 +#define IMG_GATE1_GRAY 319 +#define IMG_GATE2_GRAY 320 +#define IMG_GATE3_GRAY 321 +#define IMG_GATE4_GRAY 322 +#define IMG_GAMEOFLIFE 323 +#define IMG_BIOMAZE 324 +#define IMG_PACMAN_RIGHT 325 +#define IMG_PACMAN_UP 326 +#define IMG_PACMAN_LEFT 327 +#define IMG_PACMAN_DOWN 328 +#define IMG_LAMP 329 +#define IMG_LAMP_ACTIVE 330 +#define IMG_TIME_ORB_FULL 331 +#define IMG_TIME_ORB_EMPTY 332 +#define IMG_EMERALD_YELLOW 333 +#define IMG_EMERALD_YELLOW_MOVING 334 +#define IMG_EMERALD_YELLOW_FALLING 335 +#define IMG_EMERALD_RED 336 +#define IMG_EMERALD_RED_MOVING 337 +#define IMG_EMERALD_RED_FALLING 338 +#define IMG_EMERALD_PURPLE 339 +#define IMG_EMERALD_PURPLE_MOVING 340 +#define IMG_EMERALD_PURPLE_FALLING 341 +#define IMG_WALL_EMERALD_YELLOW 342 +#define IMG_WALL_EMERALD_RED 343 +#define IMG_WALL_EMERALD_PURPLE 344 +#define IMG_WALL_BD_DIAMOND 345 +#define IMG_WALL_GROWING 346 +#define IMG_WALL_GROWING_XY 347 +#define IMG_WALL_GROWING_X 348 +#define IMG_WALL_GROWING_Y 349 +#define IMG_WALL_GROWING_ACTIVE_LEFT 350 +#define IMG_WALL_GROWING_ACTIVE_RIGHT 351 +#define IMG_WALL_GROWING_ACTIVE_UP 352 +#define IMG_WALL_GROWING_ACTIVE_DOWN 353 +#define IMG_BLACK_ORB 354 +#define IMG_SPEED_PILL 355 +#define IMG_DARK_YAMYAM 356 +#define IMG_DYNABOMB_ACTIVE 357 +#define IMG_DYNABOMB_PLAYER1_ACTIVE 358 +#define IMG_DYNABOMB_PLAYER2_ACTIVE 359 +#define IMG_DYNABOMB_PLAYER3_ACTIVE 360 +#define IMG_DYNABOMB_PLAYER4_ACTIVE 361 +#define IMG_DYNABOMB_NR 362 +#define IMG_DYNABOMB_SZ 363 +#define IMG_DYNABOMB_XL 364 +#define IMG_PIG 365 +#define IMG_PIG_DOWN 366 +#define IMG_PIG_UP 367 +#define IMG_PIG_LEFT 368 +#define IMG_PIG_RIGHT 369 +#define IMG_PIG_MOVING_DOWN 370 +#define IMG_PIG_MOVING_UP 371 +#define IMG_PIG_MOVING_LEFT 372 +#define IMG_PIG_MOVING_RIGHT 373 +#define IMG_PIG_EATING_DOWN 374 +#define IMG_PIG_EATING_UP 375 +#define IMG_PIG_EATING_LEFT 376 +#define IMG_PIG_EATING_RIGHT 377 +#define IMG_DRAGON 378 +#define IMG_DRAGON_DOWN 379 +#define IMG_DRAGON_UP 380 +#define IMG_DRAGON_LEFT 381 +#define IMG_DRAGON_RIGHT 382 +#define IMG_DRAGON_MOVING_DOWN 383 +#define IMG_DRAGON_MOVING_UP 384 +#define IMG_DRAGON_MOVING_LEFT 385 +#define IMG_DRAGON_MOVING_RIGHT 386 +#define IMG_DRAGON_ATTACKING_DOWN 387 +#define IMG_DRAGON_ATTACKING_UP 388 +#define IMG_DRAGON_ATTACKING_LEFT 389 +#define IMG_DRAGON_ATTACKING_RIGHT 390 +#define IMG_MOLE 391 +#define IMG_MOLE_DOWN 392 +#define IMG_MOLE_UP 393 +#define IMG_MOLE_LEFT 394 +#define IMG_MOLE_RIGHT 395 +#define IMG_MOLE_MOVING_DOWN 396 +#define IMG_MOLE_MOVING_UP 397 +#define IMG_MOLE_MOVING_LEFT 398 +#define IMG_MOLE_MOVING_RIGHT 399 +#define IMG_MOLE_DIGGING_DOWN 400 +#define IMG_MOLE_DIGGING_UP 401 +#define IMG_MOLE_DIGGING_LEFT 402 +#define IMG_MOLE_DIGGING_RIGHT 403 +#define IMG_PENGUIN 404 +#define IMG_PENGUIN_DOWN 405 +#define IMG_PENGUIN_UP 406 +#define IMG_PENGUIN_LEFT 407 +#define IMG_PENGUIN_RIGHT 408 +#define IMG_PENGUIN_MOVING_DOWN 409 +#define IMG_PENGUIN_MOVING_UP 410 +#define IMG_PENGUIN_MOVING_LEFT 411 +#define IMG_PENGUIN_MOVING_RIGHT 412 +#define IMG_SATELLITE 413 +#define IMG_SATELLITE_MOVING 414 +#define IMG_FLAMES1_LEFT 415 +#define IMG_FLAMES2_LEFT 416 +#define IMG_FLAMES3_LEFT 417 +#define IMG_FLAMES1_RIGHT 418 +#define IMG_FLAMES2_RIGHT 419 +#define IMG_FLAMES3_RIGHT 420 +#define IMG_FLAMES1_UP 421 +#define IMG_FLAMES2_UP 422 +#define IMG_FLAMES3_UP 423 +#define IMG_FLAMES1_DOWN 424 +#define IMG_FLAMES2_DOWN 425 +#define IMG_FLAMES3_DOWN 426 +#define IMG_STONEBLOCK 427 +#define IMG_PLAYER1 428 +#define IMG_PLAYER1_DOWN 429 +#define IMG_PLAYER1_UP 430 +#define IMG_PLAYER1_LEFT 431 +#define IMG_PLAYER1_RIGHT 432 +#define IMG_PLAYER1_MOVING_DOWN 433 +#define IMG_PLAYER1_MOVING_UP 434 +#define IMG_PLAYER1_MOVING_LEFT 435 +#define IMG_PLAYER1_MOVING_RIGHT 436 +#define IMG_PLAYER1_DIGGING_DOWN 437 +#define IMG_PLAYER1_DIGGING_UP 438 +#define IMG_PLAYER1_DIGGING_LEFT 439 +#define IMG_PLAYER1_DIGGING_RIGHT 440 +#define IMG_PLAYER1_PUSHING_DOWN 441 +#define IMG_PLAYER1_PUSHING_UP 442 +#define IMG_PLAYER1_PUSHING_LEFT 443 +#define IMG_PLAYER1_PUSHING_RIGHT 444 +#define IMG_PLAYER1_SNAPPING_DOWN 445 +#define IMG_PLAYER1_SNAPPING_UP 446 +#define IMG_PLAYER1_SNAPPING_LEFT 447 +#define IMG_PLAYER1_SNAPPING_RIGHT 448 +#define IMG_PLAYER2 449 +#define IMG_PLAYER2_DOWN 450 +#define IMG_PLAYER2_UP 451 +#define IMG_PLAYER2_LEFT 452 +#define IMG_PLAYER2_RIGHT 453 +#define IMG_PLAYER2_MOVING_DOWN 454 +#define IMG_PLAYER2_MOVING_UP 455 +#define IMG_PLAYER2_MOVING_LEFT 456 +#define IMG_PLAYER2_MOVING_RIGHT 457 +#define IMG_PLAYER2_DIGGING_DOWN 458 +#define IMG_PLAYER2_DIGGING_UP 459 +#define IMG_PLAYER2_DIGGING_LEFT 460 +#define IMG_PLAYER2_DIGGING_RIGHT 461 +#define IMG_PLAYER2_PUSHING_DOWN 462 +#define IMG_PLAYER2_PUSHING_UP 463 +#define IMG_PLAYER2_PUSHING_LEFT 464 +#define IMG_PLAYER2_PUSHING_RIGHT 465 +#define IMG_PLAYER2_SNAPPING_DOWN 466 +#define IMG_PLAYER2_SNAPPING_UP 467 +#define IMG_PLAYER2_SNAPPING_LEFT 468 +#define IMG_PLAYER2_SNAPPING_RIGHT 469 +#define IMG_PLAYER3 470 +#define IMG_PLAYER3_DOWN 471 +#define IMG_PLAYER3_UP 472 +#define IMG_PLAYER3_LEFT 473 +#define IMG_PLAYER3_RIGHT 474 +#define IMG_PLAYER3_MOVING_DOWN 475 +#define IMG_PLAYER3_MOVING_UP 476 +#define IMG_PLAYER3_MOVING_LEFT 477 +#define IMG_PLAYER3_MOVING_RIGHT 478 +#define IMG_PLAYER3_DIGGING_DOWN 479 +#define IMG_PLAYER3_DIGGING_UP 480 +#define IMG_PLAYER3_DIGGING_LEFT 481 +#define IMG_PLAYER3_DIGGING_RIGHT 482 +#define IMG_PLAYER3_PUSHING_DOWN 483 +#define IMG_PLAYER3_PUSHING_UP 484 +#define IMG_PLAYER3_PUSHING_LEFT 485 +#define IMG_PLAYER3_PUSHING_RIGHT 486 +#define IMG_PLAYER3_SNAPPING_DOWN 487 +#define IMG_PLAYER3_SNAPPING_UP 488 +#define IMG_PLAYER3_SNAPPING_LEFT 489 +#define IMG_PLAYER3_SNAPPING_RIGHT 490 +#define IMG_PLAYER4 491 +#define IMG_PLAYER4_DOWN 492 +#define IMG_PLAYER4_UP 493 +#define IMG_PLAYER4_LEFT 494 +#define IMG_PLAYER4_RIGHT 495 +#define IMG_PLAYER4_MOVING_DOWN 496 +#define IMG_PLAYER4_MOVING_UP 497 +#define IMG_PLAYER4_MOVING_LEFT 498 +#define IMG_PLAYER4_MOVING_RIGHT 499 +#define IMG_PLAYER4_DIGGING_DOWN 500 +#define IMG_PLAYER4_DIGGING_UP 501 +#define IMG_PLAYER4_DIGGING_LEFT 502 +#define IMG_PLAYER4_DIGGING_RIGHT 503 +#define IMG_PLAYER4_PUSHING_DOWN 504 +#define IMG_PLAYER4_PUSHING_UP 505 +#define IMG_PLAYER4_PUSHING_LEFT 506 +#define IMG_PLAYER4_PUSHING_RIGHT 507 +#define IMG_PLAYER4_SNAPPING_DOWN 508 +#define IMG_PLAYER4_SNAPPING_UP 509 +#define IMG_PLAYER4_SNAPPING_LEFT 510 +#define IMG_PLAYER4_SNAPPING_RIGHT 511 +#define IMG_EXPLOSION 512 +#define IMG_TWINKLE_BLUE 513 +#define IMG_TWINKLE_WHITE 514 +#define IMG_STEELWALL_TOPLEFT 515 +#define IMG_STEELWALL_TOPRIGHT 516 +#define IMG_STEELWALL_BOTTOMLEFT 517 +#define IMG_STEELWALL_BOTTOMRIGHT 518 +#define IMG_STEELWALL_HORIZONTAL 519 +#define IMG_STEELWALL_VERTICAL 520 +#define IMG_STEELWALL_TOPLEFT_EDITOR 521 +#define IMG_STEELWALL_TOPRIGHT_EDITOR 522 +#define IMG_STEELWALL_BOTTOMLEFT_EDITOR 523 +#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR 524 +#define IMG_STEELWALL_HORIZONTAL_EDITOR 525 +#define IMG_STEELWALL_VERTICAL_EDITOR 526 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT 527 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 528 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 529 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 530 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 531 +#define IMG_INVISIBLE_STEELWALL_VERTICAL 532 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR 533 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR 534 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR 535 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR 536 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR 537 +#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR 538 +#define IMG_ARROW_BLUE_LEFT 539 +#define IMG_ARROW_BLUE_RIGHT 540 +#define IMG_ARROW_BLUE_UP 541 +#define IMG_ARROW_BLUE_DOWN 542 +#define IMG_ARROW_RED_LEFT 543 +#define IMG_ARROW_RED_RIGHT 544 +#define IMG_ARROW_RED_UP 545 +#define IMG_ARROW_RED_DOWN 546 +#define IMG_BALL_RED 547 +#define IMG_BALL_BLUE 548 +#define IMG_BALL_YELLOW 549 +#define IMG_BALL_GRAY 550 +#define IMG_SCROLLBAR_BLUE 551 +#define IMG_SCROLLBAR_RED 552 +#define IMG_SCROLLBAR_GREEN 553 +#define IMG_SCROLLBAR_YELLOW 554 +#define IMG_CHAR_SPACE 555 +#define IMG_CHAR_EXCLAM 556 +#define IMG_CHAR_QUOTEDBL 557 +#define IMG_CHAR_NUMBERSIGN 558 +#define IMG_CHAR_DOLLAR 559 +#define IMG_CHAR_PROCENT 560 +#define IMG_CHAR_AMPERSAND 561 +#define IMG_CHAR_APOSTROPHE 562 +#define IMG_CHAR_PARENLEFT 563 +#define IMG_CHAR_PARENRIGHT 564 +#define IMG_CHAR_ASTERISK 565 +#define IMG_CHAR_PLUS 566 +#define IMG_CHAR_COMMA 567 +#define IMG_CHAR_MINUS 568 +#define IMG_CHAR_PERIOD 569 +#define IMG_CHAR_SLASH 570 +#define IMG_CHAR_0 571 +#define IMG_CHAR_1 572 +#define IMG_CHAR_2 573 +#define IMG_CHAR_3 574 +#define IMG_CHAR_4 575 +#define IMG_CHAR_5 576 +#define IMG_CHAR_6 577 +#define IMG_CHAR_7 578 +#define IMG_CHAR_8 579 +#define IMG_CHAR_9 580 +#define IMG_CHAR_COLON 581 +#define IMG_CHAR_SEMICOLON 582 +#define IMG_CHAR_LESS 583 +#define IMG_CHAR_EQUAL 584 +#define IMG_CHAR_GREATER 585 +#define IMG_CHAR_QUESTION 586 +#define IMG_CHAR_AT 587 +#define IMG_CHAR_A 588 +#define IMG_CHAR_B 589 +#define IMG_CHAR_C 590 +#define IMG_CHAR_D 591 +#define IMG_CHAR_E 592 +#define IMG_CHAR_F 593 +#define IMG_CHAR_G 594 +#define IMG_CHAR_H 595 +#define IMG_CHAR_I 596 +#define IMG_CHAR_J 597 +#define IMG_CHAR_K 598 +#define IMG_CHAR_L 599 +#define IMG_CHAR_M 600 +#define IMG_CHAR_N 601 +#define IMG_CHAR_O 602 +#define IMG_CHAR_P 603 +#define IMG_CHAR_Q 604 +#define IMG_CHAR_R 605 +#define IMG_CHAR_S 606 +#define IMG_CHAR_T 607 +#define IMG_CHAR_U 608 +#define IMG_CHAR_V 609 +#define IMG_CHAR_W 610 +#define IMG_CHAR_X 611 +#define IMG_CHAR_Y 612 +#define IMG_CHAR_Z 613 +#define IMG_CHAR_AE 614 +#define IMG_CHAR_OE 615 +#define IMG_CHAR_UE 616 +#define IMG_CHAR_COPYRIGHT 617 +#define IMG_CHAR_UNDERSCORE 618 +#define IMG_CHAR_EMPTY 619 +#define IMG_CHAR_DEGREE 620 +#define IMG_CHAR_TM 621 +#define IMG_CHAR_CURSOR 622 +#define IMG_CUSTOM_1 623 +#define IMG_CUSTOM_2 624 +#define IMG_CUSTOM_3 625 +#define IMG_CUSTOM_4 626 +#define IMG_CUSTOM_5 627 +#define IMG_CUSTOM_6 628 +#define IMG_CUSTOM_7 629 +#define IMG_CUSTOM_8 630 +#define IMG_CUSTOM_9 631 +#define IMG_CUSTOM_10 632 +#define IMG_CUSTOM_11 633 +#define IMG_CUSTOM_12 634 +#define IMG_CUSTOM_13 635 +#define IMG_CUSTOM_14 636 +#define IMG_CUSTOM_15 637 +#define IMG_CUSTOM_16 638 +#define IMG_CUSTOM_17 639 +#define IMG_CUSTOM_18 640 +#define IMG_CUSTOM_19 641 +#define IMG_CUSTOM_20 642 +#define IMG_CUSTOM_21 643 +#define IMG_CUSTOM_22 644 +#define IMG_CUSTOM_23 645 +#define IMG_CUSTOM_24 646 +#define IMG_CUSTOM_25 647 +#define IMG_CUSTOM_26 648 +#define IMG_CUSTOM_27 649 +#define IMG_CUSTOM_28 650 +#define IMG_CUSTOM_29 651 +#define IMG_CUSTOM_30 652 +#define IMG_CUSTOM_31 653 +#define IMG_CUSTOM_32 654 +#define IMG_CUSTOM_33 655 +#define IMG_CUSTOM_34 656 +#define IMG_CUSTOM_35 657 +#define IMG_CUSTOM_36 658 +#define IMG_CUSTOM_37 659 +#define IMG_CUSTOM_38 660 +#define IMG_CUSTOM_39 661 +#define IMG_CUSTOM_40 662 +#define IMG_CUSTOM_41 663 +#define IMG_CUSTOM_42 664 +#define IMG_CUSTOM_43 665 +#define IMG_CUSTOM_44 666 +#define IMG_CUSTOM_45 667 +#define IMG_CUSTOM_46 668 +#define IMG_CUSTOM_47 669 +#define IMG_CUSTOM_48 670 +#define IMG_CUSTOM_49 671 +#define IMG_CUSTOM_50 672 +#define IMG_CUSTOM_51 673 +#define IMG_CUSTOM_52 674 +#define IMG_CUSTOM_53 675 +#define IMG_CUSTOM_54 676 +#define IMG_CUSTOM_55 677 +#define IMG_CUSTOM_56 678 +#define IMG_CUSTOM_57 679 +#define IMG_CUSTOM_58 680 +#define IMG_CUSTOM_59 681 +#define IMG_CUSTOM_60 682 +#define IMG_CUSTOM_61 683 +#define IMG_CUSTOM_62 684 +#define IMG_CUSTOM_63 685 +#define IMG_CUSTOM_64 686 +#define IMG_CUSTOM_65 687 +#define IMG_CUSTOM_66 688 +#define IMG_CUSTOM_67 689 +#define IMG_CUSTOM_68 690 +#define IMG_CUSTOM_69 691 +#define IMG_CUSTOM_70 692 +#define IMG_CUSTOM_71 693 +#define IMG_CUSTOM_72 694 +#define IMG_CUSTOM_73 695 +#define IMG_CUSTOM_74 696 +#define IMG_CUSTOM_75 697 +#define IMG_CUSTOM_76 698 +#define IMG_CUSTOM_77 699 +#define IMG_CUSTOM_78 700 +#define IMG_CUSTOM_79 701 +#define IMG_CUSTOM_80 702 +#define IMG_CUSTOM_81 703 +#define IMG_CUSTOM_82 704 +#define IMG_CUSTOM_83 705 +#define IMG_CUSTOM_84 706 +#define IMG_CUSTOM_85 707 +#define IMG_CUSTOM_86 708 +#define IMG_CUSTOM_87 709 +#define IMG_CUSTOM_88 710 +#define IMG_CUSTOM_89 711 +#define IMG_CUSTOM_90 712 +#define IMG_CUSTOM_91 713 +#define IMG_CUSTOM_92 714 +#define IMG_CUSTOM_93 715 +#define IMG_CUSTOM_94 716 +#define IMG_CUSTOM_95 717 +#define IMG_CUSTOM_96 718 +#define IMG_CUSTOM_97 719 +#define IMG_CUSTOM_98 720 +#define IMG_CUSTOM_99 721 +#define IMG_CUSTOM_100 722 +#define IMG_CUSTOM_101 723 +#define IMG_CUSTOM_102 724 +#define IMG_CUSTOM_103 725 +#define IMG_CUSTOM_104 726 +#define IMG_CUSTOM_105 727 +#define IMG_CUSTOM_106 728 +#define IMG_CUSTOM_107 729 +#define IMG_CUSTOM_108 730 +#define IMG_CUSTOM_109 731 +#define IMG_CUSTOM_110 732 +#define IMG_CUSTOM_111 733 +#define IMG_CUSTOM_112 734 +#define IMG_CUSTOM_113 735 +#define IMG_CUSTOM_114 736 +#define IMG_CUSTOM_115 737 +#define IMG_CUSTOM_116 738 +#define IMG_CUSTOM_117 739 +#define IMG_CUSTOM_118 740 +#define IMG_CUSTOM_119 741 +#define IMG_CUSTOM_120 742 +#define IMG_CUSTOM_121 743 +#define IMG_CUSTOM_122 744 +#define IMG_CUSTOM_123 745 +#define IMG_CUSTOM_124 746 +#define IMG_CUSTOM_125 747 +#define IMG_CUSTOM_126 748 +#define IMG_CUSTOM_127 749 +#define IMG_CUSTOM_128 750 +#define IMG_GLOBAL_BORDER 751 +#define IMG_GLOBAL_DOOR 752 +#define IMG_GLOBAL_TOONS 753 +#define IMG_FONT_BIG 754 +#define IMG_FONT_MEDIUM 755 +#define IMG_FONT_SMALL 756 +#define IMG_FONT_EM 757 +#define IMG_BACKGROUND_DEFAULT 758 +#define IMG_BACKGROUND_DOOR 759 +#define IMG_BACKGROUND_MAIN 760 +#define IMG_BACKGROUND_LEVEL_SERIES 761 +#define IMG_BACKGROUND_HALL_OF_FAME 762 +#define IMG_BACKGROUND_EDITOR_SETTINGS_LEVEL 763 +#define IMG_BACKGROUND_EDITOR_SETTINGS_ELEMENT 764 +#define IMG_BACKGROUND_INFO 765 +#define IMG_BACKGROUND_SETUP 766 +#define IMG_INFO_FONT_EM_1 767 +#define IMG_INFO_FONT_EM_2 768 +#define IMG_INFO_FONT_EM_3 769 +#define IMG_INFO_FONT_EM_4 770 +#define IMG_INFO_FONT_EM_5 771 -#define NUM_IMAGE_FILES 759 +#define NUM_IMAGE_FILES 772 #endif /* CONF_GFX_H */ diff --git a/src/conftime.h b/src/conftime.h index 89a8cef3..a7c23c35 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-02-01 01:43]" +#define COMPILE_DATE_STRING "[2003-02-02 03:15]" diff --git a/src/init.c b/src/init.c index 3dcfe04e..36a3e357 100644 --- a/src/init.c +++ b/src/init.c @@ -73,9 +73,9 @@ static void InitMusic(); static void InitGfx(); static void InitGfxBackground(); static void InitGadgets(); -static void InitElementImages(); +static void InitElementSmallImages(); static void InitElementGraphicInfo(); -static void InitElementEditorGraphicInfo(); +static void InitElementSpecialGraphicInfo(); static void InitElementSoundInfo(); static void InitElementProperties(); static void InitGraphicInfo(); @@ -248,9 +248,11 @@ static void InitMixer() static void ReinitializeGraphics() { - InitElementGraphicInfo(); /* element => game graphic mapping */ - InitElementEditorGraphicInfo(); /* element => editor graphic mapping */ - InitGraphicInfo(); /* graphic => properties mapping */ + InitElementGraphicInfo(); /* element game graphic mapping */ + InitElementSpecialGraphicInfo(); /* element special graphic mapping */ + InitGraphicInfo(); /* graphic properties mapping */ + + InitElementSmallImages(); /* create editor and preview images */ InitFontInfo(bitmap_font_initial, graphic_info[IMG_FONT_BIG].bitmap, @@ -263,41 +265,12 @@ static void ReinitializeGraphics() InitGadgets(); InitToons(); - - - - /* !!! TEST ONLY !!! */ - if (0) - { - Bitmap *tst_bitmap = graphic_info[IMG_SAND].bitmap; - Bitmap *tmp_bitmap = ZoomBitmap(tst_bitmap, - tst_bitmap->width / 2, - tst_bitmap->height / 2); - - BlitBitmap(tmp_bitmap, tst_bitmap, 0, 0, 256, 224, 0, 448); - - FreeBitmap(tmp_bitmap); - } - - if (1) - { - printf("CREATING SMALL IMAGES...\n"); - -#if 1 - InitElementImages(); -#else - CreateImageWithSmallImages(IMG_SAND); - CreateImageWithSmallImages(IMG_SAND); -#endif - - printf("DONE!\n"); - } } static void ReinitializeSounds() { - InitElementSoundInfo(); /* element => game sound mapping */ - InitSoundInfo(); /* sound => properties mapping */ + InitElementSoundInfo(); /* element game sound mapping */ + InitSoundInfo(); /* sound properties mapping */ InitPlaySoundLevel(); /* internal game sound settings */ } @@ -740,16 +713,20 @@ void InitGadgets() gadgets_initialized = TRUE; } -void InitElementImages() +void InitElementSmallImages() { struct PropertyMapping *property_mapping = getImageListPropertyMapping(); int num_property_mappings = getImageListPropertyMappingSize(); int i; - /* initialize images from static configuration */ + /* initialize normal images from static configuration */ for (i=0; element_to_graphic[i].element > -1; i++) CreateImageWithSmallImages(element_to_graphic[i].graphic); + /* initialize special images from static configuration */ + for (i=0; element_to_special_graphic[i].element > -1; i++) + CreateImageWithSmallImages(element_to_special_graphic[i].graphic); + /* initialize images from dynamic configuration */ for (i=0; i < num_property_mappings; i++) CreateImageWithSmallImages(property_mapping[i].artwork_index); @@ -859,7 +836,7 @@ void InitElementGraphicInfo() } } -void InitElementEditorGraphicInfo() +void InitElementSpecialGraphicInfo() { struct PropertyMapping *property_mapping = getImageListPropertyMapping(); int num_property_mappings = getImageListPropertyMappingSize(); @@ -867,7 +844,10 @@ void InitElementEditorGraphicInfo() /* always start with reliable default values */ for (i=0; i -1; i++) @@ -876,10 +856,10 @@ void InitElementEditorGraphicInfo() int special = element_to_special_graphic[i].special; int graphic = element_to_special_graphic[i].graphic; - if (special != GFX_SPECIAL_ARG_EDITOR) - continue; - - element_info[element].editor_graphic = graphic; + if (special == GFX_SPECIAL_ARG_EDITOR) + element_info[element].editor_graphic = graphic; + else if (special == GFX_SPECIAL_ARG_PREVIEW) + element_info[element].preview_graphic = graphic; } /* initialize special element/graphic mapping from dynamic configuration */ @@ -889,10 +869,10 @@ void InitElementEditorGraphicInfo() int special = property_mapping[i].ext3_index; int graphic = property_mapping[i].artwork_index; - if (special != GFX_SPECIAL_ARG_EDITOR) - continue; - - element_info[element].editor_graphic = graphic; + if (special == GFX_SPECIAL_ARG_EDITOR) + element_info[element].editor_graphic = graphic; + else if (special == GFX_SPECIAL_ARG_PREVIEW) + element_info[element].preview_graphic = graphic; } } diff --git a/src/libgame/image.c b/src/libgame/image.c index f72c37e8..c77924c9 100644 --- a/src/libgame/image.c +++ b/src/libgame/image.c @@ -908,7 +908,9 @@ void CreateImageWithSmallImages(int pos) if (img_info == NULL || img_info->contains_small_images) return; +#if 0 printf(" creating small image for '%s'\n", img_info->source_filename); +#endif CreateBitmapWithSmallBitmaps(img_info->bitmap); diff --git a/src/main.c b/src/main.c index a6a970f9..4970aac4 100644 --- a/src/main.c +++ b/src/main.c @@ -98,9 +98,11 @@ struct SoundInfo *sound_info = NULL; /* element definitions */ /* ------------------------------------------------------------------------- */ -struct ElementInfo element_info[MAX_NUM_ELEMENTS] = +struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = { - /* "real" level file elements */ + /* ----------------------------------------------------------------------- */ + /* "real" level file elements */ + /* ----------------------------------------------------------------------- */ { "empty_space", @@ -2534,7 +2536,9 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS] = "custom element 128" }, - /* "real" (and therefore drawable) runtime elements */ + /* ----------------------------------------------------------------------- */ + /* "real" (and therefore drawable) runtime elements */ + /* ----------------------------------------------------------------------- */ { "em_key1", @@ -2762,6 +2766,281 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS] = "-" }, + /* ----------------------------------------------------------------------- */ + /* "unreal" (and therefore not drawable) runtime elements */ + /* ----------------------------------------------------------------------- */ + + { + "blocked", + "-", + "-" + }, + { + "explosion", + "-", + "-" + }, + { + "nut_cracking", + "-", + "-" + }, + { + "acid_splash_left", + "-", + "-" + }, + { + "acid_splash_right", + "-", + "-" + }, + { + "amoeba_creating", + "-", + "-" + }, + { + "amoeba_shrinking", + "-", + "-" + }, + { + "wall_growing_active", + "-", + "-" + }, + { + "flames", + "-", + "-" + }, + { + "player_is_leaving", + "-", + "-" + }, + { + "quicksand_filling", + "-", + "-" + }, + { + "magic_wall_filling", + "-", + "-" + }, + { + "bd_magic_wall_filling", + "-", + "-" + }, + + /* ----------------------------------------------------------------------- */ + /* dummy elements (never used as game elements, only used as graphics) */ + /* ----------------------------------------------------------------------- */ + + { + "steelwall_topleft", + "-", + "-" + }, + { + "steelwall_topright", + "-", + "-" + }, + { + "steelwall_bottomleft", + "-", + "-" + }, + { + "steelwall_bottomright", + "-", + "-" + }, + { + "steelwall_horizontal", + "-", + "-" + }, + { + "steelwall_vertical", + "-", + "-" + }, + { + "invisible_steelwall_topleft", + "-", + "-" + }, + { + "invisible_steelwall_topright", + "-", + "-" + }, + { + "invisible_steelwall_bottomleft", + "-", + "-" + }, + { + "invisible_steelwall_bottomright", + "-", + "-" + }, + { + "invisible_steelwall_horizontal", + "-", + "-" + }, + { + "invisible_steelwall_vertical", + "-", + "-" + }, + { + "sand_crumbled", + "-", + "-" + }, + { + "bd_amoeba_part1", + "-", + "-" + }, + { + "bd_amoeba_part2", + "-", + "-" + }, + { + "bd_amoeba_part3", + "-", + "-" + }, + { + "bd_amoeba_part4", + "-", + "-" + }, + { + "amoeba_wet_part1", + "-", + "-" + }, + { + "amoeba_wet_part2", + "-", + "-" + }, + { + "amoeba_wet_part3", + "-", + "-" + }, + { + "amoeba_wet_part4", + "-", + "-" + }, + { + "amoeba_dry_part1", + "-", + "-" + }, + { + "amoeba_dry_part2", + "-", + "-" + }, + { + "amoeba_dry_part3", + "-", + "-" + }, + { + "amoeba_dry_part4", + "-", + "-" + }, + { + "amoeba_full_part1", + "-", + "-" + }, + { + "amoeba_full_part2", + "-", + "-" + }, + { + "amoeba_full_part3", + "-", + "-" + }, + { + "amoeba_full_part4", + "-", + "-" + }, + { + "amoeba_dead_part1", + "-", + "-" + }, + { + "amoeba_dead_part2", + "-", + "-" + }, + { + "amoeba_dead_part3", + "-", + "-" + }, + { + "amoeba_dead_part4", + "-", + "-" + }, + { + "dynabomb_active", + "-", + "-" + }, + { + "shield_normal_active", + "-", + "-" + }, + { + "shield_deadly_active", + "-", + "-" + }, + { + "arrow_red_left", + "-", + "-" + }, + { + "arrow_red_right", + "-", + "-" + }, + { + "arrow_red_up", + "-", + "-" + }, + { + "arrow_red_down", + "-", + "-" + }, + { NULL, NULL, @@ -2774,7 +3053,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS] = /* element action and direction definitions */ /* ------------------------------------------------------------------------- */ -struct ElementActionInfo element_action_info[] = +struct ElementActionInfo element_action_info[NUM_ACTIONS + 1] = { { ".[DEFAULT]", ACTION_DEFAULT, TRUE }, { ".waiting", ACTION_WAITING, TRUE }, @@ -2801,7 +3080,7 @@ struct ElementActionInfo element_action_info[] = { NULL, 0, 0 } }; -struct ElementDirectionInfo element_direction_info[] = +struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS + 1] = { { ".left", MV_BIT_LEFT }, { ".right", MV_BIT_RIGHT }, @@ -2811,9 +3090,10 @@ struct ElementDirectionInfo element_direction_info[] = { NULL, 0 } }; -struct SpecialSuffixInfo special_suffix_info[] = +struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1] = { { ".EDITOR", 0, }, + { ".PREVIEW", 0, }, { NULL, 0, } }; diff --git a/src/main.h b/src/main.h index 24bcc846..21906949 100644 --- a/src/main.h +++ b/src/main.h @@ -730,7 +730,7 @@ #define EL_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 11) #define EL_BD_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 12) -/* dummy (not drawable) runtime elements (internal use only) */ +/* dummy elements (never used as game elements, only used as graphics) */ #define EL_FIRST_DUMMY (EL_FIRST_RUNTIME_UNREAL + 13) #define EL_STEELWALL_TOPLEFT (EL_FIRST_DUMMY + 0) @@ -804,8 +804,9 @@ /* values for special image configuration suffixes */ #define GFX_SPECIAL_ARG_EDITOR 0 +#define GFX_SPECIAL_ARG_PREVIEW 1 -#define NUM_SPECIAL_GFX_ARGS 1 +#define NUM_SPECIAL_GFX_ARGS 2 /* values for image configuration suffixes */ @@ -1060,6 +1061,7 @@ struct ElementInfo int direction_graphic[NUM_ACTIONS][NUM_DIRECTIONS]; int editor_graphic; /* graphic displayed in level editor */ + int preview_graphic; /* graphic displayed in level preview */ int sound[NUM_ACTIONS]; /* default sounds for several actions */ }; diff --git a/src/tools.c b/src/tools.c index 5722e252..f41affe9 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1337,6 +1337,29 @@ void DrawCrumbledSand(int x, int y) } } +static int getBorderElement(int x, int y) +{ + int border[7][2] = + { + { EL_STEELWALL_TOPLEFT, EL_INVISIBLE_STEELWALL_TOPLEFT }, + { EL_STEELWALL_TOPRIGHT, EL_INVISIBLE_STEELWALL_TOPRIGHT }, + { EL_STEELWALL_BOTTOMLEFT, EL_INVISIBLE_STEELWALL_BOTTOMLEFT }, + { EL_STEELWALL_BOTTOMRIGHT, EL_INVISIBLE_STEELWALL_BOTTOMRIGHT }, + { EL_STEELWALL_VERTICAL, EL_INVISIBLE_STEELWALL_VERTICAL }, + { EL_STEELWALL_HORIZONTAL, EL_INVISIBLE_STEELWALL_HORIZONTAL }, + { EL_STEELWALL, EL_INVISIBLE_STEELWALL } + }; + int steel_type = (BorderElement == EL_STEELWALL ? 0 : 1); + int steel_position = (x == -1 && y == -1 ? 0 : + x == lev_fieldx && y == -1 ? 1 : + x == -1 && y == lev_fieldy ? 2 : + x == lev_fieldx && y == lev_fieldy ? 3 : + x == -1 || x == lev_fieldx ? 4 : + y == -1 || y == lev_fieldy ? 5 : 6); + + return border[steel_position][steel_type]; +} + void DrawScreenElement(int x, int y, int element) { DrawScreenElementExt(x, y, 0, 0, element, NO_CUTTING, NO_MASKING); @@ -1359,7 +1382,7 @@ void DrawScreenField(int x, int y) if (lx < -1 || lx > lev_fieldx || ly < -1 || ly > lev_fieldy) element = EL_EMPTY; else - element = BorderElement; + element = getBorderElement(lx, ly); DrawScreenElement(x, y, element); return; @@ -1478,29 +1501,7 @@ void DrawMiniElementOrWall(int sx, int sy, int scroll_x, int scroll_y) else if (x > -1 && x < lev_fieldx && y > -1 && y < lev_fieldy) DrawMiniElement(sx, sy, Feld[x][y]); else - { - int steel_type, steel_position; - int border[6][2] = - { - { IMG_STEELWALL_TOPLEFT, IMG_INVISIBLE_STEELWALL_TOPLEFT }, - { IMG_STEELWALL_TOPRIGHT, IMG_INVISIBLE_STEELWALL_TOPRIGHT }, - { IMG_STEELWALL_BOTTOMLEFT, IMG_INVISIBLE_STEELWALL_BOTTOMLEFT }, - { IMG_STEELWALL_BOTTOMRIGHT, IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT }, - { IMG_STEELWALL_VERTICAL, IMG_INVISIBLE_STEELWALL_VERTICAL }, - { IMG_STEELWALL_HORIZONTAL, IMG_INVISIBLE_STEELWALL_HORIZONTAL } - }; - - steel_type = (BorderElement == EL_STEELWALL ? 0 : 1); - steel_position = (x == -1 && y == -1 ? 0 : - x == lev_fieldx && y == -1 ? 1 : - x == -1 && y == lev_fieldy ? 2 : - x == lev_fieldx && y == lev_fieldy ? 3 : - x == -1 || x == lev_fieldx ? 4 : - y == -1 || y == lev_fieldy ? 5 : -1); - - if (steel_position != -1) - DrawMiniGraphic(sx, sy, border[steel_position][steel_type]); - } + DrawMiniGraphic(sx, sy, el2edimg(getBorderElement(x, y))); } void getMicroGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y) @@ -1531,7 +1532,7 @@ void DrawMicroElement(int xpos, int ypos, int element) { Bitmap *src_bitmap; int src_x, src_y; - int graphic = el2img(element); + int graphic = el2preimg(element); getMicroGraphicSource(graphic, &src_bitmap, &src_x, &src_y); BlitBitmap(src_bitmap, drawto, src_x, src_y, MICRO_TILEX, MICRO_TILEY, @@ -1589,7 +1590,7 @@ static void DrawMicroLevelExt(int xpos, int ypos, int from_x, int from_y) else if (lx >= -1 && lx < lev_fieldx+1 && ly >= -1 && ly < lev_fieldy+1 && BorderElement != EL_EMPTY) DrawMicroElement(xpos + x * MICRO_TILEX, ypos + y * MICRO_TILEY, - BorderElement); + getBorderElement(lx, ly)); } } @@ -2455,3 +2456,8 @@ int el2edimg(int element) { return element_info[element].editor_graphic; } + +int el2preimg(int element) +{ + return element_info[element].preview_graphic; +} diff --git a/src/tools.h b/src/tools.h index a7415f02..1f520df3 100644 --- a/src/tools.h +++ b/src/tools.h @@ -138,5 +138,6 @@ int el_act2img(int, int); int el_dir2img(int, int); int el2img(int); int el2edimg(int); +int el2preimg(int); #endif /* TOOLS_H */ -- 2.34.1