-+++++++++++++++++++++++++++++++++++++++- 
                 КОДИНГ                   
-+++++++++++++++++++++++++++++++++++++++- 
                                          
  Закодено by Sokol/Infotek               
                                          
    Бросаю  сюды  процедуру вывода спрай- 
тов,  с  точностью  до  пиксела от самого 
Славы  Медноногова;  кстати применяемую в 
Чёрном Вороне:                            
                                          
        ;E-маска,D-байт  спрайта, HL- по- 
зиция в экране.                           
                                          
НЕЗ     LD A,E ;вывод маски по AND        
        RRCA                              
        RRCA                              
        RRCA                              
        RRCA                              
        LD C,A                            
        AND #1F                           
        AND (HL)                          
        LD (HL),A                         
        LD A,C                            
        AND #E0                           
        INC L                             
        AND (HL)                          
        LD (HL),A                         
        ;                                 
        LD A,D ;вывод спрайта по OR       
        RRCA                              
        RRCA                              
        RRCA                              
        LD C,A                            
        AND #E0                           
        OR (HL)                           
        LD (HL),A                         
        LD A,C                            
        AND #1F                           
        DEC L                             
        OR (HL)                           
        LD (HL),A                         
                                          
    Пример  взят  из  ЧВ.  Что там было в 
НЛО-2 - я смутно помню :)))               
                                          
    Могу дополнить:                       
    а)  для  скорости  выборка  спрайта - 
стеком  (т.е. этот кусок предваряется POP 
DE).  Соответственно,  спрайт  хранится - 
"байт  маски",  "байт  изображения","байт 
маски",  "байт изображения","байт маски", 
"байт изображения"...                     
    б)  завершается  этот кусок, конечно, 
командами по организации цикла (переходом 
к след. строке экрана).                   
    в)   поэтому  для  унификации  вывода 
спрайты любой ширины хранятся по столбцам 
    г) всего таких п/п - 8 штук. Если не- 
обходимо обрезать спрайты по правой/левой 
границе экрана - будет ещё 8+8 п/п        
    д)  (в примере маска/спрайт выводятся 
по  AND/OR,  однако  на самом деле я в ЧВ 
вывожу по OR/XOR :)))                     
                                          
    Хотелось  бы  узнать (у демомейкеров, 
конечно :) - возможно ли выводить быстре- 
е?  В  голову лезет мысль хранить заранее 
все сдвиги на все байты (получим два бай- 
та),  но  только  табличка  будет 256*8*2 
=8-[ ]                                    
                                          
             (c)Copper Feet   



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
game at GS - A new game, "Frost Byte" under General Sound.
Announcement - What will happen in the next release?
System - Overview of system innovations: FREE FORMAT v8.3, ALASM v2.8, OMEGA COMMANDER v1.5, PERFECT COMMANDER v1.52, F-COMMANDER v4.02, CHEMNEBASE v0.6, SPRITELAND v1.9, MAXSOFT SCREEN PACKERv1.0, ANIMICROPROTECTOR v1.0), MICRO EDITOR, DISK LEVEL, MAY BE MY BANK v5.1, AFRODITA v3.0, FLOOPY FORMAT UTILITY v1.0, DIGITAL STUDIO PLAYER v1.0, PRO TRACKER PLAYERv1.10, UNRECOGNIZED FORMATING OBJECT v1.1, ZX-WINWORD v1.0

В этот день...   13 May