Rev 2249 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2249 | Rev 6972 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | ; í«¥¬¥â Optionbox ¤«ï ¡¨¡«¨®â¥ª¨ box_lib.obj |
|
1 | ;ä ©« ᮧ¤ 13.02.2009 |
2 | ; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï |
- | 3 | ; ä ©« ᮧ¤ 13.02.2009 |
|
2 | ; ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj |
4 | ; ¯®á«¥¤ïï ¬®¤¨ä¨ª æ¨ï 12.09.2017 IgorA |
3 | ;Optionbox |
- | |
Line 4... | Line -... | ||
4 | - | ||
5 | macro use_optionbox_driver ;¬ ªà®áë ª®â®àë¥ ã¯à ¢«ïîâ à ¡®â®© ¡®ªá ) |
5 | |
6 | { |
6 | align 16 |
7 | option_box_draw: |
7 | option_box_draw: |
Line 8... | Line 8... | ||
8 | pusha |
8 | pusha |
- | 9 | ||
9 | 10 | mov eax,dword[esp+36] |
|
10 | mov eax,dword [esp+36] |
11 | @@: |
11 | @@: mov edi,dword [eax] |
12 | mov edi,dword[eax] |
12 | test edi,edi |
13 | test edi,edi |
13 | je option_check |
14 | je option_check |
14 | call option_box_draw_box |
15 | call option_box_draw_box |
Line 15... | Line 16... | ||
15 | add eax,4 |
16 | add eax,4 |
16 | jmp @b |
17 | jmp @b |
- | 18 | ||
17 | 19 | option_check: |
|
18 | option_check: |
20 | mov eax,dword[esp+36] |
19 | mov eax,dword [esp+36] |
21 | @@: |
Line 20... | Line 22... | ||
20 | @@: mov edi,dword [eax] |
22 | mov edi,dword[eax] |
21 | test edi,edi |
23 | test edi,edi |
Line 37... | Line 39... | ||
37 | call option_box_clear_op |
39 | call option_box_clear_op |
38 | popa |
40 | popa |
39 | add eax,4 |
41 | add eax,4 |
40 | jmp @b |
42 | jmp @b |
Line 41... | Line 43... | ||
41 | 43 | ||
42 | 44 | @@: |
|
43 | @@: popa |
45 | popa |
44 | ret 4 |
- | |
Line -... | Line 46... | ||
- | 46 | ret 4 |
|
45 | ; exit ¢®®¡é¥ :) |
47 | |
46 | 48 | ||
47 | 49 | align 16 |
|
48 | option_box_mouse: |
50 | option_box_mouse: |
49 | pusha |
51 | pusha |
50 | mcall 37,2 |
52 | mcall SF_MOUSE_GET,SSF_BUTTON |
51 | test eax,eax |
53 | test eax,eax |
- | 54 | jnz @f |
|
52 | jnz @f |
55 | popa |
53 | popa |
56 | ret 4 |
- | 57 | ||
54 | ret 4 |
58 | @@: |
55 | @@: |
59 | mov eax,dword[esp+36] |
56 | mov eax,dword [esp+36] |
60 | @@: |
57 | @@: mov edi,dword [eax] |
61 | mov edi,dword[eax] |
58 | test edi,edi |
62 | test edi,edi |
59 | je option_check |
63 | je option_check |
Line 60... | Line -... | ||
60 | call option_box_mouse_op |
- | |
61 | add eax,4 |
64 | call option_box_mouse_op |
62 | jmp @b |
- | |
63 | 65 | add eax,4 |
|
64 | } |
66 | jmp @b |
Line 65... | Line 67... | ||
65 | macro use_optionbox_draw |
67 | |
66 | { |
68 | align 16 |
67 | option_box_draw_box: |
69 | option_box_draw_box: |
68 | pusha ;á®åà ¨¬ ¢á¥ ॣ¨áâàë |
70 | pusha ;á®åà ¨¬ ¢á¥ ॣ¨áâàë |
69 | 71 | ||
70 | movzx ebx,word op_left |
72 | movzx ebx,word op_left |
71 | shl ebx,16 |
- | |
72 | add ebx,dword op_size |
- | |
73 | movzx ecx,word op_top |
73 | shl ebx,16 |
Line 74... | Line -... | ||
74 | shl ecx,16 |
- | |
75 | add ecx,dword op_size |
74 | add ebx,dword op_size |
76 | mov edx,dword op_border_color |
75 | movzx ecx,word op_top |
77 | mov eax,13 |
76 | shl ecx,16 |
Line 78... | Line 77... | ||
78 | mcall ;à¨á㥬 à ¬ªã |
77 | add ecx,dword op_size |
79 | 78 | mcall SF_DRAW_RECT,,,op_border_color ;à¨á㥬 à ¬ªã |
|
80 | mov edx,dword op_color |
79 | |
81 | add ebx,1 shl 16 - 2 |
80 | add ebx,1 shl 16 - 2 |
82 | add ecx,1 shl 16 - 2 |
81 | add ecx,1 shl 16 - 2 |
Line 83... | Line 82... | ||
83 | mcall ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
82 | mcall ,,,op_color ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
84 | 83 | ||
85 | ; mov eax,dword option_group |
84 | ; mov eax,dword option_group |
- | 85 | ; mov eax,[eax] |
|
86 | ; mov dword eax,[eax] |
86 | ; cmp eax,edi |
87 | ; cmp eax,edi |
87 | ; jne @f |
88 | ; jne @f |
88 | ; call option_box_draw_op ; à¨á®¢ âì ¢ª«îç¥ë© 祪 ¡®ªá |
89 | ; call option_box_draw_op ; à¨á®¢ âì ¢ª«îç¥ë© 祪 ¡®ªá |
89 | |
90 | 90 | ||
91 | 91 | ;---------------------------- |
|
92 | ;---------------------------- |
92 | ;à áç¥â ªã¤ ¡ã¤¥â ¯à®¨§¢¥¤¥ ¢ë¢®¤ ⥪áâ |
93 | ;à áç¥â ªã¤ ¡ã¤¥â ¯à®¨§¢¥¤¥ ¢ë¢®¤ ⥪áâ |
93 | ;---------------------------- |
94 | ;---------------------------- |
94 | @@: |
95 | @@: movzx ebx,word op_left ;§ £à㧨âì § 票¥ å ¤«ï 祪 ¡®ªá |
- | |
96 | add ebx,dword op_size |
95 | movzx ebx,word op_left ;§ £à㧨âì § 票¥ å ¤«ï 祪 ¡®ªá |
97 | add ebx,dword op_text_margin;¤®¡ ¢¨âì à §¬¥à áâ®à®ë ¨ à ááâ®ï¨¥ ª®â®à®¬ ç¥âáï ¢ë¢®¤ ⥪áâ |
- | |
98 | shl ebx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
- | |
99 | mov bx,word op_top ;§ £à㧨¬ § 票¥ ¯® y |
96 | add ebx,dword op_size |
100 | mov eax,op_size |
97 | add ebx,dword op_text_margin ;¤®¡ ¢¨âì à §¬¥à áâ®à®ë ¨ à ááâ®ï¨¥ ª®â®à®¬ ç¥âáï ¢ë¢®¤ ⥪áâ |
101 | shr eax,1 |
- | |
102 | add eax,4 |
- | |
103 | add ebx,eax |
98 | shl ebx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
104 | mov ecx,dword op_text_color ;§ £à㧨¬ 梥⠤¯¨á¨ + flags |
99 | mov bx,word op_top ;§ £à㧨¬ § 票¥ ¯® y |
Line 105... | Line 100... | ||
105 | sub ebx,7 ;¤®¡ ¢¨¬ § 票¥ ¤«¨ë áâ®à®ë -9+2 |
100 | mov eax,op_size |
106 | 101 | shr eax,1 |
|
Line 137... | Line 132... | ||
137 | movzx ecx,word op_top ;§ £à㧨âì ª®®à¤¨ âã ¯® ã |
132 | movzx ecx,word op_top ;§ £à㧨âì ª®®à¤¨ âã ¯® ã |
138 | pop ax |
133 | pop ax |
139 | add cx,ax |
134 | add cx,ax |
140 | shl ecx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
135 | shl ecx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
141 | mov cx,bp ;§ £à㧨¬ § 票ï ॣ¨áâà 㪠§ â¥«ï ¡ §ë ¢ cx |
136 | mov cx,bp ;§ £à㧨¬ § 票ï ॣ¨áâà 㪠§ â¥«ï ¡ §ë ¢ cx |
142 | mov eax,13 ;¢ eax - § 票ï äãªæ¨¨ ¤«ï ¢ë¢®¤ ¯®«®áë â.¥. ¯® áã⨠¯àאַ㣮«ì¨ª , ª®â®àë© ®â®¡à ¦ ¥â ¢ª«îç¥ë© ª®¬¯®¥â 祪 ¡®ªá |
137 | mcall SF_DRAW_RECT ;¢ë¢®¤ ¯®«®áë â.¥. ¯® áã⨠¯àאַ㣮«ì¨ª , ª®â®àë© ®â®¡à ¦ ¥â ¢ª«îç¥ë© ª®¬¯®¥â 祪 ¡®ªá |
143 | mcall ;¢ë¢®¤ |
- | |
144 | ret ;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë |
138 | ret ;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë |
145 | } |
- | |
Line 146... | Line -... | ||
146 | - | ||
147 | - | ||
148 | macro use_optionbox_mouse |
139 | |
149 | { |
140 | |
150 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
141 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | 142 | ;¡à ¡®â稪 mouse |
|
151 | ;¡à ¡®â稪 mouse |
143 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
152 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
144 | align 16 |
153 | option_box_mouse_op: ;®¡à ¡®âª ¬ëè¨ |
145 | option_box_mouse_op: ;®¡à ¡®âª ¬ëè¨ |
154 | pusha |
- | |
155 | mov esi,dword op_text_length ;§ £à㧨âì ª®«-¢® ᨬ¢®«®¢ ¢ ⥪á⮢®© áâப¥ |
- | |
156 | ;¬®¦¥¨¥ 6 ëáâ஥ 㬮¦¥¨¥ ¬®¦® ¢®á¯®«ì§®¢ âìáï «î¡ë¬ ¬§ ¬¥â®¤®¢, ® áâ àëå à®æ¥áá®à å (386,486,P1)¡ëáâ॥ ¡ã¤¥â á ¨áâàãªæ¨¥© Lea |
- | |
157 | ; lea esi,[eax*2+eax] |
146 | pusha |
158 | ; shl eax,1 |
- | |
159 | imul esi,6 ; ¨«¨ ¬®¦® ¨ â ª 㬮¦¨âì 6 |
147 | mov esi,dword op_text_length ;§ £à㧨âì ª®«-¢® ᨬ¢®«®¢ ¢ ⥪á⮢®© áâப¥ |
Line 160... | Line -... | ||
160 | xor ebx,ebx |
- | |
161 | add esi,dword op_text_margin ;¤®¡ ¢¨âì 3 - à ááâ®ï¨¥ ®â 祪 ¡®ªá ¤® ¤¯¨á¨ |
- | |
162 | 148 | imul esi,6 ;¨«¨ ¬®¦® ¨ â ª 㬮¦¨âì 6 |
|
Line 163... | Line 149... | ||
163 | mov eax,37 ;¯®«ã稬 ª®®à¤¨ âë ¬ë誨 |
149 | add esi,dword op_text_margin ;¤®¡ ¢¨âì 3 - à ááâ®ï¨¥ ®â 祪 ¡®ªá ¤® ¤¯¨á¨ |
164 | inc ebx ;¤®¡ ¢¨âì 1 |
150 | |
165 | mcall ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
151 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
166 | 152 | ||
Line 183... | Line 169... | ||
183 | mov [eax],edi |
169 | mov [eax],edi |
Line 184... | Line 170... | ||
184 | 170 | ||
185 | option_box_mouse_end: |
171 | option_box_mouse_end: |
186 | popa ;¢®ááâ ®¢¨âì ॣ¨áâàë ¨§ á⥪ |
172 | popa ;¢®ááâ ®¢¨âì ॣ¨áâàë ¨§ á⥪ |
187 | ret ;¢ë©â¨ |
- | |
188 | - | ||
189 | }> |
173 | ret ;¢ë©â¨> |