Subversion Repositories Kolibri OS

Rev

Rev 5911 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5911 Rev 6238
Line 251... Line 251...
251
pushad
251
pushad
252
  movzx ecx,byte[map.zoom]
252
	movzx ecx,byte[map.zoom]
253
  mov esi,[sc.work_text]
253
	mov esi,[sc.work_text]
254
  or  esi,0x40000000
254
	or  esi,0x40000000
255
  mov edi,[sc.work]
255
	mov edi,[sc.work]
256
  mcall 47,0x20000,, (128 shl 16)+13
256
	mcall SF_DRAW_NUMBER,0x20000,, (128 shl 16)+13
Line 257... Line 257...
257
 
257
 
258
  stdcall array_tile_function, tile_00,max_tiles_count,draw_tile
258
	stdcall array_tile_function, tile_00,max_tiles_count,draw_tile
259
popad
259
popad
Line 265... Line 265...
265
; edx - coordinates to tile draw
265
; edx - coordinates to tile draw
Line 266... Line 266...
266
 
266
 
267
align 4
267
align 4
268
proc tile_clear_area, height:dword
268
proc tile_clear_area, height:dword
269
  pushad
-
 
270
    mov eax,13 ;draw rect
-
 
271
 
269
pushad
272
    mov cx,dx
270
	mov cx,dx
273
    shl ecx,16
271
	shl ecx,16
Line 274... Line 272...
274
    mov cx,word[height]
272
	mov cx,word[height]
275
 
273
 
276
    shr edx,16
274
	shr edx,16
277
    mov bx,dx
275
	mov bx,dx
Line 278... Line 276...
278
    shl ebx,16
276
	shl ebx,16
279
    mov bx,TILE_LEN_W
277
	mov bx,TILE_LEN_W
280
 
278
 
281
    mov edx,0xffffd0
279
	mov edx,0xffffd0
282
    int 0x40
280
	mcall SF_DRAW_RECT
Line 283... Line 281...
283
  popad
281
popad
284
  ret
282
	ret
285
endp
283
endp
286
 
284
 
287
;???
285
;­ à¨á®¢ âì ®¤¨­ tile
Line 288... Line 286...
288
align 4
286
align 4
289
proc draw_tile, tile:dword
287
proc draw_tile, tile:dword
290
  pushad
-
 
291
  mov edi,[tile]
288
pushad
292
 
289
	mov edi,[tile]
293
;*** set base point ***
290
 
294
  mov edx,5*65536+35
-
 
295
  xor eax,eax
291
;*** set base point ***
296
  mov al,tile_delta_y
292
	mov edx,5*65536+35
297
  shl ax,8 ;*256
293
	movzx eax,tile_delta_y
298
  add edx,eax
294
	shl ax,8 ;*256
Line 299... Line 295...
299
  xor eax,eax
295
	add edx,eax
Line 308... Line 304...
308
  mov bx,dx ;­¨¦­ïï ª®®à¤¨­ â  ¯®ª  ­¥ ãç¨â뢠¥âáï, ¯®â®¬ã ¤¥« ¥¬ ¨å à ¢­ë¬¨
304
	mov bx,dx ;­¨¦­ïï ª®®à¤¨­ â  ¯®ª  ­¥ ãç¨â뢠¥âáï, ¯®â®¬ã ¤¥« ¥¬ ¨å à ¢­ë¬¨
309
  cmp edx,ebx
305
	cmp edx,ebx
310
  jg .end_f
306
	jg .end_f
Line 311... Line 307...
311
 
307
 
312
  ;¯à®¢¥à塞 ¢« §¨â «¨ ª à⨭ª  ¯® ®á¨ y
308
	;¯à®¢¥à塞 ¢« §¨â «¨ ª à⨭ª  ¯® ®á¨ y
313
  mcall 48,4 ;eax = ¢ëá®â  ᪨­ 
309
	mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT ;eax = ¢ëá®â  ᪨­ 
314
  mov ecx,dword[procinfo.box.height]
310
	mov ecx,dword[procinfo.box.height]
315
  mov ebx,edx
311
	mov ebx,edx
316
  and ebx,0xffff ;ebx = ª®®à¤¨­ â  'y' ¤«ï ¢ë¢®¤  â ©« 
312
	and ebx,0xffff ;ebx = ª®®à¤¨­ â  'y' ¤«ï ¢ë¢®¤  â ©« 
317
  add eax,ebx
313
	add eax,ebx
Line 324... Line 320...
324
  cmp ecx,TILE_LEN_H
320
	cmp ecx,TILE_LEN_H
325
  jle @f
321
	jle @f
326
    mov ecx,TILE_LEN_H
322
		mov ecx,TILE_LEN_H
327
  @@:
323
	@@:
Line 328... Line 324...
328
 
324
 
329
  mov eax,7
325
	mov eax,SF_PUT_IMAGE
330
  bt tile_drobn,SCALE_0BIT_USE
326
	bt tile_drobn,SCALE_0BIT_USE
331
  jc .draw
327
	jc .draw
332
  bt tile_drobn,SCALE_1BIT_USE
328
	bt tile_drobn,SCALE_1BIT_USE
333
  jc .draw
329
	jc .draw
Line 384... Line 380...
384
    bt tile_drobn,FRACT_TILE_BIT11
380
	bt tile_drobn,FRACT_TILE_BIT11
385
    jae @f
381
	jae @f
386
      xchg cx,si
382
		xchg cx,si
387
      int 0x40
383
		int 0x40
388
    @@:
384
	@@:
389
 
-
 
390
    jmp .end_f
385
	jmp .end_f
391
  .info: ;¢ë¢®¤ ¨­ä®à¬ æ¨¨, ¯à¨ ­¥ 㤠筮¬ ®âªàë⨨ ª à⨭®ª
-
 
Line 392... Line 386...
392
 
386
 
393
;;;jmp .end_f ;test
387
	.info: ;¢ë¢®¤ ¨­ä®à¬ æ¨¨, ¯à¨ ­¥ 㤠筮¬ ®âªàë⨨ ª à⨭®ª
394
  bt tile_drobn,SCALE_0BIT_USE
388
	bt tile_drobn,SCALE_0BIT_USE
395
  jc .end_f
389
	jc .end_f
396
  bt tile_drobn,SCALE_1BIT_USE
390
	bt tile_drobn,SCALE_1BIT_USE
397
  jc .end_f
-
 
398
 
391
	jc .end_f
399
    mov ebx,edx
392
		mov ebx,edx
400
    add ebx,0x30003
393
		add ebx,0x30003
401
    mov edx,tile_rgb_icon ;¯à¨ ­¥ã¤ ç­®¬ ®âªàë⨨ ¢ tile_rgb_icon ¯ãâì ª ä ©«ã
394
		mov edx,tile_rgb_icon ;¯à¨ ­¥ã¤ ç­®¬ ®âªàë⨨ ¢ tile_rgb_icon ¯ãâì ª ä ©«ã
402
;;;    mov dword[edx+RGB_TILE_SIZE_1N4],0 ;áâ ¢¨¬ ­ã«¨, ­  á«ãç © ¥á«¨ ¢ áâப¥ á ¨¬¥­¥¬ ä ©«  ¬ãá®à
395
;;;    mov dword[edx+RGB_TILE_SIZE_1N4],0 ;áâ ¢¨¬ ­ã«¨, ­  á«ãç © ¥á«¨ ¢ áâப¥ á ¨¬¥­¥¬ ä ©«  ¬ãá®à
403
    stdcall [str_len],tile_rgb_icon,RGB_TILE_SIZE_1N4
396
		stdcall [str_len],tile_rgb_icon,RGB_TILE_SIZE_1N4
Line 404... Line 397...
404
    mov edi,eax
397
		mov edi,eax
405
 
398
 
406
    mov eax,4 ;draw text
399
		mov eax,SF_DRAW_TEXT
407
    mov ecx,0xff
400
		mov ecx,0xff
Line 408... Line 401...
408
;or ecx,0x80000000
401
;or ecx,0x80000000
Line 458... Line 451...
458
	push eax ebx ecx edi
