Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Ignore whitespace Rev 30 → Rev 31

/programs/tanks/trunk/Hi_win.txt
0,0 → 1,31
 
 
 
Hi!My name is andrew_programmer aka Andrey Ignatyev.This my firs programm and game for MenuetOS.
Game TANKS was made specially for MenuetOS.(x.8.2005)
All pictures and levels made i.
I bad speak an english.Please use translater for understanding next text.
 
 
 
Ïðèâåò!Ìåíÿ çîâóò Àíäðåé Èãíàòüåâ(andrew_programmer).
Ïî ïðîñüáå Ñåðãåÿ Êóçüìèíà(Wildwest), ïåðâîé èãðîé,êîòîðóþ ÿ ñîçäàë äëÿ Ìåîñ,
ñòàëà "Òàíêè".Ãðàôèêó íå ñóäèòå ñòðîãî-âñå ðèñîâàë ÿ ñàì,à ïîìî÷ü áûëî íåêîìó.
Êñòàòè,âñå êàðòèíêè áûëè ñîçäàíû èñêëþ÷èòåëüíî â ìåîñü â ìîåì ñîáñòâåííîì ôîðìàòå-pix.
 
 
Öåëü èãðû-ðàçáîìáèòü âñå áàçû ïðîòèâíèêà.Ïîìíèòå,÷òî â âîäå ñêîðîñòü òàíêà çàìåäëÿåòñÿ,
à â äåðåâüÿõ òàíê íåâèäåí.Õîòÿ òàíêè ïðîòèâíèêà íå îòëè÷àþòñÿ îñîáûì èíòåëëåêòîì,íî
âñåðàâíî îíè íå äàäóò âàì ñêó÷àòü.
 
 èãðå çàäóìûâàëîñü ñäåëàòü 32 óðîâíÿ.Íî ó ìåíÿ õâàòèëî ôàíòàçèè òîëüêî íà 15.
Åñëè êòî õî÷åò,ñäåëàéòå åùå 17 ïðèïîìîùè ðåäàêòîðà LevelEdit.Ó íåãî ïðîñòîé èíòåðôåéñ.
Ñòðåëêè ââåðõ,âíèç,âïðàâî,âëåâî óïðàâëÿþò ïîëîæåíèåì øàáëîíà íà êàðòå.Ïðîáåë- ýòî
ñìåíà øàáëîíà(èõ 10).Äëÿ ñîõðàíåíèÿ êàðòû íàæìèòå F2 è ââåäèòå ïîëíûé ïóòü ê ôàéëó âìåñòå
ñ íàçâàíèåì íîâîãî ôàéëà(ïðèìåð:'/hd/1/lev/lev01.lev').Äëÿ çàãðóçêè ñóùåñòâóþùåãî
óðîâíÿ íàæìèòå F1 è ââåäèòå ïóòü ê ôàéëó.Òàíêè ïîÿâëÿþòñÿ ñïðàâà îò áàçû.Âîò è âñå.
 
 
*************************************************************************************************
***************************Íàäåþñü ìîÿ èãðà âàì ïîíðàâèòüñÿ!*************************************
*************************************************************************************************
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/tanks/trunk/build_en.bat
0,0 → 1,4
@erase lang.inc
@echo lang fix en >lang.inc
@fasm tanks.asm tanks
@pause
/programs/tanks/trunk/build_ru.bat
0,0 → 1,4
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm tanks.asm tanks
@pause
/programs/tanks/trunk/lev01.lev
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/tanks/trunk/leveledit.asm
0,0 → 1,1151
use32
org 0x0
 
db 'MENUET01'
dd 0x1
dd START
dd I_END
dd 0x3000+640*400*3+16*20*20*3+512+640+1
dd 0x3000
dd 0x0
dd 0x0
include 'lang.inc'
include 'pixengin.inc'
START:
mov eax,40
mov ebx,111b
int 0x40
call drawwin
;main cycle(fps)
fpst:
call clock
mov eax,[time]
mov [old_time],eax
mov [old_frame_time],eax
;----------------------------------------------------------
;---------load all sprites from arrays to memory-----------
;----------------------------------------------------------
mov [number_sprite],0
xor eax,eax
nextfile:
mov ebx,[spisok+4*eax]
mov ecx,50
mov esi,ebx
add esi,2
mov edi,0x3000+(640*400*3)+(16*20*20*3)+10
rep movsb ;copy palitra to memory
mov esi,ebx
add esi,52
xor ecx,ecx
mov cl,byte [ebx]
mov edi,0x3000+(640*400*3)+(16*20*20*3)+512
push eax
call unpakin
pop eax
mov ecx,20*20
mov esi,0x3000+(640*400*3)+(16*20*20*3)+512
mov edi,[number_sprite]
imul edi,3*20*20
add edi,0x3000+(640*400*3)
un:
xor ebx,ebx
mov bl,byte[esi]
lea ebx,[ebx+ebx*2]
add ebx,0x3000+(640*400*3)+(16*20*20*3)+10
mov edx,[ebx]
mov [edi],edx
add esi,1
add edi,3
sub ecx,1
jnz un
add [number_sprite],1
add eax,1
cmp [number_sprite],10;total number of pictures equal 10
jne nextfile
;--------------------------------------------------------
mov [total_time],0
mov [phas],0
mov [x],100
mov [y],100
animation:
call clock
mov eax,[time]
sub eax,[old_time]
cmp eax,5
jl next_action
mov eax,[time]
mov [old_time],eax
mov eax,[phas]
mov [black],eax
mov [phas],15
call PutSprite
call putimage
mov eax,5
mov ebx,2
int 0x40
mov eax,[black]
mov [phas],eax
call PutSprite
call putimage
call print_pos
add [frames],2
next_action:
call clock
mov eax,[time]
sub eax,[old_frame_time]
cmp eax,100
jl no_frames
mov eax,[time]
mov [old_frame_time],eax
mov eax,13
mov ebx,420*65536+30
mov ecx,425*65536+15
mov edx,0xffffff
int 0x40
mov eax,47
mov ebx,3*65536
mov ecx,[frames]
mov edx,425*65536+427
mov esi,0
int 0x40
mov [frames],0
no_frames:
;----------------------
mov ebx,20
mov eax,[x]
cdq
idiv ebx
mov ecx,eax
mov eax,[y]
cdq
idiv ebx
imul eax,32
add eax,ecx
add eax,0x3000+(640*400*3)+(16*20*20*3)+512
xor ebx,ebx
mov bl,byte [phas]
mov [eax],bl;write number of shablon to the map-array
;-----------------------
;mov eax,11
;int 0x40
mov eax,23
mov ebx,2
int 0x40
cmp eax,2
jne animation
mov eax,2
int 0x40
shr eax,8
cmp eax,32
jne key2
add [phas],1
cmp [phas],10
jne animation
mov [phas],0
jmp animation
key2:cmp eax,176
jne key3
sub [x],20
jmp animation
key3:cmp eax,179
jne key4
add [x],20
jmp animation
key4:cmp eax,178
jne key5
sub [y],20
jmp animation
key5:cmp eax,177
jne key6
add [y],20
jmp animation
key6: cmp eax,51
jne key7
call save_level
jmp animation
key7:cmp eax,50
jne key8
call load_level
jmp animation
key8:cmp eax,27
jne animation
mov eax,-1
int 0x40
;-------------------------------------------
drawwin:
mov eax,12
mov ebx,1
int 0x40
;à¨á㥬 ®ª­® § ¤ ¢ ï ¢á¥ ­¥®¡å®¤¨¬ë¥ 梥â 
mov eax,0
mov ebx,50*65536+640
mov ecx,50*65536+450
mov edx,0x02AABBCC
mov esi,0x805080d0
mov edi,0x005080d0
int 0x40
;¯¨è¥¬ § £®«®¢®ª ®ª­ 
mov eax,4
mov ebx,5*65536+5
mov ecx,0x10ddeeff
mov edx,name
mov esi,7
int 0x40
;à¨á㥬 ª­®¯ªã § ªàëâ¨ï ®ª­ 
mov eax,8
mov ebx,(640-19)*65536+12
mov ecx,5*65536+12
mov edx,1
mov esi,0x6688dd
int 0x40
ret
;----------------------------------------------------------
counter dd 0
;----------------------------------------------------
;draw sprite in video memory
PutSprite:
mov ebx,[x]
imul ebx,3
mov eax,[y]
imul eax,640*3
add eax,0x3000
add eax,ebx
cld
mov [counter],20
mov esi,[phas]
imul esi,1200
add esi,0x3000+(640*400*3)
mov ebx,esi
draw:
mov esi,ebx
mov edi,eax
mov ecx,20*3
rep movsb
add eax,640*3
add ebx,3*20
dec [counter]
jnz draw
ret
;-------------------------------------------------------------------------
;get time in 1/100 sec
clock: mov eax,26
mov ebx,9
int 0x40
mov [time],eax
ret
;---------------------------------------------------------
putimage:
mov eax,7
mov ebx,0x3000
mov ecx,640*65536+400
mov edx,1*65536+20
int 0x40
ret
;---------------------------------------------------------
print_pos:mov eax,13
mov ebx,490*65536+60
mov ecx,425*65536+15
mov edx,0xffffff
int 0x40
mov eax,47
mov ebx,3*65536
mov ecx,[x]
mov edx,495*65536+430
mov esi,0
int 0x40
mov eax,47
mov ebx,3*65536
mov ecx,[y]
mov edx,530*65536+430
mov esi,0
int 0x40
ret
;-----------------------------------------------------------
;-------------------------load files------------------------
;-----------------------------------------------------------
loadfile:
;ªã¤  § ¯¨á뢠âì ¯¥à¢ë© ¡«®ª
mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
;§ £à㦠¥¬ ¯¥à¢ë© ¡«®ª ¤«ï ⮣® ç⮡ë 㧭 â à §¬¥à ä ©« 
mov eax,58
mov ebx,file_read
int 0x40
;¢ëç¨á«ï¥¬ ᪮«ìª® ¡«®ª®¢ ¯® 512 ¡ ©â ­ã¦­® ¨á¯®«ì§®¢ âì
;¤«ï § £à㧪¨ ä ©« 
mov ecx,ebx
shr ecx,9
add ecx,1
;§ ¯¨á뢠¥¬  ¤à¥á ªã¤  ­ã¦­® § ¯¨á âì ¯¥à¢ë© ¡«®ª
mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
;§ ­®á¨¬ ¢ áâàãªâãàã file_read ­®¬¥à ¡«®ª  á ª®â®à®£® ­ã¦­® § £à㦠âì ä ©«
mov [file_read+4],dword 0
;§ ­®á¨¬ ¢ áâàãªâãàã file_read ç¨á«® ¡«®ª®¢ ª®â®àë¥ ­ã¦­® § £à㧨âì
mov [file_read+8],ecx
;§ £à㦠¥¬ ¡«®ª
mov eax,58
mov ebx,file_read
int 0x40
cmp eax,0
jne scock2
mov esi,0x3000+(640*400*3)+(16*20*20*3)
mov ecx,[esi+8]
add esi,60
mov edi,0x3000+(640*400*3)+(16*20*20*3)+512
call unpakin
mov [addr_palitra],dword 0x3000+(640*400*3)+(16*20*20*3)+10
mov ecx,400
mov esi,0x3000+(640*400*3)+(16*20*20*3)+512
mov edi,[number_sprite]
imul edi,3*20*20
add edi,0x3000+(640*400*3)
unp:
xor eax,eax
mov al,byte[esi]
imul eax,3
add eax,[addr_palitra]
mov ebx,[eax]
and ebx,0xffffff
mov [edi],ebx
add esi,1
add edi,3
sub ecx,1
jnz unp
scock2:
ret
;---------------------------------------------------------------------------
;-----------------save level in file----------------------------------------
;---------------------------------------------------------------------------
save_level:
call input_path
xor ebx,ebx
copy_path:
xor eax,eax
mov al,byte [string+ebx]
cmp al,13
je end_copy
mov [file_write+20+ebx],eax
add ebx,1
jmp copy_path
end_copy:
mov esi,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
mov edi,0x3000+(640*400*3)+(16*20*20*3);0x1000
mov ecx,32*20
call save_image
mov eax,[SizeFile]
mov [file_write+8],eax
mov [file_write+12],dword 0x3000+(640*400*3)+(16*20*20*3);+(0x1000)
mov eax,58
mov ebx,file_write
int 0x40
cmp eax,0
jne scok
xor esi,esi
mov eax,55
mov ebx,eax
mov esi,sound
int 0x40
scok:
ret
;-----------------------------------------------------------------------------
;-----------------load level to memory----------------------------------------
;-----------------------------------------------------------------------------
load_level:
call input_path
xor ebx,ebx
copy_load:xor eax,eax
mov al,byte [string+ebx]
cmp al,13
je end_load
mov [file_read+20+ebx],eax
add ebx,1
jmp copy_load
end_load:
mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
mov eax,58
mov ebx,file_read
int 0x40
mov ecx,ebx
shr ebx,9
add ebx,1
mov [file_read+8],ebx
mov eax,58
mov ebx,file_read
int 0x40
cmp eax,0
jne nosound
mov esi,0x3000+(640*400*3)+(16*20*20*3)
mov edi,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
call unpakin
xor esi,esi
mov eax,55
mov ebx,55
mov esi,sound
int 0x40
xor esi,esi
mov [x_l],0
mov [y_l],0
c_y:
mov [x_l],0
c_x:
mov eax,[x_l]
mov ebx,[y_l]
imul ebx,32
add eax,ebx
add eax,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
mov ecx,eax
xor eax,eax
mov al,byte [ecx]
imul eax,1200
add eax,0x3000+(640*400*3)
mov ebx,[x_l]
imul ebx,20*3
mov ecx,[y_l]
imul ecx,20*3*640
add ebx,ecx
add ebx,0x3000
mov esi,eax
mov edi,ebx
;----------------------------
xor edx,edx
next_line:
mov esi,eax
mov edi,ebx
mov ecx,60
rep movsb
add edx,1
add eax,20*3
add ebx,(640*3)
cmp edx,20
jne next_line
;----------------------------
add [x_l],1
cmp [x_l],32
jne c_x
add [y_l],1
cmp [y_l],20
jne c_y
nosound:
jmp animation
;-----------------------------------------------------------------------------
input_path:
mov [position],byte -1
call print_line
mov eax,13
mov ebx,25*65536+6
mov ecx,433*65536+12
mov edx,0xff6c58
int 0x40
opros:mov eax,10
int 0x40
cmp eax,2
jne opros
mov eax,2
int 0x40
shr eax,8
cmp eax,13
je exit_cycle
cmp eax,8
je backspace
cmp eax,176
je left
cmp eax,179
je right
cmp eax,32
je probel
add [position],1
xor ebx,ebx
mov bl,[position]
mov [string+ebx],byte al
call print_line
call print_cursor
jmp opros
backspace:xor ebx,ebx
mov bl,[position]
mov [string+ebx],byte ' '
sub [position],1
call print_line
call print_cursor
jmp opros
left:sub [position],1
call print_line
call print_cursor
jmp opros
right:add [position],1
call print_line
call print_cursor
jmp opros
probel:add [position],1
call print_line
call print_cursor
jmp opros
exit_cycle:add [position],1
xor ebx,ebx
mov bl,[position]
mov [string+ebx],byte 13
mov eax,13
mov ebx,20*65536+(64*6)+5
mov ecx,430*65536+15
mov edx,0xffffff
int 0x40
ret
;---------------------------------------------------------------
print_line:
mov eax,13
mov ebx,20*65536+(64*6)+5
mov ecx,430*65536+15
mov edx,0xffffff
int 0x40
mov eax,4
mov ebx,25*65536+435
mov ecx,0x1
mov edx,string
mov esi,64
int 0x40
ret
print_cursor:
mov eax,13
xor ebx,ebx
mov bl,[position]
imul ebx,6
add ebx,25+6
shl ebx,16
add ebx,6
mov ecx,433*65536+12
mov edx,0xff6c58
int 0x40
ret
;------------------------------------------------------------------------
string:
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
position db 0
total_time dd 0
time dd 0
old_time dd 0
frame dd 0
addr_palitra dd 0
;addr_array dd 0
number_sprite dd 0
offs dd 0
phas dd 0
black dd 0
x dd 0
y dd 0
x_l dd 0
y_l dd 0
name db 'testfps'
frames dd 0
old_frame_time dd 0
sound db 0x90,0x30,0
file_read:
dd 0
dd 0
dd 1
dd 0
dd 0x3000
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
file_write:
dd 1
dd 0
dd 0
dd 0
dd 0x3000
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
water:
db 247,0,0,0,0,0,255,0
 
