patches
Thread Id: 24427
Thread Name: [GBC-Parche]Clasificacion de movientos Fisico/Especial
#0
Chamber4315♪ 26330




Para los amantes de los juegos de segunda generacion, hoy les traigo un parche que cambia la clasificacion de los movimientos en Fisico y Especial igual que los juegos de 4ta. Generacion en adelante.

Con esto por fin podremos tener a un Machamp sacandole provecho a Ice Punch, o a un Gengar que por fin le saca jugo a Shadow Ball/Sludge Bomb.

Que contiene el parche?
Despues de aplicado el parche, hay un tabla en $99400 en el orden de los movimientos, que define con 0x01 si es ataque especial, o 0x00 si es ataque fisico. Los movimientos del tipo "otro" tienen valor 0x00.

Estos son los movimientos ya clasificados:



La rutina original fue creada por Koolboyman, pero fue corregida y ampliada por [MENTION=28012]Crystal_[/MENTION]. Un cambio importante respecto a la rutina original fue la reubicacion de la tabla que lee el tipo de movimiento, ya que era incompatible con el parche "descompresor de portada" muy famoso entre los hacks de GBC. Dicho problema esta arreglado y ambos parches son compatibles.



Creditos:
GOLD! - Por facilitar la informacion de la rutina.
Koolboyman - Rutina Original.


Crytal & Chamber - Rutina corregida y ampliada.




-LINK DE LA DESCARGA-
#1
G0LD_ZTHVARD0X! 27515
Y creditos a @GØ£D por joderse todo un dia buscando documentacion GBC en el inmenso pokecommunity y hallar la jodida rutina (?)

Por falta de tiempo no pude poner en marcha esa rutina, pues busco otras de ni interes, aunque tengo una duda.

Que hago si sistituyo pound por focus blast??? Si pound es fisico como hago para convertirlo a especial????
#2
Chamber4315♪ 26330
Siempre estuve pensando en ti para los creditos, no se por que al final lo olvide... Disculpa XD

Para hacer funcionar la rutina se usa la tabla que esta en $99400 que sigue el orden que tiene los ataques. Si sustituyes Pound por Focus Blast, vas a $99401 (0x99400 + 0x01 [Pound]) y cambias el 0x00 por 0x01. Si en lugar de eso quieres cambiar Hyper Beam por Giga impact, buscas el valor hex de Hyper Beam que es 0x3F, le sumas 0x99400 dando como resultado $9943F, vas a ese offset y cambias 0x01 por 0x00.

Facil no? :D
#3
javcdark 15833
lo he probado y se me crashea el rom en varios ataques, sean mios o del rival :(
#4
Rata 12529
He leído los comentarios de arriba y aunque reporten errores, se pueden solucionar.
Creo que el aporte es muy bueno, te felicito, se agradece.
Ojalas los aportes sigan ya que como veo, wah ya ni se trata de rom hacking.

Saludos! ^^
#5
Chamber4315♪ 26330
Iniciado por javcdark
lo he probado y se me crashea el rom en varios ataques, sean mios o del rival :(


Ya hice las pruebas con los ataques que me comentas (Smoke Screen y Hyper Fang) y no ha pasado nada.

Las pruebas fueron hechas en un rom limpio y revise el log para ver que no hubiera modificaciones adicionales.

Si alguien puede hacer pruebas tambien se los agradeceria, ya que a mi no me falla por el momento.
#6
Crystal_ 28012
ok ya se lo que pasa:

//Stats the new routine
0D:543F - jp $7FA0 ; C3 A0 7F

//Main routine
0D:7FA0 - ld hl, $5300 ; 21 00 53
0D:7FA3 - ld a, $26 ; 3E 26
0D:7FA5 - rst $8 ; CF
0D:7FA6 - ld a,[$DEFF] ; FA FF DE
0D:7FA9 - dec a ; 3D
0D:7FAa - jp z, $5467 ; CA 67 54
[37FAD] 0D:7FAd - jp $5443 ; C3 43 54

//Getting the type
26:5300 - ld a,[$CE60] ; FA 60 CE
26:5303 - ld hl,$5400 ; 21 00 54
26:5306 - ld l,a ; 6F
26:5307 - ld a, [hl] ; 7E
26:5308 - ld [$DEFF] ; EA FF DE
26:530B - ret ; C9

//Rival moves
0D:5548 - jp $7FB0 ; C3 B0 7F

//Main routine
0D:7FB0 - ld hl, $5300 ; 21 00 53
0D:7FB3 - ld a, $26 ; 3E 26
0D:7FB5 - rst $8 ; CF
0D:7FB6 - ld a,[$DEFF] ; FA FF DE
0D:7FB9 - dec a ; 3D
[37FBA] 0D:7FBa - jp z,$5570 ; CA 70 55
[37FBD] 0D:7FBd - jp $554C ; C3 4C 55

26:5400
0 - Physical
1 - Special

[MENTION=26330]Chamber[/MENTION], cambiaste el puntero pero se te olvido cambiar los offsets!
#7
javcdark 15833
si, copie mal la rutina, lo hice directamente con el parche y de momento no me ha dado ningun error

por cierto cuando se me crasheaba solo se reiniciaba el rom con graficos alterados, no me daba ningun opcode
#8
Chamber4315♪ 26330
[MENTION=28012]Crystal_[/MENTION] Olvide cambiarlos solo en el tema, pero en el parche si estan aplicados, mira el log:


Lunar IPS (LIPS) Version 1.00
Apply IPS Patch Log

Offset Size RLE IPS_File_Range IPS_File_Size
------ ---- ID 00000000-00000004 5
03543F 3 No 00000005-0000000C 8
035548 3 No 0000000D-00000014 8
037FA0 20 No 00000015-00000039 25
099300 C No 0000003A-0000004A 11
09940D 4 No 0000004B-00000053 9
099431 F No 00000054-00000067 14
099447 17 No 00000068-00000083 1C
099465 1 No 00000084-00000089 6
09947B 7 No 0000008A-00000095 C
099491 5 No 00000096-0000009F A
0994A1 1 No 000000A0-000000A5 6
0994AD 9 No 000000A6-000000B3 E
0994BD E No 000000B4-000000C6 13
0994E1 1 No 000000C7-000000CC 6
0994ED E No 000000CD-000000DF 13
------ ---- EOF 000000E0-000000E2 3

Total Patches: F (15)



Edit: Parece que eso puedo haber sido el fallo si la aplicaste "a mano", ya se corrigio el tema principal indicando los offsets correctos, aun asi el parche siempre tuvo las hubicaciones correctas :D
#9
Crystal_ 28012
ah vale ok ok, se me olvido que habias subido un parche. Pense que la gente estaba tomando el código directamente y que al ver eso lo estaba copiando en la dirección incorrecta. Pero el parche está bien, ya veo, entonces solo te lo digo entonces para que la gente que prefiera copiarlo ella misma en hex no tenga problemas :)

por cierto cuando se me crasheaba solo se reiniciaba el rom con graficos alterados, no me daba ningun opcode


Entonces eso no es exactamente crashear :P
#10
WiZaRD 25635
MUY BUEN APORTE AUNQUE NO LOGRO ENTENDER DE QUE TRATA :p ESPERO PONGAS UN EJEMPLO EN QUE CONSISTE O ALGUNAS IMÁGENES PARA ENTENDERLO , SORRY POR LA IGNORANCIA PERO ME GUSTARÍA MAS DETALLES
#11
Chamber4315♪ 26330
Mi estimado [MENTION=25635]WiZaRD[/MENTION], segun recuerdo tu no has jugado las ultimas generaciones de pokemon, en donde a diferencia de los juegos de 1ra. a 3ra. generacion los ataques se clasificaban en fisicio y especial segun su tipo. Teniendo asi, por ejemplo, que todos los ataques de hielo eran especiales sin importar nadamas.

De la 4ta gen. en adelante esto cambio y ahora siguen una logica de "contacto" por llamarlo de alguna manera. Es asi, que movimientos como Ice Punch ahora es FISICO dada su naturaleza de dar un puñetazo y Shadow Ball pasa a ser ESPECIAL al ser una bola de energia donde no hay "contacto".

Bajo esta primicia, muchos pokemon se ven beneficiados con movimentos como Bite o Crunch que ahora son fisicos y que en su mayoria lo aprendian pokemon con buen ATK, pero tambien muchos otros perdieron "versatilidad", como Alakazam que ya no hace buen uso de los Elemental Punchs.

Lo que el parche pretende es traer ese toque de modernidad a los juegos de segunda generacion y junto a otros tutoriales de la web, tener ataques como Zen Headbutt en un Tauros o Snorlax, para asi tener mas variedad de pokemons y mas diversion C: .Yo creo que uno de los pokemon que saca mas provecho de estó es Gyarados, ya que antes no tenia movimientos con STAB que aprovecharan su gran fuerza fisica, pero ahora veras como su Waterfall pone a temblar a los rivales.

Te explico como funciona el parche. Cuando lo aplicas en tu rom, ademas de modificar las rutinas correspondientes para separar los movimientos en FISICO y ESPECIAL, crea una tabla en $99400 donde cada byte representa un movimiento y que depende de si ese byte esta en 0x00 el juego lo toma como ataque fisico o si esta en 0x01 lo toma como ataque especial.

Puedes comprobar esto con el primer ataque especial que es Razor Wind y su valor hex es 0x0D, haces la operacion correspondiente 0x99400 + 0x0D = 0x9949D, vas a ese offset con tu editor HEX favorito y compruebas que esta en 0x01. Despues haces pruebas en el emulador, atacando a una Blissey quien tiene una gran diferencia entre su Defense y Sp.Defense.

Espero todo haya quedado mas claro con esto y si aun sigues con dudas puedes seguir preguntando.

Saludos! :D
#12
WiZaRD 25635
Ohhh , ahora entiendo , esto entonces ayuda a mejorar la vesatilidad del juego , ya que trata de asemejarse a los juegos actuales , probare para ver que hay xD ojala la dirección que mencionas no este ocupada como la del tutor y de ser asi espero con tu ayuda compa como para poder poner en una nueva dirección .
Nuevamente gracias por el aporte y felicito la tremenda dedicación de tu parte hacia el room hack GBC :D
Saludos [MENTION=26330]Chamber[/MENTION]