Уважаемые! подскажите сколько кушают такие процедуры?
понятно как напишешь так и будет,но кто писал отклинетесь плз. помнться в арт студио это очень медленно делалось.Стоит ли заморачиваться если спрайт 5х5 зн.мест:v2_conf3:
Вид для печати
Уважаемые! подскажите сколько кушают такие процедуры?
понятно как напишешь так и будет,но кто писал отклинетесь плз. помнться в арт студио это очень медленно делалось.Стоит ли заморачиваться если спрайт 5х5 зн.мест:v2_conf3:
Зеркальное очень медленно. Автомаску не делал, хотя, кажется, видел что-то где-то - но это факт непроверенный и потому бесполезный! Большинство быстрых процедур рассчитано на 2x2-спрайты. Блоки по 5 в квадрате уже подразумевают цикл, а это, в свою очередь, скорость стратегий (желательно - походовых), в аркадах с кучей подвижного на экране трудновыполнимо. Или развернуть эти циклы на килобайты кода, что симметрично снижает разнообразие в продукте за счет скушанной памяти.
256-байтными табличками делать (т.е. для любого байта уже расчитано новое значение)
таблички - как для зеркалки, так и для маски.
што то туплю поясни плиз:v2_conf2:
Код:;hl = from_addr ; de = to_addr ; b = table_mirror/256
ld c,(hl)
ld a,(bc)
ld (de),a
inc l
dec e
...
Я делал так:
1. Зеркалка: Табличка для всех 256 значений.
Например такая прога сформирует таблицу с адреса TABMIR:
LD HL,TABMIR; кратный 256 адрес
MT1 LD A,L
DUP 8
RLA
RR (HL)
ENDD
INC L
JR NZ,MT1
RET
А пользоватся так:
LD L,байт который надо отразить
LD H,TABMIR[
LD A,(HL); результат в A
2. Автомаска:
Тут тот-же принцип. Строил две таблички по 256 байт (для левой и для правой сторон).
если познакоместно - то лучше просто повторить код 8 раз подряд (без djnz)
если по линиям спрайта - то принцип см. в теме http://zx.pk.ru/showthread.php?t=8625
В саботерах емнип применили сабж
Автомаска была в CSC:DejaVu
http://zxdocs.fatal.ru/coding/automask.zip