Subversion Repositories Kolibri OS

Rev

Rev 255 | Rev 552 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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