451
	push eax ebx ecx edi
459
		stdcall dword[tl_get_mem_size], tree2,[bmp_icon]
452
		stdcall dword[tl_get_mem_size], tree2,[bmp_icon]
460
		inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ­ã«ï
453
		inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ­ã«ï
Line 461... Line 454...
461
 
454
 
462
		m2m [run_file_70.Buffer], [bmp_icon]
455
		m2m [run_file_70.Buffer], [bmp_icon]
463
		mov [run_file_70.Function], 2
456
		mov [run_file_70.Function], SSF_CREATE_FILE
464
		mov [run_file_70.Position], 0
457
		mov [run_file_70.Position], 0
465
		mov [run_file_70.Flags], 0
458
		mov [run_file_70.Flags], 0
466
		mov [run_file_70.Count], eax
459
		mov [run_file_70.Count], eax
467
		mov byte[run_file_70+20], 0
460
		mov byte[run_file_70+20], 0
468
		mov [run_file_70.FileName], file_name
461
		mov [run_file_70.FileName], file_name
469
		mcall 70,run_file_70
462
		mcall SF_FILE,run_file_70
470
	pop edi ecx ebx eax
463
	pop edi ecx ebx eax
Line 471... Line 464...
471
	jmp still
464
	jmp still
472
 
465
 
Line 476... Line 469...
476
	cmp byte[met_fr_opn],0
469
	cmp byte[met_fr_opn],0
477
	jne .end_f
470
	jne .end_f
478
	copy_path fn_metki,sys_path,file_name,0
471
	copy_path fn_metki,sys_path,file_name,0
479
	pushad
472
	pushad
480
		mov byte[met_fr_opn],1
473
		mov byte[met_fr_opn],1
481
		mov [run_file_70.Function], 0
474
		mov [run_file_70.Function], SSF_READ_FILE
482
		mov [run_file_70.Position], 0
475
		mov [run_file_70.Position], 0
483
		mov [run_file_70.Flags], 0
476
		mov [run_file_70.Flags], 0
484
		mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
477
		mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
485
		mov byte[run_file_70+20], 0
478
		mov byte[run_file_70+20], 0
486
		mov [run_file_70.FileName], file_name
479
		mov [run_file_70.FileName], file_name
487
		m2m [run_file_70.Buffer], [bmp_icon]
480
		m2m [run_file_70.Buffer], [bmp_icon]
488
		mcall 70,run_file_70
481
		mcall SF_FILE,run_file_70
489
		cmp ebx,0xffffffff
482
		cmp ebx,0xffffffff
490
		je @f
483
		je @f
491
			stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE
484
			stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE
492
			stdcall [tl_cur_beg], tree2
485
			stdcall [tl_cur_beg], tree2
493
			stdcall [tl_draw], tree2
486
			stdcall [tl_draw], tree2
Line 525... Line 518...
525
		call but_Refresh
518
		call but_Refresh
526
	@@:
519
	@@:
527
	pop eax
520
	pop eax
528
	ret
521
	ret
Line 529... Line 522...
529
 
522
 
530
;???
523
;®¡­®¢¨âì ª àâã
531
align 4
524
align 4
532
but_Refresh:
525
but_Refresh:
Line 533... Line 526...
533
  call fun_new_map_type ;¯à®¢¥à塞 ­¥ ¯®¬¥­ï«áï «¨ ⨯ ¯à®á¬ âਢ ¥¬ëå ä ©«®¢
526
	call fun_new_map_type ;¯à®¢¥à塞 ­¥ ¯®¬¥­ï«áï «¨ ⨯ ¯à®á¬ âਢ ¥¬ëå ä ©«®¢
Line 559... Line 552...
559
align 4
552
align 4
560
proc load_tile uses eax ebx ecx edi, tile:dword
553
proc load_tile uses eax ebx ecx edi, tile:dword
561
  mov edi,dword[tile] ;ª®¯¨à㥬 㪠§ â¥«ì ­  áâàãªâãàã â ©« , çâ®-¡ë à ¡®â «¨ ª®­áâ ­âë
