Registrarse

[Gráficos] R, E | Cómo cambiar el Worldmap (Actualizado 2020)

Jack Johnson

Hoenn Adventures Dev
Colaborador
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?
Primer paso: Dibujar el mapa
Dibujaremos un mapa de 240 píxeles de ancho y 160 px de ancho, como este:
wm-to-tutorial.png

Mapa cedido por @ReoNeky - No utilizar bajo ningún concepto
Ojo, que el mapa no es accesible por el cursor en su totalidad:
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 @ZeKro

Segundo 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:
wm-paletas-tutorial.png
El worldmap debe estar indexado a 256 colores, de esta forma puede aprovechar todos los colores del fondo:
wm-cmp-indexado256-tutorial.png
Las paletas que originalmente usa el mapa son las 7 y 8 únicamente, son las que carga el juego cada vez que abrimos el Worldmap. No obstante, la imagen puede abarcar todos los colores que aparezcan en la paleta BG (como se ha mostrado arriba). En este caso hemos usado los colores de la textbox para hacer un borde alrededor del mapa.

Debemos guardar las paletas 7 y 8 como .act e introducirlas en las siguientes direcciones de APE:

PaletaRuby AXVESapphire AXPEEmerald BPEE
73E5D603E5DB859F73C
83E5D803E5DD859F75C

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.
Puede tener un máximo de 256 tiles de 8x8 px, por lo tanto nos saldrá una imagen de 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.

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.
wm-ts1-tutorial.png
Aparecerá la siguiente ventana:
wm-ts2-tutorial.png
  1. Haremos clic aquí para abrir el mapa que hemos realizado en el Paso 1.
  2. Haciendo clic aquí guardaremos el tileset que crea el programa.
  3. El formato debe ser Plain Tiles, de lo contrario no se insertará bien.
  4. Hacemos clic en OK para continuar.
Al realizar los pasos anteriores correctamente aparecerá un diálogo preguntando el formato. Comprueba que sigue siendo Plain Tiles.
Ahora deberíamos tener algo así:
wm-ts3-tutorial.png

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.
Ahora haremos clic en resize para modificar el tamaño del tilemap, el cual debe ser de 64x64 tiles, no de 30x20 como es por defecto:
wm-ts4-tutorial.png
Con esto solo nos faltaría hacer clic en Guardar (Save) en formato .raw y ya tendríamos tanto el tileset como el tilemap.

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:
wm-tileset-paleta-bg-tutorial.png

Al hacer clic sobre 2 (...) se abrirá una ventana de Abrir archivo. Debes seleccionar la paleta del BG.
Una vez finalizado el proceso de la imágen, el tileset estará correctamente indexado a la paleta que se usará en la ROM y podremos proceder a insertar tanto el tileset como el tilemap.

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:
ElementoRuby AXVESapphire AXPEEmerald BPEE
Tileset3E5DA03E5DF85B1F58
Tilemap3E6B043E6B5C5A04E0

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):
wm-unlz1-tutorial.png
  1. En primer lugar abres la ROM.
  2. Importas el tileset que vas a insertar.
  3. Le das a guardar en la ROM.
wm-unlz2-tutorial.png
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.
En Image Offset debes colocar la dirección con espacio libre. Fíjate de no tener activada ninguna casilla a parte de Export Image y haz clic en OK.
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:
  1. Abrimos la ROM en HxD.
  2. 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).
  3. Sustituiremos esa dirección permutada por la que hemos elegido insertar el tileset (igualmente permutada: 70 CF E3 08).
  4. Guardamos la ROM.
Ahora insertaremos el tilemap.
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).


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:

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 @ZeKro

Bien, a continuación, hay que crear un tileset.

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.

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).


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:






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:


¡Ya está casi!

Ahora abre unLZ.GBA y busca la imagen del tileset del worldmap:

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)
La verás correctamente en modo 256 colores.

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.

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)
Vuelve a darle a Load RAW, pero esta vez selecciona el RAW que hiciste en NTME, Cyclone o lo que sea.


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.


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:

Master Brock

Miembro insignia
Miembro insignia
Usuario de Platino
Respuesta: GBA | R/S/E | ¿Cómo cambiar el worldmap?

Geniaaaaaaal llevaba mucho buscando esto, pero mucho mucho.
Gracias man^^

Enserio, un tuto genial y bien explcado

Sirve para FIRE RED?
 

~ZeNix~

Αρμονíα μέλου
Respuesta: GBA | R/S/E | ¿Cómo cambiar el worldmap?

Ooohhh graciaaaas!!!! Es el tutorial que más estaba esperando. Por fin podré mejorar mi cutre worldmap de NTME que no tenía las tiles cambiadas :D
Encima el tutorial es perfecto: ordenado, claro, sencillo...:) Eres el mejor te daría infinitos +Gracias :blush::blush::blush:
 

Jack Johnson

Hoenn Adventures Dev
Colaborador
Respuesta: GBA | R/S/E | ¿Cómo cambiar el worldmap?

En primer lugar, de nadas a todos. En realidad cogí un tutorial en inglés y lo traducí, explicando aquello que no quedaba claro en el original.

Sirve para FIRE RED?
Soy bastante cero a la izquierda en el hacking, pero te podría decir que en parte si sirve, pero usando otras dimensiones y 4bpp en el tercer paso y ojo con las direcciones en los pasos 7 y 8. Si me veo capaz intentaré hacer uno para FR y LG.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: GBA | R/S/E | ¿Cómo cambiar el worldmap?

Ya habia visto este tutorial, pero para ahorrarte el trabajo de quitar los tiles repetidos recomiendo usar Sphere editor, con el te aseguras de quitar totalmente los tiles repetidos, ademas podes saber cuantos tiles tenes usados.

Igual gracias por el tuto!!!
 

MegaSceptile9

Usuario mítico
Respuesta: R&E | Gráficos | ¿Cómo cambiar el worldmap?

¿Ehhhhhhhhh, hello?
:furia:¡Si hubiera sabido que haría un tuto de esto, lo insertaría
mi mapa!:(

Bueno, que le vamos a hacer. Excelente tuto, bien explicado, claro y toda
la cosa.

Gracias :D

 

Danny0317

Todavía no sé español ;-;
Re: R&E | Gráficos | ¿Cómo cambiar el worldmap?

Hola!
Muy bien tutorial, pero sabes como hacer eso con otro tilemap, uno que no sea de RSE?
Porque yo estoy tratando y me esta saliendo mal xD
Gracias
 
Respuesta: R&E | Gráficos | ¿Cómo cambiar el worldmap?

EL tuto esta muy bien y se entiende perfectamente, pero estoy trabado en el paso 2, porque no me sale, ¿hay algún programa para convertir una imagen en un tileset?
 
Respuesta: R&E | Gráficos | ¿Cómo cambiar el worldmap?

Se me hace muy difícil el montar el tilemap.
PD : si alguien tiene tiempo y lo puede hacer por mí que me mande un MP.
:mad::mad::mad:
 

dariogf

Tremendo Husbando
Respuesta: R/E | Gráficos | Cómo cambiar el Worldmap

A mí lo que no me sale es la parte de insertarlo. En plan, me aseguro de hacerlo todo bien, y aún así no se ve bien insertado. Se ven los mismos grupos de tiles repetidos a lo largo del mapa. Ayuda, por favor
 

Jack Johnson

Hoenn Adventures Dev
Colaborador
Respuesta: R/E | Gráficos | Cómo cambiar el Worldmap

A mí lo que no me sale es la parte de insertarlo. En plan, me aseguro de hacerlo todo bien, y aún así no se ve bien insertado. Se ven los mismos grupos de tiles repetidos a lo largo del mapa. Ayuda, por favor
1. ¿Qué base usas?
2. Sube una foto.
 

Resille.grm

Usuario de bronce
Muchas gracias! este tutorial me sirvió un montón para aprender unas cuantas cosas, pero hay algo que todavía no me termina de cuajar...
Al importar el mapa en Unlz, lo que estamos haciendo es agregar información en un espacio vacío, para luego repuntarlo, pero técnicamente el mapa antiguo sigue ocupando espacio en la ROM, o no?
De ser así, me gustaría saber cómo sobrescribir un mapa nuevo en el antiguo, que ocupe su mismo espacio, ya que para el mío usé las mismas paletas del original de Hoenn, solo cambié la forma del mapa.
 

Stay

Usuario de oro
Muchas gracias! este tutorial me sirvió un montón para aprender unas cuantas cosas, pero hay algo que todavía no me termina de cuajar...
Al importar el mapa en Unlz, lo que estamos haciendo es agregar información en un espacio vacío, para luego repuntarlo, pero técnicamente el mapa antiguo sigue ocupando espacio en la ROM, o no?
De ser así, me gustaría saber cómo sobrescribir un mapa nuevo en el antiguo, que ocupe su mismo espacio, ya que para el mío usé las mismas paletas del original de Hoenn, solo cambié la forma del mapa.
Usando HexManiacAdvance.
 
Arriba