db 0,128,0,255,128,0,128,255
 
db 0,255,0,0,255,255,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,7,0,2,1,19,2
 
db 1,2,1,2,17,2,1,18
 
db 35,49,19,2,49,2,17,2
 
db 17,3,6,5,19,2,19,17
 
db 18,35,18,1,2,51,5,1
 
db 2,5,3,6,18,1,19,5
 
db 3,17,2,19,6,5,19,6
 
db 1,3,33,19,6,3,5,3
 
db 2,17,51,2,1,19,18,3
 
db 6,67,18,1,2,3,5,35
 
db 1,2,17,19,5,6,5,6
 
db 3,1,18,51,2,3,18,3
 
db 6,3,5,6,19,5,19,1
 
db 19,33,18,1,18,3,6,3
 
db 6,67,1,2,1,2,65,2
 
db 1,19,5,3,21,3,17,34
 
db 1,66,1,18,67,2,17,2
 
db 33,2,1,18,1,2,1,34
 
db 1,2,1,18,1,18,17,2
 
db 33,34,17,50,17,2,17,66
 
db 1,2,1,19,5,3,2,17
 
db 2,17,50,17,34,19,6,3
 
db 6,19,1,2,65,19,6,3
 
db 17,3,5,19,5,35,18,17
 
db 3,6,3,5,19,18,3,6
 
db 5,19,5,19,18,17,3,21
 
db 3,21,2,1,35,21,19,17
 
db 2,1,2,3,6,3,6,5
 
db 3,1,18,1,35,2,17,50
 
db 1,3,5,6,35,1,2,1
 
db 2,1,2,17,2,17,2,17
 
db 2,51,16
voda1:
db 137,0,0,0,0,255,255,0
 
db 255,128,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,3,0,2,17,18,17
 
db 18,65,18,17,2,33,2,97
 
db 2,1,2,33,18,17,18,49
 
db 18,65,2,65,18,17,2,17
 
db 2,33,18,33,2,113,18,17
 
db 18,17,2,49,18,17,18,145
 
db 34,33,18,49,18,17,18,145
 
db 2,65,2,65,18,17,18,17
 
db 2,17,34,49,18,97,2,113
 
db 2,49,18,1,2,49,2,1
 
db 18,17,2,1,34,65,2,97
 
db 2,113,2,65,18,17,2,49
 
db 18,1,2,33,18,1,2,81
 
db 18,193,18,81,18,17,18,129
 
db 18,145,18,1,2,81,34,17
 
db 18,65,34,1,18,145,2,129
 
db 18,49,18,33,2,33,34,81
 
db 18,97,2,1,16
trava:
db 214,0,0,0,0,0,255,0
 
db 0,128,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,3,0,2,33,2,1
 
db 2,1,2,17,2,1,34,17
 
db 18,1,18,1,2,49,2,17
 
db 2,33,2,1,2,33,2,17
 
db 34,17,18,1,2,1,18,33
 
db 2,17,34,17,18,33,18,17
 
db 50,97,2,33,2,33,18,1
 
db 18,17,50,1,2,1,50,1
 
db 18,65,2,33,18,1,18,17
 
db 18,17,82,33,2,1,2,1
 
db 2,33,2,49,18,1,18,1
 
db 2,1,2,33,2,17,2,1
 
db 2,65,2,1,18,1,2,17
 
db 2,17,34,1,66,1,18,17
 
db 2,17,2,17,2,33,2,1
 
db 18,1,2,1,34,1,2,1
 
db 18,1,18,17,2,33,34,17
 
db 50,17,2,17,66,1,2,17
 
db 2,17,2,17,2,17,50,17
 
db 50,1,34,33,2,81,2,49
 
db 2,33,34,1,18,33,18,1
 
db 66,33,2,1,50,17,2,1
 
db 2,1,2,1,2,49,34,33
 
db 2,1,18,1,18,33,18,1
 
db 2,17,2,17,50,17,2,1
 
db 2,1,2,1,2,1,2,1
 
db 2,17,2,17,2,17,18,17
 
db 2,16
sten3:
db 104,0,0,0,0,128,128,128
 
db 192,192,192,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,3,0,226,66,65,2
 
db 81,2,65,2,81,2,81,2
 
db 65,2,81,2,81,2,65,2
 
db 1,226,66,33,2,81,2,81
 
db 2,65,2,81,2,81,2,65
 
db 2,81,2,81,2,17,226,66
 
db 1,2,81,2,81,2,65,2
 
db 81,2,81,2,65,2,81,2
 
db 81,2,49,226,66,65,2,97
 
db 2,65,2,65,2,97,2,65
 
db 2,65,2,97,2,65,226,82
 
db 33,2,81,2,81,2,65,2
 
db 81,2,81,2,65,2,81,2
 
db 81,2,17,16
sten1:
db 111,0,0,0,0,128,128,128
 
db 192,192,192,0,0,255,255,255
 
db 255,64,128,255,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,6,0,227,67,53,3
 
db 133,3,69,34,5,3,5,98
 
db 5,3,5,98,5,3,5,98
 
db 5,3,5,50,53,3,133,3
 
db 69,227,67,133,3,133,3,114
 
db 5,3,5,98,5,3,114,5
 
db 3,5,98,5,3,133,3,133
 
db 227,83,69,3,133,3,53,50
 
db 5,3,5,98,5,3,5,98
 
db 5,3,5,98,5,3,5,34
 
db 69,3,133,3,53,227,67,101
 
db 3,133,3,21,82,5,3,5
 
db 98,5,3,5,98,5,3,5
 
db 98,5,3,5,2,101,3,133
 
db 3,21,16
pesok:
db 120,0,0,0,0,0,255,255
 
db 0,64,128,0,128,128,64,128
 
db 128,64,128,255,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,6,0,225,81,2,33
 
db 2,65,2,3,33,2,1,5
 
db 49,5,49,2,129,3,225,97
 
db 3,17,2,33,2,1,5,33
 
db 2,1,5,129,5,65,2,65
 
db 2,225,97,2,33,3,17,2
 
db 49,3,145,2,177,3,49,5
 
db 81,5,1,2,33,2,65,3
 
db 17,2,17,3,145,2,209,3
 
db 81,2,49,5,33,2,177,3
 
db 145,2,17,2,5,113,2,225
 
db 1,2,33,3,17,3,49,3
 
db 17,3,161,2,1,5,97,2
 
db 177,2,49,2,33,5,33,2
 
db 193,2,49,3,33,2,81,3
 
db 1,5,1,16
palma:
db 209,0,0,0,0,0,255,0
 
db 0,128,0,0,255,255,64,128
 
db 128,64,128,255,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,6,0,2,33,2,1
 
db 2,1,2,17,2,1,34,17
 
db 18,1,18,1,51,1,2,17
 
db 2,1,35,1,2,33,115,2
 
db 51,21,19,1,2,35,69,35
 
db 53,35,18,3,21,67,5,3
 
db 21,19,1,18,19,2,5,3
 
db 50,1,3,5,3,5,67,17
 
db 3,1,19,17,67,5,99,34
 
db 3,2,35,5,3,5,3,5
 
db 3,5,3,5,35,1,18,1
 
db 2,19,5,35,5,3,5,35
 
db 21,19,33,19,5,35,5,35
 
db 5,51,5,3,34,35,17,51
 
db 20,3,5,35,5,3,2,1
 
db 35,18,3,5,3,36,5,19
 
db 1,35,1,18,3,17,2,3
 
db 2,52,35,50,1,2,17,2
 
db 17,2,1,52,3,34,17,50
 
db 1,34,33,36,49,2,49,2
 
db 33,34,1,36,17,18,1,66
 
db 33,2,1,2,1,36,1,2
 
db 1,2,1,2,1,2,49,66
 
db 36,18,1,18,33,18,1,2
 
db 17,84,2,17,2,1,2,1
 
db 2,1,2,1,2,1,84,2
 
db 17,18,17,2,16
kamni:
db 210,0,0,0,0,0,255,0
 
db 0,128,0,64,128,255,64,128
 
db 128,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,5,0,2,33,2,1
 
db 2,35,1,2,1,34,17,18
 
db 1,18,1,2,17,51,1,2
 
db 33,2,1,2,33,2,1,67
 
db 4,3,2,1,2,1,18,33
 
db 2,17,2,83,4,17,18,17
 
db 50,17,131,2,33,18,1,18
 
db 17,83,20,3,18,1,18,65
 
db 2,67,4,19,4,3,18,17
 
db 82,99,4,35,2,49,18,1
 
db 18,1,2,1,2,17,35,4
 
db 2,1,2,65,2,1,18,1
 
db 2,17,2,17,34,1,66,1
 
db 18,17,2,17,2,17,2,33
 
db 2,1,18,1,2,1,2,19
 
db 1,2,1,18,1,18,19,2
 
db 33,18,35,4,3,18,17,2
 
db 1,67,2,1,2,99,1,2
 
db 17,2,35,4,3,34,35,4
 
db 3,4,3,1,2,17,83,1
 
db 67,20,19,4,3,2,17,51
 
db 4,115,4,35,2,1,83,4
 
db 67,34,33,2,35,1,3,4
 
db 19,1,18,1,2,17,2,17
 
db 50,17,2,1,2,1,2,1
 
db 2,1,2,1,2,17,2,17
 
db 2,17,18,17,2,16
drevo:
db 240,0,0,0,0,0,255,0
 
db 0,128,0,255,0,128,0,64
 
db 128,64,128,128,128,0,128,255
 
db 128,128,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,8,0,2,33,2,1
 
