Edytor duchów by Kaz 2011-03-27 20:13:31

Tomasz Cieślewicz przedstawia:

Stare edytory...

W zeszłym roku zaprezentowałem wiekowy edytor znaków i grafiki, który powstał przy okazji tworzenia kilku innych programów i gier w Mirage Software LTD. "Help me", bo o nim mowa, był programem zaskakująco (nawet dla mnie, autora!) dopracowanym i posiadającym wiele funkcji (unikalne w tym czasie undo, itp.), jak na proste narzędzie, które nawet nie miało szans na wydanie.



Dziś zaprezentuję drugi niezbędny edytor dla każdego twórcy programów multimedialnych: edytor sprzętowych duszków. Niestety, mimo że został oparty o źródła programu „Help me”, nie był tak dopracowany i rozbudowany jak tamten, początkowo umożliwiał jedynie proste zmienianie bitów w kolejnych duszkach, kolorów i kilku innych parametrów. Wcześniej cała grafika w moich programach pochodziła z kartek papieru, na których podliczałem wszystkie bity... Zapewne któregoś razu powiedziałem dość i powstał ten edytor. Potem dzięki niemu powstało wiele duszków do moich programów.

papierowy "edytor" znaków
papierowy "edytor" duszków, rysunek powstał w czasie lekcji w podstawówce :)


Publikacja tego edytora była przeze mnie planowana od lat, ze względu na fakt, że trudno znaleźć programy o podobnej funkcjonalności, choć wielu programistów zapewne miało/ma podobne w swoich prywatnych zbiorach narzędzi. W końcu zdecydowałem się na to z powodu imprezy Global Game Jam, w czasie trwania której miałem przygotować grę ze swoim zespołem. Potrzebowałem czegoś do zaprojektowania duszków, a więc należało zapoznać zespół z programem. A skoro tak - należało dopracować działanie i nieco ulepszyć interfejs.

wersja 0.4 z 1991 roku


W moich zbiorach znalazłem wersję 0.4 pochodzącą z 1991 roku. Gdy chciałem przygotować jako tako funkcjonującą wersję na potrzeby teamu GGJ, zajrzałem do źródła. Po upływie prawie 20 lat kompletnie nie wiedziałem o co chodzi w tym kodzie. Po drugie, niektóre fragmenty wzbudzały mój śmiech, na przykład znalazłem w kodzie zapis i odczyt danych dla dobrze wszystkim znanego urządzenia "C:"... (magnetofon).



...i nowe edytory ;)

Dziś do Waszych rąk trafia znacznie udoskonalona wersja edytora. Początkowo chciałem upublicznić historyczną wersję programu, jednak wspólna praca z kolegą Insertem po GGJ zaowocowała szeregiem usprawnień. Dzięki Insertowi oraz pośrednio GGJ obecna wersja programu jest dość rozbudowana, nie jest to już tak mały i prosty program jak poprzednio.

wersja 1.7 z 2011 roku


Dla wielu twórców chcących tworzyć kolorowe obiekty na ekranie za pomocą sprzętowych duszków, istotne będzie, że program umożliwia edycję kilku wybranych duszków naraz. Nazwałem to trybem scalania duszków. Po włączeniu go funkcje operujące na większej ilości danych graficznych, np. kopiowanie bloku danych, wypełnianie, inwersja itp. będą funkcjonować równocześnie na wybranych duszkach. Bardzo istotne jest, że tryb ten można w każdej chwili przełączać (klawisz K), ustawiać jego parametry (np. klawisze H i J), a operacja undo (klawisz Back Space) również działa, odpowiednio do aktualnego trybu oraz jego parametrów. Operacja ta na razie nie dotyczy grupowego ustawiania pozycji pionowej duszków. W następnych wersjach programu będzie taka możliwość, obecnie należy ręcznie ustawić pozycje, kolory kolejnych duszków, itp. Następnie można je zapisać do pliku (kombinacja Control+S) i odczytać następnym razem (klawisze Control+A).

Poza podstawowymi operacjami na duszkach, mamy możliwość operowania na blokach w obrębie danego duszka, a prawie każda z funkcji może dotyczyć wybranych duszków (scalanie). Istnieje możliwość sprytnego kopiowania danych w tym trybie i bez. Do tego program posiada dwie niezależne opcje undo, w tym jedna podwójna, w odniesieniu nawet do wszystkich duszków (zależnie od wybranego trybu scalania).



Opis funkcji edytora

Niżej będzie używana następująca terminologia PMG (Player/Missile Graphics): gracz - Player, pocisk - Missile, duszek - Player or Missile. Funkcji edytora jest ponad osiemdziesiąt:

Philsan 2011-03-28 23:39:50

Very nice!
An English translation of commands, when the program will be finished, would be useful.

tdc 2011-03-29 03:04:03

Thanks. The translation of course we think.

xeen 2011-03-30 16:26:50

heh, akurat może mi się przyda:)

tdc 2011-05-18 06:07:14

To daj znać jak coś zrobisz w nim.