[Fire Red] Duda Parche Voicegroup Todo-en-Uno

Avisos

Like Tree10Gracias

Respuesta
 
Herramientas Desplegado
  #1  
Hace 2 Semanas
Sonrisa Duda Parche Voicegroup Todo-en-Uno
Buenas gente

mi duda es la siguiente,en el tuturial de http://wahackforo.com/t-28389/parche...up-todo-en-uno del Usuario @~ V e c t o r
el parche ocupa a partir de la dirección 0xA00000 (que tengo ocupadisima)

quisiera que me explicáran por favor,de que manera trasladar/repuntear el parche a una dirección a partir de la 00EE04C0

Rom base FR 1.0 (32MB) (Base Versekr Dark)

de antemano muchisimas gracias y disculpen los inconvenientes ^^

Saludos!

--------------------------------

EDIT: Invóco a @Versekr Dark para participár en la duda,ya que además es su base,y podría saber que problema hay
Únete y Apoya con la FanBar de Pokémon Overpower,el hack más Jarcor!





GMod de un tono algo insolente, hiciste que a la gente le duela tu dolor.
GMod, de staff equilibrista, más que GMod artista con vicios de GMod...
¿Crees que Flame ha hecho un buen trabajo? ¡Entra!
Ya ves, a mí y a Whack a Hack nos falta tanto el aire cuando no está el GMod...


Última edición por Dark (Fan de Klein); Hace 2 Semanas a las 05:41
  #2  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
Debes exportar en sappy los 128 instrumentos del voicegroup y crear un nuevo voicegeoup en la dirección que quieras, importando a mano los instrumentos que exportaste
Mis Premios

  #3  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
A ver, nunca me puse a ver bien como son los voicegroups, pero tengo entendido que son un montón de punteros que apuntan a los instrumentos (con algunas configuraciones más, pero lo único que te importaría a vos son los punteros).
Yo diría que sería bastante fácil hacer un mini programa que cambie los punteros de los instrumentos a las direcciones que quieras. Lo que llevaría media hora en lugar de semanas como lo que dice Verserk...

:raisins:
  #4  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
Desde ya agradezco muchisimo las respuestas ^^

bueno,soy muy novato,especialmente en las Midis mi principal problema es que en mi Rom las Midis suenan con un sonido horrible
(un pip o algo saturado y a veces sin drums),al oir sobre este parche,seria una pequeña ayuda con respecto a mi problema de Midis.

ya sé,me dirán,pero estás acomodando mal los instrumentos o no sabes hacerlo.

bueno,dos cosas a continuacion

1-vi tutoriales respecto a inserción de Midis,y me esforzé por aprenderlo lo mejor que pude,pero aún así,me sucede ese problema de los ruidos "extraños" o sin Drums.

2-Recurrí a un experimentado en el área Midis, el Usuario @FraynSebas
lo que ocurrió,fue que,el mismo loopeo y acomodo los instrumentos,y nuevamente el problema siguió persistiendo (ya que además él,se maneja mejor con los proyectos que tienen aplicado el parche de "All Intruments".

es por este motívo,que expongo está duda respecto al parche,ya que la música así como otras áreas,son fundamentales para un desarrollo óptimo y o como complemento,y lamentablemente mi Rom tiene ocupadisimas esas direcciones,solo está libre a partir de la dirección que mencione en la duda.
Únete y Apoya con la FanBar de Pokémon Overpower,el hack más Jarcor!





GMod de un tono algo insolente, hiciste que a la gente le duela tu dolor.
GMod, de staff equilibrista, más que GMod artista con vicios de GMod...
¿Crees que Flame ha hecho un buen trabajo? ¡Entra!
Ya ves, a mí y a Whack a Hack nos falta tanto el aire cuando no está el GMod...

  #5  
Hace 2 Semanas
Predeterminado Re: Duda Parche Voicegroup Todo-en-Uno
Queria aportarte mi grano de arena ya que yo tsmbien estoy indagando mucho en el tema musical. Yo tambien tengo el parche de todo en uno y si bien te ahorra cambiar instrumentos, no lo recomiendo para una version final de midi, si no para testearla. Ten en cuenta que:
1) Si aun así quieres importar una midi en esta voicegroup el instrumento del drum es el 128.

2) Hasta donde yo he conseguido, solo es posible reproducir dos directsound a la vez,depende del instrumento que cojas sera o directsound o multisample (me gustaria que alguien aclarase este tema)

3) Es MUY IMPORTANTE la calidad del midi
  #6  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
Moví los datos del parche a 0xee0500
Parche ups

Ahora el voicegroup esta en el offset 0x101115c

Yo no hice absolutamente nada del parche, sólo repunteé los instrumentos,todos los créditos están en los mensajes anteriores de este tema.

Y por si alguien lo necesita en otro offset o le interesa saber como lo hice, acá está el script de python que usé:

Código:

VOICEGROUP_OFFSET = 0xb30c5c

PATCH_DATA_START = 0xa00000
PATCH_DATA_END = 0xb66fa9

patched_file = 'patched.gba'
to_patch_file = 'rom.gba'

MOVE_TO_ADDRESS = 0xee0500


def get_actual_offset(rom_offsset):
    return rom_offsset - 0x8000000


def is_part_of_patch(offset):
    offset = get_actual_offset(offset)
    return PATCH_DATA_START <= offset < PATCH_DATA_END


def get_new_address(offset):
    return (MOVE_TO_ADDRESS + (offset - PATCH_DATA_START)).to_bytes(4, 'little')


with open(patched_file, 'rb') as f:
    f.seek(PATCH_DATA_START)
    patch_data = bytearray(f.read(PATCH_DATA_END - PATCH_DATA_START))

x = VOICEGROUP_OFFSET - PATCH_DATA_START
voicegroup_data = patch_data[x:x + 0x600]

new_voicegroup_data = b''
for i in range(128):
    instrument_data = voicegroup_data[i * 0xc:(i + 1) * 0xc]
    pointer1 = int.from_bytes(instrument_data[4:8], 'little')
    pointer2 = int.from_bytes(instrument_data[8:12], 'little')

    if is_part_of_patch(pointer1):
        instrument_data[4:8] = get_new_address(pointer1)
        second_pointer_address = get_actual_offset(pointer1) - PATCH_DATA_START + 4
        second_pointer = int.from_bytes(patch_data[second_pointer_address:second_pointer_address + 4],
                                        'little')
        if is_part_of_patch(second_pointer):
            patch_data[second_pointer_address:second_pointer_address + 4] = get_new_address(second_pointer)
    if is_part_of_patch(pointer2):
        instrument_data[8:12] = get_new_address(pointer2)
        second_pointer_address = get_actual_offset(pointer2) - PATCH_DATA_START + 4
        second_pointer = int.from_bytes(patch_data[second_pointer_address:second_pointer_address + 4],
                                        'little')
        if is_part_of_patch(second_pointer):
            patch_data[second_pointer_address:second_pointer_address + 4] = get_new_address(second_pointer)

    new_voicegroup_data += instrument_data

patch_data[x:x + 0x600] = new_voicegroup_data

with open(to_patch_file, 'rb+') as f:
    f.seek(MOVE_TO_ADDRESS)
    f.write(patch_data)

print('New voicegroup offset:', hex(MOVE_TO_ADDRESS + x))

:raisins:

Última edición por Kaiser de Emperana; Hace 1 semana a las 18:25
  #7  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
Lamentablemente,Tsukoyomi da error al intentar aplicár el parche,y con Nintendolord (omitiéndo las advertencias) se puede aplicar el parche.

procedo a checar la Rom ya parchada con HxD y todos los datos están correctos,pero al insertár la Midi ya loopeada y demás,se oye un "SHHHHHHHHHSHRRRRRSRHHHHHHHH" y luego el cry normal del PKM (o sea,insertando la Midi en la intro)

Dato importánte: sin el parche,se oían feas las midis,con ruidos extraños y "bips",pero mas o menos se entendía algo de la "cierta" melodía.
Únete y Apoya con la FanBar de Pokémon Overpower,el hack más Jarcor!





GMod de un tono algo insolente, hiciste que a la gente le duela tu dolor.
GMod, de staff equilibrista, más que GMod artista con vicios de GMod...
¿Crees que Flame ha hecho un buen trabajo? ¡Entra!
Ya ves, a mí y a Whack a Hack nos falta tanto el aire cuando no está el GMod...


Última edición por Dark (Fan de Klein); Hace 2 Semanas a las 06:15
  #8  
Hace 2 Semanas
Predeterminado Respuesta: Re: Duda Parche Voicegroup Todo-en-Uno
Dicho por kakarotto Ver mensaje
Queria aportarte mi grano de arena ya que yo tsmbien estoy indagando mucho en el tema musical. Yo tambien tengo el parche de todo en uno y si bien te ahorra cambiar instrumentos, no lo recomiendo para una version final de midi, si no para testearla. Ten en cuenta que:
1) Si aun así quieres importar una midi en esta voicegroup el instrumento del drum es el 128.

2) Hasta donde yo he conseguido, solo es posible reproducir dos directsound a la vez,depende del instrumento que cojas sera o directsound o multisample (me gustaria que alguien aclarase este tema)

3) Es MUY IMPORTANTE la calidad del midi
No, por defecto FR y Emerald solo reproducen 5 directracks a la vez, mas navegando en el offset que define la cantidad de voicegroups se puede aumentar a la cantidad real que el hardware de GBA soporta, osea 13 directracks
Gracias: Subzero
Mis Premios

  #9  
Hace 2 Semanas
Predeterminado Respuesta: Duda Parche Voicegroup Todo-en-Uno
Usa el tuto de instrumentos originales de la rom de vector, te qseguras que suene decente. Y no repunteas nada.
"En los tiempos de las copias infinitas,
el Caballero metálico, creará el ejercito de dominación
y en oscuridad al mundo envolverá"

Diario de los T-Zaos 2X:645U


POKEMON X2020


  #10  
Hace 2 Semanas
Predeterminado Re: Duda Parche Voicegroup Todo-en-Uno
Estoy hablando de directsound NO DIRECTRACKS. Porque al tercer directsound que metas los instrumentos suenan entrecortados. Eso no ocurre si hay dos directsound y un multisample por ejemplo
Respuesta

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 11:34.