Rev 195 | Rev 409 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 195 | Rev 408 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | ;* * |
4 | ;* * |
5 | ;* Compile with flat assembler * |
5 | ;* Compile with flat assembler * |
6 | ;* * |
6 | ;* * |
7 | ;******************************** |
7 | ;******************************** |
8 | ; 22.02.05 was modified for work with new multi-thread ICON. |
8 | ; 22.02.05 was modified for work with new multi-thread ICON. |
- | 9 | ; 8.03.07 ïåðåõîä íà 70 ôóíêöèþ by SPraid |
|
9 | ;****************************************************************************** |
10 | ;****************************************************************************** |
10 | RAW_SIZE equ 350000 |
11 | RAW_SIZE equ 350000 |
11 | ICON_SIZE equ 32*32*3 |
12 | ICON_SIZE equ 32*32*3 |
12 | GIF_SIZE equ 45000 |
13 | GIF_SIZE equ 45000 |
13 | REC_SIZE equ 80 |
14 | REC_SIZE equ 80 |
Line 30... | Line 31... | ||
30 | include 'gif_lite.inc' |
31 | include 'gif_lite.inc' |
31 | ;include 'debug.inc' |
32 | ;include 'debug.inc' |
32 | purge newline |
33 | purge newline |
33 | ;****************************************************************************** |
34 | ;****************************************************************************** |
34 | START: ; start of execution |
35 | START: ; start of execution |
35 | mcall 58,finfo |
36 | mcall 70,finfo |
36 | cmp ebx,GIF_SIZE |
37 | cmp ebx,GIF_SIZE |
37 | ja close |
38 | ja close |
38 | mov esi,gif_file |
39 | mov esi,gif_file |
39 | mov edi,strip_file |
40 | mov edi,strip_file |
40 | mov eax,icon_data |
41 | mov eax,icon_data |
Line 137... | Line 138... | ||
137 | cmp eax,21 ; apply changes |
138 | cmp eax,21 ; apply changes |
138 | jne no_apply |
139 | jne no_apply |
Line 139... | Line 140... | ||
139 | 140 | ||
Line 140... | Line 141... | ||
140 | ; (1) save list |
141 | ; (1) save list |
141 | 142 | ||
142 | mov ebx,finfo |
143 | mov ebx,finfo ; Change by spraid |
143 | mov dword[ebx],1 |
144 | mov dword[ebx],2 |
144 | mov edx,REC_SIZE |
145 | mov edx,REC_SIZE |
145 | imul edx,dword [icons] |
146 | imul edx,dword [icons] |
146 | mov [ebx+8],edx |
147 | mov [ebx+12],edx |
147 | mov esi,iconlst |
148 | mov esi,iconlst |
Line 148... | Line 149... | ||
148 | call lst_path |
149 | call lst_path |
149 | mcall 58 |
150 | int 0x40 |
150 | 151 | ||
151 | ; (2) terminate all icons |
152 | ; (2) terminate all icons |
Line 189... | Line 190... | ||
189 | dd 0 |
190 | dd 0 |
190 | dd 0 |
191 | dd 0 |
191 | db 0 |
192 | db 0 |
192 | dd finfo.path |
193 | dd finfo.path |
Line -... | Line 194... | ||
- | 194 | ||
- | 195 | ||
193 | 196 | ||
194 | finfo: |
197 | finfo: |
195 | dd 0 |
198 | dd 0 |
- | 199 | dd 0 |
|
196 | dd 0 |
200 | dd 0 |
197 | dd GIF_SIZE/512 |
201 | dd GIF_SIZE |
198 | dd gif_file |
- | |
199 | dd icon_data |
202 | dd gif_file |
200 | .path: |
203 | .path: |
201 | db ICON_STRIP,0 |
204 | db ICON_STRIP,0 |
Line -... | Line 205... | ||
- | 205 | rb 31-($-.path) |
|
202 | rb 31-($-.path) |
206 | |
Line 203... | Line 207... | ||
203 | 207 | ||
Line 204... | Line 208... | ||
204 | all_terminated: |
208 | all_terminated: |
Line 472... | Line 476... | ||
472 | rep movsb |
476 | rep movsb |
473 | ret |
477 | ret |
Line 474... | Line 478... | ||
474 | 478 | ||
475 | load_ic: |
479 | load_ic: |
476 | mov ebx,finfo |
480 | mov ebx,finfo |
477 | mov dword[ebx+8],(48*REC_SIZE)shr 9+1 |
481 | mov dword[ebx+12],48*REC_SIZE |
478 | mov dword[ebx+12],icon_data |
- | |
479 | mov dword[ebx+16],gif_file |
482 | mov dword[ebx+16],icon_data |
480 | mov esi,iconlst |
483 | mov esi,iconlst |
481 | call lst_path |
484 | call lst_path |
482 | mcall 58 |
485 | mcall 70 |
483 | lea eax,[ebx+10] |
486 | lea eax,[ebx+10] |
484 | xor edx,edx |
487 | xor edx,edx |
485 | mov ebx,REC_SIZE |
488 | mov ebx,REC_SIZE |
486 | div ebx |
489 | div ebx |