atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Pędź Mietku, pędź! z 2024-10-10 12:44 (29)
ATASCII Compo - 4. edycja z 2024-10-06 19:12 (15)
Gra "Dangerous City" uwolniona! z 2024-10-03 15:49 (22)
Miniaturowe Atari #2 z 2024-09-30 19:15 (13)
Wkrótce "Bubble Bobble" na Atari z 2024-09-27 10:34 (52)
Pokłosie KWAS #34 - Projektowanie cartów Atari z 2024-09-26 20:28 (9)
Nocne Retro Granie w Poznaniu z 2024-09-24 20:35 (1)
O kodowaniu efektów dema na Atari STE z 2024-09-22 15:58 (27)
Co nowego dla Atari Portfolio? z 2024-09-19 19:43 (0)
Najmniejsze Atari cz. II z 2024-09-17 21:07 (4)
Nadlatuje polski sokół! z 2024-09-12 18:44 (16)
Atarowskie maleństwo po raz piąty! z 2024-09-09 18:58 (2)
Pamiętniczek dinozaurowych koderów z 2024-09-05 14:01 (12)
"Mafia" - od zera do supergangstera z 2024-09-03 23:55 (20)
Wkrótce spotkania z 2024-09-02 20:38 (5)
Ankieta dla zainteresowanych efektami w demie z 2024-08-30 17:54 (22)
Autorzy o demie "The Coders' Guide to the Demoscene" z 2024-08-26 14:29 (35)
Przejście gry "Auf Wiedersehen Monty" z 2024-08-26 14:23 (9)
Autorzy "Technical Difficulties" z 2024-08-25 16:58 (9)
Autorzy o "Auf Wiedersehen Monty" z 2024-08-23 20:56 (13)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja TOSEC)

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (35)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (36)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (3)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (8)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (19)
Basil The Great Mouse Detective opisał Charlie Cherry (125)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
«« nowszestarsze »»

