rnd-20040927-2-src
authorHolger Schemel <info@artsoft.org>
Mon, 27 Sep 2004 17:24:37 +0000 (19:24 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:48:05 +0000 (10:48 +0200)
22 files changed:
src/conf_e2g.c
src/conf_gfx.c
src/conf_gfx.h
src/conftime.h
src/files.c
src/game_em/convert.c
src/game_em/game_em.h
src/game_em/global.h
src/game_em/init.c
src/game_em/level.h
src/game_em/main_em.h
src/game_em/sample.h
src/game_em/synchro_1.c
src/game_em/synchro_2.c
src/game_em/synchro_3.c
src/game_em/tab_generate.c
src/game_em/tile.h
src/init.c
src/libgame/system.c
src/main.c
src/main.h
src/tools.c

index 48c4401760a9a65724611d7c5a1ea6410aaa5f97..2c25c61987bb3abb1e36585c8591cb6baf8e9ca5 100644 (file)
@@ -2565,6 +2565,66 @@ element_to_graphic[] =
     EL_TRIGGER_PLAYER,                 -1, -1, FALSE,
     IMG_TRIGGER_PLAYER
   },
+  {
+    EL_BALLOON_SWITCH_NONE,            -1, -1, FALSE,
+    IMG_BALLOON_SWITCH_NONE
+  },
+  {
+    EL_EMC_ANDROID,                    -1, -1, FALSE,
+    IMG_EMC_ANDROID
+  },
+  {
+    EL_EMC_GENERATOR_BALL,             -1, -1, FALSE,
+    IMG_EMC_GENERATOR_BALL
+  },
+  {
+    EL_EMC_GATE_5,                     -1, -1, FALSE,
+    IMG_EMC_GATE_5
+  },
+  {
+    EL_EMC_GATE_5_GRAY,                        -1, -1, FALSE,
+    IMG_EMC_GATE_5_GRAY
+  },
+  {
+    EL_EMC_GATE_6,                     -1, -1, FALSE,
+    IMG_EMC_GATE_6
+  },
+  {
+    EL_EMC_GATE_6_GRAY,                        -1, -1, FALSE,
+    IMG_EMC_GATE_6_GRAY
+  },
+  {
+    EL_EMC_GATE_7,                     -1, -1, FALSE,
+    IMG_EMC_GATE_7
+  },
+  {
+    EL_EMC_GATE_7_GRAY,                        -1, -1, FALSE,
+    IMG_EMC_GATE_7_GRAY
+  },
+  {
+    EL_EMC_GATE_8,                     -1, -1, FALSE,
+    IMG_EMC_GATE_8
+  },
+  {
+    EL_EMC_GATE_8_GRAY,                        -1, -1, FALSE,
+    IMG_EMC_GATE_8_GRAY
+  },
+  {
+    EL_EMC_KEY_5,                      -1, -1, FALSE,
+    IMG_EMC_KEY_5
+  },
+  {
+    EL_EMC_KEY_6,                      -1, -1, FALSE,
+    IMG_EMC_KEY_6
+  },
+  {
+    EL_EMC_KEY_7,                      -1, -1, FALSE,
+    IMG_EMC_KEY_7
+  },
+  {
+    EL_EMC_KEY_8,                      -1, -1, FALSE,
+    IMG_EMC_KEY_8
+  },
   {
     EL_BD_BUTTERFLY_DOWN,              -1, -1, FALSE,
     IMG_BD_BUTTERFLY
index 5992643871c3c4399c35b051f55e429195e373c4..80872f45d2feb567d7ab1fcfec1a5237feb77e69 100644 (file)
@@ -52,7 +52,7 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".post_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".name",                           ARG_UNDEFINED,  TYPE_STRING     },
-  { ".scale_up",                       ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".scale_up_factor",                        ARG_UNDEFINED,  TYPE_INTEGER    },
 
   { NULL,                              NULL,           0               }
 };
@@ -3217,6 +3217,86 @@ struct ConfigInfo image_config[] =
   { "trigger_player.ypos",                     "13"                    },
   { "trigger_player.frames",                   "1"                     },
 
+  { "balloon_switch_none",                     "emc_object.pcx"        },
+  { "balloon_switch_none.xpos",                        "24"                    },
+  { "balloon_switch_none.ypos",                        "23"                    },
+  { "balloon_switch_none.frames",              "1"                     },
+  { "balloon_switch_none.scale_up_factor",     "2"                     },
+
+  { "emc_android",                             "emc_object.pcx"        },
+  { "emc_android.xpos",                                "7"                     },
+  { "emc_android.ypos",                                "13"                    },
+  { "emc_android.frames",                      "1"                     },
+  { "emc_android.scale_up_factor",             "2"                     },
+
+  { "emc_generator_ball",                      "emc_object.pcx"        },
+  { "emc_generator_ball.xpos",                 "22"                    },
+  { "emc_generator_ball.ypos",                 "18"                    },
+  { "emc_generator_ball.frames",               "1"                     },
+  { "emc_generator_ball.scale_up_factor",      "2"                     },
+
+  { "emc_gate_5",                              "emc_object.pcx"        },
+  { "emc_gate_5.xpos",                         "24"                    },
+  { "emc_gate_5.ypos",                         "6"                     },
+  { "emc_gate_5.frames",                       "1"                     },
+  { "emc_gate_5.scale_up_factor",              "2"                     },
+  { "emc_gate_5_gray",                         "emc_object.pcx"        },
+  { "emc_gate_5_gray.xpos",                    "25"                    },
+  { "emc_gate_5_gray.ypos",                    "18"                    },
+  { "emc_gate_5_gray.frames",                  "1"                     },
+  { "emc_gate_5_gray.scale_up_factor",         "2"                     },
+  { "emc_gate_6",                              "emc_object.pcx"        },
+  { "emc_gate_6.xpos",                         "24"                    },
+  { "emc_gate_6.ypos",                         "7"                     },
+  { "emc_gate_6.frames",                       "1"                     },
+  { "emc_gate_6.scale_up_factor",              "2"                     },
+  { "emc_gate_6_gray",                         "emc_object.pcx"        },
+  { "emc_gate_6_gray.xpos",                    "25"                    },
+  { "emc_gate_6_gray.ypos",                    "18"                    },
+  { "emc_gate_6_gray.frames",                  "1"                     },
+  { "emc_gate_6_gray.scale_up_factor",         "2"                     },
+  { "emc_gate_7",                              "emc_object.pcx"        },
+  { "emc_gate_7.xpos",                         "24"                    },
+  { "emc_gate_7.ypos",                         "8"                     },
+  { "emc_gate_7.frames",                       "1"                     },
+  { "emc_gate_7.scale_up_factor",              "2"                     },
+  { "emc_gate_7_gray",                         "emc_object.pcx"        },
+  { "emc_gate_7_gray.xpos",                    "25"                    },
+  { "emc_gate_7_gray.ypos",                    "18"                    },
+  { "emc_gate_7_gray.frames",                  "1"                     },
+  { "emc_gate_7_gray.scale_up_factor",         "2"                     },
+  { "emc_gate_8",                              "emc_object.pcx"        },
+  { "emc_gate_8.xpos",                         "24"                    },
+  { "emc_gate_8.ypos",                         "9"                     },
+  { "emc_gate_8.frames",                       "1"                     },
+  { "emc_gate_8.scale_up_factor",              "2"                     },
+  { "emc_gate_8_gray",                         "emc_object.pcx"        },
+  { "emc_gate_8_gray.xpos",                    "25"                    },
+  { "emc_gate_8_gray.ypos",                    "18"                    },
+  { "emc_gate_8_gray.frames",                  "1"                     },
+  { "emc_gate_8_gray.scale_up_factor",         "2"                     },
+
+  { "emc_key_5",                               "emc_object.pcx"        },
+  { "emc_key_5.xpos",                          "24"                    },
+  { "emc_key_5.ypos",                          "14"                    },
+  { "emc_key_5.frames",                                "1"                     },
+  { "emc_key_5.scale_up_factor",               "2"                     },
+  { "emc_key_6",                               "emc_object.pcx"        },
+  { "emc_key_6.xpos",                          "24"                    },
+  { "emc_key_6.ypos",                          "15"                    },
+  { "emc_key_6.frames",                                "1"                     },
+  { "emc_key_6.scale_up_factor",               "2"                     },
+  { "emc_key_7",                               "emc_object.pcx"        },
+  { "emc_key_7.xpos",                          "24"                    },
+  { "emc_key_7.ypos",                          "16"                    },
+  { "emc_key_7.frames",                                "1"                     },
+  { "emc_key_7.scale_up_factor",               "2"                     },
+  { "emc_key_8",                               "emc_object.pcx"        },
+  { "emc_key_8.xpos",                          "24"                    },
+  { "emc_key_8.ypos",                          "17"                    },
+  { "emc_key_8.frames",                                "1"                     },
+  { "emc_key_8.scale_up_factor",               "2"                     },
+
 #include "conf_chr.c"  /* include auto-generated data structure definitions */
 #include "conf_cus.c"  /* include auto-generated data structure definitions */
 #include "conf_grp.c"  /* include auto-generated data structure definitions */
@@ -3224,6 +3304,14 @@ struct ConfigInfo image_config[] =
   /* images not associated to game elements (used for menu screens etc.) */
   /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
 
+  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
+
+  { "emc_object",                              "emc_object.pcx"        },
+  { "emc_object.scale_up_factor",              "2"                     },
+
+  { "emc_sprite",                              "emc_sprite.pcx"        },
+  { "emc_sprite.scale_up_factor",              "2"                     },
+
   { "toon_1",                                  "RocksToons.pcx"        },
   { "toon_1.x",                                        "2"                     },
   { "toon_1.y",                                        "72"                    },
@@ -3769,14 +3857,6 @@ struct ConfigInfo image_config[] =
   { "background.SETUP",                                UNDEFINED_FILENAME      },
   { "background.DOOR",                         UNDEFINED_FILENAME      },
 
-  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
-
-  { "emc_object",                              "emc_object.pcx"        },
-  { "emc_object.scale_up",                     "2"                     },
-
-  { "emc_sprite",                              "emc_sprite.pcx"        },
-  { "emc_sprite.scale_up",                     "2"                     },
-
   /* the following directives are not associated with an image, but
      probably make sense to be defined in "graphicsinfo.conf", too */
 
index 78930f594776574094c36c0be49e57593339378b..84fb794bfad09a80d8569eb7e9438ababdd29a44 100644 (file)
 #define IMG_UNKNOWN                                    653
 #define IMG_TRIGGER_ELEMENT                            654
 #define IMG_TRIGGER_PLAYER                             655
-#define IMG_CHAR_SPACE                                 656
-#define IMG_CHAR_EXCLAM                                        657
-#define IMG_CHAR_QUOTEDBL                              658
-#define IMG_CHAR_NUMBERSIGN                            659
-#define IMG_CHAR_DOLLAR                                        660
-#define IMG_CHAR_PROCENT                               661
-#define IMG_CHAR_AMPERSAND                             662
-#define IMG_CHAR_APOSTROPHE                            663
-#define IMG_CHAR_PARENLEFT                             664
-#define IMG_CHAR_PARENRIGHT                            665
-#define IMG_CHAR_ASTERISK                              666
-#define IMG_CHAR_PLUS                                  667
-#define IMG_CHAR_COMMA                                 668
-#define IMG_CHAR_MINUS                                 669
-#define IMG_CHAR_PERIOD                                        670
-#define IMG_CHAR_SLASH                                 671
-#define IMG_CHAR_0                                     672
-#define IMG_CHAR_1                                     673
-#define IMG_CHAR_2                                     674
-#define IMG_CHAR_3                                     675
-#define IMG_CHAR_4                                     676
-#define IMG_CHAR_5                                     677
-#define IMG_CHAR_6                                     678
-#define IMG_CHAR_7                                     679
-#define IMG_CHAR_8                                     680
-#define IMG_CHAR_9                                     681
-#define IMG_CHAR_COLON                                 682
-#define IMG_CHAR_SEMICOLON                             683
-#define IMG_CHAR_LESS                                  684
-#define IMG_CHAR_EQUAL                                 685
-#define IMG_CHAR_GREATER                               686
-#define IMG_CHAR_QUESTION                              687
-#define IMG_CHAR_AT                                    688
-#define IMG_CHAR_A                                     689
-#define IMG_CHAR_B                                     690
-#define IMG_CHAR_C                                     691
-#define IMG_CHAR_D                                     692
-#define IMG_CHAR_E                                     693
-#define IMG_CHAR_F                                     694
-#define IMG_CHAR_G                                     695
-#define IMG_CHAR_H                                     696
-#define IMG_CHAR_I                                     697
-#define IMG_CHAR_J                                     698
-#define IMG_CHAR_K                                     699
-#define IMG_CHAR_L                                     700
-#define IMG_CHAR_M                                     701
-#define IMG_CHAR_N                                     702
-#define IMG_CHAR_O                                     703
-#define IMG_CHAR_P                                     704
-#define IMG_CHAR_Q                                     705
-#define IMG_CHAR_R                                     706
-#define IMG_CHAR_S                                     707
-#define IMG_CHAR_T                                     708
-#define IMG_CHAR_U                                     709
-#define IMG_CHAR_V                                     710
-#define IMG_CHAR_W                                     711
-#define IMG_CHAR_X                                     712
-#define IMG_CHAR_Y                                     713
-#define IMG_CHAR_Z                                     714
-#define IMG_CHAR_BRACKETLEFT                           715
-#define IMG_CHAR_BACKSLASH                             716
-#define IMG_CHAR_BRACKETRIGHT                          717
-#define IMG_CHAR_ASCIICIRCUM                           718
-#define IMG_CHAR_UNDERSCORE                            719
-#define IMG_CHAR_COPYRIGHT                             720
-#define IMG_CHAR_AUMLAUT                               721
-#define IMG_CHAR_OUMLAUT                               722
-#define IMG_CHAR_UUMLAUT                               723
-#define IMG_CHAR_DEGREE                                        724
-#define IMG_CHAR_TRADEMARK                             725
-#define IMG_CHAR_CURSOR                                        726
-#define IMG_CUSTOM_1                                   727
-#define IMG_CUSTOM_1_EDITOR                            728
-#define IMG_CUSTOM_2                                   729
-#define IMG_CUSTOM_2_EDITOR                            730
-#define IMG_CUSTOM_3                                   731
-#define IMG_CUSTOM_3_EDITOR                            732
-#define IMG_CUSTOM_4                                   733
-#define IMG_CUSTOM_4_EDITOR                            734
-#define IMG_CUSTOM_5                                   735
-#define IMG_CUSTOM_5_EDITOR                            736
-#define IMG_CUSTOM_6                                   737
-#define IMG_CUSTOM_6_EDITOR                            738
-#define IMG_CUSTOM_7                                   739
-#define IMG_CUSTOM_7_EDITOR                            740
-#define IMG_CUSTOM_8                                   741
-#define IMG_CUSTOM_8_EDITOR                            742
-#define IMG_CUSTOM_9                                   743
-#define IMG_CUSTOM_9_EDITOR                            744
-#define IMG_CUSTOM_10                                  745
-#define IMG_CUSTOM_10_EDITOR                           746
-#define IMG_CUSTOM_11                                  747
-#define IMG_CUSTOM_11_EDITOR                           748
-#define IMG_CUSTOM_12                                  749
-#define IMG_CUSTOM_12_EDITOR                           750
-#define IMG_CUSTOM_13                                  751
-#define IMG_CUSTOM_13_EDITOR                           752
-#define IMG_CUSTOM_14                                  753
-#define IMG_CUSTOM_14_EDITOR                           754
-#define IMG_CUSTOM_15                                  755
-#define IMG_CUSTOM_15_EDITOR                           756
-#define IMG_CUSTOM_16                                  757
-#define IMG_CUSTOM_16_EDITOR                           758
-#define IMG_CUSTOM_17                                  759
-#define IMG_CUSTOM_17_EDITOR                           760
-#define IMG_CUSTOM_18                                  761
-#define IMG_CUSTOM_18_EDITOR                           762
-#define IMG_CUSTOM_19                                  763
-#define IMG_CUSTOM_19_EDITOR                           764
-#define IMG_CUSTOM_20                                  765
-#define IMG_CUSTOM_20_EDITOR                           766
-#define IMG_CUSTOM_21                                  767
-#define IMG_CUSTOM_21_EDITOR                           768
-#define IMG_CUSTOM_22                                  769
-#define IMG_CUSTOM_22_EDITOR                           770
-#define IMG_CUSTOM_23                                  771
-#define IMG_CUSTOM_23_EDITOR                           772
-#define IMG_CUSTOM_24                                  773
-#define IMG_CUSTOM_24_EDITOR                           774
-#define IMG_CUSTOM_25                                  775
-#define IMG_CUSTOM_25_EDITOR                           776
-#define IMG_CUSTOM_26                                  777
-#define IMG_CUSTOM_26_EDITOR                           778
-#define IMG_CUSTOM_27                                  779
-#define IMG_CUSTOM_27_EDITOR                           780
-#define IMG_CUSTOM_28                                  781
-#define IMG_CUSTOM_28_EDITOR                           782
-#define IMG_CUSTOM_29                                  783
-#define IMG_CUSTOM_29_EDITOR                           784
-#define IMG_CUSTOM_30                                  785
-#define IMG_CUSTOM_30_EDITOR                           786
-#define IMG_CUSTOM_31                                  787
-#define IMG_CUSTOM_31_EDITOR                           788
-#define IMG_CUSTOM_32                                  789
-#define IMG_CUSTOM_32_EDITOR                           790
-#define IMG_CUSTOM_33                                  791
-#define IMG_CUSTOM_33_EDITOR                           792
-#define IMG_CUSTOM_34                                  793
-#define IMG_CUSTOM_34_EDITOR                           794
-#define IMG_CUSTOM_35                                  795
-#define IMG_CUSTOM_35_EDITOR                           796
-#define IMG_CUSTOM_36                                  797
-#define IMG_CUSTOM_36_EDITOR                           798
-#define IMG_CUSTOM_37                                  799
-#define IMG_CUSTOM_37_EDITOR                           800
-#define IMG_CUSTOM_38                                  801
-#define IMG_CUSTOM_38_EDITOR                           802
-#define IMG_CUSTOM_39                                  803
-#define IMG_CUSTOM_39_EDITOR                           804
-#define IMG_CUSTOM_40                                  805
-#define IMG_CUSTOM_40_EDITOR                           806
-#define IMG_CUSTOM_41                                  807
-#define IMG_CUSTOM_41_EDITOR                           808
-#define IMG_CUSTOM_42                                  809
-#define IMG_CUSTOM_42_EDITOR                           810
-#define IMG_CUSTOM_43                                  811
-#define IMG_CUSTOM_43_EDITOR                           812
-#define IMG_CUSTOM_44                                  813
-#define IMG_CUSTOM_44_EDITOR                           814
-#define IMG_CUSTOM_45                                  815
-#define IMG_CUSTOM_45_EDITOR                           816
-#define IMG_CUSTOM_46                                  817
-#define IMG_CUSTOM_46_EDITOR                           818
-#define IMG_CUSTOM_47                                  819
-#define IMG_CUSTOM_47_EDITOR                           820
-#define IMG_CUSTOM_48                                  821
-#define IMG_CUSTOM_48_EDITOR                           822
-#define IMG_CUSTOM_49                                  823
-#define IMG_CUSTOM_49_EDITOR                           824
-#define IMG_CUSTOM_50                                  825
-#define IMG_CUSTOM_50_EDITOR                           826
-#define IMG_CUSTOM_51                                  827
-#define IMG_CUSTOM_51_EDITOR                           828
-#define IMG_CUSTOM_52                                  829
-#define IMG_CUSTOM_52_EDITOR                           830
-#define IMG_CUSTOM_53                                  831
-#define IMG_CUSTOM_53_EDITOR                           832
-#define IMG_CUSTOM_54                                  833
-#define IMG_CUSTOM_54_EDITOR                           834
-#define IMG_CUSTOM_55                                  835
-#define IMG_CUSTOM_55_EDITOR                           836
-#define IMG_CUSTOM_56                                  837
-#define IMG_CUSTOM_56_EDITOR                           838
-#define IMG_CUSTOM_57                                  839
-#define IMG_CUSTOM_57_EDITOR                           840
-#define IMG_CUSTOM_58                                  841
-#define IMG_CUSTOM_58_EDITOR                           842
-#define IMG_CUSTOM_59                                  843
-#define IMG_CUSTOM_59_EDITOR                           844
-#define IMG_CUSTOM_60                                  845
-#define IMG_CUSTOM_60_EDITOR                           846
-#define IMG_CUSTOM_61                                  847
-#define IMG_CUSTOM_61_EDITOR                           848
-#define IMG_CUSTOM_62                                  849
-#define IMG_CUSTOM_62_EDITOR                           850
-#define IMG_CUSTOM_63                                  851
-#define IMG_CUSTOM_63_EDITOR                           852
-#define IMG_CUSTOM_64                                  853
-#define IMG_CUSTOM_64_EDITOR                           854
-#define IMG_CUSTOM_65                                  855
-#define IMG_CUSTOM_65_EDITOR                           856
-#define IMG_CUSTOM_66                                  857
-#define IMG_CUSTOM_66_EDITOR                           858
-#define IMG_CUSTOM_67                                  859
-#define IMG_CUSTOM_67_EDITOR                           860
-#define IMG_CUSTOM_68                                  861
-#define IMG_CUSTOM_68_EDITOR                           862
-#define IMG_CUSTOM_69                                  863
-#define IMG_CUSTOM_69_EDITOR                           864
-#define IMG_CUSTOM_70                                  865
-#define IMG_CUSTOM_70_EDITOR                           866
-#define IMG_CUSTOM_71                                  867
-#define IMG_CUSTOM_71_EDITOR                           868
-#define IMG_CUSTOM_72                                  869
-#define IMG_CUSTOM_72_EDITOR                           870
-#define IMG_CUSTOM_73                                  871
-#define IMG_CUSTOM_73_EDITOR                           872
-#define IMG_CUSTOM_74                                  873
-#define IMG_CUSTOM_74_EDITOR                           874
-#define IMG_CUSTOM_75                                  875
-#define IMG_CUSTOM_75_EDITOR                           876
-#define IMG_CUSTOM_76                                  877
-#define IMG_CUSTOM_76_EDITOR                           878
-#define IMG_CUSTOM_77                                  879
-#define IMG_CUSTOM_77_EDITOR                           880
-#define IMG_CUSTOM_78                                  881
-#define IMG_CUSTOM_78_EDITOR                           882
-#define IMG_CUSTOM_79                                  883
-#define IMG_CUSTOM_79_EDITOR                           884
-#define IMG_CUSTOM_80                                  885
-#define IMG_CUSTOM_80_EDITOR                           886
-#define IMG_CUSTOM_81                                  887
-#define IMG_CUSTOM_81_EDITOR                           888
-#define IMG_CUSTOM_82                                  889
-#define IMG_CUSTOM_82_EDITOR                           890
-#define IMG_CUSTOM_83                                  891
-#define IMG_CUSTOM_83_EDITOR                           892
-#define IMG_CUSTOM_84                                  893
-#define IMG_CUSTOM_84_EDITOR                           894
-#define IMG_CUSTOM_85                                  895
-#define IMG_CUSTOM_85_EDITOR                           896
-#define IMG_CUSTOM_86                                  897
-#define IMG_CUSTOM_86_EDITOR                           898
-#define IMG_CUSTOM_87                                  899
-#define IMG_CUSTOM_87_EDITOR                           900
-#define IMG_CUSTOM_88                                  901
-#define IMG_CUSTOM_88_EDITOR                           902
-#define IMG_CUSTOM_89                                  903
-#define IMG_CUSTOM_89_EDITOR                           904
-#define IMG_CUSTOM_90                                  905
-#define IMG_CUSTOM_90_EDITOR                           906
-#define IMG_CUSTOM_91                                  907
-#define IMG_CUSTOM_91_EDITOR                           908
-#define IMG_CUSTOM_92                                  909
-#define IMG_CUSTOM_92_EDITOR                           910
-#define IMG_CUSTOM_93                                  911
-#define IMG_CUSTOM_93_EDITOR                           912
-#define IMG_CUSTOM_94                                  913
-#define IMG_CUSTOM_94_EDITOR                           914
-#define IMG_CUSTOM_95                                  915
-#define IMG_CUSTOM_95_EDITOR                           916
-#define IMG_CUSTOM_96                                  917
-#define IMG_CUSTOM_96_EDITOR                           918
-#define IMG_CUSTOM_97                                  919
-#define IMG_CUSTOM_97_EDITOR                           920
-#define IMG_CUSTOM_98                                  921
-#define IMG_CUSTOM_98_EDITOR                           922
-#define IMG_CUSTOM_99                                  923
-#define IMG_CUSTOM_99_EDITOR                           924
-#define IMG_CUSTOM_100                                 925
-#define IMG_CUSTOM_100_EDITOR                          926
-#define IMG_CUSTOM_101                                 927
-#define IMG_CUSTOM_101_EDITOR                          928
-#define IMG_CUSTOM_102                                 929
-#define IMG_CUSTOM_102_EDITOR                          930
-#define IMG_CUSTOM_103                                 931
-#define IMG_CUSTOM_103_EDITOR                          932
-#define IMG_CUSTOM_104                                 933
-#define IMG_CUSTOM_104_EDITOR                          934
-#define IMG_CUSTOM_105                                 935
-#define IMG_CUSTOM_105_EDITOR                          936
-#define IMG_CUSTOM_106                                 937
-#define IMG_CUSTOM_106_EDITOR                          938
-#define IMG_CUSTOM_107                                 939
-#define IMG_CUSTOM_107_EDITOR                          940
-#define IMG_CUSTOM_108                                 941
-#define IMG_CUSTOM_108_EDITOR                          942
-#define IMG_CUSTOM_109                                 943
-#define IMG_CUSTOM_109_EDITOR                          944
-#define IMG_CUSTOM_110                                 945
-#define IMG_CUSTOM_110_EDITOR                          946
-#define IMG_CUSTOM_111                                 947
-#define IMG_CUSTOM_111_EDITOR                          948
-#define IMG_CUSTOM_112                                 949
-#define IMG_CUSTOM_112_EDITOR                          950
-#define IMG_CUSTOM_113                                 951
-#define IMG_CUSTOM_113_EDITOR                          952
-#define IMG_CUSTOM_114                                 953
-#define IMG_CUSTOM_114_EDITOR                          954
-#define IMG_CUSTOM_115                                 955
-#define IMG_CUSTOM_115_EDITOR                          956
-#define IMG_CUSTOM_116                                 957
-#define IMG_CUSTOM_116_EDITOR                          958
-#define IMG_CUSTOM_117                                 959
-#define IMG_CUSTOM_117_EDITOR                          960
-#define IMG_CUSTOM_118                                 961
-#define IMG_CUSTOM_118_EDITOR                          962
-#define IMG_CUSTOM_119                                 963
-#define IMG_CUSTOM_119_EDITOR                          964
-#define IMG_CUSTOM_120                                 965
-#define IMG_CUSTOM_120_EDITOR                          966
-#define IMG_CUSTOM_121                                 967
-#define IMG_CUSTOM_121_EDITOR                          968
-#define IMG_CUSTOM_122                                 969
-#define IMG_CUSTOM_122_EDITOR                          970
-#define IMG_CUSTOM_123                                 971
-#define IMG_CUSTOM_123_EDITOR                          972
-#define IMG_CUSTOM_124                                 973
-#define IMG_CUSTOM_124_EDITOR                          974
-#define IMG_CUSTOM_125                                 975
-#define IMG_CUSTOM_125_EDITOR                          976
-#define IMG_CUSTOM_126                                 977
-#define IMG_CUSTOM_126_EDITOR                          978
-#define IMG_CUSTOM_127                                 979
-#define IMG_CUSTOM_127_EDITOR                          980
-#define IMG_CUSTOM_128                                 981
-#define IMG_CUSTOM_128_EDITOR                          982
-#define IMG_CUSTOM_129                                 983
-#define IMG_CUSTOM_129_EDITOR                          984
-#define IMG_CUSTOM_130                                 985
-#define IMG_CUSTOM_130_EDITOR                          986
-#define IMG_CUSTOM_131                                 987
-#define IMG_CUSTOM_131_EDITOR                          988
-#define IMG_CUSTOM_132                                 989
-#define IMG_CUSTOM_132_EDITOR                          990
-#define IMG_CUSTOM_133                                 991
-#define IMG_CUSTOM_133_EDITOR                          992
-#define IMG_CUSTOM_134                                 993
-#define IMG_CUSTOM_134_EDITOR                          994
-#define IMG_CUSTOM_135                                 995
-#define IMG_CUSTOM_135_EDITOR                          996
-#define IMG_CUSTOM_136                                 997
-#define IMG_CUSTOM_136_EDITOR                          998
-#define IMG_CUSTOM_137                                 999
-#define IMG_CUSTOM_137_EDITOR                          1000
-#define IMG_CUSTOM_138                                 1001
-#define IMG_CUSTOM_138_EDITOR                          1002
-#define IMG_CUSTOM_139                                 1003
-#define IMG_CUSTOM_139_EDITOR                          1004
-#define IMG_CUSTOM_140                                 1005
-#define IMG_CUSTOM_140_EDITOR                          1006
-#define IMG_CUSTOM_141                                 1007
-#define IMG_CUSTOM_141_EDITOR                          1008
-#define IMG_CUSTOM_142                                 1009
-#define IMG_CUSTOM_142_EDITOR                          1010
-#define IMG_CUSTOM_143                                 1011
-#define IMG_CUSTOM_143_EDITOR                          1012
-#define IMG_CUSTOM_144                                 1013
-#define IMG_CUSTOM_144_EDITOR                          1014
-#define IMG_CUSTOM_145                                 1015
-#define IMG_CUSTOM_145_EDITOR                          1016
-#define IMG_CUSTOM_146                                 1017
-#define IMG_CUSTOM_146_EDITOR                          1018
-#define IMG_CUSTOM_147                                 1019
-#define IMG_CUSTOM_147_EDITOR                          1020
-#define IMG_CUSTOM_148                                 1021
-#define IMG_CUSTOM_148_EDITOR                          1022
-#define IMG_CUSTOM_149                                 1023
-#define IMG_CUSTOM_149_EDITOR                          1024
-#define IMG_CUSTOM_150                                 1025
-#define IMG_CUSTOM_150_EDITOR                          1026
-#define IMG_CUSTOM_151                                 1027
-#define IMG_CUSTOM_151_EDITOR                          1028
-#define IMG_CUSTOM_152                                 1029
-#define IMG_CUSTOM_152_EDITOR                          1030
-#define IMG_CUSTOM_153                                 1031
-#define IMG_CUSTOM_153_EDITOR                          1032
-#define IMG_CUSTOM_154                                 1033
-#define IMG_CUSTOM_154_EDITOR                          1034
-#define IMG_CUSTOM_155                                 1035
-#define IMG_CUSTOM_155_EDITOR                          1036
-#define IMG_CUSTOM_156                                 1037
-#define IMG_CUSTOM_156_EDITOR                          1038
-#define IMG_CUSTOM_157                                 1039
-#define IMG_CUSTOM_157_EDITOR                          1040
-#define IMG_CUSTOM_158                                 1041
-#define IMG_CUSTOM_158_EDITOR                          1042
-#define IMG_CUSTOM_159                                 1043
-#define IMG_CUSTOM_159_EDITOR                          1044
-#define IMG_CUSTOM_160                                 1045
-#define IMG_CUSTOM_160_EDITOR                          1046
-#define IMG_CUSTOM_161                                 1047
-#define IMG_CUSTOM_161_EDITOR                          1048
-#define IMG_CUSTOM_162                                 1049
-#define IMG_CUSTOM_162_EDITOR                          1050
-#define IMG_CUSTOM_163                                 1051
-#define IMG_CUSTOM_163_EDITOR                          1052
-#define IMG_CUSTOM_164                                 1053
-#define IMG_CUSTOM_164_EDITOR                          1054
-#define IMG_CUSTOM_165                                 1055
-#define IMG_CUSTOM_165_EDITOR                          1056
-#define IMG_CUSTOM_166                                 1057
-#define IMG_CUSTOM_166_EDITOR                          1058
-#define IMG_CUSTOM_167                                 1059
-#define IMG_CUSTOM_167_EDITOR                          1060
-#define IMG_CUSTOM_168                                 1061
-#define IMG_CUSTOM_168_EDITOR                          1062
-#define IMG_CUSTOM_169                                 1063
-#define IMG_CUSTOM_169_EDITOR                          1064
-#define IMG_CUSTOM_170                                 1065
-#define IMG_CUSTOM_170_EDITOR                          1066
-#define IMG_CUSTOM_171                                 1067
-#define IMG_CUSTOM_171_EDITOR                          1068
-#define IMG_CUSTOM_172                                 1069
-#define IMG_CUSTOM_172_EDITOR                          1070
-#define IMG_CUSTOM_173                                 1071
-#define IMG_CUSTOM_173_EDITOR                          1072
-#define IMG_CUSTOM_174                                 1073
-#define IMG_CUSTOM_174_EDITOR                          1074
-#define IMG_CUSTOM_175                                 1075
-#define IMG_CUSTOM_175_EDITOR                          1076
-#define IMG_CUSTOM_176                                 1077
-#define IMG_CUSTOM_176_EDITOR                          1078
-#define IMG_CUSTOM_177                                 1079
-#define IMG_CUSTOM_177_EDITOR                          1080
-#define IMG_CUSTOM_178                                 1081
-#define IMG_CUSTOM_178_EDITOR                          1082
-#define IMG_CUSTOM_179                                 1083
-#define IMG_CUSTOM_179_EDITOR                          1084
-#define IMG_CUSTOM_180                                 1085
-#define IMG_CUSTOM_180_EDITOR                          1086
-#define IMG_CUSTOM_181                                 1087
-#define IMG_CUSTOM_181_EDITOR                          1088
-#define IMG_CUSTOM_182                                 1089
-#define IMG_CUSTOM_182_EDITOR                          1090
-#define IMG_CUSTOM_183                                 1091
-#define IMG_CUSTOM_183_EDITOR                          1092
-#define IMG_CUSTOM_184                                 1093
-#define IMG_CUSTOM_184_EDITOR                          1094
-#define IMG_CUSTOM_185                                 1095
-#define IMG_CUSTOM_185_EDITOR                          1096
-#define IMG_CUSTOM_186                                 1097
-#define IMG_CUSTOM_186_EDITOR                          1098
-#define IMG_CUSTOM_187                                 1099
-#define IMG_CUSTOM_187_EDITOR                          1100
-#define IMG_CUSTOM_188                                 1101
-#define IMG_CUSTOM_188_EDITOR                          1102
-#define IMG_CUSTOM_189                                 1103
-#define IMG_CUSTOM_189_EDITOR                          1104
-#define IMG_CUSTOM_190                                 1105
-#define IMG_CUSTOM_190_EDITOR                          1106
-#define IMG_CUSTOM_191                                 1107
-#define IMG_CUSTOM_191_EDITOR                          1108
-#define IMG_CUSTOM_192                                 1109
-#define IMG_CUSTOM_192_EDITOR                          1110
-#define IMG_CUSTOM_193                                 1111
-#define IMG_CUSTOM_193_EDITOR                          1112
-#define IMG_CUSTOM_194                                 1113
-#define IMG_CUSTOM_194_EDITOR                          1114
-#define IMG_CUSTOM_195                                 1115
-#define IMG_CUSTOM_195_EDITOR                          1116
-#define IMG_CUSTOM_196                                 1117
-#define IMG_CUSTOM_196_EDITOR                          1118
-#define IMG_CUSTOM_197                                 1119
-#define IMG_CUSTOM_197_EDITOR                          1120
-#define IMG_CUSTOM_198                                 1121
-#define IMG_CUSTOM_198_EDITOR                          1122
-#define IMG_CUSTOM_199                                 1123
-#define IMG_CUSTOM_199_EDITOR                          1124
-#define IMG_CUSTOM_200                                 1125
-#define IMG_CUSTOM_200_EDITOR                          1126
-#define IMG_CUSTOM_201                                 1127
-#define IMG_CUSTOM_201_EDITOR                          1128
-#define IMG_CUSTOM_202                                 1129
-#define IMG_CUSTOM_202_EDITOR                          1130
-#define IMG_CUSTOM_203                                 1131
-#define IMG_CUSTOM_203_EDITOR                          1132
-#define IMG_CUSTOM_204                                 1133
-#define IMG_CUSTOM_204_EDITOR                          1134
-#define IMG_CUSTOM_205                                 1135
-#define IMG_CUSTOM_205_EDITOR                          1136
-#define IMG_CUSTOM_206                                 1137
-#define IMG_CUSTOM_206_EDITOR                          1138
-#define IMG_CUSTOM_207                                 1139
-#define IMG_CUSTOM_207_EDITOR                          1140
-#define IMG_CUSTOM_208                                 1141
-#define IMG_CUSTOM_208_EDITOR                          1142
-#define IMG_CUSTOM_209                                 1143
-#define IMG_CUSTOM_209_EDITOR                          1144
-#define IMG_CUSTOM_210                                 1145
-#define IMG_CUSTOM_210_EDITOR                          1146
-#define IMG_CUSTOM_211                                 1147
-#define IMG_CUSTOM_211_EDITOR                          1148
-#define IMG_CUSTOM_212                                 1149
-#define IMG_CUSTOM_212_EDITOR                          1150
-#define IMG_CUSTOM_213                                 1151
-#define IMG_CUSTOM_213_EDITOR                          1152
-#define IMG_CUSTOM_214                                 1153
-#define IMG_CUSTOM_214_EDITOR                          1154
-#define IMG_CUSTOM_215                                 1155
-#define IMG_CUSTOM_215_EDITOR                          1156
-#define IMG_CUSTOM_216                                 1157
-#define IMG_CUSTOM_216_EDITOR                          1158
-#define IMG_CUSTOM_217                                 1159
-#define IMG_CUSTOM_217_EDITOR                          1160
-#define IMG_CUSTOM_218                                 1161
-#define IMG_CUSTOM_218_EDITOR                          1162
-#define IMG_CUSTOM_219                                 1163
-#define IMG_CUSTOM_219_EDITOR                          1164
-#define IMG_CUSTOM_220                                 1165
-#define IMG_CUSTOM_220_EDITOR                          1166
-#define IMG_CUSTOM_221                                 1167
-#define IMG_CUSTOM_221_EDITOR                          1168
-#define IMG_CUSTOM_222                                 1169
-#define IMG_CUSTOM_222_EDITOR                          1170
-#define IMG_CUSTOM_223                                 1171
-#define IMG_CUSTOM_223_EDITOR                          1172
-#define IMG_CUSTOM_224                                 1173
-#define IMG_CUSTOM_224_EDITOR                          1174
-#define IMG_CUSTOM_225                                 1175
-#define IMG_CUSTOM_225_EDITOR                          1176
-#define IMG_CUSTOM_226                                 1177
-#define IMG_CUSTOM_226_EDITOR                          1178
-#define IMG_CUSTOM_227                                 1179
-#define IMG_CUSTOM_227_EDITOR                          1180
-#define IMG_CUSTOM_228                                 1181
-#define IMG_CUSTOM_228_EDITOR                          1182
-#define IMG_CUSTOM_229                                 1183
-#define IMG_CUSTOM_229_EDITOR                          1184
-#define IMG_CUSTOM_230                                 1185
-#define IMG_CUSTOM_230_EDITOR                          1186
-#define IMG_CUSTOM_231                                 1187
-#define IMG_CUSTOM_231_EDITOR                          1188
-#define IMG_CUSTOM_232                                 1189
-#define IMG_CUSTOM_232_EDITOR                          1190
-#define IMG_CUSTOM_233                                 1191
-#define IMG_CUSTOM_233_EDITOR                          1192
-#define IMG_CUSTOM_234                                 1193
-#define IMG_CUSTOM_234_EDITOR                          1194
-#define IMG_CUSTOM_235                                 1195
-#define IMG_CUSTOM_235_EDITOR                          1196
-#define IMG_CUSTOM_236                                 1197
-#define IMG_CUSTOM_236_EDITOR                          1198
-#define IMG_CUSTOM_237                                 1199
-#define IMG_CUSTOM_237_EDITOR                          1200
-#define IMG_CUSTOM_238                                 1201
-#define IMG_CUSTOM_238_EDITOR                          1202
-#define IMG_CUSTOM_239                                 1203
-#define IMG_CUSTOM_239_EDITOR                          1204
-#define IMG_CUSTOM_240                                 1205
-#define IMG_CUSTOM_240_EDITOR                          1206
-#define IMG_CUSTOM_241                                 1207
-#define IMG_CUSTOM_241_EDITOR                          1208
-#define IMG_CUSTOM_242                                 1209
-#define IMG_CUSTOM_242_EDITOR                          1210
-#define IMG_CUSTOM_243                                 1211
-#define IMG_CUSTOM_243_EDITOR                          1212
-#define IMG_CUSTOM_244                                 1213
-#define IMG_CUSTOM_244_EDITOR                          1214
-#define IMG_CUSTOM_245                                 1215
-#define IMG_CUSTOM_245_EDITOR                          1216
-#define IMG_CUSTOM_246                                 1217
-#define IMG_CUSTOM_246_EDITOR                          1218
-#define IMG_CUSTOM_247                                 1219
-#define IMG_CUSTOM_247_EDITOR                          1220
-#define IMG_CUSTOM_248                                 1221
-#define IMG_CUSTOM_248_EDITOR                          1222
-#define IMG_CUSTOM_249                                 1223
-#define IMG_CUSTOM_249_EDITOR                          1224
-#define IMG_CUSTOM_250                                 1225
-#define IMG_CUSTOM_250_EDITOR                          1226
-#define IMG_CUSTOM_251                                 1227
-#define IMG_CUSTOM_251_EDITOR                          1228
-#define IMG_CUSTOM_252                                 1229
-#define IMG_CUSTOM_252_EDITOR                          1230
-#define IMG_CUSTOM_253                                 1231
-#define IMG_CUSTOM_253_EDITOR                          1232
-#define IMG_CUSTOM_254                                 1233
-#define IMG_CUSTOM_254_EDITOR                          1234
-#define IMG_CUSTOM_255                                 1235
-#define IMG_CUSTOM_255_EDITOR                          1236
-#define IMG_CUSTOM_256                                 1237
-#define IMG_CUSTOM_256_EDITOR                          1238
-#define IMG_GROUP_1                                    1239
-#define IMG_GROUP_1_EDITOR                             1240
-#define IMG_GROUP_2                                    1241
-#define IMG_GROUP_2_EDITOR                             1242
-#define IMG_GROUP_3                                    1243
-#define IMG_GROUP_3_EDITOR                             1244
-#define IMG_GROUP_4                                    1245
-#define IMG_GROUP_4_EDITOR                             1246
-#define IMG_GROUP_5                                    1247
-#define IMG_GROUP_5_EDITOR                             1248
-#define IMG_GROUP_6                                    1249
-#define IMG_GROUP_6_EDITOR                             1250
-#define IMG_GROUP_7                                    1251
-#define IMG_GROUP_7_EDITOR                             1252
-#define IMG_GROUP_8                                    1253
-#define IMG_GROUP_8_EDITOR                             1254
-#define IMG_GROUP_9                                    1255
-#define IMG_GROUP_9_EDITOR                             1256
-#define IMG_GROUP_10                                   1257
-#define IMG_GROUP_10_EDITOR                            1258
-#define IMG_GROUP_11                                   1259
-#define IMG_GROUP_11_EDITOR                            1260
-#define IMG_GROUP_12                                   1261
-#define IMG_GROUP_12_EDITOR                            1262
-#define IMG_GROUP_13                                   1263
-#define IMG_GROUP_13_EDITOR                            1264
-#define IMG_GROUP_14                                   1265
-#define IMG_GROUP_14_EDITOR                            1266
-#define IMG_GROUP_15                                   1267
-#define IMG_GROUP_15_EDITOR                            1268
-#define IMG_GROUP_16                                   1269
-#define IMG_GROUP_16_EDITOR                            1270
-#define IMG_GROUP_17                                   1271
-#define IMG_GROUP_17_EDITOR                            1272
-#define IMG_GROUP_18                                   1273
-#define IMG_GROUP_18_EDITOR                            1274
-#define IMG_GROUP_19                                   1275
-#define IMG_GROUP_19_EDITOR                            1276
-#define IMG_GROUP_20                                   1277
-#define IMG_GROUP_20_EDITOR                            1278
-#define IMG_GROUP_21                                   1279
-#define IMG_GROUP_21_EDITOR                            1280
-#define IMG_GROUP_22                                   1281
-#define IMG_GROUP_22_EDITOR                            1282
-#define IMG_GROUP_23                                   1283
-#define IMG_GROUP_23_EDITOR                            1284
-#define IMG_GROUP_24                                   1285
-#define IMG_GROUP_24_EDITOR                            1286
-#define IMG_GROUP_25                                   1287
-#define IMG_GROUP_25_EDITOR                            1288
-#define IMG_GROUP_26                                   1289
-#define IMG_GROUP_26_EDITOR                            1290
-#define IMG_GROUP_27                                   1291
-#define IMG_GROUP_27_EDITOR                            1292
-#define IMG_GROUP_28                                   1293
-#define IMG_GROUP_28_EDITOR                            1294
-#define IMG_GROUP_29                                   1295
-#define IMG_GROUP_29_EDITOR                            1296
-#define IMG_GROUP_30                                   1297
-#define IMG_GROUP_30_EDITOR                            1298
-#define IMG_GROUP_31                                   1299
-#define IMG_GROUP_31_EDITOR                            1300
-#define IMG_GROUP_32                                   1301
-#define IMG_GROUP_32_EDITOR                            1302
-#define IMG_TOON_1                                     1303
-#define IMG_TOON_2                                     1304
-#define IMG_TOON_3                                     1305
-#define IMG_TOON_4                                     1306
-#define IMG_TOON_5                                     1307
-#define IMG_TOON_6                                     1308
-#define IMG_TOON_7                                     1309
-#define IMG_TOON_8                                     1310
-#define IMG_TOON_9                                     1311
-#define IMG_TOON_10                                    1312
-#define IMG_TOON_11                                    1313
-#define IMG_TOON_12                                    1314
-#define IMG_TOON_13                                    1315
-#define IMG_TOON_14                                    1316
-#define IMG_TOON_15                                    1317
-#define IMG_TOON_16                                    1318
-#define IMG_TOON_17                                    1319
-#define IMG_TOON_18                                    1320
-#define IMG_TOON_19                                    1321
-#define IMG_TOON_20                                    1322
-#define IMG_MENU_CALIBRATE_RED                         1323
-#define IMG_MENU_CALIBRATE_BLUE                                1324
-#define IMG_MENU_CALIBRATE_YELLOW                      1325
-#define IMG_MENU_BUTTON                                        1326
-#define IMG_MENU_BUTTON_ACTIVE                         1327
-#define IMG_MENU_BUTTON_LEFT                           1328
-#define IMG_MENU_BUTTON_RIGHT                          1329
-#define IMG_MENU_BUTTON_UP                             1330
-#define IMG_MENU_BUTTON_DOWN                           1331
-#define IMG_MENU_BUTTON_LEFT_ACTIVE                    1332
-#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   1333
-#define IMG_MENU_BUTTON_UP_ACTIVE                      1334
-#define IMG_MENU_BUTTON_DOWN_ACTIVE                    1335
-#define IMG_MENU_SCROLLBAR                             1336
-#define IMG_MENU_SCROLLBAR_ACTIVE                      1337
-#define IMG_FONT_INITIAL_1                             1338
-#define IMG_FONT_INITIAL_2                             1339
-#define IMG_FONT_INITIAL_3                             1340
-#define IMG_FONT_INITIAL_4                             1341
-#define IMG_FONT_TITLE_1                               1342
-#define IMG_FONT_TITLE_1_LEVELS                                1343
-#define IMG_FONT_TITLE_2                               1344
-#define IMG_FONT_MENU_1                                        1345
-#define IMG_FONT_MENU_2                                        1346
-#define IMG_FONT_TEXT_1                                        1347
-#define IMG_FONT_TEXT_1_LEVELS                         1348
-#define IMG_FONT_TEXT_1_PREVIEW                                1349
-#define IMG_FONT_TEXT_1_SCORES                         1350
-#define IMG_FONT_TEXT_1_ACTIVE_SCORES                  1351
-#define IMG_FONT_TEXT_2                                        1352
-#define IMG_FONT_TEXT_2_LEVELS                         1353
-#define IMG_FONT_TEXT_2_PREVIEW                                1354
-#define IMG_FONT_TEXT_2_SCORES                         1355
-#define IMG_FONT_TEXT_2_ACTIVE_SCORES                  1356
-#define IMG_FONT_TEXT_3                                        1357
-#define IMG_FONT_TEXT_3_LEVELS                         1358
-#define IMG_FONT_TEXT_3_PREVIEW                                1359
-#define IMG_FONT_TEXT_3_SCORES                         1360
-#define IMG_FONT_TEXT_3_ACTIVE_SCORES                  1361
-#define IMG_FONT_TEXT_4                                        1362
-#define IMG_FONT_TEXT_4_LEVELS                         1363
-#define IMG_FONT_TEXT_4_SCORES                         1364
-#define IMG_FONT_TEXT_4_ACTIVE_SCORES                  1365
-#define IMG_FONT_ENVELOPE_1                            1366
-#define IMG_FONT_ENVELOPE_2                            1367
-#define IMG_FONT_ENVELOPE_3                            1368
-#define IMG_FONT_ENVELOPE_4                            1369
-#define IMG_FONT_INPUT_1                               1370
-#define IMG_FONT_INPUT_1_MAIN                          1371
-#define IMG_FONT_INPUT_1_ACTIVE                                1372
-#define IMG_FONT_INPUT_1_ACTIVE_MAIN                   1373
-#define IMG_FONT_INPUT_1_ACTIVE_SETUP                  1374
-#define IMG_FONT_INPUT_2                               1375
-#define IMG_FONT_INPUT_2_ACTIVE                                1376
-#define IMG_FONT_OPTION_OFF                            1377
-#define IMG_FONT_OPTION_ON                             1378
-#define IMG_FONT_VALUE_1                               1379
-#define IMG_FONT_VALUE_2                               1380
-#define IMG_FONT_VALUE_OLD                             1381
-#define IMG_FONT_LEVEL_NUMBER                          1382
-#define IMG_FONT_TAPE_RECORDER                         1383
-#define IMG_FONT_GAME_INFO                             1384
-#define IMG_GLOBAL_BORDER                              1385
-#define IMG_GLOBAL_DOOR                                        1386
-#define IMG_EDITOR_ELEMENT_BORDER                      1387
-#define IMG_EDITOR_ELEMENT_BORDER_INPUT                        1388
-#define IMG_BACKGROUND_ENVELOPE_1                      1389
-#define IMG_BACKGROUND_ENVELOPE_2                      1390
-#define IMG_BACKGROUND_ENVELOPE_3                      1391
-#define IMG_BACKGROUND_ENVELOPE_4                      1392
-#define IMG_BACKGROUND                                 1393
-#define IMG_BACKGROUND_MAIN                            1394
-#define IMG_BACKGROUND_LEVELS                          1395
-#define IMG_BACKGROUND_SCORES                          1396
-#define IMG_BACKGROUND_EDITOR                          1397
-#define IMG_BACKGROUND_INFO                            1398
-#define IMG_BACKGROUND_INFO_ELEMENTS                   1399
-#define IMG_BACKGROUND_SETUP                           1400
-#define IMG_BACKGROUND_DOOR                            1401
-#define IMG_EMC_OBJECT                                 1402
-#define IMG_EMC_SPRITE                                 1403
+#define IMG_BALLOON_SWITCH_NONE                                656
+#define IMG_EMC_ANDROID                                        657
+#define IMG_EMC_GENERATOR_BALL                         658
+#define IMG_EMC_GATE_5                                 659
+#define IMG_EMC_GATE_5_GRAY                            660
+#define IMG_EMC_GATE_6                                 661
+#define IMG_EMC_GATE_6_GRAY                            662
+#define IMG_EMC_GATE_7                                 663
+#define IMG_EMC_GATE_7_GRAY                            664
+#define IMG_EMC_GATE_8                                 665
+#define IMG_EMC_GATE_8_GRAY                            666
+#define IMG_EMC_KEY_5                                  667
+#define IMG_EMC_KEY_6                                  668
+#define IMG_EMC_KEY_7                                  669
+#define IMG_EMC_KEY_8                                  670
+#define IMG_CHAR_SPACE                                 671
+#define IMG_CHAR_EXCLAM                                        672
+#define IMG_CHAR_QUOTEDBL                              673
+#define IMG_CHAR_NUMBERSIGN                            674
+#define IMG_CHAR_DOLLAR                                        675
+#define IMG_CHAR_PROCENT                               676
+#define IMG_CHAR_AMPERSAND                             677
+#define IMG_CHAR_APOSTROPHE                            678
+#define IMG_CHAR_PARENLEFT                             679
+#define IMG_CHAR_PARENRIGHT                            680
+#define IMG_CHAR_ASTERISK                              681
+#define IMG_CHAR_PLUS                                  682
+#define IMG_CHAR_COMMA                                 683
+#define IMG_CHAR_MINUS                                 684
+#define IMG_CHAR_PERIOD                                        685
+#define IMG_CHAR_SLASH                                 686
+#define IMG_CHAR_0                                     687
+#define IMG_CHAR_1                                     688
+#define IMG_CHAR_2                                     689
+#define IMG_CHAR_3                                     690
+#define IMG_CHAR_4                                     691
+#define IMG_CHAR_5                                     692
+#define IMG_CHAR_6                                     693
+#define IMG_CHAR_7                                     694
+#define IMG_CHAR_8                                     695
+#define IMG_CHAR_9                                     696
+#define IMG_CHAR_COLON                                 697
+#define IMG_CHAR_SEMICOLON                             698
+#define IMG_CHAR_LESS                                  699
+#define IMG_CHAR_EQUAL                                 700
+#define IMG_CHAR_GREATER                               701
+#define IMG_CHAR_QUESTION                              702
+#define IMG_CHAR_AT                                    703
+#define IMG_CHAR_A                                     704
+#define IMG_CHAR_B                                     705
+#define IMG_CHAR_C                                     706
+#define IMG_CHAR_D                                     707
+#define IMG_CHAR_E                                     708
+#define IMG_CHAR_F                                     709
+#define IMG_CHAR_G                                     710
+#define IMG_CHAR_H                                     711
+#define IMG_CHAR_I                                     712
+#define IMG_CHAR_J                                     713
+#define IMG_CHAR_K                                     714
+#define IMG_CHAR_L                                     715
+#define IMG_CHAR_M                                     716
+#define IMG_CHAR_N                                     717
+#define IMG_CHAR_O                                     718
+#define IMG_CHAR_P                                     719
+#define IMG_CHAR_Q                                     720
+#define IMG_CHAR_R                                     721
+#define IMG_CHAR_S                                     722
+#define IMG_CHAR_T                                     723
+#define IMG_CHAR_U                                     724
+#define IMG_CHAR_V                                     725
+#define IMG_CHAR_W                                     726
+#define IMG_CHAR_X                                     727
+#define IMG_CHAR_Y                                     728
+#define IMG_CHAR_Z                                     729
+#define IMG_CHAR_BRACKETLEFT                           730
+#define IMG_CHAR_BACKSLASH                             731
+#define IMG_CHAR_BRACKETRIGHT                          732
+#define IMG_CHAR_ASCIICIRCUM                           733
+#define IMG_CHAR_UNDERSCORE                            734
+#define IMG_CHAR_COPYRIGHT                             735
+#define IMG_CHAR_AUMLAUT                               736
+#define IMG_CHAR_OUMLAUT                               737
+#define IMG_CHAR_UUMLAUT                               738
+#define IMG_CHAR_DEGREE                                        739
+#define IMG_CHAR_TRADEMARK                             740
+#define IMG_CHAR_CURSOR                                        741
+#define IMG_CUSTOM_1                                   742
+#define IMG_CUSTOM_1_EDITOR                            743
+#define IMG_CUSTOM_2                                   744
+#define IMG_CUSTOM_2_EDITOR                            745
+#define IMG_CUSTOM_3                                   746
+#define IMG_CUSTOM_3_EDITOR                            747
+#define IMG_CUSTOM_4                                   748
+#define IMG_CUSTOM_4_EDITOR                            749
+#define IMG_CUSTOM_5                                   750
+#define IMG_CUSTOM_5_EDITOR                            751
+#define IMG_CUSTOM_6                                   752
+#define IMG_CUSTOM_6_EDITOR                            753
+#define IMG_CUSTOM_7                                   754
+#define IMG_CUSTOM_7_EDITOR                            755
+#define IMG_CUSTOM_8                                   756
+#define IMG_CUSTOM_8_EDITOR                            757
+#define IMG_CUSTOM_9                                   758
+#define IMG_CUSTOM_9_EDITOR                            759
+#define IMG_CUSTOM_10                                  760
+#define IMG_CUSTOM_10_EDITOR                           761
+#define IMG_CUSTOM_11                                  762
+#define IMG_CUSTOM_11_EDITOR                           763
+#define IMG_CUSTOM_12                                  764
+#define IMG_CUSTOM_12_EDITOR                           765
+#define IMG_CUSTOM_13                                  766
+#define IMG_CUSTOM_13_EDITOR                           767
+#define IMG_CUSTOM_14                                  768
+#define IMG_CUSTOM_14_EDITOR                           769
+#define IMG_CUSTOM_15                                  770
+#define IMG_CUSTOM_15_EDITOR                           771
+#define IMG_CUSTOM_16                                  772
+#define IMG_CUSTOM_16_EDITOR                           773
+#define IMG_CUSTOM_17                                  774
+#define IMG_CUSTOM_17_EDITOR                           775
+#define IMG_CUSTOM_18                                  776
+#define IMG_CUSTOM_18_EDITOR                           777
+#define IMG_CUSTOM_19                                  778
+#define IMG_CUSTOM_19_EDITOR                           779
+#define IMG_CUSTOM_20                                  780
+#define IMG_CUSTOM_20_EDITOR                           781
+#define IMG_CUSTOM_21                                  782
+#define IMG_CUSTOM_21_EDITOR                           783
+#define IMG_CUSTOM_22                                  784
+#define IMG_CUSTOM_22_EDITOR                           785
+#define IMG_CUSTOM_23                                  786
+#define IMG_CUSTOM_23_EDITOR                           787
+#define IMG_CUSTOM_24                                  788
+#define IMG_CUSTOM_24_EDITOR                           789
+#define IMG_CUSTOM_25                                  790
+#define IMG_CUSTOM_25_EDITOR                           791
+#define IMG_CUSTOM_26                                  792
+#define IMG_CUSTOM_26_EDITOR                           793
+#define IMG_CUSTOM_27                                  794
+#define IMG_CUSTOM_27_EDITOR                           795
+#define IMG_CUSTOM_28                                  796
+#define IMG_CUSTOM_28_EDITOR                           797
+#define IMG_CUSTOM_29                                  798
+#define IMG_CUSTOM_29_EDITOR                           799
+#define IMG_CUSTOM_30                                  800
+#define IMG_CUSTOM_30_EDITOR                           801
+#define IMG_CUSTOM_31                                  802
+#define IMG_CUSTOM_31_EDITOR                           803
+#define IMG_CUSTOM_32                                  804
+#define IMG_CUSTOM_32_EDITOR                           805
+#define IMG_CUSTOM_33                                  806
+#define IMG_CUSTOM_33_EDITOR                           807
+#define IMG_CUSTOM_34                                  808
+#define IMG_CUSTOM_34_EDITOR                           809
+#define IMG_CUSTOM_35                                  810
+#define IMG_CUSTOM_35_EDITOR                           811
+#define IMG_CUSTOM_36                                  812
+#define IMG_CUSTOM_36_EDITOR                           813
+#define IMG_CUSTOM_37                                  814
+#define IMG_CUSTOM_37_EDITOR                           815
+#define IMG_CUSTOM_38                                  816
+#define IMG_CUSTOM_38_EDITOR                           817
+#define IMG_CUSTOM_39                                  818
+#define IMG_CUSTOM_39_EDITOR                           819
+#define IMG_CUSTOM_40                                  820
+#define IMG_CUSTOM_40_EDITOR                           821
+#define IMG_CUSTOM_41                                  822
+#define IMG_CUSTOM_41_EDITOR                           823
+#define IMG_CUSTOM_42                                  824
+#define IMG_CUSTOM_42_EDITOR                           825
+#define IMG_CUSTOM_43                                  826
+#define IMG_CUSTOM_43_EDITOR                           827
+#define IMG_CUSTOM_44                                  828
+#define IMG_CUSTOM_44_EDITOR                           829
+#define IMG_CUSTOM_45                                  830
+#define IMG_CUSTOM_45_EDITOR                           831
+#define IMG_CUSTOM_46                                  832
+#define IMG_CUSTOM_46_EDITOR                           833
+#define IMG_CUSTOM_47                                  834
+#define IMG_CUSTOM_47_EDITOR                           835
+#define IMG_CUSTOM_48                                  836
+#define IMG_CUSTOM_48_EDITOR                           837
+#define IMG_CUSTOM_49                                  838
+#define IMG_CUSTOM_49_EDITOR                           839
+#define IMG_CUSTOM_50                                  840
+#define IMG_CUSTOM_50_EDITOR                           841
+#define IMG_CUSTOM_51                                  842
+#define IMG_CUSTOM_51_EDITOR                           843
+#define IMG_CUSTOM_52                                  844
+#define IMG_CUSTOM_52_EDITOR                           845
+#define IMG_CUSTOM_53                                  846
+#define IMG_CUSTOM_53_EDITOR                           847
+#define IMG_CUSTOM_54                                  848
+#define IMG_CUSTOM_54_EDITOR                           849
+#define IMG_CUSTOM_55                                  850
+#define IMG_CUSTOM_55_EDITOR                           851
+#define IMG_CUSTOM_56                                  852
+#define IMG_CUSTOM_56_EDITOR                           853
+#define IMG_CUSTOM_57                                  854
+#define IMG_CUSTOM_57_EDITOR                           855
+#define IMG_CUSTOM_58                                  856
+#define IMG_CUSTOM_58_EDITOR                           857
+#define IMG_CUSTOM_59                                  858
+#define IMG_CUSTOM_59_EDITOR                           859
+#define IMG_CUSTOM_60                                  860
+#define IMG_CUSTOM_60_EDITOR                           861
+#define IMG_CUSTOM_61                                  862
+#define IMG_CUSTOM_61_EDITOR                           863
+#define IMG_CUSTOM_62                                  864
+#define IMG_CUSTOM_62_EDITOR                           865
+#define IMG_CUSTOM_63                                  866
+#define IMG_CUSTOM_63_EDITOR                           867
+#define IMG_CUSTOM_64                                  868
+#define IMG_CUSTOM_64_EDITOR                           869
+#define IMG_CUSTOM_65                                  870
+#define IMG_CUSTOM_65_EDITOR                           871
+#define IMG_CUSTOM_66                                  872
+#define IMG_CUSTOM_66_EDITOR                           873
+#define IMG_CUSTOM_67                                  874
+#define IMG_CUSTOM_67_EDITOR                           875
+#define IMG_CUSTOM_68                                  876
+#define IMG_CUSTOM_68_EDITOR                           877
+#define IMG_CUSTOM_69                                  878
+#define IMG_CUSTOM_69_EDITOR                           879
+#define IMG_CUSTOM_70                                  880
+#define IMG_CUSTOM_70_EDITOR                           881
+#define IMG_CUSTOM_71                                  882
+#define IMG_CUSTOM_71_EDITOR                           883
+#define IMG_CUSTOM_72                                  884
+#define IMG_CUSTOM_72_EDITOR                           885
+#define IMG_CUSTOM_73                                  886
+#define IMG_CUSTOM_73_EDITOR                           887
+#define IMG_CUSTOM_74                                  888
+#define IMG_CUSTOM_74_EDITOR                           889
+#define IMG_CUSTOM_75                                  890
+#define IMG_CUSTOM_75_EDITOR                           891
+#define IMG_CUSTOM_76                                  892
+#define IMG_CUSTOM_76_EDITOR                           893
+#define IMG_CUSTOM_77                                  894
+#define IMG_CUSTOM_77_EDITOR                           895
+#define IMG_CUSTOM_78                                  896
+#define IMG_CUSTOM_78_EDITOR                           897
+#define IMG_CUSTOM_79                                  898
+#define IMG_CUSTOM_79_EDITOR                           899
+#define IMG_CUSTOM_80                                  900
+#define IMG_CUSTOM_80_EDITOR                           901
+#define IMG_CUSTOM_81                                  902
+#define IMG_CUSTOM_81_EDITOR                           903
+#define IMG_CUSTOM_82                                  904
+#define IMG_CUSTOM_82_EDITOR                           905
+#define IMG_CUSTOM_83                                  906
+#define IMG_CUSTOM_83_EDITOR                           907
+#define IMG_CUSTOM_84                                  908
+#define IMG_CUSTOM_84_EDITOR                           909
+#define IMG_CUSTOM_85                                  910
+#define IMG_CUSTOM_85_EDITOR                           911
+#define IMG_CUSTOM_86                                  912
+#define IMG_CUSTOM_86_EDITOR                           913
+#define IMG_CUSTOM_87                                  914
+#define IMG_CUSTOM_87_EDITOR                           915
+#define IMG_CUSTOM_88                                  916
+#define IMG_CUSTOM_88_EDITOR                           917
+#define IMG_CUSTOM_89                                  918
+#define IMG_CUSTOM_89_EDITOR                           919
+#define IMG_CUSTOM_90                                  920
+#define IMG_CUSTOM_90_EDITOR                           921
+#define IMG_CUSTOM_91                                  922
+#define IMG_CUSTOM_91_EDITOR                           923
+#define IMG_CUSTOM_92                                  924
+#define IMG_CUSTOM_92_EDITOR                           925
+#define IMG_CUSTOM_93                                  926
+#define IMG_CUSTOM_93_EDITOR                           927
+#define IMG_CUSTOM_94                                  928
+#define IMG_CUSTOM_94_EDITOR                           929
+#define IMG_CUSTOM_95                                  930
+#define IMG_CUSTOM_95_EDITOR                           931
+#define IMG_CUSTOM_96                                  932
+#define IMG_CUSTOM_96_EDITOR                           933
+#define IMG_CUSTOM_97                                  934
+#define IMG_CUSTOM_97_EDITOR                           935
+#define IMG_CUSTOM_98                                  936
+#define IMG_CUSTOM_98_EDITOR                           937
+#define IMG_CUSTOM_99                                  938
+#define IMG_CUSTOM_99_EDITOR                           939
+#define IMG_CUSTOM_100                                 940
+#define IMG_CUSTOM_100_EDITOR                          941
+#define IMG_CUSTOM_101                                 942
+#define IMG_CUSTOM_101_EDITOR                          943
+#define IMG_CUSTOM_102                                 944
+#define IMG_CUSTOM_102_EDITOR                          945
+#define IMG_CUSTOM_103                                 946
+#define IMG_CUSTOM_103_EDITOR                          947
+#define IMG_CUSTOM_104                                 948
+#define IMG_CUSTOM_104_EDITOR                          949
+#define IMG_CUSTOM_105                                 950
+#define IMG_CUSTOM_105_EDITOR                          951
+#define IMG_CUSTOM_106                                 952
+#define IMG_CUSTOM_106_EDITOR                          953
+#define IMG_CUSTOM_107                                 954
+#define IMG_CUSTOM_107_EDITOR                          955
+#define IMG_CUSTOM_108                                 956
+#define IMG_CUSTOM_108_EDITOR                          957
+#define IMG_CUSTOM_109                                 958
+#define IMG_CUSTOM_109_EDITOR                          959
+#define IMG_CUSTOM_110                                 960
+#define IMG_CUSTOM_110_EDITOR                          961
+#define IMG_CUSTOM_111                                 962
+#define IMG_CUSTOM_111_EDITOR                          963
+#define IMG_CUSTOM_112                                 964
+#define IMG_CUSTOM_112_EDITOR                          965
+#define IMG_CUSTOM_113                                 966
+#define IMG_CUSTOM_113_EDITOR                          967
+#define IMG_CUSTOM_114                                 968
+#define IMG_CUSTOM_114_EDITOR                          969
+#define IMG_CUSTOM_115                                 970
+#define IMG_CUSTOM_115_EDITOR                          971
+#define IMG_CUSTOM_116                                 972
+#define IMG_CUSTOM_116_EDITOR                          973
+#define IMG_CUSTOM_117                                 974
+#define IMG_CUSTOM_117_EDITOR                          975
+#define IMG_CUSTOM_118                                 976
+#define IMG_CUSTOM_118_EDITOR                          977
+#define IMG_CUSTOM_119                                 978
+#define IMG_CUSTOM_119_EDITOR                          979
+#define IMG_CUSTOM_120                                 980
+#define IMG_CUSTOM_120_EDITOR                          981
+#define IMG_CUSTOM_121                                 982
+#define IMG_CUSTOM_121_EDITOR                          983
+#define IMG_CUSTOM_122                                 984
+#define IMG_CUSTOM_122_EDITOR                          985
+#define IMG_CUSTOM_123                                 986
+#define IMG_CUSTOM_123_EDITOR                          987
+#define IMG_CUSTOM_124                                 988
+#define IMG_CUSTOM_124_EDITOR                          989
+#define IMG_CUSTOM_125                                 990
+#define IMG_CUSTOM_125_EDITOR                          991
+#define IMG_CUSTOM_126                                 992
+#define IMG_CUSTOM_126_EDITOR                          993
+#define IMG_CUSTOM_127                                 994
+#define IMG_CUSTOM_127_EDITOR                          995
+#define IMG_CUSTOM_128                                 996
+#define IMG_CUSTOM_128_EDITOR                          997
+#define IMG_CUSTOM_129                                 998
+#define IMG_CUSTOM_129_EDITOR                          999
+#define IMG_CUSTOM_130                                 1000
+#define IMG_CUSTOM_130_EDITOR                          1001
+#define IMG_CUSTOM_131                                 1002
+#define IMG_CUSTOM_131_EDITOR                          1003
+#define IMG_CUSTOM_132                                 1004
+#define IMG_CUSTOM_132_EDITOR                          1005
+#define IMG_CUSTOM_133                                 1006
+#define IMG_CUSTOM_133_EDITOR                          1007
+#define IMG_CUSTOM_134                                 1008
+#define IMG_CUSTOM_134_EDITOR                          1009
+#define IMG_CUSTOM_135                                 1010
+#define IMG_CUSTOM_135_EDITOR                          1011
+#define IMG_CUSTOM_136                                 1012
+#define IMG_CUSTOM_136_EDITOR                          1013
+#define IMG_CUSTOM_137                                 1014
+#define IMG_CUSTOM_137_EDITOR                          1015
+#define IMG_CUSTOM_138                                 1016
+#define IMG_CUSTOM_138_EDITOR                          1017
+#define IMG_CUSTOM_139                                 1018
+#define IMG_CUSTOM_139_EDITOR                          1019
+#define IMG_CUSTOM_140                                 1020
+#define IMG_CUSTOM_140_EDITOR                          1021
+#define IMG_CUSTOM_141                                 1022
+#define IMG_CUSTOM_141_EDITOR                          1023
+#define IMG_CUSTOM_142                                 1024
+#define IMG_CUSTOM_142_EDITOR                          1025
+#define IMG_CUSTOM_143                                 1026
+#define IMG_CUSTOM_143_EDITOR                          1027
+#define IMG_CUSTOM_144                                 1028
+#define IMG_CUSTOM_144_EDITOR                          1029
+#define IMG_CUSTOM_145                                 1030
+#define IMG_CUSTOM_145_EDITOR                          1031
+#define IMG_CUSTOM_146                                 1032
+#define IMG_CUSTOM_146_EDITOR                          1033
+#define IMG_CUSTOM_147                                 1034
+#define IMG_CUSTOM_147_EDITOR                          1035
+#define IMG_CUSTOM_148                                 1036
+#define IMG_CUSTOM_148_EDITOR                          1037
+#define IMG_CUSTOM_149                                 1038
+#define IMG_CUSTOM_149_EDITOR                          1039
+#define IMG_CUSTOM_150                                 1040
+#define IMG_CUSTOM_150_EDITOR                          1041
+#define IMG_CUSTOM_151                                 1042
+#define IMG_CUSTOM_151_EDITOR                          1043
+#define IMG_CUSTOM_152                                 1044
+#define IMG_CUSTOM_152_EDITOR                          1045
+#define IMG_CUSTOM_153                                 1046
+#define IMG_CUSTOM_153_EDITOR                          1047
+#define IMG_CUSTOM_154                                 1048
+#define IMG_CUSTOM_154_EDITOR                          1049
+#define IMG_CUSTOM_155                                 1050
+#define IMG_CUSTOM_155_EDITOR                          1051
+#define IMG_CUSTOM_156                                 1052
+#define IMG_CUSTOM_156_EDITOR                          1053
+#define IMG_CUSTOM_157                                 1054
+#define IMG_CUSTOM_157_EDITOR                          1055
+#define IMG_CUSTOM_158                                 1056
+#define IMG_CUSTOM_158_EDITOR                          1057
+#define IMG_CUSTOM_159                                 1058
+#define IMG_CUSTOM_159_EDITOR                          1059
+#define IMG_CUSTOM_160                                 1060
+#define IMG_CUSTOM_160_EDITOR                          1061
+#define IMG_CUSTOM_161                                 1062
+#define IMG_CUSTOM_161_EDITOR                          1063
+#define IMG_CUSTOM_162                                 1064
+#define IMG_CUSTOM_162_EDITOR                          1065
+#define IMG_CUSTOM_163                                 1066
+#define IMG_CUSTOM_163_EDITOR                          1067
+#define IMG_CUSTOM_164                                 1068
+#define IMG_CUSTOM_164_EDITOR                          1069
+#define IMG_CUSTOM_165                                 1070
+#define IMG_CUSTOM_165_EDITOR                          1071
+#define IMG_CUSTOM_166                                 1072
+#define IMG_CUSTOM_166_EDITOR                          1073
+#define IMG_CUSTOM_167                                 1074
+#define IMG_CUSTOM_167_EDITOR                          1075
+#define IMG_CUSTOM_168                                 1076
+#define IMG_CUSTOM_168_EDITOR                          1077
+#define IMG_CUSTOM_169                                 1078
+#define IMG_CUSTOM_169_EDITOR                          1079
+#define IMG_CUSTOM_170                                 1080
+#define IMG_CUSTOM_170_EDITOR                          1081
+#define IMG_CUSTOM_171                                 1082
+#define IMG_CUSTOM_171_EDITOR                          1083
+#define IMG_CUSTOM_172                                 1084
+#define IMG_CUSTOM_172_EDITOR                          1085
+#define IMG_CUSTOM_173                                 1086
+#define IMG_CUSTOM_173_EDITOR                          1087
+#define IMG_CUSTOM_174                                 1088
+#define IMG_CUSTOM_174_EDITOR                          1089
+#define IMG_CUSTOM_175                                 1090
+#define IMG_CUSTOM_175_EDITOR                          1091
+#define IMG_CUSTOM_176                                 1092
+#define IMG_CUSTOM_176_EDITOR                          1093
+#define IMG_CUSTOM_177                                 1094
+#define IMG_CUSTOM_177_EDITOR                          1095
+#define IMG_CUSTOM_178                                 1096
+#define IMG_CUSTOM_178_EDITOR                          1097
+#define IMG_CUSTOM_179                                 1098
+#define IMG_CUSTOM_179_EDITOR                          1099
+#define IMG_CUSTOM_180                                 1100
+#define IMG_CUSTOM_180_EDITOR                          1101
+#define IMG_CUSTOM_181                                 1102
+#define IMG_CUSTOM_181_EDITOR                          1103
+#define IMG_CUSTOM_182                                 1104
+#define IMG_CUSTOM_182_EDITOR                          1105
+#define IMG_CUSTOM_183                                 1106
+#define IMG_CUSTOM_183_EDITOR                          1107
+#define IMG_CUSTOM_184                                 1108
+#define IMG_CUSTOM_184_EDITOR                          1109
+#define IMG_CUSTOM_185                                 1110
+#define IMG_CUSTOM_185_EDITOR                          1111
+#define IMG_CUSTOM_186                                 1112
+#define IMG_CUSTOM_186_EDITOR                          1113
+#define IMG_CUSTOM_187                                 1114
+#define IMG_CUSTOM_187_EDITOR                          1115
+#define IMG_CUSTOM_188                                 1116
+#define IMG_CUSTOM_188_EDITOR                          1117
+#define IMG_CUSTOM_189                                 1118
+#define IMG_CUSTOM_189_EDITOR                          1119
+#define IMG_CUSTOM_190                                 1120
+#define IMG_CUSTOM_190_EDITOR                          1121
+#define IMG_CUSTOM_191                                 1122
+#define IMG_CUSTOM_191_EDITOR                          1123
+#define IMG_CUSTOM_192                                 1124
+#define IMG_CUSTOM_192_EDITOR                          1125
+#define IMG_CUSTOM_193                                 1126
+#define IMG_CUSTOM_193_EDITOR                          1127
+#define IMG_CUSTOM_194                                 1128
+#define IMG_CUSTOM_194_EDITOR                          1129
+#define IMG_CUSTOM_195                                 1130
+#define IMG_CUSTOM_195_EDITOR                          1131
+#define IMG_CUSTOM_196                                 1132
+#define IMG_CUSTOM_196_EDITOR                          1133
+#define IMG_CUSTOM_197                                 1134
+#define IMG_CUSTOM_197_EDITOR                          1135
+#define IMG_CUSTOM_198                                 1136
+#define IMG_CUSTOM_198_EDITOR                          1137
+#define IMG_CUSTOM_199                                 1138
+#define IMG_CUSTOM_199_EDITOR                          1139
+#define IMG_CUSTOM_200                                 1140
+#define IMG_CUSTOM_200_EDITOR                          1141
+#define IMG_CUSTOM_201                                 1142
+#define IMG_CUSTOM_201_EDITOR                          1143
+#define IMG_CUSTOM_202                                 1144
+#define IMG_CUSTOM_202_EDITOR                          1145
+#define IMG_CUSTOM_203                                 1146
+#define IMG_CUSTOM_203_EDITOR                          1147
+#define IMG_CUSTOM_204                                 1148
+#define IMG_CUSTOM_204_EDITOR                          1149
+#define IMG_CUSTOM_205                                 1150
+#define IMG_CUSTOM_205_EDITOR                          1151
+#define IMG_CUSTOM_206                                 1152
+#define IMG_CUSTOM_206_EDITOR                          1153
+#define IMG_CUSTOM_207                                 1154
+#define IMG_CUSTOM_207_EDITOR                          1155
+#define IMG_CUSTOM_208                                 1156
+#define IMG_CUSTOM_208_EDITOR                          1157
+#define IMG_CUSTOM_209                                 1158
+#define IMG_CUSTOM_209_EDITOR                          1159
+#define IMG_CUSTOM_210                                 1160
+#define IMG_CUSTOM_210_EDITOR                          1161
+#define IMG_CUSTOM_211                                 1162
+#define IMG_CUSTOM_211_EDITOR                          1163
+#define IMG_CUSTOM_212                                 1164
+#define IMG_CUSTOM_212_EDITOR                          1165
+#define IMG_CUSTOM_213                                 1166
+#define IMG_CUSTOM_213_EDITOR                          1167
+#define IMG_CUSTOM_214                                 1168
+#define IMG_CUSTOM_214_EDITOR                          1169
+#define IMG_CUSTOM_215                                 1170
+#define IMG_CUSTOM_215_EDITOR                          1171
+#define IMG_CUSTOM_216                                 1172
+#define IMG_CUSTOM_216_EDITOR                          1173
+#define IMG_CUSTOM_217                                 1174
+#define IMG_CUSTOM_217_EDITOR                          1175
+#define IMG_CUSTOM_218                                 1176
+#define IMG_CUSTOM_218_EDITOR                          1177
+#define IMG_CUSTOM_219                                 1178
+#define IMG_CUSTOM_219_EDITOR                          1179
+#define IMG_CUSTOM_220                                 1180
+#define IMG_CUSTOM_220_EDITOR                          1181
+#define IMG_CUSTOM_221                                 1182
+#define IMG_CUSTOM_221_EDITOR                          1183
+#define IMG_CUSTOM_222                                 1184
+#define IMG_CUSTOM_222_EDITOR                          1185
+#define IMG_CUSTOM_223                                 1186
+#define IMG_CUSTOM_223_EDITOR                          1187
+#define IMG_CUSTOM_224                                 1188
+#define IMG_CUSTOM_224_EDITOR                          1189
+#define IMG_CUSTOM_225                                 1190
+#define IMG_CUSTOM_225_EDITOR                          1191
+#define IMG_CUSTOM_226                                 1192
+#define IMG_CUSTOM_226_EDITOR                          1193
+#define IMG_CUSTOM_227                                 1194
+#define IMG_CUSTOM_227_EDITOR                          1195
+#define IMG_CUSTOM_228                                 1196
+#define IMG_CUSTOM_228_EDITOR                          1197
+#define IMG_CUSTOM_229                                 1198
+#define IMG_CUSTOM_229_EDITOR                          1199
+#define IMG_CUSTOM_230                                 1200
+#define IMG_CUSTOM_230_EDITOR                          1201
+#define IMG_CUSTOM_231                                 1202
+#define IMG_CUSTOM_231_EDITOR                          1203
+#define IMG_CUSTOM_232                                 1204
+#define IMG_CUSTOM_232_EDITOR                          1205
+#define IMG_CUSTOM_233                                 1206
+#define IMG_CUSTOM_233_EDITOR                          1207
+#define IMG_CUSTOM_234                                 1208
+#define IMG_CUSTOM_234_EDITOR                          1209
+#define IMG_CUSTOM_235                                 1210
+#define IMG_CUSTOM_235_EDITOR                          1211
+#define IMG_CUSTOM_236                                 1212
+#define IMG_CUSTOM_236_EDITOR                          1213
+#define IMG_CUSTOM_237                                 1214
+#define IMG_CUSTOM_237_EDITOR                          1215
+#define IMG_CUSTOM_238                                 1216
+#define IMG_CUSTOM_238_EDITOR                          1217
+#define IMG_CUSTOM_239                                 1218
+#define IMG_CUSTOM_239_EDITOR                          1219
+#define IMG_CUSTOM_240                                 1220
+#define IMG_CUSTOM_240_EDITOR                          1221
+#define IMG_CUSTOM_241                                 1222
+#define IMG_CUSTOM_241_EDITOR                          1223
+#define IMG_CUSTOM_242                                 1224
+#define IMG_CUSTOM_242_EDITOR                          1225
+#define IMG_CUSTOM_243                                 1226
+#define IMG_CUSTOM_243_EDITOR                          1227
+#define IMG_CUSTOM_244                                 1228
+#define IMG_CUSTOM_244_EDITOR                          1229
+#define IMG_CUSTOM_245                                 1230
+#define IMG_CUSTOM_245_EDITOR                          1231
+#define IMG_CUSTOM_246                                 1232
+#define IMG_CUSTOM_246_EDITOR                          1233
+#define IMG_CUSTOM_247                                 1234
+#define IMG_CUSTOM_247_EDITOR                          1235
+#define IMG_CUSTOM_248                                 1236
+#define IMG_CUSTOM_248_EDITOR                          1237
+#define IMG_CUSTOM_249                                 1238
+#define IMG_CUSTOM_249_EDITOR                          1239
+#define IMG_CUSTOM_250                                 1240
+#define IMG_CUSTOM_250_EDITOR                          1241
+#define IMG_CUSTOM_251                                 1242
+#define IMG_CUSTOM_251_EDITOR                          1243
+#define IMG_CUSTOM_252                                 1244
+#define IMG_CUSTOM_252_EDITOR                          1245
+#define IMG_CUSTOM_253                                 1246
+#define IMG_CUSTOM_253_EDITOR                          1247
+#define IMG_CUSTOM_254                                 1248
+#define IMG_CUSTOM_254_EDITOR                          1249
+#define IMG_CUSTOM_255                                 1250
+#define IMG_CUSTOM_255_EDITOR                          1251
+#define IMG_CUSTOM_256                                 1252
+#define IMG_CUSTOM_256_EDITOR                          1253
+#define IMG_GROUP_1                                    1254
+#define IMG_GROUP_1_EDITOR                             1255
+#define IMG_GROUP_2                                    1256
+#define IMG_GROUP_2_EDITOR                             1257
+#define IMG_GROUP_3                                    1258
+#define IMG_GROUP_3_EDITOR                             1259
+#define IMG_GROUP_4                                    1260
+#define IMG_GROUP_4_EDITOR                             1261
+#define IMG_GROUP_5                                    1262
+#define IMG_GROUP_5_EDITOR                             1263
+#define IMG_GROUP_6                                    1264
+#define IMG_GROUP_6_EDITOR                             1265
+#define IMG_GROUP_7                                    1266
+#define IMG_GROUP_7_EDITOR                             1267
+#define IMG_GROUP_8                                    1268
+#define IMG_GROUP_8_EDITOR                             1269
+#define IMG_GROUP_9                                    1270
+#define IMG_GROUP_9_EDITOR                             1271
+#define IMG_GROUP_10                                   1272
+#define IMG_GROUP_10_EDITOR                            1273
+#define IMG_GROUP_11                                   1274
+#define IMG_GROUP_11_EDITOR                            1275
+#define IMG_GROUP_12                                   1276
+#define IMG_GROUP_12_EDITOR                            1277
+#define IMG_GROUP_13                                   1278
+#define IMG_GROUP_13_EDITOR                            1279
+#define IMG_GROUP_14                                   1280
+#define IMG_GROUP_14_EDITOR                            1281
+#define IMG_GROUP_15                                   1282
+#define IMG_GROUP_15_EDITOR                            1283
+#define IMG_GROUP_16                                   1284
+#define IMG_GROUP_16_EDITOR                            1285
+#define IMG_GROUP_17                                   1286
+#define IMG_GROUP_17_EDITOR                            1287
+#define IMG_GROUP_18                                   1288
+#define IMG_GROUP_18_EDITOR                            1289
+#define IMG_GROUP_19                                   1290
+#define IMG_GROUP_19_EDITOR                            1291
+#define IMG_GROUP_20                                   1292
+#define IMG_GROUP_20_EDITOR                            1293
+#define IMG_GROUP_21                                   1294
+#define IMG_GROUP_21_EDITOR                            1295
+#define IMG_GROUP_22                                   1296
+#define IMG_GROUP_22_EDITOR                            1297
+#define IMG_GROUP_23                                   1298
+#define IMG_GROUP_23_EDITOR                            1299
+#define IMG_GROUP_24                                   1300
+#define IMG_GROUP_24_EDITOR                            1301
+#define IMG_GROUP_25                                   1302
+#define IMG_GROUP_25_EDITOR                            1303
+#define IMG_GROUP_26                                   1304
+#define IMG_GROUP_26_EDITOR                            1305
+#define IMG_GROUP_27                                   1306
+#define IMG_GROUP_27_EDITOR                            1307
+#define IMG_GROUP_28                                   1308
+#define IMG_GROUP_28_EDITOR                            1309
+#define IMG_GROUP_29                                   1310
+#define IMG_GROUP_29_EDITOR                            1311
+#define IMG_GROUP_30                                   1312
+#define IMG_GROUP_30_EDITOR                            1313
+#define IMG_GROUP_31                                   1314
+#define IMG_GROUP_31_EDITOR                            1315
+#define IMG_GROUP_32                                   1316
+#define IMG_GROUP_32_EDITOR                            1317
+#define IMG_EMC_OBJECT                                 1318
+#define IMG_EMC_SPRITE                                 1319
+#define IMG_TOON_1                                     1320
+#define IMG_TOON_2                                     1321
+#define IMG_TOON_3                                     1322
+#define IMG_TOON_4                                     1323
+#define IMG_TOON_5                                     1324
+#define IMG_TOON_6                                     1325
+#define IMG_TOON_7                                     1326
+#define IMG_TOON_8                                     1327
+#define IMG_TOON_9                                     1328
+#define IMG_TOON_10                                    1329
+#define IMG_TOON_11                                    1330
+#define IMG_TOON_12                                    1331
+#define IMG_TOON_13                                    1332
+#define IMG_TOON_14                                    1333
+#define IMG_TOON_15                                    1334
+#define IMG_TOON_16                                    1335
+#define IMG_TOON_17                                    1336
+#define IMG_TOON_18                                    1337
+#define IMG_TOON_19                                    1338
+#define IMG_TOON_20                                    1339
+#define IMG_MENU_CALIBRATE_RED                         1340
+#define IMG_MENU_CALIBRATE_BLUE                                1341
+#define IMG_MENU_CALIBRATE_YELLOW                      1342
+#define IMG_MENU_BUTTON                                        1343
+#define IMG_MENU_BUTTON_ACTIVE                         1344
+#define IMG_MENU_BUTTON_LEFT                           1345
+#define IMG_MENU_BUTTON_RIGHT                          1346
+#define IMG_MENU_BUTTON_UP                             1347
+#define IMG_MENU_BUTTON_DOWN                           1348
+#define IMG_MENU_BUTTON_LEFT_ACTIVE                    1349
+#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   1350
+#define IMG_MENU_BUTTON_UP_ACTIVE                      1351
+#define IMG_MENU_BUTTON_DOWN_ACTIVE                    1352
+#define IMG_MENU_SCROLLBAR                             1353
+#define IMG_MENU_SCROLLBAR_ACTIVE                      1354
+#define IMG_FONT_INITIAL_1                             1355
+#define IMG_FONT_INITIAL_2                             1356
+#define IMG_FONT_INITIAL_3                             1357
+#define IMG_FONT_INITIAL_4                             1358
+#define IMG_FONT_TITLE_1                               1359
+#define IMG_FONT_TITLE_1_LEVELS                                1360
+#define IMG_FONT_TITLE_2                               1361
+#define IMG_FONT_MENU_1                                        1362
+#define IMG_FONT_MENU_2                                        1363
+#define IMG_FONT_TEXT_1                                        1364
+#define IMG_FONT_TEXT_1_LEVELS                         1365
+#define IMG_FONT_TEXT_1_PREVIEW                                1366
+#define IMG_FONT_TEXT_1_SCORES                         1367
+#define IMG_FONT_TEXT_1_ACTIVE_SCORES                  1368
+#define IMG_FONT_TEXT_2                                        1369
+#define IMG_FONT_TEXT_2_LEVELS                         1370
+#define IMG_FONT_TEXT_2_PREVIEW                                1371
+#define IMG_FONT_TEXT_2_SCORES                         1372
+#define IMG_FONT_TEXT_2_ACTIVE_SCORES                  1373
+#define IMG_FONT_TEXT_3                                        1374
+#define IMG_FONT_TEXT_3_LEVELS                         1375
+#define IMG_FONT_TEXT_3_PREVIEW                                1376
+#define IMG_FONT_TEXT_3_SCORES                         1377
+#define IMG_FONT_TEXT_3_ACTIVE_SCORES                  1378
+#define IMG_FONT_TEXT_4                                        1379
+#define IMG_FONT_TEXT_4_LEVELS                         1380
+#define IMG_FONT_TEXT_4_SCORES                         1381
+#define IMG_FONT_TEXT_4_ACTIVE_SCORES                  1382
+#define IMG_FONT_ENVELOPE_1                            1383
+#define IMG_FONT_ENVELOPE_2                            1384
+#define IMG_FONT_ENVELOPE_3                            1385
+#define IMG_FONT_ENVELOPE_4                            1386
+#define IMG_FONT_INPUT_1                               1387
+#define IMG_FONT_INPUT_1_MAIN                          1388
+#define IMG_FONT_INPUT_1_ACTIVE                                1389
+#define IMG_FONT_INPUT_1_ACTIVE_MAIN                   1390
+#define IMG_FONT_INPUT_1_ACTIVE_SETUP                  1391
+#define IMG_FONT_INPUT_2                               1392
+#define IMG_FONT_INPUT_2_ACTIVE                                1393
+#define IMG_FONT_OPTION_OFF                            1394
+#define IMG_FONT_OPTION_ON                             1395
+#define IMG_FONT_VALUE_1                               1396
+#define IMG_FONT_VALUE_2                               1397
+#define IMG_FONT_VALUE_OLD                             1398
+#define IMG_FONT_LEVEL_NUMBER                          1399
+#define IMG_FONT_TAPE_RECORDER                         1400
+#define IMG_FONT_GAME_INFO                             1401
+#define IMG_GLOBAL_BORDER                              1402
+#define IMG_GLOBAL_DOOR                                        1403
+#define IMG_EDITOR_ELEMENT_BORDER                      1404
+#define IMG_EDITOR_ELEMENT_BORDER_INPUT                        1405
+#define IMG_BACKGROUND_ENVELOPE_1                      1406
+#define IMG_BACKGROUND_ENVELOPE_2                      1407
+#define IMG_BACKGROUND_ENVELOPE_3                      1408
+#define IMG_BACKGROUND_ENVELOPE_4                      1409
+#define IMG_BACKGROUND                                 1410
+#define IMG_BACKGROUND_MAIN                            1411
+#define IMG_BACKGROUND_LEVELS                          1412
+#define IMG_BACKGROUND_SCORES                          1413
+#define IMG_BACKGROUND_EDITOR                          1414
+#define IMG_BACKGROUND_INFO                            1415
+#define IMG_BACKGROUND_INFO_ELEMENTS                   1416
+#define IMG_BACKGROUND_SETUP                           1417
+#define IMG_BACKGROUND_DOOR                            1418
 
-#define NUM_IMAGE_FILES                                        1404
+#define NUM_IMAGE_FILES                                        1419
 
 #endif /* CONF_GFX_H */
index 25acf4e338eeee986c02a54d20b8ce0f37a77201..c06a7d10bb7548198158d0fc29811fb3b3341609 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2004-09-27 11:40]"
+#define COMPILE_DATE_STRING "[2004-09-27 19:23]"
index 5a5bf6405538feceb3115a6dd39a4d9deecc1d5d..08785811942da40c2588c76d064d81e930ba685e 100644 (file)
@@ -1797,7 +1797,7 @@ void CopyNativeLevel_RND_to_EM(struct LevelInfo *level)
        lev->eater_array[i][y * 3 + x] =
          map_element_RND_to_EM(level->yamyam_content[i][x][y]);
 
-  lev->ameuba_time             = level->amoeba_speed;
+  lev->amoeba_time             = level->amoeba_speed;
   lev->wonderwall_time_initial = level->time_magic_wall;
   lev->wheel_time              = level->time_wheel;
 
@@ -1870,7 +1870,7 @@ void CopyNativeLevel_EM_to_RND(struct LevelInfo *level)
        level->yamyam_content[i][x][y] =
          map_element_EM_to_RND(lev->eater_array[i][y * 3 + x]);
 
