Používáte Céčko, chcete aby vaše programy šly zkompilovat nejen na vašem ATARI, ale také na ostatních obvykle používaných počítačích, pak je tady GLCB, tedy Graphics Library for 'C' beginners.
Co celý balík nabízí?
Přídává do standardní knihovny funkce pro ovládání grafiky v rastru 320x200/16 barev nebo okna ve Windows či GEMu, sprajty, stav myši, klávesnice, přístupy k souborům, funkce pro reálný čas, double buffering kvůli animacím, digitalizovaný zvuk (přehrávání nezastavuje běh programu), správu paměti, náhodný zvuk a interní jednoduše použitelný font.
Grafika
Jak už jsem řekl, podporován je především grafický režim 320x200/16, který na pořádnou hru i podle slov autora Guillaume Lamonoca úplně stačí (stačí se podívat na Nishirana jehož je tento člověk spoluautorem). V zakladním režimu je dokonce paleta nastavena kompatibilně s EGA, tyto barvy však můžete předefinovat. Pro správu palety jsou k dispozici i rozšířené funkce pro PC, Falcon a X11.
Samozřejmostí se stává kreslení čar, elips, čtverců, polygonů (k dispozici jsou i takové perličky, jako horizontální či vertikální čáry).
Správa obrazovky probíhá buď přes Double Buffer, kdy do jedné obrazovky kreslíte a druhou vidíte, po dokreslení je přepnete a vše je plynulé a bez rušivých jevů. Druhou možností bude patrně používání jednoduché obrazovky, kdy se sice také kreslí do virtuálního screenu, ale ten se po zavolání funce refresh updateuje do visual screen. Pochopitelně možné je i obrazovku smazat či kopírovat.
Na grafický displej můžete zapisovat také text pomocí funkcí affchar, printchar, affstring, printstring. Přístupné znaky leží mezi ascii 32 až 95, tudíž s Češtinou budou patrně menší problémy, avšak domnívám se, že si všichni poradíte.
Poslední typ grafiky, sprajty v GLCB, ty musíte ovládat jako každý jiný grafický objekt, tedy žádné komfortní funkce jako ve STOS Basicu, pouze položení, rezervování, vybrání a zrušení bloku.
Zvuk
Ovládání zvuku je co nejvíce standardní, tudíž podpora spočívá pouze v obvyklém YM-2149, který programově přehrává samply (8 bitové v určité frekvenci). Na Amigách nevím, na PC mě fungoval sice PC Speaker, zato Soundblaster se 16 bity se mi nepodařilo u kamaráda rozhýbat. A na pracovních stanicích zvuk pro jistotu chybí.
Ovládání
Dalšími, v 'C' ne zcela standardními, ovladači je myš a potažmo i klávesnice při ovládání her. I zde vyšlo GLCB vstříc, takže je možné přečíst stav klávesnice či myši. Nejedná se patrně o dokonalé řízení, kdy systém detekuje dvě či více (na PC) kláves dohromady, ale i přesto tyto funkce běhají i v Multitaskingu, tudíž nezastavují běh programu.
Pamět
I tady předešli autoři pro jistotu jakýmkoliv nejasnostem, takže můžete rezervovat, uvolnit, kopírovat a zjistit volnou pamět.
Matematika
GLCB vyhazuje náhodná čísla buď v rozsahu 0-32767, nebo v rozsahu 0 až n-1. A obsahuje 14-bitovou trigonometrickou tabulku definovanou v hodnotách 0-255 pro Siny a Cosiny a -32 až 32 pro Tg.
Soubory
Ano i v této oblasti je většina systému nekompatibilní, tudíž v GLCB jsou pro jistotu všechny funkce pro čtení, vytváření a zápis souborů vytvořeny znovu. Podporován je zcela pochopitelně pouze binární přístup. A klasické dosovsko-unixovské konvence, tudíž jméno nesmí být delší než 8+3 znaků, ale jako identifikátor adresáře poslouží znak / apod.
GLCB je prozatím podporuje tyto systémy:
ultrix,OSF/1, VMS, OpenVMS, SunOS, Windows 3.1, MsDos, System 7, AmigaDos,TOS ...
Každá mutace se v menších či větších drobnostech liší. Nejvíce mutací je k dispozici pro TOS (ST, ST GEM, Falcon GEM, TT GEM etc.) a pro PC kde vše pracuje buď pod MS-DOSem nebo Windows.
K základnímu balíku GLBC_ALL došlo od autorů také 6 zdrojových kódů herních klasik jako Sokoban, Miny, Q-Bert, Bolder Dash, Kakanoid (Arkanoid), jakýsi podivný Columns a nakonec skutečný combat simulátor (vrtulník proti tanku). Takže aniž byste museli příliš programovat, zkompilujete si tutéž hru na několika systémech a pak všem říkate jak je to boží. To jediné si totiž autoři přáli, když vypouštěli do světa celé GLCB jako absolutně free se všemi zdrojáky, které si můžete libovolně podle potřeby opravit. A za to jim děkujeme. Navíc ve svém počinu poprosili programátory, ať, jakmile vyrobí nějakou hru, program pomocí této knihovny na nějakém počítači, ať dají k dispozici zdrojáky či alespoň rekompilují i pro ostatní, méně často používané systémy.
HEAD
P.S. GLBC můžete najít v Public Sectoru na disku COD005 nebo na nějaké lepší BBS (SAY určitě, Terra v Brně, DTP Center apod).