25406-\[GBC-Parche]Selección_de_Genero_para_GOLD_&_SILVER_\[Actualizacion_2.1]
#0
Chamber4315♪ 26330


IMPORTANTE:
Version 2.0 (21/feb/2014)
Se ha arreglado el problema de compatibilidad con otros parches.

Hoy es un buen dia para el RH-GBC, una de las rutinas mas codiciadas de los juegos de segunda generación vera la luz en la comunidad hispana, la tan ansiada y anhelada rutina "Seleccion de Genero para GOLD & SILVER".

Agradecimientos especiales a GOLD_Z! por haber conseguido los datos para llevar a cabo la rutina.


-------------------------
Contenido:
-------------------------
Este parche contiene rutinas extendidas que permiten la seleccion del genero del protagonista
en los juegos "Pokémon GOLD & SILVER" al igual como se hace en "Pokémon CRYSTAL"

Para asignar tanto el Front Sprite como los OverWorld, se sobrescriben datos originales del juego que son de facil adaptacion:

-El Front Sprite se inserto en el trainer 0x2A correspondiente al "Rival(2)". Sus datos de batalla se asignaron al trainer 0x09 "Rival(1)".
-El OverWorld "normal" se asigno al OverWorld 0x5E correspondiente al "trofeo"
-El OverWorld "en bicicleta" se asigno al OverWorld 0x58 correspondiente a la "recepcionista"

Se debe tener en cuenta tambien que el Back Sprite comparte las paletas del protagonista masculino.

Resumen de las rutinas:
-----------
OverWorld
-----------
$1413C ; call $17FBA
$1417E ; call $17FBA
$17FBA ; Rutina para cargar 2 OW ($17FF2 indica el OW normal y $17FF2 el OW en bicicleta).


-----------
"Are you boy or..."
-----------
$5FA5 ; salto a la pregunta inicial con formato 3E zz 21 xx yy CF
$60190 ; rutina de seleccion de genero


-----------
Introduccion
-----------
$6088 ; call $78F0
$78F0 ; carga de Nombre
$602C-$603F ; rutina para la seleccion de genero.
$7FD0
$790C ; lista de nombres
$60D2 ; call a nombre por defecto


-----------
Back Sprite
-----------
$3F951 ; call @script extendido

$3FEA0 @script extendido:
ld a, D119 ; carga el tipo de batalla
cp a, 03 ; si es tipo 3 (tutorial de cpatura), "set z flag"
jr nz 08 ; omite si no es "set"
ld b, 0F ; carga el Bank del sprite "DUDE"
ld hl, 7B5B ; carga hl con el Back del "DUDE"
jp @show pic
ld a, DECB ; carga a con el genero del protagonista
cp a, 01 ; si es la chica "set z flag"
jr nz 08 ; omite si no es "set"
ld b, xx ; carga el Bank del Back de la chica ($3FEB7)
ld hl, YYYY ; carga hl con el Back de la chica ($3FEB9)
jp @show pic
ld b, 0F ; carga b con el Bank del Back Sprite por defecto
ld hl, 79CB ; carga hl con el Back Sprite por defecto
jp @show pic

@show pic
ld de, 9310 ; carga la direccion RAM para escribir los datos en hl
ld c, 31
ld a, 3F
call 2E49 ; llama la rutina de transferencia de Back Sprite??
ret



-----------
Trainer Card
-----------
$25CCF ; graficos de la TRAINER's CARD
$250A3; llamada a rutina de cambio de TC (call $7BE0)
$27BE0; rutina de cambio de esprite en la Trainer card ($27BE1 pointer del chico, $27BF2 pointer de la chica)


-----------
Micelaneos
-----------
$B541 ; Paletas del Front Sprite (el Back Sprite comparte las paletas del protagonista masculino)
$1BC300 ; graficos del Back Sprite
$1BC000; graficos del Front Sprite (3-byte pointer en $8007B)
$1688FF ; script de pela con el rival en indigo plateu
$1095B0 ; script de pela con el rival en mt.moon
$39950-3FEA0; cambios en los datos de batalla del rival(1) y rival(2) (solo version 1.0)
$17FF1; controla el color del OW de la chica








-------------------------
Recomendaciones:
-------------------------
-El parche funciona unicamente con un ROM de Pokemon GOLD en Ingles.Funciona en ambos roms.
-Aplicar preferentemente en un rom limpio.
-En caso de no usarse en un ROM limpio, se debe revisar las direcciones a modificar.
-En caso de no usarse en un ROM limpio, se bebe crear un respaldo del ROM para evitar perdida de informacion.
-El proceso de asignacion de OW puede ser mejorado para evitar sobrescribir datos, solo basta con repuntear la tabla correspondiente, agregar los datos de la chica caminando y en bicicleta y cambiar la rutina de carga de OW.
-Como el sprite de la chica esta asignado el Trainer correspondiente al Rival(2), es importante que las batallas del Rival(2) las trasladen/copien al Rival(1) en el mismo orden (los scripts ya fueron modificados para el correcto funcionamiento de las batallas).

-------------------------
Proximas Actualizaciones:
-------------------------
-Carga de palletas independietes por genero.
-Carga de graficos independiente para la Trainer Card.



-------------------------
Bugs:
-------------------------
-Hay un sprite o dos de pokemon que fallaran con este parche, cuando alguien sepa cuales son le pido lo reporte para arreglar el problema.
-Cuando usas la opcion de ingresar tu nombre en modo "femenino", despues de escribirlo la pantalla nos devuelve el sprite masculino. Una posible solucion es cambiar el offset $60C0 por el sprite que mas te plazca, como el del profesor, aunque sera muy raro verle encogerse y de repente aparesca tu. Puedes poner $00 y supongo no saldra ningun sprite.


-------------------------
Versiones:
-------------------------
1.0: -Lanzamiento del parche.
-Diseñado para aplicarse en un rom limpio.

2.0: -Arreglado el Bug de incompatiblilidad con el parche "extension de tilesets" de Tauwasser.
(primero debe instalarse el parche de "extension de tilesets" y despues este.
-Se quitaron los datos de las revancchas con el rival, ya que es incompatible con la mayoria de los roms.

2.1: -Carga de paletas independientes para el OW y back sprite de la chica.


-------------------------
Creditos:
-------------------------
RED - Creador de la rutina
Mateo
Miksy91 - Por la rutina de carga de BackSprite (?)
GOLD_Z! - Por facilitar la rutina a la comunidad hispana
Javcdark - Colaborador en la corrección de la rutina


Opcionalmente se adjunta una rutina explicada por Javcdark.
https://dl.dropboxusercontent.com/u/1175553/hack/Auxiliares/Tutoriales/Parches/Seleccion%20de%20Genero%20GOLD%20%26%20SILVER/Rutina%20Seleccion%20de%20Genero%20Javcdark.txt



-------------------------
Descarga:
-------------------------
-Parche Seleccion de Genero GOLD & SILVER 1.0-

-Parche Seleccion de Genero GOLD & SILVER 2.1-

-Lunar IPS-