Rev 3450 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3450 | Rev 6763 | ||
---|---|---|---|
Line 32... | Line 32... | ||
32 | jmp .next |
32 | jmp .next |
33 | .insert_number: |
33 | .insert_number: |
34 | bt word [ch6.flags],1 |
34 | bt word [ch6.flags],1 |
35 | jnc @f |
35 | jnc @f |
36 | mov eax,[cur_number] |
36 | mov eax,[cur_number] |
37 | ;mov ebx,4 |
- | |
38 | movsx ebx,byte [sign_n] |
37 | movsx ebx,byte [sign_n] |
39 | push ebx |
38 | push ebx |
40 | call int_to_str |
39 | call int_to_str |
41 | pop ebx |
40 | pop ebx |
42 | add edi,ebx |
41 | add edi,ebx |
43 | @@: |
42 | @@: |
44 | inc esi |
43 | inc esi |
45 | jmp .next |
44 | jmp .next |
46 | .str_end: |
45 | .str_end: |
Line 47... | Line 46... | ||
47 | 46 | ||
Line 48... | Line -... | ||
48 | ;;;;clean memory |
- | |
49 | - | ||
50 | mov ecx,dword [sf_buf.bmp_header] |
- | |
51 | mov ebx,13 |
- | |
52 | mov eax,68 |
- | |
53 | mcall |
- | |
54 | - | ||
55 | ; ëç¨á«ï¥¬, ᪮«ìª® ¡ ©â 㦮 ¯à¨¡ ¢«ïâì ª ª ¦¤®© áâப¥, |
- | |
56 | ; ç⮡ë á«¥¤ãîé ï ¡ë« ¢ëà ¢¥ 4 ¡ ©â . |
- | |
57 | ; ¥§ã«ìâ â ¯®¬¥é ¥¬ ¢ edi. |
- | |
58 | - | ||
59 | xor edx,edx |
- | |
60 | movzx eax,word [scr_buf.width] ; eax = è¨à¨ ª à⨪¨ |
- | |
61 | lea eax,[eax*3] ; eax = ¡ ©â áâப㠪 à⨪¨ |
- | |
62 | mov ebx,4 ; ebx = 4 |
- | |
63 | mov edi,ebx ; edi = 4 |
- | |
64 | div ebx ; eax = ¡ ©â áâப㠪 à⨪¨ div 4 edx = ¡ ©â... mod 4 |
47 | mcall SF_SYS_MISC, SSF_MEM_FREE, [sf_buf.bmp_header] |
65 | sub edi,edx ; edi = ª®«¨ç¥á⢮ ¡ ©â |
- | |
66 | test edx,edx |
- | |
67 | jnz @f |
- | |
68 | xor edi,edi |
- | |
69 | @@: |
- | |
70 | - | ||
71 | ; ¢ë¤¥«ï¥¬ ¯ ¬ïâì |
- | |
72 | ; mov ecx,[scr_buf.end_ptr] |
- | |
73 | ; mov [sf_buf.bmp_header],ecx |
- | |
74 | - | ||
75 | ; add ecx,0x36 |
48 | |
76 | ; mov [sf_buf.bmp_area],ecx |
49 | ;create image struct |
- | 50 | movsx ebx,word[scr_buf.width] |
|
77 | movsx ebx,word [scr_buf.width] |
51 | movsx edx,word[scr_buf.height] |
- | 52 | stdcall [img_create], ebx, edx, Image.bpp24 |
|
- | 53 | mov [sf_buf.bmp_area],eax |
|
78 | movsx edx,word [scr_buf.height] |
54 | test eax,eax |
- | 55 | jz @f |
|
79 | ;imul ebx,edx |
56 | ;copy foto to image buffer |
- | 57 | mov edi,[eax+Image.Data] |
|
- | 58 | mov esi,[scr_buf.ptr] |
|
80 | lea ebx,[ebx*3] |
59 | movsx ecx,word[scr_buf.width] |
81 | add ebx,edi |
60 | movsx edx,word[scr_buf.height] |
- | 61 | imul ecx,edx |
|
82 | imul ebx,edx |
62 | imul ecx,3 |
83 | mov ecx,ebx |
- | |
84 | 63 | rep movsb |
|
85 | ; mov [sf_buf.end],ecx |
64 | |
86 | add ecx,0x36 |
65 | ;encode image |
87 | mov ebx,12 |
66 | stdcall [img_encode], eax, LIBIMG_FORMAT_PNG, 0 |
Line 88... | Line 67... | ||
88 | mov eax,68 |
67 | test eax,eax |
89 | mcall |
- | |
90 | 68 | jz @f |
|
91 | mov [sf_buf.bmp_header],eax |
69 | |
92 | add eax,0x36 |
- | |
93 | mov [sf_buf.bmp_area],eax |
70 | mov [sf_buf.bmp_header],eax |
Line 94... | Line -... | ||
94 | add eax,ecx |
- | |
95 | sub eax,0x36 |
71 | mov [sf_buf.end],ecx |
96 | mov [sf_buf.end],eax |
72 | @@: |
97 | 73 | stdcall [img_destroy], [sf_buf.bmp_area] |
|
Line 98... | Line 74... | ||
98 | ; push edi |
74 | |
99 | ; § ¯®«ï¥¬ áâàãªâãàã ¤«ï á®åà ¥¨ï ä ©« |
75 | ; § ¯®«ï¥¬ áâàãªâãàã ¤«ï á®åà ¥¨ï ä ©« |
100 | mov ebp,fs_struc |
- | |
101 | mov [ebp],dword 2 |
76 | mov ebp,fs_struc |
102 | 77 | mov [ebp],dword SSF_CREATE_FILE |
|
103 | mov eax,[sf_buf.bmp_header] |
78 | |
Line 104... | Line -... | ||
104 | mov ebx,[sf_buf.end] |
- | |
105 | sub ebx,eax |
- | |
106 | mov [ebp+12],ebx |
- | |
107 | mov [ebp+16],eax |
- | |
108 | mov [ebp+21],dword file_name |
- | |
109 | - | ||
110 | ; § ¯®«ï¥¬ § £®«®¢®ª bmp |
- | |
111 | mov ebp,[sf_buf.bmp_header] |
- | |
112 | mov [ebp],word 'BM' |
- | |
113 | mov ebx,[sf_buf.end] |
- | |
114 | sub ebx,[sf_buf.bmp_area] |
- | |
115 | mov [ebp+34],ebx ; à §¬¥à ª à⨪¨ |
- | |
116 | mov [ebp+10],dword 0x36 ; à §¬¥à § £®«®¢ª |
- | |
117 | add ebx,0x36 |
- | |
118 | mov [ebp+2],ebx ; à §¬¥à ä ©« |
- | |
119 | mov [ebp+14],dword 0x28 |
- | |
120 | movzx eax,word [scr_buf.width] |
- | |
121 | mov [ebp+18],eax ; £®à¨§®â «ìë© à §¬¥à |
- | |
122 | movzx eax,word [scr_buf.height] |
- | |
123 | mov [ebp+22],eax ; ¢¥à⨪«ìë© à §¬¥à |
- | |
124 | mov [ebp+26],word 1 |
- | |
125 | mov [ebp+28],word 24 |
- | |
126 | - | ||
127 | ; á®åà 塞 |
- | |
128 | mov esi,[scr_buf.ptr] |
- | |
129 | mov edi,[sf_buf.end] |
- | |
130 | movzx edx,word [scr_buf.height] |
- | |
131 | movzx ebx,word [scr_buf.width] |
- | |
132 | lea ebx,[ebx*3] |
- | |
133 | mov ecx,ebx |
- | |
134 | - | ||
135 | test ebx,11b |
- | |
136 | jz @f |
- | |
137 | shr ebx,2 |
- | |
138 | inc ebx |
- | |
139 | shl ebx,2 |
- | |
140 | @@: |
- | |
141 | mov eax,ebx |
- | |
142 | sub eax,ecx |
- | |
143 | cld |
- | |
144 | align 4 |
- | |
145 | .next_str: |
- | |
146 | sub edi,ebx |
- | |
147 | mov ecx,ebx |
- | |
148 | shr ecx,2 |
- | |
149 | rep movsd |
79 | mov eax,[sf_buf.bmp_header] |
150 | sub edi,ebx |
- | |
151 | sub esi,eax |
80 | mov ecx,[sf_buf.end] |
152 | dec edx |
- | |
Line 153... | Line 81... | ||
153 | jnz .next_str |
81 | mov [ebp+12],ecx ;file size |
154 | 82 | mov [ebp+16],eax |
|
Line 155... | Line 83... | ||
155 | draw_status saving |
83 | mov [ebp+21],dword file_name |