From 1a8dede2cb67e1800ba2fa26182883920da1b160 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 4 Feb 2003 03:19:06 +0100 Subject: [PATCH] rnd-20030204-1-src --- src/conf_esg.c | 132 +++++ src/conf_gfx.c | 99 ++++ src/conf_gfx.h | 1543 +++++++++++++++++++++++++----------------------- src/conftime.h | 2 +- src/editor.c | 121 ++-- src/files.c | 151 +++-- src/main.h | 2 + 7 files changed, 1208 insertions(+), 842 deletions(-) diff --git a/src/conf_esg.c b/src/conf_esg.c index cf4577d6..eb9aa0f0 100644 --- a/src/conf_esg.c +++ b/src/conf_esg.c @@ -27,10 +27,46 @@ static struct } element_to_special_graphic[] = { + { + EL_BD_WALL, GFX_SPECIAL_ARG_EDITOR, + IMG_BD_WALL_EDITOR + }, + { + EL_BD_ROCK, GFX_SPECIAL_ARG_EDITOR, + IMG_BD_ROCK_EDITOR + }, { EL_BD_AMOEBA, GFX_SPECIAL_ARG_EDITOR, IMG_BD_AMOEBA_EDITOR }, + { + EL_SP_INFOTRON, GFX_SPECIAL_ARG_EDITOR, + IMG_SP_INFOTRON_EDITOR + }, + { + EL_SP_ELECTRON, GFX_SPECIAL_ARG_EDITOR, + IMG_SP_ELECTRON_EDITOR + }, + { + EL_SP_TERMINAL, GFX_SPECIAL_ARG_EDITOR, + IMG_SP_TERMINAL_EDITOR + }, + { + EL_SOKOBAN_OBJECT, GFX_SPECIAL_ARG_EDITOR, + IMG_SOKOBAN_OBJECT_EDITOR + }, + { + EL_DYNAMITE, GFX_SPECIAL_ARG_EDITOR, + IMG_DYNAMITE_EDITOR + }, + { + EL_DYNAMITE_ACTIVE, GFX_SPECIAL_ARG_EDITOR, + IMG_DYNAMITE_ACTIVE_EDITOR + }, + { + EL_QUICKSAND_FULL, GFX_SPECIAL_ARG_EDITOR, + IMG_QUICKSAND_FULL_EDITOR + }, { EL_AMOEBA_WET, GFX_SPECIAL_ARG_EDITOR, IMG_AMOEBA_WET_EDITOR @@ -43,6 +79,102 @@ element_to_special_graphic[] = EL_AMOEBA_DEAD, GFX_SPECIAL_ARG_EDITOR, IMG_AMOEBA_DEAD_EDITOR }, + { + EL_EM_GATE1_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_EM_GATE1_GRAY_EDITOR + }, + { + EL_EM_GATE2_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_EM_GATE2_GRAY_EDITOR + }, + { + EL_EM_GATE3_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_EM_GATE3_GRAY_EDITOR + }, + { + EL_EM_GATE4_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_EM_GATE4_GRAY_EDITOR + }, + { + EL_INVISIBLE_STEELWALL, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_STEELWALL_EDITOR + }, + { + EL_INVISIBLE_WALL, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_WALL_EDITOR + }, + { + EL_INVISIBLE_SAND, GFX_SPECIAL_ARG_EDITOR, + IMG_INVISIBLE_SAND_EDITOR + }, + { + EL_KEY1, GFX_SPECIAL_ARG_EDITOR, + IMG_KEY1_EDITOR + }, + { + EL_KEY2, GFX_SPECIAL_ARG_EDITOR, + IMG_KEY2_EDITOR + }, + { + EL_KEY3, GFX_SPECIAL_ARG_EDITOR, + IMG_KEY3_EDITOR + }, + { + EL_KEY4, GFX_SPECIAL_ARG_EDITOR, + IMG_KEY4_EDITOR + }, + { + EL_GATE1_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_GATE1_GRAY_EDITOR + }, + { + EL_GATE2_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_GATE2_GRAY_EDITOR + }, + { + EL_GATE3_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_GATE3_GRAY_EDITOR + }, + { + EL_GATE4_GRAY, GFX_SPECIAL_ARG_EDITOR, + IMG_GATE4_GRAY_EDITOR + }, + { + EL_LAMP, GFX_SPECIAL_ARG_EDITOR, + IMG_LAMP_EDITOR + }, + { + EL_WALL_GROWING_XY, GFX_SPECIAL_ARG_EDITOR, + IMG_WALL_GROWING_XY_EDITOR + }, + { + EL_WALL_GROWING_X, GFX_SPECIAL_ARG_EDITOR, + IMG_WALL_GROWING_X_EDITOR + }, + { + EL_WALL_GROWING_Y, GFX_SPECIAL_ARG_EDITOR, + IMG_WALL_GROWING_Y_EDITOR + }, + { + EL_PENGUIN, GFX_SPECIAL_ARG_EDITOR, + IMG_PENGUIN_EDITOR + }, + { + EL_PLAYER1, GFX_SPECIAL_ARG_EDITOR, + IMG_PLAYER1_EDITOR + }, + { + EL_PLAYER2, GFX_SPECIAL_ARG_EDITOR, + IMG_PLAYER2_EDITOR + }, + { + EL_PLAYER3, GFX_SPECIAL_ARG_EDITOR, + IMG_PLAYER3_EDITOR + }, + { + EL_PLAYER4, GFX_SPECIAL_ARG_EDITOR, + IMG_PLAYER4_EDITOR + }, { EL_STEELWALL_TOPLEFT, GFX_SPECIAL_ARG_EDITOR, IMG_STEELWALL_TOPLEFT_EDITOR diff --git a/src/conf_gfx.c b/src/conf_gfx.c index dfd2e665..d693881c 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -50,11 +50,17 @@ struct ConfigInfo image_config[] = { "bd_wall.xpos", "12" }, { "bd_wall.ypos", "9" }, { "bd_wall.frames", "1" }, + { "bd_wall.EDITOR", "RocksDC.pcx" }, + { "bd_wall.EDITOR.xpos", "14" }, + { "bd_wall.EDITOR.ypos", "13" }, { "bd_rock", "RocksDC.pcx" }, { "bd_rock.xpos", "12" }, { "bd_rock.ypos", "10" }, { "bd_rock.frames", "1" }, + { "bd_rock.EDITOR", "RocksDC.pcx" }, + { "bd_rock.EDITOR.xpos", "14" }, + { "bd_rock.EDITOR.ypos", "14" }, { "bd_rock.falling", "RocksDC.pcx" }, { "bd_rock.falling.xpos", "12" }, { "bd_rock.falling.ypos", "10" }, @@ -305,6 +311,9 @@ struct ConfigInfo image_config[] = { "sp_infotron.xpos", "4" }, { "sp_infotron.ypos", "0" }, { "sp_infotron.frames", "1" }, + { "sp_infotron.EDITOR", "RocksSP.pcx" }, + { "sp_infotron.EDITOR.xpos", "8" }, + { "sp_infotron.EDITOR.ypos", "11" }, { "sp_infotron.falling", "RocksSP.pcx" }, { "sp_infotron.falling.xpos", "4" }, { "sp_infotron.falling.ypos", "0" }, @@ -467,12 +476,18 @@ struct ConfigInfo image_config[] = { "sp_electron.ypos", "10" }, { "sp_electron.frames", "8" }, { "sp_electron.delay", "2" }, + { "sp_electron.EDITOR", "RocksSP.pcx" }, + { "sp_electron.EDITOR.xpos", "10" }, + { "sp_electron.EDITOR.ypos", "11" }, { "sp_terminal", "RocksSP.pcx" }, { "sp_terminal.xpos", "0" }, { "sp_terminal.ypos", "10" }, { "sp_terminal.frames", "7" }, { "sp_terminal.delay", "12" }, + { "sp_terminal.EDITOR", "RocksSP.pcx" }, + { "sp_terminal.EDITOR.xpos", "9" }, + { "sp_terminal.EDITOR.ypos", "11" }, { "sp_terminal.active", "RocksSP.pcx" }, { "sp_terminal.active.xpos", "0" }, { "sp_terminal.active.ypos", "11" }, @@ -537,6 +552,9 @@ struct ConfigInfo image_config[] = { "sokoban_object.xpos", "9" }, { "sokoban_object.ypos", "7" }, { "sokoban_object.frames", "1" }, + { "sokoban_object.EDITOR", "RocksElements.pcx" }, + { "sokoban_object.EDITOR.xpos", "2" }, + { "sokoban_object.EDITOR.ypos", "14" }, { "sokoban_field_empty", "RocksElements.pcx" }, { "sokoban_field_empty.xpos", "10" }, @@ -661,12 +679,18 @@ struct ConfigInfo image_config[] = { "dynamite.xpos", "0" }, { "dynamite.ypos", "3" }, { "dynamite.frames", "1" }, + { "dynamite.EDITOR", "RocksElements.pcx" }, + { "dynamite.EDITOR.xpos", "0" }, + { "dynamite.EDITOR.ypos", "14" }, { "dynamite.active", "RocksElements.pcx" }, { "dynamite.active.xpos", "1" }, { "dynamite.active.ypos", "3" }, { "dynamite.active.frames", "7" }, { "dynamite.active.delay", "12" }, { "dynamite.active.mode_linear", "true" }, + { "dynamite.active.EDITOR", "RocksElements.pcx" }, + { "dynamite.active.EDITOR.xpos", "1" }, + { "dynamite.active.EDITOR.ypos", "14" }, { "wall_emerald", "RocksElements.pcx" }, { "wall_emerald.xpos", "4" }, @@ -806,6 +830,9 @@ struct ConfigInfo image_config[] = { "quicksand_full.xpos", "3" }, { "quicksand_full.ypos", "0" }, { "quicksand_full.frames", "1" }, + { "quicksand_full.EDITOR", "RocksElements.pcx" }, + { "quicksand_full.EDITOR.xpos", "3" }, + { "quicksand_full.EDITOR.ypos", "14" }, { "quicksand_emptying", "RocksElements.pcx" }, { "quicksand_emptying.xpos", "3" }, { "quicksand_emptying.ypos", "0" }, @@ -945,18 +972,30 @@ struct ConfigInfo image_config[] = { "em_gate1_gray.xpos", "4" }, { "em_gate1_gray.ypos", "7" }, { "em_gate1_gray.frames", "1" }, + { "em_gate1_gray.EDITOR", "RocksSP.pcx" }, + { "em_gate1_gray.EDITOR.xpos", "12" }, + { "em_gate1_gray.EDITOR.ypos", "11" }, { "em_gate2_gray", "RocksSP.pcx" }, { "em_gate2_gray.xpos", "5" }, { "em_gate2_gray.ypos", "7" }, { "em_gate2_gray.frames", "1" }, + { "em_gate2_gray.EDITOR", "RocksSP.pcx" }, + { "em_gate2_gray.EDITOR.xpos", "13" }, + { "em_gate2_gray.EDITOR.ypos", "11" }, { "em_gate3_gray", "RocksSP.pcx" }, { "em_gate3_gray.xpos", "6" }, { "em_gate3_gray.ypos", "7" }, { "em_gate3_gray.frames", "1" }, + { "em_gate3_gray.EDITOR", "RocksSP.pcx" }, + { "em_gate3_gray.EDITOR.xpos", "14" }, + { "em_gate3_gray.EDITOR.ypos", "11" }, { "em_gate4_gray", "RocksSP.pcx" }, { "em_gate4_gray.xpos", "7" }, { "em_gate4_gray.ypos", "7" }, { "em_gate4_gray.frames", "1" }, + { "em_gate4_gray.EDITOR", "RocksSP.pcx" }, + { "em_gate4_gray.EDITOR.xpos", "15" }, + { "em_gate4_gray.EDITOR.ypos", "11" }, { "exit_closed", "RocksElements.pcx" }, { "exit_closed.xpos", "0" }, @@ -1075,6 +1114,9 @@ struct ConfigInfo image_config[] = { "invisible_steelwall.xpos", "3" }, { "invisible_steelwall.ypos", "5" }, { "invisible_steelwall.frames", "1" }, + { "invisible_steelwall.EDITOR", "RocksSP.pcx" }, + { "invisible_steelwall.EDITOR.xpos", "1" }, + { "invisible_steelwall.EDITOR.ypos", "5" }, { "invisible_steelwall.active", "RocksSP.pcx" }, { "invisible_steelwall.active.xpos", "1" }, { "invisible_steelwall.active.ypos", "5" }, @@ -1084,6 +1126,9 @@ struct ConfigInfo image_config[] = { "invisible_wall.xpos", "7" }, { "invisible_wall.ypos", "5" }, { "invisible_wall.frames", "1" }, + { "invisible_wall.EDITOR", "RocksSP.pcx" }, + { "invisible_wall.EDITOR.xpos", "5" }, + { "invisible_wall.EDITOR.ypos", "5" }, { "invisible_wall.active", "RocksSP.pcx" }, { "invisible_wall.active.xpos", "5" }, { "invisible_wall.active.ypos", "5" }, @@ -1093,6 +1138,9 @@ struct ConfigInfo image_config[] = { "invisible_sand.xpos", "6" }, { "invisible_sand.ypos", "5" }, { "invisible_sand.frames", "1" }, + { "invisible_sand.EDITOR", "RocksSP.pcx" }, + { "invisible_sand.EDITOR.xpos", "2" }, + { "invisible_sand.EDITOR.ypos", "5" }, { "invisible_sand.active", "RocksSP.pcx" }, { "invisible_sand.active.xpos", "2" }, { "invisible_sand.active.ypos", "5" }, @@ -1485,18 +1533,30 @@ struct ConfigInfo image_config[] = { "key1.xpos", "4" }, { "key1.ypos", "1" }, { "key1.frames", "1" }, + { "key1.EDITOR", "RocksElements.pcx" }, + { "key1.EDITOR.xpos", "4" }, + { "key1.EDITOR.ypos", "14" }, { "key2", "RocksElements.pcx" }, { "key2.xpos", "5" }, { "key2.ypos", "1" }, { "key2.frames", "1" }, + { "key2.EDITOR", "RocksElements.pcx" }, + { "key2.EDITOR.xpos", "5" }, + { "key2.EDITOR.ypos", "14" }, { "key3", "RocksElements.pcx" }, { "key3.xpos", "6" }, { "key3.ypos", "1" }, { "key3.frames", "1" }, + { "key3.EDITOR", "RocksElements.pcx" }, + { "key3.EDITOR.xpos", "6" }, + { "key3.EDITOR.ypos", "14" }, { "key4", "RocksElements.pcx" }, { "key4.xpos", "7" }, { "key4.ypos", "1" }, { "key4.frames", "1" }, + { "key4.EDITOR", "RocksElements.pcx" }, + { "key4.EDITOR.xpos", "7" }, + { "key4.EDITOR.ypos", "14" }, { "gate1", "RocksElements.pcx" }, { "gate1.xpos", "4" }, @@ -1518,18 +1578,30 @@ struct ConfigInfo image_config[] = { "gate1_gray.xpos", "8" }, { "gate1_gray.ypos", "2" }, { "gate1_gray.frames", "1" }, + { "gate1_gray.EDITOR", "RocksElements.pcx" }, + { "gate1_gray.EDITOR.xpos", "8" }, + { "gate1_gray.EDITOR.ypos", "14" }, { "gate2_gray", "RocksElements.pcx" }, { "gate2_gray.xpos", "9" }, { "gate2_gray.ypos", "2" }, { "gate2_gray.frames", "1" }, + { "gate2_gray.EDITOR", "RocksElements.pcx" }, + { "gate2_gray.EDITOR.xpos", "9" }, + { "gate2_gray.EDITOR.ypos", "14" }, { "gate3_gray", "RocksElements.pcx" }, { "gate3_gray.xpos", "10" }, { "gate3_gray.ypos", "2" }, { "gate3_gray.frames", "1" }, + { "gate3_gray.EDITOR", "RocksElements.pcx" }, + { "gate3_gray.EDITOR.xpos", "10" }, + { "gate3_gray.EDITOR.ypos", "14" }, { "gate4_gray", "RocksElements.pcx" }, { "gate4_gray.xpos", "11" }, { "gate4_gray.ypos", "2" }, { "gate4_gray.frames", "1" }, + { "gate4_gray.EDITOR", "RocksElements.pcx" }, + { "gate4_gray.EDITOR.xpos", "11" }, + { "gate4_gray.EDITOR.ypos", "14" }, { "gameoflife", "RocksElements.pcx" }, { "gameoflife.xpos", "8" }, @@ -1574,6 +1646,9 @@ struct ConfigInfo image_config[] = { "lamp.xpos", "0" }, { "lamp.ypos", "7" }, { "lamp.frames", "1" }, + { "lamp.EDITOR", "RocksElements.pcx" }, + { "lamp.EDITOR.xpos", "2" }, + { "lamp.EDITOR.ypos", "14" }, { "lamp.active", "RocksElements.pcx" }, { "lamp.active.xpos", "1" }, { "lamp.active.ypos", "7" }, @@ -1656,14 +1731,23 @@ struct ConfigInfo image_config[] = { "wall_growing_xy.xpos", "4" }, { "wall_growing_xy.ypos", "9" }, { "wall_growing_xy.frames", "1" }, + { "wall_growing_xy.EDITOR", "RocksElements.pcx" }, + { "wall_growing_xy.EDITOR.xpos", "12" }, + { "wall_growing_xy.EDITOR.ypos", "13" }, { "wall_growing_x", "RocksElements.pcx" }, { "wall_growing_x.xpos", "5" }, { "wall_growing_x.ypos", "9" }, { "wall_growing_x.frames", "1" }, + { "wall_growing_x.EDITOR", "RocksElements.pcx" }, + { "wall_growing_x.EDITOR.xpos", "13" }, + { "wall_growing_x.EDITOR.ypos", "13" }, { "wall_growing_y", "RocksElements.pcx" }, { "wall_growing_y.xpos", "6" }, { "wall_growing_y.ypos", "9" }, { "wall_growing_y.frames", "1" }, + { "wall_growing_y.EDITOR", "RocksElements.pcx" }, + { "wall_growing_y.EDITOR.xpos", "14" }, + { "wall_growing_y.EDITOR.ypos", "13" }, { "wall_growing.active.left", "RocksElements.pcx" }, { "wall_growing.active.left.xpos", "8" }, @@ -1932,6 +2016,9 @@ struct ConfigInfo image_config[] = { "penguin.xpos", "8" }, { "penguin.ypos", "6" }, { "penguin.frames", "1" }, + { "penguin.EDITOR", "RocksElements.pcx" }, + { "penguin.EDITOR.xpos", "12" }, + { "penguin.EDITOR.ypos", "14" }, { "penguin.down", "RocksHeroes.pcx" }, { "penguin.down.xpos", "8" }, { "penguin.down.ypos", "6" }, @@ -2056,6 +2143,9 @@ struct ConfigInfo image_config[] = { "player1.xpos", "0" }, { "player1.ypos", "0" }, { "player1.frames", "1" }, + { "player1.EDITOR", "RocksElements.pcx" }, + { "player1.EDITOR.xpos", "4" }, + { "player1.EDITOR.ypos", "7" }, { "player1.down", "RocksHeroes.pcx" }, { "player1.down.xpos", "0" }, { "player1.down.ypos", "0" }, @@ -2153,6 +2243,9 @@ struct ConfigInfo image_config[] = { "player2.xpos", "0" }, { "player2.ypos", "3" }, { "player2.frames", "1" }, + { "player2.EDITOR", "RocksElements.pcx" }, + { "player2.EDITOR.xpos", "5" }, + { "player2.EDITOR.ypos", "7" }, { "player2.down", "RocksHeroes.pcx" }, { "player2.down.xpos", "0" }, { "player2.down.ypos", "3" }, @@ -2238,6 +2331,9 @@ struct ConfigInfo image_config[] = { "player3.xpos", "0" }, { "player3.ypos", "6" }, { "player3.frames", "1" }, + { "player3.EDITOR", "RocksElements.pcx" }, + { "player3.EDITOR.xpos", "6" }, + { "player3.EDITOR.ypos", "7" }, { "player3.down", "RocksHeroes.pcx" }, { "player3.down.xpos", "0" }, { "player3.down.ypos", "6" }, @@ -2323,6 +2419,9 @@ struct ConfigInfo image_config[] = { "player4.xpos", "0" }, { "player4.ypos", "9" }, { "player4.frames", "1" }, + { "player4.EDITOR", "RocksElements.pcx" }, + { "player4.EDITOR.xpos", "7" }, + { "player4.EDITOR.ypos", "7" }, { "player4.down", "RocksHeroes.pcx" }, { "player4.down.xpos", "0" }, { "player4.down.ypos", "9" }, diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 8f677fa0..b285f733 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -19,761 +19,794 @@ /* 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_EDITOR 15 -#define IMG_BD_BUTTERFLY 16 -#define IMG_BD_BUTTERFLY_RIGHT 17 -#define IMG_BD_BUTTERFLY_UP 18 -#define IMG_BD_BUTTERFLY_LEFT 19 -#define IMG_BD_BUTTERFLY_DOWN 20 -#define IMG_BD_BUTTERFLY_MOVING 21 -#define IMG_BD_FIREFLY 22 -#define IMG_BD_FIREFLY_RIGHT 23 -#define IMG_BD_FIREFLY_UP 24 -#define IMG_BD_FIREFLY_LEFT 25 -#define IMG_BD_FIREFLY_DOWN 26 -#define IMG_BD_FIREFLY_MOVING 27 -#define IMG_SP_EMPTY_SPACE 28 -#define IMG_SP_ZONK 29 -#define IMG_SP_ZONK_FALLING 30 -#define IMG_SP_ZONK_MOVING_LEFT 31 -#define IMG_SP_ZONK_MOVING_RIGHT 32 -#define IMG_SP_BASE 33 -#define IMG_SP_MURPHY 34 -#define IMG_SP_MURPHY_LEFT 35 -#define IMG_SP_MURPHY_RIGHT 36 -#define IMG_SP_MURPHY_UP 37 -#define IMG_SP_MURPHY_DOWN 38 -#define IMG_SP_MURPHY_MOVING_LEFT 39 -#define IMG_SP_MURPHY_MOVING_RIGHT 40 -#define IMG_SP_MURPHY_DIGGING_LEFT 41 -#define IMG_SP_MURPHY_DIGGING_RIGHT 42 -#define IMG_SP_MURPHY_PUSHING_LEFT 43 -#define IMG_SP_MURPHY_PUSHING_RIGHT 44 -#define IMG_SP_MURPHY_SNAPPING_LEFT 45 -#define IMG_SP_MURPHY_SNAPPING_RIGHT 46 -#define IMG_SP_MURPHY_SNAPPING_UP 47 -#define IMG_SP_MURPHY_SNAPPING_DOWN 48 -#define IMG_SP_MURPHY_CLONE 49 -#define IMG_SP_INFOTRON 50 -#define IMG_SP_INFOTRON_FALLING 51 -#define IMG_SP_CHIP_SINGLE 52 -#define IMG_SP_CHIP_LEFT 53 -#define IMG_SP_CHIP_RIGHT 54 -#define IMG_SP_CHIP_UPPER 55 -#define IMG_SP_CHIP_LOWER 56 -#define IMG_SP_HARD_GRAY 57 -#define IMG_SP_HARD_GREEN 58 -#define IMG_SP_HARD_BLUE 59 -#define IMG_SP_HARD_RED 60 -#define IMG_SP_HARD_YELLOW 61 -#define IMG_SP_EXIT_CLOSED 62 -#define IMG_SP_EXIT_OPEN 63 -#define IMG_SP_DISK_ORANGE 64 -#define IMG_SP_DISK_ORANGE_FALLING 65 -#define IMG_SP_DISK_ORANGE_PUSHING 66 -#define IMG_SP_DISK_YELLOW 67 -#define IMG_SP_DISK_YELLOW_PUSHING 68 -#define IMG_SP_DISK_RED 69 -#define IMG_SP_DISK_RED_COLLECTING 70 -#define IMG_SP_PORT1_RIGHT 71 -#define IMG_SP_PORT1_DOWN 72 -#define IMG_SP_PORT1_LEFT 73 -#define IMG_SP_PORT1_UP 74 -#define IMG_SP_PORT2_RIGHT 75 -#define IMG_SP_PORT2_DOWN 76 -#define IMG_SP_PORT2_LEFT 77 -#define IMG_SP_PORT2_UP 78 -#define IMG_SP_PORT_X 79 -#define IMG_SP_PORT_Y 80 -#define IMG_SP_PORT_XY 81 -#define IMG_SP_SNIKSNAK 82 -#define IMG_SP_SNIKSNAK_LEFT 83 -#define IMG_SP_SNIKSNAK_RIGHT 84 -#define IMG_SP_SNIKSNAK_UP 85 -#define IMG_SP_SNIKSNAK_DOWN 86 -#define IMG_SP_ELECTRON 87 -#define IMG_SP_TERMINAL 88 -#define IMG_SP_TERMINAL_ACTIVE 89 -#define IMG_SP_BUGGY_BASE 90 -#define IMG_SP_BUGGY_BASE_ACTIVATING 91 -#define IMG_SP_BUGGY_BASE_ACTIVE 92 -#define IMG_SP_HARD_BASE1 93 -#define IMG_SP_HARD_BASE2 94 -#define IMG_SP_HARD_BASE3 95 -#define IMG_SP_HARD_BASE4 96 -#define IMG_SP_HARD_BASE5 97 -#define IMG_SP_HARD_BASE6 98 -#define IMG_SP_EXPLOSION 99 -#define IMG_SP_EXPLOSION_INFOTRON 100 -#define IMG_SOKOBAN_OBJECT 101 -#define IMG_SOKOBAN_FIELD_EMPTY 102 -#define IMG_SOKOBAN_FIELD_FULL 103 -#define IMG_EMPTY_SPACE 104 -#define IMG_SAND 105 -#define IMG_SAND_CRUMBLED 106 -#define IMG_WALL 107 -#define IMG_WALL_CRUMBLED 108 -#define IMG_STEELWALL 109 -#define IMG_ROCK 110 -#define IMG_ROCK_FALLING 111 -#define IMG_ROCK_MOVING_LEFT 112 -#define IMG_ROCK_MOVING_RIGHT 113 -#define IMG_EMERALD 114 -#define IMG_EMERALD_MOVING 115 -#define IMG_EMERALD_FALLING 116 -#define IMG_DIAMOND 117 -#define IMG_DIAMOND_MOVING 118 -#define IMG_DIAMOND_FALLING 119 -#define IMG_BOMB 120 -#define IMG_NUT 121 -#define IMG_NUT_FALLING 122 -#define IMG_NUT_MOVING_LEFT 123 -#define IMG_NUT_MOVING_RIGHT 124 -#define IMG_NUT_CRACKING 125 -#define IMG_DYNAMITE 126 -#define IMG_DYNAMITE_ACTIVE 127 -#define IMG_WALL_EMERALD 128 -#define IMG_WALL_DIAMOND 129 -#define IMG_BUG_RIGHT 130 -#define IMG_BUG_UP 131 -#define IMG_BUG_LEFT 132 -#define IMG_BUG_DOWN 133 -#define IMG_SPACESHIP_RIGHT 134 -#define IMG_SPACESHIP_UP 135 -#define IMG_SPACESHIP_LEFT 136 -#define IMG_SPACESHIP_DOWN 137 -#define IMG_YAMYAM 138 -#define IMG_YAMYAM_MOVING 139 -#define IMG_ROBOT 140 -#define IMG_ROBOT_MOVING 141 -#define IMG_ROBOT_WHEEL 142 -#define IMG_ROBOT_WHEEL_ACTIVE 143 -#define IMG_MAGIC_WALL 144 -#define IMG_MAGIC_WALL_ACTIVE 145 -#define IMG_MAGIC_WALL_FILLING 146 -#define IMG_MAGIC_WALL_FULL 147 -#define IMG_MAGIC_WALL_EMPTYING 148 -#define IMG_MAGIC_WALL_DEAD 149 -#define IMG_QUICKSAND_EMPTY 150 -#define IMG_QUICKSAND_FILLING 151 -#define IMG_QUICKSAND_FULL 152 -#define IMG_QUICKSAND_EMPTYING 153 -#define IMG_ACIDPOOL_TOPLEFT 154 -#define IMG_ACIDPOOL_TOPRIGHT 155 -#define IMG_ACIDPOOL_BOTTOMLEFT 156 -#define IMG_ACIDPOOL_BOTTOM 157 -#define IMG_ACIDPOOL_BOTTOMRIGHT 158 -#define IMG_ACID 159 -#define IMG_ACID_SPLASH_LEFT 160 -#define IMG_ACID_SPLASH_RIGHT 161 -#define IMG_AMOEBA_DROP 162 -#define IMG_AMOEBA_CREATING 163 -#define IMG_AMOEBA_SHRINKING 164 -#define IMG_AMOEBA_WET 165 -#define IMG_AMOEBA_WET_EDITOR 166 -#define IMG_AMOEBA_DRIPPING 167 -#define IMG_AMOEBA_DRY 168 -#define IMG_AMOEBA_FULL 169 -#define IMG_AMOEBA_FULL_EDITOR 170 -#define IMG_AMOEBA_DEAD 171 -#define IMG_AMOEBA_DEAD_EDITOR 172 -#define IMG_EM_KEY1 173 -#define IMG_EM_KEY2 174 -#define IMG_EM_KEY3 175 -#define IMG_EM_KEY4 176 -#define IMG_EM_GATE1 177 -#define IMG_EM_GATE2 178 -#define IMG_EM_GATE3 179 -#define IMG_EM_GATE4 180 -#define IMG_EM_GATE1_GRAY 181 -#define IMG_EM_GATE2_GRAY 182 -#define IMG_EM_GATE3_GRAY 183 -#define IMG_EM_GATE4_GRAY 184 -#define IMG_EXIT_CLOSED 185 -#define IMG_EXIT_OPENING 186 -#define IMG_EXIT_OPEN 187 -#define IMG_BALLOON 188 -#define IMG_BALLOON_MOVING 189 -#define IMG_BALLOON_SEND_LEFT 190 -#define IMG_BALLOON_SEND_RIGHT 191 -#define IMG_BALLOON_SEND_UP 192 -#define IMG_BALLOON_SEND_DOWN 193 -#define IMG_BALLOON_SEND_ANY_DIRECTION 194 -#define IMG_SPRING 195 -#define IMG_SPRING_MOVING 196 -#define IMG_EMC_STEELWALL1 197 -#define IMG_EMC_STEELWALL2 198 -#define IMG_EMC_STEELWALL3 199 -#define IMG_EMC_STEELWALL4 200 -#define IMG_EMC_WALL_PILLAR_UPPER 201 -#define IMG_EMC_WALL_PILLAR_MIDDLE 202 -#define IMG_EMC_WALL_PILLAR_LOWER 203 -#define IMG_EMC_WALL4 204 -#define IMG_EMC_WALL5 205 -#define IMG_EMC_WALL6 206 -#define IMG_EMC_WALL7 207 -#define IMG_EMC_WALL8 208 -#define IMG_INVISIBLE_STEELWALL 209 -#define IMG_INVISIBLE_STEELWALL_ACTIVE 210 -#define IMG_INVISIBLE_WALL 211 -#define IMG_INVISIBLE_WALL_ACTIVE 212 -#define IMG_INVISIBLE_SAND 213 -#define IMG_INVISIBLE_SAND_ACTIVE 214 -#define IMG_CONVEYOR_BELT1_MIDDLE 215 -#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE 216 -#define IMG_CONVEYOR_BELT1_LEFT 217 -#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE 218 -#define IMG_CONVEYOR_BELT1_RIGHT 219 -#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE 220 -#define IMG_CONVEYOR_BELT1_SWITCH_LEFT 221 -#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE 222 -#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT 223 -#define IMG_CONVEYOR_BELT2_MIDDLE 224 -#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE 225 -#define IMG_CONVEYOR_BELT2_LEFT 226 -#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE 227 -#define IMG_CONVEYOR_BELT2_RIGHT 228 -#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE 229 -#define IMG_CONVEYOR_BELT2_SWITCH_LEFT 230 -#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE 231 -#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT 232 -#define IMG_CONVEYOR_BELT3_MIDDLE 233 -#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE 234 -#define IMG_CONVEYOR_BELT3_LEFT 235 -#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE 236 -#define IMG_CONVEYOR_BELT3_RIGHT 237 -#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE 238 -#define IMG_CONVEYOR_BELT3_SWITCH_LEFT 239 -#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE 240 -#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT 241 -#define IMG_CONVEYOR_BELT4_MIDDLE 242 -#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE 243 -#define IMG_CONVEYOR_BELT4_LEFT 244 -#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE 245 -#define IMG_CONVEYOR_BELT4_RIGHT 246 -#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE 247 -#define IMG_CONVEYOR_BELT4_SWITCH_LEFT 248 -#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE 249 -#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT 250 -#define IMG_SWITCHGATE_SWITCH_UP 251 -#define IMG_SWITCHGATE_SWITCH_DOWN 252 -#define IMG_LIGHT_SWITCH 253 -#define IMG_LIGHT_SWITCH_ACTIVE 254 -#define IMG_TIMEGATE_SWITCH 255 -#define IMG_TIMEGATE_SWITCH_ACTIVE 256 -#define IMG_ENVELOPE 257 -#define IMG_SIGN_EXCLAMATION 258 -#define IMG_SIGN_STOP 259 -#define IMG_LANDMINE 260 -#define IMG_STEELWALL_SLANTED 261 -#define IMG_EXTRA_TIME 262 -#define IMG_SHIELD_NORMAL 263 -#define IMG_SHIELD_NORMAL_ACTIVE 264 -#define IMG_SHIELD_DEADLY 265 -#define IMG_SHIELD_DEADLY_ACTIVE 266 -#define IMG_SWITCHGATE_CLOSED 267 -#define IMG_SWITCHGATE_OPENING 268 -#define IMG_SWITCHGATE_OPEN 269 -#define IMG_SWITCHGATE_CLOSING 270 -#define IMG_TIMEGATE_CLOSED 271 -#define IMG_TIMEGATE_OPENING 272 -#define IMG_TIMEGATE_OPEN 273 -#define IMG_TIMEGATE_CLOSING 274 -#define IMG_PEARL 275 -#define IMG_PEARL_BREAKING 276 -#define IMG_CRYSTAL 277 -#define IMG_WALL_PEARL 278 -#define IMG_WALL_CRYSTAL 279 -#define IMG_TUBE_RIGHT_DOWN 280 -#define IMG_TUBE_HORIZONTAL_DOWN 281 -#define IMG_TUBE_LEFT_DOWN 282 -#define IMG_TUBE_HORIZONTAL 283 -#define IMG_TUBE_VERTICAL_RIGHT 284 -#define IMG_TUBE_ALL 285 -#define IMG_TUBE_VERTICAL_LEFT 286 -#define IMG_TUBE_VERTICAL 287 -#define IMG_TUBE_RIGHT_UP 288 -#define IMG_TUBE_HORIZONTAL_UP 289 -#define IMG_TUBE_LEFT_UP 290 -#define IMG_TRAP 291 -#define IMG_TRAP_ACTIVE 292 -#define IMG_DX_SUPABOMB 293 -#define IMG_KEY1 294 -#define IMG_KEY2 295 -#define IMG_KEY3 296 -#define IMG_KEY4 297 -#define IMG_GATE1 298 -#define IMG_GATE2 299 -#define IMG_GATE3 300 -#define IMG_GATE4 301 -#define IMG_GATE1_GRAY 302 -#define IMG_GATE2_GRAY 303 -#define IMG_GATE3_GRAY 304 -#define IMG_GATE4_GRAY 305 -#define IMG_GAMEOFLIFE 306 -#define IMG_BIOMAZE 307 -#define IMG_PACMAN_RIGHT 308 -#define IMG_PACMAN_UP 309 -#define IMG_PACMAN_LEFT 310 -#define IMG_PACMAN_DOWN 311 -#define IMG_LAMP 312 -#define IMG_LAMP_ACTIVE 313 -#define IMG_TIME_ORB_FULL 314 -#define IMG_TIME_ORB_EMPTY 315 -#define IMG_EMERALD_YELLOW 316 -#define IMG_EMERALD_YELLOW_MOVING 317 -#define IMG_EMERALD_YELLOW_FALLING 318 -#define IMG_EMERALD_RED 319 -#define IMG_EMERALD_RED_MOVING 320 -#define IMG_EMERALD_RED_FALLING 321 -#define IMG_EMERALD_PURPLE 322 -#define IMG_EMERALD_PURPLE_MOVING 323 -#define IMG_EMERALD_PURPLE_FALLING 324 -#define IMG_WALL_EMERALD_YELLOW 325 -#define IMG_WALL_EMERALD_RED 326 -#define IMG_WALL_EMERALD_PURPLE 327 -#define IMG_WALL_BD_DIAMOND 328 -#define IMG_WALL_GROWING 329 -#define IMG_WALL_GROWING_XY 330 -#define IMG_WALL_GROWING_X 331 -#define IMG_WALL_GROWING_Y 332 -#define IMG_WALL_GROWING_ACTIVE_LEFT 333 -#define IMG_WALL_GROWING_ACTIVE_RIGHT 334 -#define IMG_WALL_GROWING_ACTIVE_UP 335 -#define IMG_WALL_GROWING_ACTIVE_DOWN 336 -#define IMG_BLACK_ORB 337 -#define IMG_SPEED_PILL 338 -#define IMG_DARK_YAMYAM 339 -#define IMG_DYNABOMB_ACTIVE 340 -#define IMG_DYNABOMB_PLAYER1_ACTIVE 341 -#define IMG_DYNABOMB_PLAYER2_ACTIVE 342 -#define IMG_DYNABOMB_PLAYER3_ACTIVE 343 -#define IMG_DYNABOMB_PLAYER4_ACTIVE 344 -#define IMG_DYNABOMB_NR 345 -#define IMG_DYNABOMB_SZ 346 -#define IMG_DYNABOMB_XL 347 -#define IMG_PIG 348 -#define IMG_PIG_DOWN 349 -#define IMG_PIG_UP 350 -#define IMG_PIG_LEFT 351 -#define IMG_PIG_RIGHT 352 -#define IMG_PIG_MOVING_DOWN 353 -#define IMG_PIG_MOVING_UP 354 -#define IMG_PIG_MOVING_LEFT 355 -#define IMG_PIG_MOVING_RIGHT 356 -#define IMG_PIG_EATING_DOWN 357 -#define IMG_PIG_EATING_UP 358 -#define IMG_PIG_EATING_LEFT 359 -#define IMG_PIG_EATING_RIGHT 360 -#define IMG_DRAGON 361 -#define IMG_DRAGON_DOWN 362 -#define IMG_DRAGON_UP 363 -#define IMG_DRAGON_LEFT 364 -#define IMG_DRAGON_RIGHT 365 -#define IMG_DRAGON_MOVING_DOWN 366 -#define IMG_DRAGON_MOVING_UP 367 -#define IMG_DRAGON_MOVING_LEFT 368 -#define IMG_DRAGON_MOVING_RIGHT 369 -#define IMG_DRAGON_ATTACKING_DOWN 370 -#define IMG_DRAGON_ATTACKING_UP 371 -#define IMG_DRAGON_ATTACKING_LEFT 372 -#define IMG_DRAGON_ATTACKING_RIGHT 373 -#define IMG_MOLE 374 -#define IMG_MOLE_DOWN 375 -#define IMG_MOLE_UP 376 -#define IMG_MOLE_LEFT 377 -#define IMG_MOLE_RIGHT 378 -#define IMG_MOLE_MOVING_DOWN 379 -#define IMG_MOLE_MOVING_UP 380 -#define IMG_MOLE_MOVING_LEFT 381 -#define IMG_MOLE_MOVING_RIGHT 382 -#define IMG_MOLE_DIGGING_DOWN 383 -#define IMG_MOLE_DIGGING_UP 384 -#define IMG_MOLE_DIGGING_LEFT 385 -#define IMG_MOLE_DIGGING_RIGHT 386 -#define IMG_PENGUIN 387 -#define IMG_PENGUIN_DOWN 388 -#define IMG_PENGUIN_UP 389 -#define IMG_PENGUIN_LEFT 390 -#define IMG_PENGUIN_RIGHT 391 -#define IMG_PENGUIN_MOVING_DOWN 392 -#define IMG_PENGUIN_MOVING_UP 393 -#define IMG_PENGUIN_MOVING_LEFT 394 -#define IMG_PENGUIN_MOVING_RIGHT 395 -#define IMG_SATELLITE 396 -#define IMG_SATELLITE_MOVING 397 -#define IMG_FLAMES1_LEFT 398 -#define IMG_FLAMES2_LEFT 399 -#define IMG_FLAMES3_LEFT 400 -#define IMG_FLAMES1_RIGHT 401 -#define IMG_FLAMES2_RIGHT 402 -#define IMG_FLAMES3_RIGHT 403 -#define IMG_FLAMES1_UP 404 -#define IMG_FLAMES2_UP 405 -#define IMG_FLAMES3_UP 406 -#define IMG_FLAMES1_DOWN 407 -#define IMG_FLAMES2_DOWN 408 -#define IMG_FLAMES3_DOWN 409 -#define IMG_STONEBLOCK 410 -#define IMG_PLAYER1 411 -#define IMG_PLAYER1_DOWN 412 -#define IMG_PLAYER1_UP 413 -#define IMG_PLAYER1_LEFT 414 -#define IMG_PLAYER1_RIGHT 415 -#define IMG_PLAYER1_MOVING_DOWN 416 -#define IMG_PLAYER1_MOVING_UP 417 -#define IMG_PLAYER1_MOVING_LEFT 418 -#define IMG_PLAYER1_MOVING_RIGHT 419 -#define IMG_PLAYER1_DIGGING_DOWN 420 -#define IMG_PLAYER1_DIGGING_UP 421 -#define IMG_PLAYER1_DIGGING_LEFT 422 -#define IMG_PLAYER1_DIGGING_RIGHT 423 -#define IMG_PLAYER1_PUSHING_DOWN 424 -#define IMG_PLAYER1_PUSHING_UP 425 -#define IMG_PLAYER1_PUSHING_LEFT 426 -#define IMG_PLAYER1_PUSHING_RIGHT 427 -#define IMG_PLAYER1_SNAPPING_DOWN 428 -#define IMG_PLAYER1_SNAPPING_UP 429 -#define IMG_PLAYER1_SNAPPING_LEFT 430 -#define IMG_PLAYER1_SNAPPING_RIGHT 431 -#define IMG_PLAYER2 432 -#define IMG_PLAYER2_DOWN 433 -#define IMG_PLAYER2_UP 434 -#define IMG_PLAYER2_LEFT 435 -#define IMG_PLAYER2_RIGHT 436 -#define IMG_PLAYER2_MOVING_DOWN 437 -#define IMG_PLAYER2_MOVING_UP 438 -#define IMG_PLAYER2_MOVING_LEFT 439 -#define IMG_PLAYER2_MOVING_RIGHT 440 -#define IMG_PLAYER2_DIGGING_DOWN 441 -#define IMG_PLAYER2_DIGGING_UP 442 -#define IMG_PLAYER2_DIGGING_LEFT 443 -#define IMG_PLAYER2_DIGGING_RIGHT 444 -#define IMG_PLAYER2_PUSHING_DOWN 445 -#define IMG_PLAYER2_PUSHING_UP 446 -#define IMG_PLAYER2_PUSHING_LEFT 447 -#define IMG_PLAYER2_PUSHING_RIGHT 448 -#define IMG_PLAYER2_SNAPPING_DOWN 449 -#define IMG_PLAYER2_SNAPPING_UP 450 -#define IMG_PLAYER2_SNAPPING_LEFT 451 -#define IMG_PLAYER2_SNAPPING_RIGHT 452 -#define IMG_PLAYER3 453 -#define IMG_PLAYER3_DOWN 454 -#define IMG_PLAYER3_UP 455 -#define IMG_PLAYER3_LEFT 456 -#define IMG_PLAYER3_RIGHT 457 -#define IMG_PLAYER3_MOVING_DOWN 458 -#define IMG_PLAYER3_MOVING_UP 459 -#define IMG_PLAYER3_MOVING_LEFT 460 -#define IMG_PLAYER3_MOVING_RIGHT 461 -#define IMG_PLAYER3_DIGGING_DOWN 462 -#define IMG_PLAYER3_DIGGING_UP 463 -#define IMG_PLAYER3_DIGGING_LEFT 464 -#define IMG_PLAYER3_DIGGING_RIGHT 465 -#define IMG_PLAYER3_PUSHING_DOWN 466 -#define IMG_PLAYER3_PUSHING_UP 467 -#define IMG_PLAYER3_PUSHING_LEFT 468 -#define IMG_PLAYER3_PUSHING_RIGHT 469 -#define IMG_PLAYER3_SNAPPING_DOWN 470 -#define IMG_PLAYER3_SNAPPING_UP 471 -#define IMG_PLAYER3_SNAPPING_LEFT 472 -#define IMG_PLAYER3_SNAPPING_RIGHT 473 -#define IMG_PLAYER4 474 -#define IMG_PLAYER4_DOWN 475 -#define IMG_PLAYER4_UP 476 -#define IMG_PLAYER4_LEFT 477 -#define IMG_PLAYER4_RIGHT 478 -#define IMG_PLAYER4_MOVING_DOWN 479 -#define IMG_PLAYER4_MOVING_UP 480 -#define IMG_PLAYER4_MOVING_LEFT 481 -#define IMG_PLAYER4_MOVING_RIGHT 482 -#define IMG_PLAYER4_DIGGING_DOWN 483 -#define IMG_PLAYER4_DIGGING_UP 484 -#define IMG_PLAYER4_DIGGING_LEFT 485 -#define IMG_PLAYER4_DIGGING_RIGHT 486 -#define IMG_PLAYER4_PUSHING_DOWN 487 -#define IMG_PLAYER4_PUSHING_UP 488 -#define IMG_PLAYER4_PUSHING_LEFT 489 -#define IMG_PLAYER4_PUSHING_RIGHT 490 -#define IMG_PLAYER4_SNAPPING_DOWN 491 -#define IMG_PLAYER4_SNAPPING_UP 492 -#define IMG_PLAYER4_SNAPPING_LEFT 493 -#define IMG_PLAYER4_SNAPPING_RIGHT 494 -#define IMG_EXPLOSION 495 -#define IMG_TWINKLE_BLUE 496 -#define IMG_TWINKLE_WHITE 497 -#define IMG_STEELWALL_TOPLEFT 498 -#define IMG_STEELWALL_TOPRIGHT 499 -#define IMG_STEELWALL_BOTTOMLEFT 500 -#define IMG_STEELWALL_BOTTOMRIGHT 501 -#define IMG_STEELWALL_HORIZONTAL 502 -#define IMG_STEELWALL_VERTICAL 503 -#define IMG_STEELWALL_TOPLEFT_EDITOR 504 -#define IMG_STEELWALL_TOPRIGHT_EDITOR 505 -#define IMG_STEELWALL_BOTTOMLEFT_EDITOR 506 -#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR 507 -#define IMG_STEELWALL_HORIZONTAL_EDITOR 508 -#define IMG_STEELWALL_VERTICAL_EDITOR 509 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT 510 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 511 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 512 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 513 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 514 -#define IMG_INVISIBLE_STEELWALL_VERTICAL 515 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR 516 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR 517 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR 518 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR 519 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR 520 -#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR 521 -#define IMG_ARROW_BLUE_LEFT 522 -#define IMG_ARROW_BLUE_RIGHT 523 -#define IMG_ARROW_BLUE_UP 524 -#define IMG_ARROW_BLUE_DOWN 525 -#define IMG_ARROW_RED_LEFT 526 -#define IMG_ARROW_RED_RIGHT 527 -#define IMG_ARROW_RED_UP 528 -#define IMG_ARROW_RED_DOWN 529 -#define IMG_BALL_RED 530 -#define IMG_BALL_BLUE 531 -#define IMG_BALL_YELLOW 532 -#define IMG_BALL_GRAY 533 -#define IMG_SCROLLBAR_BLUE 534 -#define IMG_SCROLLBAR_RED 535 -#define IMG_SCROLLBAR_GREEN 536 -#define IMG_SCROLLBAR_YELLOW 537 -#define IMG_CHAR_SPACE 538 -#define IMG_CHAR_EXCLAM 539 -#define IMG_CHAR_QUOTEDBL 540 -#define IMG_CHAR_NUMBERSIGN 541 -#define IMG_CHAR_DOLLAR 542 -#define IMG_CHAR_PROCENT 543 -#define IMG_CHAR_AMPERSAND 544 -#define IMG_CHAR_APOSTROPHE 545 -#define IMG_CHAR_PARENLEFT 546 -#define IMG_CHAR_PARENRIGHT 547 -#define IMG_CHAR_ASTERISK 548 -#define IMG_CHAR_PLUS 549 -#define IMG_CHAR_COMMA 550 -#define IMG_CHAR_MINUS 551 -#define IMG_CHAR_PERIOD 552 -#define IMG_CHAR_SLASH 553 -#define IMG_CHAR_0 554 -#define IMG_CHAR_1 555 -#define IMG_CHAR_2 556 -#define IMG_CHAR_3 557 -#define IMG_CHAR_4 558 -#define IMG_CHAR_5 559 -#define IMG_CHAR_6 560 -#define IMG_CHAR_7 561 -#define IMG_CHAR_8 562 -#define IMG_CHAR_9 563 -#define IMG_CHAR_COLON 564 -#define IMG_CHAR_SEMICOLON 565 -#define IMG_CHAR_LESS 566 -#define IMG_CHAR_EQUAL 567 -#define IMG_CHAR_GREATER 568 -#define IMG_CHAR_QUESTION 569 -#define IMG_CHAR_AT 570 -#define IMG_CHAR_A 571 -#define IMG_CHAR_B 572 -#define IMG_CHAR_C 573 -#define IMG_CHAR_D 574 -#define IMG_CHAR_E 575 -#define IMG_CHAR_F 576 -#define IMG_CHAR_G 577 -#define IMG_CHAR_H 578 -#define IMG_CHAR_I 579 -#define IMG_CHAR_J 580 -#define IMG_CHAR_K 581 -#define IMG_CHAR_L 582 -#define IMG_CHAR_M 583 -#define IMG_CHAR_N 584 -#define IMG_CHAR_O 585 -#define IMG_CHAR_P 586 -#define IMG_CHAR_Q 587 -#define IMG_CHAR_R 588 -#define IMG_CHAR_S 589 -#define IMG_CHAR_T 590 -#define IMG_CHAR_U 591 -#define IMG_CHAR_V 592 -#define IMG_CHAR_W 593 -#define IMG_CHAR_X 594 -#define IMG_CHAR_Y 595 -#define IMG_CHAR_Z 596 -#define IMG_CHAR_AE 597 -#define IMG_CHAR_OE 598 -#define IMG_CHAR_UE 599 -#define IMG_CHAR_COPYRIGHT 600 -#define IMG_CHAR_UNDERSCORE 601 -#define IMG_CHAR_EMPTY 602 -#define IMG_CHAR_DEGREE 603 -#define IMG_CHAR_TM 604 -#define IMG_CHAR_CURSOR 605 -#define IMG_CUSTOM_1 606 -#define IMG_CUSTOM_2 607 -#define IMG_CUSTOM_3 608 -#define IMG_CUSTOM_4 609 -#define IMG_CUSTOM_5 610 -#define IMG_CUSTOM_6 611 -#define IMG_CUSTOM_7 612 -#define IMG_CUSTOM_8 613 -#define IMG_CUSTOM_9 614 -#define IMG_CUSTOM_10 615 -#define IMG_CUSTOM_11 616 -#define IMG_CUSTOM_12 617 -#define IMG_CUSTOM_13 618 -#define IMG_CUSTOM_14 619 -#define IMG_CUSTOM_15 620 -#define IMG_CUSTOM_16 621 -#define IMG_CUSTOM_17 622 -#define IMG_CUSTOM_18 623 -#define IMG_CUSTOM_19 624 -#define IMG_CUSTOM_20 625 -#define IMG_CUSTOM_21 626 -#define IMG_CUSTOM_22 627 -#define IMG_CUSTOM_23 628 -#define IMG_CUSTOM_24 629 -#define IMG_CUSTOM_25 630 -#define IMG_CUSTOM_26 631 -#define IMG_CUSTOM_27 632 -#define IMG_CUSTOM_28 633 -#define IMG_CUSTOM_29 634 -#define IMG_CUSTOM_30 635 -#define IMG_CUSTOM_31 636 -#define IMG_CUSTOM_32 637 -#define IMG_CUSTOM_33 638 -#define IMG_CUSTOM_34 639 -#define IMG_CUSTOM_35 640 -#define IMG_CUSTOM_36 641 -#define IMG_CUSTOM_37 642 -#define IMG_CUSTOM_38 643 -#define IMG_CUSTOM_39 644 -#define IMG_CUSTOM_40 645 -#define IMG_CUSTOM_41 646 -#define IMG_CUSTOM_42 647 -#define IMG_CUSTOM_43 648 -#define IMG_CUSTOM_44 649 -#define IMG_CUSTOM_45 650 -#define IMG_CUSTOM_46 651 -#define IMG_CUSTOM_47 652 -#define IMG_CUSTOM_48 653 -#define IMG_CUSTOM_49 654 -#define IMG_CUSTOM_50 655 -#define IMG_CUSTOM_51 656 -#define IMG_CUSTOM_52 657 -#define IMG_CUSTOM_53 658 -#define IMG_CUSTOM_54 659 -#define IMG_CUSTOM_55 660 -#define IMG_CUSTOM_56 661 -#define IMG_CUSTOM_57 662 -#define IMG_CUSTOM_58 663 -#define IMG_CUSTOM_59 664 -#define IMG_CUSTOM_60 665 -#define IMG_CUSTOM_61 666 -#define IMG_CUSTOM_62 667 -#define IMG_CUSTOM_63 668 -#define IMG_CUSTOM_64 669 -#define IMG_CUSTOM_65 670 -#define IMG_CUSTOM_66 671 -#define IMG_CUSTOM_67 672 -#define IMG_CUSTOM_68 673 -#define IMG_CUSTOM_69 674 -#define IMG_CUSTOM_70 675 -#define IMG_CUSTOM_71 676 -#define IMG_CUSTOM_72 677 -#define IMG_CUSTOM_73 678 -#define IMG_CUSTOM_74 679 -#define IMG_CUSTOM_75 680 -#define IMG_CUSTOM_76 681 -#define IMG_CUSTOM_77 682 -#define IMG_CUSTOM_78 683 -#define IMG_CUSTOM_79 684 -#define IMG_CUSTOM_80 685 -#define IMG_CUSTOM_81 686 -#define IMG_CUSTOM_82 687 -#define IMG_CUSTOM_83 688 -#define IMG_CUSTOM_84 689 -#define IMG_CUSTOM_85 690 -#define IMG_CUSTOM_86 691 -#define IMG_CUSTOM_87 692 -#define IMG_CUSTOM_88 693 -#define IMG_CUSTOM_89 694 -#define IMG_CUSTOM_90 695 -#define IMG_CUSTOM_91 696 -#define IMG_CUSTOM_92 697 -#define IMG_CUSTOM_93 698 -#define IMG_CUSTOM_94 699 -#define IMG_CUSTOM_95 700 -#define IMG_CUSTOM_96 701 -#define IMG_CUSTOM_97 702 -#define IMG_CUSTOM_98 703 -#define IMG_CUSTOM_99 704 -#define IMG_CUSTOM_100 705 -#define IMG_CUSTOM_101 706 -#define IMG_CUSTOM_102 707 -#define IMG_CUSTOM_103 708 -#define IMG_CUSTOM_104 709 -#define IMG_CUSTOM_105 710 -#define IMG_CUSTOM_106 711 -#define IMG_CUSTOM_107 712 -#define IMG_CUSTOM_108 713 -#define IMG_CUSTOM_109 714 -#define IMG_CUSTOM_110 715 -#define IMG_CUSTOM_111 716 -#define IMG_CUSTOM_112 717 -#define IMG_CUSTOM_113 718 -#define IMG_CUSTOM_114 719 -#define IMG_CUSTOM_115 720 -#define IMG_CUSTOM_116 721 -#define IMG_CUSTOM_117 722 -#define IMG_CUSTOM_118 723 -#define IMG_CUSTOM_119 724 -#define IMG_CUSTOM_120 725 -#define IMG_CUSTOM_121 726 -#define IMG_CUSTOM_122 727 -#define IMG_CUSTOM_123 728 -#define IMG_CUSTOM_124 729 -#define IMG_CUSTOM_125 730 -#define IMG_CUSTOM_126 731 -#define IMG_CUSTOM_127 732 -#define IMG_CUSTOM_128 733 -#define IMG_GLOBAL_BORDER 734 -#define IMG_GLOBAL_DOOR 735 -#define IMG_GLOBAL_TOONS 736 -#define IMG_FONT_BIG 737 -#define IMG_FONT_MEDIUM 738 -#define IMG_FONT_SMALL 739 -#define IMG_FONT_EM 740 -#define IMG_BACKGROUND_DEFAULT 741 -#define IMG_BACKGROUND_DOOR 742 -#define IMG_BACKGROUND_MAIN 743 -#define IMG_BACKGROUND_LEVEL_SERIES 744 -#define IMG_BACKGROUND_HALL_OF_FAME 745 -#define IMG_BACKGROUND_EDITOR_SETTINGS_LEVEL 746 -#define IMG_BACKGROUND_EDITOR_SETTINGS_ELEMENT 747 -#define IMG_BACKGROUND_INFO 748 -#define IMG_BACKGROUND_SETUP 749 -#define IMG_INFO_FONT_EM_1 750 -#define IMG_INFO_FONT_EM_2 751 -#define IMG_INFO_FONT_EM_3 752 -#define IMG_INFO_FONT_EM_4 753 -#define IMG_INFO_FONT_EM_5 754 +#define IMG_BD_WALL_EDITOR 1 +#define IMG_BD_ROCK 2 +#define IMG_BD_ROCK_EDITOR 3 +#define IMG_BD_ROCK_FALLING 4 +#define IMG_BD_ROCK_MOVING_LEFT 5 +#define IMG_BD_ROCK_MOVING_RIGHT 6 +#define IMG_BD_DIAMOND 7 +#define IMG_BD_DIAMOND_MOVING 8 +#define IMG_BD_DIAMOND_FALLING 9 +#define IMG_BD_MAGIC_WALL 10 +#define IMG_BD_MAGIC_WALL_ACTIVE 11 +#define IMG_BD_MAGIC_WALL_FILLING 12 +#define IMG_BD_MAGIC_WALL_FULL 13 +#define IMG_BD_MAGIC_WALL_EMPTYING 14 +#define IMG_BD_MAGIC_WALL_DEAD 15 +#define IMG_BD_AMOEBA 16 +#define IMG_BD_AMOEBA_EDITOR 17 +#define IMG_BD_BUTTERFLY 18 +#define IMG_BD_BUTTERFLY_RIGHT 19 +#define IMG_BD_BUTTERFLY_UP 20 +#define IMG_BD_BUTTERFLY_LEFT 21 +#define IMG_BD_BUTTERFLY_DOWN 22 +#define IMG_BD_BUTTERFLY_MOVING 23 +#define IMG_BD_FIREFLY 24 +#define IMG_BD_FIREFLY_RIGHT 25 +#define IMG_BD_FIREFLY_UP 26 +#define IMG_BD_FIREFLY_LEFT 27 +#define IMG_BD_FIREFLY_DOWN 28 +#define IMG_BD_FIREFLY_MOVING 29 +#define IMG_SP_EMPTY_SPACE 30 +#define IMG_SP_ZONK 31 +#define IMG_SP_ZONK_FALLING 32 +#define IMG_SP_ZONK_MOVING_LEFT 33 +#define IMG_SP_ZONK_MOVING_RIGHT 34 +#define IMG_SP_BASE 35 +#define IMG_SP_MURPHY 36 +#define IMG_SP_MURPHY_LEFT 37 +#define IMG_SP_MURPHY_RIGHT 38 +#define IMG_SP_MURPHY_UP 39 +#define IMG_SP_MURPHY_DOWN 40 +#define IMG_SP_MURPHY_MOVING_LEFT 41 +#define IMG_SP_MURPHY_MOVING_RIGHT 42 +#define IMG_SP_MURPHY_DIGGING_LEFT 43 +#define IMG_SP_MURPHY_DIGGING_RIGHT 44 +#define IMG_SP_MURPHY_PUSHING_LEFT 45 +#define IMG_SP_MURPHY_PUSHING_RIGHT 46 +#define IMG_SP_MURPHY_SNAPPING_LEFT 47 +#define IMG_SP_MURPHY_SNAPPING_RIGHT 48 +#define IMG_SP_MURPHY_SNAPPING_UP 49 +#define IMG_SP_MURPHY_SNAPPING_DOWN 50 +#define IMG_SP_MURPHY_CLONE 51 +#define IMG_SP_INFOTRON 52 +#define IMG_SP_INFOTRON_EDITOR 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_ELECTRON_EDITOR 91 +#define IMG_SP_TERMINAL 92 +#define IMG_SP_TERMINAL_EDITOR 93 +#define IMG_SP_TERMINAL_ACTIVE 94 +#define IMG_SP_BUGGY_BASE 95 +#define IMG_SP_BUGGY_BASE_ACTIVATING 96 +#define IMG_SP_BUGGY_BASE_ACTIVE 97 +#define IMG_SP_HARD_BASE1 98 +#define IMG_SP_HARD_BASE2 99 +#define IMG_SP_HARD_BASE3 100 +#define IMG_SP_HARD_BASE4 101 +#define IMG_SP_HARD_BASE5 102 +#define IMG_SP_HARD_BASE6 103 +#define IMG_SP_EXPLOSION 104 +#define IMG_SP_EXPLOSION_INFOTRON 105 +#define IMG_SOKOBAN_OBJECT 106 +#define IMG_SOKOBAN_OBJECT_EDITOR 107 +#define IMG_SOKOBAN_FIELD_EMPTY 108 +#define IMG_SOKOBAN_FIELD_FULL 109 +#define IMG_EMPTY_SPACE 110 +#define IMG_SAND 111 +#define IMG_SAND_CRUMBLED 112 +#define IMG_WALL 113 +#define IMG_WALL_CRUMBLED 114 +#define IMG_STEELWALL 115 +#define IMG_ROCK 116 +#define IMG_ROCK_FALLING 117 +#define IMG_ROCK_MOVING_LEFT 118 +#define IMG_ROCK_MOVING_RIGHT 119 +#define IMG_EMERALD 120 +#define IMG_EMERALD_MOVING 121 +#define IMG_EMERALD_FALLING 122 +#define IMG_DIAMOND 123 +#define IMG_DIAMOND_MOVING 124 +#define IMG_DIAMOND_FALLING 125 +#define IMG_BOMB 126 +#define IMG_NUT 127 +#define IMG_NUT_FALLING 128 +#define IMG_NUT_MOVING_LEFT 129 +#define IMG_NUT_MOVING_RIGHT 130 +#define IMG_NUT_CRACKING 131 +#define IMG_DYNAMITE 132 +#define IMG_DYNAMITE_EDITOR 133 +#define IMG_DYNAMITE_ACTIVE 134 +#define IMG_DYNAMITE_ACTIVE_EDITOR 135 +#define IMG_WALL_EMERALD 136 +#define IMG_WALL_DIAMOND 137 +#define IMG_BUG_RIGHT 138 +#define IMG_BUG_UP 139 +#define IMG_BUG_LEFT 140 +#define IMG_BUG_DOWN 141 +#define IMG_SPACESHIP_RIGHT 142 +#define IMG_SPACESHIP_UP 143 +#define IMG_SPACESHIP_LEFT 144 +#define IMG_SPACESHIP_DOWN 145 +#define IMG_YAMYAM 146 +#define IMG_YAMYAM_MOVING 147 +#define IMG_ROBOT 148 +#define IMG_ROBOT_MOVING 149 +#define IMG_ROBOT_WHEEL 150 +#define IMG_ROBOT_WHEEL_ACTIVE 151 +#define IMG_MAGIC_WALL 152 +#define IMG_MAGIC_WALL_ACTIVE 153 +#define IMG_MAGIC_WALL_FILLING 154 +#define IMG_MAGIC_WALL_FULL 155 +#define IMG_MAGIC_WALL_EMPTYING 156 +#define IMG_MAGIC_WALL_DEAD 157 +#define IMG_QUICKSAND_EMPTY 158 +#define IMG_QUICKSAND_FILLING 159 +#define IMG_QUICKSAND_FULL 160 +#define IMG_QUICKSAND_FULL_EDITOR 161 +#define IMG_QUICKSAND_EMPTYING 162 +#define IMG_ACIDPOOL_TOPLEFT 163 +#define IMG_ACIDPOOL_TOPRIGHT 164 +#define IMG_ACIDPOOL_BOTTOMLEFT 165 +#define IMG_ACIDPOOL_BOTTOM 166 +#define IMG_ACIDPOOL_BOTTOMRIGHT 167 +#define IMG_ACID 168 +#define IMG_ACID_SPLASH_LEFT 169 +#define IMG_ACID_SPLASH_RIGHT 170 +#define IMG_AMOEBA_DROP 171 +#define IMG_AMOEBA_CREATING 172 +#define IMG_AMOEBA_SHRINKING 173 +#define IMG_AMOEBA_WET 174 +#define IMG_AMOEBA_WET_EDITOR 175 +#define IMG_AMOEBA_DRIPPING 176 +#define IMG_AMOEBA_DRY 177 +#define IMG_AMOEBA_FULL 178 +#define IMG_AMOEBA_FULL_EDITOR 179 +#define IMG_AMOEBA_DEAD 180 +#define IMG_AMOEBA_DEAD_EDITOR 181 +#define IMG_EM_KEY1 182 +#define IMG_EM_KEY2 183 +#define IMG_EM_KEY3 184 +#define IMG_EM_KEY4 185 +#define IMG_EM_GATE1 186 +#define IMG_EM_GATE2 187 +#define IMG_EM_GATE3 188 +#define IMG_EM_GATE4 189 +#define IMG_EM_GATE1_GRAY 190 +#define IMG_EM_GATE1_GRAY_EDITOR 191 +#define IMG_EM_GATE2_GRAY 192 +#define IMG_EM_GATE2_GRAY_EDITOR 193 +#define IMG_EM_GATE3_GRAY 194 +#define IMG_EM_GATE3_GRAY_EDITOR 195 +#define IMG_EM_GATE4_GRAY 196 +#define IMG_EM_GATE4_GRAY_EDITOR 197 +#define IMG_EXIT_CLOSED 198 +#define IMG_EXIT_OPENING 199 +#define IMG_EXIT_OPEN 200 +#define IMG_BALLOON 201 +#define IMG_BALLOON_MOVING 202 +#define IMG_BALLOON_SEND_LEFT 203 +#define IMG_BALLOON_SEND_RIGHT 204 +#define IMG_BALLOON_SEND_UP 205 +#define IMG_BALLOON_SEND_DOWN 206 +#define IMG_BALLOON_SEND_ANY_DIRECTION 207 +#define IMG_SPRING 208 +#define IMG_SPRING_MOVING 209 +#define IMG_EMC_STEELWALL1 210 +#define IMG_EMC_STEELWALL2 211 +#define IMG_EMC_STEELWALL3 212 +#define IMG_EMC_STEELWALL4 213 +#define IMG_EMC_WALL_PILLAR_UPPER 214 +#define IMG_EMC_WALL_PILLAR_MIDDLE 215 +#define IMG_EMC_WALL_PILLAR_LOWER 216 +#define IMG_EMC_WALL4 217 +#define IMG_EMC_WALL5 218 +#define IMG_EMC_WALL6 219 +#define IMG_EMC_WALL7 220 +#define IMG_EMC_WALL8 221 +#define IMG_INVISIBLE_STEELWALL 222 +#define IMG_INVISIBLE_STEELWALL_EDITOR 223 +#define IMG_INVISIBLE_STEELWALL_ACTIVE 224 +#define IMG_INVISIBLE_WALL 225 +#define IMG_INVISIBLE_WALL_EDITOR 226 +#define IMG_INVISIBLE_WALL_ACTIVE 227 +#define IMG_INVISIBLE_SAND 228 +#define IMG_INVISIBLE_SAND_EDITOR 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_KEY1_EDITOR 311 +#define IMG_KEY2 312 +#define IMG_KEY2_EDITOR 313 +#define IMG_KEY3 314 +#define IMG_KEY3_EDITOR 315 +#define IMG_KEY4 316 +#define IMG_KEY4_EDITOR 317 +#define IMG_GATE1 318 +#define IMG_GATE2 319 +#define IMG_GATE3 320 +#define IMG_GATE4 321 +#define IMG_GATE1_GRAY 322 +#define IMG_GATE1_GRAY_EDITOR 323 +#define IMG_GATE2_GRAY 324 +#define IMG_GATE2_GRAY_EDITOR 325 +#define IMG_GATE3_GRAY 326 +#define IMG_GATE3_GRAY_EDITOR 327 +#define IMG_GATE4_GRAY 328 +#define IMG_GATE4_GRAY_EDITOR 329 +#define IMG_GAMEOFLIFE 330 +#define IMG_BIOMAZE 331 +#define IMG_PACMAN_RIGHT 332 +#define IMG_PACMAN_UP 333 +#define IMG_PACMAN_LEFT 334 +#define IMG_PACMAN_DOWN 335 +#define IMG_LAMP 336 +#define IMG_LAMP_EDITOR 337 +#define IMG_LAMP_ACTIVE 338 +#define IMG_TIME_ORB_FULL 339 +#define IMG_TIME_ORB_EMPTY 340 +#define IMG_EMERALD_YELLOW 341 +#define IMG_EMERALD_YELLOW_MOVING 342 +#define IMG_EMERALD_YELLOW_FALLING 343 +#define IMG_EMERALD_RED 344 +#define IMG_EMERALD_RED_MOVING 345 +#define IMG_EMERALD_RED_FALLING 346 +#define IMG_EMERALD_PURPLE 347 +#define IMG_EMERALD_PURPLE_MOVING 348 +#define IMG_EMERALD_PURPLE_FALLING 349 +#define IMG_WALL_EMERALD_YELLOW 350 +#define IMG_WALL_EMERALD_RED 351 +#define IMG_WALL_EMERALD_PURPLE 352 +#define IMG_WALL_BD_DIAMOND 353 +#define IMG_WALL_GROWING 354 +#define IMG_WALL_GROWING_XY 355 +#define IMG_WALL_GROWING_XY_EDITOR 356 +#define IMG_WALL_GROWING_X 357 +#define IMG_WALL_GROWING_X_EDITOR 358 +#define IMG_WALL_GROWING_Y 359 +#define IMG_WALL_GROWING_Y_EDITOR 360 +#define IMG_WALL_GROWING_ACTIVE_LEFT 361 +#define IMG_WALL_GROWING_ACTIVE_RIGHT 362 +#define IMG_WALL_GROWING_ACTIVE_UP 363 +#define IMG_WALL_GROWING_ACTIVE_DOWN 364 +#define IMG_BLACK_ORB 365 +#define IMG_SPEED_PILL 366 +#define IMG_DARK_YAMYAM 367 +#define IMG_DYNABOMB_ACTIVE 368 +#define IMG_DYNABOMB_PLAYER1_ACTIVE 369 +#define IMG_DYNABOMB_PLAYER2_ACTIVE 370 +#define IMG_DYNABOMB_PLAYER3_ACTIVE 371 +#define IMG_DYNABOMB_PLAYER4_ACTIVE 372 +#define IMG_DYNABOMB_NR 373 +#define IMG_DYNABOMB_SZ 374 +#define IMG_DYNABOMB_XL 375 +#define IMG_PIG 376 +#define IMG_PIG_DOWN 377 +#define IMG_PIG_UP 378 +#define IMG_PIG_LEFT 379 +#define IMG_PIG_RIGHT 380 +#define IMG_PIG_MOVING_DOWN 381 +#define IMG_PIG_MOVING_UP 382 +#define IMG_PIG_MOVING_LEFT 383 +#define IMG_PIG_MOVING_RIGHT 384 +#define IMG_PIG_EATING_DOWN 385 +#define IMG_PIG_EATING_UP 386 +#define IMG_PIG_EATING_LEFT 387 +#define IMG_PIG_EATING_RIGHT 388 +#define IMG_DRAGON 389 +#define IMG_DRAGON_DOWN 390 +#define IMG_DRAGON_UP 391 +#define IMG_DRAGON_LEFT 392 +#define IMG_DRAGON_RIGHT 393 +#define IMG_DRAGON_MOVING_DOWN 394 +#define IMG_DRAGON_MOVING_UP 395 +#define IMG_DRAGON_MOVING_LEFT 396 +#define IMG_DRAGON_MOVING_RIGHT 397 +#define IMG_DRAGON_ATTACKING_DOWN 398 +#define IMG_DRAGON_ATTACKING_UP 399 +#define IMG_DRAGON_ATTACKING_LEFT 400 +#define IMG_DRAGON_ATTACKING_RIGHT 401 +#define IMG_MOLE 402 +#define IMG_MOLE_DOWN 403 +#define IMG_MOLE_UP 404 +#define IMG_MOLE_LEFT 405 +#define IMG_MOLE_RIGHT 406 +#define IMG_MOLE_MOVING_DOWN 407 +#define IMG_MOLE_MOVING_UP 408 +#define IMG_MOLE_MOVING_LEFT 409 +#define IMG_MOLE_MOVING_RIGHT 410 +#define IMG_MOLE_DIGGING_DOWN 411 +#define IMG_MOLE_DIGGING_UP 412 +#define IMG_MOLE_DIGGING_LEFT 413 +#define IMG_MOLE_DIGGING_RIGHT 414 +#define IMG_PENGUIN 415 +#define IMG_PENGUIN_EDITOR 416 +#define IMG_PENGUIN_DOWN 417 +#define IMG_PENGUIN_UP 418 +#define IMG_PENGUIN_LEFT 419 +#define IMG_PENGUIN_RIGHT 420 +#define IMG_PENGUIN_MOVING_DOWN 421 +#define IMG_PENGUIN_MOVING_UP 422 +#define IMG_PENGUIN_MOVING_LEFT 423 +#define IMG_PENGUIN_MOVING_RIGHT 424 +#define IMG_SATELLITE 425 +#define IMG_SATELLITE_MOVING 426 +#define IMG_FLAMES1_LEFT 427 +#define IMG_FLAMES2_LEFT 428 +#define IMG_FLAMES3_LEFT 429 +#define IMG_FLAMES1_RIGHT 430 +#define IMG_FLAMES2_RIGHT 431 +#define IMG_FLAMES3_RIGHT 432 +#define IMG_FLAMES1_UP 433 +#define IMG_FLAMES2_UP 434 +#define IMG_FLAMES3_UP 435 +#define IMG_FLAMES1_DOWN 436 +#define IMG_FLAMES2_DOWN 437 +#define IMG_FLAMES3_DOWN 438 +#define IMG_STONEBLOCK 439 +#define IMG_PLAYER1 440 +#define IMG_PLAYER1_EDITOR 441 +#define IMG_PLAYER1_DOWN 442 +#define IMG_PLAYER1_UP 443 +#define IMG_PLAYER1_LEFT 444 +#define IMG_PLAYER1_RIGHT 445 +#define IMG_PLAYER1_MOVING_DOWN 446 +#define IMG_PLAYER1_MOVING_UP 447 +#define IMG_PLAYER1_MOVING_LEFT 448 +#define IMG_PLAYER1_MOVING_RIGHT 449 +#define IMG_PLAYER1_DIGGING_DOWN 450 +#define IMG_PLAYER1_DIGGING_UP 451 +#define IMG_PLAYER1_DIGGING_LEFT 452 +#define IMG_PLAYER1_DIGGING_RIGHT 453 +#define IMG_PLAYER1_PUSHING_DOWN 454 +#define IMG_PLAYER1_PUSHING_UP 455 +#define IMG_PLAYER1_PUSHING_LEFT 456 +#define IMG_PLAYER1_PUSHING_RIGHT 457 +#define IMG_PLAYER1_SNAPPING_DOWN 458 +#define IMG_PLAYER1_SNAPPING_UP 459 +#define IMG_PLAYER1_SNAPPING_LEFT 460 +#define IMG_PLAYER1_SNAPPING_RIGHT 461 +#define IMG_PLAYER2 462 +#define IMG_PLAYER2_EDITOR 463 +#define IMG_PLAYER2_DOWN 464 +#define IMG_PLAYER2_UP 465 +#define IMG_PLAYER2_LEFT 466 +#define IMG_PLAYER2_RIGHT 467 +#define IMG_PLAYER2_MOVING_DOWN 468 +#define IMG_PLAYER2_MOVING_UP 469 +#define IMG_PLAYER2_MOVING_LEFT 470 +#define IMG_PLAYER2_MOVING_RIGHT 471 +#define IMG_PLAYER2_DIGGING_DOWN 472 +#define IMG_PLAYER2_DIGGING_UP 473 +#define IMG_PLAYER2_DIGGING_LEFT 474 +#define IMG_PLAYER2_DIGGING_RIGHT 475 +#define IMG_PLAYER2_PUSHING_DOWN 476 +#define IMG_PLAYER2_PUSHING_UP 477 +#define IMG_PLAYER2_PUSHING_LEFT 478 +#define IMG_PLAYER2_PUSHING_RIGHT 479 +#define IMG_PLAYER2_SNAPPING_DOWN 480 +#define IMG_PLAYER2_SNAPPING_UP 481 +#define IMG_PLAYER2_SNAPPING_LEFT 482 +#define IMG_PLAYER2_SNAPPING_RIGHT 483 +#define IMG_PLAYER3 484 +#define IMG_PLAYER3_EDITOR 485 +#define IMG_PLAYER3_DOWN 486 +#define IMG_PLAYER3_UP 487 +#define IMG_PLAYER3_LEFT 488 +#define IMG_PLAYER3_RIGHT 489 +#define IMG_PLAYER3_MOVING_DOWN 490 +#define IMG_PLAYER3_MOVING_UP 491 +#define IMG_PLAYER3_MOVING_LEFT 492 +#define IMG_PLAYER3_MOVING_RIGHT 493 +#define IMG_PLAYER3_DIGGING_DOWN 494 +#define IMG_PLAYER3_DIGGING_UP 495 +#define IMG_PLAYER3_DIGGING_LEFT 496 +#define IMG_PLAYER3_DIGGING_RIGHT 497 +#define IMG_PLAYER3_PUSHING_DOWN 498 +#define IMG_PLAYER3_PUSHING_UP 499 +#define IMG_PLAYER3_PUSHING_LEFT 500 +#define IMG_PLAYER3_PUSHING_RIGHT 501 +#define IMG_PLAYER3_SNAPPING_DOWN 502 +#define IMG_PLAYER3_SNAPPING_UP 503 +#define IMG_PLAYER3_SNAPPING_LEFT 504 +#define IMG_PLAYER3_SNAPPING_RIGHT 505 +#define IMG_PLAYER4 506 +#define IMG_PLAYER4_EDITOR 507 +#define IMG_PLAYER4_DOWN 508 +#define IMG_PLAYER4_UP 509 +#define IMG_PLAYER4_LEFT 510 +#define IMG_PLAYER4_RIGHT 511 +#define IMG_PLAYER4_MOVING_DOWN 512 +#define IMG_PLAYER4_MOVING_UP 513 +#define IMG_PLAYER4_MOVING_LEFT 514 +#define IMG_PLAYER4_MOVING_RIGHT 515 +#define IMG_PLAYER4_DIGGING_DOWN 516 +#define IMG_PLAYER4_DIGGING_UP 517 +#define IMG_PLAYER4_DIGGING_LEFT 518 +#define IMG_PLAYER4_DIGGING_RIGHT 519 +#define IMG_PLAYER4_PUSHING_DOWN 520 +#define IMG_PLAYER4_PUSHING_UP 521 +#define IMG_PLAYER4_PUSHING_LEFT 522 +#define IMG_PLAYER4_PUSHING_RIGHT 523 +#define IMG_PLAYER4_SNAPPING_DOWN 524 +#define IMG_PLAYER4_SNAPPING_UP 525 +#define IMG_PLAYER4_SNAPPING_LEFT 526 +#define IMG_PLAYER4_SNAPPING_RIGHT 527 +#define IMG_EXPLOSION 528 +#define IMG_TWINKLE_BLUE 529 +#define IMG_TWINKLE_WHITE 530 +#define IMG_STEELWALL_TOPLEFT 531 +#define IMG_STEELWALL_TOPRIGHT 532 +#define IMG_STEELWALL_BOTTOMLEFT 533 +#define IMG_STEELWALL_BOTTOMRIGHT 534 +#define IMG_STEELWALL_HORIZONTAL 535 +#define IMG_STEELWALL_VERTICAL 536 +#define IMG_STEELWALL_TOPLEFT_EDITOR 537 +#define IMG_STEELWALL_TOPRIGHT_EDITOR 538 +#define IMG_STEELWALL_BOTTOMLEFT_EDITOR 539 +#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR 540 +#define IMG_STEELWALL_HORIZONTAL_EDITOR 541 +#define IMG_STEELWALL_VERTICAL_EDITOR 542 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT 543 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 544 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 545 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 546 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 547 +#define IMG_INVISIBLE_STEELWALL_VERTICAL 548 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR 549 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR 550 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR 551 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR 552 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR 553 +#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR 554 +#define IMG_ARROW_BLUE_LEFT 555 +#define IMG_ARROW_BLUE_RIGHT 556 +#define IMG_ARROW_BLUE_UP 557 +#define IMG_ARROW_BLUE_DOWN 558 +#define IMG_ARROW_RED_LEFT 559 +#define IMG_ARROW_RED_RIGHT 560 +#define IMG_ARROW_RED_UP 561 +#define IMG_ARROW_RED_DOWN 562 +#define IMG_BALL_RED 563 +#define IMG_BALL_BLUE 564 +#define IMG_BALL_YELLOW 565 +#define IMG_BALL_GRAY 566 +#define IMG_SCROLLBAR_BLUE 567 +#define IMG_SCROLLBAR_RED 568 +#define IMG_SCROLLBAR_GREEN 569 +#define IMG_SCROLLBAR_YELLOW 570 +#define IMG_CHAR_SPACE 571 +#define IMG_CHAR_EXCLAM 572 +#define IMG_CHAR_QUOTEDBL 573 +#define IMG_CHAR_NUMBERSIGN 574 +#define IMG_CHAR_DOLLAR 575 +#define IMG_CHAR_PROCENT 576 +#define IMG_CHAR_AMPERSAND 577 +#define IMG_CHAR_APOSTROPHE 578 +#define IMG_CHAR_PARENLEFT 579 +#define IMG_CHAR_PARENRIGHT 580 +#define IMG_CHAR_ASTERISK 581 +#define IMG_CHAR_PLUS 582 +#define IMG_CHAR_COMMA 583 +#define IMG_CHAR_MINUS 584 +#define IMG_CHAR_PERIOD 585 +#define IMG_CHAR_SLASH 586 +#define IMG_CHAR_0 587 +#define IMG_CHAR_1 588 +#define IMG_CHAR_2 589 +#define IMG_CHAR_3 590 +#define IMG_CHAR_4 591 +#define IMG_CHAR_5 592 +#define IMG_CHAR_6 593 +#define IMG_CHAR_7 594 +#define IMG_CHAR_8 595 +#define IMG_CHAR_9 596 +#define IMG_CHAR_COLON 597 +#define IMG_CHAR_SEMICOLON 598 +#define IMG_CHAR_LESS 599 +#define IMG_CHAR_EQUAL 600 +#define IMG_CHAR_GREATER 601 +#define IMG_CHAR_QUESTION 602 +#define IMG_CHAR_AT 603 +#define IMG_CHAR_A 604 +#define IMG_CHAR_B 605 +#define IMG_CHAR_C 606 +#define IMG_CHAR_D 607 +#define IMG_CHAR_E 608 +#define IMG_CHAR_F 609 +#define IMG_CHAR_G 610 +#define IMG_CHAR_H 611 +#define IMG_CHAR_I 612 +#define IMG_CHAR_J 613 +#define IMG_CHAR_K 614 +#define IMG_CHAR_L 615 +#define IMG_CHAR_M 616 +#define IMG_CHAR_N 617 +#define IMG_CHAR_O 618 +#define IMG_CHAR_P 619 +#define IMG_CHAR_Q 620 +#define IMG_CHAR_R 621 +#define IMG_CHAR_S 622 +#define IMG_CHAR_T 623 +#define IMG_CHAR_U 624 +#define IMG_CHAR_V 625 +#define IMG_CHAR_W 626 +#define IMG_CHAR_X 627 +#define IMG_CHAR_Y 628 +#define IMG_CHAR_Z 629 +#define IMG_CHAR_AE 630 +#define IMG_CHAR_OE 631 +#define IMG_CHAR_UE 632 +#define IMG_CHAR_COPYRIGHT 633 +#define IMG_CHAR_UNDERSCORE 634 +#define IMG_CHAR_EMPTY 635 +#define IMG_CHAR_DEGREE 636 +#define IMG_CHAR_TM 637 +#define IMG_CHAR_CURSOR 638 +#define IMG_CUSTOM_1 639 +#define IMG_CUSTOM_2 640 +#define IMG_CUSTOM_3 641 +#define IMG_CUSTOM_4 642 +#define IMG_CUSTOM_5 643 +#define IMG_CUSTOM_6 644 +#define IMG_CUSTOM_7 645 +#define IMG_CUSTOM_8 646 +#define IMG_CUSTOM_9 647 +#define IMG_CUSTOM_10 648 +#define IMG_CUSTOM_11 649 +#define IMG_CUSTOM_12 650 +#define IMG_CUSTOM_13 651 +#define IMG_CUSTOM_14 652 +#define IMG_CUSTOM_15 653 +#define IMG_CUSTOM_16 654 +#define IMG_CUSTOM_17 655 +#define IMG_CUSTOM_18 656 +#define IMG_CUSTOM_19 657 +#define IMG_CUSTOM_20 658 +#define IMG_CUSTOM_21 659 +#define IMG_CUSTOM_22 660 +#define IMG_CUSTOM_23 661 +#define IMG_CUSTOM_24 662 +#define IMG_CUSTOM_25 663 +#define IMG_CUSTOM_26 664 +#define IMG_CUSTOM_27 665 +#define IMG_CUSTOM_28 666 +#define IMG_CUSTOM_29 667 +#define IMG_CUSTOM_30 668 +#define IMG_CUSTOM_31 669 +#define IMG_CUSTOM_32 670 +#define IMG_CUSTOM_33 671 +#define IMG_CUSTOM_34 672 +#define IMG_CUSTOM_35 673 +#define IMG_CUSTOM_36 674 +#define IMG_CUSTOM_37 675 +#define IMG_CUSTOM_38 676 +#define IMG_CUSTOM_39 677 +#define IMG_CUSTOM_40 678 +#define IMG_CUSTOM_41 679 +#define IMG_CUSTOM_42 680 +#define IMG_CUSTOM_43 681 +#define IMG_CUSTOM_44 682 +#define IMG_CUSTOM_45 683 +#define IMG_CUSTOM_46 684 +#define IMG_CUSTOM_47 685 +#define IMG_CUSTOM_48 686 +#define IMG_CUSTOM_49 687 +#define IMG_CUSTOM_50 688 +#define IMG_CUSTOM_51 689 +#define IMG_CUSTOM_52 690 +#define IMG_CUSTOM_53 691 +#define IMG_CUSTOM_54 692 +#define IMG_CUSTOM_55 693 +#define IMG_CUSTOM_56 694 +#define IMG_CUSTOM_57 695 +#define IMG_CUSTOM_58 696 +#define IMG_CUSTOM_59 697 +#define IMG_CUSTOM_60 698 +#define IMG_CUSTOM_61 699 +#define IMG_CUSTOM_62 700 +#define IMG_CUSTOM_63 701 +#define IMG_CUSTOM_64 702 +#define IMG_CUSTOM_65 703 +#define IMG_CUSTOM_66 704 +#define IMG_CUSTOM_67 705 +#define IMG_CUSTOM_68 706 +#define IMG_CUSTOM_69 707 +#define IMG_CUSTOM_70 708 +#define IMG_CUSTOM_71 709 +#define IMG_CUSTOM_72 710 +#define IMG_CUSTOM_73 711 +#define IMG_CUSTOM_74 712 +#define IMG_CUSTOM_75 713 +#define IMG_CUSTOM_76 714 +#define IMG_CUSTOM_77 715 +#define IMG_CUSTOM_78 716 +#define IMG_CUSTOM_79 717 +#define IMG_CUSTOM_80 718 +#define IMG_CUSTOM_81 719 +#define IMG_CUSTOM_82 720 +#define IMG_CUSTOM_83 721 +#define IMG_CUSTOM_84 722 +#define IMG_CUSTOM_85 723 +#define IMG_CUSTOM_86 724 +#define IMG_CUSTOM_87 725 +#define IMG_CUSTOM_88 726 +#define IMG_CUSTOM_89 727 +#define IMG_CUSTOM_90 728 +#define IMG_CUSTOM_91 729 +#define IMG_CUSTOM_92 730 +#define IMG_CUSTOM_93 731 +#define IMG_CUSTOM_94 732 +#define IMG_CUSTOM_95 733 +#define IMG_CUSTOM_96 734 +#define IMG_CUSTOM_97 735 +#define IMG_CUSTOM_98 736 +#define IMG_CUSTOM_99 737 +#define IMG_CUSTOM_100 738 +#define IMG_CUSTOM_101 739 +#define IMG_CUSTOM_102 740 +#define IMG_CUSTOM_103 741 +#define IMG_CUSTOM_104 742 +#define IMG_CUSTOM_105 743 +#define IMG_CUSTOM_106 744 +#define IMG_CUSTOM_107 745 +#define IMG_CUSTOM_108 746 +#define IMG_CUSTOM_109 747 +#define IMG_CUSTOM_110 748 +#define IMG_CUSTOM_111 749 +#define IMG_CUSTOM_112 750 +#define IMG_CUSTOM_113 751 +#define IMG_CUSTOM_114 752 +#define IMG_CUSTOM_115 753 +#define IMG_CUSTOM_116 754 +#define IMG_CUSTOM_117 755 +#define IMG_CUSTOM_118 756 +#define IMG_CUSTOM_119 757 +#define IMG_CUSTOM_120 758 +#define IMG_CUSTOM_121 759 +#define IMG_CUSTOM_122 760 +#define IMG_CUSTOM_123 761 +#define IMG_CUSTOM_124 762 +#define IMG_CUSTOM_125 763 +#define IMG_CUSTOM_126 764 +#define IMG_CUSTOM_127 765 +#define IMG_CUSTOM_128 766 +#define IMG_GLOBAL_BORDER 767 +#define IMG_GLOBAL_DOOR 768 +#define IMG_GLOBAL_TOONS 769 +#define IMG_FONT_BIG 770 +#define IMG_FONT_MEDIUM 771 +#define IMG_FONT_SMALL 772 +#define IMG_FONT_EM 773 +#define IMG_BACKGROUND_DEFAULT 774 +#define IMG_BACKGROUND_DOOR 775 +#define IMG_BACKGROUND_MAIN 776 +#define IMG_BACKGROUND_LEVEL_SERIES 777 +#define IMG_BACKGROUND_HALL_OF_FAME 778 +#define IMG_BACKGROUND_EDITOR_SETTINGS_LEVEL 779 +#define IMG_BACKGROUND_EDITOR_SETTINGS_ELEMENT 780 +#define IMG_BACKGROUND_INFO 781 +#define IMG_BACKGROUND_SETUP 782 +#define IMG_INFO_FONT_EM_1 783 +#define IMG_INFO_FONT_EM_2 784 +#define IMG_INFO_FONT_EM_3 785 +#define IMG_INFO_FONT_EM_4 786 +#define IMG_INFO_FONT_EM_5 787 -#define NUM_IMAGE_FILES 755 +#define NUM_IMAGE_FILES 788 #endif /* CONF_GFX_H */ diff --git a/src/conftime.h b/src/conftime.h index cc4ff8b4..4b36fc24 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-02-03 04:25]" +#define COMPILE_DATE_STRING "[2003-02-04 03:17]" diff --git a/src/editor.c b/src/editor.c index 15a3b692..ed78feab 100644 --- a/src/editor.c +++ b/src/editor.c @@ -368,6 +368,9 @@ #define ED_CHECKBUTTON_ID_LEVEL_FIRST ED_CHECKBUTTON_ID_DOUBLE_SPEED #define ED_CHECKBUTTON_ID_LEVEL_LAST ED_CHECKBUTTON_ID_RANDOM_RESTRICTED +#define ED_CHECKBUTTON_ID_CUSTOM_FIRST ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE +#define ED_CHECKBUTTON_ID_CUSTOM_LAST ED_CHECKBUTTON_ID_CUSTOM_SLIPPERY + /* values for radiobutton gadgets */ #define ED_RADIOBUTTON_ID_PERCENTAGE 0 #define ED_RADIOBUTTON_ID_QUANTITY 1 @@ -2449,6 +2452,63 @@ static boolean LevelContainsPlayer() return player_found; } +static void CopyPlayfield(short src[MAX_LEV_FIELDX][MAX_LEV_FIELDY], + short dst[MAX_LEV_FIELDX][MAX_LEV_FIELDY]) +{ + int x, y; + + for(x=0; xcustom_type_id].value ^= TRUE; + int type_id = gi->custom_type_id; + + *checkbutton_info[type_id].value ^= TRUE; + + if (type_id >= ED_CHECKBUTTON_ID_CUSTOM_FIRST && + type_id <= ED_CHECKBUTTON_ID_CUSTOM_LAST) + CopyCustomElementPropertiesToGame(); } static void HandleControlButtons(struct GadgetInfo *gi) @@ -4255,9 +4316,8 @@ static void HandleControlButtons(struct GadgetInfo *gi) { if (Request("Save this level and kill the old ?", REQ_ASK)) { - for(x=0; xfieldx * level->fieldy; + + /* Note: "chunk_size" was wrong before version 2.0 when elements are + stored with 16-bit encoding (and should be twice as big then). + Even worse, playfield data was stored 16-bit when only yamyam content + contained 16-bit elements and vice versa. */ + + if (level->encoding_16bit_field && level->file_version >= FILE_VERSION_2_0) + chunk_size_expected *= 2; + + if (chunk_size_expected != chunk_size) + { + ReadUnusedBytesFromFile(file, chunk_size); + return chunk_size_expected; + } + + for(y=0; yfieldy; y++) + for(x=0; xfieldx; x++) + Feld[x][y] = Ur[x][y] = + checkLevelElement(level->encoding_16bit_field ? + getFile16BitBE(file) : fgetc(file)); + return chunk_size; +} + static int LoadLevel_CONT(FILE *file, int chunk_size, struct LevelInfo *level) { int i, x, y; @@ -243,33 +273,6 @@ static int LoadLevel_CONT(FILE *file, int chunk_size, struct LevelInfo *level) return chunk_size; } -static int LoadLevel_BODY(FILE *file, int chunk_size, struct LevelInfo *level) -{ - int x, y; - int chunk_size_expected = level->fieldx * level->fieldy; - - /* Note: "chunk_size" was wrong before version 2.0 when elements are - stored with 16-bit encoding (and should be twice as big then). - Even worse, playfield data was stored 16-bit when only yamyam content - contained 16-bit elements and vice versa. */ - - if (level->encoding_16bit_field && level->file_version >= FILE_VERSION_2_0) - chunk_size_expected *= 2; - - if (chunk_size_expected != chunk_size) - { - ReadUnusedBytesFromFile(file, chunk_size); - return chunk_size_expected; - } - - for(y=0; yfieldy; y++) - for(x=0; xfieldx; x++) - Feld[x][y] = Ur[x][y] = - checkLevelElement(level->encoding_16bit_field ? - getFile16BitBE(file) : fgetc(file)); - return chunk_size; -} - static int LoadLevel_CNT2(FILE *file, int chunk_size, struct LevelInfo *level) { int i, x, y; @@ -313,6 +316,32 @@ static int LoadLevel_CNT2(FILE *file, int chunk_size, struct LevelInfo *level) return chunk_size; } +static int LoadLevel_CUS1(FILE *file, int chunk_size, struct LevelInfo *level) +{ + int num_changed_custom_elements = getFile16BitBE(file); + int chunk_size_expected = 2 + num_changed_custom_elements * 6; + int i; + + if (chunk_size_expected != chunk_size) + { + ReadUnusedBytesFromFile(file, chunk_size - 2); + return chunk_size_expected; + } + + for (i=0; i < num_changed_custom_elements; i++) + { + int element = getFile16BitBE(file); + int properties = getFile32BitBE(file); + + if (IS_CUSTOM_ELEMENT(element)) + Properties1[element] = properties; + else + Error(ERR_WARN, "invalid custom element number %d", element); + } + + return chunk_size; +} + void LoadLevelFromFilename(char *filename) { char cookie[MAX_LINE_LEN]; @@ -388,9 +417,10 @@ void LoadLevelFromFilename(char *filename) { "VERS", FILE_VERS_CHUNK_SIZE, LoadLevel_VERS }, { "HEAD", LEVEL_HEADER_SIZE, LoadLevel_HEAD }, { "AUTH", MAX_LEVEL_AUTHOR_LEN, LoadLevel_AUTH }, - { "CONT", -1, LoadLevel_CONT }, { "BODY", -1, LoadLevel_BODY }, + { "CONT", -1, LoadLevel_CONT }, { "CNT2", LEVEL_CHUNK_CNT2_SIZE, LoadLevel_CNT2 }, + { "CUS1", -1, LoadLevel_CUS1 }, { NULL, 0, NULL } }; @@ -545,6 +575,18 @@ static void SaveLevel_AUTH(FILE *file, struct LevelInfo *level) fputc(level->author[i], file); } +static void SaveLevel_BODY(FILE *file, struct LevelInfo *level) +{ + int x, y; + + for(y=0; yfieldy; y++) + for(x=0; xfieldx; x++) + if (level->encoding_16bit_field) + putFile16BitBE(file, Ur[x][y]); + else + fputc(Ur[x][y], file); +} + #if 0 static void SaveLevel_CONT(FILE *file, struct LevelInfo *level) { @@ -565,18 +607,6 @@ static void SaveLevel_CONT(FILE *file, struct LevelInfo *level) } #endif -static void SaveLevel_BODY(FILE *file, struct LevelInfo *level) -{ - int x, y; - - for(y=0; yfieldy; y++) - for(x=0; xfieldx; x++) - if (level->encoding_16bit_field) - putFile16BitBE(file, Ur[x][y]); - else - fputc(Ur[x][y], file); -} - static void SaveLevel_CNT2(FILE *file, struct LevelInfo *level, int element) { int i, x, y; @@ -628,11 +658,38 @@ static void SaveLevel_CNT2(FILE *file, struct LevelInfo *level, int element) putFile16BitBE(file, content_array[i][x][y]); } +static void SaveLevel_CUS1(FILE *file, int num_changed_custom_elements) +{ + int i, check = 0; + + putFile16BitBE(file, num_changed_custom_elements); + + for (i=0; i < NUM_CUSTOM_ELEMENTS; i++) + { + int element = EL_CUSTOM_START + i; + + if (Properties1[element] != EP_BITMASK_DEFAULT) + { + if (check < num_changed_custom_elements) + { + putFile16BitBE(file, element); + putFile32BitBE(file, Properties1[element]); + } + + check++; + } + } + + if (check != num_changed_custom_elements) /* should not happen */ + Error(ERR_WARN, "inconsistent number of custom element properties"); +} + void SaveLevel(int level_nr) { - int i, x, y; char *filename = getLevelFilename(level_nr); int body_chunk_size; + int num_changed_custom_elements = 0; + int i, x, y; FILE *file; if (!(file = fopen(filename, MODE_WRITE))) @@ -664,9 +721,15 @@ void SaveLevel(int level_nr) if (level.amoeba_content > 255) level.encoding_16bit_amoeba = TRUE; + /* calculate size of "BODY" chunk */ body_chunk_size = level.fieldx * level.fieldy * (level.encoding_16bit_field ? 2 : 1); + /* check for non-standard custom elements and calculate "CUS1" chunk size */ + for (i=0; i < NUM_CUSTOM_ELEMENTS; i++) + if (Properties1[EL_CUSTOM_START + i] != EP_BITMASK_DEFAULT) + num_changed_custom_elements++; + putFileChunkBE(file, "RND1", CHUNK_SIZE_UNDEFINED); putFileChunkBE(file, "CAVE", CHUNK_SIZE_NONE); @@ -695,6 +758,12 @@ void SaveLevel(int level_nr) SaveLevel_CNT2(file, &level, EL_BD_AMOEBA); } + if (num_changed_custom_elements > 0) + { + putFileChunkBE(file, "CUS1", 2 + num_changed_custom_elements * 6); + SaveLevel_CUS1(file, num_changed_custom_elements); + } + fclose(file); SetFilePermissions(filename, PERMS_PRIVATE); diff --git a/src/main.h b/src/main.h index 3e86c7f9..6c56974a 100644 --- a/src/main.h +++ b/src/main.h @@ -101,6 +101,8 @@ #define EP_BIT_TUBE (1 << 3) #define EP_BIT_EM_SLIPPERY_WALL (1 << 4) +#define EP_BITMASK_DEFAULT 0 + #define IS_AMOEBALIVE(e) (Properties1[e] & EP_BIT_AMOEBALIVE) #define IS_AMOEBOID(e) (Properties1[e] & EP_BIT_AMOEBOID) #define IS_SCHLUESSEL(e) (Properties1[e] & EP_BIT_SCHLUESSEL) -- 2.34.1