Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 109 → Rev 485

/programs/games/arcanoid/trunk/arcanoid.asm
20,6 → 20,7
;******************************************************************************
 
include 'lang.inc'
include '..\..\..\macros.inc'
include 'ascl.inc'
include 'ascgl.inc'
include 'ascgml.inc'
318,7 → 319,7
; mov edx,2
; mov esi,0x0000ff00
; mov eax,8
; int 0x40
; mcall
mov [level],0
mov [nextlev],0
mov [againbut],1
334,7 → 335,7
 
key: ; key
mov eax,2
int 0x40
mcall
cmp ah,key_Left
jne no_l
sub dword [ply1rx],50 ;24 ;16
359,11 → 360,11
 
button: ; button
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne noclose
mov eax,-1 ; close this program
int 0x40
mcall
noclose:
cmp ah,2
jne noplayagain
432,10 → 433,10
mov edx,2
mov esi,0x0000aa00
mov eax,8
int 0x40
mcall
mov ecx,260*65536+12
mov edx,1
int 0x40
mcall
label 152,244,'Play again?',cl_Red+font_Big
jmp elev
nlev:
447,10 → 448,10
mov edx,2
mov esi,0x0000aa00
mov eax,8
int 0x40
mcall
mov ecx,260*65536+12
mov edx,1
int 0x40
mcall
label 152,244,'Next level?',cl_Red+font_Big
elev:
 
/programs/games/arcanoid/trunk/ascgl.inc
373,7 → 373,7
wordstoreg ecx,y,ys ;y*65536+ys
mov edx,color
mov eax,13
int 0x40
mcall
}
 
; FPS - Set Frame Per Second Display
390,7 → 390,7
spdat:
get_time:
mov eax,3
int 0x40
mcall
cmp eax,[savetime]
jne new_time
inc [fps_cntr]
409,7 → 409,7
mov ecx,y*65536+7
mov edx,delcolor
mov eax,13
int 0x40
mcall
end if
mov dword [ttt],fps_show_frequency
mov eax,47
418,7 → 418,7
mov edx,x*65536+y
mov esi,color
mov ecx,[fps]
int 0x40
mcall
no_out_fps:
}
 
496,7 → 496,7
add cx,[arg3+4]
; wordstoreg ecx,[arg3],[arg3+4]
wordstoreg edx, x , y ;arg1*65536+arg2
int 0x40
mcall
}
 
macro setframe x , y ,arg3
507,7 → 507,7
wordstoreg edx, x , y ;arg1*65536+arg2
add edx,dword [arg3]
mov ecx,dword [arg3+4]
int 0x40
mcall
}
 
 
/programs/games/arcanoid/trunk/ascgml.inc
1,4 → 1,3
lang equ ru
 
;
; Assembler
/programs/games/arcanoid/trunk/ascl.inc
1,5 → 1,3
lang equ ru ; ru en fr ge fi
 
;
; Assembler
; SMALL
48,7 → 46,7
mov dword [fileinfo+8],1 ; how many blocks to read (1)
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
mov eax,[file_load_area+2]
shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢
inc eax
55,7 → 53,7
mov dword [fileinfo+8],eax
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
}
 
 
90,7 → 88,7
mov edx,id
mov esi,bcolor
mov eax,8
int 0x40
mcall
 
mov eax,asd-lab ;calc size
mov ebx,6
115,7 → 113,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
 
144,7 → 142,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
178,12 → 176,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,150 ; size 150 bytes
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
191,7 → 189,7
 
mov eax,58
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
199,7 → 197,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
 
cmp eax,1
je mred
214,7 → 212,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
221,7 → 219,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
246,15 → 244,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
356,7 → 354,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
390,12 → 388,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,120 ; size 150 bytes
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
403,7 → 401,7
 
mov eax,58
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
411,7 → 409,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
 
cmp eax,1
je mred
426,7 → 424,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
433,7 → 431,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
457,15 → 455,15
call redproc
jmp getmesloop
mkey:
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
617,7 → 615,7
macro scank
{
mov eax,10
int 0x40
mcall
}
 
macro putpix x,y,color
626,7 → 624,7
mov ecx,y
mov edx,color
mov eax,1
int 0x40
mcall
}
 
macro puttxt x,y,offs,size,color
639,7 → 637,7
mov edx,offs
mov esi,size
mov eax,4
int 0x40
mcall
}
 
macro outcount data, x, y, color, numtype
651,7 → 649,7
wordstoreg edx,x,y
mov esi,color
mov eax,47
int 0x40
mcall
}
 
; SCEVENT - Scan event
659,7 → 657,7
macro scevent red,key,but
{
mov eax,11
int 0x40
mcall
dec eax
jz red
dec eax
673,7 → 671,7
macro wtevent red,key,but
{
mov eax,10
int 0x40
mcall
dec eax
jz red
dec eax
688,7 → 686,7
{
mov eax,23
mov ebx,xfps
int 0x40
mcall
cmp eax,0
je noevent
dec eax
705,7 → 703,7
macro close
{
mov eax,-1
int 0x40
mcall
}
 
; DELAY - Create delay 1/100 sec
716,7 → 714,7
{
mov eax,5
mov ebx,arg1
int 0x40
mcall
}
 
; WINDOW - Draw window
731,7 → 729,7
wordstoreg ecx,arg2,arg4
mov edx,arg5
mov eax,0
int 0x40
mcall
}
 
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7
742,7 → 740,7
mov esi,arg6
mov edi,arg7
mov eax,0
int 0x40
mcall
}
 
 
752,7 → 750,7
{
mov eax,12
mov ebx,1
int 0x40
mcall
}
 
; ENDWD - End window draw
761,7 → 759,7
{
mov eax,12
mov ebx,2
int 0x40
mcall
}
 
; LABEL - Put text to frame
782,7 → 780,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
;Key's
/programs/games/arcanoid/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm arcanoid.asm arcanoid
@erase lang.inc
@pause
/programs/games/arcanoid/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm arcanoid.asm arcanoid
@erase lang.inc
@pause