Subversion Repositories Kolibri OS

Rev

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