kategorie: Blitz
[#61] Re: Blitz2 początki

@Adinfo, post #55

Dla mnie nie było w niej nic ciekawego. Tak samo jak w innych książkach z tej serii czyli Assembler i Amos.
[#62] Re: Blitz2 początki

@Stoopi, post #61

Czyli już druga osoba tak podchodzi do tematu tej książki. Dzięki za opinię OK
Znalazłem już sporo materiałów do BB, dzięki którym zaczynam się orientować co i jak.
[#63] Re: Blitz2 początki

@Adinfo, post #59

gdy zacząłem się bawić BB olałem wszystkie książki (nie mam czasu na czytanie takich książek) bo uznałem że pewnie wszystko jest w sieci i znajdę ad-hoc to co potrzebuję na daną chwilę.
nie myliłem się. Całe moje demo napisałem używając przykładów z CD + tej strony
https://www.amiblitz.de/content/blitzprogrammers/0001.html
i czytając/pisząc na forach - masę postów.

oczywiście jak znasz możliwości amigi (co to jest copper, bitplany, dual playfield, jak działa blitter itp) to pomaga i dość szybko można zacząć robić fajne rzeczy.
ale nie ujmując nic książce, to samo jest w sieci a na forach ludzie ci podpowiedzą szczegóły których w książkach nie ma.
[#64] Re: Blitz2 początki

@retronav, post #63

Z książek do programowania (mam gdzieś PHP, JAVA biblia i trochę innych) - mało co mi się przydało, podstawy już mam (te ogólne - zmienne, pętle, funkcje, wskaźniki). Brakowało mi tylko rozpiski, która jest w linku co podałeś: COMMAND REFERENCE SECTION.

Znalazłem kilka pomocnych przykładów ale one odnoszą się do AGA, wiem, że modyfikując je nieco mogę je zastosować na OCS/ECS, albo wyświetlają się na ECS, przypuszczam, że wystarczy zmienić kilka elementów i będzie działać.

Natomiast co to jest copper, bitplany, dual playfield, jak działa blitter - tylko się domyślam ,ale szczegółów odnośnie tego jeszcze nie znam, od tego powinienem zacząć - postaram się o tym poczytać aby mieć ogólne pojęcie i porobić własne notatki do tego co jest najważniejsze - na wikipedii widziałem opisane "co jest co i o co chodzi".
[#65] Re: Blitz2 początki

@Adinfo, post #64

Przeczytaj Amiga Hardware Reference Manual - nie próbuj złapać wszystkich szczegółów od razu, tylko w pierwszym czytaniu ogólnie się zapoznaj o co z tym chodzi, a dopiero jak będziesz potrzebował coś sklepać na dany kawałek chipsetu to analizuj dogłębnie.

Ostatnia aktualizacja: 28.09.2018 11:20:45 przez teh_KaiN
[#66] Re: Blitz2 początki

@teh_KaiN, post #65

Dokładnie, tu są szczegóły potrzebne do pracy, do tego link, który podał Retronav daje mi już sporo możliwości nauki.
[#67] Re: Blitz2 początki

@Adinfo, post #66

Mam na początek kilka pytań odnośnie wyświetlania grafiki i sprite (już co nieco czytałem - Amiga Hardware Reference ale to jeszcze potrwa zanim to w miarę ogarnę):
Założenia: nie mam AGA więc tryby graficzne OCS/ECS, włączony tryb PAL HighRes lub LowRes, 16-32 kolorów na ekranie.

Na ten moment nie interesuje mnie sam kod bo postaram się do niego dojść samodzielnie. Zastanawia mnie parametryzacja InitCopList:
#eightbitplanes= $08, #smoothscrolling= $10, #dualplayfield= $20, #lores= $000, #fetchmode3= $3000*, #agacolors= $10000*
np. czasami występuje przy podaniu $36, a czasami jest bardzo rozbudowany o kolejne parametry, które jak widzę nie wszystkie są obowiązkowe: #CopList, ypos, height, type, sprites, colours, customs). Znalazłem sporo przykładów ale na AGA, a mnie interesuje wyłącznie OCS/ECS.
Dodatkowo użyte tworzenie/ generowanie palety jest w przykładach AGAPalRGB zmieniłem na PalRGB (0-15,0-15,0-15 czyli 4096 kombinacji z pełnej palety dla OCS).

1. Czy o rozdzielczości ekranu (trybie) decyduje wyłącznie InicCopList.
2. Przy DualPlayfield bitmapy 0 i 1 mogą mieć po 8 kolorów każda czyli razem 16 kolorów, jak się to ma do trybu 32 kolorów jaki może wyświetlać Amiga 500 i do ilości bitplanów (max. 6, każdy Playfield po 3)
3. Jak z pliku PNG zawierającego zestaw obrazów postaci zrobić format zjadliwy dla BlitzBasic - czy ten PNG muszę pociąć na kawałki czy może być jako całość.
4. Czy jeżeli wczytana grafika dla sprite jest "zestawem grafik" - czy wtedy mogę wyświetlać ją fragmentami x1,y1,x2,y2 i dla kolejnych fragmentów zmieniać współrzędne.
5. Jak się ma paleta kolorów ekranu do kolorów jakie ma sprite (czy tu jest zależność).
6. Czy muszę jakoś "wygenerować" paletę kolorów dla wczytanej z dysku grafiki dla sprite (przy konwersji).
7. Shape - rozumiem, że mogą być użyte dla spite ale też do wypełniania bitmapy jaka jest wyświetlana na ekranie - np. budowanie tła platformówki z kawałków w celu uzyskania całego levelu?
[#68] Re: Blitz2 początki

@Adinfo, post #67

ad 1.
Tak. Do ustawiania parametrów w trybie czy to OCS/ECS czy Aga służy InitCopList

ad2. na OCSie oba playfieldy mogą mieć max 8 kolorów więc razme 16
32 kolory (5 bitplanów) to będzie tylko jeden playfield i to jest max (pomijając tryb EHB i HAM) co możesz mieć na OCS/ECS
natomiast Amigi z OCS/ECS mają 6 bitplanów właśnie po to aby dało się zrobić dual playfield albo EHB

ad3. użyj Grafx2 - program na PC/Mac/Linux. Wczytaj obrazek w .png i zapisz jako LBM (IFF) pamiętaj o maks 32 kolorach. pamiętaj też że na OCS amiga ma 4096 kolorów. w Grafx2 możesz to uzyskać. Wciskając klawisz Shift+P ustal "rozdzielczość kolorów" - RGB Scale na 16 a nie na domyślne 256

ad4. nie rizumiem za bardzo pytania

ad5. sprite'y jeśli się nie mylę w OCS korzystają z kolorów 15-31 w palecie

ad6. użyj komenty PalRGB albo LoadPalette
składnię znajdziesz w linku który wstawiłem kiedyś do dokumentacji w sekcji Palette

ad7. tak
[#69] Re: Blitz2 początki

@retronav, post #68

Dzięki za podpowiedzi, co do pytania 4 - chodzi o coś takiego:

Czy wczytując taką "dużą" grafikę (w której są mniejsze grafiki - tnąc ją na kawałki) mogę jej używać w taki sposób aby wyświetlać jej zawartość wg współrzędnych np. animowany sprite będzie "pobierany" ze współrzędnych np. x1,y1,x2,y2 a drugi z x3,y3,x4,y4 itd. tej grafiki do osobnych Shape lub podmieniany w ramach jednego Shape aby uzyskać animację (do tego też kiedyś dojdę).

Co do pytania 5 to rozumiem, że definiując paletę podstawową 16 kolorową dla DualPlayfield, jeżeli 17-32 zdefiniuję inne kolory to sprite mogą z nich korzystać.

Jedna rzecz mnie zastanawia (mój błąd - czy tak ma być): jak zdefiniowałem paletę 16 kolorów w DualPlayfield to kolor 8 i 16 są czarne - czy "czarne tło" ma coś z tym wspólnego lub przezroczystość. Muszę to jeszcze sprawdzić.
[#70] Re: Blitz2 początki

@Adinfo, post #69

Powoli do przodu, potrafię załadować paletę 16 lub 32 kolorową z pliku i wykorzystać ją do rysowania w ramach bitmapy. Udało mi się wyświetlić załadowany do pamięci Shape tylko muszę przygotować sobie 8 kolorowe do testów. Sprite też już wiem jak wyświetlać tylko muszę przygotować grafiki 4 lub 16 kolorowe w odpowiednim rozmiarze. Wyświetlam też tekst na ekranie.

Odnośnie wyświetlania i zasad dotyczących grafiki na Amidze znalazłem opis Classic Graphics Primitives, który mi sporo wyjaśnił.

Mam do Was pytanie np. o Turrican III gdzie wykorzystano DualPlayfield, ale tam oprócz tego widać przesuwające się elementy scenerii w tle w kilku osobnych prędkościach (np. chmury - 5 osobnych scrolli). Czy to jest podobna technika jak na C64 gdzie "dzieliłem obraz poziomo" np. w scroll w lewo, pod nim scroll w prawo, 8 obiektów sprite poniżej, pod nimi latające belki, na dole kolejny scroll?
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem