# Handbok &i18n-ksirkskineditor;

## Inledning

&ksirk; är en datorversion av ett välkänt strategispel. Det är fullständigt anpassningsbart med olika skal. Den här handboken förklarar hur man skapar nya skal från början, med användning av en filhanterare, en &SVG;-bildeditor och &i18n-ksirkskineditor;.

Här är en skärmbild av &i18n-ksirkskineditor; Skärmbild

Det finns tre huvudsteg när ett nytt skal ska läggas till: skapa kataloghierarkin, skapa grafiken, helt samlad inne i en &SVG;-fil, och därefter placera figurerna och namnge allt med användning av &i18n-ksirkskineditor;.

## Skapa ett &ksirk;-skal

&ksirk; är fullständigt anpassningsbart med olika skal. För de som kan handskas med grafik, är det enkelt att skapa ett nytt skal, genom att kopiera ett befintligt skal, redigera eller ändra grafiken och uppdatera data i en `.desktop`-inställningsfil, vilket görs med användning av &i18n-ksirkskineditor;. Det sista steget är att redigera filen som beskriver vad som ska installeras.

Alla exempel (text och bilder) kommer från &ksirk;s standardskal.

### Katalog- och filstruktur

- `Data/`: data använt av programmet för att hantera skalets bilder.

  - `CMakeLists.txt/`: beskriver vad som ska installeras.

  - `onu.desktop`: huvudfil för beskrivning av skalet. Se beskrivningen nedan.

- `Images/`: skalets bilder (karta, figurer, etc.)

  - `CMakeLists.txt/`: beskriver vad som ska installeras.

  - `pool.svg`: kartan och alla figurer som används av skalet.

  - `map-mask.png`: bilden som gör det möjligt för programmet att ta reda på vilket land musen finns över under spelet (se nedan).

  - `*.png`: övriga bilder här är knapparnas ikoner.

- `CMakeLists.txt/`: beskriver vad som ska installeras.

- `Sounds/`: ljudfiler för skalet.

#### Katalogen Data

Den här katalogen innehåller bara en fil, `world.desktop`. Filen är en beskrivning av skalets innehåll. Den används för att beskriva hur världen är organiserad och hur den ska visas. Man behöver inte fylla i den för hand, eftersom det hanteras av &i18n-ksirkskineditor;. Men för fullständighetens skull, beskrivs dess struktur här.

En `onu`-grupp innehåller ett antal landsposter, ett antal nationalitetsposter och till sist ett antal kontinentposter. Därefter innehåller diverse grupper beskrivningen av de olika figurerna, beskrivningen av de olika länderna, kontinenterna, nationaliteterna och målen.

Följande avsnitt beskriver innehållet i varje grupp.

##### Gruppen `onu`

##### Posterna i `onu`-gruppen

Postnamn | Betydelse
`width` | Bredden på skalets karta.
`height` | Höjden på skalets karta.
`skinpath` | Sökvägen till skalet i förhållande till programmets datasökväg (t.ex. det förvalda skins/).
`nb-countries` | Antal länder (42 i standardskalet). Det ska finnas lika många landsgrupper nedan.
`nb-nationalities` | Antal nationaliteter (6 i standardskalet). Det ska finnas lika många nationalitetsgrupper nedan.
`nb-continents` | Antal kontinenter (6 i standardskalet). Det ska finnas lika många kontinentgrupper nedan.
`pool` | Sökväg och namn på pool-filen i förhållande till skalets sökväg (t.ex. `Images/pool.svg`).
`map-mask` | Sökväg och namn på kartmaskfilen i förhållande till skalets sökväg (t.ex. `Images/map-mask.png`).
`format-version` | Skalfilformatets version (2.0).
`name` | Namnet på skalet som visas.
`desc` | Den långa beskrivningen av skalet.
`fighters-flag-y-diff` | Höjdskillnaden mellan flaggor och kanonfigurer.
`width-between-flag-and-fighter` | Antal bildpunkter mellan flaggans vänstra bildpunkt och den vanliga kanonens högra bildpunkt (när den inte skjuter eller exploderar).

##### Beskrivningsgrupperna för figurer

Varje typ av figur (flagga, infanterist, kavalleri, kanon, skjutande kanon och exploderande kanon) definieras av en grupp. Bara vissa figurer har breddinformation. Den används för relativ placering vid animering: när kanonerna skjuter eller exploderar ska de inte flyttas runt landets flagga under en strid.

##### Grupposter för figurbeskrivning

Postnamn | Betydelse
`width` | Referensbredden på flaggfigurernas ramar.
`height` | Referenshöjden på flaggfigurernas ramar.
`frames` | Antal ramar i flaggfiguren.
`versions` | Antal versioner av flaggfigurerna.

##### Beskrivningsgrupper för länder

Varje land som listas i `onu`-gruppens landspost har sin egen grupp, vars beteckning är landets namn. Tabellen nedan listar posterna i dessa grupper.

##### Landsposter

Postnamn | Betydelse
`id` | Heltalet med landets unika identifikationsnummer, måste börja från noll (0).
`name` | Landets visade namn.
`<sprite>-point` | Varje sorts figur (flagga, infanterist, etc.) i landet visas på en viss plats definierat av den här posten skapad av två heltal åtskilda av ett kommatecken.
`neighbours` | Listan av identifierare för grannarna till det aktuella landet.

##### Beskrivningsgrupper för nationaliteter

Varje nationalitet som listas i `onu`-gruppens nationalitetspost har sin egen grupp, vars beteckning är nationalitetens namn. Tabellen nedan listar posterna i dessa grupper.

##### Nationalitetsposter

Postnamn | Betydelse
`name` | Nationalitetens namn (t.ex. `Japan`).
`leader` | Namnet som föreslås för spelaren som väljer nationaliteten.
`flag` | Namnet på landets flaggfigurelement i `onu` &SVG;-filen.

##### Beskrivningsgrupper för kontinenter

Varje kontinent som listas i `onu`-gruppens kontinentpost har sin egen grupp, vars beteckning är kontinentens namn. Tabellen nedan listar posterna i dessa grupper.

##### Kontinentposter

Postnamn | Betydelse
`name` | Kontinentens namn (t.ex. `Afrika`).
`id` | Kontinentens unika heltals-identifikationsnummer.
`bonus` | Antal arméer som erhålls i slutet på omgången av spelaren som äger kontinentens alla länder.
`continent-countries` | Listan över identifierare för länderna på den aktuella kontinenten.

##### Beskrivningsgrupper för mål

Varje mål som listas i `onu`-gruppens målpost har sin egen grupp, vars beteckning är målets namn. Tabellen nedan listar posterna i dessa grupper.

##### Målposter

Postnamn | Betydelse
`type` | Målets typ. Kan vara kontinenter, länder eller spelare.
`nbArmiesByCountry` | Ställer in minimalt antal arméer spelaren måste placera på varje land.
`nbCountries` | Ställer in antal länder som spelaren måste äga.
`nbCountriesFallback` | För måltypen spelare, om målets spelare dödas av någon annan, ställer det här in antal länder som spelaren måste erövra istället.
`desc` | En fullständig textbeskrivning av målet med lämpliga platsmarkörer (ytterligare dokumentation behövs här).
`continents` | Listan med kontinent-identifierare som spelaren måste erövra.

#### Katalogen Images

Katalogen innehåller knappar specifika för &ksirk;, och &SVG;-filen pool som innehåller kartan och alla figurer.

##### Filen `pool.svg`

&SVG;-filen innehåller kartan och alla spelets figurer. Varje element namnges så att spelet kan välja och återge var och en av dem separat.

Med standardskalet är figurerna flaggor, infanterister, kavalleri och kanoner. En infanterist representerar en armé, kavalleri är fem och kanoner är tio. Kanoner används också för att visa stridande arméer. Därför finns det tre olika sorters kanonfigurer: normala stillastående eller förflyttade, skjutande och exploderande kanoner.

Varje figurbild är sammanslagningen av objektets diverse olika vyer, och för varje vy, dess ramar. Vyerna organiseras vertikalt, och ramarna horisontellt. Var bilden ska delas i enskilda ramar beräknas genom att dela bildens höjd med antal vyer och dess bredd med antal ramar. Denna information hittas i filen `onu.desktop`.

Ett exempel på en figurbild: `cannon.png`

För arméfigurer finns det tre olika versioner, uppifrån och ner:

- vända åt höger

- vända åt vänster

- vända framåt

För flaggor finns bara en version. Alla figurernas bakgrunder ska vara genomskinliga.

Ett exempel på en flaggfigurbild: `italy.png`

##### Elementen i pool

Elementnamn | Exempelbild | Betydelse
`map` |  | Karta över skalets värld. Länder kan ha godtyckliga former, men bör grupperas i kontinenter som kan kännas igen med blotta ögat, enligt plats eller färg.
`italy` |  | Flaggan för nationen italy. Det finns en sådan post för varje nation.
`infantry` |  | Ikon som representerar en armé.
`cavalry` |  | Ikon som representerar fem arméer.
`cannon` |  | Ikon som representerar tio arméer.
`firing` |  | Ikon som representerar arméer under en strid.
`exploding` |  | Ikon som representerar arméer när en strid förloras.
`alaska` |  | Formen av staten Alaska. Den används för att markera staten. Det finns en sådan form för varje stat. Dess färg används inte. Av den anledningen är färgen valfri.
`reddices` |  | De röda tärningarna används för att visa stridsresultat.
`bluedices` |  | De blåa tärningarna används för att visa stridsresultat.
`mark1` |  | Markeringen läggs till för stridande figurer för att visa antal arméer de representerar, här 1. Elementen `mark2` och `mark3` finns också.

##### Filen `map-mask.png`

Detta är en png-fil som också representerar skalets världskarta, men med kodade färger som gör det möjligt att unikt identifiera varje land. Länder måste åtminstone ha samma form som motsvarande länder i filen `map.png`, så att användare kan klicka var som helst i ett synligt land och markera det på ett bra sätt. Länder som består av små öar, som Indonesien på standardkartan, kan vara större än motsvarigheten i filen `map.png` för att förenkla markering av landet.

Ett exempel på en kartmask

Ett lands blåa komponent (med RGB-modellen) identifierar landet: index 0 är land 0 i filen `onu.xml`, index 1 är land 1, etc. Vitt (0xFFFFFF med RGB) identifierar frånvaro av ett land (hav eller, varför inte, ingenmansland).

##### Knappbilderna

Filnamnen är hårdkodade i källkoden, så de får inte ändras. Tabellen nedan visar alla knappar som måste tillhandahållas.

##### Knapparna i det grafiska gränssnittet

Bild | Filnamn | Betydelse
| `newNetGame.png` | Försöker gå med i ett nätverksspel.
| `recycling.png` | När alla spelare har placerat ut sina arméer är det möjligt att ändra fördelningen (betecknat omfördela). Knappen begär att utföra en sådan omfördelning.
| `recyclingFinished.png` | Väljer att inte omfördela. För att omfördelningen verkligen ska avslutas måste knappen klickas i alla klientfönster.
| `nextPlayer.png` | Avslutar den nuvarande spelarens tur och byter till nästa, eller går till nästa omgång om den nuvarande spelaren var sist.
| `attackOne.png` | Väljer att börja ett anfall med en armé.
| `attackTwo.png` | Väljer att börja ett anfall med två arméer.
| `attackThree.png` | Väljer att börja ett anfall med tre arméer.
| `defendOne.png` | Väljer att försvara ett anfallet land med en armé.
| `defendTwo.png` | Väljer att försvara ett anfallet land med två arméer.
| `moveArmies.png` | Väljer att börja flytta arméer mellan två länder (sista åtgärden i turen).

#### Katalogen Sounds

Katalogen innehåller tre ljudfiler:

- `roll.wav` som spelas när arméer förflyttas

- `cannon.wav` som spelas vid eldgivning och

- `crash.wav` som spelas när en kanon exploderar

### Använda &i18n-ksirkskineditor;

Efter att ha skapat grafiken i rätt katalog och &SVG;-fil, måste du bara skapa länder, spelare, etc., och koppla ihop dem med rätt SVG-element i filen pool. Det kan göras med &i18n-ksirkskineditor;. Observera att varje del av programmet automatiskt beskrivs med verktygstips och sammanhangsberoende hjälp, som oftast kan nås med snabbtangenten &Ctrl;F1.

Här är en skärmbild av &i18n-ksirkskineditor; Skärmbild

## Kommandoreferens

### Huvudfönstret i &i18n-ksirkskineditor;

#### Knapparna

Läs in Läs in...

- Gör att programmet laddar ett befintligt skal.

Spara Spara

- Sparar det nuvarande skalet som redigerats.

## Utvecklingsguide för &i18n-ksirkskineditor;

Se https://api.kde.org/ för dokumentation av programmeringsgränssnittet.

## Vanliga frågor

&updating.documentation;

## Tack till och licens

&ksirkskineditor;

Program copyright 2009 Gaël de Chalendar kleag@free.fr

Dokumentation copyright 2009 Gaël de Chalendar kleag@free.fr

Översättning Stefan Asserhäll stefan.asserhall@bredband.net

&underFDL; &underGPL;
&documentation.index;