Rev 1538 | Rev 1555 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1538 | Rev 1552 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | Buffer dd ? |
45 | Buffer dd ? |
46 | db ? |
46 | db ? |
47 | FileName dd ? |
47 | FileName dd ? |
48 | ends |
48 | ends |
Line 49... | Line 49... | ||
49 | 49 | ||
50 | GAME_POLE_W equ 315 ;è¨à¨ ¯®«ï |
50 | displ_w dd ? ;è¨à¨ ¯®«ï |
- | 51 | displ_h dd ? ;¢ëá®â ¯®«ï |
|
51 | GAME_POLE_H equ 210 ;¢ëá®â ¯®«ï |
52 | displ_bytes dd ? ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
- | 53 | ;displ_bytes equ 315*210*3 ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
|
52 | GAME_POLE_BYTES equ GAME_POLE_W*GAME_POLE_H*3 ;à §¬¥à ä ©« á ¨§®¡à ¦¥¨¥¬ |
54 | |
53 | OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'x' |
55 | OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'x' |
54 | OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'y' |
56 | OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'y' |
Line 55... | Line 57... | ||
55 | IMAGE_FONT_SIZE equ 128*144*3 |
57 | IMAGE_FONT_SIZE equ 128*144*3 |
Line 68... | Line 70... | ||
68 | fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©« á ¢®«ª®¬ ¨ § ©æ¥¬ |
70 | fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©« á ¢®«ª®¬ ¨ § ©æ¥¬ |
69 | fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©« á ï©æ ¬¨ |
71 | fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©« á ï©æ ¬¨ |
70 | fn_icon3 db 'chi.png',0 ;¨¬ï ä ©« á 樯«ïâ ¬¨ |
72 | fn_icon3 db 'chi.png',0 ;¨¬ï ä ©« á 樯«ïâ ¬¨ |
71 | fn_font db 'font8x9.bmp',0 |
73 | fn_font db 'font8x9.bmp',0 |
Line -... | Line 74... | ||
- | 74 | ||
- | 75 | ini_name db 'nu_pogod.ini',0 |
|
- | 76 | ini_sec_files db 'Files',0 |
|
- | 77 | key_displ_w db 'displ_w',0 |
|
- | 78 | key_displ_h db 'displ_h',0 |
|
- | 79 | ini_sec_color db 'Colors',0 |
|
- | 80 | key_color_unit db 'unit',0 |
|
72 | 81 | ||
73 | ;梥⠢ ¨£à¥ |
82 | ;梥⠢ ¨£à¥ |
74 | color_fon dd 0xffffff |
83 | color_fon dd 0xffffff |
75 | color_shadows dd 0xd0d0d0 ;梥â ⥥© |
84 | color_shadows dd 0xd0d0d0 ;梥â ⥥© |
76 | color_trees dd 0x008000 ;梥â âà ¢ë |
85 | color_trees dd 0x008000 ;梥â âà ¢ë |
Line 79... | Line 88... | ||
79 | color_chick dd 0x00d0d0 ;梥â 樯«¥ª |
88 | color_chick dd 0x00d0d0 ;梥â 樯«¥ª |
80 | color_curici dd 0x8080d0 ;梥⠪ãà¨æë |
89 | color_curici dd 0x8080d0 ;梥⠪ãà¨æë |
81 | color_perilo dd 0x000080 ;梥⠯¥à¨« (£à¥¡ï) |
90 | color_perilo dd 0x000080 ;梥⠯¥à¨« (£à¥¡ï) |
82 | ;梥⠨â¥à䥩á |
91 | ;梥⠨â¥à䥩á |
83 | color_but_sm dd 0x808080 ;梥⠬ «¥ìª¨å ª®¯®ª |
92 | color_but_sm dd 0x808080 ;梥⠬ «¥ìª¨å ª®¯®ª |
84 | color_but_bi dd 0x8080ff ;梥⠡®«ìè¨å ª®¯®ª |
93 | color_but_te dd 0xffffff ;梥â ⥪áâ ª®¯ª å |
Line 85... | Line 94... | ||
85 | 94 | ||
- | 95 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
|
- | 96 | copy_path path,sys_path,file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
|
86 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
97 | |
87 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
98 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
Line 88... | Line -... | ||
88 | mov [buf],eax |
- | |
89 | 99 | mov [buf],eax |
|
90 | copy_path path,sys_path,file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
100 | |
91 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
101 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
92 | mov [run_file_70.Function], 0 |
102 | mov [run_file_70.Function], 0 |
93 | mov [run_file_70.Position], 0 |
103 | mov [run_file_70.Position], 0 |
Line 128... | Line 138... | ||
128 | bit_chi_left equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® á«¥¢ |
138 | bit_chi_left equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® á«¥¢ |
129 | bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® ¯à ¢ |
139 | bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® ¯à ¢ |
130 | val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¯à®¢¨á¥âì § ïæ |
140 | val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¯à®¢¨á¥âì § ïæ |
131 | val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¡ëâì á¯àïâ ë¬ § ïæ |
141 | val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¡ëâì á¯àïâ ë¬ § ïæ |
Line -... | Line 142... | ||
- | 142 | ||
- | 143 | txt_game_a db '£à ',0 |
|
- | 144 | txt_game_b db '£à ',0 |
|
132 | 145 | ||
133 | zaac_status db 0 |
146 | zaac_status db 0 |
134 | pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª 0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢¨§ |
147 | pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª 0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢¨§ |
135 | ;rb 1 |
148 | ;rb 1 |
136 | pos_eggs dd 0 ;¯®§¨æ¨¨ à ᯮ«®¦¥¨ï ï¨æ ¨ 樯«ïâ |
149 | pos_eggs dd 0 ;¯®§¨æ¨¨ à ᯮ«®¦¥¨ï ï¨æ ¨ 樯«ïâ |
Line 160... | Line 173... | ||
160 | ;£¤¥ buf - ¡ãä¥à ®á®¢¥ ª®â®à®£® ¡ã¤¥â ᮧ¤ âà ä à¥â |
173 | ;£¤¥ buf - ¡ãä¥à ®á®¢¥ ª®â®à®£® ¡ã¤¥â ᮧ¤ âà ä à¥â |
161 | ;ä®®¢ë© 梥⠡ãä¥à ¤®«¦¥ ¡ëâì 0xffffff, ¨ ç¥ ¥ ¯à®¨§®©¤¥â ®¡à¥§ª |
174 | ;ä®®¢ë© 梥⠡ãä¥à ¤®«¦¥ ¡ëâì 0xffffff, ¨ ç¥ ¥ ¯à®¨§®©¤¥â ®¡à¥§ª |
162 | ;¯® ä®®¢®¬ã 梥âã ¨ âà ä à¥â ¡ã¤¥â § ¨¬ â 쬮£® ¬¥áâ ¢ ¯ ¬ï⨠|
175 | ;¯® ä®®¢®¬ã 梥âã ¨ âà ä à¥â ¡ã¤¥â § ¨¬ â 쬮£® ¬¥áâ ¢ ¯ ¬ï⨠|
163 | align 4 |
176 | align 4 |
164 | proc CreateTrapharetBuffer, buf:dword, img_data:dword |
177 | proc CreateTrapharetBuffer, buf:dword, img_data:dword |
165 | push edi |
178 | push eax edi |
166 | mov edi,dword[buf] |
179 | mov edi,dword[buf] |
- | 180 | ||
- | 181 | ;§ ¯®«¥¨¥ ¤ ëå ¡ãä¥à |
|
- | 182 | mov buf2d_size_lt,0 |
|
- | 183 | mov eax,dword[displ_w] |
|
- | 184 | mov buf2d_w,eax |
|
- | 185 | mov eax,dword[displ_h] |
|
- | 186 | mov buf2d_h,eax |
|
- | 187 | mov buf2d_color,0xffffff |
|
- | 188 | mov buf2d_bits,24 |
|
- | 189 | ||
167 | stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à |
190 | stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à |
168 | stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8¡¨â |
191 | stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8¡¨â |
169 | ;®¡à¥§ ¥¬ «¨è¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ¨ï |
192 | ;®¡à¥§ ¥¬ «¨è¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ¨ï |
170 | stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT |
193 | stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT |
171 | pop edi |
194 | pop edi eax |
172 | ret |
195 | ret |
173 | endp |
196 | endp |
Line 174... | Line 197... | ||
174 | 197 | ||
175 | align 4 |
198 | align 4 |
Line 182... | Line 205... | ||
182 | mov esi,edi |
205 | mov esi,edi |
Line 183... | Line 206... | ||
183 | 206 | ||
184 | xor eax,eax |
207 | xor eax,eax |
Line 185... | Line 208... | ||
185 | xor ebx,ebx |
208 | xor ebx,ebx |
186 | 209 | ||
187 | mov edi,buf_tr_fon0 |
210 | mov edi,buf_decor |
188 | mov ax,buf2d_t |
211 | mov ax,buf2d_t |
189 | add eax,OFFS_SHADOW_Y |
212 | add eax,OFFS_SHADOW_Y |
190 | mov bx,buf2d_l |
213 | mov bx,buf2d_l |
191 | add ebx,OFFS_SHADOW_X |
214 | add ebx,OFFS_SHADOW_X |
192 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤®¬¨ª®¢ |
215 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤®¬¨ª®¢ |
193 | mov edi,buf_tr_fon1 |
216 | add edi,BUF_STRUCT_SIZE |
194 | mov ax,buf2d_t |
217 | mov ax,buf2d_t |
195 | add eax,OFFS_SHADOW_Y |
218 | add eax,OFFS_SHADOW_Y |
196 | mov bx,buf2d_l |
219 | mov bx,buf2d_l |
197 | add ebx,OFFS_SHADOW_X |
220 | add ebx,OFFS_SHADOW_X |
198 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ªãà¨æ |
221 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ªãà¨æ |
199 | mov edi,buf_tr_fon2 |
222 | add edi,BUF_STRUCT_SIZE |
200 | mov ax,buf2d_t |
223 | mov ax,buf2d_t |
201 | add eax,OFFS_SHADOW_Y |
224 | add eax,OFFS_SHADOW_Y |
202 | mov bx,buf2d_l |
225 | mov bx,buf2d_l |
Line 203... | Line 226... | ||
203 | add ebx,OFFS_SHADOW_X |
226 | add ebx,OFFS_SHADOW_X |
204 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤¥à¥¢ì¥¢ |
227 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤¥à¥¢ì¥¢ |
205 | 228 | ||
206 | mov edi,buf_tr_fon0 |
229 | mov edi,buf_decor |
207 | mov ax,buf2d_t |
230 | mov ax,buf2d_t |
208 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_perilo] ;à¨á㥬 ¤®¬¨ª¨ |
231 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_perilo] ;à¨á㥬 ¤®¬¨ª¨ |
209 | mov edi,buf_tr_fon1 |
232 | add edi,BUF_STRUCT_SIZE |
210 | mov ax,buf2d_t |
233 | mov ax,buf2d_t |
211 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_curici] ;à¨á㥬 ªãà¨æë |
234 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_curici] ;à¨á㥬 ªãà¨æë |
212 | mov edi,buf_tr_fon2 |
235 | add edi,BUF_STRUCT_SIZE |
213 | mov ax,buf2d_t |
236 | mov ax,buf2d_t |
Line 532... | Line 555... | ||
532 | 555 | ||
533 | ret |
556 | ret |
Line 534... | Line 557... | ||
534 | endp |
557 | endp |
- | 558 | ||
- | 559 | align 4 |
|
- | 560 | proc LoadArrayBuffer, f_name:dword, buf_start:dword, count:dword |
|
- | 561 | pushad |
|
- | 562 | mov edx,dword[displ_bytes] |
|
- | 563 | mov ecx,edx |
|
- | 564 | imul ecx,dword[count] |
|
- | 565 | mov eax,dword[f_name] |
|
- | 566 | load_image_file eax,image_data_gray,ecx |
|
- | 567 | mov edx,dword[displ_bytes] |
|
- | 568 | mov eax,[image_data_gray] |
|
- | 569 | mov edi,dword[buf_start] |
|
- | 570 | mov ecx,dword[count] |
|
- | 571 | cld |
|
- | 572 | @@: ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
|
- | 573 | stdcall CreateTrapharetBuffer,edi,eax |
|
- | 574 | add eax,edx |
|
- | 575 | add edi,BUF_STRUCT_SIZE |
|
- | 576 | loop @b |
|
- | 577 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
|
- | 578 | popad |
|
- | 579 | ret |
|
- | 580 | endp |
|
535 | 581 | ||
536 | align 4 |
582 | align 4 |
Line 537... | Line 583... | ||
537 | start: |
583 | start: |
538 | load_libraries l_libs_start,load_lib_end |
584 | load_libraries l_libs_start,load_lib_end |
Line 550... | Line 596... | ||
550 | @@: |
596 | @@: |
Line 551... | Line 597... | ||
551 | 597 | ||
552 | mcall 40,0x27 |
598 | mcall 40,0x27 |
Line 553... | Line 599... | ||
553 | mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
599 | mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
554 | - | ||
555 | load_image_file fn_icon0,image_data_gray,3*GAME_POLE_BYTES |
600 | |
556 | mov eax,[image_data_gray] |
- | |
557 | stdcall CreateTrapharetBuffer,buf_tr_fon0,eax |
601 | ;à ¡®â á ä ©«®¬ áâ஥ª |
558 | add eax,GAME_POLE_BYTES |
602 | copy_path ini_name,sys_path,file_name,0x0 |
559 | stdcall CreateTrapharetBuffer,buf_tr_fon1,eax |
- | |
560 | add eax,GAME_POLE_BYTES |
603 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_w,210 |
561 | stdcall CreateTrapharetBuffer,buf_tr_fon2,eax |
- | |
562 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
- | |
563 | - | ||
564 | stdcall [buf2d_create], buf_fon ;ᮧ¤ ¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
- | |
565 | 604 | mov dword[displ_w],eax |
|
566 | load_image_file fn_icon1,image_data_gray, 9*GAME_POLE_BYTES |
- | |
567 | mov eax,[image_data_gray] |
- | |
568 | mov edi,buf_wolf |
- | |
569 | mov ecx,9 |
605 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_h,140 |
570 | cld |
- | |
571 | @@: ;áç¨âë¢ ¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
- | |
572 | mov buf2d_size_lt,0 |
- | |
573 | mov buf2d_w,GAME_POLE_W |
606 | mov dword[displ_h],eax |
574 | mov buf2d_h,GAME_POLE_H |
- | |
575 | mov buf2d_color,0xffffff |
- | |
576 | mov buf2d_bits,24 |
- | |
577 | stdcall CreateTrapharetBuffer,edi,eax |
- | |
578 | add eax,GAME_POLE_BYTES |
- | |
579 | add edi,BUF_STRUCT_SIZE |
- | |
580 | loop @b |
607 | stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_unit,0 |
581 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
- | |
582 | 608 | mov dword[color_wolf],eax |
|
583 | load_image_file fn_icon2,image_data_gray, 22*GAME_POLE_BYTES |
- | |
584 | mov eax,[image_data_gray] |
- | |
585 | mov edi,buf_egg |
- | |
586 | mov ecx,22 |
- | |
587 | cld |
- | |
588 | @@: ;áç¨âë¢ ¥¬ 22 ¡ãä¥à®¢ á ï©æ ¬¨ |
609 | |
589 | mov buf2d_size_lt,0 |
- | |
590 | mov buf2d_w,GAME_POLE_W |
- | |
591 | mov buf2d_h,GAME_POLE_H |
610 | mov edx,dword[displ_w] |
592 | mov buf2d_color,0xffffff |
- | |
593 | mov buf2d_bits,24 |
- | |
594 | stdcall CreateTrapharetBuffer,edi,eax |
- | |
595 | add eax,GAME_POLE_BYTES |
- | |
596 | add edi,BUF_STRUCT_SIZE |
611 | imul edx,dword[displ_h] |
597 | loop @b |
612 | lea edx,[edx+edx*2] |
598 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
613 | mov dword[displ_bytes],edx ;¢ëç¨á«ï¥¬ à §¬¥à ¨£à®¢®£® ¯®«ï |
599 | - | ||
600 | load_image_file fn_icon3,image_data_gray, 13*GAME_POLE_BYTES |
- | |
601 | mov eax,[image_data_gray] |
- | |
602 | mov edi,buf_chi |
- | |
603 | mov ecx,13 |
614 | |
604 | cld |
- | |
605 | @@: ;áç¨âë¢ ¥¬ 13 ¡ãä¥à®¢ á 樯«ïâ ¬¨ |
- | |
606 | mov buf2d_size_lt,0 |
- | |
607 | mov buf2d_w,GAME_POLE_W |
- | |
608 | mov buf2d_h,GAME_POLE_H |
- | |
609 | mov buf2d_color,0xffffff |
615 | stdcall LoadArrayBuffer, fn_icon0, buf_decor,3 ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
610 | mov buf2d_bits,24 |
- | |
611 | stdcall CreateTrapharetBuffer,edi,eax |
- | |
612 | add eax,GAME_POLE_BYTES |
- | |
613 | add edi,BUF_STRUCT_SIZE |
616 | stdcall LoadArrayBuffer, fn_icon1, buf_wolf,9 ;áç¨âë¢ ¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
Line 614... | Line 617... | ||
614 | loop @b |
617 | stdcall LoadArrayBuffer, fn_icon2, buf_egg,22 ;áç¨âë¢ ¥¬ 22 ¡ãä¥à®¢ á ï©æ ¬¨ |
615 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
618 | stdcall LoadArrayBuffer, fn_icon3, buf_chi,13 ;áç¨âë¢ ¥¬ 13 ¡ãä¥à®¢ á 樯«ïâ ¬¨ |
616 | 619 | ||
Line 624... | Line 627... | ||
624 | ;¯à®¢¥àª § ¨¬ ¥¬®£® ¡ãä¥à®¬ ¬¥áâ |
627 | ;¯à®¢¥àª § ¨¬ ¥¬®£® ¡ãä¥à®¬ ¬¥áâ |
625 | ;mov edi,buf_wolf |
628 | ;mov edi,buf_wolf |
626 | ;add edi,BUF_STRUCT_SIZE ;¯¥à¥å®¤¨¬ ¡ãä¥à ª®à§¨ë |
629 | ;add edi,BUF_STRUCT_SIZE ;¯¥à¥å®¤¨¬ ¡ãä¥à ª®à§¨ë |
627 | ;stdcall [buf2d_clear],edi,0x808080 ;§ «¨¢ ¥¬ ¥£® á¥àë¬ æ¢¥â®¬ |
630 | ;stdcall [buf2d_clear],edi,0x808080 ;§ «¨¢ ¥¬ ¥£® á¥àë¬ æ¢¥â®¬ |
Line -... | Line 631... | ||
- | 631 | ||
- | 632 | mov ebx,dword[displ_w] |
|
- | 633 | mov edx,dword[displ_h] |
|
- | 634 | ||
- | 635 | mov edi,buf_displ |
|
- | 636 | mov buf2d_w,ebx |
|
628 | 637 | mov buf2d_h,edx |
|
- | 638 | stdcall [buf2d_create], buf_displ ;ᮧ¤ ¥¬ ¡ãä¥à ¤«ï ¢ë¢®¤ íªà |
|
- | 639 | ||
- | 640 | mov edi,buf_fon |
|
- | 641 | mov buf2d_w,ebx |
|
- | 642 | mov buf2d_h,edx |
|
- | 643 | stdcall [buf2d_create], buf_fon ;ᮧ¤ ¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
|
629 | stdcall [buf2d_create], buf_displ ;ᮧ¤ ¥¬ ¡ãä¥à ¤«ï ¢ë¢®¤ íªà |
644 | |
630 | call InitBackgroundBuffer ;§ ¯®«ï¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
645 | call InitBackgroundBuffer ;§ ¯®«ï¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
631 | stdcall InitGame,0 |
646 | stdcall InitGame,0 |
632 | mcall 26,9 |
647 | mcall 26,9 |
Line 734... | Line 749... | ||
734 | mcall ;ᮧ¤ ¨¥ ®ª |
749 | mcall ;ᮧ¤ ¨¥ ®ª |
Line 735... | Line 750... | ||
735 | 750 | ||
736 | mcall 9,procinfo,-1 |
751 | mcall 9,procinfo,-1 |
737 | mov edi,buf_displ |
752 | mov edi,buf_displ |
738 | mov eax,dword[procinfo.client_box.width] |
753 | mov eax,dword[procinfo.client_box.width] |
739 | cmp eax,GAME_POLE_W |
754 | cmp eax,dword[displ_w] |
740 | jle @f |
755 | jle @f |
741 | sub eax,GAME_POLE_W |
756 | sub eax,dword[displ_w] |
742 | shr eax,1 |
757 | shr eax,1 |
743 | mov buf2d_l,ax ;¢ë¯à ¢¨¢ ¥¬ ¡ãä¥à ¯® æ¥âàã ®ª |
758 | mov buf2d_l,ax ;¢ë¯à ¢¨¢ ¥¬ ¡ãä¥à ¯® æ¥âàã ®ª |
Line 744... | Line 759... | ||
744 | @@: |
759 | @@: |
Line 745... | Line 760... | ||
745 | 760 | ||
746 | call draw_display |
761 | call draw_display |
747 | 762 | ||
748 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
763 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
749 | mov edx,[sc.work] |
764 | mov edx,[sc.work] |
750 | xor esi,esi |
765 | xor esi,esi |
751 | mov si,buf2d_l |
766 | mov si,buf2d_l |
752 | add esi,GAME_POLE_W |
767 | add esi,dword[displ_w] |
753 | mov ebx,dword[procinfo.client_box.width] |
768 | mov ebx,dword[procinfo.client_box.width] |
754 | inc ebx |
769 | inc ebx |
Line 786... | Line 801... | ||
786 | inc edx |
801 | inc edx |
787 | add ecx,BUT1_NEXT_TOP |
802 | add ecx,BUT1_NEXT_TOP |
788 | int 0x40 |
803 | int 0x40 |
789 | pop esi |
804 | pop esi |
Line -... | Line 805... | ||
- | 805 | ||
- | 806 | mov eax,4 ; ð¡R÷ÿ-ð? ¢?ò¡¢ÿ |
|
- | 807 | mov bx,BUT1_H |
|
- | 808 | add ebx,3*65536;+3 |
|
- | 809 | mov ecx,dword[color_but_te] |
|
- | 810 | or ecx,0x80000000 |
|
- | 811 | mov edx,txt_game_a |
|
- | 812 | int 0x40 |
|
- | 813 | ||
- | 814 | ror ebx,16 |
|
- | 815 | add ebx,BUT1_NEXT_TOP |
|
- | 816 | ror ebx,16 |
|
- | 817 | mov edx,txt_game_b |
|
- | 818 | int 0x40 |
|
790 | 819 | ||
791 | ; *** ¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ *** |
820 | ; *** ¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ *** |
792 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
821 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
793 | mov edx,[sc.work] |
822 | mov edx,[sc.work] |
Line 794... | Line 823... | ||
794 | end if |
823 | end if |
795 | 824 | ||
796 | mov ebx,esi |
825 | mov ebx,esi |
797 | mov ecx,dword[procinfo.client_box.height] |
826 | mov ecx,dword[procinfo.client_box.height] |
798 | inc ecx |
827 | inc ecx |
799 | mov esi,GAME_POLE_H |
828 | mov esi,dword[displ_h] |
800 | cmp esi,ebx |
829 | cmp esi,ebx |
801 | jge @f |
830 | jge @f |
802 | sub ecx,esi |
831 | sub ecx,esi |
Line 806... | Line 835... | ||
806 | int 0x40 ;à¨á®¢ ¨¥ ¨¦¥£® ¯®«ï |
835 | int 0x40 ;à¨á®¢ ¨¥ ¨¦¥£® ¯®«ï |
807 | @@: |
836 | @@: |
Line 808... | Line 837... | ||
808 | 837 | ||
809 | xor ebx,ebx |
838 | xor ebx,ebx |
810 | mov bx,buf2d_l |
839 | mov bx,buf2d_l |
811 | mov ecx,GAME_POLE_H |
840 | mov ecx,dword[displ_h] |
Line 812... | Line 841... | ||
812 | int 0x40 ;à¨á®¢ ¨¥ «¥¢®£® ¡®ª®¢®£® ¯®«ï |
841 | int 0x40 ;à¨á®¢ ¨¥ «¥¢®£® ¡®ª®¢®£® ¯®«ï |
813 | 842 | ||
814 | mcall 12,2 |
843 | mcall 12,2 |
Line 815... | Line 844... | ||
815 | popad |
844 | popad |
816 | ret |
845 | ret |
Line 817... | Line 846... | ||
817 | 846 | ||
818 | align 4 |
847 | align 4 |
819 | draw_display: |
848 | draw_display: |
820 | 849 | ||
821 | stdcall mem_copy, dword[buf_fon],dword[buf_displ],GAME_POLE_BYTES ;ª®¯¨à®¢ ¨¥ ¨§®¡à ¦¥¨ï ¨§ ä®®¢®£® ¡ãä¥à |
- | |
822 | call DrawZaac |
- | |
Line -... | Line 850... | ||
- | 850 | stdcall mem_copy, dword[buf_fon],dword[buf_displ],315*210*3;dword[displ_bytes] ;ª®¯¨à®¢ ¨¥ ¨§®¡à ¦¥¨ï ¨§ ä®®¢®£® ¡ãä¥à |
|
- | 851 | call DrawZaac ;à¨á㥬 § ©æ |
|
- | 852 | call DrawWolf ;à¨á㥬 ¢®«ª |
|
- | 853 | call DrawEggs ;à¨á㥬 ï©æ |
|
- | 854 | ||
823 | call DrawWolf ;à¨á㥬 ¢®«ª |
855 | push eax |
824 | call DrawEggs |
- | |
825 | - | ||
826 | stdcall [buf2d_draw_text], buf_displ, buf_font,game_text,GAME_POLE_W/2,OFFS_SHADOW_X,[color_curici] ;à¨á㥬 áâபã á ⥪á⮬ |
- | |
827 | - | ||
828 | stdcall [buf2d_draw], buf_displ |
- | |
829 | - | ||
830 | ;mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ |
- | |
831 | ;mov ebx,(GAME_POLE_W/2)*65536+OFFS_SHADOW_X |
- | |
832 | ;mov ecx,[color_curici] |
856 | mov eax,dword[displ_w] |
Line 833... | Line 857... | ||
833 | ;or ecx,0x80000000 |
857 | shr eax,1 |
834 | ;mov edx,some_text |
858 | stdcall [buf2d_draw_text], buf_displ, buf_font,game_text,eax,OFFS_SHADOW_X,[color_curici] ;à¨á㥬 áâபã á ⥪á⮬ |
835 | ;mcall |
859 | pop eax |
Line 852... | Line 876... | ||
852 | jne still |
876 | jne still |
853 | .exit: |
877 | .exit: |
854 | stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à |
878 | stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à |
855 | stdcall [buf2d_delete],buf_displ ;㤠«ï¥¬ ¡ãä¥à |
879 | stdcall [buf2d_delete],buf_displ ;㤠«ï¥¬ ¡ãä¥à |
Line 856... | Line -... | ||
856 | - | ||
857 | stdcall [buf2d_delete],buf_tr_fon0 |
- | |
858 | stdcall [buf2d_delete],buf_tr_fon1 |
- | |
859 | stdcall [buf2d_delete],buf_tr_fon2 |
- | |
860 | 880 | ||
Line 861... | Line 881... | ||
861 | stdcall [buf2d_delete],buf_font |
881 | stdcall [buf2d_delete],buf_font |
- | 882 | ||
- | 883 | cld |
|
- | 884 | mov ecx,3 |
|
- | 885 | mov edi,buf_decor |
|
- | 886 | @@: ;㤠«ï¥¬ 3 ¡ãä¥à |
|
- | 887 | stdcall [buf2d_delete],edi |
|
862 | 888 | add edi,BUF_STRUCT_SIZE |
|
863 | cld |
889 | loop @b |
864 | mov ecx,9 |
890 | mov ecx,9 |
865 | mov edi,buf_wolf |
891 | mov edi,buf_wolf |
866 | @@: ;㤠«ï¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
892 | @@: ;㤠«ï¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
Line 893... | Line 919... | ||
893 | system_dir1 db '/sys/lib/' |
919 | system_dir1 db '/sys/lib/' |
894 | name_libimg db 'libimg.obj',0 |
920 | name_libimg db 'libimg.obj',0 |
895 | err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
921 | err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
896 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
922 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
Line -... | Line 923... | ||
- | 923 | ||
- | 924 | system_dir2 db '/sys/lib/' |
|
- | 925 | libini_name db 'libini.obj',0 |
|
- | 926 | err_message_found_lib2 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libini.obj',0 |
|
- | 927 | err_message_import2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libini.obj',0 |
|
897 | 928 | ||
898 | ;library structures |
929 | ;library structures |
899 | l_libs_start: |
930 | l_libs_start: |
900 | 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 |
931 | 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 |
- | 932 | 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 |
|
901 | 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 |
933 | 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 |
Line 902... | Line 934... | ||
902 | load_lib_end: |
934 | load_lib_end: |
903 | 935 | ||
904 | align 4 |
936 | align 4 |
Line 948... | Line 980... | ||
948 | last_time dd ? |
980 | last_time dd ? |
949 | image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg |
981 | image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg |
950 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
982 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
Line 951... | Line 983... | ||
951 | 983 | ||
952 | run_file_70 FileInfoBlock |
984 | run_file_70 FileInfoBlock |
953 | hed db 'Nu pogodi 30.07.10',0 ;¯®¤¯¨áì ®ª |
985 | hed db 'Nu pogodi 03.08.10',0 ;¯®¤¯¨áì ®ª |
Line 954... | Line 986... | ||
954 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
986 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
955 | - | ||
956 | align 4 |
- | |
957 | buf_fon: ;ä®®¢ë© ¡ãä¥à |
- | |
958 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
- | |
959 | dw 0 ;+4 left |
- | |
960 | dw 0 ;+6 top |
- | |
961 | dd GAME_POLE_W ;+8 w |
- | |
962 | dd GAME_POLE_H ;+12 h |
- | |
963 | dd 0xffffff ;+16 color |
- | |
964 | db 24 ;+20 bit in pixel |
- | |
965 | 987 | ||
966 | align 4 |
988 | align 4 |
967 | buf_font: ;¡ãä¥à á® èà¨ä⮬ |
989 | buf_font: ;¡ãä¥à á® èà¨ä⮬ |
968 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
990 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
969 | dw 25 ;+4 left |
991 | dw 25 ;+4 left |
970 | dw 25 ;+6 top |
992 | dw 25 ;+6 top |
971 | dd 128 ;+8 w |
993 | dd 128 ;+8 w |
972 | dd 144 ;+12 h |
994 | dd 144 ;+12 h |
Line 973... | Line 995... | ||
973 | dd 0 ;+16 color |
995 | dd 0 ;+16 color |
974 | db 24 ;+20 bit in pixel |
- | |
975 | - | ||
976 | align 4 |
- | |
977 | buf_tr_fon0: ;¡ãä¥à á ¤®¬¨ª ¬¨ ¨ ३ª ¬¨ |
- | |
978 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
- | |
979 | dw 0 ;+4 left |
- | |
980 | dw 0 ;+6 top |
- | |
981 | dd GAME_POLE_W ;+8 w |
- | |
982 | dd GAME_POLE_H ;+12 h |
996 | db 24 ;+20 bit in pixel |
983 | dd 0xffffff ;+16 color |
- | |
984 | db 24 ;+20 bit in pixel |
997 | |
985 | align 4 |
998 | align 4 |
986 | buf_tr_fon1: ;¡ãä¥à á ªãà¨æ ¬¨ |
999 | buf_displ: |
987 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
- | |
988 | dw 0 ;+4 left |
1000 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
989 | dw 0 ;+6 top |
1001 | dw 25,0 |
990 | dd GAME_POLE_W ;+8 w |
1002 | dd ? ;+8 w |
- | 1003 | dd ? ;+12 h |
|
991 | dd GAME_POLE_H ;+12 h |
1004 | dd 0 ;+16 color |
992 | dd 0xffffff ;+16 color |
1005 | db 24 ;+20 bit in pixel |
993 | db 24 ;+20 bit in pixel |
1006 | |
994 | align 4 |
1007 | align 4 |
995 | buf_tr_fon2: ;¡ãä¥à á à á⥨ﬨ |
1008 | buf_fon: ;ä®®¢ë© ¡ãä¥à |
996 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1009 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
997 | dw 0 ;+4 left |
1010 | dw 0 ;+4 left |
998 | dw 0 ;+6 top |
1011 | dw 0 ;+6 top |
999 | dd GAME_POLE_W ;+8 w |
1012 | dd ? ;+8 w |
Line 1000... | Line 1013... | ||
1000 | dd GAME_POLE_H ;+12 h |
1013 | dd ? ;+12 h |
1001 | dd 0xffffff ;+16 color |
- | |
1002 | db 24 ;+20 bit in pixel |
1014 | dd 0xffffff ;+16 color |
1003 | - | ||
1004 | align 4 |
1015 | db 24 ;+20 bit in pixel |
1005 | buf_displ: |
- | |
1006 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
- | |
1007 | dw 25,0 |
- | |
Line 1008... | Line 1016... | ||
1008 | dd GAME_POLE_W ;+8 w |
1016 | |
1009 | dd GAME_POLE_H ;+12 h |
1017 | align 4 |
1010 | dd 0 ;+16 color |
1018 | buf_decor: ;¡ãä¥à á ¤¥ª®à æ¨ï¬¨: ¤®¬¨ª ¬¨ ¨ ३ª ¬¨; á ªãà¨æ ¬¨; á à á⥨ﬨ |
Line 1020... | Line 1028... | ||
1020 | 1028 | ||
1021 | align 4 |
1029 | align 4 |
1022 | buf_chi: |
1030 | buf_chi: |
Line -... | Line 1031... | ||
- | 1031 | rb 13*BUF_STRUCT_SIZE |
|
- | 1032 | ||
- | 1033 | ||
- | 1034 | ||
- | 1035 | align 4 |
|
- | 1036 | libini_import: |
|
- | 1037 | dd alib_init0 |
|
- | 1038 | ini_get_str dd aini_get_str |
|
- | 1039 | ini_get_int dd aini_get_int |
|
- | 1040 | ini_get_color dd aini_get_color |
|
- | 1041 | dd 0,0 |
|
- | 1042 | alib_init0 db 'lib_init',0 |
|
- | 1043 | aini_get_str db 'ini_get_str',0 |
|
- | 1044 | aini_get_int db 'ini_get_int',0 |
|
1023 | rb 13*BUF_STRUCT_SIZE |
1045 | aini_get_color db 'ini_get_color',0 |
1024 | 1046 | ||
1025 | align 4 |
1047 | align 4 |
1026 | import_libimg: |
1048 | import_libimg: |
1027 | dd alib_init1 |
1049 | dd alib_init1 |