Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7420 → Rev 7421

/programs/develop/libraries/TinyGL/asm_fork/examples/gears.asm
149,7 → 149,7
cmp ah,27 ;Esc
je button.exit
 
cmp ah,61 ;+
cmp ah,43 ;+
jne @f
fld dword[scale]
fdiv dword[delt_sc]
156,6 → 156,13
fstp dword[scale]
call draw_3d
@@:
cmp ah,61 ;=
jne @f
fld dword[scale]
fdiv dword[delt_sc]
fstp dword[scale]
call draw_3d
@@:
cmp ah,45 ;-
jne @f
fld dword[scale]
208,7 → 215,7
.end: db 0
title2: db 'F full screen'
.end: db 0
title3: db 'ESC - exit'
title3: db 'ESC - exit Arrow keys - rotate +/- zoom'
.end: db 0
fps: db 'FPS:'
.end: db 0
222,7 → 229,7
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT
 
stdcall [glPushMatrix]
;stdcall [glScalef], [scale], [scale], [scale]
stdcall [glScalef], [scale], [scale], [scale]
stdcall [glRotatef], [view_rotx], 1.0, 0.0, 0.0
stdcall [glRotatef], [view_roty], 0.0, 1.0, 0.0
stdcall [glRotatef], [view_rotz], 0.0, 0.0, 1.0
283,7 → 290,7
align 4
an_9 dd 9.0
an_25 dd 25.0
scale dd 0.14 ;???
scale dd 1.0 ;???
delt_sc dd 0.85 ;???
delt_size dd 5.0
 
/programs/develop/libraries/TinyGL/asm_fork/examples/text_1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/develop/libraries/TinyGL/asm_fork/examples/text_2.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/develop/libraries/TinyGL/asm_fork/examples/text_3.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/media/kiv/trunk/kiv.asm
4,7 → 4,7
org 0x0
 
db 'MENUET01'
dd 0x01, START, I_END, F_END, stacktop, @PARAMS, 0x0
dd 0x01, START, I_END, F_END, stacktop, @PARAMS, sys_path
 
;-----------------------------------------------------------------------------
 
503,6 → 503,32
 
@@:
mcall SF_BACKGROUND_SET, SSF_REDRAW_BG
 
;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 '\S__'
cmp word[@PARAMS],'\S'
je @f
mov esi, @PARAMS+4096-8
mov edi, @PARAMS+4096-4
mov ecx, 4096/4-1
std
rep movsd
cld
mov dword[@PARAMS],'\S__'
@@:
;
xor al,al
mov ecx,4096
mov edi,@PARAMS
repne scasb
sub edi,@PARAMS+1
invoke ini_set_str, inifileeskin, amain, aparam, @PARAMS, edi
ret
 
slide_show:
1217,7 → 1243,8
img.draw , 'img_draw'
 
import libini, \
ini_get_shortcut, 'ini_get_shortcut'
ini_get_shortcut, 'ini_get_shortcut',\
ini_set_str, 'ini_set_str'
 
import sort, sort.START, 'START', SortDir, 'SortDir', strcmpi, 'strcmpi'
 
1279,6 → 1306,11
aSlide db 'SlideShow',0
aTglbar db 'ToggleBar',0
 
inifileeskin db '/sys/settings/eskin.ini',0
amain db 'main',0
aprogram db 'program',0
aparam db 'param',0
 
align 4
check_modifier_table:
dd check_modifier_0
1385,10 → 1417,12
toolbar_height_old rd 1
 
procinfo process_information
align 16
path: rb 4096 ;1024+16
real_header rb 256
@PARAMS rb 4096 ;512
;---------------------------------------------------------------------
sys_path rb 1024
temp_dir_pach:
rb 4096
;---------------------------------------------------------------------
/programs/media/palitra/trunk/palitra.asm
65,18 → 65,14
; ‡€ƒŽ‹Ž‚ŽŠ ˆ‘Ž‹Ÿ…ŒŽƒŽ ”€‰‹€ ˆ‹Ž†…ˆŸ „‹Ÿ ŠŽ‹ˆˆ Ž‘ |
;----------------------------------------------------------------------------------------------------/
use32
org 0x0
org 0
db 'MENUET01'
dd 0x01
dd START
dd I_END
dd I_MEM
dd I_MEM
dd params
dd 0x0
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 295 ; è¨à¨­  ®ª­ 
WIN_H equ 195 ; ¢ëá®â  ®ª­ 
87,8 → 83,11
file "panel.raw"
 
