tuts_gbc
Thread Id: 23562
Thread Name: [GBC] Editar Pantalla de Titulo (Toda la Imagen)
#0
G0LD_ZTHVARD0X! 27515
Hola de nuevo, el dia de hoy vengo con este super tuto que es super util, es como dice el titulo EDITAR LA PANTALLA DE TITULO, pero no me refiero solo a las letras, me refiero a TODA la imagen, poniendo el diseño que deseemos.

ESTE TUTO NUNCA HA SIDO ESCRITO EN NINGUN FORO DEL MUNDO (NI SKEETENDO NI POKECO)

Para este tuto es ESCENCIAL conocer sobre hexadecimal, repunterar y dibujar en paint :P.

Antes que nada necesitaremos:

• Agixp 4.11
• Editor hexadecimal
• Calculadora de punteros
• Paint
• Emulador BGB (Como depurador)
• Imaginacion y paciencia

Antes de empezar adviertocque CON ESTE TUTO SOLO SE HARAN IMAGENES ESTATICAS, aun no hallo como hacerlas animadas.

Paso 1:

Antes que nada debemos de dibujar la imagen a utilizar, o bien podemos usar un sprite o silueta, es decision personal, les dejo este adjunto que es la base de como dibujaremos la pantalla



Aviso que la imgen no debe de medir mas de 255 tiles 8x8, y debe de ser en igual que un tileset SOLO 4 COLORES, y se superrecomienda que hagan un "rompecabezas" de la imagen, esto para ahorrar el mayor espacio posible para no ocupar espacio innecesario que pueda servir para insertar mas cosas.

Paso 2: Insertando portada al ROM

ahora que tengamos lista la imagen, procedemos a insertarla al rom, primero abrimos el rom con agixp, seleccionamos la imagen, igual que un tileset el color mas claro va primero, luego el oscuro, luego seguimos y como es una especie de tileset el que insertaremos, la inserccion es HORIZONTAL, luego pondremos la imagen en un banco vacio, yo escogi 0x1E0000, deztildamos pokemon trainer inserccion, le damos siguinte y listo, ya esta la imagen en el rom



Paso 3: Borrar imagen antigua

Ahora abriremos nuestro rom con su editor hexadecimal preferido, iremos a la direccion donde se almacena los datos respecto a la pantalla de titulo, esta varia segun la rom utilizada:

0x62b0 para Pokemon Oro
0x62b1 para Pokemon Plata

Ahora debemos de cambiar todos los bytes por 00, empezando de la direccion antes mencionada hasta 0x62EE (para pokemon oro) o 0x62EF (para pokemon plata), quedando mas o menos asi:



Paso 4: Repunteando Imagen

Ahora debemos de obtener el puntero de la imagen que insertamos antes con agixp, el puntero de mi imagen es78:00 40, copiamos el puntero y ahora con nuestro editor hexadecimal nos iremos a la direccion 0x62B0 o 0x62B1, segun el rom, ahora empezaremos a escribir exactamente los siguientes bytes:

21 xx yy 11 00 88 3E zz CD F0 0A

xxyy= primeros dos bytes del puntero de la imagen
zz= ultimos dos bytes del puntero que señala el banco donde insertamos la nueva imagen

a mi me quedo asi:

21 00 70 11 00 88 3E 78 CD F0 0A

Paso 5: Deshabilitando animaciones

Para deshabilitar las animaciones debemos de ir a los siguientes offsets y cambiarlos por 00, varian segun el rom que estemos utilizando:

Para Pokemon Oro:
0x640A: poner 00 hasta llegar a 0x640C
0x63F7: poner 00 hasta llegar a 0x63F9

Para Pokemon Plata:
0x6409: poner 00 hasta llegar a 0x640B
0x63F7: poner 00 hasta llegar a 0x63F9


Ahora ya tenemos una pantalla de titulo estatica

Paso 5: Armando la imagen

Para armar la pantalla de titulo debemos de dirigirnos a la direccion donde se almacena el orden de los tiles:

para Pokemon Oro: 0x98616
para Pokemon Plata: 0x98629

Ahora para saber el bloque que va abriremos nuestro rom con el emulador bgb, llegremos a la pantalla de titulo, y cuando estemos en ella le damos click derecho al emulador>other>vram viewer, en donde dice tile viewer veremos el rompecabezas que antes insertamos, acercamos el mouse al bloque que queramos y al costado del programa donde esta el tile seleccionado aumentdo nos saldra el numero hex del bloque, el primero suele ser 80.



Ahora regresaremos al editor hex, y sin cerrar bgb, escribidemos los bloques que querramos a modo de armar la pantalla, esto es mega dificil y nunca sale a la primera, pero para ello a veces debes de repetir un tile a modo de armar las lineas, ojo son 20 bytes los unicos que son visibles en la pantalla, y como sobran 12, cada vez que terminemos de escribir 20 bytes de la imagen, debemos.de saltearnos 12 bytes, asi mientras va agarrando forma, puedes ver como va abriendolo con bgb.




Ojo: debes de saber que NO DEBES DE USAR EL BLOQUE xFF, ya que este bloque le dice al rom que ahi termina la pantallabde titulo, por lo que no usaremos ese bloque

PASO 6: Asignando Paletas

Ahora que despues de un siglo ya armaste los bloques corectamente, solo queda cambir los colores como deseemos, para ello usaremos la herramienta TITLESCREEN EDITOR -TED-, abrimos nuestro rom, cambiamos los colores como deseemos y LISTO!!!! hemos cambiado la pantalla de titulo, fue costoso y sin querer usamos ASM, por si no lo notaste.

RECOMENDACIONES:

1. Basate en mi imagen, asi no te costara, y el fondo de la imagen es si o si de color azul
2. No te desesperes si no sale a la primera, este proceso cuesta mucho perfeccionarlo, pero te divertiras cuando ya le agarres la onda
3. Las imagenes en blanco que en mi imagen se ven es para asegurate que ninguna animacion glitch te aparezca en tu nueva pantalla.

Es todo por hoy, y esperando les haya servido este tuto.

Creditos a Javcdark por offsets proporcionadas para el post

Gracias por Leer!!!!
#1
WiZaRD 25635
Es muy buen tuto pero algo complicado de realizar , jejej al menos para los que recién aprenden , para mi es un reto total hacerlo , muy buen aporte mi estimado ya extrañaba un buen tuto como ya nos tienes acostumbrados
excelente !!!!
#2
Chamber4315♪ 26330
Primero!! (edito: Segundo -__-)

Pues no dejas de sorprendernos con los tutoriales para GBC y como lo has dicho, es un tutorial nunca visto en otro foro, ARRIBA LA COMUNIDAD LATINA!!

Asi como lo describes si se ve algo complicado pero es un super plus para los hacks.

Me surgen muchas dudas, pero quizas no estes tan avanzado como para preguntar, pero aun asi lo hare:

1.-Has intentado armar una portada con animacion?
2.-Las animaciones se separan por pointers?
3.-Que tan dificil es querer cambiar las palletas mediante pointers o bytes igual como le hacemos en los Tileset?
4.-La imagen de tu hack esta pocamadre!!

Saludos!
#3
javcdark 15833
vengo a ca***rte el post :demonio:

para empezar si esta posteado en skeetendo pero que mas da, de todas formas es diferente

segundo: es posible que en pokemon gold de fallos usar los bloques del F8 al FD y el FF (a mi me paso eso)

tercero: recomiendo usar sphere(herramienta gba para portadas) para hacer una imagen sin tiles repetidos (debe haber tutoriales aqui en wah)

para finalizar decir que es un buen tutorial y que sin duda hara que veamos mejores hacks gbc
#4
Chamber4315♪ 26330
Problemas.

Hice el tutorial al pie de la letra y se me cuelga la pantalla. Alguna sugerencia.

Ya revise los offsets 3 veces y estan tal cual los pasos especificados.

Edito: Volvi a hacer todo desde cero y lo que falla es el paso de cancelar las animaciones. Cuando modifico el "0x640A poner 00 hasta llegar a 0x640C", se congela la pantalla.

Edito2: Ya encontre la falla, al momento de camcelar las animacione en gold, se pone 00 de $640A a $640D, osea un bit mas de lo que dice el tutorial. Igual y tengo un Glitch que despues de presionar A en la pantalla de titulo, aparecen graficos basura como por medio segundo, nada grave, solo es molesto.
#5
Chamber4315♪ 26330
Para los que sigan este tutorial les dejo la asignacion de paletas segun el area de la pantalla. Asi pueden planear e mejor forma su portada.

Cada colos de la derecha representa el sector de la pantalla que comparten la misma paleta. El sprite de Ho-Oh maneja paletas independientes del fondo.



PD: He buscado en el Rom dicha asiganacion de paletas sin tener resultados positivos, no se si el autor del tutorial tenga ese dato.
#6
G0LD_ZTHVARD0X! 27515
Pues no he intentado cambiar eso, pero talvez esta documentacion sirva

62bf - 00 = static title screen!
0x62cc - Pointer to Top of the Titlescreen GFX 2b*
0x62c1 - Pointer to Bottom of Titlescreen GFX 2b*
0x630c - Hoho X,Y (Inverted)
0x62d7 - Hoho Pointer to GFX 2b*
0x98616 - Titlescreen Arrangement
0x6381 - Top of Titlescreen Pallet map pointer 2b
0x6387 - Top of Titlescreen Pallet Colour - (01 - BGP01)
0x638c - Middle of Titlescreen (Gold Version text) Pallet map
pointer 2b
0x6392 - Middle of Titlescreen (Gold Version text) Pallet Colour
(03 - BGP03)
0x6397 - Bottom of Titlescreen Pallet map pointer 2b
0x639d - Bottom of Titlescreen Pallet Colour - (04 - BGP04)
#7
sebaxto 29051
Como Saco El Punteroe De La Imagen O Alguien Seria Tan Amable De Pasarme La Calculadora De Punteros Muchas Gracias :D