Rev 31 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 31 | Rev 51 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; UNIFORM WINDOW COLOURS |
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 | ; |
8 | ; |
8 | 9 | ||
9 | ;****************************************************************************** |
10 | ;****************************************************************************** |
10 | use32 |
11 | use32 |
11 | org 0 |
12 | org 0 |
12 | db 'MENUET01' ; identifier |
13 | db 'MENUET01' ; identifier |
13 | dd 1 ; header version |
14 | dd 1 ; header version |
14 | dd START ; start address |
15 | dd START ; start address |
15 | dd I_END ; file size |
16 | dd I_END ; file size |
16 | dd 20000h ; memory |
17 | dd 28000h ; memory |
17 | dd 10000h ; stack pointer (0x10000+ - work area for os) |
18 | dd 10000h ; stack pointer (0x10000+ - work area for os) |
18 | dd 0;,0 ; parameters, reserved |
19 | dd 0;,0 ; parameters, reserved |
19 | 20 | ||
20 | include 'lang.inc' |
21 | include 'lang.inc' |
21 | include 'macros.inc' |
22 | include 'macros.inc' |
22 | ;****************************************************************************** |
23 | ;****************************************************************************** |
23 | 24 | ||
- | 25 | ||
- | 26 | struct SKIN_HEADER |
|
- | 27 | .ident dd ? |
|
- | 28 | .version dd ? |
|
- | 29 | .params dd ? |
|
- | 30 | .buttons dd ? |
|
- | 31 | .bitmaps dd ? |
|
- | 32 | ends |
|
- | 33 | ||
- | 34 | struct SKIN_PARAMS |
|
- | 35 | .skin_height dd ? |
|
- | 36 | .margin.right dw ? |
|
- | 37 | .margin.left dw ? |
|
- | 38 | .margin.bottom dw ? |
|
- | 39 | .margin.top dw ? |
|
- | 40 | .colors.inner dd ? |
|
- | 41 | .colors.outer dd ? |
|
- | 42 | .colors.frame dd ? |
|
- | 43 | .colors_1.inner dd ? |
|
- | 44 | .colors_1.outer dd ? |
|
- | 45 | .colors_1.frame dd ? |
|
- | 46 | .dtp.size dd ? |
|
- | 47 | .dtp.data db 40 dup (?) |
|
- | 48 | ends |
|
- | 49 | ||
- | 50 | struct SKIN_BUTTONS |
|
- | 51 | .type dd ? |
|
- | 52 | .pos: |
|
- | 53 | .left dw ? |
|
- | 54 | .top dw ? |
|
- | 55 | .size: |
|
- | 56 | .width dw ? |
|
- | 57 | .height dw ? |
|
- | 58 | ends |
|
- | 59 | ||
- | 60 | struct SKIN_BITMAPS |
|
- | 61 | .kind dw ? |
|
- | 62 | .type dw ? |
|
- | 63 | .data dd ? |
|
- | 64 | ends |
|
24 | 65 | ||
25 | 66 | ||
26 | START: ; start of execution |
67 | START: ; start of execution |
27 | 68 | ||
28 | mov eax,48 ; get current colors |
69 | mov eax,48 ; get current colors |
29 | mov ebx,3 |
70 | mov ebx,3 |
30 | mov ecx,color_table |
71 | mov ecx,color_table |
31 | mov edx,4*10 |
72 | mov edx,4*10 |
32 | int 0x40 |
73 | int 0x40 |
33 | 74 | ||
34 | cld |
75 | cld |
35 | mov esi, default_file |
76 | mov esi,default_skn |
36 | mov edi, fname |
77 | mov edi,fname |
37 | mov ecx, default_file.size |
78 | mov ecx,default_skn.size |
38 | rep movsb |
79 | rep movsb |
- | 80 | mov [skin_info.fname],0 |
|
- | 81 | mov [skin_info.workarea],0x10000 |
|
- | 82 | call load_skin_file |
|
39 | - | ||
40 | mov [read_info.address], color_table |
- | |
41 | mov [read_info.workarea], 0x10000 |
- | |
42 | mov [read_info.start_block], 0 |
83 | |
43 | 84 | ||
44 | red: |
85 | red: |
45 | call draw_window ; at first, draw the window |
86 | call draw_window ; at first, draw the window |
46 | 87 | ||
47 | still: |
88 | still: |
48 | 89 | ||
49 | mov eax,23 ; wait here for event |
90 | mov eax,23 ; wait here for event |
50 | mov ebx,5 |
91 | mov ebx,5 |
51 | int 0x40 |
92 | int 0x40 |
52 | 93 | ||
53 | dec eax ; redraw request ? |
94 | dec eax ; redraw request ? |
54 | jz red |
95 | jz red |
55 | dec eax ; key in buffer ? |
96 | dec eax ; key in buffer ? |
56 | jz key |
97 | jz key |
57 | dec eax ; button in buffer ? |
98 | dec eax ; button in buffer ? |
58 | jz button |
99 | jz button |
59 | 100 | ||
60 | call draw_cursor |
101 | call draw_cursor |
61 | 102 | ||
62 | jmp still |
103 | jmp still |
63 | 104 | ||
64 | 105 | ||
65 | key: ; key |
106 | key: ; key |
66 | mov eax,2 ; just read it and ignore |
107 | mov eax,2 ; just read it and ignore |
67 | int 0x40 |
108 | int 0x40 |
68 | jmp still |
109 | jmp still |
69 | 110 | ||
70 | button: ; button |
111 | button: ; button |
71 | mov eax,17 ; get id |
112 | mov eax,17 ; get id |
72 | int 0x40 |
113 | int 0x40 |
- | 114 | ||
- | 115 | cmp ah,11 ; read string |
|
- | 116 | jne no_string |
|
- | 117 | call read_string |
|
- | 118 | jmp still |
|
- | 119 | no_string: |
|
- | 120 | ||
- | 121 | cmp ah,12 ; load file |
|
- | 122 | jne no_load |
|
- | 123 | call load_file |
|
- | 124 | call draw_window |
|
- | 125 | jmp still |
|
- | 126 | no_load: |
|
- | 127 | ||
- | 128 | cmp ah,13 ; save file |
|
- | 129 | jne no_save |
|
- | 130 | call save_file |
|
- | 131 | jmp still |
|
- | 132 | no_save: |
|
73 | 133 | ||
74 | cmp ah,14 ; set 3d buttons |
134 | cmp ah,14 ; set 3d buttons |
75 | jne no_3d |
135 | jne no_3d |
76 | mov eax,48 |
136 | mov eax,48 |
77 | mov ebx,1 |
137 | mov ebx,1 |
78 | mov ecx,1 |
138 | mov ecx,1 |
79 | int 0x40 |
139 | int 0x40 |
80 | mov eax,48 |
140 | mov eax,48 |
81 | mov ebx,0 |
141 | mov ebx,0 |
82 | mov ecx,0 |
142 | mov ecx,0 |
83 | int 0x40 |
143 | int 0x40 |
84 | jmp still |
144 | jmp still |
85 | no_3d: |
145 | no_3d: |
86 | 146 | ||
87 | cmp ah,15 ; set flat buttons |
147 | cmp ah,15 ; set flat buttons |
88 | jne no_flat |
148 | jne no_flat |
89 | mcall 48, 1, 0 |
149 | mcall 48, 1, 0 |
90 | mcall 48, 0, 0 |
150 | mcall 48, 0, 0 |
91 | jmp still |
151 | jmp still |
92 | no_flat: |
152 | no_flat: |
93 | 153 | ||
94 | cmp ah,51 ; apply |
154 | cmp ah,16 ; apply |
- | 155 | jne no_apply |
|
95 | jne no_apply |
156 | apply_direct: |
96 | mov eax,48 |
157 | mov eax,48 |
97 | mov ebx,2 |
158 | mov ebx,2 |
98 | mov ecx,color_table |
159 | mov ecx,color_table |
99 | mov edx,10*4 |
160 | mov edx,10*4 |
100 | int 0x40 |
161 | int 0x40 |
101 | mov eax,48 |
162 | mov eax,48 |
102 | mov ebx,0 |
163 | mov ebx,0 |
103 | mov ecx,0 |
164 | mov ecx,0 |
104 | int 0x40 |
165 | int 0x40 |
105 | no_apply: |
166 | no_apply: |
- | 167 | ||
- | 168 | cmp ah,17 ; load skin file |
|
- | 169 | jne no_load_skin |
|
- | 170 | call load_skin_file |
|
- | 171 | call draw_window |
|
- | 172 | jmp still |
|
- | 173 | no_load_skin: |
|
- | 174 | ||
- | 175 | cmp ah,18 ; apply skin |
|
- | 176 | jne no_apply_skin |
|
- | 177 | cmp [skin_info.fname],0 |
|
- | 178 | je no_apply_skin |
|
- | 179 | mcall 48,8,skin_info |
|
- | 180 | call draw_window |
|
- | 181 | jmp still |
|
- | 182 | no_apply_skin: |
|
106 | 183 | ||
107 | cmp ah,31 |
184 | cmp ah,31 |
108 | jb no_new_colour |
185 | jb no_new_colour |
109 | cmp ah,41 |
186 | cmp ah,41 |
110 | jg no_new_colour |
187 | jg no_new_colour |
111 | shr eax,8 |
188 | shr eax,8 |
112 | sub eax,31 |
189 | sub eax,31 |
113 | shl eax,2 |
190 | shl eax,2 |
114 | add eax,color_table |
191 | add eax,color_table |
115 | mov ebx,[color] |
192 | mov ebx,[color] |
116 | mov [eax],ebx |
193 | mov [eax],ebx |
117 | call draw_colours |
194 | call draw_colours |
118 | jmp still |
195 | jmp still |
119 | no_new_colour: |
196 | no_new_colour: |
120 | 197 | ||
121 | cmp ah,1 ; terminate |
198 | cmp ah,1 ; terminate |
122 | jnz noid1 |
199 | jnz noid1 |
123 | mov eax,-1 |
200 | mov eax,-1 |
124 | int 0x40 |
201 | int 0x40 |
125 | noid1: |
202 | noid1: |
126 | - | ||
127 | cmp ah,11 ; read string |
- | |
128 | jne no_string |
- | |
129 | call read_string |
- | |
130 | jmp still |
- | |
131 | no_string: |
- | |
132 | - | ||
133 | cmp ah,12 ; load file |
- | |
134 | jne no_load |
- | |
135 | call load_file |
- | |
136 | call draw_window |
- | |
137 | jmp still |
- | |
138 | no_load: |
- | |
139 | - | ||
140 | cmp ah,13 ; save file |
- | |
141 | jne no_save |
- | |
142 | call save_file |
- | |
143 | jmp still |
- | |
144 | no_save: |
- | |
145 | 203 | ||
146 | jmp still |
204 | jmp still |
147 | 205 | ||
148 | 206 | ||
149 | draw_cursor: |
207 | draw_cursor: |
150 | 208 | ||
151 | pusha |
209 | pusha |
152 | mov eax,37 |
210 | mov eax,37 |
153 | mov ebx,2 |
211 | mov ebx,2 |
154 | int 0x40 |
212 | int 0x40 |
155 | 213 | ||
156 | cmp eax,0 |
214 | cmp eax,0 |
157 | jne dc1 |
215 | jne dc1 |
158 | popa |
216 | popa |
159 | ret |
217 | ret |
160 | 218 | ||
161 | dc1: |
219 | dc1: |
162 | 220 | ||
163 | mov eax,37 |
221 | mov eax,37 |
164 | mov ebx,1 |
222 | mov ebx,1 |
165 | int 0x40 |
223 | int 0x40 |
166 | 224 | ||
167 | mov ebx,eax |
225 | mov ebx,eax |
168 | shr ebx,16 |
226 | shr ebx,16 |
169 | mov ecx,eax |
227 | mov ecx,eax |
170 | and ecx,0xffff |
228 | and ecx,0xffff |
171 | 229 | ||
172 | cmp ecx,32 |
230 | cmp ecx,32 |
173 | jbe no_color |
231 | jbe no_color |
174 | cmp ebx,32 |
232 | cmp ebx,32 |
175 | jbe no_color |
233 | jbe no_color |
176 | 234 | ||
177 | cmp ebx,280 ; CHANGE COLOR |
235 | cmp ebx,266 ; CHANGE COLOR |
178 | jb no_color |
236 | jb no_color |
179 | cmp ebx,280+20*3 |
237 | cmp ebx,266+20*3 |
180 | jg no_color |
238 | jg no_color |
181 | 239 | ||
182 | cmp ecx,30+128 |
240 | cmp ecx,30+128 |
183 | jge no_color |
241 | jge no_color |
184 | cmp ecx,30 |
242 | cmp ecx,30 |
185 | jb no_color |
243 | jb no_color |
186 | 244 | ||
187 | sub ebx,280 |
245 | sub ebx,266 |
188 | mov eax,ebx |
246 | mov eax,ebx |
189 | cdq |
247 | cdq |
190 | mov ebx,20 |
248 | mov ebx,20 |
191 | div ebx |
249 | div ebx |
192 | mov ebx,2 |
250 | mov ebx,2 |
193 | sub ebx,eax |
251 | sub ebx,eax |
194 | 252 | ||
195 | add ecx,-30 |
253 | add ecx,-30 |
196 | not ecx |
254 | not ecx |
197 | shl ecx,1 |
255 | shl ecx,1 |
198 | 256 | ||
199 | mov byte [ebx+color],cl |
257 | mov byte [ebx+color],cl |
200 | call draw_color |
258 | call draw_color |
201 | 259 | ||
202 | popa |
260 | popa |
203 | ret |
261 | ret |
204 | 262 | ||
205 | no_color: |
263 | no_color: |
206 | 264 | ||
207 | popa |
265 | popa |
208 | ret |
266 | ret |
209 | 267 | ||
210 | 268 | ||
211 | load_file: |
269 | load_file: |
212 | pushad |
270 | pushad |
213 | 271 | ||
214 | mov [read_info.mode], 0 |
272 | mov [read_info.mode] ,0 |
- | 273 | mov [read_info.start_block],0 |
|
215 | mov [read_info.blocks], 1 |
274 | mov [read_info.blocks] ,1 |
- | 275 | mov [read_info.address] ,color_table |
|
- | 276 | mov [read_info.workarea] ,0x10000 |
|
216 | mcall 58, read_info |
277 | mcall 58, read_info |
- | 278 | ||
- | 279 | popad |
|
- | 280 | ret |
|
- | 281 | ||
- | 282 | load_skin_file: |
|
- | 283 | pushad |
|
- | 284 | ||
- | 285 | mov [read_info.mode] ,0 |
|
- | 286 | mov [read_info.start_block],0 |
|
- | 287 | mov [read_info.blocks] ,64 |
|
- | 288 | mov [read_info.address] ,0x20000 |
|
217 | 289 | mov [read_info.workarea] ,0x10000 |
|
- | 290 | mcall 58, read_info |
|
- | 291 | ||
- | 292 | cmp dword[0x20000+SKIN_HEADER.ident],'SKIN' |
|
- | 293 | jne @f |
|
- | 294 | ||
- | 295 | mov esi,fname |
|
- | 296 | mov edi,skin_info.fname |
|
- | 297 | mov ecx,257 |
|
- | 298 | rep movsb |
|
- | 299 | ||
- | 300 | mov esi,0x20000 |
|
- | 301 | mov edi,0x18000 |
|
- | 302 | mov ecx,0x8000/4 |
|
- | 303 | rep movsd |
|
- | 304 | ||
- | 305 | mov ebp,0x18000 |
|
- | 306 | mov esi,[ebp+SKIN_HEADER.params] |
|
- | 307 | add esi,ebp |
|
- | 308 | lea esi,[esi+SKIN_PARAMS.dtp.data] |
|
- | 309 | mov edi,color_table |
|
- | 310 | mov ecx,10 |
|
- | 311 | rep movsd |
|
218 | call draw_colours |
312 | @@: |
219 | 313 | ||
220 | popad |
314 | popad |
221 | ret |
315 | ret |
222 | 316 | ||
223 | 317 | ||
224 | save_file: |
318 | save_file: |
225 | pushad |
319 | pushad |
226 | 320 | ||
227 | mov [write_info.mode], 1 |
321 | mov [write_info.mode] ,1 |
228 | mov [write_info.bytes2write], 10*4 |
322 | mov [write_info.bytes2write],10*4 |
- | 323 | mov [write_info.address] ,color_table |
|
- | 324 | mov [write_info.workarea] ,0x10000 |
|
229 | mcall 58, write_info |
325 | mcall 58, write_info |
230 | 326 | ||
231 | popad |
327 | popad |
232 | ret |
328 | ret |
233 | 329 | ||
234 | 330 | ||
235 | read_string: |
331 | read_string: |
236 | 332 | ||
237 | pusha |
333 | pusha |
238 | 334 | ||
239 | mov edi,fname |
335 | mov edi,fname |
240 | mov al,'_' |
336 | mov al,'_' |
241 | mov ecx,54 |
337 | mov ecx,87 |
242 | cld |
338 | cld |
243 | rep stosb |
339 | rep stosb |
244 | 340 | ||
245 | call print_text |
341 | call print_text |
246 | 342 | ||
247 | mov edi,fname |
343 | mov edi,fname |
248 | 344 | ||
249 | f11: |
345 | f11: |
250 | mov eax,10 |
346 | mov eax,10 |
251 | int 0x40 |
347 | int 0x40 |
252 | cmp eax,2 |
348 | cmp eax,2 |
253 | jne read_done |
349 | jne read_done |
254 | mov eax,2 |
350 | mov eax,2 |
255 | int 0x40 |
351 | int 0x40 |
256 | shr eax,8 |
352 | shr eax,8 |
257 | cmp eax,13 |
353 | cmp eax,13 |
258 | je read_done |
354 | je read_done |
259 | cmp eax,8 |
355 | cmp eax,8 |
260 | jne nobsl |
356 | jne nobsl |
261 | cmp edi,fname |
357 | cmp edi,fname |
262 | je f11 |
358 | je f11 |
263 | dec edi |
359 | dec edi |
264 | mov [edi],byte '_' |
360 | mov [edi],byte '_' |
265 | call print_text |
361 | call print_text |
266 | jmp f11 |
362 | jmp f11 |
267 | nobsl: |
363 | nobsl: |
268 | mov [edi],al |
364 | mov [edi],al |
269 | 365 | ||
270 | call print_text |
366 | call print_text |
271 | 367 | ||
272 | inc edi |
368 | inc edi |
273 | cmp edi, fname+54 |
369 | cmp edi, fname+87 |
274 | jne f11 |
370 | jne f11 |
275 | 371 | ||
276 | read_done: |
372 | read_done: |
277 | 373 | ||
278 | mov ecx, fname |
374 | mov ecx, fname |
279 | add ecx, 55 |
375 | add ecx, 88 |
280 | sub ecx, edi |
376 | sub ecx, edi |
281 | mov eax, 0 |
377 | mov eax, 0 |
282 | cld |
378 | cld |
283 | rep stosb |
379 | rep stosb |
284 | 380 | ||
285 | call print_text |
381 | call print_text |
286 | 382 | ||
287 | popa |
383 | popa |
288 | 384 | ||
289 | ret |
385 | ret |
290 | 386 | ||
291 | 387 | ||
292 | print_text: |
388 | print_text: |
293 | pushad |
389 | pushad |
294 | 390 | ||
295 | mpack ebx, 16, 6*54+4 |
391 | mpack ebx,15,6*87+4 |
296 | mpack ecx, 234, 10 |
392 | mpack ecx,(30+18*10+2),11 |
297 | mcall 13, , , [w_work] |
393 | mcall 13,,,[w_work] |
298 | 394 | ||
299 | mpack ebx, 17, 235 |
395 | mpack ebx,17,(30+18*10+4) |
300 | mcall 4, , [w_work_text], fname, 54 |
396 | mcall 4,,[w_work_text],fname,87 |
301 | 397 | ||
302 | popad |
398 | popad |
303 | ret |
399 | ret |
304 | 400 | ||
305 | 401 | ||
306 | draw_color: |
402 | draw_color: |
307 | 403 | ||
308 | pusha |
404 | pusha |
309 | 405 | ||
310 | mov eax,13 |
406 | mov eax,13 |
311 | mov ebx,280*65536+60 |
407 | mov ebx,266*65536+60 |
312 | mov ecx,170*65536+30 |
408 | mov ecx,170*65536+30 |
313 | mov edx,[color] |
409 | mov edx,[color] |
314 | int 0x40 |
410 | int 0x40 |
315 | 411 | ||
316 | ; mov eax,13 |
412 | ; mov eax,13 |
317 | mov ebx,280*65536+60 |
413 | mov ebx,266*65536+60 |
318 | mov ecx,200*65536+10 |
414 | mov ecx,200*65536+10 |
319 | mov edx,[w_work] |
415 | mov edx,[w_work] |
320 | int 0x40 |
416 | int 0x40 |
321 | 417 | ||
322 | mov eax,47 |
418 | mov eax,47 |
323 | mov ebx,0+1*256+8*65536 |
419 | mov ebx,0+1*256+8*65536 |
324 | mov ecx,[color] |
420 | mov ecx,[color] |
325 | mov edx,280*65536+201 |
421 | mov edx,272*65536+201 |
326 | mov esi,[w_work_text] |
422 | mov esi,[w_work_text] |
327 | int 0x40 |
423 | int 0x40 |
328 | 424 | ||
329 | popa |
425 | popa |
330 | 426 | ||
331 | ret |
427 | ret |
332 | 428 | ||
333 | 429 | ||
334 | draw_colours: |
430 | draw_colours: |
335 | 431 | ||
336 | pusha |
432 | pusha |
337 | 433 | ||
338 | mov esi,color_table |
434 | mov esi,color_table |
339 | 435 | ||
340 | mov ebx,225*65536+32 |
436 | mov ebx,225*65536+32 |
341 | mov ecx,37*65536+12 |
437 | mov ecx,32*65536+12 |
342 | newcol: |
438 | newcol: |
343 | mov eax,13 |
439 | mov eax,13 |
344 | mov edx,[esi] |
440 | mov edx,[esi] |
345 | int 0x40 |
441 | int 0x40 |
346 | add ecx,20*65536 |
442 | add ecx,18*65536 |
347 | add esi,4 |
443 | add esi,4 |
348 | cmp esi,color_table+4*9 |
444 | cmp esi,color_table+4*9 |
349 | jbe newcol |
445 | jbe newcol |
350 | 446 | ||
351 | popa |
447 | popa |
352 | 448 | ||
353 | ret |
449 | ret |
354 | 450 | ||
- | 451 | ||
- | 452 | draw_framerect: ; ebx,ecx |
|
- | 453 | push ebx ecx |
|
- | 454 | add bx,[esp+6] |
|
- | 455 | mov cx,[esp+2] |
|
- | 456 | dec ebx |
|
- | 457 | mcall 38 |
|
- | 458 | add cx,[esp] |
|
- | 459 | rol ecx,16 |
|
- | 460 | add cx,[esp] |
|
- | 461 | sub ecx,0x00010001 |
|
- | 462 | mcall |
|
- | 463 | mov ebx,[esp+4] |
|
- | 464 | mov ecx,[esp] |
|
- | 465 | mov bx,[esp+6] |
|
- | 466 | add cx,[esp+2] |
|
- | 467 | dec ecx |
|
- | 468 | mcall |
|
- | 469 | add bx,[esp+4] |
|
- | 470 | rol ebx,16 |
|
- | 471 | add bx,[esp+4] |
|
- | 472 | sub ebx,0x00010001 |
|
- | 473 | mcall |
|
- | 474 | add esp,8 |
|
- | 475 | ret |
|
- | 476 | ||
- | 477 | find_bitmap: |
|
- | 478 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
|
- | 479 | add edi,ebp |
|
- | 480 | xor ebx,ebx |
|
- | 481 | .lp1: cmp dword[edi],0 |
|
- | 482 | je .lp2 |
|
- | 483 | cmp dword[edi+0],eax |
|
- | 484 | jne @f |
|
- | 485 | mov ebx,[edi+SKIN_BITMAPS.data] |
|
- | 486 | add ebx,ebp |
|
- | 487 | mov ecx,[ebx-2] |
|
- | 488 | mov cx,[ebx+4] |
|
- | 489 | add ebx,8 |
|
- | 490 | .lp2: ret |
|
- | 491 | @@: add edi,8 |
|
- | 492 | jmp .lp1 |
|
- | 493 | ||
- | 494 | draw_skin: |
|
- | 495 | mcall 13,<345,206>,<20,191>,0x00FFFFFF |
|
- | 496 | mov ebp,0x18000 |
|
- | 497 | mov edi,[ebp+SKIN_HEADER.params] |
|
- | 498 | add edi,ebp |
|
- | 499 | mpack ebx,345+45,150 |
|
- | 500 | mpack ecx,20+10,140 |
|
- | 501 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
|
- | 502 | call draw_framerect |
|
- | 503 | mpack ebx,345+45+4,150-8 |
|
- | 504 | mpack ecx,20+10+4,140-8 |
|
- | 505 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
|
- | 506 | call draw_framerect |
|
- | 507 | mcall 13,<345+45+1,148>,<20+10+1,3>,[edi+SKIN_PARAMS.colors_1.frame] |
|
- | 508 | add ecx,135*65536 |
|
- | 509 | mcall |
|
- | 510 | mcall ,<345+45+1,3>,<20+10+1,138> |
|
- | 511 | add ebx,145*65536 |
|
- | 512 | mcall |
|
- | 513 | mcall ,<345+45+5,140>,<20+10+5,130>,dword[edi+SKIN_PARAMS.dtp.data+system_colors.work] |
|
- | 514 | ||
- | 515 | mov eax,0x00000001 ; left, inactive |
|
- | 516 | call find_bitmap |
|
- | 517 | mcall 7,,,<345+45,20+10> |
|
- | 518 | ||
- | 519 | pushd [ebx-8] |
|
- | 520 | mov eax,0x00000003 ; base, inactive |
|
- | 521 | call find_bitmap |
|
- | 522 | pop edx |
|
- | 523 | mov esi,345+45+150-1 |
|
- | 524 | sub esi,edx |
|
- | 525 | shl edx,16 |
|
- | 526 | add edx,(345+45)*65536+20+10 |
|
- | 527 | mcall 7 |
|
- | 528 | @@: rol edx,16 |
|
- | 529 | add dx,[ebx-8] |
|
- | 530 | cmp dx,si |
|
- | 531 | ja @f |
|
- | 532 | rol edx,16 |
|
- | 533 | mcall 7 |
|
- | 534 | jmp @b |
|
- | 535 | @@: |
|
- | 536 | ||
- | 537 | mov eax,0x00000002 ; oper, inactive |
|
- | 538 | call find_bitmap |
|
- | 539 | mov edx,ecx |
|
- | 540 | shr edx,16 |
|
- | 541 | neg edx |
|
- | 542 | shl edx,16 |
|
- | 543 | add edx,(345+45+150)*65536+20+10 |
|
- | 544 | mcall 7 |
|
- | 545 | ||
- | 546 | mov ebp,0x18000 |
|
- | 547 | mov edi,[ebp+SKIN_HEADER.params] |
|
- | 548 | add edi,ebp |
|
- | 549 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
|
- | 550 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
|
- | 551 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
|
- | 552 | shr ax,1 |
|
- | 553 | add ax,[edi+SKIN_PARAMS.margin.top] |
|
- | 554 | add ax,-4 |
|
- | 555 | push eax |
|
- | 556 | lea ebx,[eax+(345+45)*65536+20+10] |
|
- | 557 | mcall 4,,dword[edi+SKIN_PARAMS.dtp.data+system_colors.grab_text],test_text,test_text.size |
|
- | 558 | ||
- | 559 | ;--------------------------------------------------------- |
|
- | 560 | ||
- | 561 | mov edi,[ebp+SKIN_HEADER.params] |
|
- | 562 | add edi,ebp |
|
- | 563 | mpack ebx,345+10,150 |
|
- | 564 | mpack ecx,20+40,140 |
|
- | 565 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
|
- | 566 | call draw_framerect |
|
- | 567 | mpack ebx,345+10+4,150-8 |
|
- | 568 | mpack ecx,20+40+4,140-8 |
|
- | 569 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
|
- | 570 | call draw_framerect |
|
- | 571 | mcall 13,<345+10+1,148>,<20+40+1,3>,[edi+SKIN_PARAMS.colors.frame] |
|
- | 572 | add ecx,135*65536 |
|
- | 573 | mcall |
|
- | 574 | mcall ,<345+10+1,3>,<20+40+1,138> |
|
- | 575 | add ebx,145*65536 |
|
- | 576 | mcall |
|
- | 577 | mcall ,<345+10+5,140>,<20+40+5,130>,dword[edi+SKIN_PARAMS.dtp.data+system_colors.work] |
|
- | 578 | ||
- | 579 | mov eax,0x00010001 ; left, inactive |
|
- | 580 | call find_bitmap |
|
- | 581 | mcall 7,,,<345+10,20+40> |
|
- | 582 | ||
- | 583 | pushd [ebx-8] |
|
- | 584 | mov eax,0x00010003 ; base, inactive |
|
- | 585 | call find_bitmap |
|
- | 586 | pop edx |
|
- | 587 | mov esi,345+10+150-1 |
|
- | 588 | sub esi,edx |
|
- | 589 | shl edx,16 |
|
- | 590 | add edx,(345+10)*65536+20+40 |
|
- | 591 | mcall 7 |
|
- | 592 | @@: rol edx,16 |
|
- | 593 | add dx,[ebx-8] |
|
- | 594 | cmp dx,si |
|
- | 595 | ja @f |
|
- | 596 | rol edx,16 |
|
- | 597 | mcall 7 |
|
- | 598 | jmp @b |
|
- | 599 | @@: |
|
- | 600 | ||
- | 601 | mov eax,0x00010002 ; oper, inactive |
|
- | 602 | call find_bitmap |
|
- | 603 | mov edx,ecx |
|
- | 604 | shr edx,16 |
|
- | 605 | neg edx |
|
- | 606 | shl edx,16 |
|
- | 607 | add edx,(345+10+150)*65536+20+40 |
|
- | 608 | mcall 7 |
|
- | 609 | ||
- | 610 | mov ebp,0x18000 |
|
- | 611 | mov edi,[ebp+SKIN_HEADER.params] |
|
- | 612 | add edi,ebp |
|
- | 613 | pop eax |
|
- | 614 | lea ebx,[eax+(345+10)*65536+20+40] |
|
- | 615 | mcall 4,,dword[edi+SKIN_PARAMS.dtp.data+system_colors.grab_text],test_text,test_text.size |
|
- | 616 | ||
- | 617 | ;---------------------------------------------------------------------- |
|
- | 618 | ||
- | 619 | mov edi,[ebp+SKIN_HEADER.buttons] |
|
- | 620 | add edi,ebp |
|
- | 621 | .lp1: cmp dword[edi],0 |
|
- | 622 | je .lp2 |
|
- | 623 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
|
- | 624 | mov bx,[edi+SKIN_BUTTONS.width] |
|
- | 625 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
|
- | 626 | mov cx,[edi+SKIN_BUTTONS.height] |
|
- | 627 | add ebx,(345+10+150)*65536 |
|
- | 628 | add ecx,(20+40)*65536 |
|
- | 629 | dec ebx |
|
- | 630 | dec ecx |
|
- | 631 | mcall 8,,,0x40000000 |
|
- | 632 | add edi,12 |
|
- | 633 | jmp .lp1 |
|
355 | 634 | .lp2: ret |
|
356 | 635 | ||
357 | ; ********************************************* |
636 | ; ********************************************* |
358 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
637 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
359 | ; ********************************************* |
638 | ; ********************************************* |
360 | 639 | ||
361 | 640 | ||
362 | draw_window: |
641 | draw_window: |
363 | 642 | ||
364 | mov eax,12 ; function 12:tell os about windowdraw |
643 | mov eax,12 ; function 12:tell os about windowdraw |
365 | mov ebx,1 ; 1, start of draw |
644 | mov ebx,1 ; 1, start of draw |
366 | int 0x40 |
645 | int 0x40 |
367 | 646 | ||
368 | mov eax,48 |
647 | mov eax,48 |
369 | mov ebx,3 |
648 | mov ebx,3 |
370 | mov ecx,app_colours |
649 | mov ecx,app_colours |
371 | mov edx,10*4 |
650 | mov edx,10*4 |
372 | int 0x40 |
651 | int 0x40 |
373 | 652 | ||
374 | mov eax,14 |
653 | mov eax,14 |
375 | int 0x40 |
654 | int 0x40 |
376 | 655 | ||
377 | sub eax,60*65536 |
656 | sub eax,60*65536 |
378 | mov ebx,eax |
657 | mov ebx,eax |
379 | mov bx,40 |
658 | mov bx,40 |
380 | 659 | ||
381 | ; DRAW WINDOW |
660 | ; DRAW WINDOW |
382 | mov eax,0 ; function 0 : define and draw window |
661 | mov eax,0 ; function 0 : define and draw window |
383 | mov ebx,110*65536+360 ; [x start] *65536 + [x size] |
662 | mov ebx,110*65536+555 ; [x start] *65536 + [x size] |
384 | mov ecx,50*65536+300 ; [y start] *65536 + [y size] |
663 | mov ecx,50*65536+255 ; [y start] *65536 + [y size] |
385 | mov edx,[w_work] ; color of work area RRGGBB,8->color |
664 | mov edx,[w_work] ; color of work area RRGGBB,8->color |
386 | or edx,0x02000000 |
665 | or edx,0x02000000 |
387 | mov esi,[w_grab] ; color of grab bar RRGGBB,8->color gl |
666 | mov esi,[w_grab] ; color of grab bar RRGGBB,8->color gl |
388 | or esi,0x80000000 |
667 | or esi,0x80000000 |
389 | mov edi,[w_frame] ; color of frames RRGGBB |
668 | mov edi,[w_frame] ; color of frames RRGGBB |
390 | int 0x40 |
669 | int 0x40 |
391 | 670 | ||
392 | ; WINDOW LABEL |
671 | ; WINDOW LABEL |
393 | mov eax,4 ; function 4 : write text to window |
672 | mov eax,4 ; function 4 : write text to window |
394 | mov ebx,8*65536+7 ;8 ; [x start] *65536 + [y start] |
673 | mov ebx,8*65536+7 ;8 ; [x start] *65536 + [y start] |
395 | mov ecx,[w_grab_text] ; color of text RRGGBB |
674 | mov ecx,[w_grab_text] ; color of text RRGGBB |
396 | if lang eq ru |
675 | if lang eq ru |
397 | or ecx,0x10000000 |
676 | or ecx,0x10000000 |
398 | end if |
677 | end if |
399 | mov edx,labelt ; pointer to text beginning |
678 | mov edx,labelt ; pointer to text beginning |
400 | mov esi,labelt.size ; text length |
679 | mov esi,labelt.size ; text length |
401 | int 0x40 |
680 | int 0x40 |
402 | ; CLOSE BUTTON |
681 | ; CLOSE BUTTON |
403 | mov eax,8 ; function 8 : define and draw button |
682 | mov eax,8 ; function 8 : define and draw button |
404 | mov ebx,(360-19)*65536+12 ; [x start] *65536 + [x size] |
683 | mov ebx,(555-19)*65536+12 ; [x start] *65536 + [x size] |
405 | mov ecx,4*65536+12 ; [y start] *65536 + [y size] |
684 | mov ecx,4*65536+12 ; [y start] *65536 + [y size] |
406 | mov edx,1 ; button id |
685 | mov edx,1 ; button id |
407 | mov esi,[w_grab_button] ; button color RRGGBB |
686 | mov esi,[w_grab_button] ; button color RRGGBB |
408 | int 0x40 |
687 | int 0x40 |
- | 688 | ||
- | 689 | if lang eq ru |
|
- | 690 | load_w = (5*2+6*9) |
|
- | 691 | save_w = (5*2+6*9) |
|
- | 692 | flat_w = (5*2+6*7) |
|
- | 693 | apply_w = (5*2+6*9) |
|
- | 694 | else |
|
- | 695 | load_w = (5*2+6*6) |
|
- | 696 | save_w = (5*2+6*6) |
|
- | 697 | flat_w = (5*2+6*4) |
|
- | 698 | apply_w = (5*2+6*7) |
|
- | 699 | end if |
|
409 | 700 | ||
410 | ; mov eax,8 ; FILENAME BUTTON |
701 | ; mov eax,8 ; FILENAME BUTTON |
411 | mov ebx,280*65536+60 |
702 | mov ebx,5*65536+545 |
412 | mov ecx,250*65536+14 |
703 | mov ecx,212*65536+10 |
413 | mov edx,11 |
- | |
414 | mov esi,[w_work_button] |
704 | mov edx,0x4000000B |
415 | int 0x40 |
705 | int 0x40 |
416 | 706 | ||
417 | ; mov eax,8 ; SAVE BUTTON |
707 | ; mov eax,8 ; LOAD BUTTON |
418 | mov ebx,280*65536+29 |
708 | mov ebx,15*65536+load_w |
- | 709 | mov ecx,(30+18*11)*65536+14 |
|
419 | mov ecx,270*65536+14 |
710 | mov edx,12 |
420 | mov edx,12 |
711 | mov esi,[w_work_button] |
421 | int 0x40 |
712 | int 0x40 |
422 | 713 | ||
423 | ; mov eax,8 ; LOAD BUTTON |
714 | ; mov eax,8 ; SAVE BUTTON |
424 | add ebx,30*65536 |
715 | add ebx,(load_w+2)*65536-load_w+save_w |
425 | inc edx |
716 | inc edx |
426 | int 0x40 |
717 | int 0x40 |
427 | 718 | ||
428 | ; mov eax,8 ; 3D |
719 | ; mov eax,8 ; 3D |
429 | mov ebx,15*65536+35 |
720 | mov ebx,(340-t1.size*6-13)*65536+(5*2+6*4) |
430 | mov ecx,275*65536+14 |
- | |
431 | inc edx |
721 | inc edx |
432 | int 0x40 |
722 | int 0x40 |
433 | ; mov eax,8 ; FLAT |
723 | ; mov eax,8 ; FLAT |
434 | if lang eq ru |
- | |
435 | add ebx,40*65536+7 |
724 | add ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w |
436 | else |
- | |
437 | add ebx,40*65536 |
- | |
438 | end if |
- | |
439 | inc edx |
725 | inc edx |
440 | int 0x40 |
726 | int 0x40 |
- | 727 | ||
- | 728 | ; mov eax,8 ; APPLY BUTTON |
|
- | 729 | add ebx,(flat_w+6+2)*65536-flat_w+apply_w |
|
- | 730 | inc edx |
|
- | 731 | int 0x40 |
|
- | 732 | ||
- | 733 | ; mov eax,8 ; LOAD SKIN BUTTON |
|
- | 734 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w |
|
- | 735 | inc edx |
|
- | 736 | int 0x40 |
|
- | 737 | ||
- | 738 | ; mov eax,8 ; APPLY SKIN BUTTON |
|
- | 739 | add ebx,(load_w+6+2)*65536-load_w+apply_w |
|
- | 740 | inc edx |
|
441 | 741 | int 0x40 |
|
442 | 742 | ||
443 | mov eax, 4 |
743 | mov eax, 4 |
444 | mov ebx, 281*65536+254 |
744 | mov ebx, (339-t1.size*6-12)*65536+(30+18*11+4) |
445 | mov ecx, [w_work_button_text] |
745 | mov ecx, [w_work_button_text] |
446 | mov edx, t1 |
746 | mov edx, t1 |
447 | mov esi, t1.size |
747 | mov esi, t1.size |
448 | int 0x40 |
748 | int 0x40 |
449 | - | ||
450 | ; mov eax, 4 |
749 | |
451 | mov ebx, 277*65536+274 |
750 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+(30+18*11+4) |
452 | mov edx, t2 |
751 | mov edx,t2 |
453 | mov esi, t2.size |
752 | mov esi,t2.size |
454 | int 0x40 |
753 | int 0x40 |
- | 754 | ||
455 | 755 | ||
456 | mov eax,38 ; R G B COLOR GLIDES |
756 | mov eax,38 ; R G B COLOR GLIDES |
457 | mov ebx,280*65536+300 ;295 |
757 | mov ebx,266*65536+285 |
458 | mov ecx,30*65536+30 |
758 | mov ecx,30*65536+30 |
459 | mov edx,0xff0000 |
759 | mov edx,0xff0000 |
460 | .newl: |
760 | .newl: |
461 | int 0x40 |
761 | int 0x40 |
462 | pusha |
762 | pusha |
463 | add ebx,20*65536+20 |
763 | add ebx,20*65536+20 |
464 | shr edx,8 |
764 | shr edx,8 |
465 | int 0x40 |
765 | int 0x40 |
466 | add ebx,20*65536+20 |
766 | add ebx,20*65536+20 |
467 | shr edx,8 |
767 | shr edx,8 |
468 | int 0x40 |
768 | int 0x40 |
469 | popa |
769 | popa |
470 | sub edx,0x020000 |
770 | sub edx,0x020000 |
471 | add ecx,0x00010001 |
771 | add ecx,0x00010001 |
472 | cmp ecx,158*65536+158 |
772 | cmp ecx,158*65536+158 |
473 | jnz .newl |
773 | jnz .newl |
474 | 774 | ||
475 | call draw_color |
775 | call draw_color |
476 | 776 | ||
477 | mov edx,31 ; BUTTON ROW |
777 | mov edx,31 ; BUTTON ROW |
478 | mov ebx,15*65536+200 |
778 | mov ebx,15*65536+200 |
479 | mov ecx,35*65536+14 |
779 | mov ecx,30*65536+14 |
480 | mov esi,[w_work_button] |
780 | mov esi,[w_work_button] |
481 | newb: |
781 | newb: |
482 | mov eax,8 |
782 | mov eax,8 |
483 | int 0x40 |
783 | int 0x40 |
484 | add ecx,20*65536 |
784 | add ecx,18*65536 |
485 | inc edx |
785 | inc edx |
486 | cmp edx,40 |
786 | cmp edx,40 |
487 | jbe newb |
787 | jbe newb |
488 | - | ||
489 | ; mov eax,8 ; APPLY BUTTON |
- | |
490 | add ecx,20*65536 |
- | |
491 | mov edx,51 |
- | |
492 | int 0x40 |
- | |
493 | 788 | ||
494 | mov ebx,20*65536+39 ; ROW OF TEXTS |
789 | mov ebx,15*65536+34 ; ROW OF TEXTS |
495 | mov ecx,[w_work_button_text] |
790 | mov ecx,[w_work_button_text] |
496 | mov edx,text |
791 | mov edx,text |
497 | mov esi,32 |
792 | mov esi,32 |
498 | newline: |
793 | newline: |
499 | mov eax,4 |
794 | mov eax,4 |
500 | int 0x40 |
795 | int 0x40 |
501 | add ebx,20 |
796 | add ebx,18 |
502 | add edx,32 |
797 | add edx,32 |
503 | cmp [edx],byte 'x' |
798 | cmp [edx],byte 'x' |
504 | jne newline |
799 | jne newline |
505 | 800 | ||
506 | call draw_colours |
801 | call draw_colours |
- | 802 | ||
- | 803 | mcall 13,<5,546>,<212,11>,[w_work] |
|
- | 804 | mcall 13,<337,7>,<2,250>,[w_frame] |
|
- | 805 | shr edx,1 |
|
- | 806 | and edx,0x007F7F7F |
|
- | 807 | mcall 38,<336,336>,<20,250> |
|
- | 808 | add ebx,0x00080008 |
|
- | 809 | mcall |
|
- | 810 | sub ebx,0x00040004 |
|
- | 811 | mcall ,,<0,255> |
|
- | 812 | mcall ,<5,550>,<211,211> |
|
- | 813 | add ecx,0x000C000C |
|
- | 814 | mcall |
|
507 | 815 | ||
- | 816 | call print_text |
|
- | 817 | ||
- | 818 | cmp dword[0x18000+SKIN_HEADER.ident],'SKIN' |
|
- | 819 | jne @f |
|
- | 820 | call draw_skin |
|
508 | call print_text |
821 | @@: |
509 | 822 | ||
510 | mov eax,12 ; function 12:tell os about windowdraw |
823 | mov eax,12 ; function 12:tell os about windowdraw |
511 | mov ebx,2 ; 2, end of draw |
824 | mov ebx,2 ; 2, end of draw |
512 | int 0x40 |
825 | int 0x40 |
513 | 826 | ||
514 | ret |
827 | ret |
515 | 828 | ||
516 | 829 | ||
517 | ; DATA AREA |
830 | ; DATA AREA |
518 | 831 | ||
519 | lsz text,\ |
832 | lsz text,\ |
520 | ru, ' ',\ |
833 | ru, ' ',\ |
521 | ru, ' ',\ |
834 | ru, ' ',\ |
522 | ru, ' ',\ |
835 | ru, ' ',\ |
523 | ru, ' ',\ |
836 | ru, ' ',\ |
524 | ru, ' ',\ |
837 | ru, ' ',\ |
525 | ru, ' ',\ |
838 | ru, ' ',\ |
526 | ru, ' ',\ |
839 | ru, ' ',\ |
527 | ru, ' ',\ |
840 | ru, ' ',\ |
528 | ru, ' ',\ |
841 | ru, ' ',\ |
529 | ru, ' ',\ |
842 | ru, ' ',\ |
530 | ru, ' ',\ |
843 | ru, ' ',\ |
531 | ru, ' ',\ |
844 | ru, ' ',\ |
532 | ru, ' 3D ',\ |
- | |
533 | ru, 'x',\ |
845 | ru, 'x',\ |
534 | en, ' WINDOW FRAME ',\ |
846 | en, ' WINDOW FRAME ',\ |
535 | en, ' WINDOW GRAB BAR ',\ |
847 | en, ' WINDOW GRAB BAR ',\ |
536 | en, ' WINDOW GRAB BUTTON ',\ |
848 | en, ' WINDOW GRAB BUTTON ',\ |
537 | en, ' WINDOW GRAB BUTTON TEXT ',\ |
849 | en, ' WINDOW GRAB BUTTON TEXT ',\ |
538 | en, ' WINDOW GRAB TITLE ',\ |
850 | en, ' WINDOW GRAB TITLE ',\ |
539 | en, ' WINDOW WORK AREA ',\ |
851 | en, ' WINDOW WORK AREA ',\ |
540 | en, ' WINDOW WORK AREA BUTTON ',\ |
852 | en, ' WINDOW WORK AREA BUTTON ',\ |
541 | en, ' WINDOW WORK AREA BUTTON TEXT ',\ |
853 | en, ' WINDOW WORK AREA BUTTON TEXT ',\ |
542 | en, ' WINDOW WORK AREA TEXT ',\ |
854 | en, ' WINDOW WORK AREA TEXT ',\ |
543 | en, ' WINDOW WORK AREA GRAPH ',\ |
855 | en, ' WINDOW WORK AREA GRAPH ',\ |
544 | en, ' ',\ |
856 | en, ' ',\ |
545 | en, ' APPLY CHANGES ',\ |
- | |
546 | en, ' 3D FLAT ',\ |
857 | en, ' LOAD SAVE ',\ |
547 | en, 'x' |
858 | en, 'x' |
548 | 859 | ||
- | 860 | ||
- | 861 | lsz t1,\ |
|
- | 862 | ru, ' 3D ',\ |
|
- | 863 | en, ' 3D FLAT APPLY ' |
|
549 | 864 | ||
550 | lsz t2,\ |
865 | lsz t2,\ |
551 | ru, ' ',\ |
866 | ru, ' ',\ |
552 | en, ' LOAD SAVE ' |
867 | en, ' LOAD APPLY ',\ |
553 | 868 | ||
554 | lsz t1,\ |
869 | lsz test_text,\ |
555 | ru, ' ',\ |
870 | ru, ' £®«®¢®ª',\ |
556 | en, ' FILENAME ' |
871 | en, 'Caption' |
557 | 872 | ||
558 | lsz labelt,\ |
873 | lsz labelt,\ |
559 | ru, ' ',\ |
874 | ru, ' ',\ |
560 | en, 'DESKTOP COLOURS - DEFINE COLOR AND CLICK ON TARGET' |
875 | en, 'DESKTOP COLOURS - DEFINE COLOR AND CLICK ON TARGET' |
561 | - | ||
562 | 876 | ||
563 | sz default_file, '/RD/1/DEFAULT.DTP' |
877 | sz default_skn, '/RD/1/DEFAULT.SKN',0 |
564 | 878 | ||
565 | color dd 0 |
879 | color dd 0 |
566 | 880 | ||
567 | I_END: |
881 | I_END: |
568 | 882 | ||
569 | read_info: |
883 | read_info: |
570 | .mode dd ? ; read |
884 | .mode dd ? ; read |
571 | .start_block dd ? ; first block |
885 | .start_block dd ? ; first block |
572 | .blocks dd ? ; 512 bytes |
886 | .blocks dd ? ; 512 bytes |
573 | .address dd ? |
887 | .address dd ? |
574 | .workarea dd ? |
888 | .workarea dd ? |
575 | fname rb 256+1 ; filename (+1 - for zero at the end) |
889 | fname rb 256+1 ; filename (+1 - for zero at the end) |
576 | 890 | ||
577 | virtual at read_info |
891 | virtual at read_info |
578 | write_info: |
892 | write_info: |
579 | .mode dd ? |
893 | .mode dd ? |
580 | rd 1 |
894 | rd 1 |
581 | .bytes2write dd ? |
895 | .bytes2write dd ? |
582 | .address dd ? |
896 | .address dd ? |
583 | .workarea dd ? |
897 | .workarea dd ? |
584 | end virtual |
898 | end virtual |
- | 899 | ||
- | 900 | skin_info: |
|
- | 901 | .mode dd ? |
|
- | 902 | .start_block dd ? |
|
- | 903 | .blocks dd ? |
|
- | 904 | .address dd ? |
|
- | 905 | .workarea dd ? |
|
- | 906 | .fname rb 256+1 |
|
585 | 907 | ||
586 | app_colours: |
908 | app_colours: |
587 | 909 | ||
588 | w_frame dd ? |
910 | w_frame dd ? |
589 | w_grab dd ? |
911 | w_grab dd ? |
590 | w_grab_button dd ? |
912 | w_grab_button dd ? |
591 | w_grab_button_text dd ? |
913 | w_grab_button_text dd ? |
592 | w_grab_text dd ? |
914 | w_grab_text dd ? |
593 | w_work dd ? |
915 | w_work dd ? |
594 | w_work_button dd ? |
916 | w_work_button dd ? |
595 | w_work_button_text dd ? |
917 | w_work_button_text dd ? |
596 | w_work_text dd ? |
918 | w_work_text dd ? |
597 | w_work_graph dd ? |
919 | w_work_graph dd ? |
598 | 920 | ||
599 | color_table: |
921 | color_table: |
600 | times 10 dd ?> |
922 | times 10 dd ?211,211>5,550>0,255>20,250>336,336>2,250>337,7>212,11>5,546>345+10,20+40>20+40+5,130>345+10+5,140>20+40+1,138>345+10+1,3>20+40+1,3>345+10+1,148>345+45,20+10>20+10+5,130>345+45+5,140>20+10+1,138>345+45+1,3>20+10+1,3>345+45+1,148>20,191>345,206>>> |