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: |