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
{ ".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 }
};
{ "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 */
/* 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" },
{ "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 */
#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 */
-#define COMPILE_DATE_STRING "[2004-09-27 11:40]"
+#define COMPILE_DATE_STRING "[2004-09-27 19:23]"
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;
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;
src[2098] &= 7;
src[src[2098] << 8 | src[2099]] = 128;
- /* ameuba speed */
+ /* amoeba speed */
if ((src[2100] << 8 | src[2101]) > 9999)
{
src[2100] = 39;
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,
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];
{
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)
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);
/* ========================================================================= */
void game_initscreen(void);
void game_animscreen(void);
+void play_sound(int, int, int);
void sound_play(void);
int cave_convert(char *);
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
/* ---------------------------------------------------------------------- */
+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)
{
}
}
}
+#endif
+#endif
memset(play, 0, sizeof(play));
-#endif
}
/* 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 */
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,
/* 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 */
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 */
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];
#include "tile.h"
#include "level.h"
#include "sample.h"
+#include "display.h"
static void player(struct PLAYER *);
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;
}
if (++ply->dynamite_cnt == 5 && ply->dynamite)
{
Cave[y][x] = Xdynamite_1;
- play[SAMPLE_dynamite] = 1;
+ play_sound(x, y, SAMPLE_dynamite);
ply->dynamite--;
}
}
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;
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;
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;
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;
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;
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;
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;
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;
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;
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:
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;
}
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:
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;
}
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:
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;
}
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;
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:
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;
}
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:
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;
}
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:
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;
}
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
#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)
{
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;
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:
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:
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:
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;
case Xplant:
case Yplant:
Next[y][x] = Xstone;
- PLAY(SAMPLE_stone);
+ play_sound(x, y, SAMPLE_stone);
goto loop;
}
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:
}
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;
}
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:
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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])
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:
}
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:
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:
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;
}
}
Next[y][x] = temp; /* the item we chose to clone */
- play[SAMPLE_android] = 1;
+ play_sound(x, y, SAMPLE_android);
switch (RANDOM & 7)
{
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:
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:
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:
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:
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:
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:
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:
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;
/* --------------------------------------------------------------------- */
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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;
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;
}
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:
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:
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;
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;
}
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:
default:
Cave[y][x] = Xspring;
Next[y][x] = Xspring;
- PLAY(SAMPLE_spring);
+ play_sound(x, y, SAMPLE_spring);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
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:
default:
Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w;
- PLAY(SAMPLE_eater);
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
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:
default:
Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s;
- PLAY(SAMPLE_eater);
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
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:
default:
Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w;
- PLAY(SAMPLE_eater);
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play[SAMPLE_eater] = 1;
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
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:
default:
Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s;
- PLAY(SAMPLE_eater);
+ play_sound(x, y, SAMPLE_eater);
goto loop;
}
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:
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;
}
}
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:
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;
}
}
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:
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;
}
}
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:
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;
}
}
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:
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:
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:
}
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;
}
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:
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:
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:
}
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;
}
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:
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;
}
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:
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:
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:
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:
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:
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:
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:
ball_common:
- play[SAMPLE_ball] = 1;
+ play_sound(x, y, SAMPLE_ball);
if (lev.ball_random)
{
switch (RANDOM & 7)
{
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;
{
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;
if (lev.wonderwall_time && lev.wonderwall_state)
{
Cave[y][x] = XwonderwallB;
- play[SAMPLE_wonder] = 1;
+ play_sound(x, y, SAMPLE_wonder);
}
goto loop;
/* --------------------------------------------------------------------- */
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;
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:
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:
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);
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;
}
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
};
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,
/* 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];
{
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();
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,
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];
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 */
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 =
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);
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:");
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");
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:");
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);
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;
#endif
+ old_bitmap->width = new_bitmap->width;
old_bitmap->height = new_bitmap->height;
FreeBitmap(new_bitmap);
"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 */
#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
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];
{ 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 },
{ 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 },
{ 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 },
{ 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 },
return EL_UNKNOWN;
}
+#endif
+
int get_next_element(int element)
{
switch(element)