# Manual de &i18n-ksirkskineditor;

## Introducción

&ksirk; es una versión digital de un conocido juego de estrategia. Es completamente personalizable. Este manual explica cómo crear nuevos temas desde el principio usando un navegador de archivos, un editor de imágenes &SVG; y &i18n-ksirkskineditor;.

Captura de pantalla de &i18n-ksirkskineditor; Captura de pantalla

Hay tres pasos principales para crear un tema nuevo: crear la jerarquía de directorios, crear los gráficos, todos almacenados en un archivo &SVG;, y colocar las imágenes y dar nombre a las cosas usando &i18n-ksirkskineditor;.

## Creación de un tema para &ksirk;

&ksirk; es totalmente personalizable. Para los que tengan habilidad con los gráficos, crear un nuevo tema es tan fácil como copiar uno ya existente, editar o cambiar los gráficos y actualizar los datos en un archivo de configuración `.desktop`, lo que se hace usando &i18n-ksirkskineditor;. El último paso es editar el archivo que describe lo que se debe instalar.

Todos los ejemplos (texto e imágenes) están tomados del tema predeterminado de &ksirk;.

### Estructura de directorios y archivos

- `Data/`: Datos usados por el programa para manejar las imágenes del tema.

  - `CMakeLists.txt/`: Describe lo que se debe instalar.

  - `onu.desktop`: Archivo principal para la descripción del tema. Consulta su descripción más adelante.

- `Images/`: Imágenes del tema (mapas, iconos, etc.).

  - `CMakeLists.txt/`: Describe lo que se debe instalar.

  - `pool.svg`: El mapa y todas las imágenes que usa el tema.

  - `map-mask.png`: La imagen que permite al programa encontrar sobre qué país está el ratón durante el juego (consulta más abajo).

  - `*.png`: Las demás imágenes de aquí son de botones.

- `CMakeLists.txt/`: Describe lo que se debe instalar.

- `Sounds/`: Archivos de sonido para el tema.

#### La carpeta «Data»

Esta carpeta contiene solo un archivo, `world.desktop`. Este archivo es una descripción del contenido del tema. Se usa para describir la organización del mundo y cómo representarla. No tienes que rellenarlo manualmente, ya que de eso se encarga &i18n-ksirkskineditor;. Pero, por dar una información completa, describiremos su estructura.

Un grupo `onu` contiene un número de entradas de países, un número de entradas de nacionalidades y un número de entradas de continentes. Entonces varios grupos contienen la descripción de las diferentes imágenes, la descripción de los diferentes países, continentes, nacionalidades y objetivos.

Las siguientes secciones describen el contenido de cada grupo.

##### El grupo `onu`

##### Las entradas del grupo `onu`

Nombre de la entrada | Significado
`width` | Anchura del mapa del tema.
`height` | Altura del mapa del tema.
`skinpath` | Ruta del tema relativa a la ruta de los datos de la aplicación (por ejemplo, `skins/default`).
`nb-countries` | Número de países (42 en el tema predeterminado). Debería haber el mismo número de grupos de países abajo.
`nb-nationalities` | Número de nacionalidades (6 en el tema predeterminado). Debería ser el mismo número de grupos de nacionalidad de abajo.
`nb-continents` | Número de continentes (6 en el tema predeterminado). Debería haber el mismo número de grupos de continentes abajo.
`pool` | Ruta y nombre del archivo de almacén relativa a la ruta del tema (por ejemplo, `Images/pool.svg`).
`map-mask` | Ruta y nombre del archivo de máscara del tema relativo a la ruta del tema (por ejemplo, `Images/map-mask.png`).
`format-version` | Versión del archivo de formato del tema (2.0).
`name` | Nombre con el que se muestra el tema.
`desc` | Descripción detallada del tema.
`fighters-flag-y-diff` | Diferencia de altura entre las imágenes de las banderas y los cañones.
`width-between-flag-and-fighter` | Número de píxeles entre el píxel de más a la izquierda de la bandera y el píxel más a la izquierda del cañón (cuando no está disparando ni explotando).

##### Grupos de descripción de imágenes

Cada tipo de imagen (bandera, infantería, caballería, cañón, cañón disparando y cañón explotando) se define mediante un grupo. Solo algunas imágenes tienen entrada de anchura. Esta entrada se usa para establecer posiciones relativas durante las animaciones; los cañones, disparando o explotando, no deberían «moverse» alrededor de la bandera del país durante la batalla.

##### Entradas del grupo de descripción de imágenes

