Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5098 → Rev 5911

/programs/games/nu_pogodi/trunk/nu_pogod.asm
217,8 → 217,7
;ä®­®¢ë© 梥⠡ãä¥à  ¤®«¦¥­ ¡ëâì 0xffffff, ¨­ ç¥ ­¥ ¯à®¨§®©¤¥â ®¡à¥§ª 
;¯® ä®­®¢®¬ã 梥âã ¨ âà ä à¥â ¡ã¤¥â § ­¨¬ â 쬭®£® ¬¥áâ  ¢ ¯ ¬ïâ¨
align 4
proc CreateTrapharetBuffer, buf:dword, img_data:dword
push eax edi
proc CreateTrapharetBuffer uses eax edi, buf:dword, img_data:dword
mov edi,dword[buf]
 
;§ ¯®«­¥­¨¥ ¤ ­­ëå ¡ãä¥à 
234,7 → 233,6
stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8¡¨â
;®¡à¥§ ¥¬ «¨è­¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ­¨ï
stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT
pop edi eax
ret
endp
 
636,12 → 634,11
 
align 4
user_is_select:
push ecx esi edi
push eax ecx esi edi
stdcall [tl_node_get_data], tree1
pop esi
cmp esi,0 ;¥á«¨ ¨¬ï ¨£àë ¯ãá⮥
cmp eax,0 ;¥á«¨ ¨¬ï ¨£àë ¯ãá⮥
je @f
mov esi,eax
mov edi,ini_name
mov ecx,FILE_NAME_MAX
cld
650,7 → 647,7
mov byte[game_select_mode],0
call InitAll
@@:
pop edi esi ecx
pop edi esi ecx eax
 
call draw_window
ret
753,23 → 750,25
start:
load_libraries l_libs_start,load_lib_end
 
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  «¨¡ 
mov ebp,lib0
cmp dword [ebp+ll_struc_size-4],0
jz @f
mcall -1 ;exit not correct
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
cmp dword [lib0+ll_struc_size-4],0
jnz @f
cmp dword [lib1+ll_struc_size-4],0
jnz @f
cmp dword [lib2+ll_struc_size-4],0
jnz @f
cmp dword [lib3+ll_struc_size-4],0
jnz @f
jmp .lib
@@:
mov ebp,lib1
cmp dword [ebp+ll_struc_size-4],0
jz @f
mcall -1 ;exit not correct
@@:
.lib:
 
mcall 40,0x27
mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
 
;******************************************************************************
; ¯®¤£®â®¢ª  ᯨ᪠ ¨£®à
; ¯®¤£®â®¢ª  ᯨ᪠ ¨£à
;******************************************************************************
stdcall dword[tl_data_init], tree1
 
792,7 → 791,7
inc dl
push ecx edx
stdcall dword[ini_get_str],file_name,ini_sec_files,key_game,txt_tile_type_0,FILE_NAME_MAX,ini_def_decorat_file
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1 ;¤®¡ ¢«ï¥¬ ­ §¢ ­¨¥ ¨£àë
stdcall dword[tl_node_add], tree1, 0, txt_tile_type_0 ;¤®¡ ¢«ï¥¬ ­ §¢ ­¨¥ ¨£àë
stdcall dword[tl_cur_next], tree1 ;¯¥à¥­®á¨¬ ªãàá®à ¢­¨§, çâ®-¡ë ­¥ ¯®¬¥­ï«áï ¯®à冷ª ¨£à
pop edx ecx
loop @b
983,13 → 982,12
int 0x40
pop esi
 
mov eax,4 ; ð¡R÷ÿ-ð? ¢?ò¡¢ÿ
mov bx,BUT1_H
add ebx,3*65536;+3
mov ecx,dword[color_but_te]
or ecx,0x80000000
mov edx,txt_game_a
int 0x40
mcall 4
 
ror ebx,16
add ebx,BUT1_NEXT_TOP
1037,16 → 1035,15
align 4
proc draw_rect_border, client_rect:dword, user_box:dword
pushad
mov edi,dword[client_rect]
mov esi,dword[user_box]
cmp esi,0
je @f
mov edi,dword[client_rect]
mov ebx,dword[edi+8] ;+8 = width
inc bx
mov ecx,dword[esi+4] ;+4 = top
mov edx,[sc.work]
mov eax,13
int 0x40 ;top
mcall 13 ;top
 
mov eax,dword[esi+4] ;+4 = top
add eax,dword[esi+12] ;+12 = height
1057,8 → 1054,7
mov cx,word[edi+12] ;+12 = bottom
inc cx
sub cx,ax
mov eax,13
int 0x40 ;bottom
mcall 13 ;bottom
.no_bottom:
 
mov ebx,dword[esi] ;+0 left
1066,8 → 1062,7
shl ecx,16
mov cx,word[esi+12] ;+12 = height
inc cx
mov eax,13
int 0x40 ;left
mcall 13 ;left
 
mov eax,dword[esi] ;+0 left
add eax,dword[esi+8] ;+8 = width
1076,8 → 1071,7
mov bx,word[edi+8] ;+8 = right
sub bx,ax
inc bx
mov eax,13
int 0x40 ;right
mcall 13 ;right
@@:
popad
ret
1182,14 → 1176,12
load_lib_end:
 
align 4
proc mem_copy, source:dword, destination:dword, len:dword
push ecx esi edi
proc mem_copy uses ecx esi edi, source:dword, destination:dword, len:dword
cld
mov esi, dword[source]
mov edi, dword[destination]
mov ecx, dword[len]
rep movsb
pop edi esi ecx
ret
endp
 
1196,8 → 1188,6
align 4
convert_to_str:
pushad
;mov eax,dword[value]
;mov edi,dword[text]
mov dword[edi+1],0
cld
call .str
1204,7 → 1194,6
popad
ret
 
 
align 4
.str:
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬  áç¨á«¥­¨ï ¨§¬¥­ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤­ë¥ ¯ à ¬¥âàë eax - ç¨á«®
1214,15 → 1203,12
xor edx,edx ;®ç¨áâ¨âì edx
div ecx ;à §¤¥«¨âì - ®áâ â®ª ¢ edx
push edx ;¯®«®¦¨âì ¢ á⥪
;dec edi ;ᬥ饭¨¥ ­¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®­æ  áâப¨
call .str;¯¥à¥©â¨ ­  á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥­â  ¯®ª  ¢ eax ­¥ áâ ­¥â ¬¥­ìè¥ ç¥¬ ¢ ecx
pop eax
@@: ;cmp al,10 ;¯à®¢¥à¨âì ­¥ ¬¥­ìè¥ «¨ §­ ç¥­¨¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥­ï 10 ¤ ­­ ï ª®¬ ­¤  - «¨è­ ï))
;sbb al,$69 ;- ç¥áâ­® ¤ ­­ ï ¨­áâàãªæ¨ï ¬¥­ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ­¥ §­ î ª ª íâ® à ¡®â ¥â
;das ;¯®á«¥ ¤ ­­®© ª®¬ ­¤ë ª ª ¡ë ¯à®¨á室¨â 㬥­ì襭¨¥ al ­  66h (¢ ª­¨£¥ ­ ¯¨á ­® ¤à㣮¥)
or al,0x30 ;¤ ­­ ï ª®¬ ­¤  ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
stosb ;§ ¯¨á âì í«¥¬¥­â ¨§ ॣ¨áâà  al ¢ ï祪㠯 ¬ï⨠es:edi
ret ;¢¥à­ãâìáï ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
ret ;¢¥à­ãâìáï ®ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
 
 
last_time dd 0
1230,7 → 1216,7
image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥­­ë¬¨ á¥à묨 ¨§®¡à ¦¥­¨ï¬¨ ¢ ä®à¬ â¥ 24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë
 
run_file_70 FileInfoBlock
hed db 'Nu pogodi 17.09.10',0 ;¯®¤¯¨áì ®ª­ 
hed db 'Nu pogodi 10.11.15',0 ;¯®¤¯¨áì ®ª­ 
sc system_colors ;á¨á⥬­ë¥ 梥â 
 
count_of_dir_list_files equ 10
1449,11 → 1435,10
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
 
 
 
align 16
i_end:
procinfo process_information
rb 1024
align 16
procinfo process_information
stacktop:
sys_path rb 4096
file_name: