<chapter id="technical-reference">
<chapterinfo>

<authorgroup>
<author
> <firstname
>Eric</firstname
> <surname
>Bischoff</surname
> </author>
<othercredit role="translator"
><firstname
>Stanislav</firstname
> <surname
>Višňovský</surname
> <affiliation
> <address
><email
>visnovsky@nenya.ms.mff.cuni.cz</email
></address
> </affiliation
><contrib
>Preklad</contrib
></othercredit>
</authorgroup>

<date
>2002-04-10</date>
<releaseinfo
>0.03.02</releaseinfo>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KTuberling</keyword>
<keyword
>technická príručka</keyword>
</keywordset>
</chapterinfo>

<title
>Technická príručka</title>

<para
> &ktuberling; umožňuje príjemnú cestu, ako sa naučiť upravovať &kde; a ako v ňom programovať. Aplikáciu je možné rozšíriť. Napríklad, bez programovania je možné pridať nové ihriská zmenou grafických súborov. Pridaním vhodných zvukových súborov je možné pridať ďalší jazyk. </para>

<para
> Ak rozšírite alebo upravíte niektorú časť, prosím, pošlite vaše zmeny autorovi, <ulink url="mailto:e.bischoff@noos.fr"
>Ericovi Bischoffovi</ulink
>, aby ich pridal do budúcich verzií. </para>

<sect1 id="for-artists">
<title
>Pre umelcov</title>

<para
> Veľkosť a tvar ihriska a počet objektov je možné zmeniť. Môžete aj pridať nové ihriská. Stačia na to dva grafické súbory: hracia plocha a maska. Povolených je maximálne 8 ihrísk, pričom 3 už sú definované. </para>

<para
> &ktuberling; používa 6 obrázkov: <filename
>potato-game.png</filename
>, <filename
>potato-mask.png</filename
>, <filename
>penguin-game.png</filename
>, <filename
>penguin-mask.png</filename
>, <filename
>aquarium-game.png</filename
> a <filename
>aquarium-mask.png</filename
>. Ich štandardné umiestnenie je v priečinku <filename class="directory"
>$KDEDIR/share/apps/ktuberling/pics/</filename
>. </para>

<para
> Prvý typ obrázkov, <filename
>*-game.png</filename
> obsahuje ihrisko a objekty, ktoré je možné umiestniť. Toto je grafika, ktorú používateľ vidí počas hry. </para>

<para
> Druhý typ obrázkov, <filename
>*-mask.png</filename
>, obsahuje iba masky objektov. Používajú sa pre určenie okrajov objektov a v niektorých prípadoch definujú aj priehľadnosť objektov (napríklad pre okuliare). Je nutné, aby objekty boli v súbore masky umiestnené na rovnakom mieste ako v súbore s obrázkami pre hru. </para>

<para
> V tom istom priečinku sa nachádza aj súbor <filename
>layout.xml</filename
>. (<filename
>$KDEDIR/share/apps/ktuberling/pics/layout.xml</filename
>) Obsahuje definíciu, ktoré obrázky sa majú použiť a určuje pre ne položky menu. Obsahuje aj parametre pozície ihriska a objektov na ploche a v maske. Priraďuje objektom zvuky a vytvára z objektov skupiny. No a nakoniec dekladuje jazyky ako množiny preložených zvukov. Je v štandardnom formáte XML (detaily nájdete <link linkend="layout-details"
>nižšie</link
>). </para>

<para
> V priečinku je ešte súbor <filename
>layout.i18n</filename
> (<filename
>$KDEDIR/share/apps/ktuberling/pics/layout.xml</filename
>), ktorý obsahuje texty z <filename
>layout.xml</filename
>, ktoré je možné preložiť: <itemizedlist
> <listitem
><para
>Položky menu, ktoré umožňujú vybrať ihrisko a jazyk</para
></listitem
> <listitem
><para
>Mená kategórií objektov</para
></listitem
> </itemizedlist
> </para>

<para
> O jednu úroveň vyššie je súbor <filename
>ktuberlingui.rc</filename
> (<filename
>$KDEDIR/share/apps/ktuberling/ktuberlingui.rc</filename
>). Popisuje menu &ktuberling;. Mal by obsahovať jednu značku <markup
>&lt;action&gt;</markup
> pre každé ihrisko a jazyk. Symbolické meno akcie v tomto súbore by malo byť rovnaké ako symbolické meno akcie v súbore <filename
>layout.xml</filename
>. </para>

</sect1>

<sect1 id="for-translators">
<title
>Preklad</title>

<para
> Okrem obvyklého spôsobu prekladu pomocou súborov <literal role="extension"
>.po</literal
>, je možné preložiť aj zvuky. </para>

<para
> Prekladatelia môžu nahrať zvuky a uložiť ich do súborov <literal role="extension"
>.wav</literal
>, tie potom uložiť do podpriečinku pre ich jazyk. Meno zvuku sa potom priradí súboru v <filename
>layout.xml</filename
>. Napríklad, ak sa prekladá so slovenčiny, súbory <literal role="extension"
>.wav</literal
> by mali byť v <filename
>$KDEDIR/share/apps/ktuberling/sounds/sk</filename
>. Potom je možné zvuk <quote
>hat</quote
> priradiť menu súboru <filename
>sk/klobuk.wav</filename
>. </para>

