Subversion Repositories Kolibri OS

Rev

Rev 1535 | Rev 1552 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1535 Rev 1538
Line 29... Line 29...
29
 
29
 
30
BUF_STRUCT_SIZE equ 21
30
BUF_STRUCT_SIZE equ 21
31
buf2d_data equ dword[edi] ;¤ ­­ë¥ ¡ãä¥à  ¨§®¡à ¦¥­¨ï
31
buf2d_data equ dword[edi] ;¤ ­­ë¥ ¡ãä¥à  ¨§®¡à ¦¥­¨ï
32
buf2d_w equ dword[edi+8] ;è¨à¨­  ¡ãä¥à 
32
buf2d_w equ dword[edi+8] ;è¨à¨­  ¡ãä¥à 
33
buf2d_h equ dword[edi+12] ;¢ëá®â  ¡ãä¥à 
-
 
34
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã
33
buf2d_h equ dword[edi+12] ;¢ëá®â  ¡ãä¥à 
-
 
34
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ 
35
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ 
35
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã
36
buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢  ¨ á¯à ¢  ¤«ï ¡ãä¥à 
36
buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢  ¨ á¯à ¢  ¤«ï ¡ãä¥à 
37
buf2d_color equ dword[edi+16] ;梥â ä®­  ¡ãä¥à 
37
buf2d_color equ dword[edi+16] ;梥â ä®­  ¡ãä¥à 
Line 38... Line 38...
38
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥­¨ï
38
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥­¨ï
Line 52... Line 52...
52
GAME_POLE_BYTES equ GAME_POLE_W*GAME_POLE_H*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬
52
GAME_POLE_BYTES equ GAME_POLE_W*GAME_POLE_H*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬
53
OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥭¥© ¯® ®á¨ 'x'
53
OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥭¥© ¯® ®á¨ 'x'
54
OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥭¥© ¯® ®á¨ 'y'
54
OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥭¥© ¯® ®á¨ 'y'
55
IMAGE_FONT_SIZE equ 128*144*3
55
IMAGE_FONT_SIZE equ 128*144*3
Line -... Line 56...
-
 
56
 
-
 
57
use_but equ 1
-
 
58
 
-
 
59
if use_but eq 1
-
 
60
BUT1_T equ 10 ;®âáâ㯠ᢥàåã
-
 
61
BUT1_L equ 15 ;®âáâ㯠᫥¢ 
-
 
62
BUT1_W equ 50 ;è¨à¨­ 
-
 
63
BUT1_H equ 20 ;¢ëá®â 
-
 
64
BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536
-
 
65
end if
56
 
66
 
57
fn_icon0 db 'curici.png',0 ;¨¬ï ä ©«  á ¤¥ª®à æ¨ï¬¨
67
fn_icon0 db 'curici.png',0 ;¨¬ï ä ©«  á ¤¥ª®à æ¨ï¬¨
58
fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©«  á ¢®«ª®¬ ¨ § ©æ¥¬
68
fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©«  á ¢®«ª®¬ ¨ § ©æ¥¬
59
fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©«  á ï©æ ¬¨
69
fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©«  á ï©æ ¬¨
60
fn_icon3 db 'chi.png',0 ;¨¬ï ä ©«  á 樯«ïâ ¬¨
70
fn_icon3 db 'chi.png',0 ;¨¬ï ä ©«  á 樯«ïâ ¬¨
Line -... Line 71...
-
 
71
fn_font db 'font8x9.bmp',0
61
fn_font db 'font8x9.bmp',0
72
 
62
 
73
;æ¢¥â  ¢ ¨£à¥
63
color_fon dd 0xffffff
74
color_fon dd 0xffffff
64
color_shadows dd 0xd0d0d0 ;梥â ⥭¥©
75
color_shadows dd 0xd0d0d0 ;梥â ⥭¥©
65
color_trees dd 0x008000 ;梥â âà ¢ë
76
color_trees dd 0x008000 ;梥â âà ¢ë
66
color_wolf dd 0x800000 ;梥⠢®«ª  ¨ § ©æ 
77
color_wolf dd 0x800000 ;梥⠢®«ª  ¨ § ©æ 
67
color_egg dd 0x404080 ;梥â ï©æ 
78
color_egg dd 0x404080 ;梥â ï©æ 
68
color_chick dd 0x00d0d0 ;梥â 樯«¥­ª 
79
color_chick dd 0x00d0d0 ;梥â 樯«¥­ª 
-
 
80
color_curici dd 0x8080d0 ;梥⠪ãà¨æë
-
 
81
color_perilo dd 0x000080 ;梥⠯¥à¨«  (£à¥¡­ï)
-
 
82
;æ¢¥â  ¨­â¥à䥩á 
Line 69... Line 83...
69
color_curici dd 0x8080d0 ;梥⠪ãà¨æë
83
color_but_sm dd 0x808080 ;梥⠬ «¥­ìª¨å ª­®¯®ª
70
color_perilo dd 0x000080 ;梥⠯¥à¨«  (£à¥¡­ï)
84
color_but_bi dd 0x8080ff ;梥⠡®«ìè¨å ª­®¯®ª
71
 
85
 
Line 111... Line 125...
111
mask_chi_right equ 11111000000000000000000000000000b ;¬ áª  ¯à ¢ëå 樯«ïâ
125
mask_chi_right equ 11111000000000000000000000000000b ;¬ áª  ¯à ¢ëå 樯«ïâ
112
mask_chi_cr_l  equ 1000000000000000000000b ;¬ áª  ¤«ï ᮧ¤ ­¨ï «¥¢®£®
126
mask_chi_cr_l  equ 1000000000000000000000b ;¬ áª  ¤«ï ᮧ¤ ­¨ï «¥¢®£®
113
mask_chi_cr_r  equ 1000000000000000000000000000b ;¬ áª  ¤«ï ᮧ¤ ­¨ï ¯à ¢®£®
127
mask_chi_cr_r  equ 1000000000000000000000000000b ;¬ áª  ¤«ï ᮧ¤ ­¨ï ¯à ¢®£®
114
bit_chi_left  equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â §  ¡¥£ã饣® á«¥¢ 
128
bit_chi_left  equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â §  ¡¥£ã饣® á«¥¢ 
115
bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â §  ¡¥£ã饣® ¯à ¢ 
129
bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â §  ¡¥£ã饣® ¯à ¢ 
-
 
130
val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì­® ¤®«¦¥­ ¯à®¢¨á¥âì § ïæ
-
 
131
val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì­® ¤®«¦¥­ ¡ëâì á¯àïâ ­­ë¬ § ïæ
Line -... Line 132...
-
 
132
 
116
 
133
zaac_status db 0
117
pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª  0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢­¨§
134
pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª  0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢­¨§
118
;rb 1
135
;rb 1
119
pos_eggs dd 0 ;¯®§¨æ¨¨ à á¯®«®¦¥­¨ï ï¨æ ¨ 樯«ïâ
136
pos_eggs dd 0 ;¯®§¨æ¨¨ à á¯®«®¦¥­¨ï ï¨æ ¨ 樯«ïâ
120
eggs_count dw 0 ;ª®««¨ç¥á⢮ ¯®©¬ ­ëå ï¨æ
137
eggs_count dw 0 ;ª®««¨ç¥á⢮ ¯®©¬ ­ëå ï¨æ
Line 147... Line 164...
147
proc CreateTrapharetBuffer, buf:dword, img_data:dword
164
proc CreateTrapharetBuffer, buf:dword, img_data:dword
148
	push edi
165
	push edi
149
	mov edi,dword[buf]
166
	mov edi,dword[buf]
150
	stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à
167
	stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à
151
	stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8¡¨â
168
	stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8¡¨â
-
 
169
	;®¡à¥§ ¥¬ «¨è­¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ­¨ï
152
	stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT
170
	stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT
153
	pop edi
171
	pop edi
154
	ret
172
	ret
155
endp
173
endp
Line 156... Line 174...
156
 
174
 
Line 442... Line 460...
442
	.no_fail:
460
	.no_fail:
Line 443... Line 461...
443
 
461
 
Line 444... Line 462...
444
	and dword[pos_eggs],mask_clear_all ;®ç¨á⪠ 㯠¢è¨å ï¨æ ¨ ¤®¡¥¦ ¢è¨å ªã३
462
	and dword[pos_eggs],mask_clear_all ;®ç¨á⪠ 㯠¢è¨å ï¨æ ¨ ¤®¡¥¦ ¢è¨å ªã३
445
 
463
 
446
	call rand_next
464
	call rand_next
447
	bt dword[rand_x],6
465
	cmp byte[zaac_status],0
-
 
466
	jle @f
448
	jc @f
467
		dec byte[zaac_status]
-
 
468
		jmp .no_zaac_move ;§ ïæ ¯®ª  ­¥ ¤¢¨£ ¥âáï
449
	bt dword[rand_x],8
469
	@@:
450
	jc @f
470
	
451
	bt dword[rand_x],9
471
	bt dword[rand_x],6 ;§ ïæ ®â ä®­ àï ¬¥­ï¥â áâ âãá
-
 
472
	jc @f
-
 
473
		xor byte[pos_wolf],val_zaac ;¢ëᮢ뢠¥¬/§ á®¢ë¢ ¥¬ § ©æ 
-
 
474
		bt word[pos_wolf],val_zaac
-
 
475
		jc .zaac_n
-
 
476
			mov byte[zaac_status],val_zaac_time_y ;áâ ¢¨¬ ¬¨­¨¬ «ì­®¥ ¢à¥¬ï ¤«ï ᬥ­ë áâ âãá 
-
 
477
			jmp @f
452
	jc @f
478
		.zaac_n:
-
 
479
			mov byte[zaac_status],val_zaac_time_n ;áâ ¢¨¬ ¬¨­¨¬ «ì­®¥ ¢à¥¬ï ¤«ï ᬥ­ë áâ âãá 
Line 453... Line 480...
453
		xor byte[pos_wolf],val_zaac ;¢ëᮢ뢠¥¬/§ á®¢ë¢ ¥¬ § ©æ 
480
	@@:
454
	@@:
481
	.no_zaac_move:
455
 
482
 
456
	;ᮧ¤ ­¨¥ ­®¢ëå ï¨æ
483
	;ᮧ¤ ­¨¥ ­®¢ëå ï¨æ
Line 484... Line 511...
484
	mov word[eggs_count],0 ;ª®««¨ç¥á⢮ ¯®©¬ ­ëå ï¨æ
511
	mov word[eggs_count],0 ;ª®««¨ç¥á⢮ ¯®©¬ ­ëå ï¨æ
485
	mov byte[some_text],'0'
512
	mov byte[some_text],'0'
486
	mov byte[some_text+1],0 ;⥪áâ á ç¨á«®¬ ¯®©¬ ­­ëå ï¨æ
513
	mov byte[some_text+1],0 ;⥪áâ á ç¨á«®¬ ¯®©¬ ­­ëå ï¨æ
487
	mov byte[count_last],0
514
	mov byte[count_last],0
488
	mov dword[pos_eggs],0
515
	mov dword[pos_eggs],0
-
 
516
	mov byte[zaac_status],0
Line 489... Line 517...
489
 
517
 
490
	cmp dword[b],0
518
	cmp dword[b],0
491
	jne @f
519
	jne @f
492
		mov byte[game_text+5],'€'
520
		mov byte[game_text+5],'€'
Line 695... Line 723...
695
draw_window:
723
draw_window:
696
	pushad
724
	pushad
697
	mcall 12,1
725
	mcall 12,1
Line 698... Line 726...
698
 
726
 
699
	xor eax,eax
727
	xor eax,eax
700
	mov ebx,20*65536+370
728
	mov ebx,20*65536+480
701
	mov ecx,20*65536+280
729
	mov ecx,20*65536+270
702
	mov edx,[sc.work]
730
	mov edx,[sc.work]
703
	;or edx,0x33000000
731
	;or edx,0x33000000
704
	or edx,0x73000000
732
	or edx,0x73000000
705
	mov edi,hed
733
	mov edi,hed
Line 737... Line 765...
737
	@@:
765
	@@:
738
		mov esi,dword[procinfo.client_box.width] ;ª®£¤  ¯® è¨à¨­¥ ­¥ ¢« §¨â
766
		mov esi,dword[procinfo.client_box.width] ;ª®£¤  ¯® è¨à¨­¥ ­¥ ¢« §¨â
739
		inc esi
767
		inc esi
740
	.draw_s:
768
	.draw_s:
Line -... Line 769...
-
 
769
 
-
 
770
if use_but eq 1
-
 
771
	; *** à¨á®¢ ­¨¥ ª­®¯®ª ***
-
 
772
push esi
-
 
773
	mov eax,8
-
 
774
	xor ebx,ebx
-
 
775
	mov bx,buf2d_l
-
 
776
	add ebx,buf2d_w
-
 
777
	add ebx,BUT1_L
-
 
778
	shl ebx,16
-
 
779
	mov bx,BUT1_W
-
 
780
	mov ecx,BUT1_T*65536+BUT1_H
-
 
781
	mov edx,5
-
 
782
	;or edx,0x40000000
-
 
783
	mov esi,dword[color_but_sm]
-
 
784
	int 0x40
-
 
785
 
-
 
786
	inc edx
-
 
787
	add ecx,BUT1_NEXT_TOP
-
 
788
	int 0x40
-
 
789
pop esi
-
 
790
 
-
 
791
	; *** ¢®ááâ ­®¢«¥­¨¥ ¯ à ¬¥â஢ ***
-
 
792
	mov eax,13 ;à¨á®¢ ­¨¥ ¯àאַ㣮«ì­¨ª 
-
 
793
	mov edx,[sc.work]
-
 
794
end if
741
 
795
 
742
	mov ebx,esi
796
	mov ebx,esi
743
	mov ecx,dword[procinfo.client_box.height]
797
	mov ecx,dword[procinfo.client_box.height]
744
	inc ecx
798
	inc ecx
745
	mov esi,GAME_POLE_H
799
	mov esi,GAME_POLE_H
Line 783... Line 837...
783
	ret
837
	ret
Line 784... Line 838...
784
 
838
 
785
align 4
839
align 4
786
button:
840
button:
-
 
841
	mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
-
 
842
	if use_but eq 1
-
 
843
	cmp ah,5
-
 
844
	jne @f
-
 
845
		stdcall InitGame,0
-
 
846
	@@:
-
 
847
	cmp ah,6
-
 
848
	jne @f
-
 
849
		stdcall InitGame,1
787
	mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
850
	@@:	end if
788
	cmp ah,1
851
	cmp ah,1
789
	jne still
852
	jne still
790
.exit:
853
.exit:
791
	stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à
854
	stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à
Line 885... Line 948...
885
last_time dd ?
948
last_time dd ?
886
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
949
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
887
image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥­­ë¬¨ á¥à묨 ¨§®¡à ¦¥­¨ï¬¨ ¢ ä®à¬ â¥ 24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë
950
image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥­­ë¬¨ á¥à묨 ¨§®¡à ¦¥­¨ï¬¨ ¢ ä®à¬ â¥ 24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë
Line 888... Line 951...
888
 
951
 
889
run_file_70 FileInfoBlock
952
run_file_70 FileInfoBlock
890
hed db 'Nu pogodi 29.07.10',0 ;¯®¤¯¨áì ®ª­ 
953
hed db 'Nu pogodi 30.07.10',0 ;¯®¤¯¨áì ®ª­ 
Line 891... Line 954...
891
sc system_colors  ;á¨á⥬­ë¥ 梥â 
954
sc system_colors  ;á¨á⥬­ë¥ 梥â 
892
 
955
 
893
align 4
956
align 4