ANIM-G15v7

Radek Štěrba, RASTER 1996

Program ANIM15V7 je autorským dílem Radka Štěrby. Pokud ho máte v úmyslu používat, zašlete prosím symbolický SHAREWARE poplatek 20Kč na adresu:
Radek Štěrba
Čsl.odboje 36
PROSTĚJOV 6
798 11

Děkuji...

Rozšiřování je povoleno jen v kompletní sadě bez jakýchkoliv úprav:
ANIM15V7.TBA ..TBasicový program
ANIMG15.CAP  ..tento popis
ANIMDEMO.CAP ..2 ukázkové příklady
ANIM.PIC     ..celostránkový obrázek
USTA.ANI     ..8 animačních pozic
               o rozměru 8x16
KOULE.ANI    ..4 animační pozice
               o rozměru 4x16

Návod k použití, popis všech funkcí:

ANIMG15 je program mé vlastní výroby určený pro vytváření grafiky a animací. Možná existují jiné (lepší) programy pro tento účel, ale tento jsem vyrobil tak, aby maximálně vyhovoval mému způsobu práce. Domníval jsem se, že je tedy absolutně nepoužitelný pro kohokoli jiného. Protože jsem však již mnohokrát dostal dopis s žádostí o tento grafický editor (a to dokonce i za nemalé finanční částky!!!), uvolil jsem se, že napíšu návod k použití a program zveřejním ve FLOPu.

Mezi nejzajímavější skutečnost spjatou s tímto editorem snad patří, že jsem pomocí jeho stále zdokonalované prapraverze vyrobil úplně všechny svoje hry (a i R.Knill s ním pracoval na svých hrách). Takže veškerá grafika a animace příšerek od prvního Predátora až po Naturixe či Gunheada, jakožto i jednotlivé stavební prvky jejich místností, vznikly právě v tomto editoru.

Považuji však za nutné Vás hned na začátku informovat o některých vlastnostech programu:

  1. Je napsán a pracuje v TurboBasicu (s jednou strojovou rutinou).
  2. Používá kombinovaně česká a anglická slova.
  3. Data pro animace z něj získaná jsou použitelná jen ve vlastních programech, a to pomocí rutiny SIRVYS (vykresluje blok, který je daný: šířkou, výškou, adresou zdrojových videodat, adresou cílového místa ve videoRAM).
  4. Program není zcela robustní ("blbovzdorný"). Budete-li se snažit, podaří se Vám zajisté nějaký ten ERRORek vybudit.

Jak lze vytušit z názvu, ANIMG15 je určen pro práci s grafickým režimem 15 (tj. rozlišení 160x192 při 4 barvách). Program umožňuje používat celou obrazovku o rozměrech 160 na 160 pixelů (bodů). V dolní části je multifunkční textové okno.

Spuštění programu:
Po spuštění programu se objeví dotaz na šířku a výšku bloku. Tímto blokem (animační blok) je myšlen obdélník, v němž budou moci být prováděny animace. Šířka se zadává v bytech (1 byte = 4 body) a výška v bodech (klasický pixel).

Posledním dotazem je nastavení značek. To souvisí s počátečním umístěním všech animačních bloků. Pokud nezadáte žádnou hodnotu, budou ponechány předchozí hodnoty. Při prvním spouštění programu je vhodné zadat 0.

Způsob ovládání:
Program se ovládá joystickem (všech 8 směrů + tlačítko) a stlačováním kláves, které vyvolávají příslušné funkce. Funkce pro posun kurzoru jsou zdvojeny, takže joystick není bezpodmínečně nutný.

Obyčejné kreslení:
Kreslit lze velmi snadno. Klávesy 0,1,2,3 nastavují aktuální barvu. 0 je černá (barva pozadí), 1 tmavě šedá, 2 světle šedá a 3 bílá. Nastavenou barvu je vidět ve čtverci v levém dolním rohu. Pomocí joysticku (nebo směrových šipek bez Control) lze pohybovat s blikajícím bodem, který označuje aktuální pozici. V případě stlačení tlačítka na joysticku nebo klávesy Return bude na aktuální pozici vykreslen aktuální barvou bod. Pro pohodlnější smazání bodu bez nutnosti nastavovat barvu 0 je určena klávesa DELETE.

Základní režimy práce:
Mezi dva základní režimy práce patří PICTURE a DIGIT.

PICTURE
Nastavení do tohoto režimu se provede stlačením P. Kreslení je umožněno po celé obrazovce bez omezení. Tento režim je určen pro celostránkové kreslení.

DIGIT
Nastavení se provede stlačením D. Vypíší se základní informace o animačním bloku, tj. jeho rozměry, adresa videopaměti místa, kde se na obrazovce nachází (vzhledem k levému hornímu rohu obrazovky) a jeho velikost. Rozsah pohybu je nyní omezen pouze na tento blok. Chcete-li zvýraznit okraje bloku, můžete stlačit C (čtverec) a blok bude obtažen aktuálně nastavenou barvou. Animační blok můžete mít na libovolném místě obrazovky - je to dáno aktuální pozicí blikajícího bodu.

Tento režim je určen pro vytváření animace. Nakreslete do bloku animační pozici a stlačte S (save bloku). Nyní zadejte číslo, pod kterým má být tento blok uchován (číslování začíná od 0). Překreslete animační pozici a uložte ji pod dalším číslem. Pokud budete chtít vyvolat uloženou pozici, stlačte L (load bloku) a zadejte jeho číslo. Takto můžete nakreslit celou sérii obrázků a uložit je postupně např. pod čísly 0 až 7. Potom pomocí klávesy A (animace) a zadání "od pozice:0", "do pozice:7" a umístění (0 je levý horní roh) můžete sledovat animaci i s možností měnit průběžně klávesami 0 až 9 rychlost atd.

Vytvořený obrázek (celou obrazovku, tj. 6400 bytů) nebo uchované animační pozice můžete uložit klávesou Control+S (save). Při ukládání pozic se délka souboru odvozuje od nejvyššího čísla použitého při ukládání animačního bloku. Tuto hodnotu lze změnit klávesou M ("maximum"). POZOR: Do souboru s animačními pozicemi nejsou uloženy rozměry bloků, takže je nutné si je někam poznamenat.

Opačný proces (tj. načtení) provedete pomocí Control+L (load). Pro celou obrazovku je načítáno opět 6400 bytů. Pro animační pozice se načítá až do nalezení konce souboru a jeho délka je předána do hodnoty "maximum".

Pro ulehčení práce má program implementovánu velkou spoustu funkcí, jenž se vyvolávají stlačením příslušné klávesy či kombinace kláves. Některé lze používat jen v režimu PICTURE, některé naopak jen v režimu DIGIT. Existuje ještě režim ZOOM (zvětšený výřez obrazu), který také omezuje použití některých funkcí.

Všechny režimy:

RET
Vykreslení bodu na pozici kurzoru aktuální barvou (stejné jako tlačítko joysticku).

ESC
Přesun kurzoru do levého horního rohu povolené oblasti (v režimu PICTURE do l.h.r. obrazovky, v DIGIT do l.h.r. bloku).

0
1
2
3
Nastavení aktuální barvy.

+
*
-
=
Posun kurzoru vlevo, vpravo, nahoru a dolů (stejné s jednotlivými směry na joysticku).

J
Pauza při posuvu kurzoru.

SPACE
Vymazání dolní dialogové textové oblasti.

DELETE
Vykreslení bodu na pozici kurzoru barvou 0 (nezmění nastavení aktuální barvy).

Ctrl+F
(Fill) Vyplnění ohraničené oblasti aktuální barvou. POZOR: Tato funkce používá paměť za koncem TBASIC programu. Protože ale mezera mezi tímto koncem a začátkem oblasti se strojovou rutinou a videodaty animačních pozic není příliš velká (jen přibližně několik KB), hrozí nebezpečí jejich zničení a zhroucení celého programu (při vyplňování extrémně složitých oblastí).

R
(Restart) Znovuspuštění programu od začátku. Provede nejprve ověřovací dotaz.

Z
(Zoom) Zvětšení výřezu obrazovky - režim ZOOM. Levý horní roh pro zvětšenou oblast bude odvozen v režimu PICTURE z aktuální pozice kurzoru a v režimu DIGIT z levého horního rohu umístění bloku. Návrat zpět do celostránkového zobrazení se provede opětovným stlačením "Z". Všechny změny budou promítnuty do původního obrazu.

Všechny následující funkce nelze použít v režimu ZOOM:

D
Přepnutí do režimu DIGIT. Umístění animačního bloku je odvozeno od aktuální pozice kurzoru (s ohledem na BYTEovou hranici).

P
Přepnutí do režimu PICTURE (celostránkové kreslení).

Funkce pouze v režimu DIGIT:

S
(Save) Uložení bloku do paměti. Bude nutno zadat číslo, pod kterým má být obsah bloku uložen. Uchová se automaticky též tzv. "značka", která určuje pozici umístění tohoto bloku. Minimální použitelná hodnota čísla bloku je 0, maximální je ovlivněna velikostí bloku. Nebude-li postačovat paměť, program na to sám upozorní. POZOR: Je vhodné umisťovat jednotlivé bloky bezprostředně za sebe (tz. pod čísly 0,1,2,..). Nevyužitá čísla budou totiž zabírat stejnou paměť, jako by byla použita. Rozhodujícím faktorem pro výslednou celkovou délku souboru (při závěrečném ukládání do souboru) je největší použité číslo.

L
(Load) Zobrazení bloku. Je nutno zadat číslo bloku a nepovinně umístění. Nebude-li umístění zadáno (odklepnutím Returnem), použije se pro umístění "značka" pro tento blok (viz. Save).

Ctrl++
Ctrl+*
Ctrl+-
Ctrl+=
Posun obrazu v bloku vlevo, vpravo, nahoru a dolů. Bude proveden posun o 1 bod daným směrem. Krajní body na cílové straně budou přemazány vedlejšími body a na druhé straně se objeví řada bodů nulové barvy.

Ctrl+DELETE
Shift+DELETE
Smazání oblasti uvnitř bloku.

C
Pomocný čtverec (resp. obdélník). Zvýrazní okraje bloku obdélníkem aktuálně nastavené barvy. POZOR: Jedná se o normální vykreslení, takže obdélník přemaluje příslušnou oblast obrazu bez možnosti obnovení původního. Zrušit obdélník můžete nastavením barvy 0 a opětovným vykreslením klávesou C.

X
Y
Otočení obrazu v bloku podle osy X nebo Y.

Funkce pro oba režimy:

Shift+CLEAR
Smazání celé obrazovky (po ověřovacím dotazu).

Ctrl+S
(Save) Uložení celé obrazovky nebo všech animačních pozic (bloků) do zadaného souboru (zařízení:jméno.ext).

Ctrl+L
(Load) Načtení celé obrazovky nebo animačních pozic (bloků) ze zadaného souboru (zařízení:jméno.ext).

I
(Info) Informace o aktuální pozici kurzoru. Zobrazí se X-ová, Y-ová souřadnice a adresa místa videoRAM (vzhledem k levému hornímu rohu obrazovky), na kterém se kurzor nachází v okamžiku stlačení této klávesy (nemění se při následném pohybu kurzoru).

B
Bytová (BYTEová) hranice. V Jednom bytu videoRAM jsou uchovány 4 body. Chcete-li se nastavit na nejlevější bod této čtveřice (vzhledem k poloze kurzoru), použijte tuto funkci.

A
Animace. Je nutno zadat hodnoty od které po kterou pozici má být prováděna animace. Poslední hodnotou je místo (adresa videoRAM vzhledem k levému hornímu rohu!!!), kam bude animace vykreslována. Po proběhnutí série pozic od zadané do zadané hodnoty bude vždy proveden posun tohoto místa o hodnotu "animačního posuvu" (klávesa Q). Rychlost lze měnit pomocí zobrazených kláves.

Q
Nastavení hodnoty "animačního posuvu". Zobrazí se jeho předcházející hodnota. Zadáním -1 dosáhnete posuvu vlevo, 1 je posuv vpravo, -40 nahoru a 40 dolů. Základní nastavení je 0 (tj. pro animace probíhající na místě).

W
(Wait) Nastavení pauzy pro animaci. Není nutné nastavovat, neboť změnu lze provést i až při samotném "běhu" animace.

Shift++
Shift+*
Shift+-
Shift+=
Vykreslení čáry aktuální barvou od pozice kurzoru daným směrem až po první bod jiné barvy než té, která byla na pozici kurzoru. (Směry: vlevo, vpravo, nahoru, dolů.)

E
(End) Zastavení programu. Po potvrzení ověřovacího dotazu.

V
Výměna barev v bloku nebo na celé obrazovce (podle toho, zda je v okamžiku vyvolání této funkce aktivní režim DIGIT nebo PICTURE). Umožňuje vyměnit jednotlivé barvy. Příslušná část obrazu bude překreslena a barvové registry zaměněny podle zadaných hodnot.

Funkce pouze v režimu PICTURE:

T
Nastavení počátku tabulky (videodata jednotlivých bloků) a případně i nových rozměrů bloku. Tuto funkci lze použít pro současnou práci s bloky různých rozměrů. Je to však dosti komplikované - je nutno si pamatovat jednotlivé rozměry používaných bloků a hodnoty počátků jejich tabulek. Doporučuji používat jen sobě :-), protože tato funkce může snadno a rychle způsobit zničení animačních videodat.