From: Holger Schemel Date: Mon, 27 Sep 2004 17:24:37 +0000 (+0200) Subject: rnd-20040927-2-src X-Git-Tag: 3.1.1^2~60 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;ds=sidebyside;h=9583e9c55b889974e0df9a8ca1930efdf29bda29;p=rocksndiamonds.git rnd-20040927-2-src --- diff --git a/src/conf_e2g.c b/src/conf_e2g.c index 48c44017..2c25c619 100644 --- a/src/conf_e2g.c +++ b/src/conf_e2g.c @@ -2565,6 +2565,66 @@ element_to_graphic[] = EL_TRIGGER_PLAYER, -1, -1, FALSE, IMG_TRIGGER_PLAYER }, + { + EL_BALLOON_SWITCH_NONE, -1, -1, FALSE, + IMG_BALLOON_SWITCH_NONE + }, + { + EL_EMC_ANDROID, -1, -1, FALSE, + IMG_EMC_ANDROID + }, + { + EL_EMC_GENERATOR_BALL, -1, -1, FALSE, + IMG_EMC_GENERATOR_BALL + }, + { + EL_EMC_GATE_5, -1, -1, FALSE, + IMG_EMC_GATE_5 + }, + { + EL_EMC_GATE_5_GRAY, -1, -1, FALSE, + IMG_EMC_GATE_5_GRAY + }, + { + EL_EMC_GATE_6, -1, -1, FALSE, + IMG_EMC_GATE_6 + }, + { + EL_EMC_GATE_6_GRAY, -1, -1, FALSE, + IMG_EMC_GATE_6_GRAY + }, + { + EL_EMC_GATE_7, -1, -1, FALSE, + IMG_EMC_GATE_7 + }, + { + EL_EMC_GATE_7_GRAY, -1, -1, FALSE, + IMG_EMC_GATE_7_GRAY + }, + { + EL_EMC_GATE_8, -1, -1, FALSE, + IMG_EMC_GATE_8 + }, + { + EL_EMC_GATE_8_GRAY, -1, -1, FALSE, + IMG_EMC_GATE_8_GRAY + }, + { + EL_EMC_KEY_5, -1, -1, FALSE, + IMG_EMC_KEY_5 + }, + { + EL_EMC_KEY_6, -1, -1, FALSE, + IMG_EMC_KEY_6 + }, + { + EL_EMC_KEY_7, -1, -1, FALSE, + IMG_EMC_KEY_7 + }, + { + EL_EMC_KEY_8, -1, -1, FALSE, + IMG_EMC_KEY_8 + }, { EL_BD_BUTTERFLY_DOWN, -1, -1, FALSE, IMG_BD_BUTTERFLY diff --git a/src/conf_gfx.c b/src/conf_gfx.c index 59926438..80872f45 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -52,7 +52,7 @@ struct ConfigTypeInfo image_config_suffix[] = { ".post_delay_fixed", ARG_UNDEFINED, TYPE_INTEGER }, { ".post_delay_random", ARG_UNDEFINED, TYPE_INTEGER }, { ".name", ARG_UNDEFINED, TYPE_STRING }, - { ".scale_up", ARG_UNDEFINED, TYPE_INTEGER }, + { ".scale_up_factor", ARG_UNDEFINED, TYPE_INTEGER }, { NULL, NULL, 0 } }; @@ -3217,6 +3217,86 @@ struct ConfigInfo image_config[] = { "trigger_player.ypos", "13" }, { "trigger_player.frames", "1" }, + { "balloon_switch_none", "emc_object.pcx" }, + { "balloon_switch_none.xpos", "24" }, + { "balloon_switch_none.ypos", "23" }, + { "balloon_switch_none.frames", "1" }, + { "balloon_switch_none.scale_up_factor", "2" }, + + { "emc_android", "emc_object.pcx" }, + { "emc_android.xpos", "7" }, + { "emc_android.ypos", "13" }, + { "emc_android.frames", "1" }, + { "emc_android.scale_up_factor", "2" }, + + { "emc_generator_ball", "emc_object.pcx" }, + { "emc_generator_ball.xpos", "22" }, + { "emc_generator_ball.ypos", "18" }, + { "emc_generator_ball.frames", "1" }, + { "emc_generator_ball.scale_up_factor", "2" }, + + { "emc_gate_5", "emc_object.pcx" }, + { "emc_gate_5.xpos", "24" }, + { "emc_gate_5.ypos", "6" }, + { "emc_gate_5.frames", "1" }, + { "emc_gate_5.scale_up_factor", "2" }, + { "emc_gate_5_gray", "emc_object.pcx" }, + { "emc_gate_5_gray.xpos", "25" }, + { "emc_gate_5_gray.ypos", "18" }, + { "emc_gate_5_gray.frames", "1" }, + { "emc_gate_5_gray.scale_up_factor", "2" }, + { "emc_gate_6", "emc_object.pcx" }, + { "emc_gate_6.xpos", "24" }, + { "emc_gate_6.ypos", "7" }, + { "emc_gate_6.frames", "1" }, + { "emc_gate_6.scale_up_factor", "2" }, + { "emc_gate_6_gray", "emc_object.pcx" }, + { "emc_gate_6_gray.xpos", "25" }, + { "emc_gate_6_gray.ypos", "18" }, + { "emc_gate_6_gray.frames", "1" }, + { "emc_gate_6_gray.scale_up_factor", "2" }, + { "emc_gate_7", "emc_object.pcx" }, + { "emc_gate_7.xpos", "24" }, + { "emc_gate_7.ypos", "8" }, + { "emc_gate_7.frames", "1" }, + { "emc_gate_7.scale_up_factor", "2" }, + { "emc_gate_7_gray", "emc_object.pcx" }, + { "emc_gate_7_gray.xpos", "25" }, + { "emc_gate_7_gray.ypos", "18" }, + { "emc_gate_7_gray.frames", "1" }, + { "emc_gate_7_gray.scale_up_factor", "2" }, + { "emc_gate_8", "emc_object.pcx" }, + { "emc_gate_8.xpos", "24" }, + { "emc_gate_8.ypos", "9" }, + { "emc_gate_8.frames", "1" }, + { "emc_gate_8.scale_up_factor", "2" }, + { "emc_gate_8_gray", "emc_object.pcx" }, + { "emc_gate_8_gray.xpos", "25" }, + { "emc_gate_8_gray.ypos", "18" }, + { "emc_gate_8_gray.frames", "1" }, + { "emc_gate_8_gray.scale_up_factor", "2" }, + + { "emc_key_5", "emc_object.pcx" }, + { "emc_key_5.xpos", "24" }, + { "emc_key_5.ypos", "14" }, + { "emc_key_5.frames", "1" }, + { "emc_key_5.scale_up_factor", "2" }, + { "emc_key_6", "emc_object.pcx" }, + { "emc_key_6.xpos", "24" }, + { "emc_key_6.ypos", "15" }, + { "emc_key_6.frames", "1" }, + { "emc_key_6.scale_up_factor", "2" }, + { "emc_key_7", "emc_object.pcx" }, + { "emc_key_7.xpos", "24" }, + { "emc_key_7.ypos", "16" }, + { "emc_key_7.frames", "1" }, + { "emc_key_7.scale_up_factor", "2" }, + { "emc_key_8", "emc_object.pcx" }, + { "emc_key_8.xpos", "24" }, + { "emc_key_8.ypos", "17" }, + { "emc_key_8.frames", "1" }, + { "emc_key_8.scale_up_factor", "2" }, + #include "conf_chr.c" /* include auto-generated data structure definitions */ #include "conf_cus.c" /* include auto-generated data structure definitions */ #include "conf_grp.c" /* include auto-generated data structure definitions */ @@ -3224,6 +3304,14 @@ struct ConfigInfo image_config[] = /* images not associated to game elements (used for menu screens etc.) */ /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */ + /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */ + + { "emc_object", "emc_object.pcx" }, + { "emc_object.scale_up_factor", "2" }, + + { "emc_sprite", "emc_sprite.pcx" }, + { "emc_sprite.scale_up_factor", "2" }, + { "toon_1", "RocksToons.pcx" }, { "toon_1.x", "2" }, { "toon_1.y", "72" }, @@ -3769,14 +3857,6 @@ struct ConfigInfo image_config[] = { "background.SETUP", UNDEFINED_FILENAME }, { "background.DOOR", UNDEFINED_FILENAME }, - /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */ - - { "emc_object", "emc_object.pcx" }, - { "emc_object.scale_up", "2" }, - - { "emc_sprite", "emc_sprite.pcx" }, - { "emc_sprite.scale_up", "2" }, - /* the following directives are not associated with an image, but probably make sense to be defined in "graphicsinfo.conf", too */ diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 78930f59..84fb794b 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -674,755 +674,770 @@ #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 */ diff --git a/src/conftime.h b/src/conftime.h index 25acf4e3..c06a7d10 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-09-27 11:40]" +#define COMPILE_DATE_STRING "[2004-09-27 19:23]" diff --git a/src/files.c b/src/files.c index 5a5bf640..08785811 100644 --- a/src/files.c +++ b/src/files.c @@ -1797,7 +1797,7 @@ void CopyNativeLevel_RND_to_EM(struct LevelInfo *level) lev->eater_array[i][y * 3 + x] = map_element_RND_to_EM(level->yamyam_content[i][x][y]); - lev->ameuba_time = level->amoeba_speed; + lev->amoeba_time = level->amoeba_speed; lev->wonderwall_time_initial = level->time_magic_wall; lev->wheel_time = level->time_wheel; @@ -1870,7 +1870,7 @@ void CopyNativeLevel_EM_to_RND(struct LevelInfo *level) level->yamyam_content[i][x][y] = map_element_EM_to_RND(lev->eater_array[i][y * 3 + x]); - level->amoeba_speed = lev->ameuba_time; + level->amoeba_speed = lev->amoeba_time; level->time_magic_wall = lev->wonderwall_time_initial; level->time_wheel = lev->wheel_time; diff --git a/src/game_em/convert.c b/src/game_em/convert.c index 245922f7..2672054f 100644 --- a/src/game_em/convert.c +++ b/src/game_em/convert.c @@ -244,7 +244,7 @@ boolean cleanup_em_level(unsigned char *src, int *length) src[2098] &= 7; src[src[2098] << 8 | src[2099]] = 128; - /* ameuba speed */ + /* amoeba speed */ if ((src[2100] << 8 | src[2101]) > 9999) { src[2100] = 39; @@ -406,7 +406,7 @@ static unsigned short remap_emerald[256] = Xblank, Xround_wall_1, Xgrass, Xsteel_1, Xwall_1, Xkey_1, Xkey_2, Xkey_3, Xkey_4, Xdoor_1, Xdoor_2, Xdoor_3, Xdoor_4, Xdripper, Xfake_door_1, Xfake_door_2, Xfake_door_3, Xfake_door_4, Xwonderwall, Xwheel, Xsand, Xacid_nw, Xacid_ne, Xacid_sw, - Xacid_se, Xfake_blank, Xameuba_1, Xameuba_2, Xameuba_3, Xameuba_4, Xexit, Xalpha_arrow_w, + Xacid_se, Xfake_blank, Xamoeba_1, Xamoeba_2, Xamoeba_3, Xamoeba_4, Xexit, Xalpha_arrow_w, Xfake_grass, Xlenses, Xmagnify, Xfake_blank, Xfake_grass, Xswitch, Xswitch, Xblank, Xdecor_8, Xdecor_9, Xdecor_10, Xdecor_5, Xalpha_comma, Xalpha_quote, Xalpha_minus, Xdynamite, Xsteel_3, Xdecor_6, Xdecor_7, Xsteel_2, Xround_wall_2, Xdecor_2, Xdecor_4, Xdecor_3, @@ -441,7 +441,7 @@ void convert_em_level(unsigned char *src) temp = (src[0x834] << 8 | src[0x835]) * 28; if (temp > 9999) temp = 9999; - lev.ameuba_time = temp; + lev.amoeba_time = temp; lev.android_move_time = src[0x874] << 8 | src[0x875]; lev.android_clone_time = src[0x876] << 8 | src[0x877]; @@ -675,14 +675,14 @@ void convert_em_level(unsigned char *src) { lev.android_array[Xdripper] = lev.android_array[XdripperB] = - lev.android_array[Xameuba_1] = - lev.android_array[Xameuba_2] = - lev.android_array[Xameuba_3] = - lev.android_array[Xameuba_4] = - lev.android_array[Xameuba_5] = - lev.android_array[Xameuba_6] = - lev.android_array[Xameuba_7] = - lev.android_array[Xameuba_8] = Xdrip_eat; + lev.android_array[Xamoeba_1] = + lev.android_array[Xamoeba_2] = + lev.android_array[Xamoeba_3] = + lev.android_array[Xamoeba_4] = + lev.android_array[Xamoeba_5] = + lev.android_array[Xamoeba_6] = + lev.android_array[Xamoeba_7] = + lev.android_array[Xamoeba_8] = Xdrip_eat; } if (temp & 4096) diff --git a/src/game_em/game_em.h b/src/game_em/game_em.h index 14400ffc..cd1ddf3e 100644 --- a/src/game_em/game_em.h +++ b/src/game_em/game_em.h @@ -26,6 +26,7 @@ extern void SetBitmaps_EM(Bitmap **); extern void DrawGameDoorValues_EM(int, int, int, int); extern int getGameFrameDelay_EM(int); +extern void PlayLevelSound_EM(int, int, int, int); /* ========================================================================= */ diff --git a/src/game_em/global.h b/src/game_em/global.h index 2f53c3bc..bf4d26ed 100644 --- a/src/game_em/global.h +++ b/src/game_em/global.h @@ -31,6 +31,7 @@ void blitscreen(void); void game_initscreen(void); void game_animscreen(void); +void play_sound(int, int, int); void sound_play(void); int cave_convert(char *); diff --git a/src/game_em/init.c b/src/game_em/init.c index b7febbb8..7f775a05 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -42,19 +42,70 @@ long sound_length[SAMPLE_MAX]; /* length of sound data */ static const char *sound_names[SAMPLE_MAX] = { - "00.blank.au","01.roll.au","02.stone.au","03.nut.au","04.crack.au", - "05.bug.au","06.tank.au","07.android.au","08.spring.au","09.slurp.au", - "10.eater.au","11.alien.au","12.collect.au","13.diamond.au","14.squash.au", - "15.drip.au","16.push.au","17.dirt.au","18.acid.au","19.ball.au", - "20.grow.au","21.wonder.au","22.door.au","23.exit.au","24.dynamite.au", - "25.tick.au","26.press.au","27.wheel.au","28.boom.au","29.time.au", + "00.blank.au", + "01.roll.au", + "02.stone.au", + "03.nut.au", + "04.crack.au", + "05.bug.au", + "06.tank.au", + "07.android.au", + "08.spring.au", + "09.slurp.au", + "10.eater.au", + "11.alien.au", + "12.collect.au", + "13.diamond.au", + "14.squash.au", + "15.drip.au", + "16.push.au", + "17.dirt.au", + "18.acid.au", + "19.ball.au", + "20.grow.au", + "21.wonder.au", + "22.door.au", + "23.exit.au", + "24.dynamite.au", + "25.tick.au", + "26.press.au", + "27.wheel.au", + "28.boom.au", + "29.time.au", "30.die.au" }; static const int sound_volume[SAMPLE_MAX] = { - 20,100,100,100,100,20,20,100,100,100, - 50,100,100,100,100,100,100,100,100,100, - 100,20,100,100,100,100,100,20,100,100, + 20, + 100, + 100, + 100, + 100, + 20, + 20, + 100, + 100, + 100, + 50, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 20, + 100, + 100, + 100, + 100, + 100, + 20, + 100, + 100, 100 }; #endif @@ -220,8 +271,39 @@ void em_close_all(void) /* ---------------------------------------------------------------------- */ +extern unsigned int screen_x; +extern unsigned int screen_y; + +void play_sound(int x, int y, int sample) +{ + unsigned int left = screen_x / TILEX; + unsigned int top = screen_y / TILEY; + +#if 0 + if (x == -1 && y == -1) /* play sound in the middle of the screen */ + play[sample] = 0xffff; + else if ((unsigned int)(y - top) <= SCR_FIELDY && + (unsigned int)(x - left) <= SCR_FIELDX) + play[sample] = (y << 8) | (x & 0xff); +#else + if ((x == -1 && y == -1) || /* play sound in the middle of the screen */ + ((unsigned int)(y - top) <= SCR_FIELDY && + (unsigned int)(x - left) <= SCR_FIELDX)) + play[sample] = 1; +#endif +} + void sound_play(void) { +#if 0 + int i; + + for (i = 0; i < SAMPLE_MAX; i++) + if (play[i]) + PlayLevelSound_EM(0,0,0,0); + +#else + #if defined(AUDIO_UNIX_NATIVE) if (sound_pipe[1] != -1) { @@ -242,7 +324,8 @@ void sound_play(void) } } } +#endif +#endif memset(play, 0, sizeof(play)); -#endif } diff --git a/src/game_em/level.h b/src/game_em/level.h index b2e4b3c1..462be29b 100644 --- a/src/game_em/level.h +++ b/src/game_em/level.h @@ -22,7 +22,7 @@ struct LEVEL /* fill in all below /every/ time you read a level */ unsigned int alien_score; /* alien popped by stone/spring score */ - unsigned int ameuba_time; /* ameuba speed */ + unsigned int amoeba_time; /* amoeba speed */ unsigned int android_move_cnt; /* android move time counter */ unsigned int android_move_time; /* android move reset time */ unsigned int android_clone_cnt; /* android clone time counter */ diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index 0824083f..e1173bcb 100644 --- a/src/game_em/main_em.h +++ b/src/game_em/main_em.h @@ -252,14 +252,14 @@ enum Ygrow_ew_eat, Xwonderwall, XwonderwallB, - Xameuba_1, - Xameuba_2, - Xameuba_3, - Xameuba_4, - Xameuba_5, - Xameuba_6, - Xameuba_7, - Xameuba_8, + Xamoeba_1, + Xamoeba_2, + Xamoeba_3, + Xamoeba_4, + Xamoeba_5, + Xamoeba_6, + Xamoeba_7, + Xamoeba_8, Xdoor_1, Xdoor_2, Xdoor_3, @@ -441,7 +441,7 @@ struct LEVEL /* fill in all below /every/ time you read a level */ unsigned int alien_score; /* alien popped by stone/spring score */ - unsigned int ameuba_time; /* ameuba speed */ + unsigned int amoeba_time; /* amoeba speed */ unsigned int android_move_cnt_initial; /* android move time counter (initial) */ unsigned int android_move_cnt; /* android move time counter */ unsigned int android_move_time; /* android move reset time */ diff --git a/src/game_em/sample.h b/src/game_em/sample.h index 91ff0453..e6bfa369 100644 --- a/src/game_em/sample.h +++ b/src/game_em/sample.h @@ -15,9 +15,9 @@ enum SAMPLE_slurp, /* spring kills alien */ SAMPLE_eater, /* eater sits/eats diamond */ SAMPLE_alien, /* alien moves */ - SAMPLE_collect, /* player collects diamond/emerald/dynamite/key/lenses/magnify */ + SAMPLE_collect, /* player collects object */ SAMPLE_diamond, /* diamond/emerald hits ground */ - SAMPLE_squash, /* stone squashes diamond, stone/emerald/diamond thru wonderwall */ + SAMPLE_squash, /* stone squashes diamond; object falls thru wonderwall */ SAMPLE_drip, /* drip hits ground */ SAMPLE_push, /* player pushes spring/balloon/android */ SAMPLE_dirt, /* player walks on dirt */ @@ -34,9 +34,12 @@ enum SAMPLE_boom, /* explosion */ SAMPLE_time, /* time runs out */ SAMPLE_die, /* player dies */ + SAMPLE_MAX }; +extern void play_sound(int, int, int); + extern char play[SAMPLE_MAX]; extern int sound_pipe[2]; extern short *sound_data[SAMPLE_MAX]; diff --git a/src/game_em/synchro_1.c b/src/game_em/synchro_1.c index 695d52f3..e83a38f7 100644 --- a/src/game_em/synchro_1.c +++ b/src/game_em/synchro_1.c @@ -8,6 +8,7 @@ #include "tile.h" #include "level.h" #include "sample.h" +#include "display.h" static void player(struct PLAYER *); @@ -298,11 +299,11 @@ static void die(struct PLAYER *ply) case Xexit_1: case Xexit_2: case Xexit_3: - play[SAMPLE_exit] = 1; + play_sound(x, y, SAMPLE_exit); break; default: - play[SAMPLE_die] = 1; + play_sound(x, y, SAMPLE_die); break; } @@ -389,7 +390,7 @@ static void player(struct PLAYER *ply) if (++ply->dynamite_cnt == 5 && ply->dynamite) { Cave[y][x] = Xdynamite_1; - play[SAMPLE_dynamite] = 1; + play_sound(x, y, SAMPLE_dynamite); ply->dynamite--; } } @@ -417,7 +418,7 @@ static void player(struct PLAYER *ply) case Yacid_splash_wB: Cave[y][x] = Zplayer; Next[y][x] = Zplayer; - play[SAMPLE_blank] = 1; + play_sound(x, y, SAMPLE_blank); ply->anim = SPR_walk + anim; ply->x = x; ply->y = y; @@ -458,7 +459,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = (dy ? (dy < 0 ? Ygrass_nB : Ygrass_sB) : (dx > 0 ? Ygrass_eB : Ygrass_wB)); Next[y][x] = Zplayer; - play[SAMPLE_dirt] = 1; + play_sound(x, y, SAMPLE_dirt); ply->anim = SPR_walk + anim; ply->x = x; ply->y = y; @@ -468,7 +469,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = (dy ? (dy < 0 ? Ydirt_nB : Ydirt_sB) : (dx > 0 ? Ydirt_eB : Ydirt_wB)); Next[y][x] = Zplayer; - play[SAMPLE_dirt] = 1; + play_sound(x, y, SAMPLE_dirt); ply->anim = SPR_walk + anim; ply->x = x; ply->y = y; @@ -478,7 +479,7 @@ static void player(struct PLAYER *ply) case Xdiamond_pause: Cave[y][x] = Ydiamond_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.diamond_score; lev.required = lev.required < 3 ? 0 : lev.required - 3; ply->anim = SPR_walk + anim; @@ -490,7 +491,7 @@ static void player(struct PLAYER *ply) case Xemerald_pause: Cave[y][x] = Yemerald_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.emerald_score; lev.required = lev.required < 1 ? 0 : lev.required - 1; ply->anim = SPR_walk + anim; @@ -501,7 +502,7 @@ static void player(struct PLAYER *ply) case Xdynamite: Cave[y][x] = Ydynamite_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.dynamite_score; ply->dynamite = ply->dynamite > 9998 ? 9999 : ply->dynamite + 1; ply->anim = SPR_walk + anim; @@ -545,7 +546,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = Yball_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.key_score; ply->anim = SPR_walk + anim; ply->x = x; @@ -555,7 +556,7 @@ static void player(struct PLAYER *ply) case Xlenses: Cave[y][x] = Yball_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.lenses_score; lev.lenses_cnt = lev.lenses_time; ply->anim = SPR_walk + anim; @@ -566,7 +567,7 @@ static void player(struct PLAYER *ply) case Xmagnify: Cave[y][x] = Yball_eat; Next[y][x] = Zplayer; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.magnify_score; lev.magnify_cnt = lev.magnify_time; ply->anim = SPR_walk + anim; @@ -592,7 +593,7 @@ static void player(struct PLAYER *ply) Cave[y-1][x+dx+1] = Yacid_splash_eB; if (Cave[y-1][x+dx-1] == Xblank) Cave[y-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto stone_walk; case Xblank: @@ -605,7 +606,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = dx > 0 ? Ystone_eB : Ystone_wB; Next[y][x] = Zplayer; - play[SAMPLE_roll] = 1; + play_sound(x, y, SAMPLE_roll); ply->x = x; } @@ -630,7 +631,7 @@ static void player(struct PLAYER *ply) Cave[y-1][x+dx+1] = Yacid_splash_eB; if (Cave[y-1][x+dx-1] == Xblank) Cave[y-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto bomb_walk; case Xblank: @@ -643,7 +644,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = dx > 0 ? Ybomb_eB : Ybomb_wB; Next[y][x] = Zplayer; - play[SAMPLE_roll] = 1; + play_sound(x, y, SAMPLE_roll); ply->x = x; } @@ -668,7 +669,7 @@ static void player(struct PLAYER *ply) Cave[y-1][x+dx+1] = Yacid_splash_eB; if (Cave[y-1][x+dx-1] == Xblank) Cave[y-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto nut_walk; case Xblank: @@ -681,7 +682,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = dx > 0 ? Ynut_eB : Ynut_wB; Next[y][x] = Zplayer; - play[SAMPLE_roll] = 1; + play_sound(x, y, SAMPLE_roll); ply->x = x; } @@ -700,7 +701,7 @@ static void player(struct PLAYER *ply) Cave[y][x+dx] = dx > 0 ? Yspring_kill_e : Yspring_kill_w; Next[y][x] = Zplayer; Next[y][x+dx] = dx > 0 ? Xspring_e : Xspring_w; - play[SAMPLE_slurp] = 1; + play_sound(x, y, SAMPLE_slurp); lev.score += lev.slurp_score; ply->x = x; break; @@ -717,7 +718,7 @@ static void player(struct PLAYER *ply) Cave[y-1][x+dx+1] = Yacid_splash_eB; if (Cave[y-1][x+dx-1] == Xblank) Cave[y-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto spring_walk; case Xblank: @@ -729,7 +730,7 @@ static void player(struct PLAYER *ply) spring_walk: Cave[y][x] = dx > 0 ? Yspring_eB : Yspring_wB; Next[y][x] = Zplayer; - play[SAMPLE_roll] = 1; + play_sound(x, y, SAMPLE_roll); ply->x = x; } @@ -765,7 +766,7 @@ static void player(struct PLAYER *ply) Cave[y+dy-1][x+dx+1] = Yacid_splash_eB; if (Cave[y+dy-1][x+dx-1] == Xblank) Cave[y+dy-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto balloon_walk; case Xblank: @@ -779,7 +780,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = (dy ? (dy < 0 ? Yballoon_nB : Yballoon_sB) : (dx > 0 ? Yballoon_eB : Yballoon_wB)); Next[y][x] = Zplayer; - play[SAMPLE_push] = 1; + play_sound(x, y, SAMPLE_push); ply->x = x; ply->y = y; } @@ -810,7 +811,7 @@ static void player(struct PLAYER *ply) Cave[y+dy-1][x+dx+1] = Yacid_splash_eB; if (Cave[y+dy-1][x+dx-1] == Xblank) Cave[y+dy-1][x+dx-1] = Yacid_splash_wB; - play[SAMPLE_acid] = 1; + play_sound(x, y, SAMPLE_acid); goto android_walk; case Xblank: @@ -825,7 +826,7 @@ static void player(struct PLAYER *ply) Cave[y][x] = (dy ? (dy < 0 ? Yandroid_nB : Yandroid_sB) : (dx > 0 ? Yandroid_eB : Yandroid_wB)); Next[y][x] = Zplayer; - play[SAMPLE_push] = 1; + play_sound(x, y, SAMPLE_push); ply->x = x; ply->y = y; } @@ -895,14 +896,14 @@ static void player(struct PLAYER *ply) Cave[y+dy][x+dx] = Zplayer; Next[y+dy][x+dx] = Zplayer; - play[SAMPLE_door] = 1; + play_sound(x, y, SAMPLE_door); ply->anim = SPR_walk + anim; ply->x = x + dx; ply->y = y + dy; break; case Xwheel: - play[SAMPLE_press] = 1; + play_sound(x, y, SAMPLE_press); lev.wheel_cnt = lev.wheel_time; lev.wheel_x = x; lev.wheel_y = y; @@ -929,17 +930,17 @@ static void player(struct PLAYER *ply) goto wind_walk; wind_walk: - play[SAMPLE_press] = 1; + play_sound(x, y, SAMPLE_press); lev.wind_cnt = lev.wind_time; break; case Xwind_stop: - play[SAMPLE_press] = 1; + play_sound(x, y, SAMPLE_press); lev.wind_cnt = 0; break; case Xswitch: - play[SAMPLE_press] = 1; + play_sound(x, y, SAMPLE_press); lev.ball_cnt = lev.ball_time; lev.ball_state = !lev.ball_state; break; @@ -947,7 +948,7 @@ static void player(struct PLAYER *ply) case Xplant: Cave[y][x] = Yplant; Next[y][x] = Xplant; - play[SAMPLE_blank] = 1; + play_sound(x, y, SAMPLE_blank); ply->anim = SPR_walk + anim; ply->x = x; ply->y = y; @@ -956,7 +957,7 @@ static void player(struct PLAYER *ply) case Xexit_1: case Xexit_2: case Xexit_3: - play[SAMPLE_exit] = 1; + play_sound(x, y, SAMPLE_exit); if (--lev.home == 0) lev.score += lev.time * lev.exit_score / 100; ply->anim = SPR_walk + anim; @@ -975,7 +976,7 @@ static void player(struct PLAYER *ply) case Xdirt: Cave[y][x] = Yball_eat; Next[y][x] = Xblank; - play[SAMPLE_dirt] = 1; + play_sound(x, y, SAMPLE_dirt); ply->anim = SPR_spray + anim; break; @@ -983,7 +984,7 @@ static void player(struct PLAYER *ply) case Xdiamond_pause: Cave[y][x] = Ydiamond_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.diamond_score; lev.required = lev.required < 3 ? 0 : lev.required - 3; ply->anim = SPR_walk + anim; @@ -993,7 +994,7 @@ static void player(struct PLAYER *ply) case Xemerald_pause: Cave[y][x] = Yemerald_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.emerald_score; lev.required = lev.required < 1 ? 0 : lev.required - 1; ply->anim = SPR_walk + anim; @@ -1002,7 +1003,7 @@ static void player(struct PLAYER *ply) case Xdynamite: Cave[y][x] = Ydynamite_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.dynamite_score; ply->dynamite = ply->dynamite > 9998 ? 9999 : ply->dynamite + 1; ply->anim = SPR_walk + anim; @@ -1043,7 +1044,7 @@ static void player(struct PLAYER *ply) key_shoot: Cave[y][x] = Yball_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.key_score; ply->anim = SPR_walk + anim; break; @@ -1051,7 +1052,7 @@ static void player(struct PLAYER *ply) case Xlenses: Cave[y][x] = Yball_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.lenses_score; lev.lenses_cnt = lev.lenses_time; ply->anim = SPR_walk + anim; @@ -1060,7 +1061,7 @@ static void player(struct PLAYER *ply) case Xmagnify: Cave[y][x] = Yball_eat; Next[y][x] = Xblank; - play[SAMPLE_collect] = 1; + play_sound(x, y, SAMPLE_collect); lev.score += lev.magnify_score; lev.magnify_cnt = lev.magnify_time; ply->anim = SPR_walk + anim; diff --git a/src/game_em/synchro_2.c b/src/game_em/synchro_2.c index 68567235..c8a50916 100644 --- a/src/game_em/synchro_2.c +++ b/src/game_em/synchro_2.c @@ -15,10 +15,6 @@ #define RANDOM (random = random << 31 | random >> 1) -#define PLAY(sample) { if ((unsigned int)(y - top) <= 12 && (unsigned int)(x - left) <= 20) play[sample] = 1; } - -extern unsigned int screen_x; -extern unsigned int screen_y; void synchro_2(void) { @@ -29,8 +25,6 @@ void synchro_2(void) unsigned long score = 0; unsigned int temp = 0; /* initialized to make compilers happy */ - unsigned int left = screen_x / TILEX; /* only needed for sounds */ - unsigned int top = screen_y / TILEY; unsigned int dx; /* only needed to find closest player */ unsigned int dy; @@ -351,7 +345,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -482,7 +476,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -519,7 +513,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -537,7 +531,7 @@ void synchro_2(void) Cave[y+1][x] = Yemerald_stone; Next[y][x] = Xstone; Next[y+1][x] = Xemerald; - play[SAMPLE_crack] = 1; + play_sound(x, y, SAMPLE_crack); score += lev.nut_score; goto loop; @@ -713,7 +707,7 @@ void synchro_2(void) case Xplant: case Yplant: Next[y][x] = Xstone; - PLAY(SAMPLE_stone); + play_sound(x, y, SAMPLE_stone); goto loop; } @@ -721,7 +715,7 @@ void synchro_2(void) Cave[y+1][x] = Ydiamond_stone; Next[y][x] = Xblank; Next[y+1][x] = Xstone_pause; - play[SAMPLE_squash] = 1; + play_sound(x, y, SAMPLE_squash); goto loop; case Xbomb: @@ -752,14 +746,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play[SAMPLE_squash] = 1; + play_sound(x, y, SAMPLE_squash); goto loop; } default: Cave[y][x] = Xstone; Next[y][x] = Xstone; - PLAY(SAMPLE_stone); + play_sound(x, y, SAMPLE_stone); goto loop; } @@ -782,7 +776,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -903,7 +897,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -940,7 +934,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -956,17 +950,17 @@ void synchro_2(void) default: Cave[y][x] = Xnut; Next[y][x] = Xnut; - PLAY(SAMPLE_nut); + play_sound(x, y, SAMPLE_nut); goto loop; } /* --------------------------------------------------------------------- */ case Xbug_n: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; switch (Cave[y][x+1]) @@ -987,7 +981,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ybug_n_e; Next[y][x] = Xbug_goe; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: @@ -995,10 +989,10 @@ void synchro_2(void) } case Xbug_gon: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; bug_gon: @@ -1019,7 +1013,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1032,23 +1026,23 @@ void synchro_2(void) Cave[y-1][x] = Ybug_n; Next[y][x] = Xblank; Next[y-1][x] = Xbug_n; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: Cave[y][x] = Ybug_n_w; Next[y][x] = Xbug_gow; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; } /* --------------------------------------------------------------------- */ case Xbug_e: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; switch (Cave[y+1][x]) @@ -1069,7 +1063,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ybug_e_s; Next[y][x] = Xbug_gos; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: @@ -1077,10 +1071,10 @@ void synchro_2(void) } case Xbug_goe: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; bug_goe: @@ -1101,7 +1095,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1114,23 +1108,23 @@ void synchro_2(void) Cave[y][x+1] = Ybug_e; Next[y][x] = Xblank; Next[y][x+1] = Xbug_e; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: Cave[y][x] = Ybug_e_n; Next[y][x] = Xbug_gon; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; } /* --------------------------------------------------------------------- */ case Xbug_s: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; switch (Cave[y][x-1]) @@ -1151,7 +1145,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ybug_s_w; Next[y][x] = Xbug_gow; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: @@ -1159,10 +1153,10 @@ void synchro_2(void) } case Xbug_gos: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; bug_gos: @@ -1183,7 +1177,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1196,23 +1190,23 @@ void synchro_2(void) Cave[y+1][x] = Ybug_s; Next[y][x] = Xblank; Next[y+1][x] = Xbug_s; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: Cave[y][x] = Ybug_s_e; Next[y][x] = Xbug_goe; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; } /* --------------------------------------------------------------------- */ case Xbug_w: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; switch (Cave[y-1][x]) @@ -1233,7 +1227,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ybug_w_n; Next[y][x] = Xbug_gon; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: @@ -1241,10 +1235,10 @@ void synchro_2(void) } case Xbug_gow: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto bug_boom; bug_gow: @@ -1265,7 +1259,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1278,23 +1272,23 @@ void synchro_2(void) Cave[y][x-1] = Ybug_w; Next[y][x] = Xblank; Next[y][x-1] = Xbug_w; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; default: Cave[y][x] = Ybug_w_s; Next[y][x] = Xbug_gos; - PLAY(SAMPLE_bug); + play_sound(x, y, SAMPLE_bug); goto loop; } /* --------------------------------------------------------------------- */ case Xtank_n: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; switch (Cave[y][x-1]) @@ -1315,7 +1309,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ytank_n_w; Next[y][x] = Xtank_gow; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -1323,10 +1317,10 @@ void synchro_2(void) } case Xtank_gon: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; tank_gon: @@ -1347,7 +1341,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1360,23 +1354,23 @@ void synchro_2(void) Cave[y-1][x] = Ytank_n; Next[y][x] = Xblank; Next[y-1][x] = Xtank_n; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: Cave[y][x] = Ytank_n_e; Next[y][x] = Xtank_goe; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; } /* --------------------------------------------------------------------- */ case Xtank_e: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; switch (Cave[y-1][x]) @@ -1397,7 +1391,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ytank_e_n; Next[y][x] = Xtank_gon; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -1405,10 +1399,10 @@ void synchro_2(void) } case Xtank_goe: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; tank_goe: @@ -1429,7 +1423,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1442,23 +1436,23 @@ void synchro_2(void) Cave[y][x+1] = Ytank_e; Next[y][x] = Xblank; Next[y][x+1] = Xtank_e; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: Cave[y][x] = Ytank_e_s; Next[y][x] = Xtank_gos; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; } /* --------------------------------------------------------------------- */ case Xtank_s: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; switch (Cave[y][x+1]) @@ -1479,7 +1473,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ytank_s_e; Next[y][x] = Xtank_goe; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -1487,10 +1481,10 @@ void synchro_2(void) } case Xtank_gos: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; tank_gos: @@ -1511,7 +1505,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1524,23 +1518,23 @@ void synchro_2(void) Cave[y+1][x] = Ytank_s; Next[y][x] = Xblank; Next[y+1][x] = Xtank_s; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: Cave[y][x] = Ytank_s_w; Next[y][x] = Xtank_gow; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; } /* --------------------------------------------------------------------- */ case Xtank_w: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; switch (Cave[y+1][x]) @@ -1561,7 +1555,7 @@ void synchro_2(void) case Zplayer: Cave[y][x] = Ytank_w_s; Next[y][x] = Xtank_gos; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -1569,10 +1563,10 @@ void synchro_2(void) } case Xtank_gow: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) goto tank_boom; tank_gow: @@ -1593,7 +1587,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -1606,13 +1600,13 @@ void synchro_2(void) Cave[y][x-1] = Ytank_w; Next[y][x] = Xblank; Next[y][x-1] = Xtank_w; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: Cave[y][x] = Ytank_w_n; Next[y][x] = Xtank_gon; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; } @@ -1728,7 +1722,7 @@ void synchro_2(void) } Next[y][x] = temp; /* the item we chose to clone */ - play[SAMPLE_android] = 1; + play_sound(x, y, SAMPLE_android); switch (RANDOM & 7) { @@ -2000,7 +1994,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_nB; Cave[y-1][x] = Yandroid_n; Next[y-1][x] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_ne: @@ -2008,7 +2002,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_neB; Cave[y-1][x+1] = Yandroid_ne; Next[y-1][x+1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_e: @@ -2016,7 +2010,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_eB; Cave[y][x+1] = Yandroid_e; Next[y][x+1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_se: @@ -2024,7 +2018,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_seB; Cave[y+1][x+1] = Yandroid_se; Next[y+1][x+1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_s: @@ -2032,7 +2026,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_sB; Cave[y+1][x] = Yandroid_s; Next[y+1][x] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_sw: @@ -2040,7 +2034,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_swB; Cave[y+1][x-1] = Yandroid_sw; Next[y+1][x-1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_w: @@ -2048,7 +2042,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_wB; Cave[y][x-1] = Yandroid_w; Next[y][x-1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; android_nw: @@ -2056,7 +2050,7 @@ void synchro_2(void) Cave[y][x] = Yandroid_nwB; Cave[y-1][x-1] = Yandroid_nw; Next[y-1][x-1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; /* --------------------------------------------------------------------- */ @@ -2078,7 +2072,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2088,7 +2082,7 @@ void synchro_2(void) Cave[y-1][x] = Yandroid_n; Next[y][x] = Xblank; Next[y-1][x] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2112,7 +2106,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2122,7 +2116,7 @@ void synchro_2(void) Cave[y-1][x] = Yandroid_n; Next[y][x] = Xblank; Next[y-1][x] = Xandroid_1_n; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2148,7 +2142,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2158,7 +2152,7 @@ void synchro_2(void) Cave[y][x+1] = Yandroid_e; Next[y][x] = Xblank; Next[y][x+1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2182,7 +2176,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2192,7 +2186,7 @@ void synchro_2(void) Cave[y][x+1] = Yandroid_e; Next[y][x] = Xblank; Next[y][x+1] = Xandroid_1_e; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2218,7 +2212,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2228,7 +2222,7 @@ void synchro_2(void) Cave[y+1][x] = Yandroid_s; Next[y][x] = Xblank; Next[y+1][x] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2252,7 +2246,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2262,7 +2256,7 @@ void synchro_2(void) Cave[y+1][x] = Yandroid_s; Next[y][x] = Xblank; Next[y+1][x] = Xandroid_1_s; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2288,7 +2282,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2298,7 +2292,7 @@ void synchro_2(void) Cave[y][x-1] = Yandroid_w; Next[y][x] = Xblank; Next[y][x-1] = Xandroid; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2322,7 +2316,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2332,7 +2326,7 @@ void synchro_2(void) Cave[y][x-1] = Yandroid_w; Next[y][x] = Xblank; Next[y][x-1] = Xandroid_1_w; - PLAY(SAMPLE_tank); + play_sound(x, y, SAMPLE_tank); goto loop; default: @@ -2358,7 +2352,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2512,7 +2506,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2549,7 +2543,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2581,7 +2575,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2607,7 +2601,7 @@ void synchro_2(void) Cave[y][x+1] = Yspring_kill_e; Next[y][x] = Xblank; Next[y][x+1] = Xspring_e; - play[SAMPLE_slurp] = 1; + play_sound(x, y, SAMPLE_slurp); score += lev.slurp_score; goto loop; @@ -2615,13 +2609,13 @@ void synchro_2(void) case XbumperB: Cave[y][x+1] = XbumperB; Next[y][x] = Xspring_w; - PLAY(SAMPLE_spring); + play_sound(x, y, SAMPLE_spring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - PLAY(SAMPLE_spring); + play_sound(x, y, SAMPLE_spring); goto loop; } @@ -2644,7 +2638,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2676,7 +2670,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2702,7 +2696,7 @@ void synchro_2(void) Cave[y][x-1] = Yspring_kill_w; Next[y][x] = Xblank; Next[y][x-1] = Xspring_w; - play[SAMPLE_slurp] = 1; + play_sound(x, y, SAMPLE_slurp); score += lev.slurp_score; goto loop; @@ -2710,13 +2704,13 @@ void synchro_2(void) case XbumperB: Cave[y][x-1] = XbumperB; Next[y][x] = Xspring_e; - PLAY(SAMPLE_spring); + play_sound(x, y, SAMPLE_spring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - PLAY(SAMPLE_spring); + play_sound(x, y, SAMPLE_spring); goto loop; } @@ -2739,7 +2733,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2853,7 +2847,7 @@ void synchro_2(void) default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - PLAY(SAMPLE_spring); + play_sound(x, y, SAMPLE_spring); goto loop; } @@ -2864,7 +2858,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2872,7 +2866,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2880,7 +2874,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2888,7 +2882,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2908,7 +2902,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2925,7 +2919,7 @@ void synchro_2(void) default: Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w; - PLAY(SAMPLE_eater); + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2936,7 +2930,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2944,7 +2938,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2952,7 +2946,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2960,7 +2954,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -2980,7 +2974,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -2997,7 +2991,7 @@ void synchro_2(void) default: Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s; - PLAY(SAMPLE_eater); + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3008,7 +3002,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3016,7 +3010,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3024,7 +3018,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3032,7 +3026,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3052,7 +3046,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3069,7 +3063,7 @@ void synchro_2(void) default: Next[y][x] = RANDOM & 1 ? Xeater_e : Xeater_w; - PLAY(SAMPLE_eater); + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3080,7 +3074,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3088,7 +3082,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3096,7 +3090,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3104,7 +3098,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play[SAMPLE_eater] = 1; + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3124,7 +3118,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3141,7 +3135,7 @@ void synchro_2(void) default: Next[y][x] = RANDOM & 1 ? Xeater_n : Xeater_s; - PLAY(SAMPLE_eater); + play_sound(x, y, SAMPLE_eater); goto loop; } @@ -3205,7 +3199,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3218,7 +3212,7 @@ void synchro_2(void) Cave[y-1][x] = Yalien_n; Next[y][x] = Xblank; Next[y-1][x] = Xalien_pause; - PLAY(SAMPLE_alien); + play_sound(x, y, SAMPLE_alien); goto loop; } } @@ -3240,7 +3234,7 @@ void synchro_2(void) Cave[y][x+1] = Yacid_splash_eB; if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3253,7 +3247,7 @@ void synchro_2(void) Cave[y+1][x] = Yalien_s; Next[y][x] = Xblank; Next[y+1][x] = Xalien_pause; - PLAY(SAMPLE_alien); + play_sound(x, y, SAMPLE_alien); goto loop; } } @@ -3278,7 +3272,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3291,7 +3285,7 @@ void synchro_2(void) Cave[y][x+1] = Yalien_e; Next[y][x] = Xblank; Next[y][x+1] = Xalien_pause; - PLAY(SAMPLE_alien); + play_sound(x, y, SAMPLE_alien); goto loop; } } @@ -3313,7 +3307,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3326,7 +3320,7 @@ void synchro_2(void) Cave[y][x-1] = Yalien_w; Next[y][x] = Xblank; Next[y][x-1] = Xalien_pause; - PLAY(SAMPLE_alien); + play_sound(x, y, SAMPLE_alien); goto loop; } } @@ -3357,7 +3351,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3492,7 +3486,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3529,7 +3523,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3554,14 +3548,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play[SAMPLE_squash] = 1; + play_sound(x, y, SAMPLE_squash); goto loop; } default: Cave[y][x] = Xemerald; Next[y][x] = Xemerald; - PLAY(SAMPLE_diamond); + play_sound(x, y, SAMPLE_diamond); goto loop; } @@ -3584,7 +3578,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3719,7 +3713,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3756,7 +3750,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3781,14 +3775,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play[SAMPLE_squash] = 1; + play_sound(x, y, SAMPLE_squash); goto loop; } default: Cave[y][x] = Xdiamond; Next[y][x] = Xdiamond; - PLAY(SAMPLE_diamond); + play_sound(x, y, SAMPLE_diamond); goto loop; } @@ -3811,7 +3805,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xdrip_stretchB; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -3830,41 +3824,41 @@ void synchro_2(void) switch (RANDOM & 7) { case 0: - temp = Xameuba_1; + temp = Xamoeba_1; break; case 1: - temp = Xameuba_2; + temp = Xamoeba_2; break; case 2: - temp = Xameuba_3; + temp = Xamoeba_3; break; case 3: - temp = Xameuba_4; + temp = Xamoeba_4; break; case 4: - temp = Xameuba_5; + temp = Xamoeba_5; break; case 5: - temp = Xameuba_6; + temp = Xamoeba_6; break; case 6: - temp = Xameuba_7; + temp = Xamoeba_7; break; case 7: - temp = Xameuba_8; + temp = Xamoeba_8; break; } Cave[y][x] = temp; Next[y][x] = temp; - play[SAMPLE_drip] = 1; + play_sound(x, y, SAMPLE_drip); goto loop; } @@ -3903,7 +3897,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4023,7 +4017,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4060,7 +4054,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4112,7 +4106,7 @@ void synchro_2(void) if (Cave[y-2][x-1] == Xblank) Cave[y-2][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4145,7 +4139,7 @@ void synchro_2(void) if (Cave[y-1][x] == Xblank) Cave[y-1][x] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4178,7 +4172,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4211,7 +4205,7 @@ void synchro_2(void) if (Cave[y-1][x-2] == Xblank) Cave[y-1][x-2] = Yacid_splash_wB; Next[y][x] = Xblank; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4288,7 +4282,7 @@ void synchro_2(void) ball_common: - play[SAMPLE_ball] = 1; + play_sound(x, y, SAMPLE_ball); if (lev.ball_random) { switch (RANDOM & 7) @@ -4435,14 +4429,14 @@ void synchro_2(void) { Cave[y-1][x] = Ygrow_ns_eat; Next[y-1][x] = Xgrow_ns; - play[SAMPLE_grow] = 1; + play_sound(x, y, SAMPLE_grow); } if (tab_blank[Cave[y+1][x]]) { Cave[y+1][x] = Ygrow_ns_eat; Next[y+1][x] = Xgrow_ns; - play[SAMPLE_grow] = 1; + play_sound(x, y, SAMPLE_grow); } goto loop; @@ -4452,14 +4446,14 @@ void synchro_2(void) { Cave[y][x+1] = Ygrow_ew_eat; Next[y][x+1] = Xgrow_ew; - play[SAMPLE_grow] = 1; + play_sound(x, y, SAMPLE_grow); } if (tab_blank[Cave[y][x-1]]) { Cave[y][x-1] = Ygrow_ew_eat; Next[y][x-1] = Xgrow_ew; - play[SAMPLE_grow] = 1; + play_sound(x, y, SAMPLE_grow); } goto loop; @@ -4470,7 +4464,7 @@ void synchro_2(void) if (lev.wonderwall_time && lev.wonderwall_state) { Cave[y][x] = XwonderwallB; - play[SAMPLE_wonder] = 1; + play_sound(x, y, SAMPLE_wonder); } goto loop; @@ -4515,22 +4509,22 @@ void synchro_2(void) /* --------------------------------------------------------------------- */ case Xdynamite_1: - play[SAMPLE_tick] = 1; + play_sound(x, y, SAMPLE_tick); Next[y][x] = Xdynamite_2; goto loop; case Xdynamite_2: - play[SAMPLE_tick] = 1; + play_sound(x, y, SAMPLE_tick); Next[y][x] = Xdynamite_3; goto loop; case Xdynamite_3: - play[SAMPLE_tick] = 1; + play_sound(x, y, SAMPLE_tick); Next[y][x] = Xdynamite_4; goto loop; case Xdynamite_4: - play[SAMPLE_tick] = 1; + play_sound(x, y, SAMPLE_tick); Next[y][x] = Zdynamite; Boom[y-1][x-1] = Xblank; Boom[y-1][x] = Xblank; @@ -4576,7 +4570,7 @@ void synchro_2(void) if (Cave[y][x-1] == Xblank) Cave[y][x-1] = Yacid_splash_wB; Next[y][x] = Xsand_stonesand_4; - PLAY(SAMPLE_acid); + play_sound(x, y, SAMPLE_acid); goto loop; case Xblank: @@ -4753,7 +4747,7 @@ void synchro_2(void) case Xboom_android: case Xboom_1: Next[y][x] = Xboom_2; - play[SAMPLE_boom] = 1; + play_sound(x, y, SAMPLE_boom); goto loop; case Xboom_2: diff --git a/src/game_em/synchro_3.c b/src/game_em/synchro_3.c index 230a907c..af7d9f8f 100644 --- a/src/game_em/synchro_3.c +++ b/src/game_em/synchro_3.c @@ -43,16 +43,16 @@ void synchro_3(void) lev.wonderwall_time--; if (lev.time > 0 && lev.time <= 50 && lev.time % 5 == 0) - play[SAMPLE_time] = 1; + play_sound(-1, -1, SAMPLE_time); if (lev.wheel_cnt) - play[SAMPLE_wheel] = 1; + play_sound(-1, -1, SAMPLE_wheel); - /* grow ameuba */ + /* grow amoeba */ random = Random; - for (count = lev.ameuba_time; count--;) + for (count = lev.amoeba_time; count--;) { x = (random >> 10) % (WIDTH - 2); y = (random >> 20) % (HEIGHT - 2); @@ -66,10 +66,10 @@ void synchro_3(void) case Xsand: case Xplant: case Yplant: - if (tab_ameuba[Cave[y-1][x]] || - tab_ameuba[Cave[y][x+1]] || - tab_ameuba[Cave[y+1][x]] || - tab_ameuba[Cave[y][x-1]]) + if (tab_amoeba[Cave[y-1][x]] || + tab_amoeba[Cave[y][x+1]] || + tab_amoeba[Cave[y+1][x]] || + tab_amoeba[Cave[y][x-1]]) Cave[y][x] = Xdrip_eat; } diff --git a/src/game_em/tab_generate.c b/src/game_em/tab_generate.c index 5039f5ab..50611721 100644 --- a/src/game_em/tab_generate.c +++ b/src/game_em/tab_generate.c @@ -42,19 +42,19 @@ int tile_acid[] = TILE_MAX }; -/* 0=stop 1=ameuba */ -int tile_ameuba[] = +/* 0=stop 1=amoeba */ +int tile_amoeba[] = { Xdripper, 1, XdripperB, 1, - Xameuba_1, 1, - Xameuba_2, 1, - Xameuba_3, 1, - Xameuba_4, 1, - Xameuba_5, 1, - Xameuba_6, 1, - Xameuba_7, 1, - Xameuba_8, 1, + Xamoeba_1, 1, + Xamoeba_2, 1, + Xamoeba_3, 1, + Xamoeba_4, 1, + Xamoeba_5, 1, + Xamoeba_6, 1, + Xamoeba_7, 1, + Xamoeba_8, 1, TILE_MAX }; @@ -2937,77 +2937,77 @@ int obj_map[] = XwonderwallB, 6, -1, - Xameuba_1, 0, - Xameuba_1, 1, - Xameuba_1, 2, - Xameuba_1, 3, - Xameuba_1, 4, - Xameuba_1, 5, - Xameuba_1, 6, - Xameuba_1, 7, - -1, - Xameuba_2, 0, - Xameuba_2, 1, - Xameuba_2, 2, - Xameuba_2, 3, - Xameuba_2, 4, - Xameuba_2, 5, - Xameuba_2, 6, - Xameuba_2, 7, - -1, - Xameuba_3, 0, - Xameuba_3, 1, - Xameuba_3, 2, - Xameuba_3, 3, - Xameuba_3, 4, - Xameuba_3, 5, - Xameuba_3, 6, - Xameuba_3, 7, - -1, - Xameuba_4, 0, - Xameuba_4, 1, - Xameuba_4, 2, - Xameuba_4, 3, - Xameuba_4, 4, - Xameuba_4, 5, - Xameuba_4, 6, - Xameuba_4, 7, - -1, - Xameuba_5, 0, - Xameuba_5, 1, - Xameuba_5, 2, - Xameuba_5, 3, - Xameuba_5, 4, - Xameuba_5, 5, - Xameuba_5, 6, - Xameuba_5, 7, - -1, - Xameuba_6, 0, - Xameuba_6, 1, - Xameuba_6, 2, - Xameuba_6, 3, - Xameuba_6, 4, - Xameuba_6, 5, - Xameuba_6, 6, - Xameuba_6, 7, - -1, - Xameuba_7, 0, - Xameuba_7, 1, - Xameuba_7, 2, - Xameuba_7, 3, - Xameuba_7, 4, - Xameuba_7, 5, - Xameuba_7, 6, - Xameuba_7, 7, - -1, - Xameuba_8, 0, - Xameuba_8, 1, - Xameuba_8, 2, - Xameuba_8, 3, - Xameuba_8, 4, - Xameuba_8, 5, - Xameuba_8, 6, - Xameuba_8, 7, + Xamoeba_1, 0, + Xamoeba_1, 1, + Xamoeba_1, 2, + Xamoeba_1, 3, + Xamoeba_1, 4, + Xamoeba_1, 5, + Xamoeba_1, 6, + Xamoeba_1, 7, + -1, + Xamoeba_2, 0, + Xamoeba_2, 1, + Xamoeba_2, 2, + Xamoeba_2, 3, + Xamoeba_2, 4, + Xamoeba_2, 5, + Xamoeba_2, 6, + Xamoeba_2, 7, + -1, + Xamoeba_3, 0, + Xamoeba_3, 1, + Xamoeba_3, 2, + Xamoeba_3, 3, + Xamoeba_3, 4, + Xamoeba_3, 5, + Xamoeba_3, 6, + Xamoeba_3, 7, + -1, + Xamoeba_4, 0, + Xamoeba_4, 1, + Xamoeba_4, 2, + Xamoeba_4, 3, + Xamoeba_4, 4, + Xamoeba_4, 5, + Xamoeba_4, 6, + Xamoeba_4, 7, + -1, + Xamoeba_5, 0, + Xamoeba_5, 1, + Xamoeba_5, 2, + Xamoeba_5, 3, + Xamoeba_5, 4, + Xamoeba_5, 5, + Xamoeba_5, 6, + Xamoeba_5, 7, + -1, + Xamoeba_6, 0, + Xamoeba_6, 1, + Xamoeba_6, 2, + Xamoeba_6, 3, + Xamoeba_6, 4, + Xamoeba_6, 5, + Xamoeba_6, 6, + Xamoeba_6, 7, + -1, + Xamoeba_7, 0, + Xamoeba_7, 1, + Xamoeba_7, 2, + Xamoeba_7, 3, + Xamoeba_7, 4, + Xamoeba_7, 5, + Xamoeba_7, 6, + Xamoeba_7, 7, + -1, + Xamoeba_8, 0, + Xamoeba_8, 1, + Xamoeba_8, 2, + Xamoeba_8, 3, + Xamoeba_8, 4, + Xamoeba_8, 5, + Xamoeba_8, 6, + Xamoeba_8, 7, -1, Xdoor_1, 0, @@ -4301,8 +4301,8 @@ unsigned char tab_blank[TILE_MAX]; /* 0=stop 1=acid */ unsigned char tab_acid[TILE_MAX]; -/* 0=stop 1=ameuba */ -unsigned char tab_ameuba[TILE_MAX]; +/* 0=stop 1=amoeba */ +unsigned char tab_amoeba[TILE_MAX]; /* 0=stop 1=move */ unsigned char tab_android_move[TILE_MAX]; @@ -4490,7 +4490,7 @@ void tab_generate() { create_tab(tile_blank, tab_blank); create_tab(tile_acid, tab_acid); - create_tab(tile_ameuba, tab_ameuba); + create_tab(tile_amoeba, tab_amoeba); create_tab(tile_android_move, tab_android_move); create_explode(); create_obj(); diff --git a/src/game_em/tile.h b/src/game_em/tile.h index c0e15c2f..f029834e 100644 --- a/src/game_em/tile.h +++ b/src/game_em/tile.h @@ -263,14 +263,14 @@ enum Ygrow_ew_eat, Xwonderwall, XwonderwallB, - Xameuba_1, - Xameuba_2, - Xameuba_3, - Xameuba_4, - Xameuba_5, - Xameuba_6, - Xameuba_7, - Xameuba_8, + Xamoeba_1, + Xamoeba_2, + Xamoeba_3, + Xamoeba_4, + Xamoeba_5, + Xamoeba_6, + Xamoeba_7, + Xamoeba_8, Xdoor_1, Xdoor_2, Xdoor_3, @@ -441,7 +441,7 @@ enum extern unsigned char tab_blank[TILE_MAX]; extern unsigned char tab_acid[TILE_MAX]; -extern unsigned char tab_ameuba[TILE_MAX]; +extern unsigned char tab_amoeba[TILE_MAX]; extern unsigned char tab_android_move[TILE_MAX]; extern unsigned short tab_explode_normal[TILE_MAX]; extern unsigned short tab_explode_dynamite[TILE_MAX]; diff --git a/src/init.c b/src/init.c index 903cd8d9..166ee1d4 100644 --- a/src/init.c +++ b/src/init.c @@ -890,10 +890,21 @@ static void set_graphic_parameters(int graphic, char **parameter_raw) if (parameter[GFX_ARG_HEIGHT] != ARG_UNDEFINED_VALUE) graphic_info[graphic].height = parameter[GFX_ARG_HEIGHT]; + /* optional zoom factor for scaling up the image to a larger size */ + if (parameter[GFX_ARG_SCALE_UP_FACTOR] != ARG_UNDEFINED_VALUE) + graphic_info[graphic].scale_up_factor = parameter[GFX_ARG_SCALE_UP_FACTOR]; + if (graphic_info[graphic].scale_up_factor < 1) + graphic_info[graphic].scale_up_factor = 1; /* no scaling */ + if (src_bitmap) { - anim_frames_per_row = src_bitmap->width / graphic_info[graphic].width; - anim_frames_per_col = src_bitmap->height / graphic_info[graphic].height; + /* bitmap is not scaled at this stage, so calculate final size */ + int scale_up_factor = graphic_info[graphic].scale_up_factor; + int src_bitmap_width = src_bitmap->width * scale_up_factor; + int src_bitmap_height = src_bitmap->height * scale_up_factor; + + anim_frames_per_row = src_bitmap_width / graphic_info[graphic].width; + anim_frames_per_col = src_bitmap_height / graphic_info[graphic].height; } /* correct x or y offset dependent of vertical or horizontal frame order */ @@ -966,12 +977,6 @@ static void set_graphic_parameters(int graphic, char **parameter_raw) if (parameter[GFX_ARG_BORDER_SIZE] != ARG_UNDEFINED_VALUE) graphic_info[graphic].border_size = parameter[GFX_ARG_BORDER_SIZE]; - /* optional zoom factor for scaling up the image to a larger size */ - if (parameter[GFX_ARG_SCALE_UP] != ARG_UNDEFINED_VALUE) - graphic_info[graphic].scale_up_factor = parameter[GFX_ARG_SCALE_UP]; - if (graphic_info[graphic].scale_up_factor < 1) - graphic_info[graphic].scale_up_factor = 1; /* no scaling */ - /* this is only used for player "boring" and "sleeping" actions */ if (parameter[GFX_ARG_ANIM_DELAY_FIXED] != ARG_UNDEFINED_VALUE) graphic_info[graphic].anim_delay_fixed = @@ -1044,6 +1049,7 @@ static void InitGraphicInfo() Bitmap *src_bitmap; int src_x, src_y; int first_frame, last_frame; + int scale_up_factor, src_bitmap_width, src_bitmap_height; #if 0 printf("::: image: '%s' [%d]\n", image->token, i); @@ -1062,11 +1068,16 @@ static void InitGraphicInfo() if (graphic_info[i].bitmap == NULL) continue; /* skip check for optional images that are undefined */ + /* bitmap is not scaled at this stage, so calculate final size */ + scale_up_factor = graphic_info[i].scale_up_factor; + src_bitmap_width = graphic_info[i].bitmap->width * scale_up_factor; + src_bitmap_height = graphic_info[i].bitmap->height * scale_up_factor; + first_frame = 0; getGraphicSource(i, first_frame, &src_bitmap, &src_x, &src_y); if (src_x < 0 || src_y < 0 || - src_x + TILEX > src_bitmap->width || - src_y + TILEY > src_bitmap->height) + src_x + TILEX > src_bitmap_width || + src_y + TILEY > src_bitmap_height) { Error(ERR_RETURN_LINE, "-"); Error(ERR_RETURN, "warning: error found in config file:"); @@ -1081,6 +1092,10 @@ static void InitGraphicInfo() src_x, src_y); Error(ERR_RETURN, "custom graphic rejected for this element/action"); +#if 1 + Error(ERR_RETURN, "scale_up_factor == %d", scale_up_factor); +#endif + if (i == fallback_graphic) Error(ERR_EXIT, "fatal error: no fallback graphic available"); @@ -1094,8 +1109,8 @@ static void InitGraphicInfo() last_frame = graphic_info[i].anim_frames - 1; getGraphicSource(i, last_frame, &src_bitmap, &src_x, &src_y); if (src_x < 0 || src_y < 0 || - src_x + TILEX > src_bitmap->width || - src_y + TILEY > src_bitmap->height) + src_x + TILEX > src_bitmap_width || + src_y + TILEY > src_bitmap_height) { Error(ERR_RETURN_LINE, "-"); Error(ERR_RETURN, "warning: error found in config file:"); @@ -1585,7 +1600,7 @@ static void ReinitializeGraphics() InitElementGraphicInfo(); /* element game graphic mapping */ InitElementSpecialGraphicInfo(); /* element special graphic mapping */ - InitElementSmallImages(); /* create editor and preview images */ + InitElementSmallImages(); /* scale images to all needed sizes */ InitFontGraphicInfo(); /* initialize text drawing functions */ SetMainBackgroundImage(IMG_BACKGROUND); @@ -3698,6 +3713,10 @@ static void InitGlobal() for (i = 0; i < MAX_NUM_ELEMENTS + 1; i++) { + /* check if element_name_info entry defined for each element in "main.h" */ + if (i < MAX_NUM_ELEMENTS && element_name_info[i].token_name == NULL) + Error(ERR_EXIT, "undefined 'element_name_info' entry for element %d", i); + element_info[i].token_name = element_name_info[i].token_name; element_info[i].class_name = element_name_info[i].class_name; element_info[i].editor_description=element_name_info[i].editor_description; diff --git a/src/libgame/system.c b/src/libgame/system.c index 704c5b25..ed73cb5b 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -917,6 +917,7 @@ void CreateBitmapWithSmallBitmaps(Bitmap *old_bitmap, int zoom_factor) #endif + old_bitmap->width = new_bitmap->width; old_bitmap->height = new_bitmap->height; FreeBitmap(new_bitmap); diff --git a/src/main.c b/src/main.c index 596f996a..012826ec 100644 --- a/src/main.c +++ b/src/main.c @@ -3459,6 +3459,216 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "sp_port", "gravity off port (leading up)" }, + { + "balloon_switch_none", + "balloon_switch", + "stop moving balloon" + }, + { + "emc_level_border", + "wall", + "level border steelwall", + }, + { + "emc_android", + "emc_android", + "android", + }, + { + "emc_android_right", + "emc_android", + "android", + }, + { + "emc_android_up", + "emc_android", + "android", + }, + { + "emc_android_left", + "emc_android", + "android", + }, + { + "emc_android_down", + "emc_android", + "android", + }, + { + "emc_android_left_up", + "emc_android", + "android", + }, + { + "emc_android_left_down", + "emc_android", + "android", + }, + { + "emc_android_right_up", + "emc_android", + "android", + }, + { + "emc_android_right_down", + "emc_android", + "android", + }, + { + "emc_grass", + "emc_grass", + "grass", + }, + { + "emc_generator_ball", + "emc_generator_ball", + "generator ball", + }, + { + "emc_grow", + "emc_grow", + "grow", + }, + { + "emc_gate_1", + "gate", + "door 1 (EMC style)", + }, + { + "emc_gate_2", + "gate", + "door 2 (EMC style)", + }, + { + "emc_gate_3", + "gate", + "door 3 (EMC style)", + }, + { + "emc_gate_4", + "gate", + "door 4 (EMC style)", + }, + { + "emc_gate_5", + "gate", + "door 5 (EMC style)", + }, + { + "emc_gate_6", + "gate", + "door 6 (EMC style)", + }, + { + "emc_gate_7", + "gate", + "door 7 (EMC style)", + }, + { + "emc_gate_8", + "gate", + "door 8 (EMC style)", + }, + { + "emc_gate_1_gray", + "gate", + "gray door (EMC style, key 1)", + }, + { + "emc_gate_2_gray", + "gate", + "gray door (EMC style, key 2)", + }, + { + "emc_gate_3_gray", + "gate", + "gray door (EMC style, key 3)", + }, + { + "emc_gate_4_gray", + "gate", + "gray door (EMC style, key 4)", + }, + { + "emc_gate_5_gray", + "gate", + "gray door (EMC style, key 5)", + }, + { + "emc_gate_6_gray", + "gate", + "gray door (EMC style, key 6)", + }, + { + "emc_gate_7_gray", + "gate", + "gray door (EMC style, key 7)", + }, + { + "emc_gate_8_gray", + "gate", + "gray door (EMC style, key 8)", + }, + { + "emc_key_1", + "key", + "key 1 (EMC style)", + }, + { + "emc_key_2", + "key", + "key 2 (EMC style)", + }, + { + "emc_key_3", + "key", + "key 3 (EMC style)", + }, + { + "emc_key_4", + "key", + "key 4 (EMC style)", + }, + { + "emc_key_5", + "key", + "key 5 (EMC style)", + }, + { + "emc_key_6", + "key", + "key 6 (EMC style)", + }, + { + "emc_key_7", + "key", + "key 7 (EMC style)", + }, + { + "emc_key_8", + "key", + "key 8 (EMC style)", + }, + { + "emc_bumper", + "emc_bumper", + "bumper", + }, + { + "emc_plant", + "emc_plant", + "plant", + }, + { + "emc_lenses", + "emc_lenses", + "lenses", + }, + { + "emc_magnifier", + "emc_magnifier", + "magnifier", + }, /* ----------------------------------------------------------------------- */ /* "real" (and therefore drawable) runtime elements */ diff --git a/src/main.h b/src/main.h index 9a3343b8..e0b60503 100644 --- a/src/main.h +++ b/src/main.h @@ -963,55 +963,6 @@ #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 @@ -1055,12 +1006,10 @@ #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 @@ -1282,7 +1231,7 @@ #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 diff --git a/src/tools.c b/src/tools.c index ab5086c0..04b8c7b8 100644 --- a/src/tools.c +++ b/src/tools.c @@ -2891,6 +2891,1643 @@ static void HandleToolButtons(struct GadgetInfo *gi) request_gadget_id = gi->custom_id; } +#if 1 + +static struct +{ + int element_em; + boolean is_rnd_to_em_mapping; + + int element_rnd; + int action; + int direction; +} +mapping_EM_to_RND_list[] = +{ + { + Xblank, TRUE, + EL_EMPTY, -1, -1 + }, + { + Yacid_splash_eB, FALSE, + EL_EMPTY, -1, -1 + }, + { + Yacid_splash_wB, FALSE, + EL_EMPTY, -1, -1 + }, + +#ifdef EM_ENGINE_BAD_ROLL + { + Xstone_force_e, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xstone_force_w, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xnut_force_e, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xnut_force_w, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xspring_force_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xspring_force_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xemerald_force_e, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xemerald_force_w, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xdiamond_force_e, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xdiamond_force_w, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xbomb_force_e, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xbomb_force_w, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + }, +#endif + + { + Xstone, TRUE, + EL_ROCK, -1, -1 + }, + { + Xstone_pause, FALSE, + EL_ROCK, -1, -1 + }, + { + Xstone_fall, FALSE, + EL_ROCK, ACTION_FALLING, -1 + }, + { + Ystone_s, FALSE, + EL_ROCK, ACTION_FALLING, -1 + }, + { + Ystone_sB, FALSE, + EL_ROCK, ACTION_FALLING, -1 + }, + { + Ystone_e, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ystone_eB, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ystone_w, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ystone_wB, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xnut, TRUE, + EL_NUT, -1, -1 + }, + { + Xnut_pause, FALSE, + EL_NUT, -1, -1 + }, + { + Xnut_fall, FALSE, + EL_NUT, ACTION_FALLING, -1 + }, + { + Ynut_s, FALSE, + EL_NUT, ACTION_FALLING, -1 + }, + { + Ynut_sB, FALSE, + EL_NUT, ACTION_FALLING, -1 + }, + { + Ynut_e, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ynut_eB, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ynut_w, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ynut_wB, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xbug_n, TRUE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xbug_e, TRUE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xbug_s, TRUE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Xbug_w, TRUE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xbug_gon, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xbug_goe, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xbug_gos, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Xbug_gow, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ybug_n, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Ybug_nB, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Ybug_e, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ybug_eB, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ybug_s, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ybug_sB, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ybug_w, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ybug_wB, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ybug_w_n, FALSE, + EL_BUG_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP + }, + { + Ybug_n_e, FALSE, + EL_BUG_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT + }, + { + Ybug_e_s, FALSE, + EL_BUG_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN + }, + { + Ybug_s_w, FALSE, + EL_BUG_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT + }, + { + Ybug_e_n, FALSE, + EL_BUG_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP + }, + { + Ybug_s_e, FALSE, + EL_BUG_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT + }, + { + Ybug_w_s, FALSE, + EL_BUG_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN + }, + { + Ybug_n_w, FALSE, + EL_BUG_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT + }, + { + Ybug_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Ybug_spring, FALSE, + EL_SPRING, -1, -1 + }, + { + Xtank_n, TRUE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xtank_e, TRUE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xtank_s, TRUE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Xtank_w, TRUE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xtank_gon, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xtank_goe, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xtank_gos, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Xtank_gow, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ytank_n, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Ytank_nB, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Ytank_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ytank_eB, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ytank_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ytank_sB, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ytank_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ytank_wB, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ytank_w_n, FALSE, + EL_SPACESHIP_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP + }, + { + Ytank_n_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT + }, + { + Ytank_e_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN + }, + { + Ytank_s_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT + }, + { + Ytank_e_n, FALSE, + EL_SPACESHIP_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP + }, + { + Ytank_s_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT + }, + { + Ytank_w_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN + }, + { + Ytank_n_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT + }, + { + Ytank_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Ytank_spring, FALSE, + EL_SPRING, -1, -1 + }, + { + Xandroid, TRUE, + EL_EMC_ANDROID, -1, -1 + }, + { + Xandroid_1_n, TRUE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xandroid_2_n, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Xandroid_1_e, TRUE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xandroid_2_e, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xandroid_1_w, TRUE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xandroid_2_w, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xandroid_1_s, TRUE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Xandroid_2_s, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yandroid_n, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Yandroid_nB, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + }, + { + Yandroid_ne, FALSE, + EL_EMC_ANDROID_RIGHT_UP, + }, + { + Yandroid_neB, FALSE, + EL_EMC_ANDROID_RIGHT_UP, -1, -1 + }, + { + Yandroid_e, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yandroid_eB, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yandroid_se, FALSE, + EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 + }, + { + Yandroid_seB, FALSE, + EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 + }, + { + Yandroid_s, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yandroid_sB, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yandroid_sw, FALSE, + EL_EMC_ANDROID_LEFT_DOWN, -1, -1 + }, + { + Yandroid_swB, FALSE, + EL_EMC_ANDROID_LEFT_DOWN, -1, -1 + }, + { + Yandroid_w, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yandroid_wB, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yandroid_nw, FALSE, + EL_EMC_ANDROID_LEFT_UP, -1, -1 + }, + { + Yandroid_nwB, FALSE, + EL_EMC_ANDROID_LEFT_UP, -1, -1 + }, + { + Xspring, TRUE, + EL_SPRING, -1, -1 + }, + { + Xspring_pause, FALSE, + EL_SPRING, -1, -1 + }, + { + Xspring_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xspring_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xspring_fall, FALSE, + EL_SPRING, ACTION_FALLING, -1 + }, + { + Yspring_s, FALSE, + EL_SPRING, ACTION_FALLING, -1 + }, + { + Yspring_sB, FALSE, + EL_SPRING, ACTION_FALLING, -1 + }, + { + Yspring_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yspring_eB, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yspring_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yspring_wB, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yspring_kill_e, FALSE, + EL_SPRING, -1, -1 + }, + { + Yspring_kill_eB, FALSE, + EL_SPRING, -1, -1 + }, + { + Yspring_kill_w, FALSE, + EL_SPRING, -1, -1 + }, + { + Yspring_kill_wB, FALSE, + EL_SPRING, -1, -1 + }, + { + Xeater_n, TRUE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + }, + { + Xeater_e, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Xeater_w, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xeater_s, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yeater_n, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + }, + { + Yeater_nB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + }, + { + Yeater_e, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yeater_eB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yeater_s, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yeater_sB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yeater_w, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yeater_wB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yeater_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Yeater_spring, FALSE, + EL_SPRING, -1, -1 + }, + { + Xalien, TRUE, + EL_ROBOT, -1, -1 + }, + { + Xalien_pause, FALSE, + EL_ROBOT, -1, -1 + }, + { + Yalien_n, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_UP + }, + { + Yalien_nB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_UP + }, + { + Yalien_e, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yalien_eB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yalien_s, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yalien_sB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yalien_w, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yalien_wB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yalien_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Yalien_spring, FALSE, + EL_SPRING, -1, -1 + }, + { + Xemerald, TRUE, + EL_EMERALD, -1, -1 + }, + { + Xemerald_pause, FALSE, + EL_EMERALD, -1, -1 + }, + { + Xemerald_fall, FALSE, + EL_EMERALD, ACTION_FALLING, -1 + }, + { + Xemerald_shine, FALSE, + EL_EMERALD, -1, -1 + }, + { + Yemerald_s, FALSE, + EL_EMERALD, ACTION_FALLING, -1 + }, + { + Yemerald_sB, FALSE, + EL_EMERALD, ACTION_FALLING, -1 + }, + { + Yemerald_e, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yemerald_eB, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yemerald_w, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yemerald_wB, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yemerald_eat, FALSE, + EL_EMERALD, -1, -1 + }, + { + Yemerald_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Xdiamond, TRUE, + EL_DIAMOND, -1, -1 + }, + { + Xdiamond_pause, FALSE, + EL_DIAMOND, -1, -1 + }, + { + Xdiamond_fall, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 + }, + { + Xdiamond_shine, FALSE, + EL_DIAMOND, -1, -1 + }, + { + Ydiamond_s, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 + }, + { + Ydiamond_sB, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 + }, + { + Ydiamond_e, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ydiamond_eB, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ydiamond_w, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ydiamond_wB, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ydiamond_eat, FALSE, + EL_DIAMOND, -1, -1 + }, + { + Ydiamond_stone, FALSE, + EL_ROCK, -1, -1 + }, + { + Xdrip_fall, TRUE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 + }, + { + Xdrip_stretch, FALSE, + EL_AMOEBA_DROP, -1, -1 + }, + { + Xdrip_stretchB, FALSE, + EL_AMOEBA_DROP, -1, -1 + }, + { + Xdrip_eat, FALSE, + EL_AMOEBA_DROP, -1, -1 + }, + { + Ydrip_s1, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 + }, + { + Ydrip_s1B, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 + }, + { + Ydrip_s2, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 + }, + { + Ydrip_s2B, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 + }, + { + Xbomb, TRUE, + EL_BOMB, -1, -1 + }, + { + Xbomb_pause, FALSE, + EL_BOMB, -1, -1 + }, + { + Xbomb_fall, FALSE, + EL_BOMB, ACTION_FALLING, -1 + }, + { + Ybomb_s, FALSE, + EL_BOMB, ACTION_FALLING, -1 + }, + { + Ybomb_sB, FALSE, + EL_BOMB, ACTION_FALLING, -1 + }, + { + Ybomb_e, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ybomb_eB, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ybomb_w, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ybomb_wB, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + }, + { + Ybomb_eat, FALSE, + EL_BOMB, -1, -1 + }, + { + Xballoon, TRUE, + EL_BALLOON, -1, -1 + }, + { + Yballoon_n, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_UP + }, + { + Yballoon_nB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_UP + }, + { + Yballoon_e, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yballoon_eB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Yballoon_s, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yballoon_sB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN + }, + { + Yballoon_w, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT + }, + { + Yballoon_wB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xgrass, TRUE, + EL_SAND, -1, -1 + }, + { + Ygrass_nB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_UP + }, + { + Ygrass_eB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ygrass_sB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ygrass_wB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xdirt, TRUE, + EL_SAND, -1, -1 + }, + { + Ydirt_nB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_UP + }, + { + Ydirt_eB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_RIGHT + }, + { + Ydirt_sB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_DOWN + }, + { + Ydirt_wB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_LEFT + }, + { + Xacid_ne, TRUE, + EL_ACID_POOL_TOPRIGHT, -1, -1 + }, + { + Xacid_se, TRUE, + EL_ACID_POOL_BOTTOMRIGHT, -1, -1 + }, + { + Xacid_s, TRUE, + EL_ACID_POOL_BOTTOM, -1, -1 + }, + { + Xacid_sw, TRUE, + EL_ACID_POOL_BOTTOMLEFT, -1, -1 + }, + { + Xacid_nw, TRUE, + EL_ACID_POOL_TOPLEFT, -1, -1 + }, + { + Xacid_1, TRUE, + EL_ACID, -1, -1 + }, + { + Xacid_2, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_3, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_4, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_5, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_6, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_7, FALSE, + EL_ACID, -1, -1 + }, + { + Xacid_8, FALSE, + EL_ACID, -1, -1 + }, + { + Xball_1, TRUE, + EL_EMC_GENERATOR_BALL, -1, -1 + }, + { + Xball_1B, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 + }, + { + Xball_2, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 + }, + { + Xball_2B, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 + }, + { + Yball_eat, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 + }, + { + Xgrow_ns, TRUE, + EL_EMC_GROW, -1, -1 + }, + { + Ygrow_ns_eat, FALSE, + EL_EMC_GROW, -1, -1 + }, + { + Xgrow_ew, FALSE, + EL_EMC_GROW, -1, -1 + }, + { + Ygrow_ew_eat, FALSE, + EL_EMC_GROW, -1, -1 + }, + { + Xwonderwall, TRUE, + EL_MAGIC_WALL, -1, -1 + }, + { + XwonderwallB, FALSE, + EL_MAGIC_WALL, -1, -1 + }, + { + Xamoeba_1, TRUE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_2, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_3, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_4, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_5, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_6, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_7, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xamoeba_8, FALSE, + EL_AMOEBA_WET, -1, -1 + }, + { + Xdoor_1, TRUE, + EL_EM_GATE_1, -1, -1 + }, + { + Xdoor_2, TRUE, + EL_EM_GATE_2, -1, -1 + }, + { + Xdoor_3, TRUE, + EL_EM_GATE_3, -1, -1 + }, + { + Xdoor_4, TRUE, + EL_EM_GATE_4, -1, -1 + }, + { + Xdoor_5, TRUE, + EL_EMC_GATE_5, -1, -1 + }, + { + Xdoor_6, TRUE, + EL_EMC_GATE_6, -1, -1 + }, + { + Xdoor_7, TRUE, + EL_EMC_GATE_7, -1, -1 + }, + { + Xdoor_8, TRUE, + EL_EMC_GATE_8, -1, -1 + }, + { + Xkey_1, TRUE, + EL_EM_KEY_1, -1, -1 + }, + { + Xkey_2, TRUE, + EL_EM_KEY_2, -1, -1 + }, + { + Xkey_3, TRUE, + EL_EM_KEY_3, -1, -1 + }, + { + Xkey_4, TRUE, + EL_EM_KEY_4, -1, -1 + }, + { + Xkey_5, TRUE, + EL_EMC_KEY_5, -1, -1 + }, + { + Xkey_6, TRUE, + EL_EMC_KEY_6, -1, -1 + }, + { + Xkey_7, TRUE, + EL_EMC_KEY_7, -1, -1 + }, + { + Xkey_8, TRUE, + EL_EMC_KEY_8, -1, -1 + }, + { + Xwind_n, TRUE, + EL_BALLOON_SWITCH_UP, -1, -1 + }, + { + Xwind_e, TRUE, + EL_BALLOON_SWITCH_RIGHT, -1, -1 + }, + { + Xwind_s, TRUE, + EL_BALLOON_SWITCH_DOWN, -1, -1 + }, + { + Xwind_w, TRUE, + EL_BALLOON_SWITCH_LEFT, -1, -1 + }, + { + Xwind_nesw, TRUE, + EL_BALLOON_SWITCH_ANY, -1, -1 + }, + { + Xwind_stop, TRUE, + EL_BALLOON_SWITCH_NONE, -1, -1 + }, + { + Xexit, TRUE, + EL_EXIT_CLOSED, -1, -1 + }, + { + Xexit_1, TRUE, + EL_EXIT_OPEN, -1, -1 + }, + { + Xexit_2, FALSE, + EL_EXIT_OPEN, -1, -1 + }, + { + Xexit_3, FALSE, + EL_EXIT_OPEN, -1, -1 + }, + { + Xdynamite, TRUE, + EL_DYNAMITE, -1, -1 + }, + { + Ydynamite_eat, FALSE, + EL_DYNAMITE, -1, -1 + }, + { + Xdynamite_1, TRUE, + EL_DYNAMITE_ACTIVE, -1, -1 + }, + { + Xdynamite_2, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 + }, + { + Xdynamite_3, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 + }, + { + Xdynamite_4, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 + }, + { + Xbumper, TRUE, + EL_EMC_BUMPER, -1, -1 + }, + { + XbumperB, FALSE, + EL_EMC_BUMPER, -1, -1 + }, + { + Xwheel, TRUE, + EL_ROBOT_WHEEL, -1, -1 + }, + { + XwheelB, FALSE, + EL_ROBOT_WHEEL, -1, -1 + }, + { + Xswitch, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + XswitchB, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xsand, TRUE, + EL_QUICKSAND_EMPTY, -1, -1 + }, + { + Xsand_stone, TRUE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonein_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonein_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonein_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonein_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonesand_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonesand_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonesand_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stonesand_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stoneout_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_stoneout_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_sandstone_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_sandstone_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_sandstone_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xsand_sandstone_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 + }, + { + Xplant, TRUE, + EL_EMC_PLANT, -1, -1 + }, + { + Yplant, FALSE, + EL_EMC_PLANT, -1, -1 + }, + { + Xlenses, TRUE, + EL_EMC_LENSES, -1, -1 + }, + { + Xmagnify, TRUE, + EL_EMC_MAGNIFIER, -1, -1 + }, + { + Xdripper, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + XdripperB, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xfake_blank, TRUE, + EL_INVISIBLE_WALL, -1, -1 + }, + { + Xfake_blankB, FALSE, + EL_INVISIBLE_WALL, -1, -1 + }, + { + Xfake_grass, TRUE, + EL_INVISIBLE_SAND, -1, -1 + }, + { + Xfake_grassB, FALSE, + EL_INVISIBLE_SAND, -1, -1 + }, + { + Xfake_door_1, TRUE, + EL_EM_GATE_1_GRAY, -1, -1 + }, + { + Xfake_door_2, TRUE, + EL_EM_GATE_2_GRAY, -1, -1 + }, + { + Xfake_door_3, TRUE, + EL_EM_GATE_3_GRAY, -1, -1 + }, + { + Xfake_door_4, TRUE, + EL_EM_GATE_4_GRAY, -1, -1 + }, + { + Xfake_door_5, TRUE, + EL_EMC_GATE_5_GRAY, -1, -1 + }, + { + Xfake_door_6, TRUE, + EL_EMC_GATE_6_GRAY, -1, -1 + }, + { + Xfake_door_7, TRUE, + EL_EMC_GATE_7_GRAY, -1, -1 + }, + { + Xfake_door_8, TRUE, + EL_EMC_GATE_8_GRAY, -1, -1 + }, + { + Xsteel_1, TRUE, + EL_STEELWALL, -1, -1 + }, + { + Xsteel_2, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xsteel_3, TRUE, + EL_EMC_STEELWALL_1, -1, -1 + }, + { + Xsteel_4, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xwall_1, TRUE, + EL_WALL, -1, -1 + }, + { + Xwall_2, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xwall_3, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xwall_4, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xround_wall_1, TRUE, + EL_WALL_SLIPPERY, -1, -1 + }, + { + Xround_wall_2, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xround_wall_3, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xround_wall_4, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xdecor_1, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xdecor_2, TRUE, + EL_EMC_WALL_6, -1, -1 + }, + { + Xdecor_3, TRUE, + EL_EMC_WALL_4, -1, -1 + }, + { + Xdecor_4, TRUE, + EL_EMC_WALL_5, -1, -1 + }, + { + Xdecor_5, TRUE, + EL_EMC_WALL_7, -1, -1 + }, + { + Xdecor_6, TRUE, + EL_EMC_WALL_8, -1, -1 + }, + { + Xdecor_7, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xdecor_8, TRUE, + EL_EMC_WALL_1, -1, -1 + }, + { + Xdecor_9, TRUE, + EL_EMC_WALL_2, -1, -1 + }, + { + Xdecor_10, TRUE, + EL_EMC_WALL_3, -1, -1 + }, + { + Xdecor_11, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xdecor_12, FALSE, + EL_UNKNOWN, -1, -1 + }, + { + Xalpha_0, TRUE, + EL_CHAR('0'), -1, -1 + }, + { + Xalpha_1, TRUE, + EL_CHAR('1'), -1, -1 + }, + { + Xalpha_2, TRUE, + EL_CHAR('2'), -1, -1 + }, + { + Xalpha_3, TRUE, + EL_CHAR('3'), -1, -1 + }, + { + Xalpha_4, TRUE, + EL_CHAR('4'), -1, -1 + }, + { + Xalpha_5, TRUE, + EL_CHAR('5'), -1, -1 + }, + { + Xalpha_6, TRUE, + EL_CHAR('6'), -1, -1 + }, + { + Xalpha_7, TRUE, + EL_CHAR('7'), -1, -1 + }, + { + Xalpha_8, TRUE, + EL_CHAR('8'), -1, -1 + }, + { + Xalpha_9, TRUE, + EL_CHAR('9'), -1, -1 + }, + { + Xalpha_excla, TRUE, + EL_CHAR('!'), -1, -1 + }, + { + Xalpha_quote, TRUE, + EL_CHAR('"'), -1, -1 + }, + { + Xalpha_comma, TRUE, + EL_CHAR(','), -1, -1 + }, + { + Xalpha_minus, TRUE, + EL_CHAR('-'), -1, -1 + }, + { + Xalpha_perio, TRUE, + EL_CHAR('.'), -1, -1 + }, + { + Xalpha_colon, TRUE, + EL_CHAR(':'), -1, -1 + }, + { + Xalpha_quest, TRUE, + EL_CHAR('?'), -1, -1 + }, + { + Xalpha_a, TRUE, + EL_CHAR('A'), -1, -1 + }, + { + Xalpha_b, TRUE, + EL_CHAR('B'), -1, -1 + }, + { + Xalpha_c, TRUE, + EL_CHAR('C'), -1, -1 + }, + { + Xalpha_d, TRUE, + EL_CHAR('D'), -1, -1 + }, + { + Xalpha_e, TRUE, + EL_CHAR('E'), -1, -1 + }, + { + Xalpha_f, TRUE, + EL_CHAR('F'), -1, -1 + }, + { + Xalpha_g, TRUE, + EL_CHAR('G'), -1, -1 + }, + { + Xalpha_h, TRUE, + EL_CHAR('H'), -1, -1 + }, + { + Xalpha_i, TRUE, + EL_CHAR('I'), -1, -1 + }, + { + Xalpha_j, TRUE, + EL_CHAR('J'), -1, -1 + }, + { + Xalpha_k, TRUE, + EL_CHAR('K'), -1, -1 + }, + { + Xalpha_l, TRUE, + EL_CHAR('L'), -1, -1 + }, + { + Xalpha_m, TRUE, + EL_CHAR('M'), -1, -1 + }, + { + Xalpha_n, TRUE, + EL_CHAR('N'), -1, -1 + }, + { + Xalpha_o, TRUE, + EL_CHAR('O'), -1, -1 + }, + { + Xalpha_p, TRUE, + EL_CHAR('P'), -1, -1 + }, + { + Xalpha_q, TRUE, + EL_CHAR('Q'), -1, -1 + }, + { + Xalpha_r, TRUE, + EL_CHAR('R'), -1, -1 + }, + { + Xalpha_s, TRUE, + EL_CHAR('S'), -1, -1 + }, + { + Xalpha_t, TRUE, + EL_CHAR('T'), -1, -1 + }, + { + Xalpha_u, TRUE, + EL_CHAR('U'), -1, -1 + }, + { + Xalpha_v, TRUE, + EL_CHAR('V'), -1, -1 + }, + { + Xalpha_w, TRUE, + EL_CHAR('W'), -1, -1 + }, + { + Xalpha_x, TRUE, + EL_CHAR('X'), -1, -1 + }, + { + Xalpha_y, TRUE, + EL_CHAR('Y'), -1, -1 + }, + { + Xalpha_z, TRUE, + EL_CHAR('Z'), -1, -1 + }, + { + Xalpha_arrow_e, TRUE, + EL_CHAR('>'), -1, -1 + }, + { + Xalpha_arrow_w, TRUE, + EL_CHAR('<'), -1, -1 + }, + { + Xalpha_copyr, TRUE, + EL_CHAR('©'), -1, -1 + }, + + { + Zplayer, TRUE, + EL_PLAYER_1, -1, -1 + }, + + { + ZBORDER, TRUE, + EL_EMC_LEVEL_BORDER, -1, -1 + }, + + { + -1, FALSE, + -1, -1, -1 + } +}; + +int map_element_RND_to_EM(int element_rnd) +{ + static unsigned short mapping_RND_to_EM[NUM_FILE_ELEMENTS]; + static boolean mapping_initialized = FALSE; + + if (!mapping_initialized) + { + int i; + + /* return "Xalpha_quest" for all undefined elements in mapping array */ + for (i = 0; i < NUM_FILE_ELEMENTS; i++) + mapping_RND_to_EM[i] = Xalpha_quest; + + for (i = 0; mapping_EM_to_RND_list[i].element_em != -1; i++) + if (mapping_EM_to_RND_list[i].is_rnd_to_em_mapping) + mapping_RND_to_EM[mapping_EM_to_RND_list[i].element_rnd] = + mapping_EM_to_RND_list[i].element_em; + + mapping_initialized = TRUE; + } + + if (element_rnd >= 0 && element_rnd < NUM_FILE_ELEMENTS) + return mapping_RND_to_EM[element_rnd]; + + Error(ERR_WARN, "invalid RND level element %d", element_rnd); + + return EL_UNKNOWN; +} + +int map_element_EM_to_RND(int element_em) +{ + static unsigned short mapping_EM_to_RND[TILE_MAX]; + static boolean mapping_initialized = FALSE; + + if (!mapping_initialized) + { + int i; + + /* return "EL_UNKNOWN" for all undefined elements in mapping array */ + for (i = 0; i < TILE_MAX; i++) + mapping_EM_to_RND[i] = EL_UNKNOWN; + + for (i = 0; mapping_EM_to_RND_list[i].element_em != -1; i++) + mapping_EM_to_RND[mapping_EM_to_RND_list[i].element_em] = + mapping_EM_to_RND_list[i].element_rnd; + + mapping_initialized = TRUE; + } + + if (element_em >= 0 && element_em < TILE_MAX) + return mapping_EM_to_RND[element_em]; + + Error(ERR_WARN, "invalid EM level element %d", element_em); + + return EL_UNKNOWN; +} + +#else + int map_element_RND_to_EM(int element_rnd) { static unsigned short mapping_RND_to_EM[NUM_FILE_ELEMENTS]; @@ -2938,7 +4575,7 @@ int map_element_RND_to_EM(int element_rnd) { Xball_1, EL_EMC_GENERATOR_BALL }, { Xgrow_ns, EL_EMC_GROW }, { Xwonderwall, EL_MAGIC_WALL }, - { Xameuba_1, EL_AMOEBA_WET }, + { Xamoeba_1, EL_AMOEBA_WET }, { Xdoor_1, EL_EM_GATE_1 }, { Xdoor_2, EL_EM_GATE_2 }, { Xdoor_3, EL_EM_GATE_3 }, @@ -2972,7 +4609,7 @@ int map_element_RND_to_EM(int element_rnd) { Xsand_stone, EL_QUICKSAND_FULL }, { Xplant, EL_EMC_PLANT }, { Xlenses, EL_EMC_LENSES }, - { Xmagnify, EL_EMC_MAGNIFY }, + { Xmagnify, EL_EMC_MAGNIFIER }, { Xdripper, EL_UNKNOWN }, { Xfake_blank, EL_INVISIBLE_WALL }, { Xfake_grass, EL_INVISIBLE_SAND }, @@ -3340,14 +4977,14 @@ int map_element_EM_to_RND(int element_em) { Ygrow_ew_eat, EL_EMC_GROW }, { Xwonderwall, EL_MAGIC_WALL }, { XwonderwallB, EL_MAGIC_WALL }, - { Xameuba_1, EL_AMOEBA_WET }, - { Xameuba_2, EL_AMOEBA_WET }, - { Xameuba_3, EL_AMOEBA_WET }, - { Xameuba_4, EL_AMOEBA_WET }, - { Xameuba_5, EL_AMOEBA_WET }, - { Xameuba_6, EL_AMOEBA_WET }, - { Xameuba_7, EL_AMOEBA_WET }, - { Xameuba_8, EL_AMOEBA_WET }, + { Xamoeba_1, EL_AMOEBA_WET }, + { Xamoeba_2, EL_AMOEBA_WET }, + { Xamoeba_3, EL_AMOEBA_WET }, + { Xamoeba_4, EL_AMOEBA_WET }, + { Xamoeba_5, EL_AMOEBA_WET }, + { Xamoeba_6, EL_AMOEBA_WET }, + { Xamoeba_7, EL_AMOEBA_WET }, + { Xamoeba_8, EL_AMOEBA_WET }, { Xdoor_1, EL_EM_GATE_1 }, { Xdoor_2, EL_EM_GATE_2 }, { Xdoor_3, EL_EM_GATE_3 }, @@ -3405,7 +5042,7 @@ int map_element_EM_to_RND(int element_em) { Xplant, EL_EMC_PLANT }, { Yplant, EL_EMC_PLANT }, { Xlenses, EL_EMC_LENSES }, - { Xmagnify, EL_EMC_MAGNIFY }, + { Xmagnify, EL_EMC_MAGNIFIER }, { Xdripper, EL_UNKNOWN }, { XdripperB, EL_UNKNOWN }, { Xfake_blank, EL_INVISIBLE_WALL }, @@ -3521,6 +5158,8 @@ int map_element_EM_to_RND(int element_em) return EL_UNKNOWN; } +#endif + int get_next_element(int element) { switch(element)