Hot Angles 0.3.7: support parameters for running programs; improved mode 3; more settings supported by the configurator; updated readme
git-svn-id: svn://kolibrios.org@7459 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Compile with FASM
|
||||
; Version 0.3.6: Oct 9, 2018
|
||||
; Version 0.3.7: Oct 14, 2018
|
||||
|
||||
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage
|
||||
; All rights reserved.
|
||||
@@ -115,6 +115,7 @@ event_wait:
|
||||
invoke edit_box_mouse, editRU
|
||||
invoke edit_box_mouse, editRD
|
||||
;stdcall [kmainmenu_dispatch_cursorevent], [modeMenu] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
invoke edit_box_mouse, editRadius
|
||||
|
||||
jmp event_wait
|
||||
|
||||
@@ -127,10 +128,66 @@ key: ; Keypress event handler
|
||||
mov eax, 2 ; The key is returned in ah. The key must be
|
||||
mcall ; read and cleared from the system queue.
|
||||
|
||||
;push eax
|
||||
invoke edit_box_key, editLU
|
||||
invoke edit_box_key, editLD
|
||||
invoke edit_box_key, editRU
|
||||
invoke edit_box_key, editRD
|
||||
invoke edit_box_key, editRadius
|
||||
;pop eax
|
||||
|
||||
cmp eax, 1
|
||||
je event_wait ;.end ;@f
|
||||
cmp word[hkSymbol], 0
|
||||
jne event_wait ;.end ;@f
|
||||
cmp al, 0
|
||||
jne .next
|
||||
mov byte[hkSymbol], ah
|
||||
|
||||
push eax ecx esi ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shr eax, 16
|
||||
mov byte[keyscan], al
|
||||
mov ecx, 0
|
||||
mov cl, al ;byte[keyscan]
|
||||
mov esi, keystr.data
|
||||
call IntToStr
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
xor ecx, ecx
|
||||
mov esi, keystr.data
|
||||
@@:
|
||||
cmp byte[esi], 0
|
||||
je @f
|
||||
inc esi
|
||||
inc ecx
|
||||
;cmp ecx, 4
|
||||
;je @f
|
||||
jmp @b
|
||||
@@:
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
mov dword[keystr.size], ecx
|
||||
|
||||
; cmp ecx, 3
|
||||
; jbe @f
|
||||
; mcall -1
|
||||
; @@:
|
||||
|
||||
pop esi ecx eax
|
||||
|
||||
jmp red
|
||||
.next:
|
||||
;cmp al, 2
|
||||
;jne @f
|
||||
;cmp ah, 0
|
||||
;jne @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;shr eax, 16
|
||||
;bt eax, 0 ;left shift
|
||||
;jne @f
|
||||
;mov byte[hkSymbol], 2
|
||||
;jmp red
|
||||
@@:
|
||||
;.end:
|
||||
jmp event_wait ; Just read the key, ignore it and jump to event_wait.
|
||||
|
||||
button: ; Buttonpress event handler
|
||||
@@ -182,12 +239,17 @@ noclose:
|
||||
mov word[coordModeMenu.x], ax
|
||||
|
||||
mov eax, dword[pi+38]
|
||||
add eax, buttonModeY + 17 ;20 ;42
|
||||
add eax, buttonModeY + 13 ;17
|
||||
mov word[coordModeMenu.y], ax
|
||||
|
||||
stdcall [ksubmenu_draw], [modeMenu], coordModeMenu
|
||||
pop ecx ebx eax
|
||||
jmp event_wait
|
||||
@@:
|
||||
cmp ah, 9
|
||||
jne @f
|
||||
mov word[hkSymbol], 0
|
||||
jmp red ;event_wait
|
||||
@@:
|
||||
cmp ah, 110
|
||||
jne @f
|
||||
@@ -227,8 +289,8 @@ createFile:
|
||||
.path_adr dd fileName ;<3B><><EFBFBD><EFBFBD>
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
defaultDataForConfig db 121,13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10
|
||||
defaultDataSize = 48+19
|
||||
defaultDataForConfig db 121,13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10,'/rd/1/HACONFIG',13,10,'Space',13,10,'57',13,10,'10',13,10,'s',13,10
|
||||
defaultDataSize = 85 ;48+19+4
|
||||
|
||||
|
||||
copyParam: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
@@ -271,11 +333,21 @@ applyButton:
|
||||
;mov dword[createFile.size], defaultDataSize
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx, 5*2+1 ;1 <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 5 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13, 10)
|
||||
mov ecx, 9*2+1 ;1 <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 9 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13, 10)
|
||||
add ecx, dword[editLU.size] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add ecx, dword[editLD.size]
|
||||
add ecx, dword[editRU.size]
|
||||
add ecx, dword[editRD.size] ;dataBuffer.size4]
|
||||
add ecx, dword[editRadius.size]
|
||||
add ecx, dword[hkSize] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add ecx, dword[keystr.size] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc ecx ; <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;mov ecx, 85
|
||||
|
||||
cmp dword[keystr.size], 3
|
||||
jbe @f
|
||||
;mcall -1
|
||||
@@:
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +1 <20><><EFBFBD><EFBFBD>
|
||||
cmp dword[editLU.size], 0
|
||||
@@ -304,7 +376,6 @@ applyButton:
|
||||
;cmp byte[mode], 0
|
||||
;jne @f
|
||||
;@@:
|
||||
;
|
||||
|
||||
push ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov bl, byte[mode]
|
||||
@@ -337,6 +408,41 @@ applyButton:
|
||||
call copyParam
|
||||
call addPerenos ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call saveKey
|
||||
call addPerenos
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, keystr.data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> keystr <20> <20><><EFBFBD><EFBFBD>
|
||||
xor ebx, ebx
|
||||
@@:
|
||||
cmp byte[esi], 0
|
||||
je @f
|
||||
mov bl, byte[esi]
|
||||
mov byte[eax], bl
|
||||
inc eax
|
||||
inc esi
|
||||
cmp esi, keystr.size-1
|
||||
jae @f
|
||||
jmp @b
|
||||
@@:
|
||||
call addPerenos
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;!!! <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-')
|
||||
mov esi, radiusBuffer.data
|
||||
mov ebx, editRadius.size ;radiusBuffer.size
|
||||
call copyParam
|
||||
call addPerenos
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov bl, byte[sizeStyle]
|
||||
mov byte[eax], bl
|
||||
pop ebx
|
||||
inc eax
|
||||
call addPerenos
|
||||
|
||||
pop ebx esi
|
||||
|
||||
|
||||
@@ -440,6 +546,9 @@ UpdateEditsSizes:
|
||||
mov eax, dword[editRD.size]
|
||||
mov dword[dataBuffer.size4], eax
|
||||
|
||||
mov eax, dword[editRadius.size]
|
||||
mov dword[radiusBuffer.size], eax
|
||||
|
||||
pop eax
|
||||
ret
|
||||
|
||||
@@ -474,7 +583,13 @@ loadConfig:
|
||||
mov byte[mode], 48 ;'0'
|
||||
jmp loadConfig.modeEnd
|
||||
@@:
|
||||
mov byte[mode], 49 ;'1' <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp bl, 'y' ;<3B><><EFBFBD><EFBFBD> y - <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f
|
||||
mov byte[mode], 49 ;'1'
|
||||
jmp loadConfig.modeEnd
|
||||
@@:
|
||||
mov byte[mode], 48 ;'0' <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;mov byte[mode], 49 ;'1' <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.modeEnd:
|
||||
pop ebx
|
||||
;jmp loadConfig.end ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -530,6 +645,18 @@ loadConfig:
|
||||
cmp edi, dataBuffer.size1 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jb loadConfig.block
|
||||
|
||||
call readOptKey ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call gotoEndString
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call readScanKey
|
||||
call gotoEndString
|
||||
|
||||
call readOptRadius ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mode 3
|
||||
call gotoEndString
|
||||
call readOptSize ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call gotoEndString
|
||||
|
||||
pop eax ebx ecx esi edi
|
||||
|
||||
jmp loadConfig.end
|
||||
@@ -544,10 +671,333 @@ loadConfig:
|
||||
mcall 68, 13, ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
call updateParams ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call setMySize ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
|
||||
|
||||
setMySize:
|
||||
push eax
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysize <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sizeStyle
|
||||
cmp byte[sizeStyle], '0'
|
||||
jb @f
|
||||
cmp byte[sizeStyle], '7'
|
||||
ja @f
|
||||
mov eax, 0 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al, byte[sizeStyle]
|
||||
sub al, '0'
|
||||
jmp .end
|
||||
@@:
|
||||
cmp byte[sizeStyle], 'a'
|
||||
je .auto
|
||||
;cmp byte[sizeStyle], 's'
|
||||
;je .system
|
||||
.system: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; push ebx ecx
|
||||
;!!!
|
||||
; mov eax, 9
|
||||
; mcall 48, 11 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;eax - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; mov ecx, eax
|
||||
; push eax
|
||||
; mcall 48, 12, ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; pop eax
|
||||
; pop ecx ebx
|
||||
;temp fix - <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> and -1
|
||||
; push ebx edx
|
||||
; mov ebx, 9
|
||||
;div ebx
|
||||
; pop edx ebx
|
||||
;cmp eax, 0
|
||||
;je .end
|
||||
;dec eax
|
||||
mov eax, 0 ;xor eax, eax ;test temp
|
||||
jmp .end
|
||||
.auto: ;a - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;!!!
|
||||
mcall 14
|
||||
push ebx
|
||||
xor ebx, ebx
|
||||
mov bx, ax
|
||||
shr eax, 16
|
||||
cmp ax, bx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jae .a
|
||||
mov ax, bx
|
||||
.a:
|
||||
pop ebx
|
||||
cmp ax, 1919 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> 0 <20> <20><> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jb .size0
|
||||
cmp ax, 2047
|
||||
jb .size1
|
||||
cmp ax, 4095
|
||||
jb .size2
|
||||
cmp ax, 8191
|
||||
jb .size3
|
||||
|
||||
jmp .size4
|
||||
|
||||
.size0:
|
||||
mov eax, 0
|
||||
jmp .end
|
||||
.size1:
|
||||
mov eax, 1
|
||||
jmp .end
|
||||
.size2:
|
||||
mov eax, 2
|
||||
jmp .end
|
||||
.size3:
|
||||
mov eax, 3
|
||||
jmp .end
|
||||
.size4:
|
||||
mov eax, 4
|
||||
jmp .end
|
||||
.size5:
|
||||
mov eax, 5
|
||||
jmp .end
|
||||
.size6:
|
||||
mov eax, 6
|
||||
jmp .end
|
||||
.size7:
|
||||
mov eax, 7
|
||||
jmp .end
|
||||
|
||||
;.default:
|
||||
; mov eax, 1
|
||||
.end:
|
||||
mov byte[mysize], al ;mov dword[mysize], eax
|
||||
pop eax
|
||||
ret
|
||||
|
||||
|
||||
readScanKey:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja .default ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
|
||||
push ecx ebx esi
|
||||
mov ecx, 0 ;xor ecx, ecx
|
||||
mov esi, keystr.data
|
||||
.copy:
|
||||
mov bl, byte[eax]
|
||||
cmp bl, 0
|
||||
je .copyEnd
|
||||
cmp bl, 10
|
||||
je .copyEnd
|
||||
cmp bl, 13
|
||||
je .copyEnd
|
||||
cmp esi, keystr.size-1
|
||||
jae .copyEnd
|
||||
mov byte[esi], bl
|
||||
inc esi
|
||||
inc eax
|
||||
inc ecx
|
||||
jmp .copy
|
||||
.copyEnd:
|
||||
mov byte[esi], 0
|
||||
mov dword[keystr.size], ecx
|
||||
pop esi ebx ecx
|
||||
|
||||
jmp .end
|
||||
@@:
|
||||
inc eax
|
||||
jmp readScanKey
|
||||
.default:
|
||||
mov byte[keyscan], 57
|
||||
mov word[keystr.data], '57'
|
||||
mov byte[keystr.data+2], 0
|
||||
mov dword[keystr.size], 2
|
||||
.end:
|
||||
ret
|
||||
|
||||
readOptKey: ;1;3;4;5 - space or shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja .default ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp dword[eax], 'Ctrl'
|
||||
jne .notCtrl
|
||||
mov byte[hkSymbol], 3
|
||||
mov dword[hkSize], 4
|
||||
jmp .end
|
||||
.notCtrl:
|
||||
cmp dword[eax], 'Shif'
|
||||
jne .notShift
|
||||
mov byte[hkSymbol], 2
|
||||
mov dword[hkSize], 5
|
||||
jmp .end
|
||||
.notShift:
|
||||
cmp dword[eax], 'Spac'
|
||||
jne .notSpace
|
||||
mov byte[hkSymbol], 32
|
||||
mov dword[hkSize], 5
|
||||
jmp .end
|
||||
.notSpace:
|
||||
cmp word[eax], 'Al'
|
||||
jne .notAlt
|
||||
mov byte[hkSymbol], 1
|
||||
mov dword[hkSize], 3
|
||||
jmp .end
|
||||
.notAlt:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax+1], 10
|
||||
je .oneSymb
|
||||
cmp byte[eax+1], 0
|
||||
je .oneSymb
|
||||
cmp byte[eax+1], 13
|
||||
je .oneSymb
|
||||
jmp .default
|
||||
.oneSymb:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> !!!
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
push ebx
|
||||
;xor ebx, ebx
|
||||
mov bl, byte[eax]
|
||||
mov byte[hkSymbol], bl
|
||||
mov dword[hkSize], 1
|
||||
pop ebx
|
||||
|
||||
jmp .end
|
||||
@@:
|
||||
inc eax
|
||||
jmp readOptKey
|
||||
|
||||
.default:
|
||||
mov byte[hkSymbol], 32
|
||||
mov dword[hkSize], 5
|
||||
.end:
|
||||
mov byte[hkSymbol+1], 0
|
||||
ret
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
gotoEndString:
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc eax
|
||||
jmp gotoEndString
|
||||
@@:
|
||||
ret
|
||||
|
||||
readOptRadius:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja .default ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebx ecx
|
||||
xor ecx, ecx
|
||||
.readValue:
|
||||
mov bl, byte[eax]
|
||||
mov byte[radiusBuffer.data+ecx], bl
|
||||
inc ecx
|
||||
inc eax
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
ja .readEnd
|
||||
cmp byte[eax], 10
|
||||
je .readEnd
|
||||
cmp byte[eax], 0
|
||||
je .readEnd
|
||||
cmp byte[eax], 13
|
||||
je .readEnd
|
||||
cmp ecx, 6
|
||||
jae .readEnd
|
||||
jmp .readValue
|
||||
.readEnd:
|
||||
mov byte[radiusBuffer.data+ecx], 0
|
||||
mov dword[radiusBuffer.size], ecx
|
||||
pop ecx ebx
|
||||
|
||||
jmp .end
|
||||
@@:
|
||||
inc eax
|
||||
jmp readOptRadius
|
||||
.default:
|
||||
mov byte[radiusBuffer.data], '0'
|
||||
mov byte[radiusBuffer.data+1], 0
|
||||
mov dword[radiusBuffer.size], 1
|
||||
.end:
|
||||
|
||||
ret
|
||||
|
||||
|
||||
readOptSize:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja .default ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 1-7, a, s
|
||||
cmp byte[eax], 'a'
|
||||
je .setValue
|
||||
cmp byte[eax], 's'
|
||||
je .setValue
|
||||
cmp byte[eax], '0'
|
||||
je .setValue
|
||||
cmp byte[eax], '1'
|
||||
je .setValue
|
||||
cmp byte[eax], '2'
|
||||
je .setValue
|
||||
cmp byte[eax], '3'
|
||||
je .setValue
|
||||
cmp byte[eax], '4'
|
||||
je .setValue
|
||||
cmp byte[eax], '5'
|
||||
je .setValue
|
||||
cmp byte[eax], '6'
|
||||
je .setValue
|
||||
cmp byte[eax], '7'
|
||||
je .setValue
|
||||
|
||||
jmp .default ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
.setValue:
|
||||
push ebx
|
||||
mov bl, byte[eax]
|
||||
mov byte[sizeStyle], bl
|
||||
pop ebx
|
||||
|
||||
jmp .end
|
||||
@@:
|
||||
inc eax
|
||||
jmp readOptSize
|
||||
.default:
|
||||
mov byte[sizeStyle], 's' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.end:
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
updateParams: ;max, size, pos
|
||||
push eax
|
||||
mov eax, dword[dataBuffer.size1]
|
||||
@@ -565,6 +1015,10 @@ updateParams: ;max, size, pos
|
||||
mov eax, dword[dataBuffer.size4]
|
||||
mov dword[editRD.size], eax
|
||||
mov dword[editRD.pos], eax
|
||||
|
||||
mov eax, dword[radiusBuffer.size]
|
||||
mov dword[editRadius.size], eax
|
||||
mov dword[editRadius.pos], eax
|
||||
pop eax
|
||||
ret
|
||||
|
||||
@@ -639,7 +1093,7 @@ copyKill:
|
||||
ret
|
||||
|
||||
WindowsWidth = 450
|
||||
WindowsHeight = 195
|
||||
WindowsHeight = 195 + 35 - 5
|
||||
coord: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.y dw 0
|
||||
.x dw 0
|
||||
@@ -697,13 +1151,14 @@ draw_window:
|
||||
invoke edit_box_draw, editRD
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
buttonAppleY = WindowsHeight-35 ;160
|
||||
mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> X, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx, 160*65536 + 20 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx, buttonAppleY*65536 + 20 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx, 0x00000002 ;2 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, 0x00AABBCC ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 8
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx, (WindowsWidth-80-Otstup+25-buttonTextXoffset) * 65536 + 166 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (x, y)
|
||||
mov ebx, (WindowsWidth-80-Otstup+25-buttonTextXoffset) * 65536 + (buttonAppleY+6) ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (x, y)
|
||||
mov ecx, 0xFFFFFF ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx, buttonText
|
||||
mov esi, buttonTextSize ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -761,7 +1216,8 @@ draw_window:
|
||||
buttonModeX = 30 ;433
|
||||
buttonModeY = 160 ;50
|
||||
buttonModeWidth = 221
|
||||
buttonModeHeight = 20
|
||||
buttonModeHeight = 14 ;20
|
||||
buttonModeTextYoffset = 3;6
|
||||
buttonModeTextXoffset = 5
|
||||
mov ebx, buttonModeX*65536 + buttonModeWidth ;X + Width
|
||||
mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height
|
||||
@@ -773,21 +1229,73 @@ draw_window:
|
||||
mov edx, 0xAABBCC
|
||||
mcall 13
|
||||
;draw text for button Mode
|
||||
mov ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+6) ;(x, y)
|
||||
mov ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+buttonModeTextYoffset) ;(x, y)
|
||||
mov ecx, 0x000000
|
||||
call setTextModeMenu
|
||||
mov esi, valueModeMenuSize
|
||||
mcall 4
|
||||
mov ebx, (buttonModeX+buttonModeWidth-12) * 65536 + (buttonModeY+6)
|
||||
mov ebx, (buttonModeX+buttonModeWidth-12) * 65536 + (buttonModeY+buttonModeTextYoffset)
|
||||
mov ecx, 0x80FFFFFF
|
||||
mov edx, symbolDownArrow
|
||||
mcall 4
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
buttonHotKeyX = 280-10
|
||||
buttonHotKeyWidth = 90
|
||||
mov edx, 0x80000009 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 8
|
||||
cmp byte[mode], 49 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> mode > 1
|
||||
jbe @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax ebx ecx edx esi
|
||||
mov ebx, buttonHotKeyX*65536 + buttonHotKeyWidth ;X + Width
|
||||
mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height
|
||||
mov edx, 0x00000009 ;button id
|
||||
mov esi, 0x00FFFFFF ;color button
|
||||
mcall 8
|
||||
pop esi edx ecx ebx eax
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx, (buttonHotKeyX+buttonModeTextXoffset) * 65536 + (buttonModeY+buttonModeTextYoffset) ;(x, y)
|
||||
mov ecx, 0x80224466
|
||||
call setTextForHotKey
|
||||
mov esi, valueModeMenuSize
|
||||
mcall 4
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax ebx ecx edx edi esi
|
||||
mov ebx, buttonHotKeyX * 65536 + (buttonModeY-11)
|
||||
mov ecx, 0x80224466
|
||||
mov edx, hkCaption
|
||||
mov esi, 3
|
||||
mcall 4
|
||||
pop esi edi edx ecx ebx eax
|
||||
@@:
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 3
|
||||
cmp byte[mode], 51
|
||||
jne @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax ebx ecx edx edi esi
|
||||
mov ebx, (buttonHotKeyX + buttonHotKeyWidth + 20) * 65536 + (buttonModeY-11)
|
||||
mov ecx, 0x80224466
|
||||
mov edx, radiusCaption
|
||||
mov esi, 3
|
||||
mcall 4
|
||||
pop esi edi edx ecx ebx eax
|
||||
invoke edit_box_draw, editRadius
|
||||
@@:
|
||||
|
||||
call draw_super_text
|
||||
|
||||
LineLength = 62
|
||||
mov ebx, 40 * 65536 + 36 ; draw info text with function 4 (x, y)
|
||||
|
||||
;xor ecx, ecx
|
||||
;mov cl, 1 ;byte[mysize]
|
||||
;shl ecx, 24
|
||||
;add ecx, 0x224466
|
||||
;or ecx, 0x00224466 ;80224466
|
||||
mov ecx, 0x224466
|
||||
|
||||
mov edx, text
|
||||
mov esi, LineLength
|
||||
mov eax, 4
|
||||
@@ -805,6 +1313,79 @@ draw_window:
|
||||
|
||||
ret
|
||||
|
||||
hkSymbol: db 0, 0
|
||||
|
||||
setTextForHotKey:
|
||||
push eax
|
||||
mov al, byte[hkSymbol]
|
||||
cmp al, 0
|
||||
jne @f
|
||||
mov edx, hkHint
|
||||
mov dword[hkSize], 5 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPACE ;shift
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 1
|
||||
jne @f
|
||||
mov edx, hkAlt
|
||||
mov dword[hkSize], 3
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 2
|
||||
jne @f
|
||||
mov edx, hkShift
|
||||
mov dword[hkSize], 5
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 3
|
||||
jne @f
|
||||
mov edx, hkCtrl
|
||||
mov dword[hkSize], 4
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 32
|
||||
jne @f
|
||||
mov edx, hkSpace
|
||||
mov dword[hkSize], 5
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 96 ;'`'
|
||||
je setTextForHotKey.symb
|
||||
cmp al, 126 ;'~'
|
||||
je setTextForHotKey.symb
|
||||
cmp al, 48 ;'0'
|
||||
jb @f
|
||||
cmp al, 57 ;'9'
|
||||
ja @f
|
||||
.symb:
|
||||
mov edx, hkSymbol
|
||||
mov dword[hkSize], 1
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 97 ;'a'
|
||||
jb @f
|
||||
cmp al, 122 ;'z'
|
||||
ja @f
|
||||
;jmp setTextForHotKey.symb
|
||||
mov edx, hkSymbol
|
||||
mov dword[hkSize], 1
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
cmp al, 65 ;'A'
|
||||
jb @f
|
||||
cmp al, 90 ;'Z'
|
||||
ja @f
|
||||
;jmp setTextForHotKey.symb
|
||||
mov edx, hkSymbol
|
||||
mov dword[hkSize], 1
|
||||
jmp setTextForHotKey.end
|
||||
@@:
|
||||
mov word[hkSymbol], 0 ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
mov edx, hkHint
|
||||
mov dword[hkSize], 5 ;shift or space - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.end:
|
||||
pop eax
|
||||
ret
|
||||
|
||||
|
||||
setTextModeMenu:
|
||||
cmp byte[mode], 48
|
||||
@@ -831,6 +1412,49 @@ setTextModeMenu:
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
saveKey:
|
||||
cmp word[hkSymbol], 0
|
||||
je .default
|
||||
cmp byte[hkSymbol], 1
|
||||
je .alt
|
||||
cmp byte[hkSymbol], 2
|
||||
je .shift
|
||||
cmp byte[hkSymbol], 3
|
||||
je .ctrl
|
||||
cmp byte[hkSymbol], 32
|
||||
je .space
|
||||
.other:
|
||||
mov esi, hkSymbol
|
||||
mov byte[esi+1], 0
|
||||
mov dword[hkSize], 1
|
||||
jmp .end
|
||||
.space:
|
||||
mov esi, hkSpace
|
||||
mov dword[hkSize], 5
|
||||
jmp .end
|
||||
.ctrl:
|
||||
mov esi, hkCtrl
|
||||
mov dword[hkSize], 4
|
||||
jmp .end
|
||||
.alt:
|
||||
mov esi, hkAlt
|
||||
mov dword[hkSize], 3
|
||||
jmp .end
|
||||
.default:
|
||||
.shift:
|
||||
mov esi, hkShift
|
||||
mov dword[hkSize], 5
|
||||
.end:
|
||||
mov ebx, hkSize ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> dword[hkSize]
|
||||
call copyParam
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
align 16
|
||||
@IMPORT:
|
||||
|
||||
@@ -883,6 +1507,10 @@ head_f_i:
|
||||
err_message_found_lib1 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> ',39,'kmenu.obj',39,0
|
||||
err_message_import1 db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> ',39,'kmenu',39,0
|
||||
|
||||
hkCaption: db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:',0
|
||||
;hkHint: db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||||
radiusCaption: db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:',0
|
||||
|
||||
else ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
text db "This is a Hot Angles Configurator. "
|
||||
@@ -917,13 +1545,29 @@ head_f_i:
|
||||
err_message_found_lib1 db 'Could not find library ',39,'kmenu.obj',39,0
|
||||
err_message_import1 db 'Error importing library ',39,'kmenu',39,0
|
||||
|
||||
hkCaption: db 'Key:',0
|
||||
;hkHint: db 'press any key',0
|
||||
radiusCaption: db 'Radius:',0
|
||||
|
||||
end if
|
||||
|
||||
hkAlt: db 'Alt',0
|
||||
hkShift: db 'Shift',0
|
||||
hkCtrl: db 'Ctrl',0
|
||||
hkSpace: db 'Space',0
|
||||
hkHint: db '?',0
|
||||
hkSize: rd 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
draw_super_text:
|
||||
push eax ebx ecx edx edi esi
|
||||
|
||||
mov ecx, 0
|
||||
mov ch, byte[mysize]
|
||||
shl ecx, 16
|
||||
add ecx, 0x224466
|
||||
|
||||
mov ebx, Otstup * 65536 + 74 ; draw info text with function 4 (x, y)
|
||||
mov ecx, 0x224466
|
||||
;mov ecx, 0x224466
|
||||
mov eax, superText.lu
|
||||
mov edx, eax
|
||||
mov esi, superTextSize
|
||||
@@ -950,6 +1594,12 @@ draw_super_text:
|
||||
mov esi, 3
|
||||
mcall 4
|
||||
|
||||
; mov ebx, buttonHotKeyX * 65536 + (buttonModeY-11)
|
||||
; or ecx, 0x80000000
|
||||
; mov edx, hkCaption
|
||||
; mov esi, 3
|
||||
; mcall 4
|
||||
|
||||
pop esi edi edx ecx ebx eax
|
||||
ret
|
||||
|
||||
@@ -1027,6 +1677,72 @@ copyPath:
|
||||
ret
|
||||
|
||||
|
||||
IntToStr: ;in esi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; e<>x - <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax ecx edx esi
|
||||
cmp ecx, 0
|
||||
jne @f
|
||||
mov byte[esi], 48 ; '0'
|
||||
inc esi
|
||||
jmp .end
|
||||
@@:
|
||||
mov eax, ecx
|
||||
mov ecx, 10
|
||||
.next:
|
||||
mov edx, 0
|
||||
div ecx
|
||||
add edx, 48
|
||||
|
||||
mov byte[esi], dl
|
||||
|
||||
inc esi
|
||||
cmp eax, 0
|
||||
je .end
|
||||
jmp .next
|
||||
.end:
|
||||
mov byte[esi], 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
pop esi edx ecx eax
|
||||
call reverseString ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ret
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD>: esi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
reverseString:
|
||||
push eax esi edi
|
||||
|
||||
mov al, byte[esi] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
cmp al, 0
|
||||
je reverseString.end
|
||||
|
||||
mov edi, esi ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><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> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> edi
|
||||
.go_last_symbol:
|
||||
mov al, byte[edi+1]
|
||||
cmp al, 0
|
||||
je @f
|
||||
|
||||
inc edi
|
||||
jmp reverseString.go_last_symbol
|
||||
@@:
|
||||
push ebx
|
||||
.rev:
|
||||
cmp esi, edi
|
||||
jae @f
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al, byte[edi]
|
||||
mov bl, byte[esi]
|
||||
mov byte[edi], bl
|
||||
mov byte[esi], al
|
||||
|
||||
inc esi
|
||||
dec edi
|
||||
jmp reverseString.rev
|
||||
@@:
|
||||
pop ebx
|
||||
.end:
|
||||
pop edi esi eax
|
||||
ret
|
||||
|
||||
|
||||
|
||||
align 4
|
||||
but_open_dlg:
|
||||
pushad
|
||||
@@ -1117,6 +1833,7 @@ editLU edit_box 180-buttonW,Otstup+buttonW,85, 0xffffff, 0x6a9480, 0, 0xAABBCC
|
||||
editLD edit_box 180-buttonW,Otstup+buttonW,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax
|
||||
editRU edit_box 180-buttonW,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax
|
||||
editRD edit_box 180-buttonW,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax
|
||||
editRadius edit_box 40,(buttonHotKeyX + buttonHotKeyWidth + 20),buttonModeY, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, 4, radiusBuffer.data, mouse_dd, ed_figure_only, edMax, edMax
|
||||
|
||||
align 4
|
||||
import_libkmenu:
|
||||
@@ -1142,8 +1859,16 @@ dd 0,0
|
||||
akmenuitem_delete db 'kmenuitem_delete',0
|
||||
akmenuitem_draw db 'kmenuitem_draw',0
|
||||
|
||||
mouse_dd dd ?
|
||||
;mouse_dd dd ?
|
||||
sc system_colors
|
||||
mouse_dd rd 1
|
||||
|
||||
sizeStyle: rb 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mysize: rb 1 ;rd 1
|
||||
radiusBuffer: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.data: rb 6
|
||||
.size: rd 1
|
||||
radiusBufferEnd:
|
||||
|
||||
button_press rd 0 ;for kmenu
|
||||
|
||||
@@ -1156,6 +1881,10 @@ rb 1024
|
||||
procinfo process_information
|
||||
pi rb 1024
|
||||
|
||||
keyscan: rb 1
|
||||
keystr:
|
||||
.data: rb 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.size: rd 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
dataBuffer:
|
||||
.1: rb 512
|
||||
|
@@ -2,7 +2,7 @@
|
||||
; Hot Angles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Compile with FASM
|
||||
; Version 0.3.6: Oct 9, 2018
|
||||
; Version 0.3.7: Oct 14, 2018
|
||||
|
||||
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage
|
||||
; All rights reserved.
|
||||
@@ -31,6 +31,7 @@ org 0x0 ;
|
||||
|
||||
UNLOCKd = 0
|
||||
LOCKd = 1
|
||||
SUPERLOCKd = 2
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -118,9 +119,11 @@ hotkey:
|
||||
cmp ah, byte[keyActivate] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f
|
||||
|
||||
;for mode 3 [
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mode 3
|
||||
cmp byte[state], SUPERLOCKd
|
||||
je hotkey.end
|
||||
cmp byte[keyState], 1
|
||||
je hotkey.e
|
||||
je hotkey.end
|
||||
|
||||
push eax ebx
|
||||
mcall 37, 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
@@ -132,9 +135,6 @@ hotkey:
|
||||
|
||||
mov byte[keyState], 1
|
||||
mov byte[state], UNLOCKd
|
||||
.e:
|
||||
;]
|
||||
;mov byte[state], UNLOCKd
|
||||
jmp hotkey.end
|
||||
@@:
|
||||
push edx
|
||||
@@ -143,8 +143,7 @@ hotkey:
|
||||
add dl, 128
|
||||
cmp ah, dl ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f ;hotkey.end
|
||||
;mov ecx, 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;call run_command
|
||||
|
||||
mov byte[keyState], 0
|
||||
mov byte[state], LOCKd
|
||||
@@:
|
||||
@@ -247,53 +246,56 @@ run_command:
|
||||
cmp byte[state], UNLOCKd
|
||||
jne run_command.end
|
||||
|
||||
; cmp byte[mode], 2 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; jne @f
|
||||
|
||||
push eax ebx ecx
|
||||
|
||||
cmp ecx, 0
|
||||
jne @f
|
||||
mov eax, dword[newData.lu]
|
||||
mov eax, apps.path1 ;dword[newData.lu]
|
||||
cmp byte[eax], 0 ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-'), <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
je .set0
|
||||
mov dword[struct70.path_adr], eax
|
||||
mov eax, apps.param1
|
||||
mov dword[struct70.param_adr], eax
|
||||
jmp .end_set_path
|
||||
@@:
|
||||
cmp ecx, 1
|
||||
jne @f
|
||||
mov eax, dword[newData.ld]
|
||||
mov eax, apps.path2 ;dword[newData.ld]
|
||||
cmp byte[eax], 0 ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-'), <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
je .set0
|
||||
mov dword[struct70.path_adr], eax
|
||||
mov eax, apps.param2
|
||||
mov dword[struct70.param_adr], eax
|
||||
jmp .end_set_path
|
||||
@@:
|
||||
cmp ecx, 2
|
||||
jne @f
|
||||
mov eax, dword[newData.ru]
|
||||
mov eax, apps.path3 ;dword[newData.ru]
|
||||
cmp byte[eax], 0 ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-'), <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
je .set0
|
||||
mov dword[struct70.path_adr], eax
|
||||
mov eax, apps.param3
|
||||
mov dword[struct70.param_adr], eax
|
||||
jmp .end_set_path
|
||||
@@:
|
||||
cmp ecx, 3
|
||||
jne .end_set_path
|
||||
mov eax, dword[newData.rd]
|
||||
jne .set0 ;.end_set_path
|
||||
mov eax, apps.path4 ;dword[newData.rd]
|
||||
cmp byte[eax], 0 ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-'), <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
je .set0
|
||||
mov dword[struct70.path_adr], eax
|
||||
mov eax, apps.param4
|
||||
mov dword[struct70.param_adr], eax
|
||||
jmp .end_set_path
|
||||
.end_set_path:
|
||||
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;mov dword[struct.adr],
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 0, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp dword[struct70.path_adr], 0
|
||||
jne .next
|
||||
;mov eax, testData.ld
|
||||
;mov dword[struct70.path_adr], eax
|
||||
.set0:
|
||||
;mov dword[struct70.path_adr], 0
|
||||
;mov dword[struct70.param_adr], 0
|
||||
jmp @f
|
||||
.next:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
.end_set_path:
|
||||
mcall 70, struct70
|
||||
@@:
|
||||
mov byte[state], LOCKd
|
||||
;mov byte[keyState], 0
|
||||
|
||||
pop ecx ebx eax
|
||||
.end:
|
||||
ret
|
||||
@@ -303,15 +305,106 @@ struct70: ;
|
||||
.mask dd 0
|
||||
.param_adr dd 0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ASCIIZ-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.other dd 0, 0
|
||||
.path db 0 ; "/rd/1/TINYPAD",0 ; <20><><EFBFBD><EFBFBD>
|
||||
.path_adr dd 0 ;testData.lu
|
||||
.path db 0
|
||||
.path_adr dd 0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
fileName: db 'SETTINGS/HOTANGLES.CFG', 0
|
||||
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
gotoEndString:
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je @f
|
||||
cmp byte[eax], 0
|
||||
je @f
|
||||
cmp byte[eax], 13
|
||||
je @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc eax
|
||||
jmp gotoEndString
|
||||
@@:
|
||||
ret
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
gotoStartString:
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 10
|
||||
je .next
|
||||
cmp byte[eax], 0
|
||||
je .next
|
||||
cmp byte[eax], 13
|
||||
je .next
|
||||
jmp @f ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.next: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc eax
|
||||
jmp gotoStartString
|
||||
@@:
|
||||
ret
|
||||
|
||||
|
||||
sep: db '|' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
readPath:
|
||||
push ebx esi edi
|
||||
mov bh, 0 ; 0 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov byte[esi], 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
mov byte[edi], 0
|
||||
@@:
|
||||
cmp eax, edx ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
ja @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov bl, byte[eax]
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp bl, 10
|
||||
je @f ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp bl, 0
|
||||
je @f
|
||||
cmp bl, 13
|
||||
je @f
|
||||
;<3B> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp bl, byte[sep]
|
||||
jne .read
|
||||
;<3B><><EFBFBD><EFBFBD> sep <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
cmp bh, 0
|
||||
jne .read ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov byte[esi], 0
|
||||
call trim ;<3B><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, edi
|
||||
mov bh, 1
|
||||
inc eax
|
||||
jmp @b
|
||||
.read: ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov byte[esi], bl
|
||||
inc esi
|
||||
inc eax
|
||||
jmp @b
|
||||
@@:
|
||||
mov byte[esi], 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
pop edi esi ebx
|
||||
ret
|
||||
|
||||
trim: ;esi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;push esi
|
||||
mov byte[esi], 0
|
||||
dec esi
|
||||
cmp byte[esi], 8
|
||||
je trim
|
||||
cmp byte[esi], 32
|
||||
je trim
|
||||
inc esi
|
||||
;pop esi
|
||||
ret
|
||||
|
||||
|
||||
cfgFileAdr: dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
loadConfig:
|
||||
push eax ebx ecx edx
|
||||
mcall 68, 27, fileName ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD>
|
||||
mov dword[cfgFileAdr], eax
|
||||
cmp eax, 0
|
||||
je loadConfig.exit ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edx
|
||||
@@ -321,12 +414,22 @@ loadConfig:
|
||||
add edx, eax ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edx - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
mov byte[mode], 0
|
||||
cmp byte[eax], '0' ;121 ;'y' ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], '0' ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je loadConfig.exit ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 110 ;'n'
|
||||
je loadConfig.exit
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp byte[eax], 121 ;'y' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f
|
||||
mov byte[mode], 1
|
||||
jmp loadConfig.modeEnd
|
||||
@@:
|
||||
cmp byte[eax], '1' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f
|
||||
mov byte[mode], 1
|
||||
jmp loadConfig.modeEnd
|
||||
@@:
|
||||
cmp byte[eax], '2' ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jne @f
|
||||
mov byte[mode], 2
|
||||
@@ -337,72 +440,290 @@ loadConfig:
|
||||
mov byte[mode], 3
|
||||
jmp loadConfig.modeEnd
|
||||
@@:
|
||||
mov byte[mode], 1 ;<3B><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov byte[mode], 0 ;<3B><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jmp loadConfig.exit
|
||||
.modeEnd:
|
||||
|
||||
push edi
|
||||
push esi
|
||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edi, newData
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, eax
|
||||
.block:
|
||||
inc esi
|
||||
cmp byte[esi], 10 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10 <20><><EFBFBD> 13, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je loadConfig.propusk ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>
|
||||
cmp byte[esi], 13
|
||||
je loadConfig.propusk
|
||||
;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call gotoEndString
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call gotoStartString
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
mov dword[edi], esi
|
||||
add edi, 4
|
||||
push esi edi
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD> <20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10, 13, 0 <20><><EFBFBD> file end
|
||||
.while:
|
||||
inc esi
|
||||
cmp esi, edx ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> !!! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jae loadConfig.fileend
|
||||
cmp byte[esi], 10
|
||||
je loadConfig.ura
|
||||
cmp byte[esi], 0
|
||||
je loadConfig.ura
|
||||
cmp byte[esi], 13
|
||||
jne loadConfig.while
|
||||
.ura:
|
||||
mov byte[esi], 0
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov esi, apps.path1
|
||||
mov edi, apps.param1
|
||||
call readPath
|
||||
call gotoStartString ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;cmp byte[esi-1], '-'
|
||||
;jne @f
|
||||
push esi ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
mov esi, dword[edi-4]
|
||||
cmp byte[esi], '-'
|
||||
jne @f
|
||||
cmp byte[esi+1], 0
|
||||
jne @f
|
||||
mov dword[edi-4], 0
|
||||
@@:
|
||||
pop esi
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov esi, apps.path2
|
||||
mov edi, apps.param2
|
||||
call readPath
|
||||
call gotoStartString
|
||||
|
||||
cmp edi, newDataEnd ;newData.end ;<3B><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jb loadConfig.block
|
||||
.fileend:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, apps.path3
|
||||
mov edi, apps.param3
|
||||
call readPath
|
||||
call gotoStartString
|
||||
|
||||
pop esi
|
||||
pop edi
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov esi, apps.path4
|
||||
mov edi, apps.param4
|
||||
call readPath
|
||||
call gotoStartString
|
||||
|
||||
jmp loadConfig.end
|
||||
;call checkAdr ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> '-' <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
call checkPathAdr
|
||||
|
||||
.propusk:
|
||||
mov byte[esi], 0
|
||||
jmp loadConfig.block
|
||||
pop edi esi
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call gotoEndString
|
||||
call gotoStartString
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;call readKey
|
||||
;call gotoEndString
|
||||
push esi edi ecx
|
||||
mov esi, keystr
|
||||
mov edi, keystr
|
||||
call readPath
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, keystr
|
||||
call strToInteger
|
||||
mov byte[keyActivate], cl
|
||||
pop ecx edi esi
|
||||
call gotoStartString
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push esi edi ecx
|
||||
mov esi, radstr
|
||||
mov edi, radstr
|
||||
call readPath
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, radstr
|
||||
call strToInteger
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;!!! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax edx
|
||||
mov eax, ecx ;dword[radius2]
|
||||
mul ecx
|
||||
mov dword[radius2], eax
|
||||
pop edx eax
|
||||
|
||||
pop ecx edi esi
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
jmp .end
|
||||
.exit:
|
||||
pop edx ecx ebx eax
|
||||
mcall -1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.end:
|
||||
mov ecx, dword[cfgFileAdr] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||
cmp ecx, 0
|
||||
je @f
|
||||
mcall 68, 13, ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
|
||||
|
||||
;readKey:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; cmp dword[eax], 'Ctrl'
|
||||
; jne .notCtrl
|
||||
; mov byte[keyActivate], 3
|
||||
; jmp .end
|
||||
;.notCtrl:
|
||||
; cmp dword[eax], 'Shif'
|
||||
; jne .notShift
|
||||
; mov byte[keyActivate], 2
|
||||
; jmp .end
|
||||
;.notShift:
|
||||
; cmp dword[eax], 'Spac'
|
||||
; jne .notSpace
|
||||
; mov byte[keyActivate], 32
|
||||
; jmp .end
|
||||
;.notSpace:
|
||||
; cmp word[eax], 'Al'
|
||||
; jne .notAlt
|
||||
; mov byte[keyActivate], 1
|
||||
; jmp .end
|
||||
;.notAlt:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; cmp byte[eax+1], 10
|
||||
; je .oneSymb
|
||||
; cmp byte[eax+1], 0
|
||||
; je .oneSymb
|
||||
; cmp byte[eax+1], 13
|
||||
; je .oneSymb
|
||||
; jmp .default ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;.oneSymb:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> !!! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
; push ebx
|
||||
; ;xor ebx, ebx
|
||||
; mov bl, byte[eax]
|
||||
; mov byte[keyActivate], bl
|
||||
; pop ebx
|
||||
|
||||
; jmp .end
|
||||
;.default:
|
||||
; mcall -1
|
||||
; ;mov byte[keyActivate], 2
|
||||
;.end:
|
||||
; ret
|
||||
|
||||
|
||||
checkPathAdr:
|
||||
push eax ebx
|
||||
xor eax, eax
|
||||
|
||||
mov ebx, apps.path1
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
;cmp byte[ebx+1], 0
|
||||
;jne @f
|
||||
mov byte[ebx], 0
|
||||
@@:
|
||||
mov ebx, apps.path2
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
;cmp byte[ebx+1], 0
|
||||
;jne @f
|
||||
mov byte[ebx], 0
|
||||
@@:
|
||||
mov ebx, apps.path3
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
;cmp byte[ebx+1], 0
|
||||
;jne @f
|
||||
mov byte[ebx], 0
|
||||
@@:
|
||||
mov ebx, apps.path4
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
;cmp byte[ebx+1], 0
|
||||
;jne @f
|
||||
mov byte[ebx], 0
|
||||
@@:
|
||||
pop ebx eax
|
||||
ret
|
||||
|
||||
|
||||
checkAdr:
|
||||
push eax ebx
|
||||
xor eax, eax
|
||||
|
||||
mov ebx, apps.path1
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
inc eax
|
||||
@@:
|
||||
mov ebx, apps.path2
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 2
|
||||
@@:
|
||||
mov ebx, apps.path3
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 4
|
||||
@@:
|
||||
mov ebx, apps.path4
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 8
|
||||
@@:
|
||||
|
||||
mov ebx, apps.param1
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 16
|
||||
@@:
|
||||
mov ebx, apps.param2
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 32
|
||||
@@:
|
||||
mov ebx, apps.param3
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 64
|
||||
@@:
|
||||
mov ebx, apps.param4
|
||||
cmp byte[ebx], '-'
|
||||
jne @f
|
||||
add eax, 128
|
||||
@@:
|
||||
|
||||
mov byte[apps.bits], al
|
||||
pop ebx eax
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
strToInteger: ;<3B><><EFBFBD><EFBFBD>: esi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>: e<>x - <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax ebx edx edi
|
||||
xor eax, eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eax
|
||||
xor ecx, ecx
|
||||
mov edi, esi
|
||||
.get_last_symbol:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al, byte[edi]
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp al, 0
|
||||
je @f
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc edi
|
||||
jmp .get_last_symbol
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> edi
|
||||
dec edi
|
||||
|
||||
cmp edi, esi ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jae @f
|
||||
jmp .error ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> esi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
mov cl, byte[edi]
|
||||
sub cl, 48 ;0x30 ;'0'
|
||||
dec edi ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx, 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.tranform_cicle:
|
||||
cmp edi, esi ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jb .end
|
||||
|
||||
mov eax, 0
|
||||
mov al, byte[edi]
|
||||
sub al, 48 ;'0'
|
||||
cmp al, 9 ;0x39 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><> <20><><EFBFBD>
|
||||
ja .error
|
||||
cmp al, 0 ;0x30 ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><> <20><><EFBFBD>
|
||||
jb .error
|
||||
mov edx, 0
|
||||
mul ebx
|
||||
|
||||
add ecx, eax
|
||||
|
||||
dec edi
|
||||
mov edx, 0
|
||||
mov eax, 10
|
||||
mul ebx
|
||||
mov ebx, eax
|
||||
jmp .tranform_cicle
|
||||
.error:
|
||||
mov ecx, 0
|
||||
.end:
|
||||
pop edi edx ebx eax
|
||||
ret
|
||||
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -474,7 +795,7 @@ copyKill:
|
||||
|
||||
;MODE 3
|
||||
init03:
|
||||
mov dword[radius2], 100; 10*10
|
||||
;mov dword[radius2], 100; 10*10
|
||||
mov dword[backAdr], mode03
|
||||
call setHotKey
|
||||
mode03:
|
||||
@@ -496,6 +817,9 @@ mouse03:
|
||||
cmp byte[state], LOCKd ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je mouse03.updateCoord
|
||||
|
||||
cmp byte[state], SUPERLOCKd ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je @f
|
||||
|
||||
call checkPointInCircle ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
jmp @f
|
||||
.updateCoord:
|
||||
@@ -589,7 +913,7 @@ activateCorner:
|
||||
mov ecx, 1
|
||||
call run_command
|
||||
mov byte[keyState], 0
|
||||
mov byte[state], LOCKd
|
||||
mov byte[state], SUPERLOCKd
|
||||
jmp activateCorner.end
|
||||
|
||||
.leftup:
|
||||
@@ -597,7 +921,7 @@ activateCorner:
|
||||
mov ecx, 0
|
||||
call run_command
|
||||
mov byte[keyState], 0
|
||||
mov byte[state], LOCKd
|
||||
mov byte[state], SUPERLOCKd
|
||||
jmp activateCorner.end
|
||||
|
||||
.right: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -610,7 +934,7 @@ activateCorner:
|
||||
mov ecx, 3
|
||||
call run_command
|
||||
mov byte[keyState], 0
|
||||
mov byte[state], LOCKd
|
||||
mov byte[state], SUPERLOCKd
|
||||
jmp activateCorner.end
|
||||
|
||||
.rightup:
|
||||
@@ -618,7 +942,7 @@ activateCorner:
|
||||
mov ecx, 2
|
||||
call run_command
|
||||
mov byte[keyState], 0
|
||||
mov byte[state], LOCKd
|
||||
mov byte[state], SUPERLOCKd
|
||||
jmp activateCorner.end
|
||||
|
||||
.end:
|
||||
@@ -631,10 +955,6 @@ keyActivate db 41 ;16 ;'Q' ;
|
||||
keyState db 0 ;0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
backAdr rd 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
;slotMax dd 0
|
||||
;selfPID dd 0
|
||||
;buf db 1024 dup(0)
|
||||
slotMax rd 1
|
||||
selfPID rd 1
|
||||
buf rb 1024
|
||||
@@ -644,14 +964,23 @@ screen:
|
||||
.width rw 1
|
||||
.height rw 1
|
||||
|
||||
state: rb 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 0=unlock, 1=lock
|
||||
state: rb 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 0=unlock, 1=lock, 2=superlock for mode 3
|
||||
mode: rb 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 0=<3D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2=<3D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
newData: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.lu rd 1
|
||||
.ld rd 1
|
||||
.ru rd 1
|
||||
.rd rd 1
|
||||
newDataEnd:
|
||||
|
||||
keystr: rb 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
radstr: rb 5 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
apps:
|
||||
.bits: rb 1
|
||||
.path1: rb 512
|
||||
.path2: rb 512
|
||||
.path3: rb 512
|
||||
.path4: rb 512
|
||||
.param1: rb 512
|
||||
.param2: rb 512
|
||||
.param3: rb 512
|
||||
.param4: rb 512
|
||||
appsEnd:
|
||||
|
||||
|
||||
I_END:
|
||||
|
@@ -1,23 +1,31 @@
|
||||
Hot Angles
|
||||
|
||||
Version 0.3.6: Oct 9, 2018
|
||||
Version 0.3.7: Oct 14, 2018
|
||||
RU
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Hot Corners <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
@HOTANGLES - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <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> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
||||
HACONFIG - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RD/1/SETTINGS/HOTANGLES.CFG (<28><><EFBFBD> RD/1/ <20><><EFBFBD> <20><><EFBFBD> <20><> SYS - <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>). <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RD/1/SETTINGS/HOTANGLES.CFG (<28><><EFBFBD> RD/1/ <20><><EFBFBD> <20><><EFBFBD> <20><> SYS - <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>). <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:
|
||||
1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):
|
||||
1 <20><><EFBFBD> y - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
2 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
3 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
n <20><><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||
2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
6) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 <20> 3): '0'..'9','a'..'z','A'..'Z',Space,Shift,Alt,Ctrl,'~' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Shift,Alt,Ctrl <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.3.7);
|
||||
7) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @HOTANGLES);
|
||||
8) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> mode 3);
|
||||
9) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
a - auto, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 1 <20><> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
s - <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-').
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.3.6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @HOTANGLES <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
|
||||
|
@@ -1,5 +1,9 @@
|
||||
1
|
||||
0
|
||||
/rd/1/HACONFIG
|
||||
/rd/1/HACONFIG
|
||||
/rd/1/HACONFIG
|
||||
/rd/1/HACONFIG
|
||||
Space
|
||||
57
|
||||
10
|
||||
s
|
||||
|
Reference in New Issue
Block a user