tuts_gbc
Thread Id: 24653
Thread Name: [GBC] Minitutos Para Hacerte la Vida Facil
#0
G0LD_ZTHVARD0X! 27515
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)



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

[Persiana=Acerca tu Mouse Aca Plz]Si tienes un minituto que quisieras aportar, solo postealo y con gusto lo subire al thread[/Persiana]
#1
Chamber4315♪ 26330
Este es muy bueno, cortesia de Crystal_

Iniciado por 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

#2
G0LD_ZTHVARD0X! 27515
Iniciado por Chamber
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
#3
G0LD_ZTHVARD0X! 27515
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!!!!
#4
Chamber4315♪ 26330
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_
#5
Chamber4315♪ 26330
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.
#6
G0LD_ZTHVARD0X! 27515
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.
#7
G0LD_ZTHVARD0X! 27515
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:
#8
Crystal_ 28012
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