2006-11-02 15:18:23 +01:00
|
|
|
|
;
|
|
|
|
|
; BACKGROUND SET - Compile with fasm
|
|
|
|
|
;
|
|
|
|
|
use32
|
|
|
|
|
org 0x0
|
|
|
|
|
db 'MENUET01' ; 8 byte id
|
|
|
|
|
dd 0x01 ; version
|
|
|
|
|
dd START ; program start
|
|
|
|
|
dd I_END ; image size
|
2007-04-05 03:51:58 +02:00
|
|
|
|
dd 0x80000 ; reguired amount of memory
|
2006-11-02 15:18:23 +01:00
|
|
|
|
dd 0x80000 ; stack pointer
|
|
|
|
|
dd I_Param,0
|
|
|
|
|
|
|
|
|
|
include 'lang.inc'
|
2007-05-10 15:48:35 +02:00
|
|
|
|
include '..\..\..\macros.inc'
|
2007-06-04 11:21:07 +02:00
|
|
|
|
purge mov ; decrease kpack'ed size
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
START:
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov eax,48
|
|
|
|
|
mov ebx,3
|
|
|
|
|
mov ecx,sc
|
|
|
|
|
mov edx,sizeof.system_colors
|
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp dword [I_Param], 'BOOT'
|
|
|
|
|
jz OnBoot
|
|
|
|
|
|
2006-11-02 15:18:23 +01:00
|
|
|
|
call draw_window
|
|
|
|
|
|
|
|
|
|
call load_texture
|
|
|
|
|
call draw_image
|
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
|
2006-11-02 15:18:23 +01:00
|
|
|
|
still:
|
|
|
|
|
|
|
|
|
|
mov eax,10 ; wait here for event
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
dec eax
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jz red
|
2007-05-10 15:48:35 +02:00
|
|
|
|
dec eax
|
|
|
|
|
jnz button
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
key:
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mov al,2
|
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
red:
|
|
|
|
|
call draw_window
|
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
button:
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mov al,17
|
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
shr eax,8
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,101 ; tiled
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jne no101
|
2007-06-04 11:21:07 +02:00
|
|
|
|
mov ecx,1
|
|
|
|
|
setbgrmode:
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov eax,15
|
|
|
|
|
mov ebx,4
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2007-06-04 11:21:07 +02:00
|
|
|
|
dec ebx
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jmp still
|
|
|
|
|
no101:
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
mov ecx, 2
|
|
|
|
|
cmp al, 102
|
|
|
|
|
jz setbgrmode
|
2006-11-02 15:18:23 +01:00
|
|
|
|
no102:
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,1 ; end program
|
2007-05-10 15:48:35 +02:00
|
|
|
|
jnz no_end
|
2006-11-02 15:18:23 +01:00
|
|
|
|
or eax,-1
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
|
|
|
|
no_end:
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,11
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jz bg
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,12
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jz bg
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,13
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jz bg
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,121
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jb no_bg_select
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,133
|
|
|
|
|
ja no_bg_select
|
|
|
|
|
mov eax,[arrays + (eax-121)*4]
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov [usearray],eax
|
|
|
|
|
call load_texture
|
|
|
|
|
call draw_image
|
|
|
|
|
jmp still
|
|
|
|
|
no_bg_select:
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,14+20
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jge bg4
|
|
|
|
|
|
|
|
|
|
jmp bg2
|
|
|
|
|
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
OnBoot:
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
call load_texture
|
|
|
|
|
|
|
|
|
|
mov eax,15
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,256
|
|
|
|
|
mov edx,256
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ebx,5
|
|
|
|
|
mov ecx,0x40000 ; <<< 0x40000 for blue, 0x40000+1 for red,
|
|
|
|
|
; <<< 0x40000+2 for green background at boot
|
|
|
|
|
mov edx,0
|
|
|
|
|
mov esi,256*3*256
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
dec ebx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx,2
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
dec ebx
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov eax,-1
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set_picture:
|
|
|
|
|
|
|
|
|
|
mov eax,image+99-3*16
|
|
|
|
|
mov ebx,0x40000+255*3+255*3*256
|
|
|
|
|
newpix:
|
|
|
|
|
mov ecx,[eax]
|
|
|
|
|
mov [ebx],cx
|
|
|
|
|
shr ecx,16
|
|
|
|
|
mov [ebx+2],cl
|
|
|
|
|
add eax,3
|
|
|
|
|
sub ebx,3
|
|
|
|
|
cmp ebx,0x40002
|
|
|
|
|
jge newpix
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
load_texture:
|
|
|
|
|
|
|
|
|
|
call gentexture
|
|
|
|
|
call set_picture
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; set background
|
|
|
|
|
|
|
|
|
|
bg:
|
|
|
|
|
|
|
|
|
|
mov edi,0x40000
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,12
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jnz bb1
|
2007-06-04 11:21:07 +02:00
|
|
|
|
inc edi
|
2006-11-02 15:18:23 +01:00
|
|
|
|
bb1:
|
2007-06-04 11:21:07 +02:00
|
|
|
|
cmp al,13
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jnz bb2
|
2007-06-04 11:21:07 +02:00
|
|
|
|
inc edi
|
2006-11-02 15:18:23 +01:00
|
|
|
|
bb2:
|
|
|
|
|
|
|
|
|
|
mov eax,15
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,256
|
|
|
|
|
mov edx,256
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ebx,5
|
|
|
|
|
mov ecx,edi
|
|
|
|
|
mov edx,0
|
|
|
|
|
mov esi,256*256*3
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ebx,3
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; colored background
|
|
|
|
|
|
|
|
|
|
bg2:
|
2007-06-04 11:21:07 +02:00
|
|
|
|
mov edi, eax
|
|
|
|
|
mcall 15,4,1
|
|
|
|
|
mcall ,1,,1
|
|
|
|
|
lea ecx, [(edi-14)*3+fill]
|
|
|
|
|
mcall ,5,,0,3*1*1
|
|
|
|
|
mcall ,3
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; shaped background
|
|
|
|
|
|
|
|
|
|
bg4:
|
|
|
|
|
|
|
|
|
|
shl eax,3
|
2007-06-04 11:21:07 +02:00
|
|
|
|
add eax,shape - (14+20)*8
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx,[eax+0]
|
|
|
|
|
mov edx,[eax+4]
|
|
|
|
|
|
|
|
|
|
mov eax,15
|
|
|
|
|
mov ebx,1
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ebx,3
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* CELLULAR TEXTURE GENERATION *********
|
|
|
|
|
; **** by Cesare Castiglia (dixan/sk/mfx) *****
|
|
|
|
|
; ********* dixan@spinningkids.org **********
|
|
|
|
|
; *********************************************
|
|
|
|
|
; * the algorythm is kinda simple. the color *
|
|
|
|
|
; * component for every pixel is evaluated *
|
|
|
|
|
; * according to the squared distance from *
|
|
|
|
|
; * the closest point in 'ptarray'. *
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
gentexture:
|
|
|
|
|
|
2007-06-04 11:21:07 +02:00
|
|
|
|
xor ecx,ecx ; ycounter
|
|
|
|
|
xor edi,edi ; pixel counter
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ebp,[usearray]
|
|
|
|
|
|
|
|
|
|
ylup:
|
2007-06-04 11:21:07 +02:00
|
|
|
|
xor ebx,ebx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
xlup:
|
|
|
|
|
push edi
|
2007-06-04 11:21:07 +02:00
|
|
|
|
xor edi, edi
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov esi, 512000000 ; abnormous initial value :)
|
|
|
|
|
|
|
|
|
|
pixlup:
|
|
|
|
|
push esi
|
|
|
|
|
mov eax,ebx ; evaluate first distance
|
|
|
|
|
sub eax, [ebp+edi] ; x-x1
|
|
|
|
|
call wrappit
|
|
|
|
|
imul eax
|
|
|
|
|
mov esi, eax ; (x-x1)^2
|
|
|
|
|
mov eax, ecx
|
|
|
|
|
add edi,4
|
|
|
|
|
sub eax, [ebp+edi] ; y-y1
|
|
|
|
|
call wrappit
|
|
|
|
|
imul eax ; (y-y1)^2
|
|
|
|
|
add eax,esi ; (x-x1)^2+(y-y1)^2
|
|
|
|
|
pop esi
|
|
|
|
|
|
|
|
|
|
cmp esi,eax
|
|
|
|
|
jb ok ; compare and take the smaller one
|
|
|
|
|
mov esi,eax
|
|
|
|
|
|
|
|
|
|
ok:
|
|
|
|
|
add edi,4
|
|
|
|
|
cmp [ebp+edi],dword 777
|
|
|
|
|
jne pixlup
|
|
|
|
|
|
|
|
|
|
mov eax,esi ; now evaluate color...
|
|
|
|
|
|
|
|
|
|
mov edi,24 ; 50 = max shaded distance
|
|
|
|
|
idiv edi
|
|
|
|
|
|
|
|
|
|
pop edi
|
|
|
|
|
mov [image+51+edi],eax
|
|
|
|
|
add edi,3
|
|
|
|
|
|
|
|
|
|
add ebx,1 ; bounce x loop
|
|
|
|
|
cmp ebx,256 ; xsize
|
|
|
|
|
jne xlup
|
|
|
|
|
|
|
|
|
|
add ecx,1
|
|
|
|
|
cmp ecx,256 ; ysize
|
|
|
|
|
jne ylup
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
wrappit:
|
|
|
|
|
cmp eax,0 ; this makes the texture wrap
|
|
|
|
|
jg noabs
|
|
|
|
|
neg eax
|
|
|
|
|
noabs:
|
|
|
|
|
cmp eax,128
|
|
|
|
|
jb nowrap
|
|
|
|
|
neg eax
|
|
|
|
|
add eax,256
|
|
|
|
|
nowrap:
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* WINDOW DEFINITIONS AND DRAW *********
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
draw_image:
|
|
|
|
|
|
|
|
|
|
mov eax,7
|
|
|
|
|
mov ebx,0x40000
|
|
|
|
|
mov ecx,256*65536+255
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov edx,14*65536+40;55
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
y_add equ 19 ; 30
|
2006-11-02 15:18:23 +01:00
|
|
|
|
y_s equ 13
|
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
y_add2 equ 315 ;325
|
2006-11-02 15:18:23 +01:00
|
|
|
|
set equ 0 ;15
|
|
|
|
|
|
|
|
|
|
draw_window:
|
|
|
|
|
|
|
|
|
|
mov eax, 12 ; tell os about draw
|
|
|
|
|
mov ebx, 1
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
xor eax, eax ; define and draw window
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ebx, 220*65536+293
|
|
|
|
|
mov ecx, 50*65536+408
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov edx, [sc.work]
|
|
|
|
|
or edx, 0x33000000
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mov edi, title
|
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
call draw_image
|
|
|
|
|
|
|
|
|
|
mov eax,8 ; Blue button
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx,(set+190+27)*65536+17
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx,y_add*65536+y_s
|
|
|
|
|
mov edx,11
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov esi,0x005555bb
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2007-04-05 03:51:58 +02:00
|
|
|
|
;mov eax,8 ; Red button
|
|
|
|
|
mov ebx,(set+208+27)*65536+17
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx,12
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov esi,0x00bb5555
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2007-04-05 03:51:58 +02:00
|
|
|
|
;mov eax,8 ; Green button
|
|
|
|
|
mov ebx,(set+253)*65536+17
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx,13
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov esi,0x0055bb55
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
;mov eax, 8 ; tiled
|
|
|
|
|
mov ebx, 90*65536+63
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx, y_add*65536+y_s
|
|
|
|
|
mov edx, 101
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov esi, [sc.work_button]
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
;mov eax, 8 ; stretch
|
|
|
|
|
mov ebx, 154*65536+61
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, 102
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov eax, 4
|
|
|
|
|
mov ebx, 215*65536+5
|
|
|
|
|
mov ecx, [sc.work_text]
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, apply_text
|
|
|
|
|
mov esi, apply_text.size
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx, 14*65536+301
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, image_buttons_text
|
|
|
|
|
mov esi, image_buttons_text.size
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx, 14*65536+(y_add2+27)
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, simple_text
|
|
|
|
|
mov esi, simple_text.size
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov ecx, (y_add2)*65536+20
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx, (13)*65536+25
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, 121
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov esi, [sc.work_button]
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edi, 9
|
|
|
|
|
mov eax, 8
|
|
|
|
|
@@:
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
add ebx, 29*65536
|
|
|
|
|
inc edx
|
|
|
|
|
dec edi
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov edx, 34+4
|
|
|
|
|
mov edi, 4
|
2007-05-10 15:48:35 +02:00
|
|
|
|
;mov eax, 8
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx, 13*65536+18
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx, y_add*65536+y_s
|
|
|
|
|
@@:
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
inc edx
|
|
|
|
|
add ebx, 19*65536
|
|
|
|
|
dec edi
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;-----------------------
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mov eax,8
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov edx,14 ; button number
|
|
|
|
|
mov ebx,(13)*65536+17 ; button start x & size
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov ecx,(y_add2+40)*65536+14 ; button start y & size
|
|
|
|
|
|
|
|
|
|
newcb:
|
|
|
|
|
mov esi,[(edx-14)*4+colors]
|
|
|
|
|
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
inc edx
|
|
|
|
|
add ebx,20*65536
|
|
|
|
|
|
|
|
|
|
cmp edx,27
|
|
|
|
|
jnz newcb
|
|
|
|
|
;-----------------------
|
|
|
|
|
|
|
|
|
|
mov eax, 4
|
2007-04-05 03:51:58 +02:00
|
|
|
|
mov ebx, 94*65536+4+y_add
|
|
|
|
|
mov ecx, [sc.work_button_text]
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, la2
|
|
|
|
|
mov esi, la2.size
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
mov eax,12
|
|
|
|
|
mov ebx,2
|
2007-05-10 15:48:35 +02:00
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; DATA SECTION
|
|
|
|
|
|
2007-04-05 03:51:58 +02:00
|
|
|
|
if lang eq ru
|
2007-05-10 15:48:35 +02:00
|
|
|
|
title db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD>',0
|
2007-04-05 03:51:58 +02:00
|
|
|
|
else
|
2007-05-10 15:48:35 +02:00
|
|
|
|
title db 'Background',0
|
2007-04-05 03:51:58 +02:00
|
|
|
|
end if
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
lsz apply_text,\
|
|
|
|
|
ru, "<22>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD>:",\
|
|
|
|
|
en, "Apply:"
|
|
|
|
|
|
|
|
|
|
lsz image_buttons_text,\
|
|
|
|
|
ru, "<22>롥<EFBFBD><EBA1A5><EFBFBD><EFBFBD> <20><>ࠧ<EFBFBD><E0A0A7>:",\
|
|
|
|
|
en, "Select pattern:"
|
|
|
|
|
|
|
|
|
|
lsz simple_text,\
|
|
|
|
|
ru, "<22><><EFBFBD><EFBFBD>梥<EFBFBD><E6A2A5><EFBFBD><EFBFBD> 䮭:",\
|
|
|
|
|
en, "Single-color background:"
|
|
|
|
|
|
|
|
|
|
lsz la2,\
|
2007-04-05 03:51:58 +02:00
|
|
|
|
ru, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",\
|
|
|
|
|
en, " TILED STRETCH"
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xx db 'x'
|
|
|
|
|
|
|
|
|
|
colors:
|
|
|
|
|
dd 0x770000
|
|
|
|
|
dd 0x007700
|
|
|
|
|
dd 0x000077
|
|
|
|
|
dd 0x777700
|
|
|
|
|
dd 0x770077
|
|
|
|
|
dd 0x007777
|
|
|
|
|
dd 0x777777
|
|
|
|
|
dd 0x335577
|
|
|
|
|
dd 0x775533
|
|
|
|
|
dd 0x773355
|
|
|
|
|
dd 0x553377
|
2007-05-10 15:48:35 +02:00
|
|
|
|
dd 0x111111
|
2006-11-02 15:18:23 +01:00
|
|
|
|
dd 0xcccccc
|
|
|
|
|
|
2007-05-10 15:48:35 +02:00
|
|
|
|
fill:
|
|
|
|
|
db 0x00,0x00,0x77
|
|
|
|
|
db 0x00,0x77,0x00
|
|
|
|
|
db 0x77,0x00,0x00
|
|
|
|
|
db 0x00,0x77,0x77
|
|
|
|
|
db 0x77,0x00,0x77
|
|
|
|
|
db 0x77,0x77,0x00
|
|
|
|
|
db 0x77,0x77,0x77
|
|
|
|
|
db 0x77,0x55,0x33
|
|
|
|
|
db 0x33,0x55,0x77
|
|
|
|
|
db 0x55,0x33,0x77
|
|
|
|
|
db 0x77,0x33,0x55
|
|
|
|
|
db 0x11,0x11,0x11
|
|
|
|
|
db 0xcc,0xcc,0xcc
|
2006-11-02 15:18:23 +01:00
|
|
|
|
|
|
|
|
|
shape:
|
|
|
|
|
|
|
|
|
|
dd 1024,64
|
|
|
|
|
dd 1024,32
|
|
|
|
|
dd 2048,32
|
|
|
|
|
dd 4096,32
|
|
|
|
|
|
|
|
|
|
dd 512,16
|
|
|
|
|
dd 1024,16
|
|
|
|
|
dd 2048,16
|
|
|
|
|
dd 4096,16
|
|
|
|
|
|
|
|
|
|
dd 64,32
|
|
|
|
|
dd 64,16
|
|
|
|
|
dd 32,32
|
|
|
|
|
dd 8,8
|
|
|
|
|
dd 16,16
|
|
|
|
|
dd 64,64
|
|
|
|
|
|
|
|
|
|
usearray dd ptarray
|
|
|
|
|
|
|
|
|
|
arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6
|
|
|
|
|
dd ptarray7,ptarray8,ptarray9
|
|
|
|
|
|
|
|
|
|
ptarray:
|
|
|
|
|
|
|
|
|
|
dd 150,50
|
|
|
|
|
dd 120,30
|
|
|
|
|
dd 44,180
|
|
|
|
|
dd 50,66
|
|
|
|
|
dd 27,6
|
|
|
|
|
dd 95,212
|
|
|
|
|
dd 128,177
|
|
|
|
|
dd 201,212
|
|
|
|
|
dd 172,201
|
|
|
|
|
dd 250,100
|
|
|
|
|
dd 24,221
|
|
|
|
|
dd 11,123
|
|
|
|
|
dd 248,32
|
|
|
|
|
dd 34,21
|
|
|
|
|
dd 777 ; <- end of array
|
|
|
|
|
|
|
|
|
|
ptarray2:
|
|
|
|
|
|
|
|
|
|
dd 0,0,50,50,100,100,150,150,200,200,250,250
|
|
|
|
|
dd 50,150,150,50,200,100,100,200
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray3:
|
|
|
|
|
|
|
|
|
|
dd 55,150,150,55,200,105,105,200
|
|
|
|
|
dd 30,30,220,220
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray4:
|
|
|
|
|
|
|
|
|
|
dd 196,0,196,64,196,128,196,196
|
|
|
|
|
dd 64,32,64,96,64,150,64,228
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray5:
|
|
|
|
|
|
|
|
|
|
dd 196,0,196,64,196,128,196,196
|
|
|
|
|
dd 64,0,64,64,64,128,64,196
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray6:
|
|
|
|
|
|
|
|
|
|
dd 49,49,128,50,210,50
|
|
|
|
|
dd 50,128,128,128,210,128
|
|
|
|
|
dd 50,210,128,210,210,210
|
|
|
|
|
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray7:
|
|
|
|
|
|
|
|
|
|
dd 0,0
|
|
|
|
|
dd 196,196,64,64
|
|
|
|
|
dd 128,0
|
|
|
|
|
dd 0,128
|
|
|
|
|
dd 64,64,196,64
|
|
|
|
|
dd 196,196,64,196
|
|
|
|
|
dd 128,128
|
|
|
|
|
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray8:
|
|
|
|
|
|
|
|
|
|
dd 0, 128
|
|
|
|
|
dd 0, 128
|
|
|
|
|
dd 128, 0
|
|
|
|
|
dd 0, 128
|
|
|
|
|
dd 128, 0
|
|
|
|
|
dd 0, 128
|
|
|
|
|
dd 128, 0
|
|
|
|
|
dd 0, 128
|
|
|
|
|
dd 128, 0
|
|
|
|
|
dd 128, 128
|
|
|
|
|
|
|
|
|
|
dd 777
|
|
|
|
|
|
|
|
|
|
ptarray9:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dd 0,248,64,128,128,64,196,48,160,160,94,224,240,96,5,5,777
|
|
|
|
|
|
|
|
|
|
|
2007-04-12 19:29:53 +02:00
|
|
|
|
I_END:
|
|
|
|
|
sc system_colors
|
|
|
|
|
|
2006-11-02 15:18:23 +01:00
|
|
|
|
I_Param:
|
|
|
|
|
|
|
|
|
|
image:
|
|
|
|
|
|