Rev 6771 | Rev 6794 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6771 | Rev 6791 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | #define EVENT_MASK_MOUSE 000100000b |
56 | #define EVENT_MASK_MOUSE 000100000b |
57 | #define EVENT_MASK_IPC 001000000b |
57 | #define EVENT_MASK_IPC 001000000b |
58 | #define EVENT_MASK_NETWORK 010000000b |
58 | #define EVENT_MASK_NETWORK 010000000b |
59 | #define EVENT_MASK_DEBUG 100000000b |
59 | #define EVENT_MASK_DEBUG 100000000b |
Line 60... | Line -... | ||
60 | - | ||
61 | //ARGS FUNCTION |
- | |
62 | #define END_ARGS 0xFF00FF |
60 | |
Line 63... | Line 61... | ||
63 | //------------------------------------------------------------------------- |
61 | //------------------------------------------------------------------------- |
64 | 62 | ||
65 | #include "../lib/system.h" |
63 | #include "../lib/system.h" |
Line 118... | Line 116... | ||
118 | inline fastcall dword GetFreeRAM() |
116 | inline fastcall dword GetFreeRAM() |
119 | { |
117 | { |
120 | $mov eax, 18 |
118 | $mov eax, 18 |
121 | $mov ebx, 16 |
119 | $mov ebx, 16 |
122 | $int 0x40 |
120 | $int 0x40 |
123 | //return eax = ðàçìåð ñâîáîäíîé ïàìÿòè â êèëîáàéòàõ |
121 | //return eax = ðàçìåð ñâîáîäíîé ïàìÿòè â êèëîáàéòàõ |
124 | } |
122 | } |
Line 125... | Line 123... | ||
125 | 123 | ||
126 | inline fastcall dword LoadDriver(ECX) //ECX - èìÿ äðàéâåðà |
124 | inline fastcall dword LoadDriver(ECX) //ECX - èìÿ äðàéâåðà |
127 | { |
125 | { |
128 | $mov eax, 68 |
126 | $mov eax, 68 |
129 | $mov ebx, 16 |
127 | $mov ebx, 16 |
130 | $int 0x40 |
128 | $int 0x40 |
131 | //return 0 - íåóäà÷à, èíà÷å eax = õýíäë äðàéâåðà |
129 | //return 0 - íåóäà÷à, èíà÷å eax = õýíäë äðàéâåðà |
Line 132... | Line 130... | ||
132 | } |
130 | } |
133 | 131 | ||
134 | inline fastcall dword RuleDriver(ECX) //óêàçàòåëü íà óïðàâëÿþùóþ ñòðóêòóðó |
132 | inline fastcall dword RuleDriver(ECX) //óêàçàòåëü íà óïðàâëÿþùóþ ñòðóêòóðó |
135 | { |
133 | { |
136 | $mov eax, 68 |
134 | $mov eax, 68 |
137 | $mov ebx, 17 |
135 | $mov ebx, 17 |
138 | $int 0x40 |
136 | $int 0x40 |
Line 139... | Line 137... | ||
139 | //return eax = îïðåäåëÿåòñÿ äðàéâåðîì |
137 | //return eax = îïðåäåëÿåòñÿ äðàéâåðîì |
140 | } |
138 | } |
141 | 139 | ||
Line 255... | Line 253... | ||
255 | EBX=1; |
253 | EBX=1; |
256 | $int 0x40 |
254 | $int 0x40 |
257 | } |
255 | } |
Line 258... | Line 256... | ||
258 | 256 | ||
259 | 257 | ||
260 | //eax = ÿçûê ñèñòåìû (1=eng, 2=fi, 3=ger, 4=rus) |
258 | //eax = ÿçûê ñèñòåìû (1=eng, 2=fi, 3=ger, 4=rus) |
261 | #define SYS_LANG_ENG 1 |
259 | #define SYS_LANG_ENG 1 |
262 | #define SYS_LANG_FIN 2 |
260 | #define SYS_LANG_FIN 2 |
263 | #define SYS_LANG_GER 3 |
261 | #define SYS_LANG_GER 3 |
Line 362... | Line 360... | ||
362 | EAX = 71; |
360 | EAX = 71; |
363 | EBX = 1; |
361 | EBX = 1; |
364 | $int 0x40; |
362 | $int 0x40; |
365 | } |
363 | } |
Line -... | Line 364... | ||
- | 364 | ||
- | 365 | // @EDX is a procewss id, -1 for self |
|
- | 366 | // @ESI is a new LayerBehaviour |
|
- | 367 | // @RETURN: EAX, 0 is fail, 1 is success |
|
- | 368 | #define WINDOW_LAYER_ALWAYS_ON_TOP 1 |
|
- | 369 | inline fastcall dword SetWindowLayerBehaviour(EDX, ESI) |
|
- | 370 | { |
|
- | 371 | EAX = 18; |
|
- | 372 | EBX = 25; |
|
- | 373 | ECX = 2; |
|
- | 374 | $int 64 |
|
- | 375 | } |
|
366 | 376 | ||
367 | :void WriteTextB(dword x,y,byte fontType, dword color, str_offset) |
377 | :void WriteTextB(dword x,y,byte fontType, dword color, str_offset) |
368 | { |
378 | { |
369 | EAX = 4; |
379 | EAX = 4; |
370 | EBX = x<<16+y; |
380 | EBX = x<<16+y; |
Line 412... | Line 422... | ||
412 | ECX = w << 16 + h; |
422 | ECX = w << 16 + h; |
413 | EDX = x << 16 + y; |
423 | EDX = x << 16 + y; |
414 | $int 0x40; |
424 | $int 0x40; |
415 | } |
425 | } |
Line 416... | Line 426... | ||
416 | 426 | ||
417 | :dword GetPixelColor(dword x, x_size, y) |
427 | :dword GetPixelColorFromScreen(dword _x, _y) |
418 | { |
428 | { |
419 | $mov eax, 35 |
429 | EAX = 35; |
420 | EBX= y*x_size+x; |
430 | EBX = _y * screen.width + _x; |
421 | $int 0x40 |
431 | $int 64 |
Line 422... | Line 432... | ||
422 | } |
432 | } |
423 | 433 | ||
424 | :void _PutImage(dword x,y, w,h, data_offset) |
434 | :void _PutImage(dword x,y, w,h, data_offset) |
Line 488... | Line 498... | ||
488 | EDX = id; |
498 | EDX = id; |
489 | ESI = color; |
499 | ESI = color; |
490 | $int 0x40 |
500 | $int 0x40 |
491 | } |
501 | } |
Line -... | Line 502... | ||
- | 502 | ||
- | 503 | void DefineDragableWindow(dword _x, _y, _w, _h) |
|
- | 504 | { |
|
- | 505 | DefineAndDrawWindow(_x, _y, _w, _h, 0x41,0x000000,NULL,0b); |
|
- | 506 | } |
|
- | 507 | ||
- | 508 | :void EventDragWindow() |
|
- | 509 | { |
|
- | 510 | dword tmp_x,tmp_y; |
|
- | 511 | dword z1,z2; |
|
- | 512 | tmp_x = mouse.x; |
|
- | 513 | tmp_y = mouse.y; |
|
- | 514 | do { |
|
- | 515 | mouse.get(); |
|
- | 516 | if (tmp_x!=mouse.x) || (tmp_y!=mouse.y) |
|
- | 517 | { |
|
- | 518 | z1 = Form.left + mouse.x - tmp_x; |
|
- | 519 | z2 = Form.top + mouse.y - tmp_y; |
|
- | 520 | if(z1<=10) || (z1>20000) z1=0; else if(z1>screen.width-Form.width-10)z1=screen.width-Form.width; |
|
- | 521 | if(z2<=10) || (z2>20000) z2=0; else if(z2>screen.height-Form.height-10)z2=screen.height-Form.height; |
|
- | 522 | MoveSize(z1 , z2, OLD, OLD); |
|
- | 523 | draw_window(); |
|
- | 524 | } |
|
- | 525 | pause(1); |
|
- | 526 | } while (mouse.lkm); |
|
- | 527 | } |
|
- | 528 | ||
- | 529 | :void DefineHiddenButton(dword _x, _y, _w, _h, _id) |
|
- | 530 | { |
|
- | 531 | DefineButton(_x, _y, _w, _h, _id + BT_HIDE, 0); |
|
- | 532 | } |
|
492 | 533 | ||
493 | inline fastcall void DeleteButton( EDX) |
534 | inline fastcall void DeleteButton( EDX) |
494 | { |
535 | { |
495 | EAX = 8; |
536 | EAX = 8; |
496 | EDX += BT_DEL; |
537 | EDX += BT_DEL; |
Line 599... | Line 640... | ||
599 | dword dir; |
640 | dword dir; |
600 | dword file; |
641 | dword file; |
601 | dword path; |
642 | dword path; |
602 | } self; |
643 | } self; |
Line 603... | Line 644... | ||
603 | 644 | ||
Line 604... | Line 645... | ||
604 | dword __generator; // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë |
645 | dword __generator; // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë |
Line 605... | Line 646... | ||
605 | 646 | ||
606 | :dword program_path_length; |
647 | :dword program_path_length; |