diff --git a/programs/develop/libraries/buf2d/trunk/buf2d.asm b/programs/develop/libraries/buf2d/trunk/buf2d.asm index 933a9f005c..b7952be317 100644 --- a/programs/develop/libraries/buf2d/trunk/buf2d.asm +++ b/programs/develop/libraries/buf2d/trunk/buf2d.asm @@ -219,6 +219,8 @@ endl mov edx,eax ;ax = colors - r,g shr edx,16 ;dl = color - b mov ecx,buf2d_h + cmp ecx,1 + jle .24no_crop_bottom ;проверяем на случай если высота буфера 1 пиксель mov ebx,buf2d_w imul ecx,ebx lea esi,[ecx+ecx*2] ;esi=3*ecx @@ -262,6 +264,8 @@ endl shr edx,16 ;dl = color - b mov esi,buf2d_data mov ecx,buf2d_h + cmp ecx,1 + jle .24no_crop_top ;проверяем на случай если высота буфера 1 пиксель dec ecx ;при обрезании должна остаться минимум 1-на строка пикселей mov ebx,buf2d_w imul ecx,ebx @@ -306,6 +310,8 @@ endl mov edx,eax ;ax = colors - r,g shr edx,16 ;dl = color - b mov ebx,buf2d_w + cmp ebx,1 + jle .24no_crop_right ;на случай если ширина буфера 1 пиксель lea ebx,[ebx+ebx*2] mov esi,ebx imul esi,buf2d_h @@ -365,6 +371,8 @@ endl mov edx,eax ;ax = colors - r,g shr edx,16 ;dl = color - b mov ebx,buf2d_w + cmp ebx,1 + jle .24no_crop_left ;на случай если ширина буфера 1 пиксель lea ebx,[ebx+ebx*2] mov esi,buf2d_data ;esi - указатель на начоло буфера изображения mov dword[crop_r],0 @@ -430,6 +438,8 @@ endl mov eax,dword[color] mov esi,buf2d_data mov ecx,buf2d_h + cmp ecx,1 + jle .8no_crop_bottom ;проверяем на случай если высота буфера 1 пиксель mov ebx,buf2d_w imul ecx,ebx mov esi,ecx @@ -468,6 +478,8 @@ endl mov eax,dword[color] mov esi,buf2d_data mov ecx,buf2d_h + cmp ecx,1 + jle .8no_crop_top ;проверяем на случай если высота буфера 1 пиксель dec ecx ;при обрезании должна остаться минимум 1-на строка пикселей mov ebx,buf2d_w imul ecx,ebx @@ -507,6 +519,8 @@ endl jae .8no_crop_right mov eax,dword[color] mov ebx,buf2d_w + cmp ebx,1 + jle .8no_crop_right ;на случай если ширина буфера 1 пиксель mov esi,ebx imul esi,buf2d_h add esi,buf2d_data ;esi - указатель на конец буфера изображения @@ -558,6 +572,8 @@ endl jae .8no_crop_left mov eax,dword[color] mov ebx,buf2d_w + cmp ebx,1 + jle .8no_crop_left ;на случай если ширина буфера 1 пиксель mov esi,buf2d_data ;esi - указатель на начоло буфера изображения mov edx,0 cld diff --git a/programs/games/nu_pogodi/trunk/kv_z_zaba.svg b/programs/games/nu_pogodi/trunk/kv_z_zaba.svg new file mode 100644 index 0000000000..209008ffd8 --- /dev/null +++ b/programs/games/nu_pogodi/trunk/kv_z_zaba.svg @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/programs/games/nu_pogodi/trunk/kv_zaba.png b/programs/games/nu_pogodi/trunk/kv_zaba.png new file mode 100644 index 0000000000..a3fa8db4eb Binary files /dev/null and b/programs/games/nu_pogodi/trunk/kv_zaba.png differ diff --git a/programs/games/nu_pogodi/trunk/kvaka_za.ini b/programs/games/nu_pogodi/trunk/kvaka_za.ini new file mode 100644 index 0000000000..28665cf322 --- /dev/null +++ b/programs/games/nu_pogodi/trunk/kvaka_za.ini @@ -0,0 +1,6 @@ +[Files] +displ_w=315 +displ_h=210 +file_unit=kv_zaba.png +[Colors] +unit=0,128,0 \ No newline at end of file diff --git a/programs/games/nu_pogodi/trunk/nu_pogod.asm b/programs/games/nu_pogodi/trunk/nu_pogod.asm index 72ca5c8ff2..ada1daafc3 100644 --- a/programs/games/nu_pogodi/trunk/nu_pogod.asm +++ b/programs/games/nu_pogodi/trunk/nu_pogod.asm @@ -66,16 +66,22 @@ BUT1_H equ 20 ; BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536 end if +FILE_NAME_MAX equ 20 ;максимальная длинна имени файла (без папок, относительно текущей) +;значения имен по умолчанию +ini_def_unit_file db 'wolf.png',0 +;имена файлов fn_icon0 db 'curici.png',0 ;имя файла с декорациями -fn_icon1 db 'wolf.png',0 ;имя файла с волком и зайцем +fn_icon1 rb FILE_NAME_MAX ;имя файла с волком и зайцем fn_icon2 db 'eggs.png',0 ;имя файла с яйцами fn_icon3 db 'chi.png',0 ;имя файла с циплятами fn_font db 'font8x9.bmp',0 ini_name db 'nu_pogod.ini',0 ini_sec_files db 'Files',0 +key_file_unit db 'file_unit',0 key_displ_w db 'displ_w',0 key_displ_h db 'displ_h',0 + ini_sec_color db 'Colors',0 key_color_unit db 'unit',0 @@ -606,6 +612,8 @@ start: mov dword[displ_h],eax stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_unit,0 mov dword[color_wolf],eax + stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_unit,fn_icon1,FILE_NAME_MAX,ini_def_unit_file + mov edx,dword[displ_w] imul edx,dword[displ_h] diff --git a/programs/games/nu_pogodi/trunk/nu_pogod.ini b/programs/games/nu_pogodi/trunk/nu_pogod.ini index 0fb968746f..ca5c9a46a1 100644 --- a/programs/games/nu_pogodi/trunk/nu_pogod.ini +++ b/programs/games/nu_pogodi/trunk/nu_pogod.ini @@ -1,5 +1,6 @@ [Files] displ_w=315 displ_h=210 +file_unit=wolf.png [Colors] unit=128,0,0 \ No newline at end of file