Cómo cambiar el Worldmap
Tras 6 años desde la publicación original de este tutorial, os traigo la versión definitiva. He eliminado los créditos a Larsie13 porque he rehecho todo el tutorial desde cero, no obstante, su tutorial me ayudo a descubrir esta forma, mucho más sencilla.¿Qué necesitarás?
- Un mapa de 240 px × 160 px indexado a 256 colores.
- Character Maker Pro de Zui, MMR ltd y Ninjasuperk
- Tileset Studio de Rangi42
- UnLZ.GBA de LoadingNow
- Advance Palette Editor (APE) de HackMew
- HxD de Maël Hörz
Dibujaremos un mapa de 240 píxeles de ancho y 160 px de ancho, como este:
Mapa cedido por @ReoNeky - No utilizar bajo ningún concepto
Recomiendo seguir alguno de los siguientes tutoriales para dibujar un Worldmap correctamente:
¿Cómo diseñar tu propio Worldmap?
Como hacer tu worldmap estilo HGSS! (explicado paso a paso)
por @Katherine
Como hacer tu worldmap estilo FRLG! (explicado paso a paso)
por @Katherine
Crear tus propios Worldmaps
por @ZeKroSegundo paso: Modificar las paletas
El mapa puede tener todos los colores de la paleta BG (Background o fondo), pero solo se pueden personalizar los colores señalados. Como podemos ver en la siguiente imagen hay un color bugeado, que dependiendo del momento cambia a voluntad propia:
Debemos guardar las paletas 7 y 8 como .act e introducirlas en las siguientes direcciones de APE:
Paleta | Ruby AXVE | Sapphire AXPE | Emerald BPEE |
---|---|---|---|
7 | 3E5D60 | 3E5DB8 | 59F73C |
8 | 3E5D80 | 3E5DD8 | 59F75C |
Finalmente debemos abrir la ROM con el emulador y abrir el visor de paletas (dentro del menú Herramientas o Tools) y guardamos la paleta del fondo dándole a Exportar BG o Guardar BG, dependiendo del emulador utilizado. El formato más adecuado para guardar la paleta es .act.
Tercer paso: Crear el tileset y el tilemap.
Para los que no sepan lo que es, se trata de piezas, como de un rompecabezas, que formarán nuestro mapa. Cada una de las piezas es un tile (su traducción literal es "azulejo"), un tileset es un conjunto de dichas piezas y un tilemap, es el mapeado de dichos tiles, es decir, ordenados para formar el mapa.
No os preocupéis por esta parte, ya que últimamente han aparecido alternativas al NTME y a Sphere que te dan el resultado en pocos minutos.
En primer lugar, abriremos el Tilemap Studio y hacemos clic en Image to tiles.
- Haremos clic aquí para abrir el mapa que hemos realizado en el Paso 1.
- Haciendo clic aquí guardaremos el tileset que crea el programa.
- El formato debe ser Plain Tiles, de lo contrario no se insertará bien.
- Hacemos clic en OK para continuar.
Ahora deberíamos tener algo así:
Hemos de tener en cuenta que el segundo tile por la izquierda va a ser el borde del mapa cuando hagamos zoom en el PokeNav.
Por último, deberemos hacer que la paleta del tileset concuerde con la que finalmente vamos a utilizar, de modo que abriremos el tileset en CMP y comprobamos que la paleta no es igual a la que habíamos diseñado con el mapa en el paso 1.
Para solucionarlo, bastará con abrir la paleta del fondo (Background, BG) que habíamos guardado en el paso 2 de la siguiente forma:
Al hacer clic sobre 2 (...) se abrirá una ventana de Abrir archivo. Debes seleccionar la paleta del BG.
Cuarto paso: Insertar el tileset y el tilemap
¡Ya está casi!
Primero tenemos que saber las direcciones originales de cada cosa, pues habrá que repuntear:
Elemento | Ruby AXVE | Sapphire AXPE | Emerald BPEE |
---|---|---|---|
Tileset | 3E5DA0 | 3E5DF8 | 5B1F58 |
Tilemap | 3E6B04 | 3E6B5C | 5A04E0 |
Abre unLZ.GBA e inserta la imagen del tileset en una dirección libre de la siguiente forma. El offset debe acabar en 0, 4, 8 o C (Offset es una dirección hexadecimal donde se guardan los datos en el juego):
- En primer lugar abres la ROM.
- Importas el tileset que vas a insertar.
- Le das a guardar en la ROM.
Si abres la ROM en HxD, te diriges a la dirección elegida y lo que ves es un montón de FF, con gran probabilidad ese espacio está libre.
Apuntamos la dirección que hemos colocado como Offset del Tileset.
Ahora deberemos repuntear el tileset, ya que lo hemos insertado en una posición que no es la original. Supongamos que estamos trabajando en Emerald BPEE:
- Abrimos la ROM en HxD.
- Buscaremos (Ctrl+F) la dirección original del tileset (5B1F58) pero permutada (58 1F 5B) y acabada en 08 (Ojo: Tipo de datos tiene que estar en Valores Hexadecimales).
- Sustituiremos esa dirección permutada por la que hemos elegido insertar el tileset (igualmente permutada: 70 CF E3 08).
- Guardamos la ROM.
El procedimiento es el mismo que antes, salvo que, en este caso, la opción que elegiremos no será Import (2), si no Load Raw (4) y en Image Offset no buscaremos un espacio libre, si no que aprovecharemos el tilemap anterior, ya que ocupan lo mismo exactamente.
Haz clic en Write to ROM y, si te diera problemas, deberás repuntear como con el tileset.
El resultado:
Ahora solo queda probarlo, deberías llegar a algo así:
Las posiciones de las ciudades se pueden cambiar en el A-Map.
Hasta aquí el tutorial. Si veis algún error o algo avisadme y rectificaré.
PD: Me gustaría agradecer a Reoneky que me haya dejado enseñar el mapa del Triángulo Origen para ilustrar este tutorial. Este ha sido distorsionado para evitar posibles robos o plagios.
Tutorial original por Larsie13
Traducido y mejorado por un servidor.
En proceso de reforma
Si pasa mucho tiempo desde que está este mensaje, dadme un toque.
Ola ke asen? Veo que hay algún tutorial para cambiar el worldmap en FR/LG, pero ninguno para R/S/E (Por lo menos, ninguno que permita usar tiles propios). Así que os diré una forma para cambiar el worldmap en Ruby, Sapphire y Emerald.
¿Qué necesitarás?[/B]
TileMolester Alternate (Búscalo en Gúguel si no lo tienes y no uses el TileMolester normal, porque aparentemente no cargará las paletas guardadas.)
Sphere Editor y NTME.
APE
GIMP, Paint Shop Pro, o cualquier editor de imágenes que permita cuadrículas personalizadas o de 8x8. Personalmente, uso Adobe Fireworks, es bastante intuitivo).
unLZ.GBA (Estará en las HackMew's Toolbox).
Por supuesto, VBA (u otro emulador para probar).
Hasta aquí el tutorial. Espero haberlo dejado más claro que en el original. Si veis algún error o algo avisadme y rectificaré.
Traducido y mejorado por un servidor.
En proceso de reforma
Si pasa mucho tiempo desde que está este mensaje, dadme un toque.
Ola ke asen? Veo que hay algún tutorial para cambiar el worldmap en FR/LG, pero ninguno para R/S/E (Por lo menos, ninguno que permita usar tiles propios). Así que os diré una forma para cambiar el worldmap en Ruby, Sapphire y Emerald.
¿Qué necesitarás?[/B]
TileMolester Alternate (Búscalo en Gúguel si no lo tienes y no uses el TileMolester normal, porque aparentemente no cargará las paletas guardadas.)
Sphere Editor y NTME.
APE
GIMP, Paint Shop Pro, o cualquier editor de imágenes que permita cuadrículas personalizadas o de 8x8. Personalmente, uso Adobe Fireworks, es bastante intuitivo).
unLZ.GBA (Estará en las HackMew's Toolbox).
Por supuesto, VBA (u otro emulador para probar).
Para empezar, dibuja tu mapa tal que así:
Ojo, que la pantalla de la GBA es de 240x160 píxeles, y no es accesible por el cursor en su totalidad:
Recomiendo seguir alguno de los siguientes tutoriales:
Ojo, que la pantalla de la GBA es de 240x160 píxeles, y no es accesible por el cursor en su totalidad:
Recomiendo seguir alguno de los siguientes tutoriales:
GBA | Gráficos | ¿Cómo diseñar tu propio Worldmap?
GBA | Otros | Como hacer tu worldmap estilo HGSS! (explicado paso a paso)
por @Katherine
GBA | Gráficos | Como hacer tu worldmap estilo FRLG! (explicado paso a paso)
por @Katherine
GBA | Otros | Crear tus propios Worldmaps
por @ZeKroBien, a continuación, hay que crear un tileset.
Puede tener un máximo de 256 tiles de 8x8 px, por lo tanto nos saldrá una imagen de 256x64 px o 128x128 px. Usad para esto un editor que tenga una cuadrícula personalizada para configurarla para que cada cuadrito sea de 8x8. No te olvides de quitar los tiles duplicados, es decir, que si hay varios tiles iguales, dejes solo uno. De esta forma ahorrarás espacio en el tileset y podrás poner más tiles).
Debería quedar algo así:
Para los que no sepan lo que es, se trata de piezas, como de un rompecabezas, que formarán nuestro mapa. Cada una de las piezas es un tile (su traducción literal es "azulejo"), un tileset es un conjunto de dichas piezas y un tilemap, como veremos en el siguiente paso, es el mapeado de dichos tiles, es decir, ordenados para formar el mapa.
Puede tener un máximo de 256 tiles de 8x8 px, por lo tanto nos saldrá una imagen de 256x64 px o 128x128 px. Usad para esto un editor que tenga una cuadrícula personalizada para configurarla para que cada cuadrito sea de 8x8. No te olvides de quitar los tiles duplicados, es decir, que si hay varios tiles iguales, dejes solo uno. De esta forma ahorrarás espacio en el tileset y podrás poner más tiles).
1. Abrimos en primer lugar Sphere Editor y crearemos un nuevo mapa yendo a File > Import > Image to Map...
2. Buscamos el mapa a insertar
3. Guardamos el archivo de mapa
4. Escribimos un tamaño de tile de 8x8 y elegimos que borre los tiles duplicados.
5. Abriremos el mapa que acabamos de hacer yendo a File > Open > Map...
6. Modificaremos (arrastrando los bordes de la ventana) el tamaño de la ventana del tileset de forma que hayan 16 tiles en cada fila como máximo. Si nos colocamos encima de un tile, en la esquina inferior izquierda nos dirá qué número de tile tiene (empezando por 0, es decir, el tile que esté a la derecha del todo debe ser el 15).
7. Pincharemos con el botón derecho encima de la primera capa (marcada en la captura con una X roja e iremos a "Properties".
8. Pondremos un tamaño de capa de 16x16 tiles, de esta forma cabrá nuestro tileset perfectamente. Cerramos la ventana de "Layer Properties" haciendo clic en OK.
9. Arrastraremos los tiles en la ventana de "Tiles" para seleccionarlos y traspasarlos al lienzo. Si no todas las filas están llenas de tiles (como en nuestro caso) habrá que seleccionar las que falten a continuación. Para poner los tiles en el lienzo, basta con hacer clic dentro de él, en el punto donde se quieran insertar.
10. Debería quedar algo así:
11. Finalmente exportaremos el tileset haciendo clic encima de la capa con el botón derecho y seleccionando Export > Export as image... Guardamos y ya tendremos el tileset acabado.
Ya podéis cerrar el Sphere Editor, no hace falta que guardéis nada.
2. Buscamos el mapa a insertar
3. Guardamos el archivo de mapa
4. Escribimos un tamaño de tile de 8x8 y elegimos que borre los tiles duplicados.
5. Abriremos el mapa que acabamos de hacer yendo a File > Open > Map...
6. Modificaremos (arrastrando los bordes de la ventana) el tamaño de la ventana del tileset de forma que hayan 16 tiles en cada fila como máximo. Si nos colocamos encima de un tile, en la esquina inferior izquierda nos dirá qué número de tile tiene (empezando por 0, es decir, el tile que esté a la derecha del todo debe ser el 15).
7. Pincharemos con el botón derecho encima de la primera capa (marcada en la captura con una X roja e iremos a "Properties".
8. Pondremos un tamaño de capa de 16x16 tiles, de esta forma cabrá nuestro tileset perfectamente. Cerramos la ventana de "Layer Properties" haciendo clic en OK.
9. Arrastraremos los tiles en la ventana de "Tiles" para seleccionarlos y traspasarlos al lienzo. Si no todas las filas están llenas de tiles (como en nuestro caso) habrá que seleccionar las que falten a continuación. Para poner los tiles en el lienzo, basta con hacer clic dentro de él, en el punto donde se quieran insertar.
10. Debería quedar algo así:
11. Finalmente exportaremos el tileset haciendo clic encima de la capa con el botón derecho y seleccionando Export > Export as image... Guardamos y ya tendremos el tileset acabado.
Ya podéis cerrar el Sphere Editor, no hace falta que guardéis nada.
Debería quedar algo así:
Cuando tengas el tileset hecho, abre NTME. Antes de empezar, hay que configurar el programa en modo 8BPP (FR y LG usan 4BPP, pero R, S y E usan 8BPP) Esto se configura en Edit > Mode y el tamaño se cambia en Edit > Presets. Ahora lo que hay que hacer es rehacer el worldmap en la parte de abajo, como un puzzle. Cuando acabes pincha en File > Save Tilemap y guárdalo como .raw.
Ruby, Sapphire y Emerald usan dos paletas para el worldmap. Si no has usado las paletas que vienen con el juego, deberás cambiarlas antes de nada. Para ello, necesitaréis usar el APE.
Ahora abre el ROM con VBA y entra en el mapa (ya sea en el Pokenav, el menú de vuelo o en una pared). Ve a Tools > Palette viewer y haz clic en Save BG:
Guárdala como paleta de Windows (acaba en .pal).
Guárdala como paleta de Windows (acaba en .pal).
Lo siguiente es abrir TileMolester (N. del T.: Saldrá un mensaje de que es una demo o algo así, no nos afecta en absoluto. Cierra el mensaje y Santas Pascuas). Crea un nuevo archivo, de tamaño 16384 (o lo que viene a ser 16kb):
Ahora toca importar la paleta, haz clic en View > Codec > 8bpp linear (N. del T.: Ojo, hay varias opciones parecidas, así que asegurate que pone 8bpp linear), después, en Palette > Import from > Another file. Aquí tienes que coger el archivo .pal que guardaste desde el VBA:
Ahora toca importar la paleta, haz clic en View > Codec > 8bpp linear (N. del T.: Ojo, hay varias opciones parecidas, así que asegurate que pone 8bpp linear), después, en Palette > Import from > Another file. Aquí tienes que coger el archivo .pal que guardaste desde el VBA:
Es importante que el tamaño cuadre con nuestro tileset. La imagen debe ser 8 veces menor que las dimensiones. Para ello haz clic en Image > Canvas size.
(N. del T.: Si tu tamaño es 128x128, tendrás que poner 16x16 y si es 256x64, 32x8)
Ahora pincha en Edit > Paste from. Selecciona el tileset que hiciste.
Comprueba que al pinchar y arrastrar no se mueve la imagen, si se mueve, simplemente cámbiale el tamaño a la ventana del dibujo y haz clic en el fondo gris.
Cuando ya no se mueva, guárdala como .raw:
(N. del T.: Si tu tamaño es 128x128, tendrás que poner 16x16 y si es 256x64, 32x8)
Ahora pincha en Edit > Paste from. Selecciona el tileset que hiciste.
Comprueba que al pinchar y arrastrar no se mueve la imagen, si se mueve, simplemente cámbiale el tamaño a la ventana del dibujo y haz clic en el fondo gris.
Cuando ya no se mueva, guárdala como .raw:
¡Ya está casi!
Ahora abre unLZ.GBA y busca la imagen del tileset del worldmap:
A continuación, abriremos el .raw creado en TileMolester.
Haz clic en "Write to ROM" y deja todo como en la imagen. Puedes coger cualquier offset libre menor que 0xE00000, de lo contrario aparecerán glitches (N. del T.: Offset es una dirección hexadecimal donde se guardan los datos en el juego. Puedes usar los offsets (solo el Image Offset) de este tutorial si no has empezado a tocar nada en tu ROM). El offset debe acabar en 4, 8 o C.
Pulsa OK y aparecerá uno o dos mensajes de "Ptr found at 00X------. Changed"
Ahora abre unLZ.GBA y busca la imagen del tileset del worldmap:
La verás correctamente en modo 256 colores.RUBY: 136
SAPPHIRE: 137
EMERALD: 256 NOTA: En la última prueba lo he encontrado en el 245
(N. del T.: Este número se introduce el el cuadro que hay a la izquierda del botón Goto)
A continuación, abriremos el .raw creado en TileMolester.
Haz clic en "Write to ROM" y deja todo como en la imagen. Puedes coger cualquier offset libre menor que 0xE00000, de lo contrario aparecerán glitches (N. del T.: Offset es una dirección hexadecimal donde se guardan los datos en el juego. Puedes usar los offsets (solo el Image Offset) de este tutorial si no has empezado a tocar nada en tu ROM). El offset debe acabar en 4, 8 o C.
Pulsa OK y aparecerá uno o dos mensajes de "Ptr found at 00X------. Changed"
Ahora insertaremos el tilemap.
Haz clic en Write to ROM otra vez y mantén la configuración que hay. Ahora puedes repuntear (N. del T.: Cambiar el Offset) más allá del 0xE00000. Eso sí, debe estar por lo menos 0x1000 bytes más lejos: Si hemos usado el 0xDF0000 para el tileset, para el tilemap usaremos uno a partir del 0xDF1000.
Dale a OK y espera mensajes como los de antes.
Vuelve a darle a Load RAW, pero esta vez selecciona el RAW que hiciste en NTME, Cyclone o lo que sea.RUBY: 137
SAPPHIRE: 138
EMERALD: 257 En la última prueba lo he encontrado en el 246
(N. del T.: Es la imagen siguiente al tileset. Es posible que tengas que reiniciar el unLZ.GBA)
Haz clic en Write to ROM otra vez y mantén la configuración que hay. Ahora puedes repuntear (N. del T.: Cambiar el Offset) más allá del 0xE00000. Eso sí, debe estar por lo menos 0x1000 bytes más lejos: Si hemos usado el 0xDF0000 para el tileset, para el tilemap usaremos uno a partir del 0xDF1000.
Dale a OK y espera mensajes como los de antes.
Ahora solo queda probarlo, deberías llegar a algo así:
Las posiciones no las hemos cambiado, pero sí el fondo. Las posiciones de las ciudades se pueden cambiar en el A-Map.
Las posiciones no las hemos cambiado, pero sí el fondo. Las posiciones de las ciudades se pueden cambiar en el A-Map.
Hasta aquí el tutorial. Espero haberlo dejado más claro que en el original. Si veis algún error o algo avisadme y rectificaré.
Última edición: