From a1a5d05aea2d4ac0ca859676fa0e5194a592c5cb Mon Sep 17 00:00:00 2001 From: IgorA Date: Wed, 8 Sep 2010 19:06:14 +0000 Subject: [PATCH] new game 'Frog boaster' git-svn-id: svn://kolibrios.org@1609 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../trunk/doc/tree_list/info_treelist.htm | 23 +- programs/games/nu_pogodi/trunk/build.bat | 5 +- programs/games/nu_pogodi/trunk/kv_bab.png | Bin 0 -> 28836 bytes programs/games/nu_pogodi/trunk/kv_lost.png | Bin 0 -> 11881 bytes programs/games/nu_pogodi/trunk/kv_z_bab.svg | 635 +++++++ programs/games/nu_pogodi/trunk/kv_z_lost.svg | 396 +++++ programs/games/nu_pogodi/trunk/kvaka_za.ini | 5 +- .../games/nu_pogodi/trunk/kvaka_zadav.svg | 1535 +++++++++++++++++ programs/games/nu_pogodi/trunk/main.ini | 4 + programs/games/nu_pogodi/trunk/nu_pogod.asm | 247 ++- programs/games/nu_pogodi/trunk/nu_pogod.ini | 1 + programs/games/nu_pogodi/trunk/tl_sys_16.png | Bin 0 -> 1596 bytes 12 files changed, 2813 insertions(+), 38 deletions(-) create mode 100644 programs/games/nu_pogodi/trunk/kv_bab.png create mode 100644 programs/games/nu_pogodi/trunk/kv_lost.png create mode 100644 programs/games/nu_pogodi/trunk/kv_z_bab.svg create mode 100644 programs/games/nu_pogodi/trunk/kv_z_lost.svg create mode 100644 programs/games/nu_pogodi/trunk/kvaka_zadav.svg create mode 100644 programs/games/nu_pogodi/trunk/main.ini create mode 100644 programs/games/nu_pogodi/trunk/tl_sys_16.png diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm index 3069a6573b..203dadb44c 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm @@ -88,6 +88,27 @@

tl_node_get_data

┴хЁхЄ єърчрЄхы№ эр фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) шч єчыр яюф ъєЁёюЁюь.

+

╧ЁшьхЁ 1:

+
	stdcall [tl_node_get_data], tree1
+	pop eax
+

уфх: tree1 - ёЄЁєъЄєЁр tree_list; + eax - єърчрЄхы№ эр ф√ээ√х єчыр.

+ +

╧ЁшьхЁ 2:

+
	NODE_SIZE equ 200
+	node_data rb NODE_SIZE
+.........
+push ecx esi edi
+	stdcall [tl_node_get_data], tree1
+	pop esi
+	mov edi,node_data
+	mov ecx,NODE_SIZE
+	cld
+	rep movsb
+pop edi esi ecx
+

уфх: tree1 - ёЄЁєъЄєЁр tree_list; + NODE_SIZE - ЁрчьхЁ ф√ээ√ї єчыр; + node_data - ъюяш  эр ф√ээ√ї єчыр.

tl_node_delete

╙фры хЄ єчхы, эю эх юъюэўрЄхы№эю, яЁш эхюсїюфшьюёЄш єчхы ьюцэю тхЁэєЄ№ ЇєэъЎшхщ tl_info_undo.

@@ -235,6 +256,6 @@

╤Єшы№ эх юЄюсЁрцрхЄ єЁютэш (ъръ т ListBox тёх єчы√ юфэюую єЁютэ ).


-

─юъєьхэЄрЎш  юсэюты ырё№ яюёыхфэшщ Ёрч 10.01.10.

+

─юъєьхэЄрЎш  юсэюты ырё№ яюёыхфэшщ Ёрч 08.09.10.