START:
mcall 68,11 ; ¨­¨æ¨ «¨§ æ¨ï ªãç¨
mcall 40,0x27 ; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
mcall SF_SYS_MISC,SSF_HEAP_INIT ; ¨­¨æ¨ «¨§ æ¨ï ªãç¨
stdcall dll.Load, @IMPORT
or eax,eax
jnz bexit
mcall SF_SET_EVENTS_MASK,0x27 ; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
include 'params_init.inc' ; ®¡à ¡®âª  ¯ à ¬¥â஢ ª®¬ ­¤­®© áâப¨
 
;#___________________________________________________________________________________________________
98,7 → 97,7
red:
call draw_main ; ¢ë§ë¢ ¥¬ ¯¥à¥à¨á®¢ªã ®ª­  ¯à¨«®¦¥­¨ï
still:
mcall 10 ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
mcall SF_WAIT_EVENT ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª­® ?
je red ; ¥á«¨ ¤  - ­  ¬¥âªã red
cmp eax,2 ; ­ ¦ â  ª« ¢¨è  ?
111,7 → 110,7
;end_still
 
key: ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
mcall 2 ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah) (âãâ ¢ ¯à¨­æ¨¯¥ ­¥ ­ã¦­ )
mcall SF_GET_KEY ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah) (âãâ ¢ ¯à¨­æ¨¯¥ ­¥ ­ã¦­ )
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横« 
;end_key
 
121,7 → 120,7
call cyrcle_draw
jmp center
left:
mcall 37,2
mcall SF_MOUSE_GET,SSF_BUTTON
cmp al,1b
jne right
mov [mouse_f],1
132,7 → 131,7
mov [mouse_f],2
jmp still
center:
mcall 37,2
mcall SF_MOUSE_GET,SSF_BUTTON
cmp al,100b
jne still
mov [mouse_f],3
142,7 → 141,7
;end_mouse
 
button:
mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
mcall SF_GET_BUTTON ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
cmp ah, 1 ; ¥á«¨ ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
jz bexit ; ¢ë室¨¬
;®¡à ¡®âª  ª­®¯ª¨ Next
222,7 → 221,7
call set_spectr
jmp still ; “室¨¬ ­  ®¦¨¤ ­¨¥ ¤à㣮£® ᮡëâ¨ï
bexit:
mcall -1 ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
mcall SF_TERMINATE_PROCESS ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
;end_button
 
;#___________________________________________________________________________________________________
230,19 → 229,14
; ƒ‹€‚›‰ ŒŽ„“‹œ Ž’ˆ‘Ž‚Šˆ ŽŠ€ ˆ ‹…Œ…’Ž‚ ˆ‹Ž†…ˆŸ |
;----------------------------------------------------------------------------------------------------/
draw_main:
mov eax,12 ; äã­ªæ¨ï 12: ®§­ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª­®
mov ebx,1 ; 1,­ ç «® à¨á®¢ ­¨ï
int 0x40 ; à¥à뢠­¨¥
; äã­ªæ¨ï 12: ®§­ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª­®
mcall SF_REDRAW,SSF_BEGIN_DRAW
 
mov eax,48 ; ”ã­ªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥­¨ï ®ª®­
mov ebx,3 ; ®¤äã­ªæ¨ï 3 - ¯®«ãç¨âì áâ ­¤ àâ­ë¥ æ¢¥â  ®ª®­.
mov ecx,sc ; “ª § â¥«ì ­  ¡ãä¥à à §¬¥à®¬ edx ¡ ©â, ¯®¤ áâàãªâãàã
mov edx,sizeof.system_colors ;  §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥­ ¡ëâì 40 ¡ ©â)
int 0x40 ; à¥à뢠­¨¥
; ”ã­ªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥­¨ï ®ª®­
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
 