554
  mov edi,dword[tile] ;ª®¯¨à㥬 㪠§ â¥«ì ­  áâàãªâãàã â ©« , çâ®-¡ë à ¡®â «¨ ª®­áâ ­âë
Line 562... Line 555...
562
 
555
 
563
  stdcall mem_copy, map,edi, 9 ;ª®¯¨à㥬 ª®®à¤¨­ âë ªãàá®à  ¢ áâàãªâãàã â ©« 
-
 
564
  xor eax,eax
556
  stdcall mem_copy, map,edi, 9 ;ª®¯¨à㥬 ª®®à¤¨­ âë ªãàá®à  ¢ áâàãªâãàã â ©« 
565
  mov al,tile_delta_x
557
  movzx eax,tile_delta_x
566
  add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨­ âë â ©« , ®â­®á¨â¥«ì­® ªãàá®à 
558
  add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨­ âë â ©« , ®â­®á¨â¥«ì­® ªãàá®à 
567
  mov al,tile_delta_y
559
  mov al,tile_delta_y
568
  add tile_coord_y,eax
560
  add tile_coord_y,eax
Line 691... Line 683...
691
  cmp tile_drobn,FRACT_TILE_ALL ;¥á«¨ ᮡ࠭  ¢áï ª à⨭ª , ⮠ᢥàåã 㦥 ­¥ ¡¥à¥¬
683
	cmp tile_drobn,FRACT_TILE_ALL ;¥á«¨ ᮡ࠭  ¢áï ª à⨭ª , ⮠ᢥàåã 㦥 ­¥ ¡¥à¥¬
692
  je @f
684
	je @f
693
    ;­¥ §­ ¥¬ ¡ë« -«¨ ¢ª«î祭  ®¯æ¨ï '¡à âì á­¨§ã', ¤«ï ª®â®à®© ¨§¬¥­ï«¨áì ª®®à¤¨­ âë
685
		;­¥ §­ ¥¬ ¡ë« -«¨ ¢ª«î祭  ®¯æ¨ï '¡à âì á­¨§ã', ¤«ï ª®â®à®© ¨§¬¥­ï«¨áì ª®®à¤¨­ âë
694
    ;¯®â®¬ã ®¯ïâì ª®¯¨à㥬 ª®®à¤¨­ âë ªãàá®à  ¢ áâàãªâãàã â ©« 
686
		;¯®â®¬ã ®¯ïâì ª®¯¨à㥬 ª®®à¤¨­ âë ªãàá®à  ¢ áâàãªâãàã â ©« 
695
    stdcall mem_copy, map,edi, 9
687
		stdcall mem_copy, map,edi, 9
696
    xor eax,eax
-
 
697
    mov al,tile_delta_x
688
		movzx eax,tile_delta_x
698
    add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨­ âë â ©« , ®â­®á¨â¥«ì­® ªãàá®à 
689
		add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨­ âë â ©« , ®â­®á¨â¥«ì­® ªãàá®à 
699
    mov al,tile_delta_y
690
		mov al,tile_delta_y
700
    add tile_coord_y,eax
691
		add tile_coord_y,eax
Line 701... Line 692...
701
 
692
 
Line 758... Line 749...
758
;tile - 㪠§ â¥«ì ­  áâàãªâãàã â ©« 
749
;tile - 㪠§ â¥«ì ­  áâàãªâãàã â ©« 
759
align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥­­ë© â ©«
750
align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥­­ë© â ©«
760
proc load_new_tile, tile:dword
751
proc load_new_tile, tile:dword
761
  pushad
752
  pushad
Line 762... Line 753...
762
 
753
 
763
  mov [run_file_70.Function], 0
754
  mov [run_file_70.Function], SSF_READ_FILE
764
  mov [run_file_70.Position], 0
755
  mov [run_file_70.Position], 0
765
  mov [run_file_70.Flags], 0
756
  mov [run_file_70.Flags], 0
766
  mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54
757
  mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54
767
  m2m [run_file_70.Buffer], [bmp_icon]
758
  m2m [run_file_70.Buffer], [bmp_icon]
768
  mov byte[run_file_70+20], 0
759
  mov byte[run_file_70+20], 0
769
  mov [run_file_70.FileName], file_name
760
  mov [run_file_70.FileName], file_name
770
  mcall 70,run_file_70
761
  mcall SF_FILE,run_file_70
771
  mov edi,[tile]
762
  mov edi,[tile]
772
;  cmp ebx,0xffffffff
763
;  cmp ebx,0xffffffff
773
;  je .no_load
764
;  je .no_load
774
  cmp al,6 ;®è¨¡ª  6 - ª®£¤  ä ©« § ª®­ç¨«áï à ­ìè¥ ç¥¬ ¡ãä¥à
765
  cmp al,6 ;®è¨¡ª  6 - ª®£¤  ä ©« § ª®­ç¨«áï à ­ìè¥ ç¥¬ ¡ãä¥à
Line 810... Line 801...
810
    @@:
801
	@@:
811
      mov byte[edi],0 ;ç¨á⨬ áâபã
802
		mov byte[edi],0 ;ç¨á⨬ áâபã
812
      inc edi
803
		inc edi
813
      loop @b
804
		loop @b
Line 814... Line 805...
814
 
805
 
Line 815... Line 806...
815
    mov esi,dword[tile] ;¡¥à¥¬ 㪠§ â¥«ì
806
	mov esi,[tile] ;¡¥à¥¬ 㪠§ â¥«ì
816
 
-
 
817
    mov ecx,0x80000000 ;rol 0x80000000,1 = 1
807
 
818
    xor eax,eax
808
	mov ecx,0x80000000 ;rol 0x80000000,1 = 1
819
    mov al,byte[esi+8] ;+8 = zoom
809
	movzx eax,byte[esi+8] ;+8 = zoom
820
    .calc_coord:
810
	.calc_coord:
821
      rol ecx,1 ;ecx = maximum coord
811
		rol ecx,1 ;ecx = maximum coord
822
      dec ax
812
		dec ax
Line 823... Line 813...
823
      cmp ax,0
813
		cmp ax,0
824
      jg .calc_coord
814
		jg .calc_coord
825
 
815
 
826
    mov byte[txt_tile_path],'z'
-
 
827
    mov edi,txt_tile_path
816
	mov byte[txt_tile_path],'z'
828
    inc edi
817
	mov edi,txt_tile_path
Line 829... Line 818...
829
    xor eax,eax
818
	inc edi
830
    mov al,byte[esi+8] ;+8 = zoom
819
	movzx eax,byte[esi+8] ;+8 = zoom
831
    stdcall convert_int_to_str, 300
820
	stdcall convert_int_to_str, 300
Line 892... Line 881...
892
  ret
881
	ret
893
endp
882
endp
Line 894... Line 883...
894
 
883
 
895
align 4
884
align 4
896
get_all_path: ;äã­ªæ¨ï ¤«ï ᮡ¨à ­¨ï ¯®«­®£® ¯ã⨠¨§ ¢á¥å ªã᪮¢
885
get_all_path: ;äã­ªæ¨ï ¤«ï ᮡ¨à ­¨ï ¯®«­®£® ¯ã⨠¨§ ¢á¥å ªã᪮¢
897
  mov ecx,dword[edit1.text]
886
	mov ecx,[edit1.text]
898
  add ecx,dword[edit1.size]
887
	add ecx,[edit1.size]
Line 899... Line 888...
899
  dec ecx
888
	dec ecx
Line 900... Line 889...
900
 
889
 
901
  stdcall [str_copy], file_name,4096-1, dword[edit1.text],dword[edit1.max]
890
	stdcall [str_copy], file_name,4096-1, [edit1.text],[edit1.max]
902
 
891
 
903
  cmp byte[ecx],'/'
892
	cmp byte[ecx],'/'
Line 904... Line 893...
904
  je @f
893
	je @f
905
    stdcall [str_catchar],file_name,4096-1, dword '/'
894
		stdcall [str_catchar],file_name,4096-1, dword '/'
906
  @@:
895
	@@: