Rev 2574 | Rev 3014 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2574 | Rev 2632 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | color_s1 equ 0xffffff ;ᨣ « 1 |
15 | color_s1 equ 0xffffff ;ᨣ « 1 |
16 | color_s2 equ 0xff00 ;â®çª ¡¥§ ¯¥à¥á¥ç¥¨ï |
16 | color_s2 equ 0xff00 ;â®çª ¡¥§ ¯¥à¥á¥ç¥¨ï |
17 | color_s3 equ 0xff0000 ;¢à¥¬¥®¥ § 票¥ ¤«ï á®åà ¥¨ï |
17 | color_s3 equ 0xff0000 ;¢à¥¬¥®¥ § 票¥ ¤«ï á®åà ¥¨ï |
Line 18... | Line 18... | ||
18 | 18 | ||
- | 19 | color_border dd ini_def_c_border |
|
- | 20 | opt_sign_moves dd 4 |
|
Line 19... | Line 21... | ||
19 | color_border dd ini_def_c_border |
21 | opt_fast_mode dd 0 ;¡ëáâàë© à¥¦¨¬ |
Line 20... | Line 22... | ||
20 | 22 | ||
21 | debug equ 0 |
23 | debug equ 0 |
Line 50... | Line 52... | ||
50 | include 'dll.inc' |
52 | include 'dll.inc' |
51 | include 'le_pole.inc' |
53 | include 'le_pole.inc' |
52 | include 'le_signal.inc' |
54 | include 'le_signal.inc' |
Line 53... | Line 55... | ||
53 | 55 | ||
54 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
56 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
Line 55... | Line 57... | ||
55 | caption db '®£¨ç¥áª¨¥ í«¥¬¥âë 05.04.12',0 ;¯®¤¯¨áì ®ª |
57 | caption db '®£¨ç¥áª¨¥ í«¥¬¥âë 19.04.12',0 ;¯®¤¯¨áì ®ª |
56 | 58 | ||
57 | panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢ |
59 | panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢ |
58 | panel_1_coord_top equ 35 |
60 | panel_1_coord_top equ 35 |
Line 87... | Line 89... | ||
87 | FileName dd ? |
89 | FileName dd ? |
88 | ends |
90 | ends |
Line 89... | Line 91... | ||
89 | 91 | ||
90 | macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2 |
92 | macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2 |
91 | { |
93 | { |
92 | @@: db nam |
94 | @@: db nam,0 |
93 | rb @b+16-$ |
95 | rb @b+el_offs_col-$ |
94 | dd col |
96 | dd col |
95 | db box_x |
97 | db box_x |
96 | db box_y |
98 | db box_y |
97 | dd table+0 ;+el_offs_table |
99 | dd table+0 ;+el_offs_table |
Line 110... | Line 112... | ||
110 | elOpt 'and[4]',0xffff00,5,9,tbl_and.4, tbl_il_4, 4 |
112 | elOpt 'and[4]',0xffff00,5,9,tbl_and.4, tbl_il_4, 4 |
111 | elOpt 'and[5]',0xffff00,5,11,tbl_and.5, tbl_il_5, 5 |
113 | elOpt 'and[5]',0xffff00,5,11,tbl_and.5, tbl_il_5, 5 |
112 | elOpt 'not', 0xffff, 3,3,tbl_not, tbl_il_1, 1 |
114 | elOpt 'not', 0xffff, 3,3,tbl_not, tbl_il_1, 1 |
113 | elOpt 'xor', 0x8000ff,5,5,tbl_xor, tbl_il_2, 2 |
115 | elOpt 'xor', 0x8000ff,5,5,tbl_xor, tbl_il_2, 2 |
114 | elOpt 'sm[1]', 0x8080ff,7,7,tbl_sm, tbl_il_3, 1,4 |
116 | elOpt 'sm[1]', 0x8080ff,7,7,tbl_sm, tbl_il_3, 1,4 |
- | 117 | elOpt 'ms[2]', 0x8080ff,7,14,tbl_ms_2, tbl_il_m2,6 |
|
- | 118 | elOpt 'ms[2]e',0x8080ff,7,17,tbl_ms_2_e,tbl_il_m2e,8 |
|
115 | ;elOpt 'cd[8]', 0x8000, 7,17,tbl_cd_8,tbl_il_8, 6,2,2 ;è¨äà â®à 8 ¢å®¤®¢ |
119 | ;elOpt 'cd[8]', 0x8000, 7,17,tbl_cd_8,tbl_il_8, 6,2,2 ;è¨äà â®à 8 ¢å®¤®¢ |
116 | .end: |
120 | .end: |
117 | elOpt '???', 0x808080,3,3,tbl_and.3, tbl_il_1, 1 ;¥ ®¯®§ ë© í«¥¬¥â |
121 | elOpt '???', 0x808080,3,3,tbl_and.3, tbl_il_1, 1 ;¥ ®¯®§ ë© í«¥¬¥â |
Line 118... | Line 122... | ||
118 | 122 | ||
Line 126... | Line 130... | ||
126 | .3: dd 0 |
130 | .3: dd 0 |
127 | .2: db 0,0,0,1 |
131 | .2: db 0,0,0,1 |
128 | tbl_xor db 0,1,1,0 |
132 | tbl_xor db 0,1,1,0 |
129 | tbl_sm db 0,2,2,1, 2,1,1,3 |
133 | tbl_sm db 0,2,2,1, 2,1,1,3 |
130 | tbl_not db 1,0 ;not |
134 | tbl_not db 1,0 ;not |
- | 135 | ||
- | 136 | ;¬ã«ì⨯«¥ªá®à ¤«ï 2-å à §à冷£® ᨣ « |
|
- | 137 | align 4 |
|
- | 138 | tbl_ms_2_e: ;á® ¢å®¤®¬ 'e' |
|
- | 139 | dq 0,0,0,0,0,0,0,0 |
|
- | 140 | tbl_ms_2: |
|
- | 141 | db 0,1,0,1,0,1,0,1 |
|
- | 142 | db 0,1,0,1,0,1,0,1 |
|
- | 143 | db 0,0,1,1,0,0,1,1 |
|
- | 144 | db 0,0,1,1,0,0,1,1 |
|
- | 145 | db 0,0,0,0,1,1,1,1 |
|
- | 146 | db 0,0,0,0,1,1,1,1 |
|
- | 147 | dq 0 |
|
- | 148 | db 1,1,1,1,1,1,1,1 |
|
131 | ;tbl_cd_8 db ;256=2^8 |
149 | ;tbl_cd_8 db ;256=2^8 |
Line 132... | Line 150... | ||
132 | 150 | ||
133 | ;â ¡«¨æë ¤«ï ¢å®¤ëå ®£ |
151 | ;â ¡«¨æë ¤«ï ¢å®¤ëå ®£ |
134 | tbl_il_1 db 1,0 ;ª®à¯ãá 1 ®£ã |
152 | tbl_il_1 db 1,0 ;ª®à¯ãá 1 ®£ã |
135 | tbl_il_2 db 1,2,0 ;ª®à¯ãá 2 ®£¨ |
153 | tbl_il_2 db 1,2,0 ;ª®à¯ãá 2 ®£¨ |
136 | tbl_il_3 db 1,2,2,0 |
154 | tbl_il_3 db 1,2,2,0 |
137 | tbl_il_4 db 1,2,2,2,0 |
155 | tbl_il_4 db 1,2,2,2,0 |
- | 156 | tbl_il_5 db 1,2,2,2,2,0 |
|
- | 157 | tbl_il_m2 db 1,2,2,2,3,2,0 |
|
138 | tbl_il_5 db 1,2,2,2,2,0 |
158 | tbl_il_m2e db 1,2,2,2,3,2,3,0 |
Line 139... | Line 159... | ||
139 | ;tbl_il_8 db 1,2,2,2,2,2,2,2,0 |
159 | ;tbl_il_8 db 1,2,2,2,2,2,2,2,0 |
140 | 160 | ||
141 | time dd 0 |
161 | time dd 0 |
Line 225... | Line 245... | ||
225 | key_color_border db 'border',0 |
245 | key_color_border db 'border',0 |
226 | key_color_s0 db 's0',0 |
246 | key_color_s0 db 's0',0 |
227 | key_color_s1 db 's1',0 |
247 | key_color_s1 db 's1',0 |
228 | key_color_s2 db 's2',0 |
248 | key_color_s2 db 's2',0 |
229 | key_color_captions db 'captions',0 |
249 | key_color_captions db 'captions',0 |
- | 250 | ini_sec_options db 'Options',0 |
|
- | 251 | key_opt_sign_moves db 'signal_moves',0 |
|
- | 252 | key_opt_fast_mode db 'fast_mode',0 |
|
Line 230... | Line 253... | ||
230 | 253 | ||
231 | align 4 |
254 | align 4 |
232 | start: |
255 | start: |
233 | load_libraries l_libs_start,l_libs_end |
256 | load_libraries l_libs_start,l_libs_end |
Line 265... | Line 288... | ||
265 | pop ecx |
288 | pop ecx |
266 | mov dword[ebx+el_offs_col-el_offs_nam],eax |
289 | mov dword[ebx+el_offs_col-el_offs_nam],eax |
267 | add ebx,size_el_opt |
290 | add ebx,size_el_opt |
268 | loop @b |
291 | loop @b |
Line -... | Line 292... | ||
- | 292 | ||
- | 293 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_opt_sign_moves,[opt_sign_moves] |
|
- | 294 | mov dword[opt_sign_moves],eax |
|
- | 295 | stdcall dword[ini_get_int],file_name,ini_sec_options,key_opt_fast_mode,[opt_fast_mode] |
|
- | 296 | mov dword[opt_fast_mode],eax |
|
269 | 297 | ||
270 | ;*** ¯®¤£®â®¢ª ¤¨ «®£ |
298 | ;*** ¯®¤£®â®¢ª ¤¨ «®£ |
271 | stdcall [OpenDialog_Init],OpenDialog_data |
299 | stdcall [OpenDialog_Init],OpenDialog_data |
272 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
300 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
Line 365... | Line 393... | ||
365 | mov [last_time],eax |
393 | mov [last_time],eax |
Line 366... | Line 394... | ||
366 | 394 | ||
367 | cmp byte[tim_ch],0 |
395 | cmp byte[tim_ch],0 |
368 | je @f |
396 | je @f |
- | 397 | inc dword[time] |
|
- | 398 | cmp dword[opt_fast_mode],0 |
|
369 | inc dword[time] |
399 | jne .fast_m |
- | 400 | call sign_move |
|
370 | call sign_move |
401 | stdcall [buf2d_draw], buf_0 |
- | 402 | mov eax,[time] |
|
- | 403 | xor edx,edx |
|
371 | mov eax,[time] |
404 | div dword[opt_sign_moves] |
372 | and eax,11b ;ªà â®áâì 4-¬ |
405 | cmp edx,0 ;¯à®¢¥à塞 ªà â®áâì opt_sign_moves |
373 | jnz @f |
406 | jnz @f |
374 | call sign_from_elems |
407 | call sign_from_elems |
- | 408 | call sign_from_captions |
|
- | 409 | jmp @f |
|
- | 410 | .fast_m: |
|
- | 411 | mov ecx,[opt_sign_moves] |
|
- | 412 | cld |
|
- | 413 | .cycle: |
|
- | 414 | call sign_move |
|
- | 415 | loop .cycle |
|
- | 416 | call sign_from_elems |
|
- | 417 | call sign_from_captions |
|
375 | call sign_from_captions |
418 | stdcall [buf2d_draw], buf_0 |
Line 376... | Line 419... | ||
376 | @@: |
419 | @@: |
377 | 420 | ||
Line 1086... | Line 1129... | ||
1086 | but_open_file: |
1129 | but_open_file: |
1087 | pushad |
1130 | pushad |
1088 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
1131 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
1089 | mov [OpenDialog_data.type],0 |
1132 | mov [OpenDialog_data.type],0 |
1090 | stdcall [OpenDialog_Start],OpenDialog_data |
1133 | stdcall [OpenDialog_Start],OpenDialog_data |
1091 | cmp [OpenDialog_data.status],2 |
1134 | cmp [OpenDialog_data.status],1 ;0 - Cancel 1 - Open 2 - Error open dialog |
1092 | je .end_open_file |
1135 | jne .end_open_file |
1093 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
1136 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
Line 1094... | Line 1137... | ||
1094 | 1137 | ||
1095 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
1138 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
1096 | mov [run_file_70.Function], 0 |
1139 | mov [run_file_70.Function], 0 |
Line 1160... | Line 1203... | ||
1160 | call str_next_val |
1203 | call str_next_val |
1161 | stdcall conv_str_to_int,edi |
1204 | stdcall conv_str_to_int,edi |
1162 | mov byte[txt_buf+sp_offs_el_angle],al ; ¯à ¢«¥¨¥ |
1205 | mov byte[txt_buf+sp_offs_el_angle],al ; ¯à ¢«¥¨¥ |
1163 | call str_next_val |
1206 | call str_next_val |
1164 | ;¯® ¤à¥áã edi §¢ ¨¥ í«¥¬¥â |
1207 | ;¯® ¤à¥áã edi §¢ ¨¥ í«¥¬¥â |
1165 | stdcall el_get_name, edi |
1208 | stdcall el_get_name, edi,13 ;13 - ascii code |
1166 | mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥â |
1209 | mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥â |
Line 1167... | Line 1210... | ||
1167 | 1210 | ||
Line 1168... | Line 1211... | ||
1168 | stdcall make_list_capts,txt_buf,edi |
1211 | stdcall make_list_capts,txt_buf,edi |
Line 1875... | Line 1918... | ||
1875 | pop ebx |
1918 | pop ebx |
1876 | test ebx,ebx |
1919 | test ebx,ebx |
1877 | jnz @f |
1920 | jnz @f |
1878 | mov ebx,el_opt_beg+el_offs_nam ;¥á«¨ ¥ ¢§ï«®áì ¨¬ï í«¥¬¥â , â® ¯® 㬮«ç ¨î ¡¥à¥¬ 1-© ¨§ ᯨ᪠|
1921 | mov ebx,el_opt_beg+el_offs_nam ;¥á«¨ ¥ ¢§ï«®áì ¨¬ï í«¥¬¥â , â® ¯® 㬮«ç ¨î ¡¥à¥¬ 1-© ¨§ ᯨ᪠|
1879 | @@: |
1922 | @@: |
1880 | stdcall el_get_name, ebx |
1923 | stdcall el_get_name, ebx,0 |
1881 | mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥â |
1924 | mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥â |
Line 1882... | Line 1925... | ||
1882 | 1925 | ||
1883 | stdcall make_list_capts,txt_buf,ebx |
1926 | stdcall make_list_capts,txt_buf,ebx |
1884 | stdcall [tl_node_add], txt_buf,(el_icon_elems shl 16)+1, tree1 |
1927 | stdcall [tl_node_add], txt_buf,(el_icon_elems shl 16)+1, tree1 |
1885 | stdcall [tl_cur_next], tree1 |
1928 | stdcall [tl_cur_next], tree1 |
1886 | stdcall [tl_draw], tree1 |
1929 | stdcall [tl_draw], tree1 |
1887 | .end_f: |
1930 | .end_f: |
1888 | ret |
1931 | ret |
Line -... | Line 1932... | ||
- | 1932 | endp |
|
- | 1933 | ||
- | 1934 | ;description: |
|
- | 1935 | ; «¨§¨àã¥â áâபã á ¨¬¥¥¬ «®£. í«¥¬¥â ¨ ¢®§¢à é ¥â ®¬¥à «®£. í«¥¬¥â |
|
- | 1936 | ;input: |
|
1889 | endp |
1937 | ; str - 㪠§ ⥫ì áâபã ᮤ¥à¦ éãî ¨¬ï «®£. í«¥¬¥â |
1890 | 1938 | ; asciiz - ᨬ¢®« ª®â®àë© ¤®«¦¥ ¡ëâì § ¬¥¥ ascii 0 |
|
1891 | ;output: |
1939 | ;output: |
1892 | ; eax - ⨯ í«¥¬¥â |
1940 | ; eax - ⨯ í«¥¬¥â |
- | 1941 | align 4 |
|
- | 1942 | proc el_get_name uses ebx ecx edi esi, str:dword, asciiz:dword |
|
- | 1943 | mov edi,[str] |
|
- | 1944 | cmp dword[asciiz],0 |
|
- | 1945 | je @f |
|
- | 1946 | mov eax,dword[asciiz] |
|
- | 1947 | mov ecx,el_offs_col ;à §¬¥à ⥪áâ ¢ str ¥ ¡®«ìè¥ el_offs_col |
|
- | 1948 | cld |
|
- | 1949 | repne scasb |
|
- | 1950 | mov ebx,edi |
|
- | 1951 | dec ebx |
|
- | 1952 | mov byte[ebx],0 ;0 - ᨬ¢®« ª®æ áâப¨ ¤«ï ¯à ¢¨«ì®© à ¡®âë str_cmp |
|
1893 | align 4 |
1953 | @@: |
1894 | proc el_get_name uses ecx edi esi, str:dword |
1954 | |
1895 | mov edi,[str] |
1955 | mov edi,[str] |
1896 | mov esi,el_opt_beg+el_offs_nam |
1956 | mov esi,el_opt_beg+el_offs_nam |
1897 | xor ecx,ecx |
1957 | xor ecx,ecx |
1898 | @@: |
1958 | @@: |
1899 | stdcall str_instr, edi,esi |
1959 | stdcall str_cmp, edi,esi |
1900 | cmp eax,0 |
1960 | cmp eax,0 |
1901 | je @f |
1961 | je @f |
1902 | add esi,size_el_opt |
1962 | add esi,size_el_opt |
1903 | cmp esi,el_opt_beg.end |
1963 | cmp esi,el_opt_beg.end |
1904 | jge @f |
1964 | jge @f |
1905 | inc ecx |
1965 | inc ecx |
1906 | jmp @b |
1966 | jmp @b |
- | 1967 | @@: |
|
- | 1968 | mov eax,ecx |
|
- | 1969 | ||
- | 1970 | cmp dword[asciiz],0 |
|
- | 1971 | je @f |
|
- | 1972 | mov ecx,dword[asciiz] |
|
1907 | @@: |
1973 | mov byte[ebx],cl |
1908 | mov eax,ecx |
1974 | @@: |
Line 1909... | Line 1975... | ||
1909 | ret |
1975 | ret |
1910 | endp |
1976 | endp |
Line 2122... | Line 2188... | ||
2122 | sub al,[edi-1] |
2188 | sub al,[edi-1] |
2123 | .e1: ;áî¤ ¯®¯ ¤ ¥¬ ¥á«¨ áâப str1 (esi) § ª®ç¨« áì |
2189 | .e1: ;áî¤ ¯®¯ ¤ ¥¬ ¥á«¨ áâப str1 (esi) § ª®ç¨« áì |
2124 | ret |
2190 | ret |
2125 | endp |
2191 | endp |
Line -... | Line 2192... | ||
- | 2192 | ||
- | 2193 | ;description: |
|
- | 2194 | ; ¯à®¢¥àï¥â ᮢ¯ ¤¥¨¥ áâப str0 ¨ str1 |
|
- | 2195 | ;output: |
|
- | 2196 | ; eax = 0 ¥á«¨ str0 = str1 |
|
- | 2197 | ; eax = 1 ¥á«¨ str0 != str1 |
|
- | 2198 | align 4 |
|
- | 2199 | proc str_cmp uses ecx edi esi, str0:dword, str1:dword |
|
- | 2200 | xor eax,eax |
|
- | 2201 | mov edi,[str0] |
|
- | 2202 | mov esi,[str1] |
|
- | 2203 | mov ecx,0x8fffffff ;ecx - ®ç¥ì ¡®«ì讥 ç¨á«® |
|
- | 2204 | cld |
|
- | 2205 | repne scasb |
|
- | 2206 | ;dec edi |
|
- | 2207 | sub edi,[str0] |
|
- | 2208 | mov ecx,edi ;ecx = strlen(str0)+1 |
|
- | 2209 | ||
- | 2210 | mov edi,[str0] |
|
- | 2211 | repe cmpsb |
|
- | 2212 | je @f |
|
- | 2213 | inc eax |
|
- | 2214 | @@: |
|
- | 2215 | ret |
|
- | 2216 | endp |
|
2126 | 2217 | ||
2127 | align 4 |
2218 | align 4 |
2128 | proc but_run_stop |
2219 | proc but_run_stop |
2129 | xor byte[tim_ch],1 |
2220 | xor byte[tim_ch],1 |
2130 | cmp byte[tim_ch],0 |
2221 | cmp byte[tim_ch],0 |