Значок ресурса

ANI Editor

Нет прав на скачивание
Автор: Sam Style
Год: 2006
Издатели: Sam Style
Языки: 🇬🇧 Английский
Формат: 💾 TRD диск
Требования: 🖥️ ZX Spectrum 48K

Ссылки:
Страница на ZXArt
Страница на Virtual TR-DOS
Страница на World Of Spectrum
Страница на Spectrum Computing

Скриншоты:
ANIEditor.gif


-----------------------------


Ôîðìàò ani-ôàéëîâ íà ñïåêå


-------------- - - -





+00 "GIF animation" : ñèãíàòóðà


+13 =0


+14 ðàçìåð ïî X â çíàêîìåñòàõ (1-32)


+15 ðàçìåð ïî Y â ïèêñåëÿõ (1-192)


+16... äàííûå àíèìàöèè (êàäðû)





àíèìàöèÿ ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü êàäðîâ


äëÿ êàæäîãî êàäðà â íà÷àëå ñëåäóþò äâà áàéòà:





+0 äëèòåëüíîñòü êàäðà â 1/50 ñåê


+1 òèï óïàêîâêè êàäðà





åñëè äëèòåëüíîñòü=255 èëè òèï óïàêîâêè íåðàñïîçíàí ïëåéåðîì, òî


ìóëüòèê âîçâðàùàåòñÿ íà ñàìûé ïåðâûé êàäð.





è êîíâåðòåð, è áåòà ðåäàêòîðà âûáèðàþò íàèëó÷øèé ìåòîä óïàêîâêè


èç 9 èìåþùèõñÿ (ïî ìåòîäó ñæàòèÿ èçîáðàæåíèÿ)





---- òèï 0





ýòî íåóïàêîâàíûé ñïðàéò â ëèíåéíîì ôîðìàòå. Áûâàåò, ÷òî êàäð íè â êàêóþ


íè îäíèì äðóãèì ìåòîäîì íå æìåòñÿ.





Ïðè íàëè÷èè öâåòà ñòðîêà àòðèáóòîâ èä¸ò ïîñëå êàæäûõ 8 ñòðîê èçîáðàæåíèÿ





---- òèï 1





âçÿò èç ñòàòüè "Ñæàòèå ãðàôè÷åñêîé èíôîðìàöèè è ÷òî èç ýòîãî ìîæíî ïîëó÷èòü"


(C) Vitamin/CAIG/2001.


Êàäð ðàçáèâàåòñÿ íà çíàêîìåñòà (ðàçìåð ïî Y óâåëè÷èâàåòñÿ äî áëèæàéøåãî êðàòíîãî


8 ÷èñëà). Ðàññìîòðèì óïàêîâêó òàêîãî çíàêîìåñòà:


#55,#ff,#55,#ff,#ff,#ff,#50,#05


íà÷èíÿ ñî âòîðîãî áàéòà äåëàåì XOR'èíã ñ ïðåäûäóùèì:


#55,#aa,#aa,#aa,#00,#00,#af,#55


ñîçäàäèì ôëàãîâûé áàéò - îòìåòèì 0 áàéòû, êîòîðûå ðàâíû ïðåäûäóùåìó, 1 - íåðàâíû.


äëÿ 1ãî áàéòà ïðåäûäóùèì ñ÷èòàåòñÿ 0. Òîëüêî áèòû â îáðàòíîì ïîðÿäêå - ïðàâûé áèò


îòâå÷àåò çà ïåðâûé áàéò. Ïîëó÷èì:


1,1,0,1,0,0,1,1 = #D3


òåïåðü âûâîäèì â ïîòîê ñíà÷àëà ôëàãîâûé áàéò, à ïîòîì - òå áàéòû XOR'èíãà, äëÿ


êîòîðûõ óñòàíîâëåí áèò â ôëàãîâîì áàéòå:


#D3,#55,#AA,#00,#AF,#55


â èòîãå âìåñòî 8 áàéò çíàêîìåñòà ïîëó÷èëè 6 áàéò â óïàêîâàíîì ôîðìàòå.





ðàñïàêîâêà èäåò ïî ñëåäóþùåìó àëãîðèòìó:





byte=0


xorbyte=0


flag=áàéò ôëàãîâ


öèêë 8


RR flag


if carry=1 then áåðåì èç ïîòîêà íîâûé xorbyte


byte=byte xor xorbyte


âûâîä byte íà ýêðàí


êö





Êîëè÷åñòâî óïàêîâàíûõ áëîêîâ, åñòåñòâåííî, ðàâíî ÷èñëó çíàêîìåñò â êàäðå.


Çíàêîìåñòà ïàêóþòñÿ ñëåâà íàïðàâî ñâåðõó âíèç (ò.å ñíà÷àëà ðÿä âåðõíèõ, ïîòîì


ñëåäóþùèé ðÿä, è òàê äî íèçà)





