Rev 2432 | Rev 6763 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2432 | Rev 2628 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; Screenshooter for Kolibri |
2 | ; Screenshooter for Kolibri |
3 | ; |
3 | ; |
4 | ; version: 1.2 |
4 | ; version: 1.2 |
5 | ; last update: 08/09/2010 |
5 | ; last update: 08/09/2010 |
6 | ; written by: Marat Zakiyanov aka Mario79, aka Mario |
6 | ; written by: Marat Zakiyanov aka Mario79, aka Mario |
7 | ; changes: select path for save with OpenDialog, |
7 | ; changes: select path for save with OpenDialog, |
8 | ; bag fix for threads stacks |
8 | ; bag fix for threads stacks |
9 | ;--------------------------------------------------------------------- |
9 | ;--------------------------------------------------------------------- |
10 | ; 01.06.09 - ®¬¯®¥âë ¡¥àãâìáï ¨§ á¨á⥬®© ¡¨¡«¨®â¥ª¨ |
10 | ; 01.06.09 - ®¬¯®¥âë ¡¥àãâìáï ¨§ á¨á⥬®© ¡¨¡«¨®â¥ª¨ |
11 | ; ¢â®à ¯à®£à ¬¬ë ¢â¨å®¢ ªá¨¬ (Maxxxx32) |
11 | ; ¢â®à ¯à®£à ¬¬ë ¢â¨å®¢ ªá¨¬ (Maxxxx32) |
12 | ; 24.07.2008 |
12 | ; 24.07.2008 |
13 | ; 01.02.07 - ®¡®¢«ñ editbox |
13 | ; 01.02.07 - ®¡®¢«ñ editbox |
14 | ; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« á⨠|
14 | ; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« á⨠|
15 | ; 02.11.10 - ᯮ«ì§ã¥âáï checkbox ¢¥àᨨ 2 |
15 | ; 02.11.10 - ᯮ«ì§ã¥âáï checkbox ¢¥àᨨ 2 |
16 | 16 | ||
17 | title equ 'Screenshooter v 1.2' ; £®«®¢®ª ®ª |
17 | title equ 'Screenshooter v 1.2' ; £®«®¢®ª ®ª |
18 | include '../../develop/libraries/box_lib/load_lib.mac' |
18 | include '../../develop/libraries/box_lib/load_lib.mac' |
19 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
19 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
20 | ;include '../../develop/examples/editbox/trunk/editbox.inc' |
20 | ;include '../../develop/examples/editbox/trunk/editbox.inc' |
21 | include '../../config.inc' ;for nightbuild |
21 | include '../../config.inc' ;for nightbuild |
22 | include '../../macros.inc' |
22 | include '../../macros.inc' |
23 | include 'txtbut.inc' |
23 | include 'txtbut.inc' |
24 | include 'label.inc' |
24 | include 'label.inc' |
25 | include 'textwork.inc' |
25 | include 'textwork.inc' |
26 | include 'scrshoot.mac' |
26 | include 'scrshoot.mac' |
27 | 27 | ||
28 | ;include 'macros.inc' ; ¢áâ ¢«ï¥¬ ¬ ªà®áë |
28 | ;include 'macros.inc' ; ¢áâ ¢«ï¥¬ ¬ ªà®áë |
29 | ; meos_header cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë |
29 | ; meos_header cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë |
30 | use32 |
30 | use32 |
31 | org 0x0 |
31 | org 0x0 |
32 | db 'MENUET01' |
32 | db 'MENUET01' |
33 | dd 0x1 |
33 | dd 0x1 |
34 | dd start |
34 | dd start |
35 | dd IM_END |
35 | dd IM_END |
36 | dd i_end |
36 | dd i_end |
37 | dd stacktop |
37 | dd stacktop |
38 | dd cmdstr |
38 | dd cmdstr |
39 | dd cur_dir_path |
39 | dd cur_dir_path |
40 | 40 | ||
41 | align 4 |
41 | align 4 |
42 | @use_library |
42 | @use_library |
43 | use_txt_button ; | |
43 | use_txt_button ; | |
44 | use_label ; |-- GUI ª®¬¯®¥âë ¨ ¥ª®â®àë¥ ¯à®æ¥¤ãàë |
44 | use_label ; |-- GUI ª®¬¯®¥âë ¨ ¥ª®â®àë¥ ¯à®æ¥¤ãàë |
45 | use_text_work ; / |
45 | use_text_work ; / |
46 | include 'scrwin.inc' ; ¢áâ ¢«ï¥¬ ª®¤ ®ª ¯à¤¯à®á¬®âà |
46 | include 'scrwin.inc' ; ¢áâ ¢«ï¥¬ ª®¤ ®ª ¯à¤¯à®á¬®âà |
47 | include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ¥¨ï ä ©« |
47 | include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ¥¨ï ä ©« |
48 | 48 | ||
49 | include 'gp.inc' |
49 | include 'gp.inc' |
50 | include 'srectwin.inc' |
50 | include 'srectwin.inc' |
51 | include 'lang.inc' |
51 | include 'lang.inc' |
52 | 52 | ||
53 | macro get_sys_colors col_buf |
53 | macro get_sys_colors col_buf |
54 | { |
54 | { |
55 | ;mov eax,48 |
55 | ;mov eax,48 |
56 | push 48 |
56 | push 48 |
57 | pop eax |
57 | pop eax |
58 | ;mov ebx,3 |
58 | ;mov ebx,3 |
59 | push 3 |
59 | push 3 |
60 | pop ebx |
60 | pop ebx |
61 | ;mov ecx,col_buf |
61 | ;mov ecx,col_buf |
62 | push col_buf |
62 | push col_buf |
63 | pop ecx |
63 | pop ecx |
64 | ;mov edx,40 |
64 | ;mov edx,40 |
65 | push 40 |
65 | push 40 |
66 | pop edx |
66 | pop edx |
67 | mcall |
67 | mcall |
68 | } |
68 | } |
69 | 69 | ||
70 | ;--- ç «® ¯à®£à ¬¬ë --- |
70 | ;--- ç «® ¯à®£à ¬¬ë --- |
71 | align 4 |
71 | align 4 |
72 | start: |
72 | start: |
73 | ;sys_load_library library_name, cur_dir_path, library_path, system_path, \ |
73 | ;sys_load_library library_name, cur_dir_path, library_path, system_path, \ |
74 | ;err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i |
74 | ;err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i |
75 | 75 | ||
76 | load_libraries l_libs_start,end_l_libs |
76 | load_libraries l_libs_start,end_l_libs |
77 | 77 | ||
78 | ;if return code =-1 then exit, else nornary work |
78 | ;if return code =-1 then exit, else nornary work |
79 | ; cmp eax,-1 |
79 | ; cmp eax,-1 |
80 | inc eax |
80 | inc eax |
81 | test eax,eax |
81 | test eax,eax |
82 | jz close |
82 | jz close |
83 | ;;;;;;;;;;;;;;;; init memory 68/11 |
83 | ;;;;;;;;;;;;;;;; init memory 68/11 |
84 | mov eax,68 |
84 | mov eax,68 |
85 | mov ebx,11 |
85 | mov ebx,11 |
86 | mcall |
86 | mcall |
87 | test eax,eax |
87 | test eax,eax |
88 | jz close |
88 | jz close |
89 | 89 | ||
90 | ;--------------------------------------------------------------------- |
90 | ;--------------------------------------------------------------------- |
91 | mov edi,filename_area |
91 | mov edi,filename_area |
92 | mov esi,start_temp_file_name |
92 | mov esi,start_temp_file_name |
93 | xor eax,eax |
93 | xor eax,eax |
94 | cld |
94 | cld |
95 | @@: |
95 | @@: |
96 | lodsb |
96 | lodsb |
97 | stosb |
97 | stosb |
98 | test eax,eax |
98 | test eax,eax |
99 | jnz @b |
99 | jnz @b |
100 | 100 | ||
101 | 101 | ||
102 | mov edi,fname_buf |
102 | mov edi,fname_buf |
103 | mov esi,ed_buffer.1 |
103 | mov esi,ed_buffer.1 |
104 | xor eax,eax |
104 | xor eax,eax |
105 | cld |
105 | cld |
106 | @@: |
106 | @@: |
107 | lodsb |
107 | lodsb |
108 | stosb |
108 | stosb |
109 | test eax,eax |
109 | test eax,eax |
110 | jnz @b |
110 | jnz @b |
111 | 111 | ||
112 | ;OpenDialog initialisation |
112 | ;OpenDialog initialisation |
113 | push dword OpenDialog_data |
113 | push dword OpenDialog_data |
114 | call [OpenDialog_Init] |
114 | call [OpenDialog_Init] |
115 | 115 | ||
116 | ; prepare for PathShow |
116 | ; prepare for PathShow |
117 | push dword PathShow_data_1 |
117 | push dword PathShow_data_1 |
118 | call [PathShow_prepare] |
118 | call [PathShow_prepare] |
119 | ;--------------------------------------------------------------------- |
119 | ;--------------------------------------------------------------------- |
120 | ;mov al,[gs:1280*4*1024] |
120 | ;mov al,[gs:1280*4*1024] |
121 | ; ãáâ ¢«¨¢ ¥¬ ipc ¡ãää¥à |
121 | ; ãáâ ¢«¨¢ ¥¬ ipc ¡ãää¥à |
122 | push 60 |
122 | push 60 |
123 | pop eax |
123 | pop eax |
124 | ;mov ebx,1 |
124 | ;mov ebx,1 |
125 | xor ebx,ebx |
125 | xor ebx,ebx |
126 | inc ebx |
126 | inc ebx |
127 | mov ecx,app_ipc |
127 | mov ecx,app_ipc |
128 | mov edx,32 |
128 | mov edx,32 |
129 | mcall |
129 | mcall |
130 | 130 | ||
131 | push 66 ; ãáâ ¢«¨¢ ¥¬ £«®¡ «ìãî £®àïçãî ª« ¢¨èã |
131 | push 66 ; ãáâ ¢«¨¢ ¥¬ £«®¡ «ìãî £®àïçãî ª« ¢¨èã |
132 | pop eax |
132 | pop eax |
133 | push eax |
133 | push eax |
134 | mov ebx,4 |
134 | mov ebx,4 |
135 | mov cl,55 ; 55 - PrintScrn |
135 | mov cl,55 ; 55 - PrintScrn |
136 | xor edx,edx |
136 | xor edx,edx |
137 | mcall |
137 | mcall |
138 | 138 | ||
139 | mov ebx,app |
139 | mov ebx,app |
140 | call get_slot_n |
140 | call get_slot_n |
141 | mov [slot_n],ecx |
141 | mov [slot_n],ecx |
142 | 142 | ||
143 | ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
143 | ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
144 | set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc) |
144 | set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc) |
145 | ;¨¨æ¨ «¨§ æ¨ï checkboxes |
145 | ;¨¨æ¨ «¨§ æ¨ï checkboxes |
146 | init_checkboxes2 check_boxes,check_boxes_end |
146 | init_checkboxes2 check_boxes,check_boxes_end |
147 | 147 | ||
148 | ; áî¤ ¯àë£ ¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥ |
148 | ; áî¤ ¯àë£ ¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥ |
149 | red: |
149 | red: |
150 | get_procinfo app ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ® ¯à®æ¥áᥠ|
150 | get_procinfo app ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ® ¯à®æ¥áᥠ|
151 | get_sys_colors sc ; ¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
151 | get_sys_colors sc ; ¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
152 | 152 | ||
153 | ; ãáâ ¢«¨¢ ¥¬ á¨áâ¥¬ë¥ æ¢¥â ã GUI ª®¬¯®¥â®¢ |
153 | ; ãáâ ¢«¨¢ ¥¬ á¨áâ¥¬ë¥ æ¢¥â ã GUI ª®¬¯®¥â®¢ |
154 | txt_but_set_sys_color buttons,buttons_end,sc ; \ |
154 | txt_but_set_sys_color buttons,buttons_end,sc ; \ |
155 | labels_set_sys_color labels,labels_end,sc ; | |
155 | labels_set_sys_color labels,labels_end,sc ; | |
156 | check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; | |
156 | check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; | |
157 | ; check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; | |
157 | ; check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; | |
158 | edit_boxes_set_sys_color editboxes,editboxes_end,sc ; / |
158 | edit_boxes_set_sys_color editboxes,editboxes_end,sc ; / |
159 | 159 | ||
160 | get_screen_prop scr ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ®¡ íªà ¥ |
160 | get_screen_prop scr ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ®¡ íªà ¥ |
- | 161 | ;------------------------------------------------------------------------------ |
|
- | 162 | ; Boot with "DIRECT" parameter - get screen and save |
|
- | 163 | mov eax,cmdstr |
|
- | 164 | cmp [eax],byte 0 |
|
- | 165 | je no_boot |
|
- | 166 | ||
- | 167 | cmp [eax],dword 'DIRE' |
|
- | 168 | jne no_boot |
|
- | 169 | ||
- | 170 | cmp [eax+4],word 'CT' |
|
- | 171 | jne no_boot |
|
- | 172 | ||
- | 173 | and [ch2.flags],dword 0 |
|
- | 174 | or [ch5.flags],dword 1 |
|
- | 175 | and [ch3.flags],dword 0 |
|
- | 176 | mov [OpenDialog_data.draw_window],dword draw_window_direct |
|
- | 177 | ||
- | 178 | call shoot |
|
- | 179 | jmp close |
|
- | 180 | ;------------------------------------------------------------------------------ |
|
- | 181 | draw_window_direct: |
|
- | 182 | mcall 12,1 |
|
- | 183 | mcall 14 |
|
- | 184 | ; eax = [xsize]*65536 + [ysize] |
|
- | 185 | mov ebx,eax |
|
- | 186 | shr ebx,17 |
|
- | 187 | sub ebx,100 |
|
- | 188 | shl ebx,16 |
|
- | 189 | mov bx,200 |
|
- | 190 | mov ecx,eax |
|
- | 191 | and ecx,0xffff |
|
- | 192 | shr ecx,1 |
|
- | 193 | sub ecx,50 |
|
- | 194 | shl ecx,16 |
|
- | 195 | mov cx,100 |
|
- | 196 | xor eax,eax |
|
- | 197 | xor esi,esi |
|
- | 198 | mcall ,,,0x34ffffff,,grab_text |
|
- | 199 | ||
- | 200 | mcall 4,<10,30>,0x90000000,saving |
|
- | 201 | ||
- | 202 | mcall 12,2 |
|
- | 203 | ret |
|
- | 204 | ;------------------------------------------------------------------------------ |
|
- | 205 | no_boot: |
|
161 | call draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª® |
206 | call draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª® |
162 | still: |
207 | still: |
163 | wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩ |
208 | wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩ |
164 | 209 | ||
165 | key: |
210 | key: |
166 | get_key |
211 | get_key |
167 | cmp al,2 |
212 | cmp al,2 |
168 | jne @f |
213 | jne @f |
169 | cmp ah,55 |
214 | cmp ah,55 |
170 | jne still |
215 | jne still |
171 | mov [PrintScreen],1 |
216 | mov [PrintScreen],1 |
172 | call shoot |
217 | call shoot |
173 | mov [PrintScreen],0 |
218 | mov [PrintScreen],0 |
174 | jmp still |
219 | jmp still |
175 | @@: |
220 | @@: |
176 | ; key_edit_boxes editboxes,editboxes_end |
221 | ; key_edit_boxes editboxes,editboxes_end |
177 | ; push dword edit1 |
222 | ; push dword edit1 |
178 | ; call [edit_box_key] |
223 | ; call [edit_box_key] |
179 | 224 | ||
180 | push dword edit2 |
225 | push dword edit2 |
181 | call [edit_box_key] |
226 | call [edit_box_key] |
182 | 227 | ||
183 | push dword edit3 |
228 | push dword edit3 |
184 | call [edit_box_key] |
229 | call [edit_box_key] |
185 | 230 | ||
186 | push dword edit4 |
231 | push dword edit4 |
187 | call [edit_box_key] |
232 | call [edit_box_key] |
188 | 233 | ||
189 | jmp still |
234 | jmp still |
190 | button: |
235 | button: |
191 | get_pressed_button |
236 | get_pressed_button |
192 | cmp ah,1 |
237 | cmp ah,1 |
193 | je p_close |
238 | je p_close |
194 | txt_but_ev buttons,buttons_end |
239 | txt_but_ev buttons,buttons_end |
195 | jmp still |
240 | jmp still |
196 | mouse: |
241 | mouse: |
197 | get_active_window |
242 | get_active_window |
198 | cmp eax,[slot_n] |
243 | cmp eax,[slot_n] |
199 | jne still |
244 | jne still |
200 | ;---------------------------------- |
245 | ;---------------------------------- |
201 | ; push dword edit1 |
246 | ; push dword edit1 |
202 | ; call [edit_box_mouse] |
247 | ; call [edit_box_mouse] |
203 | push dword edit2 |
248 | push dword edit2 |
204 | call [edit_box_mouse] |
249 | call [edit_box_mouse] |
205 | push dword edit3 |
250 | push dword edit3 |
206 | call [edit_box_mouse] |
251 | call [edit_box_mouse] |
207 | push dword edit4 |
252 | push dword edit4 |
208 | call [edit_box_mouse] |
253 | call [edit_box_mouse] |
209 | ;---------------------------------- |
254 | ;---------------------------------- |
210 | checkboxes_mouse2 check_boxes,check_boxes_end |
255 | checkboxes_mouse2 check_boxes,check_boxes_end |
211 | ; push dword ch1 |
256 | ; push dword ch1 |
212 | ; call [check_box_mouse] |
257 | ; call [check_box_mouse] |
213 | ; push dword ch2 |
258 | ; push dword ch2 |
214 | ; call [check_box_mouse] |
259 | ; call [check_box_mouse] |
215 | ; push dword ch3 |
260 | ; push dword ch3 |
216 | ; call [check_box_mouse] |
261 | ; call [check_box_mouse] |
217 | ; push dword ch4 |
262 | ; push dword ch4 |
218 | ; call [check_box_mouse] |
263 | ; call [check_box_mouse] |
219 | ; push dword ch5 |
264 | ; push dword ch5 |
220 | ; call [check_box_mouse] |
265 | ; call [check_box_mouse] |
221 | ; push dword ch6 |
266 | ; push dword ch6 |
222 | ; call [check_box_mouse] |
267 | ; call [check_box_mouse] |
223 | ; push dword use_rect |
268 | ; push dword use_rect |
224 | ; call [check_box_mouse] |
269 | ; call [check_box_mouse] |
225 | ;----------------------------------- |
270 | ;----------------------------------- |
226 | ; mouse_check_boxes check_boxes,check_boxes_end |
271 | ; mouse_check_boxes check_boxes,check_boxes_end |
227 | ; mouse_edit_boxes editboxes,editboxes_end |
272 | ; mouse_edit_boxes editboxes,editboxes_end |
228 | jmp still |
273 | jmp still |
229 | ipc: |
274 | ipc: |
230 | cmp word [app_ipc+8],2 |
275 | cmp word [app_ipc+8],2 |
231 | jne @f |
276 | jne @f |
232 | min_window |
277 | min_window |
233 | jmp .clear_ipc |
278 | jmp .clear_ipc |
234 | @@: |
279 | @@: |
235 | cmp word [app_ipc+8],3 |
280 | cmp word [app_ipc+8],3 |
236 | jne @f |
281 | jne @f |
237 | mov ecx,[slot_n] |
282 | mov ecx,[slot_n] |
238 | activ_window |
283 | activ_window |
239 | jmp .clear_ipc |
284 | jmp .clear_ipc |
240 | @@: |
285 | @@: |
241 | call draw_number |
286 | call draw_number |
242 | call dr_st |
287 | call dr_st |
243 | 288 | ||
244 | .clear_ipc: |
289 | .clear_ipc: |
245 | cld |
290 | cld |
246 | xor eax,eax |
291 | xor eax,eax |
247 | mov ecx,32/4 |
292 | mov ecx,32/4 |
248 | mov edi,app_ipc |
293 | mov edi,app_ipc |
249 | rep stosd |
294 | rep stosd |
250 | jmp still |
295 | jmp still |
251 | 296 | ||
252 | p_close: |
297 | p_close: |
253 | btr dword [flags],1 |
298 | btr dword [flags],1 |
254 | 299 | ||
255 | bt dword [flags],3 |
300 | bt dword [flags],3 |
256 | jnc @f |
301 | jnc @f |
257 | mov eax,18 |
302 | mov eax,18 |
258 | mov ebx,eax |
303 | mov ebx,eax |
259 | mov ecx,[set_rect_window_pid] |
304 | mov ecx,[set_rect_window_pid] |
260 | mcall |
305 | mcall |
261 | @@: |
306 | @@: |
262 | 307 | ||
263 | close: |
308 | close: |
264 | app_close |
309 | app_close |
265 | 310 | ||
266 | ;--------------------------------------------------------------------- |
311 | ;--------------------------------------------------------------------- |
267 | draw_PathShow: |
312 | draw_PathShow: |
268 | pusha |
313 | pusha |
269 | mcall 13,<4,302>,<35,15>,0xffffff |
314 | mcall 13,<4,302>,<35,15>,0xffffff |
270 | ; draw for PathShow |
315 | ; draw for PathShow |
271 | push dword PathShow_data_1 |
316 | push dword PathShow_data_1 |
272 | call [PathShow_draw] |
317 | call [PathShow_draw] |
273 | popa |
318 | popa |
274 | ret |
319 | ret |
275 | ;-------------------------------------------------------------------- |
320 | ;-------------------------------------------------------------------- |
276 | ;--- ¯à®®æ¥¤ãà ¯¥à¥à¨á®¢ª¨ £« ¢®£® ®ª --------------------------- |
321 | ;--- ¯à®®æ¥¤ãà ¯¥à¥à¨á®¢ª¨ £« ¢®£® ®ª --------------------------- |
277 | ;-------------------------------------------------------------------- |
322 | ;-------------------------------------------------------------------- |
278 | draw_window: |
323 | draw_window: |
279 | start_draw_window ; ç «® ¯¥à¥à¨á®¢ª¨ |
324 | start_draw_window ; ç «® ¯¥à¥à¨á®¢ª¨ |
280 | ; ®¯à¥¤¥«ï¥¬ ®ª® |
325 | ; ®¯à¥¤¥«ï¥¬ ®ª® |
281 | get_skin_height |
326 | get_skin_height |
282 | mov ebx,100*65536+320 |
327 | mov ebx,100*65536+320 |
283 | mov ecx,100*65536+220 |
328 | mov ecx,100*65536+220 |
284 | add cx,ax |
329 | add cx,ax |
285 | mov edx,[sc.work] |
330 | mov edx,[sc.work] |
286 | or edx,0x34000000;0x33000000 |
331 | or edx,0x34000000;0x33000000 |
287 | xor esi,esi |
332 | xor esi,esi |
288 | ;xor edi,edi |
333 | ;xor edi,edi |
289 | mov edi,grab_text |
334 | mov edi,grab_text |
290 | xor eax,eax |
335 | xor eax,eax |
291 | mcall |
336 | mcall |
292 | 337 | ||
293 | mov eax,47 ; ¢ë¢®¤¨¬ ç¨á« ¢ ®ª® |
338 | mov eax,47 ; ¢ë¢®¤¨¬ ç¨á« ¢ ®ª® |
294 | mov bx,4 |
339 | mov bx,4 |
295 | shl ebx,16 |
340 | shl ebx,16 |
296 | movsx ecx,word [scr.width] ; è¨à¨ íªà |
341 | movsx ecx,word [scr.width] ; è¨à¨ íªà |
297 | mov dx,95 |
342 | mov dx,95 |
298 | shl edx,16 |
343 | shl edx,16 |
299 | mov dx,[label1.top] |
344 | mov dx,[label1.top] |
300 | push dx |
345 | push dx |
301 | mov esi,[sc.work_text] |
346 | mov esi,[sc.work_text] |
302 | mcall |
347 | mcall |
303 | movsx ecx,word [scr.height] ; ¢ëá®â íªà |
348 | movsx ecx,word [scr.height] ; ¢ëá®â íªà |
304 | mov dx,[label2.top] |
349 | mov dx,[label2.top] |
305 | mcall |
350 | mcall |
306 | mov bx,2 |
351 | mov bx,2 |
307 | shl ebx,16 |
352 | shl ebx,16 |
308 | movsx ecx,word [scr.bitspp] ; ¡¨â ¯¨ªá¥«ì |
353 | movsx ecx,word [scr.bitspp] ; ¡¨â ¯¨ªá¥«ì |
309 | mov dx,240 |
354 | mov dx,240 |
310 | shl edx,16 |
355 | shl edx,16 |
311 | pop dx |
356 | pop dx |
312 | mcall |
357 | mcall |
313 | mov bx,6 |
358 | mov bx,6 |
314 | shl ebx,16 |
359 | shl ebx,16 |
315 | mov ecx,[scr.bytesps] ; ¡ ©â áâபã |
360 | mov ecx,[scr.bytesps] ; ¡ ©â áâபã |
316 | mov dx,[label2.top] |
361 | mov dx,[label2.top] |
317 | mcall |
362 | mcall |
318 | 363 | ||
319 | call draw_number ; ¯à®à¨á®¢ë¢ ¥¬ ®¬¥à ᨬª |
364 | call draw_number ; ¯à®à¨á®¢ë¢ ¥¬ ®¬¥à ᨬª |
320 | call dr_st |
365 | call dr_st |
321 | 366 | ||
322 | draw_labels labels,labels_end ; ¬¥âª¨ |
367 | draw_labels labels,labels_end ; ¬¥âª¨ |
323 | ; draw_edit_boxes editboxes,editboxes_end ; edit_box |
368 | ; draw_edit_boxes editboxes,editboxes_end ; edit_box |
324 | ;------ show check editbox ----------- |
369 | ;------ show check editbox ----------- |
325 | ; push dword edit1 |
370 | ; push dword edit1 |
326 | ; call [edit_box_draw] |
371 | ; call [edit_box_draw] |
327 | push dword edit2 |
372 | push dword edit2 |
328 | call [edit_box_draw] |
373 | call [edit_box_draw] |
329 | push dword edit3 |
374 | push dword edit3 |
330 | call [edit_box_draw] |
375 | call [edit_box_draw] |
331 | push dword edit4 |
376 | push dword edit4 |
332 | call [edit_box_draw] |
377 | call [edit_box_draw] |
333 | ;------ end check all editbox ------- |
378 | ;------ end check all editbox ------- |
334 | 379 | ||
335 | call draw_PathShow |
380 | call draw_PathShow |
336 | 381 | ||
337 | draw_txt_buttons buttons,buttons_end ; ª®¯ª¨ |
382 | draw_txt_buttons buttons,buttons_end ; ª®¯ª¨ |
338 | ; draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨ |
383 | ; draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨ |
339 | ;------ check all checkbox --------- |
384 | ;------ check all checkbox --------- |
340 | ; push dword ch1 |
385 | ; push dword ch1 |
341 | ; call [check_box_draw] |
386 | ; call [check_box_draw] |
342 | ; push dword ch2 |
387 | ; push dword ch2 |
343 | ; call [check_box_draw] |
388 | ; call [check_box_draw] |
344 | ; push dword ch3 |
389 | ; push dword ch3 |
345 | ; call [check_box_draw] |
390 | ; call [check_box_draw] |
346 | ; push dword ch4 |
391 | ; push dword ch4 |
347 | ; call [check_box_draw] |
392 | ; call [check_box_draw] |
348 | ; push dword ch5 |
393 | ; push dword ch5 |
349 | ; call [check_box_draw] |
394 | ; call [check_box_draw] |
350 | ; push dword ch6 |
395 | ; push dword ch6 |
351 | ; call [check_box_draw] |
396 | ; call [check_box_draw] |
352 | ; push dword use_rect |
397 | ; push dword use_rect |
353 | ; call [check_box_draw] |
398 | ; call [check_box_draw] |
354 | 399 | ||
355 | checkboxes_draw2 check_boxes,check_boxes_end |
400 | checkboxes_draw2 check_boxes,check_boxes_end |
356 | 401 | ||
357 | ;------ end check all checkbox ------ |
402 | ;------ end check all checkbox ------ |
358 | 403 | ||
359 | stop_draw_window ; ª®¥æ ¯¥à¥à¨á®¢ª¨ |
404 | stop_draw_window ; ª®¥æ ¯¥à¥à¨á®¢ª¨ |
360 | ret |
405 | ret |
361 | 406 | ||
362 | shoot: |
407 | shoot: |
363 | bt dword [ch4.flags],1 ; ¢ª«îç¥ «¨ § ¤¥à¦ª ? |
408 | bt dword [ch4.flags],1 ; ¢ª«îç¥ «¨ § ¤¥à¦ª ? |
364 | jnc @f |
409 | jnc @f |
365 | draw_status delay_now |
410 | draw_status delay_now |
366 | mov edi,ed_buffer.2 |
411 | mov edi,ed_buffer.2 |
367 | call zstr_to_int |
412 | call zstr_to_int |
368 | mov ebx,eax |
413 | mov ebx,eax |
369 | delay |
414 | delay |
370 | @@: |
415 | @@: |
371 | call get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï ᨬª |
416 | call get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï ᨬª |
372 | 417 | ||
373 | 418 | ||
374 | bts dword [flags],0 ; ã«¥¢®© ä« £ - ᨬ®ª ¥áâì ¢ ¯ ¬ï⨠|
419 | bts dword [flags],0 ; ã«¥¢®© ä« £ - ᨬ®ª ¥áâì ¢ ¯ ¬ï⨠|
375 | 420 | ||
376 | ; ¤¥« ¥¬ ᨬ®ª |
421 | ; ¤¥« ¥¬ ᨬ®ª |
377 | draw_status shooting |
422 | draw_status shooting |
378 | mov esi,scr |
423 | mov esi,scr |
379 | mov edi,[scr_buf.ptr] |
424 | mov edi,[scr_buf.ptr] |
380 | call copy_screen_to_image |
425 | call copy_screen_to_image |
381 | 426 | ||
382 | bt dword [use_rect.flags],1 |
427 | bt dword [use_rect.flags],1 |
383 | jc .use_rect |
428 | jc .use_rect |
384 | push dword [scr] |
429 | push dword [scr] |
385 | jmp @f |
430 | jmp @f |
386 | .use_rect: |
431 | .use_rect: |
387 | push dword [rect.height] |
432 | push dword [rect.height] |
388 | @@: |
433 | @@: |
389 | pop dword [scr_buf.size] |
434 | pop dword [scr_buf.size] |
390 | 435 | ||
391 | cmp [autoshoot_flag],1 |
436 | cmp [autoshoot_flag],1 |
392 | jne .2 |
437 | jne .2 |
393 | 438 | ||
394 | bt dword [ch5.flags],1 ; ¢ª«î祮 «¨ ¢â®á®åà ¥¨¥ ? |
439 | bt dword [ch5.flags],1 ; ¢ª«î祮 «¨ ¢â®á®åà ¥¨¥ ? |
395 | jnc @f |
440 | jnc @f |
396 | call save_file |
441 | call save_file |
397 | @@: |
442 | @@: |
398 | draw_status shooted_ok |
443 | draw_status shooted_ok |
399 | .2: |
444 | .2: |
400 | bt dword [flags],1 |
445 | bt dword [flags],1 |
401 | jnc @f |
446 | jnc @f |
402 | ret |
447 | ret |
403 | @@: |
448 | @@: |
404 | 449 | ||
405 | bt dword [ch2.flags],1 ; ¯®ª § âì ®ª® ¯à¥¤¯à®á¬®âà ? |
450 | bt dword [ch2.flags],1 ; ¯®ª § âì ®ª® ¯à¥¤¯à®á¬®âà ? |
406 | jnc @f |
451 | jnc @f |
407 | cmp [PrintScreen],0 |
452 | cmp [PrintScreen],0 |
408 | jne @f |
453 | jne @f |
409 | call show_scr_window |
454 | call show_scr_window |
410 | ret |
455 | ret |
411 | @@: |
456 | @@: |
412 | bt dword [ch5.flags],1 ; ¢ª«î祮 «¨ ¢â®á®åà ¥¨¥ ? |
457 | bt dword [ch5.flags],1 ; ¢ª«î祮 «¨ ¢â®á®åà ¥¨¥ ? |
413 | jnc @f |
458 | jnc @f |
- | 459 | ||
414 | 460 | call [OpenDialog_data.draw_window] |
|
415 | ; invoke OpenDialog |
461 | ; invoke OpenDialog |
416 | push dword OpenDialog_data |
462 | push dword OpenDialog_data |
417 | call [OpenDialog_Start] |
463 | call [OpenDialog_Start] |
418 | cmp [OpenDialog_data.status],1 |
464 | cmp [OpenDialog_data.status],1 |
419 | je .1 |
465 | je .1 |
420 | ret |
466 | ret |
421 | .1: |
467 | .1: |
422 | ; prepare for PathShow |
468 | ; prepare for PathShow |
423 | push dword PathShow_data_1 |
469 | push dword PathShow_data_1 |
424 | call [PathShow_prepare] |
470 | call [PathShow_prepare] |
- | 471 | ||
- | 472 | call [OpenDialog_data.draw_window] |
|
425 | 473 | ||
426 | call save_file |
474 | call save_file |
427 | @@: |
475 | @@: |
428 | 476 | ||
429 | bt word [ch3.flags],1 ; ¢®ááâ ®¢¨âì ®ª® ? |
477 | bt word [ch3.flags],1 ; ¢®ááâ ®¢¨âì ®ª® ? |
430 | jnc @f |
478 | jnc @f |
431 | 479 | ||
432 | delay 100 |
480 | delay 100 |
433 | mov ecx,[slot_n] |
481 | mov ecx,[slot_n] |
434 | activ_window |
482 | activ_window |
435 | @@: |
483 | @@: |
436 | ret |
484 | ret |
437 | 485 | ||
438 | ;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï ᨬª --- |
486 | ;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï ᨬª --- |
439 | get_mem_for_shoot: |
487 | get_mem_for_shoot: |
440 | ;clean memory |
488 | ;clean memory |
441 | mov ecx,dword [scr_buf.ptr] |
489 | mov ecx,dword [scr_buf.ptr] |
442 | mov ebx,13 |
490 | mov ebx,13 |
443 | mov eax,68 |
491 | mov eax,68 |
444 | mcall |
492 | mcall |
445 | 493 | ||
446 | bt dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà |
494 | bt dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà |
447 | jc .use_area |
495 | jc .use_area |
448 | movzx ecx, word [scr.width] |
496 | movzx ecx, word [scr.width] |
449 | movzx ebx, word [scr.height] |
497 | movzx ebx, word [scr.height] |
450 | jmp @f |
498 | jmp @f |
451 | .use_area: |
499 | .use_area: |
452 | call read_rect |
500 | call read_rect |
453 | movzx ecx, word [rect.width] |
501 | movzx ecx, word [rect.width] |
454 | movzx ebx, word [rect.height] |
502 | movzx ebx, word [rect.height] |
455 | @@: |
503 | @@: |
456 | imul ecx,ebx |
504 | imul ecx,ebx |
457 | lea ecx,[ecx*3] |
505 | lea ecx,[ecx*3] |
458 | ; add ecx,i_end |
506 | ; add ecx,i_end |
459 | mov ebx,12 |
507 | mov ebx,12 |
460 | mov eax,68 |
508 | mov eax,68 |
461 | mcall |
509 | mcall |
462 | mov [scr_buf.ptr],eax |
510 | mov [scr_buf.ptr],eax |
463 | add eax,ecx |
511 | add eax,ecx |
464 | mov [scr_buf.end_ptr],ecx |
512 | mov [scr_buf.end_ptr],ecx |
465 | ret |
513 | ret |
466 | 514 | ||
467 | ;--- ᮤ âì ®ª® ¯à®¥¤¯à®á¬®âà --- |
515 | ;--- ᮤ âì ®ª® ¯à®¥¤¯à®á¬®âà --- |
468 | show_scr_window: |
516 | show_scr_window: |
469 | pusha |
517 | pusha |
470 | bt dword [flags],0 |
518 | bt dword [flags],0 |
471 | jnc @f |
519 | jnc @f |
472 | mov eax,51 |
520 | mov eax,51 |
473 | xor ebx,ebx |
521 | xor ebx,ebx |
474 | inc ebx |
522 | inc ebx |
475 | mov ecx,scr_window |
523 | mov ecx,scr_window |
476 | mov edx,i_end_tread-512 |
524 | mov edx,i_end_tread-512 |
477 | mcall |
525 | mcall |
478 | @@: |
526 | @@: |
479 | popa |
527 | popa |
480 | ret |
528 | ret |
481 | 529 | ||
482 | ;--- ¯à®ç¨â âì ¨ à¨á®¢ âì ⥪ã騩 ®¬¥à --- |
530 | ;--- ¯à®ç¨â âì ¨ à¨á®¢ âì ⥪ã騩 ®¬¥à --- |
483 | apply_number: |
531 | apply_number: |
484 | mov edi,ed_buffer.3 |
532 | mov edi,ed_buffer.3 |
485 | call zstr_to_int |
533 | call zstr_to_int |
486 | mov [cur_number],eax |
534 | mov [cur_number],eax |
487 | call draw_number |
535 | call draw_number |
488 | ret |
536 | ret |
489 | 537 | ||
490 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ⥪ã饣® ®¬¥à --- |
538 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ⥪ã饣® ®¬¥à --- |
491 | draw_number: |
539 | draw_number: |
492 | mov edi,sign_n_input |
540 | mov edi,sign_n_input |
493 | call zstr_to_int |
541 | call zstr_to_int |
494 | mov [sign_n],al |
542 | mov [sign_n],al |
495 | mov eax,13 |
543 | mov eax,13 |
496 | mov ebx,150*65536+96 |
544 | mov ebx,150*65536+96 |
497 | mov cx,[label9.top] |
545 | mov cx,[label9.top] |
498 | shl ecx,16 |
546 | shl ecx,16 |
499 | mov cx,10 |
547 | mov cx,10 |
500 | mov edx,[sc.work] |
548 | mov edx,[sc.work] |
501 | mcall |
549 | mcall |
502 | mov eax,47 |
550 | mov eax,47 |
503 | movsx bx,byte [sign_n] |
551 | movsx bx,byte [sign_n] |
504 | shl ebx,16 |
552 | shl ebx,16 |
505 | mov ecx,[cur_number] |
553 | mov ecx,[cur_number] |
506 | mov dx,150 |
554 | mov dx,150 |
507 | shl edx,16 |
555 | shl edx,16 |
508 | mov dx,[label9.top] |
556 | mov dx,[label9.top] |
509 | mov esi,[sc.work_text] |
557 | mov esi,[sc.work_text] |
510 | mcall |
558 | mcall |
511 | ret |
559 | ret |
512 | 560 | ||
513 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ¢â®áꥬª¨ --- |
561 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ¢â®áꥬª¨ --- |
514 | start_autoshoot: |
562 | start_autoshoot: |
515 | bts dword [flags],1 |
563 | bts dword [flags],1 |
516 | jc @f |
564 | jc @f |
517 | mov eax,51 |
565 | mov eax,51 |
518 | ;mov ebx,1 |
566 | ;mov ebx,1 |
519 | xor ebx,ebx |
567 | xor ebx,ebx |
520 | inc ebx |
568 | inc ebx |
521 | mov ecx,autoshoot |
569 | mov ecx,autoshoot |
522 | mov edx,i_end_tread |
570 | mov edx,i_end_tread |
523 | mcall |
571 | mcall |
524 | @@: |
572 | @@: |
525 | ret |
573 | ret |
526 | 574 | ||
527 | ;--- ®áâ ¢«¨¢ ¥â íâ®â ¯®â®ª --- |
575 | ;--- ®áâ ¢«¨¢ ¥â íâ®â ¯®â®ª --- |
528 | stop_autoshoot: |
576 | stop_autoshoot: |
529 | btr dword [flags],1 |
577 | btr dword [flags],1 |
530 | ret |
578 | ret |
531 | 579 | ||
532 | ;--- 横« ¯®â®ª ¢â®áꥬª¨ --- |
580 | ;--- 横« ¯®â®ª ¢â®áꥬª¨ --- |
533 | autoshoot: |
581 | autoshoot: |
534 | mov [autoshoot_flag],1 |
582 | mov [autoshoot_flag],1 |
535 | mov ecx,[slot_n] |
583 | mov ecx,[slot_n] |
536 | activ_window |
584 | activ_window |
537 | .next: |
585 | .next: |
538 | bt dword [flags],1 |
586 | bt dword [flags],1 |
539 | jnc close |
587 | jnc close |
540 | mov eax,60 |
588 | mov eax,60 |
541 | mov ebx,2 |
589 | mov ebx,2 |
542 | mov ecx,[app.pid] |
590 | mov ecx,[app.pid] |
543 | mov edx,messages.draw_number |
591 | mov edx,messages.draw_number |
544 | mov esi,2 |
592 | mov esi,2 |
545 | mcall |
593 | mcall |
546 | call shoot |
594 | call shoot |
547 | jmp autoshoot.next |
595 | jmp autoshoot.next |
548 | .close: |
596 | .close: |
549 | mov [autoshoot_flag],0 |
597 | mov [autoshoot_flag],0 |
550 | jmp close |
598 | jmp close |
551 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï¨ï --- |
599 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï¨ï --- |
552 | ; (¤®«¦ ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢®£® ®ª ) |
600 | ; (¤®«¦ ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢®£® ®ª ) |
553 | dr_st: |
601 | dr_st: |
554 | mov eax,38 ; ®â१®ª |
602 | mov eax,38 ; ®â१®ª |
555 | mov ebx,0*65536+310 |
603 | mov ebx,0*65536+310 |
556 | mov ecx,198*65536+198 |
604 | mov ecx,198*65536+198 |
557 | mov edx,[sc.work_graph] |
605 | mov edx,[sc.work_graph] |
558 | mcall |
606 | mcall |
559 | 607 | ||
560 | mov eax,13 ; ¯®«®áª |
608 | mov eax,13 ; ¯®«®áª |
561 | mov bx,310 |
609 | mov bx,310 |
562 | mov ecx,199*65536+15 |
610 | mov ecx,199*65536+15 |
563 | mov edx,[sc.work] |
611 | mov edx,[sc.work] |
564 | mcall |
612 | mcall |
565 | 613 | ||
566 | mov edi,status |
614 | mov edi,status |
567 | call draw_label |
615 | call draw_label |
568 | ret |
616 | ret |
569 | 617 | ||
570 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ®¬¥à ᫮⠯®â®ª --- |
618 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ®¬¥à ᫮⠯®â®ª --- |
571 | ; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â |
619 | ; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â |
572 | ; ¢ë室 ecx - ®¬¥à á«®â |
620 | ; ¢ë室 ecx - ®¬¥à á«®â |
573 | get_slot_n: |
621 | get_slot_n: |
574 | mov eax,9 |
622 | mov eax,9 |
575 | xor ecx,ecx |
623 | xor ecx,ecx |
576 | dec ecx |
624 | dec ecx |
577 | mcall |
625 | mcall |
578 | 626 | ||
579 | mov edx,[ebx+30] |
627 | mov edx,[ebx+30] |
580 | xor ecx,ecx |
628 | xor ecx,ecx |
581 | @@: |
629 | @@: |
582 | mov eax,9 |
630 | mov eax,9 |
583 | inc ecx |
631 | inc ecx |
584 | mcall |
632 | mcall |
585 | cmp [ebx+30],edx |
633 | cmp [ebx+30],edx |
586 | je @f |
634 | je @f |
587 | jmp @b |
635 | jmp @b |
588 | @@: |
636 | @@: |
589 | ret |
637 | ret |
590 | 638 | ||
591 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 ᨬ®ª --- |
639 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 ᨬ®ª --- |
592 | one_shoot: |
640 | one_shoot: |
593 | mov ecx,one_shoot_thread |
641 | mov ecx,one_shoot_thread |
594 | mov edx,shoot_esp |
642 | mov edx,shoot_esp |
595 | jmp @f |
643 | jmp @f |
596 | ;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ïî騩 ᨬ®ª --- |
644 | ;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ïî騩 ᨬ®ª --- |
597 | save_shoot: |
645 | save_shoot: |
598 | ; invoke OpenDialog |
646 | ; invoke OpenDialog |
599 | push dword OpenDialog_data |
647 | push dword OpenDialog_data |
600 | call [OpenDialog_Start] |
648 | call [OpenDialog_Start] |
601 | cmp [OpenDialog_data.status],1 |
649 | cmp [OpenDialog_data.status],1 |
602 | je .1 |
650 | je .1 |
603 | ret |
651 | ret |
604 | .1: |
652 | .1: |
605 | ; prepare for PathShow |
653 | ; prepare for PathShow |
606 | push dword PathShow_data_1 |
654 | push dword PathShow_data_1 |
607 | call [PathShow_prepare] |
655 | call [PathShow_prepare] |
608 | 656 | ||
609 | call draw_PathShow |
657 | call draw_PathShow |
610 | 658 | ||
611 | mov ecx,save_shoot_thread |
659 | mov ecx,save_shoot_thread |
612 | mov edx,shoot_esp |
660 | mov edx,shoot_esp |
613 | @@: |
661 | @@: |
614 | bts dword [flags],2 |
662 | bts dword [flags],2 |
615 | jc .running |
663 | jc .running |
616 | bt dword [flags],1 |
664 | bt dword [flags],1 |
617 | jc .running |
665 | jc .running |
618 | 666 | ||
619 | mov eax,51 |
667 | mov eax,51 |
620 | ;mov ebx,1 |
668 | ;mov ebx,1 |
621 | xor ebx,ebx |
669 | xor ebx,ebx |
622 | inc ebx |
670 | inc ebx |
623 | mcall |
671 | mcall |
624 | .running: |
672 | .running: |
625 | ret |
673 | ret |
626 | 674 | ||
627 | ;--- ¯®â®ª, ¤¥« î騩 1 ᨬ®ª --- |
675 | ;--- ¯®â®ª, ¤¥« î騩 1 ᨬ®ª --- |
628 | one_shoot_thread: |
676 | one_shoot_thread: |
629 | mov ecx,[slot_n] |
677 | mov ecx,[slot_n] |
630 | activ_window |
678 | activ_window |
631 | bt dword [ch1.flags],1 ; ¬¨¨¬¨§¨à®¢ âì ®ª® ? |
679 | bt dword [ch1.flags],1 ; ¬¨¨¬¨§¨à®¢ âì ®ª® ? |
632 | jnc @f |
680 | jnc @f |
633 | mov eax,60 |
681 | mov eax,60 |
634 | mov ebx,2 |
682 | mov ebx,2 |
635 | mov ecx,[app.pid] |
683 | mov ecx,[app.pid] |
636 | mov edx,messages.min_window |
684 | mov edx,messages.min_window |
637 | mov esi,2 |
685 | mov esi,2 |
638 | mcall |
686 | mcall |
639 | @@: |
687 | @@: |
640 | call shoot |
688 | call shoot |
641 | btr dword [flags],2 |
689 | btr dword [flags],2 |
642 | jmp close |
690 | jmp close |
643 | 691 | ||
644 | ;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢®¬ã ®ªã á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥ |
692 | ;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢®¬ã ®ªã á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥ |
645 | ; áâப¨ á®áâ®ï¨ï --- |
693 | ; áâப¨ á®áâ®ï¨ï --- |
646 | send_draw_status: |
694 | send_draw_status: |
647 | mov eax,60 |
695 | mov eax,60 |
648 | mov ebx,2 |
696 | mov ebx,2 |
649 | mov ecx,[app.pid] |
697 | mov ecx,[app.pid] |
650 | mov edx,messages.draw_status |
698 | mov edx,messages.draw_status |
651 | mov esi,2 |
699 | mov esi,2 |
652 | mcall |
700 | mcall |
653 | ret |
701 | ret |
654 | 702 | ||
655 | ;--- ¯®â®ª, á®åà ï ä ©« --- |
703 | ;--- ¯®â®ª, á®åà ï ä ©« --- |
656 | save_shoot_thread: |
704 | save_shoot_thread: |
657 | mov ecx,[slot_n] |
705 | mov ecx,[slot_n] |
658 | activ_window |
706 | activ_window |
659 | call save_file |
707 | call save_file |
660 | btr dword [flags],2 |
708 | btr dword [flags],2 |
661 | jmp close |
709 | jmp close |
662 | 710 | ||
663 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª ãáâ ®¢ª¨ ®¡« á⨠áꥬª¨ --- |
711 | ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª ãáâ ®¢ª¨ ®¡« á⨠áꥬª¨ --- |
664 | show_set_rect_window: |
712 | show_set_rect_window: |
665 | bts dword [flags],3 |
713 | bts dword [flags],3 |
666 | jc @f |
714 | jc @f |
667 | mov eax,51 |
715 | mov eax,51 |
668 | xor ebx,ebx |
716 | xor ebx,ebx |
669 | inc ebx |
717 | inc ebx |
670 | mov ecx,set_rect_window |
718 | mov ecx,set_rect_window |
671 | mov edx,set_rect_window_esp |
719 | mov edx,set_rect_window_esp |
672 | mcall |
720 | mcall |
673 | 721 | ||
674 | mov [set_rect_window_pid],eax |
722 | mov [set_rect_window_pid],eax |
675 | ret |
723 | ret |
676 | 724 | ||
677 | @@: |
725 | @@: |
678 | mov eax,18 |
726 | mov eax,18 |
679 | mov ebx,eax |
727 | mov ebx,eax |
680 | mov ecx,[set_rect_window_pid] |
728 | mov ecx,[set_rect_window_pid] |
681 | mcall |
729 | mcall |
682 | btr dword [flags],3 |
730 | btr dword [flags],3 |
683 | ret |
731 | ret |
684 | 732 | ||
685 | ;--- ¯®«ã票¥ ¨ä®à¬ 樨 ®¡ ªâ¨¢®¬ ®ª¥ --- |
733 | ;--- ¯®«ã票¥ ¨ä®à¬ 樨 ®¡ ªâ¨¢®¬ ®ª¥ --- |
686 | get_active_window_info: |
734 | get_active_window_info: |
687 | mov eax,18 |
735 | mov eax,18 |
688 | mov ebx,7 |
736 | mov ebx,7 |
689 | mcall |
737 | mcall |
690 | 738 | ||
691 | mov ecx,eax |
739 | mov ecx,eax |
692 | mov eax,9 |
740 | mov eax,9 |
693 | mov ebx,active_app |
741 | mov ebx,active_app |
694 | mcall |
742 | mcall |
695 | ret |
743 | ret |
696 | 744 | ||
697 | ;==================================================================== |
745 | ;==================================================================== |
698 | ;=== ¤ ë¥ ¯à®£à ¬¬ë =============================================== |
746 | ;=== ¤ ë¥ ¯à®£à ¬¬ë =============================================== |
699 | ;==================================================================== |
747 | ;==================================================================== |
700 | messages: |
748 | messages: |
701 | .draw_number dw 0 |
749 | .draw_number dw 0 |
702 | .draw_status dw 1 |
750 | .draw_status dw 1 |
703 | .min_window dw 2 |
751 | .min_window dw 2 |
704 | .act_window dw 3 |
752 | .act_window dw 3 |
705 | 753 | ||
706 | grab_text: |
754 | grab_text: |
707 | db title,0 |
755 | db title,0 |
708 | 756 | ||
709 | labels: |
757 | labels: |
710 | label1 label 5,5,0,text.1 ; è¨à¨ íªà |
758 | label1 label 5,5,0,text.1 ; è¨à¨ íªà |
711 | label2 label 5,15,0,text.2 ; ¢ëá®â íªà |
759 | label2 label 5,15,0,text.2 ; ¢ëá®â íªà |
712 | label3 label 5,25,0,text.3 ; ¢¢¥¤¨â¥ ¨¬ï ä ©« |
760 | label3 label 5,25,0,text.3 ; ¢¢¥¤¨â¥ ¨¬ï ä ©« |
713 | label4 label 150,5,0,text.4 ; ¡¨â ¯¨ªá¥«ì |
761 | label4 label 150,5,0,text.4 ; ¡¨â ¯¨ªá¥«ì |
714 | label5 label 150,15,0,text.5 ; ¡ ©â áâபã |
762 | label5 label 150,15,0,text.5 ; ¡ ©â áâபã |
715 | label6 label 115,138,0,text.6 ; 100 = 1 ᥪ. |
763 | label6 label 115,138,0,text.6 ; 100 = 1 ᥪ. |
716 | ;label7 label 10,190,0,text.7 |
764 | ;label7 label 10,190,0,text.7 |
717 | ;label8 label 10,225,0,text.8 |
765 | ;label8 label 10,225,0,text.8 |
718 | label9 label 5,52,0,text.9 ; ®¬¥à ⥪ã饣® ᨬª |
766 | label9 label 5,52,0,text.9 ; ®¬¥à ⥪ã饣® ᨬª |
719 | label10 label 5,185,0,text.10 |
767 | label10 label 5,185,0,text.10 |
720 | status label 5,201,0,no_shoot |
768 | status label 5,201,0,no_shoot |
721 | labels_end: |
769 | labels_end: |
722 | 770 | ||
723 | ;--------------------------------------------------------------------- |
771 | ;--------------------------------------------------------------------- |
724 | l_libs_start: |
772 | l_libs_start: |
725 | 773 | ||
726 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
774 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
727 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
775 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
728 | 776 | ||
729 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
777 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
730 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
778 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
731 | 779 | ||
732 | end_l_libs: |
780 | end_l_libs: |
733 | ;--------------------------------------------------------------------- |
781 | ;--------------------------------------------------------------------- |
734 | editboxes: |
782 | editboxes: |
735 | ;edit1 edit_box 300,5,35,cl_white,0,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10 ; ¯ãâì ª ä ©«ã |
783 | ;edit1 edit_box 300,5,35,cl_white,0,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10 ; ¯ãâì ª ä ©«ã |
736 | edit2 edit_box 35,75,134,cl_white,0,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3 ; § ¤¥à¦ª |
784 | edit2 edit_box 35,75,134,cl_white,0,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3 ; § ¤¥à¦ª |
737 | edit3 edit_box 35,165,164,cl_white,0,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only ; ¢â®ã¬¥à æ¨ï |
785 | edit3 edit_box 35,165,164,cl_white,0,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only ; ¢â®ã¬¥à æ¨ï |
738 | edit4 edit_box 16,165,181,cl_white,0,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1 |
786 | edit4 edit_box 16,165,181,cl_white,0,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1 |
739 | editboxes_end: |
787 | editboxes_end: |
740 | ;--------------------------------------------------------------------- |
788 | ;--------------------------------------------------------------------- |
741 | buttons: |
789 | buttons: |
742 | but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot ; ᤥ« âì ᨬ®ª |
790 | but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot ; ᤥ« âì ᨬ®ª |
743 | but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot ; á®åà ¨âì ᨬ®ª |
791 | but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot ; á®åà ¨âì ᨬ®ª |
744 | but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window ; ¯®ª § âì ᨬ®ª |
792 | but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window ; ¯®ª § âì ᨬ®ª |
745 | but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number ; ¯à¨¬¥¨âì ®¬¥à |
793 | but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number ; ¯à¨¬¥¨âì ®¬¥à |
746 | but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot ; ç âì ¢â®áêñ¬ªã |
794 | but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot ; ç âì ¢â®áêñ¬ªã |
747 | but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot ; ®áâ ®¢¨âì ¢â®áêñ¬ªã |
795 | but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot ; ®áâ ®¢¨âì ¢â®áêñ¬ªã |
748 | but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì |
796 | but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì |
749 | buttons_end: |
797 | buttons_end: |
750 | ;--------------------------------------------------------------------- |
798 | ;--------------------------------------------------------------------- |
751 | check_boxes: |
799 | check_boxes: |
752 | ch1 check_box2 (5 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.1,ch_flag_en+ch_flag_middle ; ᢥàãâì ®ª® |
800 | ch1 check_box2 (5 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.1,ch_flag_en+ch_flag_middle ; ᢥàãâì ®ª® |
753 | ch2 check_box2 (5 shl 16+11),(120 shl 16 +11),5,cl_white,0,0x80000000,ch_text.2,ch_flag_en+ch_flag_middle ; § ⥬ ᤥ« âì ªâ¨¢ë¬ |
801 | ch2 check_box2 (5 shl 16+11),(120 shl 16 +11),5,cl_white,0,0x80000000,ch_text.2,ch_flag_en+ch_flag_middle ; § ⥬ ᤥ« âì ªâ¨¢ë¬ |
754 | ch3 check_box2 (1455 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.3,ch_flag_en+ch_flag_middle ; ¯®ª § âì ᨬ®ª |
802 | ch3 check_box2 (1455 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.3,ch_flag_en+ch_flag_middle ; ¯®ª § âì ᨬ®ª |
755 | ch4 check_box2 (5 shl 16+11),(135 shl 16 +11),5,cl_white,0,0x80000000,ch_text.4,ch_flag_en+ch_flag_middle ; § ¤¥à¦ª |
803 | ch4 check_box2 (5 shl 16+11),(135 shl 16 +11),5,cl_white,0,0x80000000,ch_text.4,ch_flag_en+ch_flag_middle ; § ¤¥à¦ª |
756 | ch5 check_box2 (5 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.5,ch_flag_en+ch_flag_middle |
804 | ch5 check_box2 (5 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.5,ch_flag_en+ch_flag_middle |
757 | ch6 check_box2 (5 shl 16+11),(165 shl 16 +11),5,cl_white,0,0x80000000,ch_text.6,ch_flag_en+ch_flag_middle |
805 | ch6 check_box2 (5 shl 16+11),(165 shl 16 +11),5,cl_white,0,0x80000000,ch_text.6,ch_flag_en+ch_flag_middle |
758 | use_rect check_box2 (145 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.7,ch_flag_middle ; ¨á¯. ®¡« áâì |
806 | use_rect check_box2 (145 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.7,ch_flag_middle ; ¨á¯. ®¡« áâì |
759 | ; ¢â®ã¬¥à æ¨ï |
807 | ; ¢â®ã¬¥à æ¨ï |
760 | check_boxes_end: |
808 | check_boxes_end: |
761 | ;--------------------------------------------------------------------- |
809 | ;--------------------------------------------------------------------- |
762 | if lang eq ru |
810 | if lang eq ru |
763 | text: |
811 | text: |
764 | .2 db 'ëá®â íªà :',0 |
812 | .2 db 'ëá®â íªà :',0 |
765 | .1 db '¨à¨ íªà :',0 |
813 | .1 db '¨à¨ íªà :',0 |
766 | .3 db '¢¥¤¨â¥ ¯®«ë© ¯ãâì ª ä ©«ã:',0 |
814 | .3 db '¢¥¤¨â¥ ¯®«ë© ¯ãâì ª ä ©«ã:',0 |
767 | .4 db '¨â ¯¨ªá¥«ì:',0 |
815 | .4 db '¨â ¯¨ªá¥«ì:',0 |
768 | .5 db ' ©â áâபã:',0 |
816 | .5 db ' ©â áâபã:',0 |
769 | .6 db '100 = 1 ᥪ㤠',0 |
817 | .6 db '100 = 1 ᥪ㤠',0 |
770 | ;.7: db '¢¥¤¨â¥ ¨¬ï ä ©« :',0 |
818 | ;.7: db '¢¥¤¨â¥ ¨¬ï ä ©« :',0 |
771 | ;.8: db '¬¥áâ® "*" ¢ ¨¬¥¨ ä ©« ¡ã¤¥â ¢áâ ¢«ïâìáï ®¬¥à.',0 |
819 | ;.8: db '¬¥áâ® "*" ¢ ¨¬¥¨ ä ©« ¡ã¤¥â ¢áâ ¢«ïâìáï ®¬¥à.',0 |
772 | .9 db '®¬¥à ⥪ã饣® ᨬª :',0 |
820 | .9 db '®¬¥à ⥪ã饣® ᨬª :',0 |
773 | .10 db '®«¨ç¥á⢮ § ª®¢ ¢ ®¬¥à¥:',0 |
821 | .10 db '®«¨ç¥á⢮ § ª®¢ ¢ ®¬¥à¥:',0 |
774 | 822 | ||
775 | but_text: |
823 | but_text: |
776 | .1 db '¤¥« âì ᨬ®ª íªà ',0 |
824 | .1 db '¤¥« âì ᨬ®ª íªà ',0 |
777 | .2 db '®åà ¨âì ᨬ®ª íªà ',0 |
825 | .2 db '®åà ¨âì ᨬ®ª íªà ',0 |
778 | .3 db '®ª § âì ᨬ®ª ᥩç á',0 |
826 | .3 db '®ª § âì ᨬ®ª ᥩç á',0 |
779 | .4 db 'ਬ¥¨âì',0 |
827 | .4 db 'ਬ¥¨âì',0 |
780 | .5 db ' ç âì ¢â®áꥬªã',0 |
828 | .5 db ' ç âì ¢â®áꥬªã',0 |
781 | .6 db 'áâ ®¢¨âì ¢â®áꥬªã',0 |
829 | .6 db 'áâ ®¢¨âì ¢â®áꥬªã',0 |
782 | .7 db '§ ¤ âì',0 |
830 | .7 db '§ ¤ âì',0 |
783 | 831 | ||
784 | ch_text: |
832 | ch_text: |
785 | .1 db '¢¥àãâì ®ª®',0 |
833 | .1 db '¢¥àãâì ®ª®',0 |
786 | .2 db '®ª § âì ᨬ®ª',0 |
834 | .2 db '®ª § âì ᨬ®ª',0 |
787 | .3 db '§ ⥬ ᤥ« âì ªâ¨¢ë¬',0 |
835 | .3 db '§ ⥬ ᤥ« âì ªâ¨¢ë¬',0 |
788 | .4 db ' ¤¥à¦ª :',0 |
836 | .4 db ' ¤¥à¦ª :',0 |
789 | .5 db '¢â®á®åà ¥¨¥',0 |
837 | .5 db '¢â®á®åà ¥¨¥',0 |
790 | .6 db '¢â®ã¬¥à æ¨ï, ç¨ ï á',0 |
838 | .6 db '¢â®ã¬¥à æ¨ï, ç¨ ï á',0 |
791 | .7 db '¡« áâì',0 |
839 | .7 db '¡« áâì',0 |
792 | 840 | ||
793 | no_shoot db '¨¬®ª ¥ ᤥ« ',0 |
841 | no_shoot db '¨¬®ª ¥ ᤥ« ',0 |
794 | shooting db '®â®£à ä¨à®¢ ¨¥...',0 |
842 | shooting db '®â®£à ä¨à®¢ ¨¥...',0 |
795 | shooted_ok db '¨¬®ª ᤥ« ',0 |
843 | shooted_ok db '¨¬®ª ᤥ« ',0 |
796 | saving db '®åà ¥¨¥...',0 |
844 | saving db '®åà ¥¨¥...',0 |
797 | saved_ok db '¨¬®ª á®åà ¥',0 |
845 | saved_ok db '¨¬®ª á®åà ¥',0 |
798 | delay_now db ' ¤¥à¦ª ...',0 |
846 | delay_now db ' ¤¥à¦ª ...',0 |
799 | bad_file_name db '¬ï ä ©« ¢¢¥¤¥® ¥¢¥à®',0 |
847 | bad_file_name db '¬ï ä ©« ¢¢¥¤¥® ¥¢¥à®',0 |
800 | disk_filled db '¨áª § ¯®«¥',0 |
848 | disk_filled db '¨áª § ¯®«¥',0 |
801 | bad_fat_table db ' ¡«¨æ FAT à §àãè¥ ',0 |
849 | bad_fat_table db ' ¡«¨æ FAT à §àãè¥ ',0 |
802 | ac_den db '®áâ㯠§ ¯à¥é¥',0 |
850 | ac_den db '®áâ㯠§ ¯à¥é¥',0 |
803 | device_er db '訡ª ãáâனá⢠',0 |
851 | device_er db '訡ª ãáâனá⢠',0 |
804 | not_shooted db '¤¥« ©â¥ ᨬ®ª !!!',0 |
852 | not_shooted db '¤¥« ©â¥ ᨬ®ª !!!',0 |
805 | no_file_name db '¢¥¤¨â¥ ¨¬ï ä ©« !!!',0 |
853 | no_file_name db '¢¥¤¨â¥ ¨¬ï ä ©« !!!',0 |
806 | invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0 |
854 | invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0 |
807 | keyforexit db 'â® ¢ è ᨬ®ª. ë室 - «î¡ ï ª« ¢¨è .',0 |
855 | keyforexit db 'â® ¢ è ᨬ®ª. ë室 - «î¡ ï ª« ¢¨è .',0 |
808 | 856 | ||
809 | 857 | ||
810 | else |
858 | else |
811 | text: |
859 | text: |
812 | .2 db 'Screen width:',0 |
860 | .2 db 'Screen width:',0 |
813 | .1 db 'Screen height:',0 |
861 | .1 db 'Screen height:',0 |
814 | .3 db 'Enter full path to the file:',0 |
862 | .3 db 'Enter full path to the file:',0 |
815 | .4 db 'Bits per pixel:',0 |
863 | .4 db 'Bits per pixel:',0 |
816 | .5 db 'Bytes per line:',0 |
864 | .5 db 'Bytes per line:',0 |
817 | .6 db '100 = 1 second',0 |
865 | .6 db '100 = 1 second',0 |
818 | ;.7: db 'Enter name of file:',0 |
866 | ;.7: db 'Enter name of file:',0 |
819 | ;.8: db 'Instead of "*" in filename the number will be included.',0 |
867 | ;.8: db 'Instead of "*" in filename the number will be included.',0 |
820 | .9 db 'Current photo number:',0 |
868 | .9 db 'Current photo number:',0 |
821 | .10 db 'Amount of digits in number:',0 |
869 | .10 db 'Amount of digits in number:',0 |
822 | 870 | ||
823 | but_text: |
871 | but_text: |
824 | .1 db 'Make screen photo',0 |
872 | .1 db 'Make screen photo',0 |
825 | .2 db 'Save screen photo',0 |
873 | .2 db 'Save screen photo',0 |
826 | .3 db 'Show photo now',0 |
874 | .3 db 'Show photo now',0 |
827 | .4 db 'Apply',0 |
875 | .4 db 'Apply',0 |
828 | .5 db 'Start autoshooting',0 |
876 | .5 db 'Start autoshooting',0 |
829 | .6 db 'Stop autoshooting',0 |
877 | .6 db 'Stop autoshooting',0 |
830 | .7 db 'Set',0 |
878 | .7 db 'Set',0 |
831 | 879 | ||
832 | ch_text: |
880 | ch_text: |
833 | .1 db 'Minimize window',0 |
881 | .1 db 'Minimize window',0 |
834 | .2 db 'Show photo',0 |
882 | .2 db 'Show photo',0 |
835 | .3 db 'then make active',0 |
883 | .3 db 'then make active',0 |
836 | .4 db 'Delay:',0 |
884 | .4 db 'Delay:',0 |
837 | .5 db 'Autosave',0 |
885 | .5 db 'Autosave',0 |
838 | .6 db 'Start numeration from',0 |
886 | .6 db 'Start numeration from',0 |
839 | .7 db 'Area',0 |
887 | .7 db 'Area',0 |
840 | 888 | ||
841 | no_shoot db 'There is no photo',0 |
889 | no_shoot db 'There is no photo',0 |
842 | shooting db 'Photographing...',0 |
890 | shooting db 'Photographing...',0 |
843 | shooted_ok db 'Photo created',0 |
891 | shooted_ok db 'Photo created',0 |
844 | saving db 'Saving...',0 |
892 | saving db 'Saving...',0 |
845 | saved_ok db 'Photo saved',0 |
893 | saved_ok db 'Photo saved',0 |
846 | delay_now db 'Delay...',0 |
894 | delay_now db 'Delay...',0 |
847 | bad_file_name db 'File name is wrong',0 |
895 | bad_file_name db 'File name is wrong',0 |
848 | disk_filled db 'Disk is full',0 |
896 | disk_filled db 'Disk is full',0 |
849 | bad_fat_table db 'FAT table destroyed',0 |
897 | bad_fat_table db 'FAT table destroyed',0 |
850 | ac_den db 'Access denied',0 |
898 | ac_den db 'Access denied',0 |
851 | device_er db 'Device error',0 |
899 | device_er db 'Device error',0 |
852 | not_shooted db 'Make a photo !!!',0 |
900 | not_shooted db 'Make a photo !!!',0 |
853 | no_file_name db 'Enter file name !!!',0 |
901 | no_file_name db 'Enter file name !!!',0 |
854 | invalid_rect db 'Wrong area size',0 |
902 | invalid_rect db 'Wrong area size',0 |
855 | keyforexit db 'This is your screenshot. Press any key.',0 |
903 | keyforexit db 'This is your screenshot. Press any key.',0 |
856 | 904 | ||
857 | end if |
905 | end if |
858 | 906 | ||
859 | 907 | ||
860 | 908 | ||
861 | 909 | ||
862 | ;--------------------------------------------------------------------- |
910 | ;--------------------------------------------------------------------- |
863 | PathShow_data_1: |
911 | PathShow_data_1: |
864 | .type dd 0 ;+0 |
912 | .type dd 0 ;+0 |
865 | .start_y dw 38 ;+4 |
913 | .start_y dw 38 ;+4 |
866 | .start_x dw 6 ;+6 |
914 | .start_x dw 6 ;+6 |
867 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
915 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
868 | .area_size_x dw 300 ;+10 |
916 | .area_size_x dw 300 ;+10 |
869 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
917 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
870 | .background_flag dd 0 ;+16 |
918 | .background_flag dd 0 ;+16 |
871 | .font_color dd 0x0 ;+20 |
919 | .font_color dd 0x0 ;+20 |
872 | .background_color dd 0x0 ;+24 |
920 | .background_color dd 0x0 ;+24 |
873 | .text_pointer dd fname_buf ;+28 |
921 | .text_pointer dd fname_buf ;+28 |
874 | .work_area_pointer dd text_work_area ;+32 |
922 | .work_area_pointer dd text_work_area ;+32 |
875 | .temp_text_length dd 0 ;+36 |
923 | .temp_text_length dd 0 ;+36 |
876 | ;--------------------------------------------------------------------- |
924 | ;--------------------------------------------------------------------- |
877 | OpenDialog_data: |
925 | OpenDialog_data: |
878 | .type dd 1 ; Save |
926 | .type dd 1 ; Save |
879 | .procinfo dd procinfo ;+4 |
927 | .procinfo dd procinfo ;+4 |
880 | .com_area_name dd communication_area_name ;+8 |
928 | .com_area_name dd communication_area_name ;+8 |
881 | .com_area dd 0 ;+12 |
929 | .com_area dd 0 ;+12 |
882 | .opendir_pach dd temp_dir_pach ;+16 |
930 | .opendir_pach dd temp_dir_pach ;+16 |
883 | .dir_default_pach dd communication_area_default_pach ;+20 |
931 | .dir_default_pach dd communication_area_default_pach ;+20 |
884 | .start_path dd open_dialog_path ;+24 |
932 | .start_path dd open_dialog_path ;+24 |
885 | .draw_window dd draw_window ;+28 |
933 | .draw_window dd draw_window ;+28 |
886 | .status dd 0 ;+32 |
934 | .status dd 0 ;+32 |
887 | .openfile_pach dd fname_buf ;+36 |
935 | .openfile_pach dd fname_buf ;+36 |
888 | .filename_area dd filename_area ;+40 |
936 | .filename_area dd filename_area ;+40 |
889 | .filter_area dd Filter |
937 | .filter_area dd Filter |
890 | .x: |
938 | .x: |
891 | .x_size dw 420 ;+48 ; Window X size |
939 | .x_size dw 420 ;+48 ; Window X size |
892 | .x_start dw 10 ;+50 ; Window X position |
940 | .x_start dw 10 ;+50 ; Window X position |
893 | .y: |
941 | .y: |
894 | .y_size dw 320 ;+52 ; Window y size |
942 | .y_size dw 320 ;+52 ; Window y size |
895 | .y_start dw 10 ;+54 ; Window Y position |
943 | .y_start dw 10 ;+54 ; Window Y position |
896 | 944 | ||
897 | communication_area_name: |
945 | communication_area_name: |
898 | db 'FFFFFFFF_open_dialog',0 |
946 | db 'FFFFFFFF_open_dialog',0 |
899 | open_dialog_path: |
947 | open_dialog_path: |
900 | if __nightbuild eq yes |
948 | if __nightbuild eq yes |
901 | db '/sys/MANAGERS/opendial',0 |
949 | db '/sys/MANAGERS/opendial',0 |
902 | else |
950 | else |
903 | db '/sys/File Managers/opendial',0 |
951 | db '/sys/File Managers/opendial',0 |
904 | end if |
952 | end if |
905 | communication_area_default_pach: |
953 | communication_area_default_pach: |
906 | db '/sys',0 |
954 | db '/sys',0 |
907 | 955 | ||
908 | Filter: |
956 | Filter: |
909 | dd Filter.end - Filter |
957 | dd Filter.end - Filter |
910 | .1: |
958 | .1: |
911 | db 'BMP',0 |
959 | db 'BMP',0 |
912 | .end: |
960 | .end: |
913 | db 0 |
961 | db 0 |
914 | 962 | ||
915 | start_temp_file_name: db '1.bmp',0 |
963 | start_temp_file_name: db '1.bmp',0 |
916 | 964 | ||
917 | ;--------------------------------------------------------------------- |
965 | ;--------------------------------------------------------------------- |
918 | sign_n_input: |
966 | sign_n_input: |
919 | db '2',0 |
967 | db '2',0 |
920 | 968 | ||
921 | PrintScreen db 0 |
969 | PrintScreen db 0 |
922 | autoshoot_flag db 0 |
970 | autoshoot_flag db 0 |
923 | 971 | ||
924 | app_ipc ipc_buffer 32 |
972 | app_ipc ipc_buffer 32 |
925 | align 4 |
973 | align 4 |
926 | 974 | ||
927 | mouse_flag: dd 0x0 |
975 | mouse_flag: dd 0x0 |
928 | ;--------------------------------------------------------------------- |
976 | ;--------------------------------------------------------------------- |
929 | align 4 |
977 | align 4 |
930 | 978 | ||
931 | ed_buffer: |
979 | ed_buffer: |
932 | .1: db '/sys/1.bmp',0 |
980 | .1: db '/sys/1.bmp',0 |
933 | ;rb 287 |
981 | ;rb 287 |
934 | .2: |
982 | .2: |
935 | db '100',0 |
983 | db '100',0 |
936 | rb 6 |
984 | rb 6 |
937 | .3: |
985 | .3: |
938 | rb 10 |
986 | rb 10 |
939 | ;--------------------------------------------------------------------- |
987 | ;--------------------------------------------------------------------- |
940 | IM_END: |
988 | IM_END: |
941 | ;--------------------------------------------------------------------- |
989 | ;--------------------------------------------------------------------- |
942 | structure_of_potock: |
990 | structure_of_potock: |
943 | rb 100 |
991 | rb 100 |
944 | ;--------------------------------------------------------------------- |
992 | ;--------------------------------------------------------------------- |
945 | align 4 |
993 | align 4 |
946 | 994 | ||
947 | cur_number dd ? |
995 | cur_number dd ? |
948 | 996 | ||
949 | sign_n db ? |
997 | sign_n db ? |
950 | 998 | ||
951 | slot_n dd ? |
999 | slot_n dd ? |
952 | 1000 | ||
953 | flags dd ? |
1001 | flags dd ? |
954 | 1002 | ||
955 | scr_buf: |
1003 | scr_buf: |
956 | .ptr dd ? |
1004 | .ptr dd ? |
957 | .end_ptr dd ? |
1005 | .end_ptr dd ? |
958 | .size: |
1006 | .size: |
959 | .height dw ? |
1007 | .height dw ? |
960 | .width dw ? |
1008 | .width dw ? |
961 | 1009 | ||
962 | fs_struc: |
1010 | fs_struc: |
963 | .funk_n dd ? |
1011 | .funk_n dd ? |
964 | dd ? |
1012 | dd ? |
965 | dd ? |
1013 | dd ? |
966 | .bytes_to_write dd ? |
1014 | .bytes_to_write dd ? |
967 | .data_ptr dd ?,? |
1015 | .data_ptr dd ?,? |
968 | .fn_ptr dd ? |
1016 | .fn_ptr dd ? |
969 | 1017 | ||
970 | sf_buf: |
1018 | sf_buf: |
971 | .bmp_header dd ? |
1019 | .bmp_header dd ? |
972 | .bmp_area dd ? |
1020 | .bmp_area dd ? |
973 | .end dd ? |
1021 | .end dd ? |
974 | 1022 | ||
975 | set_rect_window_pid dd ? |
1023 | set_rect_window_pid dd ? |
976 | set_rect_window_slot dd ? |
1024 | set_rect_window_slot dd ? |
977 | ;--------------------------------------------------------------------- |
1025 | ;--------------------------------------------------------------------- |
978 | align 4 |
1026 | align 4 |
979 | rect_input_buffer: |
1027 | rect_input_buffer: |
980 | .left rb 6 |
1028 | .left rb 6 |
981 | .top rb 6 |
1029 | .top rb 6 |
982 | .width rb 6 |
1030 | .width rb 6 |
983 | .height rb 6 |
1031 | .height rb 6 |
984 | 1032 | ||
985 | cmdstr rb 257 |
1033 | cmdstr rb 257 |
986 | ;--------------------------------------------------------------------- |
1034 | ;--------------------------------------------------------------------- |
987 | align 4 |
1035 | align 4 |
988 | 1036 | ||
989 | file_name: |
1037 | file_name: |
990 | rb 1058 |
1038 | rb 1058 |
991 | 1039 | ||
992 | scr screen_prop |
1040 | scr screen_prop |
993 | rect: |
1041 | rect: |
994 | .left dw ? |
1042 | .left dw ? |
995 | .top dw ? |
1043 | .top dw ? |
996 | .height dw ? |
1044 | .height dw ? |
997 | .width dw ? |
1045 | .width dw ? |
998 | 1046 | ||
999 | sc sys_color_table |
1047 | sc sys_color_table |
1000 | app procinfo ; ¨ä®à¬ æ¨ï ® £« ¢®¬ ®ª¥ |
1048 | app procinfo ; ¨ä®à¬ æ¨ï ® £« ¢®¬ ®ª¥ |
1001 | active_app procinfo ; ¨ä®à¬ æ¨ï ®¡ ªâ¨¢®¬ ®ª¥ |
1049 | active_app procinfo ; ¨ä®à¬ æ¨ï ®¡ ªâ¨¢®¬ ®ª¥ |
1002 | set_rect_window_procinfo procinfo ; ¨ä®à¬ æ¨ï ®¡ ®ª¥ ®¡« á⨠|
1050 | set_rect_window_procinfo procinfo ; ¨ä®à¬ æ¨ï ®¡ ®ª¥ ®¡« á⨠|
1003 | ;--------------------------------------------------------------------- |
1051 | ;--------------------------------------------------------------------- |
1004 | rb 512 ; á⥪ ¯®â®ª ä®âª ìï |
1052 | rb 512 ; á⥪ ¯®â®ª ä®âª ìï |
1005 | shoot_esp: |
1053 | shoot_esp: |
1006 | ;--------------------------------------------------------------------- |
1054 | ;--------------------------------------------------------------------- |
1007 | rb 512 ; á⥪ ®ª ®¡« á⨠|
1055 | rb 512 ; á⥪ ®ª ®¡« á⨠|
1008 | set_rect_window_esp: |
1056 | set_rect_window_esp: |
1009 | ;--------------------------------------------------------------------- |
1057 | ;--------------------------------------------------------------------- |
1010 | ; app_end ; ª®¥æ ¯à®£à ¬¬ë |
1058 | ; app_end ; ª®¥æ ¯à®£à ¬¬ë |
1011 | mouse_dd rd 1 |
1059 | mouse_dd rd 1 |
1012 | ;--------------------------------------------------------------------- |
1060 | ;--------------------------------------------------------------------- |
1013 | align 4 |
1061 | align 4 |
1014 | cur_dir_path: |
1062 | cur_dir_path: |
1015 | rb 4096 |
1063 | rb 4096 |
1016 | ;--------------------------------------------------------------------- |
1064 | ;--------------------------------------------------------------------- |
1017 | library_path: |
1065 | library_path: |
1018 | rb 4096 |
1066 | rb 4096 |
1019 | ;--------------------------------------------------------------------- |
1067 | ;--------------------------------------------------------------------- |
1020 | temp_dir_pach: |
1068 | temp_dir_pach: |
1021 | rb 4096 |
1069 | rb 4096 |
1022 | ;--------------------------------------------------------------------- |
1070 | ;--------------------------------------------------------------------- |
1023 | text_work_area: |
1071 | text_work_area: |
1024 | rb 1024 |
1072 | rb 1024 |
1025 | ;--------------------------------------------------------------------- |
1073 | ;--------------------------------------------------------------------- |
1026 | fname_buf: |
1074 | fname_buf: |
1027 | rb 4096 |
1075 | rb 4096 |
1028 | ;--------------------------------------------------------------------- |
1076 | ;--------------------------------------------------------------------- |
1029 | procinfo: |
1077 | procinfo: |
1030 | rb 1024 |
1078 | rb 1024 |
1031 | ;--------------------------------------------------------------------- |
1079 | ;--------------------------------------------------------------------- |
1032 | filename_area: |
1080 | filename_area: |
1033 | rb 256 |
1081 | rb 256 |
1034 | ;--------------------------------------------------------------------- |
1082 | ;--------------------------------------------------------------------- |
1035 | rb 1024 |
1083 | rb 1024 |
1036 | i_end_tread: |
1084 | i_end_tread: |
1037 | ;--------------------------------------------------------------------- |
1085 | ;--------------------------------------------------------------------- |
1038 | rb 1024 |
1086 | rb 1024 |
1039 | stacktop: |
1087 | stacktop: |
1040 | ;--------------------------------------------------------------------- |
1088 | ;--------------------------------------------------------------------- |
1041 | i_end:35,15>4,302> |
1089 | i_end:35,15>4,302>10,30> |