Katalog gier (konwencja Kaz)
Aktualizacja: 2024-10-07
Liczba katalogów: 8477, liczba plików: 37049
Zmian katalogów: 66, zmian plików: 100

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 2933 MB


Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
Edytor duchów
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:

  • 1, 2, 3, 4, 5 - wybór duszka do edycji, 1-4 kolejni gracze, a 5 to pociski (jako piąty duszek), po uruchomieniu programu aktywny jest gracz numer 1
  • Shift + 1, 2, 3, 4, 5 - kolory duszków +2 (Shift + 2 zastąpiony jest kombinacją Control+2)
  • Control + Shift + 1, 2, 3, 4, 5 - kolory duszków -2
  • Control + Shift + Q, W, E, R, T - kolory duszków +16
  • spacja – bit
  • strzałki - poruszanie kursorem
  • Shift+Control+ strzałki góra/dół - przesuwanie obszaru edycji (zoomu) o ekran (tak jak w edytorze Action!)
  • Shift + - oraz O - przesunięcie obszaru edycji o 1 linię
  • Shift+ = oraz P - przesunięcie obszaru edycji o 1 linię
    B - dane z bufora, undo dla całego pojedynczego duszka, działa pomiędzy przełączaniem się pomiędzy duszkami. Oznacza to, że dane z całego duszka są zapamiętywane w momencie przełączania się pomiędzy duszkami
  • < - wczytywanie pliku danych (grafika duszków), np. z pliku D:DUSZKI.DAT
  • > - zapisywanie pliku danych
  • Control + A - wczytanie pliku parametrów (zawsze plik: D:EDUCHOW.DAT)
  • Control + S - zapisanie pliku parametrów (zawsze plik: D:EDUCHOW.DAT), zapisywane są ustawione przez użytkownika: pozycje duszków i ich parametry np. kolory oraz początek i koniec zaznaczonego bloku
  • Q, W, E, R, T, Y, U, I - przesuwanie graczy i pocisków +1
  • Shift + Q, W, E, R, T, Y, U, I - przesuwanie graczy i pocisków -1
  • A, S, D, F, G - sprzętowe skalowanie kolejnych duszków (zwiększanie wartości odpowiednich rejestrów)
  • Shift + Control + Delete - kasowanie wszystkich duszków, wymaga potwierdzenia klawiszami: Control+Delete
  • 8 - zaznacza początek bloku dowolnego duszka (góra bloku)
  • 9 - zaznaczamy koniec bloku dowolnego duszka (dół bloku), jeśli wskazany punkt będzie mniejszy od pozycji wskazanej klawiszem 8 - długość bloku wyniesie jedną linię
  • 0 - kopiuje w miejsce kursora zaznaczony blok dowolnego duszka

    Po uruchomieniu programu długość kopiowanego bloku wynosi 16 linii. Jeśli nie wybrano początku klawiszem 8 to początek pochodzi z danych nad strzałami (piąty duszek). Kopiowany blok może nachodzić na obszar celu, itp. Jednak druga taka operacja dotyczy już wcześniej zmodyfikowanej (czyli nie tak jak "wklej ze schowka" w 16-bitowych systemach). Bez trybu scalania duszków (klawisz "K") kopiuje z danego duszka do dowolnego aktualnie edytowanego. W trybie scalania kopiuje z wskazanej wysokości (klawisze 8 i 9) ze wszystkich aktywnych duszków do wszystkich aktywnych.

    Back Space - undo (drugie) dla ostatniej grupowej, np. blokowej, operacji na fragmencie duszka, np. wypełnianie, kopiowanie, także wstawianie z bufora (klawisz "B") itp. Działa przemiennie czyli da się wycofać efekt undo poprzez ponowne naciśnięcie tego klawisza. Undo działa we wszystkich trybach (potrafi podwójnie kopiować wszystkie duszki nawet w całości). To undo jest podwójne, działa na 5 duszkach, w 5*2 trybach.

    Funkcje działające w trybie scalania duszków

  • Z - kasuje jedną linię (pod kursorem)
  • Shift + Z - kasuje albo obszar edycji albo zaznaczony blok (klawisze 8 i 9)
  • Control + Z - kasowanie aktualnego duszka
  • L - wartość losowa w linii kursora
  • Shift + L - wartości losowe albo w obszarze edycji albo w zaznaczonym zakresie
  • Control + L – wstawia wartości losowe na całej powierzchni aktualnego duszka
  • X - wypełnia aktualną linię wartością $FF
  • Shift + X - wypełnia blok lub obszar edycji
  • Control + X - wypełnia całego aktualnego duszka
  • Inverse - negatyw aktualnej linii
  • Shift + Inverse - negatyw w obszarze edycji lub w zaznaczonym bloku
  • Control + Inverse - negatyw całego sprite'a
  • C - odbicie aktualnej linii
  • Shift + C - odbicie obszaru edycji, odbijanie nie działa w trybie scalania duszków. Należy jednak pamiętać, że funkcja undo działa w trybie scalania (o ile jest włączony) i będzie przywracać dane dla wszystkich aktywnych w tym trybie duszków - co może czasami prowadzić do nietypowych rezultatów.

    Scalanie duszków

  • H - zwiększanie numeru duszka, od którego ma się zaczynać scalanie
  • Control + H lub Shift + H - zmniejszanie numeru duszka, od którego ma się zaczynać scalanie
  • J - zwiększanie numeru duszka, na którym ma się kończyć scalanie
  • Control + J lub Shift + J - zmniejszanie numeru duszka, na którym ma się kończyć scalanie
  • K - tryb łączenia-scalania duszków (włączone/wyłączone), undo (klawisz BackSpace) działa na wszystkich duszkach wskazanych w tym trybie
  • Esc - wyjście z programu, wymaga potwierdzenia T (Tak) lub Y (Yes) lub w przeciwnym wypadku należy nacisnąć dowolny klawisz.

    Dodatkowe informacje

    Domyślną nazwą pliku danych (grafika duszków) to D:DUSZKI.DAT. Program do tego pliku NIE zapisuje dodatkowych parametrów duszków jak: pozycje, kolory, skalowania duszków itp. Dane zapisywane są do pliku jako struktura danych układu GTIA czyli pierwszymi danymi będą pociski, następnie kolejni gracze. Dodatkowo pomiędzy danymi duszków jest niewielka przerwa wynikająca z funkcjonowania GTIA. Dzięki tej zgodności, plik wystarczy wczytać we własnym programie w odpowiednie miejsce, aby osiągnąć tą samą grafikę duszków, która jest widoczna w edytorze.

    Edytor nazwy plików - umożliwia wybór nazwy pliku do zapisu/odczytu danych duszków. Aktywne są tylko niezbędne klawisze związane z poprawną nazwą pliku oraz jego edycją. Zatwierdzenie nazwy pliku następuje za każdym razem, jednak klawisze Return i Tab kontynuują zapis lub odczyt pliku o podanej nazwie, natomiast klawisz Esc przerywa operacje czyli do zapisu/odczytu nie dojdzie. Jeśli nazwa pliku zawiera spację to nazwa pliku zostanie przycięta do tej pozycji. Wprowadzona nazwa pliku nie musi się rozpoczynać od "D:".

    Program zapisuje parametry duszków oraz ustawienia programu w pliku D:EDUCHOW.DAT. Pierwsze 5 bajtów to kolory odpowiednio: graczy 1-4 oraz pocisków. Pozycje duszków to 8 następnych bajtów, 5 następnych bajtów to sprzętowe skalowanie duszków, dalsze dane są parametrami edytora. Program nie kasuje zawartości duszków przy uruchomieniu i zakończeniu pracy, dzięki czemu możliwe jest wyjście z programu do DOS-a, a następnie ponowne uruchomienie i kontynuowanie pracy (o ile inny program nie uszkodził roboczego fragmentu pamięci). Obszar, który nie może być uszkodzony w tym czasie przez inny program to $8595-$9800. Uszkodzenie danych bufora (undo) może spowodować uszkodzenie zapamiętanych adresów i dane zostaną przekopiowane do nieprawidłowego adresu - może to zawiesić komputer. Program sprawdza taką ewentualność, jednak nigdy nie wiadomo jakie jeszcze inne dane zostaną uszkodzone.

    Ponowne uruchomienie programu może polegać na jego wczytaniu lub wykonaniu polecenia RUN w DOS-ie. Jeżeli wcześniejszy program umieścił jakieś dane w obszarze $85xx - $9800 to po uruchomieniu edytora duszki mogą być wypełnione śmieciami. Należy wtedy nacisnąć kombinację klawiszy Shift + Control + Delete (kasowanie wszystkich duszków) i potwierdzić klawiszami: Control + Delete.

    Program przed wczytaniem pliku danych duszków, zapamiętuje dane (odpowiednio do aktualnego trybu scalania duszków). Dzięki temu po wczytaniu nowego pliku można osiągnąć opcją undo wcześniejszą grafikę na wybranych duszkach. Wystarczy jedynie przed wczytaniem pliku włączyć tryb scalania duszków, wybrać duszki do zapamiętania, a następnie je odtworzyć po wczytaniu pliku. Z wyłączonym trybem scalania, zapamiętany zostanie jedynie aktualnie edytowany duszek.



    Przykłady

    Po uruchomieniu programu możemy wczytać jeden z przykładowych plików. Naciskamy klawisz „<”, podajemy nazwę pliku: „misiek.dat” lub „bauvan.dat”. Następnie naciskamy Control + A, aby wczytać zapisane ustawienia duszków. Dzięki temu przekonujemy się jaka jest ulubiona broń bauvanów :).

    Program był rozwijany w ostatnich tygodniach, nie miałem jednak czasu na dokładne testowanie, więc może posiadać jakieś błędy. Dlatego apeluję o rozwagę, jeśli ktoś zechce w nim zrobić "Archon III" ;). Oczywiście wszelkie nieprawidłowości proszę zgłaszać do mnie, na przykład na Forum Atarum.

    Obraz dyskietki z edytorem w wersji 1.7 do pobrania w tym miejscu. Następne wersje programu w drodze ;).

    2011-03-27 20:13 by Kaz
    komentarzy: 0
  • nickname
    e-mail / website (opcjonalnie)
    Aktualne tematy
    Porównanie Atari Falcon vs A1200 (54)
    ostatni: 12-10-2024 19:55, as...
    Motocross (LiteRally) (652)
    ostatni: 12-10-2024 18:50, Atariteca
    ACSI2STM / 1040 STE / TOS 1.06 - ... (29)
    ostatni: 12-10-2024 17:45, pigula
    Zróbmy razem grę...TONY 2 (22)
    ostatni: 12-10-2024 10:41, Wolfen
    DynaBlaster XE (4)
    ostatni: 12-10-2024 09:53, Demorgh
    Filterek do Blizzarda (102)
    ostatni: 12-10-2024 02:20, ascrnet
    Problem Jasia cover (94)
    ostatni: 12-10-2024 01:46, thewasp
    Uprościłem Starquake (10)
    ostatni: 12-10-2024 00:05, Cuzz
    SID i POKEY (698)
    ostatni: 11-10-2024 21:11, emkay
    MultiCLK Module for Atari 8-bit (17)
    ostatni: 11-10-2024 17:12, pancio
    Gra "TONY" (425)
    ostatni: 10-10-2024 22:48, xbx
    PBTOOLS - para narzędzi do manipu... (2)
    ostatni: 10-10-2024 21:55, Jeffrey S Worley
    Ciekawostki (5579)
    ostatni: 10-10-2024 18:19, j_g
    Gry w GTIA (63)
    ostatni: 10-10-2024 15:21, Kaz
    IBM Tetris... (6)
    ostatni: 10-10-2024 14:33, Kaz

    Kategorie Forum Atarum

    Użytkowników: 2835
    Ostatnio zarejestrowany: QPbmCRVM
    Postów ostatniej doby: 58

    Spotkania i zloty / Meetings & Parties

    Najbliższe imprezy
    link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

    KWAS

    Kalendarz AOL


    Społeczność/Community


    Rozmawiali
    Wywiad z Mariuszem Jaroszem i Kaz (13)
    Wywiad Dracona z Mr. Bacardim i Kaz (15)
    Tomasz Dajczak i Kaz (22)
    Lech Bąk i "Świat Młodych" i Kaz (26)
    Michał "Mike" Jaskuła i Kaz (30)
    F#READY i Dracon (22)
    Daniel „Arctus” Kowalski i Dracon (25)
    KATOD i TDC (15)
    Mariusz Wojcieszek i "Adam" (17)
    Romuald Bacza i Ramos (16)
    Śledzenie Amentesa i Larek (9)
    Leszek Łuciów i Charlie Cherry (17)
    TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
    Rob Jaeger i Emu (53)
    Jacek "Tabu" Grad i Dracon (0)
    Alexander "Koma" Schön i Kaz (0)
    Maciej Ślifirczyk i Charlie Cherry (0)
    Jarek "Odyniec1" Wyszyński i Kaz (0)
    Marek Bojarski i Kaz (0)
    Olgierd Niemyjski i Ramos (0)
    «« nowszestarsze »»

    Stragan
    Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
    "mouSTer" czyli myszka ST oferuje Kaz (30)
    Atari USBJoy Adapter oferuje Jakub Husak (0)
    Programy: Kolony 2106 oferuje Kaz (7)
    Sprzęt: rozszerzenia oferuje Lotharek (87)
    Gadżety: naklejki, pocztówki oferuje Sikor (11)
    Sprzęt: cartridge RAM-CART oferuje Zenon (7)
    Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
    Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
    Sprzęt: interfejs SIO2SD oferuje Piguła (50)

    Użytki/Utils
    Sprzęt/Hardware

    Wynalazki
    Atari i Bluetooth napisał Kaz (34)
    SIO2PC-USB napisał Larek (45)
    Nowe SIO2SD napisał Larek (0)
    SIO2SD w CA12 napisał Urborg (12)
    Ratowanie ATMEL-ów napisał Yoohaas (12)
    Projektowanie cartów napisał Zenon (12)
    Joystick do Atari napisał Larek (54)
    Tygrys Turbo napisał Kaz (11)
    Testowałem "Simple Stereo" napisał Zaxon (5)
    Rozszerzenie 1MB napisał Asal (20)
    Joystick trzyprzyciskowy napisał Sikor (18)
    Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
    Jak wykonać płytkę drukowaną? napisał Zaxon (26)
    Rozszerzenie 576kB napisał Asal (36)
    Soczyste kolory napisał scalak (29)
    XEGS Box napisał Zaxon (13)
    Atari w różnych rolach napisał Różyk (9)
    SIO2IDE w pudełku napisał Kaz (5)
    Atari steruje tokarką napisał Kaz (15)
    DarkMouse napisał Kaz (7)
    «« nowszestarsze »»