Subversion Repositories Kolibri OS

Rev

Rev 1933 | Rev 2018 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;************************************************************
  2. ;*GAME TANKS CRETED BY ANDREW_PROGRAMMER AKA ANDREY IGNATYEV*
  3. ;*********************/8/2005********************************
  4. ;Leency aka Lipatov Kirill 19.07.2011: update and some fixes
  5. ;                      v1.02
  6.  
  7. ; bug: window can't end redraw untill new game wasn't start
  8. ; if press close button it goes to infinite loop
  9.  
  10. use32
  11. org 0x0
  12. include 'lang.inc'
  13. include '../../../macros.inc'
  14.   db  'MENUET01'
  15.   dd  0x1
  16.   dd  START
  17.   dd  I_END
  18.   dd  0x4000+640*400*3+50*20*20*3+512+640+1+24*20*20*3+1
  19.   dd  0x4000
  20.   dd  0x0
  21.   dd  0x0
  22. START:
  23.    mov eax,40
  24.    mov ebx,111b
  25.    mcall
  26. ;----------------------------------------------------------
  27. ;---------load all sprites from arrays to memory-----------
  28. ;----------------------------------------------------------
  29.    and [number_sprite],0
  30.    xor eax,eax
  31. nextfile:
  32.    mov ebx,[spisok+4*eax]
  33.    mov ecx,50
  34.    mov esi,ebx
  35.    add esi,2
  36.    mov edi,0x4000+(640*400*3)+(50*20*20*3)+10
  37.    rep movsb ;copy palitra to memory
  38.    mov esi,ebx
  39.    add esi,52
  40.    xor ecx,ecx
  41.    mov cl,byte [ebx]
  42.    mov edi,0x4000+(640*400*3)+(50*20*20*3)+512
  43.    push eax
  44.    call unpakin
  45.    pop eax
  46.    mov ecx,20*20
  47.    mov esi,0x4000+(640*400*3)+(50*20*20*3)+512
  48.    mov edi,[number_sprite]
  49.    imul edi,3*20*20
  50.    add edi,0x4000+(640*400*3)
  51.    unp:
  52.       xor ebx,ebx
  53.       mov bl,byte[esi]
  54.       lea ebx,[ebx+ebx*2]
  55.       add ebx,0x4000+(640*400*3)+(50*20*20*3)+10
  56.       mov edx,[ebx]
  57.       mov [edi],edx
  58.       add esi,1
  59.       add edi,3
  60.       dec ecx
  61.    jnz unp
  62.    inc [number_sprite]
  63.    inc eax
  64.    cmp [number_sprite],26;total number of pictures equal 26
  65.    jne nextfile
  66. ;----------------------------------------------------------
  67. ;------rotate sprites of tanks to pi/2---------------------
  68. ;----------------------------------------------------------
  69.    mov [sp_pos],0x4000+(640*400*3)+18*20*20*3
  70.    and [num_blocks],0
  71. next_block_rotate:
  72.    mov [number_sprite],0
  73. next_sprite_rotate:
  74.    mov [x],19
  75.    and [y],0
  76. rotate_90:
  77.    mov ebx,[number_sprite]
  78.    mov esi,[y]
  79.    imul esi,60
  80.    imul ebx,1200
  81.    add esi,ebx  ;esi=number_sprite*1200+y*60
  82.    add esi,dword [sp_pos]
  83.    mov edi,0x4000+(640*400*3)+(50*20*20*3)
  84.    mov ecx,15
  85.    rep movsd
  86.    mov edi,[number_sprite]
  87.    imul edi,1200
  88.    add edi,dword [sp_pos]
  89.    add edi,8*20*20*3
  90.    mov ebx,[x]
  91.    lea ebx,[ebx+2*ebx]
  92.    add edi,ebx
  93.    mov esi,0x4000+(640*400*3)+(50*20*20*3)
  94.    mov ecx,20*3
  95. vertical:
  96.    xor eax,eax
  97.    mov al,byte[esi+2]
  98.    mov [edi+2],al
  99.    xor eax,eax
  100.    mov ax,word[esi]
  101.    mov [edi],ax
  102.    add edi,60
  103.    add esi,3
  104.    sub ecx,3
  105.    jnz vertical
  106.    dec [x]
  107.    inc [y]
  108.    cmp [x],-1
  109.    jne rotate_90
  110.    inc [number_sprite]
  111.    cmp [number_sprite],9
  112.    jne next_sprite_rotate
  113.    add [sp_pos],8*20*20*3
  114.    inc [num_blocks]
  115.    cmp [num_blocks],3
  116.    jne next_block_rotate
  117. ;---------------------------------------------------------
  118. restart_level:
  119.    call drawwin
  120. ;Start game(demo scen)
  121.    mov [y],18
  122. @1:
  123.  mov [x],30
  124.  @2:
  125.     mov esi,[x]
  126.     mov edi,[y]
  127.     imul esi,20*3
  128.     imul edi,20*(640*3)
  129.     add edi,esi
  130.     add edi,0x4000
  131.     mov esi,0x4000+(640*400*3)+1200
  132.     mov [counter],20
  133.     mov eax,esi
  134.     mov ebx,edi
  135.      @3:
  136.         mov esi,eax
  137.         mov edi,ebx
  138.         mov ecx,15
  139.         rep movsd
  140.         add eax,20*3
  141.         add ebx,640*3
  142.         dec [counter]
  143.      jnz @3
  144.     dec [x]
  145.  jnz @2
  146. dec [y]
  147. jnz @1
  148. ;draw script ******TANKS*******
  149.    mov eax,54
  150. @11:
  151.    mov esi,5
  152.    mov edi,80
  153.    xor ebx,ebx
  154.    xor edx,edx
  155.    mov bl,byte[TANKS_script+2*eax]   ;dx
  156.    mov dl,byte[TANKS_script+2*eax+1] ;dy
  157.    imul ebx,20
  158.    imul edx,20
  159.    add esi,ebx
  160.    add edi,edx
  161.    lea esi,[esi+2*esi]
  162.    lea edi,[edi+2*edi]
  163.    imul edi,640
  164.    add edi,esi
  165.    add edi,0x4000
  166.    mov esi,0x4000+(640*400*3)
  167.    mov ebx,esi
  168.    mov edx,edi
  169.    mov [counter],20
  170.    @22:
  171.    mov esi,ebx
  172.    mov edi,edx
  173.    mov ecx,15
  174.    rep movsd
  175.    add ebx,20*3
  176.    add edx,640*3
  177.    dec [counter]
  178.    jnz @22
  179.    dec eax
  180.    cmp eax,-1
  181.    jne @11
  182.    mov eax,7
  183.    mov ebx,0x4000
  184.    mov ecx,640*65536+400
  185.    mov edx,0*65536+20
  186.    mcall
  187.    call menu
  188. ;----------------------------
  189. new_level:
  190.    call drawwin
  191.    mov [SpriteInfo+72+8],dword 100  ;Xo
  192.    mov [SpriteInfo+72+36],dword 100 ;Yo
  193.    mov edx,[number_level]
  194.    call load_level
  195. ;--------------------------
  196.    and [strike_action],0
  197.    and [bazas],0
  198.    and [y],0
  199.    mov eax,8
  200. next_y:
  201.    and [x],0
  202.  next_x:
  203.    mov esi,[y]
  204.    shl esi,5
  205.    add esi,[x]
  206.    add esi,0x4000+(640*400*3)+(50*20*20*3)+512
  207.    xor ebx,ebx
  208.    mov bl,byte[esi]
  209.    cmp bl,7
  210.    jne no_baza
  211.    mov ecx,[x]
  212.    mov edx,[y]
  213.    inc ecx
  214.    inc [bazas]
  215.    add eax,4
  216.    imul ecx,20
  217.    imul edx,20
  218.    mov [SpriteInfo+9*eax+0],dword 3
  219.    mov [SpriteInfo+9*eax+4],dword 1
  220.    mov [SpriteInfo+9*eax+8],dword ecx
  221.    mov [SpriteInfo+9*eax+12],dword edx
  222.    mov [SpriteInfo+9*eax+16],dword 5
  223.    mov [SpriteInfo+9*eax+28],dword -5
  224.    mov edx,eax
  225.    shr edx,2
  226.    mov [LifesTanks+edx],byte 3;three lifes
  227.    mov [PulyTanks+edx],byte 1 ;can draw animation of "puly"
  228.    no_baza:
  229.    inc [x]
  230.    cmp [x],32
  231.    jne next_x
  232.    inc [y]
  233.    cmp [y],20
  234.    jne next_y
  235.    mov [LifesPlayer],3*4
  236.    and [score],0
  237. ;----------------------------------------------------------
  238. ;--------------------main loop-----------------------------
  239. ;----------------------------------------------------------
  240. maincycle:
  241.          ;save fon
  242.          mov eax,23*4
  243.          SaveFonForSprites:
  244.          mov ebx,[SpriteInfo+9*eax+4]
  245.          test ebx,ebx                     ;if ebx<>0 then can save
  246.          jz NoSaveFon
  247.          mov esi,[SpriteInfo+9*eax+8]     ; cordinat x
  248.          mov edi,[SpriteInfo+9*eax+12]    ; cordinat y
  249.          mov edx,eax
  250.          shr edx,2
  251.          call SaveFon
  252.          NoSaveFon:
  253.          sub eax,4
  254.          cmp eax,-4
  255.          jne SaveFonForSprites
  256.          ;put sprites
  257.          mov eax,23*4
  258.          PutSprites:
  259.          mov ebx,[SpriteInfo+9*eax+4]
  260.          test ebx,ebx
  261.          jz NoPutSprite
  262.          and ebx,10000b
  263.          test ebx,ebx   ; move to transparent shablon ?
  264.          jnz NoPutSprite
  265.          mov esi,[SpriteInfo+9*eax+8]     ; x
  266.          mov edi,[SpriteInfo+9*eax+12]    ; y
  267.          mov edx,[SpriteInfo+9*eax+0]     ;number sprite in sprites table
  268.          shl edx,2
  269.          add edx,[SpriteInfo+9*eax+24]    ;edx=4*NumSprites+phas
  270.          call PutSprite
  271.          NoPutSprite:
  272.          sub eax,4
  273.          cmp eax,-4
  274.          jne PutSprites
  275.          ;put image
  276.          call clock
  277.          mov ebx,[time]
  278.          sub ebx,[time_frame_old]
  279.          cmp ebx,5
  280.          jl NoPutScreen
  281.          mov ebx,[time]
  282.          mov [time_frame_old],ebx
  283.          mov eax,7
  284.          mov ebx,0x4000
  285.          mov ecx,640*65536+400
  286.          mov edx,0*65536+20
  287.          mcall
  288.          NoPutScreen:
  289.          ;put fon
  290.          mov eax,23*4
  291.          PutFonForSprites:
  292.          mov ebx,[SpriteInfo+9*eax+4]
  293.          test ebx,ebx
  294.          jz NoPutFon
  295.          mov esi,[SpriteInfo+9*eax+8]
  296.          mov edi,[SpriteInfo+9*eax+12]
  297.          mov edx,eax
  298.          shr edx,2
  299.          call PutFon
  300.          NoPutFon:
  301.          sub eax,4
  302.          cmp eax,-4
  303.          jne PutFonForSprites
  304.          ;change phas(if need)
  305.          mov eax,23*4
  306.          ChangePhasSprites:
  307.          push eax
  308.          call clock
  309.          pop eax
  310.          mov ebx,[SpriteInfo+9*eax+16] ;time of animation
  311.          mov ecx,[SpriteInfo+9*eax+20] ;time of last frame
  312.          mov edx,[time]
  313.          sub edx,ecx
  314.          cmp edx,ebx
  315.          jl no_change_phas
  316.          mov ebx,[time]
  317.          mov [SpriteInfo+9*eax+20],ebx ;save new time
  318.          ;------------------------------
  319.          mov esi,[SpriteInfo+9*eax+8]
  320.          mov edi,[SpriteInfo+9*eax+12]
  321.          mov ecx,[SpriteInfo+9*eax+28]
  322.          mov edx,[SpriteInfo+9*eax+32]
  323.          add esi,ecx                   ;x=x+dx
  324.          add edi,edx                   ;y=y+dy
  325.          mov [SpriteInfo+9*eax+8],dword esi
  326.          mov [SpriteInfo+9*eax+12],dword edi
  327.          ;-------------------------------
  328.          mov edx,[SpriteInfo+9*eax+24] ;phas
  329.          add edx,1
  330.          cmp edx,4
  331.          jne no_limit_phas
  332.          xor edx,edx
  333.          mov [SpriteInfo+9*eax+24],dword edx
  334.          mov [SpriteInfo+9*eax+4],dword edx
  335.          jmp no_change_phas
  336.          no_limit_phas:
  337.          mov [SpriteInfo+9*eax+24],dword edx
  338.          no_change_phas:
  339.          sub eax,4
  340.          cmp eax,-4
  341.          jne ChangePhasSprites
  342.          ;-------------------------------------------------
  343.          ;----------------keys-----------------------------
  344.          ;-------------------------------------------------
  345.          mov eax,23
  346.          mov ebx,3
  347.          mcall
  348.          cmp eax,1
  349.          jne keypressed
  350.          call drawwin
  351.          jmp action
  352.          keypressed:
  353.          cmp eax,2
  354.          jne action
  355.          and [_dx],0
  356.          and [_dy],0
  357.          mov eax,2
  358.          mcall
  359.          shr eax,8
  360.          ;---------
  361.          cmp eax,32
  362.          jne key2
  363.          cmp [strike_action],0
  364.          jne action
  365.          mov [SpriteInfo+36+4],dword 1 ;can draw sprite "puly"
  366.          mov [strike_action],1         ;sprite is active
  367.          mov eax,[SpriteInfo+72+8]
  368.          mov ebx,[SpriteInfo+72+12]
  369.          mov ecx,[SpriteInfo+72+28]
  370.          mov edx,[SpriteInfo+72+32]
  371.          add eax,ecx
  372.          add ebx,edx
  373.          mov [SpriteInfo+36+8],dword eax
  374.          mov [SpriteInfo+36+12],dword ebx
  375.          jmp action
  376.     key2:cmp eax,176
  377.          jne key3
  378.          mov [SpriteInfo+8*9+0],dword 8
  379.          mov [SpriteInfo+8*9+4],dword 1
  380.          mov [SpriteInfo+8*9+28],dword -5
  381.          mov [SpriteInfo+8*9+32],dword 0
  382.          mov [_dx],0
  383.          mov [_dy],10
  384.          cmp [strike_action],0
  385.          jne action
  386.          mov [SpriteInfo+36+28],dword -5
  387.          mov [SpriteInfo+36+32],dword 0
  388.          jmp action
  389.     key3:cmp eax,179
  390.          jne key4
  391.          mov [SpriteInfo+8*9+0],dword 4
  392.          mov [SpriteInfo+8*9+4],dword 1
  393.          mov [SpriteInfo+8*9+28],dword 5
  394.          mov [SpriteInfo+8*9+32],dword 0
  395.          mov [_dx],15
  396.          mov [_dy],10
  397.          cmp [strike_action],0
  398.          jne action
  399.          mov [SpriteInfo+36+28],dword 5
  400.          mov [SpriteInfo+36+32],dword 0
  401.          jmp action
  402.     key4:cmp eax,178
  403.          jne key5
  404.          mov [SpriteInfo+8*9+0],dword 2
  405.          mov [SpriteInfo+8*9+4],dword 1
  406.          mov [SpriteInfo+8*9+28],dword 0
  407.          mov [SpriteInfo+8*9+32],dword -5
  408.          mov [_dx],10
  409.          mov [_dy],1
  410.          cmp [strike_action],0
  411.          jne action
  412.          mov [SpriteInfo+36+28],dword 0
  413.          mov [SpriteInfo+36+32],dword -5
  414.          jmp action
  415.     key5:cmp eax,177
  416.          jne key6
  417.          mov [SpriteInfo+8*9+0],dword 6
  418.          mov [SpriteInfo+8*9+4],dword 1
  419.          mov [SpriteInfo+8*9+28],dword 0
  420.          mov [SpriteInfo+8*9+32],dword 5
  421.          mov [_dy],15
  422.          mov [_dx],10
  423.          cmp [strike_action],0
  424.          jne action
  425.          mov [SpriteInfo+36+28],dword 0
  426.          mov [SpriteInfo+36+32],dword 5
  427.          jmp action
  428.     key6:cmp eax,27
  429.          jne action
  430.          mov eax,-1
  431.          mcall
  432. action:
  433.          mov [SpriteInfo+72+4],dword 1
  434.          mov [SpriteInfo+72+16],dword 5 ;usal speed of tank
  435.          mov esi,[SpriteInfo+8*9+8]   ;cordinat x of sprite
  436.          mov edi,[SpriteInfo+8*9+12]  ;cordinat y of sprite
  437.          mov ecx,[SpriteInfo+72+28]
  438.          mov edx,[SpriteInfo+72+32]
  439.          add ecx,[_dx]
  440.          add edx,[_dy]
  441.          add esi,ecx                  ;x=x+_dx+dx
  442.          add edi,edx                  ;y=y+_dy+dy
  443.          call map_x_y
  444.          cmp ecx,6
  445.          jne no_woter
  446.          mov [SpriteInfo+72+16],dword 7 ;in water tank slow move
  447.          no_woter:
  448.          cmp ecx,4
  449.          jne no_palma
  450.          mov [SpriteInfo+72+4],dword 10000b;if bit 4 than transparent sprite
  451.          no_palma:
  452.          cmp ecx,8
  453.          jne no_derevo
  454.          mov [SpriteInfo+72+4],dword 10000b
  455.          no_derevo:
  456.          test edx,edx
  457.          jnz ani
  458.          mov [SpriteInfo+8*9+28],dword 0
  459.          mov [SpriteInfo+8*9+32],dword 0
  460.          ;-------------------------------------------------
  461.          ani:
  462.          mov eax,[strike_action]
  463.          test eax,eax
  464.          jz no_anim_strike
  465.          mov esi,[SpriteInfo+36+8]
  466.          mov edi,[SpriteInfo+36+12]
  467.          mov ecx,[SpriteInfo+36+28]
  468.          mov edx,[SpriteInfo+36+32]
  469.          add esi,ecx
  470.          add edi,edx
  471.          call map_x_y
  472.          cmp cl,0
  473.          jne no_stena
  474.          mov [ebx],byte 2 ;trava
  475.          jmp bum
  476.          no_stena:
  477.          cmp cl,1
  478.          jne no_brony
  479.          jmp bum
  480.          no_brony:
  481.          cmp cl,7
  482.          jne anim_action_puly
  483.          sub [bazas],1
  484.          mov [ebx],byte 2 ;trava
  485.          bum:
  486.          mov esi,[SpriteInfo+36+8]
  487.          mov edi,[SpriteInfo+36+12]
  488.          mov [SpriteInfo+4],dword 1
  489.          mov [SpriteInfo+8],dword esi
  490.          mov [SpriteInfo+12],dword edi
  491.          mov [SpriteInfo+36+4],dword 0
  492.          mov [end_bum],1
  493.          jmp no_anim_strike
  494.          anim_action_puly:
  495.          mov [SpriteInfo+36+4],dword 1
  496.          no_anim_strike:
  497.          ;-------------------------------------------------
  498.          ;¯à®¢¥à塞 ¯®¯ «  Ǭ ¯ã«ï ¢ ¯à®â¨¢­¨ª®¢
  499.          mov esi,[SpriteInfo+4*9+8]
  500.          mov edi,[SpriteInfo+4*9+12]
  501.          mov [x],esi ;ª®®à¤¨­ â  x ¯ã«¨
  502.          mov [y],edi ;ª®®à¤¨­ â  y ¯ã«¨
  503.          mov eax,3*4
  504.          bum_tank:
  505.          mov ebx,eax
  506.          shr ebx,2
  507.          xor ecx,ecx
  508.          mov cl,byte [LifesTanks+ebx]
  509.          cmp ecx,0
  510.          jz no_strike
  511.          mov esi,[SpriteInfo+9*eax+8] ;x
  512.          mov edi,[SpriteInfo+9*eax+12] ;y
  513.          sub esi,[x]
  514.          sub edi,[y]
  515.          cmp esi,5
  516.          ja no_strike
  517.          cmp edi,5
  518.          ja no_strike
  519.          add [score],5
  520.          cmp [score],20
  521.          jl no_bonus
  522.          add [LifesPlayer],4
  523.          and [score],0
  524.          no_bonus:
  525.          dec ecx;,1
  526.          mov [LifesTanks+ebx],cl ;life=life-1
  527.          mov esi,[x]
  528.          mov edi,[y]
  529.          mov [SpriteInfo+4],dword 1
  530.          mov [SpriteInfo+8],dword esi
  531.          mov [SpriteInfo+12],dword edi
  532.          mov [SpriteInfo+36+4],dword 0
  533.          mov [end_bum],1
  534.          no_strike:
  535.          add eax,4
  536.          cmp eax,10*4
  537.          jne bum_tank
  538.          ;-------------------------------------------------
  539.          xor eax,eax
  540.          mov al,[end_bum]
  541.          test eax,eax
  542.          jz no_end_strike
  543.          mov eax,[SpriteInfo+24]
  544.          cmp eax,3
  545.          jne no_end_strike
  546.          and [strike_action],0
  547.          and [end_bum],0
  548.          mov edx,[number_level]
  549.          mov ecx,15
  550.          call load_level
  551.          no_end_strike:
  552.          ;----------------------------
  553.          ;¯à®¢¥à塞,¯®¯ «¨ Ǭ ¯à®â¨¢­¨ª¨ ¢ ¨£à®ª 
  554.          mov eax,3*4
  555.          mov esi,[SpriteInfo+72+8]
  556.          mov edi,[SpriteInfo+72+12]
  557.          mov [x],esi
  558.          mov [y],edi
  559.          strike_to_player:
  560.          mov ebx,eax
  561.          add ebx,28
  562.          mov esi,[SpriteInfo+9*ebx+8]
  563.          mov edi,[SpriteInfo+9*ebx+12]
  564.          sub esi,[x]
  565.          sub edi,[y]
  566.          cmp esi,5
  567.          ja no_strike_to_player
  568.          cmp edi,5
  569.          ja no_strike_to_player
  570.          mov esi,[x]
  571.          mov edi,[y]
  572.          mov [SpriteInfo+9*ebx+4],dword 0
  573.          add ebx,28
  574.          mov [SpriteInfo+9*ebx+4],dword 1
  575.          mov [SpriteInfo+9*ebx+8],dword esi
  576.          mov [SpriteInfo+9*ebx+12],dword edi
  577.          sub [LifesPlayer],1
  578.          cmp [LifesPlayer],0
  579.          jne no_game_over
  580.          call end_game
  581.          jmp restart_level
  582.          no_game_over:
  583.          no_strike_to_player:
  584.          add eax,4
  585.          cmp eax,10*4
  586.          jne strike_to_player
  587.          ;----------------------------
  588.          xor eax,eax
  589.          mov al,[bazas]
  590.          test eax,eax
  591.          jnz no_end_level
  592.          call you_won
  593.          inc [number_level]
  594.          cmp [number_level],25
  595.          jne no_end_game
  596.          mov eax,-1
  597.          mcall
  598.          no_end_game:
  599.          jmp new_level
  600.          no_end_level:
  601.          ;-------------------------------------------------
  602.          ;------------ logic of tanks----------------------
  603.          ;-------------------------------------------------
  604.          mov eax,12
  605.          next_bad_tank:
  606.          mov ebx,eax
  607.          shr ebx,2
  608.          xor ecx,ecx
  609.          mov cl,byte[LifesTanks+ebx]
  610.          test ecx,ecx
  611.          jz no_action_bad_tank
  612.          mov ebx,[SpriteInfo+9*eax+4]
  613.          test ebx,ebx
  614.          jnz no_action_bad_tank
  615.          ;---------------------
  616.          mov esi,[SpriteInfo+9*eax+8]
  617.          mov edi,[SpriteInfo+9*eax+12]
  618.          mov [x],esi
  619.          mov [y],edi
  620.          mov ecx,[SpriteInfo+9*eax+28]
  621.          mov edx,[SpriteInfo+9*eax+32]
  622.          ;ᬮâਬ çâ® ¢¯¥à¥¤¨ â ­ª -¯à®â¨¢­¨ª 
  623.          cmp ecx,0
  624.          ja more_null_x
  625.          lea ecx,[ecx+2*ecx]
  626.          jmp test_y
  627.          more_null_x:
  628.          shl ecx,2
  629.          add ecx,15
  630.          test_y:
  631.          cmp edx,0
  632.          ja more_null_y
  633.          lea edx,[edx+2*edx]
  634.          jmp add_numbers
  635.          more_null_y:
  636.          shl edx,2
  637.          add edx,15
  638.          add_numbers:
  639.          ;--------------------
  640.          add esi,ecx
  641.          add edi,edx
  642.          call map_x_y
  643.          cmp ecx,4
  644.          jne no_palma_p
  645.          mov [SpriteInfo+9*eax+4],dword 10000b
  646.          no_palma_p:
  647.          cmp ecx,8
  648.          jne no_derevo_p
  649.          mov [SpriteInfo+9*eax+4],dword 10000b
  650.          no_derevo_p:
  651.          ;¥á«¨ ­  ¯ã⨠⠭ª  ¯à¥¯ïâá⢨¥,â® ­ ¤® ¨§¬¥­¨âì
  652.          ;­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï
  653.          test edx,edx
  654.          jnz lab1
  655.          ;¯à®¢¥à塞 - ­¥ ¯®¯ « Ǭ â ­ª ¢ â㯨ª(3 ­ ¯à¢«¥­¨ï § ­ïâë)
  656.          and [tupik],0
  657.          mov esi,[x]
  658.          mov edi,[y]
  659.          add esi,(20+15)
  660.          add edi,10
  661.          call map_x_y
  662.          test edx,edx
  663.          jnz direct1
  664.          inc [tupik]
  665.          direct1:
  666.          mov esi,[x]
  667.          mov edi,[y]
  668.          add esi,10
  669.          add edi,(20+15)
  670.          call map_x_y
  671.          test edx,edx
  672.          jnz direct2
  673.          inc [tupik]
  674.          direct2:
  675.          mov esi,[x]
  676.          mov edi,[y]
  677.          add esi,-15
  678.          add edi,10
  679.          call map_x_y
  680.          test edx,edx
  681.          jnz direct3
  682.          inc [tupik]
  683.          direct3:
  684.          mov esi,[x]
  685.          mov edi,[y]
  686.          add esi,10
  687.          add edi,-15
  688.          call map_x_y
  689.          test edx,edx
  690.          jnz direct4
  691.          inc [tupik]
  692.          direct4:
  693.          cmp [tupik],3
  694.          je no_move0
  695.          ;------------------
  696.          ;strategy1
  697.          mov esi,[x]
  698.          mov edi,[y]
  699.          add esi,(20+15)
  700.          add edi,10
  701.          call map_x_y
  702.          test edx,edx
  703.          jnz no_strategy1
  704.          mov esi,[x]
  705.          mov edi,[y]
  706.          add esi,10
  707.          add edi,-15
  708.          call map_x_y
  709.          jnz no_strategy1
  710.          jmp no_move3 ;going to left
  711.          no_strategy1:
  712.          ;------------------
  713.          mov esi,[x]
  714.          mov edi,[y]
  715.          add esi,-15
  716.          add edi,10
  717.          call map_x_y
  718.          test edx,edx
  719.          jnz no_strategy2
  720.          mov esi,[x]
  721.          mov edi,[y]
  722.          add esi,10
  723.          add edi,-15
  724.          call map_x_y
  725.          test edx,edx
  726.          jnz no_strategy2
  727.          jmp no_move2
  728.          no_strategy2:
  729.          ;------------------
  730.          mov esi,[x]
  731.          mov edi,[y]
  732.          add edi,(20+15)
  733.          add esi,10
  734.          call map_x_y
  735.          test edx,edx
  736.          jnz no_strategy3
  737.          mov esi,[x]
  738.          mov edi,[y]
  739.          add esi,-15
  740.          add edi,10
  741.          call map_x_y
  742.          test edx,edx
  743.          jnz no_strategy3
  744.          jmp no_move1
  745.          no_strategy3:
  746.          ;-------------------------------------------------
  747.          no_move0:
  748.          mov esi,[x]  ; x
  749.          mov edi,[y] ; y
  750.          add edi,-15                 ; (y-20) up
  751.          add esi,10
  752.          call map_x_y
  753.          test edx,edx
  754.          jz no_move1
  755.          ;¢¢¥àåã ᢮¡®¤­® - ¬®¦­® ¤¢¨£ âìáï   up
  756.          mov [SpriteInfo+9*eax+0],dword 3
  757.          mov [SpriteInfo+9*eax+28],dword 0
  758.          mov [SpriteInfo+9*eax+32],dword -5
  759.          jmp lab1
  760.          no_move1:
  761.          mov esi,[x]
  762.          mov edi,[y]
  763.          add esi,(20+15)                 ;x+20
  764.          add edi,10
  765.          call map_x_y
  766.          test edx,edx
  767.          jz no_move2
  768.          ;                                 right
  769.          mov [SpriteInfo+9*eax+0],dword 5
  770.          mov [SpriteInfo+9*eax+28],dword 5
  771.          mov [SpriteInfo+9*eax+32],dword 0
  772.          jmp lab1
  773.          no_move2:
  774.          mov esi,[x]
  775.          mov edi,[y]
  776.          add esi,10                   ;x-20
  777.          add edi,(20+15)
  778.          call map_x_y
  779.          test edx,edx
  780.          jz no_move3
  781.          ;                                  down
  782.          mov [SpriteInfo+9*eax+0],dword 7
  783.          mov [SpriteInfo+9*eax+28],dword 0
  784.          mov [SpriteInfo+9*eax+32],dword 5
  785.          jmp lab1
  786.          no_move3:
  787.          mov esi,[x]
  788.          mov edi,[y]
  789.          add edi,10                 ;y+20
  790.          add esi,-15
  791.          call map_x_y
  792.          test edx,edx
  793.          jz no_move4
  794.          ;¢­¨§ã ᢮¡®¤­®-¬®¦­® ¤¢¨£ âìáï    left
  795.          mov [SpriteInfo+9*eax+0],dword 9
  796.          mov [SpriteInfo+9*eax+28],dword -5
  797.          mov [SpriteInfo+9*eax+32],dword 0
  798.          jmp lab1
  799.          no_move4:
  800.          mov [SpriteInfo+9*eax+28],dword 0
  801.          mov [SpriteInfo+9*eax+32],dword 0
  802.          lab1:
  803.          mov edx,dword[SpriteInfo+9*eax+4]
  804.          test edx,edx
  805.          jnz no_action_bad_tank
  806.          mov [SpriteInfo+9*eax+4],dword 1
  807.          no_action_bad_tank:
  808.          add eax,4
  809.          cmp eax,10*4
  810.          jne next_bad_tank
  811.          ;-------------------------------------------------
  812.          mov eax,12
  813.          next_puly:
  814.          mov edx,eax
  815.          shr edx,2
  816.          xor ecx,ecx
  817.          mov cl,byte[PulyTanks+edx]
  818.          test ecx,ecx                 ;can change course of puly ?
  819.          jz no_change_course
  820.          xor ecx,ecx
  821.          mov cl,byte[LifesTanks+edx]
  822.          test ecx,ecx                 ;is tank not destroed ?
  823.          jz no_draw_s
  824.          mov ecx,[SpriteInfo+9*eax+24] ;tank's phas of animation
  825.          test ecx,ecx                  ; phas=0 ?
  826.          jnz no_change_course
  827.          mov esi,[SpriteInfo+9*eax+8]
  828.          mov edi,[SpriteInfo+9*eax+12]
  829.          mov ecx,[SpriteInfo+9*eax+28]
  830.          mov edx,[SpriteInfo+9*eax+32]
  831.          mov ebx,eax
  832.          add ebx,28
  833.          mov [SpriteInfo+9*ebx+0],dword 1
  834.          mov [SpriteInfo+9*ebx+4],dword 1
  835.          mov [SpriteInfo+9*ebx+28],dword ecx
  836.          mov [SpriteInfo+9*ebx+32],dword edx
  837.          mov [SpriteInfo+9*ebx+16],dword 3
  838.          mov [SpriteInfo+9*ebx+8],dword esi
  839.          mov [SpriteInfo+9*ebx+12],dword edi
  840.          mov ebx,eax
  841.          shr ebx,2
  842.          mov [PulyTanks+ebx],byte 0
  843.          jmp no_draw_s
  844.          ;-------------------
  845.          no_change_course:
  846.          mov ebx,eax
  847.          add ebx,28
  848.          mov ecx,[SpriteInfo+9*ebx+24]
  849.          test ecx,ecx
  850.          jnz no_draw_s
  851.          mov esi,[SpriteInfo+9*ebx+8]
  852.          mov edi,[SpriteInfo+9*ebx+12]
  853.          mov ecx,[SpriteInfo+9*ebx+28]
  854.          mov edx,[SpriteInfo+9*ebx+32]
  855.          call map_x_y
  856.          cmp ecx,1
  857.          je bumm
  858.          cmp ecx,0
  859.          je strike_to_wall
  860.          jmp no_bumm
  861.          strike_to_wall:
  862.          mov [ebx],byte 2
  863.          bumm:
  864.          ;-------------------
  865.          mov ebx,eax
  866.          add ebx,28
  867.          mov [SpriteInfo+9*ebx+28],dword 0
  868.          mov [SpriteInfo+9*ebx+32],dword 0
  869.          mov esi,[SpriteInfo+9*ebx+8]
  870.          mov edi,[SpriteInfo+9*ebx+12]
  871.          add ebx,28
  872.          mov [SpriteInfo+9*ebx+4],dword 1
  873.          mov [SpriteInfo+9*ebx+8],dword esi
  874.          mov [SpriteInfo+9*ebx+12],dword edi
  875.          mov [SpriteInfo+9*ebx+16],dword 3
  876.          mov [SpriteInfo+9*ebx+28],dword 0
  877.          mov [SpriteInfo+9*ebx+32],dword 0
  878.          mov ebx,eax
  879.          shr ebx,2
  880.          mov [PulyTanks+ebx],byte 1
  881.          mov edx,[number_level]
  882.          mov ecx,15
  883.          push eax
  884.          call load_level
  885.          pop eax
  886.          jnp no_draw_s
  887.          ;-------------------
  888.          no_bumm:
  889.          mov ebx,eax
  890.          add ebx,28
  891.          mov [SpriteInfo+9*ebx+4],dword 1 ; can draw sprite of puly
  892.          no_draw_s:
  893.          add eax,4
  894.          cmp eax,10*4
  895.          jne next_puly
  896.          ;-------------------------------------------------
  897.          ;-------------end of tanks logic------------------
  898.          ;-------------------------------------------------
  899.          mcall 13, 190*65536+192, 5*65536+7, 0
  900.  
  901.          mcall 4,190*65536+5,0x1ded00,Level,5
  902.          mcall 4,260*65536+5,0x3558ff,Lifes,5
  903.          mcall 4,330*65536+5,0xf93500,Score,5
  904.          
  905.          mov eax,47
  906.          mov ebx,3*65536
  907.          mov ecx,[number_level]
  908.          inc ecx
  909.          mov edx,225*65536+5
  910.          mov esi,0x1ded00
  911.          mcall
  912.          mov eax,47
  913.          mov ebx,3*65536
  914.          xor ecx,ecx
  915.          mov cl,[LifesPlayer]
  916.          shr ecx,2
  917.          mov edx,295*65536+5
  918.          mov esi,0x3558ff
  919.          mcall
  920.          mov eax,47
  921.          mov ebx,3*65536
  922.          xor ecx,ecx
  923.          mov cl,byte[score]
  924.          mov edx,365*65536+5
  925.          mov esi,0xf93500
  926.          mcall
  927.          jmp maincycle
  928. ;----------------------------------------------------------
  929. ;-----------------end of main cycle------------------------
  930. ;----------------------------------------------------------
  931. ;draw sprite in video memory
  932. PutSprite:
  933.         push eax
  934.         mov ebx,esi
  935.         mov eax,edi
  936.         lea ebx,[ebx+2*ebx]
  937.         lea eax,[eax+2*eax]
  938.         imul eax,640
  939.         add eax,0x4000
  940.         add eax,ebx
  941.         mov [counter],20
  942.         mov esi,edx
  943.         imul esi,1200
  944.         add esi,0x4000+(640*400*3)+10*1200
  945.         mov ebx,esi
  946.         mov edi,eax
  947.    draw:
  948.         mov esi,ebx
  949.         mov edi,eax
  950.         mov ecx,20
  951.         ;--------------------
  952.         rep_movsb:
  953.         xor edx,edx
  954.         mov edx,[esi]
  955.         and edx,0xffffff
  956.         test edx,edx ;0 is transparent color
  957.         jz transparent_color
  958.         mov [edi],dx
  959.         shr edx,16
  960.         mov [edi+2],dl
  961.         transparent_color:
  962.         add esi,3
  963.         add edi,3
  964.         sub ecx,1
  965.         jnz rep_movsb
  966.         ;--------------------
  967.         add eax,640*3
  968.         add ebx,20*3
  969.         dec [counter]
  970.         jnz draw
  971.         pop eax
  972.       ret
  973. ;----------------------------------------------------------
  974. SaveFon:
  975.         push eax
  976.         lea esi,[esi+2*esi]
  977.         lea edi,[edi+2*edi]
  978.         imul edi,640
  979.         add esi,edi
  980.         add esi,0x4000
  981.         mov edi,edx
  982.         imul edi,1200
  983.         add edi,0x4000+(640*400*3)+(50*20*20*3)+512+641
  984.         mov [counter],20
  985.         mov eax,esi
  986.         mov ebx,edi
  987. save_to:
  988.         mov esi,eax
  989.         mov edi,ebx
  990.         mov ecx,15
  991.         rep movsd
  992.         add eax,640*3
  993.         add ebx,20*3
  994.         dec [counter]
  995.         jnz save_to
  996.         pop eax
  997.         ret
  998. ;----------------------------------------------------------
  999. PutFon:
  1000.         push eax
  1001.         lea esi,[esi+2*esi]
  1002.         lea edi,[edi+2*edi]
  1003.         imul edi,640
  1004.         add edi,esi
  1005.         add edi,0x4000
  1006.         mov esi,edx
  1007.         imul esi,1200
  1008.         add esi,0x4000+(640*400*3)+(50*20*20*3)+512+641
  1009.         mov [counter],20
  1010.         mov eax,esi
  1011.         mov ebx,edi
  1012.  put_to:
  1013.         mov esi,eax
  1014.         mov edi,ebx
  1015.         mov ecx,15
  1016.         rep movsd
  1017.         add eax,20*3
  1018.         add ebx,640*3
  1019.         dec [counter]
  1020.         jnz put_to
  1021.         pop eax
  1022.        ret
  1023. ;----------------------------------------------------------
  1024. ;get time in 1/100 sec
  1025. clock:  mov eax,26
  1026.         mov ebx,9
  1027.         mcall
  1028.         mov [time],eax
  1029.         ret
  1030. ;----------------------------------------------------------
  1031. ;-----------------load level to memory---------------------
  1032. ;----------------------------------------------------------
  1033. load_level:
  1034.            cmp ecx,15
  1035.            je no_load_level
  1036.            mov eax,edx
  1037.            mov ebx,[levels+4*eax]
  1038.            mov esi,ebx
  1039.            add esi,2
  1040.            xor ecx,ecx
  1041.            xor eax,eax
  1042.            mov cl,byte[ebx]
  1043.            mov al,byte[ebx+1]
  1044.            add ecx,eax
  1045.            mov edi,0x4000+(640*400*3)+(50*20*20*3)+512
  1046.            call unpakin
  1047.            no_load_level:
  1048.            and [y],0
  1049.        c_y:
  1050.            and [x],0
  1051.        c_x:
  1052.            mov eax,[x]
  1053.            mov ebx,[y]
  1054.            shl ebx,5
  1055.            add eax,ebx
  1056.            add eax,0x4000+(640*400*3)+(50*20*20*3)+512
  1057.            mov ecx,eax
  1058.            xor eax,eax
  1059.            mov al,byte [ecx]
  1060.            imul eax,1200
  1061.            add eax,0x4000+(640*400*3)
  1062.            mov ebx,[x]
  1063.            imul ebx,20*3
  1064.            mov ecx,[y]
  1065.            imul ecx,20*3*640
  1066.            add ebx,ecx
  1067.            add ebx,0x4000
  1068.            mov esi,eax
  1069.            mov edi,ebx
  1070.            ;----------------------------
  1071.            mov edx,20
  1072.   next_line:
  1073.            mov esi,eax
  1074.            mov edi,ebx
  1075.            mov ecx,15
  1076.            rep movsd
  1077.            add eax,20*3
  1078.            add ebx,(640*3)
  1079.            dec edx
  1080.            jnz next_line
  1081.            ;----------------------------
  1082.            inc [x]
  1083.            cmp [x],32
  1084.            jne c_x
  1085.            inc [y]
  1086.            cmp [y],20
  1087.            jne c_y
  1088.            ret
  1089. ;----------------------------------------------------------
  1090. map_x_y:
  1091.           push eax
  1092.           mov ecx,20
  1093.           mov eax,esi
  1094.           cdq
  1095.           idiv ecx
  1096.           mov esi,eax
  1097.           mov eax,edi
  1098.           cdq
  1099.           idiv ecx
  1100.           mov edi,eax
  1101.           ;------------------
  1102.           mov ebx,edi
  1103.           shl ebx,5
  1104.           add ebx,esi
  1105.           add ebx,0x4000+(640*400*3)+(50*20*20*3)+512
  1106.           xor ecx,ecx
  1107.           mov cl,byte[ebx]
  1108.           cmp cl,0
  1109.           je false_draw
  1110.           cmp cl,1
  1111.           je false_draw
  1112.           cmp cl,3
  1113.           je false_draw
  1114.           cmp cl,7
  1115.           je false_draw
  1116.           mov edx,1
  1117.           jmp lab2
  1118.           false_draw:
  1119.           xor edx,edx
  1120.           lab2:
  1121.           pop eax
  1122.           ret
  1123. ;----------------------------------------------------------
  1124. you_won:
  1125.          mov eax,13
  1126.          mov ebx,1*65536+640
  1127.          mov ecx,20*65536+400
  1128.          mov edx,0xc6e9
  1129.          mcall
  1130.          mov eax,4
  1131.          mov ebx,220*65536+190
  1132.          mov ecx,0xffffff
  1133.          mov edx,won1
  1134.          mov esi,29
  1135.          mcall
  1136.          mov eax,4
  1137.          mov ebx,220*65536+200
  1138.          mov ecx,0xffffff
  1139.          mov edx,won2
  1140.          mov esi,29
  1141.          mcall
  1142.          mov eax,4
  1143.          mov ebx,220*65536+210
  1144.          mov ecx,0xffffff
  1145.          mov edx,won3
  1146.          mov esi,29
  1147.          mcall
  1148.          mov eax,5
  1149.          mov ebx,100
  1150.          mcall
  1151.          ret
  1152. ;----------------------------------------------------------
  1153. end_game:
  1154.         mov eax,13
  1155.         mov ebx,0*65536+640
  1156.         mov ecx,20*65536+400
  1157.         mov edx,0
  1158.         mcall
  1159.         mov eax,4
  1160.         mov ebx,280*65536+200
  1161.         mov ecx,0xffffff
  1162.         mov edx,game_over
  1163.         mov esi,9
  1164.         mcall
  1165.         mov eax,5
  1166.         mov ebx,150
  1167.         mcall
  1168.         ret
  1169. ;----------------------------------------------------------
  1170. drawwin:
  1171.         mcall   12,1
  1172.         ;à¨á㥬 ®ª­® § ¤ ¢ ï ¢á¥ ­¥®¡å®¤¨¬ë¥ 梥â 
  1173.         mcall   0,100*65536+649,50*65536+446,(0x74000000+0xffffff),,name
  1174.         mcall   12,2
  1175.         mcall   13, 0*65536+640,  0*65536+20, 0
  1176.         ret
  1177. ;----------------------------------------------------------
  1178. menu:
  1179.    cycle_menu:
  1180.  
  1181.         mcall 13,238*65536+141,229*65536+20,0xed16
  1182.         mcall 4,255*65536+235,0xff0200,start_menu,11
  1183.         mcall 47,3*65536,[number_level],345*65536+235, 0xff0200
  1184.        
  1185.         mcall 4,186*65536+5,0x888888,description,49
  1186.        
  1187.         still:
  1188.         mov eax,10
  1189.         mcall
  1190.         cmp eax,2
  1191.         jne still
  1192.         mov eax,2
  1193.         mcall
  1194.         shr eax,8
  1195.         cmp eax,32
  1196.         je start_game
  1197.         cmp eax,176
  1198.         jne no_left
  1199.         dec [number_level]
  1200.         and [number_level],11111b
  1201.         jmp cycle_menu
  1202.         no_left:
  1203.         cmp eax,179
  1204.         jne no_right
  1205.         inc [number_level]
  1206.         and [number_level],11111b
  1207.         jmp cycle_menu
  1208.         no_right:
  1209.         cmp eax,27
  1210.         jne cycle_menu
  1211.         mov eax,-1
  1212.         mcall
  1213.         start_game:
  1214.         ret
  1215. ;----------------------------------------------------------
  1216. ;--------------unpak pix engin-----------------------------
  1217. ;----------------------------------------------------------
  1218.       unpakin:
  1219.  NextLitlColor:
  1220.            xor edx,edx
  1221.            mov dl,byte[esi]
  1222.            xor eax,eax
  1223.            xor ebx,ebx
  1224.            mov al,dl
  1225.            mov bl,al
  1226.            shr al,4
  1227.            and al,0xf
  1228.            mov [LitlCounter],al
  1229.            and bl,0xf
  1230.            mov [LitlColor],bl
  1231.            xor eax,eax
  1232.        ;----------------------
  1233.            mov al,[LitlColor]
  1234.        beg:mov [edi],al
  1235.            add edi,1
  1236.            add [LitlCounter],-1
  1237.            cmp [LitlCounter],-1
  1238.            jne beg
  1239.            inc esi
  1240.            dec ecx
  1241.            jnz NextLitlColor
  1242.            ret
  1243. LitlCounter db 0
  1244. LitlColor   db 0
  1245. ;----------------------------------------------------------
  1246. time            dd 0
  1247. time_frame_old  dd 0
  1248. number_sprite   dd 0
  1249. number_level    dd 0
  1250. counter         db 0
  1251. sp_pos          dd 0
  1252. num_blocks      dd 0
  1253. ;-------------------
  1254. x               dd 0
  1255. y               dd 0
  1256. _dx             dd 0
  1257. _dy             dd 0
  1258. strike_action   dd 0
  1259. end_bum         db 0
  1260. bazas           db 0
  1261. name            db 'Tanks v1.02' ,0
  1262. description db 'SPACE - New Game        Left/Right - Change level' ,0
  1263. won1            db '*****************************'
  1264. won2            db '*    YOU WON LEVEL   !!!    *'
  1265. won3            db '*****************************'
  1266. game_over       db 'GAME OVER'
  1267. Lifes           db 'LIVES'
  1268. Level           db 'LEVEL'
  1269. Score           db 'SCORE'
  1270. start_menu      db 'START LEVEL'
  1271. LifesTanks      rb 16
  1272. PulyTanks       rb 16
  1273. LifesPlayer     db 0
  1274. tupik           db 0
  1275. score           db 0
  1276. SpriteInfo:
  1277.             dd 0,0,0,0,4,0,0,0,0
  1278.             dd 1,0,100,80,3,0,0,0,0
  1279.             dd 2,1,100,100,5,0,0,0,0
  1280.             dd 0,0,0,0,0,0,0,0,0
  1281.             dd 0,0,0,0,0,0,0,0,0
  1282.             dd 0,0,0,0,0,0,0,0,0
  1283.             dd 0,0,0,0,0,0,0,0,0
  1284.             dd 0,0,0,0,0,0,0,0,0
  1285.             dd 0,0,0,0,0,0,0,0,0
  1286.             dd 0,0,0,0,0,0,0,0,0
  1287.             dd 0,0,0,0,0,0,0,0,0
  1288.             dd 0,0,0,0,0,0,0,0,0
  1289.             dd 0,0,0,0,0,0,0,0,0
  1290.             dd 0,0,0,0,0,0,0,0,0
  1291.             dd 0,0,0,0,0,0,0,0,0
  1292.             dd 0,0,0,0,0,0,0,0,0
  1293.             dd 0,0,0,0,0,0,0,0,0
  1294.             dd 0,0,0,0,0,0,0,0,0
  1295.             dd 0,0,0,0,0,0,0,0,0
  1296.             dd 0,0,0,0,0,0,0,0,0
  1297.             dd 0,0,0,0,0,0,0,0,0
  1298.             dd 0,0,0,0,0,0,0,0,0
  1299.             dd 0,0,0,0,0,0,0,0,0
  1300.             dd 0,0,0,0,0,0,0,0,0
  1301.             dd 0,0,0,0,0,0,0,0,0
  1302. TANKS_script:
  1303.             db 1,1,2,1,3,1,4,1,5,1,3,2,3,3,3,4,3,5 ;T
  1304.             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
  1305.             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
  1306.             db 19,1,19,2,19,3,19,4,19,5,20,3,21,2,22,1,22,3,23,4,23,5 ;K
  1307.             db 25,4,26,2,26,5,27,1,27,3,27,5,27,1,28,4,28,1,29,2 ;S
  1308.  
  1309. ;----------------------------------------------------------
  1310. ;-----------------------data-------------------------------
  1311. ;----------------------------------------------------------
  1312. water:
  1313. db 247,0,0,0,0,0,255,0
  1314. db 0,128,0,255,128,0,128,255
  1315. db 0,255,0,0,255,255,0,0
  1316. db 0,0,0,0,0,0,0,0
  1317. db 0,0,0,0,0,0,0,0
  1318. db 0,0,0,0,0,0,0,0
  1319. db 0,0,7,0,2,1,19,2
  1320. db 1,2,1,2,17,2,1,18
  1321. db 35,49,19,2,49,2,17,2
  1322. db 17,3,6,5,19,2,19,17
  1323. db 18,35,18,1,2,51,5,1
  1324. db 2,5,3,6,18,1,19,5
  1325. db 3,17,2,19,6,5,19,6
  1326. db 1,3,33,19,6,3,5,3
  1327. db 2,17,51,2,1,19,18,3
  1328. db 6,67,18,1,2,3,5,35
  1329. db 1,2,17,19,5,6,5,6
  1330. db 3,1,18,51,2,3,18,3
  1331. db 6,3,5,6,19,5,19,1
  1332. db 19,33,18,1,18,3,6,3
  1333. db 6,67,1,2,1,2,65,2
  1334. db 1,19,5,3,21,3,17,34
  1335. db 1,66,1,18,67,2,17,2
  1336. db 33,2,1,18,1,2,1,34
  1337. db 1,2,1,18,1,18,17,2
  1338. db 33,34,17,50,17,2,17,66
  1339. db 1,2,1,19,5,3,2,17
  1340. db 2,17,50,17,34,19,6,3
  1341. db 6,19,1,2,65,19,6,3
  1342. db 17,3,5,19,5,35,18,17
  1343. db 3,6,3,5,19,18,3,6
  1344. db 5,19,5,19,18,17,3,21
  1345. db 3,21,2,1,35,21,19,17
  1346. db 2,1,2,3,6,3,6,5
  1347. db 3,1,18,1,35,2,17,50
  1348. db 1,3,5,6,35,1,2,1
  1349. db 2,1,2,17,2,17,2,17
  1350. db 2,51,16
  1351. voda1:
  1352. db 137,0,0,0,0,255,255,0
  1353. db 255,128,0,0,0,0,0,0
  1354. db 0,0,0,0,0,0,0,0
  1355. db 0,0,0,0,0,0,0,0
  1356. db 0,0,0,0,0,0,0,0
  1357. db 0,0,0,0,0,0,0,0
  1358. db 0,0,3,0,2,17,18,17
  1359. db 18,65,18,17,2,33,2,97
  1360. db 2,1,2,33,18,17,18,49
  1361. db 18,65,2,65,18,17,2,17
  1362. db 2,33,18,33,2,113,18,17
  1363. db 18,17,2,49,18,17,18,145
  1364. db 34,33,18,49,18,17,18,145
  1365. db 2,65,2,65,18,17,18,17
  1366. db 2,17,34,49,18,97,2,113
  1367. db 2,49,18,1,2,49,2,1
  1368. db 18,17,2,1,34,65,2,97
  1369. db 2,113,2,65,18,17,2,49
  1370. db 18,1,2,33,18,1,2,81
  1371. db 18,193,18,81,18,17,18,129
  1372. db 18,145,18,1,2,81,34,17
  1373. db 18,65,34,1,18,145,2,129
  1374. db 18,49,18,33,2,33,34,81
  1375. db 18,97,2,1,16
  1376. trava:
  1377. db 214,0,0,0,0,0,255,0
  1378. db 0,128,0,0,0,0,0,0
  1379. db 0,0,0,0,0,0,0,0
  1380. db 0,0,0,0,0,0,0,0
  1381. db 0,0,0,0,0,0,0,0
  1382. db 0,0,0,0,0,0,0,0
  1383. db 0,0,3,0,2,33,2,1
  1384. db 2,1,2,17,2,1,34,17
  1385. db 18,1,18,1,2,49,2,17
  1386. db 2,33,2,1,2,33,2,17
  1387. db 34,17,18,1,2,1,18,33
  1388. db 2,17,34,17,18,33,18,17
  1389. db 50,97,2,33,2,33,18,1
  1390. db 18,17,50,1,2,1,50,1
  1391. db 18,65,2,33,18,1,18,17
  1392. db 18,17,82,33,2,1,2,1
  1393. db 2,33,2,49,18,1,18,1
  1394. db 2,1,2,33,2,17,2,1
  1395. db 2,65,2,1,18,1,2,17
  1396. db 2,17,34,1,66,1,18,17
  1397. db 2,17,2,17,2,33,2,1
  1398. db 18,1,2,1,34,1,2,1
  1399. db 18,1,18,17,2,33,34,17
  1400. db 50,17,2,17,66,1,2,17
  1401. db 2,17,2,17,2,17,50,17
  1402. db 50,1,34,33,2,81,2,49
  1403. db 2,33,34,1,18,33,18,1
  1404. db 66,33,2,1,50,17,2,1
  1405. db 2,1,2,1,2,49,34,33
  1406. db 2,1,18,1,18,33,18,1
  1407. db 2,17,2,17,50,17,2,1
  1408. db 2,1,2,1,2,1,2,1
  1409. db 2,17,2,17,2,17,18,17
  1410. db 2,16
  1411. tan22:
  1412. db 116,0,0,0,0,128,0,255
  1413. db 192,192,192,64,128,255,128,128
  1414. db 128,0,255,0,0,128,0,0
  1415. db 255,255,0,0,0,0,0,0
  1416. db 0,0,0,0,0,0,0,0
  1417. db 0,0,0,0,0,0,0,0
  1418. db 0,0,8,0,112,51,8,224
  1419. db 0,19,144,8,96,19,144,8
  1420. db 64,8,0,19,144,8,32,8
  1421. db 0,8,0,19,32,8,32,24
  1422. db 2,20,18,8,39,19,39,8
  1423. db 18,20,82,55,19,55,82,20
  1424. db 18,7,6,23,19,23,6,7
  1425. db 18,20,82,6,23,51,23,6
  1426. db 146,23,83,23,82,20,18,23
  1427. db 19,22,19,23,18,20,82,23
  1428. db 19,22,19,23,82,20,18,23
  1429. db 83,23,18,20,82,23,83,23
  1430. db 146,39,51,39,82,20,18,151
  1431. db 18,20,66,8,151,8,50,8
  1432. db 48,21,87,21,8,224,224,240
  1433. tan21:
  1434. db 116,0,0,0,0,128,0,255
  1435. db 192,192,192,64,128,255,128,128
  1436. db 128,0,255,0,0,128,0,0
  1437. db 255,255,0,0,0,0,0,0
  1438. db 0,0,0,0,0,0,0,0
  1439. db 0,0,0,0,0,0,0,0
  1440. db 0,0,8,0,112,51,8,224
  1441. db 0,19,144,8,96,19,144,8
  1442. db 64,8,0,19,144,8,32,8
  1443. db 0,8,0,19,32,8,32,24
  1444. db 66,8,39,19,39,8,82,20
  1445. db 18,55,19,55,18,20,82,7
  1446. db 6,23,19,23,6,7,82,20
  1447. db 18,6,23,51,23,6,18,20
  1448. db 82,23,83,23,146,23,19,22
  1449. db 19,23,82,20,18,23,19,22
  1450. db 19,23,18,20,82,23,83,23
  1451. db 82,20,18,23,83,23,18,20
  1452. db 82,39,51,39,146,151,82,20
  1453. db 2,8,151,8,2,20,2,8
  1454. db 48,21,87,21,8,224,224,240
  1455. tan12:
  1456. db 116,0,0,0,0,128,0,255
  1457. db 192,192,192,64,128,255,128,128
  1458. db 128,0,255,0,0,128,0,0
  1459. db 0,0,0,0,0,0,0,0
  1460. db 0,0,0,0,0,0,0,0
  1461. db 0,0,0,0,0,0,0,0
  1462. db 0,0,7,0,112,51,7,224
  1463. db 0,19,144,7,96,19,144,7
  1464. db 64,7,0,19,144,7,32,7
  1465. db 0,7,0,19,32,7,0,55
  1466. db 2,20,18,7,33,19,33,7
  1467. db 18,20,82,49,19,49,82,20
  1468. db 18,1,6,17,19,17,6,1
  1469. db 18,20,82,6,17,51,17,6
  1470. db 146,17,83,17,82,20,18,17
  1471. db 19,22,19,17,18,20,82,17
  1472. db 19,22,19,17,82,20,18,17
  1473. db 83,17,18,20,82,17,83,17
  1474. db 146,33,51,33,82,20,18,145
  1475. db 18,20,66,7,145,7,50,7
  1476. db 48,21,81,21,7,224,224,240
  1477. tan11:
  1478. db 116,0,0,0,0,128,0,255
  1479. db 192,192,192,64,128,255,128,128
  1480. db 128,0,255,0,0,128,0,0
  1481. db 0,0,0,0,0,0,0,0
  1482. db 0,0,0,0,0,0,0,0
  1483. db 0,0,0,0,0,0,0,0
  1484. db 0,0,7,0,112,51,7,224
  1485. db 0,19,144,7,96,19,144,7
  1486. db 64,7,0,19,144,7,32,7
  1487. db 0,7,0,19,32,7,32,23
  1488. db 66,7,33,19,33,7,82,20
  1489. db 18,49,19,49,18,20,82,1
  1490. db 6,17,19,17,6,1,82,20
  1491. db 18,6,17,51,17,6,18,20
  1492. db 82,17,83,17,146,17,19,22
  1493. db 19,17,82,20,18,17,19,22
  1494. db 19,17,18,20,82,17,83,17
  1495. db 82,20,18,17,83,17,18,20
  1496. db 82,33,51,33,146,145,82,20
  1497. db 2,7,145,7,2,20,2,7
  1498. db 48,21,81,21,7,224,224,240
  1499. sten3:
  1500. db 104,0,0,0,0,128,128,128
  1501. db 192,192,192,0,0,0,0,0
  1502. db 0,0,0,0,0,0,0,0
  1503. db 0,0,0,0,0,0,0,0
  1504. db 0,0,0,0,0,0,0,0
  1505. db 0,0,0,0,0,0,0,0
  1506. db 0,0,3,0,226,66,65,2
  1507. db 81,2,65,2,81,2,81,2
  1508. db 65,2,81,2,81,2,65,2
  1509. db 1,226,66,33,2,81,2,81
  1510. db 2,65,2,81,2,81,2,65
  1511. db 2,81,2,81,2,17,226,66
  1512. db 1,2,81,2,81,2,65,2
  1513. db 81,2,81,2,65,2,81,2
  1514. db 81,2,49,226,66,65,2,97
  1515. db 2,65,2,65,2,97,2,65
  1516. db 2,65,2,97,2,65,226,82
  1517. db 33,2,81,2,81,2,65,2
  1518. db 81,2,81,2,65,2,81,2
  1519. db 81,2,17,16
  1520. sten1:
  1521. db 111,0,0,0,0,128,128,128
  1522. db 192,192,192,0,0,255,255,255
  1523. db 255,64,128,255,0,0,0,0
  1524. db 0,0,0,0,0,0,0,0
  1525. db 0,0,0,0,0,0,0,0
  1526. db 0,0,0,0,0,0,0,0
  1527. db 0,0,6,0,227,67,53,3
  1528. db 133,3,69,34,5,3,5,98
  1529. db 5,3,5,98,5,3,5,98
  1530. db 5,3,5,50,53,3,133,3
  1531. db 69,227,67,133,3,133,3,114
  1532. db 5,3,5,98,5,3,114,5
  1533. db 3,5,98,5,3,133,3,133
  1534. db 227,83,69,3,133,3,53,50
  1535. db 5,3,5,98,5,3,5,98
  1536. db 5,3,5,98,5,3,5,34
  1537. db 69,3,133,3,53,227,67,101
  1538. db 3,133,3,21,82,5,3,5
  1539. db 98,5,3,5,98,5,3,5
  1540. db 98,5,3,5,2,101,3,133
  1541. db 3,21,16
  1542. puly1:
  1543. db 48,0,0,0,0,0,255,255
  1544. db 128,0,255,0,0,255,64,128
  1545. db 255,0,0,0,0,0,0,0
  1546. db 0,0,0,0,0,0,0,0
  1547. db 0,0,0,0,0,0,0,0
  1548. db 0,0,0,0,0,0,0,0
  1549. db 0,0,5,0,224,224,224,224
  1550. db 224,224,224,224,96,49,224,17
  1551. db 20,17,192,17,4,18,4,17
  1552. db 176,1,4,50,4,1,176,17
  1553. db 4,18,4,17,192,17,20,17
  1554. db 224,49,224,224,224,224,224,224
  1555. db 224,224,224,240
  1556. pesok:
  1557. db 120,0,0,0,0,0,255,255
  1558. db 0,64,128,0,128,128,64,128
  1559. db 128,64,128,255,0,0,0,0
  1560. db 0,0,0,0,0,0,0,0
  1561. db 0,0,0,0,0,0,0,0
  1562. db 0,0,0,0,0,0,0,0
  1563. db 0,0,6,0,225,81,2,33
  1564. db 2,65,2,3,33,2,1,5
  1565. db 49,5,49,2,129,3,225,97
  1566. db 3,17,2,33,2,1,5,33
  1567. db 2,1,5,129,5,65,2,65
  1568. db 2,225,97,2,33,3,17,2
  1569. db 49,3,145,2,177,3,49,5
  1570. db 81,5,1,2,33,2,65,3
  1571. db 17,2,17,3,145,2,209,3
  1572. db 81,2,49,5,33,2,177,3
  1573. db 145,2,17,2,5,113,2,225
  1574. db 1,2,33,3,17,3,49,3
  1575. db 17,3,161,2,1,5,97,2
  1576. db 177,2,49,2,33,5,33,2
  1577. db 193,2,49,3,33,2,81,3
  1578. db 1,5,1,16
  1579. palma:
  1580. db 209,0,0,0,0,0,255,0
  1581. db 0,128,0,0,255,255,64,128
  1582. db 128,64,128,255,0,0,0,0
  1583. db 0,0,0,0,0,0,0,0
  1584. db 0,0,0,0,0,0,0,0
  1585. db 0,0,0,0,0,0,0,0
  1586. db 0,0,6,0,2,33,2,1
  1587. db 2,1,2,17,2,1,34,17
  1588. db 18,1,18,1,51,1,2,17
  1589. db 2,1,35,1,2,33,115,2
  1590. db 51,21,19,1,2,35,69,35
  1591. db 53,35,18,3,21,67,5,3
  1592. db 21,19,1,18,19,2,5,3
  1593. db 50,1,3,5,3,5,67,17
  1594. db 3,1,19,17,67,5,99,34
  1595. db 3,2,35,5,3,5,3,5
  1596. db 3,5,3,5,35,1,18,1
  1597. db 2,19,5,35,5,3,5,35
  1598. db 21,19,33,19,5,35,5,35
  1599. db 5,51,5,3,34,35,17,51
  1600. db 20,3,5,35,5,3,2,1
  1601. db 35,18,3,5,3,36,5,19
  1602. db 1,35,1,18,3,17,2,3
  1603. db 2,52,35,50,1,2,17,2
  1604. db 17,2,1,52,3,34,17,50
  1605. db 1,34,33,36,49,2,49,2
  1606. db 33,34,1,36,17,18,1,66
  1607. db 33,2,1,2,1,36,1,2
  1608. db 1,2,1,2,1,2,49,66
  1609. db 36,18,1,18,33,18,1,2
  1610. db 17,84,2,17,2,1,2,1
  1611. db 2,1,2,1,2,1,84,2
  1612. db 17,18,17,2,16
  1613. kamni:
  1614. db 210,0,0,0,0,0,255,0
  1615. db 0,128,0,64,128,255,64,128
  1616. db 128,0,0,0,0,0,0,0
  1617. db 0,0,0,0,0,0,0,0
  1618. db 0,0,0,0,0,0,0,0
  1619. db 0,0,0,0,0,0,0,0
  1620. db 0,0,5,0,2,33,2,1
  1621. db 2,35,1,2,1,34,17,18
  1622. db 1,18,1,2,17,51,1,2
  1623. db 33,2,1,2,33,2,1,67
  1624. db 4,3,2,1,2,1,18,33
  1625. db 2,17,2,83,4,17,18,17
  1626. db 50,17,131,2,33,18,1,18
  1627. db 17,83,20,3,18,1,18,65
  1628. db 2,67,4,19,4,3,18,17
  1629. db 82,99,4,35,2,49,18,1
  1630. db 18,1,2,1,2,17,35,4
  1631. db 2,1,2,65,2,1,18,1
  1632. db 2,17,2,17,34,1,66,1
  1633. db 18,17,2,17,2,17,2,33
  1634. db 2,1,18,1,2,1,2,19
  1635. db 1,2,1,18,1,18,19,2
  1636. db 33,18,35,4,3,18,17,2
  1637. db 1,67,2,1,2,99,1,2
  1638. db 17,2,35,4,3,34,35,4
  1639. db 3,4,3,1,2,17,83,1
  1640. db 67,20,19,4,3,2,17,51
  1641. db 4,115,4,35,2,1,83,4
  1642. db 67,34,33,2,35,1,3,4
  1643. db 19,1,18,1,2,17,2,17
  1644. db 50,17,2,1,2,1,2,1
  1645. db 2,1,2,1,2,17,2,17
  1646. db 2,17,18,17,2,16
  1647. drevo:
  1648. db 240,0,0,0,0,0,255,0
  1649. db 0,128,0,255,0,128,0,64
  1650. db 128,64,128,128,128,0,128,255
  1651. db 128,128,0,0,0,0,0,0
  1652. db 0,0,0,0,0,0,0,0
  1653. db 0,0,0,0,0,0,0,0
  1654. db 0,0,8,0,2,33,2,1
  1655. db 2,19,1,35,34,17,18,1
  1656. db 18,1,2,17,3,38,7,22
  1657. db 3,1,2,1,2,33,2,1
  1658. db 19,7,6,23,6,23,3,6
  1659. db 18,33,2,17,2,3,7,19
  1660. db 6,3,54,7,19,50,33,3
  1661. db 22,7,6,3,6,7,22,3
  1662. db 23,2,1,18,17,22,7,6
  1663. db 7,3,7,3,7,22,7,6
  1664. db 35,17,35,54,55,6,23,22
  1665. db 19,18,19,7,3,7,6,7
  1666. db 22,7,3,22,3,22,7,3
  1667. db 18,19,23,3,182,3,33,3
  1668. db 22,3,7,6,7,6,7,22
  1669. db 7,6,7,22,3,34,7,22
  1670. db 7,22,3,39,38,7,6,7
  1671. db 19,2,1,3,7,6,23,38
  1672. db 7,38,39,6,7,3,1,2
  1673. db 19,54,3,38,3,70,3,2
  1674. db 1,2,1,3,7,6,7,19
  1675. db 4,5,4,19,6,7,6,3
  1676. db 1,50,1,34,3,1,36,17
  1677. db 3,22,2,49,2,33,34,21
  1678. db 4,33,18,1,66,33,2,1
  1679. db 52,17,2,1,2,1,2,1
  1680. db 2,49,18,20,5,4,5,4
  1681. db 18,1,18,33,18,1,2,1
  1682. db 132,1,2,1,2,1,2,1
  1683. db 2,1,36,5,20,5,4,21
  1684. db 36,17,2,16
  1685. bum41:
  1686. db 141,0,0,0,0,128,255,255
  1687. db 0,255,255,0,0,255,128,0
  1688. db 255,0,0,0,0,0,0,0
  1689. db 0,0,0,0,0,0,0,0
  1690. db 0,0,0,0,0,0,0,0
  1691. db 0,0,0,0,0,0,0,0
  1692. db 0,0,5,0,80,21,50,21
  1693. db 16,5,96,21,130,69,32,50
  1694. db 33,4,1,66,0,21,16,5
  1695. db 34,1,2,17,18,1,66,53
  1696. db 34,17,2,17,18,1,18,4
  1697. db 18,37,50,33,2,33,2,17
  1698. db 50,21,2,4,18,65,50,1
  1699. db 50,5,50,33,2,49,2,17
  1700. db 50,21,2,81,18,33,2,17
  1701. db 130,113,2,17,130,33,18,1
  1702. db 194,65,2,33,66,4,2,5
  1703. db 65,2,97,34,1,18,5,18
  1704. db 1,34,1,18,1,2,17,18
  1705. db 1,34,21,2,4,17,34,49
  1706. db 82,37,18,1,18,49,34,4
  1707. db 50,37,50,1,18,49,66,53
  1708. db 0,66,1,114,37,64,18,17
  1709. db 2,4,50,69,80,5,82,53
  1710. db 64
  1711. bum31:
  1712. db 114,0,0,0,0,128,255,255
  1713. db 0,255,255,0,0,255,128,0
  1714. db 255,0,0,0,0,0,0,0
  1715. db 0,0,0,0,0,0,0,0
  1716. db 0,0,0,0,0,0,0,0
  1717. db 0,0,0,0,0,0,0,0
  1718. db 0,0,5,0,80,53,18,21
  1719. db 144,53,82,85,48,5,18,3
  1720. db 18,4,66,5,0,21,16,21
  1721. db 146,4,18,85,3,18,3,2
  1722. db 49,82,53,98,3,66,1,18
  1723. db 53,178,3,1,4,18,21,2
  1724. db 3,114,3,50,1,18,21,34
  1725. db 4,50,3,130,21,210,3,18
  1726. db 3,98,3,194,21,130,3,114
  1727. db 21,18,4,18,3,146,3,2
  1728. db 21,2,3,114,3,34,1,18
  1729. db 37,34,3,2,4,98,4,2
  1730. db 3,2,53,226,101,50,4,98
  1731. db 69,0,37,146,53,80,37,2
  1732. db 3,18,101,80,165,64
  1733. bum21:
  1734. db 134,0,0,0,0,128,255,255
  1735. db 0,255,255,0,0,255,128,0
  1736. db 255,0,0,0,0,0,0,0
  1737. db 0,0,0,0,0,0,0,0
  1738. db 0,0,0,0,0,0,0,0
  1739. db 0,0,0,0,0,0,0,0
  1740. db 0,0,5,0,80,117,144,69
  1741. db 50,101,48,37,34,4,50,21
  1742. db 0,21,16,37,130,4,2,133
  1743. db 18,4,49,66,101,66,19,2
  1744. db 3,18,1,18,69,18,4,18
  1745. db 3,2,3,18,19,1,4,2
  1746. db 69,34,35,2,83,1,18,53
  1747. db 2,4,2,3,18,3,2,3
  1748. db 2,3,2,3,18,4,53,34
  1749. db 99,2,19,34,53,34,3,2
  1750. db 19,2,51,18,4,2,53,2
  1751. db 4,1,51,2,3,18,19,34
  1752. db 53,2,4,18,3,2,83,2
  1753. db 4,18,69,66,19,2,3,34
  1754. db 1,2,101,18,4,98,4,2
  1755. db 133,82,4,34,165,18,4,66
  1756. db 101,0,85,50,101,80,213,80
  1757. db 165,64
  1758. bum11:
  1759. db 79,0,0,0,0,128,255,255
  1760. db 0,255,255,0,0,255,0,0
  1761. db 0,0,0,0,0,0,0,0
  1762. db 0,0,0,0,0,0,0,0
  1763. db 0,0,0,0,0,0,0,0
  1764. db 0,0,0,0,0,0,0,0
  1765. db 0,0,4,0,80,100,176,196
  1766. db 80,196,0,20,16,100,50,100
  1767. db 0,84,2,49,18,1,164,34
  1768. db 51,18,1,148,2,115,1,2
  1769. db 116,2,147,1,100,1,2,147
  1770. db 18,84,1,2,147,2,1,84
  1771. db 18,147,2,1,100,1,147,1
  1772. db 2,100,18,115,2,1,132,34
  1773. db 51,34,1,148,130,196,50,116
  1774. db 0,228,36,32,228,20,80,196
  1775. db 96,164,64
  1776. baza1:
  1777. db 192,0,0,0,0,0,255,0
  1778. db 0,128,0,255,0,128,255,128
  1779. db 128,255,0,0,255,128,0,255
  1780. db 255,0,128,0,255,0,0,255
  1781. db 0,255,255,0,0,0,0,0
  1782. db 0,0,0,0,0,0,0,0
  1783. db 0,0,11,0,2,33,2,1
  1784. db 2,1,2,17,2,1,34,17
  1785. db 18,1,18,1,2,49,2,17
  1786. db 2,33,2,1,2,17,232,9
  1787. db 4,17,2,8,201,8,3,9
  1788. db 4,2,1,8,41,150,8,19
  1789. db 9,2,1,57,6,101,7,6
  1790. db 8,3,10,3,9,2,8,41
  1791. db 6,5,84,7,6,8,35,9
  1792. db 2,8,41,6,5,84,7,6
  1793. db 8,35,9,2,8,41,6,5
  1794. db 84,7,6,8,3,21,9,1
  1795. db 8,41,6,5,84,7,6,8
  1796. db 3,21,9,2,8,41,6,5
  1797. db 84,7,6,8,35,9,2,8
  1798. db 41,6,5,103,6,8,3,10
  1799. db 3,9,1,8,57,134,8,35
  1800. db 9,1,8,201,8,3,10,3
  1801. db 9,2,232,35,9,2,9,131
  1802. db 10,19,10,3,9,4,3,9
  1803. db 1,2,25,19,22,131,9,4
  1804. db 9,33,9,35,22,131,25,1
  1805. db 18,1,233,9,2,1,2,1
  1806. db 2,1,2,17,2,17,2,17
  1807. db 18,17,2,16
  1808. ;-----------------------------------
  1809. ;-----here begin levels-------------
  1810. ;-----------------------------------
  1811. lev01:
  1812. db 171,0
  1813. db 225,225,33,150,7,2,1,7
  1814. db 41,192,17,150,18,1,57,144
  1815. db 1,16,17,182,1,57,112,33
  1816. db 16,17,38,225,65,96,17,6
  1817. db 1,6,1,7,5,80,1,7
  1818. db 117,1,96,17,38,1,18,80
  1819. db 1,69,24,21,1,96,17,38
  1820. db 1,112,1,34,40,37,1,96
  1821. db 17,38,128,1,19,224,17,38
  1822. db 1,112,1,0,3,96,1,96
  1823. db 17,38,1,224,32,1,96,17
  1824. db 38,1,224,32,65,0,49,38
  1825. db 129,0,145,6,7,6,1,32
  1826. db 17,86,48,1,148,70,1,32
  1827. db 17,86,48,1,148,22,1,22
  1828. db 1,32,17,6,1,54,4,3
  1829. db 16,1,116,16,70,1,32,17
  1830. db 70,35,16,1,20,17,36,32
  1831. db 70,1,8,7,8,17,70,66
  1832. db 1,100,112,1,40,17,70,2
  1833. db 7,34,1,116,96,1,40,225
  1834. db 225,33,16
  1835. lev02:
  1836. db 255,3
  1837. db 225,225,33,5,49,3,225,161
  1838. db 5,38,5,3,64,89,0,40
  1839. db 54,50,33,5,38,5,3,32
  1840. db 35,34,3,16,8,67,6,50
  1841. db 33,5,38,5,3,34,16,3
  1842. db 36,3,2,35,36,3,66,33
  1843. db 5,22,21,3,34,3,0,3
  1844. db 36,3,2,3,7,36,5,3
  1845. db 2,1,35,33,5,22,21,3
  1846. db 7,2,0,2,19,5,20,3
  1847. db 2,51,21,3,66,33,5,22
  1848. db 21,35,0,2,3,7,5,20
  1849. db 18,3,24,3,22,67,2,33
  1850. db 5,17,25,48,2,51,2,35
  1851. db 24,3,22,9,16,19,2,33
  1852. db 5,2,1,25,49,2,3,56
  1853. db 3,54,67,0,3,16,33,5
  1854. db 2,49,22,1,6,3,22,1
  1855. db 8,3,17,88,3,48,33,5
  1856. db 18,4,54,1,6,3,22,1
  1857. db 8,3,7,1,99,57,33,5
  1858. db 18,4,22,1,5,1,54,1
  1859. db 8,3,70,51,57,33,5,18
  1860. db 4,0,17,5,113,51,0,3
  1861. db 38,9,32,33,5,17,4,16
  1862. db 1,32,1,37,49,32,3,54
  1863. db 19,0,33,5,0,20,16,1
  1864. db 2,1,0,20,1,24,34,0
  1865. db 33,7,38,3,16,33,5,0
  1866. db 33,0,1,2,113,18,32,83
  1867. db 16,33,5,16,7,16,1,146
  1868. db 33,128,33,114,65,98,225,225
  1869. db 193,16
  1870. lev03:
  1871. db 118,0
  1872. db 225,225,33,85,50,35,162,86
  1873. db 17,5,7,53,166,34,7,8
  1874. db 18,86,17,85,34,19,6,19
  1875. db 50,72,2,86,193,6,225,1
  1876. db 6,33,160,230,54,17,18,128
  1877. db 102,65,102,17,7,2,128,102
  1878. db 1,166,17,160,230,54,225,113
  1879. db 6,145,214,224,0,17,214,96
  1880. db 81,32,17,214,96,1,7,38
  1881. db 17,16,17,214,224,0,113,6
  1882. db 225,145,82,198,1,144,17,82
  1883. db 1,182,1,48,1,54,0,17
  1884. db 18,38,2,7,2,166,1,48
  1885. db 1,54,0,17,114,230,6,1
  1886. db 7,48,225,225,33,16
  1887. lev04:
  1888. db 146,0
  1889. db 225,225,33,89,1,176,89,1
  1890. db 57,17,89,1,176,25,7,41
  1891. db 1,57,17,89,1,9,65,57
  1892. db 64,34,1,25,1,9,17,89
  1893. db 1,25,7,5,9,1,57,48
  1894. db 35,33,9,1,9,17,89,1
  1895. db 73,1,233,1,9,17,89,225
  1896. db 113,9,17,233,233,17,233,233
  1897. db 17,217,129,105,17,217,1,100
  1898. db 1,105,17,41,81,64,1,7
  1899. db 73,4,1,105,17,41,1,7
  1900. db 41,1,64,1,89,4,1,105
  1901. db 17,41,1,36,25,64,1,25
  1902. db 1,41,4,145,41,1,52,1
  1903. db 64,41,1,7,34,1,98,17
  1904. db 41,81,64,129,18,7,50,17
  1905. db 233,121,3,20,50,17,233,121
  1906. db 35,17,25,17,233,233,225,225
  1907. db 33,16
  1908. lev05:
  1909. db 229,0
  1910. db 225,225,33,224,224,17,0,134
  1911. db 50,72,34,24,2,40,2,0
  1912. db 17,0,134,34,83,2,56,2
  1913. db 40,2,0,17,0,134,18,19
  1914. db 56,3,2,24,2,8,2,56
  1915. db 0,17,0,22,8,86,19,6
  1916. db 72,3,40,2,8,2,56,0
  1917. db 17,0,22,8,50,22,18,6
  1918. db 40,35,2,24,2,8,2,56
  1919. db 0,17,0,22,72,22,18,54
  1920. db 3,6,56,2,8,2,32,8
  1921. db 0,17,0,40,86,18,40,6
  1922. db 3,6,88,2,7,8,0,8
  1923. db 0,17,0,40,6,7,70,2
  1924. db 40,6,3,54,8,54,8,0
  1925. db 8,0,17,0,56,38,8,22
  1926. db 40,7,86,8,54,8,0,8
  1927. db 0,17,0,2,51,56,6,40
  1928. db 2,166,8,0,8,0,17,0
  1929. db 50,3,34,8,6,40,2,6
  1930. db 66,70,16,8,0,17,0,18
  1931. db 7,2,72,22,7,8,0,6
  1932. db 66,70,0,24,0,17,0,6
  1933. db 51,120,0,6,66,8,54,0
  1934. db 24,0,17,0,118,3,64,6
  1935. db 104,22,7,0,24,0,17,0
  1936. db 118,83,6,136,16,24,0,17
  1937. db 0,230,22,19,136,0,17,224
  1938. db 224,225,225,33,16
  1939. lev06:
  1940. db 149,0
  1941. db 225,225,33,176,1,18,19,192
  1942. db 17,0,7,18,112,1,2,7
  1943. db 2,16,3,160,17,0,34,112
  1944. db 1,18,51,160,17,0,1,144
  1945. db 97,160,17,0,1,224,192,17
  1946. db 0,1,224,192,17,0,145,48
  1947. db 230,17,48,7,66,1,48,209
  1948. db 6,17,48,82,1,48,1,68
  1949. db 96,22,17,144,1,48,1,4
  1950. db 7,18,3,96,22,17,144,1
  1951. db 48,1,4,34,3,48,7,41
  1952. db 6,17,144,1,48,1,20,96
  1953. db 57,6,17,16,129,48,1,20
  1954. db 96,4,41,6,17,16,1,40
  1955. db 50,64,1,128,4,32,6,17
  1956. db 16,1,7,8,66,64,145,4
  1957. db 32,6,17,16,177,144,1,70
  1958. db 17,224,128,1,70,17,224,144
  1959. db 70,225,225,33,16
  1960. lev07:
  1961. db 159,0
  1962. db 225,225,33,0,7,229,197,17
  1963. db 64,225,113,21,17,64,1,37
  1964. db 134,133,1,21,17,32,33,37
  1965. db 6,37,33,7,6,133,1,21
  1966. db 17,37,1,37,1,5,134,133
  1967. db 1,21,17,133,209,5,49,21
  1968. db 17,5,1,229,197,17,5,1
  1969. db 133,1,229,37,17,5,1,85
  1970. db 1,229,85,17,5,65,21,1
  1971. db 21,1,101,113,38,17,5,1
  1972. db 32,37,1,149,1,7,8,53
  1973. db 1,38,17,5,1,8,16,37
  1974. db 1,21,1,7,85,1,3,2
  1975. db 53,1,38,17,5,1,8,16
  1976. db 21,193,3,69,1,38,17,5
  1977. db 1,8,1,0,229,3,69,1
  1978. db 38,17,5,1,7,232,117,1
  1979. db 38,17,5,1,232,8,129,38
  1980. db 17,5,225,33,7,98,38,17
  1981. db 229,69,150,225,225,33,16
  1982. lev08:
  1983. db 209,0
  1984. db 225,225,33,36,7,228,84,1
  1985. db 48,17,164,195,4,1,48,17
  1986. db 164,3,166,3,4,1,0,7
  1987. db 2,0,17,164,3,166,3,4
  1988. db 1,0,18,0,17,165,3,166
  1989. db 3,4,1,48,17,165,3,166
  1990. db 3,4,1,48,17,165,3,166
  1991. db 3,4,1,48,17,54,3,82
  1992. db 3,6,1,4,99,6,3,4
  1993. db 1,48,17,54,3,82,3,6
  1994. db 1,4,3,7,21,22,3,6
  1995. db 3,4,1,0,7,2,0,17
  1996. db 6,7,22,3,82,3,6,1
  1997. db 4,3,37,22,3,6,3,4
  1998. db 1,0,18,0,17,54,3,82
  1999. db 3,6,1,4,3,70,3,6
  2000. db 3,4,1,48,17,54,3,82
  2001. db 3,6,1,4,3,6,67,6
  2002. db 3,4,1,48,17,54,115,6
  2003. db 1,4,3,102,3,4,1,48
  2004. db 17,198,1,4,3,102,3,4
  2005. db 1,48,17,6,161,2,1,4
  2006. db 3,102,3,4,1,48,17,6
  2007. db 7,130,1,2,1,4,131,4
  2008. db 1,48,17,38,114,1,2,193
  2009. db 48,17,38,226,178,225,225,33
  2010. db 16
  2011. lev09:
  2012. db 162,0
  2013. db 225,225,33,229,5,214,17,21
  2014. db 33,7,149,1,198,17,21,208
  2015. db 1,32,150,17,226,2,1,18
  2016. db 80,70,17,2,83,130,1,18
  2017. db 0,7,34,0,70,17,2,3
  2018. db 144,1,0,18,1,18,0,50
  2019. db 0,70,17,2,3,144,1,0
  2020. db 18,1,18,0,50,0,70,17
  2021. db 2,3,32,7,50,16,1,0
  2022. db 66,0,50,0,70,17,2,3
  2023. db 32,66,16,1,0,66,0,7
  2024. db 130,17,2,3,144,1,48,18
  2025. db 64,82,17,18,144,1,0,7
  2026. db 50,0,2,32,82,17,18,144
  2027. db 1,0,66,0,1,64,50,17
  2028. db 178,1,0,66,0,2,80,34
  2029. db 17,178,1,96,6,80,34,145
  2030. db 0,34,113,150,17,7,82,1
  2031. db 0,34,230,38,17,98,16,226
  2032. db 82,17,98,16,226,82,225,225
  2033. db 33,16
  2034. lev10:
  2035. db 205,0
  2036. db 225,225,33,224,224,17,0,2
  2037. db 83,64,233,9,0,17,0,2
  2038. db 3,34,0,7,64,233,9,0
  2039. db 17,0,2,3,34,96,73,7
  2040. db 153,0,17,224,32,1,41,50
  2041. db 41,0,17,2,145,16,18,32
  2042. db 1,41,50,41,0,17,2,1
  2043. db 134,16,18,32,1,41,50,41
  2044. db 0,17,2,1,6,41,70,16
  2045. db 1,2,32,1,7,25,50,41
  2046. db 0,17,2,1,6,89,22,16
  2047. db 18,32,49,50,41,0,17,2
  2048. db 1,6,89,22,16,1,2,32
  2049. db 1,41,50,41,0,17,2,1
  2050. db 54,41,22,16,1,2,32,1
  2051. db 41,50,41,0,17,2,1,54
  2052. db 41,22,16,1,2,32,1,41
  2053. db 50,41,0,17,2,1,54,7
  2054. db 25,22,16,18,32,1,41,2
  2055. db 7,16,41,0,17,2,1,54
  2056. db 41,22,16,1,2,224,17,2
  2057. db 1,54,41,22,16,1,2,224
  2058. db 17,2,1,134,16,18,100,6
  2059. db 98,17,2,1,160,1,2,100
  2060. db 6,1,82,17,226,118,1,7
  2061. db 66,225,225,33,16
  2062. lev11:
  2063. db 228,0
  2064. db 225,225,33,230,230,17,6,104
  2065.  
  2066. db 1,104,6,1,7,152,6,17
  2067.  
  2068. db 6,104,1,104,6,1,24,1
  2069.  
  2070. db 120,6,17,6,104,1,8,102
  2071.  
  2072. db 49,8,64,24,6,17,6,104
  2073.  
  2074. db 1,8,6,72,38,40,0,88
  2075.  
  2076. db 6,17,6,8,97,8,6,33
  2077.  
  2078. db 56,6,40,64,24,6,17,6
  2079.  
  2080. db 8,1,104,6,1,64,1,6
  2081.  
  2082. db 104,0,24,6,17,6,8,1
  2083.  
  2084. db 104,6,1,0,40,0,1,6
  2085.  
  2086. db 104,0,24,6,17,6,8,1
  2087.  
  2088. db 7,88,6,1,0,40,0,1
  2089.  
  2090. db 6,40,16,24,0,24,6,17
  2091.  
  2092. db 6,8,33,72,6,1,0,8
  2093.  
  2094. db 7,8,0,1,6,40,0,40
  2095.  
  2096. db 0,24,6,17,6,136,6,1
  2097.  
  2098. db 0,40,0,1,6,40,0,40
  2099.  
  2100. db 0,24,6,17,166,1,0,40
  2101.  
  2102. db 0,1,6,40,64,7,8,6
  2103.  
  2104. db 17,6,8,49,6,56,1,64
  2105.  
  2106. db 1,6,152,6,17,6,8,7
  2107.  
  2108. db 24,1,6,56,97,182,17,6
  2109.  
  2110. db 56,1,6,168,6,24,80,40
  2111.  
  2112. db 17,6,56,1,198,24,0,56
  2113.  
  2114. db 0,40,17,6,72,6,216,0
  2115.  
  2116. db 56,0,40,17,102,120,1,7
  2117.  
  2118. db 56,0,1,7,8,1,0,40
  2119.  
  2120. db 225,225,33,16
  2121. lev12:
  2122. db 157,0
  2123. db 225,225,33,66,1,217,36,98
  2124.  
  2125. db 17,66,1,217,36,50,3,18
  2126.  
  2127. db 17,66,1,41,161,36,33,50
  2128.  
  2129. db 17,66,1,41,1,196,1,2
  2130.  
  2131. db 1,50,17,66,1,41,1,196
  2132.  
  2133. db 1,2,1,50,17,2,65,41
  2134.  
  2135. db 1,148,49,2,1,50,17,2
  2136.  
  2137. db 1,7,24,25,33,4,145,7
  2138.  
  2139. db 34,1,50,17,2,1,40,25
  2140.  
  2141. db 1,7,20,1,7,178,1,50
  2142.  
  2143. db 17,2,97,32,1,194,1,50
  2144.  
  2145. db 17,162,1,194,1,50,17,162
  2146.  
  2147. db 1,2,3,18,145,50,209,2
  2148.  
  2149. db 3,18,1,7,178,17,7,36
  2150.  
  2151. db 19,98,3,18,1,98,3,66
  2152.  
  2153. db 17,68,3,4,130,1,194,17
  2154.  
  2155. db 36,35,4,130,1,194,17,114
  2156.  
  2157. db 129,34,3,82,3,18,17,18
  2158.  
  2159. db 3,66,1,7,226,66,17,226
  2160.  
  2161. db 226,225,225,33,16
  2162. lev13:
  2163. db 233,0
  2164. db 225,225,33,224,224,17,0,53
  2165.  
  2166. db 225,49,16,1,21,0,17,0
  2167.  
  2168. db 53,1,230,22,1,16,1,21
  2169.  
  2170. db 0,17,0,53,1,230,22,1
  2171.  
  2172. db 16,1,21,0,17,0,53,1
  2173.  
  2174. db 38,177,22,1,16,1,21,0
  2175.  
  2176. db 17,0,5,1,21,1,38,1
  2177.  
  2178. db 7,133,1,22,1,16,1,21
  2179.  
  2180. db 0,17,0,5,1,21,1,38
  2181.  
  2182. db 1,6,1,7,101,1,22,1
  2183.  
  2184. db 16,1,21,0,17,0,5,1
  2185.  
  2186. db 21,1,70,1,117,1,22,1
  2187.  
  2188. db 16,1,21,0,17,0,5,1
  2189.  
  2190. db 21,1,38,1,6,1,5,7
  2191.  
  2192. db 85,1,22,1,16,1,21,0
  2193.  
  2194. db 17,0,5,1,21,1,38,1
  2195.  
  2196. db 38,81,5,1,38,16,1,21
  2197.  
  2198. db 0,17,0,5,1,21,1,38
  2199.  
  2200. db 1,70,7,53,1,22,1,16
  2201.  
  2202. db 1,7,5,0,17,0,5,1
  2203.  
  2204. db 21,1,38,177,22,1,16,1
  2205.  
  2206. db 21,0,17,0,5,1,21,1
  2207.  
  2208. db 230,22,1,16,1,21,0,17
  2209.  
  2210. db 0,5,1,21,1,7,230,6
  2211.  
  2212. db 1,16,1,21,0,17,0,5
  2213.  
  2214. db 1,21,225,49,16,1,21,0
  2215.  
  2216. db 17,0,5,1,7,5,224,80
  2217.  
  2218. db 1,21,0,17,0,5,225,145
  2219.  
  2220. db 21,0,17,224,224,225,225,33
  2221.  
  2222. db 16
  2223. lev14:
  2224. db 152,0
  2225. db 225,225,33,7,102,144,57,112
  2226.  
  2227. db 17,118,48,7,40,16,7,41
  2228.  
  2229. db 112,17,118,0,104,208,17,22
  2230.  
  2231. db 49,232,128,17,22,1,25,1
  2232.  
  2233. db 8,196,8,128,17,22,1,25
  2234.  
  2235. db 1,8,196,8,128,17,38,0
  2236.  
  2237. db 9,1,8,20,7,148,8,128
  2238.  
  2239. db 17,6,32,9,1,8,196,72
  2240.  
  2241. db 64,17,6,0,41,1,8,196
  2242.  
  2243. db 72,64,17,6,0,41,1,8
  2244.  
  2245. db 196,8,7,40,64,17,6,32
  2246.  
  2247. db 9,1,232,128,17,70,1,0
  2248.  
  2249. db 81,120,128,17,64,1,80,1
  2250.  
  2251. db 224,16,17,64,1,89,1,16
  2252.  
  2253. db 86,32,70,0,17,80,89,1
  2254.  
  2255. db 16,86,32,70,0,17,86,1
  2256.  
  2257. db 7,57,1,32,70,32,70,0
  2258.  
  2259. db 17,7,70,97,118,32,70,0
  2260.  
  2261. db 17,230,86,128,225,225,33,16
  2262.  
  2263. lev15:
  2264. db 242,0
  2265. db 225,225,33,182,224,32,17,22
  2266.  
  2267. db 69,70,0,54,0,54,0,54
  2268.  
  2269. db 0,20,17,22,69,32,22,0
  2270.  
  2271. db 54,0,54,0,54,0,20,17
  2272.  
  2273. db 22,69,0,5,4,22,0,1
  2274.  
  2275. db 38,0,54,0,54,0,20,17
  2276.  
  2277. db 22,69,0,3,4,22,0,1
  2278.  
  2279. db 38,0,54,0,33,6,0,20
  2280.  
  2281. db 17,22,69,0,3,4,22,0
  2282.  
  2283. db 17,7,6,0,54,0,1,7
  2284.  
  2285. db 22,0,20,17,22,69,0,3
  2286.  
  2287. db 4,22,0,1,38,0,54,0
  2288.  
  2289. db 1,38,0,20,17,22,80,3
  2290.  
  2291. db 4,22,0,1,38,0,54,0
  2292.  
  2293. db 1,38,0,20,17,22,0,83
  2294.  
  2295. db 4,22,0,54,0,54,0,49
  2296.  
  2297. db 0,20,17,22,0,3,84,22
  2298.  
  2299. db 0,54,0,56,0,54,0,20
  2300.  
  2301. db 17,22,0,3,84,22,0,54
  2302.  
  2303. db 0,56,0,54,0,20,17,22
  2304.  
  2305. db 0,3,7,68,22,0,54,0
  2306.  
  2307. db 8,7,24,0,54,0,25,17
  2308.  
  2309. db 22,0,83,4,22,0,54,0
  2310.  
  2311. db 56,0,54,0,7,9,17,22
  2312.  
  2313. db 112,22,0,54,0,54,0,54
  2314.  
  2315. db 0,25,17,182,0,54,0,54
  2316.  
  2317. db 0,54,0,20,17,192,54,0
  2318.  
  2319. db 54,0,54,0,20,225,1,7
  2320.  
  2321. db 22,0,54,0,54,0,20,17
  2322.  
  2323. db 7,2,116,224,32,20,225,225
  2324.  
  2325. db 33,16
  2326.  
  2327. ;-----------------------------------
  2328. spisok:
  2329.   dd sten1
  2330.   dd sten3
  2331.   dd trava
  2332.   dd kamni
  2333.   dd palma
  2334.   dd water
  2335.   dd voda1
  2336.   dd baza1
  2337.   dd drevo
  2338.   dd pesok
  2339.   dd bum11; here begin animate sprites
  2340.   dd bum21
  2341.   dd bum31
  2342.   dd bum41
  2343.   dd puly1
  2344.   dd puly1
  2345.   dd puly1
  2346.   dd puly1
  2347.   dd tan11
  2348.   dd tan12
  2349.   dd tan11
  2350.   dd tan12
  2351.   dd tan21
  2352.   dd tan22
  2353.   dd tan21
  2354.   dd tan22
  2355. ;-----------------------------------
  2356. levels:
  2357.   dd lev01
  2358.   dd lev02
  2359.   dd lev03
  2360.   dd lev04
  2361.   dd lev05
  2362.   dd lev06
  2363.   dd lev07
  2364.   dd lev08
  2365.   dd lev09
  2366.   dd lev10
  2367.   dd lev11
  2368.   dd lev12
  2369.   dd lev13
  2370.   dd lev14
  2371.   dd lev15
  2372.   dd lev02
  2373.   dd lev02
  2374.   dd lev02
  2375.   dd lev02
  2376.   dd lev02
  2377.   dd lev02
  2378.   dd lev02
  2379.   dd lev02
  2380.   dd lev02
  2381.   dd lev02
  2382.   dd lev02
  2383.   dd lev02
  2384.   dd lev02
  2385.   dd lev02
  2386. I_END: