. Na co mamy wpływ ?
Na rozdzielczość i tryb grafiki Atari.
32,40,48 - liczba bajtów na linie
1x1,2x1,4x1 - proporcje Atarowskiego Pixla, co odpowiada trybom Basica
Graphics 8,15,9
. Jakie pliki powstaną w wyniku działania programu ?
Po zamianie na znaki (Option->Standard, Option->Optymizing) dostajemy możliwość zapisania plików FNT, SCR, TAB, ALL. Obraz w trybie znakowym domyślnie ma wysokość 30-znaków.
Jeśli wybraliśmy wcześniej w/w sposoby zamiany znaków będziemy mogli wybrać
trzecią - Original. Tutaj nie jest zamieniana grafika na znaki, lecz znaki na grafikę. Jeśli na ekranie jest więcej niż jeden znak o tym samym numerze (w wyniku działania Optymizing), zostanie zapamiętana modyfikacja tylko z ostatniego znaku.
Nałatwiejszy jest więc Original po wybraniu zamiany Standard. Tutaj każdy znak z zestawu ma niepowtarzalny numer. Zmiana jakiegokolwiek znaku zawsze zostanie zapamiętana.
FNT - w tym pliku będą zestawy znaków, po 1024 bajtów każdy
SCR - tutaj grafika na znakach, długości 960,1200 lub 1440 bajtów
TAB - tutaj rozpiska 30-bajtowa, każdej linii odpowiada 1 zestaw znaków,
można tylko zapisać, brak możliwości wczytania do G2F
ALL - wszystkie w/w pliki scalone w jeden plik, można tylko zapisać, brak
możliwości wczytania do programu G2F
COL - paleta kolorow dla każdej z linii ekranu (5 * 256 bajtów)
PMG - ten plik zawiera sporą dawke informacji o stworzonych pod programem
obiektach PMG, nie jest on przydatny dla Atari
G2F - format zapisu wszystkich danych dla Graph2Font, zamiast wczytywać
po kolei w/w pliki, ten plik załatwi wszystko
Istnieje też możliwość zapisania pliku w formacie DOS-a Atari (nagłówek 6
bajtowy). Dotyczy to plików FNT, SCR, TAB. Domyślnie zapis z nagłówkami jest wyłączony.
Zapisanie pliku FNT bez nagłówka z kompresja Standard lub Optymizing umożliwi jego późniejsze wczytanie.
. Jakie rozszerzenia plików program akcetpuje ?
Program 'trawi' pliki BMP, DAT, MIC (informacje o kolorach pomija), INV, FNT.
FNT - tylko cały zestaw fontów z kompresją Standard (Option->Standard)
MIC - 7680 bajtów, dane dla pamięci obrazu ANTIC-a, 4 bajtową informację
o kolorach pomija
DAT - max 240*48 bajtów każdego syfu, dane obrazu jak dla MIC tylko w
innych rozdzielczościach
INV - MAPA inversu, plik analogiczny do SCR tylko, że ten zapisany
zostanie do innej tablicy w pamięci, w trakcie konwersji
znaki beda z nim porównywane i jeśli wartość w INV jest >=128
to w pliku SCR też zostanie ustawiony bit inversu. Mozliwe
długości pliku tak jak dla SCR - 960,120,1440 bajtów.
Służy to tym, którzy mieli już skonwertowaną grafike na znaki,
ale nie chce im się ustawiać tego jeszcze raz :)
BMP - pliki w formacie Windowsowej Bitmapy, zapisane w dowolny sposób.
Jeśli obrazek będzie miał więcej kolorów, zostaną wybrane pierwsze
najczęściej występujące w kolejności rosnącej.
. Opis MENU:
{File}
Open... - wczytanie pliku o akceptowanym rozszerzeniu
Save G2F - zapis wszystkich danych w jedym pliku
Save ASM - generuje plik w formacie X-ASM, dodatkowo zapisuje pliki
FNT i SCR, które są potrzebne w trakcie kompilacji ASM-a
Save BMP - zapisuje aktualny obraz jako plik BMP
Save XEX - zapisuje ASM-a i kompiluje do pliku wykonywalnego XEX
Exit - zakończenie pracy programu, wyjście do Windows
{Edit}
Screen - edycja obrazu zamienionego już na znaki, możliwość dodania
piątego koloru, modyfikacja wyglądu itp.
{Options}
Standard - zamiana obrazu na znaki bez kompresji
Optymizing- zamiana obrazu na znaki z użyciem kompresji, w przypadku
trybu 1x1, 4x1 procedura sprawdza czy znak jest w inversie
Original - zamiana znaków na grafikę, żeby dokonać modyfikacji należy
wybrać konkretny numer znaku i go poprawić na ekranie
Chars fill- pokazuje ile znaków zostało użytych w każdym z zestawów
znakowych
Show chars- pokazuje grafikę jako znaki Atari
{Screen}
Clear - kasowanie obrazu, ustawienie licznika linii na 0 (Height)
Chg Col - Change Colors, czyli zamiana kolorów obrazka
Chg Spr - Change Sprites, czyli zamiana kolorów, kształtów duszków
Colors - ustawienie kolorów na obrazie co linię, jeśli mają dotyczyć
całej grafiki trzeba ustawić LINE na 0, RANGE na 239
i nacisnąć FILL COLORS
Sprites - ustawienie kolorów dla objektów PMG co linię, ich pozycji X,
szerokości S, oraz piorytetu (PRIOR)
MoveXY - przesuwanie obrazu, bez wcześniejszej zamiany na znaki
Negativ - invers grafiki, nie znaków, tylko danych graficznych
(Refresh) - odświeżenie obrazu
{Zoom} - powiększenie obrazu, możliwość stawianie pixli na grafice
i obiektach PMG w proporcjach Atarowskich. Nie można używać
REFRESH, ani zmieniać PREVIEW.
{About} - info o autorach
Okna wyboru:
Trzy okna wyboru (a właściwie ramki) znajdują się po prawej stronie.
Możemy zdecydować dla
PREVIEW:
PMG - wyświetlać i edytować tylko obiekty PMG (sprity+pociski)
Gfx - wyświetlać i edytować tylko grafikę
All - wyświetlać i edytować grafikę i obiekty PMG
Dla każdej z w/w opcji możliwa jest edycja pod ZOOMEM.
SCREEN:
32 - wąski ekran, szerokości 32 bajtów (256 pixli w HiRes)
40 - normala szerokość ekranu, 40 bajtów (320 pixli w HiRes)
48 - szeroki ekran, 48 bajtów w linii (384 pixli w HiRes)
Pod ZOOMEM ekran zawsze jest szeroki.
PIXEL:
1 - Graphics 8 Basica, max 384x240 (HiRes), 2 kolory
2 - Graphics 15 Basica, max 192x240, 4 kolory + 5 kolor na znakach
4 - Graphics 9 Basica (GTIA Mode), max 96x240, 16 odcieni jednego
koloru
Po wczytaniu grafiki, możemy dokonać jej podkolorowania. Jak zauważył Dracon, program umożliwia tworzenie grafiki w stylu MCS, czyli 5 kolorów na znakach + sprity. Do programu załączony jest przykład (a nawet więcej przykładów]) właśnie takiej grafiki MCS przerobionej na Graph2Font - DRUID.G2F
Możemy też zamienić na znaki i dodać 5-y kolor w Edit. Pod zoomem (ALT+Z) program pokaże czy w danym obszarze można użyć 5-ego koloru czy nie, nie można pod zoomem robić inversu znaków.
Edycja kolorów - Edit Colors (ALT+C)
- kolory ustawiamy klikając na kolorowy kwadrat i wybieramy z palety
- zakres lini ustawiamy w okienku LINE (aktualna linia), oraz w RANGE
czyli zakres w jakim zmieni się kolor po naciśnięciu FILL COLORS.
Można użyć myszki aby wskazać pozycje Y dla LINE.
- przycisk GET pozwala na automatyczne ustawienie LINE i RANGE,
które będą pokazywać zakres w którym występuje aktualnie wskazany kolor
(obok aktualnego koloru znajduje się znak '*')
- Load i Save Colors wiadomo do czego służą, nowo utworzony plik *.COL
nie jest potrzebny Atari, tylko programowi G2F
- pod Zoomem aktywny kolor zmieniamy klawiszem Q (w lewo) lub W (w prawo),
kolor 0 (BAK) służy też do modyfikacji obiektów PMG
Edycja spritów - Edit Sprites (ALT+S)
- kolory ustawiamy podobnie jak w Edit Colors
- pole X to pozycja pozioma sprita lub pocisku, X=-1 oznacza że obiekt
jest niewidoczny (można też użyc myszki, klikajac na obrazku)
- pole S to szerokość sprita lub pocisku, S=0 to szerokość pojedyńcza,
S=2 szerokość podwójna, S=4 szerokość poczwórna
- piorytet to sposób przysłaniania grafiki PMG i PF, który wymaga
większego wytłumaczenia, jego działanie będzie inne dla trybu 2x1
i 1x1
- LINE i RANGE działają tak samo jak w "Edit Colors". Naciśnięcie FILL
COLORS ustawia nowe kolory w zaznaczonym przedziale. Zaś zmiana
pozycji X lub szerokośći S musi być zatwierdzona naciśnięciem FILL X-S.
Można użyć myszki aby wskazać pozycje X i Y dla LINE.7
- mały przycisk między LINE i RANGE to GET, pobiera informacje o
ustawionych już w linii (LINE) obiektach, kolorze, pozycji X, szerokości
S, ustawia LINE, RANGE oraz pionowe zaznaczenia zakresu, ten przycisk
przydaje się do sprawdzenia czy obiekt który edytujemy nie był już
ustawiony wcześniej, gdyby ta możliwość działała automatycznie
przeszkadzałaby w modyfikacjach
- Load i Save Sprites wiadomo do czego służą, nowo zapisany plik PMG jest
dosyć długi, dla Atari nie będzie przydatny, potrzebny jest tylko dla
programu G2F
- pod Zoomem klawiszami 1-8 ustalamy czy edycja obiektu PMG jest dozwolona
czy też nie (nazwa obiektu na czerwono - modyfikacja dozwolona, brak
koloru czerwonego - modyfikacja zabroniona), przydaje się to gdy duchy
przysłaniają się nawzajem, możemy wtedy wyłączyć tego na wierzchu, a
odwołania zaczną dotyczyć obiektu pod nim. Pamiętać należy że na wierzchu
jest gracz (player) lub pocisk (missile) o najmniejszym numerze.
Jeśli zmieniamy pozycje X lub szerokość S obiektu PMG, pojawia się znak
'gwiazdki' * który oznacza że właśnie te obiekty modyfikujemy.
. Kolorowe obrazki w HiRes
Podkolorowanie grafiki w HiRes nie dla wszystkich jest jeszcze zrozumiałe.
Cały trick opiera się o zależności jakie zachodzą między kolorami duszków, a kolorami grafiki, a właściwie jej jasnościami.
W HiRes mamy 2-a kolory, które wzajemnie na siebie oddziaływują: PF1(709) i PF2(710)
PF1 to jasność i tylko jasność grafiki czyli zapalonych pixli
PF2 to kolor tła, czyli zgaszonych pixli
Jeśli zmienimy PF2(tło), to PF1(grafika) przyjmie kolor PF2 i jasność PF1
Jeśli zmienimy PF1 to zmienimy tylko jasność, PF2 pozostanie bez zmian
Kolory duszków PM0...PM3 będą zależeć od jasności zapalonych pixli grafiki, czyli od PF1 i mniej od zgaszonych pixli czyli PF2
Duszek znajduje się nad PF1:
- jeśli jasność z PF1<>jasnośći duszka to duszek przejmuje jasność z PF1,
grafika PF1 jest niejako podkolorowana kolorem duszka
- jeśli jasność z PF1=jasności duszka to duszek nie zmienia jasności,
zakrywa kolor PF1
Duszek znajduje się nad PF2:
- kolor duszka pozostaje bez zmian, zakrywa tylko kolor PF2
W/w zależności możemy teraz wykorzystać do pokolorowania HiRes, musimy
tylko zamienić kolory grafiki miejscami, tzn. PF2(tło) będzie kolorem
zapalonych pixli PF1, a PF1 zamienimy na PF2.
Dzięki takiej zamianie, kolor PF1 staje sie kolorem tła i jego jasność
będzie oddziaływać na jasność duszków. Tło przeważnie mamy czarne, a jasność
koloru czarnego jest =0 :)
Tak więc jeśli duszek przysłoni kolor PF1=0 to też przyjmie jasność =0.
Idąc dalej tym tropem, jeśli kolor duszka =0 i PF1=0, PF2=14, a duszek
zakrywa część koloru PF1 i część PF2, to zobaczymy tylko podkolorowany
fragment koloru PF2, w miejscu koloru PF1 będzie tylko kolor czarny (duszek
koloru =0 przejął jasność PF1 =0).
Tak więc najprościej podkolorować HiRes 8 stopniami szarości.
Jeśli użyjemy kolorów, musimy liczyć się z tym ze tam gdzie PF1=0, tam
duszek też przyjmie jasność =0. Na szczęście tak ciemny kolor nie rzuca
się w oczy, zresztą sami sprawdzcie tak podkolorowaną grafikę 'TVTEST_HiRes.G2F'
. Zmiany jakie zaszły w programie
v3.4
- usunięty 'byczek' z wersji 3.3, zabrakło wizualizacji inversu w Edit Screen
- nowsza i teraz na pewno najszybsza procedura DLI, dla szerokośći ekranu
40b i Pixel=2 można teraz dokonać do 5-u zmian w linii zamiast 4-ech
- pod ZOOMem wyłaczenie obiektu PMG powoduje też jego usunięcie z ekranu
- opcja wyznaczania pozycji poziomej obiektów PMG wzdłuż krawędzi obrazka
(Right edge, Left edge)
- odczyt GED-a ogranicza się jak na razie do wczytania grafiki
i pierwszych zmian kolorów
v3.3
- usunięto błąd, który nie pozwalał modyfikować obiektów PMG na dole ekranu
- wybranie w PREVIEW - PMG, spowoduje że będą tylko obiekty PMG na czarnym
tle, przydatne z ZOOMEM
- w ZOOM dodana opcja FILL - XOR (domyślnie), OR, AND
- zmienione okno OPEN, a SAVE G2F pozwala na zmianę nazwy zapisywanego
pliku
- generowany plik ASM jest teraz maksymalnie optymalizowany i pozbawiony
zauważonych błędów
- opcja 'Options->Chg Col' czyli Change Colors
- opcja 'Options->Chg Spr' czyli Change Sprites
- podgląd zestawu znaków w Edit->Screen
- nowa opcja w Options, zamiana znaków na grafikę - Original
- opcja UNDO i REDO w Zoomie
- możliwość zapisu BMP-y
- możliwość zapisu pliku XEX
- możliwość przesuwania obrazu (Move X) w zadanym przedziale
- symulacja kolorów obiektów PMG i grafiki w HiRes (Pixel=1x1)
- ogólna optymalizacja programu pod względem szybkości i objętości
(dzięki czemu jest coraz mniej zrozumiały dla autora ;) )
v3.2
- nie zapisuje pliku VBL, jest on już scalony z plikiem ASM
- polepszona inicjalizacja pierwszej linii (VBL), teraz G2F generuje
możliwie najoszczędniejszy czasowo kod
- teraz można ładować dowolnie zapisany plik BMP, program sam zamienia go
na 8bit per Pixel
- przy pewnych szerokościach obrazu program nie wczytywał pełnej
informacji o znakach w inversie, teraz jest wszystko OK (błąd zauważył
Vidol, thx)