\ No newline at end of file diff --git a/programs/games/nu_pogodi/trunk/build.bat b/programs/games/nu_pogodi/trunk/build.bat index a5327b337b..816d920d31 100644 --- a/programs/games/nu_pogodi/trunk/build.bat +++ b/programs/games/nu_pogodi/trunk/build.bat @@ -1,9 +1,6 @@ if not exist bin mkdir bin if not exist bin\font8x9.bmp @copy ..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp -if not exist bin\chi.png @copy chi.png bin\chi.png -if not exist bin\curici.png @copy curici.png bin\curici.png -if not exist bin\eggs.png @copy eggs.png bin\eggs.png -if not exist bin\wolf.png @copy wolf.png bin\wolf.png +@copy *.png bin\*.png @copy *.ini bin\*.ini @fasm.exe -m 16384 nu_pogod.asm bin\nu_pogod.kex @kpack bin\nu_pogod.kex diff --git a/programs/games/nu_pogodi/trunk/kv_bab.png b/programs/games/nu_pogodi/trunk/kv_bab.png new file mode 100644 index 0000000000000000000000000000000000000000..542d9eb25f22dff301227aa74359c1c3bc5dbdd6 GIT binary patch literal 28836 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 literal 0 HcmV?d00001 diff --git a/programs/games/nu_pogodi/trunk/kv_lost.png b/programs/games/nu_pogodi/trunk/kv_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..708be5a9dca259dbc71a8de07dd9d181ca06c878 GIT binary patch literal 11881 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 I;Du}d1r;#R3jhEB literal 0 HcmV?d00001 diff --git a/programs/games/nu_pogodi/trunk/kv_z_bab.svg b/programs/games/nu_pogodi/trunk/kv_z_bab.svg new file mode 100644 index 0000000000..0d7b44485f --- /dev/null +++ b/programs/games/nu_pogodi/trunk/kv_z_bab.svg @@ -0,0 +1,635 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/programs/games/nu_pogodi/trunk/kv_z_lost.svg b/programs/games/nu_pogodi/trunk/kv_z_lost.svg new file mode 100644 index 0000000000..153c83932b --- /dev/null +++ b/programs/games/nu_pogodi/trunk/kv_z_lost.svg @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/programs/games/nu_pogodi/trunk/kvaka_za.ini b/programs/games/nu_pogodi/trunk/kvaka_za.ini index 5bf2082a14..5284902b9e 100644 --- a/programs/games/nu_pogodi/trunk/kvaka_za.ini +++ b/programs/games/nu_pogodi/trunk/kvaka_za.ini @@ -3,7 +3,8 @@ displ_w=315 displ_h=210 file_decorat=kv_decor.png file_unit=kv_zaba.png -file_objects=eggs.png +file_objects=kv_bab.png +file_lost=kv_lost.png offs_shadow_x=2 offs_shadow_y=2 [Game] @@ -13,6 +14,8 @@ delay_min=15 [Colors] background=223,240,223 ;ЎтхЄ Їюэр shadows=200,200,200 ;ЎтхЄ Єхэхщ +objects=208,64,0 ;ЎтхЄ фтшур■∙шїё  яЁхфьхЄют +lost=33,128,120 ;ЎтхЄ яЁюяє∙хээ√ї яЁхфьхЄют unit=0,128,0 dec0=255,255,255 dec1=0,0,0 diff --git a/programs/games/nu_pogodi/trunk/kvaka_zadav.svg b/programs/games/nu_pogodi/trunk/kvaka_zadav.svg new file mode 100644 index 0000000000..5c08d28b82 --- /dev/null +++ b/programs/games/nu_pogodi/trunk/kvaka_zadav.svg @@ -0,0 +1,1535 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/programs/games/nu_pogodi/trunk/main.ini b/programs/games/nu_pogodi/trunk/main.ini new file mode 100644 index 0000000000..04bf87116d --- /dev/null +++ b/programs/games/nu_pogodi/trunk/main.ini @@ -0,0 +1,4 @@ +[Files] +count=2 +g0=nu_pogod.ini +g1=kvaka_za.ini \ 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 80a906007b..f38991de8a 100644 --- a/programs/games/nu_pogodi/trunk/nu_pogod.asm +++ b/programs/games/nu_pogodi/trunk/nu_pogod.asm @@ -12,6 +12,7 @@ use32 include '../../../macros.inc' include '../../../proc32.inc' include '../../../develop/libraries/box_lib/load_lib.mac' +include '../../../develop/libraries/box_lib/trunk/box_lib.mac' ;макросы для задания элементов box_lib include 'mem.inc' include 'dll.inc' @@ -61,24 +62,35 @@ BUT1_W equ 50 ; BUT1_H equ 20 ;высота BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536 +game_select_mode db 1 ;режим выбора игры FILE_NAME_MAX equ 20 ;максимальная длинна имени файла (без папок, относительно текущей) ;значения имен по умолчанию ini_def_decorat_file db 'curici.png',0 ini_def_unit_file db 'wolf.png',0 ini_def_objects_file db 'eggs.png',0 +ini_def_lost_file db 'chi.png',0 ;имена файлов fn_icon0 rb FILE_NAME_MAX ;имя файла с декорациями fn_icon1 rb FILE_NAME_MAX ;имя файла с волком и зайцем fn_icon2 rb FILE_NAME_MAX ;имя файла с яйцами -fn_icon3 db 'chi.png',0 ;имя файла с циплятами +fn_icon3 rb FILE_NAME_MAX ;имя файла с циплятами fn_font db 'font8x9.bmp',0 -ini_name db 'nu_pogod.ini',0 +fn_icon_tl_sys db 'tl_sys_16.png',0 +TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;размер bmp файла с системными иконками + +ini_m_name db 'main.ini',0 +key_count db 'count',0 +key_game db 'g' + key_game_ind db 0,0,0 + +ini_name rb FILE_NAME_MAX ;имя ini файла c выбранной игрой ini_sec_files db 'Files',0 key_file_decorat db 'file_decorat',0 key_file_unit db 'file_unit',0 key_file_objects db 'file_objects',0 +key_file_lost db 'file_lost',0 key_displ_w db 'displ_w',0 key_displ_h db 'displ_h',0 key_shadow_x db 'offs_shadow_x',0 @@ -612,25 +624,35 @@ proc LoadArrayBuffer, f_name:dword, buf_start:dword, count:dword ret endp +txt_tile_type_0 rb FILE_NAME_MAX + align 4 -start: - load_libraries l_libs_start,load_lib_end +user_is_select: + push ecx esi edi + + stdcall [tl_node_get_data], tree1 + pop esi + cmp esi,0 ;если имя игры пустое + je @f + mov edi,ini_name + mov ecx,FILE_NAME_MAX + cld + rep movsb - ;проверка на сколько удачно загузилась наша либа - mov ebp,lib0 - cmp dword [ebp+ll_struc_size-4],0 - jz @f - mcall -1 ;exit not correct - @@: - mov ebp,lib1 - cmp dword [ebp+ll_struc_size-4],0 - jz @f - mcall -1 ;exit not correct + mov byte[game_select_mode],0 + call InitAll @@: + pop edi esi ecx - mcall 40,0x27 - mcall 48,3,sc,sizeof.system_colors ;получаем системные цвета + call draw_window + ret +;****************************************************************************** +; функция, которая 1 раз делает все настройки нужные для игры +;****************************************************************************** +align 4 +InitAll: + pushad ;работа с файлом настроек copy_path ini_name,sys_path,file_name,0x0 stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_w,210 @@ -640,6 +662,8 @@ start: stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_decorat,fn_icon0,FILE_NAME_MAX,ini_def_decorat_file stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_unit,fn_icon1,FILE_NAME_MAX,ini_def_unit_file stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_objects,fn_icon2,FILE_NAME_MAX,ini_def_objects_file + stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_lost,fn_icon3,FILE_NAME_MAX,ini_def_lost_file + stdcall dword[ini_get_int],file_name,ini_sec_files,key_shadow_x,2 mov dword[offs_shadow_x],eax stdcall dword[ini_get_int],file_name,ini_sec_files,key_shadow_y,2 @@ -714,6 +738,58 @@ start: call InitBackgroundBuffer ;заполняем буфер с фоновыми декорациями stdcall InitGame,0 + popad + ret + +align 4 +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 + @@: + mov ebp,lib1 + cmp dword [ebp+ll_struc_size-4],0 + jz @f + mcall -1 ;exit not correct + @@: + + mcall 40,0x27 + mcall 48,3,sc,sizeof.system_colors ;получаем системные цвета + +;****************************************************************************** +; подготовка списка игор +;****************************************************************************** + stdcall dword[tl_data_init], tree1 + + load_image_file fn_icon_tl_sys, image_data_gray,TREE_ICON_SYS16_BMP_SIZE + stdcall [buf2d_create_f_img], buf_tree_sys,[image_data_gray] ;создаем буфер + stdcall mem.Free,[image_data_gray] ;освобождаем память + + mov edi,buf_tree_sys + m2m dword[tree1.data_img_sys],buf2d_data + + ;работа с главным файлом настроек + copy_path ini_m_name,sys_path,file_name,0x0 + + stdcall dword[ini_get_int],file_name,ini_sec_files,key_count,1 + mov ecx,eax + mov dl,'0' + cld + @@: + mov byte[key_game_ind],dl + 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_cur_next], tree1 ;переносим курсор вниз, что-бы не поменялся порядок игр + pop edx ecx + loop @b + stdcall dword[tl_cur_beg], tree1 ;переносим курсор вверх + mcall 26,9 mov [last_time],ebx @@ -725,7 +801,11 @@ red_win: align 4 still: ;главный цикл - mcall 26,9 + + cmp byte[game_select_mode],0 + jne .select_mode + + mcall 26,9 ;берем системное время mov ebx,[last_time] add ebx,dword[game_spd] ;delay sub ebx,eax @@ -738,22 +818,38 @@ still: ; cmp eax,0 je it_is_time_now - ;mcall 10 + jmp @f + .select_mode: + mcall 10 + @@: - cmp al,0x1 ;изменилось положение окна + cmp al,1 ;изменилось положение окна jz red_win - cmp al,0x2 + cmp al,2 jz key - cmp al,0x3 + cmp al,3 jz button + cmp al,6 + jz mouse jmp still +align 4 +mouse: + cmp byte[game_select_mode],0 + je @f + stdcall [tl_mouse], tree1 ;если игра еще не выбрана + @@: + jmp still + align 4 it_is_time_now: mcall 26,9 mov [last_time],eax + cmp byte[game_select_mode],0 + jne still + ;...здесь идут действия, вызываемые каждые delay сотых долей секунд... call MoveEggs call draw_display @@ -764,6 +860,11 @@ key: push eax ebx mcall 2 + cmp byte[game_select_mode],0 + je @f + stdcall [tl_key], tree1 + @@: + cmp ah,176 ;Left jne @f and byte[pos_wolf],0xfe @@ -818,6 +919,9 @@ draw_window: mov edi,hed mcall ;создание окна + cmp byte[game_select_mode],0 + jne .select_mode + mcall 9,procinfo,-1 mov edi,buf_displ mov eax,dword[procinfo.client_box.width] @@ -908,6 +1012,11 @@ pop esi mov ecx,dword[displ_h] int 0x40 ;рисование левого бокового поля + jmp @f + .select_mode: + stdcall dword[tl_draw],dword tree1 + @@: + mcall 12,2 popad ret @@ -915,7 +1024,7 @@ pop esi align 4 draw_display: - stdcall mem_copy, dword[buf_fon],dword[buf_displ],315*210*3;dword[displ_bytes] ;копирование изображения из фонового буфера + stdcall mem_copy, dword[buf_fon],dword[buf_displ],dword[displ_bytes] ;копирование изображения из фонового буфера call DrawZaac ;рисуем зайца call DrawWolf ;рисуем волка call DrawEggs ;рисуем яйца @@ -946,6 +1055,7 @@ button: stdcall [buf2d_delete],buf_fon ;удаляем буфер stdcall [buf2d_delete],buf_displ ;удаляем буфер + stdcall [buf2d_delete],buf_tree_sys stdcall [buf2d_delete],buf_font cld @@ -974,31 +1084,39 @@ button: add edi,BUF_STRUCT_SIZE loop @b + mov dword[tree1.data_img_sys],0 ;чистим указатель на изображение + stdcall dword[tl_data_clear], tree1 mcall -1 ;выход из программы head_f_i: head_f_l db 'Системная ошибка',0 system_dir0 db '/sys/lib/' -name_buf2d db 'buf2d.obj',0 +lib0_name db 'buf2d.obj',0 err_message_found_lib0 db 'Не удалось найти библиотеку buf2d.obj',0 err_message_import0 db 'Ошибка при импорте библиотеки buf2d.obj',0 system_dir1 db '/sys/lib/' -name_libimg db 'libimg.obj',0 +lib1_name db 'libimg.obj',0 err_message_found_lib1 db 'Не удалось найти библиотеку libimg.obj',0 err_message_import1 db 'Ошибка при импорте библиотеки libimg.obj',0 system_dir2 db '/sys/lib/' -libini_name db 'libini.obj',0 +lib2_name db 'libini.obj',0 err_message_found_lib2 db 'Не удалось найти библиотеку libini.obj',0 err_message_import2 db 'Ошибка при импорте библиотеки libini.obj',0 +system_dir3 db '/sys/lib/' +lib3_name db 'box_lib.obj',0 +err_message_found_lib3 db 'Не удалось найти библиотеку box_lib.obj',0 +err_message_import3 db 'Ошибка при импорте библиотеки box_lib.obj',0 + ;library structures l_libs_start: - lib0 l_libs name_buf2d, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, import_buf2d_lib, err_message_import0, head_f_i - lib1 l_libs name_libimg, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, import_libimg, err_message_import1, head_f_i - lib2 l_libs libini_name, sys_path, file_name, system_dir2, err_message_found_lib2, head_f_l, libini_import, err_message_import2, head_f_i + lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, import_buf2d_lib, err_message_import0, head_f_i + lib1 l_libs lib1_name, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, import_libimg, err_message_import1, head_f_i + lib2 l_libs lib2_name, sys_path, file_name, system_dir2, err_message_found_lib2, head_f_l, import_libini, err_message_import2, head_f_i + lib3 l_libs lib3_name, sys_path, file_name, system_dir3, err_message_found_lib3, head_f_l, import_box_lib, err_message_import3, head_f_i load_lib_end: align 4 @@ -1050,9 +1168,25 @@ image_data dd 0 ; image_data_gray dd 0 ;память с временными серыми изображениями в формате 24-bit, из которых будут создаваться трафареты run_file_70 FileInfoBlock -hed db 'Nu pogodi 22.08.10',0 ;подпись окна +hed db 'Nu pogodi 08.09.10',0 ;подпись окна sc system_colors ;системные цвета +count_of_dir_list_files equ 10 +el_focus dd tree1 +tree1 tree_list FILE_NAME_MAX,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ + 16,16, 0x8080ff,0x0000ff,0xffffff, 10,10,140,100, 0,0,0, el_focus,\ + 0,user_is_select + +align 4 +buf_tree_sys: + dd 0 ;указатель на буфер изображения + dw 0 ;+4 left + dw 0 ;+6 top + dd 16 ;+8 w + dd 16*11 ;+12 h + dd 0 ;+16 color + db 24 ;+20 bit in pixel + align 4 buf_font: ;буфер со шрифтом dd 0 ;указатель на буфер изображения @@ -1101,7 +1235,7 @@ buf_chi: align 4 -libini_import: +import_libini: dd alib_init0 ini_get_str dd aini_get_str ini_get_int dd aini_get_int @@ -1203,6 +1337,57 @@ import_buf2d_lib: sz_buf2d_crop_color db 'buf2d_crop_color',0 sz_buf2d_offset_h db 'buf2d_offset_h',0 +align 4 +import_box_lib: + dd alib_init2 + + ;scrollbar_ver_draw dd aScrollbar_ver_draw + + tl_data_init dd sz_tl_data_init + tl_data_clear dd sz_tl_data_clear + tl_info_clear dd sz_tl_info_clear + tl_key dd sz_tl_key + tl_mouse dd sz_tl_mouse + tl_draw dd sz_tl_draw + tl_info_undo dd sz_tl_info_undo + tl_info_redo dd sz_tl_info_redo + tl_node_add dd sz_tl_node_add + tl_node_set_data dd sz_tl_node_set_data + tl_node_get_data dd sz_tl_node_get_data + tl_node_delete dd sz_tl_node_delete + tl_cur_beg dd sz_tl_cur_beg + tl_cur_next dd sz_tl_cur_next + tl_cur_perv dd sz_tl_cur_perv + tl_node_close_open dd sz_tl_node_close_open + tl_node_lev_inc dd sz_tl_node_lev_inc + tl_node_lev_dec dd sz_tl_node_lev_dec + +dd 0,0 + alib_init2 db 'lib_init',0 + + ;aScrollbar_ver_draw db 'scrollbar_v_draw',0 + + sz_tl_data_init db 'tl_data_init',0 + sz_tl_data_clear db 'tl_data_clear',0 + sz_tl_info_clear db 'tl_info_clear',0 + sz_tl_key db 'tl_key',0 + sz_tl_mouse db 'tl_mouse',0 + sz_tl_draw db 'tl_draw',0 + sz_tl_info_undo db 'tl_info_undo',0 + sz_tl_info_redo db 'tl_info_redo',0 + sz_tl_node_add db 'tl_node_add',0 + sz_tl_node_set_data db 'tl_node_set_data',0 + sz_tl_node_get_data db 'tl_node_get_data',0 + sz_tl_node_delete db 'tl_node_delete',0 + sz_tl_cur_beg db 'tl_cur_beg',0 + sz_tl_cur_next db 'tl_cur_next',0 + sz_tl_cur_perv db 'tl_cur_perv',0 + sz_tl_node_close_open db 'tl_node_close_open',0 + sz_tl_node_lev_inc db 'tl_node_lev_inc',0 + sz_tl_node_lev_dec db 'tl_node_lev_dec',0 + + + i_end: rb 1024 align 16 @@ -1211,8 +1396,6 @@ stacktop: sys_path rb 4096 file_name: rb 4096 - plugin_path: - rb 4096 openfile_path: rb 4096 filename_area: diff --git a/programs/games/nu_pogodi/trunk/nu_pogod.ini b/programs/games/nu_pogodi/trunk/nu_pogod.ini index e0b4aa4afd..09edb3364c 100644 --- a/programs/games/nu_pogodi/trunk/nu_pogod.ini +++ b/programs/games/nu_pogodi/trunk/nu_pogod.ini @@ -4,6 +4,7 @@ displ_h=210 file_decorat=curici.png file_unit=wolf.png file_objects=eggs.png +file_lost=chi.png offs_shadow_x=2 offs_shadow_y=2 [Game] diff --git a/programs/games/nu_pogodi/trunk/tl_sys_16.png b/programs/games/nu_pogodi/trunk/tl_sys_16.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0809ea1f5b4dddc8ecc0b5dcbbc27d7f398f73 GIT binary patch literal 1596 zcmeHG`&ZHj6u|f}|-E%(ob3XT;bMN`wbM7I89cGVP zf&&2ia29>DnF(gp*jk#izrX7pGhxy;hlRkk2TKRd!b(Vsq5)`&?M!@YvnC2yo1*|^ z9sp<_z_hu9z6MAq0Sxf~zB&!yoO1qFbTEJ=Adwsfkw|oR_ww-Y_4Z!neRIp;&Scl=Tk$BsU4$d(vAsH+)u-2*btYtVNLUE4`_vA(e@OB{x z!sT+Q)I=Ih7!h%h%2Nsi0+C3RmX;=wNE8YMz&$*n6{vayDdup_#>8CUax0mFB39xt zWRH4#QmsI6n>yDuh{YWV`np7x_N~H&&jY6r)y!eEC zz9^TUg7TCP|J#qK(ZnNY;xRPwIJ!rTipx-O1-k!dbbk|?){aW`sB#Kb8d2rPyK4AJ zI(n05Kc+vD1-j zeY(z5XLvDid_&jYZJuMNf(=2s=kkZ^7WZ$BWUlBr_dJ8390*E1T;dmYiK-QPe+D); z{-SmidMp56XXohFNTM&{`m!~bWvgwST=|dwEabJC@Iy7Cj8#3F>JaUGuNa>E$|8aF zz?l;c&Y4Y4jUOG_FsW7kl(==9UeHzKruzFV>HOA8J)@D=wvhg%)R47+I!gNBhNQ2@ zigWP~dcJWJ3*%o`B2|`!i(Kk#{4d;p*%@Bo*4UP{+J*1-(I=}LcEsl=EJLd9Icco>uNcDwib$>Z9mTMf?0rB_kLKLTWfuDj5r+h+G%`lYSdP!U%#(E6?>jvbk&Xp`xt-K=Wk zT8!=X&l_BxbWn6U56>f$Th2EvZpbP&dSj~Nm?8DWQ`s|)hweKJm%TD-O^>EUJXR95 z!z{}LGmd>MO7pg{GE48tF3Q39KnkgKg@X9)2h7C?z4M@rpU-mYo9vH2 zj`m6&eM!6bDgrZ&+EG$$c@frYxFn`Lk&*p|ZNWR(oDQ=O9iInuNXO=$A)LXcUkl;o{0ns06odc( literal 0 HcmV?d00001