Rev 3099 | Rev 3904 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3099 | Rev 3453 | ||
---|---|---|---|
Line 29... | Line 29... | ||
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
- | 34 | ;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
|
34 | ;..................................................................................................... |
35 | ;..................................................................................................... |
35 | ;; All rights reserved. | |
36 | ;; All rights reserved. | |
36 | ;; | |
37 | ;; | |
37 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
38 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
38 | ;; provided that the following conditions are met: | |
39 | ;; provided that the following conditions are met: | |
Line 60... | Line 61... | ||
60 | ;****************************************************************************************************| |
61 | ;****************************************************************************************************| |
61 | ; | |
62 | ; | |
62 | ;----------------------------------------------------------------------------------------------------/ |
63 | ;----------------------------------------------------------------------------------------------------/ |
63 | use32 |
64 | use32 |
64 | org 0x0 |
65 | org 0x0 |
65 | - | ||
66 | db 'MENUET01' |
66 | db 'MENUET01' |
67 | dd 0x01 |
67 | dd 0x01 |
68 | dd START |
68 | dd START |
69 | dd I_END |
69 | dd I_END |
70 | dd 0x100000 |
70 | dd I_END+4096 |
71 | dd 0x1000 |
71 | dd I_END+4096 |
72 | dd params |
72 | dd params |
73 | dd 0x0 |
73 | dd 0x0 |
Line 74... | Line 74... | ||
74 | 74 | ||
Line 75... | Line 75... | ||
75 | include '..\..\..\macros.inc' |
75 | include '..\..\..\macros.inc' |
76 | 76 | ||
77 | WIN_W equ 295 ; è¨à¨ ®ª |
77 | WIN_W equ 295 ; è¨à¨ ®ª |
78 | WIN_H equ 195 ; ¢ëá®â ®ª |
78 | WIN_H equ 195 ; ¢ëá®â ®ª |
Line -... | Line 79... | ||
- | 79 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
|
- | 80 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
|
- | 81 | ||
79 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
82 | panel: |
80 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
- | |
81 | - | ||
82 | START: |
83 | file "panel.raw" |
83 | ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
84 | |
84 | mov edi,params ; 㪠§ ⥫ì áâபã |
85 | START: |
85 | call str_len ; ¯®«ãç ¥¬ ¤«¨ã áâப¨ |
- | |
86 | cmp eax,0 ; áâà ¢¨¢ ¥¬ ¤«¨ã á ã«ñ¬ |
- | |
87 | je red ; ¥á«¨ ¯ à ¬¥â஢ ¥â â® ã室¨¬ |
- | |
88 | call _read_params ; ¨ ç¥ ç¨â ¥¬ ¯ à ¬¥âàë 梥â (®ç¥ì ªà¨¢®) |
- | |
89 | xor eax,eax ; § ã«ï¥¬ ॣ¨áâà |
- | |
90 | mov al,byte [params] ; ç¨â ¥¬ ¯ à ¬¥âà ¬®¤ |
- | |
91 | cmp al,'N' ; áà ¢¨¢ ¥¬ á normal mode |
- | |
92 | jne _no_normalmode ; ¥á«¨ ¥â â® ã室¨¬ ¯à®¢¥àªã ¤ «ìè¥ |
- | |
93 | mov [runmode],1 ; ¥á«¨ ¤ â® ãáâ ¢«¨¢ ¥¬ ¥£® |
- | |
94 | jmp red ; ¨¤ñ¬ ®âà¨á®¢ªã |
- | |
95 | _no_normalmode: ; ¥á«¨ ¥ normal mode â® |
- | |
96 | cmp al,'H' ; ¢®§¬®¦® hidden mode |
- | |
97 | jne _no_hiddenmode ; ¥á«¨ ¥ ® â® ã室¨¬ ¤ «ìè¥ |
- | |
98 | mov [runmode],2 ; ¥á«¨ ® â® ãáâ ¢«¨¢ ¥¬ çâ® íâ® ® ( å?) |
- | |
99 | call set_background ; ¬¥ï¥¬ ä® |
- | |
100 | jmp bexit ; ¨ § ªàë¢ ¥¬ ¯à®£ã |
- | |
101 | _no_hiddenmode: ; ¥á«¨ ¥ hidden mode |
- | |
102 | cmp al,'D' ; ¢®§¬®¦® íâ® color dialog mode |
- | |
103 | jne _no_dialogmode ; ¥á«¨ ¢áñ â ª¨ ¥ ® â® ã室¨¬ |
- | |
104 | mov [runmode],3 ; ¨ ç¥ ãª §ë¢ ¥¬ çâ® íâ® â ª¨ ® |
- | |
105 | jmp red ; ¨ ã室¨¬ ¢ë¯®«¥¨¥ |
- | |
Line 106... | Line 86... | ||
106 | _no_dialogmode: ; ¥á«¨ íâ® ¨ ®¤¨ ¨§ § ¥ëå ¬®¤®¢ |
86 | mcall 68,11 ; ¨¨æ¨ «¨§ æ¨ï ªãç¨ |
107 | mov [runmode],1 ; â® á¡à áë¢ ¥¬ ¤¥ä®«â |
87 | mcall 40,0x27 ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
108 | jmp red ; ¨ à¨á㥬 |
88 | include 'params_init.inc' ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
109 | 89 | ||
Line 119... | Line 99... | ||
119 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
99 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
120 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
100 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
121 | je key ; ¥á«¨ ¤ - key |
101 | je key ; ¥á«¨ ¤ - key |
122 | cmp eax,3 ; ¦ â ª®¯ª ? |
102 | cmp eax,3 ; ¦ â ª®¯ª ? |
123 | je button ; ¥á«¨ ¤ - button |
103 | je button ; ¥á«¨ ¤ - button |
- | 104 | cmp eax,6 ; ᮡë⨥ ®â ¬ëè¨ ¢¥ ®ª |
|
- | 105 | je mouse ; ¥á«¨ ¤ - button |
|
124 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
106 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
125 | ;end_still |
107 | ;end_still |
Line 126... | Line 108... | ||
126 | 108 | ||
127 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
109 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
128 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
110 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
129 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
111 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
Line -... | Line 112... | ||
- | 112 | ;end_key |
|
- | 113 | ||
- | 114 | mouse: |
|
- | 115 | mov eax,[renmode] |
|
- | 116 | cmp eax,2 |
|
- | 117 | jnz still |
|
- | 118 | call cyrcle_draw |
|
- | 119 | mcall 37,2 |
|
- | 120 | cmp al,100b |
|
- | 121 | jne still |
|
- | 122 | mov [color],edx |
|
- | 123 | call draw_result |
|
- | 124 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
|
130 | ;end_key |
125 | ;end_mouse |
131 | 126 | ||
132 | button: |
127 | button: |
133 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
128 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
134 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
129 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
Line 152... | Line 147... | ||
152 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
147 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
153 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
148 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
154 | circle_bg: |
149 | circle_bg: |
155 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
150 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
156 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
151 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
157 | ;mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
152 | mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
158 | call draw_palitra ; |
153 | call draw_palitra ; |
159 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
154 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
160 | next_end: |
155 | next_end: |
161 | cmp ah,13 ; COLOR SWAP |
156 | cmp ah,13 ; COLOR SWAP |
162 | jne color_swap_end |
157 | jne color_swap_end |
Line 301... | Line 296... | ||
301 | mov ebx,266 shl 16+16 ; [x] + [size] |
296 | mov ebx,266 shl 16+16 ; [x] + [size] |
302 | mov ecx,9 shl 16+16 ; [y] + [size] |
297 | mov ecx,9 shl 16+16 ; [y] + [size] |
303 | mov edx,0x6000000C ; ID = 12 |
298 | mov edx,0x6000000C ; ID = 12 |
304 | mov esi,[sc.work_button] ; RGB |
299 | mov esi,[sc.work_button] ; RGB |
305 | int 0x40 ; call |
300 | int 0x40 ; call |
306 | mov eax,13 ; draw rect |
- | |
307 | mov ebx,266 shl 16+16 ; [x] + [size] |
- | |
308 | mov ecx,9 shl 16+16 ; [y] + [size] |
- | |
309 | mov edx,0x666666 ; RGB |
- | |
310 | push esi ; backup esi |
- | |
311 | mov esi,8 ; counter=8 |
- | |
312 | draw_lpanel: ; loop label |
- | |
313 | int 0x40 ; call draw black rect |
- | |
314 | add ecx,19 shl 16 ; move rect |
- | |
315 | dec esi ; decrement counter |
- | |
316 | cmp esi,0 ; if counter!=zero |
- | |
317 | jne draw_lpanel ; then goto label |
- | |
318 | mov esi,8 ; else counter=8 |
- | |
319 | mov ebx,267 shl 16+14 ; [x] + [size] |
- | |
320 | mov ecx,10 shl 16+14 ; [y] + [size] |
- | |
321 | mov edx,0xF3F3F3 ; RGB |
301 | ; circle diagram |
322 | draw_lpanel2: ; 2 loop label |
- | |
323 | int 0x40 ; call draw white rect |
- | |
324 | add ecx,19 shl 16 ; move rect |
302 | add ecx,19 shl 16 ; move rect |
325 | dec esi ; decrement counter |
- | |
326 | cmp esi,0 ; if counter!=0 |
- | |
327 | jne draw_lpanel2 ; then goto label2 |
- | |
328 | pop esi ; restore esi |
- | |
329 | ; draw_left_arrow for button_next_colorsheme |
- | |
330 | mov eax,4 ; Write string |
- | |
331 | mov ebx,272 shl 16+13 ; [x] + [y] |
- | |
332 | mov ecx,0x0 ; RGB |
- | |
333 | mov edx,larrow ; string pointer |
- | |
334 | mov esi,1 ; count symbol |
- | |
335 | int 0x40 ; call |
- | |
336 | mov eax,38 ; draw line |
- | |
337 | mov ebx,270 shl 16+272 ; [start x] + [end x] |
- | |
338 | mov ecx,16 shl 16+16 ; [start y] + [end y] |
- | |
339 | mov edx,0x0 ; RGB |
303 | mov edx,0x6000000F ; ID = 15 |
340 | int 0x40 ; call |
304 | int 0x40 ; call |
- | 305 | ||
- | 306 | mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
|
- | 307 | mov ebx,panel ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
|
- | 308 | mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
|
- | 309 | mov edx,266 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
|
- | 310 | int 0x40 |
|
- | 311 | ||
- | 312 | ;mov eax,13 ; draw rect |
|
- | 313 | ;mov ebx,266 shl 16+16 ; [x] + [size] |
|
- | 314 | ;mov ecx,9 shl 16+16 ; [y] + [size] |
|
- | 315 | ;mov edx,0x666666 ; RGB |
|
- | 316 | ;push esi ; backup esi |
|
- | 317 | ;mov esi,8 ; counter=8 |
|
- | 318 | ;draw_lpanel: ; loop label |
|
- | 319 | ; int 0x40 ; call draw black rect |
|
- | 320 | ; add ecx,19 shl 16 ; move rect |
|
- | 321 | ; dec esi ; decrement counter |
|
- | 322 | ; cmp esi,0 ; if counter!=zero |
|
- | 323 | ; jne draw_lpanel ; then goto label |
|
- | 324 | ; mov esi,8 ; else counter=8 |
|
- | 325 | ; mov ebx,267 shl 16+14 ; [x] + [size] |
|
- | 326 | ; mov ecx,10 shl 16+14 ; [y] + [size] |
|
- | 327 | ; mov edx,0xF3F3F3 ; RGB |
|
- | 328 | ;draw_lpanel2: ; 2 loop label |
|
- | 329 | ; int 0x40 ; call draw white rect |
|
- | 330 | ; add ecx,19 shl 16 ; move rect |
|
- | 331 | ; dec esi ; decrement counter |
|
- | 332 | ; cmp esi,0 ; if counter!=0 |
|
- | 333 | ; jne draw_lpanel2 ; then goto label2 |
|
- | 334 | ;pop esi ; restore esi |
|
- | 335 | ; draw_left_arrow for button_next_colorsheme |
|
- | 336 | ;mov eax,4 ; Write string |
|
- | 337 | ;mov ebx,272 shl 16+13 ; [x] + [y] |
|
- | 338 | ;mov ecx,0x0 ; RGB |
|
- | 339 | ;mov edx,larrow ; string pointer |
|
- | 340 | ;mov esi,1 ; count symbol |
|
- | 341 | ;int 0x40 ; call |
|
- | 342 | ;mov eax,38 ; draw line |
|
- | 343 | ;mov ebx,270 shl 16+272 ; [start x] + [end x] |
|
- | 344 | ;mov ecx,16 shl 16+16 ; [start y] + [end y] |
|
- | 345 | ;mov edx,0x0 ; RGB |
|
- | 346 | ;int 0x40 ; call |
|
341 | ret ; return |
347 | ret ; return |
342 | ;................................................................................................. |
348 | ;................................................................................................. |
Line 343... | Line 349... | ||
343 | 349 | ||
Line 454... | Line 460... | ||
454 | ;................................................................................................. |
460 | ;................................................................................................. |
455 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
461 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
456 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
462 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
457 | mov ebx,eax ; |
463 | mov ebx,eax ; |
458 | shr ebx,16 ; ebx = xsize-1 |
464 | shr ebx,16 ; ebx = xsize-1 |
459 | ;movzx edx,ax ;; edx = ysize-1 («¨è¨© ª®¤) |
465 | movzx edx,ax ; edx = ysize-1 («¨è¨© ª®¤) |
460 | inc ebx ; ebx = xsize |
466 | inc ebx ; ebx = xsize |
461 | ;inc edx ;; edx = ysize («¨è¨© ª®¤) |
467 | inc edx ; edx = ysize («¨è¨© ª®¤) |
462 | mov [desctop_w],ebx |
468 | mov [desctop_w],ebx |
- | 469 | mov [desctop_h],edx |
|
463 | ret |
470 | ret |
464 | ;end_desktop_get |
471 | ;end_desktop_get |
Line 465... | Line 472... | ||
465 | 472 | ||
466 | mouse_get: |
473 | mouse_get: |
Line 502... | Line 509... | ||
502 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
509 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
503 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
510 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
504 | mov edx,[sc.work] ; 梥â |
511 | mov edx,[sc.work] ; 梥â |
505 | int 0x40 |
512 | int 0x40 |
Line 506... | Line 513... | ||
506 | 513 | ||
507 | ;cmp [renmode],2 |
514 | cmp [renmode],2 |
508 | ;je cyrcle_draw |
515 | je cyrcle_draw |
509 | ;cmp [renmode],1 |
516 | ;cmp [renmode],1 |
510 | ;je picker_draw |
517 | ;je picker_draw |
511 | cmp [renmode],0 |
518 | cmp [renmode],0 |
512 | je sheme_draw |
519 | je sheme_draw |
Line 513... | Line 520... | ||
513 | ret |
520 | ret |
514 | 521 | ||
515 | ;................................................................................................. |
522 | ;................................................................................................. |
516 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
523 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
- | 524 | ;................................................................................................. |
|
- | 525 | cyrcle_draw: |
|
- | 526 | ;mov eax,13 |
|
- | 527 | ;mov edx,0x666666 |
|
- | 528 | ;mov ebx,108*65536+152 |
|
- | 529 | ;mov ecx,125*65536+33 |
|
- | 530 | ;mcall |
|
- | 531 | ;mov edx,0xF3F3F3 |
|
- | 532 | ;mov ebx,109*65536+150 |
|
- | 533 | ;mov ecx,126*65536+31 |
|
517 | ;................................................................................................. |
534 | ;mcall |
- | 535 | ||
- | 536 | ;mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
|
518 | ;cyrcle_draw: |
537 | ;mov ebx,115 shl 16+131 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
519 | ;mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
538 | ;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
- | 539 | ;mov edx,hint ; 㪠§ ⥫ì ç «® áâப¨ |
|
520 | ;mov ebx,circle ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
540 | ;mov esi,24 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
- | 541 | ;mcall |
|
- | 542 | ;mov ebx,125 shl 16+144 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
|
- | 543 | ;mov edx,hint2 ; 㪠§ ⥫ì ç «® áâப¨ |
|
- | 544 | ;mov esi,21 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
|
- | 545 | ;mcall |
|
- | 546 | ||
- | 547 | mov eax,13 |
|
- | 548 | mov edx,0x666666 |
|
- | 549 | mov ebx,111*65536+145 |
|
- | 550 | mov ecx, 9*65536+145 |
|
- | 551 | mcall |
|
- | 552 | ;mov edx,[color] |
|
- | 553 | ;mov ebx,109*65536+150 |
|
- | 554 | ;mov ecx, 10*65536+150 |
|
- | 555 | ;mcall |
|
- | 556 | call mouse_local ; ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
|
- | 557 | mov ecx, [mouse_x] ; § ®á¨¬ ¢ ॣ¨áâà |
|
- | 558 | mov edx, [mouse_y] ; § ®á¨¬ ¢ ॣ¨áâà |
|
- | 559 | cmp ecx, WIN_W-10 |
|
- | 560 | jg cyrcle_draw_2 |
|
- | 561 | cmp edx, WIN_H |
|
- | 562 | jle end_cyrcle_draw |
|
- | 563 | ||
- | 564 | cyrcle_draw_2: |
|
- | 565 | call desktop_get |
|
- | 566 | call mouse_global |
|
- | 567 | ||
- | 568 | mov ebx,112*65536+11 |
|
- | 569 | mov esi,0 ; counter=8 |
|
- | 570 | circle_loop: |
|
- | 571 | mov ecx, 10*65536+11 |
|
- | 572 | mov edi,0 |
|
- | 573 | circle_loop2: |
|
- | 574 | mov eax,13 |
|
- | 575 | call circle_pixel_read |
|
- | 576 | mcall |
|
- | 577 | add ecx,11 shl 16 |
|
- | 578 | inc edi |
|
- | 579 | cmp edi,13 |
|
- | 580 | jne circle_loop2 |
|
- | 581 | ||
- | 582 | add ebx,11 shl 16 |
|
- | 583 | inc esi |
|
- | 584 | cmp esi,13 |
|
- | 585 | jne circle_loop |
|
- | 586 | ||
- | 587 | ||
- | 588 | mov eax,13 |
|
- | 589 | mov edx,0x0 |
|
- | 590 | mov ebx,177*65536+13 |
|
- | 591 | mov ecx, 76*65536+13 |
|
- | 592 | mcall |
|
- | 593 | mov ecx, [mouse_x] |
|
521 | ;mov ecx,148 shl 16 + 148 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
594 | mov edx, [mouse_y] |
- | 595 | inc ecx |
|
- | 596 | inc edx |
|
- | 597 | mov ebx, edx |
|
- | 598 | imul ebx, [desctop_w] |
|
- | 599 | add ebx, ecx |
|
- | 600 | mov eax, 35 |
|
- | 601 | mcall |
|
- | 602 | mov edx,eax |
|
- | 603 | mov eax,13 |
|
- | 604 | mov ebx,178*65536+11 |
|
- | 605 | mov ecx, 77*65536+11 |
|
522 | ;mov edx,110 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
606 | mcall |
- | 607 | end_cyrcle_draw: |
|
- | 608 | ret |
|
- | 609 | ||
- | 610 | circle_pixel_read: |
|
- | 611 | push ecx |
|
- | 612 | push ebx |
|
- | 613 | push eax |
|
- | 614 | mov ecx, [mouse_x] |
|
- | 615 | mov edx, [mouse_y] |
|
- | 616 | inc ecx |
|
- | 617 | add ecx, esi |
|
- | 618 | cmp ecx, 6 |
|
- | 619 | jl _cpr_exit |
|
- | 620 | sub ecx, 6 |
|
- | 621 | inc edx |
|
- | 622 | add edx, edi |
|
- | 623 | cmp edx, 6 |
|
- | 624 | jl _cpr_exit |
|
- | 625 | sub edx, 6 |
|
- | 626 | ||
- | 627 | mov ebx, edx |
|
- | 628 | imul ebx, [desctop_w] |
|
- | 629 | add ebx, ecx |
|
- | 630 | mov eax, 35 |
|
- | 631 | mcall |
|
- | 632 | mov edx,eax |
|
- | 633 | pop eax |
|
- | 634 | pop ebx |
|
- | 635 | pop ecx |
|
- | 636 | ret |
|
- | 637 | ||
- | 638 | _cpr_exit: |
|
- | 639 | mov edx,0x00000000 |
|
- | 640 | pop eax |
|
- | 641 | pop ebx |
|
Line 523... | Line 642... | ||
523 | ;int 0x40 |
642 | pop ecx |
524 | ;ret |
643 | ret |
Line 525... | Line 644... | ||
525 | 644 | ||
Line 1077... | Line 1196... | ||
1077 | pop ecx |
1196 | pop ecx |
Line 1078... | Line 1197... | ||
1078 | 1197 | ||
1079 | ret |
1198 | ret |
Line 1080... | Line -... | ||
1080 | ;end_str_len |
- | |
1081 | - | ||
1082 | ;................................................................................................. |
- | |
1083 | ; ¢®§¢à é ¥â 㪠§ â¥«ì ¯¥à¢®¥ ¢å®¦¤¥¨¥ Chr L (¢å®¤->EDI string ; ¢ë室->EAX offset) |
- | |
1084 | ;................................................................................................. |
- | |
1085 | ;strscan: |
- | |
1086 | ; push ecx ; ¤«¨ áâப¨ |
- | |
1087 | ; push ebx ; 㪠§ ⥫ì ᨬ¢®« (bl) |
- | |
1088 | ; push esi ; ¯à¨£®¤¨âáï |
- | |
1089 | ; push edi ; 㪠§ ⥫ì áâபã |
- | |
1090 | ; mov esi, edi |
- | |
1091 | ; mov al,bl |
- | |
1092 | ; repne scasb |
- | |
1093 | ; sub edi, esi |
- | |
1094 | ; mov eax, edi |
- | |
1095 | ; dec eax |
- | |
1096 | ; pop edi |
- | |
1097 | ; pop esi |
- | |
1098 | ; pop ebx |
- | |
1099 | ; pop ecx |
- | |
1100 | ; ret |
- | |
1101 | ;end; |
- | |
Line 1102... | Line 1199... | ||
1102 | 1199 | ;end_str_len |
|
1103 | 1200 | ||
1104 | 1201 | ||
1105 | 1202 | ||
1106 | ;#___________________________________________________________________________________________________ |
1203 | ;#___________________________________________________________________________________________________ |
1107 | ;****************************************************************************************************| |
1204 | ;****************************************************************************************************| |
1108 | ; | |
1205 | ; | |
1109 | ;----------------------------------------------------------------------------------------------------/ |
1206 | ;----------------------------------------------------------------------------------------------------/ |
1110 | 1207 | circle: |
|
1111 | cm db 12 dup(0) |
1208 | cm db 12 dup(0) |
1112 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1209 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1113 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
1210 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
- | 1211 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
|
1114 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
1212 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1115 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1213 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1116 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1214 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1117 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1215 | desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
1118 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1216 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1119 | title db 'Palitra v0.6',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1217 | title db 'Palitra v0.7',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1120 | hidden db 'Hidden',0 |
1218 | hidden db 'Hidden',0 |
Line 1130... | Line 1228... | ||
1130 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1228 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1131 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1229 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1132 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1230 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1133 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1231 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1134 | params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
1232 | params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
- | 1233 | ||
- | 1234 | ||
- | 1235 | ||
1135 | I_END:10>------+ |
1236 | I_END:10>------+ |