Rev 1611 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1611 | Rev 1702 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; UNIFORM WINDOW COLOURS & SKIN |
2 | ; UNIFORM WINDOW COLOURS & SKIN |
3 | ; |
3 | ; |
4 | ; Compile with FASM for Menuet |
4 | ; Compile with FASM for Menuet |
5 | ; |
5 | ; |
6 | ; < russian edition by Ivan Poddubny > |
6 | ; < russian edition by Ivan Poddubny > |
7 | ; < skin selection by Mike Semenyako > |
7 | ; < skin selection by Mike Semenyako > |
8 | ; |
8 | ; |
9 | ; last update: 10/09/2010 |
9 | ; last update: 10/09/2010 |
10 | ; written by: Marat Zakiyanov aka Mario79, aka Mario |
10 | ; written by: Marat Zakiyanov aka Mario79, aka Mario |
11 | ; changes: select path with OpenDialog |
11 | ; changes: select path with OpenDialog |
12 | ;****************************************************************************** |
12 | ;****************************************************************************** |
13 | use32 |
13 | use32 |
14 | org 0 |
14 | org 0 |
15 | db 'MENUET01' ; identifier |
15 | db 'MENUET01' ; identifier |
16 | dd 1 ; header version |
16 | dd 1 ; header version |
17 | dd START ; start address |
17 | dd START ; start address |
18 | dd I_END ; file size |
18 | dd I_END ; file size |
19 | dd i_end ;28000h ; memory |
19 | dd i_end ;28000h ; memory |
20 | dd stacktop ; stack pointer |
20 | dd stacktop ; stack pointer |
21 | dd skin_info ; parameters |
21 | dd skin_info ; parameters |
22 | dd cur_dir_path ; path to file |
22 | dd cur_dir_path ; path to file |
23 | 23 | ||
24 | include 'lang.inc' |
24 | include 'lang.inc' |
- | 25 | include '../../../config.inc' ;for nightbuild |
|
25 | include '../../../macros.inc' |
26 | include '../../../macros.inc' |
26 | include 'kglobals.inc' |
27 | include 'kglobals.inc' |
27 | include 'unpacker.inc' |
28 | include 'unpacker.inc' |
28 | include '../../../develop/libraries/box_lib/load_lib.mac' |
29 | include '../../../develop/libraries/box_lib/load_lib.mac' |
29 | @use_library |
30 | @use_library |
30 | ;****************************************************************************** |
31 | ;****************************************************************************** |
31 | 32 | ||
32 | 33 | ||
33 | struct SKIN_HEADER |
34 | struct SKIN_HEADER |
34 | ident dd ? |
35 | ident dd ? |
35 | version dd ? |
36 | version dd ? |
36 | params dd ? |
37 | params dd ? |
37 | buttons dd ? |
38 | buttons dd ? |
38 | bitmaps dd ? |
39 | bitmaps dd ? |
39 | ends |
40 | ends |
40 | 41 | ||
41 | struct SKIN_PARAMS |
42 | struct SKIN_PARAMS |
42 | skin_height dd ? |
43 | skin_height dd ? |
43 | margin.right dw ? |
44 | margin.right dw ? |
44 | margin.left dw ? |
45 | margin.left dw ? |
45 | margin.bottom dw ? |
46 | margin.bottom dw ? |
46 | margin.top dw ? |
47 | margin.top dw ? |
47 | colors.inner dd ? |
48 | colors.inner dd ? |
48 | colors.outer dd ? |
49 | colors.outer dd ? |
49 | colors.frame dd ? |
50 | colors.frame dd ? |
50 | colors_1.inner dd ? |
51 | colors_1.inner dd ? |
51 | colors_1.outer dd ? |
52 | colors_1.outer dd ? |
52 | colors_1.frame dd ? |
53 | colors_1.frame dd ? |
53 | dtp.size dd ? |
54 | dtp.size dd ? |
54 | dtp.data db 40 dup (?) |
55 | dtp.data db 40 dup (?) |
55 | ends |
56 | ends |
56 | 57 | ||
57 | struct SKIN_BUTTONS |
58 | struct SKIN_BUTTONS |
58 | type dd ? |
59 | type dd ? |
59 | pos: |
60 | pos: |
60 | left dw ? |
61 | left dw ? |
61 | top dw ? |
62 | top dw ? |
62 | size: |
63 | size: |
63 | width dw ? |
64 | width dw ? |
64 | height dw ? |
65 | height dw ? |
65 | ends |
66 | ends |
66 | 67 | ||
67 | struct SKIN_BITMAPS |
68 | struct SKIN_BITMAPS |
68 | kind dw ? |
69 | kind dw ? |
69 | type dw ? |
70 | type dw ? |
70 | _data dd ? |
71 | _data dd ? |
71 | ends |
72 | ends |
72 | 73 | ||
73 | 74 | ||
74 | START: ; start of execution |
75 | START: ; start of execution |
75 | ;--------------------------------------------------------------------- |
76 | ;--------------------------------------------------------------------- |
76 | mcall 68,11 |
77 | mcall 68,11 |
77 | 78 | ||
78 | test eax,eax |
79 | test eax,eax |
79 | jz close |
80 | jz close |
80 | 81 | ||
81 | load_libraries l_libs_start,end_l_libs |
82 | load_libraries l_libs_start,end_l_libs |
82 | 83 | ||
83 | ;if return code =-1 then exit, else nornary work |
84 | ;if return code =-1 then exit, else nornary work |
84 | ; cmp eax,-1 |
85 | ; cmp eax,-1 |
85 | inc eax |
86 | inc eax |
86 | test eax,eax |
87 | test eax,eax |
87 | jz close |
88 | jz close |
88 | 89 | ||
89 | ;--------------------------------------------------------------------- |
90 | ;--------------------------------------------------------------------- |
90 | mov edi,filename_area |
91 | mov edi,filename_area |
91 | mov esi,start_temp_file_name |
92 | mov esi,start_temp_file_name |
92 | xor eax,eax |
93 | xor eax,eax |
93 | cld |
94 | cld |
94 | @@: |
95 | @@: |
95 | lodsb |
96 | lodsb |
96 | stosb |
97 | stosb |
97 | test eax,eax |
98 | test eax,eax |
98 | jnz @b |
99 | jnz @b |
99 | 100 | ||
100 | 101 | ||
101 | mov edi,fname |
102 | mov edi,fname |
102 | mov esi,default_dtp |
103 | mov esi,default_dtp |
103 | xor eax,eax |
104 | xor eax,eax |
104 | cld |
105 | cld |
105 | @@: |
106 | @@: |
106 | lodsb |
107 | lodsb |
107 | stosb |
108 | stosb |
108 | test eax,eax |
109 | test eax,eax |
109 | jnz @b |
110 | jnz @b |
110 | 111 | ||
111 | ;--------------------------------------------------------------------- |
112 | ;--------------------------------------------------------------------- |
112 | ; mov esi, param |
113 | ; mov esi, param |
113 | ; cmp byte [esi], 0 |
114 | ; cmp byte [esi], 0 |
114 | ; je @f |
115 | ; je @f |
115 | ; jnz has_param |
116 | ; jnz has_param |
116 | ; mov esi,default_skn |
117 | ; mov esi,default_skn |
117 | ; mov edi,fname |
118 | ; mov edi,fname |
118 | ; mov ecx,default_skn.size |
119 | ; mov ecx,default_skn.size |
119 | ; rep movsb |
120 | ; rep movsb |
120 | ; jmp skin_path_ready |
121 | ; jmp skin_path_ready |
121 | ;has_param: |
122 | ;has_param: |
122 | ; mov ecx, 256/4 |
123 | ; mov ecx, 256/4 |
123 | ; mov edi, fname |
124 | ; mov edi, fname |
124 | ; rep movsd |
125 | ; rep movsd |
125 | ; skin_path_ready |
126 | ; skin_path_ready |
126 | ;--------------------------------------------------------------------- |
127 | ;--------------------------------------------------------------------- |
127 | mov edi,skin_info |
128 | mov edi,skin_info |
128 | cmp byte [edi], 0 |
129 | cmp byte [edi], 0 |
129 | jne skin_path_ready |
130 | jne skin_path_ready |
130 | mov esi,default_skin |
131 | mov esi,default_skin |
131 | xor eax,eax |
132 | xor eax,eax |
132 | cld |
133 | cld |
133 | @@: |
134 | @@: |
134 | lodsb |
135 | lodsb |
135 | stosb |
136 | stosb |
136 | test eax,eax |
137 | test eax,eax |
137 | jnz @b |
138 | jnz @b |
138 | skin_path_ready: |
139 | skin_path_ready: |
139 | ;--------------------------------------------------------------------- |
140 | ;--------------------------------------------------------------------- |
140 | ;OpenDialog initialisation |
141 | ;OpenDialog initialisation |
141 | push dword OpenDialog_data |
142 | push dword OpenDialog_data |
142 | call [OpenDialog_Init] |
143 | call [OpenDialog_Init] |
143 | 144 | ||
144 | push dword OpenDialog_data2 |
145 | push dword OpenDialog_data2 |
145 | call [OpenDialog_Init] |
146 | call [OpenDialog_Init] |
146 | 147 | ||
147 | ; prepare for PathShow |
148 | ; prepare for PathShow |
148 | push dword PathShow_data_1 |
149 | push dword PathShow_data_1 |
149 | call [PathShow_prepare] |
150 | call [PathShow_prepare] |
150 | 151 | ||
151 | push dword PathShow_data_2 |
152 | push dword PathShow_data_2 |
152 | call [PathShow_prepare] |
153 | call [PathShow_prepare] |
153 | ;--------------------------------------------------------------------- |
154 | ;--------------------------------------------------------------------- |
154 | mov eax,48 ; get current colors |
155 | mov eax,48 ; get current colors |
155 | mov ebx,3 |
156 | mov ebx,3 |
156 | mov ecx,color_table |
157 | mov ecx,color_table |
157 | mov edx,4*10 |
158 | mov edx,4*10 |
158 | mcall |
159 | mcall |
159 | 160 | ||
160 | call load_skin_file.2 |
161 | call load_skin_file.2 |
161 | 162 | ||
162 | ; mov esi, default_dtp |
163 | ; mov esi, default_dtp |
163 | ; mov edi, fname |
164 | ; mov edi, fname |
164 | ; mov ecx, default_dtp.size |
165 | ; mov ecx, default_dtp.size |
165 | ; rep movsb |
166 | ; rep movsb |
166 | 167 | ||
167 | red: |
168 | red: |
168 | call draw_window ; at first, draw the window |
169 | call draw_window ; at first, draw the window |
169 | 170 | ||
170 | still: |
171 | still: |
171 | 172 | ||
172 | mov eax,23 ; wait here for event |
173 | mov eax,23 ; wait here for event |
173 | mov ebx,5 |
174 | mov ebx,5 |
174 | mcall |
175 | mcall |
175 | 176 | ||
176 | dec eax ; redraw request ? |
177 | dec eax ; redraw request ? |
177 | jz red |
178 | jz red |
178 | dec eax ; key in buffer ? |
179 | dec eax ; key in buffer ? |
179 | jz key |
180 | jz key |
180 | dec eax ; button in buffer ? |
181 | dec eax ; button in buffer ? |
181 | jz button |
182 | jz button |
182 | 183 | ||
183 | call draw_cursor |
184 | call draw_cursor |
184 | 185 | ||
185 | jmp still |
186 | jmp still |
186 | 187 | ||
187 | 188 | ||
188 | key: ; key |
189 | key: ; key |
189 | mov al,2 ; just read it and ignore |
190 | mov al,2 ; just read it and ignore |
190 | mcall |
191 | mcall |
191 | jmp still |
192 | jmp still |
192 | 193 | ||
193 | button: ; button |
194 | button: ; button |
194 | mov al,17 ; get id |
195 | mov al,17 ; get id |
195 | mcall |
196 | mcall |
196 | 197 | ||
197 | ; cmp ah,11 ; read string |
198 | ; cmp ah,11 ; read string |
198 | ; jne no_string |
199 | ; jne no_string |
199 | ; call read_string |
200 | ; call read_string |
200 | ; jmp still |
201 | ; jmp still |
201 | ; no_string: |
202 | ; no_string: |
202 | 203 | ||
203 | cmp ah,12 ; load file |
204 | cmp ah,12 ; load file |
204 | jne no_load |
205 | jne no_load |
205 | call load_file |
206 | call load_file |
206 | call draw_window |
207 | call draw_window |
207 | jmp still |
208 | jmp still |
208 | no_load: |
209 | no_load: |
209 | 210 | ||
210 | cmp ah,13 ; save file |
211 | cmp ah,13 ; save file |
211 | jne no_save |
212 | jne no_save |
212 | call save_file |
213 | call save_file |
213 | jmp still |
214 | jmp still |
214 | no_save: |
215 | no_save: |
215 | 216 | ||
216 | cmp ah,14 ; set 3d buttons |
217 | cmp ah,14 ; set 3d buttons |
217 | jne no_3d |
218 | jne no_3d |
218 | mov eax,48 |
219 | mov eax,48 |
219 | mov ebx,1 |
220 | mov ebx,1 |
220 | mov ecx,1 |
221 | mov ecx,1 |
221 | mcall |
222 | mcall |
222 | jmp doapply |
223 | jmp doapply |
223 | no_3d: |
224 | no_3d: |
224 | 225 | ||
225 | cmp ah,15 ; set flat buttons |
226 | cmp ah,15 ; set flat buttons |
226 | jne no_flat |
227 | jne no_flat |
227 | mcall 48, 1, 0 |
228 | mcall 48, 1, 0 |
228 | doapply: |
229 | doapply: |
229 | mcall 48, 0, 0 |
230 | mcall 48, 0, 0 |
230 | jmp still |
231 | jmp still |
231 | no_flat: |
232 | no_flat: |
232 | 233 | ||
233 | cmp ah,16 ; apply |
234 | cmp ah,16 ; apply |
234 | jne no_apply |
235 | jne no_apply |
235 | apply_direct: |
236 | apply_direct: |
236 | mov eax,48 |
237 | mov eax,48 |
237 | mov ebx,2 |
238 | mov ebx,2 |
238 | mov ecx,color_table |
239 | mov ecx,color_table |
239 | mov edx,10*4 |
240 | mov edx,10*4 |
240 | mcall |
241 | mcall |
241 | jmp doapply |
242 | jmp doapply |
242 | no_apply: |
243 | no_apply: |
243 | 244 | ||
244 | cmp ah,17 ; load skin file |
245 | cmp ah,17 ; load skin file |
245 | jne no_load_skin |
246 | jne no_load_skin |
246 | call load_skin_file |
247 | call load_skin_file |
247 | call draw_window |
248 | call draw_window |
248 | jmp still |
249 | jmp still |
249 | no_load_skin: |
250 | no_load_skin: |
250 | 251 | ||
251 | cmp ah,18 ; apply skin |
252 | cmp ah,18 ; apply skin |
252 | jne no_apply_skin |
253 | jne no_apply_skin |
253 | cmp [skin_info],0 |
254 | cmp [skin_info],0 |
254 | je no_apply_skin |
255 | je no_apply_skin |
255 | mcall 48,8,skin_info |
256 | mcall 48,8,skin_info |
256 | call draw_window |
257 | call draw_window |
257 | jmp still |
258 | jmp still |
258 | no_apply_skin: |
259 | no_apply_skin: |
259 | 260 | ||
260 | cmp ah,31 |
261 | cmp ah,31 |
261 | jb no_new_colour |
262 | jb no_new_colour |
262 | cmp ah,41 |
263 | cmp ah,41 |
263 | jg no_new_colour |
264 | jg no_new_colour |
264 | shr eax,8 |
265 | shr eax,8 |
265 | sub eax,31 |
266 | sub eax,31 |
266 | shl eax,2 |
267 | shl eax,2 |
267 | mov ebx,[color] |
268 | mov ebx,[color] |
268 | mov [eax+color_table],ebx |
269 | mov [eax+color_table],ebx |
269 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
270 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
270 | jne @f |
271 | jne @f |
271 | mov edi,[not_packed_area+SKIN_HEADER.params] |
272 | mov edi,[not_packed_area+SKIN_HEADER.params] |
272 | mov dword[edi+not_packed_area+SKIN_PARAMS.dtp.data+eax],ebx |
273 | mov dword[edi+not_packed_area+SKIN_PARAMS.dtp.data+eax],ebx |
273 | call draw_skin |
274 | call draw_skin |
274 | @@: call draw_colours |
275 | @@: call draw_colours |
275 | jmp still |
276 | jmp still |
276 | no_new_colour: |
277 | no_new_colour: |
277 | 278 | ||
278 | cmp ah,1 ; terminate |
279 | cmp ah,1 ; terminate |
279 | jnz noid1 |
280 | jnz noid1 |
280 | close: |
281 | close: |
281 | or eax,-1 |
282 | or eax,-1 |
282 | mcall |
283 | mcall |
283 | noid1: |
284 | noid1: |
284 | 285 | ||
285 | jmp still |
286 | jmp still |
286 | 287 | ||
287 | 288 | ||
288 | draw_cursor: |
289 | draw_cursor: |
289 | 290 | ||
290 | pusha |
291 | pusha |
291 | mov eax,37 |
292 | mov eax,37 |
292 | mov ebx,2 |
293 | mov ebx,2 |
293 | mcall |
294 | mcall |
294 | 295 | ||
295 | cmp eax,0 |
296 | cmp eax,0 |
296 | jne dc1 |
297 | jne dc1 |
297 | popa |
298 | popa |
298 | ret |
299 | ret |
299 | 300 | ||
300 | dc1: |
301 | dc1: |
301 | 302 | ||
302 | mov eax,37 |
303 | mov eax,37 |
303 | mov ebx,1 |
304 | mov ebx,1 |
304 | mcall |
305 | mcall |
305 | 306 | ||
306 | mov ebx,eax |
307 | mov ebx,eax |
307 | shr ebx,16 |
308 | shr ebx,16 |
308 | mov ecx,eax |
309 | mov ecx,eax |
309 | and ecx,0xffff |
310 | and ecx,0xffff |
310 | 311 | ||
311 | cmp ecx,32 |
312 | cmp ecx,32 |
312 | jbe no_color |
313 | jbe no_color |
313 | cmp ebx,32 |
314 | cmp ebx,32 |
314 | jbe no_color |
315 | jbe no_color |
315 | 316 | ||
316 | cmp ebx,266 ; CHANGE COLOR |
317 | cmp ebx,266 ; CHANGE COLOR |
317 | jb no_color |
318 | jb no_color |
318 | cmp ebx,266+20*3 |
319 | cmp ebx,266+20*3 |
319 | jg no_color |
320 | jg no_color |
320 | 321 | ||
321 | cmp ecx,30+128 |
322 | cmp ecx,30+128 |
322 | jge no_color |
323 | jge no_color |
323 | cmp ecx,30 |
324 | cmp ecx,30 |
324 | jb no_color |
325 | jb no_color |
325 | 326 | ||
326 | sub ebx,266 |
327 | sub ebx,266 |
327 | mov eax,ebx |
328 | mov eax,ebx |
328 | cdq |
329 | cdq |
329 | mov ebx,20 |
330 | mov ebx,20 |
330 | div ebx |
331 | div ebx |
331 | mov ebx,2 |
332 | mov ebx,2 |
332 | sub ebx,eax |
333 | sub ebx,eax |
333 | 334 | ||
334 | add ecx,-30 |
335 | add ecx,-30 |
335 | not ecx |
336 | not ecx |
336 | shl ecx,1 |
337 | shl ecx,1 |
337 | 338 | ||
338 | mov byte [ebx+color],cl |
339 | mov byte [ebx+color],cl |
339 | call draw_color |
340 | call draw_color |
340 | 341 | ||
341 | popa |
342 | popa |
342 | ret |
343 | ret |
343 | 344 | ||
344 | no_color: |
345 | no_color: |
345 | 346 | ||
346 | popa |
347 | popa |
347 | ret |
348 | ret |
348 | 349 | ||
349 | ;--------------------------------------------------------------------- |
350 | ;--------------------------------------------------------------------- |
350 | load_file: |
351 | load_file: |
351 | ;--------------------------------------------------------------------- |
352 | ;--------------------------------------------------------------------- |
352 | ; invoke OpenDialog |
353 | ; invoke OpenDialog |
353 | mov [OpenDialog_data.type],dword 0 |
354 | mov [OpenDialog_data.type],dword 0 |
354 | push dword OpenDialog_data |
355 | push dword OpenDialog_data |
355 | call [OpenDialog_Start] |
356 | call [OpenDialog_Start] |
356 | cmp [OpenDialog_data.status],1 |
357 | cmp [OpenDialog_data.status],1 |
357 | je .1 |
358 | je .1 |
358 | ret |
359 | ret |
359 | .1: |
360 | .1: |
360 | ; prepare for PathShow |
361 | ; prepare for PathShow |
361 | push dword PathShow_data_1 |
362 | push dword PathShow_data_1 |
362 | call [PathShow_prepare] |
363 | call [PathShow_prepare] |
363 | 364 | ||
364 | call draw_PathShow |
365 | call draw_PathShow |
365 | ;--------------------------------------------------------------------- |
366 | ;--------------------------------------------------------------------- |
366 | xor eax, eax |
367 | xor eax, eax |
367 | mov ebx, read_info |
368 | mov ebx, read_info |
368 | mov dword [ebx], eax ; subfunction: read |
369 | mov dword [ebx], eax ; subfunction: read |
369 | mov dword [ebx+4], eax ; offset (low dword) |
370 | mov dword [ebx+4], eax ; offset (low dword) |
370 | mov dword [ebx+8], eax ; offset (high dword) |
371 | mov dword [ebx+8], eax ; offset (high dword) |
371 | mov dword [ebx+12], 40 ; read colors file: 4*10 bytes |
372 | mov dword [ebx+12], 40 ; read colors file: 4*10 bytes |
372 | mov dword [ebx+16], color_table ; address |
373 | mov dword [ebx+16], color_table ; address |
373 | mcall 70 |
374 | mcall 70 |
374 | ret |
375 | ret |
375 | ;--------------------------------------------------------------------- |
376 | ;--------------------------------------------------------------------- |
376 | load_skin_file: |
377 | load_skin_file: |
377 | ;--------------------------------------------------------------------- |
378 | ;--------------------------------------------------------------------- |
378 | ; invoke OpenDialog |
379 | ; invoke OpenDialog |
379 | push dword OpenDialog_data2 |
380 | push dword OpenDialog_data2 |
380 | call [OpenDialog_Start] |
381 | call [OpenDialog_Start] |
381 | cmp [OpenDialog_data2.status],1 |
382 | cmp [OpenDialog_data2.status],1 |
382 | je .1 |
383 | je .1 |
383 | ret |
384 | ret |
384 | .1: |
385 | .1: |
385 | ; prepare for PathShow |
386 | ; prepare for PathShow |
386 | push dword PathShow_data_2 |
387 | push dword PathShow_data_2 |
387 | call [PathShow_prepare] |
388 | call [PathShow_prepare] |
388 | 389 | ||
389 | call draw_PathShow |
390 | call draw_PathShow |
390 | ;--------------------------------------------------------------------- |
391 | ;--------------------------------------------------------------------- |
391 | .2: |
392 | .2: |
392 | xor eax, eax |
393 | xor eax, eax |
393 | mov ebx, read_info2 |
394 | mov ebx, read_info2 |
394 | mov dword [ebx], eax ; subfunction: read |
395 | mov dword [ebx], eax ; subfunction: read |
395 | mov dword [ebx+4], eax ; offset (low dword) |
396 | mov dword [ebx+4], eax ; offset (low dword) |
396 | mov dword [ebx+8], eax ; offset (high dword) |
397 | mov dword [ebx+8], eax ; offset (high dword) |
397 | mov dword [ebx+12], 32*1024 ; read: max 32 KBytes |
398 | mov dword [ebx+12], 32*1024 ; read: max 32 KBytes |
398 | mov dword [ebx+16], file_load_area ; address |
399 | mov dword [ebx+16], file_load_area ; address |
399 | mcall 70 |
400 | mcall 70 |
400 | 401 | ||
401 | mov esi, file_load_area |
402 | mov esi, file_load_area |
402 | 403 | ||
403 | cmp dword [esi], 'KPCK' |
404 | cmp dword [esi], 'KPCK' |
404 | jnz notpacked |
405 | jnz notpacked |
405 | cmp dword [esi+4], 32*1024 ; max 32 KBytes |
406 | cmp dword [esi+4], 32*1024 ; max 32 KBytes |
406 | ja doret |
407 | ja doret |
407 | push unpack_area |
408 | push unpack_area |
408 | push esi |
409 | push esi |
409 | call unpack |
410 | call unpack |
410 | mov esi, unpack_area |
411 | mov esi, unpack_area |
411 | notpacked: |
412 | notpacked: |
412 | 413 | ||
413 | cmp dword[esi+SKIN_HEADER.ident],'SKIN' |
414 | cmp dword[esi+SKIN_HEADER.ident],'SKIN' |
414 | jne doret |
415 | jne doret |
415 | 416 | ||
416 | mov edi,not_packed_area |
417 | mov edi,not_packed_area |
417 | mov ecx,0x8000/4 |
418 | mov ecx,0x8000/4 |
418 | rep movsd |
419 | rep movsd |
419 | 420 | ||
420 | ; mov esi,fname |
421 | ; mov esi,fname |
421 | ; mov edi,skin_info.fname |
422 | ; mov edi,skin_info.fname |
422 | ; mov ecx,257 |
423 | ; mov ecx,257 |
423 | ; rep movsb |
424 | ; rep movsb |
424 | 425 | ||
425 | mov ebp,not_packed_area |
426 | mov ebp,not_packed_area |
426 | mov esi,[ebp+SKIN_HEADER.params] |
427 | mov esi,[ebp+SKIN_HEADER.params] |
427 | add esi,ebp |
428 | add esi,ebp |
428 | lea esi,[esi+SKIN_PARAMS.dtp.data] |
429 | lea esi,[esi+SKIN_PARAMS.dtp.data] |
429 | mov edi,color_table |
430 | mov edi,color_table |
430 | mov ecx,10 |
431 | mov ecx,10 |
431 | rep movsd |
432 | rep movsd |
432 | doret: |
433 | doret: |
433 | 434 | ||
434 | ret |
435 | ret |
435 | 436 | ||
436 | ;--------------------------------------------------------------------- |
437 | ;--------------------------------------------------------------------- |
437 | save_file: |
438 | save_file: |
438 | ;--------------------------------------------------------------------- |
439 | ;--------------------------------------------------------------------- |
439 | ; invoke OpenDialog |
440 | ; invoke OpenDialog |
440 | mov [OpenDialog_data.type],dword 1 |
441 | mov [OpenDialog_data.type],dword 1 |
441 | push dword OpenDialog_data |
442 | push dword OpenDialog_data |
442 | call [OpenDialog_Start] |
443 | call [OpenDialog_Start] |
443 | cmp [OpenDialog_data.status],1 |
444 | cmp [OpenDialog_data.status],1 |
444 | je .1 |
445 | je .1 |
445 | ret |
446 | ret |
446 | .1: |
447 | .1: |
447 | ; prepare for PathShow |
448 | ; prepare for PathShow |
448 | push dword PathShow_data_1 |
449 | push dword PathShow_data_1 |
449 | call [PathShow_prepare] |
450 | call [PathShow_prepare] |
450 | 451 | ||
451 | call draw_PathShow |
452 | call draw_PathShow |
452 | ;--------------------------------------------------------------------- |
453 | ;--------------------------------------------------------------------- |
453 | mov ebx, write_info |
454 | mov ebx, write_info |
454 | mov dword [ebx], 2 ; subfunction: write |
455 | mov dword [ebx], 2 ; subfunction: write |
455 | and dword [ebx+4], 0 ; (reserved) |
456 | and dword [ebx+4], 0 ; (reserved) |
456 | and dword [ebx+8], 0 ; (reserved) |
457 | and dword [ebx+8], 0 ; (reserved) |
457 | mov dword [ebx+12], 10*4 ; bytes to write |
458 | mov dword [ebx+12], 10*4 ; bytes to write |
458 | mov dword [ebx+16], color_table ; address |
459 | mov dword [ebx+16], color_table ; address |
459 | mcall 70 |
460 | mcall 70 |
460 | ret |
461 | ret |
461 | ;--------------------------------------------------------------------- |
462 | ;--------------------------------------------------------------------- |
462 | ;read_string: |
463 | ;read_string: |
463 | ; |
464 | ; |
464 | ; pusha |
465 | ; pusha |
465 | ; |
466 | ; |
466 | ; mov edi,fname |
467 | ; mov edi,fname |
467 | ; mov al,'_' |
468 | ; mov al,'_' |
468 | ; mov ecx,87 |
469 | ; mov ecx,87 |
469 | ; cld |
470 | ; cld |
470 | ; rep stosb |
471 | ; rep stosb |
471 | ; |
472 | ; |
472 | ; call print_text |
473 | ; call print_text |
473 | ; |
474 | ; |
474 | ; mov edi,fname |
475 | ; mov edi,fname |
475 | ; |
476 | ; |
476 | ; f11: |
477 | ; f11: |
477 | ; mov eax,10 |
478 | ; mov eax,10 |
478 | ; mcall |
479 | ; mcall |
479 | ; cmp eax,2 |
480 | ; cmp eax,2 |
480 | ; jne read_done |
481 | ; jne read_done |
481 | ;; mov eax,2 |
482 | ;; mov eax,2 |
482 | ; mcall |
483 | ; mcall |
483 | ; shr eax,8 |
484 | ; shr eax,8 |
484 | ; cmp eax,13 |
485 | ; cmp eax,13 |
485 | ; je read_done |
486 | ; je read_done |
486 | ; cmp eax,8 |
487 | ; cmp eax,8 |
487 | ; jne nobsl |
488 | ; jne nobsl |
488 | ; cmp edi,fname |
489 | ; cmp edi,fname |
489 | ; je f11 |
490 | ; je f11 |
490 | ; dec edi |
491 | ; dec edi |
491 | ; mov [edi],byte '_' |
492 | ; mov [edi],byte '_' |
492 | ; call print_text |
493 | ; call print_text |
493 | ; jmp f11 |
494 | ; jmp f11 |
494 | ; nobsl: |
495 | ; nobsl: |
495 | ; mov [edi],al |
496 | ; mov [edi],al |
496 | ; |
497 | ; |
497 | ; call print_text |
498 | ; call print_text |
498 | ; |
499 | ; |
499 | ; inc edi |
500 | ; inc edi |
500 | ; cmp edi, fname+87 |
501 | ; cmp edi, fname+87 |
501 | ; jne f11 |
502 | ; jne f11 |
502 | ; |
503 | ; |
503 | ; read_done: |
504 | ; read_done: |
504 | ; |
505 | ; |
505 | ; mov ecx, fname+88 |
506 | ; mov ecx, fname+88 |
506 | ; sub ecx, edi |
507 | ; sub ecx, edi |
507 | ; mov eax, 0 |
508 | ; mov eax, 0 |
508 | ; cld |
509 | ; cld |
509 | ; rep stosb |
510 | ; rep stosb |
510 | ; |
511 | ; |
511 | ; call print_text |
512 | ; call print_text |
512 | ; |
513 | ; |
513 | ; popa |
514 | ; popa |
514 | ; |
515 | ; |
515 | ; ret |
516 | ; ret |
516 | 517 | ||
517 | 518 | ||
518 | ;print_text: |
519 | ;print_text: |
519 | ; pushad |
520 | ; pushad |
520 | ; |
521 | ; |
521 | ; mpack ebx,15,6*87+4 |
522 | ; mpack ebx,15,6*87+4 |
522 | ; mpack ecx,(30+18*10+2),11 |
523 | ; mpack ecx,(30+18*10+2),11 |
523 | ; mcall 13,,,[w_work] |
524 | ; mcall 13,,,[w_work] |
524 | ; |
525 | ; |
525 | ; mpack ebx,17,(30+18*10+4) |
526 | ; mpack ebx,17,(30+18*10+4) |
526 | ; mcall 4,,[w_work_text],fname,87 |
527 | ; mcall 4,,[w_work_text],fname,87 |
527 | ; |
528 | ; |
528 | ; popad |
529 | ; popad |
529 | ;ret |
530 | ;ret |
530 | 531 | ||
531 | 532 | ||
532 | draw_color: |
533 | draw_color: |
533 | 534 | ||
534 | pusha |
535 | pusha |
535 | 536 | ||
536 | mov eax,13 |
537 | mov eax,13 |
537 | mov ebx,266*65536+60 |
538 | mov ebx,266*65536+60 |
538 | mov ecx,170*65536+30 |
539 | mov ecx,170*65536+30 |
539 | mov edx,[color] |
540 | mov edx,[color] |
540 | mcall |
541 | mcall |
541 | 542 | ||
542 | ; mov eax,13 |
543 | ; mov eax,13 |
543 | mov ebx,266*65536+60 |
544 | mov ebx,266*65536+60 |
544 | mov ecx,200*65536+10 |
545 | mov ecx,200*65536+10 |
545 | mov edx,[w_work] |
546 | mov edx,[w_work] |
546 | mcall |
547 | mcall |
547 | 548 | ||
548 | mov eax,47 |
549 | mov eax,47 |
549 | mov ebx,0+1*256+8*65536 |
550 | mov ebx,0+1*256+8*65536 |
550 | mov ecx,[color] |
551 | mov ecx,[color] |
551 | mov edx,272*65536+201 |
552 | mov edx,272*65536+201 |
552 | mov esi,[w_work_text] |
553 | mov esi,[w_work_text] |
553 | mcall |
554 | mcall |
554 | 555 | ||
555 | popa |
556 | popa |
556 | 557 | ||
557 | ret |
558 | ret |
558 | 559 | ||
559 | 560 | ||
560 | draw_colours: |
561 | draw_colours: |
561 | 562 | ||
562 | pusha |
563 | pusha |
563 | 564 | ||
564 | mov esi,color_table |
565 | mov esi,color_table |
565 | 566 | ||
566 | mov ebx,225*65536+32 |
567 | mov ebx,225*65536+32 |
567 | mov ecx,32*65536+12 |
568 | mov ecx,32*65536+12 |
568 | newcol: |
569 | newcol: |
569 | mov eax,13 |
570 | mov eax,13 |
570 | mov edx,[esi] |
571 | mov edx,[esi] |
571 | mcall |
572 | mcall |
572 | add ecx,18*65536 |
573 | add ecx,18*65536 |
573 | add esi,4 |
574 | add esi,4 |
574 | cmp esi,color_table+4*9 |
575 | cmp esi,color_table+4*9 |
575 | jbe newcol |
576 | jbe newcol |
576 | 577 | ||
577 | popa |
578 | popa |
578 | 579 | ||
579 | ret |
580 | ret |
580 | 581 | ||
581 | 582 | ||
582 | draw_framerect: ; ebx,ecx |
583 | draw_framerect: ; ebx,ecx |
583 | push ebx ecx |
584 | push ebx ecx |
584 | add bx,[esp+6] |
585 | add bx,[esp+6] |
585 | mov cx,[esp+2] |
586 | mov cx,[esp+2] |
586 | dec ebx |
587 | dec ebx |
587 | mcall 38 |
588 | mcall 38 |
588 | add cx,[esp] |
589 | add cx,[esp] |
589 | rol ecx,16 |
590 | rol ecx,16 |
590 | add cx,[esp] |
591 | add cx,[esp] |
591 | sub ecx,0x00010001 |
592 | sub ecx,0x00010001 |
592 | mcall |
593 | mcall |
593 | mov ebx,[esp+4] |
594 | mov ebx,[esp+4] |
594 | mov ecx,[esp] |
595 | mov ecx,[esp] |
595 | mov bx,[esp+6] |
596 | mov bx,[esp+6] |
596 | add cx,[esp+2] |
597 | add cx,[esp+2] |
597 | dec ecx |
598 | dec ecx |
598 | mcall |
599 | mcall |
599 | add bx,[esp+4] |
600 | add bx,[esp+4] |
600 | rol ebx,16 |
601 | rol ebx,16 |
601 | add bx,[esp+4] |
602 | add bx,[esp+4] |
602 | sub ebx,0x00010001 |
603 | sub ebx,0x00010001 |
603 | mcall |
604 | mcall |
604 | add esp,8 |
605 | add esp,8 |
605 | ret |
606 | ret |
606 | 607 | ||
607 | find_bitmap: |
608 | find_bitmap: |
608 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
609 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
609 | add edi,ebp |
610 | add edi,ebp |
610 | xor ebx,ebx |
611 | xor ebx,ebx |
611 | .lp1: cmp dword[edi],0 |
612 | .lp1: cmp dword[edi],0 |
612 | je .lp2 |
613 | je .lp2 |
613 | cmp dword[edi+0],eax |
614 | cmp dword[edi+0],eax |
614 | jne @f |
615 | jne @f |
615 | mov ebx,[edi+SKIN_BITMAPS._data] |
616 | mov ebx,[edi+SKIN_BITMAPS._data] |
616 | add ebx,ebp |
617 | add ebx,ebp |
617 | mov ecx,[ebx-2] |
618 | mov ecx,[ebx-2] |
618 | mov cx,[ebx+4] |
619 | mov cx,[ebx+4] |
619 | add ebx,8 |
620 | add ebx,8 |
620 | .lp2: ret |
621 | .lp2: ret |
621 | @@: add edi,8 |
622 | @@: add edi,8 |
622 | jmp .lp1 |
623 | jmp .lp1 |
623 | 624 | ||
624 | dec_edx: |
625 | dec_edx: |
625 | sub dl,4 |
626 | sub dl,4 |
626 | jnc @f |
627 | jnc @f |
627 | xor dl,dl |
628 | xor dl,dl |
628 | @@: sub dh,4 |
629 | @@: sub dh,4 |
629 | jnc @f |
630 | jnc @f |
630 | xor dh,dh |
631 | xor dh,dh |
631 | @@: rol edx,16 |
632 | @@: rol edx,16 |
632 | sub dl,4 |
633 | sub dl,4 |
633 | jnc @f |
634 | jnc @f |
634 | xor dl,dl |
635 | xor dl,dl |
635 | @@: rol edx,16 |
636 | @@: rol edx,16 |
636 | ret |
637 | ret |
637 | 638 | ||
638 | area: |
639 | area: |
639 | .x = 345 |
640 | .x = 345 |
640 | .y = 20 |
641 | .y = 20 |
641 | .width = 206 |
642 | .width = 206 |
642 | .height = 191 |
643 | .height = 191 |
643 | 644 | ||
644 | wnd1: |
645 | wnd1: |
645 | .x = area.x+49 |
646 | .x = area.x+49 |
646 | .y = area.y+5 |
647 | .y = area.y+5 |
647 | .width = 150 |
648 | .width = 150 |
648 | .height = 90 |
649 | .height = 90 |
649 | wnd2: |
650 | wnd2: |
650 | .x = area.x+35 |
651 | .x = area.x+35 |
651 | .y = area.y+35 |
652 | .y = area.y+35 |
652 | .width = 150 |
653 | .width = 150 |
653 | .height = 90 |
654 | .height = 90 |
654 | wnd3: |
655 | wnd3: |
655 | .x = area.x+21 |
656 | .x = area.x+21 |
656 | .y = area.y+65 |
657 | .y = area.y+65 |
657 | .width = 150 |
658 | .width = 150 |
658 | .height = 90 |
659 | .height = 90 |
659 | wnd4: |
660 | wnd4: |
660 | .x = area.x+7 |
661 | .x = area.x+7 |
661 | .y = area.y+95 |
662 | .y = area.y+95 |
662 | .width = 150 |
663 | .width = 150 |
663 | .height = 90 |
664 | .height = 90 |
664 | 665 | ||
665 | virtual at edi+SKIN_PARAMS.dtp.data |
666 | virtual at edi+SKIN_PARAMS.dtp.data |
666 | dtp system_colors |
667 | dtp system_colors |
667 | end virtual |
668 | end virtual |
668 | 669 | ||
669 | draw_skin: |
670 | draw_skin: |
670 | mcall 13, |
671 | mcall 13, |
671 | 672 | ||
672 | mov ebp,not_packed_area |
673 | mov ebp,not_packed_area |
673 | mov edi,[ebp+SKIN_HEADER.params] |
674 | mov edi,[ebp+SKIN_HEADER.params] |
674 | add edi,ebp |
675 | add edi,ebp |
675 | mpack ebx,wnd1.x,wnd1.width |
676 | mpack ebx,wnd1.x,wnd1.width |
676 | mpack ecx,wnd1.y,wnd1.height |
677 | mpack ecx,wnd1.y,wnd1.height |
677 | mov edx,[dtp.frame] |
678 | mov edx,[dtp.frame] |
678 | call draw_framerect |
679 | call draw_framerect |
679 | mcall 13, |
680 | mcall 13, |
680 | 681 | ||
681 | mov eax,38 |
682 | mov eax,38 |
682 | mpack ebx,wnd1.x+1,wnd1.x+wnd1.width-2 |
683 | mpack ebx,wnd1.x+1,wnd1.x+wnd1.width-2 |
683 | mpack ecx,wnd1.y+1,wnd1.y+1 |
684 | mpack ecx,wnd1.y+1,wnd1.y+1 |
684 | mov edx,[dtp.grab] |
685 | mov edx,[dtp.grab] |
685 | mov esi,20 |
686 | mov esi,20 |
686 | @@: mcall |
687 | @@: mcall |
687 | call dec_edx |
688 | call dec_edx |
688 | add ecx,0x00010001 |
689 | add ecx,0x00010001 |
689 | dec esi |
690 | dec esi |
690 | jnz @b |
691 | jnz @b |
691 | 692 | ||
692 | mov edi,[ebp+SKIN_HEADER.params] |
693 | mov edi,[ebp+SKIN_HEADER.params] |
693 | add edi,ebp |
694 | add edi,ebp |
694 | mcall 4, |
695 | mcall 4, |
695 | 696 | ||
696 | mcall 8, |
697 | mcall 8, |
697 | mcall 4, |
698 | mcall 4, |
698 | 699 | ||
699 | ;---------------------------------------------------------------------- |
700 | ;---------------------------------------------------------------------- |
700 | 701 | ||
701 | mov edi,[ebp+SKIN_HEADER.params] |
702 | mov edi,[ebp+SKIN_HEADER.params] |
702 | add edi,ebp |
703 | add edi,ebp |
703 | mpack ebx,wnd2.x,wnd2.width |
704 | mpack ebx,wnd2.x,wnd2.width |
704 | mpack ecx,wnd2.y,wnd2.height |
705 | mpack ecx,wnd2.y,wnd2.height |
705 | mov edx,[dtp.frame] |
706 | mov edx,[dtp.frame] |
706 | shr edx,1 |
707 | shr edx,1 |
707 | and edx,0x007F7F7F |
708 | and edx,0x007F7F7F |
708 | call draw_framerect |
709 | call draw_framerect |
709 | mpack ebx,wnd2.x+4,wnd2.width-8 |
710 | mpack ebx,wnd2.x+4,wnd2.width-8 |
710 | mpack ecx,wnd2.y+4,wnd2.height-8 |
711 | mpack ecx,wnd2.y+4,wnd2.height-8 |
711 | call draw_framerect |
712 | call draw_framerect |
712 | mcall 13, |
713 | mcall 13, |
713 | add ecx,(wnd2.height-5)*65536 |
714 | add ecx,(wnd2.height-5)*65536 |
714 | mcall |
715 | mcall |
715 | mcall , |
716 | mcall , |
716 | add ebx,(wnd2.width-5)*65536 |
717 | add ebx,(wnd2.width-5)*65536 |
717 | mcall |
718 | mcall |
718 | mcall , |
719 | mcall , |
719 | 720 | ||
720 | mov eax,38 |
721 | mov eax,38 |
721 | mpack ebx,wnd2.x+4,wnd2.x+wnd2.width-5 |
722 | mpack ebx,wnd2.x+4,wnd2.x+wnd2.width-5 |
722 | mpack ecx,wnd2.y+4,wnd2.y+4 |
723 | mpack ecx,wnd2.y+4,wnd2.y+4 |
723 | mov edx,[dtp.grab] |
724 | mov edx,[dtp.grab] |
724 | mov esi,16 |
725 | mov esi,16 |
725 | @@: mcall |
726 | @@: mcall |
726 | call dec_edx |
727 | call dec_edx |
727 | add ecx,0x00010001 |
728 | add ecx,0x00010001 |
728 | dec esi |
729 | dec esi |
729 | jnz @b |
730 | jnz @b |
730 | 731 | ||
731 | mov edi,[ebp+SKIN_HEADER.params] |
732 | mov edi,[ebp+SKIN_HEADER.params] |
732 | add edi,ebp |
733 | add edi,ebp |
733 | mcall 4, |
734 | mcall 4, |
734 | 735 | ||
735 | mcall 8, |
736 | mcall 8, |
736 | mcall 4, |
737 | mcall 4, |
737 | 738 | ||
738 | ;---------------------------------------------------------------------- |
739 | ;---------------------------------------------------------------------- |
739 | 740 | ||
740 | mov edi,[ebp+SKIN_HEADER.params] |
741 | mov edi,[ebp+SKIN_HEADER.params] |
741 | add edi,ebp |
742 | add edi,ebp |
742 | mpack ebx,wnd3.x,wnd3.width |
743 | mpack ebx,wnd3.x,wnd3.width |
743 | mpack ecx,wnd3.y,wnd3.height |
744 | mpack ecx,wnd3.y,wnd3.height |
744 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
745 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
745 | call draw_framerect |
746 | call draw_framerect |
746 | mpack ebx,wnd3.x+4,wnd3.width-8 |
747 | mpack ebx,wnd3.x+4,wnd3.width-8 |
747 | mpack ecx,wnd3.y+4,wnd3.height-8 |
748 | mpack ecx,wnd3.y+4,wnd3.height-8 |
748 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
749 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
749 | call draw_framerect |
750 | call draw_framerect |
750 | mcall 13, |
751 | mcall 13, |
751 | add ecx,(wnd3.height-5)*65536 |
752 | add ecx,(wnd3.height-5)*65536 |
752 | mcall |
753 | mcall |
753 | mcall , |
754 | mcall , |
754 | add ebx,(wnd3.width-5)*65536 |
755 | add ebx,(wnd3.width-5)*65536 |
755 | mcall |
756 | mcall |
756 | mcall , |
757 | mcall , |
757 | 758 | ||
758 | mov eax,0x00000001 ; left, inactive |
759 | mov eax,0x00000001 ; left, inactive |
759 | call find_bitmap |
760 | call find_bitmap |
760 | mcall 7,,, |
761 | mcall 7,,, |
761 | 762 | ||
762 | pushd [ebx-8] |
763 | pushd [ebx-8] |
763 | mov eax,0x00000003 ; base, inactive |
764 | mov eax,0x00000003 ; base, inactive |
764 | call find_bitmap |
765 | call find_bitmap |
765 | pop edx |
766 | pop edx |
766 | mov esi,wnd3.x+wnd3.width-1 |
767 | mov esi,wnd3.x+wnd3.width-1 |
767 | sub esi,edx |
768 | sub esi,edx |
768 | shl edx,16 |
769 | shl edx,16 |
769 | add edx,wnd3.x*65536+wnd3.y |
770 | add edx,wnd3.x*65536+wnd3.y |
770 | mcall 7 |
771 | mcall 7 |
771 | @@: rol edx,16 |
772 | @@: rol edx,16 |
772 | add dx,[ebx-8] |
773 | add dx,[ebx-8] |
773 | cmp dx,si |
774 | cmp dx,si |
774 | ja @f |
775 | ja @f |
775 | rol edx,16 |
776 | rol edx,16 |
776 | mcall 7 |
777 | mcall 7 |
777 | jmp @b |
778 | jmp @b |
778 | @@: |
779 | @@: |
779 | 780 | ||
780 | mov eax,0x00000002 ; oper, inactive |
781 | mov eax,0x00000002 ; oper, inactive |
781 | call find_bitmap |
782 | call find_bitmap |
782 | mov edx,ecx |
783 | mov edx,ecx |
783 | shr edx,16 |
784 | shr edx,16 |
784 | neg edx |
785 | neg edx |
785 | shl edx,16 |
786 | shl edx,16 |
786 | add edx,(wnd3.x+wnd3.width)*65536+wnd3.y |
787 | add edx,(wnd3.x+wnd3.width)*65536+wnd3.y |
787 | mcall 7 |
788 | mcall 7 |
788 | 789 | ||
789 | mov ebp,not_packed_area |
790 | mov ebp,not_packed_area |
790 | mov edi,[ebp+SKIN_HEADER.params] |
791 | mov edi,[ebp+SKIN_HEADER.params] |
791 | add edi,ebp |
792 | add edi,ebp |
792 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
793 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
793 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
794 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
794 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
795 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
795 | shr ax,1 |
796 | shr ax,1 |
796 | add ax,[edi+SKIN_PARAMS.margin.top] |
797 | add ax,[edi+SKIN_PARAMS.margin.top] |
797 | add ax,-4 |
798 | add ax,-4 |
798 | push eax |
799 | push eax |
799 | lea ebx,[eax+wnd3.x*65536+wnd3.y] |
800 | lea ebx,[eax+wnd3.x*65536+wnd3.y] |
800 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
801 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
801 | 802 | ||
802 | ;--------------------------------------------------------- |
803 | ;--------------------------------------------------------- |
803 | 804 | ||
804 | mov edi,[ebp+SKIN_HEADER.params] |
805 | mov edi,[ebp+SKIN_HEADER.params] |
805 | add edi,ebp |
806 | add edi,ebp |
806 | mpack ebx,wnd4.x,wnd4.width |
807 | mpack ebx,wnd4.x,wnd4.width |
807 | mpack ecx,wnd4.y,wnd4.height |
808 | mpack ecx,wnd4.y,wnd4.height |
808 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
809 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
809 | call draw_framerect |
810 | call draw_framerect |
810 | mpack ebx,wnd4.x+4,wnd4.width-8 |
811 | mpack ebx,wnd4.x+4,wnd4.width-8 |
811 | mpack ecx,wnd4.y+4,wnd4.height-8 |
812 | mpack ecx,wnd4.y+4,wnd4.height-8 |
812 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
813 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
813 | call draw_framerect |
814 | call draw_framerect |
814 | mcall 13, |
815 | mcall 13, |
815 | add ecx,(wnd4.height-5)*65536 |
816 | add ecx,(wnd4.height-5)*65536 |
816 | mcall |
817 | mcall |
817 | mcall , |
818 | mcall , |
818 | add ebx,(wnd4.width-5)*65536 |
819 | add ebx,(wnd4.width-5)*65536 |
819 | mcall |
820 | mcall |
820 | mcall , |
821 | mcall , |
821 | 822 | ||
822 | mov eax,0x00010001 ; left, inactive |
823 | mov eax,0x00010001 ; left, inactive |
823 | call find_bitmap |
824 | call find_bitmap |
824 | mcall 7,,, |
825 | mcall 7,,, |
825 | 826 | ||
826 | pushd [ebx-8] |
827 | pushd [ebx-8] |
827 | mov eax,0x00010003 ; base, inactive |
828 | mov eax,0x00010003 ; base, inactive |
828 | call find_bitmap |
829 | call find_bitmap |
829 | pop edx |
830 | pop edx |
830 | mov esi,wnd4.x+wnd4.width-1 |
831 | mov esi,wnd4.x+wnd4.width-1 |
831 | sub esi,edx |
832 | sub esi,edx |
832 | shl edx,16 |
833 | shl edx,16 |
833 | add edx,wnd4.x*65536+wnd4.y |
834 | add edx,wnd4.x*65536+wnd4.y |
834 | mcall 7 |
835 | mcall 7 |
835 | @@: rol edx,16 |
836 | @@: rol edx,16 |
836 | add dx,[ebx-8] |
837 | add dx,[ebx-8] |
837 | cmp dx,si |
838 | cmp dx,si |
838 | ja @f |
839 | ja @f |
839 | rol edx,16 |
840 | rol edx,16 |
840 | mcall 7 |
841 | mcall 7 |
841 | jmp @b |
842 | jmp @b |
842 | @@: |
843 | @@: |
843 | 844 | ||
844 | mov eax,0x00010002 ; oper, inactive |
845 | mov eax,0x00010002 ; oper, inactive |
845 | call find_bitmap |
846 | call find_bitmap |
846 | mov edx,ecx |
847 | mov edx,ecx |
847 | shr edx,16 |
848 | shr edx,16 |
848 | neg edx |
849 | neg edx |
849 | shl edx,16 |
850 | shl edx,16 |
850 | add edx,(wnd4.x+wnd4.width)*65536+wnd4.y |
851 | add edx,(wnd4.x+wnd4.width)*65536+wnd4.y |
851 | mcall 7 |
852 | mcall 7 |
852 | 853 | ||
853 | mov ebp,not_packed_area |
854 | mov ebp,not_packed_area |
854 | mov edi,[ebp+SKIN_HEADER.params] |
855 | mov edi,[ebp+SKIN_HEADER.params] |
855 | add edi,ebp |
856 | add edi,ebp |
856 | pop eax |
857 | pop eax |
857 | lea ebx,[eax+wnd4.x*65536+wnd4.y] |
858 | lea ebx,[eax+wnd4.x*65536+wnd4.y] |
858 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
859 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
859 | 860 | ||
860 | ;---------------------------------------------------------------------- |
861 | ;---------------------------------------------------------------------- |
861 | 862 | ||
862 | mov edi,[ebp+SKIN_HEADER.buttons] |
863 | mov edi,[ebp+SKIN_HEADER.buttons] |
863 | add edi,ebp |
864 | add edi,ebp |
864 | .lp1: cmp dword[edi],0 |
865 | .lp1: cmp dword[edi],0 |
865 | je .lp2 |
866 | je .lp2 |
866 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
867 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
867 | mov bx,[edi+SKIN_BUTTONS.width] |
868 | mov bx,[edi+SKIN_BUTTONS.width] |
868 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
869 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
869 | mov cx,[edi+SKIN_BUTTONS.height] |
870 | mov cx,[edi+SKIN_BUTTONS.height] |
870 | add ebx,(wnd4.x+wnd4.width)*65536 |
871 | add ebx,(wnd4.x+wnd4.width)*65536 |
871 | add ecx,wnd4.y*65536 |
872 | add ecx,wnd4.y*65536 |
872 | dec ebx |
873 | dec ebx |
873 | dec ecx |
874 | dec ecx |
874 | mcall 8,,,0x40000000 |
875 | mcall 8,,,0x40000000 |
875 | add edi,12 |
876 | add edi,12 |
876 | jmp .lp1 |
877 | jmp .lp1 |
877 | .lp2: |
878 | .lp2: |
878 | 879 | ||
879 | mov edi,[ebp+SKIN_HEADER.params] |
880 | mov edi,[ebp+SKIN_HEADER.params] |
880 | add edi,ebp |
881 | add edi,ebp |
881 | mpack ebx,wnd4.x+10,wnd4.y+10 |
882 | mpack ebx,wnd4.x+10,wnd4.y+10 |
882 | add bx,word[edi+SKIN_PARAMS.skin_height] |
883 | add bx,word[edi+SKIN_PARAMS.skin_height] |
883 | mcall 4,,[dtp.work_text],window_text,window_text.size |
884 | mcall 4,,[dtp.work_text],window_text,window_text.size |
884 | 885 | ||
885 | mov ecx,[edi+SKIN_PARAMS.skin_height] |
886 | mov ecx,[edi+SKIN_PARAMS.skin_height] |
886 | shl ecx,16 |
887 | shl ecx,16 |
887 | add ecx,(wnd4.y+8)*65536+10 |
888 | add ecx,(wnd4.y+8)*65536+10 |
888 | mcall 13, |
889 | mcall 13, |
889 | (wnd4.x+window_text.size*6+20)>,,[dtp.work_graph] |
890 | (wnd4.x+window_text.size*6+20)>,,[dtp.work_graph] |
890 | 891 | ||
891 | add ecx,25*65536+8 |
892 | add ecx,25*65536+8 |
892 | mcall 8, |
893 | mcall 8, |
893 | button_text.size*6+11>,,0,[dtp.work_button] |
894 | button_text.size*6+11>,,0,[dtp.work_button] |
894 | 895 | ||
895 | shr ecx,16 |
896 | shr ecx,16 |
896 | mov bx,cx |
897 | mov bx,cx |
897 | add ebx,0x00060006 |
898 | add ebx,0x00060006 |
898 | mcall 4,,[dtp.work_button_text],button_text,button_text.size |
899 | mcall 4,,[dtp.work_button_text],button_text,button_text.size |
899 | 900 | ||
900 | ret |
901 | ret |
901 | ;--------------------------------------------------------------------- |
902 | ;--------------------------------------------------------------------- |
902 | draw_PathShow: |
903 | draw_PathShow: |
903 | pusha |
904 | pusha |
904 | mcall 13,<10,534>,<214,15>,0xffffff |
905 | mcall 13,<10,534>,<214,15>,0xffffff |
905 | mcall 13,<10,534>,<232,15>,0xffffff |
906 | mcall 13,<10,534>,<232,15>,0xffffff |
906 | ; draw for PathShow |
907 | ; draw for PathShow |
907 | push dword PathShow_data_1 |
908 | push dword PathShow_data_1 |
908 | call [PathShow_draw] |
909 | call [PathShow_draw] |
909 | 910 | ||
910 | push dword PathShow_data_2 |
911 | push dword PathShow_data_2 |
911 | call [PathShow_draw] |
912 | call [PathShow_draw] |
912 | popa |
913 | popa |
913 | ret |
914 | ret |
914 | ;--------------------------------------------------------------------- |
915 | ;--------------------------------------------------------------------- |
915 | ; ********************************************* |
916 | ; ********************************************* |
916 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
917 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
917 | ; ********************************************* |
918 | ; ********************************************* |
918 | 919 | ||
919 | 920 | ||
920 | draw_window: |
921 | draw_window: |
921 | 922 | ||
922 | mov eax,12 ; function 12:tell os about windowdraw |
923 | mov eax,12 ; function 12:tell os about windowdraw |
923 | mov ebx,1 ; 1, start of draw |
924 | mov ebx,1 ; 1, start of draw |
924 | mcall |
925 | mcall |
925 | 926 | ||
926 | mov eax,48 |
927 | mov eax,48 |
927 | mov ebx,3 |
928 | mov ebx,3 |
928 | mov ecx,app_colours |
929 | mov ecx,app_colours |
929 | mov edx,10*4 |
930 | mov edx,10*4 |
930 | mcall |
931 | mcall |
931 | 932 | ||
932 | mov eax,14 |
933 | mov eax,14 |
933 | mcall |
934 | mcall |
934 | 935 | ||
935 | ; DRAW WINDOW |
936 | ; DRAW WINDOW |
936 | mov eax,0 ; function 0 : define and draw window |
937 | mov eax,0 ; function 0 : define and draw window |
937 | mov ebx,110*65536+555 ; [x start] *65536 + [x size] |
938 | mov ebx,110*65536+555 ; [x start] *65536 + [x size] |
938 | mov ecx,50*65536+275 ; [y start] *65536 + [y size] |
939 | mov ecx,50*65536+275 ; [y start] *65536 + [y size] |
939 | mov edx,[w_work] ; color of work area RRGGBB,8->color |
940 | mov edx,[w_work] ; color of work area RRGGBB,8->color |
940 | or edx,0x14000000 |
941 | or edx,0x14000000 |
941 | mov edi,title ; WINDOW LABEL |
942 | mov edi,title ; WINDOW LABEL |
942 | mcall |
943 | mcall |
943 | 944 | ||
944 | if lang eq ru |
945 | if lang eq ru |
945 | load_w = (5*2+6*9) |
946 | load_w = (5*2+6*9) |
946 | save_w = (5*2+6*9) |
947 | save_w = (5*2+6*9) |
947 | flat_w = (5*2+6*7) |
948 | flat_w = (5*2+6*7) |
948 | apply_w = (5*2+6*9) |
949 | apply_w = (5*2+6*9) |
949 | else |
950 | else |
950 | load_w = (5*2+6*6) |
951 | load_w = (5*2+6*6) |
951 | save_w = (5*2+6*8) |
952 | save_w = (5*2+6*8) |
952 | flat_w = (5*2+6*4) |
953 | flat_w = (5*2+6*4) |
953 | apply_w = (5*2+6*7) |
954 | apply_w = (5*2+6*7) |
954 | end if |
955 | end if |
955 | 956 | ||
956 | ; mov eax,8 ; FILENAME BUTTON |
957 | ; mov eax,8 ; FILENAME BUTTON |
957 | ; mov ebx,5*65536+545 |
958 | ; mov ebx,5*65536+545 |
958 | ; mov ecx,212*65536+10 |
959 | ; mov ecx,212*65536+10 |
959 | ; mov edx,0x4000000B |
960 | ; mov edx,0x4000000B |
960 | ; mov esi,[w_grab_button] ; button color RRGGBB |
961 | ; mov esi,[w_grab_button] ; button color RRGGBB |
961 | ; mcall |
962 | ; mcall |
962 | 963 | ||
963 | mov eax,8 ; LOAD BUTTON |
964 | mov eax,8 ; LOAD BUTTON |
964 | mov ebx,15*65536+load_w |
965 | mov ebx,15*65536+load_w |
965 | mov ecx,(35+18*12)*65536+14 |
966 | mov ecx,(35+18*12)*65536+14 |
966 | mov edx,12 |
967 | mov edx,12 |
967 | mov esi,[w_work_button] |
968 | mov esi,[w_work_button] |
968 | mcall |
969 | mcall |
969 | 970 | ||
970 | ; mov eax,8 ; SAVE BUTTON |
971 | ; mov eax,8 ; SAVE BUTTON |
971 | add ebx,(load_w+2)*65536-load_w+save_w |
972 | add ebx,(load_w+2)*65536-load_w+save_w |
972 | inc edx |
973 | inc edx |
973 | mcall |
974 | mcall |
974 | 975 | ||
975 | ; mov eax,8 ; 3D |
976 | ; mov eax,8 ; 3D |
976 | ; mov ebx,15*65536+35 |
977 | ; mov ebx,15*65536+35 |
977 | ; mov ecx,(30+18*12)*65536+14 |
978 | ; mov ecx,(30+18*12)*65536+14 |
978 | mov ebx,(340-t1.size*6-13)*65536+(5*2+6*4) |
979 | mov ebx,(340-t1.size*6-13)*65536+(5*2+6*4) |
979 | inc edx |
980 | inc edx |
980 | mcall |
981 | mcall |
981 | 982 | ||
982 | ; mov eax,8 ; FLAT |
983 | ; mov eax,8 ; FLAT |
983 | add ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w |
984 | add ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w |
984 | inc edx |
985 | inc edx |
985 | mcall |
986 | mcall |
986 | 987 | ||
987 | ; mov eax,8 ; APPLY BUTTON |
988 | ; mov eax,8 ; APPLY BUTTON |
988 | add ebx,(flat_w+6+2)*65536-flat_w+apply_w |
989 | add ebx,(flat_w+6+2)*65536-flat_w+apply_w |
989 | inc edx |
990 | inc edx |
990 | mcall |
991 | mcall |
991 | 992 | ||
992 | ; mov eax,8 ; LOAD SKIN BUTTON |
993 | ; mov eax,8 ; LOAD SKIN BUTTON |
993 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w |
994 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w |
994 | inc edx |
995 | inc edx |
995 | mcall |
996 | mcall |
996 | 997 | ||
997 | ; mov eax,8 ; APPLY SKIN BUTTON |
998 | ; mov eax,8 ; APPLY SKIN BUTTON |
998 | add ebx,(load_w+6+2)*65536-load_w+apply_w |
999 | add ebx,(load_w+6+2)*65536-load_w+apply_w |
999 | inc edx |
1000 | inc edx |
1000 | mcall |
1001 | mcall |
1001 | 1002 | ||
1002 | mov eax, 4 |
1003 | mov eax, 4 |
1003 | mov ebx, (339-t1.size*6-12)*65536+(35+18*12+4) |
1004 | mov ebx, (339-t1.size*6-12)*65536+(35+18*12+4) |
1004 | mov ecx, [w_work_button_text] |
1005 | mov ecx, [w_work_button_text] |
1005 | mov edx, t1 |
1006 | mov edx, t1 |
1006 | mov esi, t1.size |
1007 | mov esi, t1.size |
1007 | mcall |
1008 | mcall |
1008 | 1009 | ||
1009 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4) |
1010 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4) |
1010 | mov edx,t2 |
1011 | mov edx,t2 |
1011 | mov esi,t2.size |
1012 | mov esi,t2.size |
1012 | mcall |
1013 | mcall |
1013 | 1014 | ||
1014 | mov ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4) |
1015 | mov ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4) |
1015 | mov edx,t3 |
1016 | mov edx,t3 |
1016 | mov esi,t3.size |
1017 | mov esi,t3.size |
1017 | mcall |
1018 | mcall |
1018 | 1019 | ||
1019 | ; mov eax, 4 |
1020 | ; mov eax, 4 |
1020 | ; mov ebx, 277*65536+(30+18*12+4) |
1021 | ; mov ebx, 277*65536+(30+18*12+4) |
1021 | ; mov edx, t2 |
1022 | ; mov edx, t2 |
1022 | ; mov esi, t2.size |
1023 | ; mov esi, t2.size |
1023 | ; mcall |
1024 | ; mcall |
1024 | 1025 | ||
1025 | mov eax,38 ; R G B COLOR GLIDES |
1026 | mov eax,38 ; R G B COLOR GLIDES |
1026 | mov ebx,266*65536+285 |
1027 | mov ebx,266*65536+285 |
1027 | mov ecx,30*65536+30 |
1028 | mov ecx,30*65536+30 |
1028 | mov edx,0xff0000 |
1029 | mov edx,0xff0000 |
1029 | .newl: |
1030 | .newl: |
1030 | mcall |
1031 | mcall |
1031 | pusha |
1032 | pusha |
1032 | add ebx,20*65536+20 |
1033 | add ebx,20*65536+20 |
1033 | shr edx,8 |
1034 | shr edx,8 |
1034 | mcall |
1035 | mcall |
1035 | add ebx,20*65536+20 |
1036 | add ebx,20*65536+20 |
1036 | shr edx,8 |
1037 | shr edx,8 |
1037 | mcall |
1038 | mcall |
1038 | popa |
1039 | popa |
1039 | sub edx,0x020000 |
1040 | sub edx,0x020000 |
1040 | add ecx,0x00010001 |
1041 | add ecx,0x00010001 |
1041 | cmp ecx,158*65536+158 |
1042 | cmp ecx,158*65536+158 |
1042 | jnz .newl |
1043 | jnz .newl |
1043 | 1044 | ||
1044 | call draw_color |
1045 | call draw_color |
1045 | 1046 | ||
1046 | mov edx,31 ; BUTTON ROW |
1047 | mov edx,31 ; BUTTON ROW |
1047 | mov ebx,15*65536+200 |
1048 | mov ebx,15*65536+200 |
1048 | mov ecx,30*65536+14 |
1049 | mov ecx,30*65536+14 |
1049 | mov esi,[w_work_button] |
1050 | mov esi,[w_work_button] |
1050 | newb: |
1051 | newb: |
1051 | mov eax,8 |
1052 | mov eax,8 |
1052 | mcall |
1053 | mcall |
1053 | add ecx,18*65536 |
1054 | add ecx,18*65536 |
1054 | inc edx |
1055 | inc edx |
1055 | cmp edx,40 |
1056 | cmp edx,40 |
1056 | jbe newb |
1057 | jbe newb |
1057 | 1058 | ||
1058 | mov ebx,15*65536+34 ; ROW OF TEXTS |
1059 | mov ebx,15*65536+34 ; ROW OF TEXTS |
1059 | mov ecx,[w_work_button_text] |
1060 | mov ecx,[w_work_button_text] |
1060 | mov edx,text |
1061 | mov edx,text |
1061 | mov esi,32 |
1062 | mov esi,32 |
1062 | newline: |
1063 | newline: |
1063 | mov eax,4 |
1064 | mov eax,4 |
1064 | mcall |
1065 | mcall |
1065 | add ebx,18 |
1066 | add ebx,18 |
1066 | add edx,32 |
1067 | add edx,32 |
1067 | cmp [edx],byte 'x' |
1068 | cmp [edx],byte 'x' |
1068 | jne newline |
1069 | jne newline |
1069 | 1070 | ||
1070 | call draw_colours |
1071 | call draw_colours |
1071 | 1072 | ||
1072 | call draw_PathShow |
1073 | call draw_PathShow |
1073 | 1074 | ||
1074 | ; mcall 13,<5,546>,<212,11>,[w_work] |
1075 | ; mcall 13,<5,546>,<212,11>,[w_work] |
1075 | ; mcall 13,<337,7>,<2,250>,[w_frame] |
1076 | ; mcall 13,<337,7>,<2,250>,[w_frame] |
1076 | ; shr edx,1 |
1077 | ; shr edx,1 |
1077 | ; and edx,0x007F7F7F |
1078 | ; and edx,0x007F7F7F |
1078 | ; mcall 38,<336,336>,<20,250> |
1079 | ; mcall 38,<336,336>,<20,250> |
1079 | ; add ebx,0x00080008 |
1080 | ; add ebx,0x00080008 |
1080 | ; mcall |
1081 | ; mcall |
1081 | ; sub ebx,0x00040004 |
1082 | ; sub ebx,0x00040004 |
1082 | ; mcall ,,<0,255> |
1083 | ; mcall ,,<0,255> |
1083 | ; mcall ,<5,550>,<211,211> |
1084 | ; mcall ,<5,550>,<211,211> |
1084 | ; add ecx,0x000C000C |
1085 | ; add ecx,0x000C000C |
1085 | ; mcall |
1086 | ; mcall |
1086 | 1087 | ||
1087 | ; call print_text |
1088 | ; call print_text |
1088 | 1089 | ||
1089 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
1090 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
1090 | jne @f |
1091 | jne @f |
1091 | call draw_skin |
1092 | call draw_skin |
1092 | @@: |
1093 | @@: |
1093 | 1094 | ||
1094 | mov eax,12 ; function 12:tell os about windowdraw |
1095 | mov eax,12 ; function 12:tell os about windowdraw |
1095 | mov ebx,2 ; 2, end of draw |
1096 | mov ebx,2 ; 2, end of draw |
1096 | mcall |
1097 | mcall |
1097 | 1098 | ||
1098 | ret |
1099 | ret |
1099 | 1100 | ||
1100 | 1101 | ||
1101 | ; DATA AREA |
1102 | ; DATA AREA |
1102 | 1103 | ||
1103 | lsz text,\ |
1104 | lsz text,\ |
1104 | ru, ' ',\ |
1105 | ru, ' ',\ |
1105 | ru, ' ',\ |
1106 | ru, ' ',\ |
1106 | ru, ' ',\ |
1107 | ru, ' ',\ |
1107 | ru, ' ',\ |
1108 | ru, ' ',\ |
1108 | ru, ' ',\ |
1109 | ru, ' ',\ |
1109 | ru, ' ',\ |
1110 | ru, ' ',\ |
1110 | ru, ' ',\ |
1111 | ru, ' ',\ |
1111 | ru, ' ',\ |
1112 | ru, ' ',\ |
1112 | ru, ' ',\ |
1113 | ru, ' ',\ |
1113 | ru, ' ',\ |
1114 | ru, ' ',\ |
1114 | ru, 'x',\ |
1115 | ru, 'x',\ |
1115 | en, ' WINDOW FRAME ',\ |
1116 | en, ' WINDOW FRAME ',\ |
1116 | en, ' WINDOW GRAB BAR ',\ |
1117 | en, ' WINDOW GRAB BAR ',\ |
1117 | en, ' WINDOW GRAB BUTTON ',\ |
1118 | en, ' WINDOW GRAB BUTTON ',\ |
1118 | en, ' WINDOW GRAB BUTTON TEXT ',\ |
1119 | en, ' WINDOW GRAB BUTTON TEXT ',\ |
1119 | en, ' WINDOW GRAB TITLE ',\ |
1120 | en, ' WINDOW GRAB TITLE ',\ |
1120 | en, ' WINDOW WORK AREA ',\ |
1121 | en, ' WINDOW WORK AREA ',\ |
1121 | en, ' WINDOW WORK AREA BUTTON ',\ |
1122 | en, ' WINDOW WORK AREA BUTTON ',\ |
1122 | en, ' WINDOW WORK AREA BUTTON TEXT ',\ |
1123 | en, ' WINDOW WORK AREA BUTTON TEXT ',\ |
1123 | en, ' WINDOW WORK AREA TEXT ',\ |
1124 | en, ' WINDOW WORK AREA TEXT ',\ |
1124 | en, ' WINDOW WORK AREA GRAPH ',\ |
1125 | en, ' WINDOW WORK AREA GRAPH ',\ |
1125 | en, 'x',\ |
1126 | en, 'x',\ |
1126 | et, ' AKNA RAAM ',\ |
1127 | et, ' AKNA RAAM ',\ |
1127 | et, ' AKNA HAARAMISE RIBA ',\ |
1128 | et, ' AKNA HAARAMISE RIBA ',\ |
1128 | et, ' AKNA HAARAMISE NUPP ',\ |
1129 | et, ' AKNA HAARAMISE NUPP ',\ |
1129 | et, ' AKNA HAARAMISE NUPU TEKST ',\ |
1130 | et, ' AKNA HAARAMISE NUPU TEKST ',\ |
1130 | et, ' AKNA HAARAMISE PEALKIRI ',\ |
1131 | et, ' AKNA HAARAMISE PEALKIRI ',\ |
1131 | et, ' AKNA TÖÖPIIRKOND ',\ |
1132 | et, ' AKNA TÖÖPIIRKOND ',\ |
1132 | et, ' AKNA TÖÖPIIRKONNA NUPP ',\ |
1133 | et, ' AKNA TÖÖPIIRKONNA NUPP ',\ |
1133 | et, ' AKNA TÖÖPIIRKONNA NUPPU TEKST ',\ |
1134 | et, ' AKNA TÖÖPIIRKONNA NUPPU TEKST ',\ |
1134 | et, ' AKNA TÖÖPIIRKONNA TEKST ',\ |
1135 | et, ' AKNA TÖÖPIIRKONNA TEKST ',\ |
1135 | et, ' AKNA TÖÖPIIRKONNA GRAAFIKA ',\ |
1136 | et, ' AKNA TÖÖPIIRKONNA GRAAFIKA ',\ |
1136 | et, 'x' |
1137 | et, 'x' |
1137 | 1138 | ||
1138 | lsz t1,\ |
1139 | lsz t1,\ |
1139 | ru, ' 3D ',\ |
1140 | ru, ' 3D ',\ |
1140 | en, ' 3D FLAT APPLY ',\ |
1141 | en, ' 3D FLAT APPLY ',\ |
1141 | et, ' 3D LAME KINNITA ' |
1142 | et, ' 3D LAME KINNITA ' |
1142 | 1143 | ||
1143 | lsz t2,\ |
1144 | lsz t2,\ |
1144 | ru, ' ',\ |
1145 | ru, ' ',\ |
1145 | en, ' LOAD APPLY ',\ |
1146 | en, ' LOAD APPLY ',\ |
1146 | et, ' LAADI KINNITA ' |
1147 | et, ' LAADI KINNITA ' |
1147 | 1148 | ||
1148 | lsz t3,\ |
1149 | lsz t3,\ |
1149 | ru, ' ',\ |
1150 | ru, ' ',\ |
1150 | en, ' LOAD SAVE ',\ |
1151 | en, ' LOAD SAVE ',\ |
1151 | et, ' LAADI SALVESTA',\ |
1152 | et, ' LAADI SALVESTA',\ |
1152 | 1153 | ||
1153 | lsz caption_text,\ |
1154 | lsz caption_text,\ |
1154 | ru, ' £®«®¢®ª',\ |
1155 | ru, ' £®«®¢®ª',\ |
1155 | en, 'Caption',\ |
1156 | en, 'Caption',\ |
1156 | et, 'Pealkiri' |
1157 | et, 'Pealkiri' |
1157 | 1158 | ||
1158 | sz close_text,'x' |
1159 | sz close_text,'x' |
1159 | 1160 | ||
1160 | lsz window_text,\ |
1161 | lsz window_text,\ |
1161 | ru, '¥ªáâ ¢ ®ª¥',\ |
1162 | ru, '¥ªáâ ¢ ®ª¥',\ |
1162 | en, 'Window text',\ |
1163 | en, 'Window text',\ |
1163 | et, 'Akna tekst' |
1164 | et, 'Akna tekst' |
1164 | 1165 | ||
1165 | lsz button_text,\ |
1166 | lsz button_text,\ |
1166 | ru, '¥ªáâ ª®¯ª¥',\ |
1167 | ru, '¥ªáâ ª®¯ª¥',\ |
1167 | en, 'Button text',\ |
1168 | en, 'Button text',\ |
1168 | et, 'Nupu tekst' |
1169 | et, 'Nupu tekst' |
1169 | 1170 | ||
1170 | ;sz default_skn, '/sys/DEFAULT.SKN',0 |
1171 | ;sz default_skn, '/sys/DEFAULT.SKN',0 |
1171 | 1172 | ||
1172 | if lang eq ru |
1173 | if lang eq ru |
1173 | title db ' ',0 |
1174 | title db ' ',0 |
1174 | else if lang eq et |
1175 | else if lang eq et |
1175 | title db 'AKNA SEADED - VALI VÄRV JA VAJUTA OBJEKTILE',0 |
1176 | title db 'AKNA SEADED - VALI VÄRV JA VAJUTA OBJEKTILE',0 |
1176 | else |
1177 | else |
1177 | title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 |
1178 | title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 |
1178 | end if |
1179 | end if |
1179 | 1180 | ||
1180 | 1181 | ||
1181 | color dd 0 |
1182 | color dd 0 |
1182 | 1183 | ||
1183 | ;--------------------------------------------------------------------- |
1184 | ;--------------------------------------------------------------------- |
1184 | l_libs_start: |
1185 | l_libs_start: |
1185 | 1186 | ||
1186 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
1187 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
1187 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
1188 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
1188 | 1189 | ||
1189 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
1190 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
1190 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
1191 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
1191 | 1192 | ||
1192 | end_l_libs: |
1193 | end_l_libs: |
1193 | ;--------------------------------------------------------------------- |
1194 | ;--------------------------------------------------------------------- |
1194 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
1195 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
1195 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
1196 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
1196 | 1197 | ||
1197 | head_f_i: |
1198 | head_f_i: |
1198 | head_f_l db 'System error',0 |
1199 | head_f_l db 'System error',0 |
1199 | 1200 | ||
1200 | err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
1201 | err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
1201 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
1202 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
1202 | 1203 | ||
1203 | err_message_import1 db 'box_lib.obj - Wrong import!',0 |
1204 | err_message_import1 db 'box_lib.obj - Wrong import!',0 |
1204 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
1205 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
1205 | 1206 | ||
1206 | ;--------------------------------------------------------------------- |
1207 | ;--------------------------------------------------------------------- |
1207 | align 4 |
1208 | align 4 |
1208 | ProcLib_import: |
1209 | ProcLib_import: |
1209 | OpenDialog_Init dd aOpenDialog_Init |
1210 | OpenDialog_Init dd aOpenDialog_Init |
1210 | OpenDialog_Start dd aOpenDialog_Start |
1211 | OpenDialog_Start dd aOpenDialog_Start |
1211 | ;OpenDialog__Version dd aOpenDialog_Version |
1212 | ;OpenDialog__Version dd aOpenDialog_Version |
1212 | dd 0 |
1213 | dd 0 |
1213 | dd 0 |
1214 | dd 0 |
1214 | aOpenDialog_Init db 'OpenDialog_init',0 |
1215 | aOpenDialog_Init db 'OpenDialog_init',0 |
1215 | aOpenDialog_Start db 'OpenDialog_start',0 |
1216 | aOpenDialog_Start db 'OpenDialog_start',0 |
1216 | ;aOpenDialog_Version db 'Version_OpenDialog',0 |
1217 | ;aOpenDialog_Version db 'Version_OpenDialog',0 |
1217 | ;--------------------------------------------------------------------- |
1218 | ;--------------------------------------------------------------------- |
1218 | align 4 |
1219 | align 4 |
1219 | Box_lib_import: |
1220 | Box_lib_import: |
1220 | ;init_lib dd a_init |
1221 | ;init_lib dd a_init |
1221 | ;version_lib dd a_version |
1222 | ;version_lib dd a_version |
1222 | 1223 | ||
1223 | 1224 | ||
1224 | ;edit_box_draw dd aEdit_box_draw |
1225 | ;edit_box_draw dd aEdit_box_draw |
1225 | ;edit_box_key dd aEdit_box_key |
1226 | ;edit_box_key dd aEdit_box_key |
1226 | ;edit_box_mouse dd aEdit_box_mouse |
1227 | ;edit_box_mouse dd aEdit_box_mouse |
1227 | ;version_ed dd aVersion_ed |
1228 | ;version_ed dd aVersion_ed |
1228 | 1229 | ||
1229 | ;check_box_draw dd aCheck_box_draw |
1230 | ;check_box_draw dd aCheck_box_draw |
1230 | ;check_box_mouse dd aCheck_box_mouse |
1231 | ;check_box_mouse dd aCheck_box_mouse |
1231 | ;version_ch dd aVersion_ch |
1232 | ;version_ch dd aVersion_ch |
1232 | 1233 | ||
1233 | ;option_box_draw dd aOption_box_draw |
1234 | ;option_box_draw dd aOption_box_draw |
1234 | ;option_box_mouse dd aOption_box_mouse |
1235 | ;option_box_mouse dd aOption_box_mouse |
1235 | ;version_op dd aVersion_op |
1236 | ;version_op dd aVersion_op |
1236 | 1237 | ||
1237 | ;scrollbar_ver_draw dd aScrollbar_ver_draw |
1238 | ;scrollbar_ver_draw dd aScrollbar_ver_draw |
1238 | ;scrollbar_ver_mouse dd aScrollbar_ver_mouse |
1239 | ;scrollbar_ver_mouse dd aScrollbar_ver_mouse |
1239 | ;scrollbar_hor_draw dd aScrollbar_hor_draw |
1240 | ;scrollbar_hor_draw dd aScrollbar_hor_draw |
1240 | ;scrollbar_hor_mouse dd aScrollbar_hor_mouse |
1241 | ;scrollbar_hor_mouse dd aScrollbar_hor_mouse |
1241 | ;version_scrollbar dd aVersion_scrollbar |
1242 | ;version_scrollbar dd aVersion_scrollbar |
1242 | 1243 | ||
1243 | ;dinamic_button_draw dd aDbutton_draw |
1244 | ;dinamic_button_draw dd aDbutton_draw |
1244 | ;dinamic_button_mouse dd aDbutton_mouse |
1245 | ;dinamic_button_mouse dd aDbutton_mouse |
1245 | ;version_dbutton dd aVersion_dbutton |
1246 | ;version_dbutton dd aVersion_dbutton |
1246 | 1247 | ||
1247 | ;menu_bar_draw dd aMenu_bar_draw |
1248 | ;menu_bar_draw dd aMenu_bar_draw |
1248 | ;menu_bar_mouse dd aMenu_bar_mouse |
1249 | ;menu_bar_mouse dd aMenu_bar_mouse |
1249 | ;menu_bar_activate dd aMenu_bar_activate |
1250 | ;menu_bar_activate dd aMenu_bar_activate |
1250 | ;version_menu_bar dd aVersion_menu_bar |
1251 | ;version_menu_bar dd aVersion_menu_bar |
1251 | 1252 | ||
1252 | ;FileBrowser_draw dd aFileBrowser_draw |
1253 | ;FileBrowser_draw dd aFileBrowser_draw |
1253 | ;FileBrowser_mouse dd aFileBrowser_mouse |
1254 | ;FileBrowser_mouse dd aFileBrowser_mouse |
1254 | ;FileBrowser_key dd aFileBrowser_key |
1255 | ;FileBrowser_key dd aFileBrowser_key |
1255 | ;Version_FileBrowser dd aVersion_FileBrowser |
1256 | ;Version_FileBrowser dd aVersion_FileBrowser |
1256 | 1257 | ||
1257 | PathShow_prepare dd sz_PathShow_prepare |
1258 | PathShow_prepare dd sz_PathShow_prepare |
1258 | PathShow_draw dd sz_PathShow_draw |
1259 | PathShow_draw dd sz_PathShow_draw |
1259 | ;Version_path_show dd szVersion_path_show |
1260 | ;Version_path_show dd szVersion_path_show |
1260 | dd 0 |
1261 | dd 0 |
1261 | dd 0 |
1262 | dd 0 |
1262 | 1263 | ||
1263 | ;a_init db 'lib_init',0 |
1264 | ;a_init db 'lib_init',0 |
1264 | ;a_version db 'version',0 |
1265 | ;a_version db 'version',0 |
1265 | 1266 | ||
1266 | ;aEdit_box_draw db 'edit_box',0 |
1267 | ;aEdit_box_draw db 'edit_box',0 |
1267 | ;aEdit_box_key db 'edit_box_key',0 |
1268 | ;aEdit_box_key db 'edit_box_key',0 |
1268 | ;aEdit_box_mouse db 'edit_box_mouse',0 |
1269 | ;aEdit_box_mouse db 'edit_box_mouse',0 |
1269 | ;aVersion_ed db 'version_ed',0 |
1270 | ;aVersion_ed db 'version_ed',0 |
1270 | 1271 | ||
1271 | ;aCheck_box_draw db 'check_box_draw',0 |
1272 | ;aCheck_box_draw db 'check_box_draw',0 |
1272 | ;aCheck_box_mouse db 'check_box_mouse',0 |
1273 | ;aCheck_box_mouse db 'check_box_mouse',0 |
1273 | ;aVersion_ch db 'version_ch',0 |
1274 | ;aVersion_ch db 'version_ch',0 |
1274 | 1275 | ||
1275 | ;aOption_box_draw db 'option_box_draw',0 |
1276 | ;aOption_box_draw db 'option_box_draw',0 |
1276 | ;aOption_box_mouse db 'option_box_mouse',0 |
1277 | ;aOption_box_mouse db 'option_box_mouse',0 |
1277 | ;aVersion_op db 'version_op',0 |
1278 | ;aVersion_op db 'version_op',0 |
1278 | 1279 | ||
1279 | ;aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
1280 | ;aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
1280 | ;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
1281 | ;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
1281 | ;aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
1282 | ;aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
1282 | ;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
1283 | ;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
1283 | ;aVersion_scrollbar db 'version_scrollbar',0 |
1284 | ;aVersion_scrollbar db 'version_scrollbar',0 |
1284 | 1285 | ||
1285 | ;aDbutton_draw db 'dbutton_draw',0 |
1286 | ;aDbutton_draw db 'dbutton_draw',0 |
1286 | ;aDbutton_mouse db 'dbutton_mouse',0 |
1287 | ;aDbutton_mouse db 'dbutton_mouse',0 |
1287 | ;aVersion_dbutton db 'version_dbutton',0 |
1288 | ;aVersion_dbutton db 'version_dbutton',0 |
1288 | 1289 | ||
1289 | ;aMenu_bar_draw db 'menu_bar_draw',0 |
1290 | ;aMenu_bar_draw db 'menu_bar_draw',0 |
1290 | ;aMenu_bar_mouse db 'menu_bar_mouse',0 |
1291 | ;aMenu_bar_mouse db 'menu_bar_mouse',0 |
1291 | ;aMenu_bar_activate db 'menu_bar_activate',0 |
1292 | ;aMenu_bar_activate db 'menu_bar_activate',0 |
1292 | ;aVersion_menu_bar db 'version_menu_bar',0 |
1293 | ;aVersion_menu_bar db 'version_menu_bar',0 |
1293 | 1294 | ||
1294 | ;aFileBrowser_draw db 'FileBrowser_draw',0 |
1295 | ;aFileBrowser_draw db 'FileBrowser_draw',0 |
1295 | ;aFileBrowser_mouse db 'FileBrowser_mouse',0 |
1296 | ;aFileBrowser_mouse db 'FileBrowser_mouse',0 |
1296 | ;aFileBrowser_key db 'FileBrowser_key',0 |
1297 | ;aFileBrowser_key db 'FileBrowser_key',0 |
1297 | ;aVersion_FileBrowser db 'version_FileBrowser',0 |
1298 | ;aVersion_FileBrowser db 'version_FileBrowser',0 |
1298 | 1299 | ||
1299 | sz_PathShow_prepare db 'PathShow_prepare',0 |
1300 | sz_PathShow_prepare db 'PathShow_prepare',0 |
1300 | sz_PathShow_draw db 'PathShow_draw',0 |
1301 | sz_PathShow_draw db 'PathShow_draw',0 |
1301 | ;szVersion_path_show db 'version_PathShow',0 |
1302 | ;szVersion_path_show db 'version_PathShow',0 |
1302 | ;--------------------------------------------------------------------- |
1303 | ;--------------------------------------------------------------------- |
1303 | PathShow_data_1: |
1304 | PathShow_data_1: |
1304 | .type dd 0 ;+0 |
1305 | .type dd 0 ;+0 |
1305 | .start_y dw 217 ;+4 |
1306 | .start_y dw 217 ;+4 |
1306 | .start_x dw 12 ;+6 |
1307 | .start_x dw 12 ;+6 |
1307 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
1308 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
1308 | .area_size_x dw 530 ;+10 |
1309 | .area_size_x dw 530 ;+10 |
1309 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
1310 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
1310 | .background_flag dd 0 ;+16 |
1311 | .background_flag dd 0 ;+16 |
1311 | .font_color dd 0x0 ;+20 |
1312 | .font_color dd 0x0 ;+20 |
1312 | .background_color dd 0x0 ;+24 |
1313 | .background_color dd 0x0 ;+24 |
1313 | .text_pointer dd fname ;+28 |
1314 | .text_pointer dd fname ;+28 |
1314 | .work_area_pointer dd text_work_area ;+32 |
1315 | .work_area_pointer dd text_work_area ;+32 |
1315 | .temp_text_length dd 0 ;+36 |
1316 | .temp_text_length dd 0 ;+36 |
1316 | ;--------------------------------------------------------------------- |
1317 | ;--------------------------------------------------------------------- |
1317 | PathShow_data_2: |
1318 | PathShow_data_2: |
1318 | .type dd 0 ;+0 |
1319 | .type dd 0 ;+0 |
1319 | .start_y dw 235 ;+4 |
1320 | .start_y dw 235 ;+4 |
1320 | .start_x dw 12 ;+6 |
1321 | .start_x dw 12 ;+6 |
1321 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
1322 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
1322 | .area_size_x dw 530 ;+10 |
1323 | .area_size_x dw 530 ;+10 |
1323 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
1324 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
1324 | .background_flag dd 0 ;+16 |
1325 | .background_flag dd 0 ;+16 |
1325 | .font_color dd 0x0 ;+20 |
1326 | .font_color dd 0x0 ;+20 |
1326 | .background_color dd 0x0 ;+24 |
1327 | .background_color dd 0x0 ;+24 |
1327 | .text_pointer dd skin_info ;+28 |
1328 | .text_pointer dd skin_info ;+28 |
1328 | .work_area_pointer dd text_work_area2 ;+32 |
1329 | .work_area_pointer dd text_work_area2 ;+32 |
1329 | .temp_text_length dd 0 ;+36 |
1330 | .temp_text_length dd 0 ;+36 |
1330 | ;--------------------------------------------------------------------- |
1331 | ;--------------------------------------------------------------------- |
1331 | OpenDialog_data: |
1332 | OpenDialog_data: |
1332 | .type dd 0 |
1333 | .type dd 0 |
1333 | .procinfo dd procinfo ;+4 |
1334 | .procinfo dd procinfo ;+4 |
1334 | .com_area_name dd communication_area_name ;+8 |
1335 | .com_area_name dd communication_area_name ;+8 |
1335 | .com_area dd 0 ;+12 |
1336 | .com_area dd 0 ;+12 |
1336 | .opendir_pach dd temp_dir_pach ;+16 |
1337 | .opendir_pach dd temp_dir_pach ;+16 |
1337 | .dir_default_pach dd communication_area_default_pach ;+20 |
1338 | .dir_default_pach dd communication_area_default_pach ;+20 |
1338 | .start_path dd open_dialog_path ;+24 |
1339 | .start_path dd open_dialog_path ;+24 |
1339 | .draw_window dd draw_window ;+28 |
1340 | .draw_window dd draw_window ;+28 |
1340 | .status dd 0 ;+32 |
1341 | .status dd 0 ;+32 |
1341 | .openfile_pach dd fname ;+36 |
1342 | .openfile_pach dd fname ;+36 |
1342 | .filename_area dd filename_area ;+40 |
1343 | .filename_area dd filename_area ;+40 |
1343 | .filter_area dd Filter |
1344 | .filter_area dd Filter |
1344 | .x: |
1345 | .x: |
1345 | .x_size dw 420 ;+48 ; Window X size |
1346 | .x_size dw 420 ;+48 ; Window X size |
1346 | .x_start dw 10 ;+50 ; Window X position |
1347 | .x_start dw 10 ;+50 ; Window X position |
1347 | .y: |
1348 | .y: |
1348 | .y_size dw 320 ;+52 ; Window y size |
1349 | .y_size dw 320 ;+52 ; Window y size |
1349 | .y_start dw 10 ;+54 ; Window Y position |
1350 | .y_start dw 10 ;+54 ; Window Y position |
1350 | 1351 | ||
1351 | OpenDialog_data2: |
1352 | OpenDialog_data2: |
1352 | .type dd 0 |
1353 | .type dd 0 |
1353 | .procinfo dd procinfo ;+4 |
1354 | .procinfo dd procinfo ;+4 |
1354 | .com_area_name dd communication_area_name2 ;+8 |
1355 | .com_area_name dd communication_area_name2 ;+8 |
1355 | .com_area dd 0 ;+12 |
1356 | .com_area dd 0 ;+12 |
1356 | .opendir_pach dd temp_dir_pach2 ;+16 |
1357 | .opendir_pach dd temp_dir_pach2 ;+16 |
1357 | .dir_default_pach dd communication_area_default_pach ;+20 |
1358 | .dir_default_pach dd communication_area_default_pach ;+20 |
1358 | .start_path dd open_dialog_path ;+24 |
1359 | .start_path dd open_dialog_path ;+24 |
1359 | .draw_window dd draw_window ;+28 |
1360 | .draw_window dd draw_window ;+28 |
1360 | .status dd 0 ;+32 |
1361 | .status dd 0 ;+32 |
1361 | .openfile_pach dd skin_info ;+36 |
1362 | .openfile_pach dd skin_info ;+36 |
1362 | .filename_area dd filename_area2 ;+40 |
1363 | .filename_area dd filename_area2 ;+40 |
1363 | .filter_area dd Filter2 |
1364 | .filter_area dd Filter2 |
1364 | .x: |
1365 | .x: |
1365 | .x_size dw 420 ;+48 ; Window X size |
1366 | .x_size dw 420 ;+48 ; Window X size |
1366 | .x_start dw 10 ;+50 ; Window X position |
1367 | .x_start dw 10 ;+50 ; Window X position |
1367 | .y: |
1368 | .y: |
1368 | .y_size dw 320 ;+52 ; Window y size |
1369 | .y_size dw 320 ;+52 ; Window y size |
1369 | .y_start dw 10 ;+54 ; Window Y position |
1370 | .y_start dw 10 ;+54 ; Window Y position |
1370 | 1371 | ||
1371 | communication_area_name2: |
1372 | communication_area_name2: |
1372 | db 'FFFFFFFF_open_dialog',0 |
1373 | db 'FFFFFFFF_open_dialog',0 |
1373 | 1374 | ||
1374 | communication_area_name: |
1375 | communication_area_name: |
1375 | db 'FFFFFFFF_open_dialog2',0 |
1376 | db 'FFFFFFFF_open_dialog2',0 |
1376 | open_dialog_path: |
1377 | open_dialog_path: |
- | 1378 | if __nightbuild eq yes |
|
- | 1379 | db '/sys/MANAGERS/opendial',0 |
|
- | 1380 | else |
|
1377 | db '/sys/File Managers/opendial',0 |
1381 | db '/sys/File Managers/opendial',0 |
- | 1382 | end if |
|
1378 | communication_area_default_pach: |
1383 | communication_area_default_pach: |
1379 | db '/sys',0 |
1384 | db '/sys',0 |
1380 | 1385 | ||
1381 | Filter: |
1386 | Filter: |
1382 | dd Filter.end - Filter |
1387 | dd Filter.end - Filter |
1383 | .1: |
1388 | .1: |
1384 | db 'DTP',0 |
1389 | db 'DTP',0 |
1385 | .end: |
1390 | .end: |
1386 | db 0 |
1391 | db 0 |
1387 | 1392 | ||
1388 | Filter2: |
1393 | Filter2: |
1389 | dd Filter.end - Filter |
1394 | dd Filter.end - Filter |
1390 | .1: |
1395 | .1: |
1391 | db 'SKN',0 |
1396 | db 'SKN',0 |
1392 | .end: |
1397 | .end: |
1393 | db 0 |
1398 | db 0 |
1394 | 1399 | ||
1395 | start_temp_file_name: db 'default.dtp',0 |
1400 | start_temp_file_name: db 'default.dtp',0 |
1396 | 1401 | ||
1397 | default_skin: |
1402 | default_skin: |
1398 | db '/sys/default.skn',0 |
1403 | db '/sys/default.skn',0 |
1399 | default_dtp: |
1404 | default_dtp: |
1400 | db '/sys/default.dtp',0 |
1405 | db '/sys/default.dtp',0 |
1401 | ;--------------------------------------------------------------------- |
1406 | ;--------------------------------------------------------------------- |
1402 | IncludeIGlobals |
1407 | IncludeIGlobals |
1403 | 1408 | ||
1404 | I_END: |
1409 | I_END: |
1405 | 1410 | ||
1406 | IncludeUGlobals |
1411 | IncludeUGlobals |
1407 | 1412 | ||
1408 | read_info: |
1413 | read_info: |
1409 | .mode dd ? ; read |
1414 | .mode dd ? ; read |
1410 | .start_block dd ? ; first block |
1415 | .start_block dd ? ; first block |
1411 | .blocks dd ? ; 512 bytes |
1416 | .blocks dd ? ; 512 bytes |
1412 | .address dd ? |
1417 | .address dd ? |
1413 | .workarea dd ? |
1418 | .workarea dd ? |
1414 | fname rb 4096 ; filename |
1419 | fname rb 4096 ; filename |
1415 | 1420 | ||
1416 | virtual at read_info |
1421 | virtual at read_info |
1417 | write_info: |
1422 | write_info: |
1418 | .mode dd ? |
1423 | .mode dd ? |
1419 | rd 1 |
1424 | rd 1 |
1420 | .bytes2write dd ? |
1425 | .bytes2write dd ? |
1421 | .address dd ? |
1426 | .address dd ? |
1422 | .workarea dd ? |
1427 | .workarea dd ? |
1423 | end virtual |
1428 | end virtual |
1424 | 1429 | ||
1425 | read_info2: |
1430 | read_info2: |
1426 | .mode dd ? ; read |
1431 | .mode dd ? ; read |
1427 | .start_block dd ? ; first block |
1432 | .start_block dd ? ; first block |
1428 | .blocks dd ? ; 512 bytes |
1433 | .blocks dd ? ; 512 bytes |
1429 | .address dd ? |
1434 | .address dd ? |
1430 | .workarea dd ? |
1435 | .workarea dd ? |
1431 | skin_info rb 4096 |
1436 | skin_info rb 4096 |
1432 | 1437 | ||
1433 | ;param rb 257 |
1438 | ;param rb 257 |
1434 | 1439 | ||
1435 | align 4 |
1440 | align 4 |
1436 | app_colours: |
1441 | app_colours: |
1437 | 1442 | ||
1438 | w_frame dd ? |
1443 | w_frame dd ? |
1439 | w_grab dd ? |
1444 | w_grab dd ? |
1440 | w_grab_button dd ? |
1445 | w_grab_button dd ? |
1441 | w_grab_button_text dd ? |
1446 | w_grab_button_text dd ? |
1442 | w_grab_text dd ? |
1447 | w_grab_text dd ? |
1443 | w_work dd ? |
1448 | w_work dd ? |
1444 | w_work_button dd ? |
1449 | w_work_button dd ? |
1445 | w_work_button_text dd ? |
1450 | w_work_button_text dd ? |
1446 | w_work_text dd ? |
1451 | w_work_text dd ? |
1447 | w_work_graph dd ? |
1452 | w_work_graph dd ? |
1448 | 1453 | ||
1449 | color_table: |
1454 | color_table: |
1450 | times 10 dd ? |
1455 | times 10 dd ? |
1451 | ;--------------------------------------------------------------------- |
1456 | ;--------------------------------------------------------------------- |
1452 | align 4 |
1457 | align 4 |
1453 | cur_dir_path: |
1458 | cur_dir_path: |
1454 | rb 4096 |
1459 | rb 4096 |
1455 | ;--------------------------------------------------------------------- |
1460 | ;--------------------------------------------------------------------- |
1456 | library_path: |
1461 | library_path: |
1457 | rb 4096 |
1462 | rb 4096 |
1458 | ;--------------------------------------------------------------------- |
1463 | ;--------------------------------------------------------------------- |
1459 | ;fname_buf: |
1464 | ;fname_buf: |
1460 | ; rb 4096 |
1465 | ; rb 4096 |
1461 | ;--------------------------------------------------------------------- |
1466 | ;--------------------------------------------------------------------- |
1462 | temp_dir_pach: |
1467 | temp_dir_pach: |
1463 | rb 4096 |
1468 | rb 4096 |
1464 | ;--------------------------------------------------------------------- |
1469 | ;--------------------------------------------------------------------- |
1465 | temp_dir_pach2: |
1470 | temp_dir_pach2: |
1466 | rb 4096 |
1471 | rb 4096 |
1467 | ;--------------------------------------------------------------------- |
1472 | ;--------------------------------------------------------------------- |
1468 | text_work_area: |
1473 | text_work_area: |
1469 | rb 1024 |
1474 | rb 1024 |
1470 | ;--------------------------------------------------------------------- |
1475 | ;--------------------------------------------------------------------- |
1471 | text_work_area2: |
1476 | text_work_area2: |
1472 | rb 1024 |
1477 | rb 1024 |
1473 | ;--------------------------------------------------------------------- |
1478 | ;--------------------------------------------------------------------- |
1474 | procinfo: |
1479 | procinfo: |
1475 | rb 1024 |
1480 | rb 1024 |
1476 | ;--------------------------------------------------------------------- |
1481 | ;--------------------------------------------------------------------- |
1477 | filename_area: |
1482 | filename_area: |
1478 | rb 256 |
1483 | rb 256 |
1479 | ;--------------------------------------------------------------------- |
1484 | ;--------------------------------------------------------------------- |
1480 | filename_area2: |
1485 | filename_area2: |
1481 | rb 256 |
1486 | rb 256 |
1482 | ;--------------------------------------------------------------------- |
1487 | ;--------------------------------------------------------------------- |
1483 | rb 4096 |
1488 | rb 4096 |
1484 | stacktop: |
1489 | stacktop: |
1485 | ;--------------------------------------------------------------------- |
1490 | ;--------------------------------------------------------------------- |
1486 | file_load_area: ; old 0x10000 |
1491 | file_load_area: ; old 0x10000 |
1487 | rb 32*1024 |
1492 | rb 32*1024 |
1488 | ;--------------------------------------------------------------------- |
1493 | ;--------------------------------------------------------------------- |
1489 | not_packed_area: ; old 0x18000 |
1494 | not_packed_area: ; old 0x18000 |
1490 | rb 32*1024 |
1495 | rb 32*1024 |
1491 | ;--------------------------------------------------------------------- |
1496 | ;--------------------------------------------------------------------- |
1492 | unpack_area: ; old 0x20000 |
1497 | unpack_area: ; old 0x20000 |
1493 | rb 32*1024 |
1498 | rb 32*1024 |
1494 | ;--------------------------------------------------------------------- |
1499 | ;--------------------------------------------------------------------- |
1495 | i_end:211,211>5,550>0,255>20,250>336,336>2,250>337,7>212,11>5,546>232,15>10,534>214,15>10,534> |
1500 | i_end:211,211>5,550>0,255>20,250>336,336>2,250>337,7>212,11>5,546>232,15>10,534>214,15>10,534> |
1496 | > |
1501 | > |
1497 | >>> |
1502 | >>> |