Bueno, hoy traigo otro tutorial hecho por Zinc. Que pese a estar baneado sigue aportándonos tutos desde el mas allá (indirecta!)
Bueno sin mas preámbulos os dejo el tuto:
Bien, ahora vamos a hacer una tabla de paletas para colorear nuestra VS bar de diferente modo segun el momento.
Para ello solo tienes que crear tu paleta de 16 colores ya sea en CMP, en Paint, PS, o donde os de la gana, guardarla, ahora explicar? como insertarla en cualquier parte de la ROM.
Abre el FSF, busca espacio para la paleta (64bytes necesarios) y luego vas al APE, aquí solo tienes que cargar la dirección que te dio FSF, sobre esa paleta (negra) tendrás que poner la tuya, para lo cual solo tienes que cargar la paleta y darle a Guardar. Al volverle a dar a Cargar en esa dirección, nos debería dar nuestra paleta.
Así debéis insertar 3 o 4, las que queréis vosotros.
Bien, ahora imaginemos que hemos insertado las paletas en los offsets, pues las vamos a permutar!
80 00 00 > 00 00 80
80 30 00 > 00 30 80
80 80 00 > 00 80 80
(Como veis es solo cambiar el orden, es super sencillo)
Ahora abrimos el FSF y buscamos un offset que va a necesaitar 4 bytes por paleta. Es decir si metemos 7 paletas (7*4=28, los bytes necesarios serán 28, al igual que si solo metemos 3, (3*4=12), solo seran necesarios 12) De todas formas yo recomiendo buscar cerca de los 100, que siempre podríamos añadir nuevas paletas si queremos.
Bien ahora apuntamos la dire en un bloc de notas y vamos a esta nueva dirección con el HxD.
En esta nueva dirección, nos vamos a dedicar a poner todos los repunteos a las paletas una detrás de otra, siguiendo el ejemplo de antes, sería asi:
00 00 80 00 30 80 00 80 80
¿Lo entendéis? Espero que si porque me explico faatal.
Habéis apuntado bien la dirección ¿No? porque es fundamental ahora mismo.
Fijaos, en el "ASM3.bin" tenemos una serie de FF FF FF casi al final de esta rutina, pues este FF FF FF es lo que deberemos sustituir por esa dirección que hemos apuntado en el bloc
NOTA: Recuerda, todas las direcciones acaban en 08 y hay que permutar la dirección, aunque tras las FF FF FF ya esté el 08 incluido y no nos hace falta cambiarlo.
Es decir, tendríais que darle la vuelta, como hemos hecho antes y añadirle un 08 al final. Si por ejemplo la hubiesemos insertado en el offset 90 00 00
Habria que sustituir el FF FF FF 08 por esto:
00 00 90 08
Es decir, cambios los FF FF FF por 00 00 90, simplemente.
LISTO, YA ESTA TODO HECHO Y HEMOS TERMINADO, ¿Contento? Ah claro, se me olvidaba...
¿Ahora como hacemos para llamar a una paleta u otra?
Os acordais del reserved que hablamos antes?
Hablamos de esto:

Bien, pues si pones 100, saldrá la paleta 1, si pones 200 la 2, si pones 300 la 3 y así sucesivamene, la verdad que solo he metido hasta 7 paletas, no se cuantas se podrán meter.
A mi me quedaron así:



