Rev 551 | Rev 1092 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 551 | Rev 651 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; BACKGROUND SET - Compile with fasm |
2 | ; BACKGROUND SET - Compile with fasm |
3 | ; |
3 | ; |
4 | use32 |
4 | use32 |
5 | org 0x0 |
5 | org 0x0 |
6 | db 'MENUET01' ; 8 byte id |
6 | db 'MENUET01' ; 8 byte id |
7 | dd 0x01 ; version |
7 | dd 0x01 ; version |
8 | dd START ; program start |
8 | dd START ; program start |
9 | dd I_END ; image size |
9 | dd I_END ; image size |
10 | dd 0x80000 ; reguired amount of memory |
10 | dd 0x80000 ; reguired amount of memory |
11 | dd 0x80000 ; stack pointer |
11 | dd 0x80000 ; stack pointer |
12 | dd I_Param,0 |
12 | dd I_Param,0 |
13 | 13 | ||
14 | include 'lang.inc' |
14 | include 'lang.inc' |
15 | include '..\..\..\macros.inc' |
15 | include '..\..\..\macros.inc' |
16 | purge mov ; decrease kpack'ed size |
16 | purge mov ; decrease kpack'ed size |
17 | 17 | ||
18 | START: |
18 | START: |
19 | mov eax,48 |
19 | mov eax,48 |
20 | mov ebx,3 |
20 | mov ebx,3 |
21 | mov ecx,sc |
21 | mov ecx,sc |
22 | mov edx,sizeof.system_colors |
22 | mov edx,sizeof.system_colors |
23 | mcall |
23 | mcall |
24 | 24 | ||
25 | cmp dword [I_Param], 'BOOT' |
25 | cmp dword [I_Param], 'BOOT' |
26 | jz OnBoot |
26 | jz OnBoot |
27 | 27 | ||
28 | call draw_window |
28 | call draw_window |
29 | 29 | ||
30 | call load_texture |
30 | call load_texture |
31 | call draw_image |
31 | call draw_image |
32 | 32 | ||
33 | 33 | ||
34 | still: |
34 | still: |
35 | 35 | ||
36 | mov eax,10 ; wait here for event |
36 | mov eax,10 ; wait here for event |
37 | mcall |
37 | mcall |
38 | 38 | ||
39 | dec eax |
39 | dec eax |
40 | jz red |
40 | jz red |
41 | dec eax |
41 | dec eax |
42 | jnz button |
42 | jnz button |
43 | 43 | ||
44 | key: |
44 | key: |
45 | mov al,2 |
45 | mov al,2 |
46 | mcall |
46 | mcall |
47 | jmp still |
47 | jmp still |
48 | 48 | ||
49 | red: |
49 | red: |
50 | call draw_window |
50 | call draw_window |
51 | jmp still |
51 | jmp still |
52 | 52 | ||
53 | button: |
53 | button: |
54 | mov al,17 |
54 | mov al,17 |
55 | mcall |
55 | mcall |
56 | 56 | ||
57 | shr eax,8 |
57 | shr eax,8 |
58 | 58 | ||
59 | cmp al,101 ; tiled |
59 | cmp al,101 ; tiled |
60 | jne no101 |
60 | jne no101 |
61 | mov ecx,1 |
61 | mov ecx,1 |
62 | setbgrmode: |
62 | setbgrmode: |
63 | mov eax,15 |
63 | mov eax,15 |
64 | mov ebx,4 |
64 | mov ebx,4 |
65 | mcall |
65 | mcall |
66 | dec ebx |
66 | dec ebx |
67 | mcall |
67 | mcall |
68 | jmp still |
68 | jmp still |
69 | no101: |
69 | no101: |
70 | 70 | ||
71 | mov ecx, 2 |
71 | mov ecx, 2 |
72 | cmp al, 102 |
72 | cmp al, 102 |
73 | jz setbgrmode |
73 | jz setbgrmode |
74 | no102: |
74 | no102: |
75 | 75 | ||
76 | cmp al,1 ; end program |
76 | cmp al,1 ; end program |
77 | jnz no_end |
77 | jnz no_end |
78 | or eax,-1 |
78 | or eax,-1 |
79 | mcall |
79 | mcall |
80 | no_end: |
80 | no_end: |
81 | 81 | ||
82 | cmp al,11 |
82 | cmp al,11 |
83 | jz bg |
83 | jz bg |
84 | cmp al,12 |
84 | cmp al,12 |
85 | jz bg |
85 | jz bg |
86 | cmp al,13 |
86 | cmp al,13 |
87 | jz bg |
87 | jz bg |
88 | 88 | ||
89 | cmp al,121 |
89 | cmp al,121 |
90 | jb no_bg_select |
90 | jb no_bg_select |
91 | cmp al,133 |
91 | cmp al,133 |
92 | ja no_bg_select |
92 | ja no_bg_select |
93 | mov eax,[arrays + (eax-121)*4] |
93 | mov eax,[arrays + (eax-121)*4] |
94 | mov [usearray],eax |
94 | mov [usearray],eax |
95 | call load_texture |
95 | call load_texture |
96 | call draw_image |
96 | call draw_image |
97 | jmp still |
97 | jmp still |
98 | no_bg_select: |
98 | no_bg_select: |
99 | 99 | ||
100 | cmp al,14+20 |
100 | cmp al,14+20 |
101 | jge bg4 |
101 | jge bg4 |
102 | 102 | ||
103 | jmp bg2 |
103 | jmp bg2 |
104 | 104 | ||
105 | 105 | ||
106 | OnBoot: |
106 | OnBoot: |
107 | 107 | ||
108 | call load_texture |
108 | call load_texture |
109 | 109 | ||
110 | mov eax,15 |
110 | mov eax,15 |
111 | mov ebx,1 |
111 | mov ebx,1 |
112 | mov ecx,256 |
112 | mov ecx,256 |
113 | mov edx,256 |
113 | mov edx,256 |
114 | mcall |
114 | mcall |
115 | 115 | ||
116 | mov ebx,5 |
116 | mov ebx,5 |
117 | mov ecx,0x40000 ; <<< 0x40000 for blue, 0x40000+1 for red, |
117 | mov ecx,0x40000 ; <<< 0x40000 for blue, 0x40000+1 for red, |
118 | ; <<< 0x40000+2 for green background at boot |
118 | ; <<< 0x40000+2 for green background at boot |
119 | mov edx,0 |
119 | mov edx,0 |
120 | mov esi,256*3*256 |
120 | mov esi,256*3*256 |
121 | mcall |
121 | mcall |
122 | 122 | ||
123 | dec ebx |
123 | dec ebx |
124 | mov ecx,2 |
124 | mov ecx,2 |
125 | mcall |
125 | mcall |
126 | 126 | ||
127 | dec ebx |
127 | dec ebx |
128 | mcall |
128 | mcall |
129 | 129 | ||
130 | mov eax,-1 |
130 | mov eax,-1 |
131 | mcall |
131 | mcall |
132 | 132 | ||
133 | 133 | ||
134 | 134 | ||
135 | set_picture: |
135 | set_picture: |
136 | 136 | ||
137 | mov eax,image+99-3*16 |
137 | mov eax,image+99-3*16 |
138 | mov ebx,0x40000+255*3+255*3*256 |
138 | mov ebx,0x40000+255*3+255*3*256 |
139 | newpix: |
139 | newpix: |
140 | mov ecx,[eax] |
140 | mov ecx,[eax] |
141 | mov [ebx],cx |
141 | mov [ebx],cx |
142 | shr ecx,16 |
142 | shr ecx,16 |
143 | mov [ebx+2],cl |
143 | mov [ebx+2],cl |
144 | add eax,3 |
144 | add eax,3 |
145 | sub ebx,3 |
145 | sub ebx,3 |
146 | cmp ebx,0x40002 |
146 | cmp ebx,0x40002 |
147 | jge newpix |
147 | jge newpix |
148 | 148 | ||
149 | ret |
149 | ret |
150 | 150 | ||
151 | 151 | ||
152 | load_texture: |
152 | load_texture: |
153 | 153 | ||
154 | call gentexture |
154 | call gentexture |
155 | call set_picture |
155 | call set_picture |
156 | 156 | ||
157 | ret |
157 | ret |
158 | 158 | ||
159 | 159 | ||
160 | ; set background |
160 | ; set background |
161 | 161 | ||
162 | bg: |
162 | bg: |
163 | 163 | ||
164 | mov edi,0x40000 |
164 | mov edi,0x40000 |
165 | 165 | ||
166 | cmp al,12 |
166 | cmp al,12 |
167 | jnz bb1 |
167 | jb bb1 |
168 | inc edi |
168 | inc edi |
169 | bb1: |
169 | bb1: |
170 | cmp al,13 |
170 | cmp al,13 |
171 | jnz bb2 |
171 | jb bb2 |
172 | inc edi |
172 | inc edi |
173 | bb2: |
173 | bb2: |
174 | 174 | ||
175 | mov eax,15 |
175 | mov eax,15 |
176 | mov ebx,1 |
176 | mov ebx,1 |
177 | mov ecx,256 |
177 | mov ecx,256 |
178 | mov edx,256 |
178 | mov edx,256 |
179 | mcall |
179 | mcall |
180 | 180 | ||
181 | mov ebx,5 |
181 | mov ebx,5 |
182 | mov ecx,edi |
182 | mov ecx,edi |
183 | mov edx,0 |
183 | mov edx,0 |
184 | mov esi,256*256*3 |
184 | mov esi,256*256*3 |
185 | mcall |
185 | mcall |
186 | 186 | ||
187 | mov ebx,3 |
187 | mov ebx,3 |
188 | mcall |
188 | mcall |
189 | 189 | ||
190 | jmp still |
190 | jmp still |
191 | 191 | ||
192 | 192 | ||
193 | ; colored background |
193 | ; colored background |
194 | 194 | ||
195 | bg2: |
195 | bg2: |
196 | mov edi, eax |
196 | mov edi, eax |
197 | mcall 15,4,1 |
197 | mcall 15,4,1 |
198 | mcall ,1,,1 |
198 | mcall ,1,,1 |
199 | lea ecx, [(edi-14)*3+fill] |
199 | lea ecx, [(edi-14)*3+fill] |
200 | mcall ,5,,0,3*1*1 |
200 | mcall ,5,,0,3*1*1 |
201 | mcall ,3 |
201 | mcall ,3 |
202 | 202 | ||
203 | jmp still |
203 | jmp still |
204 | 204 | ||
205 | 205 | ||
206 | ; shaped background |
206 | ; shaped background |
207 | 207 | ||
208 | bg4: |
208 | bg4: |
209 | 209 | ||
210 | shl eax,3 |
210 | shl eax,3 |
211 | add eax,shape - (14+20)*8 |
211 | add eax,shape - (14+20)*8 |
212 | mov ecx,[eax+0] |
212 | mov ecx,[eax+0] |
213 | mov edx,[eax+4] |
213 | mov edx,[eax+4] |
214 | 214 | ||
215 | mov eax,15 |
215 | mov eax,15 |
216 | mov ebx,1 |
216 | mov ebx,1 |
217 | mcall |
217 | mcall |
218 | 218 | ||
219 | mov ebx,3 |
219 | mov ebx,3 |
220 | mcall |
220 | mcall |
221 | 221 | ||
222 | jmp still |
222 | jmp still |
223 | 223 | ||
224 | 224 | ||
225 | ; ********************************************* |
225 | ; ********************************************* |
226 | ; ******* CELLULAR TEXTURE GENERATION ********* |
226 | ; ******* CELLULAR TEXTURE GENERATION ********* |
227 | ; **** by Cesare Castiglia (dixan/sk/mfx) ***** |
227 | ; **** by Cesare Castiglia (dixan/sk/mfx) ***** |
228 | ; ********* dixan@spinningkids.org ********** |
228 | ; ********* dixan@spinningkids.org ********** |
229 | ; ********************************************* |
229 | ; ********************************************* |
230 | ; * the algorythm is kinda simple. the color * |
230 | ; * the algorythm is kinda simple. the color * |
231 | ; * component for every pixel is evaluated * |
231 | ; * component for every pixel is evaluated * |
232 | ; * according to the squared distance from * |
232 | ; * according to the squared distance from * |
233 | ; * the closest point in 'ptarray'. * |
233 | ; * the closest point in 'ptarray'. * |
234 | ; ********************************************* |
234 | ; ********************************************* |
235 | 235 | ||
236 | gentexture: |
236 | gentexture: |
237 | 237 | ||
238 | xor ecx,ecx ; ycounter |
238 | xor ecx,ecx ; ycounter |
239 | xor edi,edi ; pixel counter |
239 | xor edi,edi ; pixel counter |
240 | 240 | ||
241 | mov ebp,[usearray] |
241 | mov ebp,[usearray] |
242 | 242 | ||
243 | ylup: |
243 | ylup: |
244 | xor ebx,ebx |
244 | xor ebx,ebx |
245 | 245 | ||
246 | xlup: |
246 | xlup: |
247 | push edi |
247 | push edi |
248 | xor edi, edi |
248 | xor edi, edi |
249 | mov esi, 512000000 ; abnormous initial value :) |
249 | mov esi, 512000000 ; abnormous initial value :) |
250 | 250 | ||
251 | pixlup: |
251 | pixlup: |
252 | push esi |
252 | push esi |
253 | mov eax,ebx ; evaluate first distance |
253 | mov eax,ebx ; evaluate first distance |
254 | sub eax, [ebp+edi] ; x-x1 |
254 | sub eax, [ebp+edi] ; x-x1 |
255 | call wrappit |
255 | call wrappit |
256 | imul eax |
256 | imul eax |
257 | mov esi, eax ; (x-x1)^2 |
257 | mov esi, eax ; (x-x1)^2 |
258 | mov eax, ecx |
258 | mov eax, ecx |
259 | add edi,4 |
259 | add edi,4 |
260 | sub eax, [ebp+edi] ; y-y1 |
260 | sub eax, [ebp+edi] ; y-y1 |
261 | call wrappit |
261 | call wrappit |
262 | imul eax ; (y-y1)^2 |
262 | imul eax ; (y-y1)^2 |
263 | add eax,esi ; (x-x1)^2+(y-y1)^2 |
263 | add eax,esi ; (x-x1)^2+(y-y1)^2 |
264 | pop esi |
264 | pop esi |
265 | 265 | ||
266 | cmp esi,eax |
266 | cmp esi,eax |
267 | jb ok ; compare and take the smaller one |
267 | jb ok ; compare and take the smaller one |
268 | mov esi,eax |
268 | mov esi,eax |
269 | 269 | ||
270 | ok: |
270 | ok: |
271 | add edi,4 |
271 | add edi,4 |
272 | cmp [ebp+edi],dword 777 |
272 | cmp [ebp+edi],dword 777 |
273 | jne pixlup |
273 | jne pixlup |
274 | 274 | ||
275 | mov eax,esi ; now evaluate color... |
275 | mov eax,esi ; now evaluate color... |
276 | 276 | ||
277 | mov edi,24 ; 50 = max shaded distance |
277 | mov edi,24 ; 50 = max shaded distance |
278 | idiv edi |
278 | idiv edi |
279 | 279 | ||
280 | pop edi |
280 | pop edi |
281 | mov [image+51+edi],eax |
281 | mov [image+51+edi],eax |
282 | add edi,3 |
282 | add edi,3 |
283 | 283 | ||
284 | add ebx,1 ; bounce x loop |
284 | add ebx,1 ; bounce x loop |
285 | cmp ebx,256 ; xsize |
285 | cmp ebx,256 ; xsize |
286 | jne xlup |
286 | jne xlup |
287 | 287 | ||
288 | add ecx,1 |
288 | add ecx,1 |
289 | cmp ecx,256 ; ysize |
289 | cmp ecx,256 ; ysize |
290 | jne ylup |
290 | jne ylup |
291 | 291 | ||
292 | ret |
292 | ret |
293 | 293 | ||
294 | wrappit: |
294 | wrappit: |
295 | cmp eax,0 ; this makes the texture wrap |
295 | cmp eax,0 ; this makes the texture wrap |
296 | jg noabs |
296 | jg noabs |
297 | neg eax |
297 | neg eax |
298 | noabs: |
298 | noabs: |
299 | cmp eax,128 |
299 | cmp eax,128 |
300 | jb nowrap |
300 | jb nowrap |
301 | neg eax |
301 | neg eax |
302 | add eax,256 |
302 | add eax,256 |
303 | nowrap: |
303 | nowrap: |
304 | ret |
304 | ret |
305 | 305 | ||
306 | ; ********************************************* |
306 | ; ********************************************* |
307 | ; ******* WINDOW DEFINITIONS AND DRAW ********* |
307 | ; ******* WINDOW DEFINITIONS AND DRAW ********* |
308 | ; ********************************************* |
308 | ; ********************************************* |
309 | 309 | ||
310 | 310 | ||
311 | draw_image: |
311 | draw_image: |
312 | 312 | ||
313 | mov eax,7 |
313 | mov eax,7 |
314 | mov ebx,0x40000 |
314 | mov ebx,0x40000 |
315 | mov ecx,256*65536+255 |
315 | mov ecx,256*65536+255 |
316 | mov edx,14*65536+40;55 |
316 | mov edx,14*65536+40;55 |
317 | mcall |
317 | mcall |
318 | 318 | ||
319 | ret |
319 | ret |
320 | 320 | ||
321 | 321 | ||
322 | y_add equ 19 ; 30 |
322 | y_add equ 19 ; 30 |
323 | y_s equ 13 |
323 | y_s equ 13 |
324 | 324 | ||
325 | y_add2 equ 315 ;325 |
325 | y_add2 equ 315 ;325 |
326 | set equ 0 ;15 |
326 | set equ 0 ;15 |
327 | 327 | ||
328 | draw_window: |
328 | draw_window: |
329 | 329 | ||
330 | mov eax, 12 ; tell os about draw |
330 | mov eax, 12 ; tell os about draw |
331 | mov ebx, 1 |
331 | mov ebx, 1 |
332 | mcall |
332 | mcall |
333 | 333 | ||
334 | xor eax, eax ; define and draw window |
334 | xor eax, eax ; define and draw window |
335 | mov ebx, 220*65536+293 |
335 | mov ebx, 220*65536+293 |
336 | mov ecx, 50*65536+408 |
336 | mov ecx, 50*65536+408 |
337 | mov edx, [sc.work] |
337 | mov edx, [sc.work] |
338 | or edx, 0x34000000 |
338 | or edx, 0x34000000 |
339 | mov edi, title |
339 | mov edi, title |
340 | mcall |
340 | mcall |
341 | 341 | ||
342 | call draw_image |
342 | call draw_image |
343 | 343 | ||
344 | mov eax,8 ; Blue button |
344 | mov eax,8 ; Blue button |
345 | mov ebx,(set+190+27)*65536+17 |
345 | mov ebx,(set+190+27)*65536+17 |
346 | mov ecx,y_add*65536+y_s |
346 | mov ecx,y_add*65536+y_s |
347 | mov edx,11 |
347 | mov edx,11 |
348 | mov esi,0x005555bb |
348 | mov esi,0x005555bb |
349 | mcall |
349 | mcall |
350 | ;mov eax,8 ; Red button |
350 | ;mov eax,8 ; Red button |
351 | mov ebx,(set+208+27)*65536+17 |
351 | mov ebx,(set+208+27)*65536+17 |
352 | mov edx,12 |
352 | mov edx,12 |
353 | mov esi,0x00bb5555 |
353 | mov esi,0x00bb5555 |
354 | mcall |
354 | mcall |
355 | ;mov eax,8 ; Green button |
355 | ;mov eax,8 ; Green button |
356 | mov ebx,(set+253)*65536+17 |
356 | mov ebx,(set+253)*65536+17 |
357 | mov edx,13 |
357 | mov edx,13 |
358 | mov esi,0x0055bb55 |
358 | mov esi,0x0055bb55 |
359 | mcall |
359 | mcall |
360 | 360 | ||
361 | ;mov eax, 8 ; tiled |
361 | ;mov eax, 8 ; tiled |
362 | mov ebx, 90*65536+63 |
362 | mov ebx, 90*65536+63 |
363 | mov ecx, y_add*65536+y_s |
363 | mov ecx, y_add*65536+y_s |
364 | mov edx, 101 |
364 | mov edx, 101 |
365 | mov esi, [sc.work_button] |
365 | mov esi, [sc.work_button] |
366 | mcall |
366 | mcall |
367 | 367 | ||
368 | ;mov eax, 8 ; stretch |
368 | ;mov eax, 8 ; stretch |
369 | mov ebx, 154*65536+61 |
369 | mov ebx, 154*65536+61 |
370 | mov edx, 102 |
370 | mov edx, 102 |
371 | mcall |
371 | mcall |
372 | 372 | ||
373 | mov eax, 4 |
373 | mov eax, 4 |
374 | mov ebx, 215*65536+5 |
374 | mov ebx, 215*65536+5 |
375 | mov ecx, [sc.work_text] |
375 | mov ecx, [sc.work_text] |
376 | mov edx, apply_text |
376 | mov edx, apply_text |
377 | mov esi, apply_text.size |
377 | mov esi, apply_text.size |
378 | mcall |
378 | mcall |
379 | 379 | ||
380 | mov ebx, 14*65536+301 |
380 | mov ebx, 14*65536+301 |
381 | mov edx, image_buttons_text |
381 | mov edx, image_buttons_text |
382 | mov esi, image_buttons_text.size |
382 | mov esi, image_buttons_text.size |
383 | mcall |
383 | mcall |
384 | 384 | ||
385 | mov ebx, 14*65536+(y_add2+27) |
385 | mov ebx, 14*65536+(y_add2+27) |
386 | mov edx, simple_text |
386 | mov edx, simple_text |
387 | mov esi, simple_text.size |
387 | mov esi, simple_text.size |
388 | mcall |
388 | mcall |
389 | 389 | ||
390 | mov ecx, (y_add2)*65536+20 |
390 | mov ecx, (y_add2)*65536+20 |
391 | mov ebx, (13)*65536+25 |
391 | mov ebx, (13)*65536+25 |
392 | mov edx, 121 |
392 | mov edx, 121 |
393 | mov esi, [sc.work_button] |
393 | mov esi, [sc.work_button] |
394 | mov edi, 9 |
394 | mov edi, 9 |
395 | mov eax, 8 |
395 | mov eax, 8 |
396 | @@: |
396 | @@: |
397 | mcall |
397 | mcall |
398 | add ebx, 29*65536 |
398 | add ebx, 29*65536 |
399 | inc edx |
399 | inc edx |
400 | dec edi |
400 | dec edi |
401 | jnz @b |
401 | jnz @b |
402 | 402 | ||
403 | 403 | ||
404 | mov edx, 34+4 |
404 | mov edx, 34+4 |
405 | mov edi, 4 |
405 | mov edi, 4 |
406 | ;mov eax, 8 |
406 | ;mov eax, 8 |
407 | mov ebx, 13*65536+18 |
407 | mov ebx, 13*65536+18 |
408 | mov ecx, y_add*65536+y_s |
408 | mov ecx, y_add*65536+y_s |
409 | @@: |
409 | @@: |
410 | mcall |
410 | mcall |
411 | inc edx |
411 | inc edx |
412 | add ebx, 19*65536 |
412 | add ebx, 19*65536 |
413 | dec edi |
413 | dec edi |
414 | jnz @b |
414 | jnz @b |
415 | 415 | ||
416 | 416 | ||
417 | ;----------------------- |
417 | ;----------------------- |
418 | mov eax,8 |
418 | mov eax,8 |
419 | mov edx,14 ; button number |
419 | mov edx,14 ; button number |
420 | mov ebx,(13)*65536+17 ; button start x & size |
420 | mov ebx,(13)*65536+17 ; button start x & size |
421 | mov ecx,(y_add2+40)*65536+14 ; button start y & size |
421 | mov ecx,(y_add2+40)*65536+14 ; button start y & size |
422 | 422 | ||
423 | newcb: |
423 | newcb: |
424 | mov esi,[(edx-14)*4+colors] |
424 | mov esi,[(edx-14)*4+colors] |
425 | 425 | ||
426 | mcall |
426 | mcall |
427 | 427 | ||
428 | inc edx |
428 | inc edx |
429 | add ebx,20*65536 |
429 | add ebx,20*65536 |
430 | 430 | ||
431 | cmp edx,27 |
431 | cmp edx,27 |
432 | jnz newcb |
432 | jnz newcb |
433 | ;----------------------- |
433 | ;----------------------- |
434 | 434 | ||
435 | mov eax, 4 |
435 | mov eax, 4 |
436 | mov ebx, 94*65536+4+y_add |
436 | mov ebx, 94*65536+4+y_add |
437 | mov ecx, [sc.work_button_text] |
437 | mov ecx, [sc.work_button_text] |
438 | mov edx, la2 |
438 | mov edx, la2 |
439 | mov esi, la2.size |
439 | mov esi, la2.size |
440 | mcall |
440 | mcall |
441 | 441 | ||
442 | mov eax,12 |
442 | mov eax,12 |
443 | mov ebx,2 |
443 | mov ebx,2 |
444 | mcall |
444 | mcall |
445 | 445 | ||
446 | ret |
446 | ret |
447 | 447 | ||
448 | 448 | ||
449 | 449 | ||
450 | ; DATA SECTION |
450 | ; DATA SECTION |
451 | 451 | ||
452 | if lang eq ru |
452 | if lang eq ru |
453 | title db '¥¥à â®à ä® à ¡®ç¥£® á⮫ ',0 |
453 | title db '¥¥à â®à ä® à ¡®ç¥£® á⮫ ',0 |
454 | else |
454 | else |
455 | title db 'Background',0 |
455 | title db 'Background',0 |
456 | end if |
456 | end if |
457 | 457 | ||
458 | lsz apply_text,\ |
458 | lsz apply_text,\ |
459 | ru, "ਬ¥¨âì:",\ |
459 | ru, "ਬ¥¨âì:",\ |
460 | en, "Apply:" |
460 | en, "Apply:" |
461 | 461 | ||
462 | lsz image_buttons_text,\ |
462 | lsz image_buttons_text,\ |
463 | ru, "ë¡¥à¨â¥ ®¡à §¥æ:",\ |
463 | ru, "ë¡¥à¨â¥ ®¡à §¥æ:",\ |
464 | en, "Select pattern:" |
464 | en, "Select pattern:" |
465 | 465 | ||
466 | lsz simple_text,\ |
466 | lsz simple_text,\ |
467 | ru, "¤®æ¢¥âë© ä®:",\ |
467 | ru, "¤®æ¢¥âë© ä®:",\ |
468 | en, "Single-color background:" |
468 | en, "Single-color background:" |
469 | 469 | ||
470 | lsz la2,\ |
470 | lsz la2,\ |
471 | ru, " ",\ |
471 | ru, " ",\ |
472 | en, " TILED STRETCH" |
472 | en, " TILED STRETCH" |
473 | 473 | ||
474 | 474 | ||
475 | xx db 'x' |
475 | xx db 'x' |
476 | 476 | ||
477 | colors: |
477 | colors: |
478 | dd 0x770000 |
478 | dd 0x770000 |
479 | dd 0x007700 |
479 | dd 0x007700 |
480 | dd 0x000077 |
480 | dd 0x000077 |
481 | dd 0x777700 |
481 | dd 0x777700 |
482 | dd 0x770077 |
482 | dd 0x770077 |
483 | dd 0x007777 |
483 | dd 0x007777 |
484 | dd 0x777777 |
484 | dd 0x777777 |
485 | dd 0x335577 |
485 | dd 0x335577 |
486 | dd 0x775533 |
486 | dd 0x775533 |
487 | dd 0x773355 |
487 | dd 0x773355 |
488 | dd 0x553377 |
488 | dd 0x553377 |
489 | dd 0x111111 |
489 | dd 0x111111 |
490 | dd 0xcccccc |
490 | dd 0xcccccc |
491 | 491 | ||
492 | fill: |
492 | fill: |
493 | db 0x00,0x00,0x77 |
493 | db 0x00,0x00,0x77 |
494 | db 0x00,0x77,0x00 |
494 | db 0x00,0x77,0x00 |
495 | db 0x77,0x00,0x00 |
495 | db 0x77,0x00,0x00 |
496 | db 0x00,0x77,0x77 |
496 | db 0x00,0x77,0x77 |
497 | db 0x77,0x00,0x77 |
497 | db 0x77,0x00,0x77 |
498 | db 0x77,0x77,0x00 |
498 | db 0x77,0x77,0x00 |
499 | db 0x77,0x77,0x77 |
499 | db 0x77,0x77,0x77 |
500 | db 0x77,0x55,0x33 |
500 | db 0x77,0x55,0x33 |
501 | db 0x33,0x55,0x77 |
501 | db 0x33,0x55,0x77 |
502 | db 0x55,0x33,0x77 |
502 | db 0x55,0x33,0x77 |
503 | db 0x77,0x33,0x55 |
503 | db 0x77,0x33,0x55 |
504 | db 0x11,0x11,0x11 |
504 | db 0x11,0x11,0x11 |
505 | db 0xcc,0xcc,0xcc |
505 | db 0xcc,0xcc,0xcc |
506 | 506 | ||
507 | shape: |
507 | shape: |
508 | 508 | ||
509 | dd 1024,64 |
509 | dd 1024,64 |
510 | dd 1024,32 |
510 | dd 1024,32 |
511 | dd 2048,32 |
511 | dd 2048,32 |
512 | dd 4096,32 |
512 | dd 4096,32 |
513 | 513 | ||
514 | dd 512,16 |
514 | dd 512,16 |
515 | dd 1024,16 |
515 | dd 1024,16 |
516 | dd 2048,16 |
516 | dd 2048,16 |
517 | dd 4096,16 |
517 | dd 4096,16 |
518 | 518 | ||
519 | dd 64,32 |
519 | dd 64,32 |
520 | dd 64,16 |
520 | dd 64,16 |
521 | dd 32,32 |
521 | dd 32,32 |
522 | dd 8,8 |
522 | dd 8,8 |
523 | dd 16,16 |
523 | dd 16,16 |
524 | dd 64,64 |
524 | dd 64,64 |
525 | 525 | ||
526 | usearray dd ptarray |
526 | usearray dd ptarray |
527 | 527 | ||
528 | arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6 |
528 | arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6 |
529 | dd ptarray7,ptarray8,ptarray9 |
529 | dd ptarray7,ptarray8,ptarray9 |
530 | 530 | ||
531 | ptarray: |
531 | ptarray: |
532 | 532 | ||
533 | dd 150,50 |
533 | dd 150,50 |
534 | dd 120,30 |
534 | dd 120,30 |
535 | dd 44,180 |
535 | dd 44,180 |
536 | dd 50,66 |
536 | dd 50,66 |
537 | dd 27,6 |
537 | dd 27,6 |
538 | dd 95,212 |
538 | dd 95,212 |
539 | dd 128,177 |
539 | dd 128,177 |
540 | dd 201,212 |
540 | dd 201,212 |
541 | dd 172,201 |
541 | dd 172,201 |
542 | dd 250,100 |
542 | dd 250,100 |
543 | dd 24,221 |
543 | dd 24,221 |
544 | dd 11,123 |
544 | dd 11,123 |
545 | dd 248,32 |
545 | dd 248,32 |
546 | dd 34,21 |
546 | dd 34,21 |
547 | dd 777 ; <- end of array |
547 | dd 777 ; <- end of array |
548 | 548 | ||
549 | ptarray2: |
549 | ptarray2: |
550 | 550 | ||
551 | dd 0,0,50,50,100,100,150,150,200,200,250,250 |
551 | dd 0,0,50,50,100,100,150,150,200,200,250,250 |
552 | dd 50,150,150,50,200,100,100,200 |
552 | dd 50,150,150,50,200,100,100,200 |
553 | dd 777 |
553 | dd 777 |
554 | 554 | ||
555 | ptarray3: |
555 | ptarray3: |
556 | 556 | ||
557 | dd 55,150,150,55,200,105,105,200 |
557 | dd 55,150,150,55,200,105,105,200 |
558 | dd 30,30,220,220 |
558 | dd 30,30,220,220 |
559 | dd 777 |
559 | dd 777 |
560 | 560 | ||
561 | ptarray4: |
561 | ptarray4: |
562 | 562 | ||
563 | dd 196,0,196,64,196,128,196,196 |
563 | dd 196,0,196,64,196,128,196,196 |
564 | dd 64,32,64,96,64,150,64,228 |
564 | dd 64,32,64,96,64,150,64,228 |
565 | dd 777 |
565 | dd 777 |
566 | 566 | ||
567 | ptarray5: |
567 | ptarray5: |
568 | 568 | ||
569 | dd 196,0,196,64,196,128,196,196 |
569 | dd 196,0,196,64,196,128,196,196 |
570 | dd 64,0,64,64,64,128,64,196 |
570 | dd 64,0,64,64,64,128,64,196 |
571 | dd 777 |
571 | dd 777 |
572 | 572 | ||
573 | ptarray6: |
573 | ptarray6: |
574 | 574 | ||
575 | dd 49,49,128,50,210,50 |
575 | dd 49,49,128,50,210,50 |
576 | dd 50,128,128,128,210,128 |
576 | dd 50,128,128,128,210,128 |
577 | dd 50,210,128,210,210,210 |
577 | dd 50,210,128,210,210,210 |
578 | 578 | ||
579 | dd 777 |
579 | dd 777 |
580 | 580 | ||
581 | ptarray7: |
581 | ptarray7: |
582 | 582 | ||
583 | dd 0,0 |
583 | dd 0,0 |
584 | dd 196,196,64,64 |
584 | dd 196,196,64,64 |
585 | dd 128,0 |
585 | dd 128,0 |
586 | dd 0,128 |
586 | dd 0,128 |
587 | dd 64,64,196,64 |
587 | dd 64,64,196,64 |
588 | dd 196,196,64,196 |
588 | dd 196,196,64,196 |
589 | dd 128,128 |
589 | dd 128,128 |
590 | 590 | ||
591 | dd 777 |
591 | dd 777 |
592 | 592 | ||
593 | ptarray8: |
593 | ptarray8: |
594 | 594 | ||
595 | dd 0, 128 |
595 | dd 0, 128 |
596 | dd 0, 128 |
596 | dd 0, 128 |
597 | dd 128, 0 |
597 | dd 128, 0 |
598 | dd 0, 128 |
598 | dd 0, 128 |
599 | dd 128, 0 |
599 | dd 128, 0 |
600 | dd 0, 128 |
600 | dd 0, 128 |
601 | dd 128, 0 |
601 | dd 128, 0 |
602 | dd 0, 128 |
602 | dd 0, 128 |
603 | dd 128, 0 |
603 | dd 128, 0 |
604 | dd 128, 128 |
604 | dd 128, 128 |
605 | 605 | ||
606 | dd 777 |
606 | dd 777 |
607 | 607 | ||
608 | ptarray9: |
608 | ptarray9: |
609 | 609 | ||
610 | 610 | ||
611 | dd 0,248,64,128,128,64,196,48,160,160,94,224,240,96,5,5,777 |
611 | dd 0,248,64,128,128,64,196,48,160,160,94,224,240,96,5,5,777 |
612 | 612 | ||
613 | 613 | ||
614 | I_END: |
614 | I_END: |
615 | sc system_colors |
615 | sc system_colors |
616 | 616 | ||
617 | I_Param: |
617 | I_Param: |
618 | 618 | ||
619 | image:->><><<>><><<> |
619 | image:->><><<>><><<> |