751

(140 odpowiedzi, napisanych Programowanie - 8 bit)

dorzuciłem cytat z Barymag-a #2 na temat ZOOM SCROLLA, jest to opis metody realizacji tego efektu

752

(140 odpowiedzi, napisanych Programowanie - 8 bit)

o zmaganiach w odkrywaniu rotowanej szachownicy :)

http://csdb.dk/forums/index.php?roomid= … irstpost=2

753

(140 odpowiedzi, napisanych Programowanie - 8 bit)

kopiowanie w pionie zrealizuje program Antic-a, w poziomie jedna tablica w stylu

 ldx bajt_obrazu,y
 lda tablica_wspak,x
 sta bajt_obrazu+height/2,y

754

(140 odpowiedzi, napisanych Programowanie - 8 bit)

całkiem sensowne, zobaczę jak "rysuje" się takimi eor-owanymi patternami

dodam też że istnieje kolejna możliwość optymalilzacji ze względu na symetryczność górnej i dolnej części szachownicy, dolną cześć trzeba przekopiować "wspak" względem górnej, czyli wyrysowanie szachownicy sprowadza się tylko do połowy obrazu

  for j = 0 to height div 2 - 1
     for i = 0 to width - 1
       Pixels[width-i-1,height-j-1] := Pixels[i,j]
     next i
  next j

755

(140 odpowiedzi, napisanych Programowanie - 8 bit)

sprawdziłem możliwość optymalizacji tego chess zoomrotatora, tzn. dla bloków piksli 4x8 (odpowiednik znaku Atari) powstaje za dużo kombinacji poza pojemnością zestawu znakowego, podobnie dla bloków 4x4, natomiast dla 2x4 (ćwiartka znaku) jest lepiej ale i tak za dużo bo liczba niepowtarzalnych bloków dochodzi do 164

dla bloku 2x2 piksle powstaje stała liczba kombinacji 16, niezależnie czy mamy 64 fazy obrotu dla danej skali powiększenia czy 128 liczba niepowtarzalnych bloków jest stała =16

00,00,00,00
00,00,00,FF
00,00,FF,00
00,00,FF,FF
00,FF,00,00
00,FF,00,FF
00,FF,FF,00
00,FF,FF,FF
FF,00,00,00
FF,00,00,FF
FF,00,FF,00
FF,00,FF,FF
FF,FF,00,00
FF,FF,00,FF
FF,FF,FF,00
FF,FF,FF,FF

innymi słowy dla 64 faz obrotu o zadanej skali powiększenia dla każdego bloku obrazu o rozmiarze 2x2 piksle istnieje 64 bajtowa tablica z informacją o 16 różnych kombinacjach bloków

756

(140 odpowiedzi, napisanych Programowanie - 8 bit)

udało się rozgryźć tą pętlę, dodałem opis CHESS ZOOMROTATOR-a

http://madteam.atari8.info/index.php?prod=fx#chzoom

757

(140 odpowiedzi, napisanych Programowanie - 8 bit)

modyfikując pętle renderująca piksle uzyskać możemy roto-zoomowane pionowe pasy, kwadraty, szachownice jeśli zaczniemy przelączać test dla XP <-> YP

test dla kwadracików (dla pionowych pasów zamiast <8 będzie np. =8)

for j=0 to height -1 

for i=0 to width-1
 if (xp >> 8) mod 16 < 8 then plot(i,j) = white

 xp ...
 yp...
next i

 xp..
 yp...

next j

758

(140 odpowiedzi, napisanych Programowanie - 8 bit)

sprawdzałem ile zajmą dane dla rotozooma 128x128 piksli o 64 klatkach obrotu w wersji bez optymalizacji, zapisanie wszystkich wyliczonych ofsetów X:Y dla tekstury zajmie ~1MB, po spakowanie 7Zip-em zejdzie do 128KB, spakowanie ZIP-em ~290KB

teraz wersja z załącznika dla metody z postu #41 która sprowadza się do wyliczenia jednego "kafelka" obrazu a potem to już "stemplowanie" tym kafelkiem tak aby pokryć cały obraz, dane zajmują bez kompresji 49KB

gdyby zamiast ofsetów do tekstury trzymać już gotową wyliczoną teksturę którą tylko wypełniamy obraz, zajętość pamięci zmniejszy się, szybkość "stemplowania" też wzrośnie jeśli będziemy robić to znakami a nie bajtami

759

(140 odpowiedzi, napisanych Programowanie - 8 bit)

ta procka z posta #41 pozwala obliczyć tylko jeden "kwadrat" zoom-rotatora, resztę piksli przepisuje się na tej podstawie dla x-Xofset, y-Yofset

to jest tylko wewnętrzna pętla, reszta jest podobna jak w klasycznej metodzie http://madteam.atari8.info/index.php?prod=fx#rzoom

wg moich domysłów to właśnie ta procka której używają komodorowcy, pozwala to zmniejszyć rozmiar danej klatki animacji, liczymy tylko jej niewielki fragment, resztę na tej podstawie przekopiowujemy

zresztą postaram się zamieścić gotowy przykład

760

(140 odpowiedzi, napisanych Programowanie - 8 bit)

w końcu natrafiłem na opis optymalizacji pętli roto-zoomera z której korzystają najpewniej commodorowcy

http://www.gamedev.pl/forum/super-szybk … -by-madmax

Cytat:

Najbardziej pomysłowa organizacja wewnętrznej pętli, jaka mi przychodzi do głowy w tej chwili wyglądała by mniej więcej tak:

    Kod: do {
        if(((xp|yp)&~0xFFF)==0)
            *dst = src[(xp>>8)|((yp>>8)<<4)]
        dst++;
        xp += dx;
        yp += dy;
    } while(dst<line_end);


Co prawda hardcodowane do bitmap 16x16, ale powinno zasuwać aż miło. :)

761

(140 odpowiedzi, napisanych Programowanie - 8 bit)

istotne informacje dla programujących

http://bob.allegronetwork.com/prog/tricks.html

762

(140 odpowiedzi, napisanych Programowanie - 8 bit)

kolejna strona, tym razem z mnóstwem artykułów

http://www.flipcode.com/archives/

i rozdziałem poświęconemu efektom z dem

http://www.flipcode.com/archives/The_Ar … ogue.shtml

na dole tej podstrony są odnośniki do kolejnych opisów efektów (m.in. Bitmap Distortion, Bump Mapping, Fractal Zooming, Static Texture Mapping, Roto-Zooming)

763

(140 odpowiedzi, napisanych Programowanie - 8 bit)

nowy/stary efekt z przykładem w Delphi

X-ROTATOR

http://madteam.atari8.info/index.php?prod=fx#xrot

764

(140 odpowiedzi, napisanych Programowanie - 8 bit)

na stronie http://codebase64.org

pojawił się ciekawy i obszerny opis efektów w wykonaniu zestawu znakowego C64, m.in. Twister

http://codebase64.org/doku.php?id=base: … ng_carpets

765

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

gość tworzy rozwiązanie dla konkretnych założeń, które sobie narzucił, bo chce, bo go to kręci, no i ... ? widać ominął go ten rozdział historii kiedy w modzie było pisanie swojego IRQ-Loadera, chciał dorzucić kamyczek do tego ogródka i tyle

najwyżej nie będziecie z tego korzystać, przejdziecie obok tego, skoro nie jesteście jego grupą docelową, potrzebne jest tutaj dodatkowo wylewanie Waszych frustracji, obrażanie, poniżanie, chcecie pobić onet "poziomem" wypowiedzi, czy bierzecie udział w konkursie chama forum

może to było zabawne na początku ale trzeba znać umiar

Mark Twain: "Lepiej jest nie odzywać się wcale i wydać się głupim, niż odezwać się i rozwiać wszelkie wątpliwości."

p.s.
Synthpopalooza rozwija interlace znakowy, sugeruję żeby tutejsza grupa krzyżowców nawróciła go na właściwą ścieżkę, w końcu kto korzysta w dzisiejszych czasach z interlacu

766

(140 odpowiedzi, napisanych Programowanie - 8 bit)

dodatkowe opisy i przykłady

HORIZONTAL SCROLLING
http://madteam.atari8.info/index.php?prod=fx#hscrol

LENS EFFECT
http://madteam.atari8.info/index.php?prod=fx#lens

po odpowiednim zwiększeniu promienia dostajemy teksturowaną kule

767

(76 odpowiedzi, napisanych Emulacja - 8bit)

tak, do poprawki instalator plugina, każdy inny plugin WCX instalowany jest z poziomu TC, byłoby miło gdyby z ATR.WCX też tak było

768

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

niewiedza jest błogosławieństwem

769

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

nie chcemy małych kroczków chcemy kopa z xBios-a :D

zwróciliście uwagę na pierwszy wpis w tym przydługim wątku "mysle ze temat skierowany jest do programistow gier .... oferta" i potem wypowiadają się osoby zainteresowane wykorzystaniem tego pomysłu

kiedyś pisało się mniejsze produkcje a jak ktoś się zbytnio rozpisał i chciał wydać grę to nie było zmiłuj, tnij pan do 16K to wydamy (Montezuma Revenge/Preliminary Monty), wydawca dyktował warunki, czasy się zmieniają, produkcje są coraz większe, a wydawcami są fani którzy są autorami takich produkcji np. taki Prince Of Persia na C64 gdzie lwią część zajmują klatki animacji bohatera

770

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

Pecus było już na ten temat, dlaczego ROM ma być wyłączony, ciągle szczekasz i gonisz ten swój ogonek

771

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

Candle napisał/a:

sra sie zdecydowanie latwiej jesli poslady sa rozluznione, rozumisz...

pozycja kucna jest jedyną słuszną pozycją udowodnili to amerykańscy naukowcy :P

same poślady to nie wszystko, nawet na sraniu się nie znasz Candle :D

772

(140 odpowiedzi, napisanych Programowanie - 8 bit)

w przerwie kłótni nad xBios-em można zaznajomić się z nowym opisem efektów, tym razem przy wydatnym współudziale Konopa/atariBDSM vel LieblingPejcz/atariBDSM :)

Konop opracował wszystkie obliczenia potrzebne dla uzyskania efektu TWIRL http://madteam.atari8.info/index.php?prod=fx#twirl

dodatkowo opis realizacji fraktali Sierpinskiego http://madteam.atari8.info/index.php?prod=fx#sierpinski

773

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

bez sensu to są sterowniki do urządzeń zajmujące wielokrotność sterownika SIO, kiedyś może zrozumiecie jak jakiś "czarodziej" zaserwuje wam nowe urządzenie którego sterownik zajmie 4kb, 8kb a może 48kb pamięci RAM, wtedy będziecie stukać po głowie

jeśli dla SIO ładuje się N-ta liczba oprogramowania, to dla nowego urządzenia którego sterownik będzie dłuższy od SIO będzie to liczba N-X, więc trzymajcie elektroników za JAJA aby ich radosna twórczość trzymała się standardów nie tylko tych poziomu elektroniki ale i softu

ślepo łykacie cokolwiek Wam zaserwują

nie takie PBI straszne jak je malują

775

(1,753 odpowiedzi, napisanych Fabryka - 8bit)

jeśli ktoś będzie chciał napisać program/gre który ładuje dane za pomocą portów Joy-a to też mu zabronicie, o czym jest ta dyskusja, co by było gdyby, co jeśli, gdy

xBios ma swoje wady/ma swoje zalety, no i ..., to jest scena atari xe/xl, czy Wy chcecie narzucać komuś jak ma pisać soft który wykorzystuje możliwości sprzętu w zakresie SIO + XE/XL, życie zweryfikuje to podejście

widać scena jest za mała, skoro chcecie kontrolować czyjeś poczynania i wymuszać na nim zmianę podejścia bo Wam tak łatwiej, bo wyprzedzacie teraźniejszość i wiecie co będzie lepsze i słuszniejsze, boicie się nowych wyzwań czy jak

na przyszłość XXL proszony jest o nie ogłaszanie swoich projektów publicznie, tylko stawianie userów przed faktem dokonanym