Buenas gente! vengo siguiendo la serie de tutoriales de mi colega @Jo7a.
En esta ocasión les traigo la clase N°5 sobre los tutos de Jpan, ahora con el metodo de expandir la tabla de fosiles Pokémon para que puedan ser utilizados como gusten, muchos lo usan como mugshot, esta rutina es la edición del Special de los fosiles Pokémon de Ciudad Plateada, lo que harémos será expandir esta tabla para poder colocar 255 imagenes más.
Bueno, antes que nada necesitaremos la rutina y el compilador ASM, el Thumb pueden bajarlo de acá:
Acá esta la rutina que necesitaremos:
Bueno es todo muy sencillo gente, antes que nada debemos escoger una tabla principal para colocar los datos, cuando coloquen el offset sencillamente proceden a compilar la Rutina ASM con THUMB y la insertan en 0x9d504 sobre escribiendo esos datos.
Bueno esta tabla es bastante diferente, consiste en los siguientes datos:
Pero ahora me dirán, ¿Qué coño es "Puntero de imagen"? ¿No es la dirección donde esta la imagen?, pues no lo es jaja.
Por alguna razón esta rutina apunta a otra tabla... en donde si estarán las imágenes más unos caracteres diferentes, acá una muestra:
Como pueden ver mi tabla principal se encuentra en 0x08C00000 Y el primer puntero que he seleccionado en la imagen es el "Puntero de mi fosil", ok ahora vayamos a ese puntero qué en mi caso es: 0x08BFFDD0
Pues aquí esta el offset de mi imagen sin comprimir que es 7F0000, luego viene el respectivo 08 que indica que esta en la ROM luego siguen estos caracteres: 00 08 58 1B 00 00 00 00 00 00 00 00, que corresponden a obligación en la tabla.
Por lo tanto la tabla de "Puntero fosil" debe ser:
La tabla debe ocupar toda una linea de 0F datos como se puede ver en la imagen.
Ok deben tener MUY en cuenta toda esa información para la estructura de la tabla... porque si no la colocan bien no cargará la imagen y se crasheara el juego.
Anexo esto para quienes no sepan colocar imagenes sin comprimir en la ROM:
Ok una vez conciendo como se estructura la tabla y como son las imagenes, ya deberían tener sus dos tablas listas.
Recuerden, tabla principal (La que se coloca en la rutina) es donde debe ir así:
Si se quiere añadir otra imagen, pues al lado se hace igual en la tabla, se pone el puntero del "fosil" y la paleta.
Y bueno una vez estado todo listo ya en teoria nuestra rutina debe funcionar usando el special 0x18b!
Aquí les dejo la muestra del script de como debe ir:
Todo se explica en el script, Special 0x18B hace la imagia que aparezca la imagen con la variable anteriormente fijada, con Special 0x18C desaparece el mug.
Si han hecho todo bien debería funcionar, acá una muestra:
Y es todo
ANOTACIONES IMPORTANTES
En esta ocasión les traigo la clase N°5 sobre los tutos de Jpan, ahora con el metodo de expandir la tabla de fosiles Pokémon para que puedan ser utilizados como gusten, muchos lo usan como mugshot, esta rutina es la edición del Special de los fosiles Pokémon de Ciudad Plateada, lo que harémos será expandir esta tabla para poder colocar 255 imagenes más.
Bueno, antes que nada necesitaremos la rutina y el compilador ASM, el Thumb pueden bajarlo de acá:
Acá esta la rutina que necesitaremos:
Código:
.align 2
.thumb
.org 0x9d504
Replacer: push {r4-r6, lr}
mov r6, r8
push {r6}
ldr r0, Place_d6d5
bl 0x1119d4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0x1
beq 0x9d5f2
ldr r0, Place_d495
bl 0x77688
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0xff
bne end
ldr r0, var_8004
ldrh r0, [r0, #0x0]
ldr r1, table_index
mov r2, #0x2
lsl r2, r2, #0x8
cmp r0, r2
bgt 0x9d5f4
lsl r0, r0, #0x3
add r1, r0, r1
ldr r0, [r1, #0x0]
push {r1}
bl 0x8720
pop {r1}
add r1, #0x4
ldr r0, [r1, #0x0]
mov r1, #0xe8
lsl r1, r1, #0x1
mov r2, #0x20
bl 0x703ec
b 0x9d572
end: mov r0, #0x0
b 0x9d5f4
.hword 0x0000
Place_d6d5: .word 0x0809d6d5
Place_d495: .word 0x0809d495
var_8004: .word 0x020370c0
table_index: .word 0x08[La tabla Principal]
Bueno esta tabla es bastante diferente, consiste en los siguientes datos:
Código:
[Puntero de Imagen Permutado]+08+[Paleta SIN COMPRIMIR Permutado]+08
Por alguna razón esta rutina apunta a otra tabla... en donde si estarán las imágenes más unos caracteres diferentes, acá una muestra:
Como pueden ver mi tabla principal se encuentra en 0x08C00000 Y el primer puntero que he seleccionado en la imagen es el "Puntero de mi fosil", ok ahora vayamos a ese puntero qué en mi caso es: 0x08BFFDD0
Pues aquí esta el offset de mi imagen sin comprimir que es 7F0000, luego viene el respectivo 08 que indica que esta en la ROM luego siguen estos caracteres: 00 08 58 1B 00 00 00 00 00 00 00 00, que corresponden a obligación en la tabla.
Por lo tanto la tabla de "Puntero fosil" debe ser:
Código:
[Puntero Permutado de imagen sin comprimir]+08+00 08 58 1B 00 00 00 00 00 00 00 00
Ok deben tener MUY en cuenta toda esa información para la estructura de la tabla... porque si no la colocan bien no cargará la imagen y se crasheara el juego.
Anexo esto para quienes no sepan colocar imagenes sin comprimir en la ROM:
Se debe utilizar NSE 2.0 (venga para hacerlo mas práctico)
- Primero abren su ROM, creo que no necesito poner imagenes de eso...
- Ahora vamos a abrir el Sprite que vamos a insertar, debe ser de 64*64 la imagen y 16 colores, venga lo normal:
- Una vez este abierto su sprite en el NSE 2.0 hacemos esto:
- Ahora elegimos el espacio donde lo vamos a poner:
Esa dirección la deben escribir y guardar, ya que ese es el offset de su imagen, para la paleta hacen lo mismo y listo, esta su imagen sin comprimir en la ROM.
Ok una vez conciendo como se estructura la tabla y como son las imagenes, ya deberían tener sus dos tablas listas.
Recuerden, tabla principal (La que se coloca en la rutina) es donde debe ir así:
Código:
[Puntero de Imagen Permutado]+08+[Paleta SIN COMPRIMIR Permutado]+08
Y bueno una vez estado todo listo ya en teoria nuestra rutina debe funcionar usando el special 0x18b!
Aquí les dejo la muestra del script de como debe ir:
Código:
#dynamic 0x800000
'---------------
#org @start
setvar 0x8004 0x0 'Numero de Imagen
setvar 0x8005 0x1 'Posición X Imagen
setvar 0x8006 0x4 'Posición Y Imagen
special 0x18B 'Special que hace magia
msgbox @msgbox1 0x6 '"Los PSS Icon son lo mejor en mugs!..."
special 0x18C 'Con este se acaba la magia.
end
'---------
' Strings
'---------
#org @msgbox1
= Los PSS Icon son lo mejor en mugs!\n<3
Si han hecho todo bien debería funcionar, acá una muestra:
Y es todo
ANOTACIONES IMPORTANTES
-
SouL dijo:"El cuadro de atrás" xD anda al offset 09D696 y cambiar 66 F7 25 FB 04 por 00 00 00 00 00 y listo
- Esta rutina es incompatible con la de paletas dinamicas, la rutina de paletas dinamicas edita un par de cosas de la rutina normal de FR, cosa que se me escapa de los conocimientos que tengo ahora, si alguien sabe hacer esto compatible con paletas dinamicas, hable ahora o calle para siempre.
- Los Mugshot se oscurecen si tienes el DNS, supongo que se puede editar para que el DNS no le afecte, pero tambien se escapa de mis manos x'D
CREDITOS
- Jpan, Creador de rutina.
- @Jo7a, por permitirme confirmar como iba la rutina en la ROM (aunque no tenias ni puta idea tio x'D)
Adjuntos
-
6,2 KB Visitas: 122
Última edición: