Subversion Repositories Kolibri OS

Rev

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