Rev 1552 | Rev 1573 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1552 | Rev 1555 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x1 |
4 | dd 0x1 |
5 | dd start |
5 | dd start |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
7 | dd mem |
7 | dd mem |
8 | dd stacktop |
8 | dd stacktop |
9 | dd 0x0 |
9 | dd 0x0 |
10 | dd sys_path |
10 | dd sys_path |
11 | 11 | ||
12 | include '../../../macros.inc' |
12 | include '../../../macros.inc' |
13 | include '../../../proc32.inc' |
13 | include '../../../proc32.inc' |
14 | include '../../../develop/libraries/box_lib/load_lib.mac' |
14 | include '../../../develop/libraries/box_lib/load_lib.mac' |
15 | include 'mem.inc' |
15 | include 'mem.inc' |
16 | include 'dll.inc' |
16 | include 'dll.inc' |
17 | 17 | ||
18 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
18 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
19 | 19 | ||
20 | ;ä« £¨, ¤«ï äãªæ¨¨ ®¡à¥§ ¨ï ¡ãä¥à |
20 | ;ä« £¨, ¤«ï äãªæ¨¨ ®¡à¥§ ¨ï ¡ãä¥à |
21 | BUF2D_OPT_CROP_TOP equ 1 ;®¡à¥§ª ᢥàåã |
21 | BUF2D_OPT_CROP_TOP equ 1 ;®¡à¥§ª ᢥàåã |
22 | BUF2D_OPT_CROP_LEFT equ 2 ;®¡à¥§ª á«¥¢ |
22 | BUF2D_OPT_CROP_LEFT equ 2 ;®¡à¥§ª á«¥¢ |
23 | BUF2D_OPT_CROP_BOTTOM equ 4 ;®¡à¥§ª ᨧã |
23 | BUF2D_OPT_CROP_BOTTOM equ 4 ;®¡à¥§ª ᨧã |
24 | BUF2D_OPT_CROP_RIGHT equ 8 ;®¡à¥§ª á¯à ¢ |
24 | BUF2D_OPT_CROP_RIGHT equ 8 ;®¡à¥§ª á¯à ¢ |
25 | BUF2D_BIT_OPT_CROP_TOP equ 0 |
25 | BUF2D_BIT_OPT_CROP_TOP equ 0 |
26 | BUF2D_BIT_OPT_CROP_LEFT equ 1 |
26 | BUF2D_BIT_OPT_CROP_LEFT equ 1 |
27 | BUF2D_BIT_OPT_CROP_BOTTOM equ 2 |
27 | BUF2D_BIT_OPT_CROP_BOTTOM equ 2 |
28 | BUF2D_BIT_OPT_CROP_RIGHT equ 3 |
28 | BUF2D_BIT_OPT_CROP_RIGHT equ 3 |
29 | 29 | ||
30 | BUF_STRUCT_SIZE equ 21 |
30 | BUF_STRUCT_SIZE equ 21 |
31 | buf2d_data equ dword[edi] ;¤ ë¥ ¡ãä¥à ¨§®¡à ¦¥¨ï |
31 | buf2d_data equ dword[edi] ;¤ ë¥ ¡ãä¥à ¨§®¡à ¦¥¨ï |
32 | buf2d_w equ dword[edi+8] ;è¨à¨ ¡ãä¥à |
32 | buf2d_w equ dword[edi+8] ;è¨à¨ ¡ãä¥à |
33 | buf2d_h equ dword[edi+12] ;¢ëá®â ¡ãä¥à |
33 | buf2d_h equ dword[edi+12] ;¢ëá®â ¡ãä¥à |
34 | buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
34 | buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
35 | buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
35 | buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
36 | buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢ ¨ á¯à ¢ ¤«ï ¡ãä¥à |
36 | buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢ ¨ á¯à ¢ ¤«ï ¡ãä¥à |
37 | buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
37 | buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
38 | buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥¨ï |
38 | buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥¨ï |
39 | 39 | ||
40 | struct FileInfoBlock |
40 | struct FileInfoBlock |
41 | Function dd ? |
41 | Function dd ? |
42 | Position dd ? |
42 | Position dd ? |
43 | Flags dd ? |
43 | Flags dd ? |
44 | Count dd ? |
44 | Count dd ? |
45 | Buffer dd ? |
45 | Buffer dd ? |
46 | db ? |
46 | db ? |
47 | FileName dd ? |
47 | FileName dd ? |
48 | ends |
48 | ends |
49 | 49 | ||
50 | displ_w dd ? ;è¨à¨ ¯®«ï |
50 | displ_w dd ? ;è¨à¨ ¯®«ï |
51 | displ_h dd ? ;¢ëá®â ¯®«ï |
51 | displ_h dd ? ;¢ëá®â ¯®«ï |
52 | displ_bytes dd ? ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
52 | displ_bytes dd ? ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
53 | ;displ_bytes equ 315*210*3 ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
53 | ;displ_bytes equ 315*210*3 ;à §¬¥à 1-£® ä ©« á ¨§®¡à ¦¥¨¥¬ |
54 | 54 | ||
55 | OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'x' |
55 | OFFS_SHADOW_X equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'x' |
56 | OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'y' |
56 | OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'y' |
57 | IMAGE_FONT_SIZE equ 128*144*3 |
57 | IMAGE_FONT_SIZE equ 128*144*3 |
58 | 58 | ||
59 | use_but equ 1 |
59 | use_but equ 1 |
60 | 60 | ||
61 | if use_but eq 1 |
61 | if use_but eq 1 |
62 | BUT1_T equ 10 ;®âáâ㯠ᢥàåã |
62 | BUT1_T equ 10 ;®âáâ㯠ᢥàåã |
63 | BUT1_L equ 15 ;®âáâ㯠᫥¢ |
63 | BUT1_L equ 15 ;®âáâ㯠᫥¢ |
64 | BUT1_W equ 50 ;è¨à¨ |
64 | BUT1_W equ 50 ;è¨à¨ |
65 | BUT1_H equ 20 ;¢ëá®â |
65 | BUT1_H equ 20 ;¢ëá®â |
66 | BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536 |
66 | BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536 |
67 | end if |
67 | end if |
- | 68 | ||
- | 69 | FILE_NAME_MAX equ 20 ;¬ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ ä ©« (¡¥§ ¯ ¯®ª, ®â®á¨â¥«ì® ⥪ã饩) |
|
- | 70 | ;§ ç¥¨ï ¨¬¥ ¯® 㬮«ç ¨î |
|
- | 71 | ini_def_unit_file db 'wolf.png',0 |
|
68 | 72 | ;¨¬¥ ä ©«®¢ |
|
69 | fn_icon0 db 'curici.png',0 ;¨¬ï ä ©« á ¤¥ª®à æ¨ï¬¨ |
73 | fn_icon0 db 'curici.png',0 ;¨¬ï ä ©« á ¤¥ª®à æ¨ï¬¨ |
70 | fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©« á ¢®«ª®¬ ¨ § ©æ¥¬ |
74 | fn_icon1 rb FILE_NAME_MAX ;¨¬ï ä ©« á ¢®«ª®¬ ¨ § ©æ¥¬ |
71 | fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©« á ï©æ ¬¨ |
75 | fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©« á ï©æ ¬¨ |
72 | fn_icon3 db 'chi.png',0 ;¨¬ï ä ©« á 樯«ïâ ¬¨ |
76 | fn_icon3 db 'chi.png',0 ;¨¬ï ä ©« á 樯«ïâ ¬¨ |
73 | fn_font db 'font8x9.bmp',0 |
77 | fn_font db 'font8x9.bmp',0 |
74 | 78 | ||
75 | ini_name db 'nu_pogod.ini',0 |
79 | ini_name db 'nu_pogod.ini',0 |
76 | ini_sec_files db 'Files',0 |
80 | ini_sec_files db 'Files',0 |
- | 81 | key_file_unit db 'file_unit',0 |
|
77 | key_displ_w db 'displ_w',0 |
82 | key_displ_w db 'displ_w',0 |
78 | key_displ_h db 'displ_h',0 |
83 | key_displ_h db 'displ_h',0 |
- | 84 | ||
79 | ini_sec_color db 'Colors',0 |
85 | ini_sec_color db 'Colors',0 |
80 | key_color_unit db 'unit',0 |
86 | key_color_unit db 'unit',0 |
81 | 87 | ||
82 | ;梥⠢ ¨£à¥ |
88 | ;梥⠢ ¨£à¥ |
83 | color_fon dd 0xffffff |
89 | color_fon dd 0xffffff |
84 | color_shadows dd 0xd0d0d0 ;梥â ⥥© |
90 | color_shadows dd 0xd0d0d0 ;梥â ⥥© |
85 | color_trees dd 0x008000 ;梥â âà ¢ë |
91 | color_trees dd 0x008000 ;梥â âà ¢ë |
86 | color_wolf dd 0x800000 ;梥⠢®«ª ¨ § ©æ |
92 | color_wolf dd 0x800000 ;梥⠢®«ª ¨ § ©æ |
87 | color_egg dd 0x404080 ;梥â ï©æ |
93 | color_egg dd 0x404080 ;梥â ï©æ |
88 | color_chick dd 0x00d0d0 ;梥â 樯«¥ª |
94 | color_chick dd 0x00d0d0 ;梥â 樯«¥ª |
89 | color_curici dd 0x8080d0 ;梥⠪ãà¨æë |
95 | color_curici dd 0x8080d0 ;梥⠪ãà¨æë |
90 | color_perilo dd 0x000080 ;梥⠯¥à¨« (£à¥¡ï) |
96 | color_perilo dd 0x000080 ;梥⠯¥à¨« (£à¥¡ï) |
91 | ;梥⠨â¥à䥩á |
97 | ;梥⠨â¥à䥩á |
92 | color_but_sm dd 0x808080 ;梥⠬ «¥ìª¨å ª®¯®ª |
98 | color_but_sm dd 0x808080 ;梥⠬ «¥ìª¨å ª®¯®ª |
93 | color_but_te dd 0xffffff ;梥â ⥪áâ ª®¯ª å |
99 | color_but_te dd 0xffffff ;梥â ⥪áâ ª®¯ª å |
94 | 100 | ||
95 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
101 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
96 | copy_path path,sys_path,file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
102 | copy_path path,sys_path,file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
97 | 103 | ||
98 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
104 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
99 | mov [buf],eax |
105 | mov [buf],eax |
100 | 106 | ||
101 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
107 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
102 | mov [run_file_70.Function], 0 |
108 | mov [run_file_70.Function], 0 |
103 | mov [run_file_70.Position], 0 |
109 | mov [run_file_70.Position], 0 |
104 | mov [run_file_70.Flags], 0 |
110 | mov [run_file_70.Flags], 0 |
105 | mov [run_file_70.Count], dword size |
111 | mov [run_file_70.Count], dword size |
106 | m2m [run_file_70.Buffer], [buf] |
112 | m2m [run_file_70.Buffer], [buf] |
107 | mov byte[run_file_70+20], 0 |
113 | mov byte[run_file_70+20], 0 |
108 | mov [run_file_70.FileName], file_name |
114 | mov [run_file_70.FileName], file_name |
109 | mov ebx,run_file_70 |
115 | mov ebx,run_file_70 |
110 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
116 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
111 | cmp ebx,0xffffffff |
117 | cmp ebx,0xffffffff |
112 | je @f |
118 | je @f |
113 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
119 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
114 | stdcall dword[img_decode], dword[buf],ebx,0 |
120 | stdcall dword[img_decode], dword[buf],ebx,0 |
115 | mov dword[image_data],eax |
121 | mov dword[image_data],eax |
116 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
122 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
117 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
123 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
118 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
124 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
119 | stdcall dword[img_destroy], dword[image_data] |
125 | stdcall dword[img_destroy], dword[image_data] |
120 | @@: |
126 | @@: |
121 | } |
127 | } |
122 | 128 | ||
123 | ;¤ ë¥ ¨£àë |
129 | ;¤ ë¥ ¨£àë |
124 | bit_zaac equ 2 ;¡¨â § ©æ |
130 | bit_zaac equ 2 ;¡¨â § ©æ |
125 | val_zaac equ 4 ;æ¨äà ®â¢¥ç îé ï § ¡¨â § ©æ |
131 | val_zaac equ 4 ;æ¨äà ®â¢¥ç îé ï § ¡¨â § ©æ |
126 | bit_mig equ 3 ;¡¨â ¬¨£ ¨ï |
132 | bit_mig equ 3 ;¡¨â ¬¨£ ¨ï |
127 | val_mig equ 8 ;æ¨äà ®â¢¥ç îé ï § ¡¨â ¬¨£ ¨ï |
133 | val_mig equ 8 ;æ¨äà ®â¢¥ç îé ï § ¡¨â ¬¨£ ¨ï |
128 | mask_lot_lu equ 1b ;¬ ᪠¤«ï «¥¢®£® ¢¥à奣® «®âª |
134 | mask_lot_lu equ 1b ;¬ ᪠¤«ï «¥¢®£® ¢¥à奣® «®âª |
129 | mask_lot_ld equ 100000b ;¬ ᪠¤«ï «¥¢®£® ¨¦¥£® «®âª |
135 | mask_lot_ld equ 100000b ;¬ ᪠¤«ï «¥¢®£® ¨¦¥£® «®âª |
130 | mask_lot_ru equ 10000000000b ;¬ ᪠¤«ï ¯à ¢®£® ¢¥à奣® «®âª |
136 | mask_lot_ru equ 10000000000b ;¬ ᪠¤«ï ¯à ¢®£® ¢¥à奣® «®âª |
131 | mask_lot_rd equ 1000000000000000b ;¬ ᪠¤«ï ¯à ¢®£® ¨¦¥£® «®âª |
137 | mask_lot_rd equ 1000000000000000b ;¬ ᪠¤«ï ¯à ¢®£® ¨¦¥£® «®âª |
132 | mask_clear_all equ 11111011111011110111101111011110b ;¬ ᪠¤«ï ®ç¨á⪨ ¯ ¤ îé¨å ï¨æ ¨ ¯à¨¡¥¦ ¢è¨å 樯«ïâ |
138 | mask_clear_all equ 11111011111011110111101111011110b ;¬ ᪠¤«ï ®ç¨á⪨ ¯ ¤ îé¨å ï¨æ ¨ ¯à¨¡¥¦ ¢è¨å 樯«ïâ |
133 | mask_fail_eggs equ 100001000010000100000b ;¬ ᪠¯ ¤ îé¨å ï¨æ |
139 | mask_fail_eggs equ 100001000010000100000b ;¬ ᪠¯ ¤ îé¨å ï¨æ |
134 | mask_chi_left equ 11111000000000000000000000b ;¬ ᪠«¥¢ëå 樯«ïâ |
140 | mask_chi_left equ 11111000000000000000000000b ;¬ ᪠«¥¢ëå 樯«ïâ |
135 | mask_chi_right equ 11111000000000000000000000000000b ;¬ ᪠¯à ¢ëå 樯«ïâ |
141 | mask_chi_right equ 11111000000000000000000000000000b ;¬ ᪠¯à ¢ëå 樯«ïâ |
136 | mask_chi_cr_l equ 1000000000000000000000b ;¬ ᪠¤«ï ᮧ¤ ¨ï «¥¢®£® |
142 | mask_chi_cr_l equ 1000000000000000000000b ;¬ ᪠¤«ï ᮧ¤ ¨ï «¥¢®£® |
137 | mask_chi_cr_r equ 1000000000000000000000000000b ;¬ ᪠¤«ï ᮧ¤ ¨ï ¯à ¢®£® |
143 | mask_chi_cr_r equ 1000000000000000000000000000b ;¬ ᪠¤«ï ᮧ¤ ¨ï ¯à ¢®£® |
138 | bit_chi_left equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® á«¥¢ |
144 | bit_chi_left equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® á«¥¢ |
139 | bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® ¯à ¢ |
145 | bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® ¯à ¢ |
140 | val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¯à®¢¨á¥âì § ïæ |
146 | val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¯à®¢¨á¥âì § ïæ |
141 | val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¡ëâì á¯àïâ ë¬ § ïæ |
147 | val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¡ëâì á¯àïâ ë¬ § ïæ |
142 | 148 | ||
143 | txt_game_a db '£à ',0 |
149 | txt_game_a db '£à ',0 |
144 | txt_game_b db '£à ',0 |
150 | txt_game_b db '£à ',0 |
145 | 151 | ||
146 | zaac_status db 0 |
152 | zaac_status db 0 |
147 | pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª 0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢¨§ |
153 | pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª 0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢¨§ |
148 | ;rb 1 |
154 | ;rb 1 |
149 | pos_eggs dd 0 ;¯®§¨æ¨¨ à ᯮ«®¦¥¨ï ï¨æ ¨ 樯«ïâ |
155 | pos_eggs dd 0 ;¯®§¨æ¨¨ à ᯮ«®¦¥¨ï ï¨æ ¨ 樯«ïâ |
150 | eggs_count dw 0 ;ª®««¨ç¥á⢮ ¯®©¬ ëå ï¨æ |
156 | eggs_count dw 0 ;ª®««¨ç¥á⢮ ¯®©¬ ëå ï¨æ |
151 | game_text db '£à _',13 |
157 | game_text db '£à _',13 |
152 | some_text db '0' |
158 | some_text db '0' |
153 | rb 8 ;⥪áâ á ç¨á«®¬ ¯®©¬ ëå ï¨æ |
159 | rb 8 ;⥪áâ á ç¨á«®¬ ¯®©¬ ëå ï¨æ |
154 | count_last db 0 ;áç¥â稪 ¯à®¯ãé¥ëå ï¨æ |
160 | count_last db 0 ;áç¥â稪 ¯à®¯ãé¥ëå ï¨æ |
155 | game_spd dd 0 ;§ ¤¥à¦ª ¨£àë |
161 | game_spd dd 0 ;§ ¤¥à¦ª ¨£àë |
156 | 162 | ||
157 | ;¤«ï £¥¥à 樨 á«ãç ©ëå ç¨á¥« |
163 | ;¤«ï £¥¥à 樨 á«ãç ©ëå ç¨á¥« |
158 | rand_x dd 0 |
164 | rand_x dd 0 |
159 | 165 | ||
160 | align 4 |
166 | align 4 |
161 | rand_next: |
167 | rand_next: |
162 | ;x(k+1) = (a*x(k)+c) mod m |
168 | ;x(k+1) = (a*x(k)+c) mod m |
163 | ; a=22695477, c=1, m=2^32 |
169 | ; a=22695477, c=1, m=2^32 |
164 | push eax |
170 | push eax |
165 | mov eax,dword[rand_x] |
171 | mov eax,dword[rand_x] |
166 | imul eax,22695477 |
172 | imul eax,22695477 |
167 | inc eax |
173 | inc eax |
168 | mov dword[rand_x],eax |
174 | mov dword[rand_x],eax |
169 | pop eax |
175 | pop eax |
170 | ret |
176 | ret |
171 | 177 | ||
172 | ;ᮧ¤ ¥¬ ¯à®§à çë¥ ¡ãä¥à ¯® 8 ¡¨â (âà ä à¥âë), ¤«ï à¨á®¢ ¨ï |
178 | ;ᮧ¤ ¥¬ ¯à®§à çë¥ ¡ãä¥à ¯® 8 ¡¨â (âà ä à¥âë), ¤«ï à¨á®¢ ¨ï |
173 | ;£¤¥ buf - ¡ãä¥à ®á®¢¥ ª®â®à®£® ¡ã¤¥â ᮧ¤ âà ä à¥â |
179 | ;£¤¥ buf - ¡ãä¥à ®á®¢¥ ª®â®à®£® ¡ã¤¥â ᮧ¤ âà ä à¥â |
174 | ;ä®®¢ë© 梥⠡ãä¥à ¤®«¦¥ ¡ëâì 0xffffff, ¨ ç¥ ¥ ¯à®¨§®©¤¥â ®¡à¥§ª |
180 | ;ä®®¢ë© 梥⠡ãä¥à ¤®«¦¥ ¡ëâì 0xffffff, ¨ ç¥ ¥ ¯à®¨§®©¤¥â ®¡à¥§ª |
175 | ;¯® ä®®¢®¬ã 梥âã ¨ âà ä à¥â ¡ã¤¥â § ¨¬ â 쬮£® ¬¥áâ ¢ ¯ ¬ï⨠|
181 | ;¯® ä®®¢®¬ã 梥âã ¨ âà ä à¥â ¡ã¤¥â § ¨¬ â 쬮£® ¬¥áâ ¢ ¯ ¬ï⨠|
176 | align 4 |
182 | align 4 |
177 | proc CreateTrapharetBuffer, buf:dword, img_data:dword |
183 | proc CreateTrapharetBuffer, buf:dword, img_data:dword |
178 | push eax edi |
184 | push eax edi |
179 | mov edi,dword[buf] |
185 | mov edi,dword[buf] |
180 | 186 | ||
181 | ;§ ¯®«¥¨¥ ¤ ëå ¡ãä¥à |
187 | ;§ ¯®«¥¨¥ ¤ ëå ¡ãä¥à |
182 | mov buf2d_size_lt,0 |
188 | mov buf2d_size_lt,0 |
183 | mov eax,dword[displ_w] |
189 | mov eax,dword[displ_w] |
184 | mov buf2d_w,eax |
190 | mov buf2d_w,eax |
185 | mov eax,dword[displ_h] |
191 | mov eax,dword[displ_h] |
186 | mov buf2d_h,eax |
192 | mov buf2d_h,eax |
187 | mov buf2d_color,0xffffff |
193 | mov buf2d_color,0xffffff |
188 | mov buf2d_bits,24 |
194 | mov buf2d_bits,24 |
189 | 195 | ||
190 | stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à |
196 | stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à |
191 | stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8¡¨â |
197 | stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8¡¨â |
192 | ;®¡à¥§ ¥¬ «¨è¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ¨ï |
198 | ;®¡à¥§ ¥¬ «¨è¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ¨ï |
193 | stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT |
199 | stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT |
194 | pop edi eax |
200 | pop edi eax |
195 | ret |
201 | ret |
196 | endp |
202 | endp |
197 | 203 | ||
198 | align 4 |
204 | align 4 |
199 | InitBackgroundBuffer: ;ᮧ¤ ¨¥ ä®®¢®£® ¨§®¡à ¦¥¨ï |
205 | InitBackgroundBuffer: ;ᮧ¤ ¨¥ ä®®¢®£® ¨§®¡à ¦¥¨ï |
200 | pushad |
206 | pushad |
201 | mov edi,buf_fon |
207 | mov edi,buf_fon |
202 | mov eax,[color_fon] |
208 | mov eax,[color_fon] |
203 | mov buf2d_color,eax |
209 | mov buf2d_color,eax |
204 | stdcall [buf2d_clear], edi,eax |
210 | stdcall [buf2d_clear], edi,eax |
205 | mov esi,edi |
211 | mov esi,edi |
206 | 212 | ||
207 | xor eax,eax |
213 | xor eax,eax |
208 | xor ebx,ebx |
214 | xor ebx,ebx |
209 | 215 | ||
210 | mov edi,buf_decor |
216 | mov edi,buf_decor |
211 | mov ax,buf2d_t |
217 | mov ax,buf2d_t |
212 | add eax,OFFS_SHADOW_Y |
218 | add eax,OFFS_SHADOW_Y |
213 | mov bx,buf2d_l |
219 | mov bx,buf2d_l |
214 | add ebx,OFFS_SHADOW_X |
220 | add ebx,OFFS_SHADOW_X |
215 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤®¬¨ª®¢ |
221 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤®¬¨ª®¢ |
216 | add edi,BUF_STRUCT_SIZE |
222 | add edi,BUF_STRUCT_SIZE |
217 | mov ax,buf2d_t |
223 | mov ax,buf2d_t |
218 | add eax,OFFS_SHADOW_Y |
224 | add eax,OFFS_SHADOW_Y |
219 | mov bx,buf2d_l |
225 | mov bx,buf2d_l |
220 | add ebx,OFFS_SHADOW_X |
226 | add ebx,OFFS_SHADOW_X |
221 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ªãà¨æ |
227 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ªãà¨æ |
222 | add edi,BUF_STRUCT_SIZE |
228 | add edi,BUF_STRUCT_SIZE |
223 | mov ax,buf2d_t |
229 | mov ax,buf2d_t |
224 | add eax,OFFS_SHADOW_Y |
230 | add eax,OFFS_SHADOW_Y |
225 | mov bx,buf2d_l |
231 | mov bx,buf2d_l |
226 | add ebx,OFFS_SHADOW_X |
232 | add ebx,OFFS_SHADOW_X |
227 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤¥à¥¢ì¥¢ |
233 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color_shadows] ;à¨á㥬 ⥨ ¤¥à¥¢ì¥¢ |
228 | 234 | ||
229 | mov edi,buf_decor |
235 | mov edi,buf_decor |
230 | mov ax,buf2d_t |
236 | mov ax,buf2d_t |
231 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_perilo] ;à¨á㥬 ¤®¬¨ª¨ |
237 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_perilo] ;à¨á㥬 ¤®¬¨ª¨ |
232 | add edi,BUF_STRUCT_SIZE |
238 | add edi,BUF_STRUCT_SIZE |
233 | mov ax,buf2d_t |
239 | mov ax,buf2d_t |
234 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_curici] ;à¨á㥬 ªãà¨æë |
240 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_curici] ;à¨á㥬 ªãà¨æë |
235 | add edi,BUF_STRUCT_SIZE |
241 | add edi,BUF_STRUCT_SIZE |
236 | mov ax,buf2d_t |
242 | mov ax,buf2d_t |
237 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_trees] ;à¨á㥬 ¤¥à¥¢ìï |
243 | stdcall [buf2d_bit_blt_alpha], esi, 0,eax, edi,[color_trees] ;à¨á㥬 ¤¥à¥¢ìï |
238 | popad |
244 | popad |
239 | ret |
245 | ret |
240 | 246 | ||
241 | ;à¨áã¥â ª à⨪㠢 ¡ãä¥à¥ buf ¨§ ¬ áᨢ ¡ãä¥à®¢ buf_img á ¨¤¥ªá®¬ ind |
247 | ;à¨áã¥â ª à⨪㠢 ¡ãä¥à¥ buf ¨§ ¬ áᨢ ¡ãä¥à®¢ buf_img á ¨¤¥ªá®¬ ind |
242 | ;â. ¥. buf <- buf_img[ind] |
248 | ;â. ¥. buf <- buf_img[ind] |
243 | align 4 |
249 | align 4 |
244 | proc DrawArrayImg, buf:dword, buf_img:dword, ind:dword, color:dword |
250 | proc DrawArrayImg, buf:dword, buf_img:dword, ind:dword, color:dword |
245 | pushad |
251 | pushad |
246 | mov edi,dword[ind] |
252 | mov edi,dword[ind] |
247 | imul edi,BUF_STRUCT_SIZE |
253 | imul edi,BUF_STRUCT_SIZE |
248 | add edi,dword[buf_img] |
254 | add edi,dword[buf_img] |
249 | 255 | ||
250 | mov esi,dword[buf] |
256 | mov esi,dword[buf] |
251 | xor eax,eax |
257 | xor eax,eax |
252 | mov ax,buf2d_t |
258 | mov ax,buf2d_t |
253 | xor ebx,ebx |
259 | xor ebx,ebx |
254 | mov bx,buf2d_l |
260 | mov bx,buf2d_l |
255 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color] |
261 | stdcall [buf2d_bit_blt_alpha], esi, ebx,eax, edi,[color] |
256 | popad |
262 | popad |
257 | ret |
263 | ret |
258 | endp |
264 | endp |
259 | 265 | ||
260 | align 4 |
266 | align 4 |
261 | DrawZaac: ;à¨á®¢ ¨¥ § ©æ |
267 | DrawZaac: ;à¨á®¢ ¨¥ § ©æ |
262 | push eax |
268 | push eax |
263 | bt word[pos_wolf],bit_zaac |
269 | bt word[pos_wolf],bit_zaac |
264 | jae .end_mig |
270 | jae .end_mig |
265 | 271 | ||
266 | stdcall DrawArrayImg, buf_displ,buf_wolf,6,[color_wolf] ;à¨á㥬 ⥫® § ©æ |
272 | stdcall DrawArrayImg, buf_displ,buf_wolf,6,[color_wolf] ;à¨á㥬 ⥫® § ©æ |
267 | mov eax,dword[pos_eggs] |
273 | mov eax,dword[pos_eggs] |
268 | and eax,mask_chi_right+mask_chi_left |
274 | and eax,mask_chi_right+mask_chi_left |
269 | cmp eax,0 |
275 | cmp eax,0 |
270 | je .end_mig ;¥á«¨ ¥â ¡¥£ îé¨å 樯«ïâ, â® § ïæ à㪮© ¥ ¬ è¥â |
276 | je .end_mig ;¥á«¨ ¥â ¡¥£ îé¨å 樯«ïâ, â® § ïæ à㪮© ¥ ¬ è¥â |
271 | bt word[pos_wolf],bit_mig |
277 | bt word[pos_wolf],bit_mig |
272 | jc @f |
278 | jc @f |
273 | stdcall DrawArrayImg, buf_displ,buf_wolf,7,[color_wolf] ;à¨á㥬 àãªã § ©æ ¢¢¥àåã |
279 | stdcall DrawArrayImg, buf_displ,buf_wolf,7,[color_wolf] ;à¨á㥬 àãªã § ©æ ¢¢¥àåã |
274 | jmp .end_mig |
280 | jmp .end_mig |
275 | @@: |
281 | @@: |
276 | stdcall DrawArrayImg, buf_displ,buf_wolf,8,[color_wolf] ;à¨á㥬 àãªã § ©æ ¢¨§ã |
282 | stdcall DrawArrayImg, buf_displ,buf_wolf,8,[color_wolf] ;à¨á㥬 àãªã § ©æ ¢¨§ã |
277 | .end_mig: |
283 | .end_mig: |
278 | pop eax |
284 | pop eax |
279 | ret |
285 | ret |
280 | 286 | ||
281 | align 4 |
287 | align 4 |
282 | DrawWolf: ;à¨áã¥â ¢®«ª á ª®à§¨ ¬¨ |
288 | DrawWolf: ;à¨áã¥â ¢®«ª á ª®à§¨ ¬¨ |
283 | bt word[pos_wolf],0 |
289 | bt word[pos_wolf],0 |
284 | jc @f |
290 | jc @f |
285 | stdcall DrawArrayImg, buf_displ,buf_wolf,0,[color_wolf] |
291 | stdcall DrawArrayImg, buf_displ,buf_wolf,0,[color_wolf] |
286 | bt word[pos_wolf],1 |
292 | bt word[pos_wolf],1 |
287 | jc .corz_ldn |
293 | jc .corz_ldn |
288 | stdcall DrawArrayImg, buf_displ,buf_wolf,1,[color_wolf] |
294 | stdcall DrawArrayImg, buf_displ,buf_wolf,1,[color_wolf] |
289 | jmp .corz_lend |
295 | jmp .corz_lend |
290 | .corz_ldn: |
296 | .corz_ldn: |
291 | stdcall DrawArrayImg, buf_displ,buf_wolf,2,[color_wolf] |
297 | stdcall DrawArrayImg, buf_displ,buf_wolf,2,[color_wolf] |
292 | .corz_lend: |
298 | .corz_lend: |
293 | jmp .wolf_b |
299 | jmp .wolf_b |
294 | @@: |
300 | @@: |
295 | stdcall DrawArrayImg, buf_displ,buf_wolf,3,[color_wolf] |
301 | stdcall DrawArrayImg, buf_displ,buf_wolf,3,[color_wolf] |
296 | bt word[pos_wolf],1 |
302 | bt word[pos_wolf],1 |
297 | jc .corz_rdn |
303 | jc .corz_rdn |
298 | stdcall DrawArrayImg, buf_displ,buf_wolf,4,[color_wolf] |
304 | stdcall DrawArrayImg, buf_displ,buf_wolf,4,[color_wolf] |
299 | jmp .corz_rend |
305 | jmp .corz_rend |
300 | .corz_rdn: |
306 | .corz_rdn: |
301 | stdcall DrawArrayImg, buf_displ,buf_wolf,5,[color_wolf] |
307 | stdcall DrawArrayImg, buf_displ,buf_wolf,5,[color_wolf] |
302 | .corz_rend: |
308 | .corz_rend: |
303 | .wolf_b: |
309 | .wolf_b: |
304 | ret |
310 | ret |
305 | 311 | ||
306 | align 4 |
312 | align 4 |
307 | DrawEggs: ;à¨áã¥â ï©æ |
313 | DrawEggs: ;à¨áã¥â ï©æ |
308 | pushad |
314 | pushad |
309 | cld |
315 | cld |
310 | 316 | ||
311 | mov eax,dword[pos_eggs] |
317 | mov eax,dword[pos_eggs] |
312 | xor ebx,ebx |
318 | xor ebx,ebx |
313 | mov ecx,20 ;横« ¤«ï à¨á®¢ ¨ï ª®âïé¨åáï ï¨æ |
319 | mov ecx,20 ;横« ¤«ï à¨á®¢ ¨ï ª®âïé¨åáï ï¨æ |
314 | @@: |
320 | @@: |
315 | bt eax,ebx |
321 | bt eax,ebx |
316 | jae .draw_egg |
322 | jae .draw_egg |
317 | stdcall DrawArrayImg, buf_displ,buf_egg,ebx,[color_egg] |
323 | stdcall DrawArrayImg, buf_displ,buf_egg,ebx,[color_egg] |
318 | .draw_egg: |
324 | .draw_egg: |
319 | inc ebx |
325 | inc ebx |
320 | loop @b |
326 | loop @b |
321 | 327 | ||
322 | ;mov eax,dword[pos_eggs] |
328 | ;mov eax,dword[pos_eggs] |
323 | and eax,mask_chi_left |
329 | and eax,mask_chi_left |
324 | cmp eax,0 |
330 | cmp eax,0 |
325 | je @f |
331 | je @f |
326 | stdcall DrawArrayImg, buf_displ,buf_egg,20,[color_egg] ;à §¡¨â®¥ ï©æ® á«¥¢ |
332 | stdcall DrawArrayImg, buf_displ,buf_egg,20,[color_egg] ;à §¡¨â®¥ ï©æ® á«¥¢ |
327 | @@: |
333 | @@: |
328 | mov eax,dword[pos_eggs] |
334 | mov eax,dword[pos_eggs] |
329 | and eax,mask_chi_right |
335 | and eax,mask_chi_right |
330 | cmp eax,0 |
336 | cmp eax,0 |
331 | je @f |
337 | je @f |
332 | stdcall DrawArrayImg, buf_displ,buf_egg,21,[color_egg] ;à §¡¨â®¥ ï©æ® á¯à ¢ |
338 | stdcall DrawArrayImg, buf_displ,buf_egg,21,[color_egg] ;à §¡¨â®¥ ï©æ® á¯à ¢ |
333 | @@: |
339 | @@: |
334 | 340 | ||
335 | mov eax,dword[pos_eggs] |
341 | mov eax,dword[pos_eggs] |
336 | xor edx,edx |
342 | xor edx,edx |
337 | mov ebx,bit_chi_left |
343 | mov ebx,bit_chi_left |
338 | mov ecx,5 ;横« ¤«ï à¨á®¢ ¨ï «¥¢ëå 樯«ïâ |
344 | mov ecx,5 ;横« ¤«ï à¨á®¢ ¨ï «¥¢ëå 樯«ïâ |
339 | @@: |
345 | @@: |
340 | bt eax,ebx |
346 | bt eax,ebx |
341 | jae .draw_chick_l |
347 | jae .draw_chick_l |
342 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
348 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
343 | .draw_chick_l: |
349 | .draw_chick_l: |
344 | inc ebx |
350 | inc ebx |
345 | inc edx |
351 | inc edx |
346 | loop @b |
352 | loop @b |
347 | mov ebx,bit_chi_right |
353 | mov ebx,bit_chi_right |
348 | mov ecx,5 ;横« ¤«ï à¨á®¢ ¨ï ¯à ¢ëå 樯«ïâ |
354 | mov ecx,5 ;横« ¤«ï à¨á®¢ ¨ï ¯à ¢ëå 樯«ïâ |
349 | @@: |
355 | @@: |
350 | bt eax,ebx |
356 | bt eax,ebx |
351 | jae .draw_chick_r |
357 | jae .draw_chick_r |
352 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
358 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
353 | .draw_chick_r: |
359 | .draw_chick_r: |
354 | inc ebx |
360 | inc ebx |
355 | inc edx |
361 | inc edx |
356 | loop @b |
362 | loop @b |
357 | 363 | ||
358 | xor eax,eax |
364 | xor eax,eax |
359 | mov al,byte[count_last] |
365 | mov al,byte[count_last] |
360 | mov ecx,eax ;横« ¤«ï à¨á®¢ ¨ï èâà äëå ®çª®¢ |
366 | mov ecx,eax ;横« ¤«ï à¨á®¢ ¨ï èâà äëå ®çª®¢ |
361 | shr ecx,1 |
367 | shr ecx,1 |
362 | mov edx,10 ;¨¤¥ªá ç « èâà äëå ¨ª®®ª ¢ ¡ãä¥à¥ buf_chi |
368 | mov edx,10 ;¨¤¥ªá ç « èâà äëå ¨ª®®ª ¢ ¡ãä¥à¥ buf_chi |
363 | cmp ecx,0 |
369 | cmp ecx,0 |
364 | je .no_unit_last |
370 | je .no_unit_last |
365 | @@: |
371 | @@: |
366 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
372 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] |
367 | inc edx |
373 | inc edx |
368 | loop @b |
374 | loop @b |
369 | .no_unit_last: |
375 | .no_unit_last: |
370 | 376 | ||
371 | bt ax,0 ;¯à®¢¥à塞 ¬¨£ î饥 ¥ ç¥â®¥ ®çª® |
377 | bt ax,0 ;¯à®¢¥à塞 ¬¨£ î饥 ¥ ç¥â®¥ ®çª® |
372 | jae @f |
378 | jae @f |
373 | bt word[pos_wolf],bit_mig |
379 | bt word[pos_wolf],bit_mig |
374 | jc @f |
380 | jc @f |
375 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] ;¬¨£ î饥 èâà 䮥 ®çª® |
381 | stdcall DrawArrayImg, buf_displ,buf_chi,edx,[color_chick] ;¬¨£ î饥 èâà 䮥 ®çª® |
376 | @@: |
382 | @@: |
377 | 383 | ||
378 | popad |
384 | popad |
379 | ret |
385 | ret |
380 | 386 | ||
381 | align 4 |
387 | align 4 |
382 | CountEggsInc: ;㢥«¨ç¨¢ ¥¬ áç¥â稪 ï¨æ 1 |
388 | CountEggsInc: ;㢥«¨ç¨¢ ¥¬ áç¥â稪 ï¨æ 1 |
383 | push eax edi |
389 | push eax edi |
384 | xor eax,eax |
390 | xor eax,eax |
385 | inc word[eggs_count] ;㢥«¨ç¨¢ ¥¬ áç¥â稪 ï¨æ |
391 | inc word[eggs_count] ;㢥«¨ç¨¢ ¥¬ áç¥â稪 ï¨æ |
386 | cmp word[eggs_count],200 ;¡®ãáë¥ ®çª¨ |
392 | cmp word[eggs_count],200 ;¡®ãáë¥ ®çª¨ |
387 | je @f |
393 | je @f |
388 | cmp word[eggs_count],500 ;¡®ãáë¥ ®çª¨ |
394 | cmp word[eggs_count],500 ;¡®ãáë¥ ®çª¨ |
389 | je @f |
395 | je @f |
390 | jmp .no_bonus |
396 | jmp .no_bonus |
391 | @@: |
397 | @@: |
392 | mov byte[count_last],0 |
398 | mov byte[count_last],0 |
393 | .no_bonus: |
399 | .no_bonus: |
394 | 400 | ||
395 | mov ax,word[eggs_count] |
401 | mov ax,word[eggs_count] |
396 | mov edi,some_text |
402 | mov edi,some_text |
397 | call convert_to_str ;®¡®¢«ï¥¬ ⥪á⮢ãî áâபã |
403 | call convert_to_str ;®¡®¢«ï¥¬ ⥪á⮢ãî áâபã |
398 | and ax,0xf ;ç¥à¥§ ª ¦¤ë¥ 16 ï¨æ 㬥ìè ¥¬ ¢à¥¬ï |
404 | and ax,0xf ;ç¥à¥§ ª ¦¤ë¥ 16 ï¨æ 㬥ìè ¥¬ ¢à¥¬ï |
399 | cmp ax,0 |
405 | cmp ax,0 |
400 | jne @f |
406 | jne @f |
401 | cmp dword[game_spd],15 ;¬¨¨¬ «ì ï § ¤¥à¦ª |
407 | cmp dword[game_spd],15 ;¬¨¨¬ «ì ï § ¤¥à¦ª |
402 | jle @f |
408 | jle @f |
403 | dec dword[game_spd] |
409 | dec dword[game_spd] |
404 | @@: |
410 | @@: |
405 | pop edi eax |
411 | pop edi eax |
406 | ret |
412 | ret |
407 | 413 | ||
408 | ;input: |
414 | ;input: |
409 | ; eax - ¬ ᪠, 㪠§ë¢ îé ï á ª ª®© áâà®ë 㯠«® ï©æ® |
415 | ; eax - ¬ ᪠, 㪠§ë¢ îé ï á ª ª®© áâà®ë 㯠«® ï©æ® |
410 | align 4 |
416 | align 4 |
411 | CountLastInc: ; ç¨á«¥¨¥ èâà äëå ®çª®¢ |
417 | CountLastInc: ; ç¨á«¥¨¥ èâà äëå ®çª®¢ |
412 | inc byte[count_last] ;¯®«®¢¨ ® èâà 䮣® ®çª |
418 | inc byte[count_last] ;¯®«®¢¨ ® èâà 䮣® ®çª |
413 | bt word[pos_wolf],bit_zaac |
419 | bt word[pos_wolf],bit_zaac |
414 | jc @f |
420 | jc @f |
415 | inc byte[count_last] ;¥á«¨ ¥â § ©æ â® ¥é¥ 1- ¯®«®¢¨ èâà 䮣® ®çª |
421 | inc byte[count_last] ;¥á«¨ ¥â § ©æ â® ¥é¥ 1- ¯®«®¢¨ èâà 䮣® ®çª |
416 | @@: |
422 | @@: |
417 | cmp byte[count_last],6 |
423 | cmp byte[count_last],6 |
418 | jle @f |
424 | jle @f |
419 | mov byte[count_last],6 ;áâ ¢¨¬ ®£à ¨ç¥¨ ç¨á«® èâà äëå ®çª®¢ |
425 | mov byte[count_last],6 ;áâ ¢¨¬ ®£à ¨ç¥¨ ç¨á«® èâà äëå ®çª®¢ |
420 | @@: |
426 | @@: |
421 | or dword[pos_eggs],eax ;ᮧ¤ ¥¬ ¡¥£ã饣® 樯«¥ª |
427 | or dword[pos_eggs],eax ;ᮧ¤ ¥¬ ¡¥£ã饣® 樯«¥ª |
422 | ret |
428 | ret |
423 | 429 | ||
424 | align 4 |
430 | align 4 |
425 | MoveEggs: |
431 | MoveEggs: |
426 | pushad |
432 | pushad |
427 | xor byte[pos_wolf],val_mig ;¡¨â ¤«ï ¬¨£ ¨ï |
433 | xor byte[pos_wolf],val_mig ;¡¨â ¤«ï ¬¨£ ¨ï |
428 | 434 | ||
429 | cmp byte[count_last],6 ;¬ ªá¨¬ «ì®¥ ç¨á«® èâà äëå ®çª®¢ |
435 | cmp byte[count_last],6 ;¬ ªá¨¬ «ì®¥ ç¨á«® èâà äëå ®çª®¢ |
430 | je .end_fun |
436 | je .end_fun |
431 | 437 | ||
432 | rol dword[pos_eggs],1 |
438 | rol dword[pos_eggs],1 |
433 | mov ecx,dword[pos_eggs] |
439 | mov ecx,dword[pos_eggs] |
434 | and ecx,mask_fail_eggs |
440 | and ecx,mask_fail_eggs |
435 | cmp ecx,0 |
441 | cmp ecx,0 |
436 | je .no_fail ;¥â ¯ ¤ îé¨å ï¨æ |
442 | je .no_fail ;¥â ¯ ¤ îé¨å ï¨æ |
437 | ; ç¨á«¥¨¥ ï¨æ ¯®¯ ¢è¨å ¢ ª®à§¨ã |
443 | ; ç¨á«¥¨¥ ï¨æ ¯®¯ ¢è¨å ¢ ª®à§¨ã |
438 | ;¨«¨ ç¨á«¥¨¥ èâà äëå ®çª®¢ |
444 | ;¨«¨ ç¨á«¥¨¥ èâà äëå ®çª®¢ |
439 | xor ebx,ebx |
445 | xor ebx,ebx |
440 | mov bl,byte[pos_wolf] ;¡¥à¥¬ ¯ à ¬¥âàë (¯®§¨æ¨î) ¢®«ª |
446 | mov bl,byte[pos_wolf] ;¡¥à¥¬ ¯ à ¬¥âàë (¯®§¨æ¨î) ¢®«ª |
441 | and bl,3 ; ¢á直© á«ãç © |
447 | and bl,3 ; ¢á直© á«ãç © |
442 | 448 | ||
443 | bt ecx,5 ;¯à®¢¥à塞 ¢¥à奥 «¥¢®¥ ¯¥à¨«® |
449 | bt ecx,5 ;¯à®¢¥à塞 ¢¥à奥 «¥¢®¥ ¯¥à¨«® |
444 | jae .perilo_lu |
450 | jae .perilo_lu |
445 | cmp bx,0 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
451 | cmp bx,0 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
446 | jne @f |
452 | jne @f |
447 | call CountEggsInc |
453 | call CountEggsInc |
448 | jmp .perilo_lu |
454 | jmp .perilo_lu |
449 | @@: |
455 | @@: |
450 | mov eax,mask_chi_cr_l |
456 | mov eax,mask_chi_cr_l |
451 | call CountLastInc |
457 | call CountLastInc |
452 | .perilo_lu: |
458 | .perilo_lu: |
453 | bt ecx,10 ;¯à®¢¥à塞 ¨¦¥¥ «¥¢®¥ ¯¥à¨«® |
459 | bt ecx,10 ;¯à®¢¥à塞 ¨¦¥¥ «¥¢®¥ ¯¥à¨«® |
454 | jae .perilo_ld |
460 | jae .perilo_ld |
455 | cmp bx,2 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
461 | cmp bx,2 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
456 | jne @f |
462 | jne @f |
457 | call CountEggsInc |
463 | call CountEggsInc |
458 | jmp .perilo_ld |
464 | jmp .perilo_ld |
459 | @@: |
465 | @@: |
460 | mov eax,mask_chi_cr_l |
466 | mov eax,mask_chi_cr_l |
461 | call CountLastInc |
467 | call CountLastInc |
462 | .perilo_ld: |
468 | .perilo_ld: |
463 | bt ecx,15 ;¯à®¢¥à塞 ¢¥à奥 ¯à ¢®¥ ¯¥à¨«® |
469 | bt ecx,15 ;¯à®¢¥à塞 ¢¥à奥 ¯à ¢®¥ ¯¥à¨«® |
464 | jae .perilo_ru |
470 | jae .perilo_ru |
465 | cmp bx,1 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
471 | cmp bx,1 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
466 | jne @f |
472 | jne @f |
467 | call CountEggsInc |
473 | call CountEggsInc |
468 | jmp .perilo_ru |
474 | jmp .perilo_ru |
469 | @@: |
475 | @@: |
470 | mov eax,mask_chi_cr_r |
476 | mov eax,mask_chi_cr_r |
471 | call CountLastInc |
477 | call CountLastInc |
472 | .perilo_ru: |
478 | .perilo_ru: |
473 | bt ecx,20 ;¯à®¢¥à塞 ¨¦¥¥ ¯à ¢®¥ ¯¥à¨«® |
479 | bt ecx,20 ;¯à®¢¥à塞 ¨¦¥¥ ¯à ¢®¥ ¯¥à¨«® |
474 | jae .perilo_rd |
480 | jae .perilo_rd |
475 | cmp bx,3 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
481 | cmp bx,3 ;¯à®¢¥à塞 «¨ç¨¥ ª®à§¨ë |
476 | jne @f |
482 | jne @f |
477 | call CountEggsInc |
483 | call CountEggsInc |
478 | jmp .perilo_rd |
484 | jmp .perilo_rd |
479 | @@: |
485 | @@: |
480 | mov eax,mask_chi_cr_r |
486 | mov eax,mask_chi_cr_r |
481 | call CountLastInc |
487 | call CountLastInc |
482 | .perilo_rd: |
488 | .perilo_rd: |
483 | .no_fail: |
489 | .no_fail: |
484 | 490 | ||
485 | and dword[pos_eggs],mask_clear_all ;®ç¨á⪠㯠¢è¨å ï¨æ ¨ ¤®¡¥¦ ¢è¨å ªã३ |
491 | and dword[pos_eggs],mask_clear_all ;®ç¨á⪠㯠¢è¨å ï¨æ ¨ ¤®¡¥¦ ¢è¨å ªã३ |
486 | 492 | ||
487 | call rand_next |
493 | call rand_next |
488 | cmp byte[zaac_status],0 |
494 | cmp byte[zaac_status],0 |
489 | jle @f |
495 | jle @f |
490 | dec byte[zaac_status] |
496 | dec byte[zaac_status] |
491 | jmp .no_zaac_move ;§ ïæ ¯®ª ¥ ¤¢¨£ ¥âáï |
497 | jmp .no_zaac_move ;§ ïæ ¯®ª ¥ ¤¢¨£ ¥âáï |
492 | @@: |
498 | @@: |
493 | 499 | ||
494 | bt dword[rand_x],6 ;§ ïæ ®â ä® àï ¬¥ï¥â áâ âãá |
500 | bt dword[rand_x],6 ;§ ïæ ®â ä® àï ¬¥ï¥â áâ âãá |
495 | jc @f |
501 | jc @f |
496 | xor byte[pos_wolf],val_zaac ;¢ëá®¢ë¢ ¥¬/§ á®¢ë¢ ¥¬ § ©æ |
502 | xor byte[pos_wolf],val_zaac ;¢ëá®¢ë¢ ¥¬/§ á®¢ë¢ ¥¬ § ©æ |
497 | bt word[pos_wolf],val_zaac |
503 | bt word[pos_wolf],val_zaac |
498 | jc .zaac_n |
504 | jc .zaac_n |
499 | mov byte[zaac_status],val_zaac_time_y ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
505 | mov byte[zaac_status],val_zaac_time_y ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
500 | jmp @f |
506 | jmp @f |
501 | .zaac_n: |
507 | .zaac_n: |
502 | mov byte[zaac_status],val_zaac_time_n ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
508 | mov byte[zaac_status],val_zaac_time_n ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
503 | @@: |
509 | @@: |
504 | .no_zaac_move: |
510 | .no_zaac_move: |
505 | 511 | ||
506 | ;ᮧ¤ ¨¥ ®¢ëå ï¨æ |
512 | ;ᮧ¤ ¨¥ ®¢ëå ï¨æ |
507 | bt dword[rand_x],4 ;¯à®¢¥à塞 ¡ã¤¥¬ «¨ ᮧ¤ ¢ âì ®¢®¥ ï©æ® |
513 | bt dword[rand_x],4 ;¯à®¢¥à塞 ¡ã¤¥¬ «¨ ᮧ¤ ¢ âì ®¢®¥ ï©æ® |
508 | jc .end_creat |
514 | jc .end_creat |
509 | bt dword[rand_x],5 ;¯à®¢¥à塞 á ª ª®© áâ®à®ë ¡ã¤¥¬ ᮧ¤ ¢ âì ®¢®¥ ï©æ® |
515 | bt dword[rand_x],5 ;¯à®¢¥à塞 á ª ª®© áâ®à®ë ¡ã¤¥¬ ᮧ¤ ¢ âì ®¢®¥ ï©æ® |
510 | jc .creat_r |
516 | jc .creat_r |
511 | bt dword[rand_x],7 |
517 | bt dword[rand_x],7 |
512 | jc @f |
518 | jc @f |
513 | or dword[pos_eggs],mask_lot_lu |
519 | or dword[pos_eggs],mask_lot_lu |
514 | jmp .end_creat |
520 | jmp .end_creat |
515 | @@: |
521 | @@: |
516 | or dword[pos_eggs],mask_lot_ld |
522 | or dword[pos_eggs],mask_lot_ld |
517 | jmp .end_creat |
523 | jmp .end_creat |
518 | .creat_r: |
524 | .creat_r: |
519 | bt dword[rand_x],7 |
525 | bt dword[rand_x],7 |
520 | jc @f |
526 | jc @f |
521 | or dword[pos_eggs],mask_lot_ru |
527 | or dword[pos_eggs],mask_lot_ru |
522 | jmp .end_creat |
528 | jmp .end_creat |
523 | @@: |
529 | @@: |
524 | or dword[pos_eggs],mask_lot_rd |
530 | or dword[pos_eggs],mask_lot_rd |
525 | ;jmp .end_creat |
531 | ;jmp .end_creat |
526 | .end_creat: |
532 | .end_creat: |
527 | 533 | ||
528 | .end_fun: |
534 | .end_fun: |
529 | popad |
535 | popad |
530 | ret |
536 | ret |
531 | 537 | ||
532 | align 4 |
538 | align 4 |
533 | proc InitGame, b:dword ;¯¥à¢® ç «ìë¥ áâனª¨ ¨£àë |
539 | proc InitGame, b:dword ;¯¥à¢® ç «ìë¥ áâனª¨ ¨£àë |
534 | mov word[eggs_count],0 ;ª®««¨ç¥á⢮ ¯®©¬ ëå ï¨æ |
540 | mov word[eggs_count],0 ;ª®««¨ç¥á⢮ ¯®©¬ ëå ï¨æ |
535 | mov byte[some_text],'0' |
541 | mov byte[some_text],'0' |
536 | mov byte[some_text+1],0 ;⥪áâ á ç¨á«®¬ ¯®©¬ ëå ï¨æ |
542 | mov byte[some_text+1],0 ;⥪áâ á ç¨á«®¬ ¯®©¬ ëå ï¨æ |
537 | mov byte[count_last],0 |
543 | mov byte[count_last],0 |
538 | mov dword[pos_eggs],0 |
544 | mov dword[pos_eggs],0 |
539 | mov byte[zaac_status],0 |
545 | mov byte[zaac_status],0 |
540 | 546 | ||
541 | cmp dword[b],0 |
547 | cmp dword[b],0 |
542 | jne @f |
548 | jne @f |
543 | mov byte[game_text+5],'' |
549 | mov byte[game_text+5],'' |
544 | mov dword[game_spd],65 ;§ ¤¥à¦ª ¨£àë |
550 | mov dword[game_spd],65 ;§ ¤¥à¦ª ¨£àë |
545 | jmp .end_init |
551 | jmp .end_init |
546 | @@: |
552 | @@: |
547 | mov byte[game_text+5],'' |
553 | mov byte[game_text+5],'' |
548 | mov dword[game_spd],35 ;§ ¤¥à¦ª ¨£àë |
554 | mov dword[game_spd],35 ;§ ¤¥à¦ª ¨£àë |
549 | .end_init: |
555 | .end_init: |
550 | 556 | ||
551 | push eax ebx |
557 | push eax ebx |
552 | mcall 26,9 |
558 | mcall 26,9 |
553 | mov dword[rand_x],eax ;§ ¯®«ï¥¬ 1-¥ á«ãç ©®¥ ç¨á«® |
559 | mov dword[rand_x],eax ;§ ¯®«ï¥¬ 1-¥ á«ãç ©®¥ ç¨á«® |
554 | pop ebx eax |
560 | pop ebx eax |
555 | 561 | ||
556 | ret |
562 | ret |
557 | endp |
563 | endp |
558 | 564 | ||
559 | align 4 |
565 | align 4 |
560 | proc LoadArrayBuffer, f_name:dword, buf_start:dword, count:dword |
566 | proc LoadArrayBuffer, f_name:dword, buf_start:dword, count:dword |
561 | pushad |
567 | pushad |
562 | mov edx,dword[displ_bytes] |
568 | mov edx,dword[displ_bytes] |
563 | mov ecx,edx |
569 | mov ecx,edx |
564 | imul ecx,dword[count] |
570 | imul ecx,dword[count] |
565 | mov eax,dword[f_name] |
571 | mov eax,dword[f_name] |
566 | load_image_file eax,image_data_gray,ecx |
572 | load_image_file eax,image_data_gray,ecx |
567 | mov edx,dword[displ_bytes] |
573 | mov edx,dword[displ_bytes] |
568 | mov eax,[image_data_gray] |
574 | mov eax,[image_data_gray] |
569 | mov edi,dword[buf_start] |
575 | mov edi,dword[buf_start] |
570 | mov ecx,dword[count] |
576 | mov ecx,dword[count] |
571 | cld |
577 | cld |
572 | @@: ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
578 | @@: ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
573 | stdcall CreateTrapharetBuffer,edi,eax |
579 | stdcall CreateTrapharetBuffer,edi,eax |
574 | add eax,edx |
580 | add eax,edx |
575 | add edi,BUF_STRUCT_SIZE |
581 | add edi,BUF_STRUCT_SIZE |
576 | loop @b |
582 | loop @b |
577 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
583 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
578 | popad |
584 | popad |
579 | ret |
585 | ret |
580 | endp |
586 | endp |
581 | 587 | ||
582 | align 4 |
588 | align 4 |
583 | start: |
589 | start: |
584 | load_libraries l_libs_start,load_lib_end |
590 | load_libraries l_libs_start,load_lib_end |
585 | 591 | ||
586 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è «¨¡ |
592 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è «¨¡ |
587 | mov ebp,lib0 |
593 | mov ebp,lib0 |
588 | cmp dword [ebp+ll_struc_size-4],0 |
594 | cmp dword [ebp+ll_struc_size-4],0 |
589 | jz @f |
595 | jz @f |
590 | mcall -1 ;exit not correct |
596 | mcall -1 ;exit not correct |
591 | @@: |
597 | @@: |
592 | mov ebp,lib1 |
598 | mov ebp,lib1 |
593 | cmp dword [ebp+ll_struc_size-4],0 |
599 | cmp dword [ebp+ll_struc_size-4],0 |
594 | jz @f |
600 | jz @f |
595 | mcall -1 ;exit not correct |
601 | mcall -1 ;exit not correct |
596 | @@: |
602 | @@: |
597 | 603 | ||
598 | mcall 40,0x27 |
604 | mcall 40,0x27 |
599 | mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
605 | mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
600 | 606 | ||
601 | ;à ¡®â á ä ©«®¬ áâ஥ª |
607 | ;à ¡®â á ä ©«®¬ áâ஥ª |
602 | copy_path ini_name,sys_path,file_name,0x0 |
608 | copy_path ini_name,sys_path,file_name,0x0 |
603 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_w,210 |
609 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_w,210 |
604 | mov dword[displ_w],eax |
610 | mov dword[displ_w],eax |
605 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_h,140 |
611 | stdcall dword[ini_get_int],file_name,ini_sec_files,key_displ_h,140 |
606 | mov dword[displ_h],eax |
612 | mov dword[displ_h],eax |
607 | stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_unit,0 |
613 | stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_unit,0 |
608 | mov dword[color_wolf],eax |
614 | mov dword[color_wolf],eax |
- | 615 | stdcall dword[ini_get_str],file_name,ini_sec_files,key_file_unit,fn_icon1,FILE_NAME_MAX,ini_def_unit_file |
|
- | 616 | ||
609 | 617 | ||
610 | mov edx,dword[displ_w] |
618 | mov edx,dword[displ_w] |
611 | imul edx,dword[displ_h] |
619 | imul edx,dword[displ_h] |
612 | lea edx,[edx+edx*2] |
620 | lea edx,[edx+edx*2] |
613 | mov dword[displ_bytes],edx ;¢ëç¨á«ï¥¬ à §¬¥à ¨£à®¢®£® ¯®«ï |
621 | mov dword[displ_bytes],edx ;¢ëç¨á«ï¥¬ à §¬¥à ¨£à®¢®£® ¯®«ï |
614 | 622 | ||
615 | stdcall LoadArrayBuffer, fn_icon0, buf_decor,3 ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
623 | stdcall LoadArrayBuffer, fn_icon0, buf_decor,3 ;áç¨âë¢ ¥¬ 3 ¡ãä¥à á ¤¥ª®à æ¨ï¬¨ |
616 | stdcall LoadArrayBuffer, fn_icon1, buf_wolf,9 ;áç¨âë¢ ¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
624 | stdcall LoadArrayBuffer, fn_icon1, buf_wolf,9 ;áç¨âë¢ ¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
617 | stdcall LoadArrayBuffer, fn_icon2, buf_egg,22 ;áç¨âë¢ ¥¬ 22 ¡ãä¥à®¢ á ï©æ ¬¨ |
625 | stdcall LoadArrayBuffer, fn_icon2, buf_egg,22 ;áç¨âë¢ ¥¬ 22 ¡ãä¥à®¢ á ï©æ ¬¨ |
618 | stdcall LoadArrayBuffer, fn_icon3, buf_chi,13 ;áç¨âë¢ ¥¬ 13 ¡ãä¥à®¢ á 樯«ïâ ¬¨ |
626 | stdcall LoadArrayBuffer, fn_icon3, buf_chi,13 ;áç¨âë¢ ¥¬ 13 ¡ãä¥à®¢ á 樯«ïâ ¬¨ |
619 | 627 | ||
620 | load_image_file fn_font, image_data_gray,IMAGE_FONT_SIZE |
628 | load_image_file fn_font, image_data_gray,IMAGE_FONT_SIZE |
621 | stdcall [buf2d_create_f_img], buf_font,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à |
629 | stdcall [buf2d_create_f_img], buf_font,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à |
622 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
630 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
623 | 631 | ||
624 | stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
632 | stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
625 | stdcall [buf2d_convert_text_matrix], buf_font |
633 | stdcall [buf2d_convert_text_matrix], buf_font |
626 | 634 | ||
627 | ;¯à®¢¥àª § ¨¬ ¥¬®£® ¡ãä¥à®¬ ¬¥áâ |
635 | ;¯à®¢¥àª § ¨¬ ¥¬®£® ¡ãä¥à®¬ ¬¥áâ |
628 | ;mov edi,buf_wolf |
636 | ;mov edi,buf_wolf |
629 | ;add edi,BUF_STRUCT_SIZE ;¯¥à¥å®¤¨¬ ¡ãä¥à ª®à§¨ë |
637 | ;add edi,BUF_STRUCT_SIZE ;¯¥à¥å®¤¨¬ ¡ãä¥à ª®à§¨ë |
630 | ;stdcall [buf2d_clear],edi,0x808080 ;§ «¨¢ ¥¬ ¥£® á¥àë¬ æ¢¥â®¬ |
638 | ;stdcall [buf2d_clear],edi,0x808080 ;§ «¨¢ ¥¬ ¥£® á¥àë¬ æ¢¥â®¬ |
631 | 639 | ||
632 | mov ebx,dword[displ_w] |
640 | mov ebx,dword[displ_w] |
633 | mov edx,dword[displ_h] |
641 | mov edx,dword[displ_h] |
634 | 642 | ||
635 | mov edi,buf_displ |
643 | mov edi,buf_displ |
636 | mov buf2d_w,ebx |
644 | mov buf2d_w,ebx |
637 | mov buf2d_h,edx |
645 | mov buf2d_h,edx |
638 | stdcall [buf2d_create], buf_displ ;ᮧ¤ ¥¬ ¡ãä¥à ¤«ï ¢ë¢®¤ íªà |
646 | stdcall [buf2d_create], buf_displ ;ᮧ¤ ¥¬ ¡ãä¥à ¤«ï ¢ë¢®¤ íªà |
639 | 647 | ||
640 | mov edi,buf_fon |
648 | mov edi,buf_fon |
641 | mov buf2d_w,ebx |
649 | mov buf2d_w,ebx |
642 | mov buf2d_h,edx |
650 | mov buf2d_h,edx |
643 | stdcall [buf2d_create], buf_fon ;ᮧ¤ ¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
651 | stdcall [buf2d_create], buf_fon ;ᮧ¤ ¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
644 | 652 | ||
645 | call InitBackgroundBuffer ;§ ¯®«ï¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
653 | call InitBackgroundBuffer ;§ ¯®«ï¥¬ ¡ãä¥à á ä®®¢ë¬¨ ¤¥ª®à æ¨ï¬¨ |
646 | stdcall InitGame,0 |
654 | stdcall InitGame,0 |
647 | mcall 26,9 |
655 | mcall 26,9 |
648 | mov [last_time],ebx |
656 | mov [last_time],ebx |
649 | 657 | ||
650 | 658 | ||
651 | 659 | ||
652 | align 4 |
660 | align 4 |
653 | red_win: |
661 | red_win: |
654 | call draw_window |
662 | call draw_window |
655 | 663 | ||
656 | align 4 |
664 | align 4 |
657 | still: ;£« ¢ë© 横« |
665 | still: ;£« ¢ë© 横« |
658 | mcall 26,9 |
666 | mcall 26,9 |
659 | mov ebx,[last_time] |
667 | mov ebx,[last_time] |
660 | add ebx,dword[game_spd] ;delay |
668 | add ebx,dword[game_spd] ;delay |
661 | sub ebx,eax |
669 | sub ebx,eax |
662 | cmp ebx,dword[game_spd] ;delay |
670 | cmp ebx,dword[game_spd] ;delay |
663 | ja it_is_time_now |
671 | ja it_is_time_now |
664 | test ebx,ebx |
672 | test ebx,ebx |
665 | jz it_is_time_now |
673 | jz it_is_time_now |
666 | mcall 23 |
674 | mcall 23 |
667 | 675 | ||
668 | cmp eax,0 |
676 | cmp eax,0 |
669 | je it_is_time_now |
677 | je it_is_time_now |
670 | 678 | ||
671 | ;mcall 10 |
679 | ;mcall 10 |
672 | 680 | ||
673 | cmp al,0x1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
681 | cmp al,0x1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
674 | jz red_win |
682 | jz red_win |
675 | cmp al,0x2 |
683 | cmp al,0x2 |
676 | jz key |
684 | jz key |
677 | cmp al,0x3 |
685 | cmp al,0x3 |
678 | jz button |
686 | jz button |
679 | 687 | ||
680 | jmp still |
688 | jmp still |
681 | 689 | ||
682 | align 4 |
690 | align 4 |
683 | it_is_time_now: |
691 | it_is_time_now: |
684 | mcall 26,9 |
692 | mcall 26,9 |
685 | mov [last_time],eax |
693 | mov [last_time],eax |
686 | 694 | ||
687 | ;...§¤¥áì ¨¤ãâ ¤¥©á⢨ï, ¢ë§ë¢ ¥¬ë¥ ª ¦¤ë¥ delay á®âëå ¤®«¥© ᥪã¤... |
695 | ;...§¤¥áì ¨¤ãâ ¤¥©á⢨ï, ¢ë§ë¢ ¥¬ë¥ ª ¦¤ë¥ delay á®âëå ¤®«¥© ᥪã¤... |
688 | call MoveEggs |
696 | call MoveEggs |
689 | call draw_display |
697 | call draw_display |
690 | jmp still |
698 | jmp still |
691 | 699 | ||
692 | align 4 |
700 | align 4 |
693 | key: |
701 | key: |
694 | push eax ebx |
702 | push eax ebx |
695 | mcall 2 |
703 | mcall 2 |
696 | 704 | ||
697 | cmp ah,176 ;Left |
705 | cmp ah,176 ;Left |
698 | jne @f |
706 | jne @f |
699 | and byte[pos_wolf],0xfe |
707 | and byte[pos_wolf],0xfe |
700 | @@: |
708 | @@: |
701 | cmp ah,179 ;Right |
709 | cmp ah,179 ;Right |
702 | jne @f |
710 | jne @f |
703 | or byte[pos_wolf],1 |
711 | or byte[pos_wolf],1 |
704 | @@: |
712 | @@: |
705 | cmp ah,178 ;Up |
713 | cmp ah,178 ;Up |
706 | jne @f |
714 | jne @f |
707 | and byte[pos_wolf],0xff-2 |
715 | and byte[pos_wolf],0xff-2 |
708 | @@: |
716 | @@: |
709 | cmp ah,177 ;Down |
717 | cmp ah,177 ;Down |
710 | jne @f |
718 | jne @f |
711 | or byte[pos_wolf],2 |
719 | or byte[pos_wolf],2 |
712 | @@: |
720 | @@: |
713 | 721 | ||
714 | cmp ah,97 ;a |
722 | cmp ah,97 ;a |
715 | jne @f |
723 | jne @f |
716 | and byte[pos_wolf],0xff-3 ;00 |
724 | and byte[pos_wolf],0xff-3 ;00 |
717 | @@: |
725 | @@: |
718 | cmp ah,122 ;z |
726 | cmp ah,122 ;z |
719 | jne @f |
727 | jne @f |
720 | and byte[pos_wolf],0xff-1 |
728 | and byte[pos_wolf],0xff-1 |
721 | or byte[pos_wolf],2 ;10 |
729 | or byte[pos_wolf],2 ;10 |
722 | @@: |
730 | @@: |
723 | cmp ah,39 ;' |
731 | cmp ah,39 ;' |
724 | jne @f |
732 | jne @f |
725 | and byte[pos_wolf],0xff-2 |
733 | and byte[pos_wolf],0xff-2 |
726 | or byte[pos_wolf],1 ;01 |
734 | or byte[pos_wolf],1 ;01 |
727 | @@: |
735 | @@: |
728 | cmp ah,47 ;/ |
736 | cmp ah,47 ;/ |
729 | jne @f |
737 | jne @f |
730 | or byte[pos_wolf],3 ;11 |
738 | or byte[pos_wolf],3 ;11 |
731 | @@: |
739 | @@: |
732 | 740 | ||
733 | pop ebx eax |
741 | pop ebx eax |
734 | jmp still |
742 | jmp still |
735 | 743 | ||
736 | 744 | ||
737 | align 4 |
745 | align 4 |
738 | draw_window: |
746 | draw_window: |
739 | pushad |
747 | pushad |
740 | mcall 12,1 |
748 | mcall 12,1 |
741 | 749 | ||
742 | xor eax,eax |
750 | xor eax,eax |
743 | mov ebx,20*65536+480 |
751 | mov ebx,20*65536+480 |
744 | mov ecx,20*65536+270 |
752 | mov ecx,20*65536+270 |
745 | mov edx,[sc.work] |
753 | mov edx,[sc.work] |
746 | ;or edx,0x33000000 |
754 | ;or edx,0x33000000 |
747 | or edx,0x73000000 |
755 | or edx,0x73000000 |
748 | mov edi,hed |
756 | mov edi,hed |
749 | mcall ;ᮧ¤ ¨¥ ®ª |
757 | mcall ;ᮧ¤ ¨¥ ®ª |
750 | 758 | ||
751 | mcall 9,procinfo,-1 |
759 | mcall 9,procinfo,-1 |
752 | mov edi,buf_displ |
760 | mov edi,buf_displ |
753 | mov eax,dword[procinfo.client_box.width] |
761 | mov eax,dword[procinfo.client_box.width] |
754 | cmp eax,dword[displ_w] |
762 | cmp eax,dword[displ_w] |
755 | jle @f |
763 | jle @f |
756 | sub eax,dword[displ_w] |
764 | sub eax,dword[displ_w] |
757 | shr eax,1 |
765 | shr eax,1 |
758 | mov buf2d_l,ax ;¢ë¯à ¢¨¢ ¥¬ ¡ãä¥à ¯® æ¥âàã ®ª |
766 | mov buf2d_l,ax ;¢ë¯à ¢¨¢ ¥¬ ¡ãä¥à ¯® æ¥âàã ®ª |
759 | @@: |
767 | @@: |
760 | 768 | ||
761 | call draw_display |
769 | call draw_display |
762 | 770 | ||
763 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
771 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
764 | mov edx,[sc.work] |
772 | mov edx,[sc.work] |
765 | xor esi,esi |
773 | xor esi,esi |
766 | mov si,buf2d_l |
774 | mov si,buf2d_l |
767 | add esi,dword[displ_w] |
775 | add esi,dword[displ_w] |
768 | mov ebx,dword[procinfo.client_box.width] |
776 | mov ebx,dword[procinfo.client_box.width] |
769 | inc ebx |
777 | inc ebx |
770 | cmp esi,ebx |
778 | cmp esi,ebx |
771 | jge @f |
779 | jge @f |
772 | sub ebx,esi |
780 | sub ebx,esi |
773 | rol ebx,16 |
781 | rol ebx,16 |
774 | mov bx,si |
782 | mov bx,si |
775 | rol ebx,16 |
783 | rol ebx,16 |
776 | mov ecx,dword[procinfo.client_box.height] |
784 | mov ecx,dword[procinfo.client_box.height] |
777 | inc ecx |
785 | inc ecx |
778 | int 0x40 ;à¨á®¢ ¨¥ ¯à ¢®£® ¡®ª®¢®£® ¯®«ï |
786 | int 0x40 ;à¨á®¢ ¨¥ ¯à ¢®£® ¡®ª®¢®£® ¯®«ï |
779 | jmp .draw_s |
787 | jmp .draw_s |
780 | @@: |
788 | @@: |
781 | mov esi,dword[procinfo.client_box.width] ;ª®£¤ ¯® è¨à¨¥ ¥ ¢« §¨â |
789 | mov esi,dword[procinfo.client_box.width] ;ª®£¤ ¯® è¨à¨¥ ¥ ¢« §¨â |
782 | inc esi |
790 | inc esi |
783 | .draw_s: |
791 | .draw_s: |
784 | 792 | ||
785 | if use_but eq 1 |
793 | if use_but eq 1 |
786 | ; *** à¨á®¢ ¨¥ ª®¯®ª *** |
794 | ; *** à¨á®¢ ¨¥ ª®¯®ª *** |
787 | push esi |
795 | push esi |
788 | mov eax,8 |
796 | mov eax,8 |
789 | xor ebx,ebx |
797 | xor ebx,ebx |
790 | mov bx,buf2d_l |
798 | mov bx,buf2d_l |
791 | add ebx,buf2d_w |
799 | add ebx,buf2d_w |
792 | add ebx,BUT1_L |
800 | add ebx,BUT1_L |
793 | shl ebx,16 |
801 | shl ebx,16 |
794 | mov bx,BUT1_W |
802 | mov bx,BUT1_W |
795 | mov ecx,BUT1_T*65536+BUT1_H |
803 | mov ecx,BUT1_T*65536+BUT1_H |
796 | mov edx,5 |
804 | mov edx,5 |
797 | ;or edx,0x40000000 |
805 | ;or edx,0x40000000 |
798 | mov esi,dword[color_but_sm] |
806 | mov esi,dword[color_but_sm] |
799 | int 0x40 |
807 | int 0x40 |
800 | 808 | ||
801 | inc edx |
809 | inc edx |
802 | add ecx,BUT1_NEXT_TOP |
810 | add ecx,BUT1_NEXT_TOP |
803 | int 0x40 |
811 | int 0x40 |
804 | pop esi |
812 | pop esi |
805 | 813 | ||
806 | mov eax,4 ; ð¡R÷ÿ-ð? ¢?ò¡¢ÿ |
814 | mov eax,4 ; ð¡R÷ÿ-ð? ¢?ò¡¢ÿ |
807 | mov bx,BUT1_H |
815 | mov bx,BUT1_H |
808 | add ebx,3*65536;+3 |
816 | add ebx,3*65536;+3 |
809 | mov ecx,dword[color_but_te] |
817 | mov ecx,dword[color_but_te] |
810 | or ecx,0x80000000 |
818 | or ecx,0x80000000 |
811 | mov edx,txt_game_a |
819 | mov edx,txt_game_a |
812 | int 0x40 |
820 | int 0x40 |
813 | 821 | ||
814 | ror ebx,16 |
822 | ror ebx,16 |
815 | add ebx,BUT1_NEXT_TOP |
823 | add ebx,BUT1_NEXT_TOP |
816 | ror ebx,16 |
824 | ror ebx,16 |
817 | mov edx,txt_game_b |
825 | mov edx,txt_game_b |
818 | int 0x40 |
826 | int 0x40 |
819 | 827 | ||
820 | ; *** ¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ *** |
828 | ; *** ¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ *** |
821 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
829 | mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
822 | mov edx,[sc.work] |
830 | mov edx,[sc.work] |
823 | end if |
831 | end if |
824 | 832 | ||
825 | mov ebx,esi |
833 | mov ebx,esi |
826 | mov ecx,dword[procinfo.client_box.height] |
834 | mov ecx,dword[procinfo.client_box.height] |
827 | inc ecx |
835 | inc ecx |
828 | mov esi,dword[displ_h] |
836 | mov esi,dword[displ_h] |
829 | cmp esi,ebx |
837 | cmp esi,ebx |
830 | jge @f |
838 | jge @f |
831 | sub ecx,esi |
839 | sub ecx,esi |
832 | rol ecx,16 |
840 | rol ecx,16 |
833 | mov cx,si |
841 | mov cx,si |
834 | rol ecx,16 |
842 | rol ecx,16 |
835 | int 0x40 ;à¨á®¢ ¨¥ ¨¦¥£® ¯®«ï |
843 | int 0x40 ;à¨á®¢ ¨¥ ¨¦¥£® ¯®«ï |
836 | @@: |
844 | @@: |
837 | 845 | ||
838 | xor ebx,ebx |
846 | xor ebx,ebx |
839 | mov bx,buf2d_l |
847 | mov bx,buf2d_l |
840 | mov ecx,dword[displ_h] |
848 | mov ecx,dword[displ_h] |
841 | int 0x40 ;à¨á®¢ ¨¥ «¥¢®£® ¡®ª®¢®£® ¯®«ï |
849 | int 0x40 ;à¨á®¢ ¨¥ «¥¢®£® ¡®ª®¢®£® ¯®«ï |
842 | 850 | ||
843 | mcall 12,2 |
851 | mcall 12,2 |
844 | popad |
852 | popad |
845 | ret |
853 | ret |
846 | 854 | ||
847 | align 4 |
855 | align 4 |
848 | draw_display: |
856 | draw_display: |
849 | 857 | ||
850 | stdcall mem_copy, dword[buf_fon],dword[buf_displ],315*210*3;dword[displ_bytes] ;ª®¯¨à®¢ ¨¥ ¨§®¡à ¦¥¨ï ¨§ ä®®¢®£® ¡ãä¥à |
858 | stdcall mem_copy, dword[buf_fon],dword[buf_displ],315*210*3;dword[displ_bytes] ;ª®¯¨à®¢ ¨¥ ¨§®¡à ¦¥¨ï ¨§ ä®®¢®£® ¡ãä¥à |
851 | call DrawZaac ;à¨á㥬 § ©æ |
859 | call DrawZaac ;à¨á㥬 § ©æ |
852 | call DrawWolf ;à¨á㥬 ¢®«ª |
860 | call DrawWolf ;à¨á㥬 ¢®«ª |
853 | call DrawEggs ;à¨á㥬 ï©æ |
861 | call DrawEggs ;à¨á㥬 ï©æ |
854 | 862 | ||
855 | push eax |
863 | push eax |
856 | mov eax,dword[displ_w] |
864 | mov eax,dword[displ_w] |
857 | shr eax,1 |
865 | shr eax,1 |
858 | stdcall [buf2d_draw_text], buf_displ, buf_font,game_text,eax,OFFS_SHADOW_X,[color_curici] ;à¨á㥬 áâபã á ⥪á⮬ |
866 | stdcall [buf2d_draw_text], buf_displ, buf_font,game_text,eax,OFFS_SHADOW_X,[color_curici] ;à¨á㥬 áâபã á ⥪á⮬ |
859 | pop eax |
867 | pop eax |
860 | stdcall [buf2d_draw], buf_displ |
868 | stdcall [buf2d_draw], buf_displ |
861 | ret |
869 | ret |
862 | 870 | ||
863 | align 4 |
871 | align 4 |
864 | button: |
872 | button: |
865 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
873 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
866 | if use_but eq 1 |
874 | if use_but eq 1 |
867 | cmp ah,5 |
875 | cmp ah,5 |
868 | jne @f |
876 | jne @f |
869 | stdcall InitGame,0 |
877 | stdcall InitGame,0 |
870 | @@: |
878 | @@: |
871 | cmp ah,6 |
879 | cmp ah,6 |
872 | jne @f |
880 | jne @f |
873 | stdcall InitGame,1 |
881 | stdcall InitGame,1 |
874 | @@: end if |
882 | @@: end if |
875 | cmp ah,1 |
883 | cmp ah,1 |
876 | jne still |
884 | jne still |
877 | .exit: |
885 | .exit: |
878 | stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à |
886 | stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à |
879 | stdcall [buf2d_delete],buf_displ ;㤠«ï¥¬ ¡ãä¥à |
887 | stdcall [buf2d_delete],buf_displ ;㤠«ï¥¬ ¡ãä¥à |
880 | 888 | ||
881 | stdcall [buf2d_delete],buf_font |
889 | stdcall [buf2d_delete],buf_font |
882 | 890 | ||
883 | cld |
891 | cld |
884 | mov ecx,3 |
892 | mov ecx,3 |
885 | mov edi,buf_decor |
893 | mov edi,buf_decor |
886 | @@: ;㤠«ï¥¬ 3 ¡ãä¥à |
894 | @@: ;㤠«ï¥¬ 3 ¡ãä¥à |
887 | stdcall [buf2d_delete],edi |
895 | stdcall [buf2d_delete],edi |
888 | add edi,BUF_STRUCT_SIZE |
896 | add edi,BUF_STRUCT_SIZE |
889 | loop @b |
897 | loop @b |
890 | mov ecx,9 |
898 | mov ecx,9 |
891 | mov edi,buf_wolf |
899 | mov edi,buf_wolf |
892 | @@: ;㤠«ï¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
900 | @@: ;㤠«ï¥¬ 9 ¡ãä¥à®¢ á ¢®«ª®¬ ¨ § ©æ¥¬ |
893 | stdcall [buf2d_delete],edi |
901 | stdcall [buf2d_delete],edi |
894 | add edi,BUF_STRUCT_SIZE |
902 | add edi,BUF_STRUCT_SIZE |
895 | loop @b |
903 | loop @b |
896 | mov ecx,13 |
904 | mov ecx,13 |
897 | mov edi,buf_chi |
905 | mov edi,buf_chi |
898 | @@: ;㤠«ï¥¬ 13 ¡ãä¥à®¢ |
906 | @@: ;㤠«ï¥¬ 13 ¡ãä¥à®¢ |
899 | stdcall [buf2d_delete],edi |
907 | stdcall [buf2d_delete],edi |
900 | add edi,BUF_STRUCT_SIZE |
908 | add edi,BUF_STRUCT_SIZE |
901 | loop @b |
909 | loop @b |
902 | mov ecx,22 |
910 | mov ecx,22 |
903 | mov edi,buf_egg |
911 | mov edi,buf_egg |
904 | @@: ;㤠«ï¥¬ 22 ¡ãä¥à |
912 | @@: ;㤠«ï¥¬ 22 ¡ãä¥à |
905 | stdcall [buf2d_delete],edi |
913 | stdcall [buf2d_delete],edi |
906 | add edi,BUF_STRUCT_SIZE |
914 | add edi,BUF_STRUCT_SIZE |
907 | loop @b |
915 | loop @b |
908 | 916 | ||
909 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
917 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
910 | 918 | ||
911 | head_f_i: |
919 | head_f_i: |
912 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
920 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
913 | 921 | ||
914 | system_dir0 db '/sys/lib/' |
922 | system_dir0 db '/sys/lib/' |
915 | name_buf2d db 'buf2d.obj',0 |
923 | name_buf2d db 'buf2d.obj',0 |
916 | err_message_found_lib0 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0 |
924 | err_message_found_lib0 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0 |
917 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0 |
925 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0 |
918 | 926 | ||
919 | system_dir1 db '/sys/lib/' |
927 | system_dir1 db '/sys/lib/' |
920 | name_libimg db 'libimg.obj',0 |
928 | name_libimg db 'libimg.obj',0 |
921 | err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
929 | err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
922 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
930 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
923 | 931 | ||
924 | system_dir2 db '/sys/lib/' |
932 | system_dir2 db '/sys/lib/' |
925 | libini_name db 'libini.obj',0 |
933 | libini_name db 'libini.obj',0 |
926 | err_message_found_lib2 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libini.obj',0 |
934 | err_message_found_lib2 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libini.obj',0 |
927 | err_message_import2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libini.obj',0 |
935 | err_message_import2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libini.obj',0 |
928 | 936 | ||
929 | ;library structures |
937 | ;library structures |
930 | l_libs_start: |
938 | l_libs_start: |
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 |
939 | 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 |
940 | 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 |
941 | 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 |
934 | load_lib_end: |
942 | load_lib_end: |
935 | 943 | ||
936 | align 4 |
944 | align 4 |
937 | proc mem_copy, source:dword, destination:dword, len:dword |
945 | proc mem_copy, source:dword, destination:dword, len:dword |
938 | push ecx esi edi |
946 | push ecx esi edi |
939 | cld |
947 | cld |
940 | mov esi, dword[source] |
948 | mov esi, dword[source] |
941 | mov edi, dword[destination] |
949 | mov edi, dword[destination] |
942 | mov ecx, dword[len] |
950 | mov ecx, dword[len] |
943 | rep movsb |
951 | rep movsb |
944 | pop edi esi ecx |
952 | pop edi esi ecx |
945 | ret |
953 | ret |
946 | endp |
954 | endp |
947 | 955 | ||
948 | align 4 |
956 | align 4 |
949 | convert_to_str: |
957 | convert_to_str: |
950 | pushad |
958 | pushad |
951 | ;mov eax,dword[value] |
959 | ;mov eax,dword[value] |
952 | ;mov edi,dword[text] |
960 | ;mov edi,dword[text] |
953 | mov dword[edi+1],0 |
961 | mov dword[edi+1],0 |
954 | cld |
962 | cld |
955 | call .str |
963 | call .str |
956 | popad |
964 | popad |
957 | ret |
965 | ret |
958 | 966 | ||
959 | 967 | ||
960 | align 4 |
968 | align 4 |
961 | .str: |
969 | .str: |
962 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
970 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
963 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
971 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
964 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
972 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
965 | jb @f |
973 | jb @f |
966 | xor edx,edx ;®ç¨áâ¨âì edx |
974 | xor edx,edx ;®ç¨áâ¨âì edx |
967 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
975 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
968 | push edx ;¯®«®¦¨âì ¢ á⥪ |
976 | push edx ;¯®«®¦¨âì ¢ á⥪ |
969 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
977 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
970 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
978 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
971 | pop eax |
979 | pop eax |
972 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
980 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
973 | ;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
981 | ;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
974 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
982 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
975 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
983 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
976 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
984 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
977 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
985 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
978 | 986 | ||
979 | 987 | ||
980 | last_time dd ? |
988 | last_time dd ? |
981 | image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg |
989 | image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg |
982 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
990 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
983 | 991 | ||
984 | run_file_70 FileInfoBlock |
992 | run_file_70 FileInfoBlock |
985 | hed db 'Nu pogodi 03.08.10',0 ;¯®¤¯¨áì ®ª |
993 | hed db 'Nu pogodi 03.08.10',0 ;¯®¤¯¨áì ®ª |
986 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
994 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
987 | 995 | ||
988 | align 4 |
996 | align 4 |
989 | buf_font: ;¡ãä¥à á® èà¨ä⮬ |
997 | buf_font: ;¡ãä¥à á® èà¨ä⮬ |
990 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
998 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
991 | dw 25 ;+4 left |
999 | dw 25 ;+4 left |
992 | dw 25 ;+6 top |
1000 | dw 25 ;+6 top |
993 | dd 128 ;+8 w |
1001 | dd 128 ;+8 w |
994 | dd 144 ;+12 h |
1002 | dd 144 ;+12 h |
995 | dd 0 ;+16 color |
1003 | dd 0 ;+16 color |
996 | db 24 ;+20 bit in pixel |
1004 | db 24 ;+20 bit in pixel |
997 | 1005 | ||
998 | align 4 |
1006 | align 4 |
999 | buf_displ: |
1007 | buf_displ: |
1000 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1008 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1001 | dw 25,0 |
1009 | dw 25,0 |
1002 | dd ? ;+8 w |
1010 | dd ? ;+8 w |
1003 | dd ? ;+12 h |
1011 | dd ? ;+12 h |
1004 | dd 0 ;+16 color |
1012 | dd 0 ;+16 color |
1005 | db 24 ;+20 bit in pixel |
1013 | db 24 ;+20 bit in pixel |
1006 | 1014 | ||
1007 | align 4 |
1015 | align 4 |
1008 | buf_fon: ;ä®®¢ë© ¡ãä¥à |
1016 | buf_fon: ;ä®®¢ë© ¡ãä¥à |
1009 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1017 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1010 | dw 0 ;+4 left |
1018 | dw 0 ;+4 left |
1011 | dw 0 ;+6 top |
1019 | dw 0 ;+6 top |
1012 | dd ? ;+8 w |
1020 | dd ? ;+8 w |
1013 | dd ? ;+12 h |
1021 | dd ? ;+12 h |
1014 | dd 0xffffff ;+16 color |
1022 | dd 0xffffff ;+16 color |
1015 | db 24 ;+20 bit in pixel |
1023 | db 24 ;+20 bit in pixel |
1016 | 1024 | ||
1017 | align 4 |
1025 | align 4 |
1018 | buf_decor: ;¡ãä¥à á ¤¥ª®à æ¨ï¬¨: ¤®¬¨ª ¬¨ ¨ ३ª ¬¨; á ªãà¨æ ¬¨; á à á⥨ﬨ |
1026 | buf_decor: ;¡ãä¥à á ¤¥ª®à æ¨ï¬¨: ¤®¬¨ª ¬¨ ¨ ३ª ¬¨; á ªãà¨æ ¬¨; á à á⥨ﬨ |
1019 | rb 3*BUF_STRUCT_SIZE |
1027 | rb 3*BUF_STRUCT_SIZE |
1020 | 1028 | ||
1021 | align 4 |
1029 | align 4 |
1022 | buf_wolf: |
1030 | buf_wolf: |
1023 | rb 9*BUF_STRUCT_SIZE |
1031 | rb 9*BUF_STRUCT_SIZE |
1024 | 1032 | ||
1025 | align 4 |
1033 | align 4 |
1026 | buf_egg: |
1034 | buf_egg: |
1027 | rb 22*BUF_STRUCT_SIZE |
1035 | rb 22*BUF_STRUCT_SIZE |
1028 | 1036 | ||
1029 | align 4 |
1037 | align 4 |
1030 | buf_chi: |
1038 | buf_chi: |
1031 | rb 13*BUF_STRUCT_SIZE |
1039 | rb 13*BUF_STRUCT_SIZE |
1032 | 1040 | ||
1033 | 1041 | ||
1034 | 1042 | ||
1035 | align 4 |
1043 | align 4 |
1036 | libini_import: |
1044 | libini_import: |
1037 | dd alib_init0 |
1045 | dd alib_init0 |
1038 | ini_get_str dd aini_get_str |
1046 | ini_get_str dd aini_get_str |
1039 | ini_get_int dd aini_get_int |
1047 | ini_get_int dd aini_get_int |
1040 | ini_get_color dd aini_get_color |
1048 | ini_get_color dd aini_get_color |
1041 | dd 0,0 |
1049 | dd 0,0 |
1042 | alib_init0 db 'lib_init',0 |
1050 | alib_init0 db 'lib_init',0 |
1043 | aini_get_str db 'ini_get_str',0 |
1051 | aini_get_str db 'ini_get_str',0 |
1044 | aini_get_int db 'ini_get_int',0 |
1052 | aini_get_int db 'ini_get_int',0 |
1045 | aini_get_color db 'ini_get_color',0 |
1053 | aini_get_color db 'ini_get_color',0 |
1046 | 1054 | ||
1047 | align 4 |
1055 | align 4 |
1048 | import_libimg: |
1056 | import_libimg: |
1049 | dd alib_init1 |
1057 | dd alib_init1 |
1050 | img_is_img dd aimg_is_img |
1058 | img_is_img dd aimg_is_img |
1051 | img_info dd aimg_info |
1059 | img_info dd aimg_info |
1052 | img_from_file dd aimg_from_file |
1060 | img_from_file dd aimg_from_file |
1053 | img_to_file dd aimg_to_file |
1061 | img_to_file dd aimg_to_file |
1054 | img_from_rgb dd aimg_from_rgb |
1062 | img_from_rgb dd aimg_from_rgb |
1055 | img_to_rgb dd aimg_to_rgb |
1063 | img_to_rgb dd aimg_to_rgb |
1056 | img_to_rgb2 dd aimg_to_rgb2 |
1064 | img_to_rgb2 dd aimg_to_rgb2 |
1057 | img_decode dd aimg_decode |
1065 | img_decode dd aimg_decode |
1058 | img_encode dd aimg_encode |
1066 | img_encode dd aimg_encode |
1059 | img_create dd aimg_create |
1067 | img_create dd aimg_create |
1060 | img_destroy dd aimg_destroy |
1068 | img_destroy dd aimg_destroy |
1061 | img_destroy_layer dd aimg_destroy_layer |
1069 | img_destroy_layer dd aimg_destroy_layer |
1062 | img_count dd aimg_count |
1070 | img_count dd aimg_count |
1063 | img_lock_bits dd aimg_lock_bits |
1071 | img_lock_bits dd aimg_lock_bits |
1064 | img_unlock_bits dd aimg_unlock_bits |
1072 | img_unlock_bits dd aimg_unlock_bits |
1065 | img_flip dd aimg_flip |
1073 | img_flip dd aimg_flip |
1066 | img_flip_layer dd aimg_flip_layer |
1074 | img_flip_layer dd aimg_flip_layer |
1067 | img_rotate dd aimg_rotate |
1075 | img_rotate dd aimg_rotate |
1068 | img_rotate_layer dd aimg_rotate_layer |
1076 | img_rotate_layer dd aimg_rotate_layer |
1069 | img_draw dd aimg_draw |
1077 | img_draw dd aimg_draw |
1070 | 1078 | ||
1071 | dd 0,0 |
1079 | dd 0,0 |
1072 | alib_init1 db 'lib_init',0 |
1080 | alib_init1 db 'lib_init',0 |
1073 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1081 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1074 | aimg_info db 'img_info',0 |
1082 | aimg_info db 'img_info',0 |
1075 | aimg_from_file db 'img_from_file',0 |
1083 | aimg_from_file db 'img_from_file',0 |
1076 | aimg_to_file db 'img_to_file',0 |
1084 | aimg_to_file db 'img_to_file',0 |
1077 | aimg_from_rgb db 'img_from_rgb',0 |
1085 | aimg_from_rgb db 'img_from_rgb',0 |
1078 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1086 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1079 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1087 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1080 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1088 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1081 | aimg_encode db 'img_encode',0 |
1089 | aimg_encode db 'img_encode',0 |
1082 | aimg_create db 'img_create',0 |
1090 | aimg_create db 'img_create',0 |
1083 | aimg_destroy db 'img_destroy',0 |
1091 | aimg_destroy db 'img_destroy',0 |
1084 | aimg_destroy_layer db 'img_destroy_layer',0 |
1092 | aimg_destroy_layer db 'img_destroy_layer',0 |
1085 | aimg_count db 'img_count',0 |
1093 | aimg_count db 'img_count',0 |
1086 | aimg_lock_bits db 'img_lock_bits',0 |
1094 | aimg_lock_bits db 'img_lock_bits',0 |
1087 | aimg_unlock_bits db 'img_unlock_bits',0 |
1095 | aimg_unlock_bits db 'img_unlock_bits',0 |
1088 | aimg_flip db 'img_flip',0 |
1096 | aimg_flip db 'img_flip',0 |
1089 | aimg_flip_layer db 'img_flip_layer',0 |
1097 | aimg_flip_layer db 'img_flip_layer',0 |
1090 | aimg_rotate db 'img_rotate',0 |
1098 | aimg_rotate db 'img_rotate',0 |
1091 | aimg_rotate_layer db 'img_rotate_layer',0 |
1099 | aimg_rotate_layer db 'img_rotate_layer',0 |
1092 | aimg_draw db 'img_draw',0 |
1100 | aimg_draw db 'img_draw',0 |
1093 | 1101 | ||
1094 | align 4 |
1102 | align 4 |
1095 | import_buf2d_lib: |
1103 | import_buf2d_lib: |
1096 | dd sz_lib_init |
1104 | dd sz_lib_init |
1097 | buf2d_create dd sz_buf2d_create |
1105 | buf2d_create dd sz_buf2d_create |
1098 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1106 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1099 | buf2d_clear dd sz_buf2d_clear |
1107 | buf2d_clear dd sz_buf2d_clear |
1100 | buf2d_draw dd sz_buf2d_draw |
1108 | buf2d_draw dd sz_buf2d_draw |
1101 | buf2d_delete dd sz_buf2d_delete |
1109 | buf2d_delete dd sz_buf2d_delete |
1102 | buf2d_line dd sz_buf2d_line |
1110 | buf2d_line dd sz_buf2d_line |
1103 | buf2d_circle dd sz_buf2d_circle |
1111 | buf2d_circle dd sz_buf2d_circle |
1104 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1112 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1105 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1113 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1106 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1114 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1107 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1115 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1108 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1116 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1109 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1117 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1110 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1118 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1111 | buf2d_cruve_bezier dd sz_buf2d_cruve_bezier |
1119 | buf2d_cruve_bezier dd sz_buf2d_cruve_bezier |
1112 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1120 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1113 | buf2d_draw_text dd sz_buf2d_draw_text |
1121 | buf2d_draw_text dd sz_buf2d_draw_text |
1114 | buf2d_crop_color dd sz_buf2d_crop_color |
1122 | buf2d_crop_color dd sz_buf2d_crop_color |
1115 | buf2d_offset_h dd sz_buf2d_offset_h |
1123 | buf2d_offset_h dd sz_buf2d_offset_h |
1116 | dd 0,0 |
1124 | dd 0,0 |
1117 | sz_lib_init db 'lib_init',0 |
1125 | sz_lib_init db 'lib_init',0 |
1118 | sz_buf2d_create db 'buf2d_create',0 |
1126 | sz_buf2d_create db 'buf2d_create',0 |
1119 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1127 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1120 | sz_buf2d_clear db 'buf2d_clear',0 |
1128 | sz_buf2d_clear db 'buf2d_clear',0 |
1121 | sz_buf2d_draw db 'buf2d_draw',0 |
1129 | sz_buf2d_draw db 'buf2d_draw',0 |
1122 | sz_buf2d_delete db 'buf2d_delete',0 |
1130 | sz_buf2d_delete db 'buf2d_delete',0 |
1123 | sz_buf2d_line db 'buf2d_line',0 |
1131 | sz_buf2d_line db 'buf2d_line',0 |
1124 | sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ¨¥ ®ªà㦮á⨠|
1132 | sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ¨¥ ®ªà㦮á⨠|
1125 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1133 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1126 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1134 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1127 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1135 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1128 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1136 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1129 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1137 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1130 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1138 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1131 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1139 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1132 | sz_buf2d_cruve_bezier db 'buf2d_cruve_bezier',0 |
1140 | sz_buf2d_cruve_bezier db 'buf2d_cruve_bezier',0 |
1133 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1141 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1134 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1142 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1135 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1143 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1136 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1144 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1137 | 1145 | ||
1138 | i_end: |
1146 | i_end: |
1139 | rb 1024 |
1147 | rb 1024 |
1140 | align 16 |
1148 | align 16 |
1141 | procinfo process_information |
1149 | procinfo process_information |
1142 | stacktop: |
1150 | stacktop: |
1143 | sys_path rb 4096 |
1151 | sys_path rb 4096 |
1144 | file_name: |
1152 | file_name: |
1145 | rb 4096 |
1153 | rb 4096 |
1146 | plugin_path: |
1154 | plugin_path: |
1147 | rb 4096 |
1155 | rb 4096 |
1148 | openfile_path: |
1156 | openfile_path: |
1149 | rb 4096 |
1157 | rb 4096 |
1150 | filename_area: |
1158 | filename_area: |
1151 | rb 256 |
1159 | rb 256 |
1152 | mem:-> |
1160 | mem:-> |