rnd-20021027-2-src
authorHolger Schemel <info@artsoft.org>
Sun, 27 Oct 2002 19:47:25 +0000 (20:47 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:38:56 +0000 (10:38 +0200)
src/conf_e2g.c
src/conf_gfx.h
src/conftime.h
src/game.c
src/init.c
src/main.c
src/main.h
src/tools.c

index d730e57adefd9c1b7183cedebf63f5117b16550f..94a8d3329446210fb65809a819eb4912b45f0ec5 100644 (file)
@@ -52,6 +52,10 @@ element_to_graphic[] =
     EL_BD_DIAMOND,                             -1, -1,
     IMG_BD_DIAMOND
   },
+  {
+    EL_BD_DIAMOND,                             -1, GFX_ACTION_MOVING,
+    IMG_BD_DIAMOND_MOVING
+  },
   {
     EL_BD_DIAMOND,                             -1, GFX_ACTION_FALLING,
     IMG_BD_DIAMOND_FALLING
@@ -516,6 +520,10 @@ element_to_graphic[] =
     EL_EMERALD,                                        -1, -1,
     IMG_EMERALD
   },
+  {
+    EL_EMERALD,                                        -1, GFX_ACTION_MOVING,
+    IMG_EMERALD_MOVING
+  },
   {
     EL_EMERALD,                                        -1, GFX_ACTION_FALLING,
     IMG_EMERALD_FALLING
@@ -524,6 +532,10 @@ element_to_graphic[] =
     EL_DIAMOND,                                        -1, -1,
     IMG_DIAMOND
   },
