Cómo hacer temas personalizados para PS Vita
Introducción y motivación
No es ningún secreto que la PS Vita es posiblemente uno de mis cacharros favoritos de todos los tiempos, y precisamente una de las cosas que más me gusta hacer con ella es exactamente eso: cacharrear. Si estás metide un poco en la escena seguramente conocerás el repositorio de temas personalizados, y fijo que te has preguntado cómo hacer esos temas tan chulos porque nadie se ha lanzado a hacer uno de ese juego que has jugado tú y la familia directa del equipo de desarrollo. Pues para eso hago esta guía, porque me costó bastante encontrar un tutorial de texto que explicara con cuidado todo el proceso y herramientas.
Esta guía no va a entrar en cómo hackear la PS Vita puesto que se encuentra fuera del alcance y ya hay recursos de calidad para ello. Si no conocías la guía para hackearla, de nada (aunque no sé cómo has acabado aquí).
Requisitos
Algunas de las herramientas necesarias para hacer un tema personalizado son específicas de Windows, pero no me he encontrado problemas al utilizarlas en Linux (en concreto, Manjaro Gnome, pero no debería importar) utilizando Wine. Si usas Windows todo debería funcionar sin ningún tipo de problema.
El caso, al lío. Las herramientas que necesitas son:
- Theme Tool: el programa oficial usado para crear temas, sustraído forzosamente.
- pngquant: ejecutable para convertir las imágenes a un formato que Theme Tool y PS Vita traguen.
- At9tool: ejecutable para convertir la música a un formato que Theme Tool y PS Vita traguen.
Hacer el tema
Esta guía se centra no tanto en poder crear un tema, sino en aprender a usar las herramientas sabiendo por qué se hace lo que se hace, de manera que sea más fácil repetirlo en el futuro o encontrar alternativas en caso de no poder usar las herramientas propuestas por el motivo que sea. Dicho esto:
Theme Tool
Al abrir Theme Tool nos vamos a encontrar con una interfaz tal que así:
No nos asustemos por lo fea que es. Vamos por partes:
- Del header, la parte de arriba del todo, lo que más nos importa es la opción “File(F)”, que es lo que vamos a usar para exportar themes. El resto lo podemos dejar como está (o tocar sin miedo, que es la mejor manera de aprender)
- De las pestañas, tenemos Start Screen, Home Screen e Information:
- En Start Screen encontramos los parámetros de la pantalla de inicio, la que aparece al encender la consola. Podemos cambiar los colores (en RGB o con el nombre del color) y cambiar la imagen de fondo. Cómo hacer esto último se explica en los siguientes pasos.
- En Home Screen vemos también la posibilidad de cambiar las imágenes utilizadas para los iconos y marcadores de página, además de la música. De nuevo, se entrará en más detalle en los siguientes pasos.
- Finalmente, en Information podemos (debemos) introducir información como el nombre del tema, autor, e imágenes que son únicamente de preview, es decir, que no van a aparecer en la consola sino en el marketplace. Si vamos a crear un tema solo para nuestro uso, podemos ignorar estas imágenes.
Recomendación
Antes de lanzarnos a crear ningún tema complejo, lo ideal es generar uno con las opciones que da la propia herramienta e instalarlo en nuestra consola. Si falta algo, el programa dará un fallo fácil de entender, y con esto ganamos familiaridad y facilidad a la hora de hacer los pasos más complejos.
Las imágenes
Para hacer las imágenes podemos utilizar prácticamente cualquier programa capaz de exportar a PNG: GIMP, Photopea, Krita, etcétera, no hay decisión mala. Lo importante a la hora de crearlas es que cumplan unos requisitos de tamaño, que son los siguientes:
- Fondos: 960x512 píxeles. Estas son las imágenes que aparecerán en la pantalla de inicio y en las páginas del menú.
- Iconos: 128x128 píxeles. Los iconos de la pantalla Home, como el calendario o los ajustes. Importante apuntar que la imagen será cuadrada, pero en la consola se renderizará como un círculo recortando las esquinas.
- Indicador de páginas: 22x22 píxeles. Este es el puntito que indica en qué página de la consola estamos. Obviamente está chiquito.
- Notificación: 120x110 píxeles. La imagen que aparece arriba a la derecha en el menú, indicando notificaciones. Importante que puede ser una imagen distinta para cuando hay y cuando no hay notificaciones.
- Icono de preview: 226x128 píxeles. El icono que aparece como previsualización de nuestro tema si lo subimos al marketplace. Se pone en la pestaña de Information.
- Imágenes de preview: 480x272 píxeles. Las imágenes que aparecen como previsualización de nuestro tema si lo subimos al marketplace. También en la pestaña de Information.
Dos apuntes importantes sobre las imágenes:
- No es necesario crear todas las imágenes para crear un tema nuevo. Los que no añadamos se quedarán simplemente con el valor predeterminado. El indicador de página, por ejemplo, nunca lo he cambiado ni he sentido la necesidad de hacerlo.
- En el zip de la Theme Tool tenemos dos carpetas, sample y systemicon_template que nos pueden ayudar a la hora de crear nuestras propias imágenes. La primera tiene ejemplos de todas las imágenes que he comentado, mientras que la segunda tiene una plantilla para todos los iconos en caso de que queramos cambiar el fondo manteniendo el icono original.
Conversión de formato de imágenes
Bien, una vez que tenemos todas las imágenes preparadas debemos procesarlas para que nuestro preciado cacharrito no se queje. Para ello es necesario que los png tengan un total de 256 colores indexados. Para ello podemos hacer uso de pngquant, la herramienta que he comentado arriba. No es un proceso difícil en absoluto, y podemos hacerlo imagen por imagen con el siguiente comando, abriendo una consola de comandos en una carpeta en la que tengamos el script o ejecutable y la imagen a transformar.
./pngquant --force --verbose 256 imagen_input -o imagen_output
¿Qué hace cada cosa?
--force
: si imagen_output ya existe, la sobreescribe. No es necesario si imagen_output no existe.--verbose
: si hay algún error, nos lo va a indicar. No es necesario, pero útil.256
: los colores que queremos que tenga indexada la imagen.imagen_input
: el nombre del archivo de entrada.-o
: output, hay que seguirlo del nombre del archivo de salida.imagen_output
: el nombre del archivo de salida.
Si estamos en Windows, habrá que cambiar ./pngquant por pngquant.exe. Una vez que tengamos todas las imágenes transformadas, bastará con indicar en Theme Tool la ruta de la imagen en su correspondiente hueco. No hay ningún requisito de nombre, así que lo que sea más cómodo y fácil de seguir.
Recomendación
Ahora que sabemos transformar imágenes, creo que una buena prueba es cambiar una única imagen en Theme Tool (por ejemplo, el fondo de la pantalla de inicio), generar el tema e instalarlo. Si la primera sale bien, el resto van a ser mucho más sencillas y no nos vamos a desesperar con una retahíla infinita de errores.
La música
El último paso. PS Vita utiliza un formato llamado at9, al que tendremos que transformar el .wav que queramos. Esta música va a sonar de fondo mientras estamos en el menú principal. La única restricción real que tenemos es que no debe ocupar más de 5MB, pero no debería ser mucho problema, y si lo es podemos simplemente bajar el bitrate. Para pasar nuestra música al formato at9 podemos utilizar la herramienta At9tool. Al ejecutar el .exe sin parámetros nos dará una lista de las opciones disponibles, que recomiendo mirar, pero si queremos ir a piñón podemos utilizar el siguiente comando:
wine at9tool.exe -e -br 144 -wholeloop musica.wav musica.at9
¿Qué hace cada cosa?
wine
: necesario para correr el .exe en Linux. Si estás en Windows no hace falta. Si estás en Linux tienes que instalar Wine.-e
: encode, indicamos que queremos recodificar el archivo.-br
: bitrate, que debemos indicar a continuación.144
: bitrate en kbps.wholeloop
: le decimos que loopee para que cuando acabe la canción se reproduzca de nuevo.musica.wav
: el nombre de nuestro archivo de entrada, en formato .wav.musica.at9
: el nombre de nuestro archivo de salida, en formato .at9.
Una vez tengamos la música, solo tenemos que indicar la ruta del archivo en la sección apropiada de la pestaña Home Screen en Theme Tool, como hemos hecho con las imágenes.
Instalar el tema
Todo esto está muy bien para tener un directorio con el tema que acabamos de hacer, pero lo interesante es meterlo en nuestro cachivache querido. Para ello, la manera más sencilla es usar Custom Themes Manager, que tiene una función específica para instalar temas, además de los del repositorio. Tan solo hace falta meter el directorio en ux0:/customtheme
y el manager debería detectarlo automáticamente.
Y con esto y un bizcocho…
Pues ya estaría todo. Si esta guía te ha resultado útil siéntete libre de compartirla, guardarla, copiarla o modificarla a tu gusto. Solo he recogido información de varios sitios y la he juntado en castellano. Si hay algo que no se entienda me puedes comentar por Mastodon y o respondo o cambio la guía para que quede más claro. ¡Feliz personalización!