Registrarse

[Otros] HGSS | Cambiar el lugar de inicio

Hola a todos. Como dije en mi presentación, me disculpo por adelantado si no soy claro, pero el Español no es mi primer idioma.

Decidí escribir esta guía porque editar el mapa donde el protagonista spawna después la intro es una cosa importante por una hack, sin embargo no veo tutoriales que lo expliquen.

Tools Necesarios:

- Spiky's DS Map Editor (SDSME)
- CrystalTile2
- Un hex editor si no quieres usar CrystalTile2 para esto también.
Extraer el arm9

Antes que nada, es necesario extraer el arm9 de la ROM. El primero paso es por lo tanto abrir el ROM de HeartGold o SoulSilver con CrystalTile2, hacer click sobre el icono del Nintendo DS en la barra superior, hacer click derecho sobre FSI.CT/arm9.bin y seleccione Extract(U) por guardar el file en la computadora. Es importante elegir Extract(U) y no Export, de lo contrario el arm9 no se descomprimirá y no se podrá usar.

Cambiar mapa de spawn

Una vez que hayamos guardado nuestro archivo, vamos a abrirlo con un editor hexadecimal e ir a este offset:

Heart Gold:
0x000FA164

Soul Silver:
0x000FA16C

N.B: Estos offsets son de las ROMs españolas de HGSS
Encontraremos un valor de 40 00, que en decimal corresponde a 64, el Map ID de la habitación del protagonista en Pueblo Primavera. Por trovar el Map ID del mapa donde quieremos que esté el protagonista después de la intro, podemos abrir la ROM con SDSME y buscarlo en la lista de los Header que aparecen.
Es importante saber que el número en el arm9 sigue el orden Little Endian, entonces si por ejemplo quieremos iniciar el juego en la habitación de Red, cuyo Map ID es 506 (1FA in hex), tenemos que reemplazar 40 00 con FA 01.

Cambiar coordenadas de spawn

Una vez que se cambia el mapa, también podemos elegir las coordenadas del punto donde aparecerá el protagonista. Para hacer esto, vamos al siguiente offset:

Heart Gold:
0x000FA16C

Soul Silver:
0x000FA174

N.B: Estos offsets son de las ROMs españolas de HGSS
Encontraremos una secuencia de bytes estructurados de esta manera:

XX 00 ZZ 00 YY 00 00 00 PP
XX es la coordenada del punto de aparición en el eje X
ZZ es la coordenada del punto de aparición en el eje Z
YY es la coordenada del punto de aparición en el eje Y

PP es la posición en la que aparecerá el protagonista (00 mirará hacia arriba, 01 mirará hacia abajo y así sucesivamente

Cuando cambiamos estos numeros, el orden Little Endian explicada arriba aplica.

Reinsertar el arm9

Una vez que se han realizado los cambios en el arm9, guardamos y volvemos a abrir la ROM con CrystalTile2.
Hagamos clic en el ícono de DS en la barra superior una vez más, hagemos clic derecho sobre obre FSI.CT/arm9.bin y seleccionamos Compression, entonces selecionamos el arm9 editado.
 
Última edición por un moderador:

BagBoy

3D Artist | NDS Hacker
Re: HGSS | Otros | Cambiar el luego de inicio

Ha pasado un día y nadie ha comentado aún, no sé por qué no me sorprende...
Bueno, haré los honores.
Hola Nomura, muchísimas gracias por este aporte tutorial ultra necesario para crear un Hack desde cero, o para darle un giro inesperado al inicio de la trama principal de los propios juegos originales de HeartGold y SoulSilver.

Tengo una pregunta, aunque más que pregunta es una petición. ¿Serías tan amable de explicarme por aquí, por mensaje de visitante en mi perfil o por privado cómo conseguiste encontrar las direcciones de los mapas en los que spawneas al comienzo del juego? Entiendo que hay que buscar en el Arm9.bin las direcciones ID del principal mapa en el que comienzas (en mi caso es la habitación en la planta superior de la casa en Pueblo Hojaverde, ya que trabajo con Pokémon Diamante), cuya ID es 414, que en hexadecimal es 19E y que, escrito en Little Endian, sería 9E 01. Pero al buscar ese fragmento, encuentro 33 resultados pero a ninguno le veo similitud con la estructura que has indicado en el post :(
XX 00 ZZ 00 YY 00 00 00 PP
¿Podría tratarse de una estructura totalmente diferente para esa ROM? Y en caso de ser así, ¿cómo podría saber cuál es la dirección correcta? Porque como tenga que estar probando uno por uno todos los resultados de 9E 01, terminaré rompiendo el Arm9.bin y seguro que no me sirve de nada :')

De nuevo, gracias por el post. Agradezco que aparezcan de la nada personas interesadas en el ROM Hacking NDS y que además aporten cosas tan interesantes como esta, a ver si a la gente se le quita el miedo y comienza a editar cosillas también en DS.

Saludos,
BagBoy
 
Respuesta: HGSS | Otros | Cambiar el luego de inicio

ES un lindo detalle que alguien apolle a otras plataformas que no sean RGP Maker y gba, pero lo malo de este tutorial es que no dices muy bien para que me sirve y no eres muy espacifico con algunas partes. Y una imagen facilitaria mucho su comprension.

Aunque para ser justos contigo, no hablas español y eso debe dificultarte a la hora de escribir mensajes.

Bueno esa es mi opinion solo te lo digo para que mejores la narracion un poco.

Te deseo suerte y exito en el futuro.
 

BagBoy

3D Artist | NDS Hacker
Re: Respuesta: HGSS | Otros | Cambiar el luego de inicio

ES un lindo detalle que alguien apolle a otras plataformas que no sean RGP Maker y gba, pero lo malo de este tutorial es que no dices muy bien para que me sirve y no eres muy espacifico con algunas partes. Y una imagen facilitaria mucho su comprension.

Aunque para ser justos contigo, no hablas español y eso debe dificultarte a la hora de escribir mensajes.

Bueno esa es mi opinion solo te lo digo para que mejores la narracion un poco.

Te deseo suerte y exito en el futuro.
Básicamente el tutorial sirve para que, en vez de comenzar el juego con el protagonista en tu habitación en Pueblo Primavera, puedas empezar desde el mapa que tú elijas, como cuando cambias la intro en Pokémon Esmeralda para que no empieces el juego dentro del camión, ¿entiendes?
Y sí, quizá aportar imágenes junto a estos tutoriales sería una gran ayuda para ir indicando a cualquiera que no tenga ni idea de qué va el tema, dónde hay que ir clickando para poder seguir el tutorial, pero ya se han visto tutoriales antes sobre cómo descomprimir el Arm9.bin de una ROM, cómo usar un editor hexadecimal, cómo usar CrystalTile2, cómo usar el editor de mapas de Spiky, etc, etc, etc...
Es solo cuestión de ponerse, intentar acostumbrarte a usar las herramientas, y poco a poco terminas haciendo las cosas por inercia conforme vas leyendo el tutorial.
 
Arriba