+  {
+    EL_DIAMOND,                                        -1, GFX_ACTION_MOVING,
+    IMG_DIAMOND_MOVING
+  },
   {
     EL_DIAMOND,                                        -1, GFX_ACTION_FALLING,
     IMG_DIAMOND_FALLING
@@ -537,7 +549,7 @@ element_to_graphic[] =
     IMG_NUT
   },
   {
-    EL_NUT_CRACKING,                           -1, -1,
+    EL_NUT_CRACKING,                           -1, GFX_ACTION_CRACKING,
     IMG_NUT_CRACKING
   },
   {
@@ -721,7 +733,7 @@ element_to_graphic[] =
     IMG_AMOEBA_CREATING
   },
   {
-    EL_AMOEBA_SHRINKING,                       -1, -1,
+    EL_AMOEBA_SHRINKING,                       -1, GFX_ACTION_SHRINKING,
     IMG_AMOEBA_SHRINKING
   },
   {
@@ -857,7 +869,7 @@ element_to_graphic[] =
     IMG_EXIT_CLOSED
   },
   {
-    EL_EXIT_OPENING,                           -1, -1,
+    EL_EXIT_OPENING,                           -1, GFX_ACTION_OPENING,
     IMG_EXIT_OPENING
   },
   {
@@ -897,7 +909,7 @@ element_to_graphic[] =
     IMG_SPRING
   },
   {
-    EL_SPRING_MOVING,                          -1, -1,
+    EL_SPRING_MOVING,                          -1, GFX_ACTION_MOVING,
     IMG_SPRING_MOVING
   },
   {
@@ -1185,7 +1197,7 @@ element_to_graphic[] =
     IMG_SWITCHGATE_CLOSED
   },
   {
-    EL_SWITCHGATE_OPENING,                     -1, -1,
+    EL_SWITCHGATE_OPENING,                     -1, GFX_ACTION_OPENING,
     IMG_SWITCHGATE_OPENING
   },
   {
@@ -1193,7 +1205,7 @@ element_to_graphic[] =
     IMG_SWITCHGATE_OPEN
   },
   {
-    EL_SWITCHGATE_CLOSING,                     -1, -1,
+    EL_SWITCHGATE_CLOSING,                     -1, GFX_ACTION_CLOSING,
     IMG_SWITCHGATE_CLOSING
   },
   {
@@ -1201,7 +1213,7 @@ element_to_graphic[] =
     IMG_TIMEGATE_CLOSED
   },
   {
-    EL_TIMEGATE_OPENING,                       -1, -1,
+    EL_TIMEGATE_OPENING,                       -1, GFX_ACTION_OPENING,
     IMG_TIMEGATE_OPENING
   },
   {
@@ -1209,7 +1221,7 @@ element_to_graphic[] =
     IMG_TIMEGATE_OPEN
   },
   {
-    EL_TIMEGATE_CLOSING,                       -1, -1,
+    EL_TIMEGATE_CLOSING,                       -1, GFX_ACTION_CLOSING,
     IMG_TIMEGATE_CLOSING
   },
   {
@@ -1217,7 +1229,7 @@ element_to_graphic[] =
     IMG_PEARL
   },
   {
-    EL_PEARL_BREAKING,                         -1, -1,
+    EL_PEARL_BREAKING,                         -1, GFX_ACTION_BREAKING,
     IMG_PEARL_BREAKING
   },
   {
index 3fec85a9b5a0aafe7b1d8d8ad451dfe8a2174f0b..8b3411a10dbb7162372bcd7ae9c324676b7936db 100644 (file)
 #define IMG_BD_ROCK_MOVING_LEFT                        3
 #define IMG_BD_ROCK_MOVING_RIGHT               4
 #define IMG_BD_DIAMOND                         5
-#define IMG_BD_DIAMOND_FALLING                 6
-#define IMG_BD_MAGIC_WALL                      7
-#define IMG_BD_MAGIC_WALL_ACTIVE               8
-#define IMG_BD_MAGIC_WALL_FILLING              9
-#define IMG_BD_MAGIC_WALL_FULL                 10
-#define IMG_BD_MAGIC_WALL_EMPTYING             11
-#define IMG_BD_MAGIC_WALL_DEAD                 12
-#define IMG_BD_AMOEBA                          13
-#define IMG_BD_AMOEBA_PART1                    14
-#define IMG_BD_AMOEBA_PART2                    15
-#define IMG_BD_AMOEBA_PART3                    16
-#define IMG_BD_AMOEBA_PART4                    17
-#define IMG_BD_BUTTERFLY                       18
-#define IMG_BD_BUTTERFLY_MOVING                        19
-#define IMG_BD_BUTTERFLY_RIGHT                 20
-#define IMG_BD_BUTTERFLY_UP                    21
-#define IMG_BD_BUTTERFLY_LEFT                  22
-#define IMG_BD_BUTTERFLY_DOWN                  23
-#define IMG_BD_FIREFLY                         24
-#define IMG_BD_FIREFLY_MOVING                  25
-#define IMG_BD_FIREFLY_RIGHT                   26
-#define IMG_BD_FIREFLY_UP                      27
-#define IMG_BD_FIREFLY_LEFT                    28
-#define IMG_BD_FIREFLY_DOWN                    29
-#define IMG_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_LEFT_MOVING              38
-#define IMG_SP_MURPHY_LEFT_DIGGING             39
-#define IMG_SP_MURPHY_LEFT_PUSHING             40
-#define IMG_SP_MURPHY_LEFT_SNAPPING            41
-#define IMG_SP_MURPHY_RIGHT                    42
-#define IMG_SP_MURPHY_RIGHT_MOVING             43
-#define IMG_SP_MURPHY_RIGHT_DIGGING            44
-#define IMG_SP_MURPHY_RIGHT_PUSHING            45
-#define IMG_SP_MURPHY_RIGHT_SNAPPING           46
-#define IMG_SP_MURPHY_UP                       47
-#define IMG_SP_MURPHY_UP_SNAPPING              48
-#define IMG_SP_MURPHY_DOWN                     49
-#define IMG_SP_MURPHY_DOWN_SNAPPING            50
-#define IMG_SP_MURPHY_CLONE                    51
-#define IMG_SP_INFOTRON                                52
-#define IMG_SP_INFOTRON_FALLING                        53
-#define IMG_SP_CHIP_SINGLE                     54
-#define IMG_SP_CHIP_LEFT                       55
-#define IMG_SP_CHIP_RIGHT                      56
-#define IMG_SP_CHIP_UPPER                      57
-#define IMG_SP_CHIP_LOWER                      58
-#define IMG_SP_HARD_GRAY                       59
-#define IMG_SP_HARD_GREEN                      60
-#define IMG_SP_HARD_BLUE                       61
-#define IMG_SP_HARD_RED                                62
-#define IMG_SP_HARD_YELLOW                     63
-#define IMG_SP_EXIT_CLOSED                     64
-#define IMG_SP_EXIT_OPEN                       65
-#define IMG_SP_DISK_ORANGE                     66
-#define IMG_SP_DISK_ORANGE_FALLING             67
-#define IMG_SP_DISK_ORANGE_PUSHING             68
-#define IMG_SP_DISK_YELLOW                     69
-#define IMG_SP_DISK_YELLOW_PUSHING             70
-#define IMG_SP_DISK_RED                                71
-#define IMG_SP_DISK_RED_COLLECTING             72
-#define IMG_SP_PORT1_RIGHT                     73
-#define IMG_SP_PORT1_DOWN                      74
-#define IMG_SP_PORT1_LEFT                      75
-#define IMG_SP_PORT1_UP                                76
-#define IMG_SP_PORT2_RIGHT                     77
-#define IMG_SP_PORT2_DOWN                      78
-#define IMG_SP_PORT2_LEFT                      79
-#define IMG_SP_PORT2_UP                                80
-#define IMG_SP_PORT_X                          81
-#define IMG_SP_PORT_Y                          82
-#define IMG_SP_PORT_XY                         83
-#define IMG_SP_SNIKSNAK                                84
-#define IMG_SP_SNIKSNAK_LEFT                   85
-#define IMG_SP_SNIKSNAK_RIGHT                  86
-#define IMG_SP_SNIKSNAK_UP                     87
-#define IMG_SP_SNIKSNAK_DOWN                   88
-#define IMG_SP_ELECTRON                                89
-#define IMG_SP_TERMINAL                                90
-#define IMG_SP_TERMINAL_ACTIVE                 91
-#define IMG_SP_BUGGY_BASE                      92
-#define IMG_SP_BUGGY_BASE_ACTIVE               93
-#define IMG_SP_HARD_BASE1                      94
-#define IMG_SP_HARD_BASE2                      95
-#define IMG_SP_HARD_BASE3                      96
-#define IMG_SP_HARD_BASE4                      97
-#define IMG_SP_HARD_BASE5                      98
-#define IMG_SP_HARD_BASE6                      99
-#define IMG_SP_EXPLOSION                       100
-#define IMG_SP_EXPLOSION_INFOTRON              101
-#define IMG_SOKOBAN_OBJECT                     102
-#define IMG_SOKOBAN_FIELD_EMPTY                        103
-#define IMG_SOKOBAN_FIELD_FULL                 104
-#define IMG_EMPTY_SPACE                                105
-#define IMG_SAND                               106
-#define IMG_SAND_CRUMBLED                      107
-#define IMG_WALL                               108
-#define IMG_WALL_CRUMBLED                      109
-#define IMG_STEELWALL                          110
-#define IMG_ROCK                               111
-#define IMG_ROCK_FALLING                       112
-#define IMG_ROCK_MOVING_LEFT                   113
-#define IMG_ROCK_MOVING_RIGHT                  114
-#define IMG_EMERALD                            115
-#define IMG_EMERALD_FALLING                    116
-#define IMG_DIAMOND                            117
-#define IMG_DIAMOND_FALLING                    118
-#define IMG_BOMB                               119
-#define IMG_NUT                                        120
-#define IMG_NUT_CRACKING                       121
-#define IMG_DYNAMITE                           122
-#define IMG_DYNAMITE_ACTIVE                    123
-#define IMG_WALL_EMERALD                       124
-#define IMG_WALL_DIAMOND                       125
-#define IMG_BUG_RIGHT                          126
-#define IMG_BUG_UP                             127
-#define IMG_BUG_LEFT                           128
-#define IMG_BUG_DOWN                           129
-#define IMG_SPACESHIP_RIGHT                    130
-#define IMG_SPACESHIP_UP                       131
-#define IMG_SPACESHIP_LEFT                     132
-#define IMG_SPACESHIP_DOWN                     133
-#define IMG_YAMYAM                             134
-#define IMG_YAMYAM_MOVING                      135
-#define IMG_ROBOT                              136
-#define IMG_ROBOT_WHEEL                                137
-#define IMG_ROBOT_WHEEL_ACTIVE                 138
-#define IMG_MAGIC_WALL                         139
-#define IMG_MAGIC_WALL_ACTIVE                  140
-#define IMG_MAGIC_WALL_FILLING                 141
-#define IMG_MAGIC_WALL_FULL                    142
-#define IMG_MAGIC_WALL_EMPTYING                        143
-#define IMG_MAGIC_WALL_DEAD                    144
-#define IMG_QUICKSAND_EMPTY                    145
-#define IMG_QUICKSAND_FILLING                  146
-#define IMG_QUICKSAND_FULL                     147
-#define IMG_QUICKSAND_EMPTYING                 148
-#define IMG_ACIDPOOL_TOPLEFT                   149
-#define IMG_ACIDPOOL_TOPRIGHT                  150
-#define IMG_ACIDPOOL_BOTTOMLEFT                        151
-#define IMG_ACIDPOOL_BOTTOM                    152
-#define IMG_ACIDPOOL_BOTTOMRIGHT               153
-#define IMG_ACID                               154
-#define IMG_ACID_SPLASH_LEFT                   155
-#define IMG_ACID_SPLASH_RIGHT                  156
-#define IMG_AMOEBA_DROP                                157
-#define IMG_AMOEBA_CREATING                    158
-#define IMG_AMOEBA_SHRINKING                   159
-#define IMG_AMOEBA_WET                         160
-#define IMG_AMOEBA_WET_PART1                   161
-#define IMG_AMOEBA_WET_PART2                   162
-#define IMG_AMOEBA_WET_PART3                   163
-#define IMG_AMOEBA_WET_PART4                   164
-#define IMG_AMOEBA_DRY                         165
-#define IMG_AMOEBA_DRY_PART1                   166
-#define IMG_AMOEBA_DRY_PART2                   167
-#define IMG_AMOEBA_DRY_PART3                   168
-#define IMG_AMOEBA_DRY_PART4                   169
-#define IMG_AMOEBA_FULL                                170
-#define IMG_AMOEBA_FULL_PART1                  171
-#define IMG_AMOEBA_FULL_PART2                  172
-#define IMG_AMOEBA_FULL_PART3                  173
-#define IMG_AMOEBA_FULL_PART4                  174
-#define IMG_AMOEBA_DEAD                                175
-#define IMG_AMOEBA_DEAD_PART1                  176
-#define IMG_AMOEBA_DEAD_PART2                  177
-#define IMG_AMOEBA_DEAD_PART3                  178
-#define IMG_AMOEBA_DEAD_PART4                  179
-#define IMG_EM_KEY1                            180
-#define IMG_EM_KEY2                            181
-#define IMG_EM_KEY3                            182
-#define IMG_EM_KEY4                            183
-#define IMG_EM_GATE1                           184
-#define IMG_EM_GATE2                           185
-#define IMG_EM_GATE3                           186
-#define IMG_EM_GATE4                           187
-#define IMG_EM_GATE1_GRAY                      188
-#define IMG_EM_GATE2_GRAY                      189
-#define IMG_EM_GATE3_GRAY                      190
-#define IMG_EM_GATE4_GRAY                      191
-#define IMG_EXIT_CLOSED                                192
-#define IMG_EXIT_OPENING                       193
-#define IMG_EXIT_OPEN                          194
-#define IMG_BALLOON                            195
-#define IMG_BALLOON_MOVING                     196
-#define IMG_BALLOON_SEND_LEFT                  197
-#define IMG_BALLOON_SEND_RIGHT                 198
-#define IMG_BALLOON_SEND_UP                    199
-#define IMG_BALLOON_SEND_DOWN                  200
-#define IMG_BALLOON_SEND_ANY_DIRECTION         201
-#define IMG_SPRING                             202
-#define IMG_SPRING_MOVING                      203
-#define IMG_EMC_STEELWALL1                     204
-#define IMG_EMC_STEELWALL2                     205
-#define IMG_EMC_STEELWALL3                     206
-#define IMG_EMC_STEELWALL4                     207
-#define IMG_EMC_WALL_PILLAR_UPPER              208
-#define IMG_EMC_WALL_PILLAR_MIDDLE             209
-#define IMG_EMC_WALL_PILLAR_LOWER              210
-#define IMG_EMC_WALL4                          211
-#define IMG_EMC_WALL5                          212
-#define IMG_EMC_WALL6                          213
-#define IMG_EMC_WALL7                          214
-#define IMG_EMC_WALL8                          215
-#define IMG_INVISIBLE_STEELWALL                        216
-#define IMG_INVISIBLE_STEELWALL_ACTIVE         217
-#define IMG_INVISIBLE_WALL                     218
-#define IMG_INVISIBLE_WALL_ACTIVE              219
-#define IMG_INVISIBLE_SAND                     220
-#define IMG_INVISIBLE_SAND_ACTIVE              221
-#define IMG_CONVEYOR_BELT1_MIDDLE              222
-#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE       223
-#define IMG_CONVEYOR_BELT1_LEFT                        224
-#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE         225
-#define IMG_CONVEYOR_BELT1_RIGHT               226
-#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE                227
-#define IMG_CONVEYOR_BELT1_SWITCH_LEFT         228
-#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE       229
-#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT                230
-#define IMG_CONVEYOR_BELT2_MIDDLE              231
-#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE       232
-#define IMG_CONVEYOR_BELT2_LEFT                        233
-#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE         234
-#define IMG_CONVEYOR_BELT2_RIGHT               235
-#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE                236
-#define IMG_CONVEYOR_BELT2_SWITCH_LEFT         237
-#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE       238
-#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT                239
-#define IMG_CONVEYOR_BELT3_MIDDLE              240
-#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE       241
-#define IMG_CONVEYOR_BELT3_LEFT                        242
-#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE         243
-#define IMG_CONVEYOR_BELT3_RIGHT               244
-#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE                245
-#define IMG_CONVEYOR_BELT3_SWITCH_LEFT         246
-#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE       247
-#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT                248
-#define IMG_CONVEYOR_BELT4_MIDDLE              249
-#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE       250
-#define IMG_CONVEYOR_BELT4_LEFT                        251
-#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE         252
-#define IMG_CONVEYOR_BELT4_RIGHT               253
-#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE                254
-#define IMG_CONVEYOR_BELT4_SWITCH_LEFT         255
-#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE       256
-#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT                257
-#define IMG_SWITCHGATE_SWITCH_UP               258
-#define IMG_SWITCHGATE_SWITCH_DOWN             259
-#define IMG_LIGHT_SWITCH                       260
-#define IMG_LIGHT_SWITCH_ACTIVE                        261
-#define IMG_TIMEGATE_SWITCH                    262
-#define IMG_TIMEGATE_SWITCH_ACTIVE             263
-#define IMG_ENVELOPE                           264
-#define IMG_SIGN_EXCLAMATION                   265
-#define IMG_SIGN_STOP                          266
-#define IMG_LANDMINE                           267
-#define IMG_STEELWALL_SLANTED                  268
-#define IMG_EXTRA_TIME                         269
-#define IMG_SHIELD_NORMAL                      270
-#define IMG_SHIELD_DEADLY                      271
-#define IMG_SHIELD_NORMAL_ACTIVE               272
-#define IMG_SHIELD_DEADLY_ACTIVE               273
-#define IMG_SWITCHGATE_CLOSED                  274
-#define IMG_SWITCHGATE_OPENING                 275
-#define IMG_SWITCHGATE_OPEN                    276
-#define IMG_SWITCHGATE_CLOSING                 277
-#define IMG_TIMEGATE_CLOSED                    278
-#define IMG_TIMEGATE_OPENING                   279
-#define IMG_TIMEGATE_OPEN                      280
-#define IMG_TIMEGATE_CLOSING                   281
-#define IMG_PEARL                              282
-#define IMG_PEARL_BREAKING                     283
-#define IMG_CRYSTAL                            284
-#define IMG_WALL_PEARL                         285
-#define IMG_WALL_CRYSTAL                       286
-#define IMG_TUBE_RIGHT_DOWN                    287
-#define IMG_TUBE_HORIZONTAL_DOWN               288
-#define IMG_TUBE_LEFT_DOWN                     289
-#define IMG_TUBE_HORIZONTAL                    290
-#define IMG_TUBE_VERTICAL_RIGHT                        291
-#define IMG_TUBE_ALL                           292
-#define IMG_TUBE_VERTICAL_LEFT                 293
-#define IMG_TUBE_VERTICAL                      294
-#define IMG_TUBE_RIGHT_UP                      295
-#define IMG_TUBE_HORIZONTAL_UP                 296
-#define IMG_TUBE_LEFT_UP                       297
-#define IMG_TRAP                               298
-#define IMG_TRAP_ACTIVE                                299
-#define IMG_DX_SUPABOMB                                300
-#define IMG_KEY1                               301
-#define IMG_KEY2                               302
-#define IMG_KEY3                               303
-#define IMG_KEY4                               304
-#define IMG_GATE1                              305
-#define IMG_GATE2                              306
-#define IMG_GATE3                              307
-#define IMG_GATE4                              308
-#define IMG_GATE1_GRAY                         309
-#define IMG_GATE2_GRAY                         310
-#define IMG_GATE3_GRAY                         311
-#define IMG_GATE4_GRAY                         312
-#define IMG_GAMEOFLIFE                         313
-#define IMG_BIOMAZE                            314
-#define IMG_PACMAN_RIGHT                       315
-#define IMG_PACMAN_UP                          316
-#define IMG_PACMAN_LEFT                                317
-#define IMG_PACMAN_DOWN                                318
-#define IMG_LAMP                               319
-#define IMG_LAMP_ACTIVE                                320
-#define IMG_TIME_ORB_FULL                      321
-#define IMG_TIME_ORB_EMPTY                     322
-#define IMG_EMERALD_YELLOW                     323
-#define IMG_EMERALD_YELLOW_FALLING             324
-#define IMG_EMERALD_RED                                325
-#define IMG_EMERALD_RED_FALLING                        326
-#define IMG_EMERALD_PURPLE                     327
-#define IMG_EMERALD_PURPLE_FALLING             328
-#define IMG_WALL_EMERALD_YELLOW                        329
-#define IMG_WALL_EMERALD_RED                   330
-#define IMG_WALL_EMERALD_PURPLE                        331
-#define IMG_WALL_BD_DIAMOND                    332
-#define IMG_WALL_GROWING                       333
-#define IMG_WALL_GROWING_XY                    334
-#define IMG_WALL_GROWING_X                     335
-#define IMG_WALL_GROWING_Y                     336
-#define IMG_WALL_GROWING_ACTIVE_LEFT           337
-#define IMG_WALL_GROWING_ACTIVE_RIGHT          338
-#define IMG_WALL_GROWING_ACTIVE_UP             339
-#define IMG_WALL_GROWING_ACTIVE_DOWN           340
-#define IMG_BLACK_ORB                          341
-#define IMG_SPEED_PILL                         342
-#define IMG_DARK_YAMYAM                                343
-#define IMG_DYNABOMB_ACTIVE                    344
-#define IMG_DYNABOMB_PLAYER1_ACTIVE            345
-#define IMG_DYNABOMB_PLAYER2_ACTIVE            346
-#define IMG_DYNABOMB_PLAYER3_ACTIVE            347
-#define IMG_DYNABOMB_PLAYER4_ACTIVE            348
-#define IMG_DYNABOMB_NR                                349
-#define IMG_DYNABOMB_SZ                                350
-#define IMG_DYNABOMB_XL                                351
-#define IMG_PIG                                        352
-#define IMG_PIG_DOWN                           353
-#define IMG_PIG_DOWN_MOVING                    354
-#define IMG_PIG_DOWN_EATING                    355
-#define IMG_PIG_UP                             356
-#define IMG_PIG_UP_MOVING                      357
-#define IMG_PIG_UP_EATING                      358
-#define IMG_PIG_LEFT                           359
-#define IMG_PIG_LEFT_MOVING                    360
-#define IMG_PIG_LEFT_EATING                    361
-#define IMG_PIG_RIGHT                          362
-#define IMG_PIG_RIGHT_MOVING                   363
-#define IMG_PIG_RIGHT_EATING                   364
-#define IMG_DRAGON                             365
-#define IMG_DRAGON_DOWN                                366
-#define IMG_DRAGON_DOWN_MOVING                 367
-#define IMG_DRAGON_DOWN_ATTACKING              368
-#define IMG_DRAGON_UP                          369
-#define IMG_DRAGON_UP_MOVING                   370
-#define IMG_DRAGON_UP_ATTACKING                        371
-#define IMG_DRAGON_LEFT                                372
-#define IMG_DRAGON_LEFT_MOVING                 373
-#define IMG_DRAGON_LEFT_ATTACKING              374
-#define IMG_DRAGON_RIGHT                       375
-#define IMG_DRAGON_RIGHT_MOVING                        376
-#define IMG_DRAGON_RIGHT_ATTACKING             377
-#define IMG_MOLE                               378
-#define IMG_MOLE_DOWN                          379
-#define IMG_MOLE_DOWN_MOVING                   380
-#define IMG_MOLE_DOWN_DIGGING                  381
-#define IMG_MOLE_UP                            382
-#define IMG_MOLE_UP_MOVING                     383
-#define IMG_MOLE_UP_DIGGING                    384
-#define IMG_MOLE_LEFT                          385
-#define IMG_MOLE_LEFT_MOVING                   386
-#define IMG_MOLE_LEFT_DIGGING                  387
-#define IMG_MOLE_RIGHT                         388
-#define IMG_MOLE_RIGHT_MOVING                  389
-#define IMG_MOLE_RIGHT_DIGGING                 390
-#define IMG_PENGUIN                            391
-#define IMG_PENGUIN_DOWN                       392
-#define IMG_PENGUIN_DOWN_MOVING                        393
-#define IMG_PENGUIN_UP                         394
-#define IMG_PENGUIN_UP_MOVING                  395
-#define IMG_PENGUIN_LEFT                       396
-#define IMG_PENGUIN_LEFT_MOVING                        397
-#define IMG_PENGUIN_RIGHT                      398
-#define IMG_PENGUIN_RIGHT_MOVING               399
-#define IMG_SATELLITE                          400
-#define IMG_SATELLITE_MOVING                   401
-#define IMG_FLAMES_LEFT1                       402
-#define IMG_FLAMES_LEFT2                       403
-#define IMG_FLAMES_LEFT3                       404
-#define IMG_FLAMES_RIGHT1                      405
-#define IMG_FLAMES_RIGHT2                      406
-#define IMG_FLAMES_RIGHT3                      407
-#define IMG_FLAMES_UP1                         408
-#define IMG_FLAMES_UP2                         409
-#define IMG_FLAMES_UP3                         410
-#define IMG_FLAMES_DOWN1                       411
-#define IMG_FLAMES_DOWN2                       412
-#define IMG_FLAMES_DOWN3                       413
-#define IMG_STONEBLOCK                         414
-#define IMG_PLAYER1                            415
-#define IMG_PLAYER1_DOWN                       416
-#define IMG_PLAYER1_DOWN_MOVING                        417
-#define IMG_PLAYER1_DOWN_DIGGING               418
-#define IMG_PLAYER1_DOWN_PUSHING               419
-#define IMG_PLAYER1_DOWN_SNAPPING              420
-#define IMG_PLAYER1_UP                         421
-#define IMG_PLAYER1_UP_MOVING                  422
-#define IMG_PLAYER1_UP_DIGGING                 423
-#define IMG_PLAYER1_UP_PUSHING                 424
-#define IMG_PLAYER1_UP_SNAPPING                        425
-#define IMG_PLAYER1_LEFT                       426
-#define IMG_PLAYER1_LEFT_MOVING                        427
-#define IMG_PLAYER1_LEFT_DIGGING               428
-#define IMG_PLAYER1_LEFT_PUSHING               429
-#define IMG_PLAYER1_LEFT_SNAPPING              430
-#define IMG_PLAYER1_RIGHT                      431
-#define IMG_PLAYER1_RIGHT_MOVING               432
-#define IMG_PLAYER1_RIGHT_DIGGING              433
-#define IMG_PLAYER1_RIGHT_PUSHING              434
-#define IMG_PLAYER1_RIGHT_SNAPPING             435
-#define IMG_PLAYER2                            436
-#define IMG_PLAYER2_DOWN                       437
-#define IMG_PLAYER2_DOWN_MOVING                        438
-#define IMG_PLAYER2_DOWN_DIGGING               439
-#define IMG_PLAYER2_DOWN_PUSHING               440
-#define IMG_PLAYER2_DOWN_SNAPPING              441
-#define IMG_PLAYER2_UP                         442
-#define IMG_PLAYER2_UP_MOVING                  443
-#define IMG_PLAYER2_UP_DIGGING                 444
-#define IMG_PLAYER2_UP_PUSHING                 445
-#define IMG_PLAYER2_UP_SNAPPING                        446
-#define IMG_PLAYER2_LEFT                       447
-#define IMG_PLAYER2_LEFT_MOVING                        448
-#define IMG_PLAYER2_LEFT_DIGGING               449
-#define IMG_PLAYER2_LEFT_PUSHING               450
-#define IMG_PLAYER2_LEFT_SNAPPING              451
-#define IMG_PLAYER2_RIGHT                      452
-#define IMG_PLAYER2_RIGHT_MOVING               453
-#define IMG_PLAYER2_RIGHT_DIGGING              454
-#define IMG_PLAYER2_RIGHT_PUSHING              455
-#define IMG_PLAYER2_RIGHT_SNAPPING             456
-#define IMG_PLAYER3                            457
-#define IMG_PLAYER3_DOWN                       458
-#define IMG_PLAYER3_DOWN_MOVING                        459
-#define IMG_PLAYER3_DOWN_DIGGING               460
-#define IMG_PLAYER3_DOWN_PUSHING               461
-#define IMG_PLAYER3_DOWN_SNAPPING              462
-#define IMG_PLAYER3_UP                         463
-#define IMG_PLAYER3_UP_MOVING                  464
-#define IMG_PLAYER3_UP_DIGGING                 465
-#define IMG_PLAYER3_UP_PUSHING                 466
-#define IMG_PLAYER3_UP_SNAPPING                        467
-#define IMG_PLAYER3_LEFT                       468
-#define IMG_PLAYER3_LEFT_MOVING                        469
-#define IMG_PLAYER3_LEFT_DIGGING               470
-#define IMG_PLAYER3_LEFT_PUSHING               471
-#define IMG_PLAYER3_LEFT_SNAPPING              472
-#define IMG_PLAYER3_RIGHT                      473
-#define IMG_PLAYER3_RIGHT_MOVING               474
-#define IMG_PLAYER3_RIGHT_DIGGING              475
-#define IMG_PLAYER3_RIGHT_PUSHING              476
-#define IMG_PLAYER3_RIGHT_SNAPPING             477
-#define IMG_PLAYER4                            478
-#define IMG_PLAYER4_DOWN                       479
-#define IMG_PLAYER4_DOWN_MOVING                        480
-#define IMG_PLAYER4_DOWN_DIGGING               481
-#define IMG_PLAYER4_DOWN_PUSHING               482
-#define IMG_PLAYER4_DOWN_SNAPPING              483
-#define IMG_PLAYER4_UP                         484
-#define IMG_PLAYER4_UP_MOVING                  485
-#define IMG_PLAYER4_UP_DIGGING                 486
-#define IMG_PLAYER4_UP_PUSHING                 487
-#define IMG_PLAYER4_UP_SNAPPING                        488
-#define IMG_PLAYER4_LEFT                       489
-#define IMG_PLAYER4_LEFT_MOVING                        490
-#define IMG_PLAYER4_LEFT_DIGGING               491
-#define IMG_PLAYER4_LEFT_PUSHING               492
-#define IMG_PLAYER4_LEFT_SNAPPING              493
-#define IMG_PLAYER4_RIGHT                      494
-#define IMG_PLAYER4_RIGHT_MOVING               495
-#define IMG_PLAYER4_RIGHT_DIGGING              496
-#define IMG_PLAYER4_RIGHT_PUSHING              497
-#define IMG_PLAYER4_RIGHT_SNAPPING             498
-#define IMG_EXPLOSION                          499
-#define IMG_TWINKLE_BLUE                       500
-#define IMG_TWINKLE_WHITE                      501
-#define IMG_STEELWALL_TOPLEFT                  502
-#define IMG_STEELWALL_TOPRIGHT                 503
-#define IMG_STEELWALL_BOTTOMLEFT               504
-#define IMG_STEELWALL_BOTTOMRIGHT              505
-#define IMG_STEELWALL_HORIZONTAL               506
-#define IMG_STEELWALL_VERTICAL                 507
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT                508
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT       509
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT     510
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT    511
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL     512
-#define IMG_INVISIBLE_STEELWALL_VERTICAL       513
-#define IMG_ARROW_BLUE_LEFT                    514
-#define IMG_ARROW_BLUE_RIGHT                   515
-#define IMG_ARROW_BLUE_UP                      516
-#define IMG_ARROW_BLUE_DOWN                    517
-#define IMG_ARROW_RED_LEFT                     518
-#define IMG_ARROW_RED_RIGHT                    519
-#define IMG_ARROW_RED_UP                       520
-#define IMG_ARROW_RED_DOWN                     521
-#define IMG_BALL_RED                           522
-#define IMG_BALL_BLUE                          523
-#define IMG_BALL_YELLOW                                524
-#define IMG_BALL_GRAY                          525
-#define IMG_SCROLLBAR_BLUE                     526
-#define IMG_SCROLLBAR_RED                      527
-#define IMG_SCROLLBAR_GREEN                    528
-#define IMG_SCROLLBAR_YELLOW                   529
-#define IMG_CHAR_SPACE                         530
-#define IMG_CHAR_EXCLAM                                531
-#define IMG_CHAR_QUOTEDBL                      532
-#define IMG_CHAR_NUMBERSIGN                    533
-#define IMG_CHAR_DOLLAR                                534
-#define IMG_CHAR_PROCENT                       535
-#define IMG_CHAR_AMPERSAND                     536
-#define IMG_CHAR_APOSTROPHE                    537
-#define IMG_CHAR_PARENLEFT                     538
-#define IMG_CHAR_PARENRIGHT                    539
-#define IMG_CHAR_ASTERISK                      540
-#define IMG_CHAR_PLUS                          541
-#define IMG_CHAR_COMMA                         542
-#define IMG_CHAR_MINUS                         543
-#define IMG_CHAR_PERIOD                                544
-#define IMG_CHAR_SLASH                         545
-#define IMG_CHAR_0                             546
-#define IMG_CHAR_1                             547
-#define IMG_CHAR_2                             548
-#define IMG_CHAR_3                             549
-#define IMG_CHAR_4                             550
-#define IMG_CHAR_5                             551
-#define IMG_CHAR_6                             552
-#define IMG_CHAR_7                             553
-#define IMG_CHAR_8                             554
-#define IMG_CHAR_9                             555
-#define IMG_CHAR_COLON                         556
-#define IMG_CHAR_SEMICOLON                     557
-#define IMG_CHAR_LESS                          558
-#define IMG_CHAR_EQUAL                         559
-#define IMG_CHAR_GREATER                       560
-#define IMG_CHAR_QUESTION                      561
-#define IMG_CHAR_AT                            562
-#define IMG_CHAR_A                             563
-#define IMG_CHAR_B                             564
-#define IMG_CHAR_C                             565
-#define IMG_CHAR_D                             566
-#define IMG_CHAR_E                             567
-#define IMG_CHAR_F                             568
-#define IMG_CHAR_G                             569
-#define IMG_CHAR_H                             570
-#define IMG_CHAR_I                             571
-#define IMG_CHAR_J                             572
-#define IMG_CHAR_K                             573
-#define IMG_CHAR_L                             574
-#define IMG_CHAR_M                             575
-#define IMG_CHAR_N                             576
-#define IMG_CHAR_O                             577
-#define IMG_CHAR_P                             578
-#define IMG_CHAR_Q                             579
-#define IMG_CHAR_R                             580
-#define IMG_CHAR_S                             581
-#define IMG_CHAR_T                             582
-#define IMG_CHAR_U                             583
-#define IMG_CHAR_V                             584
-#define IMG_CHAR_W                             585
-#define IMG_CHAR_X                             586
-#define IMG_CHAR_Y                             587
-#define IMG_CHAR_Z                             588
-#define IMG_CHAR_AE                            589
-#define IMG_CHAR_OE                            590
-#define IMG_CHAR_UE                            591
-#define IMG_CHAR_COPYRIGHT                     592
-#define IMG_CHAR_UNDERSCORE                    593
-#define IMG_CHAR_EMPTY                         594
-#define IMG_CHAR_DEGREE                                595
-#define IMG_CHAR_TM                            596
-#define IMG_CHAR_CURSOR                                597
+#define IMG_BD_DIAMOND_MOVING                  6
+#define IMG_BD_DIAMOND_FALLING                 7
+#define IMG_BD_MAGIC_WALL                      8
+#define IMG_BD_MAGIC_WALL_ACTIVE               9
+#define IMG_BD_MAGIC_WALL_FILLING              10
+#define IMG_BD_MAGIC_WALL_FULL                 11
+#define IMG_BD_MAGIC_WALL_EMPTYING             12
+#define IMG_BD_MAGIC_WALL_DEAD                 13
+#define IMG_BD_AMOEBA                          14
+#define IMG_BD_AMOEBA_PART1                    15
+#define IMG_BD_AMOEBA_PART2                    16
+#define IMG_BD_AMOEBA_PART3                    17
+#define IMG_BD_AMOEBA_PART4                    18
+#define IMG_BD_BUTTERFLY                       19
+#define IMG_BD_BUTTERFLY_MOVING                        20
+#define IMG_BD_BUTTERFLY_RIGHT                 21
+#define IMG_BD_BUTTERFLY_UP                    22
+#define IMG_BD_BUTTERFLY_LEFT                  23
+#define IMG_BD_BUTTERFLY_DOWN                  24
+#define IMG_BD_FIREFLY                         25
+#define IMG_BD_FIREFLY_MOVING                  26
+#define IMG_BD_FIREFLY_RIGHT                   27
+#define IMG_BD_FIREFLY_UP                      28
+#define IMG_BD_FIREFLY_LEFT                    29
+#define IMG_BD_FIREFLY_DOWN                    30
+#define IMG_SP_EMPTY_SPACE                     31
+#define IMG_SP_ZONK                            32
+#define IMG_SP_ZONK_FALLING                    33
+#define IMG_SP_ZONK_MOVING_LEFT                        34
+#define IMG_SP_ZONK_MOVING_RIGHT               35
+#define IMG_SP_BASE                            36
+#define IMG_SP_MURPHY                          37
+#define IMG_SP_MURPHY_LEFT                     38
+#define IMG_SP_MURPHY_LEFT_MOVING              39
+#define IMG_SP_MURPHY_LEFT_DIGGING             40
+#define IMG_SP_MURPHY_LEFT_PUSHING             41
+#define IMG_SP_MURPHY_LEFT_SNAPPING            42
+#define IMG_SP_MURPHY_RIGHT                    43
+#define IMG_SP_MURPHY_RIGHT_MOVING             44
+#define IMG_SP_MURPHY_RIGHT_DIGGING            45
+#define IMG_SP_MURPHY_RIGHT_PUSHING            46
+#define IMG_SP_MURPHY_RIGHT_SNAPPING           47
+#define IMG_SP_MURPHY_UP                       48
+#define IMG_SP_MURPHY_UP_SNAPPING              49
+#define IMG_SP_MURPHY_DOWN                     50
+#define IMG_SP_MURPHY_DOWN_SNAPPING            51
+#define IMG_SP_MURPHY_CLONE                    52
+#define IMG_SP_INFOTRON                                53
+#define IMG_SP_INFOTRON_FALLING                        54
+#define IMG_SP_CHIP_SINGLE                     55
+#define IMG_SP_CHIP_LEFT                       56
+#define IMG_SP_CHIP_RIGHT                      57
+#define IMG_SP_CHIP_UPPER                      58
+#define IMG_SP_CHIP_LOWER                      59
+#define IMG_SP_HARD_GRAY                       60
+#define IMG_SP_HARD_GREEN                      61
+#define IMG_SP_HARD_BLUE                       62
+#define IMG_SP_HARD_RED                                63
+#define IMG_SP_HARD_YELLOW                     64
+#define IMG_SP_EXIT_CLOSED                     65
+#define IMG_SP_EXIT_OPEN                       66
+#define IMG_SP_DISK_ORANGE                     67
+#define IMG_SP_DISK_ORANGE_FALLING             68
+#define IMG_SP_DISK_ORANGE_PUSHING             69
+#define IMG_SP_DISK_YELLOW                     70
+#define IMG_SP_DISK_YELLOW_PUSHING             71
+#define IMG_SP_DISK_RED                                72
+#define IMG_SP_DISK_RED_COLLECTING             73
+#define IMG_SP_PORT1_RIGHT                     74
+#define IMG_SP_PORT1_DOWN                      75
+#define IMG_SP_PORT1_LEFT                      76
+#define IMG_SP_PORT1_UP                                77
+#define IMG_SP_PORT2_RIGHT                     78
+#define IMG_SP_PORT2_DOWN                      79
+#define IMG_SP_PORT2_LEFT                      80
+#define IMG_SP_PORT2_UP                                81
+#define IMG_SP_PORT_X                          82
+#define IMG_SP_PORT_Y                          83
+#define IMG_SP_PORT_XY                         84
+#define IMG_SP_SNIKSNAK                                85
+#define IMG_SP_SNIKSNAK_LEFT                   86
+#define IMG_SP_SNIKSNAK_RIGHT                  87
+#define IMG_SP_SNIKSNAK_UP                     88
+#define IMG_SP_SNIKSNAK_DOWN                   89
+#define IMG_SP_ELECTRON                                90
+#define IMG_SP_TERMINAL                                91
+#define IMG_SP_TERMINAL_ACTIVE                 92
+#define IMG_SP_BUGGY_BASE                      93
+#define IMG_SP_BUGGY_BASE_ACTIVE               94
+#define IMG_SP_HARD_BASE1                      95
+#define IMG_SP_HARD_BASE2                      96
+#define IMG_SP_HARD_BASE3                      97
+#define IMG_SP_HARD_BASE4                      98
+#define IMG_SP_HARD_BASE5                      99
+#define IMG_SP_HARD_BASE6                      100
+#define IMG_SP_EXPLOSION                       101
+#define IMG_SP_EXPLOSION_INFOTRON              102
+#define IMG_SOKOBAN_OBJECT                     103
+#define IMG_SOKOBAN_FIELD_EMPTY                        104
+#define IMG_SOKOBAN_FIELD_FULL                 105
+#define IMG_EMPTY_SPACE                                106
+#define IMG_SAND                               107
+#define IMG_SAND_CRUMBLED                      108
+#define IMG_WALL                               109
+#define IMG_WALL_CRUMBLED                      110
+#define IMG_STEELWALL                          111
+#define IMG_ROCK                               112
+#define IMG_ROCK_FALLING                       113
+#define IMG_ROCK_MOVING_LEFT                   114
+#define IMG_ROCK_MOVING_RIGHT                  115
+#define IMG_EMERALD                            116
+#define IMG_EMERALD_MOVING                     117
+#define IMG_EMERALD_FALLING                    118
+#define IMG_DIAMOND                            119
+#define IMG_DIAMOND_MOVING                     120
+#define IMG_DIAMOND_FALLING                    121
+#define IMG_BOMB                               122
+#define IMG_NUT                                        123
+#define IMG_NUT_CRACKING                       124
+#define IMG_DYNAMITE                           125
+#define IMG_DYNAMITE_ACTIVE                    126
+#define IMG_WALL_EMERALD                       127
+#define IMG_WALL_DIAMOND                       128
+#define IMG_BUG_RIGHT                          129
+#define IMG_BUG_UP                             130
+#define IMG_BUG_LEFT                           131
+#define IMG_BUG_DOWN                           132
+#define IMG_SPACESHIP_RIGHT                    133
+#define IMG_SPACESHIP_UP                       134
+#define IMG_SPACESHIP_LEFT                     135
+#define IMG_SPACESHIP_DOWN                     136
+#define IMG_YAMYAM                             137
+#define IMG_YAMYAM_MOVING                      138
+#define IMG_ROBOT                              139
+#define IMG_ROBOT_WHEEL                                140
+#define IMG_ROBOT_WHEEL_ACTIVE                 141
+#define IMG_MAGIC_WALL                         142
+#define IMG_MAGIC_WALL_ACTIVE                  143
+#define IMG_MAGIC_WALL_FILLING                 144
+#define IMG_MAGIC_WALL_FULL                    145
+#define IMG_MAGIC_WALL_EMPTYING                        146
+#define IMG_MAGIC_WALL_DEAD                    147
+#define IMG_QUICKSAND_EMPTY                    148
+#define IMG_QUICKSAND_FILLING                  149
+#define IMG_QUICKSAND_FULL                     150
+#define IMG_QUICKSAND_EMPTYING                 151
+#define IMG_ACIDPOOL_TOPLEFT                   152
+#define IMG_ACIDPOOL_TOPRIGHT                  153
+#define IMG_ACIDPOOL_BOTTOMLEFT                        154
+#define IMG_ACIDPOOL_BOTTOM                    155
+#define IMG_ACIDPOOL_BOTTOMRIGHT               156
+#define IMG_ACID                               157
+#define IMG_ACID_SPLASH_LEFT                   158
+#define IMG_ACID_SPLASH_RIGHT                  159
+#define IMG_AMOEBA_DROP                                160
+#define IMG_AMOEBA_CREATING                    161
+#define IMG_AMOEBA_SHRINKING                   162
+#define IMG_AMOEBA_WET                         163
+#define IMG_AMOEBA_WET_PART1                   164
+#define IMG_AMOEBA_WET_PART2                   165
+#define IMG_AMOEBA_WET_PART3                   166
+#define IMG_AMOEBA_WET_PART4                   167
+#define IMG_AMOEBA_DRY                         168
+#define IMG_AMOEBA_DRY_PART1                   169
+#define IMG_AMOEBA_DRY_PART2                   170
+#define IMG_AMOEBA_DRY_PART3                   171
+#define IMG_AMOEBA_DRY_PART4                   172
+#define IMG_AMOEBA_FULL                                173
+#define IMG_AMOEBA_FULL_PART1                  174
+#define IMG_AMOEBA_FULL_PART2                  175
+#define IMG_AMOEBA_FULL_PART3                  176
+#define IMG_AMOEBA_FULL_PART4                  177
+#define IMG_AMOEBA_DEAD                                178
+#define IMG_AMOEBA_DEAD_PART1                  179
+#define IMG_AMOEBA_DEAD_PART2                  180
+#define IMG_AMOEBA_DEAD_PART3                  181
+#define IMG_AMOEBA_DEAD_PART4                  182
+#define IMG_EM_KEY1                            183
+#define IMG_EM_KEY2                            184
+#define IMG_EM_KEY3                            185
+#define IMG_EM_KEY4                            186
+#define IMG_EM_GATE1                           187
+#define IMG_EM_GATE2                           188
+#define IMG_EM_GATE3                           189
+#define IMG_EM_GATE4                           190
+#define IMG_EM_GATE1_GRAY                      191
+#define IMG_EM_GATE2_GRAY                      192
+#define IMG_EM_GATE3_GRAY                      193
+#define IMG_EM_GATE4_GRAY                      194
+#define IMG_EXIT_CLOSED                                195
+#define IMG_EXIT_OPENING                       196
+#define IMG_EXIT_OPEN                          197
+#define IMG_BALLOON                            198
+#define IMG_BALLOON_MOVING                     199
+#define IMG_BALLOON_SEND_LEFT                  200
+#define IMG_BALLOON_SEND_RIGHT                 201
+#define IMG_BALLOON_SEND_UP                    202
+#define IMG_BALLOON_SEND_DOWN                  203
+#define IMG_BALLOON_SEND_ANY_DIRECTION         204
+#define IMG_SPRING                             205
+#define IMG_SPRING_MOVING                      206
+#define IMG_EMC_STEELWALL1                     207
+#define IMG_EMC_STEELWALL2                     208
+#define IMG_EMC_STEELWALL3                     209
+#define IMG_EMC_STEELWALL4                     210
+#define IMG_EMC_WALL_PILLAR_UPPER              211
+#define IMG_EMC_WALL_PILLAR_MIDDLE             212
+#define IMG_EMC_WALL_PILLAR_LOWER              213
+#define IMG_EMC_WALL4                          214
+#define IMG_EMC_WALL5                          215
+#define IMG_EMC_WALL6                          216
+#define IMG_EMC_WALL7                          217
+#define IMG_EMC_WALL8                          218
+#define IMG_INVISIBLE_STEELWALL                        219
+#define IMG_INVISIBLE_STEELWALL_ACTIVE         220
+#define IMG_INVISIBLE_WALL                     221
+#define IMG_INVISIBLE_WALL_ACTIVE              222
+#define IMG_INVISIBLE_SAND                     223
+#define IMG_INVISIBLE_SAND_ACTIVE              224
+#define IMG_CONVEYOR_BELT1_MIDDLE              225
+#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE       226
+#define IMG_CONVEYOR_BELT1_LEFT                        227
+#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE         228
+#define IMG_CONVEYOR_BELT1_RIGHT               229
+#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE                230
+#define IMG_CONVEYOR_BELT1_SWITCH_LEFT         231
+#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE       232
+#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT                233
+#define IMG_CONVEYOR_BELT2_MIDDLE              234
+#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE       235
+#define IMG_CONVEYOR_BELT2_LEFT                        236
+#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE         237
+#define IMG_CONVEYOR_BELT2_RIGHT               238
+#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE                239
+#define IMG_CONVEYOR_BELT2_SWITCH_LEFT         240
+#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE       241
+#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT                242
+#define IMG_CONVEYOR_BELT3_MIDDLE              243
+#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE       244
+#define IMG_CONVEYOR_BELT3_LEFT                        245
+#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE         246
+#define IMG_CONVEYOR_BELT3_RIGHT               247
+#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE                248
+#define IMG_CONVEYOR_BELT3_SWITCH_LEFT         249
+#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE       250
+#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT                251
+#define IMG_CONVEYOR_BELT4_MIDDLE              252
+#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE       253
+#define IMG_CONVEYOR_BELT4_LEFT                        254
+#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE         255
+#define IMG_CONVEYOR_BELT4_RIGHT               256
+#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE                257
+#define IMG_CONVEYOR_BELT4_SWITCH_LEFT         258
+#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE       259
+#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT                260
+#define IMG_SWITCHGATE_SWITCH_UP               261
+#define IMG_SWITCHGATE_SWITCH_DOWN             262
+#define IMG_LIGHT_SWITCH                       263
+#define IMG_LIGHT_SWITCH_ACTIVE                        264
+#define IMG_TIMEGATE_SWITCH                    265
+#define IMG_TIMEGATE_SWITCH_ACTIVE             266
+#define IMG_ENVELOPE                           267
+#define IMG_SIGN_EXCLAMATION                   268
+#define IMG_SIGN_STOP                          269
+#define IMG_LANDMINE                           270
+#define IMG_STEELWALL_SLANTED                  271
+#define IMG_EXTRA_TIME                         272
+#define IMG_SHIELD_NORMAL                      273
+#define IMG_SHIELD_DEADLY                      274
+#define IMG_SHIELD_NORMAL_ACTIVE               275
+#define IMG_SHIELD_DEADLY_ACTIVE               276
+#define IMG_SWITCHGATE_CLOSED                  277
+#define IMG_SWITCHGATE_OPENING                 278
+#define IMG_SWITCHGATE_OPEN                    279
+#define IMG_SWITCHGATE_CLOSING                 280
+#define IMG_TIMEGATE_CLOSED                    281
+#define IMG_TIMEGATE_OPENING                   282
+#define IMG_TIMEGATE_OPEN                      283
+#define IMG_TIMEGATE_CLOSING                   284
+#define IMG_PEARL                              285
+#define IMG_PEARL_BREAKING                     286
+#define IMG_CRYSTAL                            287
+#define IMG_WALL_PEARL                         288
+#define IMG_WALL_CRYSTAL                       289
+#define IMG_TUBE_RIGHT_DOWN                    290
+#define IMG_TUBE_HORIZONTAL_DOWN               291
+#define IMG_TUBE_LEFT_DOWN                     292
+#define IMG_TUBE_HORIZONTAL                    293
+#define IMG_TUBE_VERTICAL_RIGHT                        294
+#define IMG_TUBE_ALL                           295
+#define IMG_TUBE_VERTICAL_LEFT                 296
+#define IMG_TUBE_VERTICAL                      297
+#define IMG_TUBE_RIGHT_UP                      298
+#define IMG_TUBE_HORIZONTAL_UP                 299
+#define IMG_TUBE_LEFT_UP                       300
+#define IMG_TRAP                               301
+#define IMG_TRAP_ACTIVE                                302
+#define IMG_DX_SUPABOMB                                303
+#define IMG_KEY1                               304
+#define IMG_KEY2                               305
+#define IMG_KEY3                               306
+#define IMG_KEY4                               307
+#define IMG_GATE1                              308
+#define IMG_GATE2                              309
+#define IMG_GATE3                              310
+#define IMG_GATE4                              311
+#define IMG_GATE1_GRAY                         312
+#define IMG_GATE2_GRAY                         313
+#define IMG_GATE3_GRAY                         314
+#define IMG_GATE4_GRAY                         315
+#define IMG_GAMEOFLIFE                         316
+#define IMG_BIOMAZE                            317
+#define IMG_PACMAN_RIGHT                       318
+#define IMG_PACMAN_UP                          319
+#define IMG_PACMAN_LEFT                                320
+#define IMG_PACMAN_DOWN                                321
+#define IMG_LAMP                               322
+#define IMG_LAMP_ACTIVE                                323
+#define IMG_TIME_ORB_FULL                      324
+#define IMG_TIME_ORB_EMPTY                     325
+#define IMG_EMERALD_YELLOW                     326
+#define IMG_EMERALD_YELLOW_FALLING             327
+#define IMG_EMERALD_RED                                328
+#define IMG_EMERALD_RED_FALLING                        329
+#define IMG_EMERALD_PURPLE                     330
+#define IMG_EMERALD_PURPLE_FALLING             331
+#define IMG_WALL_EMERALD_YELLOW                        332
+#define IMG_WALL_EMERALD_RED                   333
+#define IMG_WALL_EMERALD_PURPLE                        334
+#define IMG_WALL_BD_DIAMOND                    335
+#define IMG_WALL_GROWING                       336
+#define IMG_WALL_GROWING_XY                    337
+#define IMG_WALL_GROWING_X                     338
+#define IMG_WALL_GROWING_Y                     339
+#define IMG_WALL_GROWING_ACTIVE_LEFT           340
+#define IMG_WALL_GROWING_ACTIVE_RIGHT          341
+#define IMG_WALL_GROWING_ACTIVE_UP             342
+#define IMG_WALL_GROWING_ACTIVE_DOWN           343
+#define IMG_BLACK_ORB                          344
+#define IMG_SPEED_PILL                         345
+#define IMG_DARK_YAMYAM                                346
+#define IMG_DYNABOMB_ACTIVE                    347
+#define IMG_DYNABOMB_PLAYER1_ACTIVE            348
+#define IMG_DYNABOMB_PLAYER2_ACTIVE            349
+#define IMG_DYNABOMB_PLAYER3_ACTIVE            350
+#define IMG_DYNABOMB_PLAYER4_ACTIVE            351
+#define IMG_DYNABOMB_NR                                352
+#define IMG_DYNABOMB_SZ                                353
+#define IMG_DYNABOMB_XL                                354
+#define IMG_PIG                                        355
+#define IMG_PIG_DOWN                           356
+#define IMG_PIG_DOWN_MOVING                    357
+#define IMG_PIG_DOWN_EATING                    358
+#define IMG_PIG_UP                             359
+#define IMG_PIG_UP_MOVING                      360
+#define IMG_PIG_UP_EATING                      361
+#define IMG_PIG_LEFT                           362
+#define IMG_PIG_LEFT_MOVING                    363
+#define IMG_PIG_LEFT_EATING                    364
+#define IMG_PIG_RIGHT                          365
+#define IMG_PIG_RIGHT_MOVING                   366
+#define IMG_PIG_RIGHT_EATING                   367
+#define IMG_DRAGON                             368
+#define IMG_DRAGON_DOWN                                369
+#define IMG_DRAGON_DOWN_MOVING                 370
+#define IMG_DRAGON_DOWN_ATTACKING              371
+#define IMG_DRAGON_UP                          372
+#define IMG_DRAGON_UP_MOVING                   373
+#define IMG_DRAGON_UP_ATTACKING                        374
+#define IMG_DRAGON_LEFT                                375
+#define IMG_DRAGON_LEFT_MOVING                 376
+#define IMG_DRAGON_LEFT_ATTACKING              377
+#define IMG_DRAGON_RIGHT                       378
+#define IMG_DRAGON_RIGHT_MOVING                        379
+#define IMG_DRAGON_RIGHT_ATTACKING             380
+#define IMG_MOLE                               381
+#define IMG_MOLE_DOWN                          382
+#define IMG_MOLE_DOWN_MOVING                   383
+#define IMG_MOLE_DOWN_DIGGING                  384
+#define IMG_MOLE_UP                            385
+#define IMG_MOLE_UP_MOVING                     386
+#define IMG_MOLE_UP_DIGGING                    387
+#define IMG_MOLE_LEFT                          388
+#define IMG_MOLE_LEFT_MOVING                   389
+#define IMG_MOLE_LEFT_DIGGING                  390
+#define IMG_MOLE_RIGHT                         391
+#define IMG_MOLE_RIGHT_MOVING                  392
+#define IMG_MOLE_RIGHT_DIGGING                 393
+#define IMG_PENGUIN                            394
+#define IMG_PENGUIN_DOWN                       395
+#define IMG_PENGUIN_DOWN_MOVING                        396
+#define IMG_PENGUIN_UP                         397
+#define IMG_PENGUIN_UP_MOVING                  398
+#define IMG_PENGUIN_LEFT                       399
+#define IMG_PENGUIN_LEFT_MOVING                        400
+#define IMG_PENGUIN_RIGHT                      401
+#define IMG_PENGUIN_RIGHT_MOVING               402
+#define IMG_SATELLITE                          403
+#define IMG_SATELLITE_MOVING                   404
+#define IMG_FLAMES_LEFT1                       405
+#define IMG_FLAMES_LEFT2                       406
+#define IMG_FLAMES_LEFT3                       407
+#define IMG_FLAMES_RIGHT1                      408
+#define IMG_FLAMES_RIGHT2                      409
+#define IMG_FLAMES_RIGHT3                      410
+#define IMG_FLAMES_UP1                         411
+#define IMG_FLAMES_UP2                         412
+#define IMG_FLAMES_UP3                         413
+#define IMG_FLAMES_DOWN1                       414
+#define IMG_FLAMES_DOWN2                       415
+#define IMG_FLAMES_DOWN3                       416
+#define IMG_STONEBLOCK                         417
+#define IMG_PLAYER1                            418
+#define IMG_PLAYER1_DOWN                       419
+#define IMG_PLAYER1_DOWN_MOVING                        420
+#define IMG_PLAYER1_DOWN_DIGGING               421
+#define IMG_PLAYER1_DOWN_PUSHING               422
+#define IMG_PLAYER1_DOWN_SNAPPING              423
+#define IMG_PLAYER1_UP                         424
+#define IMG_PLAYER1_UP_MOVING                  425
+#define IMG_PLAYER1_UP_DIGGING                 426
+#define IMG_PLAYER1_UP_PUSHING                 427
+#define IMG_PLAYER1_UP_SNAPPING                        428
+#define IMG_PLAYER1_LEFT                       429
+#define IMG_PLAYER1_LEFT_MOVING                        430
+#define IMG_PLAYER1_LEFT_DIGGING               431
+#define IMG_PLAYER1_LEFT_PUSHING               432
+#define IMG_PLAYER1_LEFT_SNAPPING              433
+#define IMG_PLAYER1_RIGHT                      434
+#define IMG_PLAYER1_RIGHT_MOVING               435
+#define IMG_PLAYER1_RIGHT_DIGGING              436
+#define IMG_PLAYER1_RIGHT_PUSHING              437
+#define IMG_PLAYER1_RIGHT_SNAPPING             438
+#define IMG_PLAYER2                            439
+#define IMG_PLAYER2_DOWN                       440
+#define IMG_PLAYER2_DOWN_MOVING                        441
+#define IMG_PLAYER2_DOWN_DIGGING               442
+#define IMG_PLAYER2_DOWN_PUSHING               443
+#define IMG_PLAYER2_DOWN_SNAPPING              444
+#define IMG_PLAYER2_UP                         445
+#define IMG_PLAYER2_UP_MOVING                  446
+#define IMG_PLAYER2_UP_DIGGING                 447
+#define IMG_PLAYER2_UP_PUSHING                 448
+#define IMG_PLAYER2_UP_SNAPPING                        449
+#define IMG_PLAYER2_LEFT                       450
+#define IMG_PLAYER2_LEFT_MOVING                        451
+#define IMG_PLAYER2_LEFT_DIGGING               452
+#define IMG_PLAYER2_LEFT_PUSHING               453
+#define IMG_PLAYER2_LEFT_SNAPPING              454
+#define IMG_PLAYER2_RIGHT                      455
+#define IMG_PLAYER2_RIGHT_MOVING               456
+#define IMG_PLAYER2_RIGHT_DIGGING              457
+#define IMG_PLAYER2_RIGHT_PUSHING              458
+#define IMG_PLAYER2_RIGHT_SNAPPING             459
+#define IMG_PLAYER3                            460
+#define IMG_PLAYER3_DOWN                       461
+#define IMG_PLAYER3_DOWN_MOVING                        462
+#define IMG_PLAYER3_DOWN_DIGGING               463
+#define IMG_PLAYER3_DOWN_PUSHING               464
+#define IMG_PLAYER3_DOWN_SNAPPING              465
+#define IMG_PLAYER3_UP                         466
+#define IMG_PLAYER3_UP_MOVING                  467
+#define IMG_PLAYER3_UP_DIGGING                 468
+#define IMG_PLAYER3_UP_PUSHING                 469
+#define IMG_PLAYER3_UP_SNAPPING                        470
+#define IMG_PLAYER3_LEFT                       471
+#define IMG_PLAYER3_LEFT_MOVING                        472
+#define IMG_PLAYER3_LEFT_DIGGING               473
+#define IMG_PLAYER3_LEFT_PUSHING               474
+#define IMG_PLAYER3_LEFT_SNAPPING              475
+#define IMG_PLAYER3_RIGHT                      476
+#define IMG_PLAYER3_RIGHT_MOVING               477
+#define IMG_PLAYER3_RIGHT_DIGGING              478
+#define IMG_PLAYER3_RIGHT_PUSHING              479
+#define IMG_PLAYER3_RIGHT_SNAPPING             480
+#define IMG_PLAYER4                            481
+#define IMG_PLAYER4_DOWN                       482
+#define IMG_PLAYER4_DOWN_MOVING                        483
+#define IMG_PLAYER4_DOWN_DIGGING               484
+#define IMG_PLAYER4_DOWN_PUSHING               485
+#define IMG_PLAYER4_DOWN_SNAPPING              486
+#define IMG_PLAYER4_UP                         487
+#define IMG_PLAYER4_UP_MOVING                  488
+#define IMG_PLAYER4_UP_DIGGING                 489
+#define IMG_PLAYER4_UP_PUSHING                 490
+#define IMG_PLAYER4_UP_SNAPPING                        491
+#define IMG_PLAYER4_LEFT                       492
+#define IMG_PLAYER4_LEFT_MOVING                        493
+#define IMG_PLAYER4_LEFT_DIGGING               494
+#define IMG_PLAYER4_LEFT_PUSHING               495
+#define IMG_PLAYER4_LEFT_SNAPPING              496
+#define IMG_PLAYER4_RIGHT                      497
+#define IMG_PLAYER4_RIGHT_MOVING               498
+#define IMG_PLAYER4_RIGHT_DIGGING              499
+#define IMG_PLAYER4_RIGHT_PUSHING              500
+#define IMG_PLAYER4_RIGHT_SNAPPING             501
+#define IMG_EXPLOSION                          502
+#define IMG_TWINKLE_BLUE                       503
+#define IMG_TWINKLE_WHITE                      504
+#define IMG_STEELWALL_TOPLEFT                  505
+#define IMG_STEELWALL_TOPRIGHT                 506
+#define IMG_STEELWALL_BOTTOMLEFT               507
+#define IMG_STEELWALL_BOTTOMRIGHT              508
+#define IMG_STEELWALL_HORIZONTAL               509
+#define IMG_STEELWALL_VERTICAL                 510
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT                511
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT       512
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT     513
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT    514
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL     515
+#define IMG_INVISIBLE_STEELWALL_VERTICAL       516
+#define IMG_ARROW_BLUE_LEFT                    517
+#define IMG_ARROW_BLUE_RIGHT                   518
+#define IMG_ARROW_BLUE_UP                      519
+#define IMG_ARROW_BLUE_DOWN                    520
+#define IMG_ARROW_RED_LEFT                     521
+#define IMG_ARROW_RED_RIGHT                    522
+#define IMG_ARROW_RED_UP                       523
+#define IMG_ARROW_RED_DOWN                     524
+#define IMG_BALL_RED                           525
+#define IMG_BALL_BLUE                          526
+#define IMG_BALL_YELLOW                                527
+#define IMG_BALL_GRAY                          528
+#define IMG_SCROLLBAR_BLUE                     529
+#define IMG_SCROLLBAR_RED                      530
+#define IMG_SCROLLBAR_GREEN                    531
+#define IMG_SCROLLBAR_YELLOW                   532
+#define IMG_CHAR_SPACE                         533
+#define IMG_CHAR_EXCLAM                                534
+#define IMG_CHAR_QUOTEDBL                      535
+#define IMG_CHAR_NUMBERSIGN                    536
+#define IMG_CHAR_DOLLAR                                537
+#define IMG_CHAR_PROCENT                       538
+#define IMG_CHAR_AMPERSAND                     539
+#define IMG_CHAR_APOSTROPHE                    540
+#define IMG_CHAR_PARENLEFT                     541
+#define IMG_CHAR_PARENRIGHT                    542
+#define IMG_CHAR_ASTERISK                      543
+#define IMG_CHAR_PLUS                          544
+#define IMG_CHAR_COMMA                         545
+#define IMG_CHAR_MINUS                         546
+#define IMG_CHAR_PERIOD                                547
+#define IMG_CHAR_SLASH                         548
+#define IMG_CHAR_0                             549
+#define IMG_CHAR_1                             550
+#define IMG_CHAR_2                             551
+#define IMG_CHAR_3                             552
+#define IMG_CHAR_4                             553
+#define IMG_CHAR_5                             554
+#define IMG_CHAR_6                             555
+#define IMG_CHAR_7                             556
+#define IMG_CHAR_8                             557
+#define IMG_CHAR_9                             558
+#define IMG_CHAR_COLON                         559
+#define IMG_CHAR_SEMICOLON                     560
+#define IMG_CHAR_LESS                          561
+#define IMG_CHAR_EQUAL                         562
+#define IMG_CHAR_GREATER                       563
+#define IMG_CHAR_QUESTION                      564
+#define IMG_CHAR_AT                            565
+#define IMG_CHAR_A                             566
+#define IMG_CHAR_B                             567
+#define IMG_CHAR_C                             568
+#define IMG_CHAR_D                             569
+#define IMG_CHAR_E                             570
+#define IMG_CHAR_F                             571
+#define IMG_CHAR_G                             572
+#define IMG_CHAR_H                             573
+#define IMG_CHAR_I                             574
+#define IMG_CHAR_J                             575
+#define IMG_CHAR_K                             576
+#define IMG_CHAR_L                             577
+#define IMG_CHAR_M                             578
+#define IMG_CHAR_N                             579
+#define IMG_CHAR_O                             580
+#define IMG_CHAR_P                             581
+#define IMG_CHAR_Q                             582
+#define IMG_CHAR_R                             583
+#define IMG_CHAR_S                             584
+#define IMG_CHAR_T                             585
+#define IMG_CHAR_U                             586
+#define IMG_CHAR_V                             587
+#define IMG_CHAR_W                             588
+#define IMG_CHAR_X                             589
+#define IMG_CHAR_Y                             590
+#define IMG_CHAR_Z                             591
+#define IMG_CHAR_AE                            592
+#define IMG_CHAR_OE                            593
+#define IMG_CHAR_UE                            594
+#define IMG_CHAR_COPYRIGHT                     595
+#define IMG_CHAR_UNDERSCORE                    596
+#define IMG_CHAR_EMPTY                         597
+#define IMG_CHAR_DEGREE                                598
+#define IMG_CHAR_TM                            599
+#define IMG_CHAR_CURSOR                                600
 
-#define NUM_IMAGE_FILES                                598
+#define NUM_IMAGE_FILES                                601
 
 #endif /* CONF_GFX_H */
index 4d49a8c9c12eb248109c8fab758c499259434a0c..a2e442f9546daf34ff2d62379543d5e08eccac9b 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-10-27 02:23]"
+#define COMPILE_DATE_STRING "[2002-10-27 20:36]"
index eb11ae1dd3ab48305474d6dde21e2371cf31b088..81f233b0d2fd2062adf09c6164087d37521528d7 100644 (file)
@@ -1325,6 +1325,7 @@ int NewHiScore()
 
 void InitMovingField(int x, int y, int direction)
 {
+  int element = Feld[x][y];
   int newx = x + (direction == MV_LEFT ? -1 : direction == MV_RIGHT ? +1 : 0);
   int newy = y + (direction == MV_UP   ? -1 : direction == MV_DOWN  ? +1 : 0);
 
@@ -1334,7 +1335,10 @@ void InitMovingField(int x, int y, int direction)
   if (Feld[newx][newy] == EL_EMPTY)
     Feld[newx][newy] = EL_BLOCKED;
 
-  GfxAction[x][y] = GFX_ACTION_MOVING;
+  if (direction == MV_DOWN && CAN_FALL(element))
+    GfxAction[x][y] = GFX_ACTION_FALLING;
+  else
+    GfxAction[x][y] = GFX_ACTION_MOVING;
 }
 
 void Moving2Blocked(int x, int y, int *goes_to_x, int *goes_to_y)
@@ -2908,7 +2912,10 @@ void StartMoving(int x, int y)
 
       if ((belt_dir == MV_LEFT  && left_is_free) ||
          (belt_dir == MV_RIGHT && right_is_free))
+      {
        InitMovingField(x, y, belt_dir);
+       GfxAction[x][y] = GFX_ACTION_DEFAULT;
+      }
     }
   }
   else if (CAN_MOVE(element))
@@ -3386,8 +3393,14 @@ void ContinueMoving(int x, int y)
   }
   else                         /* still moving on */
   {
+#if 0
     if (GfxAction[x][y] == GFX_ACTION_DEFAULT)
+    {
+      printf("reset GfxAction...\n");
+
       GfxAction[x][y] = GFX_ACTION_MOVING;
+    }
+#endif
 
     DrawLevelField(x, y);
   }
index 7d0c731ba252e532f0df5cf6ca38a648c8818fb0..b78b32065d56dafb7628e4cef29bbb09dd7a0cc0 100644 (file)
@@ -287,7 +287,7 @@ static void InitTileClipmasks()
   int i;
 
   /* initialize pixmap array for special X11 tile clipping to Pixmap 'None' */
-  for(i=0; i<NUM_TILES; i++)
+  for (i=0; i<NUM_TILES; i++)
     tile_clipmask[i] = None;
 
 #if defined(TARGET_X11)
@@ -301,7 +301,7 @@ static void InitTileClipmasks()
   tile_clip_gc = XCreateGC(display, window->drawable,
                           clip_gc_valuemask, &clip_gc_values);
 
-  for(i=0; i<NUM_BITMAPS; i++)
+  for (i=0; i<NUM_BITMAPS; i++)
   {
     if (pix[i]->clip_mask)
     {
@@ -323,11 +323,11 @@ static void InitTileClipmasks()
                               clip_gc_valuemask, &clip_gc_values);
 
   /* create only those clipping Pixmaps we really need */
-  for(i=0; tile_needs_clipping[i].start>=0; i++)
+  for (i=0; tile_needs_clipping[i].start>=0; i++)
   {
     int j;
 
-    for(j=0; j<tile_needs_clipping[i].count; j++)
+    for (j=0; j<tile_needs_clipping[i].count; j++)
     {
       int tile = tile_needs_clipping[i].start + j;
       int graphic = tile;
@@ -358,7 +358,7 @@ void FreeTileClipmasks()
 #if defined(TARGET_X11)
   int i;
 
-  for(i=0; i<NUM_TILES; i++)
+  for (i=0; i<NUM_TILES; i++)
   {
     if (tile_clipmask[i] != None)
     {
@@ -371,7 +371,7 @@ void FreeTileClipmasks()
     XFreeGC(display, tile_clip_gc);
   tile_clip_gc = None;
 
-  for(i=0; i<NUM_BITMAPS; i++)
+  for (i=0; i<NUM_BITMAPS; i++)
   {
     if (pix[i] != NULL && pix[i]->stored_clip_gc)
     {
@@ -411,7 +411,7 @@ void InitGfx()
 
   DrawInitText("Loading graphics:", 120, FC_GREEN);
 
-  for(i=0; i<NUM_PICTURES; i++)
+  for (i=0; i<NUM_PICTURES; i++)
   {
     if (i != PIX_FONT_SMALL)
     {
@@ -439,8 +439,8 @@ void InitGfxBackground()
   ClearRectangle(backbuffer, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
   ClearRectangle(pix[PIX_DB_DOOR], 0, 0, 3 * DXSIZE, DYSIZE + VYSIZE);
 
-  for(x=0; x<MAX_BUF_XSIZE; x++)
-    for(y=0; y<MAX_BUF_YSIZE; y++)
+  for (x=0; x<MAX_BUF_XSIZE; x++)
+    for (y=0; y<MAX_BUF_YSIZE; y++)
       redraw[x][y] = 0;
   redraw_tiles = 0;
   redraw_mask = REDRAW_ALL;
@@ -514,7 +514,7 @@ void ReloadCustomArtwork()
 
     ClearRectangle(window, 0, 0, WIN_XSIZE, WIN_YSIZE);
 
-    for(i=0; i<NUM_PICTURES; i++)
+    for (i=0; i<NUM_PICTURES; i++)
     {
       DrawInitText(image_filename[i], 150, FC_YELLOW);
       ReloadCustomImage(pix[i], image_filename[i]);
@@ -942,13 +942,13 @@ void InitElementInfo()
   int i, act, dir;
 
   /* set values to -1 to identify later as "uninitialized" values */
-  for(i=0; i<MAX_ELEMENTS; i++)
+  for (i=0; i<MAX_ELEMENTS; i++)
   {
-    for(act=0; act<NUM_GFX_ACTIONS_MAPPED; act++)
+    for (act=0; act<NUM_GFX_ACTIONS_MAPPED; act++)
     {
       element_info[i].graphic[act] = -1;
 
-      for(dir=0; dir<NUM_MV_DIRECTIONS; dir++)
+      for (dir=0; dir<NUM_MV_DIRECTIONS; dir++)
        element_info[i].direction_graphic[act][dir] = -1;
     }
   }
@@ -1035,7 +1035,7 @@ void InitElementInfo()
   }
 
   /* now set all '-1' values to element specific default values */
-  for(i=0; i<MAX_ELEMENTS; i++)
+  for (i=0; i<MAX_ELEMENTS; i++)
   {
     int default_action_graphic = element_info[i].graphic[GFX_ACTION_DEFAULT];
     int default_action_direction_graphic[NUM_MV_DIRECTIONS];
@@ -1043,7 +1043,7 @@ void InitElementInfo()
     if (default_action_graphic == -1)
       default_action_graphic = IMG_CHAR_QUESTION;
 
-    for(dir=0; dir<NUM_MV_DIRECTIONS; dir++)
+    for (dir=0; dir<NUM_MV_DIRECTIONS; dir++)
     {
       default_action_direction_graphic[dir] =
        element_info[i].direction_graphic[GFX_ACTION_DEFAULT][dir];
@@ -1052,9 +1052,9 @@ void InitElementInfo()
        default_action_direction_graphic[dir] = default_action_graphic;
     }
 
-    for(act=0; act<NUM_GFX_ACTIONS_MAPPED; act++)
+    for (act=0; act<NUM_GFX_ACTIONS_MAPPED; act++)
     {
-      for(dir=0; dir<NUM_MV_DIRECTIONS; dir++)
+      for (dir=0; dir<NUM_MV_DIRECTIONS; dir++)
       {
        int default_direction_graphic = element_info[i].graphic[act];
 
@@ -1078,12 +1078,13 @@ void InitElementInfo()
 
 static void InitGraphicInfo()
 {
+  static int gfx_action[NUM_IMAGE_FILES];
   int i;
 
   image_files = getCurrentImageList();
 
 #if 0
-  for(i=0; i<MAX_GRAPHICS; i++)
+  for (i=0; i<MAX_GRAPHICS; i++)
   {
     /* always start with reliable default values */
     graphic_info[i].bitmap = NULL;
@@ -1095,7 +1096,26 @@ static void InitGraphicInfo()
   }
 #endif
 
-  for(i=0; i<NUM_IMAGE_FILES; i++)
+  /* set temporary graphics action field to default value */
+  for (i=0; i<NUM_IMAGE_FILES; i++)
+    gfx_action[i] = GFX_ACTION_DEFAULT;
+
+  /* set temporary graphics action field from element_to_graphic list */
+  i = 0;
+  while (element_to_graphic[i].element > -1)
+  {
+    int action    = element_to_graphic[i].action;
+    int graphic   = element_to_graphic[i].graphic;
+
+    if (action == -1)
+      action = GFX_ACTION_DEFAULT;
+
+    gfx_action[graphic] = action;
+
+    i++;
+  }
+
+  for (i=0; i<NUM_IMAGE_FILES; i++)
   {
     int *parameter = image_files[i].parameter;
 
@@ -1159,8 +1179,16 @@ static void InitGraphicInfo()
     }
 #endif
 
+#if 1
     /* animation synchronized with global frame counter, not move position */
     new_graphic_info[i].anim_global_sync = parameter[GFX_ARG_GLOBAL_SYNC];
+    if (parameter[GFX_ARG_GLOBAL_SYNC] == -1)
+      new_graphic_info[i].anim_global_sync =
+       (gfx_action[i] == GFX_ACTION_DEFAULT ? TRUE : FALSE);
+#else
+    /* animation synchronized with global frame counter, not move position */
+    new_graphic_info[i].anim_global_sync = parameter[GFX_ARG_GLOBAL_SYNC];
+#endif
   }
 
 #if 0
@@ -2390,20 +2418,20 @@ void InitElementProperties()
   static int num_properties1 = SIZEOF_ARRAY(ep1_num, int *);
   static int num_properties2 = SIZEOF_ARRAY(ep2_num, int *);
 
-  for(i=0; i<MAX_ELEMENTS; i++)
+  for (i=0; i<MAX_ELEMENTS; i++)
   {
     Elementeigenschaften1[i] = 0;
     Elementeigenschaften2[i] = 0;
   }
 
-  for(i=0; i<num_properties1; i++)
-    for(j=0; j<*(ep1_num[i]); j++)
+  for (i=0; i<num_properties1; i++)
+    for (j=0; j<*(ep1_num[i]); j++)
       Elementeigenschaften1[(ep1_array[i])[j]] |= ep1_bit[i];
-  for(i=0; i<num_properties2; i++)
-    for(j=0; j<*(ep2_num[i]); j++)
+  for (i=0; i<num_properties2; i++)
+    for (j=0; j<*(ep2_num[i]); j++)
       Elementeigenschaften2[(ep2_array[i])[j]] |= ep2_bit[i];
 
-  for(i=EL_CHAR_START; i<=EL_CHAR_END; i++)
+  for (i=EL_CHAR_START; i<=EL_CHAR_END; i++)
     Elementeigenschaften1[i] |= (EP_BIT_CHAR | EP_BIT_INACTIVE);
 }
 
@@ -2472,7 +2500,7 @@ void CloseAllAndExit(int exit_value)
   FreeAllImages();
 
   FreeTileClipmasks();
-  for(i=0; i<NUM_BITMAPS; i++)
+  for (i=0; i<NUM_BITMAPS; i++)
     FreeBitmap(pix[i]);
 
   CloseVideoDisplay();
index 9158955f55dc894389bfe1d0776d61836aed095b..4af4cf39ada68691fefd322ead9d173e0bfdcb08 100644 (file)
@@ -151,13 +151,17 @@ int graphics_action_mapping[] =
   6,           /* GFX_ACTION_PUSHING           (7)  */
 
   7,           /* GFX_ACTION_PASSING           (8)  */
-  7,           /* GFX_ACTION_IMPACT            (9) */
+  7,           /* GFX_ACTION_IMPACT            (9)  */
   7,           /* GFX_ACTION_CRACKING          (10) */
-  7,           /* GFX_ACTION_ACTIVATING        (11) */
-  7,           /* GFX_ACTION_EATING            (12) */
-  7,           /* GFX_ACTION_ATTACKING         (13) */
-  7,           /* GFX_ACTION_GROWING           (14) */
-  7            /* GFX_ACTION_OTHER             (15) */
+  7,           /* GFX_ACTION_BREAKING          (11) */
+  7,           /* GFX_ACTION_ACTIVATING        (12) */
+  7,           /* GFX_ACTION_OPENING           (13) */
+  7,           /* GFX_ACTION_CLOSING           (14) */
+  7,           /* GFX_ACTION_EATING            (15) */
+  7,           /* GFX_ACTION_ATTACKING         (16) */
+  7,           /* GFX_ACTION_GROWING           (17) */
+  7,           /* GFX_ACTION_SHRINKING         (18) */
+  7            /* GFX_ACTION_OTHER             (19) */
 };
 
 struct ConfigInfo image_config_suffix[] =
@@ -174,7 +178,7 @@ struct ConfigInfo image_config_suffix[] =
   { ".mode_pingpong",                  "0"                     },
   { ".mode_pingpong2",                 "0"                     },
   { ".mode_reverse",                   "0"                     },
-  { ".global_sync",                    "0"                     },
+  { ".global_sync",                    "-1"                    },
 
   { NULL,                              NULL                    }
 };
@@ -220,10 +224,16 @@ struct ConfigInfo image_config[] =
   { "bd_diamond.frames",                       "4"                     },
   { "bd_diamond.delay",                                "4"                     },
   { "bd_diamond.mode_reverse",                 "1"                     },
+  { "bd_diamond.moving",                       "RocksElements.pcx"     },
+  { "bd_diamond.moving.xpos",                  "3"                     },
+  { "bd_diamond.moving.ypos",                  "10"                    },
+  { "bd_diamond.moving.frames",                        "2"                     },
+  { "bd_diamond.moving.delay",                 "4"                     },
   { "bd_diamond.falling",                      "RocksElements.pcx"     },
   { "bd_diamond.falling.xpos",                 "3"                     },
   { "bd_diamond.falling.ypos",                 "10"                    },
   { "bd_diamond.falling.frames",               "2"                     },
+  { "bd_diamond.falling.delay",                        "4"                     },
 
   { "bd_magic_wall",                           "RocksElements.pcx"     },
   { "bd_magic_wall.xpos",                      "12"                    },
@@ -613,7 +623,6 @@ struct ConfigInfo image_config[] =
   { "sp_electron.ypos",                                "10"                    },
   { "sp_electron.frames",                      "8"                     },
   { "sp_electron.delay",                       "2"                     },
-  { "sp_electron.global_sync",                 "1"                     },
 
   { "sp_terminal",                             "RocksSP.pcx"           },
   { "sp_terminal.xpos",                                "8"                     },
@@ -741,19 +750,31 @@ struct ConfigInfo image_config[] =
   { "emerald.xpos",                            "8"                     },
   { "emerald.ypos",                            "0"                     },
   { "emerald.frames",                          "1"                     },
+  { "emerald.moving",                          "RocksElements.pcx"     },
+  { "emerald.moving.xpos",                     "8"                     },
+  { "emerald.moving.ypos",                     "0"                     },
+  { "emerald.moving.frames",                   "2"                     },
+  { "emerald.moving.delay",                    "4"                     },
   { "emerald.falling",                         "RocksElements.pcx"     },
   { "emerald.falling.xpos",                    "8"                     },
   { "emerald.falling.ypos",                    "0"                     },
   { "emerald.falling.frames",                  "2"                     },
+  { "emerald.falling.delay",                   "4"                     },
 
   { "diamond",                                 "RocksElements.pcx"     },
   { "diamond.xpos",                            "10"                    },
   { "diamond.ypos",                            "0"                     },
   { "diamond.frames",                          "1"                     },
+  { "diamond.moving",                          "RocksElements.pcx"     },
+  { "diamond.moving.xpos",                     "10"                    },
+  { "diamond.moving.ypos",                     "0"                     },
+  { "diamond.moving.frames",                   "2"                     },
+  { "diamond.moving.delay",                    "4"                     },
   { "diamond.falling",                         "RocksElements.pcx"     },
   { "diamond.falling.xpos",                    "10"                    },
   { "diamond.falling.ypos",                    "0"                     },
   { "diamond.falling.frames",                  "2"                     },
+  { "diamond.falling.delay",                   "4"                     },
 
   { "bomb",                                    "RocksElements.pcx"     },
   { "bomb.xpos",                               "11"                    },
@@ -941,11 +962,13 @@ struct ConfigInfo image_config[] =
   { "acid_splash_left.ypos",                   "10"                    },
   { "acid_splash_left.frames",                 "4"                     },
   { "acid_splash_left.delay",                  "2"                     },
+  { "acid_splash_left.global_sync",            "0"                     },
   { "acid_splash_right",                       "RocksHeroes.pcx"       },
   { "acid_splash_right.xpos",                  "12"                    },
   { "acid_splash_right.ypos",                  "10"                    },
   { "acid_splash_right.frames",                        "4"                     },
   { "acid_splash_right.delay",                 "2"                     },
+  { "acid_splash_right.global_sync",           "0"                     },
 
   { "amoeba_drop",                             "RocksElements.pcx"     },
   { "amoeba_drop.xpos",                                "5"                     },
index af0b57cfd3ecf6ca0e297993b43ff2a5b9110401..ff6f5f5098ccfae3032f1ea2a85e1c55d7791e01 100644 (file)
 #define GFX_ACTION_PASSING             8
 #define GFX_ACTION_IMPACT              9
 #define GFX_ACTION_CRACKING            10
-#define GFX_ACTION_ACTIVATING          11
-#define GFX_ACTION_EATING              12
-#define GFX_ACTION_ATTACKING           13
-#define GFX_ACTION_GROWING             14
-#define GFX_ACTION_OTHER               15
-
-#define NUM_GFX_ACTIONS                        16
+#define GFX_ACTION_BREAKING            11
+#define GFX_ACTION_ACTIVATING          12
+#define GFX_ACTION_OPENING             13
+#define GFX_ACTION_CLOSING             14
+#define GFX_ACTION_EATING              15
+#define GFX_ACTION_ATTACKING           16
+#define GFX_ACTION_GROWING             17
+#define GFX_ACTION_SHRINKING           18
+#define GFX_ACTION_OTHER               19
+
+#define NUM_GFX_ACTIONS                        20
 #define NUM_GFX_ACTIONS_MAPPED         8
 
 
index b3dca8a0b8e2616e44d004232646fc46c8f38182..fed92762a5c67701cefcf9d6da900ee2d97e729a 100644 (file)
@@ -1271,8 +1271,9 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element,
 
 inline static int getFramePosition(int x, int y)
 {
+  int frame_pos = -1;          /* default: global synchronization */
+#if 0
   int element = Feld[x][y];
-  int frame_pos = -1;
 
   if (element == EL_QUICKSAND_FULL ||
       element == EL_MAGIC_WALL_FULL ||
@@ -1280,6 +1281,9 @@ inline static int getFramePosition(int x, int y)
     frame_pos = -1;
   else if (IS_MOVING(x, y) || CAN_MOVE(element) || CAN_FALL(element))
     frame_pos = ABS(MovPos[x][y]) / (TILEX / 8);
+#else
+  frame_pos = ABS(MovPos[x][y]) / (TILEX / 8);
+#endif
 
   return frame_pos;
 }
@@ -1288,10 +1292,14 @@ inline static int getGfxAction(int x, int y)
 {
   int gfx_action = GFX_ACTION_DEFAULT;
 
+#if 0
   if (GfxAction[x][y] != GFX_ACTION_DEFAULT)
     gfx_action = GfxAction[x][y];
   else if (IS_MOVING(x, y))
     gfx_action = GFX_ACTION_MOVING;
+#else
+  gfx_action = GfxAction[x][y];
+#endif
 
   return gfx_action;
 }
@@ -1328,32 +1336,6 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element,
       frame = new_graphic_info[graphic].anim_frames - 1;
     }
   }
-#if 0
-  else if ((element == EL_ROCK ||
-           element == EL_SP_ZONK ||
-           element == EL_BD_ROCK ||
-           element == EL_SP_INFOTRON ||
-           IS_GEM(element))
-          && !cut_mode)
-  {
-    if (uy >= lev_fieldy-1 || !IS_BELT(Feld[ux][uy+1]))
-    {
-      if (element == EL_ROCK ||
-         element == EL_SP_ZONK ||
-         element == EL_BD_ROCK)
-      {
-       if (move_dir == MV_LEFT)
-         graphic += (4 - phase4) % 4;
-       else if (move_dir == MV_RIGHT)
-         graphic += phase4;
-       else
-         graphic += phase2 * 2;
-      }
-      else if (element != EL_SP_INFOTRON)
-       graphic += phase2;
-    }
-  }
-#endif
   else if (IS_AMOEBOID(element) || element == EL_AMOEBA_DRIPPING)
   {
     graphic = (element == EL_BD_AMOEBA ? IMG_BD_AMOEBA_PART1 :