Me he dado la tarea de rehacer este tutorial de una manera un pco más entendible, completa y libre de errores. COn este tutorial van a poder hacer una edición completa a su worldmap y tener uno muy chulo para sus proyectos.
==============
Herramientas
==============
• NLZ GBA (Recomendada)
• APE
• Un editor hexadecimal
• Tilemap Creator
• Un programa que indexe imágenes (CMP, GraphicsGale, Photoshop, etc)
• Worldmaps(s) indexado(s) de tamaño 208x144 cada uno (Aquí puedes aprender a hacer uno)
Deben tener en cuenta que en FireRed hay un total de 4 mapas, pero desgraciadamente todos los mapas comparten el mismo tileset y paleta, lo único que los diferencia es el tilemap. Por lo que es mejor tener en cuenta eso si van a hacer uso de los 4 mapas.
===========
Paso 1
===========
Este es el paso más dificil, pues como sabran se asignan 16 colores al fondo y los caminos, y otros 16 a los tiles de ciudad y sitios importantes, por lo que podemos tener un mapa de 32 colores, pero el mapa debe ser insertado indexado a 16 colores, entonces ¿Qué hago para insertarlo?
Pues primero debemos ordenar las paletas poniendo los colores mas claros primero, luego los oscuros, empezando por los colores del camino, fondo verde, fondo azul y el blanco lateral (Será la paleta 1) haremos lo mismo con la paleta de las ciudades y sitios importantes (paleta 2), esto lo podemos hacer con CMP. Ahora debemos de recolorear los tiles de la paleta 2 según su color equivalente de la paleta 1, por ejemplo:
En mi mapa ordene las paletas así:
Entonces, para recolorear mi mapa y que al asignar paletas quede bien tomare en cuenta que el color rojo claro quedo en la posición cuatro de la paleta, entonces mirare la paleta 1 y me dirigiré a la posición 4 de la paleta, entonces seleccionaré ese color y recolorearé ese bloque de ese color, haremos lo mismo con los otros colores, guardamos, si todo quedo bien el mapa debería tener 15 colores + fondo ahora.
Ahora solo pegaremos el mapa en una nueva ventana de paint, ponemos como medida 240x160 (En mi caso como son dos mapas 480x160) y que a cada lado debe quedar un márgen de 16x16, excepto la parte baja, mas o menos así:
Guarda y listo.
============
Paso 2
============
Como el tilemap de los mapas en FR son a 4bpp, usaremos una herramienta que @Jack Johnson me recomendó hace tiempo, que es Tilemap Creator (No es Professional Tilemap Creator), que pueden descargar desde aquí. La herramienta nos hará automáticamente el tileset y el tilemap. Antes de crearlo en la herramienta debemos desmarcar la casilla "Allow tile flipping" en Settings, debido a que dicha función no funciona bien en la herramienta.
Ahora sí crearemos el tileset. Solo debemos de usar la herramienta y seleccionar Tileset > Create. Seleccionamos nuestro mapa ya preparado con las dimensiones previamente dadas.
Si por algún motivo donde dice "size" aparece en el primer número uno muy grande lo cambian por un 16 para que no les quede una imágen demasiado ancha. El tamaño del tilemap de cada mapa debe medit 30x20. Donde dice size pon el número correcto (Si no es 30x20) y click en "resize"
Para asignar las paletas debemos tener en cuenta lo siguiente, gran parte del mapa usa el slot 0. El uso de slots es el siguiente:
Usando el botón "Edit pallete" puedes cambiar los slots de paleta:
Una vez tengamos esto listo podemos proceder a guardar los recursos. Para guardar el tileset solo presiona Tileset > Save y guarda el tileset, para guardar el tilemap presiona Tilemap >Save, y guardas el archivo (Recomiendo guardarlo en formato .bin, aunque .raw tambien vale).
Si quieres guardar el tilemap di tines más de un worldmap puedes simplemente usar los botones "shift" que dicen "left y Right", y mover el tilemap hasta que se vea solo el segundo worldmap, repites el mismo proceso de asignar paletas y guardas el tilemap (El tileset debe ser el mismo, como dije antes)
============
Paso 3
============
Ahora nos procedemos a insertar cada archivo generado. Usando NLZ nos dirigiremos a las siguientes direcciones y reemplazamos los archivos requeridos:
Tileset: 0x3EF61C
Tilemap Kanto: 0x3F089C
Tilemap Islas 1-2-3: 0x3F0AFC
Tilemap Islas 4-5-7: 0x3F0C0C
Tilemap Islas 6-7-9: 0x3F0CF0
Paleta 1: 0x3EF2DC
Paleta 2: 0x3EF2FC
Paleta 3: 0x3EF31C
Paleta 4: 0x3EF33C
Para importar imágenes hay que seleccionar "import bitmap" y para el tilemap en "Load Raw". Si la herramienta falla al insertarlos por un error de espacio insuficiente, pueden simplemente buscar espacio libre usando la herramienta Free Space Finder. Tengan en cuenta que el offset para cada nueva imágen debe tener como último byte un número alineado, o que acaba en 0, 4, 8 o C. De no hacerlo el juego se congelará al abrir el mapa.
Para importar paletas deben valerse unicamente de APE, usando las direcciones dadas importan las paletas que van a usar.
FInalmente quedará solo probarlo para asegurarnos que se vea bien:
===========
Paso 4
===========
Ahora nos quedará asignar al mapa el sitio que mostrará en el mapa. Para ello debemos usar Advance Map 1.92 (Solo este vale para este proceso) Para hacerlo abriremos nuestra ROM en Amap y seleccioanremos el ícono de editor de mapas . Si lo abrimos por primera vez nos pedirá que insertemos una rutina que hará una carga más dinámica de las flags de cada mapa. Le damos que sí y se nos abrirá el siguiente menú:
Editar los slots del mapas es sencillo. Cada cuadrito del mapa que no tiene asignado un sitio debe ser llenado con el byte terminador de localizaciones, En donde dice Value solo ponen C5 y ya. Si quieren asignar uan localización a cierto bloque solo deben de usar el menú desplegable y seleccionar el nombre del mapa a mostrar, y listo. Deben cambiar tambien las posiciones X e Y para que la cabeza del jugador quede posicionada correctamente al abrir el mapa. Hacen los cambios que deban hacer y finalmente seleccionan "Save map" cuando acaben.
=========
Paso 5
=========
Ahora queda algo que aquí en el foro no se ha mencionado. Pasa que la asignación de los mapas en al ROM es bastante peculiar y no basta con asignarlos en el editor de Amap. Existe una lista que determina a que worldmap pertenece cada mapa. Por defecto la rutina de mapas dicta que todo mapa cuyo ID sea 0x8E o inferior, este es asignado al worldmap 1 (Kanto). El byte que define este valor se situa en 0xC0064. Mientras que en la dirección 0x3F1AA4 se encuentra la tabla de ID de mapas que se asignan a cada worldmap de las islas sete: La tabla luce más o menos así:
La estructura es la siguiente:
El byte 0xC5 es el byte terminador de la lista de cada mapa, por ende justo después viene la lista del siguiente worldmap. De estas deben haber tres. Pueden cambiar y reordenar los ID que van en cada mapa a su gusto. Solo recuerden que esta es una tabla y deben estar asignados los tres mapas, aunque no vayan a usarlos todos. Rcuerden que los ID de mapas usables para esta lista son todos los ID superiores al byte situado en 0xC0064.
Guarden a su conveniencia y listo. Con esto deberían tener totalmente el cambio de su worldmap.
===========
Aclaraciones
===========
* Si a su mapa le aparece una linea blanca al final del mismo basta que abran en un editor hexadecimal el archivo .raw generado y vayan al final del archivo y llenar de 00 hasta llegar a 0x4C0. SI les pregunta si queiren modificar el tamaño del archivo ustedes le dirán que sí. Y lo reinsertan en su juego
* Cada mapa solo puede mostrar un máximo de 25 puntos de vuelo. Sobrepasar esta cantidad hace que el juego se crashee al abrir el mapa
Créditos a mikematt15 por algunas offsets para el tuto y a Masterminx_X por parte de la documentación sobre asignación de areas al mapa.
==============
Herramientas
==============
• NLZ GBA (Recomendada)
• APE
• Un editor hexadecimal
• Tilemap Creator
• Un programa que indexe imágenes (CMP, GraphicsGale, Photoshop, etc)
• Worldmaps(s) indexado(s) de tamaño 208x144 cada uno (Aquí puedes aprender a hacer uno)
Deben tener en cuenta que en FireRed hay un total de 4 mapas, pero desgraciadamente todos los mapas comparten el mismo tileset y paleta, lo único que los diferencia es el tilemap. Por lo que es mejor tener en cuenta eso si van a hacer uso de los 4 mapas.
===========
Paso 1
===========
Este es el paso más dificil, pues como sabran se asignan 16 colores al fondo y los caminos, y otros 16 a los tiles de ciudad y sitios importantes, por lo que podemos tener un mapa de 32 colores, pero el mapa debe ser insertado indexado a 16 colores, entonces ¿Qué hago para insertarlo?
Pues primero debemos ordenar las paletas poniendo los colores mas claros primero, luego los oscuros, empezando por los colores del camino, fondo verde, fondo azul y el blanco lateral (Será la paleta 1) haremos lo mismo con la paleta de las ciudades y sitios importantes (paleta 2), esto lo podemos hacer con CMP. Ahora debemos de recolorear los tiles de la paleta 2 según su color equivalente de la paleta 1, por ejemplo:
En mi mapa ordene las paletas así:
Entonces, para recolorear mi mapa y que al asignar paletas quede bien tomare en cuenta que el color rojo claro quedo en la posición cuatro de la paleta, entonces mirare la paleta 1 y me dirigiré a la posición 4 de la paleta, entonces seleccionaré ese color y recolorearé ese bloque de ese color, haremos lo mismo con los otros colores, guardamos, si todo quedo bien el mapa debería tener 15 colores + fondo ahora.
Ahora solo pegaremos el mapa en una nueva ventana de paint, ponemos como medida 240x160 (En mi caso como son dos mapas 480x160) y que a cada lado debe quedar un márgen de 16x16, excepto la parte baja, mas o menos así:
Guarda y listo.
============
Paso 2
============
Como el tilemap de los mapas en FR son a 4bpp, usaremos una herramienta que @Jack Johnson me recomendó hace tiempo, que es Tilemap Creator (No es Professional Tilemap Creator), que pueden descargar desde aquí. La herramienta nos hará automáticamente el tileset y el tilemap. Antes de crearlo en la herramienta debemos desmarcar la casilla "Allow tile flipping" en Settings, debido a que dicha función no funciona bien en la herramienta.
Ahora sí crearemos el tileset. Solo debemos de usar la herramienta y seleccionar Tileset > Create. Seleccionamos nuestro mapa ya preparado con las dimensiones previamente dadas.
Si por algún motivo donde dice "size" aparece en el primer número uno muy grande lo cambian por un 16 para que no les quede una imágen demasiado ancha. El tamaño del tilemap de cada mapa debe medit 30x20. Donde dice size pon el número correcto (Si no es 30x20) y click en "resize"
Para asignar las paletas debemos tener en cuenta lo siguiente, gran parte del mapa usa el slot 0. El uso de slots es el siguiente:
Código:
Slot paleta 0: fondo del mapa, debes de cubrir casi todo el mapa de este número
Slot paleta 1: Usada para los colores de los puntos de ciudades, sitios importantes, etc
Slot paleta 2: Usada para la animación lateral del mapa al abrir el objeto Mapa
Slot paleta 3: Usada para el botón de cerrar mapa
Una vez tengamos esto listo podemos proceder a guardar los recursos. Para guardar el tileset solo presiona Tileset > Save y guarda el tileset, para guardar el tilemap presiona Tilemap >Save, y guardas el archivo (Recomiendo guardarlo en formato .bin, aunque .raw tambien vale).
Si quieres guardar el tilemap di tines más de un worldmap puedes simplemente usar los botones "shift" que dicen "left y Right", y mover el tilemap hasta que se vea solo el segundo worldmap, repites el mismo proceso de asignar paletas y guardas el tilemap (El tileset debe ser el mismo, como dije antes)
============
Paso 3
============
Ahora nos procedemos a insertar cada archivo generado. Usando NLZ nos dirigiremos a las siguientes direcciones y reemplazamos los archivos requeridos:
Tileset: 0x3EF61C
Tilemap Kanto: 0x3F089C
Tilemap Islas 1-2-3: 0x3F0AFC
Tilemap Islas 4-5-7: 0x3F0C0C
Tilemap Islas 6-7-9: 0x3F0CF0
Paleta 1: 0x3EF2DC
Paleta 2: 0x3EF2FC
Paleta 3: 0x3EF31C
Paleta 4: 0x3EF33C
Para importar imágenes hay que seleccionar "import bitmap" y para el tilemap en "Load Raw". Si la herramienta falla al insertarlos por un error de espacio insuficiente, pueden simplemente buscar espacio libre usando la herramienta Free Space Finder. Tengan en cuenta que el offset para cada nueva imágen debe tener como último byte un número alineado, o que acaba en 0, 4, 8 o C. De no hacerlo el juego se congelará al abrir el mapa.
Para importar paletas deben valerse unicamente de APE, usando las direcciones dadas importan las paletas que van a usar.
FInalmente quedará solo probarlo para asegurarnos que se vea bien:
===========
Paso 4
===========
Ahora nos quedará asignar al mapa el sitio que mostrará en el mapa. Para ello debemos usar Advance Map 1.92 (Solo este vale para este proceso) Para hacerlo abriremos nuestra ROM en Amap y seleccioanremos el ícono de editor de mapas . Si lo abrimos por primera vez nos pedirá que insertemos una rutina que hará una carga más dinámica de las flags de cada mapa. Le damos que sí y se nos abrirá el siguiente menú:
Editar los slots del mapas es sencillo. Cada cuadrito del mapa que no tiene asignado un sitio debe ser llenado con el byte terminador de localizaciones, En donde dice Value solo ponen C5 y ya. Si quieren asignar uan localización a cierto bloque solo deben de usar el menú desplegable y seleccionar el nombre del mapa a mostrar, y listo. Deben cambiar tambien las posiciones X e Y para que la cabeza del jugador quede posicionada correctamente al abrir el mapa. Hacen los cambios que deban hacer y finalmente seleccionan "Save map" cuando acaben.
=========
Paso 5
=========
Ahora queda algo que aquí en el foro no se ha mencionado. Pasa que la asignación de los mapas en al ROM es bastante peculiar y no basta con asignarlos en el editor de Amap. Existe una lista que determina a que worldmap pertenece cada mapa. Por defecto la rutina de mapas dicta que todo mapa cuyo ID sea 0x8E o inferior, este es asignado al worldmap 1 (Kanto). El byte que define este valor se situa en 0xC0064. Mientras que en la dirección 0x3F1AA4 se encuentra la tabla de ID de mapas que se asignan a cada worldmap de las islas sete: La tabla luce más o menos así:
Código:
98 1A 3F 08 8F 90 91 96 97 98 99 9A AF B0 B9 C3
C5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 92 93 9B 9C 9D 9E 9F A0 A1 A2 AE B1 B2 B5
C5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
94 95 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD B3 B4 B6
B7 B8 BA BB BC BD BE BF C0 C1 C2 C5 00 00 00 00
Código:
[Byte ID #1][Byte ID #2][Byte ID #3]....[C5]
Guarden a su conveniencia y listo. Con esto deberían tener totalmente el cambio de su worldmap.
===========
Aclaraciones
===========
* Si a su mapa le aparece una linea blanca al final del mismo basta que abran en un editor hexadecimal el archivo .raw generado y vayan al final del archivo y llenar de 00 hasta llegar a 0x4C0. SI les pregunta si queiren modificar el tamaño del archivo ustedes le dirán que sí. Y lo reinsertan en su juego
* Cada mapa solo puede mostrar un máximo de 25 puntos de vuelo. Sobrepasar esta cantidad hace que el juego se crashee al abrir el mapa
Créditos a mikematt15 por algunas offsets para el tuto y a Masterminx_X por parte de la documentación sobre asignación de areas al mapa.
Última edición: