Subversion Repositories Kolibri OS

Rev

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