db 2,19,1,35,34,17,18,1
 
db 18,1,2,17,3,38,7,22
 
db 3,1,2,1,2,33,2,1
 
db 19,7,6,23,6,23,3,6
 
db 18,33,2,17,2,3,7,19
 
db 6,3,54,7,19,50,33,3
 
db 22,7,6,3,6,7,22,3
 
db 23,2,1,18,17,22,7,6
 
db 7,3,7,3,7,22,7,6
 
db 35,17,35,54,55,6,23,22
 
db 19,18,19,7,3,7,6,7
 
db 22,7,3,22,3,22,7,3
 
db 18,19,23,3,182,3,33,3
 
db 22,3,7,6,7,6,7,22
 
db 7,6,7,22,3,34,7,22
 
db 7,22,3,39,38,7,6,7
 
db 19,2,1,3,7,6,23,38
 
db 7,38,39,6,7,3,1,2
 
db 19,54,3,38,3,70,3,2
 
db 1,2,1,3,7,6,7,19
 
db 4,5,4,19,6,7,6,3
 
db 1,50,1,34,3,1,36,17
 
db 3,22,2,49,2,33,34,21
 
db 4,33,18,1,66,33,2,1
 
db 52,17,2,1,2,1,2,1
 
db 2,49,18,20,5,4,5,4
 
db 18,1,18,33,18,1,2,1
 
db 132,1,2,1,2,1,2,1
 
db 2,1,36,5,20,5,4,21
 
db 36,17,2,16
baza1:
db 192,0,0,0,0,0,255,0
 
db 0,128,0,255,0,128,255,128
 
db 128,255,0,0,255,128,0,255
 
db 255,0,128,0,255,0,0,255
 
db 0,255,255,0,0,0,0,0
 
db 0,0,0,0,0,0,0,0
 
db 0,0,11,0,2,33,2,1
 
db 2,1,2,17,2,1,34,17
 
db 18,1,18,1,2,49,2,17
 
db 2,33,2,1,2,17,232,9
 
db 4,17,2,8,201,8,3,9
 
db 4,2,1,8,41,150,8,19
 
db 9,2,1,57,6,101,7,6
 
db 8,3,10,3,9,2,8,41
 
db 6,5,84,7,6,8,35,9
 
db 2,8,41,6,5,84,7,6
 
db 8,35,9,2,8,41,6,5
 
db 84,7,6,8,3,21,9,1
 
db 8,41,6,5,84,7,6,8
 
db 3,21,9,2,8,41,6,5
 
db 84,7,6,8,35,9,2,8
 
db 41,6,5,103,6,8,3,10
 
db 3,9,1,8,57,134,8,35
 
db 9,1,8,201,8,3,10,3
 
db 9,2,232,35,9,2,9,131
 
db 10,19,10,3,9,4,3,9
 
db 1,2,25,19,22,131,9,4
 
db 9,33,9,35,22,131,25,1
 
db 18,1,233,9,2,1,2,1
 
db 2,1,2,17,2,17,2,17
 
