From 7344cb1d0c4fb6c05604d93fc7e99bc678c1937e Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 16 Mar 2004 03:48:23 +0100 Subject: [PATCH 1/1] rnd-20040316-1-src * added trigger element and trigger player to use as target elements * added copy and paste editor functions for custom and group elements --- ChangeLog | 4 + src/conf_e2g.c | 8 + src/conf_esg.c | 8 + src/conf_gfx.c | 16 + src/conf_gfx.h | 1496 ++++++++++++++++++++++++------------------------ src/conftime.h | 2 +- src/editor.c | 131 +++-- src/files.c | 69 +-- src/game.c | 68 ++- src/main.c | 11 +- src/main.h | 37 +- 11 files changed, 993 insertions(+), 857 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6beddf8..c0b1940a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-03-15 + * added trigger element and trigger player to use as target elements + * added copy and paste editor functions for custom and group elements + 2004-03-14 * fixed graphical bug when displaying explosion animations * fixed bug when appending to tapes, resulting in broken tapes diff --git a/src/conf_e2g.c b/src/conf_e2g.c index 3016da76..aafefbb6 100644 --- a/src/conf_e2g.c +++ b/src/conf_e2g.c @@ -2533,6 +2533,14 @@ element_to_graphic[] = EL_TRIGGER_PLAYER, -1, -1, FALSE, IMG_TRIGGER_PLAYER }, + { + EL_INTERNAL_CLIPBOARD_CUSTOM, -1, -1, FALSE, + IMG_INTERNAL_CLIPBOARD_CUSTOM + }, + { + EL_INTERNAL_CLIPBOARD_GROUP, -1, -1, FALSE, + IMG_INTERNAL_CLIPBOARD_GROUP + }, { EL_BD_BUTTERFLY_DOWN, -1, -1, FALSE, IMG_BD_BUTTERFLY diff --git a/src/conf_esg.c b/src/conf_esg.c index d981a115..53d7b0ed 100644 --- a/src/conf_esg.c +++ b/src/conf_esg.c @@ -279,6 +279,14 @@ element_to_special_graphic[] = EL_INVISIBLE_STEELWALL_VERTICAL, GFX_SPECIAL_ARG_EDITOR, IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR }, + { + EL_INTERNAL_CLIPBOARD_CUSTOM, GFX_SPECIAL_ARG_EDITOR, + IMG_INTERNAL_CLIPBOARD_CUSTOM_EDITOR + }, + { + EL_INTERNAL_CLIPBOARD_GROUP, GFX_SPECIAL_ARG_EDITOR, + IMG_INTERNAL_CLIPBOARD_GROUP_EDITOR + }, { EL_CUSTOM_1, GFX_SPECIAL_ARG_EDITOR, IMG_CUSTOM_1_EDITOR diff --git a/src/conf_gfx.c b/src/conf_gfx.c index db8957cc..a7bc64e4 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -3160,6 +3160,22 @@ struct ConfigInfo image_config[] = { "trigger_player.ypos", "13" }, { "trigger_player.frames", "1" }, + { "internal_clipboard_custom", "RocksElements.pcx" }, + { "internal_clipboard_custom.xpos", "7" }, + { "internal_clipboard_custom.ypos", "9" }, + { "internal_clipboard_custom.frames", "1" }, + { "internal_clipboard_custom.EDITOR", "RocksElements.pcx" }, + { "internal_clipboard_custom.EDITOR.xpos", "15" }, + { "internal_clipboard_custom.EDITOR.ypos", "13" }, + + { "internal_clipboard_group", "RocksDC.pcx" }, + { "internal_clipboard_group.xpos", "4" }, + { "internal_clipboard_group.ypos", "15" }, + { "internal_clipboard_group.frames", "1" }, + { "internal_clipboard_group.EDITOR", "RocksDC.pcx" }, + { "internal_clipboard_group.EDITOR.xpos", "14" }, + { "internal_clipboard_group.EDITOR.ypos", "15" }, + #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 */ diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 67ec08c2..7adec86e 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -658,752 +658,756 @@ #define IMG_UNKNOWN 637 #define IMG_TRIGGER_ELEMENT 638 #define IMG_TRIGGER_PLAYER 639 -#define IMG_CHAR_SPACE 640 -#define IMG_CHAR_EXCLAM 641 -#define IMG_CHAR_QUOTEDBL 642 -#define IMG_CHAR_NUMBERSIGN 643 -#define IMG_CHAR_DOLLAR 644 -#define IMG_CHAR_PROCENT 645 -#define IMG_CHAR_AMPERSAND 646 -#define IMG_CHAR_APOSTROPHE 647 -#define IMG_CHAR_PARENLEFT 648 -#define IMG_CHAR_PARENRIGHT 649 -#define IMG_CHAR_ASTERISK 650 -#define IMG_CHAR_PLUS 651 -#define IMG_CHAR_COMMA 652 -#define IMG_CHAR_MINUS 653 -#define IMG_CHAR_PERIOD 654 -#define IMG_CHAR_SLASH 655 -#define IMG_CHAR_0 656 -#define IMG_CHAR_1 657 -#define IMG_CHAR_2 658 -#define IMG_CHAR_3 659 -#define IMG_CHAR_4 660 -#define IMG_CHAR_5 661 -#define IMG_CHAR_6 662 -#define IMG_CHAR_7 663 -#define IMG_CHAR_8 664 -#define IMG_CHAR_9 665 -#define IMG_CHAR_COLON 666 -#define IMG_CHAR_SEMICOLON 667 -#define IMG_CHAR_LESS 668 -#define IMG_CHAR_EQUAL 669 -#define IMG_CHAR_GREATER 670 -#define IMG_CHAR_QUESTION 671 -#define IMG_CHAR_AT 672 -#define IMG_CHAR_A 673 -#define IMG_CHAR_B 674 -#define IMG_CHAR_C 675 -#define IMG_CHAR_D 676 -#define IMG_CHAR_E 677 -#define IMG_CHAR_F 678 -#define IMG_CHAR_G 679 -#define IMG_CHAR_H 680 -#define IMG_CHAR_I 681 -#define IMG_CHAR_J 682 -#define IMG_CHAR_K 683 -#define IMG_CHAR_L 684 -#define IMG_CHAR_M 685 -#define IMG_CHAR_N 686 -#define IMG_CHAR_O 687 -#define IMG_CHAR_P 688 -#define IMG_CHAR_Q 689 -#define IMG_CHAR_R 690 -#define IMG_CHAR_S 691 -#define IMG_CHAR_T 692 -#define IMG_CHAR_U 693 -#define IMG_CHAR_V 694 -#define IMG_CHAR_W 695 -#define IMG_CHAR_X 696 -#define IMG_CHAR_Y 697 -#define IMG_CHAR_Z 698 -#define IMG_CHAR_BRACKETLEFT 699 -#define IMG_CHAR_BACKSLASH 700 -#define IMG_CHAR_BRACKETRIGHT 701 -#define IMG_CHAR_ASCIICIRCUM 702 -#define IMG_CHAR_UNDERSCORE 703 -#define IMG_CHAR_COPYRIGHT 704 -#define IMG_CHAR_AUMLAUT 705 -#define IMG_CHAR_OUMLAUT 706 -#define IMG_CHAR_UUMLAUT 707 -#define IMG_CHAR_DEGREE 708 -#define IMG_CHAR_TRADEMARK 709 -#define IMG_CHAR_CURSOR 710 -#define IMG_CUSTOM_1 711 -#define IMG_CUSTOM_1_EDITOR 712 -#define IMG_CUSTOM_2 713 -#define IMG_CUSTOM_2_EDITOR 714 -#define IMG_CUSTOM_3 715 -#define IMG_CUSTOM_3_EDITOR 716 -#define IMG_CUSTOM_4 717 -#define IMG_CUSTOM_4_EDITOR 718 -#define IMG_CUSTOM_5 719 -#define IMG_CUSTOM_5_EDITOR 720 -#define IMG_CUSTOM_6 721 -#define IMG_CUSTOM_6_EDITOR 722 -#define IMG_CUSTOM_7 723 -#define IMG_CUSTOM_7_EDITOR 724 -#define IMG_CUSTOM_8 725 -#define IMG_CUSTOM_8_EDITOR 726 -#define IMG_CUSTOM_9 727 -#define IMG_CUSTOM_9_EDITOR 728 -#define IMG_CUSTOM_10 729 -#define IMG_CUSTOM_10_EDITOR 730 -#define IMG_CUSTOM_11 731 -#define IMG_CUSTOM_11_EDITOR 732 -#define IMG_CUSTOM_12 733 -#define IMG_CUSTOM_12_EDITOR 734 -#define IMG_CUSTOM_13 735 -#define IMG_CUSTOM_13_EDITOR 736 -#define IMG_CUSTOM_14 737 -#define IMG_CUSTOM_14_EDITOR 738 -#define IMG_CUSTOM_15 739 -#define IMG_CUSTOM_15_EDITOR 740 -#define IMG_CUSTOM_16 741 -#define IMG_CUSTOM_16_EDITOR 742 -#define IMG_CUSTOM_17 743 -#define IMG_CUSTOM_17_EDITOR 744 -#define IMG_CUSTOM_18 745 -#define IMG_CUSTOM_18_EDITOR 746 -#define IMG_CUSTOM_19 747 -#define IMG_CUSTOM_19_EDITOR 748 -#define IMG_CUSTOM_20 749 -#define IMG_CUSTOM_20_EDITOR 750 -#define IMG_CUSTOM_21 751 -#define IMG_CUSTOM_21_EDITOR 752 -#define IMG_CUSTOM_22 753 -#define IMG_CUSTOM_22_EDITOR 754 -#define IMG_CUSTOM_23 755 -#define IMG_CUSTOM_23_EDITOR 756 -#define IMG_CUSTOM_24 757 -#define IMG_CUSTOM_24_EDITOR 758 -#define IMG_CUSTOM_25 759 -#define IMG_CUSTOM_25_EDITOR 760 -#define IMG_CUSTOM_26 761 -#define IMG_CUSTOM_26_EDITOR 762 -#define IMG_CUSTOM_27 763 -#define IMG_CUSTOM_27_EDITOR 764 -#define IMG_CUSTOM_28 765 -#define IMG_CUSTOM_28_EDITOR 766 -#define IMG_CUSTOM_29 767 -#define IMG_CUSTOM_29_EDITOR 768 -#define IMG_CUSTOM_30 769 -#define IMG_CUSTOM_30_EDITOR 770 -#define IMG_CUSTOM_31 771 -#define IMG_CUSTOM_31_EDITOR 772 -#define IMG_CUSTOM_32 773 -#define IMG_CUSTOM_32_EDITOR 774 -#define IMG_CUSTOM_33 775 -#define IMG_CUSTOM_33_EDITOR 776 -#define IMG_CUSTOM_34 777 -#define IMG_CUSTOM_34_EDITOR 778 -#define IMG_CUSTOM_35 779 -#define IMG_CUSTOM_35_EDITOR 780 -#define IMG_CUSTOM_36 781 -#define IMG_CUSTOM_36_EDITOR 782 -#define IMG_CUSTOM_37 783 -#define IMG_CUSTOM_37_EDITOR 784 -#define IMG_CUSTOM_38 785 -#define IMG_CUSTOM_38_EDITOR 786 -#define IMG_CUSTOM_39 787 -#define IMG_CUSTOM_39_EDITOR 788 -#define IMG_CUSTOM_40 789 -#define IMG_CUSTOM_40_EDITOR 790 -#define IMG_CUSTOM_41 791 -#define IMG_CUSTOM_41_EDITOR 792 -#define IMG_CUSTOM_42 793 -#define IMG_CUSTOM_42_EDITOR 794 -#define IMG_CUSTOM_43 795 -#define IMG_CUSTOM_43_EDITOR 796 -#define IMG_CUSTOM_44 797 -#define IMG_CUSTOM_44_EDITOR 798 -#define IMG_CUSTOM_45 799 -#define IMG_CUSTOM_45_EDITOR 800 -#define IMG_CUSTOM_46 801 -#define IMG_CUSTOM_46_EDITOR 802 -#define IMG_CUSTOM_47 803 -#define IMG_CUSTOM_47_EDITOR 804 -#define IMG_CUSTOM_48 805 -#define IMG_CUSTOM_48_EDITOR 806 -#define IMG_CUSTOM_49 807 -#define IMG_CUSTOM_49_EDITOR 808 -#define IMG_CUSTOM_50 809 -#define IMG_CUSTOM_50_EDITOR 810 -#define IMG_CUSTOM_51 811 -#define IMG_CUSTOM_51_EDITOR 812 -#define IMG_CUSTOM_52 813 -#define IMG_CUSTOM_52_EDITOR 814 -#define IMG_CUSTOM_53 815 -#define IMG_CUSTOM_53_EDITOR 816 -#define IMG_CUSTOM_54 817 -#define IMG_CUSTOM_54_EDITOR 818 -#define IMG_CUSTOM_55 819 -#define IMG_CUSTOM_55_EDITOR 820 -#define IMG_CUSTOM_56 821 -#define IMG_CUSTOM_56_EDITOR 822 -#define IMG_CUSTOM_57 823 -#define IMG_CUSTOM_57_EDITOR 824 -#define IMG_CUSTOM_58 825 -#define IMG_CUSTOM_58_EDITOR 826 -#define IMG_CUSTOM_59 827 -#define IMG_CUSTOM_59_EDITOR 828 -#define IMG_CUSTOM_60 829 -#define IMG_CUSTOM_60_EDITOR 830 -#define IMG_CUSTOM_61 831 -#define IMG_CUSTOM_61_EDITOR 832 -#define IMG_CUSTOM_62 833 -#define IMG_CUSTOM_62_EDITOR 834 -#define IMG_CUSTOM_63 835 -#define IMG_CUSTOM_63_EDITOR 836 -#define IMG_CUSTOM_64 837 -#define IMG_CUSTOM_64_EDITOR 838 -#define IMG_CUSTOM_65 839 -#define IMG_CUSTOM_65_EDITOR 840 -#define IMG_CUSTOM_66 841 -#define IMG_CUSTOM_66_EDITOR 842 -#define IMG_CUSTOM_67 843 -#define IMG_CUSTOM_67_EDITOR 844 -#define IMG_CUSTOM_68 845 -#define IMG_CUSTOM_68_EDITOR 846 -#define IMG_CUSTOM_69 847 -#define IMG_CUSTOM_69_EDITOR 848 -#define IMG_CUSTOM_70 849 -#define IMG_CUSTOM_70_EDITOR 850 -#define IMG_CUSTOM_71 851 -#define IMG_CUSTOM_71_EDITOR 852 -#define IMG_CUSTOM_72 853 -#define IMG_CUSTOM_72_EDITOR 854 -#define IMG_CUSTOM_73 855 -#define IMG_CUSTOM_73_EDITOR 856 -#define IMG_CUSTOM_74 857 -#define IMG_CUSTOM_74_EDITOR 858 -#define IMG_CUSTOM_75 859 -#define IMG_CUSTOM_75_EDITOR 860 -#define IMG_CUSTOM_76 861 -#define IMG_CUSTOM_76_EDITOR 862 -#define IMG_CUSTOM_77 863 -#define IMG_CUSTOM_77_EDITOR 864 -#define IMG_CUSTOM_78 865 -#define IMG_CUSTOM_78_EDITOR 866 -#define IMG_CUSTOM_79 867 -#define IMG_CUSTOM_79_EDITOR 868 -#define IMG_CUSTOM_80 869 -#define IMG_CUSTOM_80_EDITOR 870 -#define IMG_CUSTOM_81 871 -#define IMG_CUSTOM_81_EDITOR 872 -#define IMG_CUSTOM_82 873 -#define IMG_CUSTOM_82_EDITOR 874 -#define IMG_CUSTOM_83 875 -#define IMG_CUSTOM_83_EDITOR 876 -#define IMG_CUSTOM_84 877 -#define IMG_CUSTOM_84_EDITOR 878 -#define IMG_CUSTOM_85 879 -#define IMG_CUSTOM_85_EDITOR 880 -#define IMG_CUSTOM_86 881 -#define IMG_CUSTOM_86_EDITOR 882 -#define IMG_CUSTOM_87 883 -#define IMG_CUSTOM_87_EDITOR 884 -#define IMG_CUSTOM_88 885 -#define IMG_CUSTOM_88_EDITOR 886 -#define IMG_CUSTOM_89 887 -#define IMG_CUSTOM_89_EDITOR 888 -#define IMG_CUSTOM_90 889 -#define IMG_CUSTOM_90_EDITOR 890 -#define IMG_CUSTOM_91 891 -#define IMG_CUSTOM_91_EDITOR 892 -#define IMG_CUSTOM_92 893 -#define IMG_CUSTOM_92_EDITOR 894 -#define IMG_CUSTOM_93 895 -#define IMG_CUSTOM_93_EDITOR 896 -#define IMG_CUSTOM_94 897 -#define IMG_CUSTOM_94_EDITOR 898 -#define IMG_CUSTOM_95 899 -#define IMG_CUSTOM_95_EDITOR 900 -#define IMG_CUSTOM_96 901 -#define IMG_CUSTOM_96_EDITOR 902 -#define IMG_CUSTOM_97 903 -#define IMG_CUSTOM_97_EDITOR 904 -#define IMG_CUSTOM_98 905 -#define IMG_CUSTOM_98_EDITOR 906 -#define IMG_CUSTOM_99 907 -#define IMG_CUSTOM_99_EDITOR 908 -#define IMG_CUSTOM_100 909 -#define IMG_CUSTOM_100_EDITOR 910 -#define IMG_CUSTOM_101 911 -#define IMG_CUSTOM_101_EDITOR 912 -#define IMG_CUSTOM_102 913 -#define IMG_CUSTOM_102_EDITOR 914 -#define IMG_CUSTOM_103 915 -#define IMG_CUSTOM_103_EDITOR 916 -#define IMG_CUSTOM_104 917 -#define IMG_CUSTOM_104_EDITOR 918 -#define IMG_CUSTOM_105 919 -#define IMG_CUSTOM_105_EDITOR 920 -#define IMG_CUSTOM_106 921 -#define IMG_CUSTOM_106_EDITOR 922 -#define IMG_CUSTOM_107 923 -#define IMG_CUSTOM_107_EDITOR 924 -#define IMG_CUSTOM_108 925 -#define IMG_CUSTOM_108_EDITOR 926 -#define IMG_CUSTOM_109 927 -#define IMG_CUSTOM_109_EDITOR 928 -#define IMG_CUSTOM_110 929 -#define IMG_CUSTOM_110_EDITOR 930 -#define IMG_CUSTOM_111 931 -#define IMG_CUSTOM_111_EDITOR 932 -#define IMG_CUSTOM_112 933 -#define IMG_CUSTOM_112_EDITOR 934 -#define IMG_CUSTOM_113 935 -#define IMG_CUSTOM_113_EDITOR 936 -#define IMG_CUSTOM_114 937 -#define IMG_CUSTOM_114_EDITOR 938 -#define IMG_CUSTOM_115 939 -#define IMG_CUSTOM_115_EDITOR 940 -#define IMG_CUSTOM_116 941 -#define IMG_CUSTOM_116_EDITOR 942 -#define IMG_CUSTOM_117 943 -#define IMG_CUSTOM_117_EDITOR 944 -#define IMG_CUSTOM_118 945 -#define IMG_CUSTOM_118_EDITOR 946 -#define IMG_CUSTOM_119 947 -#define IMG_CUSTOM_119_EDITOR 948 -#define IMG_CUSTOM_120 949 -#define IMG_CUSTOM_120_EDITOR 950 -#define IMG_CUSTOM_121 951 -#define IMG_CUSTOM_121_EDITOR 952 -#define IMG_CUSTOM_122 953 -#define IMG_CUSTOM_122_EDITOR 954 -#define IMG_CUSTOM_123 955 -#define IMG_CUSTOM_123_EDITOR 956 -#define IMG_CUSTOM_124 957 -#define IMG_CUSTOM_124_EDITOR 958 -#define IMG_CUSTOM_125 959 -#define IMG_CUSTOM_125_EDITOR 960 -#define IMG_CUSTOM_126 961 -#define IMG_CUSTOM_126_EDITOR 962 -#define IMG_CUSTOM_127 963 -#define IMG_CUSTOM_127_EDITOR 964 -#define IMG_CUSTOM_128 965 -#define IMG_CUSTOM_128_EDITOR 966 -#define IMG_CUSTOM_129 967 -#define IMG_CUSTOM_129_EDITOR 968 -#define IMG_CUSTOM_130 969 -#define IMG_CUSTOM_130_EDITOR 970 -#define IMG_CUSTOM_131 971 -#define IMG_CUSTOM_131_EDITOR 972 -#define IMG_CUSTOM_132 973 -#define IMG_CUSTOM_132_EDITOR 974 -#define IMG_CUSTOM_133 975 -#define IMG_CUSTOM_133_EDITOR 976 -#define IMG_CUSTOM_134 977 -#define IMG_CUSTOM_134_EDITOR 978 -#define IMG_CUSTOM_135 979 -#define IMG_CUSTOM_135_EDITOR 980 -#define IMG_CUSTOM_136 981 -#define IMG_CUSTOM_136_EDITOR 982 -#define IMG_CUSTOM_137 983 -#define IMG_CUSTOM_137_EDITOR 984 -#define IMG_CUSTOM_138 985 -#define IMG_CUSTOM_138_EDITOR 986 -#define IMG_CUSTOM_139 987 -#define IMG_CUSTOM_139_EDITOR 988 -#define IMG_CUSTOM_140 989 -#define IMG_CUSTOM_140_EDITOR 990 -#define IMG_CUSTOM_141 991 -#define IMG_CUSTOM_141_EDITOR 992 -#define IMG_CUSTOM_142 993 -#define IMG_CUSTOM_142_EDITOR 994 -#define IMG_CUSTOM_143 995 -#define IMG_CUSTOM_143_EDITOR 996 -#define IMG_CUSTOM_144 997 -#define IMG_CUSTOM_144_EDITOR 998 -#define IMG_CUSTOM_145 999 -#define IMG_CUSTOM_145_EDITOR 1000 -#define IMG_CUSTOM_146 1001 -#define IMG_CUSTOM_146_EDITOR 1002 -#define IMG_CUSTOM_147 1003 -#define IMG_CUSTOM_147_EDITOR 1004 -#define IMG_CUSTOM_148 1005 -#define IMG_CUSTOM_148_EDITOR 1006 -#define IMG_CUSTOM_149 1007 -#define IMG_CUSTOM_149_EDITOR 1008 -#define IMG_CUSTOM_150 1009 -#define IMG_CUSTOM_150_EDITOR 1010 -#define IMG_CUSTOM_151 1011 -#define IMG_CUSTOM_151_EDITOR 1012 -#define IMG_CUSTOM_152 1013 -#define IMG_CUSTOM_152_EDITOR 1014 -#define IMG_CUSTOM_153 1015 -#define IMG_CUSTOM_153_EDITOR 1016 -#define IMG_CUSTOM_154 1017 -#define IMG_CUSTOM_154_EDITOR 1018 -#define IMG_CUSTOM_155 1019 -#define IMG_CUSTOM_155_EDITOR 1020 -#define IMG_CUSTOM_156 1021 -#define IMG_CUSTOM_156_EDITOR 1022 -#define IMG_CUSTOM_157 1023 -#define IMG_CUSTOM_157_EDITOR 1024 -#define IMG_CUSTOM_158 1025 -#define IMG_CUSTOM_158_EDITOR 1026 -#define IMG_CUSTOM_159 1027 -#define IMG_CUSTOM_159_EDITOR 1028 -#define IMG_CUSTOM_160 1029 -#define IMG_CUSTOM_160_EDITOR 1030 -#define IMG_CUSTOM_161 1031 -#define IMG_CUSTOM_161_EDITOR 1032 -#define IMG_CUSTOM_162 1033 -#define IMG_CUSTOM_162_EDITOR 1034 -#define IMG_CUSTOM_163 1035 -#define IMG_CUSTOM_163_EDITOR 1036 -#define IMG_CUSTOM_164 1037 -#define IMG_CUSTOM_164_EDITOR 1038 -#define IMG_CUSTOM_165 1039 -#define IMG_CUSTOM_165_EDITOR 1040 -#define IMG_CUSTOM_166 1041 -#define IMG_CUSTOM_166_EDITOR 1042 -#define IMG_CUSTOM_167 1043 -#define IMG_CUSTOM_167_EDITOR 1044 -#define IMG_CUSTOM_168 1045 -#define IMG_CUSTOM_168_EDITOR 1046 -#define IMG_CUSTOM_169 1047 -#define IMG_CUSTOM_169_EDITOR 1048 -#define IMG_CUSTOM_170 1049 -#define IMG_CUSTOM_170_EDITOR 1050 -#define IMG_CUSTOM_171 1051 -#define IMG_CUSTOM_171_EDITOR 1052 -#define IMG_CUSTOM_172 1053 -#define IMG_CUSTOM_172_EDITOR 1054 -#define IMG_CUSTOM_173 1055 -#define IMG_CUSTOM_173_EDITOR 1056 -#define IMG_CUSTOM_174 1057 -#define IMG_CUSTOM_174_EDITOR 1058 -#define IMG_CUSTOM_175 1059 -#define IMG_CUSTOM_175_EDITOR 1060 -#define IMG_CUSTOM_176 1061 -#define IMG_CUSTOM_176_EDITOR 1062 -#define IMG_CUSTOM_177 1063 -#define IMG_CUSTOM_177_EDITOR 1064 -#define IMG_CUSTOM_178 1065 -#define IMG_CUSTOM_178_EDITOR 1066 -#define IMG_CUSTOM_179 1067 -#define IMG_CUSTOM_179_EDITOR 1068 -#define IMG_CUSTOM_180 1069 -#define IMG_CUSTOM_180_EDITOR 1070 -#define IMG_CUSTOM_181 1071 -#define IMG_CUSTOM_181_EDITOR 1072 -#define IMG_CUSTOM_182 1073 -#define IMG_CUSTOM_182_EDITOR 1074 -#define IMG_CUSTOM_183 1075 -#define IMG_CUSTOM_183_EDITOR 1076 -#define IMG_CUSTOM_184 1077 -#define IMG_CUSTOM_184_EDITOR 1078 -#define IMG_CUSTOM_185 1079 -#define IMG_CUSTOM_185_EDITOR 1080 -#define IMG_CUSTOM_186 1081 -#define IMG_CUSTOM_186_EDITOR 1082 -#define IMG_CUSTOM_187 1083 -#define IMG_CUSTOM_187_EDITOR 1084 -#define IMG_CUSTOM_188 1085 -#define IMG_CUSTOM_188_EDITOR 1086 -#define IMG_CUSTOM_189 1087 -#define IMG_CUSTOM_189_EDITOR 1088 -#define IMG_CUSTOM_190 1089 -#define IMG_CUSTOM_190_EDITOR 1090 -#define IMG_CUSTOM_191 1091 -#define IMG_CUSTOM_191_EDITOR 1092 -#define IMG_CUSTOM_192 1093 -#define IMG_CUSTOM_192_EDITOR 1094 -#define IMG_CUSTOM_193 1095 -#define IMG_CUSTOM_193_EDITOR 1096 -#define IMG_CUSTOM_194 1097 -#define IMG_CUSTOM_194_EDITOR 1098 -#define IMG_CUSTOM_195 1099 -#define IMG_CUSTOM_195_EDITOR 1100 -#define IMG_CUSTOM_196 1101 -#define IMG_CUSTOM_196_EDITOR 1102 -#define IMG_CUSTOM_197 1103 -#define IMG_CUSTOM_197_EDITOR 1104 -#define IMG_CUSTOM_198 1105 -#define IMG_CUSTOM_198_EDITOR 1106 -#define IMG_CUSTOM_199 1107 -#define IMG_CUSTOM_199_EDITOR 1108 -#define IMG_CUSTOM_200 1109 -#define IMG_CUSTOM_200_EDITOR 1110 -#define IMG_CUSTOM_201 1111 -#define IMG_CUSTOM_201_EDITOR 1112 -#define IMG_CUSTOM_202 1113 -#define IMG_CUSTOM_202_EDITOR 1114 -#define IMG_CUSTOM_203 1115 -#define IMG_CUSTOM_203_EDITOR 1116 -#define IMG_CUSTOM_204 1117 -#define IMG_CUSTOM_204_EDITOR 1118 -#define IMG_CUSTOM_205 1119 -#define IMG_CUSTOM_205_EDITOR 1120 -#define IMG_CUSTOM_206 1121 -#define IMG_CUSTOM_206_EDITOR 1122 -#define IMG_CUSTOM_207 1123 -#define IMG_CUSTOM_207_EDITOR 1124 -#define IMG_CUSTOM_208 1125 -#define IMG_CUSTOM_208_EDITOR 1126 -#define IMG_CUSTOM_209 1127 -#define IMG_CUSTOM_209_EDITOR 1128 -#define IMG_CUSTOM_210 1129 -#define IMG_CUSTOM_210_EDITOR 1130 -#define IMG_CUSTOM_211 1131 -#define IMG_CUSTOM_211_EDITOR 1132 -#define IMG_CUSTOM_212 1133 -#define IMG_CUSTOM_212_EDITOR 1134 -#define IMG_CUSTOM_213 1135 -#define IMG_CUSTOM_213_EDITOR 1136 -#define IMG_CUSTOM_214 1137 -#define IMG_CUSTOM_214_EDITOR 1138 -#define IMG_CUSTOM_215 1139 -#define IMG_CUSTOM_215_EDITOR 1140 -#define IMG_CUSTOM_216 1141 -#define IMG_CUSTOM_216_EDITOR 1142 -#define IMG_CUSTOM_217 1143 -#define IMG_CUSTOM_217_EDITOR 1144 -#define IMG_CUSTOM_218 1145 -#define IMG_CUSTOM_218_EDITOR 1146 -#define IMG_CUSTOM_219 1147 -#define IMG_CUSTOM_219_EDITOR 1148 -#define IMG_CUSTOM_220 1149 -#define IMG_CUSTOM_220_EDITOR 1150 -#define IMG_CUSTOM_221 1151 -#define IMG_CUSTOM_221_EDITOR 1152 -#define IMG_CUSTOM_222 1153 -#define IMG_CUSTOM_222_EDITOR 1154 -#define IMG_CUSTOM_223 1155 -#define IMG_CUSTOM_223_EDITOR 1156 -#define IMG_CUSTOM_224 1157 -#define IMG_CUSTOM_224_EDITOR 1158 -#define IMG_CUSTOM_225 1159 -#define IMG_CUSTOM_225_EDITOR 1160 -#define IMG_CUSTOM_226 1161 -#define IMG_CUSTOM_226_EDITOR 1162 -#define IMG_CUSTOM_227 1163 -#define IMG_CUSTOM_227_EDITOR 1164 -#define IMG_CUSTOM_228 1165 -#define IMG_CUSTOM_228_EDITOR 1166 -#define IMG_CUSTOM_229 1167 -#define IMG_CUSTOM_229_EDITOR 1168 -#define IMG_CUSTOM_230 1169 -#define IMG_CUSTOM_230_EDITOR 1170 -#define IMG_CUSTOM_231 1171 -#define IMG_CUSTOM_231_EDITOR 1172 -#define IMG_CUSTOM_232 1173 -#define IMG_CUSTOM_232_EDITOR 1174 -#define IMG_CUSTOM_233 1175 -#define IMG_CUSTOM_233_EDITOR 1176 -#define IMG_CUSTOM_234 1177 -#define IMG_CUSTOM_234_EDITOR 1178 -#define IMG_CUSTOM_235 1179 -#define IMG_CUSTOM_235_EDITOR 1180 -#define IMG_CUSTOM_236 1181 -#define IMG_CUSTOM_236_EDITOR 1182 -#define IMG_CUSTOM_237 1183 -#define IMG_CUSTOM_237_EDITOR 1184 -#define IMG_CUSTOM_238 1185 -#define IMG_CUSTOM_238_EDITOR 1186 -#define IMG_CUSTOM_239 1187 -#define IMG_CUSTOM_239_EDITOR 1188 -#define IMG_CUSTOM_240 1189 -#define IMG_CUSTOM_240_EDITOR 1190 -#define IMG_CUSTOM_241 1191 -#define IMG_CUSTOM_241_EDITOR 1192 -#define IMG_CUSTOM_242 1193 -#define IMG_CUSTOM_242_EDITOR 1194 -#define IMG_CUSTOM_243 1195 -#define IMG_CUSTOM_243_EDITOR 1196 -#define IMG_CUSTOM_244 1197 -#define IMG_CUSTOM_244_EDITOR 1198 -#define IMG_CUSTOM_245 1199 -#define IMG_CUSTOM_245_EDITOR 1200 -#define IMG_CUSTOM_246 1201 -#define IMG_CUSTOM_246_EDITOR 1202 -#define IMG_CUSTOM_247 1203 -#define IMG_CUSTOM_247_EDITOR 1204 -#define IMG_CUSTOM_248 1205 -#define IMG_CUSTOM_248_EDITOR 1206 -#define IMG_CUSTOM_249 1207 -#define IMG_CUSTOM_249_EDITOR 1208 -#define IMG_CUSTOM_250 1209 -#define IMG_CUSTOM_250_EDITOR 1210 -#define IMG_CUSTOM_251 1211 -#define IMG_CUSTOM_251_EDITOR 1212 -#define IMG_CUSTOM_252 1213 -#define IMG_CUSTOM_252_EDITOR 1214 -#define IMG_CUSTOM_253 1215 -#define IMG_CUSTOM_253_EDITOR 1216 -#define IMG_CUSTOM_254 1217 -#define IMG_CUSTOM_254_EDITOR 1218 -#define IMG_CUSTOM_255 1219 -#define IMG_CUSTOM_255_EDITOR 1220 -#define IMG_CUSTOM_256 1221 -#define IMG_CUSTOM_256_EDITOR 1222 -#define IMG_GROUP_1 1223 -#define IMG_GROUP_1_EDITOR 1224 -#define IMG_GROUP_2 1225 -#define IMG_GROUP_2_EDITOR 1226 -#define IMG_GROUP_3 1227 -#define IMG_GROUP_3_EDITOR 1228 -#define IMG_GROUP_4 1229 -#define IMG_GROUP_4_EDITOR 1230 -#define IMG_GROUP_5 1231 -#define IMG_GROUP_5_EDITOR 1232 -#define IMG_GROUP_6 1233 -#define IMG_GROUP_6_EDITOR 1234 -#define IMG_GROUP_7 1235 -#define IMG_GROUP_7_EDITOR 1236 -#define IMG_GROUP_8 1237 -#define IMG_GROUP_8_EDITOR 1238 -#define IMG_GROUP_9 1239 -#define IMG_GROUP_9_EDITOR 1240 -#define IMG_GROUP_10 1241 -#define IMG_GROUP_10_EDITOR 1242 -#define IMG_GROUP_11 1243 -#define IMG_GROUP_11_EDITOR 1244 -#define IMG_GROUP_12 1245 -#define IMG_GROUP_12_EDITOR 1246 -#define IMG_GROUP_13 1247 -#define IMG_GROUP_13_EDITOR 1248 -#define IMG_GROUP_14 1249 -#define IMG_GROUP_14_EDITOR 1250 -#define IMG_GROUP_15 1251 -#define IMG_GROUP_15_EDITOR 1252 -#define IMG_GROUP_16 1253 -#define IMG_GROUP_16_EDITOR 1254 -#define IMG_GROUP_17 1255 -#define IMG_GROUP_17_EDITOR 1256 -#define IMG_GROUP_18 1257 -#define IMG_GROUP_18_EDITOR 1258 -#define IMG_GROUP_19 1259 -#define IMG_GROUP_19_EDITOR 1260 -#define IMG_GROUP_20 1261 -#define IMG_GROUP_20_EDITOR 1262 -#define IMG_GROUP_21 1263 -#define IMG_GROUP_21_EDITOR 1264 -#define IMG_GROUP_22 1265 -#define IMG_GROUP_22_EDITOR 1266 -#define IMG_GROUP_23 1267 -#define IMG_GROUP_23_EDITOR 1268 -#define IMG_GROUP_24 1269 -#define IMG_GROUP_24_EDITOR 1270 -#define IMG_GROUP_25 1271 -#define IMG_GROUP_25_EDITOR 1272 -#define IMG_GROUP_26 1273 -#define IMG_GROUP_26_EDITOR 1274 -#define IMG_GROUP_27 1275 -#define IMG_GROUP_27_EDITOR 1276 -#define IMG_GROUP_28 1277 -#define IMG_GROUP_28_EDITOR 1278 -#define IMG_GROUP_29 1279 -#define IMG_GROUP_29_EDITOR 1280 -#define IMG_GROUP_30 1281 -#define IMG_GROUP_30_EDITOR 1282 -#define IMG_GROUP_31 1283 -#define IMG_GROUP_31_EDITOR 1284 -#define IMG_GROUP_32 1285 -#define IMG_GROUP_32_EDITOR 1286 -#define IMG_TOON_1 1287 -#define IMG_TOON_2 1288 -#define IMG_TOON_3 1289 -#define IMG_TOON_4 1290 -#define IMG_TOON_5 1291 -#define IMG_TOON_6 1292 -#define IMG_TOON_7 1293 -#define IMG_TOON_8 1294 -#define IMG_TOON_9 1295 -#define IMG_TOON_10 1296 -#define IMG_TOON_11 1297 -#define IMG_TOON_12 1298 -#define IMG_TOON_13 1299 -#define IMG_TOON_14 1300 -#define IMG_TOON_15 1301 -#define IMG_TOON_16 1302 -#define IMG_TOON_17 1303 -#define IMG_TOON_18 1304 -#define IMG_TOON_19 1305 -#define IMG_TOON_20 1306 -#define IMG_MENU_CALIBRATE_RED 1307 -#define IMG_MENU_CALIBRATE_BLUE 1308 -#define IMG_MENU_CALIBRATE_YELLOW 1309 -#define IMG_MENU_BUTTON 1310 -#define IMG_MENU_BUTTON_ACTIVE 1311 -#define IMG_MENU_BUTTON_LEFT 1312 -#define IMG_MENU_BUTTON_RIGHT 1313 -#define IMG_MENU_BUTTON_UP 1314 -#define IMG_MENU_BUTTON_DOWN 1315 -#define IMG_MENU_BUTTON_LEFT_ACTIVE 1316 -#define IMG_MENU_BUTTON_RIGHT_ACTIVE 1317 -#define IMG_MENU_BUTTON_UP_ACTIVE 1318 -#define IMG_MENU_BUTTON_DOWN_ACTIVE 1319 -#define IMG_MENU_SCROLLBAR 1320 -#define IMG_MENU_SCROLLBAR_ACTIVE 1321 -#define IMG_FONT_INITIAL_1 1322 -#define IMG_FONT_INITIAL_2 1323 -#define IMG_FONT_INITIAL_3 1324 -#define IMG_FONT_INITIAL_4 1325 -#define IMG_FONT_TITLE_1 1326 -#define IMG_FONT_TITLE_1_LEVELS 1327 -#define IMG_FONT_TITLE_2 1328 -#define IMG_FONT_MENU_1 1329 -#define IMG_FONT_MENU_2 1330 -#define IMG_FONT_TEXT_1 1331 -#define IMG_FONT_TEXT_1_LEVELS 1332 -#define IMG_FONT_TEXT_1_PREVIEW 1333 -#define IMG_FONT_TEXT_1_SCORES 1334 -#define IMG_FONT_TEXT_1_ACTIVE_SCORES 1335 -#define IMG_FONT_TEXT_2 1336 -#define IMG_FONT_TEXT_2_LEVELS 1337 -#define IMG_FONT_TEXT_2_PREVIEW 1338 -#define IMG_FONT_TEXT_2_SCORES 1339 -#define IMG_FONT_TEXT_2_ACTIVE_SCORES 1340 -#define IMG_FONT_TEXT_3 1341 -#define IMG_FONT_TEXT_3_LEVELS 1342 -#define IMG_FONT_TEXT_3_PREVIEW 1343 -#define IMG_FONT_TEXT_3_SCORES 1344 -#define IMG_FONT_TEXT_3_ACTIVE_SCORES 1345 -#define IMG_FONT_TEXT_4 1346 -#define IMG_FONT_TEXT_4_LEVELS 1347 -#define IMG_FONT_TEXT_4_SCORES 1348 -#define IMG_FONT_TEXT_4_ACTIVE_SCORES 1349 -#define IMG_FONT_ENVELOPE_1 1350 -#define IMG_FONT_ENVELOPE_2 1351 -#define IMG_FONT_ENVELOPE_3 1352 -#define IMG_FONT_ENVELOPE_4 1353 -#define IMG_FONT_INPUT_1 1354 -#define IMG_FONT_INPUT_1_MAIN 1355 -#define IMG_FONT_INPUT_1_ACTIVE 1356 -#define IMG_FONT_INPUT_1_ACTIVE_MAIN 1357 -#define IMG_FONT_INPUT_1_ACTIVE_SETUP 1358 -#define IMG_FONT_INPUT_2 1359 -#define IMG_FONT_INPUT_2_ACTIVE 1360 -#define IMG_FONT_OPTION_OFF 1361 -#define IMG_FONT_OPTION_ON 1362 -#define IMG_FONT_VALUE_1 1363 -#define IMG_FONT_VALUE_2 1364 -#define IMG_FONT_VALUE_OLD 1365 -#define IMG_FONT_LEVEL_NUMBER 1366 -#define IMG_FONT_TAPE_RECORDER 1367 -#define IMG_FONT_GAME_INFO 1368 -#define IMG_GLOBAL_BORDER 1369 -#define IMG_GLOBAL_DOOR 1370 -#define IMG_EDITOR_ELEMENT_BORDER 1371 -#define IMG_EDITOR_ELEMENT_BORDER_INPUT 1372 -#define IMG_BACKGROUND_ENVELOPE_1 1373 -#define IMG_BACKGROUND_ENVELOPE_2 1374 -#define IMG_BACKGROUND_ENVELOPE_3 1375 -#define IMG_BACKGROUND_ENVELOPE_4 1376 -#define IMG_BACKGROUND 1377 -#define IMG_BACKGROUND_MAIN 1378 -#define IMG_BACKGROUND_LEVELS 1379 -#define IMG_BACKGROUND_SCORES 1380 -#define IMG_BACKGROUND_EDITOR 1381 -#define IMG_BACKGROUND_INFO 1382 -#define IMG_BACKGROUND_SETUP 1383 -#define IMG_BACKGROUND_DOOR 1384 +#define IMG_INTERNAL_CLIPBOARD_CUSTOM 640 +#define IMG_INTERNAL_CLIPBOARD_CUSTOM_EDITOR 641 +#define IMG_INTERNAL_CLIPBOARD_GROUP 642 +#define IMG_INTERNAL_CLIPBOARD_GROUP_EDITOR 643 +#define IMG_CHAR_SPACE 644 +#define IMG_CHAR_EXCLAM 645 +#define IMG_CHAR_QUOTEDBL 646 +#define IMG_CHAR_NUMBERSIGN 647 +#define IMG_CHAR_DOLLAR 648 +#define IMG_CHAR_PROCENT 649 +#define IMG_CHAR_AMPERSAND 650 +#define IMG_CHAR_APOSTROPHE 651 +#define IMG_CHAR_PARENLEFT 652 +#define IMG_CHAR_PARENRIGHT 653 +#define IMG_CHAR_ASTERISK 654 +#define IMG_CHAR_PLUS 655 +#define IMG_CHAR_COMMA 656 +#define IMG_CHAR_MINUS 657 +#define IMG_CHAR_PERIOD 658 +#define IMG_CHAR_SLASH 659 +#define IMG_CHAR_0 660 +#define IMG_CHAR_1 661 +#define IMG_CHAR_2 662 +#define IMG_CHAR_3 663 +#define IMG_CHAR_4 664 +#define IMG_CHAR_5 665 +#define IMG_CHAR_6 666 +#define IMG_CHAR_7 667 +#define IMG_CHAR_8 668 +#define IMG_CHAR_9 669 +#define IMG_CHAR_COLON 670 +#define IMG_CHAR_SEMICOLON 671 +#define IMG_CHAR_LESS 672 +#define IMG_CHAR_EQUAL 673 +#define IMG_CHAR_GREATER 674 +#define IMG_CHAR_QUESTION 675 +#define IMG_CHAR_AT 676 +#define IMG_CHAR_A 677 +#define IMG_CHAR_B 678 +#define IMG_CHAR_C 679 +#define IMG_CHAR_D 680 +#define IMG_CHAR_E 681 +#define IMG_CHAR_F 682 +#define IMG_CHAR_G 683 +#define IMG_CHAR_H 684 +#define IMG_CHAR_I 685 +#define IMG_CHAR_J 686 +#define IMG_CHAR_K 687 +#define IMG_CHAR_L 688 +#define IMG_CHAR_M 689 +#define IMG_CHAR_N 690 +#define IMG_CHAR_O 691 +#define IMG_CHAR_P 692 +#define IMG_CHAR_Q 693 +#define IMG_CHAR_R 694 +#define IMG_CHAR_S 695 +#define IMG_CHAR_T 696 +#define IMG_CHAR_U 697 +#define IMG_CHAR_V 698 +#define IMG_CHAR_W 699 +#define IMG_CHAR_X 700 +#define IMG_CHAR_Y 701 +#define IMG_CHAR_Z 702 +#define IMG_CHAR_BRACKETLEFT 703 +#define IMG_CHAR_BACKSLASH 704 +#define IMG_CHAR_BRACKETRIGHT 705 +#define IMG_CHAR_ASCIICIRCUM 706 +#define IMG_CHAR_UNDERSCORE 707 +#define IMG_CHAR_COPYRIGHT 708 +#define IMG_CHAR_AUMLAUT 709 +#define IMG_CHAR_OUMLAUT 710 +#define IMG_CHAR_UUMLAUT 711 +#define IMG_CHAR_DEGREE 712 +#define IMG_CHAR_TRADEMARK 713 +#define IMG_CHAR_CURSOR 714 +#define IMG_CUSTOM_1 715 +#define IMG_CUSTOM_1_EDITOR 716 +#define IMG_CUSTOM_2 717 +#define IMG_CUSTOM_2_EDITOR 718 +#define IMG_CUSTOM_3 719 +#define IMG_CUSTOM_3_EDITOR 720 +#define IMG_CUSTOM_4 721 +#define IMG_CUSTOM_4_EDITOR 722 +#define IMG_CUSTOM_5 723 +#define IMG_CUSTOM_5_EDITOR 724 +#define IMG_CUSTOM_6 725 +#define IMG_CUSTOM_6_EDITOR 726 +#define IMG_CUSTOM_7 727 +#define IMG_CUSTOM_7_EDITOR 728 +#define IMG_CUSTOM_8 729 +#define IMG_CUSTOM_8_EDITOR 730 +#define IMG_CUSTOM_9 731 +#define IMG_CUSTOM_9_EDITOR 732 +#define IMG_CUSTOM_10 733 +#define IMG_CUSTOM_10_EDITOR 734 +#define IMG_CUSTOM_11 735 +#define IMG_CUSTOM_11_EDITOR 736 +#define IMG_CUSTOM_12 737 +#define IMG_CUSTOM_12_EDITOR 738 +#define IMG_CUSTOM_13 739 +#define IMG_CUSTOM_13_EDITOR 740 +#define IMG_CUSTOM_14 741 +#define IMG_CUSTOM_14_EDITOR 742 +#define IMG_CUSTOM_15 743 +#define IMG_CUSTOM_15_EDITOR 744 +#define IMG_CUSTOM_16 745 +#define IMG_CUSTOM_16_EDITOR 746 +#define IMG_CUSTOM_17 747 +#define IMG_CUSTOM_17_EDITOR 748 +#define IMG_CUSTOM_18 749 +#define IMG_CUSTOM_18_EDITOR 750 +#define IMG_CUSTOM_19 751 +#define IMG_CUSTOM_19_EDITOR 752 +#define IMG_CUSTOM_20 753 +#define IMG_CUSTOM_20_EDITOR 754 +#define IMG_CUSTOM_21 755 +#define IMG_CUSTOM_21_EDITOR 756 +#define IMG_CUSTOM_22 757 +#define IMG_CUSTOM_22_EDITOR 758 +#define IMG_CUSTOM_23 759 +#define IMG_CUSTOM_23_EDITOR 760 +#define IMG_CUSTOM_24 761 +#define IMG_CUSTOM_24_EDITOR 762 +#define IMG_CUSTOM_25 763 +#define IMG_CUSTOM_25_EDITOR 764 +#define IMG_CUSTOM_26 765 +#define IMG_CUSTOM_26_EDITOR 766 +#define IMG_CUSTOM_27 767 +#define IMG_CUSTOM_27_EDITOR 768 +#define IMG_CUSTOM_28 769 +#define IMG_CUSTOM_28_EDITOR 770 +#define IMG_CUSTOM_29 771 +#define IMG_CUSTOM_29_EDITOR 772 +#define IMG_CUSTOM_30 773 +#define IMG_CUSTOM_30_EDITOR 774 +#define IMG_CUSTOM_31 775 +#define IMG_CUSTOM_31_EDITOR 776 +#define IMG_CUSTOM_32 777 +#define IMG_CUSTOM_32_EDITOR 778 +#define IMG_CUSTOM_33 779 +#define IMG_CUSTOM_33_EDITOR 780 +#define IMG_CUSTOM_34 781 +#define IMG_CUSTOM_34_EDITOR 782 +#define IMG_CUSTOM_35 783 +#define IMG_CUSTOM_35_EDITOR 784 +#define IMG_CUSTOM_36 785 +#define IMG_CUSTOM_36_EDITOR 786 +#define IMG_CUSTOM_37 787 +#define IMG_CUSTOM_37_EDITOR 788 +#define IMG_CUSTOM_38 789 +#define IMG_CUSTOM_38_EDITOR 790 +#define IMG_CUSTOM_39 791 +#define IMG_CUSTOM_39_EDITOR 792 +#define IMG_CUSTOM_40 793 +#define IMG_CUSTOM_40_EDITOR 794 +#define IMG_CUSTOM_41 795 +#define IMG_CUSTOM_41_EDITOR 796 +#define IMG_CUSTOM_42 797 +#define IMG_CUSTOM_42_EDITOR 798 +#define IMG_CUSTOM_43 799 +#define IMG_CUSTOM_43_EDITOR 800 +#define IMG_CUSTOM_44 801 +#define IMG_CUSTOM_44_EDITOR 802 +#define IMG_CUSTOM_45 803 +#define IMG_CUSTOM_45_EDITOR 804 +#define IMG_CUSTOM_46 805 +#define IMG_CUSTOM_46_EDITOR 806 +#define IMG_CUSTOM_47 807 +#define IMG_CUSTOM_47_EDITOR 808 +#define IMG_CUSTOM_48 809 +#define IMG_CUSTOM_48_EDITOR 810 +#define IMG_CUSTOM_49 811 +#define IMG_CUSTOM_49_EDITOR 812 +#define IMG_CUSTOM_50 813 +#define IMG_CUSTOM_50_EDITOR 814 +#define IMG_CUSTOM_51 815 +#define IMG_CUSTOM_51_EDITOR 816 +#define IMG_CUSTOM_52 817 +#define IMG_CUSTOM_52_EDITOR 818 +#define IMG_CUSTOM_53 819 +#define IMG_CUSTOM_53_EDITOR 820 +#define IMG_CUSTOM_54 821 +#define IMG_CUSTOM_54_EDITOR 822 +#define IMG_CUSTOM_55 823 +#define IMG_CUSTOM_55_EDITOR 824 +#define IMG_CUSTOM_56 825 +#define IMG_CUSTOM_56_EDITOR 826 +#define IMG_CUSTOM_57 827 +#define IMG_CUSTOM_57_EDITOR 828 +#define IMG_CUSTOM_58 829 +#define IMG_CUSTOM_58_EDITOR 830 +#define IMG_CUSTOM_59 831 +#define IMG_CUSTOM_59_EDITOR 832 +#define IMG_CUSTOM_60 833 +#define IMG_CUSTOM_60_EDITOR 834 +#define IMG_CUSTOM_61 835 +#define IMG_CUSTOM_61_EDITOR 836 +#define IMG_CUSTOM_62 837 +#define IMG_CUSTOM_62_EDITOR 838 +#define IMG_CUSTOM_63 839 +#define IMG_CUSTOM_63_EDITOR 840 +#define IMG_CUSTOM_64 841 +#define IMG_CUSTOM_64_EDITOR 842 +#define IMG_CUSTOM_65 843 +#define IMG_CUSTOM_65_EDITOR 844 +#define IMG_CUSTOM_66 845 +#define IMG_CUSTOM_66_EDITOR 846 +#define IMG_CUSTOM_67 847 +#define IMG_CUSTOM_67_EDITOR 848 +#define IMG_CUSTOM_68 849 +#define IMG_CUSTOM_68_EDITOR 850 +#define IMG_CUSTOM_69 851 +#define IMG_CUSTOM_69_EDITOR 852 +#define IMG_CUSTOM_70 853 +#define IMG_CUSTOM_70_EDITOR 854 +#define IMG_CUSTOM_71 855 +#define IMG_CUSTOM_71_EDITOR 856 +#define IMG_CUSTOM_72 857 +#define IMG_CUSTOM_72_EDITOR 858 +#define IMG_CUSTOM_73 859 +#define IMG_CUSTOM_73_EDITOR 860 +#define IMG_CUSTOM_74 861 +#define IMG_CUSTOM_74_EDITOR 862 +#define IMG_CUSTOM_75 863 +#define IMG_CUSTOM_75_EDITOR 864 +#define IMG_CUSTOM_76 865 +#define IMG_CUSTOM_76_EDITOR 866 +#define IMG_CUSTOM_77 867 +#define IMG_CUSTOM_77_EDITOR 868 +#define IMG_CUSTOM_78 869 +#define IMG_CUSTOM_78_EDITOR 870 +#define IMG_CUSTOM_79 871 +#define IMG_CUSTOM_79_EDITOR 872 +#define IMG_CUSTOM_80 873 +#define IMG_CUSTOM_80_EDITOR 874 +#define IMG_CUSTOM_81 875 +#define IMG_CUSTOM_81_EDITOR 876 +#define IMG_CUSTOM_82 877 +#define IMG_CUSTOM_82_EDITOR 878 +#define IMG_CUSTOM_83 879 +#define IMG_CUSTOM_83_EDITOR 880 +#define IMG_CUSTOM_84 881 +#define IMG_CUSTOM_84_EDITOR 882 +#define IMG_CUSTOM_85 883 +#define IMG_CUSTOM_85_EDITOR 884 +#define IMG_CUSTOM_86 885 +#define IMG_CUSTOM_86_EDITOR 886 +#define IMG_CUSTOM_87 887 +#define IMG_CUSTOM_87_EDITOR 888 +#define IMG_CUSTOM_88 889 +#define IMG_CUSTOM_88_EDITOR 890 +#define IMG_CUSTOM_89 891 +#define IMG_CUSTOM_89_EDITOR 892 +#define IMG_CUSTOM_90 893 +#define IMG_CUSTOM_90_EDITOR 894 +#define IMG_CUSTOM_91 895 +#define IMG_CUSTOM_91_EDITOR 896 +#define IMG_CUSTOM_92 897 +#define IMG_CUSTOM_92_EDITOR 898 +#define IMG_CUSTOM_93 899 +#define IMG_CUSTOM_93_EDITOR 900 +#define IMG_CUSTOM_94 901 +#define IMG_CUSTOM_94_EDITOR 902 +#define IMG_CUSTOM_95 903 +#define IMG_CUSTOM_95_EDITOR 904 +#define IMG_CUSTOM_96 905 +#define IMG_CUSTOM_96_EDITOR 906 +#define IMG_CUSTOM_97 907 +#define IMG_CUSTOM_97_EDITOR 908 +#define IMG_CUSTOM_98 909 +#define IMG_CUSTOM_98_EDITOR 910 +#define IMG_CUSTOM_99 911 +#define IMG_CUSTOM_99_EDITOR 912 +#define IMG_CUSTOM_100 913 +#define IMG_CUSTOM_100_EDITOR 914 +#define IMG_CUSTOM_101 915 +#define IMG_CUSTOM_101_EDITOR 916 +#define IMG_CUSTOM_102 917 +#define IMG_CUSTOM_102_EDITOR 918 +#define IMG_CUSTOM_103 919 +#define IMG_CUSTOM_103_EDITOR 920 +#define IMG_CUSTOM_104 921 +#define IMG_CUSTOM_104_EDITOR 922 +#define IMG_CUSTOM_105 923 +#define IMG_CUSTOM_105_EDITOR 924 +#define IMG_CUSTOM_106 925 +#define IMG_CUSTOM_106_EDITOR 926 +#define IMG_CUSTOM_107 927 +#define IMG_CUSTOM_107_EDITOR 928 +#define IMG_CUSTOM_108 929 +#define IMG_CUSTOM_108_EDITOR 930 +#define IMG_CUSTOM_109 931 +#define IMG_CUSTOM_109_EDITOR 932 +#define IMG_CUSTOM_110 933 +#define IMG_CUSTOM_110_EDITOR 934 +#define IMG_CUSTOM_111 935 +#define IMG_CUSTOM_111_EDITOR 936 +#define IMG_CUSTOM_112 937 +#define IMG_CUSTOM_112_EDITOR 938 +#define IMG_CUSTOM_113 939 +#define IMG_CUSTOM_113_EDITOR 940 +#define IMG_CUSTOM_114 941 +#define IMG_CUSTOM_114_EDITOR 942 +#define IMG_CUSTOM_115 943 +#define IMG_CUSTOM_115_EDITOR 944 +#define IMG_CUSTOM_116 945 +#define IMG_CUSTOM_116_EDITOR 946 +#define IMG_CUSTOM_117 947 +#define IMG_CUSTOM_117_EDITOR 948 +#define IMG_CUSTOM_118 949 +#define IMG_CUSTOM_118_EDITOR 950 +#define IMG_CUSTOM_119 951 +#define IMG_CUSTOM_119_EDITOR 952 +#define IMG_CUSTOM_120 953 +#define IMG_CUSTOM_120_EDITOR 954 +#define IMG_CUSTOM_121 955 +#define IMG_CUSTOM_121_EDITOR 956 +#define IMG_CUSTOM_122 957 +#define IMG_CUSTOM_122_EDITOR 958 +#define IMG_CUSTOM_123 959 +#define IMG_CUSTOM_123_EDITOR 960 +#define IMG_CUSTOM_124 961 +#define IMG_CUSTOM_124_EDITOR 962 +#define IMG_CUSTOM_125 963 +#define IMG_CUSTOM_125_EDITOR 964 +#define IMG_CUSTOM_126 965 +#define IMG_CUSTOM_126_EDITOR 966 +#define IMG_CUSTOM_127 967 +#define IMG_CUSTOM_127_EDITOR 968 +#define IMG_CUSTOM_128 969 +#define IMG_CUSTOM_128_EDITOR 970 +#define IMG_CUSTOM_129 971 +#define IMG_CUSTOM_129_EDITOR 972 +#define IMG_CUSTOM_130 973 +#define IMG_CUSTOM_130_EDITOR 974 +#define IMG_CUSTOM_131 975 +#define IMG_CUSTOM_131_EDITOR 976 +#define IMG_CUSTOM_132 977 +#define IMG_CUSTOM_132_EDITOR 978 +#define IMG_CUSTOM_133 979 +#define IMG_CUSTOM_133_EDITOR 980 +#define IMG_CUSTOM_134 981 +#define IMG_CUSTOM_134_EDITOR 982 +#define IMG_CUSTOM_135 983 +#define IMG_CUSTOM_135_EDITOR 984 +#define IMG_CUSTOM_136 985 +#define IMG_CUSTOM_136_EDITOR 986 +#define IMG_CUSTOM_137 987 +#define IMG_CUSTOM_137_EDITOR 988 +#define IMG_CUSTOM_138 989 +#define IMG_CUSTOM_138_EDITOR 990 +#define IMG_CUSTOM_139 991 +#define IMG_CUSTOM_139_EDITOR 992 +#define IMG_CUSTOM_140 993 +#define IMG_CUSTOM_140_EDITOR 994 +#define IMG_CUSTOM_141 995 +#define IMG_CUSTOM_141_EDITOR 996 +#define IMG_CUSTOM_142 997 +#define IMG_CUSTOM_142_EDITOR 998 +#define IMG_CUSTOM_143 999 +#define IMG_CUSTOM_143_EDITOR 1000 +#define IMG_CUSTOM_144 1001 +#define IMG_CUSTOM_144_EDITOR 1002 +#define IMG_CUSTOM_145 1003 +#define IMG_CUSTOM_145_EDITOR 1004 +#define IMG_CUSTOM_146 1005 +#define IMG_CUSTOM_146_EDITOR 1006 +#define IMG_CUSTOM_147 1007 +#define IMG_CUSTOM_147_EDITOR 1008 +#define IMG_CUSTOM_148 1009 +#define IMG_CUSTOM_148_EDITOR 1010 +#define IMG_CUSTOM_149 1011 +#define IMG_CUSTOM_149_EDITOR 1012 +#define IMG_CUSTOM_150 1013 +#define IMG_CUSTOM_150_EDITOR 1014 +#define IMG_CUSTOM_151 1015 +#define IMG_CUSTOM_151_EDITOR 1016 +#define IMG_CUSTOM_152 1017 +#define IMG_CUSTOM_152_EDITOR 1018 +#define IMG_CUSTOM_153 1019 +#define IMG_CUSTOM_153_EDITOR 1020 +#define IMG_CUSTOM_154 1021 +#define IMG_CUSTOM_154_EDITOR 1022 +#define IMG_CUSTOM_155 1023 +#define IMG_CUSTOM_155_EDITOR 1024 +#define IMG_CUSTOM_156 1025 +#define IMG_CUSTOM_156_EDITOR 1026 +#define IMG_CUSTOM_157 1027 +#define IMG_CUSTOM_157_EDITOR 1028 +#define IMG_CUSTOM_158 1029 +#define IMG_CUSTOM_158_EDITOR 1030 +#define IMG_CUSTOM_159 1031 +#define IMG_CUSTOM_159_EDITOR 1032 +#define IMG_CUSTOM_160 1033 +#define IMG_CUSTOM_160_EDITOR 1034 +#define IMG_CUSTOM_161 1035 +#define IMG_CUSTOM_161_EDITOR 1036 +#define IMG_CUSTOM_162 1037 +#define IMG_CUSTOM_162_EDITOR 1038 +#define IMG_CUSTOM_163 1039 +#define IMG_CUSTOM_163_EDITOR 1040 +#define IMG_CUSTOM_164 1041 +#define IMG_CUSTOM_164_EDITOR 1042 +#define IMG_CUSTOM_165 1043 +#define IMG_CUSTOM_165_EDITOR 1044 +#define IMG_CUSTOM_166 1045 +#define IMG_CUSTOM_166_EDITOR 1046 +#define IMG_CUSTOM_167 1047 +#define IMG_CUSTOM_167_EDITOR 1048 +#define IMG_CUSTOM_168 1049 +#define IMG_CUSTOM_168_EDITOR 1050 +#define IMG_CUSTOM_169 1051 +#define IMG_CUSTOM_169_EDITOR 1052 +#define IMG_CUSTOM_170 1053 +#define IMG_CUSTOM_170_EDITOR 1054 +#define IMG_CUSTOM_171 1055 +#define IMG_CUSTOM_171_EDITOR 1056 +#define IMG_CUSTOM_172 1057 +#define IMG_CUSTOM_172_EDITOR 1058 +#define IMG_CUSTOM_173 1059 +#define IMG_CUSTOM_173_EDITOR 1060 +#define IMG_CUSTOM_174 1061 +#define IMG_CUSTOM_174_EDITOR 1062 +#define IMG_CUSTOM_175 1063 +#define IMG_CUSTOM_175_EDITOR 1064 +#define IMG_CUSTOM_176 1065 +#define IMG_CUSTOM_176_EDITOR 1066 +#define IMG_CUSTOM_177 1067 +#define IMG_CUSTOM_177_EDITOR 1068 +#define IMG_CUSTOM_178 1069 +#define IMG_CUSTOM_178_EDITOR 1070 +#define IMG_CUSTOM_179 1071 +#define IMG_CUSTOM_179_EDITOR 1072 +#define IMG_CUSTOM_180 1073 +#define IMG_CUSTOM_180_EDITOR 1074 +#define IMG_CUSTOM_181 1075 +#define IMG_CUSTOM_181_EDITOR 1076 +#define IMG_CUSTOM_182 1077 +#define IMG_CUSTOM_182_EDITOR 1078 +#define IMG_CUSTOM_183 1079 +#define IMG_CUSTOM_183_EDITOR 1080 +#define IMG_CUSTOM_184 1081 +#define IMG_CUSTOM_184_EDITOR 1082 +#define IMG_CUSTOM_185 1083 +#define IMG_CUSTOM_185_EDITOR 1084 +#define IMG_CUSTOM_186 1085 +#define IMG_CUSTOM_186_EDITOR 1086 +#define IMG_CUSTOM_187 1087 +#define IMG_CUSTOM_187_EDITOR 1088 +#define IMG_CUSTOM_188 1089 +#define IMG_CUSTOM_188_EDITOR 1090 +#define IMG_CUSTOM_189 1091 +#define IMG_CUSTOM_189_EDITOR 1092 +#define IMG_CUSTOM_190 1093 +#define IMG_CUSTOM_190_EDITOR 1094 +#define IMG_CUSTOM_191 1095 +#define IMG_CUSTOM_191_EDITOR 1096 +#define IMG_CUSTOM_192 1097 +#define IMG_CUSTOM_192_EDITOR 1098 +#define IMG_CUSTOM_193 1099 +#define IMG_CUSTOM_193_EDITOR 1100 +#define IMG_CUSTOM_194 1101 +#define IMG_CUSTOM_194_EDITOR 1102 +#define IMG_CUSTOM_195 1103 +#define IMG_CUSTOM_195_EDITOR 1104 +#define IMG_CUSTOM_196 1105 +#define IMG_CUSTOM_196_EDITOR 1106 +#define IMG_CUSTOM_197 1107 +#define IMG_CUSTOM_197_EDITOR 1108 +#define IMG_CUSTOM_198 1109 +#define IMG_CUSTOM_198_EDITOR 1110 +#define IMG_CUSTOM_199 1111 +#define IMG_CUSTOM_199_EDITOR 1112 +#define IMG_CUSTOM_200 1113 +#define IMG_CUSTOM_200_EDITOR 1114 +#define IMG_CUSTOM_201 1115 +#define IMG_CUSTOM_201_EDITOR 1116 +#define IMG_CUSTOM_202 1117 +#define IMG_CUSTOM_202_EDITOR 1118 +#define IMG_CUSTOM_203 1119 +#define IMG_CUSTOM_203_EDITOR 1120 +#define IMG_CUSTOM_204 1121 +#define IMG_CUSTOM_204_EDITOR 1122 +#define IMG_CUSTOM_205 1123 +#define IMG_CUSTOM_205_EDITOR 1124 +#define IMG_CUSTOM_206 1125 +#define IMG_CUSTOM_206_EDITOR 1126 +#define IMG_CUSTOM_207 1127 +#define IMG_CUSTOM_207_EDITOR 1128 +#define IMG_CUSTOM_208 1129 +#define IMG_CUSTOM_208_EDITOR 1130 +#define IMG_CUSTOM_209 1131 +#define IMG_CUSTOM_209_EDITOR 1132 +#define IMG_CUSTOM_210 1133 +#define IMG_CUSTOM_210_EDITOR 1134 +#define IMG_CUSTOM_211 1135 +#define IMG_CUSTOM_211_EDITOR 1136 +#define IMG_CUSTOM_212 1137 +#define IMG_CUSTOM_212_EDITOR 1138 +#define IMG_CUSTOM_213 1139 +#define IMG_CUSTOM_213_EDITOR 1140 +#define IMG_CUSTOM_214 1141 +#define IMG_CUSTOM_214_EDITOR 1142 +#define IMG_CUSTOM_215 1143 +#define IMG_CUSTOM_215_EDITOR 1144 +#define IMG_CUSTOM_216 1145 +#define IMG_CUSTOM_216_EDITOR 1146 +#define IMG_CUSTOM_217 1147 +#define IMG_CUSTOM_217_EDITOR 1148 +#define IMG_CUSTOM_218 1149 +#define IMG_CUSTOM_218_EDITOR 1150 +#define IMG_CUSTOM_219 1151 +#define IMG_CUSTOM_219_EDITOR 1152 +#define IMG_CUSTOM_220 1153 +#define IMG_CUSTOM_220_EDITOR 1154 +#define IMG_CUSTOM_221 1155 +#define IMG_CUSTOM_221_EDITOR 1156 +#define IMG_CUSTOM_222 1157 +#define IMG_CUSTOM_222_EDITOR 1158 +#define IMG_CUSTOM_223 1159 +#define IMG_CUSTOM_223_EDITOR 1160 +#define IMG_CUSTOM_224 1161 +#define IMG_CUSTOM_224_EDITOR 1162 +#define IMG_CUSTOM_225 1163 +#define IMG_CUSTOM_225_EDITOR 1164 +#define IMG_CUSTOM_226 1165 +#define IMG_CUSTOM_226_EDITOR 1166 +#define IMG_CUSTOM_227 1167 +#define IMG_CUSTOM_227_EDITOR 1168 +#define IMG_CUSTOM_228 1169 +#define IMG_CUSTOM_228_EDITOR 1170 +#define IMG_CUSTOM_229 1171 +#define IMG_CUSTOM_229_EDITOR 1172 +#define IMG_CUSTOM_230 1173 +#define IMG_CUSTOM_230_EDITOR 1174 +#define IMG_CUSTOM_231 1175 +#define IMG_CUSTOM_231_EDITOR 1176 +#define IMG_CUSTOM_232 1177 +#define IMG_CUSTOM_232_EDITOR 1178 +#define IMG_CUSTOM_233 1179 +#define IMG_CUSTOM_233_EDITOR 1180 +#define IMG_CUSTOM_234 1181 +#define IMG_CUSTOM_234_EDITOR 1182 +#define IMG_CUSTOM_235 1183 +#define IMG_CUSTOM_235_EDITOR 1184 +#define IMG_CUSTOM_236 1185 +#define IMG_CUSTOM_236_EDITOR 1186 +#define IMG_CUSTOM_237 1187 +#define IMG_CUSTOM_237_EDITOR 1188 +#define IMG_CUSTOM_238 1189 +#define IMG_CUSTOM_238_EDITOR 1190 +#define IMG_CUSTOM_239 1191 +#define IMG_CUSTOM_239_EDITOR 1192 +#define IMG_CUSTOM_240 1193 +#define IMG_CUSTOM_240_EDITOR 1194 +#define IMG_CUSTOM_241 1195 +#define IMG_CUSTOM_241_EDITOR 1196 +#define IMG_CUSTOM_242 1197 +#define IMG_CUSTOM_242_EDITOR 1198 +#define IMG_CUSTOM_243 1199 +#define IMG_CUSTOM_243_EDITOR 1200 +#define IMG_CUSTOM_244 1201 +#define IMG_CUSTOM_244_EDITOR 1202 +#define IMG_CUSTOM_245 1203 +#define IMG_CUSTOM_245_EDITOR 1204 +#define IMG_CUSTOM_246 1205 +#define IMG_CUSTOM_246_EDITOR 1206 +#define IMG_CUSTOM_247 1207 +#define IMG_CUSTOM_247_EDITOR 1208 +#define IMG_CUSTOM_248 1209 +#define IMG_CUSTOM_248_EDITOR 1210 +#define IMG_CUSTOM_249 1211 +#define IMG_CUSTOM_249_EDITOR 1212 +#define IMG_CUSTOM_250 1213 +#define IMG_CUSTOM_250_EDITOR 1214 +#define IMG_CUSTOM_251 1215 +#define IMG_CUSTOM_251_EDITOR 1216 +#define IMG_CUSTOM_252 1217 +#define IMG_CUSTOM_252_EDITOR 1218 +#define IMG_CUSTOM_253 1219 +#define IMG_CUSTOM_253_EDITOR 1220 +#define IMG_CUSTOM_254 1221 +#define IMG_CUSTOM_254_EDITOR 1222 +#define IMG_CUSTOM_255 1223 +#define IMG_CUSTOM_255_EDITOR 1224 +#define IMG_CUSTOM_256 1225 +#define IMG_CUSTOM_256_EDITOR 1226 +#define IMG_GROUP_1 1227 +#define IMG_GROUP_1_EDITOR 1228 +#define IMG_GROUP_2 1229 +#define IMG_GROUP_2_EDITOR 1230 +#define IMG_GROUP_3 1231 +#define IMG_GROUP_3_EDITOR 1232 +#define IMG_GROUP_4 1233 +#define IMG_GROUP_4_EDITOR 1234 +#define IMG_GROUP_5 1235 +#define IMG_GROUP_5_EDITOR 1236 +#define IMG_GROUP_6 1237 +#define IMG_GROUP_6_EDITOR 1238 +#define IMG_GROUP_7 1239 +#define IMG_GROUP_7_EDITOR 1240 +#define IMG_GROUP_8 1241 +#define IMG_GROUP_8_EDITOR 1242 +#define IMG_GROUP_9 1243 +#define IMG_GROUP_9_EDITOR 1244 +#define IMG_GROUP_10 1245 +#define IMG_GROUP_10_EDITOR 1246 +#define IMG_GROUP_11 1247 +#define IMG_GROUP_11_EDITOR 1248 +#define IMG_GROUP_12 1249 +#define IMG_GROUP_12_EDITOR 1250 +#define IMG_GROUP_13 1251 +#define IMG_GROUP_13_EDITOR 1252 +#define IMG_GROUP_14 1253 +#define IMG_GROUP_14_EDITOR 1254 +#define IMG_GROUP_15 1255 +#define IMG_GROUP_15_EDITOR 1256 +#define IMG_GROUP_16 1257 +#define IMG_GROUP_16_EDITOR 1258 +#define IMG_GROUP_17 1259 +#define IMG_GROUP_17_EDITOR 1260 +#define IMG_GROUP_18 1261 +#define IMG_GROUP_18_EDITOR 1262 +#define IMG_GROUP_19 1263 +#define IMG_GROUP_19_EDITOR 1264 +#define IMG_GROUP_20 1265 +#define IMG_GROUP_20_EDITOR 1266 +#define IMG_GROUP_21 1267 +#define IMG_GROUP_21_EDITOR 1268 +#define IMG_GROUP_22 1269 +#define IMG_GROUP_22_EDITOR 1270 +#define IMG_GROUP_23 1271 +#define IMG_GROUP_23_EDITOR 1272 +#define IMG_GROUP_24 1273 +#define IMG_GROUP_24_EDITOR 1274 +#define IMG_GROUP_25 1275 +#define IMG_GROUP_25_EDITOR 1276 +#define IMG_GROUP_26 1277 +#define IMG_GROUP_26_EDITOR 1278 +#define IMG_GROUP_27 1279 +#define IMG_GROUP_27_EDITOR 1280 +#define IMG_GROUP_28 1281 +#define IMG_GROUP_28_EDITOR 1282 +#define IMG_GROUP_29 1283 +#define IMG_GROUP_29_EDITOR 1284 +#define IMG_GROUP_30 1285 +#define IMG_GROUP_30_EDITOR 1286 +#define IMG_GROUP_31 1287 +#define IMG_GROUP_31_EDITOR 1288 +#define IMG_GROUP_32 1289 +#define IMG_GROUP_32_EDITOR 1290 +#define IMG_TOON_1 1291 +#define IMG_TOON_2 1292 +#define IMG_TOON_3 1293 +#define IMG_TOON_4 1294 +#define IMG_TOON_5 1295 +#define IMG_TOON_6 1296 +#define IMG_TOON_7 1297 +#define IMG_TOON_8 1298 +#define IMG_TOON_9 1299 +#define IMG_TOON_10 1300 +#define IMG_TOON_11 1301 +#define IMG_TOON_12 1302 +#define IMG_TOON_13 1303 +#define IMG_TOON_14 1304 +#define IMG_TOON_15 1305 +#define IMG_TOON_16 1306 +#define IMG_TOON_17 1307 +#define IMG_TOON_18 1308 +#define IMG_TOON_19 1309 +#define IMG_TOON_20 1310 +#define IMG_MENU_CALIBRATE_RED 1311 +#define IMG_MENU_CALIBRATE_BLUE 1312 +#define IMG_MENU_CALIBRATE_YELLOW 1313 +#define IMG_MENU_BUTTON 1314 +#define IMG_MENU_BUTTON_ACTIVE 1315 +#define IMG_MENU_BUTTON_LEFT 1316 +#define IMG_MENU_BUTTON_RIGHT 1317 +#define IMG_MENU_BUTTON_UP 1318 +#define IMG_MENU_BUTTON_DOWN 1319 +#define IMG_MENU_BUTTON_LEFT_ACTIVE 1320 +#define IMG_MENU_BUTTON_RIGHT_ACTIVE 1321 +#define IMG_MENU_BUTTON_UP_ACTIVE 1322 +#define IMG_MENU_BUTTON_DOWN_ACTIVE 1323 +#define IMG_MENU_SCROLLBAR 1324 +#define IMG_MENU_SCROLLBAR_ACTIVE 1325 +#define IMG_FONT_INITIAL_1 1326 +#define IMG_FONT_INITIAL_2 1327 +#define IMG_FONT_INITIAL_3 1328 +#define IMG_FONT_INITIAL_4 1329 +#define IMG_FONT_TITLE_1 1330 +#define IMG_FONT_TITLE_1_LEVELS 1331 +#define IMG_FONT_TITLE_2 1332 +#define IMG_FONT_MENU_1 1333 +#define IMG_FONT_MENU_2 1334 +#define IMG_FONT_TEXT_1 1335 +#define IMG_FONT_TEXT_1_LEVELS 1336 +#define IMG_FONT_TEXT_1_PREVIEW 1337 +#define IMG_FONT_TEXT_1_SCORES 1338 +#define IMG_FONT_TEXT_1_ACTIVE_SCORES 1339 +#define IMG_FONT_TEXT_2 1340 +#define IMG_FONT_TEXT_2_LEVELS 1341 +#define IMG_FONT_TEXT_2_PREVIEW 1342 +#define IMG_FONT_TEXT_2_SCORES 1343 +#define IMG_FONT_TEXT_2_ACTIVE_SCORES 1344 +#define IMG_FONT_TEXT_3 1345 +#define IMG_FONT_TEXT_3_LEVELS 1346 +#define IMG_FONT_TEXT_3_PREVIEW 1347 +#define IMG_FONT_TEXT_3_SCORES 1348 +#define IMG_FONT_TEXT_3_ACTIVE_SCORES 1349 +#define IMG_FONT_TEXT_4 1350 +#define IMG_FONT_TEXT_4_LEVELS 1351 +#define IMG_FONT_TEXT_4_SCORES 1352 +#define IMG_FONT_TEXT_4_ACTIVE_SCORES 1353 +#define IMG_FONT_ENVELOPE_1 1354 +#define IMG_FONT_ENVELOPE_2 1355 +#define IMG_FONT_ENVELOPE_3 1356 +#define IMG_FONT_ENVELOPE_4 1357 +#define IMG_FONT_INPUT_1 1358 +#define IMG_FONT_INPUT_1_MAIN 1359 +#define IMG_FONT_INPUT_1_ACTIVE 1360 +#define IMG_FONT_INPUT_1_ACTIVE_MAIN 1361 +#define IMG_FONT_INPUT_1_ACTIVE_SETUP 1362 +#define IMG_FONT_INPUT_2 1363 +#define IMG_FONT_INPUT_2_ACTIVE 1364 +#define IMG_FONT_OPTION_OFF 1365 +#define IMG_FONT_OPTION_ON 1366 +#define IMG_FONT_VALUE_1 1367 +#define IMG_FONT_VALUE_2 1368 +#define IMG_FONT_VALUE_OLD 1369 +#define IMG_FONT_LEVEL_NUMBER 1370 +#define IMG_FONT_TAPE_RECORDER 1371 +#define IMG_FONT_GAME_INFO 1372 +#define IMG_GLOBAL_BORDER 1373 +#define IMG_GLOBAL_DOOR 1374 +#define IMG_EDITOR_ELEMENT_BORDER 1375 +#define IMG_EDITOR_ELEMENT_BORDER_INPUT 1376 +#define IMG_BACKGROUND_ENVELOPE_1 1377 +#define IMG_BACKGROUND_ENVELOPE_2 1378 +#define IMG_BACKGROUND_ENVELOPE_3 1379 +#define IMG_BACKGROUND_ENVELOPE_4 1380 +#define IMG_BACKGROUND 1381 +#define IMG_BACKGROUND_MAIN 1382 +#define IMG_BACKGROUND_LEVELS 1383 +#define IMG_BACKGROUND_SCORES 1384 +#define IMG_BACKGROUND_EDITOR 1385 +#define IMG_BACKGROUND_INFO 1386 +#define IMG_BACKGROUND_SETUP 1387 +#define IMG_BACKGROUND_DOOR 1388 -#define NUM_IMAGE_FILES 1385 +#define NUM_IMAGE_FILES 1389 #endif /* CONF_GFX_H */ diff --git a/src/conftime.h b/src/conftime.h index 7ca4bbad..434376c9 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-03-15 22:28]" +#define COMPILE_DATE_STRING "[2004-03-16 03:44]" diff --git a/src/editor.c b/src/editor.c index 67cd3d8c..2627994b 100644 --- a/src/editor.c +++ b/src/editor.c @@ -47,6 +47,8 @@ #define ED_CTRL1_BUTTONS_GFX_YPOS 236 #define ED_CTRL2_BUTTONS_GFX_YPOS 236 #define ED_CTRL3_BUTTONS_GFX_YPOS 324 +#define ED_CTRL4_BUTTONS_GFX_XPOS 44 +#define ED_CTRL4_BUTTONS_GFX_YPOS 214 #define ED_CTRL1_BUTTONS_ALT_GFX_YPOS 142 #define ED_CTRL3_BUTTONS_ALT_GFX_YPOS 302 @@ -62,6 +64,10 @@ #define ED_CTRL3_BUTTON_YSIZE 22 #define ED_CTRL3_BUTTONS_XPOS 6 #define ED_CTRL3_BUTTONS_YPOS 6 +#define ED_CTRL4_BUTTON_XSIZE 22 +#define ED_CTRL4_BUTTON_YSIZE 22 +#define ED_CTRL4_BUTTONS_XPOS 6 +#define ED_CTRL4_BUTTONS_YPOS 6 #define ED_CTRL1_BUTTONS_HORIZ 4 #define ED_CTRL1_BUTTONS_VERT 4 @@ -69,14 +75,19 @@ #define ED_CTRL2_BUTTONS_VERT 2 #define ED_CTRL3_BUTTONS_HORIZ 3 #define ED_CTRL3_BUTTONS_VERT 1 +#define ED_CTRL4_BUTTONS_HORIZ 2 +#define ED_CTRL4_BUTTONS_VERT 1 #define ED_NUM_CTRL1_BUTTONS (ED_CTRL1_BUTTONS_HORIZ * ED_CTRL1_BUTTONS_VERT) #define ED_NUM_CTRL2_BUTTONS (ED_CTRL2_BUTTONS_HORIZ * ED_CTRL2_BUTTONS_VERT) #define ED_NUM_CTRL3_BUTTONS (ED_CTRL3_BUTTONS_HORIZ * ED_CTRL3_BUTTONS_VERT) -#define ED_NUM_CTRL1_2_BUTTONS (ED_NUM_CTRL1_BUTTONS + ED_NUM_CTRL2_BUTTONS) +#define ED_NUM_CTRL4_BUTTONS (ED_CTRL4_BUTTONS_HORIZ * ED_CTRL4_BUTTONS_VERT) +#define ED_NUM_CTRL1_2_BUTTONS (ED_NUM_CTRL1_BUTTONS + ED_NUM_CTRL2_BUTTONS) +#define ED_NUM_CTRL1_3_BUTTONS (ED_NUM_CTRL1_2_BUTTONS + ED_NUM_CTRL3_BUTTONS) #define ED_NUM_CTRL_BUTTONS (ED_NUM_CTRL1_BUTTONS + \ ED_NUM_CTRL2_BUTTONS + \ - ED_NUM_CTRL3_BUTTONS) + ED_NUM_CTRL3_BUTTONS + \ + ED_NUM_CTRL4_BUTTONS) /* values for the element list */ #define ED_ELEMENTLIST_XPOS 5 @@ -327,9 +338,11 @@ #define GADGET_ID_CUSTOM_COPY_FROM (GADGET_ID_TOOLBOX_FIRST + 22) #define GADGET_ID_CUSTOM_COPY_TO (GADGET_ID_TOOLBOX_FIRST + 23) #define GADGET_ID_CUSTOM_EXCHANGE (GADGET_ID_TOOLBOX_FIRST + 24) +#define GADGET_ID_CUSTOM_COPY (GADGET_ID_TOOLBOX_FIRST + 25) +#define GADGET_ID_CUSTOM_PASTE (GADGET_ID_TOOLBOX_FIRST + 26) /* counter button identifiers */ -#define GADGET_ID_COUNTER_FIRST (GADGET_ID_TOOLBOX_FIRST + 25) +#define GADGET_ID_COUNTER_FIRST (GADGET_ID_TOOLBOX_FIRST + 27) #define GADGET_ID_SELECT_LEVEL_DOWN (GADGET_ID_COUNTER_FIRST + 0) #define GADGET_ID_SELECT_LEVEL_TEXT (GADGET_ID_COUNTER_FIRST + 1) @@ -459,7 +472,7 @@ #define GADGET_ID_CHANGE_SIDE (GADGET_ID_SELECTBOX_FIRST + 17) #define GADGET_ID_CHANGE_PLAYER (GADGET_ID_SELECTBOX_FIRST + 18) #define GADGET_ID_CHANGE_PAGE (GADGET_ID_SELECTBOX_FIRST + 19) -#define GADGET_ID_CHANGE_POWER (GADGET_ID_SELECTBOX_FIRST + 20) +#define GADGET_ID_CHANGE_REPLACE_WHEN (GADGET_ID_SELECTBOX_FIRST + 20) #define GADGET_ID_SELECT_CHANGE_PAGE (GADGET_ID_SELECTBOX_FIRST + 21) #define GADGET_ID_GROUP_CHOICE_MODE (GADGET_ID_SELECTBOX_FIRST + 22) @@ -650,7 +663,7 @@ #define ED_SELECTBOX_ID_CHANGE_SIDE 17 #define ED_SELECTBOX_ID_CHANGE_PLAYER 18 #define ED_SELECTBOX_ID_CHANGE_PAGE 19 -#define ED_SELECTBOX_ID_CHANGE_POWER 20 +#define ED_SELECTBOX_ID_CHANGE_REPLACE_WHEN 20 #define ED_SELECTBOX_ID_SELECT_CHANGE_PAGE 21 #define ED_SELECTBOX_ID_GROUP_CHOICE_MODE 22 @@ -866,6 +879,9 @@ static struct { '\0', "copy settings from other element" }, { '\0', "copy settings to other element" }, { '\0', "exchange settings with other element" }, + + { '\0', "copy settings from this element" }, + { '\0', "paste settings to this element" }, }; static int random_placement_value = 10; @@ -1088,7 +1104,7 @@ static struct 0, 100, GADGET_ID_CHANGE_CONT_RND_DOWN, GADGET_ID_CHANGE_CONT_RND_UP, GADGET_ID_CHANGE_CONT_RND_TEXT, GADGET_ID_NONE, - &custom_element_change.random, + &custom_element_change.random_percentage, NULL, "use random replace:", "%" }, }; @@ -1420,11 +1436,11 @@ static struct ValueTextInfo options_change_trigger_page[] = { -1, NULL } }; -static struct ValueTextInfo options_change_power[] = +static struct ValueTextInfo options_change_replace_when[] = { - { CP_NON_DESTRUCTIVE, "empty" }, - { CP_HALF_DESTRUCTIVE, "diggable" }, - { CP_FULL_DESTRUCTIVE, "destructible" }, + { CP_WHEN_EMPTY, "empty" }, + { CP_WHEN_DIGGABLE, "diggable" }, + { CP_WHEN_DESTRUCTIBLE, "destructible" }, { -1, NULL } }; @@ -1630,10 +1646,10 @@ static struct }, { ED_SETTINGS_XPOS(2), ED_SETTINGS_YPOS(10), - GADGET_ID_CHANGE_POWER, GADGET_ID_NONE, + GADGET_ID_CHANGE_REPLACE_WHEN, GADGET_ID_NONE, -1, - options_change_power, - &custom_element_change.power, + options_change_replace_when, + &custom_element_change.replace_when, "replace when", NULL, "which elements can be replaced" }, { @@ -2082,19 +2098,19 @@ static struct { ED_SETTINGS_XPOS(1), ED_SETTINGS_YPOS(9), GADGET_ID_CHANGE_USE_CONTENT, GADGET_ID_NONE, - &custom_element_change.use_content, + &custom_element_change.use_target_content, NULL, "use extended change target:","element changes to more elements" }, { ED_SETTINGS_XPOS(2), ED_SETTINGS_YPOS(11), GADGET_ID_CHANGE_ONLY_COMPLETE, GADGET_ID_NONE, - &custom_element_change.only_complete, + &custom_element_change.only_if_complete, NULL, "replace all or nothing", "only replace when all can be changed" }, { ED_SETTINGS_XPOS(2), ED_SETTINGS_YPOS(12), GADGET_ID_CHANGE_USE_RANDOM, GADGET_ID_NONE, - &custom_element_change.use_random_change, + &custom_element_change.use_random_replace, NULL, NULL, "use percentage for random replace" }, }; @@ -3969,7 +3985,7 @@ static void DrawDrawingArea(int id) for (x = 0; x < 3; x++) DrawMiniGraphicExt(drawto, gi->x + x * MINI_TILEX, gi->y + y * MINI_TILEY, - el2edimg(custom_element_change.content[x][y])); + el2edimg(custom_element_change.target_content[x][y])); else if (id == ED_DRAWING_ID_CUSTOM_CHANGE_TRIGGER) DrawMiniGraphicExt(drawto, gi->x, gi->y, el2edimg(custom_element_change.trigger_element)); @@ -4079,7 +4095,7 @@ static void CreateControlButtons() gd_xoffset = ED_CTRL1_BUTTONS_XPOS + x * ED_CTRL1_BUTTON_XSIZE; gd_yoffset = ED_CTRL1_BUTTONS_YPOS + y * ED_CTRL1_BUTTON_YSIZE; - width = ED_CTRL1_BUTTON_XSIZE; + width = ED_CTRL1_BUTTON_XSIZE; height = ED_CTRL1_BUTTON_YSIZE; gd_x1 = DOOR_GFX_PAGEX8 + gd_xoffset; @@ -4094,7 +4110,7 @@ static void CreateControlButtons() gd_xoffset = ED_CTRL2_BUTTONS_XPOS + x * ED_CTRL2_BUTTON_XSIZE; gd_yoffset = ED_CTRL2_BUTTONS_YPOS + y * ED_CTRL2_BUTTON_YSIZE; - width = ED_CTRL2_BUTTON_XSIZE; + width = ED_CTRL2_BUTTON_XSIZE; height = ED_CTRL2_BUTTON_YSIZE; gd_x1 = DOOR_GFX_PAGEX8 + gd_xoffset; @@ -4102,14 +4118,14 @@ static void CreateControlButtons() gd_y1 = DOOR_GFX_PAGEY1 + ED_CTRL2_BUTTONS_GFX_YPOS + gd_yoffset; gd_y2 = 0; /* no alternative graphic for these buttons */ } - else + else if (id < ED_NUM_CTRL1_3_BUTTONS) { int x = (i - ED_NUM_CTRL1_2_BUTTONS) % ED_CTRL3_BUTTONS_HORIZ + 1; int y = (i - ED_NUM_CTRL1_2_BUTTONS) / ED_CTRL3_BUTTONS_HORIZ; gd_xoffset = ED_CTRL3_BUTTONS_XPOS + x * ED_CTRL3_BUTTON_XSIZE; gd_yoffset = ED_CTRL3_BUTTONS_YPOS + y * ED_CTRL3_BUTTON_YSIZE; - width = ED_CTRL3_BUTTON_XSIZE; + width = ED_CTRL3_BUTTON_XSIZE; height = ED_CTRL3_BUTTON_YSIZE; gd_x1 = DOOR_GFX_PAGEX6 + gd_xoffset; @@ -4117,6 +4133,21 @@ static void CreateControlButtons() gd_y1 = DOOR_GFX_PAGEY1 + ED_CTRL3_BUTTONS_GFX_YPOS + gd_yoffset; gd_y2 = DOOR_GFX_PAGEY1 + ED_CTRL3_BUTTONS_ALT_GFX_YPOS + gd_yoffset; } + else + { + int x = (i - ED_NUM_CTRL1_3_BUTTONS) % ED_CTRL4_BUTTONS_HORIZ; + int y = (i - ED_NUM_CTRL1_3_BUTTONS) / ED_CTRL4_BUTTONS_HORIZ + 3; + + gd_xoffset = ED_CTRL4_BUTTONS_XPOS + x * ED_CTRL4_BUTTON_XSIZE; + gd_yoffset = ED_CTRL4_BUTTONS_YPOS + y * ED_CTRL4_BUTTON_YSIZE; + width = ED_CTRL4_BUTTON_XSIZE; + height = ED_CTRL4_BUTTON_YSIZE; + + gd_x1 = DOOR_GFX_PAGEX6 + ED_CTRL4_BUTTONS_GFX_XPOS + gd_xoffset; + gd_x2 = DOOR_GFX_PAGEX5 + ED_CTRL4_BUTTONS_GFX_XPOS + gd_xoffset; + gd_y1 = DOOR_GFX_PAGEY1 + ED_CTRL4_BUTTONS_GFX_YPOS + gd_yoffset; + gd_y2 = 0; /* no alternative graphic for these buttons */ + } gi = CreateGadget(GDI_CUSTOM_ID, id, GDI_CUSTOM_TYPE_ID, i, @@ -5286,7 +5317,9 @@ static void MapOrUnmapLevelEditorToolboxCustomGadgets(boolean map) { if (i == GADGET_ID_CUSTOM_COPY_FROM || i == GADGET_ID_CUSTOM_COPY_TO || - i == GADGET_ID_CUSTOM_EXCHANGE) + i == GADGET_ID_CUSTOM_EXCHANGE || + i == GADGET_ID_CUSTOM_COPY || + i == GADGET_ID_CUSTOM_PASTE) { if (map) MapGadget(level_editor_gadget[i]); @@ -5534,15 +5567,15 @@ static void copy_custom_element_settings(int element_from, int element_to) change_to->explode = change_from->explode; change_to->use_content = change_from->use_content; - change_to->only_complete = change_from->only_complete; + change_to->only_if_complete = change_from->only_if_complete; change_to->use_random_change = change_from->use_random_change; - change_to->random = change_from->random; - change_to->power = change_from->power; + change_to->random_percentage = change_from->random_percentage; + change_to->replace_when = change_from->replace_when; for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) - change_to->content[x][y] = change_from->content[x][y]; + change_to->target_content[x][y] = change_from->target_content[x][y]; change_to->can_change = change_from->can_change; @@ -5580,8 +5613,8 @@ static void replace_custom_element_in_settings(int element_from, for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) - if (change->content[x][y] == element_from) - change->content[x][y] = element_to; + if (change->target_content[x][y] == element_from) + change->target_content[x][y] = element_to; } if (ei->group != NULL) /* group or internal */ @@ -5605,7 +5638,19 @@ static void replace_custom_element_in_playfield(int element_from, static boolean CopyCustomElement(int element_old, int element_new, int copy_mode) { - if (IS_CUSTOM_ELEMENT(element_old) && !IS_CUSTOM_ELEMENT(element_new)) + if (copy_mode == GADGET_ID_CUSTOM_COPY) + { + element_new = (IS_CUSTOM_ELEMENT(element_old) ? + EL_INTERNAL_CLIPBOARD_CUSTOM : EL_INTERNAL_CLIPBOARD_GROUP); + copy_mode = GADGET_ID_CUSTOM_COPY_TO; + } + else if (copy_mode == GADGET_ID_CUSTOM_PASTE) + { + element_old = (IS_CUSTOM_ELEMENT(element_new) ? + EL_INTERNAL_CLIPBOARD_CUSTOM : EL_INTERNAL_CLIPBOARD_GROUP); + copy_mode = GADGET_ID_CUSTOM_COPY_TO; + } + else if (IS_CUSTOM_ELEMENT(element_old) && !IS_CUSTOM_ELEMENT(element_new)) { Request("Please choose custom element !", REQ_CONFIRM); @@ -5628,17 +5673,17 @@ static boolean CopyCustomElement(int element_old, int element_new, } else if (copy_mode == GADGET_ID_CUSTOM_EXCHANGE) { - copy_custom_element_settings(element_old, EL_INTERNAL_EDITOR); + copy_custom_element_settings(element_old, EL_INTERNAL_DUMMY); copy_custom_element_settings(element_new, element_old); - copy_custom_element_settings(EL_INTERNAL_EDITOR, element_new); + copy_custom_element_settings(EL_INTERNAL_DUMMY, element_new); - replace_custom_element_in_settings(element_old, EL_INTERNAL_EDITOR); + replace_custom_element_in_settings(element_old, EL_INTERNAL_DUMMY); replace_custom_element_in_settings(element_new, element_old); - replace_custom_element_in_settings(EL_INTERNAL_EDITOR, element_new); + replace_custom_element_in_settings(EL_INTERNAL_DUMMY, element_new); - replace_custom_element_in_playfield(element_old, EL_INTERNAL_EDITOR); + replace_custom_element_in_playfield(element_old, EL_INTERNAL_DUMMY); replace_custom_element_in_playfield(element_new, element_old); - replace_custom_element_in_playfield(EL_INTERNAL_EDITOR, element_new); + replace_custom_element_in_playfield(EL_INTERNAL_DUMMY, element_new); } UpdateCustomElementGraphicGadgets(); @@ -6352,7 +6397,7 @@ static void DrawCustomChangeContentArea() int id = ED_DRAWING_ID_CUSTOM_CHANGE_CONTENT; struct GadgetInfo *gi = level_editor_gadget[drawingarea_info[id].gadget_id]; int x1 = right_gadget_border[GADGET_ID_CHANGE_USE_CONTENT]; - int x2 = right_gadget_border[GADGET_ID_CHANGE_POWER]; + int x2 = right_gadget_border[GADGET_ID_CHANGE_REPLACE_WHEN]; int x3 = right_gadget_border[GADGET_ID_CHANGE_ONLY_COMPLETE]; int xoffset = ED_DRAWINGAREA_TEXT_DISTANCE; @@ -8038,7 +8083,7 @@ static void HandleDrawingAreas(struct GadgetInfo *gi) } else if (id == GADGET_ID_CUSTOM_CHANGE_CONTENT) { - custom_element_change.content[sx][sy] = new_element; + custom_element_change.target_content[sx][sy] = new_element; CopyCustomElementPropertiesToGame(properties_element); } @@ -8171,7 +8216,7 @@ static void HandleDrawingAreas(struct GadgetInfo *gi) else if (id == GADGET_ID_CUSTOM_CHANGE_TARGET) PickDrawingElement(button, custom_element_change.target_element); else if (id == GADGET_ID_CUSTOM_CHANGE_CONTENT) - PickDrawingElement(button, custom_element_change.content[sx][sy]); + PickDrawingElement(button, custom_element_change.target_content[sx][sy]); else if (id == GADGET_ID_CUSTOM_CHANGE_TRIGGER) PickDrawingElement(button, custom_element_change.trigger_element); else if (id == GADGET_ID_GROUP_CONTENT) @@ -8637,6 +8682,14 @@ static void HandleControlButtons(struct GadgetInfo *gi) last_drawing_function = drawing_function; break; + case GADGET_ID_CUSTOM_COPY: + CopyCustomElement(properties_element, -1, id); + break; + + case GADGET_ID_CUSTOM_PASTE: + CopyCustomElement(-1, properties_element, id); + break; + case GADGET_ID_UNDO: if (undo_buffer_steps == 0) { @@ -9107,7 +9160,7 @@ static void HandleDrawingAreaInfo(struct GadgetInfo *gi) else if (id == GADGET_ID_CUSTOM_CHANGE_TARGET) element = custom_element_change.target_element; else if (id == GADGET_ID_CUSTOM_CHANGE_CONTENT) - element = custom_element_change.content[sx][sy]; + element = custom_element_change.target_content[sx][sy]; else if (id == GADGET_ID_CUSTOM_CHANGE_TRIGGER) element = custom_element_change.trigger_element; else if (id == GADGET_ID_GROUP_CONTENT) diff --git a/src/files.c b/src/files.c index e78e7ab8..56427a0a 100644 --- a/src/files.c +++ b/src/files.c @@ -106,15 +106,15 @@ void setElementChangeInfoToDefaults(struct ElementChangeInfo *change) change->trigger_element = EL_EMPTY_SPACE; change->explode = FALSE; - change->use_content = FALSE; - change->only_complete = FALSE; - change->use_random_change = FALSE; - change->random = 100; - change->power = CP_NON_DESTRUCTIVE; + change->use_target_content = FALSE; + change->only_if_complete = FALSE; + change->use_random_replace = FALSE; + change->random_percentage = 100; + change->replace_when = CP_WHEN_EMPTY; for (x = 0; x < 3; x++) for (y = 0; y < 3; y++) - change->content[x][y] = EL_EMPTY_SPACE; + change->target_content[x][y] = EL_EMPTY_SPACE; change->direct_action = 0; change->other_action = 0; @@ -203,7 +203,9 @@ static void setLevelInfoToDefaults(struct LevelInfo *level) setElementChangePages(&element_info[element], 1); setElementChangeInfoToDefaults(element_info[element].change); - if (IS_CUSTOM_ELEMENT(element) || IS_GROUP_ELEMENT(element)) + if (IS_CUSTOM_ELEMENT(element) || + IS_GROUP_ELEMENT(element) || + IS_INTERNAL_ELEMENT(element)) { for (j = 0; j < MAX_ELEMENT_NAME_LEN + 1; j++) element_info[element].description[j] = '\0'; @@ -219,7 +221,8 @@ static void setLevelInfoToDefaults(struct LevelInfo *level) element_info[element].gfx_element = EL_EMPTY_SPACE; } - if (IS_CUSTOM_ELEMENT(element)) + if (IS_CUSTOM_ELEMENT(element) || + IS_INTERNAL_ELEMENT(element)) { element_info[element].access_direction = MV_ALL_DIRECTIONS; @@ -270,7 +273,9 @@ static void setLevelInfoToDefaults(struct LevelInfo *level) element_info[element].modified_settings = FALSE; } - else if (IS_GROUP_ELEMENT(element) || element == EL_INTERNAL_EDITOR) + + if (IS_GROUP_ELEMENT(element) || + IS_INTERNAL_ELEMENT(element)) { /* initialize memory for list of elements in group */ if (element_info[element].group == NULL) @@ -965,16 +970,16 @@ static int LoadLevel_CUS3(FILE *file, int chunk_size, struct LevelInfo *level) getMappedElement(getFile16BitBE(file)); element_info[element].change->explode = getFile8Bit(file); - element_info[element].change->use_content = getFile8Bit(file); - element_info[element].change->only_complete = getFile8Bit(file); - element_info[element].change->use_random_change = getFile8Bit(file); + element_info[element].change->use_target_content = getFile8Bit(file); + element_info[element].change->only_if_complete = getFile8Bit(file); + element_info[element].change->use_random_replace = getFile8Bit(file); - element_info[element].change->random = getFile8Bit(file); - element_info[element].change->power = getFile8Bit(file); + element_info[element].change->random_percentage = getFile8Bit(file); + element_info[element].change->replace_when = getFile8Bit(file); for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) - element_info[element].change->content[x][y] = + element_info[element].change->target_content[x][y] = getMappedElement(getFile16BitBE(file)); element_info[element].slippery_type = getFile8Bit(file); @@ -1088,16 +1093,16 @@ static int LoadLevel_CUS4(FILE *file, int chunk_size, struct LevelInfo *level) change->trigger_element = getMappedElement(getFile16BitBE(file)); change->explode = getFile8Bit(file); - change->use_content = getFile8Bit(file); - change->only_complete = getFile8Bit(file); - change->use_random_change = getFile8Bit(file); + change->use_target_content = getFile8Bit(file); + change->only_if_complete = getFile8Bit(file); + change->use_random_replace = getFile8Bit(file); - change->random = getFile8Bit(file); - change->power = getFile8Bit(file); + change->random_percentage = getFile8Bit(file); + change->replace_when = getFile8Bit(file); for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) - change->content[x][y] = getMappedElement(getFile16BitBE(file)); + change->target_content[x][y] = getMappedElement(getFile16BitBE(file)); change->can_change = getFile8Bit(file); @@ -2645,12 +2650,12 @@ static void SaveLevel_CUS3(FILE *file, struct LevelInfo *level, putFile16BitBE(file, element_info[element].change->trigger_element); putFile8Bit(file, element_info[element].change->explode); - putFile8Bit(file, element_info[element].change->use_content); - putFile8Bit(file, element_info[element].change->only_complete); - putFile8Bit(file, element_info[element].change->use_random_change); + putFile8Bit(file, element_info[element].change->use_target_content); + putFile8Bit(file, element_info[element].change->only_if_complete); + putFile8Bit(file, element_info[element].change->use_random_replace); - putFile8Bit(file, element_info[element].change->random); - putFile8Bit(file, element_info[element].change->power); + putFile8Bit(file, element_info[element].change->random_percentage); + putFile8Bit(file, element_info[element].change->replace_when); for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) @@ -2745,16 +2750,16 @@ static void SaveLevel_CUS4(FILE *file, struct LevelInfo *level, int element) putFile16BitBE(file, change->trigger_element); putFile8Bit(file, change->explode); - putFile8Bit(file, change->use_content); - putFile8Bit(file, change->only_complete); - putFile8Bit(file, change->use_random_change); + putFile8Bit(file, change->use_target_content); + putFile8Bit(file, change->only_if_complete); + putFile8Bit(file, change->use_random_replace); - putFile8Bit(file, change->random); - putFile8Bit(file, change->power); + putFile8Bit(file, change->random_percentage); + putFile8Bit(file, change->replace_when); for (y = 0; y < 3; y++) for (x = 0; x < 3; x++) - putFile16BitBE(file, change->content[x][y]); + putFile16BitBE(file, change->target_content[x][y]); putFile8Bit(file, change->can_change); diff --git a/src/game.c b/src/game.c index 16603506..a37659ec 100644 --- a/src/game.c +++ b/src/game.c @@ -1859,7 +1859,7 @@ void InitGame() for (i = 0; i < element_info[element].num_change_pages; i++) { - content = element_info[element].change_page[i].content[xx][yy]; + content= element_info[element].change_page[i].target_content[xx][yy]; is_player = ELEM_IS_PLAYER(content); if (is_player && (found_rating < 1 || element < found_element)) @@ -6905,35 +6905,38 @@ static boolean ChangeElementNow(int x, int y, int element, int page) return TRUE; } - if (change->use_content) + if (change->use_target_content) { - boolean complete_change = TRUE; - boolean can_change[3][3]; + boolean complete_replace = TRUE; + boolean can_replace[3][3]; int xx, yy; for (yy = 0; yy < 3; yy++) for (xx = 0; xx < 3 ; xx++) { - boolean half_destructible; + boolean is_empty; + boolean is_diggable; + boolean is_destructible; int ex = x + xx - 1; int ey = y + yy - 1; + int content_element = change->target_content[xx][yy]; int e; - can_change[xx][yy] = TRUE; + can_replace[xx][yy] = TRUE; if (ex == x && ey == y) /* do not check changing element itself */ continue; - if (change->content[xx][yy] == EL_EMPTY_SPACE) + if (content_element == EL_EMPTY_SPACE) { - can_change[xx][yy] = FALSE; /* do not change empty borders */ + can_replace[xx][yy] = FALSE; /* do not replace border with space */ continue; } if (!IN_LEV_FIELD(ex, ey)) { - can_change[xx][yy] = FALSE; - complete_change = FALSE; + can_replace[xx][yy] = FALSE; + complete_replace = FALSE; continue; } @@ -6943,39 +6946,62 @@ static boolean ChangeElementNow(int x, int y, int element, int page) if (IS_MOVING(ex, ey) || IS_BLOCKED(ex, ey)) e = MovingOrBlocked2Element(ex, ey); +#if 1 + is_empty = (IS_FREE(ex, ey) || (IS_PLAYER(ex, ey) && + IS_WALKABLE(content_element))); + is_diggable = (is_empty || IS_DIGGABLE(e)); + is_destructible = (is_empty || !IS_INDESTRUCTIBLE(e)); + + can_replace[xx][yy] = + ((change->replace_when == CP_WHEN_EMPTY && is_empty) || + (change->replace_when == CP_WHEN_DIGGABLE && is_diggable) || + (change->replace_when == CP_WHEN_DESTRUCTIBLE && is_destructible)); + + if (!can_replace[xx][yy]) + complete_replace = FALSE; +#else + empty_for_element = (IS_FREE(ex, ey) || (IS_FREE_OR_PLAYER(ex, ey) && + IS_WALKABLE(content_element))); +#if 1 + half_destructible = (empty_for_element || IS_DIGGABLE(e)); +#else half_destructible = (IS_FREE(ex, ey) || IS_DIGGABLE(e)); +#endif - if ((change->power <= CP_NON_DESTRUCTIVE && !IS_FREE(ex, ey)) || - (change->power <= CP_HALF_DESTRUCTIVE && !half_destructible) || - (change->power <= CP_FULL_DESTRUCTIVE && IS_INDESTRUCTIBLE(e))) + if ((change->replace_when <= CP_WHEN_EMPTY && !empty_for_element) || + (change->replace_when <= CP_WHEN_DIGGABLE && !half_destructible) || + (change->replace_when <= CP_WHEN_DESTRUCTIBLE && IS_INDESTRUCTIBLE(e))) { - can_change[xx][yy] = FALSE; - complete_change = FALSE; + can_replace[xx][yy] = FALSE; + complete_replace = FALSE; } +#endif } - if (!change->only_complete || complete_change) + if (!change->only_if_complete || complete_replace) { boolean something_has_changed = FALSE; - if (change->only_complete && change->use_random_change && - RND(100) < change->random) + if (change->only_if_complete && change->use_random_replace && + RND(100) < change->random_percentage) return FALSE; for (yy = 0; yy < 3; yy++) for (xx = 0; xx < 3 ; xx++) { int ex = x + xx - 1; int ey = y + yy - 1; + int content_element; - if (can_change[xx][yy] && (!change->use_random_change || - RND(100) < change->random)) + if (can_replace[xx][yy] && (!change->use_random_replace || + RND(100) < change->random_percentage)) { if (IS_MOVING(ex, ey) || IS_BLOCKED(ex, ey)) RemoveMovingField(ex, ey); ChangeEvent[ex][ey] = ChangeEvent[x][y]; - target_element = GET_TARGET_ELEMENT(change->content[xx][yy], change); + content_element = change->target_content[xx][yy]; + target_element = GET_TARGET_ELEMENT(content_element, change); ChangeElementNowExt(ex, ey, target_element); diff --git a/src/main.c b/src/main.c index 61fc8e4a..7e197d45 100644 --- a/src/main.c +++ b/src/main.c @@ -3866,12 +3866,17 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "internal/editor", + "internal_clipboard_custom", "internal", - "-" + "empty custom element" + }, + { + "internal_clipboard_group", + "internal", + "empty group element" }, { - "internal/dummy", + "internal_dummy", "internal", "-" }, diff --git a/src/main.h b/src/main.h index 037ac80f..fd13bc90 100644 --- a/src/main.h +++ b/src/main.h @@ -236,9 +236,9 @@ #define CH_PAGE_ANY (0xffffffff) /* values for change power for custom elements */ -#define CP_NON_DESTRUCTIVE 0 -#define CP_HALF_DESTRUCTIVE 1 -#define CP_FULL_DESTRUCTIVE 2 +#define CP_WHEN_EMPTY 0 +#define CP_WHEN_DIGGABLE 1 +#define CP_WHEN_DESTRUCTIBLE 2 /* values for custom move patterns (bits 0 - 3: basic move directions) */ #define MV_BIT_TOWARDS_PLAYER 4 @@ -390,16 +390,19 @@ #define IS_GROUP_ELEMENT(e) ((e) >= EL_GROUP_START && \ (e) <= EL_GROUP_END) +#define IS_INTERNAL_ELEMENT(e) ((e) >= EL_INTERNAL_START && \ + (e) <= EL_INTERNAL_END) + #define IS_ENVELOPE(e) ((e) >= EL_ENVELOPE_1 && \ (e) <= EL_ENVELOPE_4) #define GFX_ELEMENT(e) (element_info[e].use_gfx_element ? \ element_info[e].gfx_element : e) -#define IS_PLAYER(x,y) (ELEM_IS_PLAYER(StorePlayer[x][y])) +#define IS_PLAYER(x, y) (ELEM_IS_PLAYER(StorePlayer[x][y])) -#define IS_FREE(x,y) (Feld[x][y] == EL_EMPTY && !IS_PLAYER(x,y)) -#define IS_FREE_OR_PLAYER(x,y) (Feld[x][y] == EL_EMPTY) +#define IS_FREE(x, y) (Feld[x][y] == EL_EMPTY && !IS_PLAYER(x, y)) +#define IS_FREE_OR_PLAYER(x, y) (Feld[x][y] == EL_EMPTY) #define IS_MOVING(x,y) (MovPos[x][y] != 0) #define IS_FALLING(x,y) (MovPos[x][y] != 0 && MovDir[x][y] == MV_DOWN) @@ -1011,10 +1014,14 @@ /* internal elements (only used for internal purposes like copying) */ #define EL_FIRST_INTERNAL (EL_FIRST_DUMMY + 25) -#define EL_INTERNAL_EDITOR (EL_FIRST_INTERNAL + 0) -#define EL_INTERNAL_DUMMY (EL_FIRST_INTERNAL + 1) +#define EL_INTERNAL_CLIPBOARD_CUSTOM (EL_FIRST_INTERNAL + 0) +#define EL_INTERNAL_CLIPBOARD_GROUP (EL_FIRST_INTERNAL + 1) +#define EL_INTERNAL_DUMMY (EL_FIRST_INTERNAL + 2) + +#define EL_INTERNAL_START (EL_FIRST_INTERNAL + 0) +#define EL_INTERNAL_END (EL_FIRST_INTERNAL + 2) -#define MAX_NUM_ELEMENTS (EL_FIRST_INTERNAL + 2) +#define MAX_NUM_ELEMENTS (EL_FIRST_INTERNAL + 3) /* values for graphics/sounds action types */ @@ -1546,12 +1553,12 @@ struct ElementChangeInfo short trigger_element; /* element triggering change */ - int content[3][3]; /* new elements after extended change */ - boolean use_content; /* use extended change content */ - boolean only_complete; /* only use complete content */ - boolean use_random_change; /* use random value for setting content */ - int random; /* random value for setting content */ - int power; /* power of extended change */ + int target_content[3][3]; /* elements for extended change target */ + boolean use_target_content; /* use extended change target */ + boolean only_if_complete; /* only use complete target content */ + boolean use_random_replace; /* use random value for replacing elements */ + int random_percentage; /* random value for replacing elements */ + int replace_when; /* type of elements that can be replaced */ boolean explode; /* explode instead of change */ -- 2.34.1