---- òèï 2





î÷åíü ïîõîæ íà òèï 1, íî â áàéòå ôëàãîâ ñáðîøåíû òå áèòû, ñîîòâåòñòâóþùèå


íóëÿì â XOR'èíãå. Ò.å äëÿ ïðèìåðà èç òèïà 1 ôëàãè áóäóò:


1,1,0,0,1,1,1,1 = #CF


è â ïîòîê âûäàñòñÿ


#CF,#55,#aa,#aa,#aa,#af,#55


òóò ïîëó÷èëîñü ÷òî âûèãðûø ìèíèìàëåí, íî ýòî íå çíà÷èò ÷òî îí õóæå òèïà 1





çäåñü ðàñïàêîâêà òàêàÿ:





byte=0


flag=áàéò ôëàãîâ


öèêë 8


RR flag


if carry=1 then byte=byte xor (áàéò èç ïîòîêà)


âûâîä byte íà ýêðàí


êö





---- òèï 3





ýòî òîò æå òèï 1, íî ïîëó÷åíîå çíàêîìåñòî íå âûâîäèòñÿ ïðÿìèêîì íà ýêðàí,


à íàêëàäûâàåòñÿ ïî XOR íà ñîîòâåòñòâóþùåå çíàêîìåñòî ïðåäûäóùåãî êàäðà.





---- òèï 4





àíàëîãè÷íî: êàäð óïàêîâàí òèïîì 2 è ïî XOR íàêëàäûâàåòñÿ íà ïðåäûäóùèé.





Åñëè êàäð ìåíÿåòñÿ íå ñèëüíî, òî â ðåçóëüòàòå åãî XORèíãà ñ ïðåäûäóùèì


êàäðîì ïîëó÷àåòñÿ ìíîãî ïóñòûõ çíàêîìåñò, êîòîðûå ïàêóþòñÿ ëó÷øå âñåãî,


è â ýòîì ñëó÷àå òèï 3 è òèï 4 íà ãîëîâó âûøå îñòàëüíûõ òèïîâ óïàêîâêè.





Òåïåðü î íîâûõ òèïàõ:





---- òèïû 5-9





ýòî ñïðåññîâàíûå òèïû 1-4. Ââîäèòñÿ òàêîå ïîíÿòèå êàê ôëàã 2ãî óðîâíÿ.


áèòû ýòîãî ôëàãà îïðåäåëÿþò ñîñòîÿíèå áàéòîâ ôëàãîâ äëÿ 8 ñëåäóþùèõ


çà íèì çíàêîìåñò. Åñëè áèò=0, òî ôëàã=0 (â ýòîì ñëó÷àå â ïîòîê ïèøåòñÿ


òîëüêî öâåò, äà è òî åñëè îí åñòü), à åñëè=1, òî ôëàã íå íóëåâîé, è áëîê


èä¸ò â ïîòîê ïî ïîëíîé ïðîãðàììå (ôëàã,äàííûå è ìîæåò öâåò)





Íà ïðèìåðå:


äîïóñòèì, óïàêîâàíûé êàäð (äëÿ øèðîòû êðóãîçîðà áóäåò ñ íåóïàêîâàíûì öâåòîì) íà÷èíàåòñÿ òàê...





DB %10010000


DB 1


DB 2


DB 3


DB 4


DB %00100001,#FF,#55,5


DB 6


DB 7


DB %10000000,#77,1





Ïåðâûé áàéò - ôëàã 2ãî óðîâíÿ. Ñìîòðèì çà ñîñòîÿíèåì áèòîâ íà÷èíàÿ ñ íóëåâîãî (ïðàâîãî)


0 - áëîê ïóñòîé (òèïû 5,6) èëè íå ìåíÿåòñÿ (òèïû 7,8)


èç äàííûõ áëîêà â ïîòîêå òîëüêî öâåò (1)


0 - òî æå (öâåò 2)


0 - òî æå (öâåò 3)


0 - òî æå (öâåò 4)


1 - ÀÃÀ! áëîê â ïîòîê âûëîæåí ïîëíîñòüþ


áåðåì ôëàã áëîêà (%00100001) è ñîîòâåòñòâåííî òèïó ðàñïàêîâûâàåì áëîê. öâåò 5


0 - áëîê ïóñòîé. öâåò 6


0 - áëîê ïóñòîé. öâåò 7


1 - ïîëíûé áëîê. (ôëàã %10000000, äàííûå #77, öâåò 1)





Âñ¸, ðàçîáðàëèñü ñ 8 áëîêàìè...


Äàëüøå ñëåäóåò òî æå ñàìîå - ôëàã 2ãî óðîâíÿ è âñ¸ ÷òî ê íåìó ïðèëàãàåòñÿ


Êîíå÷íî, îáùåå ÷èñëî áëîêîâ â êàäðå, íå îáÿçàòåëüíî êðàòíî 8.  òàêèõ ñëó÷àÿõ


íåíóæíûå áèòû ïîñëåäíåãî ôëàãà 2ãî óðîâíÿ íå ó÷èòûâàþòñÿ.





×òî ìû ñ ýòîãî ïîëó÷àåì? Êàæäûé íóëåâîé áàéò ôëàãîâ ñòÿãèâàåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ,


íî ïðè ýòîì êàæäûé íåíóëåâîé ðàñïóõàåò äî 9 áèò. Íàïðèìåð, ïîëíîñòüþ ïóñòîé êàäð áåç öâåòà


óæìåòñÿ â ñòðàøíûå 64 ðàçà (âî-ïåðâûõ ïóñòûå çíàêîìåñòà æìóòñÿ â íóëåâîé ôëàãîâûé áàéò, à


âî âòîðûõ êàæäûé íóëåâîé ôëàãîâûé áàéò æìåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ)





---- òåïåðü ïðî öâåò





Ïîä èíôîðìàöèþ î íàëè÷èè öâåòà è åãî óïàêîâêå (äà, è ýòî òîæå åñòü!) ïåðåäàþò ñòàðøèå áèòû


òèïà êàäðà.





b7 = 0 åñëè öâåòîâîãî ïîòîêà íåò (ò.å îí ïîëíîñòüþ èäåíòè÷åí ïîòîêó ïðåäûäóùåãî êàäðà)


= 1 åñëè îí åñòü


b6 = 0 åñëè öâåò íå êîäèðóåòñÿ (ò.å çà êàæäûì óïàêîâàíûì çíàêîìåñòîì èä¸ò 1 áàéò öâåòà)


= 1 åñëè êîäèðóåòñÿ (ïðîïóñêàþòñÿ çíàêîìåñòà ñ íåèçìåíÿþùèìñÿ öâåòîì)





à òåïåðü ÿ ñêàçàòü ïî áóìàæêà...


ïðè óïàêîâêå öâåòà ââåäåí åùå è êîíòðîëüíûé áàéò äëÿ öâåòà. âåñüìà è î÷åíü ïîõîæ íà


ôëàã 2ãî óðîâíÿ - åñëè â íåì áèò = 0, òî öâåò çíàêîìåñòà íå ïîìåíÿëñÿ ïî îòíîøåíèþ


ê ïðåäûäóùåìó êàäðó è â ïîòîêå îòñóòñòâóåò. À åñëè áèò = 1, òî âñëåä çà çíàêîìåñòîì


èäåò åãî öâåò. Êàê è ôëàã 2ãî óðîâíÿ, ôëàã öâåòà âñòðå÷àåòñÿ êàæäûå 8 çíàêîìåñò.


Åñëè îáà ýòè ôëàãà íàëè÷èñòâóþò (íàïð, òèï 5 ñ óïàêîâàíûì öâåòîì: #Ñ5), òî


ïåðâûì âñåãäà èäåò ôëàã 2ãî óðîâíÿ, à çà íèì - ôëàã öâåòà.





Ïîëíàÿ ñõåìà ïîòîêà êàäðà âðîäå êàê âûãëÿäèò òàê:





[äëèòåëüíîñòü]


[òèï] b0..5-òèï óïàêðâêè b6-öâåò ñïðåññîâàí b7-öâåò ïðèñóòñòâóåò


[ôëàã 2 óðîâíÿ] òîëüêî äëÿ òèïîâ 5-9 (îïðåäåëÿåò íàëè÷èå ïàð [ôëàã][áëîê])


[ôëàã öâåòà] òîëüêî äëÿ ñïðåññîâàíîãî öâåòà (îïðåäåëÿåò íàëè÷èå êîìïîíåíòà [öâåò])


[ôëàã 1][áëîê 1][öâåò 1]


[ôëàã 2][áëîê 2][öâåò 2]


[ôëàã 3][áëîê 3][öâåò 3]


[ôëàã 4][áëîê 4][öâåò 4]


[ôëàã 5][áëîê 5][öâåò 5]


[ôëàã 6][áëîê 6][öâåò 6]


[ôëàã 7][áëîê 7][öâåò 7]


[ôëàã 8][áëîê 8][öâåò 8]


[ôëàã 2 óðîâíÿ]


...





Íó è êàê âñåãäà ïðèîðèòåò â âûáîðå òèïà óïàêîâêè (è èçîáðàæåíèÿ, è öâåòà) - ðàçìåð...
Автор
Verter_bot
Загрузки
0
Просмотры
1
Расширение
zip
Размер
15.8 КБ
Хэш
36cb71c0f372dfb6e41ea05355b08af7
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх