From 41680565bf2af491be63ee8440788c4ff8b616db Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Wed, 2 Apr 2003 02:03:26 +0200 Subject: [PATCH] rnd-20030402-1-src --- src/conf_e2g.c | 32 +- src/conf_gfx.c | 48 +- src/conf_gfx.h | 1508 ++++++++++++++++++++++++------------------------ src/conftime.h | 2 +- src/game.c | 29 +- src/init.c | 46 +- src/main.h | 7 +- src/tools.c | 189 +++--- src/tools.h | 3 +- 9 files changed, 960 insertions(+), 904 deletions(-) diff --git a/src/conf_e2g.c b/src/conf_e2g.c index 70babbfa..2c9f8570 100644 --- a/src/conf_e2g.c +++ b/src/conf_e2g.c @@ -488,10 +488,6 @@ element_to_graphic[] = EL_SAND, -1, -1, IMG_SAND }, - { - EL_SAND_CRUMBLED, -1, -1, - IMG_SAND_CRUMBLED - }, { EL_SAND, ACTION_DIGGING, MV_BIT_LEFT, IMG_SAND_DIGGING_LEFT @@ -508,6 +504,26 @@ element_to_graphic[] = EL_SAND, ACTION_DIGGING, MV_BIT_DOWN, IMG_SAND_DIGGING_DOWN }, + { + EL_SAND_CRUMBLED, -1, -1, + IMG_SAND_CRUMBLED + }, + { + EL_SAND_CRUMBLED, ACTION_DIGGING, MV_BIT_LEFT, + IMG_SAND_CRUMBLED_DIGGING_LEFT + }, + { + EL_SAND_CRUMBLED, ACTION_DIGGING, MV_BIT_RIGHT, + IMG_SAND_CRUMBLED_DIGGING_RIGHT + }, + { + EL_SAND_CRUMBLED, ACTION_DIGGING, MV_BIT_UP, + IMG_SAND_CRUMBLED_DIGGING_UP + }, + { + EL_SAND_CRUMBLED, ACTION_DIGGING, MV_BIT_DOWN, + IMG_SAND_CRUMBLED_DIGGING_DOWN + }, { EL_WALL, -1, -1, IMG_WALL @@ -548,6 +564,10 @@ element_to_graphic[] = EL_EMERALD, ACTION_FALLING, -1, IMG_EMERALD_FALLING }, + { + EL_EMERALD, ACTION_COLLECTING, -1, + IMG_EMERALD_COLLECTING + }, { EL_DIAMOND, -1, -1, IMG_DIAMOND @@ -560,6 +580,10 @@ element_to_graphic[] = EL_DIAMOND, ACTION_FALLING, -1, IMG_DIAMOND_FALLING }, + { + EL_DIAMOND, ACTION_COLLECTING, -1, + IMG_DIAMOND_COLLECTING + }, { EL_BOMB, -1, -1, IMG_BOMB diff --git a/src/conf_gfx.c b/src/conf_gfx.c index c0277ffb..de1088fd 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -568,14 +568,10 @@ struct ConfigInfo image_config[] = { "empty_space.ypos", "0" }, { "empty_space.frames", "1" }, - { "sand", "RocksElements.pcx" }, + { "sand", "RocksMore.pcx" }, { "sand.xpos", "0" }, - { "sand.ypos", "0" }, + { "sand.ypos", "2" }, { "sand.frames", "1" }, - { "sand_crumbled", "RocksElements.pcx" }, - { "sand_crumbled.xpos", "1" }, - { "sand_crumbled.ypos", "0" }, - { "sand_crumbled.frames", "1" }, { "sand.digging.left", "RocksMore.pcx" }, { "sand.digging.left.xpos", "6" }, { "sand.digging.left.ypos", "3" }, @@ -600,6 +596,34 @@ struct ConfigInfo image_config[] = { "sand.digging.down.frames", "3" }, { "sand.digging.down.delay", "2" }, { "sand.digging.down.anim_mode", "linear" }, + { "sand_crumbled", "RocksMore.pcx" }, + { "sand_crumbled.xpos", "1" }, + { "sand_crumbled.ypos", "2" }, + { "sand_crumbled.frames", "1" }, + { "sand_crumbled.digging.left", "RocksMore.pcx" }, + { "sand_crumbled.digging.left.xpos", "6" }, + { "sand_crumbled.digging.left.ypos", "0" }, + { "sand_crumbled.digging.left.frames", "3" }, + { "sand_crumbled.digging.left.delay", "2" }, + { "sand_crumbled.digging.left.anim_mode", "linear" }, + { "sand_crumbled.digging.right", "RocksMore.pcx" }, + { "sand_crumbled.digging.right.xpos", "9" }, + { "sand_crumbled.digging.right.ypos", "0" }, + { "sand_crumbled.digging.right.frames", "3" }, + { "sand_crumbled.digging.right.delay", "2" }, + { "sand_crumbled.digging.right.anim_mode", "linear" }, + { "sand_crumbled.digging.up", "RocksMore.pcx" }, + { "sand_crumbled.digging.up.xpos", "0" }, + { "sand_crumbled.digging.up.ypos", "0" }, + { "sand_crumbled.digging.up.frames", "3" }, + { "sand_crumbled.digging.up.delay", "2" }, + { "sand_crumbled.digging.up.anim_mode", "linear" }, + { "sand_crumbled.digging.down", "RocksMore.pcx" }, + { "sand_crumbled.digging.down.xpos", "3" }, + { "sand_crumbled.digging.down.ypos", "0" }, + { "sand_crumbled.digging.down.frames", "3" }, + { "sand_crumbled.digging.down.delay", "2" }, + { "sand_crumbled.digging.down.anim_mode", "linear" }, { "wall", "RocksElements.pcx" }, { "wall.xpos", "5" }, @@ -650,6 +674,12 @@ struct ConfigInfo image_config[] = { "emerald.falling.ypos", "0" }, { "emerald.falling.frames", "2" }, { "emerald.falling.delay", "4" }, + { "emerald.collecting", "RocksMore.pcx" }, + { "emerald.collecting.xpos", "3" }, + { "emerald.collecting.ypos", "2" }, + { "emerald.collecting.frames", "3" }, + { "emerald.collecting.delay", "2" }, + { "emerald.collecting.anim_mode", "linear" }, { "diamond", "RocksElements.pcx" }, { "diamond.xpos", "10" }, @@ -665,6 +695,12 @@ struct ConfigInfo image_config[] = { "diamond.falling.ypos", "0" }, { "diamond.falling.frames", "2" }, { "diamond.falling.delay", "4" }, + { "diamond.collecting", "RocksMore.pcx" }, + { "diamond.collecting.xpos", "7" }, + { "diamond.collecting.ypos", "2" }, + { "diamond.collecting.frames", "3" }, + { "diamond.collecting.delay", "2" }, + { "diamond.collecting.anim_mode", "linear" }, { "bomb", "RocksElements.pcx" }, { "bomb.xpos", "11" }, diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 6c7f9a36..35ea299f 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -127,757 +127,763 @@ #define IMG_SOKOBAN_FIELD_FULL 106 #define IMG_EMPTY_SPACE 107 #define IMG_SAND 108 -#define IMG_SAND_CRUMBLED 109 -#define IMG_SAND_DIGGING_LEFT 110 -#define IMG_SAND_DIGGING_RIGHT 111 -#define IMG_SAND_DIGGING_UP 112 -#define IMG_SAND_DIGGING_DOWN 113 -#define IMG_WALL 114 -#define IMG_WALL_CRUMBLED 115 -#define IMG_STEELWALL 116 -#define IMG_ROCK 117 -#define IMG_ROCK_FALLING 118 -#define IMG_ROCK_MOVING_LEFT 119 -#define IMG_ROCK_MOVING_RIGHT 120 -#define IMG_EMERALD 121 -#define IMG_EMERALD_MOVING 122 -#define IMG_EMERALD_FALLING 123 -#define IMG_DIAMOND 124 -#define IMG_DIAMOND_MOVING 125 -#define IMG_DIAMOND_FALLING 126 -#define IMG_BOMB 127 -#define IMG_NUT 128 -#define IMG_NUT_FALLING 129 -#define IMG_NUT_MOVING_LEFT 130 -#define IMG_NUT_MOVING_RIGHT 131 -#define IMG_NUT_BREAKING 132 -#define IMG_DYNAMITE 133 -#define IMG_DYNAMITE_EDITOR 134 -#define IMG_DYNAMITE_ACTIVE 135 -#define IMG_DYNAMITE_ACTIVE_EDITOR 136 -#define IMG_WALL_EMERALD 137 -#define IMG_WALL_DIAMOND 138 -#define IMG_BUG_RIGHT 139 -#define IMG_BUG_UP 140 -#define IMG_BUG_LEFT 141 -#define IMG_BUG_DOWN 142 -#define IMG_SPACESHIP_RIGHT 143 -#define IMG_SPACESHIP_UP 144 -#define IMG_SPACESHIP_LEFT 145 -#define IMG_SPACESHIP_DOWN 146 -#define IMG_YAMYAM 147 -#define IMG_YAMYAM_MOVING 148 -#define IMG_ROBOT 149 -#define IMG_ROBOT_MOVING 150 -#define IMG_ROBOT_WHEEL 151 -#define IMG_ROBOT_WHEEL_ACTIVE 152 -#define IMG_MAGIC_WALL 153 -#define IMG_MAGIC_WALL_ACTIVE 154 -#define IMG_MAGIC_WALL_FILLING 155 -#define IMG_MAGIC_WALL_FULL 156 -#define IMG_MAGIC_WALL_EMPTYING 157 -#define IMG_MAGIC_WALL_DEAD 158 -#define IMG_QUICKSAND_EMPTY 159 -#define IMG_QUICKSAND_FILLING 160 -#define IMG_QUICKSAND_FULL 161 -#define IMG_QUICKSAND_FULL_EDITOR 162 -#define IMG_QUICKSAND_EMPTYING 163 -#define IMG_ACID_POOL_TOPLEFT 164 -#define IMG_ACID_POOL_TOPRIGHT 165 -#define IMG_ACID_POOL_BOTTOMLEFT 166 -#define IMG_ACID_POOL_BOTTOM 167 -#define IMG_ACID_POOL_BOTTOMRIGHT 168 -#define IMG_ACID 169 -#define IMG_ACID_SPLASH_LEFT 170 -#define IMG_ACID_SPLASH_RIGHT 171 -#define IMG_AMOEBA_DROP 172 -#define IMG_AMOEBA_GROWING 173 -#define IMG_AMOEBA_SHRINKING 174 -#define IMG_AMOEBA_WET 175 -#define IMG_AMOEBA_WET_EDITOR 176 -#define IMG_AMOEBA_DROPPING 177 -#define IMG_AMOEBA_DRY 178 -#define IMG_AMOEBA_FULL 179 -#define IMG_AMOEBA_FULL_EDITOR 180 -#define IMG_AMOEBA_DEAD 181 -#define IMG_AMOEBA_DEAD_EDITOR 182 -#define IMG_EM_KEY_1 183 -#define IMG_EM_KEY_2 184 -#define IMG_EM_KEY_3 185 -#define IMG_EM_KEY_4 186 -#define IMG_EM_GATE_1 187 -#define IMG_EM_GATE_2 188 -#define IMG_EM_GATE_3 189 -#define IMG_EM_GATE_4 190 -#define IMG_EM_GATE_1_GRAY 191 -#define IMG_EM_GATE_1_GRAY_EDITOR 192 -#define IMG_EM_GATE_2_GRAY 193 -#define IMG_EM_GATE_2_GRAY_EDITOR 194 -#define IMG_EM_GATE_3_GRAY 195 -#define IMG_EM_GATE_3_GRAY_EDITOR 196 -#define IMG_EM_GATE_4_GRAY 197 -#define IMG_EM_GATE_4_GRAY_EDITOR 198 -#define IMG_EXIT_CLOSED 199 -#define IMG_EXIT_OPENING 200 -#define IMG_EXIT_OPEN 201 -#define IMG_BALLOON 202 -#define IMG_BALLOON_MOVING 203 -#define IMG_BALLOON_SWITCH_LEFT 204 -#define IMG_BALLOON_SWITCH_RIGHT 205 -#define IMG_BALLOON_SWITCH_UP 206 -#define IMG_BALLOON_SWITCH_DOWN 207 -#define IMG_BALLOON_SWITCH_ANY 208 -#define IMG_SPRING 209 -#define IMG_SPRING_MOVING 210 -#define IMG_EMC_STEELWALL_1 211 -#define IMG_EMC_STEELWALL_2 212 -#define IMG_EMC_STEELWALL_3 213 -#define IMG_EMC_STEELWALL_4 214 -#define IMG_EMC_WALL_1 215 -#define IMG_EMC_WALL_2 216 -#define IMG_EMC_WALL_3 217 -#define IMG_EMC_WALL_4 218 -#define IMG_EMC_WALL_5 219 -#define IMG_EMC_WALL_6 220 -#define IMG_EMC_WALL_7 221 -#define IMG_EMC_WALL_8 222 -#define IMG_INVISIBLE_STEELWALL 223 -#define IMG_INVISIBLE_STEELWALL_EDITOR 224 -#define IMG_INVISIBLE_STEELWALL_ACTIVE 225 -#define IMG_INVISIBLE_WALL 226 -#define IMG_INVISIBLE_WALL_EDITOR 227 -#define IMG_INVISIBLE_WALL_ACTIVE 228 -#define IMG_INVISIBLE_SAND 229 -#define IMG_INVISIBLE_SAND_EDITOR 230 -#define IMG_INVISIBLE_SAND_ACTIVE 231 -#define IMG_CONVEYOR_BELT_1_MIDDLE 232 -#define IMG_CONVEYOR_BELT_1_MIDDLE_ACTIVE 233 -#define IMG_CONVEYOR_BELT_1_LEFT 234 -#define IMG_CONVEYOR_BELT_1_LEFT_ACTIVE 235 -#define IMG_CONVEYOR_BELT_1_RIGHT 236 -#define IMG_CONVEYOR_BELT_1_RIGHT_ACTIVE 237 -#define IMG_CONVEYOR_BELT_1_SWITCH_LEFT 238 -#define IMG_CONVEYOR_BELT_1_SWITCH_MIDDLE 239 -#define IMG_CONVEYOR_BELT_1_SWITCH_RIGHT 240 -#define IMG_CONVEYOR_BELT_2_MIDDLE 241 -#define IMG_CONVEYOR_BELT_2_MIDDLE_ACTIVE 242 -#define IMG_CONVEYOR_BELT_2_LEFT 243 -#define IMG_CONVEYOR_BELT_2_LEFT_ACTIVE 244 -#define IMG_CONVEYOR_BELT_2_RIGHT 245 -#define IMG_CONVEYOR_BELT_2_RIGHT_ACTIVE 246 -#define IMG_CONVEYOR_BELT_2_SWITCH_LEFT 247 -#define IMG_CONVEYOR_BELT_2_SWITCH_MIDDLE 248 -#define IMG_CONVEYOR_BELT_2_SWITCH_RIGHT 249 -#define IMG_CONVEYOR_BELT_3_MIDDLE 250 -#define IMG_CONVEYOR_BELT_3_MIDDLE_ACTIVE 251 -#define IMG_CONVEYOR_BELT_3_LEFT 252 -#define IMG_CONVEYOR_BELT_3_LEFT_ACTIVE 253 -#define IMG_CONVEYOR_BELT_3_RIGHT 254 -#define IMG_CONVEYOR_BELT_3_RIGHT_ACTIVE 255 -#define IMG_CONVEYOR_BELT_3_SWITCH_LEFT 256 -#define IMG_CONVEYOR_BELT_3_SWITCH_MIDDLE 257 -#define IMG_CONVEYOR_BELT_3_SWITCH_RIGHT 258 -#define IMG_CONVEYOR_BELT_4_MIDDLE 259 -#define IMG_CONVEYOR_BELT_4_MIDDLE_ACTIVE 260 -#define IMG_CONVEYOR_BELT_4_LEFT 261 -#define IMG_CONVEYOR_BELT_4_LEFT_ACTIVE 262 -#define IMG_CONVEYOR_BELT_4_RIGHT 263 -#define IMG_CONVEYOR_BELT_4_RIGHT_ACTIVE 264 -#define IMG_CONVEYOR_BELT_4_SWITCH_LEFT 265 -#define IMG_CONVEYOR_BELT_4_SWITCH_MIDDLE 266 -#define IMG_CONVEYOR_BELT_4_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_ANY 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_KEY_1 311 -#define IMG_KEY_1_EDITOR 312 -#define IMG_KEY_2 313 -#define IMG_KEY_2_EDITOR 314 -#define IMG_KEY_3 315 -#define IMG_KEY_3_EDITOR 316 -#define IMG_KEY_4 317 -#define IMG_KEY_4_EDITOR 318 -#define IMG_GATE_1 319 -#define IMG_GATE_2 320 -#define IMG_GATE_3 321 -#define IMG_GATE_4 322 -#define IMG_GATE_1_GRAY 323 -#define IMG_GATE_1_GRAY_EDITOR 324 -#define IMG_GATE_2_GRAY 325 -#define IMG_GATE_2_GRAY_EDITOR 326 -#define IMG_GATE_3_GRAY 327 -#define IMG_GATE_3_GRAY_EDITOR 328 -#define IMG_GATE_4_GRAY 329 -#define IMG_GATE_4_GRAY_EDITOR 330 -#define IMG_GAME_OF_LIFE 331 -#define IMG_BIOMAZE 332 -#define IMG_PACMAN_RIGHT 333 -#define IMG_PACMAN_UP 334 -#define IMG_PACMAN_LEFT 335 -#define IMG_PACMAN_DOWN 336 -#define IMG_LAMP 337 -#define IMG_LAMP_EDITOR 338 -#define IMG_LAMP_ACTIVE 339 -#define IMG_TIME_ORB_FULL 340 -#define IMG_TIME_ORB_EMPTY 341 -#define IMG_EMERALD_YELLOW 342 -#define IMG_EMERALD_YELLOW_MOVING 343 -#define IMG_EMERALD_YELLOW_FALLING 344 -#define IMG_EMERALD_RED 345 -#define IMG_EMERALD_RED_MOVING 346 -#define IMG_EMERALD_RED_FALLING 347 -#define IMG_EMERALD_PURPLE 348 -#define IMG_EMERALD_PURPLE_MOVING 349 -#define IMG_EMERALD_PURPLE_FALLING 350 -#define IMG_WALL_EMERALD_YELLOW 351 -#define IMG_WALL_EMERALD_RED 352 -#define IMG_WALL_EMERALD_PURPLE 353 -#define IMG_WALL_BD_DIAMOND 354 -#define IMG_EXPANDABLE_WALL 355 -#define IMG_EXPANDABLE_WALL_HORIZONTAL 356 -#define IMG_EXPANDABLE_WALL_HORIZONTAL_EDITOR 357 -#define IMG_EXPANDABLE_WALL_VERTICAL 358 -#define IMG_EXPANDABLE_WALL_VERTICAL_EDITOR 359 -#define IMG_EXPANDABLE_WALL_ANY 360 -#define IMG_EXPANDABLE_WALL_ANY_EDITOR 361 -#define IMG_EXPANDABLE_WALL_GROWING_LEFT 362 -#define IMG_EXPANDABLE_WALL_GROWING_RIGHT 363 -#define IMG_EXPANDABLE_WALL_GROWING_UP 364 -#define IMG_EXPANDABLE_WALL_GROWING_DOWN 365 -#define IMG_BLACK_ORB 366 -#define IMG_SPEED_PILL 367 -#define IMG_DARK_YAMYAM 368 -#define IMG_DYNABOMB_ACTIVE 369 -#define IMG_DYNABOMB_PLAYER_1_ACTIVE 370 -#define IMG_DYNABOMB_PLAYER_2_ACTIVE 371 -#define IMG_DYNABOMB_PLAYER_3_ACTIVE 372 -#define IMG_DYNABOMB_PLAYER_4_ACTIVE 373 -#define IMG_DYNABOMB_INCREASE_NUMBER 374 -#define IMG_DYNABOMB_INCREASE_SIZE 375 -#define IMG_DYNABOMB_INCREASE_POWER 376 -#define IMG_PIG 377 -#define IMG_PIG_DOWN 378 -#define IMG_PIG_UP 379 -#define IMG_PIG_LEFT 380 -#define IMG_PIG_RIGHT 381 -#define IMG_PIG_MOVING_DOWN 382 -#define IMG_PIG_MOVING_UP 383 -#define IMG_PIG_MOVING_LEFT 384 -#define IMG_PIG_MOVING_RIGHT 385 -#define IMG_PIG_DIGGING_DOWN 386 -#define IMG_PIG_DIGGING_UP 387 -#define IMG_PIG_DIGGING_LEFT 388 -#define IMG_PIG_DIGGING_RIGHT 389 -#define IMG_DRAGON 390 -#define IMG_DRAGON_DOWN 391 -#define IMG_DRAGON_UP 392 -#define IMG_DRAGON_LEFT 393 -#define IMG_DRAGON_RIGHT 394 -#define IMG_DRAGON_MOVING_DOWN 395 -#define IMG_DRAGON_MOVING_UP 396 -#define IMG_DRAGON_MOVING_LEFT 397 -#define IMG_DRAGON_MOVING_RIGHT 398 -#define IMG_DRAGON_ATTACKING_DOWN 399 -#define IMG_DRAGON_ATTACKING_UP 400 -#define IMG_DRAGON_ATTACKING_LEFT 401 -#define IMG_DRAGON_ATTACKING_RIGHT 402 -#define IMG_MOLE 403 -#define IMG_MOLE_DOWN 404 -#define IMG_MOLE_UP 405 -#define IMG_MOLE_LEFT 406 -#define IMG_MOLE_RIGHT 407 -#define IMG_MOLE_MOVING_DOWN 408 -#define IMG_MOLE_MOVING_UP 409 -#define IMG_MOLE_MOVING_LEFT 410 -#define IMG_MOLE_MOVING_RIGHT 411 -#define IMG_MOLE_DIGGING_DOWN 412 -#define IMG_MOLE_DIGGING_UP 413 -#define IMG_MOLE_DIGGING_LEFT 414 -#define IMG_MOLE_DIGGING_RIGHT 415 -#define IMG_PENGUIN 416 -#define IMG_PENGUIN_EDITOR 417 -#define IMG_PENGUIN_DOWN 418 -#define IMG_PENGUIN_UP 419 -#define IMG_PENGUIN_LEFT 420 -#define IMG_PENGUIN_RIGHT 421 -#define IMG_PENGUIN_MOVING_DOWN 422 -#define IMG_PENGUIN_MOVING_UP 423 -#define IMG_PENGUIN_MOVING_LEFT 424 -#define IMG_PENGUIN_MOVING_RIGHT 425 -#define IMG_SATELLITE 426 -#define IMG_SATELLITE_MOVING 427 -#define IMG_FLAMES_1_LEFT 428 -#define IMG_FLAMES_2_LEFT 429 -#define IMG_FLAMES_3_LEFT 430 -#define IMG_FLAMES_1_RIGHT 431 -#define IMG_FLAMES_2_RIGHT 432 -#define IMG_FLAMES_3_RIGHT 433 -#define IMG_FLAMES_1_UP 434 -#define IMG_FLAMES_2_UP 435 -#define IMG_FLAMES_3_UP 436 -#define IMG_FLAMES_1_DOWN 437 -#define IMG_FLAMES_2_DOWN 438 -#define IMG_FLAMES_3_DOWN 439 -#define IMG_STONEBLOCK 440 -#define IMG_PLAYER_1 441 -#define IMG_PLAYER_1_EDITOR 442 -#define IMG_PLAYER_1_DOWN 443 -#define IMG_PLAYER_1_UP 444 -#define IMG_PLAYER_1_LEFT 445 -#define IMG_PLAYER_1_RIGHT 446 -#define IMG_PLAYER_1_MOVING_DOWN 447 -#define IMG_PLAYER_1_MOVING_UP 448 -#define IMG_PLAYER_1_MOVING_LEFT 449 -#define IMG_PLAYER_1_MOVING_RIGHT 450 -#define IMG_PLAYER_1_DIGGING_DOWN 451 -#define IMG_PLAYER_1_DIGGING_UP 452 -#define IMG_PLAYER_1_DIGGING_LEFT 453 -#define IMG_PLAYER_1_DIGGING_RIGHT 454 -#define IMG_PLAYER_1_COLLECTING_DOWN 455 -#define IMG_PLAYER_1_COLLECTING_UP 456 -#define IMG_PLAYER_1_COLLECTING_LEFT 457 -#define IMG_PLAYER_1_COLLECTING_RIGHT 458 -#define IMG_PLAYER_1_PUSHING_DOWN 459 -#define IMG_PLAYER_1_PUSHING_UP 460 -#define IMG_PLAYER_1_PUSHING_LEFT 461 -#define IMG_PLAYER_1_PUSHING_RIGHT 462 -#define IMG_PLAYER_1_SNAPPING_DOWN 463 -#define IMG_PLAYER_1_SNAPPING_UP 464 -#define IMG_PLAYER_1_SNAPPING_LEFT 465 -#define IMG_PLAYER_1_SNAPPING_RIGHT 466 -#define IMG_PLAYER_2 467 -#define IMG_PLAYER_2_EDITOR 468 -#define IMG_PLAYER_2_DOWN 469 -#define IMG_PLAYER_2_UP 470 -#define IMG_PLAYER_2_LEFT 471 -#define IMG_PLAYER_2_RIGHT 472 -#define IMG_PLAYER_2_MOVING_DOWN 473 -#define IMG_PLAYER_2_MOVING_UP 474 -#define IMG_PLAYER_2_MOVING_LEFT 475 -#define IMG_PLAYER_2_MOVING_RIGHT 476 -#define IMG_PLAYER_2_DIGGING_DOWN 477 -#define IMG_PLAYER_2_DIGGING_UP 478 -#define IMG_PLAYER_2_DIGGING_LEFT 479 -#define IMG_PLAYER_2_DIGGING_RIGHT 480 -#define IMG_PLAYER_2_COLLECTING_DOWN 481 -#define IMG_PLAYER_2_COLLECTING_UP 482 -#define IMG_PLAYER_2_COLLECTING_LEFT 483 -#define IMG_PLAYER_2_COLLECTING_RIGHT 484 -#define IMG_PLAYER_2_PUSHING_DOWN 485 -#define IMG_PLAYER_2_PUSHING_UP 486 -#define IMG_PLAYER_2_PUSHING_LEFT 487 -#define IMG_PLAYER_2_PUSHING_RIGHT 488 -#define IMG_PLAYER_2_SNAPPING_DOWN 489 -#define IMG_PLAYER_2_SNAPPING_UP 490 -#define IMG_PLAYER_2_SNAPPING_LEFT 491 -#define IMG_PLAYER_2_SNAPPING_RIGHT 492 -#define IMG_PLAYER_3 493 -#define IMG_PLAYER_3_EDITOR 494 -#define IMG_PLAYER_3_DOWN 495 -#define IMG_PLAYER_3_UP 496 -#define IMG_PLAYER_3_LEFT 497 -#define IMG_PLAYER_3_RIGHT 498 -#define IMG_PLAYER_3_MOVING_DOWN 499 -#define IMG_PLAYER_3_MOVING_UP 500 -#define IMG_PLAYER_3_MOVING_LEFT 501 -#define IMG_PLAYER_3_MOVING_RIGHT 502 -#define IMG_PLAYER_3_DIGGING_DOWN 503 -#define IMG_PLAYER_3_DIGGING_UP 504 -#define IMG_PLAYER_3_DIGGING_LEFT 505 -#define IMG_PLAYER_3_DIGGING_RIGHT 506 -#define IMG_PLAYER_3_COLLECTING_DOWN 507 -#define IMG_PLAYER_3_COLLECTING_UP 508 -#define IMG_PLAYER_3_COLLECTING_LEFT 509 -#define IMG_PLAYER_3_COLLECTING_RIGHT 510 -#define IMG_PLAYER_3_PUSHING_DOWN 511 -#define IMG_PLAYER_3_PUSHING_UP 512 -#define IMG_PLAYER_3_PUSHING_LEFT 513 -#define IMG_PLAYER_3_PUSHING_RIGHT 514 -#define IMG_PLAYER_3_SNAPPING_DOWN 515 -#define IMG_PLAYER_3_SNAPPING_UP 516 -#define IMG_PLAYER_3_SNAPPING_LEFT 517 -#define IMG_PLAYER_3_SNAPPING_RIGHT 518 -#define IMG_PLAYER_4 519 -#define IMG_PLAYER_4_EDITOR 520 -#define IMG_PLAYER_4_DOWN 521 -#define IMG_PLAYER_4_UP 522 -#define IMG_PLAYER_4_LEFT 523 -#define IMG_PLAYER_4_RIGHT 524 -#define IMG_PLAYER_4_MOVING_DOWN 525 -#define IMG_PLAYER_4_MOVING_UP 526 -#define IMG_PLAYER_4_MOVING_LEFT 527 -#define IMG_PLAYER_4_MOVING_RIGHT 528 -#define IMG_PLAYER_4_DIGGING_DOWN 529 -#define IMG_PLAYER_4_DIGGING_UP 530 -#define IMG_PLAYER_4_DIGGING_LEFT 531 -#define IMG_PLAYER_4_DIGGING_RIGHT 532 -#define IMG_PLAYER_4_COLLECTING_DOWN 533 -#define IMG_PLAYER_4_COLLECTING_UP 534 -#define IMG_PLAYER_4_COLLECTING_LEFT 535 -#define IMG_PLAYER_4_COLLECTING_RIGHT 536 -#define IMG_PLAYER_4_PUSHING_DOWN 537 -#define IMG_PLAYER_4_PUSHING_UP 538 -#define IMG_PLAYER_4_PUSHING_LEFT 539 -#define IMG_PLAYER_4_PUSHING_RIGHT 540 -#define IMG_PLAYER_4_SNAPPING_DOWN 541 -#define IMG_PLAYER_4_SNAPPING_UP 542 -#define IMG_PLAYER_4_SNAPPING_LEFT 543 -#define IMG_PLAYER_4_SNAPPING_RIGHT 544 -#define IMG_EXPLOSION 545 -#define IMG_TWINKLE_BLUE 546 -#define IMG_TWINKLE_WHITE 547 -#define IMG_STEELWALL_TOPLEFT 548 -#define IMG_STEELWALL_TOPRIGHT 549 -#define IMG_STEELWALL_BOTTOMLEFT 550 -#define IMG_STEELWALL_BOTTOMRIGHT 551 -#define IMG_STEELWALL_HORIZONTAL 552 -#define IMG_STEELWALL_VERTICAL 553 -#define IMG_STEELWALL_TOPLEFT_EDITOR 554 -#define IMG_STEELWALL_TOPRIGHT_EDITOR 555 -#define IMG_STEELWALL_BOTTOMLEFT_EDITOR 556 -#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR 557 -#define IMG_STEELWALL_HORIZONTAL_EDITOR 558 -#define IMG_STEELWALL_VERTICAL_EDITOR 559 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT 560 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 561 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 562 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 563 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 564 -#define IMG_INVISIBLE_STEELWALL_VERTICAL 565 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR 566 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR 567 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR 568 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR 569 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR 570 -#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR 571 -#define IMG_ARROW_LEFT 572 -#define IMG_ARROW_RIGHT 573 -#define IMG_ARROW_UP 574 -#define IMG_ARROW_DOWN 575 -#define IMG_CHAR_SPACE 576 -#define IMG_CHAR_EXCLAM 577 -#define IMG_CHAR_QUOTEDBL 578 -#define IMG_CHAR_NUMBERSIGN 579 -#define IMG_CHAR_DOLLAR 580 -#define IMG_CHAR_PROCENT 581 -#define IMG_CHAR_AMPERSAND 582 -#define IMG_CHAR_APOSTROPHE 583 -#define IMG_CHAR_PARENLEFT 584 -#define IMG_CHAR_PARENRIGHT 585 -#define IMG_CHAR_ASTERISK 586 -#define IMG_CHAR_PLUS 587 -#define IMG_CHAR_COMMA 588 -#define IMG_CHAR_MINUS 589 -#define IMG_CHAR_PERIOD 590 -#define IMG_CHAR_SLASH 591 -#define IMG_CHAR_0 592 -#define IMG_CHAR_1 593 -#define IMG_CHAR_2 594 -#define IMG_CHAR_3 595 -#define IMG_CHAR_4 596 -#define IMG_CHAR_5 597 -#define IMG_CHAR_6 598 -#define IMG_CHAR_7 599 -#define IMG_CHAR_8 600 -#define IMG_CHAR_9 601 -#define IMG_CHAR_COLON 602 -#define IMG_CHAR_SEMICOLON 603 -#define IMG_CHAR_LESS 604 -#define IMG_CHAR_EQUAL 605 -#define IMG_CHAR_GREATER 606 -#define IMG_CHAR_QUESTION 607 -#define IMG_CHAR_AT 608 -#define IMG_CHAR_A 609 -#define IMG_CHAR_B 610 -#define IMG_CHAR_C 611 -#define IMG_CHAR_D 612 -#define IMG_CHAR_E 613 -#define IMG_CHAR_F 614 -#define IMG_CHAR_G 615 -#define IMG_CHAR_H 616 -#define IMG_CHAR_I 617 -#define IMG_CHAR_J 618 -#define IMG_CHAR_K 619 -#define IMG_CHAR_L 620 -#define IMG_CHAR_M 621 -#define IMG_CHAR_N 622 -#define IMG_CHAR_O 623 -#define IMG_CHAR_P 624 -#define IMG_CHAR_Q 625 -#define IMG_CHAR_R 626 -#define IMG_CHAR_S 627 -#define IMG_CHAR_T 628 -#define IMG_CHAR_U 629 -#define IMG_CHAR_V 630 -#define IMG_CHAR_W 631 -#define IMG_CHAR_X 632 -#define IMG_CHAR_Y 633 -#define IMG_CHAR_Z 634 -#define IMG_CHAR_AE 635 -#define IMG_CHAR_OE 636 -#define IMG_CHAR_UE 637 -#define IMG_CHAR_COPYRIGHT 638 -#define IMG_CHAR_UNDERSCORE 639 -#define IMG_CHAR_EMPTY 640 -#define IMG_CHAR_DEGREE 641 -#define IMG_CHAR_TM 642 -#define IMG_CHAR_CURSOR 643 -#define IMG_CUSTOM_1 644 -#define IMG_CUSTOM_2 645 -#define IMG_CUSTOM_3 646 -#define IMG_CUSTOM_4 647 -#define IMG_CUSTOM_5 648 -#define IMG_CUSTOM_6 649 -#define IMG_CUSTOM_7 650 -#define IMG_CUSTOM_8 651 -#define IMG_CUSTOM_9 652 -#define IMG_CUSTOM_10 653 -#define IMG_CUSTOM_11 654 -#define IMG_CUSTOM_12 655 -#define IMG_CUSTOM_13 656 -#define IMG_CUSTOM_14 657 -#define IMG_CUSTOM_15 658 -#define IMG_CUSTOM_16 659 -#define IMG_CUSTOM_17 660 -#define IMG_CUSTOM_18 661 -#define IMG_CUSTOM_19 662 -#define IMG_CUSTOM_20 663 -#define IMG_CUSTOM_21 664 -#define IMG_CUSTOM_22 665 -#define IMG_CUSTOM_23 666 -#define IMG_CUSTOM_24 667 -#define IMG_CUSTOM_25 668 -#define IMG_CUSTOM_26 669 -#define IMG_CUSTOM_27 670 -#define IMG_CUSTOM_28 671 -#define IMG_CUSTOM_29 672 -#define IMG_CUSTOM_30 673 -#define IMG_CUSTOM_31 674 -#define IMG_CUSTOM_32 675 -#define IMG_CUSTOM_33 676 -#define IMG_CUSTOM_34 677 -#define IMG_CUSTOM_35 678 -#define IMG_CUSTOM_36 679 -#define IMG_CUSTOM_37 680 -#define IMG_CUSTOM_38 681 -#define IMG_CUSTOM_39 682 -#define IMG_CUSTOM_40 683 -#define IMG_CUSTOM_41 684 -#define IMG_CUSTOM_42 685 -#define IMG_CUSTOM_43 686 -#define IMG_CUSTOM_44 687 -#define IMG_CUSTOM_45 688 -#define IMG_CUSTOM_46 689 -#define IMG_CUSTOM_47 690 -#define IMG_CUSTOM_48 691 -#define IMG_CUSTOM_49 692 -#define IMG_CUSTOM_50 693 -#define IMG_CUSTOM_51 694 -#define IMG_CUSTOM_52 695 -#define IMG_CUSTOM_53 696 -#define IMG_CUSTOM_54 697 -#define IMG_CUSTOM_55 698 -#define IMG_CUSTOM_56 699 -#define IMG_CUSTOM_57 700 -#define IMG_CUSTOM_58 701 -#define IMG_CUSTOM_59 702 -#define IMG_CUSTOM_60 703 -#define IMG_CUSTOM_61 704 -#define IMG_CUSTOM_62 705 -#define IMG_CUSTOM_63 706 -#define IMG_CUSTOM_64 707 -#define IMG_CUSTOM_65 708 -#define IMG_CUSTOM_66 709 -#define IMG_CUSTOM_67 710 -#define IMG_CUSTOM_68 711 -#define IMG_CUSTOM_69 712 -#define IMG_CUSTOM_70 713 -#define IMG_CUSTOM_71 714 -#define IMG_CUSTOM_72 715 -#define IMG_CUSTOM_73 716 -#define IMG_CUSTOM_74 717 -#define IMG_CUSTOM_75 718 -#define IMG_CUSTOM_76 719 -#define IMG_CUSTOM_77 720 -#define IMG_CUSTOM_78 721 -#define IMG_CUSTOM_79 722 -#define IMG_CUSTOM_80 723 -#define IMG_CUSTOM_81 724 -#define IMG_CUSTOM_82 725 -#define IMG_CUSTOM_83 726 -#define IMG_CUSTOM_84 727 -#define IMG_CUSTOM_85 728 -#define IMG_CUSTOM_86 729 -#define IMG_CUSTOM_87 730 -#define IMG_CUSTOM_88 731 -#define IMG_CUSTOM_89 732 -#define IMG_CUSTOM_90 733 -#define IMG_CUSTOM_91 734 -#define IMG_CUSTOM_92 735 -#define IMG_CUSTOM_93 736 -#define IMG_CUSTOM_94 737 -#define IMG_CUSTOM_95 738 -#define IMG_CUSTOM_96 739 -#define IMG_CUSTOM_97 740 -#define IMG_CUSTOM_98 741 -#define IMG_CUSTOM_99 742 -#define IMG_CUSTOM_100 743 -#define IMG_CUSTOM_101 744 -#define IMG_CUSTOM_102 745 -#define IMG_CUSTOM_103 746 -#define IMG_CUSTOM_104 747 -#define IMG_CUSTOM_105 748 -#define IMG_CUSTOM_106 749 -#define IMG_CUSTOM_107 750 -#define IMG_CUSTOM_108 751 -#define IMG_CUSTOM_109 752 -#define IMG_CUSTOM_110 753 -#define IMG_CUSTOM_111 754 -#define IMG_CUSTOM_112 755 -#define IMG_CUSTOM_113 756 -#define IMG_CUSTOM_114 757 -#define IMG_CUSTOM_115 758 -#define IMG_CUSTOM_116 759 -#define IMG_CUSTOM_117 760 -#define IMG_CUSTOM_118 761 -#define IMG_CUSTOM_119 762 -#define IMG_CUSTOM_120 763 -#define IMG_CUSTOM_121 764 -#define IMG_CUSTOM_122 765 -#define IMG_CUSTOM_123 766 -#define IMG_CUSTOM_124 767 -#define IMG_CUSTOM_125 768 -#define IMG_CUSTOM_126 769 -#define IMG_CUSTOM_127 770 -#define IMG_CUSTOM_128 771 -#define IMG_TOON_1 772 -#define IMG_TOON_2 773 -#define IMG_TOON_3 774 -#define IMG_TOON_4 775 -#define IMG_TOON_5 776 -#define IMG_TOON_6 777 -#define IMG_TOON_7 778 -#define IMG_TOON_8 779 -#define IMG_TOON_9 780 -#define IMG_TOON_10 781 -#define IMG_TOON_11 782 -#define IMG_TOON_12 783 -#define IMG_TOON_13 784 -#define IMG_TOON_14 785 -#define IMG_TOON_15 786 -#define IMG_TOON_16 787 -#define IMG_TOON_17 788 -#define IMG_TOON_18 789 -#define IMG_TOON_19 790 -#define IMG_TOON_20 791 -#define IMG_MENU_CALIBRATE_RED 792 -#define IMG_MENU_CALIBRATE_BLUE 793 -#define IMG_MENU_CALIBRATE_YELLOW 794 -#define IMG_MENU_BUTTON 795 -#define IMG_MENU_BUTTON_ACTIVE 796 -#define IMG_MENU_BUTTON_LEFT 797 -#define IMG_MENU_BUTTON_RIGHT 798 -#define IMG_MENU_BUTTON_UP 799 -#define IMG_MENU_BUTTON_DOWN 800 -#define IMG_MENU_BUTTON_LEFT_ACTIVE 801 -#define IMG_MENU_BUTTON_RIGHT_ACTIVE 802 -#define IMG_MENU_BUTTON_UP_ACTIVE 803 -#define IMG_MENU_BUTTON_DOWN_ACTIVE 804 -#define IMG_MENU_SCROLLBAR 805 -#define IMG_MENU_SCROLLBAR_ACTIVE 806 -#define IMG_FONT_INITIAL_1 807 -#define IMG_FONT_INITIAL_2 808 -#define IMG_FONT_INITIAL_3 809 -#define IMG_FONT_INITIAL_4 810 -#define IMG_FONT_TITLE_1 811 -#define IMG_FONT_TITLE_1_LEVELS 812 -#define IMG_FONT_TITLE_2 813 -#define IMG_FONT_MENU_1 814 -#define IMG_FONT_MENU_2 815 -#define IMG_FONT_TEXT_1 816 -#define IMG_FONT_TEXT_1_LEVELS 817 -#define IMG_FONT_TEXT_1_SCORES 818 -#define IMG_FONT_TEXT_1_PREVIEW 819 -#define IMG_FONT_TEXT_2 820 -#define IMG_FONT_TEXT_2_LEVELS 821 -#define IMG_FONT_TEXT_2_SCORES 822 -#define IMG_FONT_TEXT_2_PREVIEW 823 -#define IMG_FONT_TEXT_3 824 -#define IMG_FONT_TEXT_3_LEVELS 825 -#define IMG_FONT_TEXT_3_SCORES 826 -#define IMG_FONT_TEXT_3_PREVIEW 827 -#define IMG_FONT_TEXT_4 828 -#define IMG_FONT_TEXT_4_LEVELS 829 -#define IMG_FONT_TEXT_4_SCORES 830 -#define IMG_FONT_INPUT 831 -#define IMG_FONT_INPUT_MAIN 832 -#define IMG_FONT_INPUT_ACTIVE 833 -#define IMG_FONT_INPUT_ACTIVE_MAIN 834 -#define IMG_FONT_INPUT_ACTIVE_SETUP 835 -#define IMG_FONT_OPTION_OFF 836 -#define IMG_FONT_OPTION_ON 837 -#define IMG_FONT_VALUE_1 838 -#define IMG_FONT_VALUE_2 839 -#define IMG_FONT_VALUE_OLD 840 -#define IMG_FONT_LEVEL_NUMBER 841 -#define IMG_FONT_TAPE_RECORDER 842 -#define IMG_GLOBAL_BORDER 843 -#define IMG_GLOBAL_DOOR 844 -#define IMG_EDITOR_ELEMENT_BORDER 845 -#define IMG_BACKGROUND 846 -#define IMG_BACKGROUND_MAIN 847 -#define IMG_BACKGROUND_LEVELS 848 -#define IMG_BACKGROUND_SCORES 849 -#define IMG_BACKGROUND_EDITOR 850 -#define IMG_BACKGROUND_INFO 851 -#define IMG_BACKGROUND_SETUP 852 -#define IMG_BACKGROUND_DOOR 853 -#define IMG_INFO_FONT_EM_1 854 -#define IMG_INFO_FONT_EM_2 855 -#define IMG_INFO_FONT_EM_3 856 -#define IMG_INFO_FONT_EM_4 857 -#define IMG_INFO_FONT_EM_5 858 +#define IMG_SAND_DIGGING_LEFT 109 +#define IMG_SAND_DIGGING_RIGHT 110 +#define IMG_SAND_DIGGING_UP 111 +#define IMG_SAND_DIGGING_DOWN 112 +#define IMG_SAND_CRUMBLED 113 +#define IMG_SAND_CRUMBLED_DIGGING_LEFT 114 +#define IMG_SAND_CRUMBLED_DIGGING_RIGHT 115 +#define IMG_SAND_CRUMBLED_DIGGING_UP 116 +#define IMG_SAND_CRUMBLED_DIGGING_DOWN 117 +#define IMG_WALL 118 +#define IMG_WALL_CRUMBLED 119 +#define IMG_STEELWALL 120 +#define IMG_ROCK 121 +#define IMG_ROCK_FALLING 122 +#define IMG_ROCK_MOVING_LEFT 123 +#define IMG_ROCK_MOVING_RIGHT 124 +#define IMG_EMERALD 125 +#define IMG_EMERALD_MOVING 126 +#define IMG_EMERALD_FALLING 127 +#define IMG_EMERALD_COLLECTING 128 +#define IMG_DIAMOND 129 +#define IMG_DIAMOND_MOVING 130 +#define IMG_DIAMOND_FALLING 131 +#define IMG_DIAMOND_COLLECTING 132 +#define IMG_BOMB 133 +#define IMG_NUT 134 +#define IMG_NUT_FALLING 135 +#define IMG_NUT_MOVING_LEFT 136 +#define IMG_NUT_MOVING_RIGHT 137 +#define IMG_NUT_BREAKING 138 +#define IMG_DYNAMITE 139 +#define IMG_DYNAMITE_EDITOR 140 +#define IMG_DYNAMITE_ACTIVE 141 +#define IMG_DYNAMITE_ACTIVE_EDITOR 142 +#define IMG_WALL_EMERALD 143 +#define IMG_WALL_DIAMOND 144 +#define IMG_BUG_RIGHT 145 +#define IMG_BUG_UP 146 +#define IMG_BUG_LEFT 147 +#define IMG_BUG_DOWN 148 +#define IMG_SPACESHIP_RIGHT 149 +#define IMG_SPACESHIP_UP 150 +#define IMG_SPACESHIP_LEFT 151 +#define IMG_SPACESHIP_DOWN 152 +#define IMG_YAMYAM 153 +#define IMG_YAMYAM_MOVING 154 +#define IMG_ROBOT 155 +#define IMG_ROBOT_MOVING 156 +#define IMG_ROBOT_WHEEL 157 +#define IMG_ROBOT_WHEEL_ACTIVE 158 +#define IMG_MAGIC_WALL 159 +#define IMG_MAGIC_WALL_ACTIVE 160 +#define IMG_MAGIC_WALL_FILLING 161 +#define IMG_MAGIC_WALL_FULL 162 +#define IMG_MAGIC_WALL_EMPTYING 163 +#define IMG_MAGIC_WALL_DEAD 164 +#define IMG_QUICKSAND_EMPTY 165 +#define IMG_QUICKSAND_FILLING 166 +#define IMG_QUICKSAND_FULL 167 +#define IMG_QUICKSAND_FULL_EDITOR 168 +#define IMG_QUICKSAND_EMPTYING 169 +#define IMG_ACID_POOL_TOPLEFT 170 +#define IMG_ACID_POOL_TOPRIGHT 171 +#define IMG_ACID_POOL_BOTTOMLEFT 172 +#define IMG_ACID_POOL_BOTTOM 173 +#define IMG_ACID_POOL_BOTTOMRIGHT 174 +#define IMG_ACID 175 +#define IMG_ACID_SPLASH_LEFT 176 +#define IMG_ACID_SPLASH_RIGHT 177 +#define IMG_AMOEBA_DROP 178 +#define IMG_AMOEBA_GROWING 179 +#define IMG_AMOEBA_SHRINKING 180 +#define IMG_AMOEBA_WET 181 +#define IMG_AMOEBA_WET_EDITOR 182 +#define IMG_AMOEBA_DROPPING 183 +#define IMG_AMOEBA_DRY 184 +#define IMG_AMOEBA_FULL 185 +#define IMG_AMOEBA_FULL_EDITOR 186 +#define IMG_AMOEBA_DEAD 187 +#define IMG_AMOEBA_DEAD_EDITOR 188 +#define IMG_EM_KEY_1 189 +#define IMG_EM_KEY_2 190 +#define IMG_EM_KEY_3 191 +#define IMG_EM_KEY_4 192 +#define IMG_EM_GATE_1 193 +#define IMG_EM_GATE_2 194 +#define IMG_EM_GATE_3 195 +#define IMG_EM_GATE_4 196 +#define IMG_EM_GATE_1_GRAY 197 +#define IMG_EM_GATE_1_GRAY_EDITOR 198 +#define IMG_EM_GATE_2_GRAY 199 +#define IMG_EM_GATE_2_GRAY_EDITOR 200 +#define IMG_EM_GATE_3_GRAY 201 +#define IMG_EM_GATE_3_GRAY_EDITOR 202 +#define IMG_EM_GATE_4_GRAY 203 +#define IMG_EM_GATE_4_GRAY_EDITOR 204 +#define IMG_EXIT_CLOSED 205 +#define IMG_EXIT_OPENING 206 +#define IMG_EXIT_OPEN 207 +#define IMG_BALLOON 208 +#define IMG_BALLOON_MOVING 209 +#define IMG_BALLOON_SWITCH_LEFT 210 +#define IMG_BALLOON_SWITCH_RIGHT 211 +#define IMG_BALLOON_SWITCH_UP 212 +#define IMG_BALLOON_SWITCH_DOWN 213 +#define IMG_BALLOON_SWITCH_ANY 214 +#define IMG_SPRING 215 +#define IMG_SPRING_MOVING 216 +#define IMG_EMC_STEELWALL_1 217 +#define IMG_EMC_STEELWALL_2 218 +#define IMG_EMC_STEELWALL_3 219 +#define IMG_EMC_STEELWALL_4 220 +#define IMG_EMC_WALL_1 221 +#define IMG_EMC_WALL_2 222 +#define IMG_EMC_WALL_3 223 +#define IMG_EMC_WALL_4 224 +#define IMG_EMC_WALL_5 225 +#define IMG_EMC_WALL_6 226 +#define IMG_EMC_WALL_7 227 +#define IMG_EMC_WALL_8 228 +#define IMG_INVISIBLE_STEELWALL 229 +#define IMG_INVISIBLE_STEELWALL_EDITOR 230 +#define IMG_INVISIBLE_STEELWALL_ACTIVE 231 +#define IMG_INVISIBLE_WALL 232 +#define IMG_INVISIBLE_WALL_EDITOR 233 +#define IMG_INVISIBLE_WALL_ACTIVE 234 +#define IMG_INVISIBLE_SAND 235 +#define IMG_INVISIBLE_SAND_EDITOR 236 +#define IMG_INVISIBLE_SAND_ACTIVE 237 +#define IMG_CONVEYOR_BELT_1_MIDDLE 238 +#define IMG_CONVEYOR_BELT_1_MIDDLE_ACTIVE 239 +#define IMG_CONVEYOR_BELT_1_LEFT 240 +#define IMG_CONVEYOR_BELT_1_LEFT_ACTIVE 241 +#define IMG_CONVEYOR_BELT_1_RIGHT 242 +#define IMG_CONVEYOR_BELT_1_RIGHT_ACTIVE 243 +#define IMG_CONVEYOR_BELT_1_SWITCH_LEFT 244 +#define IMG_CONVEYOR_BELT_1_SWITCH_MIDDLE 245 +#define IMG_CONVEYOR_BELT_1_SWITCH_RIGHT 246 +#define IMG_CONVEYOR_BELT_2_MIDDLE 247 +#define IMG_CONVEYOR_BELT_2_MIDDLE_ACTIVE 248 +#define IMG_CONVEYOR_BELT_2_LEFT 249 +#define IMG_CONVEYOR_BELT_2_LEFT_ACTIVE 250 +#define IMG_CONVEYOR_BELT_2_RIGHT 251 +#define IMG_CONVEYOR_BELT_2_RIGHT_ACTIVE 252 +#define IMG_CONVEYOR_BELT_2_SWITCH_LEFT 253 +#define IMG_CONVEYOR_BELT_2_SWITCH_MIDDLE 254 +#define IMG_CONVEYOR_BELT_2_SWITCH_RIGHT 255 +#define IMG_CONVEYOR_BELT_3_MIDDLE 256 +#define IMG_CONVEYOR_BELT_3_MIDDLE_ACTIVE 257 +#define IMG_CONVEYOR_BELT_3_LEFT 258 +#define IMG_CONVEYOR_BELT_3_LEFT_ACTIVE 259 +#define IMG_CONVEYOR_BELT_3_RIGHT 260 +#define IMG_CONVEYOR_BELT_3_RIGHT_ACTIVE 261 +#define IMG_CONVEYOR_BELT_3_SWITCH_LEFT 262 +#define IMG_CONVEYOR_BELT_3_SWITCH_MIDDLE 263 +#define IMG_CONVEYOR_BELT_3_SWITCH_RIGHT 264 +#define IMG_CONVEYOR_BELT_4_MIDDLE 265 +#define IMG_CONVEYOR_BELT_4_MIDDLE_ACTIVE 266 +#define IMG_CONVEYOR_BELT_4_LEFT 267 +#define IMG_CONVEYOR_BELT_4_LEFT_ACTIVE 268 +#define IMG_CONVEYOR_BELT_4_RIGHT 269 +#define IMG_CONVEYOR_BELT_4_RIGHT_ACTIVE 270 +#define IMG_CONVEYOR_BELT_4_SWITCH_LEFT 271 +#define IMG_CONVEYOR_BELT_4_SWITCH_MIDDLE 272 +#define IMG_CONVEYOR_BELT_4_SWITCH_RIGHT 273 +#define IMG_SWITCHGATE_SWITCH_UP 274 +#define IMG_SWITCHGATE_SWITCH_DOWN 275 +#define IMG_LIGHT_SWITCH 276 +#define IMG_LIGHT_SWITCH_ACTIVE 277 +#define IMG_TIMEGATE_SWITCH 278 +#define IMG_TIMEGATE_SWITCH_ACTIVE 279 +#define IMG_ENVELOPE 280 +#define IMG_SIGN_EXCLAMATION 281 +#define IMG_SIGN_STOP 282 +#define IMG_LANDMINE 283 +#define IMG_STEELWALL_SLANTED 284 +#define IMG_EXTRA_TIME 285 +#define IMG_SHIELD_NORMAL 286 +#define IMG_SHIELD_NORMAL_ACTIVE 287 +#define IMG_SHIELD_DEADLY 288 +#define IMG_SHIELD_DEADLY_ACTIVE 289 +#define IMG_SWITCHGATE_CLOSED 290 +#define IMG_SWITCHGATE_OPENING 291 +#define IMG_SWITCHGATE_OPEN 292 +#define IMG_SWITCHGATE_CLOSING 293 +#define IMG_TIMEGATE_CLOSED 294 +#define IMG_TIMEGATE_OPENING 295 +#define IMG_TIMEGATE_OPEN 296 +#define IMG_TIMEGATE_CLOSING 297 +#define IMG_PEARL 298 +#define IMG_PEARL_BREAKING 299 +#define IMG_CRYSTAL 300 +#define IMG_WALL_PEARL 301 +#define IMG_WALL_CRYSTAL 302 +#define IMG_TUBE_RIGHT_DOWN 303 +#define IMG_TUBE_HORIZONTAL_DOWN 304 +#define IMG_TUBE_LEFT_DOWN 305 +#define IMG_TUBE_HORIZONTAL 306 +#define IMG_TUBE_VERTICAL_RIGHT 307 +#define IMG_TUBE_ANY 308 +#define IMG_TUBE_VERTICAL_LEFT 309 +#define IMG_TUBE_VERTICAL 310 +#define IMG_TUBE_RIGHT_UP 311 +#define IMG_TUBE_HORIZONTAL_UP 312 +#define IMG_TUBE_LEFT_UP 313 +#define IMG_TRAP 314 +#define IMG_TRAP_ACTIVE 315 +#define IMG_DX_SUPABOMB 316 +#define IMG_KEY_1 317 +#define IMG_KEY_1_EDITOR 318 +#define IMG_KEY_2 319 +#define IMG_KEY_2_EDITOR 320 +#define IMG_KEY_3 321 +#define IMG_KEY_3_EDITOR 322 +#define IMG_KEY_4 323 +#define IMG_KEY_4_EDITOR 324 +#define IMG_GATE_1 325 +#define IMG_GATE_2 326 +#define IMG_GATE_3 327 +#define IMG_GATE_4 328 +#define IMG_GATE_1_GRAY 329 +#define IMG_GATE_1_GRAY_EDITOR 330 +#define IMG_GATE_2_GRAY 331 +#define IMG_GATE_2_GRAY_EDITOR 332 +#define IMG_GATE_3_GRAY 333 +#define IMG_GATE_3_GRAY_EDITOR 334 +#define IMG_GATE_4_GRAY 335 +#define IMG_GATE_4_GRAY_EDITOR 336 +#define IMG_GAME_OF_LIFE 337 +#define IMG_BIOMAZE 338 +#define IMG_PACMAN_RIGHT 339 +#define IMG_PACMAN_UP 340 +#define IMG_PACMAN_LEFT 341 +#define IMG_PACMAN_DOWN 342 +#define IMG_LAMP 343 +#define IMG_LAMP_EDITOR 344 +#define IMG_LAMP_ACTIVE 345 +#define IMG_TIME_ORB_FULL 346 +#define IMG_TIME_ORB_EMPTY 347 +#define IMG_EMERALD_YELLOW 348 +#define IMG_EMERALD_YELLOW_MOVING 349 +#define IMG_EMERALD_YELLOW_FALLING 350 +#define IMG_EMERALD_RED 351 +#define IMG_EMERALD_RED_MOVING 352 +#define IMG_EMERALD_RED_FALLING 353 +#define IMG_EMERALD_PURPLE 354 +#define IMG_EMERALD_PURPLE_MOVING 355 +#define IMG_EMERALD_PURPLE_FALLING 356 +#define IMG_WALL_EMERALD_YELLOW 357 +#define IMG_WALL_EMERALD_RED 358 +#define IMG_WALL_EMERALD_PURPLE 359 +#define IMG_WALL_BD_DIAMOND 360 +#define IMG_EXPANDABLE_WALL 361 +#define IMG_EXPANDABLE_WALL_HORIZONTAL 362 +#define IMG_EXPANDABLE_WALL_HORIZONTAL_EDITOR 363 +#define IMG_EXPANDABLE_WALL_VERTICAL 364 +#define IMG_EXPANDABLE_WALL_VERTICAL_EDITOR 365 +#define IMG_EXPANDABLE_WALL_ANY 366 +#define IMG_EXPANDABLE_WALL_ANY_EDITOR 367 +#define IMG_EXPANDABLE_WALL_GROWING_LEFT 368 +#define IMG_EXPANDABLE_WALL_GROWING_RIGHT 369 +#define IMG_EXPANDABLE_WALL_GROWING_UP 370 +#define IMG_EXPANDABLE_WALL_GROWING_DOWN 371 +#define IMG_BLACK_ORB 372 +#define IMG_SPEED_PILL 373 +#define IMG_DARK_YAMYAM 374 +#define IMG_DYNABOMB_ACTIVE 375 +#define IMG_DYNABOMB_PLAYER_1_ACTIVE 376 +#define IMG_DYNABOMB_PLAYER_2_ACTIVE 377 +#define IMG_DYNABOMB_PLAYER_3_ACTIVE 378 +#define IMG_DYNABOMB_PLAYER_4_ACTIVE 379 +#define IMG_DYNABOMB_INCREASE_NUMBER 380 +#define IMG_DYNABOMB_INCREASE_SIZE 381 +#define IMG_DYNABOMB_INCREASE_POWER 382 +#define IMG_PIG 383 +#define IMG_PIG_DOWN 384 +#define IMG_PIG_UP 385 +#define IMG_PIG_LEFT 386 +#define IMG_PIG_RIGHT 387 +#define IMG_PIG_MOVING_DOWN 388 +#define IMG_PIG_MOVING_UP 389 +#define IMG_PIG_MOVING_LEFT 390 +#define IMG_PIG_MOVING_RIGHT 391 +#define IMG_PIG_DIGGING_DOWN 392 +#define IMG_PIG_DIGGING_UP 393 +#define IMG_PIG_DIGGING_LEFT 394 +#define IMG_PIG_DIGGING_RIGHT 395 +#define IMG_DRAGON 396 +#define IMG_DRAGON_DOWN 397 +#define IMG_DRAGON_UP 398 +#define IMG_DRAGON_LEFT 399 +#define IMG_DRAGON_RIGHT 400 +#define IMG_DRAGON_MOVING_DOWN 401 +#define IMG_DRAGON_MOVING_UP 402 +#define IMG_DRAGON_MOVING_LEFT 403 +#define IMG_DRAGON_MOVING_RIGHT 404 +#define IMG_DRAGON_ATTACKING_DOWN 405 +#define IMG_DRAGON_ATTACKING_UP 406 +#define IMG_DRAGON_ATTACKING_LEFT 407 +#define IMG_DRAGON_ATTACKING_RIGHT 408 +#define IMG_MOLE 409 +#define IMG_MOLE_DOWN 410 +#define IMG_MOLE_UP 411 +#define IMG_MOLE_LEFT 412 +#define IMG_MOLE_RIGHT 413 +#define IMG_MOLE_MOVING_DOWN 414 +#define IMG_MOLE_MOVING_UP 415 +#define IMG_MOLE_MOVING_LEFT 416 +#define IMG_MOLE_MOVING_RIGHT 417 +#define IMG_MOLE_DIGGING_DOWN 418 +#define IMG_MOLE_DIGGING_UP 419 +#define IMG_MOLE_DIGGING_LEFT 420 +#define IMG_MOLE_DIGGING_RIGHT 421 +#define IMG_PENGUIN 422 +#define IMG_PENGUIN_EDITOR 423 +#define IMG_PENGUIN_DOWN 424 +#define IMG_PENGUIN_UP 425 +#define IMG_PENGUIN_LEFT 426 +#define IMG_PENGUIN_RIGHT 427 +#define IMG_PENGUIN_MOVING_DOWN 428 +#define IMG_PENGUIN_MOVING_UP 429 +#define IMG_PENGUIN_MOVING_LEFT 430 +#define IMG_PENGUIN_MOVING_RIGHT 431 +#define IMG_SATELLITE 432 +#define IMG_SATELLITE_MOVING 433 +#define IMG_FLAMES_1_LEFT 434 +#define IMG_FLAMES_2_LEFT 435 +#define IMG_FLAMES_3_LEFT 436 +#define IMG_FLAMES_1_RIGHT 437 +#define IMG_FLAMES_2_RIGHT 438 +#define IMG_FLAMES_3_RIGHT 439 +#define IMG_FLAMES_1_UP 440 +#define IMG_FLAMES_2_UP 441 +#define IMG_FLAMES_3_UP 442 +#define IMG_FLAMES_1_DOWN 443 +#define IMG_FLAMES_2_DOWN 444 +#define IMG_FLAMES_3_DOWN 445 +#define IMG_STONEBLOCK 446 +#define IMG_PLAYER_1 447 +#define IMG_PLAYER_1_EDITOR 448 +#define IMG_PLAYER_1_DOWN 449 +#define IMG_PLAYER_1_UP 450 +#define IMG_PLAYER_1_LEFT 451 +#define IMG_PLAYER_1_RIGHT 452 +#define IMG_PLAYER_1_MOVING_DOWN 453 +#define IMG_PLAYER_1_MOVING_UP 454 +#define IMG_PLAYER_1_MOVING_LEFT 455 +#define IMG_PLAYER_1_MOVING_RIGHT 456 +#define IMG_PLAYER_1_DIGGING_DOWN 457 +#define IMG_PLAYER_1_DIGGING_UP 458 +#define IMG_PLAYER_1_DIGGING_LEFT 459 +#define IMG_PLAYER_1_DIGGING_RIGHT 460 +#define IMG_PLAYER_1_COLLECTING_DOWN 461 +#define IMG_PLAYER_1_COLLECTING_UP 462 +#define IMG_PLAYER_1_COLLECTING_LEFT 463 +#define IMG_PLAYER_1_COLLECTING_RIGHT 464 +#define IMG_PLAYER_1_PUSHING_DOWN 465 +#define IMG_PLAYER_1_PUSHING_UP 466 +#define IMG_PLAYER_1_PUSHING_LEFT 467 +#define IMG_PLAYER_1_PUSHING_RIGHT 468 +#define IMG_PLAYER_1_SNAPPING_DOWN 469 +#define IMG_PLAYER_1_SNAPPING_UP 470 +#define IMG_PLAYER_1_SNAPPING_LEFT 471 +#define IMG_PLAYER_1_SNAPPING_RIGHT 472 +#define IMG_PLAYER_2 473 +#define IMG_PLAYER_2_EDITOR 474 +#define IMG_PLAYER_2_DOWN 475 +#define IMG_PLAYER_2_UP 476 +#define IMG_PLAYER_2_LEFT 477 +#define IMG_PLAYER_2_RIGHT 478 +#define IMG_PLAYER_2_MOVING_DOWN 479 +#define IMG_PLAYER_2_MOVING_UP 480 +#define IMG_PLAYER_2_MOVING_LEFT 481 +#define IMG_PLAYER_2_MOVING_RIGHT 482 +#define IMG_PLAYER_2_DIGGING_DOWN 483 +#define IMG_PLAYER_2_DIGGING_UP 484 +#define IMG_PLAYER_2_DIGGING_LEFT 485 +#define IMG_PLAYER_2_DIGGING_RIGHT 486 +#define IMG_PLAYER_2_COLLECTING_DOWN 487 +#define IMG_PLAYER_2_COLLECTING_UP 488 +#define IMG_PLAYER_2_COLLECTING_LEFT 489 +#define IMG_PLAYER_2_COLLECTING_RIGHT 490 +#define IMG_PLAYER_2_PUSHING_DOWN 491 +#define IMG_PLAYER_2_PUSHING_UP 492 +#define IMG_PLAYER_2_PUSHING_LEFT 493 +#define IMG_PLAYER_2_PUSHING_RIGHT 494 +#define IMG_PLAYER_2_SNAPPING_DOWN 495 +#define IMG_PLAYER_2_SNAPPING_UP 496 +#define IMG_PLAYER_2_SNAPPING_LEFT 497 +#define IMG_PLAYER_2_SNAPPING_RIGHT 498 +#define IMG_PLAYER_3 499 +#define IMG_PLAYER_3_EDITOR 500 +#define IMG_PLAYER_3_DOWN 501 +#define IMG_PLAYER_3_UP 502 +#define IMG_PLAYER_3_LEFT 503 +#define IMG_PLAYER_3_RIGHT 504 +#define IMG_PLAYER_3_MOVING_DOWN 505 +#define IMG_PLAYER_3_MOVING_UP 506 +#define IMG_PLAYER_3_MOVING_LEFT 507 +#define IMG_PLAYER_3_MOVING_RIGHT 508 +#define IMG_PLAYER_3_DIGGING_DOWN 509 +#define IMG_PLAYER_3_DIGGING_UP 510 +#define IMG_PLAYER_3_DIGGING_LEFT 511 +#define IMG_PLAYER_3_DIGGING_RIGHT 512 +#define IMG_PLAYER_3_COLLECTING_DOWN 513 +#define IMG_PLAYER_3_COLLECTING_UP 514 +#define IMG_PLAYER_3_COLLECTING_LEFT 515 +#define IMG_PLAYER_3_COLLECTING_RIGHT 516 +#define IMG_PLAYER_3_PUSHING_DOWN 517 +#define IMG_PLAYER_3_PUSHING_UP 518 +#define IMG_PLAYER_3_PUSHING_LEFT 519 +#define IMG_PLAYER_3_PUSHING_RIGHT 520 +#define IMG_PLAYER_3_SNAPPING_DOWN 521 +#define IMG_PLAYER_3_SNAPPING_UP 522 +#define IMG_PLAYER_3_SNAPPING_LEFT 523 +#define IMG_PLAYER_3_SNAPPING_RIGHT 524 +#define IMG_PLAYER_4 525 +#define IMG_PLAYER_4_EDITOR 526 +#define IMG_PLAYER_4_DOWN 527 +#define IMG_PLAYER_4_UP 528 +#define IMG_PLAYER_4_LEFT 529 +#define IMG_PLAYER_4_RIGHT 530 +#define IMG_PLAYER_4_MOVING_DOWN 531 +#define IMG_PLAYER_4_MOVING_UP 532 +#define IMG_PLAYER_4_MOVING_LEFT 533 +#define IMG_PLAYER_4_MOVING_RIGHT 534 +#define IMG_PLAYER_4_DIGGING_DOWN 535 +#define IMG_PLAYER_4_DIGGING_UP 536 +#define IMG_PLAYER_4_DIGGING_LEFT 537 +#define IMG_PLAYER_4_DIGGING_RIGHT 538 +#define IMG_PLAYER_4_COLLECTING_DOWN 539 +#define IMG_PLAYER_4_COLLECTING_UP 540 +#define IMG_PLAYER_4_COLLECTING_LEFT 541 +#define IMG_PLAYER_4_COLLECTING_RIGHT 542 +#define IMG_PLAYER_4_PUSHING_DOWN 543 +#define IMG_PLAYER_4_PUSHING_UP 544 +#define IMG_PLAYER_4_PUSHING_LEFT 545 +#define IMG_PLAYER_4_PUSHING_RIGHT 546 +#define IMG_PLAYER_4_SNAPPING_DOWN 547 +#define IMG_PLAYER_4_SNAPPING_UP 548 +#define IMG_PLAYER_4_SNAPPING_LEFT 549 +#define IMG_PLAYER_4_SNAPPING_RIGHT 550 +#define IMG_EXPLOSION 551 +#define IMG_TWINKLE_BLUE 552 +#define IMG_TWINKLE_WHITE 553 +#define IMG_STEELWALL_TOPLEFT 554 +#define IMG_STEELWALL_TOPRIGHT 555 +#define IMG_STEELWALL_BOTTOMLEFT 556 +#define IMG_STEELWALL_BOTTOMRIGHT 557 +#define IMG_STEELWALL_HORIZONTAL 558 +#define IMG_STEELWALL_VERTICAL 559 +#define IMG_STEELWALL_TOPLEFT_EDITOR 560 +#define IMG_STEELWALL_TOPRIGHT_EDITOR 561 +#define IMG_STEELWALL_BOTTOMLEFT_EDITOR 562 +#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR 563 +#define IMG_STEELWALL_HORIZONTAL_EDITOR 564 +#define IMG_STEELWALL_VERTICAL_EDITOR 565 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT 566 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 567 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 568 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 569 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 570 +#define IMG_INVISIBLE_STEELWALL_VERTICAL 571 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR 572 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR 573 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR 574 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR 575 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR 576 +#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR 577 +#define IMG_ARROW_LEFT 578 +#define IMG_ARROW_RIGHT 579 +#define IMG_ARROW_UP 580 +#define IMG_ARROW_DOWN 581 +#define IMG_CHAR_SPACE 582 +#define IMG_CHAR_EXCLAM 583 +#define IMG_CHAR_QUOTEDBL 584 +#define IMG_CHAR_NUMBERSIGN 585 +#define IMG_CHAR_DOLLAR 586 +#define IMG_CHAR_PROCENT 587 +#define IMG_CHAR_AMPERSAND 588 +#define IMG_CHAR_APOSTROPHE 589 +#define IMG_CHAR_PARENLEFT 590 +#define IMG_CHAR_PARENRIGHT 591 +#define IMG_CHAR_ASTERISK 592 +#define IMG_CHAR_PLUS 593 +#define IMG_CHAR_COMMA 594 +#define IMG_CHAR_MINUS 595 +#define IMG_CHAR_PERIOD 596 +#define IMG_CHAR_SLASH 597 +#define IMG_CHAR_0 598 +#define IMG_CHAR_1 599 +#define IMG_CHAR_2 600 +#define IMG_CHAR_3 601 +#define IMG_CHAR_4 602 +#define IMG_CHAR_5 603 +#define IMG_CHAR_6 604 +#define IMG_CHAR_7 605 +#define IMG_CHAR_8 606 +#define IMG_CHAR_9 607 +#define IMG_CHAR_COLON 608 +#define IMG_CHAR_SEMICOLON 609 +#define IMG_CHAR_LESS 610 +#define IMG_CHAR_EQUAL 611 +#define IMG_CHAR_GREATER 612 +#define IMG_CHAR_QUESTION 613 +#define IMG_CHAR_AT 614 +#define IMG_CHAR_A 615 +#define IMG_CHAR_B 616 +#define IMG_CHAR_C 617 +#define IMG_CHAR_D 618 +#define IMG_CHAR_E 619 +#define IMG_CHAR_F 620 +#define IMG_CHAR_G 621 +#define IMG_CHAR_H 622 +#define IMG_CHAR_I 623 +#define IMG_CHAR_J 624 +#define IMG_CHAR_K 625 +#define IMG_CHAR_L 626 +#define IMG_CHAR_M 627 +#define IMG_CHAR_N 628 +#define IMG_CHAR_O 629 +#define IMG_CHAR_P 630 +#define IMG_CHAR_Q 631 +#define IMG_CHAR_R 632 +#define IMG_CHAR_S 633 +#define IMG_CHAR_T 634 +#define IMG_CHAR_U 635 +#define IMG_CHAR_V 636 +#define IMG_CHAR_W 637 +#define IMG_CHAR_X 638 +#define IMG_CHAR_Y 639 +#define IMG_CHAR_Z 640 +#define IMG_CHAR_AE 641 +#define IMG_CHAR_OE 642 +#define IMG_CHAR_UE 643 +#define IMG_CHAR_COPYRIGHT 644 +#define IMG_CHAR_UNDERSCORE 645 +#define IMG_CHAR_EMPTY 646 +#define IMG_CHAR_DEGREE 647 +#define IMG_CHAR_TM 648 +#define IMG_CHAR_CURSOR 649 +#define IMG_CUSTOM_1 650 +#define IMG_CUSTOM_2 651 +#define IMG_CUSTOM_3 652 +#define IMG_CUSTOM_4 653 +#define IMG_CUSTOM_5 654 +#define IMG_CUSTOM_6 655 +#define IMG_CUSTOM_7 656 +#define IMG_CUSTOM_8 657 +#define IMG_CUSTOM_9 658 +#define IMG_CUSTOM_10 659 +#define IMG_CUSTOM_11 660 +#define IMG_CUSTOM_12 661 +#define IMG_CUSTOM_13 662 +#define IMG_CUSTOM_14 663 +#define IMG_CUSTOM_15 664 +#define IMG_CUSTOM_16 665 +#define IMG_CUSTOM_17 666 +#define IMG_CUSTOM_18 667 +#define IMG_CUSTOM_19 668 +#define IMG_CUSTOM_20 669 +#define IMG_CUSTOM_21 670 +#define IMG_CUSTOM_22 671 +#define IMG_CUSTOM_23 672 +#define IMG_CUSTOM_24 673 +#define IMG_CUSTOM_25 674 +#define IMG_CUSTOM_26 675 +#define IMG_CUSTOM_27 676 +#define IMG_CUSTOM_28 677 +#define IMG_CUSTOM_29 678 +#define IMG_CUSTOM_30 679 +#define IMG_CUSTOM_31 680 +#define IMG_CUSTOM_32 681 +#define IMG_CUSTOM_33 682 +#define IMG_CUSTOM_34 683 +#define IMG_CUSTOM_35 684 +#define IMG_CUSTOM_36 685 +#define IMG_CUSTOM_37 686 +#define IMG_CUSTOM_38 687 +#define IMG_CUSTOM_39 688 +#define IMG_CUSTOM_40 689 +#define IMG_CUSTOM_41 690 +#define IMG_CUSTOM_42 691 +#define IMG_CUSTOM_43 692 +#define IMG_CUSTOM_44 693 +#define IMG_CUSTOM_45 694 +#define IMG_CUSTOM_46 695 +#define IMG_CUSTOM_47 696 +#define IMG_CUSTOM_48 697 +#define IMG_CUSTOM_49 698 +#define IMG_CUSTOM_50 699 +#define IMG_CUSTOM_51 700 +#define IMG_CUSTOM_52 701 +#define IMG_CUSTOM_53 702 +#define IMG_CUSTOM_54 703 +#define IMG_CUSTOM_55 704 +#define IMG_CUSTOM_56 705 +#define IMG_CUSTOM_57 706 +#define IMG_CUSTOM_58 707 +#define IMG_CUSTOM_59 708 +#define IMG_CUSTOM_60 709 +#define IMG_CUSTOM_61 710 +#define IMG_CUSTOM_62 711 +#define IMG_CUSTOM_63 712 +#define IMG_CUSTOM_64 713 +#define IMG_CUSTOM_65 714 +#define IMG_CUSTOM_66 715 +#define IMG_CUSTOM_67 716 +#define IMG_CUSTOM_68 717 +#define IMG_CUSTOM_69 718 +#define IMG_CUSTOM_70 719 +#define IMG_CUSTOM_71 720 +#define IMG_CUSTOM_72 721 +#define IMG_CUSTOM_73 722 +#define IMG_CUSTOM_74 723 +#define IMG_CUSTOM_75 724 +#define IMG_CUSTOM_76 725 +#define IMG_CUSTOM_77 726 +#define IMG_CUSTOM_78 727 +#define IMG_CUSTOM_79 728 +#define IMG_CUSTOM_80 729 +#define IMG_CUSTOM_81 730 +#define IMG_CUSTOM_82 731 +#define IMG_CUSTOM_83 732 +#define IMG_CUSTOM_84 733 +#define IMG_CUSTOM_85 734 +#define IMG_CUSTOM_86 735 +#define IMG_CUSTOM_87 736 +#define IMG_CUSTOM_88 737 +#define IMG_CUSTOM_89 738 +#define IMG_CUSTOM_90 739 +#define IMG_CUSTOM_91 740 +#define IMG_CUSTOM_92 741 +#define IMG_CUSTOM_93 742 +#define IMG_CUSTOM_94 743 +#define IMG_CUSTOM_95 744 +#define IMG_CUSTOM_96 745 +#define IMG_CUSTOM_97 746 +#define IMG_CUSTOM_98 747 +#define IMG_CUSTOM_99 748 +#define IMG_CUSTOM_100 749 +#define IMG_CUSTOM_101 750 +#define IMG_CUSTOM_102 751 +#define IMG_CUSTOM_103 752 +#define IMG_CUSTOM_104 753 +#define IMG_CUSTOM_105 754 +#define IMG_CUSTOM_106 755 +#define IMG_CUSTOM_107 756 +#define IMG_CUSTOM_108 757 +#define IMG_CUSTOM_109 758 +#define IMG_CUSTOM_110 759 +#define IMG_CUSTOM_111 760 +#define IMG_CUSTOM_112 761 +#define IMG_CUSTOM_113 762 +#define IMG_CUSTOM_114 763 +#define IMG_CUSTOM_115 764 +#define IMG_CUSTOM_116 765 +#define IMG_CUSTOM_117 766 +#define IMG_CUSTOM_118 767 +#define IMG_CUSTOM_119 768 +#define IMG_CUSTOM_120 769 +#define IMG_CUSTOM_121 770 +#define IMG_CUSTOM_122 771 +#define IMG_CUSTOM_123 772 +#define IMG_CUSTOM_124 773 +#define IMG_CUSTOM_125 774 +#define IMG_CUSTOM_126 775 +#define IMG_CUSTOM_127 776 +#define IMG_CUSTOM_128 777 +#define IMG_TOON_1 778 +#define IMG_TOON_2 779 +#define IMG_TOON_3 780 +#define IMG_TOON_4 781 +#define IMG_TOON_5 782 +#define IMG_TOON_6 783 +#define IMG_TOON_7 784 +#define IMG_TOON_8 785 +#define IMG_TOON_9 786 +#define IMG_TOON_10 787 +#define IMG_TOON_11 788 +#define IMG_TOON_12 789 +#define IMG_TOON_13 790 +#define IMG_TOON_14 791 +#define IMG_TOON_15 792 +#define IMG_TOON_16 793 +#define IMG_TOON_17 794 +#define IMG_TOON_18 795 +#define IMG_TOON_19 796 +#define IMG_TOON_20 797 +#define IMG_MENU_CALIBRATE_RED 798 +#define IMG_MENU_CALIBRATE_BLUE 799 +#define IMG_MENU_CALIBRATE_YELLOW 800 +#define IMG_MENU_BUTTON 801 +#define IMG_MENU_BUTTON_ACTIVE 802 +#define IMG_MENU_BUTTON_LEFT 803 +#define IMG_MENU_BUTTON_RIGHT 804 +#define IMG_MENU_BUTTON_UP 805 +#define IMG_MENU_BUTTON_DOWN 806 +#define IMG_MENU_BUTTON_LEFT_ACTIVE 807 +#define IMG_MENU_BUTTON_RIGHT_ACTIVE 808 +#define IMG_MENU_BUTTON_UP_ACTIVE 809 +#define IMG_MENU_BUTTON_DOWN_ACTIVE 810 +#define IMG_MENU_SCROLLBAR 811 +#define IMG_MENU_SCROLLBAR_ACTIVE 812 +#define IMG_FONT_INITIAL_1 813 +#define IMG_FONT_INITIAL_2 814 +#define IMG_FONT_INITIAL_3 815 +#define IMG_FONT_INITIAL_4 816 +#define IMG_FONT_TITLE_1 817 +#define IMG_FONT_TITLE_1_LEVELS 818 +#define IMG_FONT_TITLE_2 819 +#define IMG_FONT_MENU_1 820 +#define IMG_FONT_MENU_2 821 +#define IMG_FONT_TEXT_1 822 +#define IMG_FONT_TEXT_1_LEVELS 823 +#define IMG_FONT_TEXT_1_SCORES 824 +#define IMG_FONT_TEXT_1_PREVIEW 825 +#define IMG_FONT_TEXT_2 826 +#define IMG_FONT_TEXT_2_LEVELS 827 +#define IMG_FONT_TEXT_2_SCORES 828 +#define IMG_FONT_TEXT_2_PREVIEW 829 +#define IMG_FONT_TEXT_3 830 +#define IMG_FONT_TEXT_3_LEVELS 831 +#define IMG_FONT_TEXT_3_SCORES 832 +#define IMG_FONT_TEXT_3_PREVIEW 833 +#define IMG_FONT_TEXT_4 834 +#define IMG_FONT_TEXT_4_LEVELS 835 +#define IMG_FONT_TEXT_4_SCORES 836 +#define IMG_FONT_INPUT 837 +#define IMG_FONT_INPUT_MAIN 838 +#define IMG_FONT_INPUT_ACTIVE 839 +#define IMG_FONT_INPUT_ACTIVE_MAIN 840 +#define IMG_FONT_INPUT_ACTIVE_SETUP 841 +#define IMG_FONT_OPTION_OFF 842 +#define IMG_FONT_OPTION_ON 843 +#define IMG_FONT_VALUE_1 844 +#define IMG_FONT_VALUE_2 845 +#define IMG_FONT_VALUE_OLD 846 +#define IMG_FONT_LEVEL_NUMBER 847 +#define IMG_FONT_TAPE_RECORDER 848 +#define IMG_GLOBAL_BORDER 849 +#define IMG_GLOBAL_DOOR 850 +#define IMG_EDITOR_ELEMENT_BORDER 851 +#define IMG_BACKGROUND 852 +#define IMG_BACKGROUND_MAIN 853 +#define IMG_BACKGROUND_LEVELS 854 +#define IMG_BACKGROUND_SCORES 855 +#define IMG_BACKGROUND_EDITOR 856 +#define IMG_BACKGROUND_INFO 857 +#define IMG_BACKGROUND_SETUP 858 +#define IMG_BACKGROUND_DOOR 859 +#define IMG_INFO_FONT_EM_1 860 +#define IMG_INFO_FONT_EM_2 861 +#define IMG_INFO_FONT_EM_3 862 +#define IMG_INFO_FONT_EM_4 863 +#define IMG_INFO_FONT_EM_5 864 -#define NUM_IMAGE_FILES 859 +#define NUM_IMAGE_FILES 865 #endif /* CONF_GFX_H */ diff --git a/src/conftime.h b/src/conftime.h index 896228b6..015efbb7 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-03-31 02:04]" +#define COMPILE_DATE_STRING "[2003-04-02 01:57]" diff --git a/src/game.c b/src/game.c index 06c88af1..b6a7697e 100644 --- a/src/game.c +++ b/src/game.c @@ -1690,7 +1690,7 @@ void Explode(int ex, int ey, int phase, int mode) int frame = getGraphicAnimationFrame(graphic, phase - delay); if (phase == delay) - DrawCrumbledSand(SCREENX(x), SCREENY(y)); + DrawLevelFieldCrumbledSand(x, y); if (IS_PFORTE(Store[x][y])) { @@ -3399,7 +3399,7 @@ void ContinueMoving(int x, int y) yy = y + xy[i][1]; if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_SAND) - DrawLevelField(xx, yy); /* for "DrawCrumbledSand()" */ + DrawLevelField(xx, yy); /* for "crumbled sand" */ } } @@ -4384,7 +4384,7 @@ static void ChangeActiveTrap(int x, int y) /* if new animation frame was drawn, correct crumbled sand border */ if (IS_NEW_FRAME(GfxFrame[x][y], graphic)) - DrawCrumbledSand(SCREENX(x), SCREENY(y)); + DrawLevelFieldCrumbledSand(x, y); } static void ChangeElement(int x, int y) @@ -5255,7 +5255,7 @@ boolean MoveFigure(struct PlayerInfo *player, int dx, int dy) else if (old_jx == jx && old_jy != jy) player->MovDir = (old_jy < jy ? MV_DOWN : MV_UP); - DrawLevelField(jx, jy); /* for "DrawCrumbledSand()" */ + DrawLevelField(jx, jy); /* for "crumbled sand" */ player->last_move_dir = player->MovDir; player->is_moving = TRUE; @@ -5730,8 +5730,11 @@ int DigField(struct PlayerInfo *player, case EL_SP_BUGGY_BASE_ACTIVATING: RemoveField(x, y); #if 1 - if (mode != DF_SNAP && element == EL_SAND) - GfxElement[x][y] = EL_SAND; + if (mode != DF_SNAP && element != EL_EMPTY) + { + GfxElement[x][y] = (CAN_BE_CRUMBLED(element) ? EL_SAND : element); + player->is_digging = TRUE; + } #endif PlaySoundLevelElementAction(x, y, element, ACTION_DIGGING); break; @@ -5746,6 +5749,13 @@ int DigField(struct PlayerInfo *player, case EL_PEARL: case EL_CRYSTAL: RemoveField(x, y); +#if 1 + if (mode != DF_SNAP) + { + GfxElement[x][y] = element; + player->is_collecting = TRUE; + } +#endif local_player->gems_still_needed -= (element == EL_DIAMOND ? 3 : element == EL_PEARL ? 5 : element == EL_CRYSTAL ? 8 : 1); @@ -6376,12 +6386,7 @@ int DigField(struct PlayerInfo *player, player->push_delay = 0; if (Feld[x][y] != element) /* really digged/collected something */ - { - if (GfxElement[x][y] == EL_SAND) - player->is_digging = TRUE; - else - player->is_collecting = TRUE; - } + player->is_collecting = !player->is_digging; return MF_MOVING; } diff --git a/src/init.c b/src/init.c index 80073129..9b57d1b0 100644 --- a/src/init.c +++ b/src/init.c @@ -423,6 +423,9 @@ void InitElementGraphicInfo() int direction = element_to_graphic[i].direction; int graphic = element_to_graphic[i].graphic; + if (graphic_info[graphic].bitmap == NULL) + continue; + if (action < 0) action = ACTION_DEFAULT; @@ -441,6 +444,9 @@ void InitElementGraphicInfo() int special = property_mapping[i].ext3_index; int graphic = property_mapping[i].artwork_index; + if (graphic_info[graphic].bitmap == NULL) + continue; + if (element >= MAX_NUM_ELEMENTS || special != -1) continue; @@ -473,13 +479,18 @@ void InitElementGraphicInfo() for (act=0; act= EL_CUSTOM_START && \ (e) <= EL_CUSTOM_END) @@ -861,13 +863,12 @@ #define COOKIE_PREFIX "ROCKSNDIAMONDS" #define FILENAME_PREFIX "Rocks" -#define USERDATA_DIR_STRING "Userdata" #if defined(PLATFORM_UNIX) #define USERDATA_DIRECTORY ".rocksndiamonds" #elif defined(PLATFORM_WIN32) -#define USERDATA_DIRECTORY PROGRAM_TITLE_STRING " " USERDATA_DIR_STRING +#define USERDATA_DIRECTORY PROGRAM_TITLE_STRING #else -#define USERDATA_DIRECTORY USERDATA_DIR_STRING +#define USERDATA_DIRECTORY "userdata" #endif #define X11_ICON_FILENAME "rocks_icon.xbm" diff --git a/src/tools.c b/src/tools.c index 4a97ee8e..412363a6 100644 --- a/src/tools.c +++ b/src/tools.c @@ -542,7 +542,8 @@ void DrawPlayer(struct PlayerInfo *player) int graphic; int frame = 0; boolean player_is_moving = (last_jx != jx || last_jy != jy ? TRUE : FALSE); - int current_action = ACTION_DEFAULT; + int move_dir = player->MovDir; + int action = ACTION_DEFAULT; if (!player->active || !IN_SCR_FIELD(SCREENX(last_jx), SCREENY(last_jy))) return; @@ -560,13 +561,13 @@ void DrawPlayer(struct PlayerInfo *player) if (element == EL_EXPLOSION) return; - current_action = (player->Pushing ? ACTION_PUSHING : - player->is_digging ? ACTION_DIGGING : - player->is_collecting ? ACTION_COLLECTING : - player->is_moving ? ACTION_MOVING : - player->snapped ? ACTION_SNAPPING : ACTION_DEFAULT); + action = (player->Pushing ? ACTION_PUSHING : + player->is_digging ? ACTION_DIGGING : + player->is_collecting ? ACTION_COLLECTING : + player->is_moving ? ACTION_MOVING : + player->snapped ? ACTION_SNAPPING : ACTION_DEFAULT); - InitPlayerGfxAnimation(player, current_action, player->MovDir); + InitPlayerGfxAnimation(player, action, move_dir); /* ----------------------------------------------------------------------- */ /* draw things in the field the player is leaving, if needed */ @@ -622,52 +623,16 @@ void DrawPlayer(struct PlayerInfo *player) { if (player_is_moving && GfxElement[jx][jy] != EL_UNDEFINED) { - int old_element = GfxElement[jx][jy]; - int old_graphic = - el_act_dir2img(old_element, ACTION_DIGGING, player->MovDir); - int frame = getGraphicAnimationFrame(old_graphic, player->StepFrame); - -#if 0 - Bitmap *src_bitmap; - int src_x, src_y; - int width = TILEX, height = TILEY; - int cx = 0, cy = 0; - - if (player->MovDir == MV_UP) - { - cy = player->GfxPos; - height -= cy; - } - else if (player->MovDir == MV_DOWN) - { - cy = 0; - height = TILEY - player->GfxPos; - } - else if (player->MovDir == MV_LEFT) - { - cx = player->GfxPos; - width -= cx; - } - else if (player->MovDir == MV_RIGHT) + if (GfxElement[jx][jy] == EL_SAND) + DrawLevelFieldCrumbledSandDigging(jx, jy, move_dir, player->StepFrame); + else { - cx = 0; - width = TILEX - player->GfxPos; - } - - getGraphicSource(old_graphic, frame, &src_bitmap, &src_x, &src_y); - - BlitBitmap(src_bitmap, drawto_field, src_x + cx, src_y + cy, - width, height, FX + sx * TILEX + cx, FY + sy * TILEY + cy); -#else -#if 0 - printf("::: %d, %d, %d, %d => %d, %d [%d, %d, %d]\n", - old_element, ACTION_DIGGING, player->MovDir, player->Frame, - old_graphic, frame, - player->MovPos, player->GfxPos, player->StepFrame); -#endif + int old_element = GfxElement[jx][jy]; + int old_graphic = el_act_dir2img(old_element, action, move_dir); + int frame = getGraphicAnimationFrame(old_graphic, player->StepFrame); - DrawGraphic(sx, sy, old_graphic, frame); -#endif + DrawGraphic(sx, sy, old_graphic, frame); + } } else { @@ -686,22 +651,21 @@ void DrawPlayer(struct PlayerInfo *player) static int last_horizontal_dir = MV_LEFT; int direction; - if (player->MovDir == MV_LEFT || player->MovDir == MV_RIGHT) - last_horizontal_dir = player->MovDir; + if (move_dir == MV_LEFT || move_dir == MV_RIGHT) + last_horizontal_dir = move_dir; - direction = (player->snapped ? player->MovDir : last_horizontal_dir); + direction = (player->snapped ? move_dir : last_horizontal_dir); graphic = el_act_dir2img(EL_SP_MURPHY, player->GfxAction, direction); } else - graphic = el_act_dir2img(player->element_nr, player->GfxAction, - player->MovDir); + graphic = el_act_dir2img(player->element_nr, player->GfxAction, move_dir); frame = getGraphicAnimationFrame(graphic, player->Frame); if (player->GfxPos) { - if (player->MovDir == MV_LEFT || player->MovDir == MV_RIGHT) + if (move_dir == MV_LEFT || move_dir == MV_RIGHT) sxx = player->GfxPos; else syy = player->GfxPos; @@ -742,7 +706,7 @@ void DrawPlayer(struct PlayerInfo *player) if ((sxx || syy) && IS_PUSHABLE(element)) { - graphic = el_act_dir2img(element, ACTION_MOVING, player->MovDir); + graphic = el_act_dir2img(element, ACTION_MOVING, move_dir); frame = getGraphicAnimationFrame(graphic, player->Frame); } @@ -1199,14 +1163,14 @@ void DrawLevelFieldThruMask(int x, int y) DrawLevelElementExt(x, y, 0, 0, Feld[x][y], NO_CUTTING, USE_MASKING); } -void DrawCrumbledSand(int x, int y) +static void DrawLevelFieldCrumbledSandExt(int x, int y, int graphic, int frame) { Bitmap *src_bitmap; int src_x, src_y; - int i, width, height, cx,cy; - int lx = LEVELX(x), ly = LEVELY(y); - int element, graphic; - int snip = 4; + int sx = SCREENX(x), sy = SCREENY(y); + int element; + int width, height, cx, cy, i; + int snip = TILEX / 8; /* number of border pixels from "crumbled graphic" */ static int xy[4][2] = { { 0, -1 }, @@ -1215,46 +1179,27 @@ void DrawCrumbledSand(int x, int y) { 0, +1 } }; - if (!IN_LEV_FIELD(lx, ly)) + if (!IN_LEV_FIELD(x, y)) return; - element = Feld[lx][ly]; + element = (GfxElement[x][y] != EL_UNDEFINED ? GfxElement[x][y] : Feld[x][y]); - if (element == EL_SAND || -#if 1 - (element == EL_EMPTY_SPACE && GfxElement[lx][ly] == EL_SAND) || -#endif - element == EL_LANDMINE || - element == EL_TRAP || - element == EL_TRAP_ACTIVE) + /* crumble field itself */ + if (CAN_BE_CRUMBLED(element)) { - if (!IN_SCR_FIELD(x, y)) + if (!IN_SCR_FIELD(sx, sy)) return; - graphic = IMG_SAND_CRUMBLED; - - src_bitmap = graphic_info[graphic].bitmap; - src_x = graphic_info[graphic].src_x; - src_y = graphic_info[graphic].src_y; + getGraphicSource(graphic, frame, &src_bitmap, &src_x, &src_y); for(i=0; i<4; i++) { - int lxx, lyy; + int xx = x + xy[i][0]; + int yy = y + xy[i][1]; - lxx = lx + xy[i][0]; - lyy = ly + xy[i][1]; - if (!IN_LEV_FIELD(lxx, lyy)) - element = EL_STEELWALL; - else - element = Feld[lxx][lyy]; + element = (IN_LEV_FIELD(xx, yy) ? Feld[xx][yy] : EL_STEELWALL); - if (element == EL_SAND || -#if 1 - (element == EL_EMPTY_SPACE && GfxElement[lxx][lyy] == EL_SAND) || -#endif - element == EL_LANDMINE || - element == EL_TRAP || - element == EL_TRAP_ACTIVE) + if (CAN_BE_CRUMBLED(element)) /* neighbour is of same type */ continue; if (i == 1 || i == 2) @@ -1273,37 +1218,25 @@ void DrawCrumbledSand(int x, int y) } BlitBitmap(src_bitmap, drawto_field, src_x + cx, src_y + cy, - width, height, FX + x * TILEX + cx, FY + y * TILEY + cy); + width, height, FX + sx * TILEX + cx, FY + sy * TILEY + cy); } - MarkTileDirty(x, y); + MarkTileDirty(sx, sy); } - else + else /* crumble neighbour fields */ { - graphic = IMG_SAND_CRUMBLED; - - src_bitmap = graphic_info[graphic].bitmap; - src_x = graphic_info[graphic].src_x; - src_y = graphic_info[graphic].src_y; + getGraphicSource(graphic, frame, &src_bitmap, &src_x, &src_y); for(i=0; i<4; i++) { - int xx, yy, lxx, lyy; - - xx = x + xy[i][0]; - yy = y + xy[i][1]; - lxx = lx + xy[i][0]; - lyy = ly + xy[i][1]; - - if (!IN_LEV_FIELD(lxx, lyy) || - (Feld[lxx][lyy] != EL_SAND && -#if 1 - !(Feld[lxx][lyy] == EL_EMPTY_SPACE && GfxElement[lxx][lyy] == EL_SAND) && -#endif - Feld[lxx][lyy] != EL_LANDMINE && - Feld[lxx][lyy] != EL_TRAP && - Feld[lxx][lyy] != EL_TRAP_ACTIVE) || - !IN_SCR_FIELD(xx, yy)) + int xx = x + xy[i][0]; + int yy = y + xy[i][1]; + int sxx = sx + xy[i][0]; + int syy = sy + xy[i][1]; + + if (!IN_LEV_FIELD(xx, yy) || + !IN_SCR_FIELD(sxx, syy) || + !CAN_BE_CRUMBLED(Feld[xx][yy])) continue; if (i == 1 || i == 2) @@ -1322,13 +1255,31 @@ void DrawCrumbledSand(int x, int y) } BlitBitmap(src_bitmap, drawto_field, src_x + cx, src_y + cy, - width, height, FX + xx * TILEX + cx, FY + yy * TILEY + cy); + width, height, FX + sxx * TILEX + cx, FY + syy * TILEY + cy); - MarkTileDirty(xx, yy); + MarkTileDirty(sxx, syy); } } } +void DrawLevelFieldCrumbledSand(int x, int y) +{ + DrawLevelFieldCrumbledSandExt(x, y, IMG_SAND_CRUMBLED, 0); +} + +void DrawLevelFieldCrumbledSandDigging(int x, int y, int direction, + int step_frame) +{ + int graphic1 = el_act_dir2img(EL_SAND, ACTION_DIGGING, direction); + int graphic2 = el_act_dir2img(EL_SAND_CRUMBLED, ACTION_DIGGING, direction); + int frame1 = getGraphicAnimationFrame(graphic1, step_frame); + int frame2 = getGraphicAnimationFrame(graphic2, step_frame); + int sx = SCREENX(x), sy = SCREENY(y); + + DrawGraphic(sx, sy, graphic1, frame1); + DrawLevelFieldCrumbledSandExt(x, y, graphic2, frame2); +} + static int getBorderElement(int x, int y) { int border[7][2] = @@ -1355,7 +1306,7 @@ static int getBorderElement(int x, int y) void DrawScreenElement(int x, int y, int element) { DrawScreenElementExt(x, y, 0, 0, element, NO_CUTTING, NO_MASKING); - DrawCrumbledSand(x, y); + DrawLevelFieldCrumbledSand(LEVELX(x), LEVELY(y)); } void DrawLevelElement(int x, int y, int element) diff --git a/src/tools.h b/src/tools.h index 1f520df3..51c11d53 100644 --- a/src/tools.h +++ b/src/tools.h @@ -102,7 +102,8 @@ void DrawLevelElementShifted(int, int, int, int, int, int); void DrawScreenElementThruMask(int, int, int); void DrawLevelElementThruMask(int, int, int); void DrawLevelFieldThruMask(int, int); -void DrawCrumbledSand(int, int); +void DrawLevelFieldCrumbledSand(int, int); +void DrawLevelFieldCrumbledSandDigging(int, int, int, int); void DrawScreenElement(int, int, int); void DrawLevelElement(int, int, int); void DrawScreenField(int, int); -- 2.34.1