-  level->amoeba_speed          = lev->ameuba_time;
+  level->amoeba_speed          = lev->amoeba_time;
   level->time_magic_wall       = lev->wonderwall_time_initial;
   level->time_wheel            = lev->wheel_time;
 
index 245922f7f21af92e93f7eff6524a312fce4a83fd..2672054fb4388034e83e52bec6e0bd6108e552d1 100644 (file)
@@ -244,7 +244,7 @@ boolean cleanup_em_level(unsigned char *src, int *length)
   src[2098] &= 7;
   src[src[2098] << 8 | src[2099]] = 128;
 
-  /* ameuba speed */
+  /* amoeba speed */
   if ((src[2100] << 8 | src[2101]) > 9999)
   {
     src[2100] = 39;
@@ -406,7 +406,7 @@ static unsigned short remap_emerald[256] =
   Xblank, Xround_wall_1, Xgrass, Xsteel_1, Xwall_1, Xkey_1, Xkey_2, Xkey_3,
   Xkey_4, Xdoor_1, Xdoor_2, Xdoor_3, Xdoor_4, Xdripper, Xfake_door_1, Xfake_door_2,
   Xfake_door_3, Xfake_door_4, Xwonderwall, Xwheel, Xsand, Xacid_nw, Xacid_ne, Xacid_sw,
-  Xacid_se, Xfake_blank, Xameuba_1, Xameuba_2, Xameuba_3, Xameuba_4, Xexit, Xalpha_arrow_w,
+  Xacid_se, Xfake_blank, Xamoeba_1, Xamoeba_2, Xamoeba_3, Xamoeba_4, Xexit, Xalpha_arrow_w,
   Xfake_grass, Xlenses, Xmagnify, Xfake_blank, Xfake_grass, Xswitch, Xswitch, Xblank,
   Xdecor_8, Xdecor_9, Xdecor_10, Xdecor_5, Xalpha_comma, Xalpha_quote, Xalpha_minus, Xdynamite,
   Xsteel_3, Xdecor_6, Xdecor_7, Xsteel_2, Xround_wall_2, Xdecor_2, Xdecor_4, Xdecor_3,
@@ -441,7 +441,7 @@ void convert_em_level(unsigned char *src)
   temp = (src[0x834] << 8 | src[0x835]) * 28;
   if (temp > 9999)
     temp = 9999;
-  lev.ameuba_time = temp;
+  lev.amoeba_time = temp;
 
   lev.android_move_time = src[0x874] << 8 | src[0x875];
   lev.android_clone_time = src[0x876] << 8 | src[0x877];
@@ -675,14 +675,14 @@ void convert_em_level(unsigned char *src)
   {
     lev.android_array[Xdripper] =
       lev.android_array[XdripperB] =
-      lev.android_array[Xameuba_1] =
-      lev.android_array[Xameuba_2] =
-      lev.android_array[Xameuba_3] =
-      lev.android_array[Xameuba_4] =
-      lev.android_array[Xameuba_5] =
-      lev.android_array[Xameuba_6] =
-      lev.android_array[Xameuba_7] =
-      lev.android_array[Xameuba_8] = Xdrip_eat;
+      lev.android_array[Xamoeba_1] =
+      lev.android_array[Xamoeba_2] =
+      lev.android_array[Xamoeba_3] =
+      lev.android_array[Xamoeba_4] =
+      lev.android_array[Xamoeba_5] =
+      lev.android_array[Xamoeba_6] =
+      lev.android_array[Xamoeba_7] =
+      lev.android_array[Xamoeba_8] = Xdrip_eat;
   }
 
   if (temp & 4096)
index 14400ffc6f297e78771d7233a125f5feed7ef815..cd1ddf3efa9f8e5c8082df984c3019238c3eadbe 100644 (file)
@@ -26,6 +26,7 @@
 extern void SetBitmaps_EM(Bitmap **);
 extern void DrawGameDoorValues_EM(int, int, int, int);
 extern int getGameFrameDelay_EM(int);
+extern void PlayLevelSound_EM(int, int, int, int);
 
 
 /* ========================================================================= */
index 2f53c3bcce0c815fd14fefe319b88e058673379c..bf4d26ed1af9a3cfeb8b77ca4b76aedaf610b4eb 100644 (file)
@@ -31,6 +31,7 @@ void blitscreen(void);
 void game_initscreen(void);
 void game_animscreen(void);
 
+void play_sound(int, int, int);
 void sound_play(void);
 
 int cave_convert(char *);
index b7febbb81f4bfbc8df42a602c122b1bd92c339a1..7f775a05322b586bf40a066a4f88e63bef26a70d 100644 (file)
@@ -42,19 +42,70 @@ long sound_length[SAMPLE_MAX];              /* length of sound data */
 
 static const char *sound_names[SAMPLE_MAX] =
 {
-  "00.blank.au","01.roll.au","02.stone.au","03.nut.au","04.crack.au",
-  "05.bug.au","06.tank.au","07.android.au","08.spring.au","09.slurp.au",
-  "10.eater.au","11.alien.au","12.collect.au","13.diamond.au","14.squash.au",
-  "15.drip.au","16.push.au","17.dirt.au","18.acid.au","19.ball.au",
-  "20.grow.au","21.wonder.au","22.door.au","23.exit.au","24.dynamite.au",
-  "25.tick.au","26.press.au","27.wheel.au","28.boom.au","29.time.au",
+  "00.blank.au",
+  "01.roll.au",
+  "02.stone.au",
+  "03.nut.au",
+  "04.crack.au",
+  "05.bug.au",
+  "06.tank.au",
+  "07.android.au",
+  "08.spring.au",
+  "09.slurp.au",
+  "10.eater.au",
+  "11.alien.au",
+  "12.collect.au",
+  "13.diamond.au",
+  "14.squash.au",
+  "15.drip.au",
+  "16.push.au",
+  "17.dirt.au",
+  "18.acid.au",
+  "19.ball.au",
+  "20.grow.au",
+  "21.wonder.au",
+  "22.door.au",
+  "23.exit.au",
+  "24.dynamite.au",
+  "25.tick.au",
+  "26.press.au",
+  "27.wheel.au",
+  "28.boom.au",
+  "29.time.au",
   "30.die.au"
 };
 static const int sound_volume[SAMPLE_MAX] =
 {
-  20,100,100,100,100,20,20,100,100,100,
-  50,100,100,100,100,100,100,100,100,100,
-  100,20,100,100,100,100,100,20,100,100,
+  20,
+  100,
+  100,
+  100,
+  100,
+  20,
+  20,
+  100,
+  100,
+  100,
+  50,
+  100,
+  100,
+  100,
+  100,
+  100,
+  100,
+  100,
+  100,
+  100,
+  100,
+  20,
+  100,
+  100,
+  100,
+  100,
+  100,
+  20,
+  100,
+  100,
   100
 };
 #endif
@@ -220,8 +271,39 @@ void em_close_all(void)
 
 /* ---------------------------------------------------------------------- */
 
+extern unsigned int screen_x;
+extern unsigned int screen_y;
+
+void play_sound(int x, int y, int sample)
+{
+  unsigned int left = screen_x / TILEX;
+  unsigned int top  = screen_y / TILEY;
+
+#if 0
+  if (x == -1 && y == -1)      /* play sound in the middle of the screen */
+    play[sample] = 0xffff;
+  else if ((unsigned int)(y - top)  <= SCR_FIELDY &&
+          (unsigned int)(x - left) <= SCR_FIELDX)
+    play[sample] = (y << 8) | (x & 0xff);
+#else
+  if ((x == -1 && y == -1) ||  /* play sound in the middle of the screen */
+      ((unsigned int)(y - top)  <= SCR_FIELDY &&
+       (unsigned int)(x - left) <= SCR_FIELDX))
+    play[sample] = 1;
+#endif
+}
+
 void sound_play(void)
 {
+#if 0
+  int i;
+
+  for (i = 0; i < SAMPLE_MAX; i++)
+    if (play[i])
+      PlayLevelSound_EM(0,0,0,0);
+
+#else
+
 #if defined(AUDIO_UNIX_NATIVE)
   if (sound_pipe[1] != -1)
   {
@@ -242,7 +324,8 @@ void sound_play(void)
       }
     }
   }
+#endif
+#endif
 
   memset(play, 0, sizeof(play));
-#endif
 }
index b2e4b3c127f6f8b6d807c7cfd8efc209949f4141..462be29b66a76ac4afe1303bacac7ea2f6b37a93 100644 (file)
@@ -22,7 +22,7 @@ struct LEVEL
 
   /* fill in all below /every/ time you read a level */
   unsigned int alien_score;           /* alien popped by stone/spring score */
-  unsigned int ameuba_time;           /* ameuba speed */
+  unsigned int amoeba_time;           /* amoeba speed */
   unsigned int android_move_cnt;      /* android move time counter */
   unsigned int android_move_time;     /* android move reset time */
   unsigned int android_clone_cnt;     /* android clone time counter */
index 0824083f30011fc5e42ad8732d0267552051a1dd..e1173bcb1ca471ecb5f6f06a16c99c2e1378e99e 100644 (file)
@@ -252,14 +252,14 @@ enum
   Ygrow_ew_eat,
   Xwonderwall,
   XwonderwallB,
-  Xameuba_1,
-  Xameuba_2,
-  Xameuba_3,
-  Xameuba_4,
-  Xameuba_5,
-  Xameuba_6,
-  Xameuba_7,
-  Xameuba_8,
+  Xamoeba_1,
+  Xamoeba_2,
+  Xamoeba_3,
+  Xamoeba_4,
+  Xamoeba_5,
+  Xamoeba_6,
+  Xamoeba_7,
+  Xamoeba_8,
   Xdoor_1,
   Xdoor_2,
   Xdoor_3,
@@ -441,7 +441,7 @@ struct LEVEL
 
   /* fill in all below /every/ time you read a level */
   unsigned int alien_score;           /* alien popped by stone/spring score */
-  unsigned int ameuba_time;           /* ameuba speed */
+  unsigned int amoeba_time;           /* amoeba speed */
   unsigned int android_move_cnt_initial; /* android move time counter (initial) */
   unsigned int android_move_cnt;      /* android move time counter */
   unsigned int android_move_time;     /* android move reset time */
index 91ff045372a9aa8de1905c636fa1bce39b00fb6c..e6bfa36940ee5e0d27f8b8f53e82717aa7f1a435 100644 (file)
@@ -15,9 +15,9 @@ enum
   SAMPLE_slurp,     /* spring kills alien */
   SAMPLE_eater,     /* eater sits/eats diamond */
   SAMPLE_alien,     /* alien moves */
-  SAMPLE_collect,   /* player collects diamond/emerald/dynamite/key/lenses/magnify */
+  SAMPLE_collect,   /* player collects object */
   SAMPLE_diamond,   /* diamond/emerald hits ground */
-  SAMPLE_squash,    /* stone squashes diamond, stone/emerald/diamond thru wonderwall */
+  SAMPLE_squash,    /* stone squashes diamond; object falls thru wonderwall */
   SAMPLE_drip,      /* drip hits ground */
   SAMPLE_push,      /* player pushes spring/balloon/android */
   SAMPLE_dirt,      /* player walks on dirt */
@@ -34,9 +34,12 @@ enum
   SAMPLE_boom,      /* explosion */
   SAMPLE_time,      /* time runs out */
   SAMPLE_die,       /* player dies */
+
   SAMPLE_MAX
 };
 
+extern void play_sound(int, int, int);
+
 extern char play[SAMPLE_MAX];
 extern int sound_pipe[2];
 extern short *sound_data[SAMPLE_MAX];
index 695d52f378875387336beb665f990a8df5fb4836..e83a38f7b8200b0846c0a64064f33663f2ed0107 100644 (file)
@@ -8,6 +8,7 @@
 #include "tile.h"
 #include "level.h"
 #include "sample.h"
+#include "display.h"
 
 
 static void player(struct PLAYER *);
@@ -298,11 +299,11 @@ static void die(struct PLAYER *ply)
     case Xexit_1:
     case Xexit_2:
     case Xexit_3:
-      play[SAMPLE_exit] = 1;
+      play_sound(x, y, SAMPLE_exit);
       break;
 
     default:
-      play[SAMPLE_die] = 1;
+      play_sound(x, y, SAMPLE_die);
       break;
   }
 
@@ -389,7 +390,7 @@ static void player(struct PLAYER *ply)
       if (++ply->dynamite_cnt == 5 && ply->dynamite)
       {
        Cave[y][x] = Xdynamite_1;
-       play[SAMPLE_dynamite] = 1;
+       play_sound(x, y, SAMPLE_dynamite);
        ply->dynamite--;
       }
     }
@@ -417,7 +418,7 @@ static void player(struct PLAYER *ply)
       case Yacid_splash_wB:
        Cave[y][x] = Zplayer;
        Next[y][x] = Zplayer;
-       play[SAMPLE_blank] = 1;
+       play_sound(x, y, SAMPLE_blank);
        ply->anim = SPR_walk + anim;
        ply->x = x;
        ply->y = y;
@@ -458,7 +459,7 @@ static void player(struct PLAYER *ply)
        Cave[y][x] = (dy ? (dy < 0 ? Ygrass_nB : Ygrass_sB) :
                      (dx > 0 ? Ygrass_eB : Ygrass_wB));
        Next[y][x] = Zplayer;
-       play[SAMPLE_dirt] = 1;
+       play_sound(x, y, SAMPLE_dirt);
        ply->anim = SPR_walk + anim;
        ply->x = x;
        ply->y = y;
@@ -468,7 +469,7 @@ static void player(struct PLAYER *ply)
        Cave[y][x] = (dy ? (dy < 0 ? Ydirt_nB : Ydirt_sB) :
                      (dx > 0 ? Ydirt_eB : Ydirt_wB));
        Next[y][x] = Zplayer;
-       play[SAMPLE_dirt] = 1;
+       play_sound(x, y, SAMPLE_dirt);
        ply->anim = SPR_walk + anim;
        ply->x = x;
        ply->y = y;
@@ -478,7 +479,7 @@ static void player(struct PLAYER *ply)
       case Xdiamond_pause:
        Cave[y][x] = Ydiamond_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.diamond_score;
        lev.required = lev.required < 3 ? 0 : lev.required - 3;
        ply->anim = SPR_walk + anim;
@@ -490,7 +491,7 @@ static void player(struct PLAYER *ply)
       case Xemerald_pause:
        Cave[y][x] = Yemerald_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.emerald_score;
        lev.required = lev.required < 1 ? 0 : lev.required - 1;
        ply->anim = SPR_walk + anim;
@@ -501,7 +502,7 @@ static void player(struct PLAYER *ply)
       case Xdynamite:
        Cave[y][x] = Ydynamite_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.dynamite_score;
        ply->dynamite = ply->dynamite > 9998 ? 9999 : ply->dynamite + 1;
        ply->anim = SPR_walk + anim;
@@ -545,7 +546,7 @@ static void player(struct PLAYER *ply)
 
        Cave[y][x] = Yball_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.key_score;
        ply->anim = SPR_walk + anim;
        ply->x = x;
@@ -555,7 +556,7 @@ static void player(struct PLAYER *ply)
       case Xlenses:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.lenses_score;
        lev.lenses_cnt = lev.lenses_time;
        ply->anim = SPR_walk + anim;
@@ -566,7 +567,7 @@ static void player(struct PLAYER *ply)
       case Xmagnify:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Zplayer;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.magnify_score;
        lev.magnify_cnt = lev.magnify_time;
        ply->anim = SPR_walk + anim;
@@ -592,7 +593,7 @@ static void player(struct PLAYER *ply)
              Cave[y-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y-1][x+dx-1] == Xblank)
              Cave[y-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto stone_walk;
 
           case Xblank:
@@ -605,7 +606,7 @@ static void player(struct PLAYER *ply)
 
            Cave[y][x] = dx > 0 ? Ystone_eB : Ystone_wB;
            Next[y][x] = Zplayer;
-           play[SAMPLE_roll] = 1;
+           play_sound(x, y, SAMPLE_roll);
            ply->x = x;
        }
 
@@ -630,7 +631,7 @@ static void player(struct PLAYER *ply)
              Cave[y-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y-1][x+dx-1] == Xblank)
              Cave[y-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto bomb_walk;
 
          case Xblank:
@@ -643,7 +644,7 @@ static void player(struct PLAYER *ply)
 
            Cave[y][x] = dx > 0 ? Ybomb_eB : Ybomb_wB;
            Next[y][x] = Zplayer;
-           play[SAMPLE_roll] = 1;
+           play_sound(x, y, SAMPLE_roll);
            ply->x = x;
        }
 
@@ -668,7 +669,7 @@ static void player(struct PLAYER *ply)
              Cave[y-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y-1][x+dx-1] == Xblank)
              Cave[y-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto nut_walk;
 
           case Xblank:
@@ -681,7 +682,7 @@ static void player(struct PLAYER *ply)
 
            Cave[y][x] = dx > 0 ? Ynut_eB : Ynut_wB;
            Next[y][x] = Zplayer;
-           play[SAMPLE_roll] = 1;
+           play_sound(x, y, SAMPLE_roll);
            ply->x = x;
        }
 
@@ -700,7 +701,7 @@ static void player(struct PLAYER *ply)
            Cave[y][x+dx] = dx > 0 ? Yspring_kill_e : Yspring_kill_w;
            Next[y][x] = Zplayer;
            Next[y][x+dx] = dx > 0 ? Xspring_e : Xspring_w;
-           play[SAMPLE_slurp] = 1;
+           play_sound(x, y, SAMPLE_slurp);
            lev.score += lev.slurp_score;
            ply->x = x;
            break;
@@ -717,7 +718,7 @@ static void player(struct PLAYER *ply)
              Cave[y-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y-1][x+dx-1] == Xblank)
              Cave[y-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto spring_walk;
 
           case Xblank:
@@ -729,7 +730,7 @@ static void player(struct PLAYER *ply)
          spring_walk:
            Cave[y][x] = dx > 0 ? Yspring_eB : Yspring_wB;
            Next[y][x] = Zplayer;
-           play[SAMPLE_roll] = 1;
+           play_sound(x, y, SAMPLE_roll);
            ply->x = x;
        }
 
@@ -765,7 +766,7 @@ static void player(struct PLAYER *ply)
              Cave[y+dy-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y+dy-1][x+dx-1] == Xblank)
              Cave[y+dy-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto balloon_walk;
 
           case Xblank:
@@ -779,7 +780,7 @@ static void player(struct PLAYER *ply)
            Cave[y][x] = (dy ? (dy < 0 ? Yballoon_nB : Yballoon_sB) :
                          (dx > 0 ? Yballoon_eB : Yballoon_wB));
            Next[y][x] = Zplayer;
-           play[SAMPLE_push] = 1;
+           play_sound(x, y, SAMPLE_push);
            ply->x = x;
            ply->y = y;
        }
@@ -810,7 +811,7 @@ static void player(struct PLAYER *ply)
              Cave[y+dy-1][x+dx+1] = Yacid_splash_eB;
            if (Cave[y+dy-1][x+dx-1] == Xblank)
              Cave[y+dy-1][x+dx-1] = Yacid_splash_wB;
-           play[SAMPLE_acid] = 1;
+           play_sound(x, y, SAMPLE_acid);
            goto android_walk;
 
           case Xblank:
@@ -825,7 +826,7 @@ static void player(struct PLAYER *ply)
            Cave[y][x] = (dy ? (dy < 0 ? Yandroid_nB : Yandroid_sB) :
                          (dx > 0 ? Yandroid_eB : Yandroid_wB));
            Next[y][x] = Zplayer;
-           play[SAMPLE_push] = 1;
+           play_sound(x, y, SAMPLE_push);
            ply->x = x;
            ply->y = y;
        }
@@ -895,14 +896,14 @@ static void player(struct PLAYER *ply)
 
        Cave[y+dy][x+dx] = Zplayer;
        Next[y+dy][x+dx] = Zplayer;
-       play[SAMPLE_door] = 1;
+       play_sound(x, y, SAMPLE_door);
        ply->anim = SPR_walk + anim;
        ply->x = x + dx;
        ply->y = y + dy;
        break;
 
       case Xwheel:
-       play[SAMPLE_press] = 1;
+       play_sound(x, y, SAMPLE_press);
        lev.wheel_cnt = lev.wheel_time;
        lev.wheel_x = x;
        lev.wheel_y = y;
@@ -929,17 +930,17 @@ static void player(struct PLAYER *ply)
        goto wind_walk;
 
       wind_walk:
-       play[SAMPLE_press] = 1;
+       play_sound(x, y, SAMPLE_press);
        lev.wind_cnt = lev.wind_time;
        break;
 
       case Xwind_stop:
-       play[SAMPLE_press] = 1;
+       play_sound(x, y, SAMPLE_press);
        lev.wind_cnt = 0;
        break;
 
       case Xswitch:
-       play[SAMPLE_press] = 1;
+       play_sound(x, y, SAMPLE_press);
        lev.ball_cnt = lev.ball_time;
        lev.ball_state = !lev.ball_state;
        break;
@@ -947,7 +948,7 @@ static void player(struct PLAYER *ply)
       case Xplant:
        Cave[y][x] = Yplant;
        Next[y][x] = Xplant;
-       play[SAMPLE_blank] = 1;
+       play_sound(x, y, SAMPLE_blank);
        ply->anim = SPR_walk + anim;
        ply->x = x;
        ply->y = y;
@@ -956,7 +957,7 @@ static void player(struct PLAYER *ply)
       case Xexit_1:
       case Xexit_2:
       case Xexit_3:
-       play[SAMPLE_exit] = 1;
+       play_sound(x, y, SAMPLE_exit);
        if (--lev.home == 0)
          lev.score += lev.time * lev.exit_score / 100;
        ply->anim = SPR_walk + anim;
@@ -975,7 +976,7 @@ static void player(struct PLAYER *ply)
       case Xdirt:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_dirt] = 1;
+       play_sound(x, y, SAMPLE_dirt);
        ply->anim = SPR_spray + anim;
        break;
 
@@ -983,7 +984,7 @@ static void player(struct PLAYER *ply)
       case Xdiamond_pause:
        Cave[y][x] = Ydiamond_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.diamond_score;
        lev.required = lev.required < 3 ? 0 : lev.required - 3;
        ply->anim = SPR_walk + anim;
@@ -993,7 +994,7 @@ static void player(struct PLAYER *ply)
       case Xemerald_pause:
        Cave[y][x] = Yemerald_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.emerald_score;
        lev.required = lev.required < 1 ? 0 : lev.required - 1;
        ply->anim = SPR_walk + anim;
@@ -1002,7 +1003,7 @@ static void player(struct PLAYER *ply)
       case Xdynamite:
        Cave[y][x] = Ydynamite_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.dynamite_score;
        ply->dynamite = ply->dynamite > 9998 ? 9999 : ply->dynamite + 1;
        ply->anim = SPR_walk + anim;
@@ -1043,7 +1044,7 @@ static void player(struct PLAYER *ply)
       key_shoot:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.key_score;
        ply->anim = SPR_walk + anim;
        break;
@@ -1051,7 +1052,7 @@ static void player(struct PLAYER *ply)
       case Xlenses:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.lenses_score;
        lev.lenses_cnt = lev.lenses_time;
        ply->anim = SPR_walk + anim;
@@ -1060,7 +1061,7 @@ static void player(struct PLAYER *ply)
       case Xmagnify:
        Cave[y][x] = Yball_eat;
        Next[y][x] = Xblank;
-       play[SAMPLE_collect] = 1;
+       play_sound(x, y, SAMPLE_collect);
        lev.score += lev.magnify_score;
        lev.magnify_cnt = lev.magnify_time;
        ply->anim = SPR_walk + anim;
index 685672357a55abce8deed33db81d8739e7f717c5..c8a50916fac0e25fa3848bab0a02397d4478d503 100644 (file)
 
 
 #define RANDOM (random = random << 31 | random >> 1)
-#define PLAY(sample) { if ((unsigned int)(y - top) <= 12 && (unsigned int)(x - left) <= 20) play[sample] = 1; }
-
-extern unsigned int screen_x;
-extern unsigned int screen_y;
 
 void synchro_2(void)
 {
@@ -29,8 +25,6 @@ void synchro_2(void)
   unsigned long score = 0;
 
   unsigned int temp = 0;       /* initialized to make compilers happy */
-  unsigned int left = screen_x / TILEX; /* only needed for sounds */
-  unsigned int top = screen_y / TILEY;
   unsigned int dx; /* only needed to find closest player */
   unsigned int dy;
 
@@ -351,7 +345,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -482,7 +476,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -519,7 +513,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -537,7 +531,7 @@ void synchro_2(void)
          Cave[y+1][x] = Yemerald_stone;
          Next[y][x] = Xstone;
          Next[y+1][x] = Xemerald;
-         play[SAMPLE_crack] = 1;
+         play_sound(x, y, SAMPLE_crack);
          score += lev.nut_score;
          goto loop;
 
@@ -713,7 +707,7 @@ void synchro_2(void)
            case Xplant:
            case Yplant:
              Next[y][x] = Xstone;
-             PLAY(SAMPLE_stone);
+             play_sound(x, y, SAMPLE_stone);
              goto loop;
          }
 
@@ -721,7 +715,7 @@ void synchro_2(void)
          Cave[y+1][x] = Ydiamond_stone;
          Next[y][x] = Xblank;
          Next[y+1][x] = Xstone_pause;
-         play[SAMPLE_squash] = 1;
+         play_sound(x, y, SAMPLE_squash);
          goto loop;
 
        case Xbomb:
@@ -752,14 +746,14 @@ void synchro_2(void)
            }
 
            Next[y][x] = Xblank;
-           play[SAMPLE_squash] = 1;
+           play_sound(x, y, SAMPLE_squash);
            goto loop;
          }
 
        default:
          Cave[y][x] = Xstone;
          Next[y][x] = Xstone;
-         PLAY(SAMPLE_stone);
+         play_sound(x, y, SAMPLE_stone);
          goto loop;
       }
 
@@ -782,7 +776,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -903,7 +897,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -940,7 +934,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -956,17 +950,17 @@ void synchro_2(void)
        default:
          Cave[y][x] = Xnut;
          Next[y][x] = Xnut;
-         PLAY(SAMPLE_nut);
+         play_sound(x, y, SAMPLE_nut);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xbug_n:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
       switch (Cave[y][x+1])
@@ -987,7 +981,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ybug_n_e;
          Next[y][x] = Xbug_goe;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
@@ -995,10 +989,10 @@ void synchro_2(void)
        }
 
     case Xbug_gon:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
     bug_gon:
@@ -1019,7 +1013,7 @@ void synchro_2(void)
          if (Cave[y-2][x-1] == Xblank)
            Cave[y-2][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1032,23 +1026,23 @@ void synchro_2(void)
          Cave[y-1][x] = Ybug_n;
          Next[y][x] = Xblank;
          Next[y-1][x] = Xbug_n;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
          Cave[y][x] = Ybug_n_w;
          Next[y][x] = Xbug_gow;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xbug_e:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
       switch (Cave[y+1][x])
@@ -1069,7 +1063,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ybug_e_s;
          Next[y][x] = Xbug_gos;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
@@ -1077,10 +1071,10 @@ void synchro_2(void)
       }
 
     case Xbug_goe:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
     bug_goe:
@@ -1101,7 +1095,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1114,23 +1108,23 @@ void synchro_2(void)
          Cave[y][x+1] = Ybug_e;
          Next[y][x] = Xblank;
          Next[y][x+1] = Xbug_e;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
          Cave[y][x] = Ybug_e_n;
          Next[y][x] = Xbug_gon;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xbug_s:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
       switch (Cave[y][x-1])
@@ -1151,7 +1145,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ybug_s_w;
          Next[y][x] = Xbug_gow;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
@@ -1159,10 +1153,10 @@ void synchro_2(void)
       }
 
     case Xbug_gos:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
     bug_gos:
@@ -1183,7 +1177,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1196,23 +1190,23 @@ void synchro_2(void)
          Cave[y+1][x] = Ybug_s;
          Next[y][x] = Xblank;
          Next[y+1][x] = Xbug_s;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
          Cave[y][x] = Ybug_s_e;
          Next[y][x] = Xbug_goe;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xbug_w:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
       switch (Cave[y-1][x])
@@ -1233,7 +1227,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ybug_w_n;
          Next[y][x] = Xbug_gon;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
@@ -1241,10 +1235,10 @@ void synchro_2(void)
       }
 
     case Xbug_gow:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto bug_boom;
 
     bug_gow:
@@ -1265,7 +1259,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1278,23 +1272,23 @@ void synchro_2(void)
          Cave[y][x-1] = Ybug_w;
          Next[y][x] = Xblank;
          Next[y][x-1] = Xbug_w;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
 
        default:
          Cave[y][x] = Ybug_w_s;
          Next[y][x] = Xbug_gos;
-         PLAY(SAMPLE_bug);
+         play_sound(x, y, SAMPLE_bug);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xtank_n:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
       switch (Cave[y][x-1])
@@ -1315,7 +1309,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ytank_n_w;
          Next[y][x] = Xtank_gow;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -1323,10 +1317,10 @@ void synchro_2(void)
       }
 
     case Xtank_gon:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
     tank_gon:
@@ -1347,7 +1341,7 @@ void synchro_2(void)
          if (Cave[y-2][x-1] == Xblank)
            Cave[y-2][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1360,23 +1354,23 @@ void synchro_2(void)
          Cave[y-1][x] = Ytank_n;
          Next[y][x] = Xblank;
          Next[y-1][x] = Xtank_n;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
          Cave[y][x] = Ytank_n_e;
          Next[y][x] = Xtank_goe;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xtank_e:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
       switch (Cave[y-1][x])
@@ -1397,7 +1391,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ytank_e_n;
          Next[y][x] = Xtank_gon;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -1405,10 +1399,10 @@ void synchro_2(void)
       }
 
     case Xtank_goe:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
     tank_goe:
@@ -1429,7 +1423,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1442,23 +1436,23 @@ void synchro_2(void)
          Cave[y][x+1] = Ytank_e;
          Next[y][x] = Xblank;
          Next[y][x+1] = Xtank_e;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
          Cave[y][x] = Ytank_e_s;
          Next[y][x] = Xtank_gos;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xtank_s:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
       switch (Cave[y][x+1])
@@ -1479,7 +1473,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ytank_s_e;
          Next[y][x] = Xtank_goe;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -1487,10 +1481,10 @@ void synchro_2(void)
       }
 
     case Xtank_gos:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
     tank_gos:
@@ -1511,7 +1505,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1524,23 +1518,23 @@ void synchro_2(void)
          Cave[y+1][x] = Ytank_s;
          Next[y][x] = Xblank;
          Next[y+1][x] = Xtank_s;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
          Cave[y][x] = Ytank_s_w;
          Next[y][x] = Xtank_gow;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
       }
 
     /* --------------------------------------------------------------------- */
 
     case Xtank_w:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
       switch (Cave[y+1][x])
@@ -1561,7 +1555,7 @@ void synchro_2(void)
        case Zplayer:
          Cave[y][x] = Ytank_w_s;
          Next[y][x] = Xtank_gos;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -1569,10 +1563,10 @@ void synchro_2(void)
       }
 
     case Xtank_gow:
-      if (tab_ameuba[Cave[y-1][x]] ||
-         tab_ameuba[Cave[y][x+1]] ||
-         tab_ameuba[Cave[y+1][x]] ||
-         tab_ameuba[Cave[y][x-1]])
+      if (tab_amoeba[Cave[y-1][x]] ||
+         tab_amoeba[Cave[y][x+1]] ||
+         tab_amoeba[Cave[y+1][x]] ||
+         tab_amoeba[Cave[y][x-1]])
        goto tank_boom;
 
     tank_gow:
@@ -1593,7 +1587,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -1606,13 +1600,13 @@ void synchro_2(void)
          Cave[y][x-1] = Ytank_w;
          Next[y][x] = Xblank;
          Next[y][x-1] = Xtank_w;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
          Cave[y][x] = Ytank_w_n;
          Next[y][x] = Xtank_gon;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
       }
 
@@ -1728,7 +1722,7 @@ void synchro_2(void)
        }
 
        Next[y][x] = temp; /* the item we chose to clone */
-       play[SAMPLE_android] = 1;
+       play_sound(x, y, SAMPLE_android);
 
        switch (RANDOM & 7)
        {
@@ -2000,7 +1994,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_nB;
       Cave[y-1][x] = Yandroid_n;
       Next[y-1][x] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_ne:
@@ -2008,7 +2002,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_neB;
       Cave[y-1][x+1] = Yandroid_ne;
       Next[y-1][x+1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_e:
@@ -2016,7 +2010,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_eB;
       Cave[y][x+1] = Yandroid_e;
       Next[y][x+1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_se:
@@ -2024,7 +2018,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_seB;
       Cave[y+1][x+1] = Yandroid_se;
       Next[y+1][x+1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_s:
@@ -2032,7 +2026,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_sB;
       Cave[y+1][x] = Yandroid_s;
       Next[y+1][x] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_sw:
@@ -2040,7 +2034,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_swB;
       Cave[y+1][x-1] = Yandroid_sw;
       Next[y+1][x-1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_w:
@@ -2048,7 +2042,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_wB;
       Cave[y][x-1] = Yandroid_w;
       Next[y][x-1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     android_nw:
@@ -2056,7 +2050,7 @@ void synchro_2(void)
       Cave[y][x] = Yandroid_nwB;
       Cave[y-1][x-1] = Yandroid_nw;
       Next[y-1][x-1] = Xandroid;
-      PLAY(SAMPLE_tank);
+      play_sound(x, y, SAMPLE_tank);
       goto loop;
 
     /* --------------------------------------------------------------------- */
@@ -2078,7 +2072,7 @@ void synchro_2(void)
          if (Cave[y-2][x-1] == Xblank)
            Cave[y-2][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2088,7 +2082,7 @@ void synchro_2(void)
          Cave[y-1][x] = Yandroid_n;
          Next[y][x] = Xblank;
          Next[y-1][x] = Xandroid;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2112,7 +2106,7 @@ void synchro_2(void)
          if (Cave[y-2][x-1] == Xblank)
            Cave[y-2][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2122,7 +2116,7 @@ void synchro_2(void)
          Cave[y-1][x] = Yandroid_n;
          Next[y][x] = Xblank;
          Next[y-1][x] = Xandroid_1_n;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2148,7 +2142,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2158,7 +2152,7 @@ void synchro_2(void)
          Cave[y][x+1] = Yandroid_e;
          Next[y][x] = Xblank;
          Next[y][x+1] = Xandroid;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2182,7 +2176,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2192,7 +2186,7 @@ void synchro_2(void)
          Cave[y][x+1] = Yandroid_e;
          Next[y][x] = Xblank;
          Next[y][x+1] = Xandroid_1_e;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2218,7 +2212,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2228,7 +2222,7 @@ void synchro_2(void)
          Cave[y+1][x] = Yandroid_s;
          Next[y][x] = Xblank;
          Next[y+1][x] = Xandroid;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2252,7 +2246,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2262,7 +2256,7 @@ void synchro_2(void)
          Cave[y+1][x] = Yandroid_s;
          Next[y][x] = Xblank;
          Next[y+1][x] = Xandroid_1_s;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2288,7 +2282,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2298,7 +2292,7 @@ void synchro_2(void)
          Cave[y][x-1] = Yandroid_w;
          Next[y][x] = Xblank;
          Next[y][x-1] = Xandroid;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2322,7 +2316,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2332,7 +2326,7 @@ void synchro_2(void)
          Cave[y][x-1] = Yandroid_w;
          Next[y][x] = Xblank;
          Next[y][x-1] = Xandroid_1_w;
-         PLAY(SAMPLE_tank);
+         play_sound(x, y, SAMPLE_tank);
          goto loop;
 
        default:
@@ -2358,7 +2352,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2512,7 +2506,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2549,7 +2543,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2581,7 +2575,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2607,7 +2601,7 @@ void synchro_2(void)
          Cave[y][x+1] = Yspring_kill_e;
          Next[y][x] = Xblank;
          Next[y][x+1] = Xspring_e;
-         play[SAMPLE_slurp] = 1;
+         play_sound(x, y, SAMPLE_slurp);
          score += lev.slurp_score;
          goto loop;
 
@@ -2615,13 +2609,13 @@ void synchro_2(void)
        case XbumperB:
          Cave[y][x+1] = XbumperB;
          Next[y][x] = Xspring_w;
-         PLAY(SAMPLE_spring);
+         play_sound(x, y, SAMPLE_spring);
          goto loop;
 
        default:
          Cave[y][x] = Xspring;
          Next[y][x] = Xspring;
-         PLAY(SAMPLE_spring);
+         play_sound(x, y, SAMPLE_spring);
          goto loop;
       }
 
@@ -2644,7 +2638,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2676,7 +2670,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2702,7 +2696,7 @@ void synchro_2(void)
          Cave[y][x-1] = Yspring_kill_w;
          Next[y][x] = Xblank;
          Next[y][x-1] = Xspring_w;
-         play[SAMPLE_slurp] = 1;
+         play_sound(x, y, SAMPLE_slurp);
          score += lev.slurp_score;
          goto loop;
 
@@ -2710,13 +2704,13 @@ void synchro_2(void)
        case XbumperB:
          Cave[y][x-1] = XbumperB;
          Next[y][x] = Xspring_e;
-         PLAY(SAMPLE_spring);
+         play_sound(x, y, SAMPLE_spring);
          goto loop;
 
        default:
          Cave[y][x] = Xspring;
          Next[y][x] = Xspring;
-         PLAY(SAMPLE_spring);
+         play_sound(x, y, SAMPLE_spring);
          goto loop;
       }
 
@@ -2739,7 +2733,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2853,7 +2847,7 @@ void synchro_2(void)
        default:
          Cave[y][x] = Xspring;
          Next[y][x] = Xspring;
-         PLAY(SAMPLE_spring);
+         play_sound(x, y, SAMPLE_spring);
          goto loop;
       }
 
@@ -2864,7 +2858,7 @@ void synchro_2(void)
       {
        Cave[y][x+1] = Ydiamond_eat;
        Next[y][x+1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2872,7 +2866,7 @@ void synchro_2(void)
       {
        Cave[y+1][x] = Ydiamond_eat;
        Next[y+1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2880,7 +2874,7 @@ void synchro_2(void)
       {
        Cave[y][x-1] = Ydiamond_eat;
        Next[y][x-1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2888,7 +2882,7 @@ void synchro_2(void)
       {
        Cave[y-1][x] = Ydiamond_eat;
        Next[y-1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2908,7 +2902,7 @@ void synchro_2(void)
          if (Cave[y-2][x-1] == Xblank)
            Cave[y-2][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2925,7 +2919,7 @@ void synchro_2(void)
 
        default:
          Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w;
-         PLAY(SAMPLE_eater);
+         play_sound(x, y, SAMPLE_eater);
          goto loop;
       }
 
@@ -2936,7 +2930,7 @@ void synchro_2(void)
       {
        Cave[y+1][x] = Ydiamond_eat;
        Next[y+1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2944,7 +2938,7 @@ void synchro_2(void)
       {
        Cave[y][x-1] = Ydiamond_eat;
        Next[y][x-1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2952,7 +2946,7 @@ void synchro_2(void)
       {
        Cave[y-1][x] = Ydiamond_eat;
        Next[y-1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2960,7 +2954,7 @@ void synchro_2(void)
       {
        Cave[y][x+1] = Ydiamond_eat;
        Next[y][x+1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -2980,7 +2974,7 @@ void synchro_2(void)
          if (Cave[y-1][x] == Xblank)
            Cave[y-1][x] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -2997,7 +2991,7 @@ void synchro_2(void)
 
        default:
          Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s;
-         PLAY(SAMPLE_eater);
+         play_sound(x, y, SAMPLE_eater);
          goto loop;
       }
 
@@ -3008,7 +3002,7 @@ void synchro_2(void)
       {
        Cave[y][x-1] = Ydiamond_eat;
        Next[y][x-1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3016,7 +3010,7 @@ void synchro_2(void)
       {
        Cave[y-1][x] = Ydiamond_eat;
        Next[y-1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3024,7 +3018,7 @@ void synchro_2(void)
       {
        Cave[y][x+1] = Ydiamond_eat;
        Next[y][x+1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3032,7 +3026,7 @@ void synchro_2(void)
       {
        Cave[y+1][x] = Ydiamond_eat;
        Next[y+1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3052,7 +3046,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3069,7 +3063,7 @@ void synchro_2(void)
 
        default:
          Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w;
-         PLAY(SAMPLE_eater);
+         play_sound(x, y, SAMPLE_eater);
          goto loop;
       }
 
@@ -3080,7 +3074,7 @@ void synchro_2(void)
       {
        Cave[y-1][x] = Ydiamond_eat;
        Next[y-1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3088,7 +3082,7 @@ void synchro_2(void)
       {
        Cave[y][x+1] = Ydiamond_eat;
        Next[y][x+1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3096,7 +3090,7 @@ void synchro_2(void)
       {
        Cave[y+1][x] = Ydiamond_eat;
        Next[y+1][x] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3104,7 +3098,7 @@ void synchro_2(void)
       {
        Cave[y][x-1] = Ydiamond_eat;
        Next[y][x-1] = Xblank;
-       play[SAMPLE_eater] = 1;
+       play_sound(x, y, SAMPLE_eater);
        goto loop;
       }
 
@@ -3124,7 +3118,7 @@ void synchro_2(void)
          if (Cave[y-1][x-2] == Xblank)
            Cave[y-1][x-2] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3141,7 +3135,7 @@ void synchro_2(void)
 
        default:
          Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s;
-         PLAY(SAMPLE_eater);
+         play_sound(x, y, SAMPLE_eater);
          goto loop;
       }
 
@@ -3205,7 +3199,7 @@ void synchro_2(void)
              if (Cave[y-2][x-1] == Xblank)
                Cave[y-2][x-1] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -3218,7 +3212,7 @@ void synchro_2(void)
              Cave[y-1][x] = Yalien_n;
              Next[y][x] = Xblank;
              Next[y-1][x] = Xalien_pause;
-             PLAY(SAMPLE_alien);
+             play_sound(x, y, SAMPLE_alien);
              goto loop;
          }
        }
@@ -3240,7 +3234,7 @@ void synchro_2(void)
                Cave[y][x+1] = Yacid_splash_eB;
              if (Cave[y][x-1] == Xblank)
                Cave[y][x-1] = Yacid_splash_wB;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -3253,7 +3247,7 @@ void synchro_2(void)
              Cave[y+1][x] = Yalien_s;
              Next[y][x] = Xblank;
              Next[y+1][x] = Xalien_pause;
-             PLAY(SAMPLE_alien);
+             play_sound(x, y, SAMPLE_alien);
              goto loop;
          }
        }
@@ -3278,7 +3272,7 @@ void synchro_2(void)
              if (Cave[y-1][x] == Xblank)
                Cave[y-1][x] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -3291,7 +3285,7 @@ void synchro_2(void)
              Cave[y][x+1] = Yalien_e;
              Next[y][x] = Xblank;
              Next[y][x+1] = Xalien_pause;
-             PLAY(SAMPLE_alien);
+             play_sound(x, y, SAMPLE_alien);
              goto loop;
          }
        }
@@ -3313,7 +3307,7 @@ void synchro_2(void)
              if (Cave[y-1][x-2] == Xblank)
                Cave[y-1][x-2] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -3326,7 +3320,7 @@ void synchro_2(void)
              Cave[y][x-1] = Yalien_w;
              Next[y][x] = Xblank;
              Next[y][x-1] = Xalien_pause;
-             PLAY(SAMPLE_alien);
+             play_sound(x, y, SAMPLE_alien);
              goto loop;
          }
        }
@@ -3357,7 +3351,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3492,7 +3486,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3529,7 +3523,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3554,14 +3548,14 @@ void synchro_2(void)
            }
 
            Next[y][x] = Xblank;
-           play[SAMPLE_squash] = 1;
+           play_sound(x, y, SAMPLE_squash);
            goto loop;
          }
 
        default:
          Cave[y][x] = Xemerald;
          Next[y][x] = Xemerald;
-         PLAY(SAMPLE_diamond);
+         play_sound(x, y, SAMPLE_diamond);
          goto loop;
       }
 
@@ -3584,7 +3578,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3719,7 +3713,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3756,7 +3750,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3781,14 +3775,14 @@ void synchro_2(void)
            }
 
            Next[y][x] = Xblank;
-           play[SAMPLE_squash] = 1;
+           play_sound(x, y, SAMPLE_squash);
            goto loop;
          }
 
        default:
          Cave[y][x] = Xdiamond;
          Next[y][x] = Xdiamond;
-         PLAY(SAMPLE_diamond);
+         play_sound(x, y, SAMPLE_diamond);
          goto loop;
       }
 
@@ -3811,7 +3805,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xdrip_stretchB;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -3830,41 +3824,41 @@ void synchro_2(void)
          switch (RANDOM & 7)
          {
            case 0:
-             temp = Xameuba_1;
+             temp = Xamoeba_1;
              break;
 
            case 1:
-             temp = Xameuba_2;
+             temp = Xamoeba_2;
              break;
 
            case 2:
-             temp = Xameuba_3;
+             temp = Xamoeba_3;
              break;
 
            case 3:
-             temp = Xameuba_4;
+             temp = Xamoeba_4;
              break;
 
            case 4:
-             temp = Xameuba_5;
+             temp = Xamoeba_5;
              break;
 
            case 5:
-             temp = Xameuba_6;
+             temp = Xamoeba_6;
              break;
 
            case 6:
-             temp = Xameuba_7;
+             temp = Xamoeba_7;
              break;
 
            case 7:
-             temp = Xameuba_8;
+             temp = Xamoeba_8;
              break;
          }
 
          Cave[y][x] = temp;
          Next[y][x] = temp;
-         play[SAMPLE_drip] = 1;
+         play_sound(x, y, SAMPLE_drip);
          goto loop;
       }
 
@@ -3903,7 +3897,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -4023,7 +4017,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -4060,7 +4054,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xblank;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -4112,7 +4106,7 @@ void synchro_2(void)
              if (Cave[y-2][x-1] == Xblank)
                Cave[y-2][x-1] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -4145,7 +4139,7 @@ void synchro_2(void)
              if (Cave[y-1][x] == Xblank)
                Cave[y-1][x] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -4178,7 +4172,7 @@ void synchro_2(void)
              if (Cave[y][x-1] == Xblank)
                Cave[y][x-1] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -4211,7 +4205,7 @@ void synchro_2(void)
              if (Cave[y-1][x-2] == Xblank)
                Cave[y-1][x-2] = Yacid_splash_wB;
              Next[y][x] = Xblank;
-             PLAY(SAMPLE_acid);
+             play_sound(x, y, SAMPLE_acid);
              goto loop;
 
            case Xblank:
@@ -4288,7 +4282,7 @@ void synchro_2(void)
 
     ball_common:
 
-      play[SAMPLE_ball] = 1;
+      play_sound(x, y, SAMPLE_ball);
       if (lev.ball_random)
       {
        switch (RANDOM & 7)
@@ -4435,14 +4429,14 @@ void synchro_2(void)
       {
        Cave[y-1][x] = Ygrow_ns_eat;
        Next[y-1][x] = Xgrow_ns;
-       play[SAMPLE_grow] = 1;
+       play_sound(x, y, SAMPLE_grow);
       }
 
       if (tab_blank[Cave[y+1][x]])
       {
        Cave[y+1][x] = Ygrow_ns_eat;
        Next[y+1][x] = Xgrow_ns;
-       play[SAMPLE_grow] = 1;
+       play_sound(x, y, SAMPLE_grow);
       }
 
       goto loop;
@@ -4452,14 +4446,14 @@ void synchro_2(void)
       {
        Cave[y][x+1] = Ygrow_ew_eat;
        Next[y][x+1] = Xgrow_ew;
-       play[SAMPLE_grow] = 1;
+       play_sound(x, y, SAMPLE_grow);
       }
 
       if (tab_blank[Cave[y][x-1]])
       {
        Cave[y][x-1] = Ygrow_ew_eat;
        Next[y][x-1] = Xgrow_ew;
-       play[SAMPLE_grow] = 1;
+       play_sound(x, y, SAMPLE_grow);
       }
 
       goto loop;
@@ -4470,7 +4464,7 @@ void synchro_2(void)
       if (lev.wonderwall_time && lev.wonderwall_state)
       {
        Cave[y][x] = XwonderwallB;
-       play[SAMPLE_wonder] = 1;
+       play_sound(x, y, SAMPLE_wonder);
       }
 
       goto loop;
@@ -4515,22 +4509,22 @@ void synchro_2(void)
     /* --------------------------------------------------------------------- */
 
     case Xdynamite_1:
-      play[SAMPLE_tick] = 1;
+      play_sound(x, y, SAMPLE_tick);
       Next[y][x] = Xdynamite_2;
       goto loop;
 
     case Xdynamite_2:
-      play[SAMPLE_tick] = 1;
+      play_sound(x, y, SAMPLE_tick);
       Next[y][x] = Xdynamite_3;
       goto loop;
 
     case Xdynamite_3:
-      play[SAMPLE_tick] = 1;
+      play_sound(x, y, SAMPLE_tick);
       Next[y][x] = Xdynamite_4;
       goto loop;
 
     case Xdynamite_4:
-      play[SAMPLE_tick] = 1;
+      play_sound(x, y, SAMPLE_tick);
       Next[y][x] = Zdynamite;
       Boom[y-1][x-1] = Xblank;
       Boom[y-1][x] = Xblank;
@@ -4576,7 +4570,7 @@ void synchro_2(void)
          if (Cave[y][x-1] == Xblank)
            Cave[y][x-1] = Yacid_splash_wB;
          Next[y][x] = Xsand_stonesand_4;
-         PLAY(SAMPLE_acid);
+         play_sound(x, y, SAMPLE_acid);
          goto loop;
 
        case Xblank:
@@ -4753,7 +4747,7 @@ void synchro_2(void)
     case Xboom_android:
     case Xboom_1:
       Next[y][x] = Xboom_2;
-      play[SAMPLE_boom] = 1;
+      play_sound(x, y, SAMPLE_boom);
       goto loop;
 
     case Xboom_2:
index 230a907c3ba27242140577139753a4e8d705d1f5..af7d9f8fcafa36cf86cd17a6b8c6a6d59b4d0669 100644 (file)
@@ -43,16 +43,16 @@ void synchro_3(void)
     lev.wonderwall_time--;
 
   if (lev.time > 0 && lev.time <= 50 && lev.time % 5 == 0)
-    play[SAMPLE_time] = 1;
+    play_sound(-1, -1, SAMPLE_time);
 
   if (lev.wheel_cnt)
-    play[SAMPLE_wheel] = 1;
+    play_sound(-1, -1, SAMPLE_wheel);
 
-  /* grow ameuba */
+  /* grow amoeba */
 
   random = Random;
 
-  for (count = lev.ameuba_time; count--;)
+  for (count = lev.amoeba_time; count--;)
   {
     x = (random >> 10) % (WIDTH - 2);
     y = (random >> 20) % (HEIGHT - 2);
@@ -66,10 +66,10 @@ void synchro_3(void)
       case Xsand:
       case Xplant:
       case Yplant:
-       if (tab_ameuba[Cave[y-1][x]] ||
-           tab_ameuba[Cave[y][x+1]] ||
-           tab_ameuba[Cave[y+1][x]] ||
-           tab_ameuba[Cave[y][x-1]])
+       if (tab_amoeba[Cave[y-1][x]] ||
+           tab_amoeba[Cave[y][x+1]] ||
+           tab_amoeba[Cave[y+1][x]] ||
+           tab_amoeba[Cave[y][x-1]])
          Cave[y][x] = Xdrip_eat;
     }
 
index 5039f5ab7233ea7c7d8288c7550fd56d7a0e8c9b..50611721742dd5bdaee16dbd18615b63d3ba36e8 100644 (file)
@@ -42,19 +42,19 @@ int tile_acid[] =
   TILE_MAX
 };
 
-/* 0=stop 1=ameuba */
-int tile_ameuba[] =
+/* 0=stop 1=amoeba */
+int tile_amoeba[] =
 {
   Xdripper, 1, 
   XdripperB, 1, 
-  Xameuba_1, 1, 
-  Xameuba_2, 1, 
-  Xameuba_3, 1, 
-  Xameuba_4, 1, 
-  Xameuba_5, 1, 
-  Xameuba_6, 1, 
-  Xameuba_7, 1, 
-  Xameuba_8, 1, 
+  Xamoeba_1, 1, 
+  Xamoeba_2, 1, 
+  Xamoeba_3, 1, 
+  Xamoeba_4, 1, 
+  Xamoeba_5, 1, 
+  Xamoeba_6, 1, 
+  Xamoeba_7, 1, 
+  Xamoeba_8, 1, 
   TILE_MAX
 };
 
@@ -2937,77 +2937,77 @@ int obj_map[] =
   XwonderwallB, 6, 
   -1, 
 
-  Xameuba_1, 0, 
-  Xameuba_1, 1, 
-  Xameuba_1, 2, 
-  Xameuba_1, 3, 
-  Xameuba_1, 4, 
-  Xameuba_1, 5, 
-  Xameuba_1, 6, 
-  Xameuba_1, 7, 
-  -1, 
-  Xameuba_2, 0, 
-  Xameuba_2, 1, 
-  Xameuba_2, 2, 
-  Xameuba_2, 3, 
-  Xameuba_2, 4, 
-  Xameuba_2, 5, 
-  Xameuba_2, 6, 
-  Xameuba_2, 7, 
-  -1, 
-  Xameuba_3, 0, 
-  Xameuba_3, 1, 
-  Xameuba_3, 2, 
-  Xameuba_3, 3, 
-  Xameuba_3, 4, 
-  Xameuba_3, 5, 
-  Xameuba_3, 6, 
-  Xameuba_3, 7, 
-  -1, 
-  Xameuba_4, 0, 
-  Xameuba_4, 1, 
-  Xameuba_4, 2, 
-  Xameuba_4, 3, 
-  Xameuba_4, 4, 
-  Xameuba_4, 5, 
-  Xameuba_4, 6, 
-  Xameuba_4, 7, 
-  -1, 
-  Xameuba_5, 0, 
-  Xameuba_5, 1, 
-  Xameuba_5, 2, 
-  Xameuba_5, 3, 
-  Xameuba_5, 4, 
-  Xameuba_5, 5, 
-  Xameuba_5, 6, 
-  Xameuba_5, 7, 
-  -1, 
-  Xameuba_6, 0, 
-  Xameuba_6, 1, 
-  Xameuba_6, 2, 
-  Xameuba_6, 3, 
-  Xameuba_6, 4, 
-  Xameuba_6, 5, 
-  Xameuba_6, 6, 
-  Xameuba_6, 7, 
-  -1, 
-  Xameuba_7, 0, 
-  Xameuba_7, 1, 
-  Xameuba_7, 2, 
-  Xameuba_7, 3, 
-  Xameuba_7, 4, 
-  Xameuba_7, 5, 
-  Xameuba_7, 6, 
-  Xameuba_7, 7, 
-  -1, 
-  Xameuba_8, 0, 
-  Xameuba_8, 1, 
-  Xameuba_8, 2, 
-  Xameuba_8, 3, 
-  Xameuba_8, 4, 
-  Xameuba_8, 5, 
-  Xameuba_8, 6, 
-  Xameuba_8, 7, 
+  Xamoeba_1, 0, 
+  Xamoeba_1, 1, 
+  Xamoeba_1, 2, 
+  Xamoeba_1, 3, 
+  Xamoeba_1, 4, 
+  Xamoeba_1, 5, 
+  Xamoeba_1, 6, 
+  Xamoeba_1, 7, 
+  -1, 
+  Xamoeba_2, 0, 
+  Xamoeba_2, 1, 
+  Xamoeba_2, 2, 
+  Xamoeba_2, 3, 
+  Xamoeba_2, 4, 
+  Xamoeba_2, 5, 
+  Xamoeba_2, 6, 
+  Xamoeba_2, 7, 
+  -1, 
+  Xamoeba_3, 0, 
+  Xamoeba_3, 1, 
+  Xamoeba_3, 2, 
+  Xamoeba_3, 3, 
+  Xamoeba_3, 4, 
+  Xamoeba_3, 5, 
+  Xamoeba_3, 6, 
+  Xamoeba_3, 7, 
+  -1, 
+  Xamoeba_4, 0, 
+  Xamoeba_4, 1, 
+  Xamoeba_4, 2, 
+  Xamoeba_4, 3, 
+  Xamoeba_4, 4, 
+  Xamoeba_4, 5, 
+  Xamoeba_4, 6, 
+  Xamoeba_4, 7, 
+  -1, 
+  Xamoeba_5, 0, 
+  Xamoeba_5, 1, 
+  Xamoeba_5, 2, 
+  Xamoeba_5, 3, 
+  Xamoeba_5, 4, 
+  Xamoeba_5, 5, 
+  Xamoeba_5, 6, 
+  Xamoeba_5, 7, 
+  -1, 
+  Xamoeba_6, 0, 
+  Xamoeba_6, 1, 
+  Xamoeba_6, 2, 
+  Xamoeba_6, 3, 
+  Xamoeba_6, 4, 
+  Xamoeba_6, 5, 
+  Xamoeba_6, 6, 
+  Xamoeba_6, 7, 
+  -1, 
+  Xamoeba_7, 0, 
+  Xamoeba_7, 1, 
+  Xamoeba_7, 2, 
+  Xamoeba_7, 3, 
+  Xamoeba_7, 4, 
+  Xamoeba_7, 5, 
+  Xamoeba_7, 6, 
+  Xamoeba_7, 7, 
+  -1, 
+  Xamoeba_8, 0, 
+  Xamoeba_8, 1, 
+  Xamoeba_8, 2, 
+  Xamoeba_8, 3, 
+  Xamoeba_8, 4, 
+  Xamoeba_8, 5, 
+  Xamoeba_8, 6, 
+  Xamoeba_8, 7, 
   -1, 
 
   Xdoor_1, 0, 
@@ -4301,8 +4301,8 @@ unsigned char tab_blank[TILE_MAX];
 /* 0=stop 1=acid */
 unsigned char tab_acid[TILE_MAX];
 
-/* 0=stop 1=ameuba */
-unsigned char tab_ameuba[TILE_MAX];
+/* 0=stop 1=amoeba */
+unsigned char tab_amoeba[TILE_MAX];
 
 /* 0=stop 1=move */
 unsigned char tab_android_move[TILE_MAX];
@@ -4490,7 +4490,7 @@ void tab_generate()
 {
   create_tab(tile_blank, tab_blank);
   create_tab(tile_acid, tab_acid);
-  create_tab(tile_ameuba, tab_ameuba);
+  create_tab(tile_amoeba, tab_amoeba);
   create_tab(tile_android_move, tab_android_move);
   create_explode();
   create_obj();
index c0e15c2fad48c4e49281d585e9e7503a691442f7..f029834e63a976ccd996a813b40c412064135020 100644 (file)
@@ -263,14 +263,14 @@ enum
   Ygrow_ew_eat,
   Xwonderwall,
   XwonderwallB,
-  Xameuba_1,
-  Xameuba_2,
-  Xameuba_3,
-  Xameuba_4,
-  Xameuba_5,
-  Xameuba_6,
-  Xameuba_7,
-  Xameuba_8,
+  Xamoeba_1,
+  Xamoeba_2,
+  Xamoeba_3,
+  Xamoeba_4,
+  Xamoeba_5,
+  Xamoeba_6,
+  Xamoeba_7,
+  Xamoeba_8,
   Xdoor_1,
   Xdoor_2,
   Xdoor_3,
@@ -441,7 +441,7 @@ enum
 
 extern unsigned char tab_blank[TILE_MAX];
 extern unsigned char tab_acid[TILE_MAX];
-extern unsigned char tab_ameuba[TILE_MAX];
+extern unsigned char tab_amoeba[TILE_MAX];
 extern unsigned char tab_android_move[TILE_MAX];
 extern unsigned short tab_explode_normal[TILE_MAX];
 extern unsigned short tab_explode_dynamite[TILE_MAX];
index 903cd8d93274cd215bb34c85fcad961d2d3dee38..166ee1d46288fd2d118e8a2999a8e0cc08407dca 100644 (file)
@@ -890,10 +890,21 @@ static void set_graphic_parameters(int graphic, char **parameter_raw)
   if (parameter[GFX_ARG_HEIGHT] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].height = parameter[GFX_ARG_HEIGHT];
 
+  /* optional zoom factor for scaling up the image to a larger size */
+  if (parameter[GFX_ARG_SCALE_UP_FACTOR] != ARG_UNDEFINED_VALUE)
+    graphic_info[graphic].scale_up_factor = parameter[GFX_ARG_SCALE_UP_FACTOR];
+  if (graphic_info[graphic].scale_up_factor < 1)
+    graphic_info[graphic].scale_up_factor = 1;         /* no scaling */
+
   if (src_bitmap)
   {
-    anim_frames_per_row = src_bitmap->width  / graphic_info[graphic].width;
-    anim_frames_per_col = src_bitmap->height / graphic_info[graphic].height;
+    /* bitmap is not scaled at this stage, so calculate final size */
+    int scale_up_factor = graphic_info[graphic].scale_up_factor;
+    int src_bitmap_width  = src_bitmap->width  * scale_up_factor;
+    int src_bitmap_height = src_bitmap->height * scale_up_factor;
+
+    anim_frames_per_row = src_bitmap_width  / graphic_info[graphic].width;
+    anim_frames_per_col = src_bitmap_height / graphic_info[graphic].height;
   }
 
   /* correct x or y offset dependent of vertical or horizontal frame order */
@@ -966,12 +977,6 @@ static void set_graphic_parameters(int graphic, char **parameter_raw)
   if (parameter[GFX_ARG_BORDER_SIZE] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].border_size = parameter[GFX_ARG_BORDER_SIZE];
 
-  /* optional zoom factor for scaling up the image to a larger size */
-  if (parameter[GFX_ARG_SCALE_UP] != ARG_UNDEFINED_VALUE)
-    graphic_info[graphic].scale_up_factor = parameter[GFX_ARG_SCALE_UP];
-  if (graphic_info[graphic].scale_up_factor < 1)
-    graphic_info[graphic].scale_up_factor = 1;         /* no scaling */
-
   /* this is only used for player "boring" and "sleeping" actions */
   if (parameter[GFX_ARG_ANIM_DELAY_FIXED] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].anim_delay_fixed =
@@ -1044,6 +1049,7 @@ static void InitGraphicInfo()
     Bitmap *src_bitmap;
     int src_x, src_y;
     int first_frame, last_frame;
+    int scale_up_factor, src_bitmap_width, src_bitmap_height;
 
 #if 0
     printf("::: image: '%s' [%d]\n", image->token, i);
@@ -1062,11 +1068,16 @@ static void InitGraphicInfo()
     if (graphic_info[i].bitmap == NULL)
       continue;                /* skip check for optional images that are undefined */
 
+    /* bitmap is not scaled at this stage, so calculate final size */
+    scale_up_factor = graphic_info[i].scale_up_factor;
+    src_bitmap_width  = graphic_info[i].bitmap->width  * scale_up_factor;
+    src_bitmap_height = graphic_info[i].bitmap->height * scale_up_factor;
+
     first_frame = 0;
     getGraphicSource(i, first_frame, &src_bitmap, &src_x, &src_y);
     if (src_x < 0 || src_y < 0 ||
-       src_x + TILEX > src_bitmap->width ||
-       src_y + TILEY > src_bitmap->height)
+       src_x + TILEX > src_bitmap_width ||
+       src_y + TILEY > src_bitmap_height)
     {
       Error(ERR_RETURN_LINE, "-");
       Error(ERR_RETURN, "warning: error found in config file:");
@@ -1081,6 +1092,10 @@ static void InitGraphicInfo()
            src_x, src_y);
       Error(ERR_RETURN, "custom graphic rejected for this element/action");
 
+#if 1
+      Error(ERR_RETURN, "scale_up_factor == %d", scale_up_factor);
+#endif
+
       if (i == fallback_graphic)
        Error(ERR_EXIT, "fatal error: no fallback graphic available");
 
@@ -1094,8 +1109,8 @@ static void InitGraphicInfo()
     last_frame = graphic_info[i].anim_frames - 1;
     getGraphicSource(i, last_frame, &src_bitmap, &src_x, &src_y);
     if (src_x < 0 || src_y < 0 ||
-       src_x + TILEX > src_bitmap->width ||
-       src_y + TILEY > src_bitmap->height)
+       src_x + TILEX > src_bitmap_width ||
+       src_y + TILEY > src_bitmap_height)
     {
       Error(ERR_RETURN_LINE, "-");
       Error(ERR_RETURN, "warning: error found in config file:");
@@ -1585,7 +1600,7 @@ static void ReinitializeGraphics()
   InitElementGraphicInfo();            /* element game graphic mapping */
   InitElementSpecialGraphicInfo();     /* element special graphic mapping */
 
-  InitElementSmallImages();            /* create editor and preview images */
+  InitElementSmallImages();            /* scale images to all needed sizes */
   InitFontGraphicInfo();               /* initialize text drawing functions */
 
   SetMainBackgroundImage(IMG_BACKGROUND);
@@ -3698,6 +3713,10 @@ static void InitGlobal()
 
   for (i = 0; i < MAX_NUM_ELEMENTS + 1; i++)
   {
+    /* check if element_name_info entry defined for each element in "main.h" */
+    if (i < MAX_NUM_ELEMENTS && element_name_info[i].token_name == NULL)
+      Error(ERR_EXIT, "undefined 'element_name_info' entry for element %d", i);
+
     element_info[i].token_name = element_name_info[i].token_name;
     element_info[i].class_name = element_name_info[i].class_name;
     element_info[i].editor_description=element_name_info[i].editor_description;
index 704c5b252c78a2de7aa54ed34385c3398a27b4e4..ed73cb5bf3c5129092af6f764c38cd8f725ddd23 100644 (file)
@@ -917,6 +917,7 @@ void CreateBitmapWithSmallBitmaps(Bitmap *old_bitmap, int zoom_factor)
 
 #endif
 
+  old_bitmap->width  = new_bitmap->width;
   old_bitmap->height = new_bitmap->height;
 
   FreeBitmap(new_bitmap);
index 596f996ab70e174e27f4c08c93d5753c67289f1a..012826ec7774105ef948bc504c1ad74c893a4287 100644 (file)
@@ -3459,6 +3459,216 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "sp_port",
     "gravity off port (leading up)"
   },
+  {
+    "balloon_switch_none",
+    "balloon_switch",
+    "stop moving balloon"
+  },
+  {
+    "emc_level_border",
+    "wall",
+    "level border steelwall",
+  },
+  {
+    "emc_android",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_right",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_up",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_left",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_down",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_left_up",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_left_down",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_right_up",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_android_right_down",
+    "emc_android",
+    "android",
+  },
+  {
+    "emc_grass",
+    "emc_grass",
+    "grass",
+  },
+  {
+    "emc_generator_ball",
+    "emc_generator_ball",
+    "generator ball",
+  },
+  {
+    "emc_grow",
+    "emc_grow",
+    "grow",
+  },
+  {
+    "emc_gate_1",
+    "gate",
+    "door 1 (EMC style)",
+  },
+  {
+    "emc_gate_2",
+    "gate",
+    "door 2 (EMC style)",
+  },
+  {
+    "emc_gate_3",
+    "gate",
+    "door 3 (EMC style)",
+  },
+  {
+    "emc_gate_4",
+    "gate",
+    "door 4 (EMC style)",
+  },
+  {
+    "emc_gate_5",
+    "gate",
+    "door 5 (EMC style)",
+  },
+  {
+    "emc_gate_6",
+    "gate",
+    "door 6 (EMC style)",
+  },
+  {
+    "emc_gate_7",
+    "gate",
+    "door 7 (EMC style)",
+  },
+  {
+    "emc_gate_8",
+    "gate",
+    "door 8 (EMC style)",
+  },
+  {
+    "emc_gate_1_gray",
+    "gate",
+    "gray door (EMC style, key 1)",
+  },
+  {
+    "emc_gate_2_gray",
+    "gate",
+    "gray door (EMC style, key 2)",
+  },
+  {
+    "emc_gate_3_gray",
+    "gate",
+    "gray door (EMC style, key 3)",
+  },
+  {
+    "emc_gate_4_gray",
+    "gate",
+    "gray door (EMC style, key 4)",
+  },
+  {
+    "emc_gate_5_gray",
+    "gate",
+    "gray door (EMC style, key 5)",
+  },
+  {
+    "emc_gate_6_gray",
+    "gate",
+    "gray door (EMC style, key 6)",
+  },
+  {
+    "emc_gate_7_gray",
+    "gate",
+    "gray door (EMC style, key 7)",
+  },
+  {
+    "emc_gate_8_gray",
+    "gate",
+    "gray door (EMC style, key 8)",
+  },
+  {
+    "emc_key_1",
+    "key",
+    "key 1 (EMC style)",
+  },
+  {
+    "emc_key_2",
+    "key",
+    "key 2 (EMC style)",
+  },
+  {
+    "emc_key_3",
+    "key",
+    "key 3 (EMC style)",
+  },
+  {
+    "emc_key_4",
+    "key",
+    "key 4 (EMC style)",
+  },
+  {
+    "emc_key_5",
+    "key",
+    "key 5 (EMC style)",
+  },
+  {
+    "emc_key_6",
+    "key",
+    "key 6 (EMC style)",
+  },
+  {
+    "emc_key_7",
+    "key",
+    "key 7 (EMC style)",
+  },
+  {
+    "emc_key_8",
+    "key",
+    "key 8 (EMC style)",
+  },
+  {
+    "emc_bumper",
+    "emc_bumper",
+    "bumper",
+  },
+  {
+    "emc_plant",
+    "emc_plant",
+    "plant",
+  },
+  {
+    "emc_lenses",
+    "emc_lenses",
+    "lenses",
+  },
+  {
+    "emc_magnifier",
+    "emc_magnifier",
+    "magnifier",
+  },
 
   /* ----------------------------------------------------------------------- */
   /* "real" (and therefore drawable) runtime elements                        */
index 9a3343b8c10cd8f826940c8be6c283355ac9166f..e0b60503eca362496070f7b37088b89a5ec7ac87 100644 (file)
 #define EL_SP_GRAVITY_OFF_PORT_LEFT    665
 #define EL_SP_GRAVITY_OFF_PORT_UP      666
 
-#if 1
-
-#define NUM_FILE_ELEMENTS              667
-
-/* the following EMC style elements are currently not implemented in R'n'D */
-#define EL_BALLOON_SWITCH_NONE         EL_UNKNOWN
-#define EL_EMC_LEVEL_BORDER            EL_UNKNOWN
-#define EL_EMC_ANDROID                 EL_UNKNOWN
-#define EL_EMC_ANDROID_RIGHT           EL_UNKNOWN
-#define EL_EMC_ANDROID_UP              EL_UNKNOWN
-#define EL_EMC_ANDROID_LEFT            EL_UNKNOWN
-#define EL_EMC_ANDROID_DOWN            EL_UNKNOWN
-#define EL_EMC_ANDROID_LEFT_UP         EL_UNKNOWN
-#define EL_EMC_ANDROID_LEFT_DOWN       EL_UNKNOWN
-#define EL_EMC_ANDROID_RIGHT_UP                EL_UNKNOWN
-#define EL_EMC_ANDROID_RIGHT_DOWN      EL_UNKNOWN
-#define EL_EMC_GRASS                   EL_UNKNOWN
-#define EL_EMC_GENERATOR_BALL          EL_UNKNOWN
-#define EL_EMC_GROW                    EL_UNKNOWN
-#define EL_EMC_GATE_1                  EL_UNKNOWN
-#define EL_EMC_GATE_2                  EL_UNKNOWN
-#define EL_EMC_GATE_3                  EL_UNKNOWN
-#define EL_EMC_GATE_4                  EL_UNKNOWN
-#define EL_EMC_GATE_5                  EL_UNKNOWN
-#define EL_EMC_GATE_6                  EL_UNKNOWN
-#define EL_EMC_GATE_7                  EL_UNKNOWN
-#define EL_EMC_GATE_8                  EL_UNKNOWN
-#define EL_EMC_GATE_1_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_2_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_3_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_4_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_5_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_6_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_7_GRAY             EL_UNKNOWN
-#define EL_EMC_GATE_8_GRAY             EL_UNKNOWN
-#define EL_EMC_KEY_1                   EL_UNKNOWN
-#define EL_EMC_KEY_2                   EL_UNKNOWN
-#define EL_EMC_KEY_3                   EL_UNKNOWN
-#define EL_EMC_KEY_4                   EL_UNKNOWN
-#define EL_EMC_KEY_5                   EL_UNKNOWN
-#define EL_EMC_KEY_6                   EL_UNKNOWN
-#define EL_EMC_KEY_7                   EL_UNKNOWN
-#define EL_EMC_KEY_8                   EL_UNKNOWN
-#define EL_EMC_BUMPER                  EL_UNKNOWN
-#define EL_EMC_PLANT                   EL_UNKNOWN
-#define EL_EMC_LENSES                  EL_UNKNOWN
-#define EL_EMC_MAGNIFY                 EL_UNKNOWN
-
-#else
 
 /* the following EMC style elements are currently not implemented in R'n'D */
 #define EL_BALLOON_SWITCH_NONE         667
 #define EL_EMC_BUMPER                  705
 #define EL_EMC_PLANT                   706
 #define EL_EMC_LENSES                  707
-#define EL_EMC_MAGNIFY                 708
+#define EL_EMC_MAGNIFIER               708
 
 #define NUM_FILE_ELEMENTS              709
 
-#endif
-
 
 /* "real" (and therefore drawable) runtime elements */
 #define EL_FIRST_RUNTIME_REAL          NUM_FILE_ELEMENTS
 #define GFX_ARG_POST_DELAY_FIXED               28
 #define GFX_ARG_POST_DELAY_RANDOM              29
 #define GFX_ARG_NAME                           30
-#define GFX_ARG_SCALE_UP                       31
+#define GFX_ARG_SCALE_UP_FACTOR                        31
 
 #define NUM_GFX_ARGS                           32
 
index ab5086c0703788f08aacb0df01be8cf4d06ed33d..04b8c7b83b8ccdbb413c762f7e0773460a87603e 100644 (file)
@@ -2891,6 +2891,1643 @@ static void HandleToolButtons(struct GadgetInfo *gi)
   request_gadget_id = gi->custom_id;
 }
 
+#if 1
+
+static struct
+{
+  int element_em;
+  boolean is_rnd_to_em_mapping;
+
+  int element_rnd;
+  int action;
+  int direction;
+}
+mapping_EM_to_RND_list[] =
+{
+  {
+    Xblank,                    TRUE,
+    EL_EMPTY,                  -1, -1
+  },
+  {
+    Yacid_splash_eB,           FALSE,
+    EL_EMPTY,                  -1, -1
+  },
+  {
+    Yacid_splash_wB,           FALSE,
+    EL_EMPTY,                  -1, -1
+  },
+
+#ifdef EM_ENGINE_BAD_ROLL
+  {
+    Xstone_force_e,            FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xstone_force_w,            FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xnut_force_e,              FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xnut_force_w,              FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xspring_force_e,           FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xspring_force_w,           FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xemerald_force_e,          FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xemerald_force_w,          FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xdiamond_force_e,          FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xdiamond_force_w,          FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xbomb_force_e,             FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xbomb_force_w,             FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+#endif
+
+  {
+    Xstone,                    TRUE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Xstone_pause,              FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Xstone_fall,               FALSE,
+    EL_ROCK,                   ACTION_FALLING, -1
+  },
+  {
+    Ystone_s,                  FALSE,
+    EL_ROCK,                   ACTION_FALLING, -1
+  },
+  {
+    Ystone_sB,                 FALSE,
+    EL_ROCK,                   ACTION_FALLING, -1
+  },
+  {
+    Ystone_e,                  FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ystone_eB,                 FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ystone_w,                  FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ystone_wB,                 FALSE,
+    EL_ROCK,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xnut,                      TRUE,
+    EL_NUT,                    -1, -1
+  },
+  {
+    Xnut_pause,                        FALSE,
+    EL_NUT,                    -1, -1
+  },
+  {
+    Xnut_fall,                 FALSE,
+    EL_NUT,                    ACTION_FALLING, -1
+  },
+  {
+    Ynut_s,                    FALSE,
+    EL_NUT,                    ACTION_FALLING, -1
+  },
+  {
+    Ynut_sB,                   FALSE,
+    EL_NUT,                    ACTION_FALLING, -1
+  },
+  {
+    Ynut_e,                    FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ynut_eB,                   FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ynut_w,                    FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ynut_wB,                   FALSE,
+    EL_NUT,                    ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xbug_n,                    TRUE,
+    EL_BUG_UP,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xbug_e,                    TRUE,
+    EL_BUG_RIGHT,              ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xbug_s,                    TRUE,
+    EL_BUG_DOWN,               ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Xbug_w,                    TRUE,
+    EL_BUG_LEFT,               ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xbug_gon,                  FALSE,
+    EL_BUG_UP,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xbug_goe,                  FALSE,
+    EL_BUG_RIGHT,              ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xbug_gos,                  FALSE,
+    EL_BUG_DOWN,               ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Xbug_gow,                  FALSE,
+    EL_BUG_LEFT,               ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ybug_n,                    FALSE,
+    EL_BUG_UP,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ybug_nB,                   FALSE,
+    EL_BUG_UP,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ybug_e,                    FALSE,
+    EL_BUG_RIGHT,              ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ybug_eB,                   FALSE,
+    EL_BUG_RIGHT,              ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ybug_s,                    FALSE,
+    EL_BUG_DOWN,               ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ybug_sB,                   FALSE,
+    EL_BUG_DOWN,               ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ybug_w,                    FALSE,
+    EL_BUG_LEFT,               ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ybug_wB,                   FALSE,
+    EL_BUG_LEFT,               ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ybug_w_n,                  FALSE,
+    EL_BUG_UP,                 ACTION_TURNING_FROM_LEFT, MV_BIT_UP
+  },
+  {
+    Ybug_n_e,                  FALSE,
+    EL_BUG_RIGHT,              ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
+  },
+  {
+    Ybug_e_s,                  FALSE,
+    EL_BUG_DOWN,               ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
+  },
+  {
+    Ybug_s_w,                  FALSE,
+    EL_BUG_LEFT,               ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
+  },
+  {
+    Ybug_e_n,                  FALSE,
+    EL_BUG_UP,                 ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
+  },
+  {
+    Ybug_s_e,                  FALSE,
+    EL_BUG_RIGHT,              ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
+  },
+  {
+    Ybug_w_s,                  FALSE,
+    EL_BUG_DOWN,               ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
+  },
+  {
+    Ybug_n_w,                  FALSE,
+    EL_BUG_LEFT,               ACTION_TURNING_FROM_UP, MV_BIT_LEFT
+  },
+  {
+    Ybug_stone,                        FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Ybug_spring,               FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xtank_n,                   TRUE,
+    EL_SPACESHIP_UP,           ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xtank_e,                   TRUE,
+    EL_SPACESHIP_RIGHT,                ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xtank_s,                   TRUE,
+    EL_SPACESHIP_DOWN,         ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Xtank_w,                   TRUE,
+    EL_SPACESHIP_LEFT,         ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xtank_gon,                 FALSE,
+    EL_SPACESHIP_UP,           ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xtank_goe,                 FALSE,
+    EL_SPACESHIP_RIGHT,                ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xtank_gos,                 FALSE,
+    EL_SPACESHIP_DOWN,         ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Xtank_gow,                 FALSE,
+    EL_SPACESHIP_LEFT,         ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ytank_n,                   FALSE,
+    EL_SPACESHIP_UP,           ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ytank_nB,                  FALSE,
+    EL_SPACESHIP_UP,           ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ytank_e,                   FALSE,
+    EL_SPACESHIP_RIGHT,                ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ytank_eB,                  FALSE,
+    EL_SPACESHIP_RIGHT,                ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ytank_s,                   FALSE,
+    EL_SPACESHIP_DOWN,         ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ytank_sB,                  FALSE,
+    EL_SPACESHIP_DOWN,         ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ytank_w,                   FALSE,
+    EL_SPACESHIP_LEFT,         ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ytank_wB,                  FALSE,
+    EL_SPACESHIP_LEFT,         ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ytank_w_n,                 FALSE,
+    EL_SPACESHIP_UP,           ACTION_TURNING_FROM_LEFT, MV_BIT_UP
+  },
+  {
+    Ytank_n_e,                 FALSE,
+    EL_SPACESHIP_RIGHT,                ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
+  },
+  {
+    Ytank_e_s,                 FALSE,
+    EL_SPACESHIP_DOWN,         ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
+  },
+  {
+    Ytank_s_w,                 FALSE,
+    EL_SPACESHIP_LEFT,         ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
+  },
+  {
+    Ytank_e_n,                 FALSE,
+    EL_SPACESHIP_UP,           ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
+  },
+  {
+    Ytank_s_e,                 FALSE,
+    EL_SPACESHIP_RIGHT,                ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
+  },
+  {
+    Ytank_w_s,                 FALSE,
+    EL_SPACESHIP_DOWN,         ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
+  },
+  {
+    Ytank_n_w,                 FALSE,
+    EL_SPACESHIP_LEFT,         ACTION_TURNING_FROM_UP, MV_BIT_LEFT
+  },
+  {
+    Ytank_stone,               FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Ytank_spring,              FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xandroid,                  TRUE,
+    EL_EMC_ANDROID,            -1, -1
+  },
+  {
+    Xandroid_1_n,              TRUE,
+    EL_EMC_ANDROID_UP,         ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xandroid_2_n,              FALSE,
+    EL_EMC_ANDROID_UP,         ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xandroid_1_e,              TRUE,
+    EL_EMC_ANDROID_RIGHT,      ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xandroid_2_e,              FALSE,
+    EL_EMC_ANDROID_RIGHT,      ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xandroid_1_w,              TRUE,
+    EL_EMC_ANDROID_LEFT,       ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xandroid_2_w,              FALSE,
+    EL_EMC_ANDROID_LEFT,       ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xandroid_1_s,              TRUE,
+    EL_EMC_ANDROID_DOWN,       ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Xandroid_2_s,              FALSE,
+    EL_EMC_ANDROID_DOWN,       ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yandroid_n,                        FALSE,
+    EL_EMC_ANDROID_UP,         ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yandroid_nB,               FALSE,
+    EL_EMC_ANDROID_UP,         ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yandroid_ne,               FALSE,
+    EL_EMC_ANDROID_RIGHT_UP,   
+  },
+  {
+    Yandroid_neB,              FALSE,
+    EL_EMC_ANDROID_RIGHT_UP,   -1, -1
+  },
+  {
+    Yandroid_e,                        FALSE,
+    EL_EMC_ANDROID_RIGHT,      ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yandroid_eB,               FALSE,
+    EL_EMC_ANDROID_RIGHT,      ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yandroid_se,               FALSE,
+    EL_EMC_ANDROID_RIGHT_DOWN, -1, -1
+  },
+  {
+    Yandroid_seB,              FALSE,
+    EL_EMC_ANDROID_RIGHT_DOWN, -1, -1
+  },
+  {
+    Yandroid_s,                        FALSE,
+    EL_EMC_ANDROID_DOWN,       ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yandroid_sB,               FALSE,
+    EL_EMC_ANDROID_DOWN,       ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yandroid_sw,               FALSE,
+    EL_EMC_ANDROID_LEFT_DOWN,  -1, -1
+  },
+  {
+    Yandroid_swB,              FALSE,
+    EL_EMC_ANDROID_LEFT_DOWN,  -1, -1
+  },
+  {
+    Yandroid_w,                        FALSE,
+    EL_EMC_ANDROID_LEFT,       ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yandroid_wB,               FALSE,
+    EL_EMC_ANDROID_LEFT,       ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yandroid_nw,               FALSE,
+    EL_EMC_ANDROID_LEFT_UP,    -1, -1
+  },
+  {
+    Yandroid_nwB,              FALSE,
+    EL_EMC_ANDROID_LEFT_UP,    -1, -1
+  },
+  {
+    Xspring,                   TRUE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xspring_pause,             FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xspring_e,                 FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xspring_w,                 FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xspring_fall,              FALSE,
+    EL_SPRING,                 ACTION_FALLING, -1
+  },
+  {
+    Yspring_s,                 FALSE,
+    EL_SPRING,                 ACTION_FALLING, -1
+  },
+  {
+    Yspring_sB,                        FALSE,
+    EL_SPRING,                 ACTION_FALLING, -1
+  },
+  {
+    Yspring_e,                 FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yspring_eB,                        FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yspring_w,                 FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yspring_wB,                        FALSE,
+    EL_SPRING,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yspring_kill_e,            FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Yspring_kill_eB,           FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Yspring_kill_w,            FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Yspring_kill_wB,           FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xeater_n,                  TRUE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Xeater_e,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Xeater_w,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xeater_s,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yeater_n,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yeater_nB,                 FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yeater_e,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yeater_eB,                 FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yeater_s,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yeater_sB,                 FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yeater_w,                  FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yeater_wB,                 FALSE,
+    EL_YAMYAM,                 ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yeater_stone,              FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Yeater_spring,             FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xalien,                    TRUE,
+    EL_ROBOT,                  -1, -1
+  },
+  {
+    Xalien_pause,              FALSE,
+    EL_ROBOT,                  -1, -1
+  },
+  {
+    Yalien_n,                  FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yalien_nB,                 FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yalien_e,                  FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yalien_eB,                 FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yalien_s,                  FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yalien_sB,                 FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yalien_w,                  FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yalien_wB,                 FALSE,
+    EL_ROBOT,                  ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yalien_stone,              FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Yalien_spring,             FALSE,
+    EL_SPRING,                 -1, -1
+  },
+  {
+    Xemerald,                  TRUE,
+    EL_EMERALD,                        -1, -1
+  },
+  {
+    Xemerald_pause,            FALSE,
+    EL_EMERALD,                        -1, -1
+  },
+  {
+    Xemerald_fall,             FALSE,
+    EL_EMERALD,                        ACTION_FALLING, -1
+  },
+  {
+    Xemerald_shine,            FALSE,
+    EL_EMERALD,                        -1, -1
+  },
+  {
+    Yemerald_s,                        FALSE,
+    EL_EMERALD,                        ACTION_FALLING, -1
+  },
+  {
+    Yemerald_sB,               FALSE,
+    EL_EMERALD,                        ACTION_FALLING, -1
+  },
+  {
+    Yemerald_e,                        FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yemerald_eB,               FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yemerald_w,                        FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yemerald_wB,               FALSE,
+    EL_EMERALD,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yemerald_eat,              FALSE,
+    EL_EMERALD,                        -1, -1
+  },
+  {
+    Yemerald_stone,            FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Xdiamond,                  TRUE,
+    EL_DIAMOND,                        -1, -1
+  },
+  {
+    Xdiamond_pause,            FALSE,
+    EL_DIAMOND,                        -1, -1
+  },
+  {
+    Xdiamond_fall,             FALSE,
+    EL_DIAMOND,                        ACTION_FALLING, -1
+  },
+  {
+    Xdiamond_shine,            FALSE,
+    EL_DIAMOND,                        -1, -1
+  },
+  {
+    Ydiamond_s,                        FALSE,
+    EL_DIAMOND,                        ACTION_FALLING, -1
+  },
+  {
+    Ydiamond_sB,               FALSE,
+    EL_DIAMOND,                        ACTION_FALLING, -1
+  },
+  {
+    Ydiamond_e,                        FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ydiamond_eB,               FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ydiamond_w,                        FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ydiamond_wB,               FALSE,
+    EL_DIAMOND,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ydiamond_eat,              FALSE,
+    EL_DIAMOND,                        -1, -1
+  },
+  {
+    Ydiamond_stone,            FALSE,
+    EL_ROCK,                   -1, -1
+  },
+  {
+    Xdrip_fall,                        TRUE,
+    EL_AMOEBA_DROP,            ACTION_FALLING, -1
+  },
+  {
+    Xdrip_stretch,             FALSE,
+    EL_AMOEBA_DROP,            -1, -1
+  },
+  {
+    Xdrip_stretchB,            FALSE,
+    EL_AMOEBA_DROP,            -1, -1
+  },
+  {
+    Xdrip_eat,                 FALSE,
+    EL_AMOEBA_DROP,            -1, -1
+  },
+  {
+    Ydrip_s1,                  FALSE,
+    EL_AMOEBA_DROP,            ACTION_FALLING, -1
+  },
+  {
+    Ydrip_s1B,                 FALSE,
+    EL_AMOEBA_DROP,            ACTION_FALLING, -1
+  },
+  {
+    Ydrip_s2,                  FALSE,
+    EL_AMOEBA_DROP,            ACTION_FALLING, -1
+  },
+  {
+    Ydrip_s2B,                 FALSE,
+    EL_AMOEBA_DROP,            ACTION_FALLING, -1
+  },
+  {
+    Xbomb,                     TRUE,
+    EL_BOMB,                   -1, -1
+  },
+  {
+    Xbomb_pause,               FALSE,
+    EL_BOMB,                   -1, -1
+  },
+  {
+    Xbomb_fall,                        FALSE,
+    EL_BOMB,                   ACTION_FALLING, -1
+  },
+  {
+    Ybomb_s,                   FALSE,
+    EL_BOMB,                   ACTION_FALLING, -1
+  },
+  {
+    Ybomb_sB,                  FALSE,
+    EL_BOMB,                   ACTION_FALLING, -1
+  },
+  {
+    Ybomb_e,                   FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ybomb_eB,                  FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ybomb_w,                   FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ybomb_wB,                  FALSE,
+    EL_BOMB,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Ybomb_eat,                 FALSE,
+    EL_BOMB,                   -1, -1
+  },
+  {
+    Xballoon,                  TRUE,
+    EL_BALLOON,                        -1, -1
+  },
+  {
+    Yballoon_n,                        FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yballoon_nB,               FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Yballoon_e,                        FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yballoon_eB,               FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Yballoon_s,                        FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yballoon_sB,               FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Yballoon_w,                        FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Yballoon_wB,               FALSE,
+    EL_BALLOON,                        ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xgrass,                    TRUE,
+    EL_SAND,                   -1, -1
+  },
+  {
+    Ygrass_nB,                 FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ygrass_eB,                 FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ygrass_sB,                 FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ygrass_wB,                 FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xdirt,                     TRUE,
+    EL_SAND,                   -1, -1
+  },
+  {
+    Ydirt_nB,                  FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_UP
+  },
+  {
+    Ydirt_eB,                  FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_RIGHT
+  },
+  {
+    Ydirt_sB,                  FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_DOWN
+  },
+  {
+    Ydirt_wB,                  FALSE,
+    EL_SAND,                   ACTION_MOVING, MV_BIT_LEFT
+  },
+  {
+    Xacid_ne,                  TRUE,
+    EL_ACID_POOL_TOPRIGHT,     -1, -1
+  },
+  {
+    Xacid_se,                  TRUE,
+    EL_ACID_POOL_BOTTOMRIGHT,  -1, -1
+  },
+  {
+    Xacid_s,                   TRUE,
+    EL_ACID_POOL_BOTTOM,       -1, -1
+  },
+  {
+    Xacid_sw,                  TRUE,
+    EL_ACID_POOL_BOTTOMLEFT,   -1, -1
+  },
+  {
+    Xacid_nw,                  TRUE,
+    EL_ACID_POOL_TOPLEFT,      -1, -1
+  },
+  {
+    Xacid_1,                   TRUE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_2,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_3,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_4,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_5,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_6,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_7,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xacid_8,                   FALSE,
+    EL_ACID,                   -1, -1
+  },
+  {
+    Xball_1,                   TRUE,
+    EL_EMC_GENERATOR_BALL,     -1, -1
+  },
+  {
+    Xball_1B,                  FALSE,
+    EL_EMC_GENERATOR_BALL,     -1, -1
+  },
+  {
+    Xball_2,                   FALSE,
+    EL_EMC_GENERATOR_BALL,     -1, -1
+  },
+  {
+    Xball_2B,                  FALSE,
+    EL_EMC_GENERATOR_BALL,     -1, -1
+  },
+  {
+    Yball_eat,                 FALSE,
+    EL_EMC_GENERATOR_BALL,     -1, -1
+  },
+  {
+    Xgrow_ns,                  TRUE,
+    EL_EMC_GROW,               -1, -1
+  },
+  {
+    Ygrow_ns_eat,              FALSE,
+    EL_EMC_GROW,               -1, -1
+  },
+  {
+    Xgrow_ew,                  FALSE,
+    EL_EMC_GROW,               -1, -1
+  },
+  {
+    Ygrow_ew_eat,              FALSE,
+    EL_EMC_GROW,               -1, -1
+  },
+  {
+    Xwonderwall,               TRUE,
+    EL_MAGIC_WALL,             -1, -1
+  },
+  {
+    XwonderwallB,              FALSE,
+    EL_MAGIC_WALL,             -1, -1
+  },
+  {
+    Xamoeba_1,                 TRUE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_2,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_3,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_4,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_5,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_6,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_7,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xamoeba_8,                 FALSE,
+    EL_AMOEBA_WET,             -1, -1
+  },
+  {
+    Xdoor_1,                   TRUE,
+    EL_EM_GATE_1,              -1, -1
+  },
+  {
+    Xdoor_2,                   TRUE,
+    EL_EM_GATE_2,              -1, -1
+  },
+  {
+    Xdoor_3,                   TRUE,
+    EL_EM_GATE_3,              -1, -1
+  },
+  {
+    Xdoor_4,                   TRUE,
+    EL_EM_GATE_4,              -1, -1
+  },
+  {
+    Xdoor_5,                   TRUE,
+    EL_EMC_GATE_5,             -1, -1
+  },
+  {
+    Xdoor_6,                   TRUE,
+    EL_EMC_GATE_6,             -1, -1
+  },
+  {
+    Xdoor_7,                   TRUE,
+    EL_EMC_GATE_7,             -1, -1
+  },
+  {
+    Xdoor_8,                   TRUE,
+    EL_EMC_GATE_8,             -1, -1
+  },
+  {
+    Xkey_1,                    TRUE,
+    EL_EM_KEY_1,               -1, -1
+  },
+  {
+    Xkey_2,                    TRUE,
+    EL_EM_KEY_2,               -1, -1
+  },
+  {
+    Xkey_3,                    TRUE,
+    EL_EM_KEY_3,               -1, -1
+  },
+  {
+    Xkey_4,                    TRUE,
+    EL_EM_KEY_4,               -1, -1
+  },
+  {
+    Xkey_5,                    TRUE,
+    EL_EMC_KEY_5,              -1, -1
+  },
+  {
+    Xkey_6,                    TRUE,
+    EL_EMC_KEY_6,              -1, -1
+  },
+  {
+    Xkey_7,                    TRUE,
+    EL_EMC_KEY_7,              -1, -1
+  },
+  {
+    Xkey_8,                    TRUE,
+    EL_EMC_KEY_8,              -1, -1
+  },
+  {
+    Xwind_n,                   TRUE,
+    EL_BALLOON_SWITCH_UP,      -1, -1
+  },
+  {
+    Xwind_e,                   TRUE,
+    EL_BALLOON_SWITCH_RIGHT,   -1, -1
+  },
+  {
+    Xwind_s,                   TRUE,
+    EL_BALLOON_SWITCH_DOWN,    -1, -1
+  },
+  {
+    Xwind_w,                   TRUE,
+    EL_BALLOON_SWITCH_LEFT,    -1, -1
+  },
+  {
+    Xwind_nesw,                        TRUE,
+    EL_BALLOON_SWITCH_ANY,     -1, -1
+  },
+  {
+    Xwind_stop,                        TRUE,
+    EL_BALLOON_SWITCH_NONE,    -1, -1
+  },
+  {
+    Xexit,                     TRUE,
+    EL_EXIT_CLOSED,            -1, -1
+  },
+  {
+    Xexit_1,                   TRUE,
+    EL_EXIT_OPEN,              -1, -1
+  },
+  {
+    Xexit_2,                   FALSE,
+    EL_EXIT_OPEN,              -1, -1
+  },
+  {
+    Xexit_3,                   FALSE,
+    EL_EXIT_OPEN,              -1, -1
+  },
+  {
+    Xdynamite,                 TRUE,
+    EL_DYNAMITE,               -1, -1
+  },
+  {
+    Ydynamite_eat,             FALSE,
+    EL_DYNAMITE,               -1, -1
+  },
+  {
+    Xdynamite_1,               TRUE,
+    EL_DYNAMITE_ACTIVE,                -1, -1
+  },
+  {
+    Xdynamite_2,               FALSE,
+    EL_DYNAMITE_ACTIVE,                -1, -1
+  },
+  {
+    Xdynamite_3,               FALSE,
+    EL_DYNAMITE_ACTIVE,                -1, -1
+  },
+  {
+    Xdynamite_4,               FALSE,
+    EL_DYNAMITE_ACTIVE,                -1, -1
+  },
+  {
+    Xbumper,                   TRUE,
+    EL_EMC_BUMPER,             -1, -1
+  },
+  {
+    XbumperB,                  FALSE,
+    EL_EMC_BUMPER,             -1, -1
+  },
+  {
+    Xwheel,                    TRUE,
+    EL_ROBOT_WHEEL,            -1, -1
+  },
+  {
+    XwheelB,                   FALSE,
+    EL_ROBOT_WHEEL,            -1, -1
+  },
+  {
+    Xswitch,                   FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    XswitchB,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xsand,                     TRUE,
+    EL_QUICKSAND_EMPTY,                -1, -1
+  },
+  {
+    Xsand_stone,               TRUE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonein_1,           FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonein_2,           FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonein_3,           FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonein_4,           FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonesand_1,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonesand_2,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonesand_3,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stonesand_4,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stoneout_1,          FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_stoneout_2,          FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_sandstone_1,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_sandstone_2,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_sandstone_3,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xsand_sandstone_4,         FALSE,
+    EL_QUICKSAND_FULL,         -1, -1
+  },
+  {
+    Xplant,                    TRUE,
+    EL_EMC_PLANT,              -1, -1
+  },
+  {
+    Yplant,                    FALSE,
+    EL_EMC_PLANT,              -1, -1
+  },
+  {
+    Xlenses,                   TRUE,
+    EL_EMC_LENSES,             -1, -1
+  },
+  {
+    Xmagnify,                  TRUE,
+    EL_EMC_MAGNIFIER,          -1, -1
+  },
+  {
+    Xdripper,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    XdripperB,                 FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xfake_blank,               TRUE,
+    EL_INVISIBLE_WALL,         -1, -1
+  },
+  {
+    Xfake_blankB,              FALSE,
+    EL_INVISIBLE_WALL,         -1, -1
+  },
+  {
+    Xfake_grass,               TRUE,
+    EL_INVISIBLE_SAND,         -1, -1
+  },
+  {
+    Xfake_grassB,              FALSE,
+    EL_INVISIBLE_SAND,         -1, -1
+  },
+  {
+    Xfake_door_1,              TRUE,
+    EL_EM_GATE_1_GRAY,         -1, -1
+  },
+  {
+    Xfake_door_2,              TRUE,
+    EL_EM_GATE_2_GRAY,         -1, -1
+  },
+  {
+    Xfake_door_3,              TRUE,
+    EL_EM_GATE_3_GRAY,         -1, -1
+  },
+  {
+    Xfake_door_4,              TRUE,
+    EL_EM_GATE_4_GRAY,         -1, -1
+  },
+  {
+    Xfake_door_5,              TRUE,
+    EL_EMC_GATE_5_GRAY,                -1, -1
+  },
+  {
+    Xfake_door_6,              TRUE,
+    EL_EMC_GATE_6_GRAY,                -1, -1
+  },
+  {
+    Xfake_door_7,              TRUE,
+    EL_EMC_GATE_7_GRAY,                -1, -1
+  },
+  {
+    Xfake_door_8,              TRUE,
+    EL_EMC_GATE_8_GRAY,                -1, -1
+  },
+  {
+    Xsteel_1,                  TRUE,
+    EL_STEELWALL,              -1, -1
+  },
+  {
+    Xsteel_2,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xsteel_3,                  TRUE,
+    EL_EMC_STEELWALL_1,                -1, -1
+  },
+  {
+    Xsteel_4,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xwall_1,                   TRUE,
+    EL_WALL,                   -1, -1
+  },
+  {
+    Xwall_2,                   FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xwall_3,                   FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xwall_4,                   FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xround_wall_1,             TRUE,
+    EL_WALL_SLIPPERY,          -1, -1
+  },
+  {
+    Xround_wall_2,             FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xround_wall_3,             FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xround_wall_4,             FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xdecor_1,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xdecor_2,                  TRUE,
+    EL_EMC_WALL_6,             -1, -1
+  },
+  {
+    Xdecor_3,                  TRUE,
+    EL_EMC_WALL_4,             -1, -1
+  },
+  {
+    Xdecor_4,                  TRUE,
+    EL_EMC_WALL_5,             -1, -1
+  },
+  {
+    Xdecor_5,                  TRUE,
+    EL_EMC_WALL_7,             -1, -1
+  },
+  {
+    Xdecor_6,                  TRUE,
+    EL_EMC_WALL_8,             -1, -1
+  },
+  {
+    Xdecor_7,                  FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xdecor_8,                  TRUE,
+    EL_EMC_WALL_1,             -1, -1
+  },
+  {
+    Xdecor_9,                  TRUE,
+    EL_EMC_WALL_2,             -1, -1
+  },
+  {
+    Xdecor_10,                 TRUE,
+    EL_EMC_WALL_3,             -1, -1
+  },
+  {
+    Xdecor_11,                 FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xdecor_12,                 FALSE,
+    EL_UNKNOWN,                        -1, -1
+  },
+  {
+    Xalpha_0,                  TRUE,
+    EL_CHAR('0'),              -1, -1
+  },
+  {
+    Xalpha_1,                  TRUE,
+    EL_CHAR('1'),              -1, -1
+  },
+  {
+    Xalpha_2,                  TRUE,
+    EL_CHAR('2'),              -1, -1
+  },
+  {
+    Xalpha_3,                  TRUE,
+    EL_CHAR('3'),              -1, -1
+  },
+  {
+    Xalpha_4,                  TRUE,
+    EL_CHAR('4'),              -1, -1
+  },
+  {
+    Xalpha_5,                  TRUE,
+    EL_CHAR('5'),              -1, -1
+  },
+  {
+    Xalpha_6,                  TRUE,
+    EL_CHAR('6'),              -1, -1
+  },
+  {
+    Xalpha_7,                  TRUE,
+    EL_CHAR('7'),              -1, -1
+  },
+  {
+    Xalpha_8,                  TRUE,
+    EL_CHAR('8'),              -1, -1
+  },
+  {
+    Xalpha_9,                  TRUE,
+    EL_CHAR('9'),              -1, -1
+  },
+  {
+    Xalpha_excla,              TRUE,
+    EL_CHAR('!'),              -1, -1
+  },
+  {
+    Xalpha_quote,              TRUE,
+    EL_CHAR('"'),              -1, -1
+  },
+  {
+    Xalpha_comma,              TRUE,
+    EL_CHAR(','),              -1, -1
+  },
+  {
+    Xalpha_minus,              TRUE,
+    EL_CHAR('-'),              -1, -1
+  },
+  {
+    Xalpha_perio,              TRUE,
+    EL_CHAR('.'),              -1, -1
+  },
+  {
+    Xalpha_colon,              TRUE,
+    EL_CHAR(':'),              -1, -1
+  },
+  {
+    Xalpha_quest,              TRUE,
+    EL_CHAR('?'),              -1, -1
+  },
+  {
+    Xalpha_a,                  TRUE,
+    EL_CHAR('A'),              -1, -1
+  },
+  {
+    Xalpha_b,                  TRUE,
+    EL_CHAR('B'),              -1, -1
+  },
+  {
+    Xalpha_c,                  TRUE,
+    EL_CHAR('C'),              -1, -1
+  },
+  {
+    Xalpha_d,                  TRUE,
+    EL_CHAR('D'),              -1, -1
+  },
+  {
+    Xalpha_e,                  TRUE,
+    EL_CHAR('E'),              -1, -1
+  },
+  {
+    Xalpha_f,                  TRUE,
+    EL_CHAR('F'),              -1, -1
+  },
+  {
+    Xalpha_g,                  TRUE,
+    EL_CHAR('G'),              -1, -1
+  },
+  {
+    Xalpha_h,                  TRUE,
+    EL_CHAR('H'),              -1, -1
+  },
+  {
+    Xalpha_i,                  TRUE,
+    EL_CHAR('I'),              -1, -1
+  },
+  {
+    Xalpha_j,                  TRUE,
+    EL_CHAR('J'),              -1, -1
+  },
+  {
+    Xalpha_k,                  TRUE,
+    EL_CHAR('K'),              -1, -1
+  },
+  {
+    Xalpha_l,                  TRUE,
+    EL_CHAR('L'),              -1, -1
+  },
+  {
+    Xalpha_m,                  TRUE,
+    EL_CHAR('M'),              -1, -1
+  },
+  {
+    Xalpha_n,                  TRUE,
+    EL_CHAR('N'),              -1, -1
+  },
+  {
+    Xalpha_o,                  TRUE,
+    EL_CHAR('O'),              -1, -1
+  },
+  {
+    Xalpha_p,                  TRUE,
+    EL_CHAR('P'),              -1, -1
+  },
+  {
+    Xalpha_q,                  TRUE,
+    EL_CHAR('Q'),              -1, -1
+  },
+  {
+    Xalpha_r,                  TRUE,
+    EL_CHAR('R'),              -1, -1
+  },
+  {
+    Xalpha_s,                  TRUE,
+    EL_CHAR('S'),              -1, -1
+  },
+  {
+    Xalpha_t,                  TRUE,
+    EL_CHAR('T'),              -1, -1
+  },
+  {
+    Xalpha_u,                  TRUE,
+    EL_CHAR('U'),              -1, -1
+  },
+  {
+    Xalpha_v,                  TRUE,
+    EL_CHAR('V'),              -1, -1
+  },
+  {
+    Xalpha_w,                  TRUE,
+    EL_CHAR('W'),              -1, -1
+  },
+  {
+    Xalpha_x,                  TRUE,
+    EL_CHAR('X'),              -1, -1
+  },
+  {
+    Xalpha_y,                  TRUE,
+    EL_CHAR('Y'),              -1, -1
+  },
+  {
+    Xalpha_z,                  TRUE,
+    EL_CHAR('Z'),              -1, -1
+  },
+  {
+    Xalpha_arrow_e,            TRUE,
+    EL_CHAR('>'),              -1, -1
+  },
+  {
+    Xalpha_arrow_w,            TRUE,
+    EL_CHAR('<'),              -1, -1
+  },
+  {
+    Xalpha_copyr,              TRUE,
+    EL_CHAR('©'),              -1, -1
+  },
+
+  {
+    Zplayer,                   TRUE,
+    EL_PLAYER_1,               -1, -1
+  },
+
+  {
+    ZBORDER,                   TRUE,
+    EL_EMC_LEVEL_BORDER,       -1, -1
+  },
+
+  {
+    -1,                                FALSE,
+    -1,                                -1, -1
+  }
+};
+
+int map_element_RND_to_EM(int element_rnd)
+{
+  static unsigned short mapping_RND_to_EM[NUM_FILE_ELEMENTS];
+  static boolean mapping_initialized = FALSE;
+
+  if (!mapping_initialized)
+  {
+    int i;
+
+    /* return "Xalpha_quest" for all undefined elements in mapping array */
+    for (i = 0; i < NUM_FILE_ELEMENTS; i++)
+      mapping_RND_to_EM[i] = Xalpha_quest;
+
+    for (i = 0; mapping_EM_to_RND_list[i].element_em != -1; i++)
+      if (mapping_EM_to_RND_list[i].is_rnd_to_em_mapping)
+       mapping_RND_to_EM[mapping_EM_to_RND_list[i].element_rnd] =
+         mapping_EM_to_RND_list[i].element_em;
+
+    mapping_initialized = TRUE;
+  }
+
+  if (element_rnd >= 0 && element_rnd < NUM_FILE_ELEMENTS)
+    return mapping_RND_to_EM[element_rnd];
+
+  Error(ERR_WARN, "invalid RND level element %d", element_rnd);
+
+  return EL_UNKNOWN;
+}
+
+int map_element_EM_to_RND(int element_em)
+{
+  static unsigned short mapping_EM_to_RND[TILE_MAX];
+  static boolean mapping_initialized = FALSE;
+
+  if (!mapping_initialized)
+  {
+    int i;
+
+    /* return "EL_UNKNOWN" for all undefined elements in mapping array */
+    for (i = 0; i < TILE_MAX; i++)
+      mapping_EM_to_RND[i] = EL_UNKNOWN;
+
+    for (i = 0; mapping_EM_to_RND_list[i].element_em != -1; i++)
+      mapping_EM_to_RND[mapping_EM_to_RND_list[i].element_em] =
+       mapping_EM_to_RND_list[i].element_rnd;
+
+    mapping_initialized = TRUE;
+  }
+
+  if (element_em >= 0 && element_em < TILE_MAX)
+    return mapping_EM_to_RND[element_em];
+
+  Error(ERR_WARN, "invalid EM level element %d", element_em);
+
+  return EL_UNKNOWN;
+}
+
+#else
+
 int map_element_RND_to_EM(int element_rnd)
 {
   static unsigned short mapping_RND_to_EM[NUM_FILE_ELEMENTS];
@@ -2938,7 +4575,7 @@ int map_element_RND_to_EM(int element_rnd)
     { Xball_1,                 EL_EMC_GENERATOR_BALL           },
     { Xgrow_ns,                        EL_EMC_GROW                     },
     { Xwonderwall,             EL_MAGIC_WALL                   },
-    { Xameuba_1,               EL_AMOEBA_WET                   },
+    { Xamoeba_1,               EL_AMOEBA_WET                   },
     { Xdoor_1,                 EL_EM_GATE_1                    },
     { Xdoor_2,                 EL_EM_GATE_2                    },
     { Xdoor_3,                 EL_EM_GATE_3                    },
@@ -2972,7 +4609,7 @@ int map_element_RND_to_EM(int element_rnd)
     { Xsand_stone,             EL_QUICKSAND_FULL               },
     { Xplant,                  EL_EMC_PLANT                    },
     { Xlenses,                 EL_EMC_LENSES                   },
-    { Xmagnify,                        EL_EMC_MAGNIFY                  },
+    { Xmagnify,                        EL_EMC_MAGNIFIER                },
     { Xdripper,                        EL_UNKNOWN                      },
     { Xfake_blank,             EL_INVISIBLE_WALL               },
     { Xfake_grass,             EL_INVISIBLE_SAND               },
@@ -3340,14 +4977,14 @@ int map_element_EM_to_RND(int element_em)
     { Ygrow_ew_eat,            EL_EMC_GROW                     },
     { Xwonderwall,             EL_MAGIC_WALL                   },
     { XwonderwallB,            EL_MAGIC_WALL                   },
-    { Xameuba_1,               EL_AMOEBA_WET                   },
-    { Xameuba_2,               EL_AMOEBA_WET                   },
-    { Xameuba_3,               EL_AMOEBA_WET                   },
-    { Xameuba_4,               EL_AMOEBA_WET                   },
-    { Xameuba_5,               EL_AMOEBA_WET                   },
-    { Xameuba_6,               EL_AMOEBA_WET                   },
-    { Xameuba_7,               EL_AMOEBA_WET                   },
-    { Xameuba_8,               EL_AMOEBA_WET                   },
+    { Xamoeba_1,               EL_AMOEBA_WET                   },
+    { Xamoeba_2,               EL_AMOEBA_WET                   },
+    { Xamoeba_3,               EL_AMOEBA_WET                   },
+    { Xamoeba_4,               EL_AMOEBA_WET                   },
+    { Xamoeba_5,               EL_AMOEBA_WET                   },
+    { Xamoeba_6,               EL_AMOEBA_WET                   },
+    { Xamoeba_7,               EL_AMOEBA_WET                   },
+    { Xamoeba_8,               EL_AMOEBA_WET                   },
     { Xdoor_1,                 EL_EM_GATE_1                    },
     { Xdoor_2,                 EL_EM_GATE_2                    },
     { Xdoor_3,                 EL_EM_GATE_3                    },
@@ -3405,7 +5042,7 @@ int map_element_EM_to_RND(int element_em)
     { Xplant,                  EL_EMC_PLANT                    },
     { Yplant,                  EL_EMC_PLANT                    },
     { Xlenses,                 EL_EMC_LENSES                   },
-    { Xmagnify,                        EL_EMC_MAGNIFY                  },
+    { Xmagnify,                        EL_EMC_MAGNIFIER                },
     { Xdripper,                        EL_UNKNOWN                      },
     { XdripperB,               EL_UNKNOWN                      },
     { Xfake_blank,             EL_INVISIBLE_WALL               },
@@ -3521,6 +5158,8 @@ int map_element_EM_to_RND(int element_em)
   return EL_UNKNOWN;
 }
 
+#endif
+
 int get_next_element(int element)
 {
   switch(element)