db 18,17,2,16
spisok:
dd sten1
dd sten3
dd trava
dd kamni
dd palma
dd water
dd voda1
dd baza1
dd drevo
dd pesok
I_END:
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/tanks/trunk/pixengin.inc
0,0 → 1,100
Color db 0
Counter db 0
LastColor db 0
SizeFile dd 0
;LitlCounter db 0
;LitlColor db 0
save_image:
;mov esi,addres_of_file_which_need_compress
;mov edi,addres_where_need_to_save_compressed_file
;mov ecx,size_of_file_which_need_compress
mov dl,byte [esi]
and dl,0xff
mov [LastColor],dl
mov [Counter],byte 1
mov [SizeFile],0
xor edx,edx
inc esi
NextColor:;ç¨â ¥¬ ­®¢ë© 梥⠨§ â ¡«¨æë
mov dl,byte [esi]
and dl,0xf
mov [Color],dl
cmp dl,[LastColor]
jne Different
;㢥«¨ç¨¢ ¥¬ áç¥â稪 ­  1 ¨ ᬮâਬ ¥£® §­ ç¥­¨¥
inc [Counter]
cmp [Counter],16
jl total
;áç¥â稪 à ¢¥­ 16,§­ ç¨â ­ã¦­® á®åà ­¨âì ¯®á«¥¤®¢ â¥«ì­®áâì
dec [Counter]
jmp Different
;’¥¯¥àì ⥪ã騩 梥â áâ « áâ àë¬,¯®í⮬ã á®åà ­¨¬ ¥£® ª ª áâ àë©.
;Ž¡­ã«¨¬ (ᤥ« ¥¬ à ¢­ë¬ 1) áç¥â稪 ¯®¢â®à¥­¨© 梥â (counter)
xor eax,eax
and [Counter],0
mov al,[Color]
mov [LastColor],al
xor eax,eax
jmp total
Different:;¯à®ç¨â ­­ë© 梥⠭¥ ᮢ¯ ¤ ¥â á® áâ àë¬
;§­ ç¨â ­ã¦­® á®åà ­¨âì áâ àë© ¨ ãáâ ­®¢¨âì §­ ç¥­¨ï ¤«ï ­®¢®£®
;
;á®å࠭塞 áâ àë© æ¢¥â
dec [Counter]
call SaveinByte
;add [SizeFile],1
inc edi
;ãáâ ­ ¢«¨¢ ¥¬ §­ ç¥­¨ï ⥪ã饣® æ¢¥â  ª ª áâ à®£®
mov dl,[Color]
mov [LastColor],dl
mov [Counter],1
total:
xor edx,edx
mov dl,[Color]
mov [LastColor],dl
inc esi
dec ecx
cmp ecx,0
jne NextColor
;áç¥â稪 ¬®¦¥â ¡ëâì ­¥¯ãá⮩,¯®í⮬ã çâ®¡ë ­¥ â¥àïâì ¡ ©â®¢
;á®åà ­¨¬ §­ ç¥­¨¥ áç¥â稪  ¨ ¯®¢â®à塞®¥ §­ ç¥­¨¥
call SaveinByte
ret
SaveinByte:xor eax,eax
xor ebx,ebx
mov al,[Counter]
shl al,4
mov bl,[LastColor]
or al,bl
mov [edi],al
inc [SizeFile]
ret
;-----------------------------------------------------------------------
LitlCounter db 0
LitlColor db 0
unpakin:
xor edx,edx
NextLitlColor:xor edx,edx
mov dl,byte[esi]
xor eax,eax
xor ebx,ebx
mov al,dl
mov bl,al
shr al,4
and al,0xf
mov [LitlCounter],al
and bl,0xf
mov [LitlColor],bl
xor eax,eax
xor ebx,ebx
;-------------------------------
mov al,[LitlColor]
beg:mov [edi],al
add edi,1
dec [LitlCounter]
cmp [LitlCounter],-1
jne beg
inc esi
dec ecx
jnz NextLitlColor
ret
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/tanks/trunk/tanks.asm
0,0 → 1,2418
;************************************************************
;*GAME TANKS CRETED BY ANDREW_PROGRAMMER AKA ANDREY IGNATYEV*
;*********************/8/2005********************************
use32
org 0x0
include 'lang.inc'
db 'MENUET01'
dd 0x1
dd START
dd I_END
dd 0x4000+640*400*3+50*20*20*3+512+640+1+24*20*20*3+1
dd 0x4000
dd 0x0
dd 0x0
START:
mov eax,40
mov ebx,111b
int 0x40
;----------------------------------------------------------
;---------load all sprites from arrays to memory-----------
;----------------------------------------------------------
and [number_sprite],0
xor eax,eax
nextfile:
mov ebx,[spisok+4*eax]
mov ecx,50
mov esi,ebx
add esi,2
mov edi,0x4000+(640*400*3)+(50*20*20*3)+10
rep movsb ;copy palitra to memory
mov esi,ebx
add esi,52
xor ecx,ecx
mov cl,byte [ebx]
mov edi,0x4000+(640*400*3)+(50*20*20*3)+512
push eax
call unpakin
pop eax
mov ecx,20*20
mov esi,0x4000+(640*400*3)+(50*20*20*3)+512
mov edi,[number_sprite]
imul edi,3*20*20
add edi,0x4000+(640*400*3)
unp:
xor ebx,ebx
mov bl,byte[esi]
lea ebx,[ebx+ebx*2]
add ebx,0x4000+(640*400*3)+(50*20*20*3)+10
mov edx,[ebx]
mov [edi],edx
add esi,1
add edi,3
dec ecx
jnz unp
inc [number_sprite]
inc eax
cmp [number_sprite],26;total number of pictures equal 26
jne nextfile
;----------------------------------------------------------
;------rotate sprites of tanks to pi/2---------------------
;----------------------------------------------------------
mov [sp_pos],0x4000+(640*400*3)+18*20*20*3
and [num_blocks],0
next_block_rotate:
mov [number_sprite],0
next_sprite_rotate:
mov [x],19
and [y],0
rotate_90:
mov ebx,[number_sprite]
mov esi,[y]
imul esi,60
imul ebx,1200
add esi,ebx ;esi=number_sprite*1200+y*60
add esi,dword [sp_pos]
mov edi,0x4000+(640*400*3)+(50*20*20*3)
mov ecx,15
rep movsd
mov edi,[number_sprite]
imul edi,1200
add edi,dword [sp_pos]
add edi,8*20*20*3
mov ebx,[x]
lea ebx,[ebx+2*ebx]
add edi,ebx
mov esi,0x4000+(640*400*3)+(50*20*20*3)
mov ecx,20*3
vertical:
xor eax,eax
mov al,byte[esi+2]
mov [edi+2],al
xor eax,eax
mov ax,word[esi]
mov [edi],ax
add edi,60
add esi,3
sub ecx,3
jnz vertical
dec [x]
inc [y]
cmp [x],-1
jne rotate_90
inc [number_sprite]
cmp [number_sprite],9
jne next_sprite_rotate
add [sp_pos],8*20*20*3
inc [num_blocks]
cmp [num_blocks],3
jne next_block_rotate
;---------------------------------------------------------
restart_level:
call drawwin
;Start game(demo scen)
mov [y],18
@1:
mov [x],30
@2:
mov esi,[x]
mov edi,[y]
imul esi,20*3
imul edi,20*(640*3)
add edi,esi
add edi,0x4000
mov esi,0x4000+(640*400*3)+1200
mov [counter],20
mov eax,esi
mov ebx,edi
@3:
mov esi,eax
mov edi,ebx
mov ecx,15
rep movsd
add eax,20*3
add ebx,640*3
dec [counter]
jnz @3
dec [x]
jnz @2
dec [y]
jnz @1
;draw script ******TANKS*******
mov eax,54
@11:
mov esi,5
mov edi,80
xor ebx,ebx
xor edx,edx
mov bl,byte[TANKS_script+2*eax] ;dx
mov dl,byte[TANKS_script+2*eax+1] ;dy
imul ebx,20
imul edx,20
add esi,ebx
add edi,edx
lea esi,[esi+2*esi]
lea edi,[edi+2*edi]
imul edi,640
add edi,esi
add edi,0x4000
mov esi,0x4000+(640*400*3)
mov ebx,esi
mov edx,edi
mov [counter],20
@22:
mov esi,ebx
mov edi,edx
mov ecx,15
rep movsd
add ebx,20*3
add edx,640*3
dec [counter]
jnz @22
dec eax
cmp eax,-1
jne @11
mov eax,7
mov ebx,0x4000
mov ecx,640*65536+400
mov edx,0*65536+20
int 0x40
call menu
;----------------------------
new_level:
call drawwin
mov [SpriteInfo+72+8],dword 100 ;Xo
mov [SpriteInfo+72+36],dword 100 ;Yo
mov edx,[number_level]
call load_level
;--------------------------
and [strike_action],0
and [bazas],0
and [y],0
mov eax,8
next_y:
and [x],0
next_x:
mov esi,[y]
shl esi,5
add esi,[x]
add esi,0x4000+(640*400*3)+(50*20*20*3)+512
xor ebx,ebx
mov bl,byte[esi]
cmp bl,7
jne no_baza
mov ecx,[x]
mov edx,[y]
inc ecx
inc [bazas]
add eax,4
imul ecx,20
imul edx,20
mov [SpriteInfo+9*eax+0],dword 3
mov [SpriteInfo+9*eax+4],dword 1
mov [SpriteInfo+9*eax+8],dword ecx
mov [SpriteInfo+9*eax+12],dword edx
mov [SpriteInfo+9*eax+16],dword 5
mov [SpriteInfo+9*eax+28],dword -5
mov edx,eax
shr edx,2
mov [LifesTanks+edx],byte 3;three lifes
mov [PulyTanks+edx],byte 1 ;can draw animation of "puly"
no_baza:
inc [x]
cmp [x],32
jne next_x
inc [y]
cmp [y],20
jne next_y
mov [LifesPlayer],3*4
and [score],0
;----------------------------------------------------------
;--------------------main loop-----------------------------
;----------------------------------------------------------
maincycle:
;save fon
mov eax,23*4
SaveFonForSprites:
mov ebx,[SpriteInfo+9*eax+4]
test ebx,ebx ;if ebx<>0 then can save
jz NoSaveFon
mov esi,[SpriteInfo+9*eax+8] ; cordinat x
mov edi,[SpriteInfo+9*eax+12] ; cordinat y
mov edx,eax
shr edx,2
call SaveFon
NoSaveFon:
sub eax,4
cmp eax,-4
jne SaveFonForSprites
;put sprites
mov eax,23*4
PutSprites:
mov ebx,[SpriteInfo+9*eax+4]
test ebx,ebx
jz NoPutSprite
and ebx,10000b
test ebx,ebx ; move to transparent shablon ?
jnz NoPutSprite
mov esi,[SpriteInfo+9*eax+8] ; x
mov edi,[SpriteInfo+9*eax+12] ; y
mov edx,[SpriteInfo+9*eax+0] ;number sprite in sprites table
shl edx,2
add edx,[SpriteInfo+9*eax+24] ;edx=4*NumSprites+phas
call PutSprite
NoPutSprite:
sub eax,4
cmp eax,-4
jne PutSprites
;put image
call clock
mov ebx,[time]
sub ebx,[time_frame_old]
cmp ebx,5
jl NoPutScreen
mov ebx,[time]
mov [time_frame_old],ebx
mov eax,7
mov ebx,0x4000
mov ecx,640*65536+400
mov edx,0*65536+20
int 0x40
NoPutScreen:
;put fon
mov eax,23*4
PutFonForSprites:
mov ebx,[SpriteInfo+9*eax+4]
test ebx,ebx
jz NoPutFon
mov esi,[SpriteInfo+9*eax+8]
mov edi,[SpriteInfo+9*eax+12]
mov edx,eax
shr edx,2
call PutFon
NoPutFon:
sub eax,4
cmp eax,-4
jne PutFonForSprites
;change phas(if need)
mov eax,23*4
ChangePhasSprites:
push eax
call clock
pop eax
mov ebx,[SpriteInfo+9*eax+16] ;time of animation
mov ecx,[SpriteInfo+9*eax+20] ;time of last frame
mov edx,[time]
sub edx,ecx
cmp edx,ebx
jl no_change_phas
mov ebx,[time]
mov [SpriteInfo+9*eax+20],ebx ;save new time
;------------------------------
mov esi,[SpriteInfo+9*eax+8]
mov edi,[SpriteInfo+9*eax+12]
mov ecx,[SpriteInfo+9*eax+28]
mov edx,[SpriteInfo+9*eax+32]
add esi,ecx ;x=x+dx
add edi,edx ;y=y+dy
mov [SpriteInfo+9*eax+8],dword esi
mov [SpriteInfo+9*eax+12],dword edi
;-------------------------------
mov edx,[SpriteInfo+9*eax+24] ;phas
add edx,1
cmp edx,4
jne no_limit_phas
xor edx,edx
mov [SpriteInfo+9*eax+24],dword edx
mov [SpriteInfo+9*eax+4],dword edx
jmp no_change_phas
no_limit_phas:
mov [SpriteInfo+9*eax+24],dword edx
no_change_phas:
sub eax,4
cmp eax,-4
jne ChangePhasSprites
;-------------------------------------------------
;----------------keys-----------------------------
;-------------------------------------------------
mov eax,23
mov ebx,3
int 0x40
cmp eax,1
jne keypressed
call drawwin
jmp action
keypressed:
cmp eax,2
jne action
and [_dx],0
and [_dy],0
mov eax,2
int 0x40
shr eax,8
;---------
cmp eax,32
jne key2
cmp [strike_action],0
jne action
mov [SpriteInfo+36+4],dword 1 ;can draw sprite "puly"
mov [strike_action],1 ;sprite is active
mov eax,[SpriteInfo+72+8]
mov ebx,[SpriteInfo+72+12]
mov ecx,[SpriteInfo+72+28]
mov edx,[SpriteInfo+72+32]
add eax,ecx
add ebx,edx
mov [SpriteInfo+36+8],dword eax
mov [SpriteInfo+36+12],dword ebx
jmp action
key2:cmp eax,176
jne key3
mov [SpriteInfo+8*9+0],dword 8
mov [SpriteInfo+8*9+4],dword 1
mov [SpriteInfo+8*9+28],dword -5
mov [SpriteInfo+8*9+32],dword 0
mov [_dx],0
mov [_dy],10
cmp [strike_action],0
jne action
mov [SpriteInfo+36+28],dword -5
mov [SpriteInfo+36+32],dword 0
jmp action
key3:cmp eax,179
jne key4
mov [SpriteInfo+8*9+0],dword 4
mov [SpriteInfo+8*9+4],dword 1
mov [SpriteInfo+8*9+28],dword 5
mov [SpriteInfo+8*9+32],dword 0
mov [_dx],15
mov [_dy],10
cmp [strike_action],0
jne action
mov [SpriteInfo+36+28],dword 5
mov [SpriteInfo+36+32],dword 0
jmp action
key4:cmp eax,178
jne key5
mov [SpriteInfo+8*9+0],dword 2
mov [SpriteInfo+8*9+4],dword 1
mov [SpriteInfo+8*9+28],dword 0
mov [SpriteInfo+8*9+32],dword -5
mov [_dx],10
mov [_dy],1
cmp [strike_action],0
jne action
mov [SpriteInfo+36+28],dword 0
mov [SpriteInfo+36+32],dword -5
jmp action
key5:cmp eax,177
jne key6
mov [SpriteInfo+8*9+0],dword 6
mov [SpriteInfo+8*9+4],dword 1
mov [SpriteInfo+8*9+28],dword 0
mov [SpriteInfo+8*9+32],dword 5
mov [_dy],15
mov [_dx],10
cmp [strike_action],0
jne action
mov [SpriteInfo+36+28],dword 0
mov [SpriteInfo+36+32],dword 5
jmp action
key6:cmp eax,27
jne action
mov eax,-1
int 0x40
action:
mov [SpriteInfo+72+4],dword 1
mov [SpriteInfo+72+16],dword 5 ;usal speed of tank
mov esi,[SpriteInfo+8*9+8] ;cordinat x of sprite
mov edi,[SpriteInfo+8*9+12] ;cordinat y of sprite
mov ecx,[SpriteInfo+72+28]
mov edx,[SpriteInfo+72+32]
add ecx,[_dx]
add edx,[_dy]
add esi,ecx ;x=x+_dx+dx
add edi,edx ;y=y+_dy+dy
call map_x_y
cmp ecx,6
jne no_woter
mov [SpriteInfo+72+16],dword 7 ;in water tank slow move
no_woter:
cmp ecx,4
jne no_palma
mov [SpriteInfo+72+4],dword 10000b;if bit 4 than transparent sprite
no_palma:
cmp ecx,8
jne no_derevo
mov [SpriteInfo+72+4],dword 10000b
no_derevo:
test edx,edx
jnz ani
mov [SpriteInfo+8*9+28],dword 0
mov [SpriteInfo+8*9+32],dword 0
;-------------------------------------------------
ani:
mov eax,[strike_action]
test eax,eax
jz no_anim_strike
mov esi,[SpriteInfo+36+8]
mov edi,[SpriteInfo+36+12]
mov ecx,[SpriteInfo+36+28]
mov edx,[SpriteInfo+36+32]
add esi,ecx
add edi,edx
call map_x_y
cmp cl,0
jne no_stena
mov [ebx],byte 2 ;trava
jmp bum
no_stena:
cmp cl,1
jne no_brony
jmp bum
no_brony:
cmp cl,7
jne anim_action_puly
sub [bazas],1
mov [ebx],byte 2 ;trava
bum:
mov esi,[SpriteInfo+36+8]
mov edi,[SpriteInfo+36+12]
mov [SpriteInfo+4],dword 1
mov [SpriteInfo+8],dword esi
mov [SpriteInfo+12],dword edi
mov [SpriteInfo+36+4],dword 0
mov [end_bum],1
jmp no_anim_strike
anim_action_puly:
mov [SpriteInfo+36+4],dword 1
no_anim_strike:
;-------------------------------------------------
;¯à®¢¥à塞 ¯®¯ «  «¨ ¯ã«ï ¢ ¯à®â¨¢­¨ª®¢
mov esi,[SpriteInfo+4*9+8]
mov edi,[SpriteInfo+4*9+12]
mov [x],esi ;ª®®à¤¨­ â  x ¯ã«¨
mov [y],edi ;ª®®à¤¨­ â  y ¯ã«¨
mov eax,3*4
bum_tank:
mov ebx,eax
shr ebx,2
xor ecx,ecx
mov cl,byte [LifesTanks+ebx]
cmp ecx,0
jz no_strike
mov esi,[SpriteInfo+9*eax+8] ;x
mov edi,[SpriteInfo+9*eax+12] ;y
sub esi,[x]
sub edi,[y]
cmp esi,5
ja no_strike
cmp edi,5
ja no_strike
add [score],5
cmp [score],20
jl no_bonus
add [LifesPlayer],4
and [score],0
no_bonus:
dec ecx;,1
mov [LifesTanks+ebx],cl ;life=life-1
mov esi,[x]
mov edi,[y]
mov [SpriteInfo+4],dword 1
mov [SpriteInfo+8],dword esi
mov [SpriteInfo+12],dword edi
mov [SpriteInfo+36+4],dword 0
mov [end_bum],1
no_strike:
add eax,4
cmp eax,10*4
jne bum_tank
;-------------------------------------------------
xor eax,eax
mov al,[end_bum]
test eax,eax
jz no_end_strike
mov eax,[SpriteInfo+24]
cmp eax,3
jne no_end_strike
and [strike_action],0
and [end_bum],0
mov edx,[number_level]
mov ecx,15
call load_level
no_end_strike:
;----------------------------
;¯à®¢¥à塞,¯®¯ «¨ «¨ ¯à®â¨¢­¨ª¨ ¢ ¨£à®ª 
mov eax,3*4
mov esi,[SpriteInfo+72+8]
mov edi,[SpriteInfo+72+12]
mov [x],esi
mov [y],edi
strike_to_player:
mov ebx,eax
add ebx,28
mov esi,[SpriteInfo+9*ebx+8]
mov edi,[SpriteInfo+9*ebx+12]
sub esi,[x]
sub edi,[y]
cmp esi,5
ja no_strike_to_player
cmp edi,5
ja no_strike_to_player
mov esi,[x]
mov edi,[y]
mov [SpriteInfo+9*ebx+4],dword 0
add ebx,28
mov [SpriteInfo+9*ebx+4],dword 1
mov [SpriteInfo+9*ebx+8],dword esi
mov [SpriteInfo+9*ebx+12],dword edi
sub [LifesPlayer],1
cmp [LifesPlayer],0
jne no_game_over
call end_game
jmp restart_level
no_game_over:
no_strike_to_player:
add eax,4
cmp eax,10*4
jne strike_to_player
;----------------------------
xor eax,eax
mov al,[bazas]
test eax,eax
jnz no_end_level
call you_won
inc [number_level]
cmp [number_level],25
jne no_end_game
mov eax,-1
int 0x40
no_end_game:
jmp new_level
no_end_level:
;-------------------------------------------------
;------------ logic of tanks----------------------
;-------------------------------------------------
mov eax,12
next_bad_tank:
mov ebx,eax
shr ebx,2
xor ecx,ecx
mov cl,byte[LifesTanks+ebx]
test ecx,ecx
jz no_action_bad_tank
mov ebx,[SpriteInfo+9*eax+4]
test ebx,ebx
jnz no_action_bad_tank
;---------------------
mov esi,[SpriteInfo+9*eax+8]
mov edi,[SpriteInfo+9*eax+12]
mov [x],esi
mov [y],edi
mov ecx,[SpriteInfo+9*eax+28]
mov edx,[SpriteInfo+9*eax+32]
;ᬮâਬ çâ® ¢¯¥à¥¤¨ â ­ª -¯à®â¨¢­¨ª 
cmp ecx,0
ja more_null_x
lea ecx,[ecx+2*ecx]
jmp test_y
more_null_x:
shl ecx,2
add ecx,15
test_y:
cmp edx,0
ja more_null_y
lea edx,[edx+2*edx]
jmp add_numbers
more_null_y:
shl edx,2
add edx,15
add_numbers:
;--------------------
add esi,ecx
add edi,edx
call map_x_y
cmp ecx,4
jne no_palma_p
mov [SpriteInfo+9*eax+4],dword 10000b
no_palma_p:
cmp ecx,8
jne no_derevo_p
mov [SpriteInfo+9*eax+4],dword 10000b
no_derevo_p:
;¥á«¨ ­  ¯ã⨠⠭ª  ¯à¥¯ïâá⢨¥,â® ­ ¤® ¨§¬¥­¨âì
;­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï
test edx,edx
jnz lab1
;¯à®¢¥à塞 - ­¥ ¯®¯ « «¨ â ­ª ¢ â㯨ª(3 ­ ¯à¢«¥­¨ï § ­ïâë)
and [tupik],0
mov esi,[x]
mov edi,[y]
add esi,(20+15)
add edi,10
call map_x_y
test edx,edx
jnz direct1
inc [tupik]
direct1:
mov esi,[x]
mov edi,[y]
add esi,10
add edi,(20+15)
call map_x_y
test edx,edx
jnz direct2
inc [tupik]
direct2:
mov esi,[x]
mov edi,[y]
add esi,-15
add edi,10
call map_x_y
test edx,edx
jnz direct3
inc [tupik]
direct3:
mov esi,[x]
mov edi,[y]
add esi,10
add edi,-15
call map_x_y
test edx,edx
jnz direct4
inc [tupik]
direct4:
cmp [tupik],3
je no_move0
;------------------
;strategy1
mov esi,[x]
mov edi,[y]
add esi,(20+15)
add edi,10
call map_x_y
test edx,edx
jnz no_strategy1
mov esi,[x]
mov edi,[y]
add esi,10
add edi,-15
call map_x_y
jnz no_strategy1
jmp no_move3 ;going to left
no_strategy1:
;------------------
mov esi,[x]
mov edi,[y]
add esi,-15
add edi,10
call map_x_y
test edx,edx
jnz no_strategy2
mov esi,[x]
mov edi,[y]
add esi,10
add edi,-15
call map_x_y
test edx,edx
jnz no_strategy2
jmp no_move2
no_strategy2:
;------------------
mov esi,[x]
mov edi,[y]
add edi,(20+15)
add esi,10
call map_x_y
test edx,edx
jnz no_strategy3
mov esi,[x]
mov edi,[y]
add esi,-15
add edi,10
call map_x_y
test edx,edx
jnz no_strategy3
jmp no_move1
no_strategy3:
;-------------------------------------------------
no_move0:
mov esi,[x] ; x
mov edi,[y] ; y
add edi,-15 ; (y-20) up
add esi,10
call map_x_y
test edx,edx
jz no_move1
;¢¢¥àåã ᢮¡®¤­® - ¬®¦­® ¤¢¨£ âìáï up
mov [SpriteInfo+9*eax+0],dword 3
mov [SpriteInfo+9*eax+28],dword 0
mov [SpriteInfo+9*eax+32],dword -5
jmp lab1
no_move1:
mov esi,[x]
mov edi,[y]
add esi,(20+15) ;x+20
add edi,10
call map_x_y
test edx,edx
jz no_move2
; right
mov [SpriteInfo+9*eax+0],dword 5
mov [SpriteInfo+9*eax+28],dword 5
mov [SpriteInfo+9*eax+32],dword 0
jmp lab1
no_move2:
mov esi,[x]
mov edi,[y]
add esi,10 ;x-20
add edi,(20+15)
call map_x_y
test edx,edx
jz no_move3
; down
mov [SpriteInfo+9*eax+0],dword 7
mov [SpriteInfo+9*eax+28],dword 0
mov [SpriteInfo+9*eax+32],dword 5
jmp lab1
no_move3:
mov esi,[x]
mov edi,[y]
add edi,10 ;y+20
add esi,-15
call map_x_y
test edx,edx
jz no_move4
;¢­¨§ã ᢮¡®¤­®-¬®¦­® ¤¢¨£ âìáï left
mov [SpriteInfo+9*eax+0],dword 9
mov [SpriteInfo+9*eax+28],dword -5
mov [SpriteInfo+9*eax+32],dword 0
jmp lab1
no_move4:
mov [SpriteInfo+9*eax+28],dword 0
mov [SpriteInfo+9*eax+32],dword 0
lab1:
mov edx,dword[SpriteInfo+9*eax+4]
test edx,edx
jnz no_action_bad_tank
mov [SpriteInfo+9*eax+4],dword 1
no_action_bad_tank:
add eax,4
cmp eax,10*4
jne next_bad_tank
;-------------------------------------------------
mov eax,12
next_puly:
mov edx,eax
shr edx,2
xor ecx,ecx
mov cl,byte[PulyTanks+edx]
test ecx,ecx ;can change course of puly ?
jz no_change_course
xor ecx,ecx
mov cl,byte[LifesTanks+edx]
test ecx,ecx ;is tank not destroed ?
jz no_draw_s
mov ecx,[SpriteInfo+9*eax+24] ;tank's phas of animation
test ecx,ecx ; phas=0 ?
jnz no_change_course
mov esi,[SpriteInfo+9*eax+8]
mov edi,[SpriteInfo+9*eax+12]
mov ecx,[SpriteInfo+9*eax+28]
mov edx,[SpriteInfo+9*eax+32]
mov ebx,eax
add ebx,28
mov [SpriteInfo+9*ebx+0],dword 1
mov [SpriteInfo+9*ebx+4],dword 1
mov [SpriteInfo+9*ebx+28],dword ecx
mov [SpriteInfo+9*ebx+32],dword edx
mov [SpriteInfo+9*ebx+16],dword 3
mov [SpriteInfo+9*ebx+8],dword esi
mov [SpriteInfo+9*ebx+12],dword edi
mov ebx,eax
shr ebx,2
mov [PulyTanks+ebx],byte 0
jmp no_draw_s
;-------------------
no_change_course:
mov ebx,eax
add ebx,28
mov ecx,[SpriteInfo+9*ebx+24]
test ecx,ecx
jnz no_draw_s
mov esi,[SpriteInfo+9*ebx+8]
mov edi,[SpriteInfo+9*ebx+12]
mov ecx,[SpriteInfo+9*ebx+28]
mov edx,[SpriteInfo+9*ebx+32]
call map_x_y
cmp ecx,1
je bumm
cmp ecx,0
je strike_to_wall
jmp no_bumm
strike_to_wall:
mov [ebx],byte 2
bumm:
;-------------------
mov ebx,eax
add ebx,28
mov [SpriteInfo+9*ebx+28],dword 0
mov [SpriteInfo+9*ebx+32],dword 0
mov esi,[SpriteInfo+9*ebx+8]
mov edi,[SpriteInfo+9*ebx+12]
add ebx,28
mov [SpriteInfo+9*ebx+4],dword 1
mov [SpriteInfo+9*ebx+8],dword esi
mov [SpriteInfo+9*ebx+12],dword edi
mov [SpriteInfo+9*ebx+16],dword 3
mov [SpriteInfo+9*ebx+28],dword 0
mov [SpriteInfo+9*ebx+32],dword 0
mov ebx,eax
shr ebx,2
mov [PulyTanks+ebx],byte 1
mov edx,[number_level]
mov ecx,15
push eax
call load_level
pop eax
jnp no_draw_s
;-------------------
no_bumm:
mov ebx,eax
add ebx,28
mov [SpriteInfo+9*ebx+4],dword 1 ; can draw sprite of puly
no_draw_s:
add eax,4
cmp eax,10*4
jne next_puly
;-------------------------------------------------
;-------------end of tanks logic------------------
;-------------------------------------------------
mov eax,13
mov ebx,180*65536+220
mov ecx,425*65536+17
mov edx,0xdfffff
int 0x40
mov eax,4
mov ebx,190*65536+430
mov ecx,0x1ded00;0
mov edx,Level
mov esi,5
int 0x40
mov eax,4
mov ebx,260*65536+430
mov ecx,0x3558ff
mov edx,Lifes
mov esi,5
int 0x40
mov eax,4
mov ebx,330*65536+430
mov ecx,0xf93500
mov edx,Score
mov esi,5
int 0x40
mov eax,47
mov ebx,3*65536
mov ecx,[number_level]
inc ecx
mov edx,225*65536+430
mov esi,0x1ded00
int 0x40
mov eax,47
mov ebx,3*65536
xor ecx,ecx
mov cl,[LifesPlayer]
shr ecx,2
mov edx,295*65536+430
mov esi,0x3558ff
int 0x40
mov eax,47
mov ebx,3*65536
xor ecx,ecx
mov cl,byte[score]
mov edx,365*65536+430
mov esi,0xf93500
int 0x40
jmp maincycle
;----------------------------------------------------------
;-----------------end of main cycle------------------------
;----------------------------------------------------------
;draw sprite in video memory
PutSprite:
push eax
mov ebx,esi
mov eax,edi
lea ebx,[ebx+2*ebx]
lea eax,[eax+2*eax]
imul eax,640
add eax,0x4000
add eax,ebx
mov [counter],20
mov esi,edx
imul esi,1200
add esi,0x4000+(640*400*3)+10*1200
mov ebx,esi
mov edi,eax
draw:
mov esi,ebx
mov edi,eax
mov ecx,20
;--------------------
rep_movsb:
xor edx,edx
mov edx,[esi]
and edx,0xffffff
test edx,edx ;0 is transparent color
jz transparent_color
mov [edi],dx
shr edx,16
mov [edi+2],dl
transparent_color:
add esi,3
add edi,3
sub ecx,1
jnz rep_movsb
;--------------------
add eax,640*3
add ebx,20*3
dec [counter]
jnz draw
pop eax
ret
;----------------------------------------------------------
SaveFon:
push eax
lea esi,[esi+2*esi]
lea edi,[edi+2*edi]
imul edi,640
add esi,edi
add esi,0x4000
mov edi,edx
imul edi,1200
add edi,0x4000+(640*400*3)+(50*20*20*3)+512+641
mov [counter],20
mov eax,esi
mov ebx,edi
save_to:
mov esi,eax
mov edi,ebx
mov ecx,15
rep movsd
add eax,640*3
add ebx,20*3
dec [counter]
jnz save_to
pop eax
ret
;----------------------------------------------------------
PutFon:
push eax
lea esi,[esi+2*esi]
lea edi,[edi+2*edi]
imul edi,640
add edi,esi
add edi,0x4000
mov esi,edx
imul esi,1200
add esi,0x4000+(640*400*3)+(50*20*20*3)+512+641
mov [counter],20
mov eax,esi
mov ebx,edi
put_to:
mov esi,eax
mov edi,ebx
mov ecx,15
rep movsd
add eax,20*3
add ebx,640*3
dec [counter]
jnz put_to
pop eax
ret
;----------------------------------------------------------
;get time in 1/100 sec
clock: mov eax,26
mov ebx,9
int 0x40
mov [time],eax
ret
;----------------------------------------------------------
;-----------------load level to memory---------------------
;----------------------------------------------------------
load_level:
cmp ecx,15
je no_load_level
mov eax,edx
mov ebx,[levels+4*eax]
mov esi,ebx
add esi,2
xor ecx,ecx
xor eax,eax
mov cl,byte[ebx]
mov al,byte[ebx+1]
add ecx,eax
mov edi,0x4000+(640*400*3)+(50*20*20*3)+512
call unpakin
no_load_level:
and [y],0
c_y:
and [x],0
c_x:
mov eax,[x]
mov ebx,[y]
shl ebx,5
add eax,ebx
add eax,0x4000+(640*400*3)+(50*20*20*3)+512
mov ecx,eax
xor eax,eax
mov al,byte [ecx]
imul eax,1200
add eax,0x4000+(640*400*3)
mov ebx,[x]
imul ebx,20*3
mov ecx,[y]
imul ecx,20*3*640
add ebx,ecx
add ebx,0x4000
mov esi,eax
mov edi,ebx
;----------------------------
mov edx,20
next_line:
mov esi,eax
mov edi,ebx
mov ecx,15
rep movsd
add eax,20*3
add ebx,(640*3)
dec edx
jnz next_line
;----------------------------
inc [x]
cmp [x],32
jne c_x
inc [y]
cmp [y],20
jne c_y
ret
;----------------------------------------------------------
map_x_y:
push eax
mov ecx,20
mov eax,esi
cdq
idiv ecx
mov esi,eax
mov eax,edi
cdq
idiv ecx
mov edi,eax
;------------------
mov ebx,edi
shl ebx,5
add ebx,esi
add ebx,0x4000+(640*400*3)+(50*20*20*3)+512
xor ecx,ecx
mov cl,byte[ebx]
cmp cl,0
je false_draw
cmp cl,1
je false_draw
cmp cl,3
je false_draw
cmp cl,7
je false_draw
mov edx,1
jmp lab2
false_draw:
xor edx,edx
lab2:
pop eax
ret
;----------------------------------------------------------
you_won:
mov eax,13
mov ebx,1*65536+640
mov ecx,20*65536+400
mov edx,0xc6e9
int 0x40
mov eax,4
mov ebx,220*65536+190
mov ecx,0xffffff
mov edx,won1
mov esi,29
int 0x40
mov eax,4
mov ebx,220*65536+200
mov ecx,0xffffff
mov edx,won2
mov esi,29
int 0x40
mov eax,4
mov ebx,220*65536+210
mov ecx,0xffffff
mov edx,won3
mov esi,29
int 0x40
mov eax,5
mov ebx,100
int 0x40
ret
;----------------------------------------------------------
end_game:
mov eax,13
mov ebx,0*65536+640
mov ecx,20*65536+400
mov edx,0
int 0x40
mov eax,4
mov ebx,280*65536+200
mov ecx,0xffffff
mov edx,game_over
mov esi,9
int 0x40
mov eax,5
mov ebx,150
int 0x40
ret
;----------------------------------------------------------
drawwin:
mov eax,12
mov ebx,1
int 0x40
;à¨á㥬 ®ª­® § ¤ ¢ ï ¢á¥ ­¥®¡å®¤¨¬ë¥ 梥â 
mov eax,0
mov ebx,50*65536+640
mov ecx,50*65536+480
mov edx,0x03AABBCC
mov esi,0x805080d0
mov edi,0x005080d0
int 0x40
;¯¨è¥¬ § £®«®¢®ª ®ª­ 
mov eax,4
mov ebx,5*65536+5
mov ecx,0x10ffffff
mov edx,name
mov esi,42
int 0x40
ret
;----------------------------------------------------------
menu:
cycle_menu:
mov eax,13
mov ebx,235*65536+140
mov ecx,230*65536+20
mov edx,0xed16
int 0x40
mov eax,4
mov ebx,255*65536+235
mov ecx,0xff0200
mov edx,start_menu
mov esi,11
int 0x40
mov eax,47
mov ebx,3*65536
mov ecx,[number_level]
mov edx,345*65536+235
mov esi,0xff0200
int 0x40
still:
mov eax,10
int 0x40
cmp eax,2
jne still
mov eax,2
int 0x40
shr eax,8
cmp eax,32
je start_game
cmp eax,176
jne no_left
dec [number_level]
and [number_level],11111b
jmp cycle_menu
no_left:
cmp eax,179
jne no_right
inc [number_level]
and [number_level],11111b
jmp cycle_menu
no_right:
cmp eax,27
jne cycle_menu
mov eax,-1
int 0x40
start_game:
ret
;----------------------------------------------------------
;--------------unpak pix engin-----------------------------
;----------------------------------------------------------
unpakin:
NextLitlColor:
xor edx,edx
mov dl,byte[esi]
xor eax,eax
xor ebx,ebx
mov al,dl
mov bl,al
shr al,4
and al,0xf
mov [LitlCounter],al
and bl,0xf
mov [LitlColor],bl
xor eax,eax
;----------------------
mov al,[LitlColor]
beg:mov [edi],al
add edi,1
add [LitlCounter],-1
cmp [LitlCounter],-1
jne beg
inc esi
dec ecx
jnz NextLitlColor
ret
LitlCounter db 0
LitlColor db 0
;----------------------------------------------------------
time dd 0
time_frame_old dd 0
number_sprite dd 0
number_level dd 0
counter db 0
sp_pos dd 0
num_blocks dd 0
;-------------------
x dd 0
y dd 0
_dx dd 0
_dy dd 0
strike_action dd 0
end_bum db 0
bazas db 0
name db ' game *TANKS* creted by andrew_programmer'
won1 db '*****************************'
won2 db '* YOU WON LEVEL !!! *'
won3 db '*****************************'
game_over db 'GAME OVER'
Lifes db 'LIFES'
Level db 'LEVEL'
Score db 'SCORE'
start_menu db 'START LEVEL'
LifesTanks rb 16
PulyTanks rb 16
LifesPlayer db 0
tupik db 0
score db 0
SpriteInfo:
dd 0,0,0,0,4,0,0,0,0
dd 1,0,100,80,3,0,0,0,0
dd 2,1,100,100,5,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0,0
TANKS_script:
db 1,1,2,1,3,1,4,1,5,1,3,2,3,3,3,4,3,5 ;T
db 7,3,7,4,7,5,8,2,8,4,9,1,9,4,10,2,10,4,11,3,11,4,11,5 ;A
db 13,1,13,2,13,3,13,4,13,5,14,1,15,2,16,3,17,1,17,2,17,3,17,4,17,5 ;N
db 19,1,19,2,19,3,19,4,19,5,20,3,21,2,22,1,22,3,23,4,23,5 ;K
db 25,4,26,2,26,5,27,1,27,3,27,5,27,1,28,4,28,1,29,2 ;S
 
;----------------------------------------------------------
;-----------------------data-------------------------------
;----------------------------------------------------------
water:
db 247,0,0,0,0,0,255,0
db 0,128,0,255,128,0,128,255
db 0,255,0,0,255,255,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,7,0,2,1,19,2
db 1,2,1,2,17,2,1,18
db 35,49,19,2,49,2,17,2
db 17,3,6,5,19,2,19,17
db 18,35,18,1,2,51,5,1
db 2,5,3,6,18,1,19,5
db 3,17,2,19,6,5,19,6
db 1,3,33,19,6,3,5,3
db 2,17,51,2,1,19,18,3
db 6,67,18,1,2,3,5,35
db 1,2,17,19,5,6,5,6
db 3,1,18,51,2,3,18,3
db 6,3,5,6,19,5,19,1
db 19,33,18,1,18,3,6,3
db 6,67,1,2,1,2,65,2
db 1,19,5,3,21,3,17,34
db 1,66,1,18,67,2,17,2
db 33,2,1,18,1,2,1,34
db 1,2,1,18,1,18,17,2
db 33,34,17,50,17,2,17,66
db 1,2,1,19,5,3,2,17
db 2,17,50,17,34,19,6,3
db 6,19,1,2,65,19,6,3
db 17,3,5,19,5,35,18,17
db 3,6,3,5,19,18,3,6
db 5,19,5,19,18,17,3,21
db 3,21,2,1,35,21,19,17
db 2,1,2,3,6,3,6,5
db 3,1,18,1,35,2,17,50
db 1,3,5,6,35,1,2,1
db 2,1,2,17,2,17,2,17
db 2,51,16
voda1:
db 137,0,0,0,0,255,255,0
db 255,128,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,3,0,2,17,18,17
db 18,65,18,17,2,33,2,97
db 2,1,2,33,18,17,18,49
db 18,65,2,65,18,17,2,17
db 2,33,18,33,2,113,18,17
db 18,17,2,49,18,17,18,145
db 34,33,18,49,18,17,18,145
db 2,65,2,65,18,17,18,17
db 2,17,34,49,18,97,2,113
db 2,49,18,1,2,49,2,1
db 18,17,2,1,34,65,2,97
db 2,113,2,65,18,17,2,49
db 18,1,2,33,18,1,2,81
db 18,193,18,81,18,17,18,129
db 18,145,18,1,2,81,34,17
db 18,65,34,1,18,145,2,129
db 18,49,18,33,2,33,34,81
db 18,97,2,1,16
trava:
db 214,0,0,0,0,0,255,0
db 0,128,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,3,0,2,33,2,1
db 2,1,2,17,2,1,34,17
db 18,1,18,1,2,49,2,17
db 2,33,2,1,2,33,2,17
db 34,17,18,1,2,1,18,33
db 2,17,34,17,18,33,18,17
db 50,97,2,33,2,33,18,1
db 18,17,50,1,2,1,50,1
db 18,65,2,33,18,1,18,17
db 18,17,82,33,2,1,2,1
db 2,33,2,49,18,1,18,1
db 2,1,2,33,2,17,2,1
db 2,65,2,1,18,1,2,17
db 2,17,34,1,66,1,18,17
db 2,17,2,17,2,33,2,1
db 18,1,2,1,34,1,2,1
db 18,1,18,17,2,33,34,17
db 50,17,2,17,66,1,2,17
db 2,17,2,17,2,17,50,17
db 50,1,34,33,2,81,2,49
db 2,33,34,1,18,33,18,1
db 66,33,2,1,50,17,2,1
db 2,1,2,1,2,49,34,33
db 2,1,18,1,18,33,18,1
db 2,17,2,17,50,17,2,1
db 2,1,2,1,2,1,2,1
db 2,17,2,17,2,17,18,17
db 2,16
tan22:
db 116,0,0,0,0,128,0,255
db 192,192,192,64,128,255,128,128
db 128,0,255,0,0,128,0,0
db 255,255,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,8,0,112,51,8,224
db 0,19,144,8,96,19,144,8
db 64,8,0,19,144,8,32,8
db 0,8,0,19,32,8,32,24
db 2,20,18,8,39,19,39,8
db 18,20,82,55,19,55,82,20
db 18,7,6,23,19,23,6,7
db 18,20,82,6,23,51,23,6
db 146,23,83,23,82,20,18,23
db 19,22,19,23,18,20,82,23
db 19,22,19,23,82,20,18,23
db 83,23,18,20,82,23,83,23
db 146,39,51,39,82,20,18,151
db 18,20,66,8,151,8,50,8
db 48,21,87,21,8,224,224,240
tan21:
db 116,0,0,0,0,128,0,255
db 192,192,192,64,128,255,128,128
db 128,0,255,0,0,128,0,0
db 255,255,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,8,0,112,51,8,224
db 0,19,144,8,96,19,144,8
db 64,8,0,19,144,8,32,8
db 0,8,0,19,32,8,32,24
db 66,8,39,19,39,8,82,20
db 18,55,19,55,18,20,82,7
db 6,23,19,23,6,7,82,20
db 18,6,23,51,23,6,18,20
db 82,23,83,23,146,23,19,22
db 19,23,82,20,18,23,19,22
db 19,23,18,20,82,23,83,23
db 82,20,18,23,83,23,18,20
db 82,39,51,39,146,151,82,20
db 2,8,151,8,2,20,2,8
db 48,21,87,21,8,224,224,240
tan12:
db 116,0,0,0,0,128,0,255
db 192,192,192,64,128,255,128,128
db 128,0,255,0,0,128,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,7,0,112,51,7,224
db 0,19,144,7,96,19,144,7
db 64,7,0,19,144,7,32,7
db 0,7,0,19,32,7,0,55
db 2,20,18,7,33,19,33,7
db 18,20,82,49,19,49,82,20
db 18,1,6,17,19,17,6,1
db 18,20,82,6,17,51,17,6
db 146,17,83,17,82,20,18,17
db 19,22,19,17,18,20,82,17
db 19,22,19,17,82,20,18,17
db 83,17,18,20,82,17,83,17
db 146,33,51,33,82,20,18,145
db 18,20,66,7,145,7,50,7
db 48,21,81,21,7,224,224,240
tan11:
db 116,0,0,0,0,128,0,255
db 192,192,192,64,128,255,128,128
db 128,0,255,0,0,128,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,7,0,112,51,7,224
db 0,19,144,7,96,19,144,7
db 64,7,0,19,144,7,32,7
db 0,7,0,19,32,7,32,23
db 66,7,33,19,33,7,82,20
db 18,49,19,49,18,20,82,1
db 6,17,19,17,6,1,82,20
db 18,6,17,51,17,6,18,20
db 82,17,83,17,146,17,19,22
db 19,17,82,20,18,17,19,22
db 19,17,18,20,82,17,83,17
db 82,20,18,17,83,17,18,20
db 82,33,51,33,146,145,82,20
db 2,7,145,7,2,20,2,7
db 48,21,81,21,7,224,224,240
sten3:
db 104,0,0,0,0,128,128,128
db 192,192,192,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,3,0,226,66,65,2
db 81,2,65,2,81,2,81,2
db 65,2,81,2,81,2,65,2
db 1,226,66,33,2,81,2,81
db 2,65,2,81,2,81,2,65
db 2,81,2,81,2,17,226,66
db 1,2,81,2,81,2,65,2
db 81,2,81,2,65,2,81,2
db 81,2,49,226,66,65,2,97
db 2,65,2,65,2,97,2,65
db 2,65,2,97,2,65,226,82
db 33,2,81,2,81,2,65,2
db 81,2,81,2,65,2,81,2
db 81,2,17,16
sten1:
db 111,0,0,0,0,128,128,128
db 192,192,192,0,0,255,255,255
db 255,64,128,255,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,6,0,227,67,53,3
db 133,3,69,34,5,3,5,98
db 5,3,5,98,5,3,5,98
db 5,3,5,50,53,3,133,3
db 69,227,67,133,3,133,3,114
db 5,3,5,98,5,3,114,5
db 3,5,98,5,3,133,3,133
db 227,83,69,3,133,3,53,50
db 5,3,5,98,5,3,5,98
db 5,3,5,98,5,3,5,34
db 69,3,133,3,53,227,67,101
db 3,133,3,21,82,5,3,5
db 98,5,3,5,98,5,3,5
db 98,5,3,5,2,101,3,133
db 3,21,16
puly1:
db 48,0,0,0,0,0,255,255
db 128,0,255,0,0,255,64,128
db 255,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,5,0,224,224,224,224
db 224,224,224,224,96,49,224,17
db 20,17,192,17,4,18,4,17
db 176,1,4,50,4,1,176,17
db 4,18,4,17,192,17,20,17
db 224,49,224,224,224,224,224,224
db 224,224,224,240
pesok:
db 120,0,0,0,0,0,255,255
db 0,64,128,0,128,128,64,128
db 128,64,128,255,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,6,0,225,81,2,33
db 2,65,2,3,33,2,1,5
db 49,5,49,2,129,3,225,97
db 3,17,2,33,2,1,5,33
db 2,1,5,129,5,65,2,65
db 2,225,97,2,33,3,17,2
db 49,3,145,2,177,3,49,5
db 81,5,1,2,33,2,65,3
db 17,2,17,3,145,2,209,3
db 81,2,49,5,33,2,177,3
db 145,2,17,2,5,113,2,225
db 1,2,33,3,17,3,49,3
db 17,3,161,2,1,5,97,2
db 177,2,49,2,33,5,33,2
db 193,2,49,3,33,2,81,3
db 1,5,1,16
palma:
db 209,0,0,0,0,0,255,0
db 0,128,0,0,255,255,64,128
db 128,64,128,255,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,6,0,2,33,2,1
db 2,1,2,17,2,1,34,17
db 18,1,18,1,51,1,2,17
db 2,1,35,1,2,33,115,2
db 51,21,19,1,2,35,69,35
db 53,35,18,3,21,67,5,3
db 21,19,1,18,19,2,5,3
db 50,1,3,5,3,5,67,17
db 3,1,19,17,67,5,99,34
db 3,2,35,5,3,5,3,5
db 3,5,3,5,35,1,18,1
db 2,19,5,35,5,3,5,35
db 21,19,33,19,5,35,5,35
db 5,51,5,3,34,35,17,51
db 20,3,5,35,5,3,2,1
db 35,18,3,5,3,36,5,19
db 1,35,1,18,3,17,2,3
db 2,52,35,50,1,2,17,2
db 17,2,1,52,3,34,17,50
db 1,34,33,36,49,2,49,2
db 33,34,1,36,17,18,1,66
db 33,2,1,2,1,36,1,2
db 1,2,1,2,1,2,49,66
db 36,18,1,18,33,18,1,2
db 17,84,2,17,2,1,2,1
db 2,1,2,1,2,1,84,2
db 17,18,17,2,16
kamni:
db 210,0,0,0,0,0,255,0
db 0,128,0,64,128,255,64,128
db 128,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,5,0,2,33,2,1
db 2,35,1,2,1,34,17,18
db 1,18,1,2,17,51,1,2
db 33,2,1,2,33,2,1,67
db 4,3,2,1,2,1,18,33
db 2,17,2,83,4,17,18,17
db 50,17,131,2,33,18,1,18
db 17,83,20,3,18,1,18,65
db 2,67,4,19,4,3,18,17
db 82,99,4,35,2,49,18,1
db 18,1,2,1,2,17,35,4
db 2,1,2,65,2,1,18,1
db 2,17,2,17,34,1,66,1
db 18,17,2,17,2,17,2,33
db 2,1,18,1,2,1,2,19
db 1,2,1,18,1,18,19,2
db 33,18,35,4,3,18,17,2
db 1,67,2,1,2,99,1,2
db 17,2,35,4,3,34,35,4
db 3,4,3,1,2,17,83,1
db 67,20,19,4,3,2,17,51
db 4,115,4,35,2,1,83,4
db 67,34,33,2,35,1,3,4
db 19,1,18,1,2,17,2,17
db 50,17,2,1,2,1,2,1
db 2,1,2,1,2,17,2,17
db 2,17,18,17,2,16
drevo:
db 240,0,0,0,0,0,255,0
db 0,128,0,255,0,128,0,64
db 128,64,128,128,128,0,128,255
db 128,128,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,8,0,2,33,2,1
db 2,19,1,35,34,17,18,1
db 18,1,2,17,3,38,7,22
db 3,1,2,1,2,33,2,1
db 19,7,6,23,6,23,3,6
db 18,33,2,17,2,3,7,19
db 6,3,54,7,19,50,33,3
db 22,7,6,3,6,7,22,3
db 23,2,1,18,17,22,7,6
db 7,3,7,3,7,22,7,6
db 35,17,35,54,55,6,23,22
db 19,18,19,7,3,7,6,7
db 22,7,3,22,3,22,7,3
db 18,19,23,3,182,3,33,3
db 22,3,7,6,7,6,7,22
db 7,6,7,22,3,34,7,22
db 7,22,3,39,38,7,6,7
db 19,2,1,3,7,6,23,38
db 7,38,39,6,7,3,1,2
db 19,54,3,38,3,70,3,2
db 1,2,1,3,7,6,7,19
db 4,5,4,19,6,7,6,3
db 1,50,1,34,3,1,36,17
db 3,22,2,49,2,33,34,21
db 4,33,18,1,66,33,2,1
db 52,17,2,1,2,1,2,1
db 2,49,18,20,5,4,5,4
db 18,1,18,33,18,1,2,1
db 132,1,2,1,2,1,2,1
db 2,1,36,5,20,5,4,21
db 36,17,2,16
bum41:
db 141,0,0,0,0,128,255,255
db 0,255,255,0,0,255,128,0
db 255,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,5,0,80,21,50,21
db 16,5,96,21,130,69,32,50
db 33,4,1,66,0,21,16,5
db 34,1,2,17,18,1,66,53
db 34,17,2,17,18,1,18,4
db 18,37,50,33,2,33,2,17
db 50,21,2,4,18,65,50,1
db 50,5,50,33,2,49,2,17
db 50,21,2,81,18,33,2,17
db 130,113,2,17,130,33,18,1
db 194,65,2,33,66,4,2,5
db 65,2,97,34,1,18,5,18
db 1,34,1,18,1,2,17,18
db 1,34,21,2,4,17,34,49
db 82,37,18,1,18,49,34,4
db 50,37,50,1,18,49,66,53
db 0,66,1,114,37,64,18,17
db 2,4,50,69,80,5,82,53
db 64
bum31:
db 114,0,0,0,0,128,255,255
db 0,255,255,0,0,255,128,0
db 255,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,5,0,80,53,18,21
db 144,53,82,85,48,5,18,3
db 18,4,66,5,0,21,16,21
db 146,4,18,85,3,18,3,2
db 49,82,53,98,3,66,1,18
db 53,178,3,1,4,18,21,2
db 3,114,3,50,1,18,21,34
db 4,50,3,130,21,210,3,18
db 3,98,3,194,21,130,3,114
db 21,18,4,18,3,146,3,2
db 21,2,3,114,3,34,1,18
db 37,34,3,2,4,98,4,2
db 3,2,53,226,101,50,4,98
db 69,0,37,146,53,80,37,2
db 3,18,101,80,165,64
bum21:
db 134,0,0,0,0,128,255,255
db 0,255,255,0,0,255,128,0
db 255,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,5,0,80,117,144,69
db 50,101,48,37,34,4,50,21
db 0,21,16,37,130,4,2,133
db 18,4,49,66,101,66,19,2
db 3,18,1,18,69,18,4,18
db 3,2,3,18,19,1,4,2
db 69,34,35,2,83,1,18,53
db 2,4,2,3,18,3,2,3
db 2,3,2,3,18,4,53,34
db 99,2,19,34,53,34,3,2
db 19,2,51,18,4,2,53,2
db 4,1,51,2,3,18,19,34
db 53,2,4,18,3,2,83,2
db 4,18,69,66,19,2,3,34
db 1,2,101,18,4,98,4,2
db 133,82,4,34,165,18,4,66
db 101,0,85,50,101,80,213,80
db 165,64
bum11:
db 79,0,0,0,0,128,255,255
db 0,255,255,0,0,255,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,4,0,80,100,176,196
db 80,196,0,20,16,100,50,100
db 0,84,2,49,18,1,164,34
db 51,18,1,148,2,115,1,2
db 116,2,147,1,100,1,2,147
db 18,84,1,2,147,2,1,84
db 18,147,2,1,100,1,147,1
db 2,100,18,115,2,1,132,34
db 51,34,1,148,130,196,50,116
db 0,228,36,32,228,20,80,196
db 96,164,64
baza1:
db 192,0,0,0,0,0,255,0
db 0,128,0,255,0,128,255,128
db 128,255,0,0,255,128,0,255
db 255,0,128,0,255,0,0,255
db 0,255,255,0,0,0,0,0
db 0,0,0,0,0,0,0,0
db 0,0,11,0,2,33,2,1
db 2,1,2,17,2,1,34,17
db 18,1,18,1,2,49,2,17
db 2,33,2,1,2,17,232,9
db 4,17,2,8,201,8,3,9
db 4,2,1,8,41,150,8,19
db 9,2,1,57,6,101,7,6
db 8,3,10,3,9,2,8,41
db 6,5,84,7,6,8,35,9
db 2,8,41,6,5,84,7,6
db 8,35,9,2,8,41,6,5
db 84,7,6,8,3,21,9,1
db 8,41,6,5,84,7,6,8
db 3,21,9,2,8,41,6,5
db 84,7,6,8,35,9,2,8
db 41,6,5,103,6,8,3,10
db 3,9,1,8,57,134,8,35
db 9,1,8,201,8,3,10,3
db 9,2,232,35,9,2,9,131
db 10,19,10,3,9,4,3,9
db 1,2,25,19,22,131,9,4
db 9,33,9,35,22,131,25,1
db 18,1,233,9,2,1,2,1
db 2,1,2,17,2,17,2,17
db 18,17,2,16
;-----------------------------------
;-----here begin levels-------------
;-----------------------------------
lev01:
db 171,0
db 225,225,33,150,7,2,1,7
db 41,192,17,150,18,1,57,144
db 1,16,17,182,1,57,112,33
db 16,17,38,225,65,96,17,6
db 1,6,1,7,5,80,1,7
db 117,1,96,17,38,1,18,80
db 1,69,24,21,1,96,17,38
db 1,112,1,34,40,37,1,96
db 17,38,128,1,19,224,17,38
db 1,112,1,0,3,96,1,96
db 17,38,1,224,32,1,96,17
db 38,1,224,32,65,0,49,38
db 129,0,145,6,7,6,1,32
db 17,86,48,1,148,70,1,32
db 17,86,48,1,148,22,1,22
db 1,32,17,6,1,54,4,3
db 16,1,116,16,70,1,32,17
db 70,35,16,1,20,17,36,32
db 70,1,8,7,8,17,70,66
db 1,100,112,1,40,17,70,2
db 7,34,1,116,96,1,40,225
db 225,33,16
lev02:
db 255,3
db 225,225,33,5,49,3,225,161
db 5,38,5,3,64,89,0,40
db 54,50,33,5,38,5,3,32
db 35,34,3,16,8,67,6,50
db 33,5,38,5,3,34,16,3
db 36,3,2,35,36,3,66,33
db 5,22,21,3,34,3,0,3
db 36,3,2,3,7,36,5,3
db 2,1,35,33,5,22,21,3
db 7,2,0,2,19,5,20,3
db 2,51,21,3,66,33,5,22
db 21,35,0,2,3,7,5,20
db 18,3,24,3,22,67,2,33
db 5,17,25,48,2,51,2,35
db 24,3,22,9,16,19,2,33
db 5,2,1,25,49,2,3,56
db 3,54,67,0,3,16,33,5
db 2,49,22,1,6,3,22,1
db 8,3,17,88,3,48,33,5
db 18,4,54,1,6,3,22,1
db 8,3,7,1,99,57,33,5
db 18,4,22,1,5,1,54,1
db 8,3,70,51,57,33,5,18
db 4,0,17,5,113,51,0,3
db 38,9,32,33,5,17,4,16
db 1,32,1,37,49,32,3,54
db 19,0,33,5,0,20,16,1
db 2,1,0,20,1,24,34,0
db 33,7,38,3,16,33,5,0
db 33,0,1,2,113,18,32,83
db 16,33,5,16,7,16,1,146
db 33,128,33,114,65,98,225,225
db 193,16
lev03:
db 118,0
db 225,225,33,85,50,35,162,86
db 17,5,7,53,166,34,7,8
db 18,86,17,85,34,19,6,19
db 50,72,2,86,193,6,225,1
db 6,33,160,230,54,17,18,128
db 102,65,102,17,7,2,128,102
db 1,166,17,160,230,54,225,113
db 6,145,214,224,0,17,214,96
db 81,32,17,214,96,1,7,38
db 17,16,17,214,224,0,113,6
db 225,145,82,198,1,144,17,82
db 1,182,1,48,1,54,0,17
db 18,38,2,7,2,166,1,48
db 1,54,0,17,114,230,6,1
db 7,48,225,225,33,16
lev04:
db 146,0
db 225,225,33,89,1,176,89,1
db 57,17,89,1,176,25,7,41
db 1,57,17,89,1,9,65,57
db 64,34,1,25,1,9,17,89
db 1,25,7,5,9,1,57,48
db 35,33,9,1,9,17,89,1
db 73,1,233,1,9,17,89,225
db 113,9,17,233,233,17,233,233
db 17,217,129,105,17,217,1,100
db 1,105,17,41,81,64,1,7
db 73,4,1,105,17,41,1,7
db 41,1,64,1,89,4,1,105
db 17,41,1,36,25,64,1,25
db 1,41,4,145,41,1,52,1
db 64,41,1,7,34,1,98,17
db 41,81,64,129,18,7,50,17
db 233,121,3,20,50,17,233,121
db 35,17,25,17,233,233,225,225
db 33,16
lev05:
db 229,0
db 225,225,33,224,224,17,0,134
db 50,72,34,24,2,40,2,0
db 17,0,134,34,83,2,56,2
db 40,2,0,17,0,134,18,19
db 56,3,2,24,2,8,2,56
db 0,17,0,22,8,86,19,6
db 72,3,40,2,8,2,56,0
db 17,0,22,8,50,22,18,6
db 40,35,2,24,2,8,2,56
db 0,17,0,22,72,22,18,54
db 3,6,56,2,8,2,32,8
db 0,17,0,40,86,18,40,6
db 3,6,88,2,7,8,0,8
db 0,17,0,40,6,7,70,2
db 40,6,3,54,8,54,8,0
db 8,0,17,0,56,38,8,22
db 40,7,86,8,54,8,0,8
db 0,17,0,2,51,56,6,40
db 2,166,8,0,8,0,17,0
db 50,3,34,8,6,40,2,6
db 66,70,16,8,0,17,0,18
db 7,2,72,22,7,8,0,6
db 66,70,0,24,0,17,0,6
db 51,120,0,6,66,8,54,0
db 24,0,17,0,118,3,64,6
db 104,22,7,0,24,0,17,0
db 118,83,6,136,16,24,0,17
db 0,230,22,19,136,0,17,224
db 224,225,225,33,16
lev06:
db 149,0
db 225,225,33,176,1,18,19,192
db 17,0,7,18,112,1,2,7
db 2,16,3,160,17,0,34,112
db 1,18,51,160,17,0,1,144
db 97,160,17,0,1,224,192,17
db 0,1,224,192,17,0,145,48
db 230,17,48,7,66,1,48,209
db 6,17,48,82,1,48,1,68
db 96,22,17,144,1,48,1,4
db 7,18,3,96,22,17,144,1
db 48,1,4,34,3,48,7,41
db 6,17,144,1,48,1,20,96
db 57,6,17,16,129,48,1,20
db 96,4,41,6,17,16,1,40
db 50,64,1,128,4,32,6,17
db 16,1,7,8,66,64,145,4
db 32,6,17,16,177,144,1,70
db 17,224,128,1,70,17,224,144
db 70,225,225,33,16
lev07:
db 159,0
db 225,225,33,0,7,229,197,17
db 64,225,113,21,17,64,1,37
db 134,133,1,21,17,32,33,37
db 6,37,33,7,6,133,1,21
db 17,37,1,37,1,5,134,133
db 1,21,17,133,209,5,49,21
db 17,5,1,229,197,17,5,1
db 133,1,229,37,17,5,1,85
db 1,229,85,17,5,65,21,1
db 21,1,101,113,38,17,5,1
db 32,37,1,149,1,7,8,53
db 1,38,17,5,1,8,16,37
db 1,21,1,7,85,1,3,2
db 53,1,38,17,5,1,8,16
db 21,193,3,69,1,38,17,5
db 1,8,1,0,229,3,69,1
db 38,17,5,1,7,232,117,1
db 38,17,5,1,232,8,129,38
db 17,5,225,33,7,98,38,17
db 229,69,150,225,225,33,16
lev08:
db 209,0
db 225,225,33,36,7,228,84,1
db 48,17,164,195,4,1,48,17
db 164,3,166,3,4,1,0,7
db 2,0,17,164,3,166,3,4
db 1,0,18,0,17,165,3,166
db 3,4,1,48,17,165,3,166
db 3,4,1,48,17,165,3,166
db 3,4,1,48,17,54,3,82
db 3,6,1,4,99,6,3,4
db 1,48,17,54,3,82,3,6
db 1,4,3,7,21,22,3,6
db 3,4,1,0,7,2,0,17
db 6,7,22,3,82,3,6,1
db 4,3,37,22,3,6,3,4
db 1,0,18,0,17,54,3,82
db 3,6,1,4,3,70,3,6
db 3,4,1,48,17,54,3,82
db 3,6,1,4,3,6,67,6
db 3,4,1,48,17,54,115,6
db 1,4,3,102,3,4,1,48
db 17,198,1,4,3,102,3,4
db 1,48,17,6,161,2,1,4
db 3,102,3,4,1,48,17,6
db 7,130,1,2,1,4,131,4
db 1,48,17,38,114,1,2,193
db 48,17,38,226,178,225,225,33
db 16
lev09:
db 162,0
db 225,225,33,229,5,214,17,21
db 33,7,149,1,198,17,21,208
db 1,32,150,17,226,2,1,18
db 80,70,17,2,83,130,1,18
db 0,7,34,0,70,17,2,3
db 144,1,0,18,1,18,0,50
db 0,70,17,2,3,144,1,0
db 18,1,18,0,50,0,70,17
db 2,3,32,7,50,16,1,0
db 66,0,50,0,70,17,2,3
db 32,66,16,1,0,66,0,7
db 130,17,2,3,144,1,48,18
db 64,82,17,18,144,1,0,7
db 50,0,2,32,82,17,18,144
db 1,0,66,0,1,64,50,17
db 178,1,0,66,0,2,80,34
db 17,178,1,96,6,80,34,145
db 0,34,113,150,17,7,82,1
db 0,34,230,38,17,98,16,226
db 82,17,98,16,226,82,225,225
db 33,16
lev10:
db 205,0
db 225,225,33,224,224,17,0,2
db 83,64,233,9,0,17,0,2
db 3,34,0,7,64,233,9,0
db 17,0,2,3,34,96,73,7
db 153,0,17,224,32,1,41,50
db 41,0,17,2,145,16,18,32
db 1,41,50,41,0,17,2,1
db 134,16,18,32,1,41,50,41
db 0,17,2,1,6,41,70,16
db 1,2,32,1,7,25,50,41
db 0,17,2,1,6,89,22,16
db 18,32,49,50,41,0,17,2
db 1,6,89,22,16,1,2,32
db 1,41,50,41,0,17,2,1
db 54,41,22,16,1,2,32,1
db 41,50,41,0,17,2,1,54
db 41,22,16,1,2,32,1,41
db 50,41,0,17,2,1,54,7
db 25,22,16,18,32,1,41,2
db 7,16,41,0,17,2,1,54
db 41,22,16,1,2,224,17,2
db 1,54,41,22,16,1,2,224
db 17,2,1,134,16,18,100,6
db 98,17,2,1,160,1,2,100
db 6,1,82,17,226,118,1,7
db 66,225,225,33,16
lev11:
db 228,0
db 225,225,33,230,230,17,6,104
 
db 1,104,6,1,7,152,6,17
 
db 6,104,1,104,6,1,24,1
 
db 120,6,17,6,104,1,8,102
 
db 49,8,64,24,6,17,6,104
 
db 1,8,6,72,38,40,0,88
 
db 6,17,6,8,97,8,6,33
 
db 56,6,40,64,24,6,17,6
 
db 8,1,104,6,1,64,1,6
 
db 104,0,24,6,17,6,8,1
 
db 104,6,1,0,40,0,1,6
 
db 104,0,24,6,17,6,8,1
 
db 7,88,6,1,0,40,0,1
 
db 6,40,16,24,0,24,6,17
 
db 6,8,33,72,6,1,0,8
 
db 7,8,0,1,6,40,0,40
 
db 0,24,6,17,6,136,6,1
 
db 0,40,0,1,6,40,0,40
 
db 0,24,6,17,166,1,0,40
 
db 0,1,6,40,64,7,8,6
 
db 17,6,8,49,6,56,1,64
 
db 1,6,152,6,17,6,8,7
 
db 24,1,6,56,97,182,17,6
 
db 56,1,6,168,6,24,80,40
 
db 17,6,56,1,198,24,0,56
 
db 0,40,17,6,72,6,216,0
 
db 56,0,40,17,102,120,1,7
 
