1233 lines
53 KiB
NASM
1233 lines
53 KiB
NASM
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; Program Palitra (c) Sergei Steshin (Akyltist) |
|
|||
|
;----------------------------------------------------------------------------------------------------|
|
|||
|
;; Charset:DOS-866 Font:Courier New Size:9pt |
|
|||
|
;.....................................................................................................
|
|||
|
;; compiler: FASM 1.69.31 |
|
|||
|
;; version: 0.3.0 |
|
|||
|
;; last update: 08/11/2012 |
|
|||
|
;; e-mail: dr.steshin@gmail.com |
|
|||
|
;.....................................................................................................
|
|||
|
;; History: |
|
|||
|
;; 0.1.0 - <20><>ࢠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>. |
|
|||
|
;; 0.2.0 - <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>訩 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>. |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD>, <20><><EFBFBD> ॣ㫨<E3ABA8><E0AEA2><EFBFBD><EFBFBD> rgb <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<><E6A2A5> <20> <20>뢮<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; - <20><>࠭ <20>뢮<EFBFBD> 梥<><E6A2A5> <20> <20><><EFBFBD><EFBFBD>୮<EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD>㠫쭮<E3A0AB><ECADAE><EFBFBD><EFBFBD>). |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᬥ⨪<E1ACA5>. |
|
|||
|
;; 0.3.0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>४<EFBFBD><E0A5AA>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> 梥⮢<E6A2A5><E2AEA2> <20>奬 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NEXT) |
|
|||
|
;; - <20><><EFBFBD><EFBFBD>襭<EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD>, <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>冷<EFBFBD> <20> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA>. |
|
|||
|
;; - <20><> <20><>⮪ <20> 梥⮢<E6A2A5><E2AEA2> <20>奬<EFBFBD> 㬥<><E3ACA5>襭<EFBFBD> <20> 6 <20><> 4 (<28><><EFBFBD>⭮<EFBFBD><E2ADAE><EFBFBD> 256, <20><><EFBFBD><EFBFBD><EFBFBD> <20>㡫<EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> 梥<><E6A2A5>).|
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᬥ⨪<E1ACA5>. |
|
|||
|
;; 0.4.0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>४<EFBFBD><E0A5AA>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 梥⠬<E6A2A5> |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭮<EFBFBD> ॣ㫨<E3ABA8><E0AEA2><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD>㠫<EFBFBD><E3A0AB><EFBFBD>樨). |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> rgba <20><> 業<><E6A5AD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; - <20><>ᬥ<EFBFBD><E1ACA5><EFBFBD><EFBFBD>᪨<EFBFBD> <20>ࠢ<EFBFBD><E0A0A2>. |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; 0.5.0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ<><E1ACA5> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD> (<28><> Leency). |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; - <20><>ᬥ<EFBFBD><E1ACA5><EFBFBD><EFBFBD>᪨<EFBFBD> <20>ࠢ<EFBFBD><E0A0A2>. |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; 0.6.0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠ <20> <20><>ࠬ<EFBFBD><E0A0AC>ࠬ<EFBFBD> |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> H (hidden) <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. |
|
|||
|
;; 0.7.0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⪠ - <20>롮<EFBFBD> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |
|
|||
|
;; 0.7.5 - <20><><EFBFBD><EFBFBD>⨥ <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD>襩 <20><><EFBFBD><EFBFBD> <20><> <20>祩<EFBFBD><E7A5A9> <20> 梥⮬ <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>᭮<EFBFBD><E1ADAE><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 梥<> |
|
|||
|
;; - <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD> <20><><EFBFBD>栭<EFBFBD><E6A0AD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD>⪨ |
|
|||
|
;; 0.7.6 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> B, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD> <20>㬭<EFBFBD><E3ACAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (e-andrew)|
|
|||
|
;.....................................................................................................
|
|||
|
;; All rights reserved. |
|
|||
|
;; |
|
|||
|
;; Redistribution and use in source and binary forms, with or without modification, are permitted |
|
|||
|
;; provided that the following conditions are met: |
|
|||
|
;; * Redistributions of source code must retain the above copyright notice, this list of |
|
|||
|
;; conditions and the following disclaimer. |
|
|||
|
;; * Redistributions in binary form must reproduce the above copyright notice, this list of |
|
|||
|
;; conditions and the following disclaimer in the documentation and/or other materials |
|
|||
|
;; provided with the distribution. |
|
|||
|
;; * Neither the name of the <organization> nor the names of its contributors may be used to |
|
|||
|
;; endorse or promote products derived from this software without specific prior written |
|
|||
|
;; permission. |
|
|||
|
;; |
|
|||
|
;; THIS SOFTWARE IS PROVIDED BY Sergei Steshin ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
|||
|
;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
|
|||
|
;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY DIRECT, |
|
|||
|
;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED |
|
|||
|
;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
|||
|
;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
|||
|
;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
|||
|
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|||
|
;....................................................................................................|
|
|||
|
|
|||
|
|
|||
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; <20><><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> |
|
|||
|
;----------------------------------------------------------------------------------------------------/
|
|||
|
use32
|
|||
|
org 0
|
|||
|
db 'MENUET01'
|
|||
|
dd 1,START,I_END,I_MEM,stacktop,params,sys_path
|
|||
|
|
|||
|
include '../../../macros.inc'
|
|||
|
include '../../../proc32.inc'
|
|||
|
include '../../../KOSfuncs.inc'
|
|||
|
include '../../../dll.inc'
|
|||
|
|
|||
|
WIN_W equ 394 ; <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
WIN_H equ 251 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
WIN_X equ 250 ; <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
WIN_Y equ 190 ; <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
panel:
|
|||
|
file "panel.raw"
|
|||
|
|
|||
|
START:
|
|||
|
mcall SF_SYS_MISC,SSF_HEAP_INIT ; <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
stdcall dll.Load, @IMPORT
|
|||
|
or eax,eax
|
|||
|
jnz bexit
|
|||
|
mcall SF_SET_EVENTS_MASK,0x27 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨩
|
|||
|
include 'params_init.inc' ; <20><>ࠡ<EFBFBD>⪠ <20><>ࠬ<EFBFBD><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
|||
|
|
|||
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|||
|
;----------------------------------------------------------------------------------------------------/
|
|||
|
red:
|
|||
|
call draw_main ; <20><><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
still:
|
|||
|
mcall SF_WAIT_EVENT ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
cmp eax,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
|||
|
je red ; <20> <20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red
|
|||
|
cmp eax,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
|
|||
|
je key ; <20> <20><> - <20><> key
|
|||
|
cmp eax,3 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
|
|||
|
je button ; <20> <20><> - <20><> button
|
|||
|
cmp eax,6 ; ᮡ<>⨥ <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
je mouse ; <20> <20><> - <20><> button
|
|||
|
jmp still ; <20> <20><>㣮<EFBFBD> ᮡ<>⨥ - <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
;end_still
|
|||
|
|
|||
|
key: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mcall SF_GET_KEY ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> (<28> ah) (<28><><EFBFBD> <20> <20>ਭ樯<E0A8AD> <20><> <20>㦭<EFBFBD>)
|
|||
|
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
;end_key
|
|||
|
|
|||
|
mouse:
|
|||
|
cmp [renmode],2
|
|||
|
jne left
|
|||
|
call cyrcle_draw
|
|||
|
jmp center
|
|||
|
left:
|
|||
|
mcall SF_MOUSE_GET,SSF_BUTTON
|
|||
|
cmp al,1b
|
|||
|
jne right
|
|||
|
mov [mouse_f],1
|
|||
|
jmp still
|
|||
|
right:
|
|||
|
cmp al,10b
|
|||
|
jne still
|
|||
|
mov [mouse_f],2
|
|||
|
jmp still
|
|||
|
center:
|
|||
|
mcall SF_MOUSE_GET,SSF_BUTTON
|
|||
|
cmp al,100b
|
|||
|
jne still
|
|||
|
mov [mouse_f],3
|
|||
|
mov [color],edx
|
|||
|
call draw_result
|
|||
|
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
;end_mouse
|
|||
|
|
|||
|
button:
|
|||
|
mcall SF_GET_BUTTON ; 17 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cmp ah, 1 ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> 1,
|
|||
|
jz bexit ; <20><>室<EFBFBD><E5AEA4>
|
|||
|
;<3B><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Next
|
|||
|
cmp ah, 12 ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NEXT
|
|||
|
jne next_bg ; <20><>室<EFBFBD><E5AEA4>
|
|||
|
inc [pnext] ; 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov [renmode],0 ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> 梥⮢<E6A2A5><E2AEA2> <20>奬<EFBFBD>
|
|||
|
mov eax,[pnext] ; <20><><EFBFBD><EFBFBD>ᨬ <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> <20><><EFBFBD>
|
|||
|
cmp al,6 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jne next_redraw ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ㬠 <20><> <20><> <20>맮<EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
|||
|
xor eax,eax ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> default
|
|||
|
mov [pnext],eax ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ᨫ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> default
|
|||
|
next_redraw:
|
|||
|
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jmp still ; <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
next_bg:
|
|||
|
cmp ah, 14 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BACKGROUND
|
|||
|
jne next_bg2 ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>室<EFBFBD><E5AEA4>
|
|||
|
call set_background ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭
|
|||
|
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
next_bg2:
|
|||
|
cmp ah, 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BACKGROUND
|
|||
|
jne circle_bg ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>室<EFBFBD><E5AEA4>
|
|||
|
call set_background2 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭
|
|||
|
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
circle_bg:
|
|||
|
cmp ah, 15 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jne next_end ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>室<EFBFBD><E5AEA4>
|
|||
|
mov [renmode],2 ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><>㣮<EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
next_end:
|
|||
|
cmp ah,13 ; COLOR SWAP
|
|||
|
jne color_swap_end
|
|||
|
push [color2]
|
|||
|
push [color]
|
|||
|
pop [color2]
|
|||
|
pop [color]
|
|||
|
call draw_result
|
|||
|
jmp still ; <20> <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
color_swap_end:
|
|||
|
cmp ah, 7 ; <20><EFBFBD><E0AEA2>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ID=7
|
|||
|
jne color_button ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
call mouse_get ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>稪 <20><><EFBFBD><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> 梥<><E6A2A5> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jmp still ; <20> <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
color_button: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA> RGBA
|
|||
|
push eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
|||
|
call mouse_local ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
|||
|
mov ebx, 188;137 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD> <20><> <20>
|
|||
|
mov ecx,[mouse_y] ; <20><><EFBFBD><EFBFBD>ᨬ <20> <20><><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
|||
|
sub ebx,ecx ; <20><>室<EFBFBD><E5AEA4> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> (<28>.<2E>. <20>㤠 ᬥ頥<E1ACA5><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD>㭮<EFBFBD>)
|
|||
|
mov ecx, 2;3 ; <20><><EFBFBD><EFBFBD>ᨬ <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 3 (256/3=85, <20><><EFBFBD> 85-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA>)
|
|||
|
imul ecx,ebx ; <20><>室<EFBFBD><E5AEA4> <20><>⨭<EFBFBD><E2A8AD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> 梥<><E6A2A5> <20> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD>⠡<EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD>---+
|
|||
|
pop eax ; <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> :
|
|||
|
;red_button: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>४<EFBFBD><E0A5AA><EFBFBD> :
|
|||
|
cmp ah, 8 ; ID=8 :
|
|||
|
jne green_button ; <20> <20><><EFBFBD>, <20><> <20><EFBFBD><E0AEA2>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>४<EFBFBD><E0A5AA><EFBFBD> :
|
|||
|
mov [cred],cl ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᢠ<EFBFBD><E1A2A0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>, <20><><EFBFBD>᭮<EFBFBD><E1ADAE> 梥<><E6A2A5> ᯥ<><E1AFA5><EFBFBD><EFBFBD> <------+
|
|||
|
call set_spectr ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯥ<><E1AFA5><EFBFBD>
|
|||
|
jmp still ; <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
green_button:
|
|||
|
cmp ah, 9
|
|||
|
jne blue_button
|
|||
|
mov [cgreen],cl
|
|||
|
call set_spectr
|
|||
|
jmp still ; <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
blue_button:
|
|||
|
cmp ah, 10
|
|||
|
jne alpha_button
|
|||
|
mov [cblue],cl
|
|||
|
call set_spectr
|
|||
|
jmp still ; <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
alpha_button:
|
|||
|
cmp ah, 11
|
|||
|
jne still
|
|||
|
mov [calpha],cl
|
|||
|
call set_spectr
|
|||
|
jmp still ; <20>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
|||
|
bexit:
|
|||
|
mcall SF_TERMINATE_PROCESS ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|||
|
;end_button
|
|||
|
|
|||
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|||
|
;----------------------------------------------------------------------------------------------------/
|
|||
|
draw_main:
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD>砥<EFBFBD>, <20><><EFBFBD> <20>㤥<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 48 - <20>⨫<EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 48 - <20>⨫<EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
|
|||
|
mov ecx,eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<><E1AAA8>
|
|||
|
|
|||
|
mov edi,[runmode]
|
|||
|
cmp edi,2
|
|||
|
jne no_hiddenmode
|
|||
|
mov edi,hidden
|
|||
|
jmp set_title
|
|||
|
no_hiddenmode:
|
|||
|
cmp edi,3
|
|||
|
jne no_dialogmode
|
|||
|
mov edi,hidden
|
|||
|
jmp set_title
|
|||
|
no_dialogmode:
|
|||
|
mov edi,title ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
set_title:
|
|||
|
|
|||
|
xor eax,eax ; <20><><EFBFBD>頥<EFBFBD> eax (mov eax,0) (<28>㭪<EFBFBD><E3ADAA><EFBFBD> 0)
|
|||
|
mov ebx,WIN_X shl 16+WIN_W ; [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]
|
|||
|
add ecx,WIN_Y shl 16+WIN_H ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<><E1AAA8> + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> y] (168 <20><><EFBFBD> <20><><EFBFBD>ᨨ 0.2)
|
|||
|
mov edx,[sc.work] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⨫<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>䮫<EFBFBD><E4AEAB>
|
|||
|
or edx,0x34000000 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ᪨<><E1AAA8><EFBFBD> 䨪<><E4A8AA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7>
|
|||
|
|
|||
|
int 0x40 ; <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
call draw_result ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 8 - <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mcall SF_DEFINE_BUTTON, (110 shl 16)+147, (9 shl 16)+147, 0x60000007
|
|||
|
|
|||
|
inc edx
|
|||
|
mcall , 18*65536+22, 61*65536+188 ; <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABA0><EFBFBD> red
|
|||
|
add ebx,20*65536+20 ;23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞
|
|||
|
inc edx ; ID = 9
|
|||
|
int 0x40 ; <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABA0><EFBFBD> green
|
|||
|
add ebx,20*65536+20;23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞
|
|||
|
inc edx ; ID = 10
|
|||
|
int 0x40 ; <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABA0><EFBFBD> blue
|
|||
|
add ebx, 20*65536+20;23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞
|
|||
|
inc edx ; ID = 11
|
|||
|
int 0x40 ; <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABA0><EFBFBD> alpha
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 8 - <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
mcall , (13 shl 16)+20, (20 shl 16)+20, 0x6000000D
|
|||
|
|
|||
|
call draw_bottom_panel
|
|||
|
call draw_left_panel
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD>砥<EFBFBD>, <20><><EFBFBD> <20>㤥<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mcall SF_REDRAW,SSF_END_DRAW
|
|||
|
ret
|
|||
|
|
|||
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|||
|
;----------------------------------------------------------------------------------------------------/
|
|||
|
|
|||
|
|
|||
|
;------------------------------------------------------------------------------------------------+
|
|||
|
draw_left_panel: ; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SL97: <20><> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2>.
|
|||
|
;.................................................................................................
|
|||
|
; button_next_colorsheme
|
|||
|
mcall SF_DEFINE_BUTTON, (266 shl 16)+16, (9 shl 16)+16, 0x6000000C, [sc.work_button]
|
|||
|
; circle diagram
|
|||
|
add ecx,19 shl 16 ; move rect
|
|||
|
mov edx,0x6000000F ; ID = 15
|
|||
|
int 0x40 ; call
|
|||
|
|
|||
|
mcall SF_PUT_IMAGE, panel, (16 shl 16)+149, (266 shl 16)+9
|
|||
|
|
|||
|
;mov eax,13 ; draw rect
|
|||
|
;mov ebx,266 shl 16+16 ; [x] + [size]
|
|||
|
;mov ecx,9 shl 16+16 ; [y] + [size]
|
|||
|
;mov edx,0x666666 ; RGB
|
|||
|
;push esi ; backup esi
|
|||
|
;mov esi,8 ; counter=8
|
|||
|
;draw_lpanel: ; loop label
|
|||
|
; int 0x40 ; call draw black rect
|
|||
|
; add ecx,19 shl 16 ; move rect
|
|||
|
; dec esi ; decrement counter
|
|||
|
; cmp esi,0 ; if counter!=zero
|
|||
|
; jne draw_lpanel ; then goto label
|
|||
|
; mov esi,8 ; else counter=8
|
|||
|
; mov ebx,267 shl 16+14 ; [x] + [size]
|
|||
|
; mov ecx,10 shl 16+14 ; [y] + [size]
|
|||
|
; mov edx,0xF3F3F3 ; RGB
|
|||
|
;draw_lpanel2: ; 2 loop label
|
|||
|
; int 0x40 ; call draw white rect
|
|||
|
; add ecx,19 shl 16 ; move rect
|
|||
|
; dec esi ; decrement counter
|
|||
|
; cmp esi,0 ; if counter!=0
|
|||
|
; jne draw_lpanel2 ; then goto label2
|
|||
|
;pop esi ; restore esi
|
|||
|
; draw_left_arrow for button_next_colorsheme
|
|||
|
;mov eax,4 ; Write string
|
|||
|
;mov ebx,272 shl 16+13 ; [x] + [y]
|
|||
|
;mov ecx,0x0 ; RGB
|
|||
|
;mov edx,larrow ; string pointer
|
|||
|
;mov esi,1 ; count symbol
|
|||
|
;int 0x40 ; call
|
|||
|
;mov eax,38 ; draw line
|
|||
|
;mov ebx,270 shl 16+272 ; [start x] + [end x]
|
|||
|
;mov ecx,16 shl 16+16 ; [start y] + [end y]
|
|||
|
;mov edx,0x0 ; RGB
|
|||
|
;int 0x40 ; call
|
|||
|
ret ; return
|
|||
|
;.................................................................................................
|
|||
|
|
|||
|
|
|||
|
;------------------------------------------------------------------------------------------------+
|
|||
|
draw_bottom_panel: ; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
mcall SF_DEFINE_BUTTON, ((60+70) shl 16)+90, (225 shl 16)+16, 14, [sc.work_button]
|
|||
|
|
|||
|
add ebx, 100 shl 16
|
|||
|
add edx, 2
|
|||
|
int 0x40
|
|||
|
|
|||
|
; Write string
|
|||
|
mov ecx,[sc.work_text] ; RGB
|
|||
|
or ecx, 1 shl 31
|
|||
|
mcall SF_DRAW_TEXT, (60) shl 16+230, ,bground
|
|||
|
|
|||
|
mov ecx, [sc.work_button_text]
|
|||
|
or ecx, 1 shl 31
|
|||
|
|
|||
|
add ebx, 90 shl 16
|
|||
|
mov edx, bground1
|
|||
|
int 0x40
|
|||
|
|
|||
|
add ebx, 108 shl 16
|
|||
|
mov edx, bground2
|
|||
|
int 0x40
|
|||
|
|
|||
|
mcall SF_DRAW_LINE, 4 shl 16+(380), (219) shl 16+219, 0x00666666
|
|||
|
ret ; return
|
|||
|
;.................................................................................................
|
|||
|
|
|||
|
mouse_global:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
mcall SF_MOUSE_GET,SSF_SCREEN_POSITION
|
|||
|
; eax = x*65536 + y, (x,y)=<3D><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mov ecx,eax ;
|
|||
|
shr ecx,16 ; ecx = x+1
|
|||
|
movzx edx,ax ; edx = y+1
|
|||
|
dec ecx ; ecx = x
|
|||
|
dec edx ; edx = y
|
|||
|
mov [mouse_x],ecx ; mouse_x = x
|
|||
|
mov [mouse_y],edx ; mouse_y = y
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_mouse_global
|
|||
|
|
|||
|
mouse_local:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
|||
|
; eax = x*65536 + y, (x,y)=<3D><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mov ecx,eax ;
|
|||
|
shr ecx,16 ; ecx = x+1
|
|||
|
movzx edx,ax ; edx = y+1
|
|||
|
dec ecx ; ecx = x
|
|||
|
dec edx ; edx = y
|
|||
|
mov [mouse_x],ecx ; mouse_x = x
|
|||
|
mov [mouse_y],edx ; mouse_y = y
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_mouse_local
|
|||
|
|
|||
|
set_background:
|
|||
|
;.................................................................................................
|
|||
|
; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭 ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD>䨪<EFBFBD><E4A8AA>
|
|||
|
; <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<>.
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2)
|
|||
|
mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD>䨪<EFBFBD><E4A8AA>
|
|||
|
; <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>.
|
|||
|
mcall SF_BACKGROUND_SET,SSF_SIZE_BG,2,2
|
|||
|
|
|||
|
mov eax,[color]
|
|||
|
mov [cm+0],al
|
|||
|
mov [cm+9],al
|
|||
|
shr eax,8
|
|||
|
mov [cm+1],al
|
|||
|
mov [cm+10],al
|
|||
|
shr eax,8
|
|||
|
mov [cm+2],al
|
|||
|
mov [cm+11],al
|
|||
|
|
|||
|
mov eax,[color2]
|
|||
|
mov [cm+3],al
|
|||
|
mov [cm+6],al
|
|||
|
shr eax,8
|
|||
|
mov [cm+4],al
|
|||
|
mov [cm+7],al
|
|||
|
shr eax,8
|
|||
|
mov [cm+5],al
|
|||
|
mov [cm+8],al
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD>䨪<EFBFBD><E4A8AA>
|
|||
|
; <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><> 䮭.
|
|||
|
; - <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ଠ<EFBFBD><E0ACA0> BBGGRRBBGGRR
|
|||
|
; - C<><43>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
|||
|
; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 3 * <20><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>
|
|||
|
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,cm,0,3*4
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD>䨪<EFBFBD><E4A8AA>
|
|||
|
; <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> 䮭.
|
|||
|
mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
|
|||
|
|
|||
|
stdcall save_eskin_ini, 'H '
|
|||
|
|
|||
|
ret
|
|||
|
;end_set_background
|
|||
|
|
|||
|
desktop_get:
|
|||
|
;.................................................................................................
|
|||
|
; <20><>।<EFBFBD><E0A5A4>塞 <20><>ਭ<EFBFBD> <20><>࠭<EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
; <20><>।<EFBFBD><E0A5A4>塞 <20><>ਭ<EFBFBD> <20><>࠭<EFBFBD> (eax = [xsize]*65536 + [ysize])
|
|||
|
mcall SF_GET_SCREEN_SIZE ; xsize = ࠧ<><E0A0A7><EFBFBD> <20><> <20><>ਧ<EFBFBD><E0A8A7>⠫<EFBFBD> - 1
|
|||
|
mov ebx,eax ;
|
|||
|
shr ebx,16 ; ebx = xsize-1
|
|||
|
movzx edx,ax ; edx = ysize-1 (<28><>譨<EFBFBD> <20><><EFBFBD>)
|
|||
|
inc ebx ; ebx = xsize
|
|||
|
inc edx ; edx = ysize (<28><>譨<EFBFBD> <20><><EFBFBD>)
|
|||
|
mov [desctop_w],ebx
|
|||
|
mov [desctop_h],edx
|
|||
|
ret
|
|||
|
;end_desktop_get
|
|||
|
|
|||
|
mouse_get:
|
|||
|
mov esi,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 䫠<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>横<EFBFBD><E6A8AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
call mouse_global
|
|||
|
call desktop_get
|
|||
|
re_mouse_loop: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>⪠ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov ebx,[desctop_w]
|
|||
|
imul ebx,[mouse_y] ; ebx = y*xsize
|
|||
|
add ebx,[mouse_x] ; ebx = y*xsize+x
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><>६ 梥<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
;mov ebx,ecx ;; ebx = y*xsize+x (<28><>譨<EFBFBD> <20><><EFBFBD>)
|
|||
|
mcall SF_GET_PIXEL ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> 梥<> <20> eax
|
|||
|
cmp eax,[sc.work] ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䮭<><E4AEAD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
je mouse_err ; <20> <20><><EFBFBD> <20><> - <20><> <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cmp eax,0x222222 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 梥⮬ <20><>⪨
|
|||
|
je mouse_err ; <20> <20><><EFBFBD> <20><> - <20><> <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jmp mouse_set ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>룠<EFBFBD><EBA3A0> <20>⮡<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 梥<> <20><>⪨
|
|||
|
mouse_err: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 䮭
|
|||
|
inc [mouse_y] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᬥ頥<E1ACA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭠砫<E1ADA0> <20><> <20>
|
|||
|
inc [mouse_x] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᬥ頥<E1ACA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⮬ <20><> <20>
|
|||
|
dec esi ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> 䫠<>
|
|||
|
cmp esi,0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
jz mouse_exit ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD> <20><> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jmp re_mouse_loop ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ᥫ<EFBFBD><E1A5AB><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>
|
|||
|
mouse_set: ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 梥<>
|
|||
|
cmp [mouse_f],1
|
|||
|
jne was_right
|
|||
|
mov [color],eax
|
|||
|
call draw_result
|
|||
|
jmp mouse_exit
|
|||
|
was_right:
|
|||
|
cmp [mouse_f],2
|
|||
|
jne mouse_exit
|
|||
|
mov [color2],eax
|
|||
|
call draw_result ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mouse_exit:
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_mouse_get----------------------------------------------------------------------------------------
|
|||
|
|
|||
|
draw_palitra:
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD>
|
|||
|
;mcall SF_DRAW_RECT, 110 shl 16+148, 9 shl 16+148, [sc.work]
|
|||
|
|
|||
|
cmp [renmode],2
|
|||
|
je cyrcle_draw
|
|||
|
;cmp [renmode],1
|
|||
|
;je picker_draw
|
|||
|
cmp [renmode],0
|
|||
|
je sheme_draw
|
|||
|
ret
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><>㣮<EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD>ࠬ<EFBFBD><E0A0AC>
|
|||
|
;.................................................................................................
|
|||
|
cyrcle_draw:
|
|||
|
;mov eax,13
|
|||
|
;mov edx,0x666666
|
|||
|
;mov ebx,108*65536+152
|
|||
|
;mov ecx,125*65536+33
|
|||
|
;mcall
|
|||
|
;mov edx,0xF3F3F3
|
|||
|
;mov ebx,109*65536+150
|
|||
|
;mov ecx,126*65536+31
|
|||
|
;mcall
|
|||
|
|
|||
|
;mov eax,4 ; 4 - <20>뢥<EFBFBD><EBA2A5><EFBFBD> <20><>ப<EFBFBD> ⥪<><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
;mov ebx,115 shl 16+131 ; [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
|||
|
;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<> ⥪<><E2A5AA><EFBFBD>)
|
|||
|
;mov edx,hint ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
|||
|
;mov esi,24 ; <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> esi ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;mcall
|
|||
|
;mov ebx,125 shl 16+144 ; [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
|||
|
;mov edx,hint2 ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
|||
|
;mov esi,21 ; <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> esi ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;mcall
|
|||
|
|
|||
|
;mov edx,[color]
|
|||
|
;mov ebx,109*65536+150
|
|||
|
;mov ecx, 10*65536+150
|
|||
|
;mcall
|
|||
|
call mouse_local ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD>
|
|||
|
mov ecx, [mouse_x] ; <20><><EFBFBD><EFBFBD>ᨬ <20> ॣ<><E0A5A3><EFBFBD><EFBFBD>
|
|||
|
mov edx, [mouse_y] ; <20><><EFBFBD><EFBFBD>ᨬ <20> ॣ<><E0A5A3><EFBFBD><EFBFBD>
|
|||
|
cmp ecx, WIN_W-10
|
|||
|
jg cyrcle_draw_2
|
|||
|
cmp edx, WIN_H
|
|||
|
jle end_cyrcle_draw
|
|||
|
|
|||
|
cyrcle_draw_2:
|
|||
|
mcall SF_SLEEP,10
|
|||
|
call desktop_get
|
|||
|
call mouse_global
|
|||
|
|
|||
|
mov ebx,112*65536+11
|
|||
|
mov esi,0 ; counter=8
|
|||
|
circle_loop:
|
|||
|
mov ecx, 10*65536+11
|
|||
|
mov edi,0
|
|||
|
circle_loop2:
|
|||
|
call circle_pixel_read
|
|||
|
mcall SF_DRAW_RECT
|
|||
|
add ecx,11 shl 16
|
|||
|
inc edi
|
|||
|
cmp edi,13
|
|||
|
jne circle_loop2
|
|||
|
|
|||
|
add ebx,11 shl 16
|
|||
|
inc esi
|
|||
|
cmp esi,13
|
|||
|
jne circle_loop
|
|||
|
|
|||
|
mcall SF_DRAW_RECT, 177*65536+13, 76*65536+13, 0
|
|||
|
mov ecx, [mouse_x]
|
|||
|
mov edx, [mouse_y]
|
|||
|
inc ecx
|
|||
|
inc edx
|
|||
|
mov ebx, edx
|
|||
|
imul ebx, [desctop_w]
|
|||
|
add ebx, ecx
|
|||
|
mcall SF_GET_PIXEL
|
|||
|
mov edx,eax
|
|||
|
mcall SF_DRAW_RECT, 178*65536+11, 77*65536+11
|
|||
|
ret
|
|||
|
end_cyrcle_draw:
|
|||
|
mcall SF_DRAW_RECT, 111*65536+145, 9*65536+145, 0x666666
|
|||
|
ret
|
|||
|
|
|||
|
circle_pixel_read:
|
|||
|
push ecx ebx
|
|||
|
mov ecx, [mouse_x]
|
|||
|
mov edx, [mouse_y]
|
|||
|
inc ecx
|
|||
|
add ecx, esi
|
|||
|
cmp ecx, 6
|
|||
|
jl _cpr_exit
|
|||
|
sub ecx, 6
|
|||
|
inc edx
|
|||
|
add edx, edi
|
|||
|
cmp edx, 6
|
|||
|
jl _cpr_exit
|
|||
|
sub edx, 6
|
|||
|
|
|||
|
mov ebx, edx
|
|||
|
imul ebx, [desctop_w]
|
|||
|
add ebx, ecx
|
|||
|
mcall SF_GET_PIXEL
|
|||
|
mov edx,eax
|
|||
|
pop ebx ecx
|
|||
|
ret
|
|||
|
|
|||
|
_cpr_exit:
|
|||
|
xor edx,edx
|
|||
|
pop ebx ecx
|
|||
|
ret
|
|||
|
|
|||
|
;picker_draw:
|
|||
|
;ret
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
sheme_draw:
|
|||
|
mov eax,SF_DRAW_RECT ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD>
|
|||
|
mov edx,0x222222 ; 梥<>
|
|||
|
mov ecx,9 shl 16+73 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
|
|||
|
mov esi,2 ; <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
re_draw:
|
|||
|
mov ebx,110 shl 16+73 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
|
|||
|
mov edi,2 ; <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for_fon_loop:
|
|||
|
int 0x40 ; <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD>
|
|||
|
add ebx,75 shl 16 ; <20><><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
|||
|
dec edi ; <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cmp edi,0 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
jnz for_fon_loop ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
dec esi ; <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> <20><><EFBFBD>
|
|||
|
cmp esi,0 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
mov ecx,84 shl 16+73 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
|
|||
|
jnz re_draw ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 横<><E6A8AA>
|
|||
|
;.................................................................................................
|
|||
|
mov eax,SF_DRAW_RECT ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD>
|
|||
|
mov edx,0x0FFFFFFF ; 梥<>
|
|||
|
mov esi,4 ; <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ <20><><EFBFBD><EFBFBD>楢 (#4,8)
|
|||
|
mov ebx,99 shl 16+8 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
|
|||
|
for_abz:
|
|||
|
;;push esi ; <20><><EFBFBD>࠭塞 <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>稪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>⥪
|
|||
|
cmp esi,2
|
|||
|
jne x2_line
|
|||
|
mov ebx,99 shl 16+8
|
|||
|
x2_line:
|
|||
|
add ebx,3 shl 16 ; <20><><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> x
|
|||
|
mov edi,8 ; <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ப<EFBFBD>
|
|||
|
for_stolbik:
|
|||
|
push edi ; <20><><EFBFBD>࠭塞 <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>稪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>⥪
|
|||
|
mov edi,8 ; <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ப<EFBFBD>
|
|||
|
mov ecx, 1 shl 16+8 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
|
|||
|
cmp esi,2
|
|||
|
jg y2_line ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4 <20><> <20><><EFBFBD><EFBFBD>ਬ
|
|||
|
mov ecx,76 shl 16+8
|
|||
|
y2_line:
|
|||
|
add ebx,9 shl 16 ; <20><><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> x
|
|||
|
for_loop:
|
|||
|
add ecx,9 shl 16 ; <20><><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> y
|
|||
|
int 0x40 ; <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD>
|
|||
|
call sub_red
|
|||
|
dec edi ; <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cmp edi,0 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
jnz for_loop ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
call sub_green
|
|||
|
pop edi ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dec edi ; <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> <20><><EFBFBD>
|
|||
|
cmp edi,0 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
jnz for_stolbik ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
call sub_blue
|
|||
|
;;pop esi ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dec esi ; <20><><EFBFBD><EFBFBD><EFBFBD>蠥<EFBFBD> <20><><EFBFBD>
|
|||
|
cmp esi,0 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫥<EFBFBD>
|
|||
|
jnz for_abz ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_draw_palitra-------------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
sub_red:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD>᭮<EFBFBD><E1ADAE> 梥<><E6A2A5> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 梥<><E6A2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
push eax
|
|||
|
mov eax,[pnext]
|
|||
|
;sub_red_0 ; palitra
|
|||
|
cmp al,0
|
|||
|
jne sub_red_1
|
|||
|
sub edx,0x40
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_1: ; random
|
|||
|
cmp al,1
|
|||
|
jne sub_red_2
|
|||
|
sub edx,0x20
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_2: ; gree
|
|||
|
cmp al,2
|
|||
|
jne sub_red_3
|
|||
|
sub edx,0x010101
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_3: ; red
|
|||
|
cmp al,3
|
|||
|
jne sub_red_4
|
|||
|
sub edx,0x0101
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_4: ; green
|
|||
|
cmp al,4
|
|||
|
jne sub_red_5
|
|||
|
sub edx,0x010001
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_5: ; blue
|
|||
|
cmp al,5
|
|||
|
jne sub_red_e
|
|||
|
sub edx,0x010100
|
|||
|
jmp sub_red_e
|
|||
|
sub_red_e:
|
|||
|
pop eax
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_sub_red------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
sub_green:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD>᭮<EFBFBD><E1ADAE> 梥<><E6A2A5> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 梥<><E6A2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
push eax
|
|||
|
mov eax,[pnext]
|
|||
|
;sub_green_0
|
|||
|
cmp al,0
|
|||
|
jne sub_green_1
|
|||
|
sub edx,0x4000
|
|||
|
jmp sub_green_e
|
|||
|
sub_green_1:
|
|||
|
cmp al,1
|
|||
|
jne sub_green_e
|
|||
|
sub edx,0x2000
|
|||
|
;jmp sub_green_e
|
|||
|
sub_green_e:
|
|||
|
pop eax
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_sub_green----------------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
sub_blue:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD>᭮<EFBFBD><E1ADAE> 梥<><E6A2A5> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 梥<><E6A2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
push eax
|
|||
|
mov eax,[pnext]
|
|||
|
;sub_blue_0
|
|||
|
cmp al,0
|
|||
|
jne sub_blue_1
|
|||
|
sub edx,0x600000
|
|||
|
jmp sub_blue_e
|
|||
|
sub_blue_1:
|
|||
|
cmp al,1
|
|||
|
jne sub_blue_e
|
|||
|
sub edx,0x400000
|
|||
|
;jmp sub_blue_e
|
|||
|
sub_blue_e:
|
|||
|
pop eax
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_sub_blue-----------------------------------------------------------------------------------------
|
|||
|
|
|||
|
draw_result:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<><E0A0AC> <20>뢮<EFBFBD><EBA2AE> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
mcall SF_DRAW_RECT, 4 shl 16+110, 9 shl 16+219-18, 0x00666666
|
|||
|
mcall , 5 shl 16+110-2, 10 shl 16+219-20, 0x00F3F3F3
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<><E6A2A5> <20> hex color2
|
|||
|
;.................................................................................................
|
|||
|
mcall , (16+2) shl 16+15, (16+8) shl 16+15, 0x222222
|
|||
|
; color 2 - draw color
|
|||
|
mcall , (17+2) shl 16+13, (17+8) shl 16+13, [color2]
|
|||
|
; color 1 - draw fringle
|
|||
|
mcall , (11+2) shl 16+15, (12+8) shl 16+15, 0x222222
|
|||
|
; color 2 - draw color
|
|||
|
mcall , (12+2) shl 16+13, (13+8) shl 16+13, [color]
|
|||
|
|
|||
|
; value - draw fringle
|
|||
|
mcall , (34+2) shl 16+72, (16+4) shl 16+15+4, 0x222222
|
|||
|
; value - draw background
|
|||
|
mcall , (35+2) shl 16+70, (17+4) shl 16+13+4, 0xFFFFFF
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 47 - <20>뢮<EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
;ebx - <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> ⥪<><E2A5AA> (HEX)
|
|||
|
mcall SF_DRAW_NUMBER, 256+8 shl 16, [color], (40 shl 16)+22, 0x10000000, 0
|
|||
|
|
|||
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
; edx - <20><><EFBFBD>㥬 '#'
|
|||
|
; esi - <20><><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;mcall SF_DRAW_TEXT,38*65536+20,0,hex,1
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> r g b <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
|||
|
;.................................................................................................
|
|||
|
call get_spectr
|
|||
|
|
|||
|
movzx eax,[cred] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov ebx,12*65536+196 ; [x <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>] *65536 + [y <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>]
|
|||
|
call draw_value ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
movzx eax,[cgreen] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov ebx,37*65536+196 ; [x <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>] *65536 + [y <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>]
|
|||
|
call draw_value ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
movzx eax,[cblue] ; ᨭ<><E1A8AD>
|
|||
|
mov ebx,62*65536+196 ; [x <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>] *65536 + [y <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>]
|
|||
|
call draw_value ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
movzx eax,[calpha] ; <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov ebx,87*65536+196 ; [x <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>] *65536 + [y <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD>]
|
|||
|
call draw_value ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20>뢮<EFBFBD><EBA2AE><EFBFBD> <20>㪢<EFBFBD> r g b a
|
|||
|
;.................................................................................................
|
|||
|
mov eax,SF_DRAW_TEXT ; 4 - <20>뢥<EFBFBD><EBA2A5><EFBFBD> <20><>ப<EFBFBD> ⥪<><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
mov ebx,19 shl 16+49 ; [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
|||
|
mov ecx, 0x0 ; 0xX0RRGGBB (RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<> ⥪<><E2A5AA><EFBFBD>)
|
|||
|
mov edx,cname ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
|||
|
mov esi,1 ; <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> esi ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
newline: ; 横<>
|
|||
|
int 0x40 ; <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD>
|
|||
|
add ebx,25 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞
|
|||
|
inc edx ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞
|
|||
|
cmp [edx],byte 'x' ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⮬ <20>
|
|||
|
jne newline ; <20> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> ࠢ<><E0A0A2>
|
|||
|
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <><E1ABA0><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
include 'draw_sliders.inc'
|
|||
|
|
|||
|
draw_value:
|
|||
|
;.................................................................................................
|
|||
|
; <20>뢮<EFBFBD> <20><> <20><> <20><>ப<EFBFBD> <20> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
push ebx ; <20><><EFBFBD>࠭塞 <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
|||
|
mov ebx,10 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
|
|||
|
mov edi,buff ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
call int2ascii ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> + esi <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov eax,SF_DRAW_TEXT ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
pop ebx ; <20><><EFBFBD>⠥<EFBFBD> <20><> <20>⥪<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
|||
|
cmp esi,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jne draw_value_1
|
|||
|
add ebx,4 shl 16
|
|||
|
jmp draw_value_e
|
|||
|
draw_value_1:
|
|||
|
cmp esi,1
|
|||
|
jne draw_value_e
|
|||
|
add ebx,7 shl 16
|
|||
|
draw_value_e:
|
|||
|
mov ecx,0x0; 0x10000000 ; 梥<> ⥪<><E2A5AA><EFBFBD> RRGGBB
|
|||
|
mov edx,buff ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
|||
|
int 0x40
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_draw_value
|
|||
|
|
|||
|
_read_params:
|
|||
|
|
|||
|
mov eax,dword[params+2]
|
|||
|
mov dword[params_c+0],eax
|
|||
|
|
|||
|
mov eax,dword[params+6]
|
|||
|
mov dword[params_c+4],eax
|
|||
|
|
|||
|
mov esi,params_c
|
|||
|
mov ecx,16
|
|||
|
call ascii2int
|
|||
|
mov [color],eax
|
|||
|
|
|||
|
mov eax,dword[params+11]
|
|||
|
mov dword[params_c+0],eax
|
|||
|
|
|||
|
mov eax,dword[params+15]
|
|||
|
mov dword[params_c+4],eax
|
|||
|
|
|||
|
mov esi,params_c
|
|||
|
mov ecx,16
|
|||
|
call ascii2int
|
|||
|
mov [color2],eax
|
|||
|
|
|||
|
ret
|
|||
|
|
|||
|
hex_digit:
|
|||
|
;.................................................................................................
|
|||
|
; <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ASCII (<28><><EFBFBD> <20><><EFBFBD><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>)
|
|||
|
;.................................................................................................
|
|||
|
cmp dl,10 ; <20> dl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> 0 <20><> 15
|
|||
|
jb .less ; <20> dl<10 <20><> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4>
|
|||
|
add dl,'A'-10 ; 10->A 11->B 12->C ...
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
.less:
|
|||
|
or dl,'0' ; <20> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> 10-<2D> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ret ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_hex_digit
|
|||
|
|
|||
|
int2ascii:
|
|||
|
;.................................................................................................
|
|||
|
; <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><>ப<EFBFBD>
|
|||
|
;.................................................................................................
|
|||
|
; eax - 32-<2D> <20><><EFBFBD>筮<EFBFBD> <20><>
|
|||
|
; ebx - <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
|
|||
|
; edi - 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> esi - <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
|||
|
push edi
|
|||
|
xor esi,esi ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD>稪 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
convert_loop:
|
|||
|
xor edx,edx ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 ॣ<><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮪
|
|||
|
div ebx ; eax/ebx - <20><><EFBFBD><EFBFBD>⮪ <20> edx
|
|||
|
call hex_digit ; <20>८<EFBFBD>ࠧ㥬 ᨬ<><E1A8AC><EFBFBD>
|
|||
|
push edx ; <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>⥪
|
|||
|
inc esi ; 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD>稪
|
|||
|
test eax,eax ; <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
jnz convert_loop ; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
|||
|
cld ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> 䫠<> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> DF (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
write_loop: ; <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
pop eax ; <20><><EFBFBD>⠥<EFBFBD> <20><> <20>⥪<EFBFBD> <20> <20><><EFBFBD>
|
|||
|
stosb ; <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ES:(E)DI
|
|||
|
dec esi ; 㬥<><E3ACA5>蠥<EFBFBD> <20><><EFBFBD><EFBFBD>稪
|
|||
|
test esi,esi ; <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD> <20><> <20>⥪<EFBFBD>
|
|||
|
jnz write_loop ; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mov byte [edi],0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20>㫥<EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
pop edi
|
|||
|
; <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><>饣<EFBFBD> <20> <20>㭪樨, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD> <20><>ப<EFBFBD>
|
|||
|
call str_len
|
|||
|
mov esi,eax
|
|||
|
ret ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_int2ascii
|
|||
|
|
|||
|
char2byte:
|
|||
|
sub al,'0'
|
|||
|
cmp al,10
|
|||
|
jb done
|
|||
|
add al,'0'
|
|||
|
and al,0x5f
|
|||
|
sub al,'A'-10
|
|||
|
and al,0x0f
|
|||
|
done:
|
|||
|
ret
|
|||
|
;end_char2byte
|
|||
|
|
|||
|
ascii2int:
|
|||
|
;.................................................................................................
|
|||
|
; <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20> <20><>
|
|||
|
;.................................................................................................
|
|||
|
; esi - 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ନ<EFBFBD><E0ACA8><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
|||
|
; ecx - <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> eax - <20><>
|
|||
|
push esi
|
|||
|
xor eax,eax
|
|||
|
xor ebx,ebx
|
|||
|
cmp byte [esi],'-'
|
|||
|
jnz .next
|
|||
|
inc esi
|
|||
|
.next:
|
|||
|
lodsb
|
|||
|
or al,al
|
|||
|
jz .done
|
|||
|
call char2byte
|
|||
|
imul ebx,ecx
|
|||
|
add ebx,eax
|
|||
|
jmp .next
|
|||
|
.done:
|
|||
|
xchg ebx,eax
|
|||
|
pop esi
|
|||
|
cmp byte [esi],'-'
|
|||
|
jz .negate
|
|||
|
ret
|
|||
|
.negate:
|
|||
|
neg eax
|
|||
|
ret
|
|||
|
;end_ascii2int
|
|||
|
|
|||
|
get_spectr:
|
|||
|
;.................................................................................................
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> r,g,b <20><><EFBFBD>⮢<EFBFBD><E2AEA2><EFBFBD>騥 梥<><E6A2A5>
|
|||
|
;.................................................................................................
|
|||
|
mov ecx,[color]
|
|||
|
mov [cblue],cl
|
|||
|
shr ecx,8
|
|||
|
mov [cgreen],cl
|
|||
|
shr ecx,8
|
|||
|
mov [cred],cl
|
|||
|
shr ecx,8
|
|||
|
mov [calpha],cl
|
|||
|
ret ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_get_spectr
|
|||
|
|
|||
|
set_spectr:
|
|||
|
;.................................................................................................
|
|||
|
; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> r,g,b 梥<>
|
|||
|
;.................................................................................................
|
|||
|
movzx eax,[calpha]
|
|||
|
shl eax,8
|
|||
|
mov al,[cred]
|
|||
|
shl eax,8
|
|||
|
mov al,[cgreen]
|
|||
|
shl eax,8
|
|||
|
mov al,[cblue]
|
|||
|
mov [color],eax
|
|||
|
call draw_result ; <20>뢮<EFBFBD><EBA2AE><EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ret ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;end_get_spectr
|
|||
|
|
|||
|
str_len:
|
|||
|
;.................................................................................................
|
|||
|
; <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> (<28>室->EDI ZS offset ; <20><>室->EAX ZS length)
|
|||
|
;.................................................................................................
|
|||
|
push ecx esi edi
|
|||
|
|
|||
|
cld
|
|||
|
xor al, al
|
|||
|
mov ecx, 0FFFFFFFFh
|
|||
|
mov esi, edi
|
|||
|
repne scasb
|
|||
|
sub edi, esi
|
|||
|
mov eax, edi
|
|||
|
dec eax
|
|||
|
|
|||
|
pop edi esi ecx
|
|||
|
|
|||
|
ret
|
|||
|
;end_str_len
|
|||
|
|
|||
|
|
|||
|
;-------------------------------
|
|||
|
|
|||
|
proc random uses ebx ecx edx, max_value
|
|||
|
mov ebx, 0
|
|||
|
mov eax, ebx
|
|||
|
or eax, eax
|
|||
|
jnz @f
|
|||
|
rdtsc
|
|||
|
xor eax, edx
|
|||
|
mov ebx, eax
|
|||
|
|
|||
|
@@:
|
|||
|
xor edx, edx
|
|||
|
mov ecx, 127773
|
|||
|
div ecx
|
|||
|
mov ecx, eax
|
|||
|
mov eax, 16807
|
|||
|
mul edx
|
|||
|
mov edx, ecx
|
|||
|
mov ecx, eax
|
|||
|
mov eax, 2836
|
|||
|
mul edx
|
|||
|
sub ecx, eax
|
|||
|
xor edx, edx
|
|||
|
mov eax, ecx
|
|||
|
mov ebx, ecx
|
|||
|
mov ecx, 100000
|
|||
|
div ecx
|
|||
|
mov eax, edx
|
|||
|
|
|||
|
xor edx, edx
|
|||
|
mov ebx, [max_value]
|
|||
|
div ebx
|
|||
|
mov eax, edx
|
|||
|
|
|||
|
ret
|
|||
|
endp
|
|||
|
|
|||
|
set_background2:
|
|||
|
mcall SF_SYS_MISC, SSF_HEAP_INIT
|
|||
|
mcall SF_SYS_MISC, SSF_MEM_ALLOC, 256 * 256 * 3
|
|||
|
mov [image], eax
|
|||
|
|
|||
|
mov edx, eax
|
|||
|
mov ecx, 256 * 256
|
|||
|
@@:
|
|||
|
stdcall random, 15 + 1
|
|||
|
sub al, 15 / 2
|
|||
|
|
|||
|
mov bh, byte [color + 0]
|
|||
|
add bh, al
|
|||
|
mov [edx + 0], bh
|
|||
|
mov bh, byte [color + 1]
|
|||
|
add bh, al
|
|||
|
mov [edx + 1], bh
|
|||
|
mov bh, byte [color + 2]
|
|||
|
add bh, al
|
|||
|
mov [edx + 2], bh
|
|||
|
add edx, 3
|
|||
|
loop @b
|
|||
|
|
|||
|
mcall SF_BACKGROUND_SET, SSF_SIZE_BG, 256, 256
|
|||
|
mcall SF_BACKGROUND_SET, SSF_MODE_BG, 1
|
|||
|
mcall SF_BACKGROUND_SET, SSF_IMAGE_BG, [image], 0, 256 * 256 * 3
|
|||
|
mcall SF_BACKGROUND_SET, SSF_REDRAW_BG
|
|||
|
|
|||
|
mcall SF_SYS_MISC, SSF_MEM_FREE, [image]
|
|||
|
stdcall save_eskin_ini, 'B '
|
|||
|
ret
|
|||
|
|
|||
|
align 4
|
|||
|
proc save_eskin_ini, opt_HB:dword
|
|||
|
;save to file eskin.ini
|
|||
|
xor al,al
|
|||
|
mov ecx,1024
|
|||
|
mov edi,sys_path+2
|
|||
|
repne scasb
|
|||
|
sub edi,sys_path+3
|
|||
|
invoke ini_set_str, inifileeskin, amain, aprogram, sys_path+2, edi
|
|||
|
;add param 'H '
|
|||
|
mov eax,[opt_HB]
|
|||
|
mov word[params],ax
|
|||
|
mov eax,[color]
|
|||
|
or eax,0xf ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>筮<EFBFBD><E7ADAE> 横<><E6A8AA> <20> eax=0
|
|||
|
mov edi,params+2
|
|||
|
@@:
|
|||
|
rol eax,8
|
|||
|
or al,al
|
|||
|
jnz @f
|
|||
|
mov word[edi],'00' ;<3B>㫨 <20><>। <20><><EFBFBD>
|
|||
|
add edi,2
|
|||
|
jmp @b
|
|||
|
@@:
|
|||
|
and al,0xf0
|
|||
|
jnz @f
|
|||
|
mov byte[edi],'0'
|
|||
|
inc edi
|
|||
|
@@:
|
|||
|
mov eax,[color]
|
|||
|
mov ebx,16
|
|||
|
call int2ascii
|
|||
|
mov byte[params+10],' '
|
|||
|
;add color2
|
|||
|
mov eax,[color2]
|
|||
|
or eax,0xf ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>筮<EFBFBD><E7ADAE> 横<><E6A8AA> <20> eax=0
|
|||
|
mov edi,params+11
|
|||
|
@@:
|
|||
|
rol eax,8
|
|||
|
or al,al
|
|||
|
jnz @f
|
|||
|
mov word[edi],'00' ;<3B>㫨 <20><>। <20><><EFBFBD>
|
|||
|
add edi,2
|
|||
|
jmp @b
|
|||
|
@@:
|
|||
|
and al,0xf0
|
|||
|
jnz @f
|
|||
|
mov byte[edi],'0'
|
|||
|
inc edi
|
|||
|
@@:
|
|||
|
mov eax,[color2]
|
|||
|
mov ebx,16
|
|||
|
call int2ascii
|
|||
|
|
|||
|
invoke ini_set_str, inifileeskin, amain, aparam, params, 19
|
|||
|
ret
|
|||
|
endp
|
|||
|
|
|||
|
;#___________________________________________________________________________________________________
|
|||
|
;****************************************************************************************************|
|
|||
|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|||
|
;----------------------------------------------------------------------------------------------------/
|
|||
|
circle:
|
|||
|
title db 'Palitra v0.77',0 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|||
|
hidden db 'Hidden',0
|
|||
|
; hex db '#',0 ; <20><><EFBFBD> <20>뢮<EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD>⪨ <20><><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
|||
|
cname db 'RGBAx' ; <20>࠭<EFBFBD><E0A0AD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> 梥⮢ (red,green,blue) x-<2D><>⪠ <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
larrow db 0x1A,0
|
|||
|
buff db '000',0
|
|||
|
bground db 'BACKGROUND',0 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 14
|
|||
|
bground1 db 'Gradient',0 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 14
|
|||
|
bground2 db 'Noisy',0 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 14
|
|||
|
runmode dd 1 ; ०<><E0A5A6> <20><><EFBFBD><EFBFBD>᪠ (1-normal, 2-hidden, 3-colordialog)
|
|||
|
color2 dd 00FFFFFFh ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD>ண<EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 梥<><E6A2A5>
|
|||
|
|
|||
|
inifileeskin db '/sys/settings/system.ini',0
|
|||
|
amain db 'style',0
|
|||
|
aprogram db 'bg_program',0
|
|||
|
aparam db 'bg_param',0
|
|||
|
|
|||
|
align 16
|
|||
|
@IMPORT:
|
|||
|
|
|||
|
library \
|
|||
|
libini , 'libini.obj'
|
|||
|
|
|||
|
import libini, \
|
|||
|
ini_set_str, 'ini_set_str'
|
|||
|
|
|||
|
I_END:
|
|||
|
cm rb 12
|
|||
|
color rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 梥<><E6A2A5>
|
|||
|
mouse_x rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mouse_y rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
mouse_f rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⮬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>뫠 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
desctop_w rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><>ਭ<EFBFBD> <20><>࠭<EFBFBD>
|
|||
|
desctop_h rd 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>
|
|||
|
sc system_colors ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> 梥⮢ ᪨<><E1AAA8>
|
|||
|
cred rb 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯥ<><E1AFA5><EFBFBD>
|
|||
|
cgreen rb 1 ; <20>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯥ<><E1AFA5><EFBFBD>
|
|||
|
cblue rb 1 ; <20>࠭<EFBFBD><E0A0AD> ᨭ<><E1A8AD> ᯥ<><E1AFA5><EFBFBD>
|
|||
|
calpha rb 1 ; <20>࠭<EFBFBD><E0A0AD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD>
|
|||
|
pnext rd 1 ; <20><><EFBFBD><EFBFBD>稪 <20><>४<EFBFBD><E0A5AA>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
renmode rd 1 ; ०<><E0A5A6> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> (1-梥⮢<E6A2A5><E2AEA2> <20>奬<EFBFBD>,2-<2D><><EFBFBD><EFBFBD>⪠,3-<2D><>㣮<EFBFBD><E3A3AE><EFBFBD>)
|
|||
|
params rb 20 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC>
|
|||
|
params_c rb 9 ; <20><><EFBFBD><EFBFBD> <20><><EFBFBD> 梥<><E6A2A5>
|
|||
|
image rd 1
|
|||
|
|
|||
|
rd 1024
|
|||
|
stacktop:
|
|||
|
sys_path rb 1024
|
|||
|
I_MEM:
|