support system library box_lib.obj
git-svn-id: svn://kolibrios.org@1098 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,217 +0,0 @@
|
|||||||
;<EFBFBD><EFBFBD>䥪⨢<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> KOLIBRI
|
|
||||||
;<EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CheckBox (<EFBFBD><EFBFBD>室<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਠ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> Maxxxx32)
|
|
||||||
;<EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> CheckBox'a + ⥯<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>થ <EFBFBD><EFBFBD> <EFBFBD>ந<EFBFBD>室<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>
|
|
||||||
;<EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <EFBFBD>⪠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>⥪<EFBFBD>.
|
|
||||||
;17.07.2006 <EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮪ <EFBFBD>६<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
;<Lrz> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ www.test-kolibri.narod.ru
|
|
||||||
|
|
||||||
macro use_check_box
|
|
||||||
{
|
|
||||||
ch_text_margin=4 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ch_size=10 ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ch_left equ [edi] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
ch_top equ [edi+2] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
ch_color equ [edi+4] ;梥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
|
||||||
ch_border_color equ [edi+8] ;梥<EFBFBD> ࠬ<EFBFBD><EFBFBD> checkbox
|
|
||||||
ch_text_color equ [edi+12] ;梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ch_text_ptr equ [edi+16] ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>
|
|
||||||
ch_text_length equ [edi+20] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2^64 ⠪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD>)
|
|
||||||
ch_flags equ [edi+24] ;䫠<EFBFBD><EFBFBD>
|
|
||||||
check_box:
|
|
||||||
.draw:
|
|
||||||
pusha ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov eax,38 ;<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov bx,ch_left ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
;mov cx,bx ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> bx
|
|
||||||
push bx ;3 - <EFBFBD><EFBFBD><EFBFBD>ம<EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 <EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⥪ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>먣<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
shl ebx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
pop bx ;2 - <EFBFBD><EFBFBD><EFBFBD>ம<EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ନ<EFBFBD><EFBFBD><EFBFBD> [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x]*65536 + [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x]
|
|
||||||
;mov bx,cx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> bx
|
|
||||||
mov cx,ch_top ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> <EFBFBD> cx <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> y
|
|
||||||
mov si,cx ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> si
|
|
||||||
;push cx
|
|
||||||
shl ecx,16 ; ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536) mov cx,si ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx
|
|
||||||
mov cx,si ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx
|
|
||||||
;pop cx ;[<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y]
|
|
||||||
;push cx
|
|
||||||
add cx,ch_size ;[<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y]
|
|
||||||
mov edx,ch_border_color ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
int 0x40 ;<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD>쭮<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>)
|
|
||||||
;
|
|
||||||
mov bp,bx ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> bx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
;push bx ;<EFBFBD>⮫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> bx [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>]*65536 + [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x]
|
|
||||||
add bx,ch_size ;[<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> + <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>]
|
|
||||||
ror ebx,16 ;[<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> + <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>]*65536
|
|
||||||
add bx,ch_size ;[<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>]*65536 + [<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x]
|
|
||||||
int 0x40
|
|
||||||
mov bx,bp ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bx
|
|
||||||
;pop bx
|
|
||||||
mov cx,si ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD>
|
|
||||||
;pop cx
|
|
||||||
int 0x40
|
|
||||||
add cx,ch_size ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov si,cx ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> si
|
|
||||||
;push cx
|
|
||||||
shl ecx,16
|
|
||||||
mov cx,si
|
|
||||||
;pop cx
|
|
||||||
int 0x40 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD>
|
|
||||||
|
|
||||||
mov eax,13 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> 13 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov bx,ch_left ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD> bx, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
add bx,1 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD>.<EFBFBD>. <EFBFBD>ਡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD>
|
|
||||||
shl ebx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
mov bx,ch_size ;<EFBFBD>ਡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>
|
|
||||||
sub bx,1 ;<EFBFBD><EFBFBD><EFBFBD>⥬ 1 <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD>
|
|
||||||
mov bp,bx ; <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> bx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
;push bx
|
|
||||||
mov cx,ch_top ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y
|
|
||||||
add cx,1 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD>.<EFBFBD>. <EFBFBD>ਡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD>
|
|
||||||
shl ecx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
mov cx,bp ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cx
|
|
||||||
;pop cx
|
|
||||||
mov edx,ch_color ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> 梥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
int 0x40 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᨫ<EFBFBD>
|
|
||||||
bt dword ch_flags,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>६<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䫠<EFBFBD> CF
|
|
||||||
jnc @f ;<EFBFBD> <EFBFBD> CF=1, <EFBFBD><EFBFBD> <EFBFBD>믮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>楤<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>३<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
call .draw_ch ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
@@:
|
|
||||||
;----------------------------
|
|
||||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>㤠 <EFBFBD>㤥<EFBFBD> <EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
;----------------------------
|
|
||||||
mov bx,ch_left ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add bx,(ch_size+ch_text_margin) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>筥<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
shl ebx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
mov bx,ch_top ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y
|
|
||||||
add bx,(ch_size-9+2) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -9+2
|
|
||||||
mov ecx,ch_text_color ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> 梥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
mov edx,ch_text_ptr ;㪠<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>㤠 <EFBFBD>㦭<EFBFBD> <EFBFBD>뢮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>
|
|
||||||
mov esi,ch_text_length ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> esi
|
|
||||||
xor eax,eax ;<EFBFBD><EFBFBD><EFBFBD>ᥬ <EFBFBD> eax <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add eax,4
|
|
||||||
int 0x40 ;<EFBFBD>뢮<EFBFBD>
|
|
||||||
popa ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>⥪<EFBFBD>
|
|
||||||
ret ;<EFBFBD>멤<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>楤<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.clear_ch: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⪠ 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov edx,ch_color ;梥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
jmp @f ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>릮<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
|
|
||||||
.draw_ch: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov edx,ch_border_color ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> 梥<EFBFBD>
|
|
||||||
@@:
|
|
||||||
mov bx,ch_left ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
add bx,(ch_size/3) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>/3)
|
|
||||||
shl ebx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
mov bx,(ch_size/2) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>/2)
|
|
||||||
mov bp,bx ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> bx <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
;push bx
|
|
||||||
mov cx,ch_top ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
add cx,(ch_size/3) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>/3)
|
|
||||||
shl ecx,16 ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 ࠧ<EFBFBD>冷<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536)
|
|
||||||
mov cx,bp ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> cx
|
|
||||||
;pop cx
|
|
||||||
mov eax,13 ;<EFBFBD> eax - <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD>㭪樨 <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⮡ࠦ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
int 0x40 ;<EFBFBD>뢮<EFBFBD>
|
|
||||||
ret ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>楤<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.mouse: ;<EFBFBD><EFBFBD>ࠡ<EFBFBD>⪠ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
pusha
|
|
||||||
mov eax,37 ;<EFBFBD>㤥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
xor ebx,ebx ;<EFBFBD><EFBFBD><EFBFBD>㫨<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ebx (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䫠<EFBFBD><EFBFBD>)
|
|
||||||
add ebx,2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> 2
|
|
||||||
int 0x40 ;<EFBFBD><EFBFBD>ઠ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>짮<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>誨
|
|
||||||
test eax,eax ;<EFBFBD><EFBFBD>ઠ <EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> eax=0, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䫠<EFBFBD> <EFBFBD> <EFBFBD>멤<EFBFBD><EFBFBD>
|
|
||||||
jnz @f ;<EFBFBD><EFBFBD>३<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
btr dword ch_flags,2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䫠<EFBFBD> cf <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>㫥<EFBFBD><EFBFBD><EFBFBD>.
|
|
||||||
popa ;<EFBFBD> <EFBFBD><EFBFBD>祣<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ந<EFBFBD><EFBFBD>諮, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>⥪<EFBFBD>
|
|
||||||
ret ;<EFBFBD><EFBFBD>室
|
|
||||||
@@:
|
|
||||||
bts dword ch_flags,2 ;<EFBFBD><EFBFBD>ઠ 䫠<EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD>७<EFBFBD><EFBFBD> <EFBFBD> cf <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD>
|
|
||||||
jc .mouse_end ;<EFBFBD> CF=1 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>३<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>室
|
|
||||||
mov esi,ch_text_length ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>
|
|
||||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 6 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯮ<EFBFBD>짮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⮤<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (386,486,P1)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>॥ <EFBFBD>㤥<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樥<EFBFBD> Lea
|
|
||||||
;lea esi,[eax*2+eax]
|
|
||||||
;shl eax,1
|
|
||||||
imul esi,6 ; <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ⠪ 㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 6
|
|
||||||
add esi,ch_text_margin ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
mov eax,37 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>稬 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>誨
|
|
||||||
xor ebx,ebx ;<EFBFBD><EFBFBD><EFBFBD>㫨<EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add ebx,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
|
||||||
int 0x40 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
mov bx,ch_top ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <EFBFBD> bx <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
cmp ax,bx ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD>⮩ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
jl .mouse_end ;SF <> OF <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add bx,ch_size ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
cmp ax,bx ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
jg .mouse_end ;ZF = 0 <EFBFBD> SF = OF <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
shr eax,16 ;ࠧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 65536 <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 16 <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD>
|
|
||||||
mov bx,ch_left ;<EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮<EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
cmp ax,bx ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
jl .mouse_end ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add bx,ch_size ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD>
|
|
||||||
add bx,si ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 祪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
cmp ax,bx ;<EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
jg .mouse_end ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
bts dword ch_flags,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䫠<EFBFBD> cf <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1.
|
|
||||||
jc @f ;CF=1 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>३<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
|
|
||||||
call .draw_ch ;<EFBFBD>⮡ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov dword [esp+24],1 ;<EFBFBD><EFBFBD><EFBFBD>쭥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ઠ 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD>⮬<EFBFBD> <EFBFBD> <EFBFBD>⥪, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
|
|
||||||
jmp .mouse_end ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
@@:
|
|
||||||
btr dword ch_flags,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䫠<EFBFBD> cf <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>㫥<EFBFBD><EFBFBD><EFBFBD>.
|
|
||||||
call .clear_ch ;<EFBFBD>몫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD> <EFBFBD>⮡ࠧ<EFBFBD><EFBFBD><EFBFBD> 梥<EFBFBD> 䮭<EFBFBD>.
|
|
||||||
.mouse_end:
|
|
||||||
popa ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>⥪<EFBFBD>
|
|
||||||
ret ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
struc check_box left,top,color,border_color,text_color,text,text_length,flags
|
|
||||||
{ ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.left: dw left ;+0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
.top: dw top ;+2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
|
|
||||||
.color: dd color ;+4 ;梥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.border_color: dd border_color ;+8 梥<EFBFBD> ࠬ<EFBFBD><EFBFBD>
|
|
||||||
.text_color: dd text_color ;+12 梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.text: dd text ;+16 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.text_length: dd text_length ; +20 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.flags: dd flags+0 ;+24 䫠<EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
ch_struc_size=28 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 28 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
macro draw_check_boxes start,end ;<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
mov edi,start ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࢮ<EFBFBD><EFBFBD> 祪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov ecx,((end-start)/ch_struc_size) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ
|
|
||||||
@@:
|
|
||||||
call check_box.draw ;<EFBFBD>⮡ࠧ<EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add edi,ch_struc_size ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>. +28
|
|
||||||
loop @b ;<EFBFBD><EFBFBD>룭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD> ecx/cx <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 0 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
}
|
|
||||||
macro mouse_check_boxes start,end ;<EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ᮡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
mov edi,start ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ <EFBFBD>.<EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࢮ<EFBFBD><EFBFBD> 祪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov ecx,((end-start)/ch_struc_size) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 祪 <EFBFBD><EFBFBD><EFBFBD>ᮢ
|
|
||||||
@@:
|
|
||||||
call check_box.mouse ;<EFBFBD><EFBFBD>ઠ <EFBFBD><EFBFBD>誨 <EFBFBD> <EFBFBD><EFBFBD>ࠡ<EFBFBD>⪠ ᮡ<EFBFBD>⨩
|
|
||||||
add edi,ch_struc_size ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 祪 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
loop @b ;<EFBFBD><EFBFBD>룭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD> ecx/cx <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 0 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
|
||||||
}
|
|
||||||
macro check_boxes_set_sys_color start,end,color_table
|
|
||||||
{
|
|
||||||
mov edi,start
|
|
||||||
mov ecx,((end-start)/ch_struc_size)
|
|
||||||
mov esi,color_table
|
|
||||||
@@:
|
|
||||||
push dword [esi+32]
|
|
||||||
pop dword ch_text_color
|
|
||||||
push dword [esi+36]
|
|
||||||
pop dword ch_border_color
|
|
||||||
add edi,ch_struc_size
|
|
||||||
loop @b
|
|
||||||
}
|
|
@@ -1,41 +0,0 @@
|
|||||||
macro file_sys struc_ptr
|
|
||||||
{
|
|
||||||
mov eax,58
|
|
||||||
mov ebx,struc_ptr
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
struc fs_struc function_number,block_number,size,data_ptr,mem_for_sys_ptr
|
|
||||||
{
|
|
||||||
.function_number: dd function_number+0 ;+0
|
|
||||||
.block_number: dd block_number+0 ;+4
|
|
||||||
.size: dd size+0 ;+8
|
|
||||||
.data_ptr: dd data_ptr+0 ;+12
|
|
||||||
.mem_for_sys_ptr: dd mem_for_sys_ptr+0 ;+16
|
|
||||||
}
|
|
||||||
fs_struc_size=20
|
|
||||||
|
|
||||||
fs_read_file=0
|
|
||||||
fs_rewrite_file=1
|
|
||||||
fs_delete_file=2
|
|
||||||
fs_write_to_file=3
|
|
||||||
fs_create_dir=4
|
|
||||||
fs_rename_file=5
|
|
||||||
fs_lba_read=9
|
|
||||||
fs_get_file_size=12
|
|
||||||
fs_get_file_atr=13
|
|
||||||
fs_get_file_date_time=14
|
|
||||||
fs_get_fs_info=15
|
|
||||||
fs_run_app=16
|
|
||||||
|
|
||||||
fse_successful=0
|
|
||||||
fse_not_def_base=1
|
|
||||||
fse_bad_fs=2
|
|
||||||
fse_bad_fs=3
|
|
||||||
fse_part_not_def=4
|
|
||||||
fse_file_not_found=5
|
|
||||||
fse_end_of_file=6
|
|
||||||
fse_bad_ptr=7
|
|
||||||
fse_disk_filled=8
|
|
||||||
fse_bad_fat_table=9
|
|
||||||
fse_acces_denied=10
|
|
@@ -2,19 +2,19 @@ macro use_label
|
|||||||
{
|
{
|
||||||
draw_label:
|
draw_label:
|
||||||
pusha
|
pusha
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
mov edx,[edi+8]
|
mov edx,[edi+8]
|
||||||
.check_next:
|
.check_next:
|
||||||
mov ah,[edx+esi]
|
mov ah,[edx+esi]
|
||||||
inc esi
|
inc esi
|
||||||
test ah,ah
|
test ah,ah
|
||||||
jz @f
|
jz @f
|
||||||
jmp .check_next
|
jmp .check_next
|
||||||
@@:
|
@@:
|
||||||
mov eax,4
|
mov eax,4
|
||||||
mov ebx,[edi]
|
mov ebx,[edi]
|
||||||
mov ecx,[edi+4]
|
mov ecx,[edi+4]
|
||||||
int 0x40
|
mcall
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
@@ -24,28 +24,28 @@ struc label left,top,color,text
|
|||||||
.top: dw top ; +0
|
.top: dw top ; +0
|
||||||
.left: dw left ; +2
|
.left: dw left ; +2
|
||||||
.color: dd color; +4
|
.color: dd color; +4
|
||||||
.text: dd text ; +8
|
.text: dd text ; +8
|
||||||
}
|
}
|
||||||
|
|
||||||
l_struc_size=12
|
l_struc_size=12
|
||||||
macro draw_labels start,end
|
macro draw_labels start,end
|
||||||
{
|
{
|
||||||
mov edi,start
|
mov edi,start
|
||||||
mov ecx,((end-start)/l_struc_size)
|
mov ecx,((end-start)/l_struc_size)
|
||||||
@@:
|
@@:
|
||||||
call draw_label
|
call draw_label
|
||||||
add edi,l_struc_size
|
add edi,l_struc_size
|
||||||
loop @r
|
loop @r
|
||||||
}
|
}
|
||||||
|
|
||||||
macro labels_set_sys_color start,end,color_table
|
macro labels_set_sys_color start,end,color_table
|
||||||
{
|
{
|
||||||
mov edi,start
|
mov edi,start
|
||||||
mov ecx,((end-start)/l_struc_size)
|
mov ecx,((end-start)/l_struc_size)
|
||||||
mov esi,color_table
|
mov esi,color_table
|
||||||
@@:
|
@@:
|
||||||
push dword [esi+32]
|
push dword [esi+32]
|
||||||
pop dword [edi+4]
|
pop dword [edi+4]
|
||||||
add edi,l_struc_size
|
add edi,l_struc_size
|
||||||
loop @r
|
loop @r
|
||||||
}
|
}
|
@@ -1,399 +0,0 @@
|
|||||||
;--- <EFBFBD><EFBFBD>㣨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
include '..\..\develop\examples\editbox\trunk\editbox.inc'
|
|
||||||
include 'txtbut.inc'
|
|
||||||
;include 'gp.inc'
|
|
||||||
include 'label.inc'
|
|
||||||
;include '..\..\develop\examples\checkbox\trunk\check.inc'
|
|
||||||
include 'check.inc'
|
|
||||||
include 'file_sys.inc'
|
|
||||||
include 'textwork.inc'
|
|
||||||
;include 'ini.inc'
|
|
||||||
|
|
||||||
__CPU_type equ p5
|
|
||||||
SYSENTER_VAR equ 0
|
|
||||||
|
|
||||||
|
|
||||||
macro movr reg,val
|
|
||||||
{
|
|
||||||
if val < 65536
|
|
||||||
push val
|
|
||||||
pop reg
|
|
||||||
else
|
|
||||||
mov reg,val
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls
|
|
||||||
local ..ret_point
|
|
||||||
__mov eax,a
|
|
||||||
__mov ebx,b
|
|
||||||
__mov ecx,c
|
|
||||||
__mov edx,d
|
|
||||||
__mov esi,e
|
|
||||||
__mov edi,f
|
|
||||||
|
|
||||||
if __CPU_type eq p5
|
|
||||||
int 0x40
|
|
||||||
else
|
|
||||||
if __CPU_type eq p6
|
|
||||||
push ebp
|
|
||||||
mov ebp, esp
|
|
||||||
push ..ret_point ; it may be 2 or 5 byte
|
|
||||||
sysenter
|
|
||||||
..ret_point:
|
|
||||||
pop edx
|
|
||||||
pop ecx
|
|
||||||
|
|
||||||
else
|
|
||||||
if __CPU_type eq k6
|
|
||||||
push ecx
|
|
||||||
syscall
|
|
||||||
pop ecx
|
|
||||||
else
|
|
||||||
display 'ERROR : unknown CPU type'
|
|
||||||
int 0x40
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
macro __mov reg,a,b { ; mike.dld
|
|
||||||
if (~a eq)&(~b eq)
|
|
||||||
mpack reg,a,b
|
|
||||||
else if (~a eq)&(b eq)
|
|
||||||
mov reg,a
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro meos_header par_buf,cur_dir_buf
|
|
||||||
{
|
|
||||||
use32
|
|
||||||
org 0x0
|
|
||||||
|
|
||||||
db 'MENUET01'
|
|
||||||
dd 0x01
|
|
||||||
dd __app_start
|
|
||||||
dd __app_end
|
|
||||||
dd __app_end
|
|
||||||
dd __app_end
|
|
||||||
if <par_buf> eq <>
|
|
||||||
dd 0x0
|
|
||||||
else
|
|
||||||
dd par_buf
|
|
||||||
end if
|
|
||||||
if <cur_dir_buf> eq <>
|
|
||||||
dd 0x0
|
|
||||||
else
|
|
||||||
dd cur_dir_buf
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>室<EFBFBD> ---
|
|
||||||
macro app_start
|
|
||||||
{
|
|
||||||
__app_start:
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ਫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⥪<EFBFBD> ---
|
|
||||||
macro app_end stack_size
|
|
||||||
{
|
|
||||||
if <stack_size> eq <>
|
|
||||||
rb 1024
|
|
||||||
else
|
|
||||||
rb stack_size
|
|
||||||
end if
|
|
||||||
__app_end:
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD>騩 <EFBFBD><EFBFBD>⮪ ---
|
|
||||||
macro app_close
|
|
||||||
{
|
|
||||||
xor eax,eax
|
|
||||||
dec eax
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮩ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro get_key
|
|
||||||
{
|
|
||||||
;mov eax,2
|
|
||||||
push 2
|
|
||||||
pop eax
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮩ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro get_pressed_button
|
|
||||||
{
|
|
||||||
;mov eax,17
|
|
||||||
push 17
|
|
||||||
pop eax
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- ᮮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>砫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro start_draw_window
|
|
||||||
{
|
|
||||||
;mov eax,12
|
|
||||||
push 12
|
|
||||||
pop eax
|
|
||||||
xor ebx,ebx
|
|
||||||
inc ebx
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- ᮮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro stop_draw_window
|
|
||||||
{
|
|
||||||
;mov eax,12
|
|
||||||
push 12
|
|
||||||
pop eax
|
|
||||||
;mov ebx,2
|
|
||||||
push 2
|
|
||||||
pop ebx
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<EFBFBD>⨩ ---
|
|
||||||
macro set_events_mask mask
|
|
||||||
{
|
|
||||||
;mov eax,40
|
|
||||||
push 40
|
|
||||||
pop eax
|
|
||||||
;mov ebx,mask
|
|
||||||
push mask
|
|
||||||
pop ebx
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ଠ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro get_procinfo proc_inf_buf,slot_num
|
|
||||||
{
|
|
||||||
;mov eax,9
|
|
||||||
push 9
|
|
||||||
pop eax
|
|
||||||
;mov ebx,proc_inf_buf
|
|
||||||
push proc_inf_buf
|
|
||||||
pop ebx
|
|
||||||
if <slot_num> eq <>
|
|
||||||
xor ecx,ecx
|
|
||||||
dec ecx
|
|
||||||
else
|
|
||||||
;mov ecx,slot_num
|
|
||||||
push slot_num
|
|
||||||
pop ecx
|
|
||||||
end if
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro get_sys_colors col_buf
|
|
||||||
{
|
|
||||||
;mov eax,48
|
|
||||||
push 48
|
|
||||||
pop eax
|
|
||||||
;mov ebx,3
|
|
||||||
push 3
|
|
||||||
pop ebx
|
|
||||||
;mov ecx,col_buf
|
|
||||||
push col_buf
|
|
||||||
pop ecx
|
|
||||||
;mov edx,40
|
|
||||||
push 40
|
|
||||||
pop edx
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro get_grab_area
|
|
||||||
{
|
|
||||||
movr eax,48
|
|
||||||
movr ebx,7
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro get_skin_height
|
|
||||||
{
|
|
||||||
movr eax,48
|
|
||||||
movr ebx,4
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro min_window
|
|
||||||
{
|
|
||||||
movr eax,18
|
|
||||||
movr ebx,10
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro activ_window slot_n
|
|
||||||
{
|
|
||||||
movr eax,18
|
|
||||||
movr ebx,3
|
|
||||||
if <slot_n> eq <>
|
|
||||||
else
|
|
||||||
movr ecx,slot_n
|
|
||||||
end if
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro get_active_window
|
|
||||||
{
|
|
||||||
movr eax,18
|
|
||||||
movr ebx,7
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro delay time
|
|
||||||
{
|
|
||||||
movr eax,5
|
|
||||||
if <time> eq <>
|
|
||||||
else
|
|
||||||
movr ebx,time
|
|
||||||
end if
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
macro wait_event redraw,key,button,mouse,ipc,other
|
|
||||||
{
|
|
||||||
movr eax,10
|
|
||||||
int 0x40
|
|
||||||
dec ax
|
|
||||||
if <redraw> eq <>
|
|
||||||
else
|
|
||||||
jz redraw
|
|
||||||
end if
|
|
||||||
dec ax
|
|
||||||
if <key> eq <>
|
|
||||||
else
|
|
||||||
jz key
|
|
||||||
end if
|
|
||||||
dec ax
|
|
||||||
if <button> eq <>
|
|
||||||
else
|
|
||||||
jz button
|
|
||||||
end if
|
|
||||||
dec ax
|
|
||||||
dec ax
|
|
||||||
dec ax
|
|
||||||
if <mouse> eq <>
|
|
||||||
else
|
|
||||||
jz mouse
|
|
||||||
end if
|
|
||||||
if <ipc> eq <>
|
|
||||||
else
|
|
||||||
dec ax
|
|
||||||
jz ipc
|
|
||||||
end if
|
|
||||||
if <other> eq <>
|
|
||||||
jmp still
|
|
||||||
else
|
|
||||||
jmp other
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>࠭<EFBFBD> ---
|
|
||||||
macro get_screen_size
|
|
||||||
{
|
|
||||||
movr eax,14
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
macro get_screen_prop struc_ptr
|
|
||||||
{
|
|
||||||
movr eax,61
|
|
||||||
push eax eax
|
|
||||||
xor ebx,ebx
|
|
||||||
inc ebx
|
|
||||||
int 0x40
|
|
||||||
mov [struc_ptr],eax
|
|
||||||
pop eax
|
|
||||||
inc ebx
|
|
||||||
int 0x40
|
|
||||||
mov [struc_ptr+4],ax
|
|
||||||
pop eax
|
|
||||||
inc ebx
|
|
||||||
int 0x40
|
|
||||||
mov [struc_ptr+6],eax
|
|
||||||
}
|
|
||||||
|
|
||||||
macro resize_mem mem_size
|
|
||||||
{
|
|
||||||
movr eax,64
|
|
||||||
xor ebx,ebx
|
|
||||||
inc ebx
|
|
||||||
if <mem_size> eq <>
|
|
||||||
else
|
|
||||||
movr ecx,mem_size
|
|
||||||
end if
|
|
||||||
int 0x40
|
|
||||||
}
|
|
||||||
|
|
||||||
evm_redraw equ 1
|
|
||||||
evm_key equ 10b
|
|
||||||
evm_button equ 100b
|
|
||||||
evm_mouse equ 100000b
|
|
||||||
evm_ipc equ 1000000b
|
|
||||||
|
|
||||||
struc procinfo
|
|
||||||
{
|
|
||||||
.takts_per_second: dd ?
|
|
||||||
.window_stack_pos: dw ?
|
|
||||||
.slot_number: dw ?
|
|
||||||
dw ?
|
|
||||||
.name: rb 11
|
|
||||||
.align: db ?
|
|
||||||
.addres: dd ?
|
|
||||||
.use_mem: dd ?
|
|
||||||
.pid: dd ?
|
|
||||||
.left: dd ?
|
|
||||||
.top: dd ?
|
|
||||||
.width: dd ?
|
|
||||||
.height: dd ?
|
|
||||||
.slot_state: dw ?
|
|
||||||
rb (1024-56)
|
|
||||||
}
|
|
||||||
|
|
||||||
struc sys_color_table
|
|
||||||
{
|
|
||||||
.frames: dd ? ;+0
|
|
||||||
.grab: dd ? ;+4
|
|
||||||
.grab_button: dd ? ;+8
|
|
||||||
.grab_button_text: dd ? ;+12
|
|
||||||
.grab_text: dd ? ;+16
|
|
||||||
.work: dd ? ;+20
|
|
||||||
.work_button: dd ?;+24
|
|
||||||
.work_button_text: dd ? ;+28
|
|
||||||
.work_text: dd ? ;+32
|
|
||||||
.work_graph: dd ? ;+36
|
|
||||||
}
|
|
||||||
|
|
||||||
struc screen_size
|
|
||||||
{
|
|
||||||
.height: dw ?
|
|
||||||
.width: dw ?
|
|
||||||
}
|
|
||||||
|
|
||||||
struc screen_prop
|
|
||||||
{
|
|
||||||
.height: dw ? ;+0
|
|
||||||
.width: dw ? ;+2
|
|
||||||
.bitspp: dw ? ;+4
|
|
||||||
.bytesps: dd ?;+6
|
|
||||||
}
|
|
||||||
|
|
||||||
struc ipc_buffer size
|
|
||||||
{
|
|
||||||
.block: dd ?
|
|
||||||
.in_use: dd ?
|
|
||||||
.messages: rb size
|
|
||||||
}
|
|
||||||
|
|
||||||
;--- 梥<EFBFBD><EFBFBD> ---
|
|
||||||
cl_white=0xffffff
|
|
||||||
cl_black=0x000000
|
|
||||||
|
|
||||||
;==============================================================================
|
|
||||||
;============== <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD> =====================================================
|
|
||||||
;==============================================================================
|
|
@@ -1,3 +1,7 @@
|
|||||||
|
<Lrz> - <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj.
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE><EFBFBD> Mario79, <20><> ᮢ<><E1AEA2><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> subrutine <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>쭥<EFBFBD>襣<EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD> HDD.
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC>: <20><><EFBFBD><EFBFBD>客 <20><><EFBFBD>ᨬ (Maxxxx32)
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC>: <20><><EFBFBD><EFBFBD>客 <20><><EFBFBD>ᨬ (Maxxxx32)
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><EFBFBD><EFBFBD>:
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ﭮ<EFBFBD><EFADAE> (Mario79) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᮢ<><E1AEA2><EFBFBD>, <20><><EFBFBD>⨪<EFBFBD>;
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ﭮ<EFBFBD><EFADAE> (Mario79) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᮢ<><E1AEA2><EFBFBD>, <20><><EFBFBD>⨪<EFBFBD>;
|
||||||
|
@@ -1,208 +1,203 @@
|
|||||||
save_file:
|
save_file:
|
||||||
pusha
|
pusha
|
||||||
bt dword [flags],0
|
bt dword [flags],0
|
||||||
jnc .not_shooted
|
jnc .not_shooted
|
||||||
|
|
||||||
cmp byte [ed_buffer.1],0
|
cmp byte [ed_buffer.1],0
|
||||||
je .no_file_name
|
je .no_file_name
|
||||||
|
|
||||||
mov edi,sign_n_input
|
mov edi,sign_n_input
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
mov [sign_n],al
|
mov [sign_n],al
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ecx,1056
|
mov ecx,1056
|
||||||
mov edi,file_name
|
mov edi,file_name
|
||||||
rep stosb ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD>ﬨ
|
rep stosb ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD>ﬨ
|
||||||
|
|
||||||
mov esi,ed_buffer.1
|
mov esi,ed_buffer.1
|
||||||
mov edi,file_name
|
mov edi,file_name
|
||||||
.next:
|
.next:
|
||||||
mov ah,[esi]
|
mov ah,[esi]
|
||||||
test ah,ah
|
test ah,ah
|
||||||
jz .str_end
|
jz .str_end
|
||||||
cmp ah,'*'
|
cmp ah,'*'
|
||||||
jne .no_insert_number
|
jne .no_insert_number
|
||||||
jmp .insert_number
|
jmp .insert_number
|
||||||
.no_insert_number:
|
.no_insert_number:
|
||||||
mov [edi],ah
|
mov [edi],ah
|
||||||
inc edi
|
inc edi
|
||||||
inc esi
|
inc esi
|
||||||
jmp .next
|
jmp .next
|
||||||
.insert_number:
|
.insert_number:
|
||||||
bt word [ch6.flags],1
|
bt word [ch6.flags],1
|
||||||
jnc @f
|
jnc @f
|
||||||
mov eax,[cur_number]
|
mov eax,[cur_number]
|
||||||
;mov ebx,4
|
;mov ebx,4
|
||||||
movsx ebx,byte [sign_n]
|
movsx ebx,byte [sign_n]
|
||||||
push ebx
|
push ebx
|
||||||
call int_to_str
|
call int_to_str
|
||||||
pop ebx
|
pop ebx
|
||||||
add edi,ebx
|
add edi,ebx
|
||||||
@@:
|
@@:
|
||||||
inc esi
|
inc esi
|
||||||
jmp .next
|
jmp .next
|
||||||
.str_end:
|
.str_end:
|
||||||
|
|
||||||
|
;;;;clean memory
|
||||||
|
|
||||||
|
mov ecx,dword [sf_buf.bmp_header]
|
||||||
|
mov ebx,13
|
||||||
|
mov eax,68
|
||||||
|
mcall
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞, <EFBFBD>쪮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>㦭<EFBFBD> <EFBFBD>ਡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>,
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞, <EFBFBD>쪮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>㦭<EFBFBD> <EFBFBD>ਡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>,
|
||||||
; <EFBFBD>⮡<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뫠 <EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
; <EFBFBD>⮡<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뫠 <EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <EFBFBD> edi.
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <EFBFBD> edi.
|
||||||
xor edx,edx
|
|
||||||
movzx eax,word [scr_buf.width] ; eax = <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
xor edx,edx
|
||||||
lea eax,[eax*3] ; eax = <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
movzx eax,word [scr_buf.width] ; eax = <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||||
movr ebx,4 ; ebx = 4
|
lea eax,[eax*3] ; eax = <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||||
mov edi,ebx ; edi = 4
|
mov ebx,4 ; ebx = 4
|
||||||
div ebx ; eax = <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> div 4 edx = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>... mod 4
|
mov edi,ebx ; edi = 4
|
||||||
sub edi,edx ; edi = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
div ebx ; eax = <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> div 4 edx = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>... mod 4
|
||||||
test edx,edx
|
sub edi,edx ; edi = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jnz @f
|
test edx,edx
|
||||||
xor edi,edi
|
jnz @f
|
||||||
|
xor edi,edi
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
; <EFBFBD>뤥<EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <EFBFBD>뤥<EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov ecx,[scr_buf.end_ptr]
|
; mov ecx,[scr_buf.end_ptr]
|
||||||
mov [sf_buf.bmp_header],ecx
|
; mov [sf_buf.bmp_header],ecx
|
||||||
add ecx,0x36
|
|
||||||
mov [sf_buf.bmp_area],ecx
|
|
||||||
movsx ebx,word [scr_buf.width]
|
|
||||||
movsx edx,word [scr_buf.height]
|
|
||||||
;imul ebx,edx
|
|
||||||
lea ebx,[ebx*3]
|
|
||||||
add ebx,edi
|
|
||||||
imul ebx,edx
|
|
||||||
add ecx,ebx
|
|
||||||
mov [sf_buf.end],ecx
|
|
||||||
add ecx,4096
|
|
||||||
xor ebx,ebx
|
|
||||||
inc ebx
|
|
||||||
movr eax,64
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
push edi
|
; add ecx,0x36
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
; mov [sf_buf.bmp_area],ecx
|
||||||
mov edi,fs_struc
|
movsx ebx,word [scr_buf.width]
|
||||||
mov [edi],dword 2
|
movsx edx,word [scr_buf.height]
|
||||||
mov eax,[sf_buf.bmp_header]
|
;imul ebx,edx
|
||||||
mov ebx,[sf_buf.end]
|
lea ebx,[ebx*3]
|
||||||
sub ebx,eax
|
add ebx,edi
|
||||||
mov [edi+12],ebx
|
imul ebx,edx
|
||||||
mov [edi+16],eax
|
mov ecx,ebx
|
||||||
mov [edi+21],dword file_name
|
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bmp
|
; mov [sf_buf.end],ecx
|
||||||
mov edi,[sf_buf.bmp_header]
|
add ecx,0x36
|
||||||
mov [edi],word 'BM'
|
mov ebx,12
|
||||||
mov ebx,[sf_buf.end]
|
mov eax,68
|
||||||
sub ebx,[sf_buf.bmp_area]
|
mcall
|
||||||
mov [edi+34],ebx ; ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
|
||||||
mov [edi+10],dword 0x36 ; ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add ebx,0x36
|
|
||||||
mov [edi+2],ebx ; ࠧ<EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
|
||||||
mov [edi+14],dword 0x28
|
|
||||||
movzx eax,word [scr_buf.width]
|
|
||||||
mov [edi+18],eax ; <EFBFBD><EFBFBD>ਧ<EFBFBD><EFBFBD>⠫<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
movzx eax,word [scr_buf.height]
|
|
||||||
mov [edi+22],eax ; <EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov [edi+26],word 1
|
|
||||||
mov [edi+28],word 24
|
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD> <EFBFBD><EFBFBD>ॢ<EFBFBD><EFBFBD><EFBFBD>稢<EFBFBD><EFBFBD><EFBFBD>
|
mov [sf_buf.bmp_header],eax
|
||||||
; mov esi,[scr_buf.ptr]
|
add eax,0x36
|
||||||
; mov edi,[sf_buf.bmp_area]
|
mov [sf_buf.bmp_area],eax
|
||||||
; mov edx,[sf_buf.end]
|
add eax,ecx
|
||||||
; sub edx,edi
|
sub eax,0x36
|
||||||
; movsx ecx,word [scr_buf.height]
|
mov [sf_buf.end],eax
|
||||||
;.next_str:
|
|
||||||
;push ecx
|
|
||||||
;
|
|
||||||
; movsx ecx,word [scr_buf.width]
|
|
||||||
; lea ecx,[ecx*3]
|
|
||||||
; mov ebx,ecx
|
|
||||||
;.next_byte:
|
|
||||||
; mov ah,[esi+ebx]
|
|
||||||
; mov [edi+edx],ah
|
|
||||||
; dec ebx
|
|
||||||
; dec edx
|
|
||||||
; loop .next_byte
|
|
||||||
; movsx ecx,word [scr_buf.width]
|
|
||||||
; lea ecx,[ecx*3]
|
|
||||||
; add esi,ecx
|
|
||||||
;pop ecx
|
|
||||||
; loop .next_str
|
|
||||||
|
|
||||||
mov esi,[scr_buf.end_ptr]
|
; push edi
|
||||||
mov edi,[sf_buf.bmp_area]
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||||
movzx ecx,word [scr_buf.height]
|
mov ebp,fs_struc
|
||||||
movzx ebx,word [scr_buf.width]
|
mov [ebp],dword 2
|
||||||
lea ebx,[ebx*3]
|
|
||||||
add edi,ebx
|
mov eax,[sf_buf.bmp_header]
|
||||||
|
mov ebx,[sf_buf.end]
|
||||||
|
sub ebx,eax
|
||||||
|
mov [ebp+12],ebx
|
||||||
|
mov [ebp+16],eax
|
||||||
|
mov [ebp+21],dword file_name
|
||||||
|
|
||||||
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bmp
|
||||||
|
mov ebp,[sf_buf.bmp_header]
|
||||||
|
mov [ebp],word 'BM'
|
||||||
|
mov ebx,[sf_buf.end]
|
||||||
|
sub ebx,[sf_buf.bmp_area]
|
||||||
|
mov [ebp+34],ebx ; ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||||
|
mov [ebp+10],dword 0x36 ; ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
add ebx,0x36
|
||||||
|
mov [ebp+2],ebx ; ࠧ<EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||||
|
mov [ebp+14],dword 0x28
|
||||||
|
movzx eax,word [scr_buf.width]
|
||||||
|
mov [ebp+18],eax ; <EFBFBD><EFBFBD>ਧ<EFBFBD><EFBFBD>⠫<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
movzx eax,word [scr_buf.height]
|
||||||
|
mov [ebp+22],eax ; <EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov [ebp+26],word 1
|
||||||
|
mov [ebp+28],word 24
|
||||||
|
|
||||||
|
; <EFBFBD><EFBFBD><EFBFBD>࠭塞
|
||||||
|
mov esi,[scr_buf.ptr]
|
||||||
|
mov edi,[sf_buf.end]
|
||||||
|
movzx edx,word [scr_buf.height]
|
||||||
|
movzx ebx,word [scr_buf.width]
|
||||||
|
lea ebx,[ebx*3]
|
||||||
|
|
||||||
|
test ebx,11b
|
||||||
|
jz @f
|
||||||
|
shr ebx,2
|
||||||
|
inc ebx
|
||||||
|
shl ebx,2
|
||||||
|
@@:
|
||||||
|
cld
|
||||||
|
align 4
|
||||||
.next_str:
|
.next_str:
|
||||||
mov edx,ebx
|
sub edi,ebx
|
||||||
.next_pixel:
|
mov ecx,ebx
|
||||||
mov ah,[esi]
|
shr ecx,2
|
||||||
mov [edi],ah
|
rep movsd
|
||||||
dec esi
|
sub edi,ebx
|
||||||
dec edi
|
dec edx
|
||||||
dec edx
|
jnz .next_str
|
||||||
jnz .next_pixel
|
|
||||||
lea edi,[2*ebx+edi]
|
|
||||||
add edi,[esp]
|
|
||||||
loop .next_str
|
|
||||||
|
|
||||||
pop edi
|
draw_status saving
|
||||||
|
mov eax,70
|
||||||
|
mov ebx,fs_struc
|
||||||
|
mcall
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD>࠭塞
|
test eax,eax
|
||||||
draw_status saving
|
jne save_error
|
||||||
mov eax,70
|
|
||||||
mov ebx,fs_struc
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
test eax,eax
|
inc dword [cur_number]
|
||||||
jne save_error
|
call draw_number
|
||||||
|
|
||||||
inc dword [cur_number]
|
draw_status saved_ok
|
||||||
call draw_number
|
|
||||||
|
|
||||||
draw_status saved_ok
|
|
||||||
|
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.no_file_name:
|
.no_file_name:
|
||||||
draw_status no_file_name
|
draw_status no_file_name
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.not_shooted:
|
.not_shooted:
|
||||||
draw_status not_shooted
|
draw_status not_shooted
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
|
|
||||||
save_error:
|
save_error:
|
||||||
cmp al,5
|
cmp al,5
|
||||||
jne @f
|
jne @f
|
||||||
mov [status.text],dword bad_file_name
|
mov [status.text],dword bad_file_name
|
||||||
@@:
|
@@:
|
||||||
cmp al,8
|
cmp al,8
|
||||||
jne @f
|
jne @f
|
||||||
mov [status.text],dword disk_filled
|
mov [status.text],dword disk_filled
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,9
|
cmp al,9
|
||||||
jne @f
|
jne @f
|
||||||
mov [status.text],dword bad_fat_table
|
mov [status.text],dword bad_fat_table
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,10
|
cmp al,10
|
||||||
jne @f
|
jne @f
|
||||||
mov [status.text],dword ac_den
|
mov [status.text],dword ac_den
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,11
|
cmp al,11
|
||||||
jne @f
|
jne @f
|
||||||
mov [status.text],dword device_er
|
mov [status.text],dword device_er
|
||||||
@@:
|
@@:
|
||||||
call send_draw_status
|
call send_draw_status
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
@@ -1,29 +1,60 @@
|
|||||||
|
; 01.06.09 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> <Lrz>
|
||||||
; <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD><EFBFBD>客 <20><><EFBFBD>ᨬ (Maxxxx32)
|
; <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD><EFBFBD>客 <20><><EFBFBD>ᨬ (Maxxxx32)
|
||||||
; 24.07.2008 <Lrz> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox
|
; 24.07.2008 <Lrz> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox
|
||||||
; 01.02.07 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox
|
; 01.02.07 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox
|
||||||
; 31.01.07 - <20><><EFBFBD> ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; 31.01.07 - <20><><EFBFBD> ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
macro draw_status text_ptr
|
|
||||||
{
|
|
||||||
mov [status.text],dword text_ptr
|
|
||||||
call send_draw_status
|
|
||||||
}
|
|
||||||
|
|
||||||
|
title equ 'Screenshooter v 0.91' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
include '../../develop/libraries/box_lib/trunk/load_lib.mac'
|
||||||
|
include '../../develop/libraries/box_lib/trunk/editbox_ex.mac'
|
||||||
|
;include '../../develop/examples/editbox/trunk/editbox.inc'
|
||||||
|
include '../../macros.inc'
|
||||||
|
include 'scrshoot.mac'
|
||||||
|
include 'txtbut.inc'
|
||||||
|
include 'label.inc'
|
||||||
|
include 'textwork.inc'
|
||||||
|
|
||||||
title equ 'Screenshooter v 0.9' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;include 'macros.inc' ; <20><>⠢<EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
include 'macros.inc' ; <20><>⠢<EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; meos_header cmdstr ; <20><>⠢<EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
meos_header cmdstr ; <20><>⠢<EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
use32
|
||||||
|
org 0x0
|
||||||
|
db 'MENUET01'
|
||||||
|
dd 0x1
|
||||||
|
dd start
|
||||||
|
dd i_end
|
||||||
|
dd i_end
|
||||||
|
dd i_end
|
||||||
|
dd cmdstr
|
||||||
|
dd cur_dir_path
|
||||||
|
|
||||||
|
align 4
|
||||||
include 'scrwin.inc' ; <20><>⠢<EFBFBD>塞 <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>य<EFBFBD><E0A4AF>ᬮ<EFBFBD><E1ACAE><EFBFBD>
|
include 'scrwin.inc' ; <20><>⠢<EFBFBD>塞 <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>य<EFBFBD><E0A4AF>ᬮ<EFBFBD><E1ACAE><EFBFBD>
|
||||||
include 'scrsavef.inc'; <20><>⠢<EFBFBD>塞 <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
include 'scrsavef.inc'; <20><>⠢<EFBFBD>塞 <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
use_edit_box ; \
|
|
||||||
|
@use_library
|
||||||
use_txt_button ; |
|
use_txt_button ; |
|
||||||
use_label ; |-- GUI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>
|
use_label ; |-- GUI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>
|
||||||
use_check_box ; |
|
|
||||||
use_text_work ; /
|
use_text_work ; /
|
||||||
include 'gp.inc'
|
include 'gp.inc'
|
||||||
include 'srectwin.inc'
|
include 'srectwin.inc'
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
;--- <20><>砫<EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> ---
|
;--- <20><>砫<EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> ---
|
||||||
app_start
|
align 4
|
||||||
|
start:
|
||||||
|
sys_load_library library_name, cur_dir_path, library_path, system_path, \
|
||||||
|
err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
|
||||||
|
;if return code =-1 then exit, else nornary work
|
||||||
|
; cmp eax,-1
|
||||||
|
inc eax
|
||||||
|
test eax,eax
|
||||||
|
jz close
|
||||||
|
;;;;;;;;;;;;;;;; init memory 68/11
|
||||||
|
mov eax,68
|
||||||
|
mov ebx,11
|
||||||
|
mcall
|
||||||
|
test eax,eax
|
||||||
|
jz close
|
||||||
|
|
||||||
;mov al,[gs:1280*4*1024]
|
;mov al,[gs:1280*4*1024]
|
||||||
; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
push 60
|
push 60
|
||||||
@@ -33,7 +64,7 @@ include 'lang.inc'
|
|||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,app_ipc
|
mov ecx,app_ipc
|
||||||
mov edx,32
|
mov edx,32
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
push 66 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
push 66 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
pop eax
|
pop eax
|
||||||
@@ -41,7 +72,7 @@ include 'lang.inc'
|
|||||||
mov ebx,4
|
mov ebx,4
|
||||||
mov cl,55 ; 55 - PrintScrn
|
mov cl,55 ; 55 - PrintScrn
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov ebx,app
|
mov ebx,app
|
||||||
call get_slot_n
|
call get_slot_n
|
||||||
@@ -75,7 +106,19 @@ key:
|
|||||||
call shoot
|
call shoot
|
||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
key_edit_boxes editboxes,editboxes_end
|
; key_edit_boxes editboxes,editboxes_end
|
||||||
|
push dword edit1
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
|
push dword edit2
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
|
push dword edit3
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
|
push dword edit4
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
button:
|
button:
|
||||||
get_pressed_button
|
get_pressed_button
|
||||||
@@ -87,8 +130,33 @@ mouse:
|
|||||||
get_active_window
|
get_active_window
|
||||||
cmp eax,[slot_n]
|
cmp eax,[slot_n]
|
||||||
jne still
|
jne still
|
||||||
mouse_check_boxes check_boxes,check_boxes_end
|
;----------------------------------
|
||||||
mouse_edit_boxes editboxes,editboxes_end
|
push dword edit1
|
||||||
|
call [edit_box_mouse]
|
||||||
|
push dword edit2
|
||||||
|
call [edit_box_mouse]
|
||||||
|
push dword edit3
|
||||||
|
call [edit_box_mouse]
|
||||||
|
push dword edit4
|
||||||
|
call [edit_box_mouse]
|
||||||
|
;----------------------------------
|
||||||
|
push dword ch1
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword ch2
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword ch3
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword ch4
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword ch5
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword ch6
|
||||||
|
call [check_box_mouse]
|
||||||
|
push dword use_rect
|
||||||
|
call [check_box_mouse]
|
||||||
|
;-----------------------------------
|
||||||
|
; mouse_check_boxes check_boxes,check_boxes_end
|
||||||
|
; mouse_edit_boxes editboxes,editboxes_end
|
||||||
jmp still
|
jmp still
|
||||||
ipc:
|
ipc:
|
||||||
cmp word [app_ipc+8],2
|
cmp word [app_ipc+8],2
|
||||||
@@ -103,7 +171,7 @@ ipc:
|
|||||||
.clear_ipc:
|
.clear_ipc:
|
||||||
cld
|
cld
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
movr ecx,32
|
mov ecx,32
|
||||||
mov edi,app_ipc
|
mov edi,app_ipc
|
||||||
rep stosb
|
rep stosb
|
||||||
jmp still
|
jmp still
|
||||||
@@ -113,10 +181,10 @@ p_close:
|
|||||||
|
|
||||||
bt dword [flags],3
|
bt dword [flags],3
|
||||||
jnc @f
|
jnc @f
|
||||||
movr eax,18
|
mov eax,18
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
mov ecx,[set_rect_window_pid]
|
mov ecx,[set_rect_window_pid]
|
||||||
int 0x40
|
mcall
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
close:
|
close:
|
||||||
@@ -133,14 +201,14 @@ start_draw_window ;
|
|||||||
mov ecx,100*65536+220
|
mov ecx,100*65536+220
|
||||||
add cx,ax
|
add cx,ax
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
add edx,0x34000000;0x33000000
|
or edx,0x34000000;0x33000000
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
;xor edi,edi
|
;xor edi,edi
|
||||||
mov edi,grab_text
|
mov edi,grab_text
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
movr eax,47 ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD>
|
mov eax,47 ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD>
|
||||||
mov bx,4
|
mov bx,4
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
movsx ecx,word [scr.width] ; <20><>ਭ<EFBFBD> <20><>࠭<EFBFBD>
|
movsx ecx,word [scr.width] ; <20><>ਭ<EFBFBD> <20><>࠭<EFBFBD>
|
||||||
@@ -149,30 +217,58 @@ start_draw_window ;
|
|||||||
mov dx,[label1.top]
|
mov dx,[label1.top]
|
||||||
push dx
|
push dx
|
||||||
mov esi,[sc.work_text]
|
mov esi,[sc.work_text]
|
||||||
int 0x40
|
mcall
|
||||||
movsx ecx,word [scr.height] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>
|
movsx ecx,word [scr.height] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>
|
||||||
mov dx,[label2.top]
|
mov dx,[label2.top]
|
||||||
int 0x40
|
mcall
|
||||||
mov bx,2
|
mov bx,2
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
movsx ecx,word [scr.bitspp] ; <20><><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD>
|
movsx ecx,word [scr.bitspp] ; <20><><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||||
mov dx,240
|
mov dx,240
|
||||||
shl edx,16
|
shl edx,16
|
||||||
pop dx
|
pop dx
|
||||||
int 0x40
|
mcall
|
||||||
mov bx,6
|
mov bx,6
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov ecx,[scr.bytesps] ; <20><><EFBFBD><EFBFBD> <20><> <20><>ப<EFBFBD>
|
mov ecx,[scr.bytesps] ; <20><><EFBFBD><EFBFBD> <20><> <20><>ப<EFBFBD>
|
||||||
mov dx,[label2.top]
|
mov dx,[label2.top]
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
call draw_number ; <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
call draw_number ; <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
||||||
call dr_st
|
call dr_st
|
||||||
|
|
||||||
draw_labels labels,labels_end ; <20><>⪨
|
draw_labels labels,labels_end ; <20><>⪨
|
||||||
draw_edit_boxes editboxes,editboxes_end ; edit_box
|
; draw_edit_boxes editboxes,editboxes_end ; edit_box
|
||||||
|
;------ show check editbox -----------
|
||||||
|
push dword edit1
|
||||||
|
call [edit_box_draw]
|
||||||
|
push dword edit2
|
||||||
|
call [edit_box_draw]
|
||||||
|
push dword edit3
|
||||||
|
call [edit_box_draw]
|
||||||
|
push dword edit4
|
||||||
|
call [edit_box_draw]
|
||||||
|
;------ end check all editbox -------
|
||||||
|
|
||||||
draw_txt_buttons buttons,buttons_end ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
draw_txt_buttons buttons,buttons_end ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
draw_check_boxes check_boxes,check_boxes_end ; 䫠<><E4ABA0><EFBFBD>
|
; draw_check_boxes check_boxes,check_boxes_end ; 䫠<><E4ABA0><EFBFBD>
|
||||||
|
;------ check all checkbox ---------
|
||||||
|
push dword ch1
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword ch2
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword ch3
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword ch4
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword ch5
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword ch6
|
||||||
|
call [check_box_draw]
|
||||||
|
push dword use_rect
|
||||||
|
call [check_box_draw]
|
||||||
|
;------ end check all checkbox ------
|
||||||
|
|
||||||
stop_draw_window ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
stop_draw_window ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -231,7 +327,12 @@ ret
|
|||||||
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᭨<><E1ADA8><EFBFBD> ---
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᭨<><E1ADA8><EFBFBD> ---
|
||||||
get_mem_for_shoot:
|
get_mem_for_shoot:
|
||||||
mov [scr_buf.ptr],dword __app_end
|
;clean memory
|
||||||
|
mov ecx,dword [scr_buf.ptr]
|
||||||
|
mov ebx,13
|
||||||
|
mov eax,68
|
||||||
|
mcall
|
||||||
|
|
||||||
bt dword [use_rect.flags],1 ; <20><>⪠<EFBFBD><E2AAA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>
|
bt dword [use_rect.flags],1 ; <20><>⪠<EFBFBD><E2AAA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>
|
||||||
jc .use_area
|
jc .use_area
|
||||||
movzx ecx, word [scr.width]
|
movzx ecx, word [scr.width]
|
||||||
@@ -244,12 +345,13 @@ get_mem_for_shoot:
|
|||||||
@@:
|
@@:
|
||||||
imul ecx,ebx
|
imul ecx,ebx
|
||||||
lea ecx,[ecx*3]
|
lea ecx,[ecx*3]
|
||||||
add ecx,__app_end
|
; add ecx,i_end
|
||||||
|
mov ebx,12
|
||||||
|
mov eax,68
|
||||||
|
mcall
|
||||||
|
mov [scr_buf.ptr],eax
|
||||||
|
add eax,ecx
|
||||||
mov [scr_buf.end_ptr],ecx
|
mov [scr_buf.end_ptr],ecx
|
||||||
xor ebx,ebx
|
|
||||||
inc ebx
|
|
||||||
mov eax,64
|
|
||||||
int 0x40
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- ᮤ<><E1AEA4><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5><EFBFBD><EFBFBD>ᬮ<EFBFBD><E1ACAE><EFBFBD> ---
|
;--- ᮤ<><E1AEA4><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5><EFBFBD><EFBFBD>ᬮ<EFBFBD><E1ACAE><EFBFBD> ---
|
||||||
@@ -260,9 +362,9 @@ pusha
|
|||||||
mov eax,51
|
mov eax,51
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
movr ecx,scr_window
|
mov ecx,scr_window
|
||||||
mov edx,__app_end-1000
|
mov edx,i_end_tread-1000
|
||||||
int 0x40
|
mcall
|
||||||
@@:
|
@@:
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
@@ -280,14 +382,14 @@ draw_number:
|
|||||||
mov edi,sign_n_input
|
mov edi,sign_n_input
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
mov [sign_n],al
|
mov [sign_n],al
|
||||||
movr eax,13
|
mov eax,13
|
||||||
mov ebx,150*65536+96
|
mov ebx,150*65536+96
|
||||||
mov cx,[label9.top]
|
mov cx,[label9.top]
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,10
|
mov cx,10
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
int 0x40
|
mcall
|
||||||
movr eax,47
|
mov eax,47
|
||||||
movsx bx,byte [sign_n]
|
movsx bx,byte [sign_n]
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov ecx,[cur_number]
|
mov ecx,[cur_number]
|
||||||
@@ -295,20 +397,20 @@ draw_number:
|
|||||||
shl edx,16
|
shl edx,16
|
||||||
mov dx,[label9.top]
|
mov dx,[label9.top]
|
||||||
mov esi,[sc.work_text]
|
mov esi,[sc.work_text]
|
||||||
int 0x40
|
mcall
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>, <20><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD>ꥬ<EFBFBD><EAA5AC> ---
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>, <20><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD>ꥬ<EFBFBD><EAA5AC> ---
|
||||||
start_autoshoot:
|
start_autoshoot:
|
||||||
bts dword [flags],1
|
bts dword [flags],1
|
||||||
jc @f
|
jc @f
|
||||||
movr eax,51
|
mov eax,51
|
||||||
;mov ebx,1
|
;mov ebx,1
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,autoshoot
|
mov ecx,autoshoot
|
||||||
mov edx,__app_end-512
|
mov edx,i_end_tread-512
|
||||||
int 0x40
|
mcall
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -324,29 +426,29 @@ autoshoot:
|
|||||||
.next:
|
.next:
|
||||||
bt dword [flags],1
|
bt dword [flags],1
|
||||||
jnc close
|
jnc close
|
||||||
movr eax,60
|
mov eax,60
|
||||||
movr ebx,2
|
mov ebx,2
|
||||||
mov ecx,[app.pid]
|
mov ecx,[app.pid]
|
||||||
mov edx,messages.draw_number
|
mov edx,messages.draw_number
|
||||||
mov esi,2
|
mov esi,2
|
||||||
int 0x40
|
mcall
|
||||||
call shoot
|
call shoot
|
||||||
jmp autoshoot.next
|
jmp autoshoot.next
|
||||||
|
|
||||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> ---
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> ---
|
||||||
; (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><>⮪<EFBFBD><E2AEAA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
; (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><>⮪<EFBFBD><E2AEAA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||||
dr_st:
|
dr_st:
|
||||||
movr eax,38 ; <20><>१<EFBFBD><E0A5A7>
|
mov eax,38 ; <20><>१<EFBFBD><E0A5A7>
|
||||||
mov ebx,0*65536+310
|
mov ebx,0*65536+310
|
||||||
mov ecx,198*65536+198
|
mov ecx,198*65536+198
|
||||||
mov edx,[sc.work_graph]
|
mov edx,[sc.work_graph]
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
movr eax,13 ; <20><><EFBFBD><EFBFBD>᪠
|
mov eax,13 ; <20><><EFBFBD><EFBFBD>᪠
|
||||||
mov bx,310
|
mov bx,310
|
||||||
mov ecx,199*65536+15
|
mov ecx,199*65536+15
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov edi,status
|
mov edi,status
|
||||||
call draw_label
|
call draw_label
|
||||||
@@ -356,17 +458,17 @@ ret
|
|||||||
; <20>室 ebx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1024 <20><><EFBFBD><EFBFBD>
|
; <20>室 ebx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1024 <20><><EFBFBD><EFBFBD>
|
||||||
; <20><>室 ecx - <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE>
|
; <20><>室 ecx - <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE>
|
||||||
get_slot_n:
|
get_slot_n:
|
||||||
movr eax,9
|
mov eax,9
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
dec ecx
|
dec ecx
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov edx,[ebx+30]
|
mov edx,[ebx+30]
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
@@:
|
@@:
|
||||||
movr eax,9
|
mov eax,9
|
||||||
inc ecx
|
inc ecx
|
||||||
int 0x40
|
mcall
|
||||||
cmp [ebx+30],edx
|
cmp [ebx+30],edx
|
||||||
je @f
|
je @f
|
||||||
jmp @b
|
jmp @b
|
||||||
@@ -388,11 +490,11 @@ save_shoot:
|
|||||||
bt dword [flags],1
|
bt dword [flags],1
|
||||||
jc .running
|
jc .running
|
||||||
|
|
||||||
movr eax,51
|
mov eax,51
|
||||||
;mov ebx,1
|
;mov ebx,1
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
int 0x40
|
mcall
|
||||||
.running:
|
.running:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -402,12 +504,12 @@ one_shoot_thread:
|
|||||||
activ_window
|
activ_window
|
||||||
bt dword [ch1.flags],1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
bt dword [ch1.flags],1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
||||||
jnc @f
|
jnc @f
|
||||||
movr eax,60
|
mov eax,60
|
||||||
movr ebx,2
|
mov ebx,2
|
||||||
mov ecx,[app.pid]
|
mov ecx,[app.pid]
|
||||||
mov edx,messages.min_window
|
mov edx,messages.min_window
|
||||||
mov esi,2
|
mov esi,2
|
||||||
int 0x40
|
mcall
|
||||||
@@:
|
@@:
|
||||||
call shoot
|
call shoot
|
||||||
btr dword [flags],2
|
btr dword [flags],2
|
||||||
@@ -416,12 +518,12 @@ one_shoot_thread:
|
|||||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>, <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>, <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
||||||
; <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> ---
|
; <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> ---
|
||||||
send_draw_status:
|
send_draw_status:
|
||||||
movr eax,60
|
mov eax,60
|
||||||
movr ebx,2
|
mov ebx,2
|
||||||
mov ecx,[app.pid]
|
mov ecx,[app.pid]
|
||||||
mov edx,messages.draw_status
|
mov edx,messages.draw_status
|
||||||
mov esi,2
|
mov esi,2
|
||||||
int 0x40
|
mcall
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- <20><>⮪, <20><><EFBFBD>࠭<EFBFBD> 䠩<> ---
|
;--- <20><>⮪, <20><><EFBFBD>࠭<EFBFBD> 䠩<> ---
|
||||||
@@ -436,34 +538,34 @@ save_shoot_thread:
|
|||||||
show_set_rect_window:
|
show_set_rect_window:
|
||||||
bts dword [flags],3
|
bts dword [flags],3
|
||||||
jc @f
|
jc @f
|
||||||
movr eax,51
|
mov eax,51
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,set_rect_window
|
mov ecx,set_rect_window
|
||||||
mov edx,set_rect_window_esp
|
mov edx,set_rect_window_esp
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov [set_rect_window_pid],eax
|
mov [set_rect_window_pid],eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@:
|
@@:
|
||||||
movr eax,18
|
mov eax,18
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
mov ecx,[set_rect_window_pid]
|
mov ecx,[set_rect_window_pid]
|
||||||
int 0x40
|
mcall
|
||||||
btr dword [flags],3
|
btr dword [flags],3
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>ଠ樨 <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD> ---
|
;--- <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>ଠ樨 <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD> ---
|
||||||
get_active_window_info:
|
get_active_window_info:
|
||||||
movr eax,18
|
mov eax,18
|
||||||
movr ebx,7
|
mov ebx,7
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov ecx,eax
|
mov ecx,eax
|
||||||
movr eax,9
|
mov eax,9
|
||||||
mov ebx,active_app
|
mov ebx,active_app
|
||||||
int 0x40
|
mcall
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;====================================================================
|
;====================================================================
|
||||||
@@ -493,30 +595,30 @@ status label 5,201,0,no_shoot
|
|||||||
labels_end:
|
labels_end:
|
||||||
|
|
||||||
editboxes:
|
editboxes:
|
||||||
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,1024,ed_buffer.1,ed_focus ; <20><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>
|
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,ed_focus,10,10 ; <20><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>
|
||||||
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only ; <20><><EFBFBD><EFBFBD>প<EFBFBD>
|
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only,3,3 ; <20><><EFBFBD><EFBFBD>প<EFBFBD>
|
||||||
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only
|
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only ; <20><>⮭㬥<E2AEAD><E3ACA5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
|
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
|
||||||
editboxes_end:
|
editboxes_end:
|
||||||
|
|
||||||
buttons:
|
buttons:
|
||||||
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot ; ᤥ<><E1A4A5><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot ; ᤥ<><E1A4A5><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
||||||
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot ; <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot ; <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
||||||
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
||||||
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number ; <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number ; <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
buttons_end:
|
buttons_end:
|
||||||
|
|
||||||
check_boxes:
|
check_boxes:
|
||||||
ch1 check_box 5,105,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1) ; ᢥ<><E1A2A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
ch1 check_box 5,105,5,11,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1),ch_flag_en ; ᢥ<><E1A2A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
ch2 check_box 5,120,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2) ; <20><>⥬ ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD>
|
ch2 check_box 5,120,5,11,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2),ch_flag_en ; <20><>⥬ ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD>
|
||||||
ch3 check_box 145,105,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3) ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
ch3 check_box 145,105,5,11,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3),ch_flag_en ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD>
|
||||||
ch4 check_box 5,135,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4) ;
|
ch4 check_box 5,135,5,11,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4),ch_flag_en ; <20><><EFBFBD><EFBFBD>প<EFBFBD>
|
||||||
ch5 check_box 5,150,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
|
ch5 check_box 5,150,5,11,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
|
||||||
ch6 check_box 5,165,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6)
|
ch6 check_box 5,165,5,11,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6),ch_flag_en
|
||||||
use_rect check_box 145,150,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
use_rect check_box 145,150,5,11,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
; <20><>⮭㬥<E2AEAD><E3ACA5><EFBFBD><EFBFBD><EFBFBD>
|
; <20><>⮭㬥<E2AEAD><E3ACA5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
check_boxes_end:
|
check_boxes_end:
|
||||||
|
|
||||||
@@ -610,7 +712,7 @@ disk_filled db 'Disk is full',0
|
|||||||
bad_fat_table db 'FAT table destroyed',0
|
bad_fat_table db 'FAT table destroyed',0
|
||||||
ac_den db 'Access denied',0
|
ac_den db 'Access denied',0
|
||||||
device_er db 'Device error',0
|
device_er db 'Device error',0
|
||||||
not_shooted db 'Make photo !!!',0
|
not_shooted db 'Make a photo !!!',0
|
||||||
no_file_name db 'Enter file name !!!',0
|
no_file_name db 'Enter file name !!!',0
|
||||||
invalid_rect db 'Wrong area size',0
|
invalid_rect db 'Wrong area size',0
|
||||||
|
|
||||||
@@ -620,11 +722,14 @@ sign_n_input:
|
|||||||
db '2',0
|
db '2',0
|
||||||
|
|
||||||
app_ipc ipc_buffer 32
|
app_ipc ipc_buffer 32
|
||||||
|
align 4
|
||||||
|
|
||||||
mouse_flag: dd 0x0
|
mouse_flag: dd 0x0
|
||||||
structure_of_potock:
|
structure_of_potock:
|
||||||
rb 100
|
rb 100
|
||||||
|
|
||||||
|
align 4
|
||||||
|
|
||||||
cur_number dd ?
|
cur_number dd ?
|
||||||
|
|
||||||
sign_n db ?
|
sign_n db ?
|
||||||
@@ -656,6 +761,17 @@ sf_buf:
|
|||||||
set_rect_window_pid dd ?
|
set_rect_window_pid dd ?
|
||||||
set_rect_window_slot dd ?
|
set_rect_window_slot dd ?
|
||||||
|
|
||||||
|
align 4
|
||||||
|
|
||||||
|
ed_buffer:
|
||||||
|
.1: db '/sys/*.bmp',0
|
||||||
|
rb 287
|
||||||
|
.2: db '100',0
|
||||||
|
rb 6
|
||||||
|
.3: rb 10
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
rect_input_buffer:
|
rect_input_buffer:
|
||||||
.left rb 6
|
.left rb 6
|
||||||
.top rb 6
|
.top rb 6
|
||||||
@@ -664,10 +780,7 @@ rect_input_buffer:
|
|||||||
|
|
||||||
cmdstr rb 257
|
cmdstr rb 257
|
||||||
|
|
||||||
ed_buffer:
|
align 4
|
||||||
.1: rb 1025
|
|
||||||
.2: rb 10
|
|
||||||
.3: rb 10
|
|
||||||
|
|
||||||
file_name:
|
file_name:
|
||||||
rb 1058
|
rb 1058
|
||||||
@@ -679,11 +792,17 @@ rect:
|
|||||||
.height dw ?
|
.height dw ?
|
||||||
.width dw ?
|
.width dw ?
|
||||||
|
|
||||||
|
|
||||||
sc sys_color_table
|
sc sys_color_table
|
||||||
app procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
app procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
active_app procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
active_app procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
set_rect_window_procinfo procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
set_rect_window_procinfo procinfo ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
shoot_esp rb 512 ; <20>⥪ <20><>⮪<EFBFBD> <20><>⪠<EFBFBD><E2AAA0><EFBFBD>
|
shoot_esp rb 512 ; <20>⥪ <20><>⮪<EFBFBD> <20><>⪠<EFBFBD><E2AAA0><EFBFBD>
|
||||||
set_rect_window_esp rb 512 ; <20>⥪ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
set_rect_window_esp rb 512 ; <20>⥪ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
app_end ; <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
; app_end ; <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
|
align 4
|
||||||
|
cur_dir_path rb 4096
|
||||||
|
library_path rb 4096
|
||||||
|
i_end_tread:
|
||||||
|
rb 1024
|
||||||
|
align 4
|
||||||
|
i_end:
|
312
programs/media/scrshoot/scrshoot.mac
Normal file
312
programs/media/scrshoot/scrshoot.mac
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
;In this file content a macros need for compilation the scrshoot
|
||||||
|
evm_redraw equ 1
|
||||||
|
evm_key equ 10b
|
||||||
|
evm_button equ 100b
|
||||||
|
evm_mouse equ 100000b
|
||||||
|
evm_ipc equ 1000000b
|
||||||
|
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ---
|
||||||
|
macro draw_status text_ptr
|
||||||
|
{
|
||||||
|
mov [status.text],dword text_ptr
|
||||||
|
call send_draw_status
|
||||||
|
}
|
||||||
|
|
||||||
|
macro start_draw_window
|
||||||
|
{
|
||||||
|
;mov eax,12
|
||||||
|
push 12
|
||||||
|
pop eax
|
||||||
|
xor ebx,ebx
|
||||||
|
inc ebx
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ---
|
||||||
|
macro stop_draw_window
|
||||||
|
{
|
||||||
|
;mov eax,12
|
||||||
|
push 12
|
||||||
|
pop eax
|
||||||
|
;mov ebx,2
|
||||||
|
push 2
|
||||||
|
pop ebx
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
macro wait_event redraw,key,button,mouse,ipc,other
|
||||||
|
{
|
||||||
|
mov eax,10
|
||||||
|
mcall
|
||||||
|
dec ax
|
||||||
|
if <redraw> eq <>
|
||||||
|
else
|
||||||
|
jz redraw
|
||||||
|
end if
|
||||||
|
dec ax
|
||||||
|
if <key> eq <>
|
||||||
|
else
|
||||||
|
jz key
|
||||||
|
end if
|
||||||
|
dec ax
|
||||||
|
if <button> eq <>
|
||||||
|
else
|
||||||
|
jz button
|
||||||
|
end if
|
||||||
|
dec ax
|
||||||
|
dec ax
|
||||||
|
dec ax
|
||||||
|
if <mouse> eq <>
|
||||||
|
else
|
||||||
|
jz mouse
|
||||||
|
end if
|
||||||
|
if <ipc> eq <>
|
||||||
|
else
|
||||||
|
dec ax
|
||||||
|
jz ipc
|
||||||
|
end if
|
||||||
|
if <other> eq <>
|
||||||
|
jmp still
|
||||||
|
else
|
||||||
|
jmp other
|
||||||
|
end if
|
||||||
|
}
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
macro set_events_mask mask
|
||||||
|
{
|
||||||
|
;mov eax,40
|
||||||
|
push 40
|
||||||
|
pop eax
|
||||||
|
;mov ebx,mask
|
||||||
|
push mask
|
||||||
|
pop ebx
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
|
||||||
|
macro check_boxes_set_sys_color start,end,color_table
|
||||||
|
{
|
||||||
|
ch_left equ [edi] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
ch_top equ [edi+2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
ch_text_margin equ [edi+4] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ch_size equ [edi+8] ;12 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ch_color equ [edi+12] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||||
|
ch_border_color equ [edi+16] ; or [edi+4] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ch_text_color equ [edi+20];[edi+4] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ch_text_ptr equ [edi+24] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ch_text_length equ [edi+28]
|
||||||
|
ch_flags equ [edi+32] ;<3B><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
;ch_left equ [edi] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
;ch_top equ [edi+2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
;ch_color equ [edi+4] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||||
|
;ch_border_color equ [edi+8] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||||
|
;ch_text_color equ [edi+12] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
;ch_text_ptr equ [edi+16] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
;ch_text_length equ [edi+20] ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2^64 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
;ch_flags equ [edi+24] ;<3B><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ch_struc_size)
|
||||||
|
mov esi,color_table
|
||||||
|
@@:
|
||||||
|
push dword [esi+32]
|
||||||
|
pop dword ch_text_color
|
||||||
|
push dword [esi+36]
|
||||||
|
pop dword ch_border_color
|
||||||
|
add edi,ch_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
macro get_key
|
||||||
|
{
|
||||||
|
;mov eax,2
|
||||||
|
push 2
|
||||||
|
pop eax
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro edit_boxes_set_sys_color start,end,color_table
|
||||||
|
{
|
||||||
|
|
||||||
|
ed_focus_border_color equ [edi+20] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_blur_border_color equ [edi+24] ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
mov esi,color_table
|
||||||
|
@@:
|
||||||
|
mov eax,[esi+36]
|
||||||
|
mov ebx,[esi+20]
|
||||||
|
mov dword ed_focus_border_color,eax
|
||||||
|
shr bh,1
|
||||||
|
shr bl,1
|
||||||
|
shr ah,1
|
||||||
|
shr al,1
|
||||||
|
add ah,bh
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
ror ebx,16
|
||||||
|
shr bl,1
|
||||||
|
shr al,1
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
mov dword ed_blur_border_color,eax
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
macro get_pressed_button
|
||||||
|
{
|
||||||
|
;mov eax,17
|
||||||
|
push 17
|
||||||
|
pop eax
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro get_active_window
|
||||||
|
{
|
||||||
|
mov eax,18
|
||||||
|
mov ebx,7
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
macro get_procinfo proc_inf_buf,slot_num
|
||||||
|
{
|
||||||
|
;mov eax,9
|
||||||
|
push 9
|
||||||
|
pop eax
|
||||||
|
;mov ebx,proc_inf_buf
|
||||||
|
push proc_inf_buf
|
||||||
|
pop ebx
|
||||||
|
if <slot_num> eq <>
|
||||||
|
xor ecx,ecx
|
||||||
|
dec ecx
|
||||||
|
else
|
||||||
|
;mov ecx,slot_num
|
||||||
|
push slot_num
|
||||||
|
pop ecx
|
||||||
|
end if
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro get_sys_colors col_buf
|
||||||
|
{
|
||||||
|
;mov eax,48
|
||||||
|
push 48
|
||||||
|
pop eax
|
||||||
|
;mov ebx,3
|
||||||
|
push 3
|
||||||
|
pop ebx
|
||||||
|
;mov ecx,col_buf
|
||||||
|
push col_buf
|
||||||
|
pop ecx
|
||||||
|
;mov edx,40
|
||||||
|
push 40
|
||||||
|
pop edx
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro get_screen_prop struc_ptr
|
||||||
|
{
|
||||||
|
mov eax,61
|
||||||
|
push eax eax
|
||||||
|
xor ebx,ebx
|
||||||
|
inc ebx
|
||||||
|
mcall
|
||||||
|
mov [struc_ptr],eax
|
||||||
|
pop eax
|
||||||
|
inc ebx
|
||||||
|
mcall
|
||||||
|
mov [struc_ptr+4],ax
|
||||||
|
pop eax
|
||||||
|
inc ebx
|
||||||
|
mcall
|
||||||
|
mov [struc_ptr+6],eax
|
||||||
|
}
|
||||||
|
macro min_window
|
||||||
|
{
|
||||||
|
mov eax,18
|
||||||
|
mov ebx,10
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro app_close
|
||||||
|
{
|
||||||
|
or eax,-1
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro get_skin_height
|
||||||
|
{
|
||||||
|
mov eax,48
|
||||||
|
mov ebx,4
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro delay time
|
||||||
|
{
|
||||||
|
mov eax,5
|
||||||
|
if <time> eq <>
|
||||||
|
else
|
||||||
|
mov ebx,time
|
||||||
|
end if
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
macro activ_window slot_n
|
||||||
|
{
|
||||||
|
mov eax,18
|
||||||
|
mov ebx,3
|
||||||
|
if <slot_n> eq <>
|
||||||
|
else
|
||||||
|
mov ecx,slot_n
|
||||||
|
end if
|
||||||
|
mcall
|
||||||
|
}
|
||||||
|
struc screen_prop
|
||||||
|
{
|
||||||
|
.height: dw ? ;+0
|
||||||
|
.width: dw ? ;+2
|
||||||
|
.bitspp: dw ? ;+4
|
||||||
|
.bytesps: dd ?;+6
|
||||||
|
}
|
||||||
|
struc sys_color_table
|
||||||
|
{
|
||||||
|
.frames: dd ? ;+0
|
||||||
|
.grab: dd ? ;+4
|
||||||
|
.grab_button: dd ? ;+8
|
||||||
|
.grab_button_text: dd ? ;+12
|
||||||
|
.grab_text: dd ? ;+16
|
||||||
|
.work: dd ? ;+20
|
||||||
|
.work_button: dd ?;+24
|
||||||
|
.work_button_text: dd ? ;+28
|
||||||
|
.work_text: dd ? ;+32
|
||||||
|
.work_graph: dd ? ;+36
|
||||||
|
}
|
||||||
|
struc procinfo
|
||||||
|
{
|
||||||
|
.takts_per_second: dd ?
|
||||||
|
.window_stack_pos: dw ?
|
||||||
|
.slot_number: dw ?
|
||||||
|
dw ?
|
||||||
|
.name: rb 11
|
||||||
|
.align: db ?
|
||||||
|
.addres: dd ?
|
||||||
|
.use_mem: dd ?
|
||||||
|
.pid: dd ?
|
||||||
|
.left: dd ?
|
||||||
|
.top: dd ?
|
||||||
|
.width: dd ?
|
||||||
|
.height: dd ?
|
||||||
|
.slot_state: dw ?
|
||||||
|
rb (1024-56)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struc ipc_buffer size
|
||||||
|
{
|
||||||
|
.block: dd ?
|
||||||
|
.in_use: dd ?
|
||||||
|
.messages: rb size
|
||||||
|
}
|
||||||
|
|
||||||
|
;--- 梥<><E6A2A5> ---
|
||||||
|
cl_white=0xffffff
|
||||||
|
cl_black=0x000000
|
||||||
|
|
||||||
|
ch_struc_size=36
|
@@ -4,38 +4,39 @@
|
|||||||
scr_window:
|
scr_window:
|
||||||
.start:
|
.start:
|
||||||
.red:
|
.red:
|
||||||
call .draw_window
|
call .draw_window
|
||||||
.still:
|
.still:
|
||||||
wait_event .red,close
|
wait_event .red,close
|
||||||
jmp .still
|
jmp .still
|
||||||
|
|
||||||
.draw_window:
|
.draw_window:
|
||||||
start_draw_window
|
start_draw_window
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
movsx ebx,word [scr.width]
|
movsx ebx,word [scr.width]
|
||||||
movsx ecx,word [scr.height]
|
movsx ecx,word [scr.height]
|
||||||
;xor edx,edx
|
;xor edx,edx
|
||||||
mov edx,0x01000000
|
mov edx,0x01000000
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
xor edi,edi
|
xor edi,edi
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
movr eax,7
|
mov eax,7
|
||||||
mov ebx,[scr_buf.ptr]
|
mov ebx,dword [scr_buf.ptr]
|
||||||
mov ecx,[scr_buf.size]
|
mov ecx,dword [scr_buf.size]
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
movr eax,13
|
mov eax,13
|
||||||
mov ebx,19*65536+231
|
mov ebx,19*65536+231
|
||||||
mov ecx,19*65536+10
|
mov ecx,19*65536+10
|
||||||
mov edx,0x00FF00
|
mov edx,0x00FF00
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
mov edi,.label
|
mov edi,.label
|
||||||
call draw_label
|
call draw_label
|
||||||
|
|
||||||
stop_draw_window
|
stop_draw_window
|
||||||
ret
|
ret
|
||||||
.label label 20,20,0x80000000,$+4
|
.label label 20,20,0x80000000,$+4
|
||||||
db '<27><><EFBFBD> <20><><EFBFBD> ᭨<><E1ADA8><EFBFBD>. <20><>室 - <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.',0
|
db '<27><><EFBFBD> <20><><EFBFBD> ᭨<><E1ADA8><EFBFBD>. <20><>室 - <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.',0
|
||||||
|
|
||||||
|
@@ -1,190 +1,273 @@
|
|||||||
set_rect_window:
|
set_rect_window:
|
||||||
mov ebx,set_rect_window_procinfo
|
mov ebx,set_rect_window_procinfo
|
||||||
call get_slot_n
|
call get_slot_n
|
||||||
|
|
||||||
mov [set_rect_window_slot],ecx
|
mov [set_rect_window_slot],ecx
|
||||||
|
|
||||||
set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse)
|
set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse)
|
||||||
.red:
|
.red:
|
||||||
edit_boxes_set_sys_color rect_input,rect_input_end,sc
|
edit_boxes_set_sys_color rect_input,rect_input_end,sc
|
||||||
labels_set_sys_color rect_input_labels,rect_input_labels_end,sc
|
labels_set_sys_color rect_input_labels,rect_input_labels_end,sc
|
||||||
check_boxes_set_sys_color riw_check_boxes,riw_check_boxes_end,sc
|
check_boxes_set_sys_color riw_check_boxes,riw_check_boxes_end,sc
|
||||||
call .draw_window
|
call .draw_window
|
||||||
.still:
|
.still:
|
||||||
wait_event .red,.key,.button,.mouse
|
wait_event .red,.key,.button,.mouse
|
||||||
|
|
||||||
.key:
|
.key:
|
||||||
get_key
|
get_key
|
||||||
|
|
||||||
key_edit_boxes rect_input,rect_input_end
|
push dword rect_input.left
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
call read_rect
|
push dword rect_input.top
|
||||||
call draw_rect_on_screen
|
call [edit_box_key]
|
||||||
|
|
||||||
jmp .still
|
push dword rect_input.width
|
||||||
|
call [edit_box_key]
|
||||||
|
|
||||||
|
push dword rect_input.height
|
||||||
|
call [edit_box_key]
|
||||||
|
; key_edit_boxes rect_input,rect_input_end
|
||||||
|
|
||||||
|
call read_rect
|
||||||
|
call draw_rect_on_screen
|
||||||
|
|
||||||
|
jmp .still
|
||||||
|
|
||||||
.button:
|
.button:
|
||||||
get_pressed_button
|
get_pressed_button
|
||||||
|
|
||||||
cmp ah,1
|
cmp ah,1
|
||||||
jne @f
|
jne @f
|
||||||
btr dword [flags],3
|
btr dword [flags],3
|
||||||
jmp close
|
jmp close
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
jmp .still
|
jmp .still
|
||||||
|
|
||||||
.mouse:
|
.mouse:
|
||||||
get_active_window
|
get_active_window
|
||||||
cmp eax,[set_rect_window_slot]
|
cmp eax,[set_rect_window_slot]
|
||||||
jne .still
|
jne .still
|
||||||
|
|
||||||
mouse_edit_boxes rect_input,rect_input_end
|
push dword rect_input.left
|
||||||
mouse_check_boxes riw_check_boxes,riw_check_boxes_end
|
call [edit_box_mouse]
|
||||||
|
|
||||||
jmp .still
|
push dword rect_input.top
|
||||||
|
call [edit_box_mouse]
|
||||||
|
|
||||||
|
push dword rect_input.width
|
||||||
|
call [edit_box_mouse]
|
||||||
|
|
||||||
|
push dword rect_input.height
|
||||||
|
call [edit_box_mouse]
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
push dword use_rect_active_window
|
||||||
|
call [check_box_mouse]
|
||||||
|
|
||||||
|
; mouse_edit_boxes rect_input,rect_input_end
|
||||||
|
; mouse_check_boxes riw_check_boxes,riw_check_boxes_end
|
||||||
|
|
||||||
|
jmp .still
|
||||||
|
|
||||||
.draw_window:
|
.draw_window:
|
||||||
start_draw_window
|
start_draw_window
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ebx,100*65536+250
|
mov ebx,100*65536+250
|
||||||
mov ecx,100*65536+130
|
mov ecx,100*65536+130
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
add edx,0x33000000
|
add edx,0x33000000
|
||||||
mov edi,riw_grab_text
|
mov edi,riw_grab_text
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
draw_labels rect_input_labels,rect_input_labels_end
|
draw_labels rect_input_labels,rect_input_labels_end
|
||||||
|
|
||||||
draw_edit_boxes rect_input,rect_input_end
|
push dword rect_input.left
|
||||||
|
call [edit_box_draw]
|
||||||
|
|
||||||
draw_check_boxes riw_check_boxes,riw_check_boxes_end
|
push dword rect_input.top
|
||||||
|
call [edit_box_draw]
|
||||||
|
|
||||||
call read_rect
|
push dword rect_input.width
|
||||||
call draw_rect_on_screen
|
call [edit_box_draw]
|
||||||
|
|
||||||
stop_draw_window
|
push dword rect_input.height
|
||||||
|
call [edit_box_draw]
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
push dword use_rect_active_window
|
||||||
|
call [check_box_draw]
|
||||||
|
; draw_edit_boxes rect_input,rect_input_end
|
||||||
|
; draw_check_boxes riw_check_boxes,riw_check_boxes_end
|
||||||
|
|
||||||
|
call read_rect
|
||||||
|
call draw_rect_on_screen
|
||||||
|
|
||||||
|
stop_draw_window
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--------------------------------------------------------------------
|
;--------------------------------------------------------------------
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
||||||
;--------------------------------------------------------------------
|
;--------------------------------------------------------------------
|
||||||
read_rect:
|
read_rect:
|
||||||
bt dword [use_rect_active_window.flags],1
|
bt dword [use_rect_active_window.flags],1
|
||||||
jc read_rect_from_active_window
|
jc read_rect_from_active_window
|
||||||
|
|
||||||
mov edi,rect_input_buffer.left
|
mov edi,rect_input_buffer.left
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
cmp ax,[scr.width]
|
cmp ax,[scr.width]
|
||||||
jb @f
|
jb @f
|
||||||
mov ax,[scr.width]
|
mov ax,[scr.width]
|
||||||
@@:
|
@@:
|
||||||
mov [rect.left],ax
|
mov [rect.left],ax
|
||||||
|
|
||||||
mov edi,rect_input_buffer.top
|
mov edi,rect_input_buffer.top
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
cmp ax,[scr.height]
|
cmp ax,[scr.height]
|
||||||
jb @f
|
jb @f
|
||||||
mov ax,[scr.height]
|
mov ax,[scr.height]
|
||||||
@@:
|
@@:
|
||||||
mov [rect.top],ax
|
mov [rect.top],ax
|
||||||
|
|
||||||
mov edi,rect_input_buffer.width
|
mov edi,rect_input_buffer.width
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
mov bx,[scr.width]
|
mov bx,[scr.width]
|
||||||
sub bx,[rect.left]
|
sub bx,[rect.left]
|
||||||
cmp ax,bx
|
cmp ax,bx
|
||||||
jb @f
|
jb @f
|
||||||
mov ax,bx
|
mov ax,bx
|
||||||
@@:
|
@@:
|
||||||
mov [rect.width],ax
|
mov [rect.width],ax
|
||||||
|
|
||||||
mov edi,rect_input_buffer.height
|
mov edi,rect_input_buffer.height
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
mov bx,[scr.height]
|
mov bx,[scr.height]
|
||||||
sub bx,[rect.top]
|
sub bx,[rect.top]
|
||||||
cmp ax,bx
|
cmp ax,bx
|
||||||
jb @f
|
jb @f
|
||||||
mov ax,bx
|
mov ax,bx
|
||||||
@@:
|
@@:
|
||||||
mov [rect.height],ax
|
mov [rect.height],ax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
read_rect_from_active_window:
|
read_rect_from_active_window:
|
||||||
call get_active_window_info
|
call get_active_window_info
|
||||||
|
|
||||||
mov eax,[active_app.left]
|
mov eax,[active_app.left]
|
||||||
mov [rect.left],ax
|
mov [rect.left],ax
|
||||||
mov eax,[active_app.top]
|
mov eax,[active_app.top]
|
||||||
mov [rect.top],ax
|
mov [rect.top],ax
|
||||||
mov eax,[active_app.width]
|
mov eax,[active_app.width]
|
||||||
inc eax
|
inc eax
|
||||||
mov [rect.width],ax
|
mov [rect.width],ax
|
||||||
mov eax,[active_app.height]
|
mov eax,[active_app.height]
|
||||||
inc eax
|
inc eax
|
||||||
mov [rect.height],ax
|
mov [rect.height],ax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
draw_rect_on_screen:
|
draw_rect_on_screen:
|
||||||
|
|
||||||
mov eax,13
|
mov eax,13
|
||||||
mov ebx,150*65536+80
|
mov ebx,150*65536+80
|
||||||
mov ecx,5*65536+60
|
mov ecx,5*65536+60
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
int 0x40
|
mcall
|
||||||
|
|
||||||
;movzx eax,word [rect.left]
|
;movzx eax,word [rect.left]
|
||||||
;mul word [scr.width]
|
;mul word [scr.width]
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
movzx eax,word [scr.width]
|
movzx eax,word [scr.width]
|
||||||
mov ebx,80
|
mov ebx,80
|
||||||
div ebx
|
div ebx
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
movzx eax,word [rect.height]
|
movzx eax,word [rect.height]
|
||||||
div ebx
|
div ebx
|
||||||
push ax
|
push ax
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
movzx eax,word [rect.width]
|
movzx eax,word [rect.width]
|
||||||
div ebx
|
div ebx
|
||||||
push ax
|
push ax
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
movzx eax,word [rect.top]
|
movzx eax,word [rect.top]
|
||||||
div ebx
|
div ebx
|
||||||
push ax
|
push ax
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
movzx eax,word [rect.left]
|
movzx eax,word [rect.left]
|
||||||
div ebx
|
div ebx
|
||||||
push ax
|
push ax
|
||||||
|
|
||||||
pop bx
|
pop bx
|
||||||
add bx,150
|
add bx,150
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
|
|
||||||
pop cx
|
pop cx
|
||||||
add cx,5
|
add cx,5
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
|
|
||||||
pop bx
|
pop bx
|
||||||
pop cx
|
pop cx
|
||||||
|
|
||||||
mov edx,0xffffff
|
mov edx,0xffffff
|
||||||
mov eax,13
|
mov eax,13
|
||||||
int 0x40
|
mcall
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
;DATA <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
;<EFBFBD>ᥣ<EFBFBD><EFBFBD> ᮡ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭮<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
system_path db '/sys/lib/'
|
||||||
|
library_name db 'box_lib.obj',0
|
||||||
|
err_message_found_lib db 'Sorry I cannot load library box_lib.obj',0
|
||||||
|
head_f_i:
|
||||||
|
head_f_l db 'System error',0
|
||||||
|
err_message_import db 'Error on load import library box_lib.obj',0
|
||||||
|
|
||||||
|
myimport:
|
||||||
|
|
||||||
|
edit_box_draw dd aEdit_box_draw
|
||||||
|
edit_box_key dd aEdit_box_key
|
||||||
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
|
version_ed dd aVersion_ed
|
||||||
|
|
||||||
|
check_box_draw dd aCheck_box_draw
|
||||||
|
check_box_mouse dd aCheck_box_mouse
|
||||||
|
version_ch dd aVersion_ch
|
||||||
|
|
||||||
|
option_box_draw dd aOption_box_draw
|
||||||
|
option_box_mouse dd aOption_box_mouse
|
||||||
|
version_op dd aVersion_op
|
||||||
|
|
||||||
|
dd 0
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
aEdit_box_draw db 'edit_box',0
|
||||||
|
aEdit_box_key db 'edit_box_key',0
|
||||||
|
aEdit_box_mouse db 'edit_box_mouse',0
|
||||||
|
aVersion_ed db 'version_ed',0
|
||||||
|
|
||||||
|
aCheck_box_draw db 'check_box_draw',0
|
||||||
|
aCheck_box_mouse db 'check_box_mouse',0
|
||||||
|
aVersion_ch db 'version_ch',0
|
||||||
|
|
||||||
|
aOption_box_draw db 'option_box_draw',0
|
||||||
|
aOption_box_mouse db 'option_box_mouse',0
|
||||||
|
aVersion_op db 'version_op',0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rect_input:
|
rect_input:
|
||||||
.left edit_box 35,95,5,cl_white,0,0,0,5,rect_input_buffer.left,\
|
.left edit_box 35,95,5,cl_white,0,0,0,5,rect_input_buffer.left,\
|
||||||
ed_figure_only+ed_focus
|
ed_figure_only+ed_focus
|
||||||
.top edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,\
|
.top edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,\
|
||||||
ed_figure_only
|
ed_figure_only
|
||||||
.width edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,\
|
.width edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,\
|
||||||
ed_figure_only
|
ed_figure_only
|
||||||
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,\
|
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,\
|
||||||
ed_figure_only
|
ed_figure_only
|
||||||
@@ -200,11 +283,11 @@ rect_input_labels_end:
|
|||||||
rect_input_labels_text:
|
rect_input_labels_text:
|
||||||
.left db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>:',0
|
.left db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>:',0
|
||||||
.top db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>:',0
|
.top db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>:',0
|
||||||
.width db '<27><>ਭ<EFBFBD>:',0
|
.width db '<27><>ਭ<EFBFBD>:',0
|
||||||
.height db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:',0
|
.height db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:',0
|
||||||
|
|
||||||
riw_check_boxes:
|
riw_check_boxes:
|
||||||
use_rect_active_window check_box 10,85,cl_white,0,0,\
|
use_rect_active_window check_box 10,85,5,11,cl_white,0,0,\
|
||||||
riw_check_boxes_text.1,\
|
riw_check_boxes_text.1,\
|
||||||
riw_check_boxes_text.2-riw_check_boxes_text.1
|
riw_check_boxes_text.2-riw_check_boxes_text.1
|
||||||
riw_check_boxes_end:
|
riw_check_boxes_end:
|
||||||
|
@@ -7,45 +7,45 @@ txt_button:
|
|||||||
.draw:
|
.draw:
|
||||||
pusha
|
pusha
|
||||||
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> ᠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
;--- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> ᠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
mov eax,8
|
mov eax,8
|
||||||
mov ebx,[edi] ; [but.width]
|
mov ebx,[edi] ; [but.width]
|
||||||
mov ecx,[edi+4] ;[but.height]
|
mov ecx,[edi+4] ;[but.height]
|
||||||
mov edx,[edi+8];[but.id]
|
mov edx,[edi+8];[but.id]
|
||||||
mov esi,[edi+12];[but.color]
|
mov esi,[edi+12];[but.color]
|
||||||
int 0x40
|
mcall
|
||||||
;--- ⥪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ---
|
;--- ⥪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
; <EFBFBD><EFBFBD><EFBFBD>⠥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <EFBFBD><EFBFBD><EFBFBD>⠥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov edx,[edi+20]
|
mov edx,[edi+20]
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
.check_next_symbol:
|
.check_next_symbol:
|
||||||
cmp [edx+esi],byte 0
|
cmp [edx+esi],byte 0
|
||||||
je .str_end
|
je .str_end
|
||||||
inc esi ; <EFBFBD> esi <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
inc esi ; <EFBFBD> esi <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jmp .check_next_symbol
|
jmp .check_next_symbol
|
||||||
.str_end:
|
.str_end:
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
lea ebx,[esi*2+esi]
|
lea ebx,[esi*2+esi]
|
||||||
lea ebx,[ebx*2] ; <EFBFBD> ebx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD><EFBFBD>
|
lea ebx,[ebx*2] ; <EFBFBD> ebx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD><EFBFBD>
|
||||||
|
|
||||||
;not ebx
|
;not ebx
|
||||||
neg ebx
|
neg ebx
|
||||||
add bx,[edi] ; [but.width]
|
add bx,[edi] ; [but.width]
|
||||||
sar bx,1
|
sar bx,1
|
||||||
inc bx
|
inc bx
|
||||||
add bx,[edi+2];[but.left] ; <EFBFBD> bx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
add bx,[edi+2];[but.left] ; <EFBFBD> bx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
|
|
||||||
|
|
||||||
mov bx,[edi+4];[but.height]
|
mov bx,[edi+4];[but.height]
|
||||||
sub bx,8
|
sub bx,8
|
||||||
sar bx,1
|
sar bx,1
|
||||||
add bx,[edi+6];[but.top] ; <EFBFBD> bx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<EFBFBD><EFBFBD><EFBFBD>
|
add bx,[edi+6];[but.top] ; <EFBFBD> bx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
; <EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov ecx,[edi+16] ;[but.text_color]
|
mov ecx,[edi+16] ;[but.text_color]
|
||||||
shr eax,1
|
shr eax,1
|
||||||
int 0x40
|
mcall
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
@@ -54,53 +54,53 @@ struc txt_button width,left,height,top,id,color,text_color,text_ptr,\
|
|||||||
proc_addres
|
proc_addres
|
||||||
{
|
{
|
||||||
.width dw width ;+0
|
.width dw width ;+0
|
||||||
.left dw left ;+2
|
.left dw left ;+2
|
||||||
.height dw height ;+4
|
.height dw height ;+4
|
||||||
.top dw top ;+6
|
.top dw top ;+6
|
||||||
.id dd id ;+8
|
.id dd id ;+8
|
||||||
.color dd color ;+12
|
.color dd color ;+12
|
||||||
.text_color dd text_color ;+16
|
.text_color dd text_color ;+16
|
||||||
.text_ptr dd text_ptr ;+20
|
.text_ptr dd text_ptr ;+20
|
||||||
.proc_addres dd proc_addres+0 ;+24
|
.proc_addres dd proc_addres+0 ;+24
|
||||||
}
|
}
|
||||||
but_struc_size=24+4
|
but_struc_size=24+4
|
||||||
macro draw_txt_buttons start,end
|
macro draw_txt_buttons start,end
|
||||||
{
|
{
|
||||||
mov edi,start
|
mov edi,start
|
||||||
mov ecx,((end-start)/but_struc_size)
|
mov ecx,((end-start)/but_struc_size)
|
||||||
@@:
|
@@:
|
||||||
call txt_button.draw
|
call txt_button.draw
|
||||||
add edi,but_struc_size
|
add edi,but_struc_size
|
||||||
loop @b
|
loop @b
|
||||||
}
|
}
|
||||||
|
|
||||||
macro txt_but_set_sys_color start,end,color_table
|
macro txt_but_set_sys_color start,end,color_table
|
||||||
{
|
{
|
||||||
mov edi,start
|
mov edi,start
|
||||||
mov esi,color_table
|
mov esi,color_table
|
||||||
mov ecx,((end-start)/but_struc_size)
|
mov ecx,((end-start)/but_struc_size)
|
||||||
@@:
|
@@:
|
||||||
push dword [esi+24]
|
push dword [esi+24]
|
||||||
pop dword [edi+12]
|
pop dword [edi+12]
|
||||||
push dword [esi+28]
|
push dword [esi+28]
|
||||||
pop dword [edi+16]
|
pop dword [edi+16]
|
||||||
add edi,but_struc_size
|
add edi,but_struc_size
|
||||||
loop @b
|
loop @b
|
||||||
}
|
}
|
||||||
|
|
||||||
macro txt_but_ev start,end
|
macro txt_but_ev start,end
|
||||||
{
|
{
|
||||||
mov edi,start
|
mov edi,start
|
||||||
mov ecx,((end-start)/but_struc_size)
|
mov ecx,((end-start)/but_struc_size)
|
||||||
.txt_but_next:
|
.txt_but_next:
|
||||||
cmp ah,[edi+8]
|
cmp ah,[edi+8]
|
||||||
jne @f
|
jne @f
|
||||||
cmp dword [edi+24],0
|
cmp dword [edi+24],0
|
||||||
je @f
|
je @f
|
||||||
pusha
|
pusha
|
||||||
call dword [edi+24]
|
call dword [edi+24]
|
||||||
popa
|
popa
|
||||||
@@:
|
@@:
|
||||||
add edi,but_struc_size
|
add edi,but_struc_size
|
||||||
loop .txt_but_next
|
loop .txt_but_next
|
||||||
}
|
}
|
Reference in New Issue
Block a user