Registrarse

GBC | Minitutos para hacerte la vida fácil

Gold

Porrero a tiempo parcial
Miembro insignia
Bien señoras y señores, abro este thread debido a que poseo una lista de tutoriales, utiles pero cortos, pero por ser cortos no me tomare la molestia de hacer un thread para cada uno, asi que comenzare con este:

1. BUSCANDO ESPACIO LIBRE (METODO 1)

Siempre cuando queremos insertar algo, ya sea tiles, sprites, o bien un script necesitamos de espacio libre, como sabran el rom de oro y plata (tambien cristal) poseen una gran cantidad de espacio libre que podemos aprovechar, pero esta disperso por todo el rom D:

Para buscarlo necesitaremos solo de:


  1. Hack-o-Matic
  2. Gold Finger (Opcional)
Como sabran Hack o matic es una herramienta arcaica y casi en desuso, pero aun tiene funciones que podemos aprovechar, entre ellas esta la busqueda de espacio libre, ahora procederemos a aprender a usarlo.


1. Abre tu rom con hack o matic, situate en la pestaña "empty space finder" (icono de lupa) y le das click, luego de ello te desplegara esta ventana:




2. Deja todo intacto y dale "Search" tardara unos segundos, y cuando este listo te desplegara todos los espacios libres del rom, como veran no solo te dara el offset, sino su puntero, banco y su tamaño.




Ahora si quieren comprobar que es cierto solo abran su rom con gold finger y vayan al offset que buscan, veran que efectivamente SI esta libre ese espacio.



Y es todo, hay mas maneras de buscarlo, esta de seguro no es la mejor, pero es mas comoda que buscar los espacion manualmente en hexadecimal

Bien conforme los recopile los ire poniendo, ai evitaremos threads con tutoriales cortos.

Si tienes un minituto que quisieras aportar, solo postealo y con gusto lo subire al thread
 
Última edición por un moderador:

Chamber

Miembro insignia
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Este es muy bueno, cortesia de Crystal_

Es muy facil. Imagina que quieres pointer a 0x1A276.
1. Coges los 4 digitos menos significativos (A276)
2. Sumas o restas 0x4000 N veces hasta "encajar" el pointer en un numero que empieze por 4, 5, 6, o 7. (A276 - 4000 = 6276)
3. Partes el numero por la mitad y lo das la vuelta (62 | 76 -> 76 62 ; es decir el pointer es 0x62 0x76).

A la larga este proceso se vuelve muy intuitivo y se pueden calcular pointers en 3 segundos!

Nota: Si el offset esta entre 0x0 y 0x3FFF entonces te saltas el paso 2
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Este es muy bueno, cortesia de Crystal_
Primero a la lista :p, gracias por compartir, aunque a un novato se le dificulte con el tiempo esto se vuelve costumbre
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Nuevo Minituto!!!!

¿Como Poner Una textbox de Batalla Al estilo GBA?

Lasolucion es simple, debemos de extender las medidas de la texbox durnte la batalla, para ello solo escribiremos los siguientes bytes en las offsets detalladas a continuacion:

24E95=09
24E8E=00

Si lo pusiste bien deberia de estar asi:


Es todo, Saludos!!!!
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Rutina para cambiar la frecuencia con que aparece un pokemon Shiny en GOLD/SILVER.

En el offset $9052, se reemplaza la rutina actual por esta. Despues del ";" estan los valores HEX de cada opcode.

Probabilidad 1/512:

ld l,c ; 69
ld h,b ; 60
ld a,[hl] ; 7E
and a,$10 ; E6 10
jr z,+$10 ; 28 10

ld a,[hli] ; 2A
and a,$F ; E6 0F
cp $D ; FE 0D
jr nz,+$9 ; 20 09
ld a,[hl] ; 7E
and a,$F ; E6 0F
cp $D ; FE 0D
jr nz,+$2 ; 20 02
scf ; 37
ret ; C9
and a ; A7
ret ; C9

Para que la rutina funcione con probabilidad 1/256 omite los valores de la parte roja.

Creditos a IImarkus y Crystal_
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Desde hace tiempo busco actualizar GSC con mecanicas de XY.

Una de ellas es que el Hidden Power ahora tiene poder estatico de 60 puntos. Para hacer lo mismo tenemos que ir a $FBE29 y cambiar el C6 1E por 3E 3B en pokemon GOLD.

3B = al poder del HP - 1, en este caso 59 en decimal.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Ahora Aporto un minituto mas
Cambiar los items de las Pokeball en el suelo

Solo haz lo siguiente:

1. Con Johtomap abre tu ROM y dirigete al mapa donde esta la pokeball a editar
2. Ponte en la pestaña de eventos, clickea el overworld de la pokeball, y copia el Offset donde esta el de la pokeball
3. Ahora abre tu ROM con GoldFinger, dirigete al offset de la pokeball, y el primer byte del evento es el item que contiene en hexadecimal
4. Cambia el primer byte de la pokeball por el codigo hexadecimal del item, guarda, prueba el evento y ¡listo! has cambiado el item que esta tirado.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Bien este no es un minituto en si, pero si una nota que deberian de saber.

Cuando ineertas un pokemon/entrenador nuevo en tu ROM este es repunteado y mandado el 100% de las veces a otro banco, pues bien, cuando lo insertas siempre esta marcada la casilla "Delete original data" ¿Y esto que quiere decir? que cuando metes un sprite y esta marcada esa casilla el sprite original es borrado de su ubicacion original.

¿Y esto que quiere decir? que sabiendo que los sprites de pokemon/entrendores estan ubicados entre 0x54000 y 0x83FFF (osea ocupan 5 bancos) eso quiere decir que estamos liberando espacio ahi, entonces quiere decir que cuando metemos un sprite nuevo estamos liberando espacio en esos bancos, y como sabemos el espacio libre de GBC es agradecido sea donde sea que este.

Nota: Aqui no tienes peligro de estropear tu ROM por poner algo ahi, ya que esos bancos no tienen nada mas que sprites, los cuales son facilmente reemplazables c:
 

Crystal_

Héroe de WaH
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Algo sencillo que acabo de implementar en Pokemon Pyrite en relacion al dinero perdido en combates, quien sabe, puede que a alguien le interese: http://pastebin.com/GVqjkfKC

Basicamente, hace que el dinero perdido tras perder un combate sea X^2 * 4, donde X es el nivel mas alto de los Pokemon de tu equipo, o la cantidad de Pokemon de tu equipo, el que sea mayor. e.g. si tus pokemon son lv 15, lv 18 y lv 20 (aprox gym 2), perderas 20^2*4 = 1600 monedas. Lastima el hecho de que emplee direcciones ram de crystal ya que todos los demas usan gold como base, pero tan solo hay que traducir unas pocas direcciones genericas. Esta rutina debe ser implementada sobre la rutina HalveMoney (Crystal:12513).

Y, ya que estamos, un poco mas complejo, pero si alguien quisiese implementar una especie de sistema de EVs para entrenadores similar a los de mi hack, puede usar esto como ayuda: http://pastebin.com/W0zWbLYU
 

Whackero

Where is my Magikarp??
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

El tuto de la textbox de batalla al estilo GBA esta mal...
Y lo se porque lo compare las direcciones que marcaba GOLD con las de Pokemon Prism y esta mal solo por un poquito.
El segundo offset no es 24E8E, sino 24E8D.
Pero dentro de todo esta bien :)
 

Chamber

Miembro insignia
Miembro insignia
Separar de banco el backsprite del protagonista y del "dude".

Los sprites mencionados se encuentran en el mismo banco, uno detras del otro. Si por alguna razon el back del protagonista es mas grande que el original sobreescribiria el del dude.
Para evitar que esto pase podemos redireccionar ambos backs a diferentes bancos con esta rutina:

$3F958
21 CB 79 06 0F FA 19 D1 FE 03 C2 A0 7E 21 5B 7B 06 0F C3 A0 7E 00 00 00 00 C9

$3FEA0
11 10 93 0E 31 3E 3F CD 49 2E C9


El color rojo es el pointer y el color naranja es el banco del backsprite del Protagonista y el Dude respectivamente.

El color azul indica el puntero a la nueva rutina expandida.
 
Respuesta: [GBC] Minitutos Para Hacerte la Vida Facil

Desde hace tiempo busco actualizar GSC con mecanicas de XY.

Una de ellas es que el Hidden Power ahora tiene poder estatico de 60 puntos. Para hacer lo mismo tenemos que ir a $FBE29 y cambiar el C6 1E por 3E 3B en pokemon GOLD.

3B = al poder del HP - 1, en este caso 59 en decimal.
Creo que la potencia de Hidden Power llega a 60 cuando pones 3C en lugar de 3B.
Es una teoría que yo tengo. .-.
De todas formas, ese byte es muy necesario para cambiar valores en GSC. :D
 
Arriba