mov eax,48 ; ”ã­ªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥­¨ï ®ª®­.
mov ebx,4 ; ®¤äã­ªæ¨ï 4 - ¢®§¢à é ¥â eax = ¢ëá®â  ᪨­ .
int 0x40 ; à¥à뢠­¨¥
; ”ã­ªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥­¨ï ®ª®­
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
mov ecx,eax ; ‡ ¯®¬¨­ ¥¬ ¢ëá®âã ᪨­ 
 
mov edi,[runmode]
271,16 → 265,11
call draw_palitra ; ˆ‘“…Œ €‹ˆ’“
call draw_result ; ˆ‘“…Œ …‡“‹œ’€’
 
mov eax,8 ; ”ã­ªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª­®¯ªã
mov ebx,110 shl 16+147 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® å [ª-â  x]*65536 + [à §¬¥à]
mov ecx,9 shl 16+147 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® y [ª-â  y]*65536 + [à §¬¥à]
mov edx,0x60000007 ;  ç «ì­®¥ ID ª­®¯®ª - 0xXYnnnnnn
int 0x40
; ”ã­ªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª­®¯ªã
mcall SF_DEFINE_BUTTON, (110 shl 16)+147, (9 shl 16)+147, 0x60000007
 
mov ebx,13 shl 16+12 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® å [ª-â  x]*65536 + [à §¬¥à]
mov edx,0x60000008 ; ID = 8
mov ecx,51 shl 16+85 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® y [ª-â  y]*65536 + [à §¬¥à]
int 0x40 ; ¨á㥬 ­¥¢¨¤¨¬ãî ª­®¯ªã ¯®¤ á« ©¤¥à®¬ red
inc edx
mcall , (13 shl 16)+12, (51 shl 16)+85 ; ¨á㥬 ­¥¢¨¤¨¬ãî ª­®¯ªã ¯®¤ á« ©¤¥à®¬ red
add ebx,23 shl 16 ; „®¡ ¢«ï¥¬
inc edx ; ID = 9
int 0x40 ; ¨á㥬 ­¥¢¨¤¨¬ãî ª­®¯ªã ¯®¤ á« ©¤¥à®¬ green
291,18 → 280,14
inc edx ; ID = 11
int 0x40 ; ¨á㥬 ­¥¢¨¤¨¬ãî ª­®¯ªã ¯®¤ á« ©¤¥à®¬ alpha
 
mov eax,8 ; ”ã­ªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª­®¯ªã (‘Œ…€ –‚…’€)
mov ebx,11 shl 16+20 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® å [ª-â  x]*65536 + [à §¬¥à]
mov ecx,12 shl 16+20 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® y [ª-â  y]*65536 + [à §¬¥à]
mov edx,0x6000000D ; ID = 13
int 0x40
; ”ã­ªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª­®¯ªã (‘Œ…€ –‚…’€)
mcall , (11 shl 16)+20, (12 shl 16)+20, 0x6000000D
 
call draw_bottom_panel
call draw_left_panel
 
mov eax,12 ; äã­ªæ¨ï 12: ®§­ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª­®
mov ebx,2 ; 2 - ª®­¥æ à¨á®¢ ­¨ï
int 0x40 ; à¥à뢠­¨¥
; äã­ªæ¨ï 12: ®§­ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª­®
mcall SF_REDRAW,SSF_END_DRAW
ret
 
;#___________________________________________________________________________________________________
314,22 → 299,14
;------------------------------------------------------------------------------------------------+
draw_left_panel: ; Žâà¨á®¢ª  ¡®ª®¢®© ¯ ­¥«¨
;.................................................................................................
mov eax,8 ; button_next_colorsheme
mov ebx,266 shl 16+16 ; [x] + [size]
mov ecx,9 shl 16+16 ; [y] + [size]
mov edx,0x6000000C ; ID = 12
mov esi,[sc.work_button] ; RGB
int 0x40 ; call
; 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
 
mov eax,7 ; 7 - ­®¬¥à ä㭪樨
mov ebx,panel ; 㪠§ â¥«ì ­  ¨§®¡à ¦¥­¨¥ ¢ ä®à¬ â¥ BBGGRRBBGGRR...
mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
mov edx,266 shl 16 + 9 ; [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
int 0x40
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]
373,23 → 350,16
;------------------------------------------------------------------------------------------------+
draw_bottom_panel: ; Žâà¨á®¢ª  ­¨¦­¥© ¯ ­¥«¨
;.................................................................................................
mov eax,8 ; draw button
mov ebx,(92) shl 16+90 ; [x] + [size]
mov ecx,169 shl 16+16 ; [y] + [size]
mov edx,14 ; ID = 14
mov esi,[sc.work_button] ; RGB
int 0x40 ; call
mcall SF_DEFINE_BUTTON, (92 shl 16)+90, (169 shl 16)+16, 14, [sc.work_button]
 
add ebx, 100 shl 16
add edx, 2
int 0x40
 
mov eax,4 ; Write string
mov ebx,(113 - 104) shl 16+174 ; [x] + [y]
; Write string
mov ecx,[sc.work_text] ; RGB
or ecx, 1 shl 31
mov edx,bground ; string pointer
int 0x40 ; call
mcall SF_DRAW_TEXT, (113 - 104) shl 16+174, ,bground
 
mov ecx, [sc.work_button_text]
or ecx, 1 shl 31
402,11 → 372,7
mov edx, bground2
int 0x40
 
mov eax,38 ; draw line
mov ebx,4 shl 16+282 ; [start x] + [end x]
mov ecx,163 shl 16+163 ; [start y] + [end y]
mov edx,0x00666666 ; RGB
int 0x40 ; call
mcall SF_DRAW_LINE, 4 shl 16+282, 163 shl 16+163, 0x00666666
ret ; return
;.................................................................................................
 
414,9 → 380,8
;.................................................................................................
; ®«ãç ¥¬ ª®®à¤¨­ âë ¬ëè¨
;.................................................................................................
mov eax,37 ; ”ã­ªæ¨ï 37 - à ¡®â  á ¬ëèìî
mov ebx,0 ; ­ ¬ ­ã¦­ë £«®¡ «ì­ë¥ ª®®à¤¨­ âë
int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨­ âë ªãàá®à  ¬ëè¨
mcall SF_MOUSE_GET,SSF_SCREEN_POSITION
; eax = x*65536 + y, (x,y)=ª®®à¤¨­ âë ªãàá®à  ¬ëè¨
mov ecx,eax ;
shr ecx,16 ; ecx = x+1
movzx edx,ax ; edx = y+1
431,9 → 396,8
;.................................................................................................
; ®«ãç ¥¬ ª®®à¤¨­ âë ¬ëè¨ ®â­®á¨â¥«ì­® ®ª­ 
;.................................................................................................
mov eax,37 ; ”ã­ªæ¨ï 37 - à ¡®â  á ¬ëèìî
mov ebx,1 ; ­ ¬ ­ã¦­ë £«®¡ «ì­ë¥ ª®®à¤¨­ âë
int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨­ âë ªãàá®à  ¬ëè¨
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
; eax = x*65536 + y, (x,y)=ª®®à¤¨­ âë ªãàá®à  ¬ëè¨
mov ecx,eax ;
shr ecx,16 ; ecx = x+1
movzx edx,ax ; edx = y+1
448,16 → 412,14
;.................................................................................................
; “áâ ­ ¢«¨¢ ¥â ä®­ à ¡®ç¥£® á⮫ 
;.................................................................................................
mov eax,15 ; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
mov ebx,4 ; ®¤äã­ªæ¨ï 4 - ãáâ ­®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä®­ .
mov ecx,2 ; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1)
int 0x40 ; ‚ë§ë¢ ¥¬
; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
; ®¤äã­ªæ¨ï 4 - ãáâ ­®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä®­ .
; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1), à áâï­ãâì (2)
mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
 
