# KsirKi naharedaktori käsiraamat

## Sissejuhatus

&ksirk; on tuntud strateegiamängu arvutiversioon. Selle välimus on igati muudetav. Käsiraamat selgitabki, kuidas luua nahku lausa nullist peale, kasutades failihaldurit, SVG-piltide redaktorit ja KsirKi naharedaktorit.

KsirKi naharedaktori pilt Pilt

Uue naha loomisel tuleb ette võtta kolm sammu: luua kataloogide hierarhia, luua graafika, mis paikneb tervikuna SVG-failis, ning seejärel panna KsirKi naharedaktori abil paika spraidid ja anda asjadele vajalikud nimed.

## &ksirk;i naha loomine

&ksirk;i välimus on igati muudetav. Kel on korralikud graafilised oskused, saab uue naha luua lihtsalt olemasolevat kopeerides, muutes vajalikult graafikat ja uuendades andmeid .desktop-seadistustefailis, mida saabki teha KsirKi naharedaktoris. Viimase asjana tuleb redigeerida faili, milles on kirjeldatud, mida siis tuleb lõpuks paigaldada.

Kõik näited, nii tekst kui ka pildid, on pärit &ksirk;i vaikenahast.

### Kataloogide ja failide struktuur

- Data/: andmed, mida programm kasutab naha piltide käsitlemisel.

  - CMakeLists.txt: kirjeldab, mida tuleb paigaldada.

  - onu.desktop: naha kirjelduse põhifail. Selle kirjelduse leiab allpool.

- Images/: naha pildid (kaart, spraidid jne.).

  - CMakeLists.txt: kirjeldab, mida tuleb paigaldada.

  - pool.svg: kaart ja kõik nahas kasutatavad spraidid.

  - map-mask.png: pilt, mis võimaldab programmil mängu ajal tuvastada, millise riigi kohal asub hiir (vaata allpool).

  - *.png: siinsed teised pildid on nuppude pildid.

- CMakeLists.txt/: kirjeldab, mida tuleb paigaldada.

- Sounds/: naha helid.

#### Kataloog Data

See kataloog sisaldab ainult üht faili, nimelt world.desktop. See kirjeldab naha sisu ehk siis maailma ülesehitust ja seda, kuidas seda kuvada. Seda ei pea käsitsi tegema, selle eest võib hoolt kanda KsirKi naharedaktor. Kuid ülevaate täielikkuse huvides kirjeldame seda siiski lähemalt.

onu rühm sisaldab mitmeid riigikirjeid, mitmeid rahvusekirjeid ning ka mitmeid mandrikirjeid. Eri rühmad sisaldavad eri spraitide, riikide, mandrite, rahvuste ja eesmärkide kirjeldusi.

Allpool on kirjeldatud kõigi rühmade sisu.

##### onu rühm

##### onu rühma kirjed

Kirje nimi | Sisu
width | Naha kaardi laius
height | Naha kaardi kõrgus
skinpath | Naha asukoht rakenduse andmete asukoha suhtes (vaikimisi skins/)
nb-countries | Riikide arv (vaikenahas 42); sama palju riike peaks olema allpool kirjeldatud riikide rühmades
nb-nationalities | Rahvuste arv (6 vaikenahas ); sama palju rahvusi peaks olema allpool kirjeldatud rahvuste rühmades
nb-continents | Mandrite arv (6 vaikenahas ); sama palju mandreid peaks olema allpool kirjeldatud mandrite rühmades
pool | Puulifaili nimi ja asukoht naha asukoha suhtes (nt. Images/pool.svg)
map-mask | Kaardimaski faili nimi ja asukoht naha asukoha suhtes (nt. Images/map-mask.png)
format-version | Nahafaili vormingu versioon (2.0)
name | Naha näidatav nimi
desc | Naha pikk kirjeldus
fighters-flag-y-diff | Lippude ja suurtükkide spraitide kõrguse erinevus
width-between-flag-and-fighter | Pikslite arv lipu vasakpoolseima piksli ja tavaolekus suurtüki (kui see ei tulista ega plahvata) parempoolseima piksli vahel

##### Spraitide kirjelduste rühmad

Iga spraiditüüp (lipp, jalavägi, ratsavägi, suurtükk, tulistav suurtükk ja plahvatav suurtükk) on kirjeldatud vastavas rühmas. Ainult mõnel spraidil on laiusekirje (width). Seda kirjet kasutatakse suhtelise asukoha määramiseks animatsioonide ajal: suurtükkide korral ei peaks nad tulistamisel või plahvatamisel "liikuma" teisele poole lippu.

##### Spraidi kirjelduse rühma kirjed

Kirje | Sisu
width | Lipuspraidi kaadrite laiuse määratlus
height | Lipuspraidi kaadrite kõrguse määratlus
frames | Spraidi kaadrite arv
versions | Lipuspraidi versioonide arv

##### Riikide kirjelduste rühmad

Kõik riigid on kirjas onu rühmas, riigikirjel on oma rühm, mille sildiks on riigi nimi. Allolev tabel loetleb nende rühmade kirjed.

##### Riikide kirjed

Kirje nimi | Sisu
id | Riigi täisarvuline unikaalne identifikaator, peab algama nulliga (0)
name | Riigi näidatav nimi
<sprait>-point | Riigi kõiki spraiditüüpe (lipp, jalavägi jne.) kuvatakse teatavas asukohas, mille määrab antud kirje, mis koosneb kahest komaga eraldatud täisarvust
neighbours | Antud riigi naabrite ID-de loend

##### Rahvuste kirjelduste rühmad

Kõik rahvused on kirjas onu rühmas, rahvusekirjel on oma rühm, mille sildiks on rahvuse nimi. Allolev tabel loetleb nende rühmade kirjed.

##### Rahvuste kirjed

Kirje nimi | Sisu
name | Rahvuse nimi (nt. Jaapan)
leader | Nimi, mida pakutakse antud rahvust valivale mängijale
flag | Riigi lipuspraidi elemendi nimi onu SVG-failis

##### Mandrite kirjelduste rühmad

Kõik mandrid on kirjas onu rühmas, mandrikirjel on oma rühm, mille sildiks on mandri nimi. Allolev tabel loetleb nende rühmade kirjed.

##### Mandrite kirjed

Kirje nimi | Sisu
name | Mandri nimi (nt. Aafrika)
id | Mandri täisarvuline unikaalne identifikaator
bonus | Armeede arv, mida saab käigu lõpul mängija, kellele kuuluvad kõik mandri riigid
continent-countries | Antud kontinendil asuvate riikide ID-de loend

##### Eesmärkide kirjelduste rühmad

Kõik eesmärgid on kirjas onu rühmas, eesmärgikirjel on oma rühm, mille sildiks on eesmärgi nimi. Allolev tabel loetleb nende rühmade kirjed.

##### Eesmärkide kirjed

Kirje nimi | Sisu
type | Eesmärgi tüüp, võib olla manner, riik või mängija
nbArmiesByCountry | Minimaalne armeede arv, mida mängija peab asetama igasse riiki
nbCountries | Riikide arv, mida mängija peab omandama
nbCountriesFallback | Kui eesmärgi tüübiks on mängija, kuid keegi tapab selle, siis saab siin määrata riikide arvu, mida mängija peab selle asemel vallutama
desc | Eesmärgi täielik tekstiline kirjeldus koos kõigi kohatäitjatega
continents | Mandrite ID-de loend, mida mängija peab vallutama

#### Kataloog Images

See kataloob sisaldab &ksirk;i spetsiifilisi nuppe ning SVG-puulifaili, mis sisaldab kaarti ja kõiki spraite.

##### Fail pool.svg

See SVG-fail sisaldab kaarti ja kõiki mängi spraite. Igal elemendil on selline nimi, et mängu saab need kõik eraldi valida ja renderdada.

Vaikenaha puhul on spraitideks lipud, jalavägi, ratsavägi ja suurtükk. Jalavägi tähistab üht armeed, ratsavägi viit ja suurtükk kümmet. Suurtükke kasutatakse ka võitlevate armeede kujutamiseks. Seepärast ongi suurtükispraite tervelt kolm: tavaline paigalseisev või liikuv, tulistav ja plahvatav suurtükk.

Iga spraidi pilt kujutab endast objekti mitme vaate ja iga vaate sees vastavate kaadrite kogumit. Vaated on korraldatud vertikaalselt, kaadrid horisontaalselt. See, kus täpselt lõigata pilt kaadriteks, leitakse järgmiselt: pildi kõrgus jagatakse vaadete arvuga ja laius kaadrite arvuga. Need andmed leiab failist onu.desktop.

Spraidi pildi näidis: cannon.png

Armeede spraitide puhul on kolm eri vaadet (vastavalt ülalt alla):

- paremale vaatav

- vasakule vaatav

- ja otse vaatav

Lippude puhul on ainult üks vaade. Kõigi spraitide taust peab olema läbipaistev.

Lipuspraidi pildi näidis: italy.png

##### Puuli elemendid

Elemendi nimi | Näidispilt | Sisu
map |  | Naha maailma kaart. Riikidel on suvaline kuju, aga need tuleb rühmitada silmaga haaratavate mandrite kaupa kas ainult asukoha või värvi järgi
italy |  | Itaalia rahvuse lipp; sellist kirjet on iga rahvuse puhul ainult üks
infantry |  | Üht armeed kujutav ikoon
cavalry |  | Viit armeed kujutav ikoon
cannon |  | Kümmet armeed kujutav ikoon
firing |  | Võitlevaid armeesid kujutav ikoon
exploding |  | Võitluse kaotanud armeesid kujutav ikoon
Alaska |  | Alaska riigi kujund. Seda kasutatakse riigi esiletõstmiseks. Iga riigi puhul on ainult üks kujund. Selle värvi ei kasutata, sestap on värv vaba.
reddices |  | Lahingu tulemusi näitavad punased täringud
bluedices |  | Lahingu tulemusi näitavad sinised täringud
mark1 |  | See tähis lisatakse võitlevatele spraitidele ning see näitab, mitut armeed nad esindavad. Antud juhul on selleks 1, aga on ka elemendid mark2 ja mark3.

##### Fail map-mask.png

See png-fail tähistab samuti naha maailma kaarti, kuid värvikoodidega, mis võimaldavad iga maad unikaalselt tuvastada. Maadel peab olema vähemalt sama kuju nagu vastaval maal failis map-png, et kasutajvad võiksid vaadataval maal kuhu tahes klõpsata. Sellised riigid nagu saared, näiteks Indoneesia, võivad vaikimisi kaardil olla suuremad kui nende vaste failis map.png, et riiki oleks lihtsam valida. Kaardimaski näidis

Riigi värvi sinine komponent (RGB mudelis) identifitseerib riigi: index 0 on riik 0 failis onu.xml, index 1 on riik 1 &etc; Valge (RGB-s 0xFFFFFF) identifitseerib riigi puudumise (mere või miks ma mitte eikellegimaa).

##### Nuppude pildid

Failinimed on otse koodis, nii et neid ei tohiks muuta. Allolev tabel näitab kõiki pakutavaid nuppe.

##### Graafilise kasutajaliidese nupud

Pilt | Failinimi | Sisu
| newNetGame.png | Püüab liituda võrgumänguga
| recycling.png | Kui kõik mängijad on oma armeed asetanud, on võimalik oma jaotust muuta ning seda see nupp teebki
| recyclingFinished.png | Armeede jaotamist enam ei muudeta; jaotamise lõpetamiseks tuleb seda nuppu vajutada kõigist klientide akendes
| nextPlayer.png | Lõpetab aktiivse mängija käigu ja annab järje edasi järgmisele mängijale või suundub järgmise vooru juurde, kui aktiivne mängija oli antud vooru viimane käiku sooritav mängija
| attackOne.png | Rünnaku alustamine ühe armeega
| attackTwo.png | Rünnaku alustamine kahe armeega
| attackThree.png | Rünnaku alustamine kolme armeega
| defendOne.png | Rünnatava maa kaitsmine ühe armeega
| defendTwo.png | Rünnatava maa kaitsmine kahe armeega
| moveArmies.png | Armeede liigutamise alustamine kahe maa vahel (käigu viimane toiming)

#### Kataloog Sounds

See kataloog sisaldab kolme helifaili:

- roll.wav esitatakse armeede liikumisel

- cannon.wav esitatakse tulistamisel

- ja crash.wav esitatakse suurtüki lõhkemisel

### KsirKi naharedaktori kasutamine

Pärast graafika ja SVG-faili loomist õiges kataloogis tuleb veel luua riigid, mängijad jms. ning seostada nad õige SVG-elemendiga puulis. Seda saab teha KsirKi naharedaktori abiga. Pane tähele, et iga rakenduse osa kirjeldatakse ka kohtspikrites ja kontekstiabis, mille normaalselt avab kiirklahv Ctrl+F1.

KsirKi naharedaktori pilt Pilt

## Käskude seletused

### KsirKi naharedaktori peaaken

#### Nupud

Laadi Laadi

- Võimaldab laadida olemasoleva naha.

Salvesta Salvesta

- Salvestab parajasti muudetava naha.

## KsirKi naharedaktorist arendajatele

API dokumentatsiooni leiab aadressilt http://api.kde.org/.

## Küsimused ja vastused

&updating.documentation;

## Autorid ja litsents

KsirKi naharedaktor

Rakenduse autoriõigus 2009: Gael de Chalendar kleag@free.fr

Dokumentatsiooni autoriõigus 2009: Gael de Chalendar kleag@free.fr

Tõlge eesti keelde: Marek Laane bald@smail.ee

&underFDL; &underGPL;

## Paigaldamine

### KsirKi naharedaktori hankimine

&install.intro.documentation;

### Kompileerimine ja paigaldamine

&install.compile.documentation;
&documentation.index;