Nombre de la entrada | Significado
`width` | Anchura de referencia de los marcos de la imagen de la bandera.
`height` | Altura de referencia de los marcos de la imagen de la bandera.
`frames` | Número de fotogramas de la imagen.
`versions` | Número de versiones de las imágenes de la bandera.

##### Grupos de descripción de países

Para cada país listado en el grupo `onu`, la entrada de países tiene su propio grupo cuya etiqueta es el nombre del país. La tabla de abajo lista las entradas de estos grupos.

##### Entradas de países

Nombre de la entrada | Significado
`id` | El entero que sirve como identificación única del país. Debe empezar en cero (0).
`name` | Nombre visible del país.
`<sprite>-point` | Cada tipo de imagen (bandera, infantería, etc.) del país se muestra en una determinada posición definida por esta entrada, consistente en dos enteros separados por una coma.
`neighbours` | Lista de las id de los vecinos del país actual.

##### Grupos de descripción de nacionalidades

Para cada nacionalidad listada en el grupo `onu`, la entrada de nacionalidades tiene su propio grupo, cuya etiqueta es el nombre de la nacionalidad. La tabla de abajo lista las entradas de estos grupos.

##### Entradas de nacionalidades

Nombre de la entrada | Significado
`name` | Nombre de la nacionalidad (por ejemplo, `Japón`).
`leader` | Nombre que se le propondrá al jugador que elija su nacionalidad.
`flag` | Nombre de la imagen de la bandera del país en el archivo &SVG; de `onu`.

##### Grupos de descripción de los continentes

Para cada continente listado en el grupo `onu`, la entrada de continentes tiene su propio grupo, cuyo nombre es el nombre del continente. La tabla de abajo lista las entradas de estos grupos.

##### Entradas de continentes

Nombre de la entrada | Significado
`name` | Nombre del continente (por ejemplo, `África`).
`id` | El entero que sirve de identificación única para el continente.
`bonus` | Número de ejércitos obtenidos al final de un turno para el jugador que posea todos los países del continente.
`continent-countries` | Lista de las id de los países dentro del continente actual.

##### Grupos de descripción de objetivos

Para cada objetivo listado en el grupo `onu`, la entrada de objetivos tiene su propio grupo, cuya etiqueta es el nombre del objetivo. La tabla de abajo lista las entradas de estos grupos.

##### Entradas de objetivos

Nombre de la entrada | Significado
`type` | Tipo de objetivo. Puede ser continentes, países o un jugador.
`nbArmiesByCountry` | Establece el número mínimo de ejércitos que el jugador tendrá que poner en cada país.
`nbCountries` | Establece el número de países que debe poseer el jugador.
`nbCountriesFallback` | Para un tipo de juego de objetivos por jugador, si un jugador mata a otro, aquel establece el número de países que el jugador tendrá que conquistar.
`desc` | Una descripción completa del objetivo con marcadores de posición apropiados (falta más documentación aquí).
`continents` | Lista de ids de continentes que el jugador tendrá que conquistar.

#### La carpeta de imágenes

Esta carpeta contiene los botones específicos de &ksirk; y el archivo de almacén &SVG; que contiene el mapa y todas las imágenes.

##### El archivo `pool.svg`

Este archivo &SVG; contiene el mapa y todas las imágenes del juego. Cada elemento se nombra de tal forma que el juego puede seleccionar y renderizar cada uno por separado.

En el tema predeterminado, las imágenes son banderas, infantería, caballería y cañones. La infantería representa un ejército, cinco para la caballería y diez para los cañones. Los cañones también se utilizan para representar a ejércitos en lucha. Por eso es por lo que hay tres clases de imágenes para los cañones: normal estático o moviéndose, disparando y explotando.

Cada imagen es la concatenación de varias vistas del objeto y, para cada vista, sus marcos. Las vistas se organizan verticalmente y los marcos horizontalmente. Dónde cortar la imagen en marcos individuales se obtiene dividiendo la altura de la imagen por el número de vistas y la anchura por el número de marcos. Estos datos se encuentran en el archivo `onu.desktop`.

Ejemplo de una imagen: `cannon.png`

Para imágenes de ejércitos, hay tres vistas diferentes, de arriba abajo:

- mirando a la derecha

- mirando a la izquierda y

- de frente

Para las banderas solo hay una vista. Todos los fondos de imagen deberían hacerse transparentes.

Ejemplo de imagen de una bandera: `italy.png`

##### Elementos del almacén

Nombre del elemento | Imagen de muestra | Significado
`map` |  | Mapa del mundo del tema. Los países pueden tener formas arbitrarias, pero deberían agruparse en continentes reconocibles a simple vista, por la localización o por el color.
`italy` |  | Bandera de la nación italiana. Hay una entrada así para cada nación.
`infantry` |  | Icono que representa un ejército.
`cavalry` |  | Icono que representa cinco ejércitos.
`cannon` |  | Icono que representa diez ejércitos.
`firing` |  | Icono que representa ejércitos durante un combate.
`exploding` |  | Icono que representa ejércitos perdiendo un combate.
`alaska` |  | Forma del país de Alaska. Esto se utiliza para resaltar el país. Hay una forma así para cada país. El color no se usa. Por lo tanto, el color es libre.
`reddices` |  | Dados rojos que se usan para mostrar el resultado de las batallas.
`bluedices` |  | Dados azules que se usan para mostrar el resultado de las batallas.
`mark1` |  | Esta marca se añade a imágenes de lucha para mostrar el número de ejércitos que representan, aquí 1. También hay unos elementos de `mark2` y `mark3`.

##### El archivo `map-mask.png`

Este es un archivo png que también representa el mapa del mundo del tema, pero con un código de colores que permite identificar de manera única a cada país. Los países deben tener al menos las mismas formas que los correspondientes países sobre el archivo `map.png`, de forma que los usuarios puedan hacer clic en cualquier parte de un país visible y seleccionen el bueno. Los países que son islas pequeñas, como Indonesia en el mapa predeterminado, pueden ser más grandes que el equivalente en el archivo `map.png` para facilitar la selección del país.

Ejemplo de máscara de mapa

El componente azul (en el modelo RGB) del color de un país identifica al país: el índice 0 es el país 0 en el archivo `onu.xml`, el índice 1 es el país 1, etc. El blanco (0xFFFFFF en RGB) identifica la ausencia del país (tierra de nadie).

##### Las imágenes de los botones

Los nombres de archivo están incluidos en el código, por lo que no deberían modificarse. La tabla inferior muestra todos los botones que deben incluirse.

##### Botones de la interfaz gráfica

Imagen | Nombre de archivo | Significado
| `newNetGame.png` | Intenta unirse a un juego de red.
| `recycling.png` | Después de que todos los jugadores hayan situado sus ejércitos, es posible modificar la distribución (lo que se llama «reciclaje»). Este botón solicita hacer esa redistribución.
| `recyclingFinished.png` | Elige no redistribuir. Las ventanas de todos los clientes deben tener este botón pulsado para terminar la distribución.
| `nextPlayer.png` | Termina el turno del jugador actual y cambia al siguiente, o pasa al siguiente turno si el jugador actual era el último.
| `attackOne.png` | Elige empezar un ataque con un ejército.
| `attackTwo.png` | Elige empezar un ataque con dos ejércitos.
| `attackThree.png` | Elige empezar un ataque con tres ejércitos.
| `defendOne.png` | Elige defender un país atacado con un ejército.
| `defendTwo.png` | Elige defender un país atacado con dos ejércitos.
| `moveArmies.png` | Elige empezar el movimiento de tropas entre dos países (última acción del turno).

#### Carpeta de sonidos

Esta carpeta contiene tres archivos de sonido:

- `roll.wav`, que suena cuando las tropas se mueven

- `cannon.wav`, que suena cuando se dispara, y

- `crash.wav`, que suena cuando un cañón explota

### Uso de &i18n-ksirkskineditor;

Después de crear los gráficos en la carpeta apropiada y el archivo &SVG;, debes crear países, jugadores, etc., y asociarlos con el elemento &SVG; correcto del almacén. Esto se puede hacer con &i18n-ksirkskineditor;. Ten en cuenta que cada parte de esta aplicación se describe automáticamente mediante ayudas emergentes y de contexto a las que puedes acceder de la forma habitual mediante el atajo de teclado &Ctrl;F1.

Captura de pantalla de &i18n-ksirkskineditor; Captura de pantalla

## Referencia de órdenes

### La ventana principal de &i18n-ksirkskineditor;

#### Los botones

Cargar Cargar…

- Hace que el programa cargue un tema existente.

Guardar Guardar

- Guarda el tema editado actualmente.

## Guía del desarrollador para &i18n-ksirkskineditor;

Consulta https://api.kde.org/ para la documentación de la API.

## Preguntas y respuestas

&updating.documentation;

## Créditos y licencia

&ksirkskineditor;

Copyright del programa 2009 Gaël de Chalendar kleag@free.fr

Copyright de la documentación 2009 Gaël de Chalendar kleag@free.fr

Documentación traducida por Rocío Gallego traducciones@rociogallego.com y Kira J. Fernández kirajfdez@gmail.com.

Corregida por Eloy Cuadra ecuadra@eloihr.net.

&underFDL; &underGPL;
&documentation.index;