in Blog

Pomsta! – Konfigurácia

Už je to dlhých päť mesiacov od zverejnenia zdrojákov Pomsty a konečne som sa dokopal ich trochu okomentovať. Ako prvé sa načíta konfigurácia, ktorá je zapísaná v súbore config\config.cfg a config\keyboard.cfg. Podľa tohto sa nastaví engine a pokúsi sa ďalej spracovať zdrojové dáta.

Na uloženie herných dát sa používajú štyri typy definičných súborov. Spoločnú majú povinnú hlavičku, ktorá obsahuje informácie o požadovanom engine a jeho minimálnej verzii.

#launcher=TXT;
#version=1.8.0;

Hlavičky musia byť vo všetkých súboroch rovnaké!

Základný z týchto súborov je index.dat, ktorý obsahuje jednoduchý zoznam. Ak je pred menom * ide o binárny súbor.

#launcher=TXT;
#version=1.8.0;
 
data/pomsta.dat
 
*data/gfx/pomsta/rainbow1.png
*data/gfx/pomsta/rainbow2.png
*data/gfx/pomsta/rainbow3.png
...

Pokračuje sa nastavením farieb. Je k dispozícii v samostatnom súbore, nemusí to tak byť ale vždy. V tomto prípade ide o súbor index.col.dat. Blok dát je v zátvorkách {} a definovaný kľúčovým slovom #colors;. Jednotlivé farby sú definované zložkami RED,GREEN,BLUE.

#launcher=TXT;
#version=1.8.0;
 
{
#color;
	background=0,99,116;
	normal=90,201,218;
	error=220,0,0; 
	normalinput=90,201,218;
	commandline=64,64,64;
	disablecommandline=60,60,60; 
	oldcommand=200,200,200;
	yourpen=225,225,225;
	cursor=200,200,200;
	cursorblink=200,200,200;
	cursorchar=64,64,64;
	cursorcharblink=64,64,64;
	yourpeninput=220,220,0;
	cursorinput=200,200,0;
	cursorinputblink=200,200,0;
	cursorinputchar=64,64,64;
	cursorinputcharblink=64,64,64;
	lowerseparator=44,44,44; 
	infoline=1,78,157;
	infopen=97,174,253;
	upperseparator=0,58,137;
	separator=90,201,218;
	highlight=70,190,110;
	active=70,190,110;
	direction=0,149,237;
	roomname=255,201,102;
	badaction=220,150,150;
	dictionaryhighlight=170,170,70;
	dictionarynormal=90,201,218;
	dictionarynew=220,150,150;
...
}

Po nastavení farieb sa načíta úvodný “obrázok” zo súboru index.pic.dat.

#launcher=TXT;
#version=1.8.0;
#font=font/pomsta/Hologram.ttf;
#fontSize=24;
#fontCorrectionOfWidth=1;
#fontCorrectionOfHeight=2;
READY
<b>normal</b>

Opäť je tu povinná hlavička s požadovaným #launcherom a jeho minimálna #version. Nasleduje požadovaný font, veľkosť a jeho prípadné veľkostné korekcie. Potom už nasleduje ASCII obrázok, čo je v tomto prípade text a medzera. Medzera ma definovanú farbou pozadia. Farbu textu je možné nastaviť tagmi <c></c> a farbu pozadia tagmi </b><b>.

Potom sa načítajú zvyšné dat súbory. Ako prvé sa z načítaných dát spracuje blok #privateconfig; a prepíše prípadne nastavenia z config.cfg. #privateconfig má vyššiu prioritu!

{
#privateconfig;
	#note virtualne rozmery okna;
	#width=800;
	#height=600;
	#bpp=32; #note farebna hlbka;
...
}

Ďaľší v poradí je blok dát #gameSetup. Všetky možnosti sú podrobne uvedené na wiki, nemá zmysel to duplicitne vypisovať.

{
#gameSetup;
	#apprelease;
 
	#appname=Pomsta šíleného ataristy;
	#icon=[data/pak.dat]*data/gfx/pomsta/rainbow1.png;
	#author=Wolf;
	#appversion=666;
	#infoline=MULTI PASCAL 666 aneb &lt;#var&gt;$rom_appname&lt;/#var&gt;;
 
	#separator=-;
 
	#yourposition=room_taxik;#note startovan pozicia;
 
	#actionstart=start_action;#note akcia spustena pri starte hry;
	#actionhelp=pomoc_action;#note akcia spustena pri prikaze pomoc;
	#actionload=load_action;#note akcia spustena po nacitani pozicie;
 
	#keysound=[data/pak.dat]*data/sfx/pomsta/Keyclick01.wav;
 
	#note bezpecnostne nastavenia su vypnute;
	#maxExecutionTime=0;
	#errorMaxExecutionTime=0;
	#maxLoopTime=0;
	#errorMaxLoopTime=0;
	#maxLoopCount=0;
	#errorMaxLoopCount=0;
}

Ak neboli farby zadefinované v samostatnom súbore tak sa načítajú teraz, ide o blok dát #color;. Nasleduje nastavenie príkazov v bloku #commands;. Niektoré sú definované viac krát, budú mať tak synonymá. Za zmienku stojí nastavenie príkazu #down. Je štandarne vypnutý a bude sa zapínať len na mieste kde má zmysel. Na strome. Je možné definovať aj úplne nové príkazy, ktoré engine nepozná. To zabezpečuje #newCommand.

{
#commands;
	#north=sever;
	#north=s;
...
	#down=dolů,#show,#disabled,#move;
	#down=d,#show,#disabled,#move;
...
	#newcommand=instaluj,instaluj,#show,#enabled,#dontmove;#note specialne prikazy;
	#newcommand=splhaj,šplhej,#show,#enabled,#dontmove;
	#newcommand=splhaj,vyšplhej,#show,#enabled,#dontmove;
	#newcommand=walkman,walkman,#show,#enabled,#dontmove;
...
}

Ako posledné sa spracujú systémové texty #systext; a tým je hotové základné nastavenie hry.

{
 
	#dot=.;
	#separator=,;
...
}

Teraz už stačí iba zadefinovať miestnosti, predmety, premenné prostredia a prípadné akcie.

Pridaj komentár

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.