Ahora si que si hemos terminado, saludo y que os cunda!
Bueno sin mas preámbulos os dejo el tuto:
Bien hasta aquí el tutorial de Zinc, ahora vengo a explicaros las paletas de mi puño y letra.Iniciado por Zinc
Hoy les traigo(por fin)un tutorial sobre cómo usar esos mugshots y VS Bars que aparecen. Para hacer esto usaremos ASM![]()
Las rutinas ASM están hechas por Jambo51, así que debes darle créditos a él.
¿Qué necesitamos?
-Conocimientos Avanzados
-Editor Hexadecimal
-Compilador de ASM https://www.mediafire.com/?l287si9c95ij12i (créditos a Andrea).
-XSE
-Visual Boy Advance
Haciendo la magia (Fire Red Inglés)
Para "la magia" necesitaremos 3 rutinas ASM que deberemos insertar. :
Código:.text .align 2 .thumb .thumb_func .global mugshothackone main: cmp r0, #0x87 beq there cmp r0, #0x88 beq there ldr r4, ramoffset ldrh r4, [r4, #0x0] lsl r5, r4, #0x2 add r5, r4, r5 lsl r4, r5, #0x3 ldr r5, place ldr r5, [r5, #0x0] add r0, r4, r5 ldrb r0, [r0, #0x3] there: add r4, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 mov r9, r3 ldr r7, [sp, #0x34] ldr r0, return bx r0 .align place: .word 0x08044028 ramoffset: .word 0x020386AE return: .word 0x0808386D
Código:.text .align 2 .thumb .thumb_func .global mugshothacktwo main: ldrb r5, [r4, #0x3] lsl r5, r5, #0x18 lsr r5, r5, #0x18 cmp r5, #0x0 beq normalchecks mov r1, #0x5A ldr r5, returnone bx r5 normalchecks: cmp r1, #0x57 bne later add r1, r2, #0x0 mov r0, #0xCD ldr r5, returntwo bx r5 later: ldr r5, returnone bx r5 .align returntwo: .word 0x0807FFA5 returnone: .word 0x08080009
Código:.text .align 2 .thumb .thumb_func .global mugshotpallethack main: ldr r1, ramoffset ldrh r1, [r1, #0x0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r1, r0, #0x3 ldr r0, trainertable ldr r0, [r0, #0x0] add r1, r0, r1 ldrb r1, [r1, #0x1] cmp r1, #0x5A beq oldway cmp r1, #0x57 beq oldway ldr r1, ramoffset ldrb r1, [r1, #0x3] sub r1, #0x1 lsl r1, r1, #0x2 ldr r0, table2 add r1, r1, r0 ldr r0, [r1, #0x0] b back oldway: ldr r1, table mov r2, r8 mov r3, #0x26 ldrh r0, [r2, r3] lsl r0, r0, #0x2 add r0, r0, r1 ldr r0, [r0, #0x0] back: ldr r1, return bx r1 .align ramoffset: .word 0x020386AE trainertable: .word 0x08044028 table: .word 0x083FA740 table2: .word 0x08FFFFFF return: .word 0x080D28D5
No olvides anotar los offsets en los que insertas las rutinas xDD.
Como los amo a todos ustedes, les dejo los bytes listos para meter en el HEX Editor. Anota las direcciones, es MUY importante.
87 28 0A D0 88 28 08 D0 08 4C 24 88 A5 00 65 19 EC 00 05 4D 2D 68 60 19 C0 78 04 1C 0D 1C 16 1C 99 46 0D 9F 02 48 00 47 28 40 04 08 AE 86 03 02 6D 38 08 08
E5 78 2D 06 2D 0E 00 2D 02 D0 5A 21 05 4D 28 47 57 29 03 D1 11 1C CD 20 01 4D 28 47 01 4D 28 47 A5 FF 07 08 09 00 08 08
0E 49 09 88 88 00 40 18 C1 00 0D 48 00 68 41 18 49 78 5A 29 09 D0 57 29 07 D0 08 49 C9 78 01 39 89 00 09 48 09 18 08 68 06 E0 06 49 42 46 26 23 D0 5A 80 00 40 18 00 68 04 49 08 47 AE 86 03 02 28 40 04 08 40 A7 3F 08 FF FF FF 08 D5 28 0D 08
En mi ejemplo pondré las rutinas en los siguientes offsets:
ASM1.bin en 750000 --> usamos 750001
ASM2.bin en 750040 --> usamos 750041
ASM3.bin en 750070 --> usamos 750071
Después vamos al offset 83862 y cambiamos lo que está ahí por lo que tenemos aquí:
01 4C 20 47 00 00 XX XX XX 08
XX XX XX = Pointer de ASM1
Pointer ASM1 (un pointer es un offset permutado): 01 00 75
Después vamos al offset 7FF90 y cambiamos lo que está ahí por lo que tenemos aquí:
00 4A 10 47 XX XX XX 08
XX XX XX = Pointer de ASM2
Pointer ASM2: 41 00 75
Después vamos al offset D28C6 y cambiamos lo que está ahí por lo que tenemos aquí:
01 49 08 47 00 00 XX XX XX 08
XX XX XX = Pointer de ASM3
Pointer ASM3: 71 00 75
Ahora nos vamos a algún editor de trainerbattles y hacemos o editamos uno. Pero para ahorrar tiempo yo usaré uno ya existente.
¿Olvidaste cómo se hacen las trainerbattles?¿¡Lo olvidaste!? Eres una vergüenza como rom hacker
Hay que poner esto (además de la estructura básica de un script):
¿Ves lo que dice "Reserved"? Ahí siempre poníamos un 0x0 en las trainerbattles normales; pero ahora pondremos 0x200.
Entonces solo 0x200. Dentro del juego funciona.
Ahora nos queda solo el último cambio. Vamos de nuevo al editor Hexadecimal y vamos al offset 801f5 y cambiamos el byte (debería ser 88) a 78.
---Prueba in-game---
Los colores de la barra de arriba se ven "diferentes" porque aún no los cambio. Están en el offset 3FA6A0, se puede cambiar con APE.
Muchas gracias por leer, espero les haya sido de mucha utilidad.
El tutorial pertenece a Hackrex de RHO.
Link al tutorial: https://board.romresources.net/board219-rom-hacking-tools-tutorials-ressourcen/board16-rom-hacking-tutorials/board210-tutorial-archiv/10155-mugshots-vor-trainer-kämpfen-einfügen/
Bien, ahora vamos a hacer una tabla de paletas para colorear nuestra VS bar de diferente modo segun el momento.
Para ello solo tienes que crear tu paleta de 16 colores ya sea en CMP, en Paint, PS, o donde os de la gana, guardarla, ahora explicar? como insertarla en cualquier parte de la ROM.
Abre el FSF, busca espacio para la paleta (64bytes necesarios) y luego vas al APE, aquí solo tienes que cargar la dirección que te dio FSF, sobre esa paleta (negra) tendrás que poner la tuya, para lo cual solo tienes que cargar la paleta y darle a Guardar. Al volverle a dar a Cargar en esa dirección, nos debería dar nuestra paleta.
Así debéis insertar 3 o 4, las que queréis vosotros.
Bien, ahora imaginemos que hemos insertado las paletas en los offsets, pues las vamos a permutar!
80 00 00 > 00 00 80
80 30 00 > 00 30 80
80 80 00 > 00 80 80
(Como veis es solo cambiar el orden, es super sencillo)
Ahora abrimos el FSF y buscamos un offset que va a necesaitar 4 bytes por paleta. Es decir si metemos 7 paletas (7*4=28, los bytes necesarios serán 28, al igual que si solo metemos 3, (3*4=12), solo seran necesarios 12) De todas formas yo recomiendo buscar cerca de los 100, que siempre podríamos añadir nuevas paletas si queremos.
Bien ahora apuntamos la dire en un bloc de notas y vamos a esta nueva dirección con el HxD.
En esta nueva dirección, nos vamos a dedicar a poner todos los repunteos a las paletas una detrás de otra, siguiendo el ejemplo de antes, sería asi:
00 00 80 00 30 80 00 80 80
¿Lo entendéis? Espero que si porque me explico faatal.
Habéis apuntado bien la dirección ¿No? porque es fundamental ahora mismo.
Fijaos, en el "ASM3.bin" tenemos una serie de FF FF FF casi al final de esta rutina, pues este FF FF FF es lo que deberemos sustituir por esa dirección que hemos apuntado en el bloc
NOTA: Recuerda, todas las direcciones acaban en 08 y hay que permutar la dirección, aunque tras las FF FF FF ya esté el 08 incluido y no nos hace falta cambiarlo.
Es decir, tendríais que darle la vuelta, como hemos hecho antes y añadirle un 08 al final. Si por ejemplo la hubiesemos insertado en el offset 90 00 00
Habria que sustituir el FF FF FF 08 por esto:
00 00 90 08
Es decir, cambios los FF FF FF por 00 00 90, simplemente.
LISTO, YA ESTA TODO HECHO Y HEMOS TERMINADO, ¿Contento? Ah claro, se me olvidaba...
¿Ahora como hacemos para llamar a una paleta u otra?
Os acordais del reserved que hablamos antes?
Hablamos de esto:

Bien, pues si pones 100, saldrá la paleta 1, si pones 200 la 2, si pones 300 la 3 y así sucesivamene, la verdad que solo he metido hasta 7 paletas, no se cuantas se podrán meter.
A mi me quedaron así:



Ahora si que si hemos terminado, saludo y que os cunda!
Última edición por un moderador: