Rev 485 | Rev 1632 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 485 | Rev 552 | ||
---|---|---|---|
1 | ;----------------------------------------------------------- |
1 | ;----------------------------------------------------------- |
2 | ;-----------instruments of menu----------------------------- |
2 | ;-----------instruments of menu----------------------------- |
3 | ;----------------------------------------------------------- |
3 | ;----------------------------------------------------------- |
4 | TakeInstruments: |
4 | TakeInstruments: |
5 | 5 | ||
6 | ;|||||||||||||||||||FILE|||||||||||||||||||||| |
6 | ;|||||||||||||||||||FILE|||||||||||||||||||||| |
7 | cmp [number_panel],7 |
7 | cmp [number_panel],7 |
8 | jne no_file |
8 | jne no_file |
9 | 9 | ||
10 | ;<<<< |
10 | ;<<<< |
11 | cmp [number_menu],1 |
11 | cmp [number_menu],1 |
12 | jne no_new |
12 | jne no_new |
13 | 13 | ||
14 | mov eax,80 |
14 | mov eax,80 |
15 | mov ebx,100 |
15 | mov ebx,100 |
16 | mov ecx,150 |
16 | mov ecx,150 |
17 | mov edx,90 |
17 | mov edx,90 |
18 | mov esi,1 |
18 | mov esi,1 |
19 | call draw_volume_rectangle |
19 | call draw_volume_rectangle |
20 | 20 | ||
21 | mov eax,177 |
21 | mov eax,177 |
22 | mov ebx,115 |
22 | mov ebx,115 |
23 | mov ecx,40 |
23 | mov ecx,40 |
24 | mov edx,14 |
24 | mov edx,14 |
25 | mov esi,4 |
25 | mov esi,4 |
26 | call draw_volume_rectangle |
26 | call draw_volume_rectangle |
27 | 27 | ||
28 | mov eax,177 |
28 | mov eax,177 |
29 | mov ebx,115+24 |
29 | mov ebx,115+24 |
30 | mov ecx,40 |
30 | mov ecx,40 |
31 | mov edx,14 |
31 | mov edx,14 |
32 | mov esi,4 |
32 | mov esi,4 |
33 | call draw_volume_rectangle |
33 | call draw_volume_rectangle |
34 | 34 | ||
35 | mov eax,175 |
35 | mov eax,175 |
36 | mov ebx,170 |
36 | mov ebx,170 |
37 | mov ecx,40 |
37 | mov ecx,40 |
38 | mov edx,15 |
38 | mov edx,15 |
39 | mov esi,1 |
39 | mov esi,1 |
40 | call draw_volume_rectangle |
40 | call draw_volume_rectangle |
41 | 41 | ||
42 | mov eax,90 |
42 | mov eax,90 |
43 | mov ebx,118 |
43 | mov ebx,118 |
44 | mov ecx,0xffffff |
44 | mov ecx,0xffffff |
45 | mov edx,new_text1 |
45 | mov edx,new_text1 |
46 | mov esi,14 |
46 | mov esi,14 |
47 | call print_text |
47 | call print_text |
48 | 48 | ||
49 | mov eax,90 |
49 | mov eax,90 |
50 | mov ebx,118+24 |
50 | mov ebx,118+24 |
51 | mov ecx,0xffffff |
51 | mov ecx,0xffffff |
52 | mov edx,new_text2 |
52 | mov edx,new_text2 |
53 | mov esi,14 |
53 | mov esi,14 |
54 | call print_text |
54 | call print_text |
55 | 55 | ||
56 | mov eax,185 |
56 | mov eax,185 |
57 | mov ebx,175 |
57 | mov ebx,175 |
58 | mov ecx,0xffffff |
58 | mov ecx,0xffffff |
59 | mov edx,ok_text |
59 | mov edx,ok_text |
60 | mov esi,2 |
60 | mov esi,2 |
61 | call print_text |
61 | call print_text |
62 | 62 | ||
63 | mov eax,8 |
63 | mov eax,8 |
64 | mov ebx,177*65536+40 |
64 | mov ebx,177*65536+40 |
65 | mov ecx,115*65536+14 |
65 | mov ecx,115*65536+14 |
66 | mov edx,1000000000000000000000000000000b |
66 | mov edx,1000000000000000000000000000000b |
67 | add edx,1000 |
67 | add edx,1000 |
68 | mcall |
68 | mcall |
69 | 69 | ||
70 | mov eax,8 |
70 | mov eax,8 |
71 | mov ebx,177*65536+40 |
71 | mov ebx,177*65536+40 |
72 | mov ecx,139*65536+14 |
72 | mov ecx,139*65536+14 |
73 | mov edx,1000000000000000000000000000000b |
73 | mov edx,1000000000000000000000000000000b |
74 | add edx,1001 |
74 | add edx,1001 |
75 | mcall |
75 | mcall |
76 | 76 | ||
77 | mov eax,8 |
77 | mov eax,8 |
78 | mov ebx,175*65536+40 |
78 | mov ebx,175*65536+40 |
79 | mov ecx,170*65536+15 |
79 | mov ecx,170*65536+15 |
80 | mov edx,1000000000000000000000000000000b |
80 | mov edx,1000000000000000000000000000000b |
81 | add edx,1002 |
81 | add edx,1002 |
82 | mcall |
82 | mcall |
83 | 83 | ||
84 | no_activate_space: |
84 | no_activate_space: |
85 | 85 | ||
86 | mov eax,10 |
86 | mov eax,10 |
87 | mcall |
87 | mcall |
88 | 88 | ||
89 | cmp eax,1 |
89 | cmp eax,1 |
90 | je exit_new |
90 | je exit_new |
91 | 91 | ||
92 | cmp eax,3 |
92 | cmp eax,3 |
93 | jne no_activate_space |
93 | jne no_activate_space |
94 | 94 | ||
95 | mov eax,17 |
95 | mov eax,17 |
96 | mcall |
96 | mcall |
97 | shr eax,8 |
97 | shr eax,8 |
98 | 98 | ||
99 | cmp eax,1000 |
99 | cmp eax,1000 |
100 | jl no_activate_space |
100 | jl no_activate_space |
101 | 101 | ||
102 | cmp eax,1000 |
102 | cmp eax,1000 |
103 | jne no_picture_size_x |
103 | jne no_picture_size_x |
104 | 104 | ||
105 | mov eax,180 |
105 | mov eax,180 |
106 | mov ebx,119 |
106 | mov ebx,119 |
107 | mov ecx,5 |
107 | mov ecx,5 |
108 | call dialog_line |
108 | call dialog_line |
109 | 109 | ||
110 | mov eax,string_ |
110 | mov eax,string_ |
111 | mov ebx,13 |
111 | mov ebx,13 |
112 | call find_symvol |
112 | call find_symvol |
113 | 113 | ||
114 | dec eax |
114 | dec eax |
115 | mov [length_number],eax |
115 | mov [length_number],eax |
116 | mov eax,string_ |
116 | mov eax,string_ |
117 | call value |
117 | call value |
118 | 118 | ||
119 | mov [Picture_SizeX],eax |
119 | mov [Picture_SizeX],eax |
120 | 120 | ||
121 | jmp no_activate_space |
121 | jmp no_activate_space |
122 | 122 | ||
123 | no_picture_size_x: |
123 | no_picture_size_x: |
124 | 124 | ||
125 | cmp eax,1001 |
125 | cmp eax,1001 |
126 | jne no_picture_size_y |
126 | jne no_picture_size_y |
127 | 127 | ||
128 | mov eax,180 |
128 | mov eax,180 |
129 | mov ebx,119+24 |
129 | mov ebx,119+24 |
130 | mov ecx,5 |
130 | mov ecx,5 |
131 | call dialog_line |
131 | call dialog_line |
132 | 132 | ||
133 | mov eax,string_ |
133 | mov eax,string_ |
134 | mov ebx,13 |
134 | mov ebx,13 |
135 | call find_symvol |
135 | call find_symvol |
136 | 136 | ||
137 | dec eax |
137 | dec eax |
138 | mov [length_number],eax |
138 | mov [length_number],eax |
139 | mov eax,string_ |
139 | mov eax,string_ |
140 | call value |
140 | call value |
141 | 141 | ||
142 | mov [Picture_SizeY],eax |
142 | mov [Picture_SizeY],eax |
143 | 143 | ||
144 | jmp no_activate_space |
144 | jmp no_activate_space |
145 | 145 | ||
146 | no_picture_size_y: |
146 | no_picture_size_y: |
147 | 147 | ||
148 | cmp eax,1002 |
148 | cmp eax,1002 |
149 | jne no_activate_space |
149 | jne no_activate_space |
150 | 150 | ||
151 | exit_new: |
151 | exit_new: |
152 | 152 | ||
153 | mov eax,8 |
153 | mov eax,8 |
154 | mov ebx,175*65536+40 |
154 | mov ebx,175*65536+40 |
155 | mov ecx,170*65536+15 |
155 | mov ecx,170*65536+15 |
156 | mov edx,11100000000000000000000000000000b |
156 | mov edx,11100000000000000000000000000000b |
157 | add edx,1002 |
157 | add edx,1002 |
158 | mcall |
158 | mcall |
159 | 159 | ||
160 | mov eax,8 |
160 | mov eax,8 |
161 | mov ebx,177*65536+40 |
161 | mov ebx,177*65536+40 |
162 | mov ecx,139*65536+14 |
162 | mov ecx,139*65536+14 |
163 | mov edx,11100000000000000000000000000000b |
163 | mov edx,11100000000000000000000000000000b |
164 | add edx,1001 |
164 | add edx,1001 |
165 | mcall |
165 | mcall |
166 | 166 | ||
167 | mov eax,8 |
167 | mov eax,8 |
168 | mov ebx,177*65536+40 |
168 | mov ebx,177*65536+40 |
169 | mov ecx,115*65536+14 |
169 | mov ecx,115*65536+14 |
170 | mov edx,11100000000000000000000000000000b |
170 | mov edx,11100000000000000000000000000000b |
171 | add edx,1000 |
171 | add edx,1000 |
172 | mcall |
172 | mcall |
173 | 173 | ||
174 | ;get memory for new picture |
174 | ;get memory for new picture |
175 | mov eax,[Picture_SizeX] |
175 | mov eax,[Picture_SizeX] |
176 | mov ebx,[Picture_SizeY] |
176 | mov ebx,[Picture_SizeY] |
177 | 177 | ||
178 | imul eax,ebx |
178 | imul eax,ebx |
179 | lea eax,[eax+eax*2] |
179 | lea eax,[eax+eax*2] |
180 | 180 | ||
181 | mov ebx,[ScreenPointer] |
181 | mov ebx,[ScreenPointer] |
182 | add ebx,(1200*1000*3)+50*(20*20*3)+500000 |
182 | add ebx,(1200*1000*3)+50*(20*20*3)+500000 |
183 | 183 | ||
184 | mov [PointerToPicture],ebx |
184 | mov [PointerToPicture],ebx |
185 | mov [PointerToCopyPicture],ebx |
185 | mov [PointerToCopyPicture],ebx |
186 | mov [PointerToCopyPicture2],ebx |
186 | mov [PointerToCopyPicture2],ebx |
187 | mov [PointerToEditBufer],ebx |
187 | mov [PointerToEditBufer],ebx |
188 | mov [PointerToSpriteBufer],ebx |
188 | mov [PointerToSpriteBufer],ebx |
189 | 189 | ||
190 | add [PointerToCopyPicture],eax |
190 | add [PointerToCopyPicture],eax |
191 | 191 | ||
192 | add [PointerToCopyPicture2],eax |
192 | add [PointerToCopyPicture2],eax |
193 | add [PointerToCopyPicture2],eax |
193 | add [PointerToCopyPicture2],eax |
194 | 194 | ||
195 | add [PointerToEditBufer],eax |
195 | add [PointerToEditBufer],eax |
196 | add [PointerToEditBufer],eax |
196 | add [PointerToEditBufer],eax |
197 | add [PointerToEditBufer],eax |
197 | add [PointerToEditBufer],eax |
198 | 198 | ||
199 | add [PointerToSpriteBufer],eax |
199 | add [PointerToSpriteBufer],eax |
200 | add [PointerToSpriteBufer],eax |
200 | add [PointerToSpriteBufer],eax |
201 | add [PointerToSpriteBufer],eax |
201 | add [PointerToSpriteBufer],eax |
202 | add [PointerToSpriteBufer],eax |
202 | add [PointerToSpriteBufer],eax |
203 | 203 | ||
204 | call GetMemory |
204 | call GetMemory |
205 | 205 | ||
206 | and [save_flag],0 |
206 | and [save_flag],0 |
207 | and [number_panel],0 |
207 | and [number_panel],0 |
208 | and [number_menu],0 |
208 | and [number_menu],0 |
209 | 209 | ||
210 | call cleare_work_arrea |
210 | call cleare_work_arrea |
211 | call drawwin |
211 | call drawwin |
212 | 212 | ||
213 | jmp still |
213 | jmp still |
214 | no_new: |
214 | no_new: |
215 | 215 | ||
216 | ;<<<< |
216 | ;<<<< |
217 | cmp [number_menu],2 |
217 | cmp [number_menu],2 |
218 | jne no_open |
218 | jne no_open |
219 | 219 | ||
220 | opendialog drawwin,open_1,open_2,file_path |
220 | opendialog drawwin,open_1,open_2,file_path |
221 | open_1: |
221 | open_1: |
222 | 222 | ||
223 | mov eax,40 |
223 | mov eax,40 |
224 | mov ebx,100111b |
224 | mov ebx,100111b |
225 | mcall |
225 | mcall |
226 | 226 | ||
227 | mov eax,file_path |
227 | mov eax,file_path |
228 | mov ebx,[ScreenPointer] |
228 | mov ebx,[ScreenPointer] |
229 | add ebx,0x10000 |
229 | add ebx,0x10000 |
230 | 230 | ||
231 | call load_heading_of_file |
231 | call load_heading_of_file |
232 | 232 | ||
233 | mov esi,[ScreenPointer] |
233 | mov esi,[ScreenPointer] |
234 | add esi,0x10000 |
234 | add esi,0x10000 |
235 | ;-------------is this BMP file ?---------------- |
235 | ;-------------is this BMP file ?---------------- |
236 | xor eax,eax |
236 | xor eax,eax |
237 | mov ax,[esi] |
237 | mov ax,[esi] |
238 | mov [type],ax |
238 | mov [type],ax |
239 | 239 | ||
240 | cmp [type],word 'BM' |
240 | cmp [type],word 'BM' |
241 | jne no_bmp_file |
241 | jne no_bmp_file |
242 | 242 | ||
243 | xor eax,eax |
243 | xor eax,eax |
244 | xor ebx,ebx |
244 | xor ebx,ebx |
245 | mov eax,[esi+18] |
245 | mov eax,[esi+18] |
246 | mov ebx,[esi+22] |
246 | mov ebx,[esi+22] |
247 | mov [Picture_SizeX],eax |
247 | mov [Picture_SizeX],eax |
248 | mov [Picture_SizeY],ebx |
248 | mov [Picture_SizeY],ebx |
249 | 249 | ||
250 | jmp exit_type |
250 | jmp exit_type |
251 | 251 | ||
252 | no_bmp_file: |
252 | no_bmp_file: |
253 | 253 | ||
254 | ;-------------is this GIF file ?---------------- |
254 | ;-------------is this GIF file ?---------------- |
255 | xor eax,eax |
255 | xor eax,eax |
256 | mov ax,[esi] |
256 | mov ax,[esi] |
257 | mov [type],ax |
257 | mov [type],ax |
258 | 258 | ||
259 | cmp [type],'GI' |
259 | cmp [type],'GI' |
260 | jne no_gif_file |
260 | jne no_gif_file |
261 | 261 | ||
262 | add esi,6 |
262 | add esi,6 |
263 | xor eax,eax |
263 | xor eax,eax |
264 | xor ebx,ebx |
264 | xor ebx,ebx |
265 | mov ax,word[esi] |
265 | mov ax,word[esi] |
266 | mov bx,word[esi+2] |
266 | mov bx,word[esi+2] |
267 | mov [Picture_SizeX],eax |
267 | mov [Picture_SizeX],eax |
268 | mov [Picture_SizeY],ebx |
268 | mov [Picture_SizeY],ebx |
269 | 269 | ||
270 | jmp exit_type |
270 | jmp exit_type |
271 | 271 | ||
272 | no_gif_file: |
272 | no_gif_file: |
273 | 273 | ||
274 | jmp no_unpakcing_file |
274 | jmp no_unpakcing_file |
275 | 275 | ||
276 | exit_type: |
276 | exit_type: |
277 | 277 | ||
278 | ;---------------------------------------------------------- |
278 | ;---------------------------------------------------------- |
279 | ;Get momory for unpacking picture and for picture's bufers |
279 | ;Get momory for unpacking picture and for picture's bufers |
280 | ;---------------------------------------------------------- |
280 | ;---------------------------------------------------------- |
281 | mov eax,[Picture_SizeX] |
281 | mov eax,[Picture_SizeX] |
282 | mov ebx,[Picture_SizeY] |
282 | mov ebx,[Picture_SizeY] |
283 | 283 | ||
284 | imul eax,ebx |
284 | imul eax,ebx |
285 | lea eax,[eax+eax*2] |
285 | lea eax,[eax+eax*2] |
286 | 286 | ||
287 | mov ebx,[ScreenPointer] |
287 | mov ebx,[ScreenPointer] |
288 | add ebx,(1200*1000*3)+50*(20*20*3)+500000 |
288 | add ebx,(1200*1000*3)+50*(20*20*3)+500000 |
289 | 289 | ||
290 | mov [PointerToPicture],ebx |
290 | mov [PointerToPicture],ebx |
291 | mov [PointerToCopyPicture],ebx |
291 | mov [PointerToCopyPicture],ebx |
292 | mov [PointerToCopyPicture2],ebx |
292 | mov [PointerToCopyPicture2],ebx |
293 | mov [PointerToEditBufer],ebx |
293 | mov [PointerToEditBufer],ebx |
294 | mov [PointerToSpriteBufer],ebx |
294 | mov [PointerToSpriteBufer],ebx |
295 | 295 | ||
296 | add [PointerToCopyPicture],eax |
296 | add [PointerToCopyPicture],eax |
297 | 297 | ||
298 | add [PointerToCopyPicture2],eax |
298 | add [PointerToCopyPicture2],eax |
299 | add [PointerToCopyPicture2],eax |
299 | add [PointerToCopyPicture2],eax |
300 | 300 | ||
301 | add [PointerToEditBufer],eax |
301 | add [PointerToEditBufer],eax |
302 | add [PointerToEditBufer],eax |
302 | add [PointerToEditBufer],eax |
303 | add [PointerToEditBufer],eax |
303 | add [PointerToEditBufer],eax |
304 | 304 | ||
305 | add [PointerToSpriteBufer],eax |
305 | add [PointerToSpriteBufer],eax |
306 | add [PointerToSpriteBufer],eax |
306 | add [PointerToSpriteBufer],eax |
307 | add [PointerToSpriteBufer],eax |
307 | add [PointerToSpriteBufer],eax |
308 | add [PointerToSpriteBufer],eax |
308 | add [PointerToSpriteBufer],eax |
309 | 309 | ||
310 | call GetMemory |
310 | call GetMemory |
311 | ;---------------------------------------------------------- |
311 | ;---------------------------------------------------------- |
312 | ;--------------------Load file in memory------------------- |
312 | ;--------------------Load file in memory------------------- |
313 | ;---------------------------------------------------------- |
313 | ;---------------------------------------------------------- |
314 | 314 | ||
315 | mov eax,file_path |
315 | mov eax,file_path |
316 | mov ebx,[PointerToCopyPicture] |
316 | mov ebx,[PointerToCopyPicture] |
317 | add ebx,1000 |
317 | add ebx,1000 |
318 | 318 | ||
319 | call load_file |
319 | call load_file |
320 | 320 | ||
321 | ;---------------------------------------------------------- |
321 | ;---------------------------------------------------------- |
322 | ;-------------------Unpacking picture---------------------- |
322 | ;-------------------Unpacking picture---------------------- |
323 | ;---------------------------------------------------------- |
323 | ;---------------------------------------------------------- |
324 | mov esi,[PointerToCopyPicture] |
324 | mov esi,[PointerToCopyPicture] |
325 | add esi,1000 |
325 | add esi,1000 |
326 | mov edi,[PointerToPicture] |
326 | mov edi,[PointerToPicture] |
327 | mov eax,[ScreenPointer] |
327 | mov eax,[ScreenPointer] |
328 | 328 | ||
329 | cmp [type],'BM' |
329 | cmp [type],'BM' |
330 | jne no_unpakcing_bmp_file |
330 | jne no_unpakcing_bmp_file |
331 | ;BMP DECODER |
331 | ;BMP DECODER |
332 | call bmptoimg |
332 | call bmptoimg |
333 | mov [save_flag],1 |
333 | mov [save_flag],1 |
334 | no_unpakcing_bmp_file: |
334 | no_unpakcing_bmp_file: |
335 | 335 | ||
336 | 336 | ||
337 | cmp [type],'GI' |
337 | cmp [type],'GI' |
338 | jne no_unpakcing_file |
338 | jne no_unpakcing_file |
339 | ;GIF DECODER |
339 | ;GIF DECODER |
340 | sub edi,12 |
340 | sub edi,8 |
341 | call ReadGIF |
341 | call ReadGIF |
342 | mov [save_flag],1 |
342 | mov [save_flag],1 |
343 | no_unpakcing_file: |
343 | no_unpakcing_file: |
344 | 344 | ||
345 | call load_icons |
345 | call load_icons |
346 | call drawwin |
346 | call drawwin |
347 | 347 | ||
348 | open_2: |
348 | open_2: |
349 | 349 | ||
350 | mov [Scroll1CoordinatX],9 |
350 | mov [Scroll1CoordinatX],9 |
351 | mov [Scroll2CoordinatY],89 |
351 | mov [Scroll2CoordinatY],89 |
352 | and [number_panel],0 |
352 | and [number_panel],0 |
353 | and [number_menu],0 |
353 | and [number_menu],0 |
354 | 354 | ||
355 | jmp still |
355 | jmp still |
356 | 356 | ||
357 | no_open: |
357 | no_open: |
358 | 358 | ||
359 | ;<<<<<<<<<< |
359 | ;<<<<<<<<<< |
360 | cmp [number_menu],3 |
360 | cmp [number_menu],3 |
361 | jne no_save_ |
361 | jne no_save_ |
362 | 362 | ||
363 | mov al,[save_flag] |
363 | mov al,[save_flag] |
364 | 364 | ||
365 | test al,al |
365 | test al,al |
366 | jz no_save_file |
366 | jz no_save_file |
367 | 367 | ||
368 | jmp save_enter |
368 | jmp save_enter |
369 | 369 | ||
370 | no_save_file: |
370 | no_save_file: |
371 | 371 | ||
372 | and [number_panel],0 |
372 | and [number_panel],0 |
373 | and [number_menu],0 |
373 | and [number_menu],0 |
374 | 374 | ||
375 | jmp still |
375 | jmp still |
376 | 376 | ||
377 | no_save_: |
377 | no_save_: |
378 | 378 | ||
379 | ;<<<<<<<< |
379 | ;<<<<<<<< |
380 | cmp [number_menu],4 |
380 | cmp [number_menu],4 |
381 | jne no_save |
381 | jne no_save |
382 | 382 | ||
383 | savedialog drawwin,save1,save2,file_path |
383 | savedialog drawwin,save1,save2,file_path |
384 | 384 | ||
385 | save1: |
385 | save1: |
386 | 386 | ||
387 | save_enter: |
387 | save_enter: |
388 | mov eax,40 |
388 | mov eax,40 |
389 | mov ebx,100111b |
389 | mov ebx,100111b |
390 | mcall |
390 | mcall |
391 | 391 | ||
392 | call analizing_picture_to_palette |
392 | call analizing_picture_to_palette |
393 | ;eax => number of colors in picture |
393 | ;eax => number of colors in picture |
394 | mov ebx,[PointerToPicture] |
394 | mov ebx,[PointerToPicture] |
395 | mov ecx,[PointerToEditBufer] |
395 | mov ecx,[PointerToEditBufer] |
396 | mov edx,[PointerToPalette] |
396 | mov edx,[PointerToPalette] |
397 | mov esi,[Picture_SizeX] |
397 | mov esi,[Picture_SizeX] |
398 | mov edi,[Picture_SizeY] |
398 | mov edi,[Picture_SizeY] |
399 | 399 | ||
400 | call coding_bmp |
400 | call coding_bmp |
401 | 401 | ||
402 | mov eax,file_path |
402 | mov eax,file_path |
403 | mov ecx,ebx |
403 | mov ecx,ebx |
404 | mov ebx,[PointerToEditBufer] |
404 | mov ebx,[PointerToEditBufer] |
405 | push eax |
405 | push eax |
406 | push ebx |
406 | push ebx |
407 | push ecx |
407 | push ecx |
408 | 408 | ||
409 | call save_file |
409 | call save_file |
410 | 410 | ||
411 | mov [save_flag],1 |
411 | mov [save_flag],1 |
412 | and [number_panel],0 |
412 | and [number_panel],0 |
413 | and [number_menu],0 |
413 | and [number_menu],0 |
414 | call drawwin |
414 | call drawwin |
415 | 415 | ||
416 | jmp still |
416 | jmp still |
417 | 417 | ||
418 | save2: |
418 | save2: |
419 | 419 | ||
420 | and [number_panel],0 |
420 | and [number_panel],0 |
421 | and [number_menu],0 |
421 | and [number_menu],0 |
422 | 422 | ||
423 | jmp still |
423 | jmp still |
424 | no_save: |
424 | no_save: |
425 | 425 | ||
426 | ;<<<<< |
426 | ;<<<<< |
427 | cmp [number_menu],5 |
427 | cmp [number_menu],5 |
428 | jne no_exit_program |
428 | jne no_exit_program |
429 | 429 | ||
430 | mov eax,-1 |
430 | mov eax,-1 |
431 | mcall |
431 | mcall |
432 | 432 | ||
433 | no_exit_program: |
433 | no_exit_program: |
434 | 434 | ||
435 | no_file: |
435 | no_file: |
436 | 436 | ||
437 | ;|||||||||||||||||||||||||||||EDIT||||||||||||||||||||||||| |
437 | ;|||||||||||||||||||||||||||||EDIT||||||||||||||||||||||||| |
438 | 438 | ||
439 | ;<<<<<<<<< |
439 | ;<<<<<<<<< |
440 | cmp [number_panel],6 |
440 | cmp [number_panel],6 |
441 | jne no_edit |
441 | jne no_edit |
442 | 442 | ||
443 | cmp [number_menu],1 |
443 | cmp [number_menu],1 |
444 | jne no_undo |
444 | jne no_undo |
445 | 445 | ||
446 | cmp [number_undo],1 |
446 | cmp [number_undo],1 |
447 | jne no_one____ |
447 | jne no_one____ |
448 | 448 | ||
449 | mov esi,[PointerToCopyPicture] |
449 | mov esi,[PointerToCopyPicture] |
450 | 450 | ||
451 | no_one____: |
451 | no_one____: |
452 | 452 | ||
453 | cmp [number_undo],2 |
453 | cmp [number_undo],2 |
454 | jne no_two____ |
454 | jne no_two____ |
455 | 455 | ||
456 | mov esi,[PointerToCopyPicture2] |
456 | mov esi,[PointerToCopyPicture2] |
457 | 457 | ||
458 | no_two____: |
458 | no_two____: |
459 | 459 | ||
460 | mov edi,[PointerToPicture] |
460 | mov edi,[PointerToPicture] |
461 | mov ecx,[Picture_SizeX] |
461 | mov ecx,[Picture_SizeX] |
462 | imul ecx,[Picture_SizeY] |
462 | imul ecx,[Picture_SizeY] |
463 | lea ecx,[ecx+ecx*2] |
463 | lea ecx,[ecx+ecx*2] |
464 | add ecx,4 |
464 | add ecx,4 |
465 | shr ecx,2 |
465 | shr ecx,2 |
466 | cld |
466 | cld |
467 | rep movsd |
467 | rep movsd |
468 | call MovePictureToWorkScreen |
468 | call MovePictureToWorkScreen |
469 | 469 | ||
470 | dec [number_undo] |
470 | dec [number_undo] |
471 | jnz no_null_undo |
471 | jnz no_null_undo |
472 | 472 | ||
473 | mov [number_undo],1 |
473 | mov [number_undo],1 |
474 | 474 | ||
475 | no_null_undo: |
475 | no_null_undo: |
476 | 476 | ||
477 | and [number_panel],0 |
477 | and [number_panel],0 |
478 | and [number_menu],0 |
478 | and [number_menu],0 |
479 | jmp still |
479 | jmp still |
480 | no_undo: |
480 | no_undo: |
481 | 481 | ||
482 | ;<<<<<<<<< |
482 | ;<<<<<<<<< |
483 | 483 | ||
484 | cmp [number_menu],2 |
484 | cmp [number_menu],2 |
485 | jne no_copy |
485 | jne no_copy |
486 | 486 | ||
487 | cmp [instrument_used],1 |
487 | cmp [instrument_used],1 |
488 | jne no_copy |
488 | jne no_copy |
489 | cmp [Activate_instrument],0 |
489 | cmp [Activate_instrument],0 |
490 | jne no_copy |
490 | jne no_copy |
491 | 491 | ||
492 | mov eax,[OldX] |
492 | mov eax,[OldX] |
493 | mov ebx,[OldY] |
493 | mov ebx,[OldY] |
494 | 494 | ||
495 | cmp eax,[rectangular_shade_x] |
495 | cmp eax,[rectangular_shade_x] |
496 | jl no_remove_x_copy |
496 | jl no_remove_x_copy |
497 | 497 | ||
498 | mov ecx,[rectangular_shade_x] |
498 | mov ecx,[rectangular_shade_x] |
499 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
499 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
500 | mov [rectangular_shade_x],eax |
500 | mov [rectangular_shade_x],eax |
501 | 501 | ||
502 | no_remove_x_copy: |
502 | no_remove_x_copy: |
503 | 503 | ||
504 | cmp ebx,[rectangular_shade_y] |
504 | cmp ebx,[rectangular_shade_y] |
505 | jl no_remove_y_copy |
505 | jl no_remove_y_copy |
506 | 506 | ||
507 | mov ecx,[rectangular_shade_y] |
507 | mov ecx,[rectangular_shade_y] |
508 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
508 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
509 | mov [rectangular_shade_y],ebx |
509 | mov [rectangular_shade_y],ebx |
510 | 510 | ||
511 | no_remove_y_copy: |
511 | no_remove_y_copy: |
512 | 512 | ||
513 | mov eax,[OldX] |
513 | mov eax,[OldX] |
514 | mov ebx,[OldY] |
514 | mov ebx,[OldY] |
515 | mov ecx,[rectangular_shade_x] |
515 | mov ecx,[rectangular_shade_x] |
516 | mov edx,[rectangular_shade_y] |
516 | mov edx,[rectangular_shade_y] |
517 | inc eax |
517 | inc eax |
518 | inc ebx |
518 | inc ebx |
519 | dec ecx |
519 | dec ecx |
520 | dec edx |
520 | dec edx |
521 | 521 | ||
522 | mov [x],eax |
522 | mov [x],eax |
523 | mov [y],ebx |
523 | mov [y],ebx |
524 | mov esi,eax |
524 | mov esi,eax |
525 | mov edi,ebx |
525 | mov edi,ebx |
526 | mov [Dx_],1 |
526 | mov [Dx_],1 |
527 | mov [Dy_],1 |
527 | mov [Dy_],1 |
528 | 528 | ||
529 | sub ecx,eax |
529 | sub ecx,eax |
530 | jnz no_signum_fill_r_x_copy |
530 | jnz no_signum_fill_r_x_copy |
531 | 531 | ||
532 | mov [Dx_],-1 |
532 | mov [Dx_],-1 |
533 | 533 | ||
534 | no_signum_fill_r_x_copy: |
534 | no_signum_fill_r_x_copy: |
535 | 535 | ||
536 | sub edx,ebx |
536 | sub edx,ebx |
537 | jnz no_signum_fill_r_y_copy |
537 | jnz no_signum_fill_r_y_copy |
538 | 538 | ||
539 | mov [Dy_],-1 |
539 | mov [Dy_],-1 |
540 | 540 | ||
541 | no_signum_fill_r_y_copy: |
541 | no_signum_fill_r_y_copy: |
542 | 542 | ||
543 | mov ebx,[rectangular_shade_y] |
543 | mov ebx,[rectangular_shade_y] |
544 | sub ebx,edi |
544 | sub ebx,edi |
545 | 545 | ||
546 | mov edx,[PointerToEditBufer] |
546 | mov edx,[PointerToEditBufer] |
547 | mov [y],edi |
547 | mov [y],edi |
548 | loop_fill_rectangle_y_copy: |
548 | loop_fill_rectangle_y_copy: |
549 | 549 | ||
550 | mov [x],esi |
550 | mov [x],esi |
551 | loop_fill_rectangle_x_copy: |
551 | loop_fill_rectangle_x_copy: |
552 | 552 | ||
553 | push esi |
553 | push esi |
554 | push edi |
554 | push edi |
555 | 555 | ||
556 | mov eax,[PointerToPicture] |
556 | mov eax,[PointerToPicture] |
557 | mov ebx,[Picture_SizeX] |
557 | mov ebx,[Picture_SizeX] |
558 | mov esi,[x] |
558 | mov esi,[x] |
559 | mov edi,[y] |
559 | mov edi,[y] |
560 | call GetColorOfPixel |
560 | call GetColorOfPixel |
561 | 561 | ||
562 | mov [edx],ax |
562 | mov [edx],ax |
563 | shr eax,16 |
563 | shr eax,16 |
564 | mov [edx+2],al |
564 | mov [edx+2],al |
565 | 565 | ||
566 | pop edi |
566 | pop edi |
567 | pop esi |
567 | pop esi |
568 | 568 | ||
569 | add edx,3 |
569 | add edx,3 |
570 | 570 | ||
571 | mov eax,[x] |
571 | mov eax,[x] |
572 | add eax,[Dx_] |
572 | add eax,[Dx_] |
573 | mov [x],eax |
573 | mov [x],eax |
574 | 574 | ||
575 | cmp eax,[rectangular_shade_x] |
575 | cmp eax,[rectangular_shade_x] |
576 | jl loop_fill_rectangle_x_copy |
576 | jl loop_fill_rectangle_x_copy |
577 | 577 | ||
578 | mov eax,[y] |
578 | mov eax,[y] |
579 | add eax,[Dy_] |
579 | add eax,[Dy_] |
580 | mov [y],eax |
580 | mov [y],eax |
581 | 581 | ||
582 | cmp eax,[rectangular_shade_y] |
582 | cmp eax,[rectangular_shade_y] |
583 | jl loop_fill_rectangle_y_copy |
583 | jl loop_fill_rectangle_y_copy |
584 | 584 | ||
585 | call MovePictureToWorkScreen |
585 | call MovePictureToWorkScreen |
586 | 586 | ||
587 | and [number_panel],0 |
587 | and [number_panel],0 |
588 | and [number_menu],0 |
588 | and [number_menu],0 |
589 | mov [DrawSprite_flag],1 |
589 | mov [DrawSprite_flag],1 |
590 | 590 | ||
591 | jmp still |
591 | jmp still |
592 | 592 | ||
593 | no_copy: |
593 | no_copy: |
594 | 594 | ||
595 | ;<<<<<<<<< |
595 | ;<<<<<<<<< |
596 | cmp [number_menu],3 |
596 | cmp [number_menu],3 |
597 | jne no_paste |
597 | jne no_paste |
598 | 598 | ||
599 | cmp [instrument_used],1 |
599 | cmp [instrument_used],1 |
600 | jne no_paste |
600 | jne no_paste |
601 | 601 | ||
602 | cmp [Activate_instrument],0 |
602 | cmp [Activate_instrument],0 |
603 | jne no_paste |
603 | jne no_paste |
604 | 604 | ||
605 | mov eax,[OldX] |
605 | mov eax,[OldX] |
606 | mov ebx,[OldY] |
606 | mov ebx,[OldY] |
607 | 607 | ||
608 | cmp eax,[rectangular_shade_x] |
608 | cmp eax,[rectangular_shade_x] |
609 | jl no_remove_x_paste |
609 | jl no_remove_x_paste |
610 | 610 | ||
611 | mov ecx,[rectangular_shade_x] |
611 | mov ecx,[rectangular_shade_x] |
612 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
612 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
613 | mov [rectangular_shade_x],eax |
613 | mov [rectangular_shade_x],eax |
614 | 614 | ||
615 | no_remove_x_paste: |
615 | no_remove_x_paste: |
616 | 616 | ||
617 | cmp ebx,[rectangular_shade_y] |
617 | cmp ebx,[rectangular_shade_y] |
618 | jl no_remove_y_paste |
618 | jl no_remove_y_paste |
619 | 619 | ||
620 | mov ecx,[rectangular_shade_y] |
620 | mov ecx,[rectangular_shade_y] |
621 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
621 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
622 | mov [rectangular_shade_y],ebx |
622 | mov [rectangular_shade_y],ebx |
623 | 623 | ||
624 | no_remove_y_paste: |
624 | no_remove_y_paste: |
625 | 625 | ||
626 | mov eax,[OldX] |
626 | mov eax,[OldX] |
627 | mov ebx,[OldY] |
627 | mov ebx,[OldY] |
628 | mov ecx,[rectangular_shade_x] |
628 | mov ecx,[rectangular_shade_x] |
629 | mov edx,[rectangular_shade_y] |
629 | mov edx,[rectangular_shade_y] |
630 | inc eax |
630 | inc eax |
631 | inc ebx |
631 | inc ebx |
632 | dec ecx |
632 | dec ecx |
633 | dec edx |
633 | dec edx |
634 | 634 | ||
635 | mov [x],eax |
635 | mov [x],eax |
636 | mov [y],ebx |
636 | mov [y],ebx |
637 | mov esi,eax |
637 | mov esi,eax |
638 | mov edi,ebx |
638 | mov edi,ebx |
639 | mov [Dx_],1 |
639 | mov [Dx_],1 |
640 | mov [Dy_],1 |
640 | mov [Dy_],1 |
641 | 641 | ||
642 | sub ecx,eax |
642 | sub ecx,eax |
643 | jnz no_signum_fill_r_x_paste |
643 | jnz no_signum_fill_r_x_paste |
644 | 644 | ||
645 | mov [Dx_],-1 |
645 | mov [Dx_],-1 |
646 | 646 | ||
647 | no_signum_fill_r_x_paste: |
647 | no_signum_fill_r_x_paste: |
648 | 648 | ||
649 | sub edx,ebx |
649 | sub edx,ebx |
650 | jnz no_signum_fill_r_y_paste |
650 | jnz no_signum_fill_r_y_paste |
651 | 651 | ||
652 | mov [Dy_],-1 |
652 | mov [Dy_],-1 |
653 | 653 | ||
654 | no_signum_fill_r_y_paste: |
654 | no_signum_fill_r_y_paste: |
655 | 655 | ||
656 | mov edx,[PointerToEditBufer] |
656 | mov edx,[PointerToEditBufer] |
657 | mov [y],edi |
657 | mov [y],edi |
658 | 658 | ||
659 | loop_fill_rectangle_y_paste: |
659 | loop_fill_rectangle_y_paste: |
660 | 660 | ||
661 | mov [x],esi |
661 | mov [x],esi |
662 | loop_fill_rectangle_x_paste: |
662 | loop_fill_rectangle_x_paste: |
663 | 663 | ||
664 | push esi |
664 | push esi |
665 | push edi |
665 | push edi |
666 | 666 | ||
667 | mov ecx,[edx] |
667 | mov ecx,[edx] |
668 | and ecx,0xffffff ;color |
668 | and ecx,0xffffff ;color |
669 | 669 | ||
670 | mov eax,[PointerToPicture] |
670 | mov eax,[PointerToPicture] |
671 | mov ebx,[Picture_SizeX] |
671 | mov ebx,[Picture_SizeX] |
672 | mov esi,[x] |
672 | mov esi,[x] |
673 | mov edi,[y] |
673 | mov edi,[y] |
674 | call PutPixel |
674 | call PutPixel |
675 | 675 | ||
676 | pop edi |
676 | pop edi |
677 | pop esi |
677 | pop esi |
678 | 678 | ||
679 | add edx,3 |
679 | add edx,3 |
680 | 680 | ||
681 | mov eax,[x] |
681 | mov eax,[x] |
682 | add eax,[Dx_] |
682 | add eax,[Dx_] |
683 | mov [x],eax |
683 | mov [x],eax |
684 | cmp eax,[rectangular_shade_x] |
684 | cmp eax,[rectangular_shade_x] |
685 | jl loop_fill_rectangle_x_paste |
685 | jl loop_fill_rectangle_x_paste |
686 | 686 | ||
687 | mov eax,[y] |
687 | mov eax,[y] |
688 | add eax,[Dy_] |
688 | add eax,[Dy_] |
689 | mov [y],eax |
689 | mov [y],eax |
690 | cmp eax,[rectangular_shade_y] |
690 | cmp eax,[rectangular_shade_y] |
691 | 691 | ||
692 | jl loop_fill_rectangle_y_paste |
692 | jl loop_fill_rectangle_y_paste |
693 | 693 | ||
694 | call MovePictureToWorkScreen |
694 | call MovePictureToWorkScreen |
695 | and [number_panel],0 |
695 | and [number_panel],0 |
696 | and [number_menu],0 |
696 | and [number_menu],0 |
697 | mov [Paste_flag],1 |
697 | mov [Paste_flag],1 |
698 | 698 | ||
699 | jmp still |
699 | jmp still |
700 | 700 | ||
701 | no_paste: |
701 | no_paste: |
702 | 702 | ||
703 | ;<<<<<<<<< |
703 | ;<<<<<<<<< |
704 | cmp [number_menu],4 |
704 | cmp [number_menu],4 |
705 | jne no_cut |
705 | jne no_cut |
706 | 706 | ||
707 | cmp [instrument_used],1 |
707 | cmp [instrument_used],1 |
708 | jne no_cut |
708 | jne no_cut |
709 | 709 | ||
710 | cmp [Activate_instrument],0 |
710 | cmp [Activate_instrument],0 |
711 | jne no_cut |
711 | jne no_cut |
712 | 712 | ||
713 | mov eax,[OldX] |
713 | mov eax,[OldX] |
714 | mov ebx,[OldY] |
714 | mov ebx,[OldY] |
715 | 715 | ||
716 | cmp eax,[rectangular_shade_x] |
716 | cmp eax,[rectangular_shade_x] |
717 | jl no_remove_x_cut |
717 | jl no_remove_x_cut |
718 | 718 | ||
719 | mov ecx,[rectangular_shade_x] |
719 | mov ecx,[rectangular_shade_x] |
720 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
720 | mov [OldX],ecx ; OldX <-----> rectangulare_shade_x |
721 | mov [rectangular_shade_x],eax |
721 | mov [rectangular_shade_x],eax |
722 | 722 | ||
723 | no_remove_x_cut: |
723 | no_remove_x_cut: |
724 | 724 | ||
725 | cmp ebx,[rectangular_shade_y] |
725 | cmp ebx,[rectangular_shade_y] |
726 | jl no_remove_y_cut |
726 | jl no_remove_y_cut |
727 | 727 | ||
728 | mov ecx,[rectangular_shade_y] |
728 | mov ecx,[rectangular_shade_y] |
729 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
729 | mov [OldY],ecx ; OldY <-----> rectangulare_shade_y |
730 | mov [rectangular_shade_y],ebx |
730 | mov [rectangular_shade_y],ebx |
731 | 731 | ||
732 | no_remove_y_cut: |
732 | no_remove_y_cut: |
733 | 733 | ||
734 | mov eax,[OldX] |
734 | mov eax,[OldX] |
735 | mov ebx,[OldY] |
735 | mov ebx,[OldY] |
736 | mov ecx,[rectangular_shade_x] |
736 | mov ecx,[rectangular_shade_x] |
737 | mov edx,[rectangular_shade_y] |
737 | mov edx,[rectangular_shade_y] |
738 | inc eax |
738 | inc eax |
739 | inc ebx |
739 | inc ebx |
740 | dec ecx |
740 | dec ecx |
741 | dec edx |
741 | dec edx |
742 | 742 | ||
743 | mov [x],eax |
743 | mov [x],eax |
744 | mov [y],ebx |
744 | mov [y],ebx |
745 | mov esi,eax |
745 | mov esi,eax |
746 | mov edi,ebx |
746 | mov edi,ebx |
747 | mov [Dx_],1 |
747 | mov [Dx_],1 |
748 | mov [Dy_],1 |
748 | mov [Dy_],1 |
749 | 749 | ||
750 | sub ecx,eax |
750 | sub ecx,eax |
751 | jnz no_signum_fill_r_x |
751 | jnz no_signum_fill_r_x |
752 | 752 | ||
753 | mov [Dx_],-1 |
753 | mov [Dx_],-1 |
754 | 754 | ||
755 | no_signum_fill_r_x: |
755 | no_signum_fill_r_x: |
756 | 756 | ||
757 | sub edx,ebx |
757 | sub edx,ebx |
758 | jnz no_signum_fill_r_y |
758 | jnz no_signum_fill_r_y |
759 | 759 | ||
760 | mov [Dy_],-1 |
760 | mov [Dy_],-1 |
761 | 761 | ||
762 | no_signum_fill_r_y: |
762 | no_signum_fill_r_y: |
763 | 763 | ||
764 | mov [y],edi |
764 | mov [y],edi |
765 | loop_fill_rectangle_y: |
765 | loop_fill_rectangle_y: |
766 | 766 | ||
767 | mov [x],esi |
767 | mov [x],esi |
768 | loop_fill_rectangle_x: |
768 | loop_fill_rectangle_x: |
769 | 769 | ||
770 | push esi |
770 | push esi |
771 | push edi |
771 | push edi |
772 | 772 | ||
773 | mov eax,[PointerToPicture] |
773 | mov eax,[PointerToPicture] |
774 | mov ebx,[Picture_SizeX] |
774 | mov ebx,[Picture_SizeX] |
775 | mov ecx,dword 0xffffff |
775 | mov ecx,dword 0xffffff |
776 | mov esi,[x] |
776 | mov esi,[x] |
777 | mov edi,[y] |
777 | mov edi,[y] |
778 | call PutPixel |
778 | call PutPixel |
779 | 779 | ||
780 | pop edi |
780 | pop edi |
781 | pop esi |
781 | pop esi |
782 | 782 | ||
783 | mov eax,[x] |
783 | mov eax,[x] |
784 | add eax,[Dx_] |
784 | add eax,[Dx_] |
785 | mov [x],eax |
785 | mov [x],eax |
786 | 786 | ||
787 | cmp eax,[rectangular_shade_x] |
787 | cmp eax,[rectangular_shade_x] |
788 | jl loop_fill_rectangle_x |
788 | jl loop_fill_rectangle_x |
789 | 789 | ||
790 | mov eax,[y] |
790 | mov eax,[y] |
791 | add eax,[Dy_] |
791 | add eax,[Dy_] |
792 | mov [y],eax |
792 | mov [y],eax |
793 | 793 | ||
794 | cmp eax,[rectangular_shade_y] |
794 | cmp eax,[rectangular_shade_y] |
795 | jl loop_fill_rectangle_y |
795 | jl loop_fill_rectangle_y |
796 | 796 | ||
797 | call MovePictureToWorkScreen |
797 | call MovePictureToWorkScreen |
798 | 798 | ||
799 | and [number_panel],0 |
799 | and [number_panel],0 |
800 | and [number_menu],0 |
800 | and [number_menu],0 |
801 | 801 | ||
802 | jmp still |
802 | jmp still |
803 | no_cut: |
803 | no_cut: |
804 | 804 | ||
805 | ;<<<<< |
805 | ;<<<<< |
806 | cmp [number_menu],5 |
806 | cmp [number_menu],5 |
807 | jne no_cleare_all |
807 | jne no_cleare_all |
808 | 808 | ||
809 | call cleare_work_arrea |
809 | call cleare_work_arrea |
810 | 810 | ||
811 | call MovePictureToWorkScreen |
811 | call MovePictureToWorkScreen |
812 | 812 | ||
813 | and [number_panel],0 |
813 | and [number_panel],0 |
814 | and [number_menu],0 |
814 | and [number_menu],0 |
815 | 815 | ||
816 | jmp still |
816 | jmp still |
817 | no_cleare_all: |
817 | no_cleare_all: |
818 | ;<<<<< |
818 | ;<<<<< |
819 | 819 | ||
820 | cmp [number_menu],6 |
820 | cmp [number_menu],6 |
821 | jne no_to_allocate_all |
821 | jne no_to_allocate_all |
822 | 822 | ||
823 | mov [OldX],1 |
823 | mov [OldX],1 |
824 | mov [OldY],1 |
824 | mov [OldY],1 |
825 | mov eax,[Picture_SizeX] |
825 | mov eax,[Picture_SizeX] |
826 | mov ebx,[Picture_SizeY] |
826 | mov ebx,[Picture_SizeY] |
827 | dec eax |
827 | dec eax |
828 | dec ebx |
828 | dec ebx |
829 | mov [rectangular_shade_x],eax |
829 | mov [rectangular_shade_x],eax |
830 | mov [rectangular_shade_y],ebx |
830 | mov [rectangular_shade_y],ebx |
831 | mov [instrument_used],1 |
831 | mov [instrument_used],1 |
832 | mov [Activate_instrument],1 |
832 | mov [Activate_instrument],1 |
833 | mov [Current_instrument],30 |
833 | mov [Current_instrument],30 |
834 | mov [crossing],0 |
834 | mov [crossing],0 |
835 | and [number_panel],0 |
835 | and [number_panel],0 |
836 | and [number_menu],0 |
836 | and [number_menu],0 |
837 | ;call TakeButtonInstruments |
837 | ;call TakeButtonInstruments |
838 | ;call MovePictureToWorkScreen |
838 | ;call MovePictureToWorkScreen |
839 | jmp still |
839 | jmp still |
840 | 840 | ||
841 | no_to_allocate_all: |
841 | no_to_allocate_all: |
842 | 842 | ||
843 | no_edit: |
843 | no_edit: |
844 | 844 | ||
845 | 845 | ||
846 | jmp still |
846 | jmp still |
847 | 847 | ||
848 | ret |
848 | ret |