db 56,0,1,7,8,1,0,40
 
db 225,225,33,16
lev12:
db 157,0
db 225,225,33,66,1,217,36,98
 
db 17,66,1,217,36,50,3,18
 
db 17,66,1,41,161,36,33,50
 
db 17,66,1,41,1,196,1,2
 
db 1,50,17,66,1,41,1,196
 
db 1,2,1,50,17,2,65,41
 
db 1,148,49,2,1,50,17,2
 
db 1,7,24,25,33,4,145,7
 
db 34,1,50,17,2,1,40,25
 
db 1,7,20,1,7,178,1,50
 
db 17,2,97,32,1,194,1,50
 
db 17,162,1,194,1,50,17,162
 
db 1,2,3,18,145,50,209,2
 
db 3,18,1,7,178,17,7,36
 
db 19,98,3,18,1,98,3,66
 
db 17,68,3,4,130,1,194,17
 
db 36,35,4,130,1,194,17,114
 
db 129,34,3,82,3,18,17,18
 
db 3,66,1,7,226,66,17,226
 
db 226,225,225,33,16
lev13:
db 233,0
db 225,225,33,224,224,17,0,53
 
db 225,49,16,1,21,0,17,0
 
db 53,1,230,22,1,16,1,21
 
db 0,17,0,53,1,230,22,1
 
db 16,1,21,0,17,0,53,1
 
db 38,177,22,1,16,1,21,0
 
db 17,0,5,1,21,1,38,1
 
db 7,133,1,22,1,16,1,21
 
db 0,17,0,5,1,21,1,38
 
db 1,6,1,7,101,1,22,1
 
db 16,1,21,0,17,0,5,1
 
db 21,1,70,1,117,1,22,1
 
db 16,1,21,0,17,0,5,1
 
db 21,1,38,1,6,1,5,7
 
db 85,1,22,1,16,1,21,0
 
db 17,0,5,1,21,1,38,1
 
db 38,81,5,1,38,16,1,21
 
db 0,17,0,5,1,21,1,38
 
db 1,70,7,53,1,22,1,16
 
db 1,7,5,0,17,0,5,1
 
db 21,1,38,177,22,1,16,1
 
db 21,0,17,0,5,1,21,1
 
db 230,22,1,16,1,21,0,17
 
db 0,5,1,21,1,7,230,6
 
db 1,16,1,21,0,17,0,5
 
db 1,21,225,49,16,1,21,0
 
db 17,0,5,1,7,5,224,80
 
db 1,21,0,17,0,5,225,145
 
db 21,0,17,224,224,225,225,33
 
db 16
lev14:
db 152,0
db 225,225,33,7,102,144,57,112
 
db 17,118,48,7,40,16,7,41
 
db 112,17,118,0,104,208,17,22
 
db 49,232,128,17,22,1,25,1
 
db 8,196,8,128,17,22,1,25
 
db 1,8,196,8,128,17,38,0
 
db 9,1,8,20,7,148,8,128
 
db 17,6,32,9,1,8,196,72
 
db 64,17,6,0,41,1,8,196
 
db 72,64,17,6,0,41,1,8
 
db 196,8,7,40,64,17,6,32
 
db 9,1,232,128,17,70,1,0
 
db 81,120,128,17,64,1,80,1
 
db 224,16,17,64,1,89,1,16
 
db 86,32,70,0,17,80,89,1
 
db 16,86,32,70,0,17,86,1
 
db 7,57,1,32,70,32,70,0
 
db 17,7,70,97,118,32,70,0
 
db 17,230,86,128,225,225,33,16
 
lev15:
db 242,0
db 225,225,33,182,224,32,17,22
 
db 69,70,0,54,0,54,0,54
 
db 0,20,17,22,69,32,22,0
 
db 54,0,54,0,54,0,20,17
 
db 22,69,0,5,4,22,0,1
 
db 38,0,54,0,54,0,20,17
 
db 22,69,0,3,4,22,0,1
 
db 38,0,54,0,33,6,0,20
 
db 17,22,69,0,3,4,22,0
 
db 17,7,6,0,54,0,1,7
 
db 22,0,20,17,22,69,0,3
 
db 4,22,0,1,38,0,54,0
 
db 1,38,0,20,17,22,80,3
 
db 4,22,0,1,38,0,54,0
 
db 1,38,0,20,17,22,0,83
 
db 4,22,0,54,0,54,0,49
 
db 0,20,17,22,0,3,84,22
 
db 0,54,0,56,0,54,0,20
 
db 17,22,0,3,84,22,0,54
 
db 0,56,0,54,0,20,17,22
 
db 0,3,7,68,22,0,54,0
 
db 8,7,24,0,54,0,25,17
 
db 22,0,83,4,22,0,54,0
 
db 56,0,54,0,7,9,17,22
 
db 112,22,0,54,0,54,0,54
 
db 0,25,17,182,0,54,0,54
 
db 0,54,0,20,17,192,54,0
 
db 54,0,54,0,20,225,1,7
 
db 22,0,54,0,54,0,20,17
 
db 7,2,116,224,32,20,225,225
 
db 33,16
 
;-----------------------------------
spisok:
dd sten1
dd sten3
dd trava
dd kamni
dd palma
dd water
dd voda1
dd baza1
dd drevo
dd pesok
dd bum11; here begin animate sprites
dd bum21
dd bum31
dd bum41
dd puly1
dd puly1
dd puly1
dd puly1
dd tan11
dd tan12
dd tan11
dd tan12
dd tan21
dd tan22
dd tan21
dd tan22
;-----------------------------------
levels:
dd lev01
dd lev02
dd lev03
dd lev04
dd lev05
dd lev06
dd lev07
dd lev08
dd lev09
dd lev10
dd lev11
dd lev12
dd lev13
dd lev14
dd lev15
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
dd lev02
I_END:
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property