Forum Icy.pl
Forum polskiego serwisu Icy Tower

O tworzeniu postaci i modów - Allegro Grabber - zmiana wykorzystywanej palety kolorów

J@ERO - 10 Kwiecień 2008, 15:50
Temat postu: Allegro Grabber - zmiana wykorzystywanej palety kolorów
Mam problem z grabberem. Otóż z paletą kolorów. Gdy klikam na jakąś grafike to nie jest takiej jakości jak w grze oto problem:
Tu link do exportowanego pliku z Grabbera

Vinyanov - 10 Kwiecień 2008, 19:34

Musisz wybrać paletę, która posłuży do eksportu grafik. Grafiki Icy Tower, przeciwnie do niektórych formatów graficznych, same nie zawierają informacji o kolorze. Są to tzw. grafiki indeksowane. Nie jest wewnątrz nich zapisane: piksel nr 1 - kolor czerwony, piksel nr 2 - kolor błękitny, itd. Mówią one jedynie, że poszczególny piksel posiada pewien kolor. Same kolory natomiast są zdefiniowane wewnątrz osobnego elementu, palety właśnie. Czyli grafika wygląda przykładowo tak: piksel nr 1 - kolor palety nr 33, piksel nr 2 - kolor palety nr 156. Wniosek jest taki, że do wyświetlenia grafik jakaś paleta jest niezbędna.

I teraz, zazwyczaj gdy zapisujesz grafikę indeksowaną, zapisujesz dwie rzeczy wewnątrz jednego pliku. Po pierwsze, samą grafikę, czyli pozycje palety, które są przypisane poszczególnym pikselom. Po drugie, samą paletę. Teraz ważne: gdy ów plik graficzny zostanie odczytany przez dowolny program, program musi przypisać poszczególnym pikselom jakieś kolory. Może on użyć do tego palety, która jest zapisana wewnątrz pliku graficznego, ale wcale nie musi! Może użyć palety zupełnie innej.

Tutaj możemy zdradzić, że Icy Tower zawsze dysponuje taką inną paletą, która służy do nadawania grafikom odpowiednich barw. Są wewnątrz niej zapisane klasyczne sposoby kolorowania grafik. To znaczy, informacje, że środkowe piksele grafiki ścian wieży są szare, większość pikseli grafiki czapki Harolda niebieska, itp. Oczywiście, gdyby zmusić grę do użycia jeszcze innej palety, tzn, palety, która poszczególnym pikselom nadałaby jeszcze inne barwy, cała Wieża znowu zmieniłaby kolory. I teraz pytanie, gdzie owe „inne” palety są przechowywane? Odpowiedź brzmi: wewnątrz postaci. :)

Zauważ, że postacie Icy Tower to również grafiki indeksowane. Gdy edytujesz postać, zmieniasz kolory poszczególnych pikseli, lecz tak naprawdę nie przypisujesz im barw, ale numery pozycji wewnątrz palety. Oczywiście samą paletę również możesz modyfikować, ale opcja ta często jest ukryta. Ja odnalazłem ją wewnątrz Adobe Photoshop dopiero stosunkowo niedawno. Tak więc, zawsze gdy zapisujesz postać, zapisujesz wewnątrz niej także paletę barw. Ową paletę Icy Tower wykorzystuje następnie do nadawania kolorów swoim własnym grafikom.

Jak wiadomo, Icy Tower nie można uruchomić bez żadnej postaci. Można to sprawdzić usuwając odpowiedni katalog. Dzieje się tak, ponieważ interfejs gry musi posiadać jakieś kolory. Wiemy już, że kolory, które widzimy po pierwszym uruchomieniu gry, tuż po instalacji, są kolorami zapisanymi wewnątrz palety postaci. A kto jest standardową postacią, która jest wybrana domyślnie? Oczywiście Harold the Homeboy. Zatem to, co uważamy za standardowe kolory Wieży, to kolory palety grafiki Harolda. Zachodzi tu ważny wniosek odnośnie tworzenia modów. Jeżeli chcesz zmienić kolory Wieży, czasami możesz to zrobić na dwa sposoby, ale czasami nie.

Załóżmy, że zmieniasz kolor ścian wieży. Jeżeli przemalowujesz ściany na kolor, który znajduje się wewnątrz palety Harolda, np. na zieleń bluzy Harolda, masz dwa wyjścia. Pierwsze: możesz sprawić, że wszystkie piksele grafiki ściany będą wskazywać na pozycję palety, która definiuje kolor zielony. Nie zmieniasz żadnych kolorów, jedynie pozycję, do której odwoła się Icy Tower podczas określania koloru ścian. Drugie: możesz utworzyć oraz wybrać wewnątrz gry postać, która posiada odpowiednio zmienioną paletę. Jeżeli paleta nowej postaci deklaruje, że kolor, do którego odwołuje się grafika ścian nie jest szary, ale zielony, efekt będzie identyczny. Ale! Jeżeli przemalowujesz ściany na kolor, który nie jest zdefiniowany wewnątrz palety Harolda, np. krwistą czerwień albo jadowity pomarańcz, masz tylko jedno wyście. Musisz zastosować rozwiązanie, które polega na użyciu palety nowej postaci.

Do sedna. Chcesz, aby grafiki, które wyciągasz z Grabbera używały kolorów, które widzisz wewnątrz gry. Ale niestety, grafiki wewnątrz data.dat nie zawierają palety Harolda, tylko inną, własną. Spójrzmy na grafikę, do której odsyłasz wewnątrz swojej wiadomości. Widzimy, że owa paleta przypisuje pikselom tła kolor czarny, napisowi „Icy Tower” kolor szary, itp. Na szczęście, Grabber umożliwia tymczasową zmianę palety grafik. Jeżeli dwukrotnie klikniesz na pozycję AAAPAL na górze listy grafik, Grabber zacznie interpretować wszystkie grafiki według palety Harolda. Dodatkowo, gdy będziesz eksportował grafiki, podczas eksportu paleta Harolda nadpisze ich dotychczasową paletę. To jest rozwiązanie twojego problemu. Osobną sprawą jest, że prawdopodobnie wcale nie musisz tego robić. Podczas pracy przy programie graficznym będziesz jedynie zmieniał pozycje palety, do których przypisane będą poszczególne piksele. Po ponownym umieszczeniu grafiki wewnątrz data.dat i tak wewnątrz gry zostanie ona zinterpretowana według palety Harolda. Ale oczywiście na klasycznych kolorach pracuje się najprzyjemniej. :)

Wytłumaczenie jest takie, że plik data.dat oprócz samych oprócz plików graficznych, które zawierają grafiki oraz palety, może zawierać także same palety. Już wiemy, do czego one służą: do zmiany palety pliku graficznego podczas jego podglądu oraz eksportu. AAAPAL to paleta, która wykorzystywana jest również wewnątrz postaci Harold the Homeboy.

Cóż, napisałem chyba mały poradnik, ale nie pamiętam, aby mechanika kolorów Icy Tower była gdziekolwiek wyjaśniona od podstaw. Mam natomiast wrażenie, że ten tekst może się na forum przydać. Szczególnie, że sam bardzo długo nie rozumiałem tego aspektu gry. Dziękuję tutaj JB oraz Neo, którzy swoim wypowiedziom oraz rozmowom pomogli mi go sobie przyswoić. :)

J@ERO - 11 Kwiecień 2008, 14:38

Dzięki ;) Zakumałem i paleta chodzi ok.
Topic można zamknąć

Vinyanov - 12 Kwiecień 2008, 11:41

Nie ma sprawy.

J@ERO napisał/a:
Topic można zamknąć


Nie trzeba, nie jesteśmy restrykcyjni, nie pod tym względem. ;)

Pisto-Letti - 23 Lipiec 2008, 18:24

Hmmm... A jak wstawić w dany prostokącik jakiś kolor??
Vinyanov - 23 Lipiec 2008, 20:13

Pisto-Letti napisał/a:
A jak wstawić w dany prostokącik jakiś kolor??


Nie wiem, zależnie od programu graficznego. Zresztą, co chcesz zrobić? Zmienić kolor zawarty wewnątrz danego elementu palety, czy zmienić element palety, do którego wskazuje piksel? W Photoshopie i to i to to technicznie mówiąc prostokąty. ;)

Pisto-Letti - 24 Lipiec 2008, 11:35

Chce zrobić tak żeby kolor czerwony i biały mi nie migał (nie zmienię go bo robie Polskiego Moda). Co dziwne, nie wszystkie elementy mi świecą (białe i czerwone) tylko :
- Gwiazdki
- Napis "floor" (i to tylko literka f) !!
- Napis "Super" (tylko "s")
pozostałych jeszcze nie zrobiłem (niemożliwe, nieźle itd.)
Czyli kolory z lini 15 mam po prostu usunąć (zamienić na fiolet) ??
Aha i co zrobić żeby to było normalne :
Sorka nie mogę załadować bo bmp jest tu niedozwolone.
Problem był taki :
Icy - białe
Tower - czerwone
Pod spodem był napis : Mod wykonał : Pisto-Letti (czcionka Verdana, 20, czarna)
I dla tego kolorom odbiło. Czcionkę najpierw trzeba było zapisać jago obraz a potem wstawic.

-Kris- - 21 Listopad 2008, 12:53
Temat postu: Szarość
Czemu jak robię moda, wszystko co zrobię jest w odwrotnych kolorach (np. jak robię białe to jest czarne) oraz tylko w kolorach szarości (np. jak jest fioletowe tło, powinno byc przezroczyste, a jest szare) ?
Pirochemik - 21 Listopad 2008, 14:39

Jak dobrze pamiętam musisz załadować paletę kolorów. Poczytaj o robieniu mod`ów. Jestem przekonany, ze cos tam o tym było.
mattirab - 21 Listopad 2008, 16:32

Musisz chyba dwukrotnie kliknąć na paletę kolorów, coś tam takiego było ;) .
Pirochemik - 21 Listopad 2008, 16:33

Dokładnie;d
-Kris- - 24 Listopad 2008, 20:55

Aha faktycznie dzięki, wczoraj dopiero zacząlem tworzyc mody więc przeoczyłem ;)

Edycja: jakie główno, włączam tą paletę, i nadal tak jest ! Jakie dziwne twarz harolda mogę normalnie zmieniac a reszty nie :/

Vinyanov - 25 Listopad 2008, 16:44

-Kris- napisał/a:
jakie główno, włączam tą paletę, i nadal tak jest !


Hm. Nie mam teraz czasu, aby myśleć. Ale mam wrażenie, że może być tak, iż aktywować paletę musisz przed wyeskportowaniem grafik. Jeżeli wyeksportujesz grafikę, która jest interpretowana wg domyślnej palety Grabbera (a nie wg AAAPAL), uaktywnienie palety przed jej zaimportowaniem (tzn. wciągnięciem do data.dat) nie zapobieże jej błędnemu interpretowaniu w grze. Chcę powiedzieć: zacznij pracę nad modem od początku (w tym: usuń twarz Harolda, którą właśnie wyeksportowałeś), pamiętając, abyś od dzisiaj aktywował paletę natychmiast po uruchomieniu Grabbera.

Ta diagnoza pasowałaby do twoich doniesień, że HEROFACE wygląda inaczej niż inne grafiki…

-Kris- - 25 Listopad 2008, 17:50

A jest możliwe takie wytłumaczenie, że po prostu nie używam tych kolorów co są w palecie ? (kolega mi tak napisał)
Vinyanov - 25 Listopad 2008, 20:50

-Kris- napisał/a:
A jest możliwe takie wytłumaczenie, że po prostu nie używam tych kolorów co są w palecie ?


Gdy wykorzystujesz paletę, nie pracujesz z kolorami, tylko z indeksami… Tak czy inaczej, IHMO problemy występują, kiedy twój program zmienia paletę, a większość nie zmienia.

-Kris- napisał/a:
Czemu […] jak jest fioletowe tło, powinno byc przezroczyste, a jest szare […] ?


Grafika BGTILE, wyświetlana w grze, wykorzystuje wyłącznie kolory szarości (a dokładniej: 2. linii palety).

-Kris- - 26 Listopad 2008, 16:23

Vinyanov napisał/a:

Grafika BGTILE, wyświetlana w grze, wykorzystuje wyłącznie kolory szarości (a dokładniej: 2. linii palety).


To to wiem, chodziło mi raczej o tlo grafiki, np tło schodka albo napisu "Icy Tower" na głównej stronie gry

tyskie15 - 2 Grudzień 2008, 22:26

:roll: ;-) http://forum.icy.pl/viewtopic.php?p=29497#29497 ;-) :roll:

Powered by phpBB modified by Przemo © 2003 phpBB Group