mov eax,15 ; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
mov ebx,1 ; ®¤äã­ªæ¨ï 1 - ãáâ ­®¢¨âì à §¬¥à ä®­®¢®£® ¨§®¡à ¦¥­¨ï.
mov ecx,2 ; ˜¨à¨­  ¨§®¡à ¦¥­¨ï
mov edx,2 ; ‚ëá®â  ¨§®¡à ¦¥­¨ï
int 0x40 ; ‚ë§ë¢ ¥¬
; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
; ®¤äã­ªæ¨ï 1 - ãáâ ­®¢¨âì à §¬¥à ä®­®¢®£® ¨§®¡à ¦¥­¨ï.
mcall SF_BACKGROUND_SET,SSF_SIZE_BG,2,2
 
mov eax,[color]
mov [cm+0],al
479,17 → 441,69
mov [cm+5],al
mov [cm+8],al
 
mov eax,15 ; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
mov ebx,5 ; ®¤äã­ªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ­  ä®­.
mov ecx,cm ; “ª § â¥«ì ­  ¤ ­­ë¥ ¢ ä®à¬ â¥ BBGGRRBBGGRR
mov edx,0 ; C¬¥é¥­¨¥ ¢ ¤ ­­ëå ä®­®¢®£® ¨§®¡à ¦¥­¨ï
mov esi,3*4 ;  §¬¥à ¤ ­­ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥©
int 0x40 ; ‚ë§ë¢ ¥¬
; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
; ®¤äã­ªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ­  ä®­.
; - “ª § â¥«ì ­  ¤ ­­ë¥ ¢ ä®à¬ â¥ BBGGRRBBGGRR
; - C¬¥é¥­¨¥ ¢ ¤ ­­ëå ä®­®¢®£® ¨§®¡à ¦¥­¨ï
; -  §¬¥à ¤ ­­ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥©
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,cm,0,3*4
 
mov eax,15 ; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
mov ebx,3 ; ®¤äã­ªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®­.
int 0x40 ; ‚ë§ë¢ ¥¬
; ”ã­ªæ¨ï 15 - à ¡®â  á ä®­®¢®© £à ä¨ª®©
; ®¤äã­ªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®­.
mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
 
;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 word[params],'H '
mov eax,[color]
or eax,0xf ;¤«ï ¨§¡¥¦ ­¨ï ¢¥ç­®£® 横«  ¥á«¨ eax=0
mov edi,params+2
@@:
rol eax,8
or al,al
jnz @f
mov word[edi],'00' ;­ã«¨ ¯¥à¥¤ ç¨á«®¬
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 ;¤«ï ¨§¡¥¦ ­¨ï ¢¥ç­®£® 横«  ¥á«¨ eax=0
mov edi,params+11
@@:
rol eax,8
or al,al
jnz @f
mov word[edi],'00' ;­ã«¨ ¯¥à¥¤ ç¨á«®¬
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
;end_set_background
 
497,8 → 511,8
;.................................................................................................
; Ž¯à¥¤¥«ï¥¬ è¨à¨­ã íªà ­ 
;.................................................................................................
mov eax,14 ; Ž¯à¥¤¥«ï¥¬ è¨à¨­ã íªà ­  (eax = [xsize]*65536 + [ysize])
int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®­â «¨ - 1
; Ž¯à¥¤¥«ï¥¬ è¨à¨­ã íªà ­  (eax = [xsize]*65536 + [ysize])
mcall SF_GET_SCREEN_SIZE ; xsize = à §¬¥à ¯® £®à¨§®­â «¨ - 1
mov ebx,eax ;
shr ebx,16 ; ebx = xsize-1
movzx edx,ax ; edx = ysize-1 («¨è­¨© ª®¤)
521,9 → 535,8
;.................................................................................................
; ¥à¥¬ 梥â á ¯ «¨âàë ¢ ¯¥à¥¬¥­­ãî
;.................................................................................................
mov eax,35 ; ”ã­ªæ¨ï ¢§ïâ¨ï 梥â 
;mov ebx,ecx ;; ebx = y*xsize+x («¨è­¨© ª®¤)
int 0x40 ; ®«ãç ¥¬ 梥⠢ eax
mcall SF_GET_PIXEL ; ®«ãç ¥¬ 梥⠢ eax
cmp eax,[sc.work] ; ‘à ¢­¨¢ ¥¬ á ä®­®¬ ¯à¨«®¦¥­¨ï
je mouse_err ; …᫨ íâ® ®­ - â® ­¨ç¥£® ­¥ ¤¥« ¥¬
cmp eax,0x222222 ; ‘à ¢­¨¢ ¥¬ á 梥⮬ á¥âª¨
552,11 → 565,8
;end_mouse_get----------------------------------------------------------------------------------------
 
draw_palitra:
mov eax,13 ; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mov ebx,110 shl 16+148 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® x [ª-â  x]*65536 + [à §¬¥à]
mov ecx,9 shl 16+148 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® y [ª-â  y]*65536 + [à §¬¥à]
mov edx,[sc.work] ; 梥â
int 0x40
; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mcall SF_DRAW_RECT, 110 shl 16+148, 9 shl 16+148, [sc.work]
 
cmp [renmode],2
je cyrcle_draw
604,7 → 614,7
jle end_cyrcle_draw
 
cyrcle_draw_2:
mcall 5,10
mcall SF_SLEEP,10
call desktop_get
call mouse_global
 
614,9 → 624,8
mov ecx, 10*65536+11
mov edi,0
circle_loop2:
mov eax,13
call circle_pixel_read
mcall
mcall SF_DRAW_RECT
add ecx,11 shl 16
inc edi
cmp edi,13
627,12 → 636,7
cmp esi,13
jne circle_loop
 
 
mov eax,13
mov edx,0x0
mov ebx,177*65536+13
mov ecx, 76*65536+13
mcall
mcall SF_DRAW_RECT, 177*65536+13, 76*65536+13, 0
mov ecx, [mouse_x]
mov edx, [mouse_y]
inc ecx
640,26 → 644,16
mov ebx, edx
imul ebx, [desctop_w]
add ebx, ecx
mov eax, 35
mcall
mcall SF_GET_PIXEL
mov edx,eax
mov eax,13
mov ebx,178*65536+11
mov ecx, 77*65536+11
mcall
mcall SF_DRAW_RECT, 178*65536+11, 77*65536+11
ret
end_cyrcle_draw:
mov eax,13
mov edx,0x666666
mov ebx,111*65536+145
mov ecx, 9*65536+145
mcall
mcall SF_DRAW_RECT, 111*65536+145, 9*65536+145, 0x666666
ret
 
circle_pixel_read:
push ecx
push ebx
push eax
push ecx ebx
mov ecx, [mouse_x]
mov edx, [mouse_y]
inc ecx
676,19 → 670,14
mov ebx, edx
imul ebx, [desctop_w]
add ebx, ecx
mov eax, 35
mcall
mcall SF_GET_PIXEL
mov edx,eax
pop eax
pop ebx
pop ecx
pop ebx ecx
ret
 
_cpr_exit:
mov edx,0x00000000
pop eax
pop ebx
pop ecx
xor edx,edx
pop ebx ecx
ret
 
;picker_draw:
698,7 → 687,7
; Žâà¨á®¢ª  ä®­  ¯®¤ ª­®¯ª¨
;.................................................................................................
sheme_draw:
mov eax,13 ; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mov eax,SF_DRAW_RECT ; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mov edx,0x222222 ; 梥â
mov ecx,9 shl 16+73 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® y [ª-â  y]*65536 + [à §¬¥à]
mov esi,2 ; ‘ç¥â稪 «¨­¨© ¯®¤«®¦¥ª
719,7 → 708,7
;.................................................................................................
; Žâà¨á®¢ª  ª­®¯®ª ¯® 横«ã
;.................................................................................................
mov eax,13 ; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mov eax,SF_DRAW_RECT ; ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª
mov edx,0x0FFFFFFF ; 梥â
mov esi,4 ; ‘ç¥â稪 ª®«¨ç¥á⢠  ¡§ æ¥¢ (#4,8)
mov ebx,99 shl 16+8 ;  ç «ì­ë¥ ª®®à¤¨­ âë ¯® x [ª-â  x]*65536 + [à §¬¥à]
849,64 &