<para
> V budúcej verzii bude &ktuberling; používať formát OGG Vorbis rc3. Momentálne je možné previesť súbory WAV na OGG Vorbis rc3 týmto príkazom: <screen>
<prompt
>$</prompt
> <userinput
>oggenc_rc3 -o <replaceable
>zvuk.ogg</replaceable
> <replaceable
>zvuk.wav</replaceable
></userinput>
</screen
> </para>

<para
> Informácie o mechanizme prekladu &kde; nájdete v <ulink url="http://i18n.kde.org/translation-howto/index.html"
>The KDE Translation HOWTO</ulink
>. </para>

</sect1>

<sect1 id="for-programmers">

<title
>Pre programátorov</title>
<para
>Pre programátorov nie je zložité &ktuberling; rozšíriť.</para>

<sect2 id="classes">
<title
>Triedy C++</title>

<variablelist
> <varlistentry
> <term
><classname
>TopLevel</classname
></term
> <listitem
> <para
>Okno najvyššej úrovne a základná správa programu</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><classname
>PlayGround</classname
></term
> <listitem
> <para
>Popis jednej z úrovní hry</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><classname
>ToDraw</classname
></term
> <listitem
> <para
>Popis jedného z grafických <quote
>objektov</quote
>, ktoré sa majú vykresliť</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><classname
>SoundFactory</classname
></term
> <listitem
> <para
>Popis jedného z jazykov a jeho zvukov</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><classname
>Akcia</classname
></term
> <listitem
> <para
>Jedna zmena v zásobníku akcií pre vrátenie späť/opakovanie vrátených</para
> </listitem
> </varlistentry
> </variablelist>

</sect2>

<sect2 id="files-structure">
<title
>Štruktúra súborov <literal role="extension"
>.tuberling</literal
></title>

<para
>Súbor <literal role="extension"
>.tuberling</literal
> obsahuje všetky dáta nutné pre prekreslenie obrázku. Dá sa upraviť normálnym textovým editorom.</para>

<para
>Prvý riadok obsahuje číslo ihriska.</para>

<para
>Každý ďalší riadok obsahuje jeden grafický objekt v poradí, ako sa majú kresliť. Každý riadok obsahuje 5 čísel: identifikátor objektu a obdĺžnik, kde sa má vykresliť (ľavá, horná, pravá, dolná súradnica). Čísla sú oddelené medzerami.</para>

</sect2>
</sect1>

<sect1 id="layout-details">
<title
>Štruktúra súboru rozloženia (<filename
>layout.xml</filename
>)</title>

<para
> Značka na najvyššej úrovni môže byť iba jedna a musí to byť <markup
>&lt;ktuberling&gt;</markup
>. Obsahuje niekoľko častí <markup
>&lt;playground&gt;</markup
>, pre každé ihrisko jednu a niekoľko častí <markup
>&lt;language&gt;</markup
>, jednu pre každý jazyk. </para>

<para
> Značka <markup
>&lt;playground&gt;</markup
> má dva atribúty: <markup
>gameboard</markup
> a <markup
>masks</markup
>. Obsahujú mená súborov, ktoré obsahujú obrázky. Značka <markup
>&lt;playground&gt;</markup
> obsahuje aj jednu značku <markup
>&lt;menuitem&gt;</markup
>, jednu <markup
>&lt;editablearea&gt;</markup
>, niekoľko <markup
>&lt;category&gt;</markup
> a niekoľko <markup
>&lt;object&gt;</markup
>. </para>

<para
> Značka <markup
>&lt;menuitem&gt;</markup
> popisuje idfentifikátor akcie položky menu, ktorá umožňuje vybrať pouíciu, kde sa majú objekty pustiť a text tejto položky menu. Tento identifikátor by mal byť v súbore <filename
>ktuberlingui.rc</filename
>. </para>

<para
> Značka <markup
>&lt;editablearea&gt;</markup
> popisuje pozíciu, kam sa majú púšťať objekty a meno zvuku s ňou asociovaného. </para>

<para
> Značka <markup
>&lt;category&gt;</markup
> obsahuje pozíciu a text pre skupinu objektov. Napríklad môže popisovať pozíciu a text skupiny <quote
>vylepšení</quote
>. </para>

<para
> Značka <markup
>&lt;object&gt;</markup
> popisuje pozíciu (v súbore plánu a masky) objektu, jeho meno a jeho zvuk. </para>

<para
> Značka <markup
>&lt;language&gt;</markup
> má jeden atribút: <markup
>code</markup
> Obsahuje kód jazyka. Značka <markup
>&lt;language&gt;</markup
> obsahuje jednu značku <markup
>&lt;menuitem&gt;</markup
> tag a niekoľko značiek <markup
>&lt;sound&gt;</markup
>. </para>

<para
> Značky na ďalších úrovniach tu už nie sú popísané, pretože ich použitie je zrejmé. Ak zmeníte súbor <filename
>layout.xml</filename
>, nezabudnite upraviť aj <filename
>layout.i18n</filename
> a <filename
>ktuberlingui.rc</filename
>. </para>

</sect1>
</chapter>

