Subversion Repositories Kolibri OS

Rev

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

  1. use32
  2. org 0x0
  3.  
  4.   db  'MENUET01'
  5.   dd  0x1
  6.   dd  START
  7.   dd  I_END
  8.   dd  0x3000+640*400*3+16*20*20*3+512+640+1
  9.   dd  0x3000
  10.   dd  0x0
  11.   dd  0x0
  12. include 'lang.inc'
  13. include 'pixengin.inc'
  14. START:
  15.    mov eax,40
  16.    mov ebx,111b
  17.    mcall
  18.    call drawwin
  19. ;main cycle(fps)
  20.  fpst:
  21.    call clock
  22.    mov eax,[time]
  23.    mov [old_time],eax
  24.    mov [old_frame_time],eax
  25. ;----------------------------------------------------------
  26. ;---------load all sprites from arrays to memory-----------
  27. ;----------------------------------------------------------
  28.    mov [number_sprite],0
  29.    xor eax,eax
  30. nextfile:
  31.    mov ebx,[spisok+4*eax]
  32.    mov ecx,50
  33.    mov esi,ebx
  34.    add esi,2
  35.    mov edi,0x3000+(640*400*3)+(16*20*20*3)+10
  36.    rep movsb ;copy palitra to memory
  37.    mov esi,ebx
  38.    add esi,52
  39.    xor ecx,ecx
  40.    mov cl,byte [ebx]
  41.    mov edi,0x3000+(640*400*3)+(16*20*20*3)+512
  42.    push eax
  43.    call unpakin
  44.    pop eax
  45.    mov ecx,20*20
  46.    mov esi,0x3000+(640*400*3)+(16*20*20*3)+512
  47.    mov edi,[number_sprite]
  48.    imul edi,3*20*20
  49.    add edi,0x3000+(640*400*3)
  50.    un:
  51.       xor ebx,ebx
  52.       mov bl,byte[esi]
  53.       lea ebx,[ebx+ebx*2]
  54.       add ebx,0x3000+(640*400*3)+(16*20*20*3)+10
  55.       mov edx,[ebx]
  56.       mov [edi],edx
  57.       add esi,1
  58.       add edi,3
  59.       sub ecx,1
  60.    jnz un
  61.    add [number_sprite],1
  62.    add eax,1
  63.    cmp [number_sprite],10;total number of pictures equal 10
  64.    jne nextfile
  65. ;--------------------------------------------------------
  66.    mov [total_time],0
  67.    mov [phas],0
  68.    mov [x],100
  69.    mov [y],100
  70. animation:
  71.    call clock
  72.    mov eax,[time]
  73.    sub eax,[old_time]
  74.    cmp eax,5
  75.    jl next_action
  76.    mov eax,[time]
  77.    mov [old_time],eax
  78.    mov eax,[phas]
  79.    mov [black],eax
  80.    mov [phas],15
  81.    call PutSprite
  82.    call putimage
  83.    mov eax,5
  84.    mov ebx,2
  85.    mcall
  86.    mov eax,[black]
  87.    mov [phas],eax
  88.    call PutSprite
  89.    call putimage
  90.    call print_pos
  91.    add [frames],2
  92. next_action:
  93.          call clock
  94.          mov eax,[time]
  95.          sub eax,[old_frame_time]
  96.          cmp eax,100
  97.          jl no_frames
  98.          mov eax,[time]
  99.          mov [old_frame_time],eax
  100.          mov eax,13
  101.          mov ebx,420*65536+30
  102.          mov ecx,425*65536+15
  103.          mov edx,0xffffff
  104.          mcall
  105.          mov eax,47
  106.          mov ebx,3*65536
  107.          mov ecx,[frames]
  108.          mov edx,425*65536+427
  109.          mov esi,0
  110.          mcall
  111.          mov [frames],0
  112. no_frames:
  113.          ;----------------------
  114.          mov ebx,20
  115.          mov eax,[x]
  116.          cdq
  117.          idiv ebx
  118.          mov ecx,eax
  119.          mov eax,[y]
  120.          cdq
  121.          idiv ebx
  122.          imul eax,32
  123.          add eax,ecx
  124.          add eax,0x3000+(640*400*3)+(16*20*20*3)+512
  125.          xor ebx,ebx
  126.          mov bl,byte [phas]
  127.          mov [eax],bl;write number of shablon to the map-array
  128.          ;-----------------------
  129.          ;mov eax,11
  130.          ;mcall
  131.          mov eax,23
  132.          mov ebx,2
  133.          mcall
  134.          cmp eax,2
  135.          jne animation
  136.          mov eax,2
  137.          mcall
  138.          shr eax,8
  139.          cmp eax,32
  140.          jne key2
  141.          add [phas],1
  142.          cmp [phas],10
  143.          jne animation
  144.          mov [phas],0
  145.          jmp animation
  146.     key2:cmp eax,176
  147.          jne key3
  148.          sub [x],20
  149.          jmp animation
  150.     key3:cmp eax,179
  151.          jne key4
  152.          add [x],20
  153.          jmp animation
  154.     key4:cmp eax,178
  155.          jne key5
  156.          sub [y],20
  157.          jmp animation
  158.     key5:cmp eax,177
  159.          jne key6
  160.          add [y],20
  161.          jmp animation
  162.     key6: cmp eax,51
  163.          jne key7
  164.          call save_level
  165.          jmp animation
  166.     key7:cmp eax,50
  167.          jne key8
  168.           call load_level
  169.          jmp animation
  170.     key8:cmp eax,27
  171.          jne animation
  172.          mov eax,-1
  173.          mcall
  174. ;-------------------------------------------
  175. drawwin:
  176.  mov eax,12
  177.         mov ebx,1
  178.         mcall
  179.         ;рисуем окно задавая все необходимые цвета
  180.         mov eax,0
  181.         mov ebx,50*65536+640
  182.         mov ecx,50*65536+450
  183.         mov edx,0x02AABBCC
  184.         mov esi,0x805080d0
  185.         mov edi,0x005080d0
  186.         mcall
  187.         ;пишем заголовок окна
  188.         mov eax,4
  189.         mov ebx,5*65536+5
  190.         mov ecx,0x10ddeeff
  191.         mov edx,name
  192.         mov esi,7
  193.         mcall
  194.         ;рисуем кнопку закрытия окна
  195.         mov eax,8
  196.         mov ebx,(640-19)*65536+12
  197.         mov ecx,5*65536+12
  198.         mov edx,1
  199.         mov esi,0x6688dd
  200.         mcall
  201.         ret
  202. ;----------------------------------------------------------
  203. counter     dd 0
  204. ;----------------------------------------------------
  205. ;draw sprite in video memory
  206. PutSprite:
  207.         mov ebx,[x]
  208.         imul ebx,3
  209.         mov eax,[y]
  210.         imul eax,640*3
  211.         add eax,0x3000
  212.         add eax,ebx
  213.         cld
  214.         mov [counter],20
  215.         mov esi,[phas]
  216.         imul esi,1200
  217.         add esi,0x3000+(640*400*3)
  218.         mov ebx,esi
  219.    draw:
  220.         mov esi,ebx
  221.         mov edi,eax
  222.         mov ecx,20*3
  223.         rep movsb
  224.         add eax,640*3
  225.         add ebx,3*20
  226.         dec [counter]
  227.         jnz draw
  228.       ret
  229. ;-------------------------------------------------------------------------
  230. ;get time in 1/100 sec
  231. clock:  mov eax,26
  232.         mov ebx,9
  233.         mcall
  234.         mov [time],eax
  235.         ret
  236. ;---------------------------------------------------------
  237. putimage:
  238.          mov eax,7
  239.          mov ebx,0x3000
  240.          mov ecx,640*65536+400
  241.          mov edx,1*65536+20
  242.          mcall
  243.          ret
  244. ;---------------------------------------------------------
  245. print_pos:mov eax,13
  246.           mov ebx,490*65536+60
  247.           mov ecx,425*65536+15
  248.           mov edx,0xffffff
  249.           mcall
  250.           mov eax,47
  251.           mov ebx,3*65536
  252.           mov ecx,[x]
  253.           mov edx,495*65536+430
  254.           mov esi,0
  255.           mcall
  256.           mov eax,47
  257.           mov ebx,3*65536
  258.           mov ecx,[y]
  259.           mov edx,530*65536+430
  260.           mov esi,0
  261.           mcall
  262.           ret
  263. ;-----------------------------------------------------------
  264. ;-------------------------load files------------------------
  265. ;-----------------------------------------------------------
  266. loadfile:
  267.          ;куда записывать первый блок
  268.          mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
  269.          ;загружаем первый блок для того чтобы узнат размер файла
  270.          mov eax,58
  271.          mov ebx,file_read
  272.          mcall
  273.          ;вычисляем сколько блоков по 512 байт нужно использовать
  274.          ;для загрузки файла
  275.          mov ecx,ebx
  276.          shr ecx,9
  277.          add ecx,1
  278.          ;записываем адрес куда нужно записать первый блок
  279.          mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
  280.    ;заносим в структуру file_read номер блока с которого нужно загружать файл
  281.          mov [file_read+4],dword 0
  282.          ;заносим в структуру file_read число блоков которые нужно загрузить
  283.          mov [file_read+8],ecx
  284.          ;загружаем блок
  285.          mov eax,58
  286.          mov ebx,file_read
  287.          mcall
  288.          cmp eax,0
  289.          jne scock2
  290.          mov esi,0x3000+(640*400*3)+(16*20*20*3)
  291.          mov ecx,[esi+8]
  292.          add esi,60
  293.          mov edi,0x3000+(640*400*3)+(16*20*20*3)+512
  294.          call unpakin
  295.          mov [addr_palitra],dword 0x3000+(640*400*3)+(16*20*20*3)+10
  296.          mov ecx,400
  297.          mov esi,0x3000+(640*400*3)+(16*20*20*3)+512
  298.          mov edi,[number_sprite]
  299.          imul edi,3*20*20
  300.          add edi,0x3000+(640*400*3)
  301.     unp:
  302.         xor eax,eax
  303.         mov al,byte[esi]
  304.         imul eax,3
  305.         add eax,[addr_palitra]
  306.         mov ebx,[eax]
  307.         and ebx,0xffffff
  308.         mov [edi],ebx
  309.         add esi,1
  310.         add edi,3
  311.         sub ecx,1
  312.         jnz unp
  313.   scock2:
  314.          ret
  315. ;---------------------------------------------------------------------------
  316. ;-----------------save level in file----------------------------------------
  317. ;---------------------------------------------------------------------------
  318. save_level:
  319.            call input_path
  320.            xor ebx,ebx
  321.   copy_path:
  322.            xor eax,eax
  323.            mov al,byte [string+ebx]
  324.            cmp al,13
  325.            je end_copy
  326.            mov [file_write+20+ebx],eax
  327.            add ebx,1
  328.            jmp copy_path
  329.    end_copy:
  330.            mov esi,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
  331.            mov edi,0x3000+(640*400*3)+(16*20*20*3);0x1000
  332.            mov ecx,32*20
  333.            call save_image
  334.            mov eax,[SizeFile]
  335.            mov [file_write+8],eax
  336.            mov [file_write+12],dword 0x3000+(640*400*3)+(16*20*20*3);+(0x1000)
  337.            mov eax,58
  338.            mov ebx,file_write
  339.            mcall
  340.            cmp eax,0
  341.            jne scok
  342.            xor esi,esi
  343.            mov eax,55
  344.            mov ebx,eax
  345.            mov esi,sound
  346.            mcall
  347.        scok:
  348.           ret
  349. ;-----------------------------------------------------------------------------
  350. ;-----------------load level to memory----------------------------------------
  351. ;-----------------------------------------------------------------------------
  352. load_level:
  353.            call input_path
  354.            xor ebx,ebx
  355.  copy_load:xor eax,eax
  356.            mov al,byte [string+ebx]
  357.            cmp al,13
  358.            je end_load
  359.            mov [file_read+20+ebx],eax
  360.            add ebx,1
  361.            jmp copy_load
  362.   end_load:
  363.            mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3)
  364.            mov eax,58
  365.            mov ebx,file_read
  366.            mcall
  367.            mov ecx,ebx
  368.            shr ebx,9
  369.            add ebx,1
  370.            mov [file_read+8],ebx
  371.            mov eax,58
  372.            mov ebx,file_read
  373.            mcall
  374.            cmp eax,0
  375.            jne nosound
  376.            mov esi,0x3000+(640*400*3)+(16*20*20*3)
  377.            mov edi,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
  378.            call unpakin
  379.            xor esi,esi
  380.            mov eax,55
  381.            mov ebx,55
  382.            mov esi,sound
  383.            mcall
  384.            xor esi,esi
  385.            mov [x_l],0
  386.            mov [y_l],0
  387.        c_y:
  388.            mov [x_l],0
  389.        c_x:
  390.            mov eax,[x_l]
  391.            mov ebx,[y_l]
  392.            imul ebx,32
  393.            add eax,ebx
  394.            add eax,0x3000+(640*400*3)+(16*20*20*3)+512;0x1000+0x1000
  395.            mov ecx,eax
  396.            xor eax,eax
  397.            mov al,byte [ecx]
  398.            imul eax,1200
  399.            add eax,0x3000+(640*400*3)
  400.            mov ebx,[x_l]
  401.            imul ebx,20*3
  402.            mov ecx,[y_l]
  403.            imul ecx,20*3*640
  404.            add ebx,ecx
  405.            add ebx,0x3000
  406.            mov esi,eax
  407.            mov edi,ebx
  408.            ;----------------------------
  409.            xor edx,edx
  410.   next_line:
  411.            mov esi,eax
  412.            mov edi,ebx
  413.            mov ecx,60
  414.            rep movsb
  415.            add edx,1
  416.            add eax,20*3
  417.            add ebx,(640*3)
  418.            cmp edx,20
  419.            jne next_line
  420.            ;----------------------------
  421.            add [x_l],1
  422.            cmp [x_l],32
  423.            jne c_x
  424.            add [y_l],1
  425.            cmp [y_l],20
  426.            jne c_y
  427.     nosound:
  428.            jmp animation
  429. ;-----------------------------------------------------------------------------
  430. input_path:
  431.             mov [position],byte -1
  432.             call print_line
  433.             mov eax,13
  434.             mov ebx,25*65536+6
  435.             mov ecx,433*65536+12
  436.             mov edx,0xff6c58
  437.             mcall
  438.       opros:mov eax,10
  439.             mcall
  440.             cmp eax,2
  441.             jne opros
  442.             mov eax,2
  443.             mcall
  444.             shr eax,8
  445.             cmp eax,13
  446.             je exit_cycle
  447.             cmp eax,8
  448.             je backspace
  449.             cmp eax,176
  450.             je left
  451.             cmp eax,179
  452.             je right
  453.             cmp eax,32
  454.             je probel
  455.             add [position],1
  456.             xor ebx,ebx
  457.             mov bl,[position]
  458.             mov [string+ebx],byte al
  459.             call print_line
  460.             call print_cursor
  461.             jmp  opros
  462.   backspace:xor ebx,ebx
  463.             mov bl,[position]
  464.             mov [string+ebx],byte ' '
  465.             sub [position],1
  466.             call print_line
  467.             call print_cursor
  468.             jmp opros
  469.        left:sub [position],1
  470.             call print_line
  471.             call print_cursor
  472.             jmp opros
  473.       right:add [position],1
  474.             call print_line
  475.             call print_cursor
  476.             jmp opros
  477.      probel:add [position],1
  478.              call print_line
  479.              call print_cursor
  480.             jmp opros
  481.  exit_cycle:add [position],1
  482.              xor ebx,ebx
  483.              mov bl,[position]
  484.              mov [string+ebx],byte 13
  485.              mov eax,13
  486.              mov ebx,20*65536+(64*6)+5
  487.              mov ecx,430*65536+15
  488.              mov edx,0xffffff
  489.              mcall
  490.             ret
  491. ;---------------------------------------------------------------
  492. print_line:
  493.              mov eax,13
  494.              mov ebx,20*65536+(64*6)+5
  495.              mov ecx,430*65536+15
  496.              mov edx,0xffffff
  497.              mcall
  498.              mov eax,4
  499.              mov ebx,25*65536+435
  500.              mov ecx,0x1
  501.              mov edx,string
  502.              mov esi,64
  503.              mcall
  504.              ret
  505. print_cursor:
  506.              mov eax,13
  507.              xor ebx,ebx
  508.              mov bl,[position]
  509.              imul ebx,6
  510.              add ebx,25+6
  511.              shl ebx,16
  512.              add ebx,6
  513.              mov ecx,433*65536+12
  514.              mov edx,0xff6c58
  515.              mcall
  516.              ret
  517. ;------------------------------------------------------------------------
  518. string:
  519.        db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  520.        db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  521. position        db 0
  522. total_time      dd 0
  523. time            dd 0
  524. old_time        dd 0
  525. frame           dd 0
  526. addr_palitra    dd 0
  527. ;addr_array      dd 0
  528. number_sprite   dd 0
  529. offs            dd 0
  530. phas            dd 0
  531. black           dd 0
  532. x               dd 0
  533. y               dd 0
  534. x_l             dd 0
  535. y_l             dd 0
  536. name      db 'testfps'
  537. frames          dd 0
  538. old_frame_time  dd 0
  539. sound     db 0x90,0x30,0
  540. file_read:
  541.        dd 0
  542.        dd 0
  543.        dd 1
  544.        dd 0
  545.        dd 0x3000
  546.        db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  547. file_write:
  548.         dd 1
  549.         dd 0
  550.         dd 0
  551.         dd 0
  552.         dd 0x3000
  553.         db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  554. water:
  555. db 247,0,0,0,0,0,255,0
  556.  
  557. db 0,128,0,255,128,0,128,255
  558.  
  559. db 0,255,0,0,255,255,0,0
  560.  
  561. db 0,0,0,0,0,0,0,0
  562.  
  563. db 0,0,0,0,0,0,0,0
  564.  
  565. db 0,0,0,0,0,0,0,0
  566.  
  567. db 0,0,7,0,2,1,19,2
  568.  
  569. db 1,2,1,2,17,2,1,18
  570.  
  571. db 35,49,19,2,49,2,17,2
  572.  
  573. db 17,3,6,5,19,2,19,17
  574.  
  575. db 18,35,18,1,2,51,5,1
  576.  
  577. db 2,5,3,6,18,1,19,5
  578.  
  579. db 3,17,2,19,6,5,19,6
  580.  
  581. db 1,3,33,19,6,3,5,3
  582.  
  583. db 2,17,51,2,1,19,18,3
  584.  
  585. db 6,67,18,1,2,3,5,35
  586.  
  587. db 1,2,17,19,5,6,5,6
  588.  
  589. db 3,1,18,51,2,3,18,3
  590.  
  591. db 6,3,5,6,19,5,19,1
  592.  
  593. db 19,33,18,1,18,3,6,3
  594.  
  595. db 6,67,1,2,1,2,65,2
  596.  
  597. db 1,19,5,3,21,3,17,34
  598.  
  599. db 1,66,1,18,67,2,17,2
  600.  
  601. db 33,2,1,18,1,2,1,34
  602.  
  603. db 1,2,1,18,1,18,17,2
  604.  
  605. db 33,34,17,50,17,2,17,66
  606.  
  607. db 1,2,1,19,5,3,2,17
  608.  
  609. db 2,17,50,17,34,19,6,3
  610.  
  611. db 6,19,1,2,65,19,6,3
  612.  
  613. db 17,3,5,19,5,35,18,17
  614.  
  615. db 3,6,3,5,19,18,3,6
  616.  
  617. db 5,19,5,19,18,17,3,21
  618.  
  619. db 3,21,2,1,35,21,19,17
  620.  
  621. db 2,1,2,3,6,3,6,5
  622.  
  623. db 3,1,18,1,35,2,17,50
  624.  
  625. db 1,3,5,6,35,1,2,1
  626.  
  627. db 2,1,2,17,2,17,2,17
  628.  
  629. db 2,51,16
  630. voda1:
  631. db 137,0,0,0,0,255,255,0
  632.  
  633. db 255,128,0,0,0,0,0,0
  634.  
  635. db 0,0,0,0,0,0,0,0
  636.  
  637. db 0,0,0,0,0,0,0,0
  638.  
  639. db 0,0,0,0,0,0,0,0
  640.  
  641. db 0,0,0,0,0,0,0,0
  642.  
  643. db 0,0,3,0,2,17,18,17
  644.  
  645. db 18,65,18,17,2,33,2,97
  646.  
  647. db 2,1,2,33,18,17,18,49
  648.  
  649. db 18,65,2,65,18,17,2,17
  650.  
  651. db 2,33,18,33,2,113,18,17
  652.  
  653. db 18,17,2,49,18,17,18,145
  654.  
  655. db 34,33,18,49,18,17,18,145
  656.  
  657. db 2,65,2,65,18,17,18,17
  658.  
  659. db 2,17,34,49,18,97,2,113
  660.  
  661. db 2,49,18,1,2,49,2,1
  662.  
  663. db 18,17,2,1,34,65,2,97
  664.  
  665. db 2,113,2,65,18,17,2,49
  666.  
  667. db 18,1,2,33,18,1,2,81
  668.  
  669. db 18,193,18,81,18,17,18,129
  670.  
  671. db 18,145,18,1,2,81,34,17
  672.  
  673. db 18,65,34,1,18,145,2,129
  674.  
  675. db 18,49,18,33,2,33,34,81
  676.  
  677. db 18,97,2,1,16
  678. trava:
  679. db 214,0,0,0,0,0,255,0
  680.  
  681. db 0,128,0,0,0,0,0,0
  682.  
  683. db 0,0,0,0,0,0,0,0
  684.  
  685. db 0,0,0,0,0,0,0,0
  686.  
  687. db 0,0,0,0,0,0,0,0
  688.  
  689. db 0,0,0,0,0,0,0,0
  690.  
  691. db 0,0,3,0,2,33,2,1
  692.  
  693. db 2,1,2,17,2,1,34,17
  694.  
  695. db 18,1,18,1,2,49,2,17
  696.  
  697. db 2,33,2,1,2,33,2,17
  698.  
  699. db 34,17,18,1,2,1,18,33
  700.  
  701. db 2,17,34,17,18,33,18,17
  702.  
  703. db 50,97,2,33,2,33,18,1
  704.  
  705. db 18,17,50,1,2,1,50,1
  706.  
  707. db 18,65,2,33,18,1,18,17
  708.  
  709. db 18,17,82,33,2,1,2,1
  710.  
  711. db 2,33,2,49,18,1,18,1
  712.  
  713. db 2,1,2,33,2,17,2,1
  714.  
  715. db 2,65,2,1,18,1,2,17
  716.  
  717. db 2,17,34,1,66,1,18,17
  718.  
  719. db 2,17,2,17,2,33,2,1
  720.  
  721. db 18,1,2,1,34,1,2,1
  722.  
  723. db 18,1,18,17,2,33,34,17
  724.  
  725. db 50,17,2,17,66,1,2,17
  726.  
  727. db 2,17,2,17,2,17,50,17
  728.  
  729. db 50,1,34,33,2,81,2,49
  730.  
  731. db 2,33,34,1,18,33,18,1
  732.  
  733. db 66,33,2,1,50,17,2,1
  734.  
  735. db 2,1,2,1,2,49,34,33
  736.  
  737. db 2,1,18,1,18,33,18,1
  738.  
  739. db 2,17,2,17,50,17,2,1
  740.  
  741. db 2,1,2,1,2,1,2,1
  742.  
  743. db 2,17,2,17,2,17,18,17
  744.  
  745. db 2,16
  746. sten3:
  747. db 104,0,0,0,0,128,128,128
  748.  
  749. db 192,192,192,0,0,0,0,0
  750.  
  751. db 0,0,0,0,0,0,0,0
  752.  
  753. db 0,0,0,0,0,0,0,0
  754.  
  755. db 0,0,0,0,0,0,0,0
  756.  
  757. db 0,0,0,0,0,0,0,0
  758.  
  759. db 0,0,3,0,226,66,65,2
  760.  
  761. db 81,2,65,2,81,2,81,2
  762.  
  763. db 65,2,81,2,81,2,65,2
  764.  
  765. db 1,226,66,33,2,81,2,81
  766.  
  767. db 2,65,2,81,2,81,2,65
  768.  
  769. db 2,81,2,81,2,17,226,66
  770.  
  771. db 1,2,81,2,81,2,65,2
  772.  
  773. db 81,2,81,2,65,2,81,2
  774.  
  775. db 81,2,49,226,66,65,2,97
  776.  
  777. db 2,65,2,65,2,97,2,65
  778.  
  779. db 2,65,2,97,2,65,226,82
  780.  
  781. db 33,2,81,2,81,2,65,2
  782.  
  783. db 81,2,81,2,65,2,81,2
  784.  
  785. db 81,2,17,16
  786. sten1:
  787. db 111,0,0,0,0,128,128,128
  788.  
  789. db 192,192,192,0,0,255,255,255
  790.  
  791. db 255,64,128,255,0,0,0,0
  792.  
  793. db 0,0,0,0,0,0,0,0
  794.  
  795. db 0,0,0,0,0,0,0,0
  796.  
  797. db 0,0,0,0,0,0,0,0
  798.  
  799. db 0,0,6,0,227,67,53,3
  800.  
  801. db 133,3,69,34,5,3,5,98
  802.  
  803. db 5,3,5,98,5,3,5,98
  804.  
  805. db 5,3,5,50,53,3,133,3
  806.  
  807. db 69,227,67,133,3,133,3,114
  808.  
  809. db 5,3,5,98,5,3,114,5
  810.  
  811. db 3,5,98,5,3,133,3,133
  812.  
  813. db 227,83,69,3,133,3,53,50
  814.  
  815. db 5,3,5,98,5,3,5,98
  816.  
  817. db 5,3,5,98,5,3,5,34
  818.  
  819. db 69,3,133,3,53,227,67,101
  820.  
  821. db 3,133,3,21,82,5,3,5
  822.  
  823. db 98,5,3,5,98,5,3,5
  824.  
  825. db 98,5,3,5,2,101,3,133
  826.  
  827. db 3,21,16
  828. pesok:
  829. db 120,0,0,0,0,0,255,255
  830.  
  831. db 0,64,128,0,128,128,64,128
  832.  
  833. db 128,64,128,255,0,0,0,0
  834.  
  835. db 0,0,0,0,0,0,0,0
  836.  
  837. db 0,0,0,0,0,0,0,0
  838.  
  839. db 0,0,0,0,0,0,0,0
  840.  
  841. db 0,0,6,0,225,81,2,33
  842.  
  843. db 2,65,2,3,33,2,1,5
  844.  
  845. db 49,5,49,2,129,3,225,97
  846.  
  847. db 3,17,2,33,2,1,5,33
  848.  
  849. db 2,1,5,129,5,65,2,65
  850.  
  851. db 2,225,97,2,33,3,17,2
  852.  
  853. db 49,3,145,2,177,3,49,5
  854.  
  855. db 81,5,1,2,33,2,65,3
  856.  
  857. db 17,2,17,3,145,2,209,3
  858.  
  859. db 81,2,49,5,33,2,177,3
  860.  
  861. db 145,2,17,2,5,113,2,225
  862.  
  863. db 1,2,33,3,17,3,49,3
  864.  
  865. db 17,3,161,2,1,5,97,2
  866.  
  867. db 177,2,49,2,33,5,33,2
  868.  
  869. db 193,2,49,3,33,2,81,3
  870.  
  871. db 1,5,1,16
  872. palma:
  873. db 209,0,0,0,0,0,255,0
  874.  
  875. db 0,128,0,0,255,255,64,128
  876.  
  877. db 128,64,128,255,0,0,0,0
  878.  
  879. db 0,0,0,0,0,0,0,0
  880.  
  881. db 0,0,0,0,0,0,0,0
  882.  
  883. db 0,0,0,0,0,0,0,0
  884.  
  885. db 0,0,6,0,2,33,2,1
  886.  
  887. db 2,1,2,17,2,1,34,17
  888.  
  889. db 18,1,18,1,51,1,2,17
  890.  
  891. db 2,1,35,1,2,33,115,2
  892.  
  893. db 51,21,19,1,2,35,69,35
  894.  
  895. db 53,35,18,3,21,67,5,3
  896.  
  897. db 21,19,1,18,19,2,5,3
  898.  
  899. db 50,1,3,5,3,5,67,17
  900.  
  901. db 3,1,19,17,67,5,99,34
  902.  
  903. db 3,2,35,5,3,5,3,5
  904.  
  905. db 3,5,3,5,35,1,18,1
  906.  
  907. db 2,19,5,35,5,3,5,35
  908.  
  909. db 21,19,33,19,5,35,5,35
  910.  
  911. db 5,51,5,3,34,35,17,51
  912.  
  913. db 20,3,5,35,5,3,2,1
  914.  
  915. db 35,18,3,5,3,36,5,19
  916.  
  917. db 1,35,1,18,3,17,2,3
  918.  
  919. db 2,52,35,50,1,2,17,2
  920.  
  921. db 17,2,1,52,3,34,17,50
  922.  
  923. db 1,34,33,36,49,2,49,2
  924.  
  925. db 33,34,1,36,17,18,1,66
  926.  
  927. db 33,2,1,2,1,36,1,2
  928.  
  929. db 1,2,1,2,1,2,49,66
  930.  
  931. db 36,18,1,18,33,18,1,2
  932.  
  933. db 17,84,2,17,2,1,2,1
  934.  
  935. db 2,1,2,1,2,1,84,2
  936.  
  937. db 17,18,17,2,16
  938. kamni:
  939. db 210,0,0,0,0,0,255,0
  940.  
  941. db 0,128,0,64,128,255,64,128
  942.  
  943. db 128,0,0,0,0,0,0,0
  944.  
  945. db 0,0,0,0,0,0,0,0
  946.  
  947. db 0,0,0,0,0,0,0,0
  948.  
  949. db 0,0,0,0,0,0,0,0
  950.  
  951. db 0,0,5,0,2,33,2,1
  952.  
  953. db 2,35,1,2,1,34,17,18
  954.  
  955. db 1,18,1,2,17,51,1,2
  956.  
  957. db 33,2,1,2,33,2,1,67
  958.  
  959. db 4,3,2,1,2,1,18,33
  960.  
  961. db 2,17,2,83,4,17,18,17
  962.  
  963. db 50,17,131,2,33,18,1,18
  964.  
  965. db 17,83,20,3,18,1,18,65
  966.  
  967. db 2,67,4,19,4,3,18,17
  968.  
  969. db 82,99,4,35,2,49,18,1
  970.  
  971. db 18,1,2,1,2,17,35,4
  972.  
  973. db 2,1,2,65,2,1,18,1
  974.  
  975. db 2,17,2,17,34,1,66,1
  976.  
  977. db 18,17,2,17,2,17,2,33
  978.  
  979. db 2,1,18,1,2,1,2,19
  980.  
  981. db 1,2,1,18,1,18,19,2
  982.  
  983. db 33,18,35,4,3,18,17,2
  984.  
  985. db 1,67,2,1,2,99,1,2
  986.  
  987. db 17,2,35,4,3,34,35,4
  988.  
  989. db 3,4,3,1,2,17,83,1
  990.  
  991. db 67,20,19,4,3,2,17,51
  992.  
  993. db 4,115,4,35,2,1,83,4
  994.  
  995. db 67,34,33,2,35,1,3,4
  996.  
  997. db 19,1,18,1,2,17,2,17
  998.  
  999. db 50,17,2,1,2,1,2,1
  1000.  
  1001. db 2,1,2,1,2,17,2,17
  1002.  
  1003. db 2,17,18,17,2,16
  1004. drevo:
  1005. db 240,0,0,0,0,0,255,0
  1006.  
  1007. db 0,128,0,255,0,128,0,64
  1008.  
  1009. db 128,64,128,128,128,0,128,255
  1010.  
  1011. db 128,128,0,0,0,0,0,0
  1012.  
  1013. db 0,0,0,0,0,0,0,0
  1014.  
  1015. db 0,0,0,0,0,0,0,0
  1016.  
  1017. db 0,0,8,0,2,33,2,1
  1018.  
  1019. db 2,19,1,35,34,17,18,1
  1020.  
  1021. db 18,1,2,17,3,38,7,22
  1022.  
  1023. db 3,1,2,1,2,33,2,1
  1024.  
  1025. db 19,7,6,23,6,23,3,6
  1026.  
  1027. db 18,33,2,17,2,3,7,19
  1028.  
  1029. db 6,3,54,7,19,50,33,3
  1030.  
  1031. db 22,7,6,3,6,7,22,3
  1032.  
  1033. db 23,2,1,18,17,22,7,6
  1034.  
  1035. db 7,3,7,3,7,22,7,6
  1036.  
  1037. db 35,17,35,54,55,6,23,22
  1038.  
  1039. db 19,18,19,7,3,7,6,7
  1040.  
  1041. db 22,7,3,22,3,22,7,3
  1042.  
  1043. db 18,19,23,3,182,3,33,3
  1044.  
  1045. db 22,3,7,6,7,6,7,22
  1046.  
  1047. db 7,6,7,22,3,34,7,22
  1048.  
  1049. db 7,22,3,39,38,7,6,7
  1050.  
  1051. db 19,2,1,3,7,6,23,38
  1052.  
  1053. db 7,38,39,6,7,3,1,2
  1054.  
  1055. db 19,54,3,38,3,70,3,2
  1056.  
  1057. db 1,2,1,3,7,6,7,19
  1058.  
  1059. db 4,5,4,19,6,7,6,3
  1060.  
  1061. db 1,50,1,34,3,1,36,17
  1062.  
  1063. db 3,22,2,49,2,33,34,21
  1064.  
  1065. db 4,33,18,1,66,33,2,1
  1066.  
  1067. db 52,17,2,1,2,1,2,1
  1068.  
  1069. db 2,49,18,20,5,4,5,4
  1070.  
  1071. db 18,1,18,33,18,1,2,1
  1072.  
  1073. db 132,1,2,1,2,1,2,1
  1074.  
  1075. db 2,1,36,5,20,5,4,21
  1076.  
  1077. db 36,17,2,16
  1078. baza1:
  1079. db 192,0,0,0,0,0,255,0
  1080.  
  1081. db 0,128,0,255,0,128,255,128
  1082.  
  1083. db 128,255,0,0,255,128,0,255
  1084.  
  1085. db 255,0,128,0,255,0,0,255
  1086.  
  1087. db 0,255,255,0,0,0,0,0
  1088.  
  1089. db 0,0,0,0,0,0,0,0
  1090.  
  1091. db 0,0,11,0,2,33,2,1
  1092.  
  1093. db 2,1,2,17,2,1,34,17
  1094.  
  1095. db 18,1,18,1,2,49,2,17
  1096.  
  1097. db 2,33,2,1,2,17,232,9
  1098.  
  1099. db 4,17,2,8,201,8,3,9
  1100.  
  1101. db 4,2,1,8,41,150,8,19
  1102.  
  1103. db 9,2,1,57,6,101,7,6
  1104.  
  1105. db 8,3,10,3,9,2,8,41
  1106.  
  1107. db 6,5,84,7,6,8,35,9
  1108.  
  1109. db 2,8,41,6,5,84,7,6
  1110.  
  1111. db 8,35,9,2,8,41,6,5
  1112.  
  1113. db 84,7,6,8,3,21,9,1
  1114.  
  1115. db 8,41,6,5,84,7,6,8
  1116.  
  1117. db 3,21,9,2,8,41,6,5
  1118.  
  1119. db 84,7,6,8,35,9,2,8
  1120.  
  1121. db 41,6,5,103,6,8,3,10
  1122.  
  1123. db 3,9,1,8,57,134,8,35
  1124.  
  1125. db 9,1,8,201,8,3,10,3
  1126.  
  1127. db 9,2,232,35,9,2,9,131
  1128.  
  1129. db 10,19,10,3,9,4,3,9
  1130.  
  1131. db 1,2,25,19,22,131,9,4
  1132.  
  1133. db 9,33,9,35,22,131,25,1
  1134.  
  1135. db 18,1,233,9,2,1,2,1
  1136.  
  1137. db 2,1,2,17,2,17,2,17
  1138.  
  1139. db 18,17,2,16
  1140. spisok:
  1141.    dd sten1
  1142.    dd sten3
  1143.    dd trava
  1144.    dd kamni
  1145.    dd palma
  1146.    dd water
  1147.    dd voda1
  1148.    dd baza1
  1149.    dd drevo
  1150.    dd pesok
  1151. I_END: