2,7 → 2,7 |
; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; Compile with FASM |
; Version 0.3.1: Sep 23, 2018 |
; Version 0.3.2: Sep 24, 2018 |
|
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
; All rights reserved. |
150,6 → 150,15 |
copyParam: ;êîïèðóåò ïàðàìåòð(êîìàíäó çàïóñêà) â áóôåð (ñì. äàëüøå) |
push esi ebx ecx |
mov ecx, dword[ebx] ;÷èòàåì ðàçìåð ñòðîêè |
|
cmp ecx, 0 ;ïóñòà ëè ñòðîêà? |
jne copyParam.copy ;åñëè íåò, òî ïåðåõîäèì ê êîïèðîâàíèþ ñîäåðæèìîãî ñòðîêè (ê öèêëó) |
|
mov byte[eax], '-' ;åñëè æå ïóñòî, òî çàìåíÿåì ñèìâîëîì ìèíóñ '-' |
inc eax |
;jmp copyParam.copyEnd ;è âûõîäèì |
;äàëåå â íà÷àëå öèêëà ïðîèçîéä¸ò ñðàâíåíèå è âûõîä |
|
.copy: ;êîïèðóåì ñèìâîëû |
cmp ecx, 0 |
je copyParam.copyEnd |
183,6 → 192,25 |
add ecx, dword[editLD.size] |
add ecx, dword[editRU.size] |
add ecx, dword[editRD.size] ;dataBuffer.size4] |
|
;åñëè çàäàíû ïóñòûå ñòðîêè, òî ìû àâòîìàòè÷åñêè äîáàâëÿåì çíàê ìèíóñ, çíà÷èò ðàçìåð +1 áàéò |
cmp dword[editLU.size], 0 |
jne @f |
inc ecx |
@@: |
cmp dword[editLD.size], 0 |
jne @f |
inc ecx |
@@: |
cmp dword[editRU.size], 0 |
jne @f |
inc ecx |
@@: |
cmp dword[editRD.size], 0 |
jne @f |
inc ecx |
@@: |
|
;òåïåðü ðàçìåð ôàéëà êîíôèãóðàöèè â ecx |
mov dword[createFile.size], ecx ;ïîëîæèì ðàçìåð áàéò â ñòðóêòóðó ñîçäàíèÿ/ïåðåçàïèñè ôàéëà |
mcall 68, 12, ecx ;âûäåëÿåì áëîê ïàìÿòè ïîä áóôåð ñîäåðæèìîãî |
230,7 → 258,10 |
;èíà÷å çäåñü íóæíî âûâåñòè îêíî ñ îøèáêîé !!! |
.end: |
mcall 68, 13, dword[createFile.data_adr] ;îñâîáîæäàåì ïàìÿòü ïîä áóôåð |
call restartHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES |
call finishHotAnglesApp ;çàâåðøàåì ðàáîòó âñåõ êîïèé ñåðâèñà @HOTANGLES |
call loadConfig ;ïåðåçàãðóæàåì ôàéë êîíôèãà |
call draw_window ;ïåðåðèñîâûâàåì îêíî |
call startHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES |
pop ecx ebx eax |
ret |
|
260,7 → 291,7 |
ret |
|
|
restartHotAnglesApp: |
finishHotAnglesApp: |
;íàõîäèì âñå êîïèè ïðèëîæåíèÿ ïî èìåíè è çàâåðøàåì èõ |
push eax ebx ecx esi edi |
;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíÿþòñÿ: |
275,7 → 306,7 |
|
call compareBytes2 ;ñðàâíèâàåì èìÿ |
cmp eax, 0 |
jne restartHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò |
jne finishHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò |
|
;push eax ebx ecx |
mcall 18, 2, ecx ;èíà÷å çàâåðøàåì ñëîò |
288,7 → 319,9 |
jmp @b |
@@: |
pop edi esi ecx ebx eax |
ret |
|
startHotAnglesApp: |
;çàïóñêàåì ïðèëîæåíèå çàíîâî |
push eax ebx |
mcall 70, startAppData |