CelticFrostie
Sexador de pollos
Introducción
Buenos días WaH, jugueteando esta mañana con las midis me di cuenta de que comparándolo con los juegos de DS, Pokémon Fire Red tiene muy pocas midis utilizables (346 entre sounds, fanfares y "midis de verdad", pero sólo 84 "midis de verdad" [me entendísteis, no? xD] si no me equivoco)
Sólo son 4 temas de ruta y varias ciudades comparten las midis... Quizás diréis que exagero, pero a mí me parece una cutrada.
Bueno, ya sé que sólo a mí, a @Raitsu, a @Ken Ichijouji y a @Nix~♪nos importa la OST de nuestro hack, pero bueno(?)
Pues investigando las tablas y el .xml del sappy llegué a la conclusión de que esto quizás se podía hacer fácilmente, lo único que no supe es cómo hacer que la ROM "reconociera" el repunteo de tabla y tuve que buscar info por yanquilandia, pero vamos, que en general es algo fácil (he tardado 40 minutos en hacerlo) y de lo que cuando tenga tiempo os haré un tutorial (cuantos tutos tengo pendientes ya? xDDD)
¿Y qué hace el parche exactamente?
Pues el parchecillo en cuestión repuntea la extensísima tabla de las mencionadas 346 midis situada en 4A32CC a A00000 (lo siento si tenéis esa dirección ocupada pero al principio no pensé hacer un parche, ya os digo que luego haré un tuto y a quien lo necesite, que me pregunte y le explico cómo repuntearla a otro lado xD)
Como la tabla ya se encuentra libre de
Pero decidí ponerle un límite (que también podréis aumentar si me preguntáis, pero vamos, que os va a dar de sobra) para no gastar espacio inútilmente.
Añadí espacio para 164 midis más, lo que hacen un total de 510 sustituíbles, podéis gastarlas en crys (de alta calidad), sounds, fanfares, midis de verdad (xDD) o lo que os de la santa gana.
Ahora atentos, esto también lo expliqué en el Readme un poco por encima pero es importante que lo sepáis.
Como para que el Sappy lea la tabla se necesitan midis que la rellenen, pues cogí la última (Teachy TV) y la metí 164 veces en la tabla, por lo que para insertar midis después del 346 tendréis que utilizar este método SÍ O SÍ, el método que @Dafting odia tanto(?)
¿Y por qué? Pues es bien sencillo pero a la vez complejo de explicar... Como estamos utilizando el offset de donde está la midi Teachy TV para engañar al Sappy, se cargará el header de esa midi en 346, 347, 348, [...] 510, por lo que si sustituimos cualquiera de las midis de 346 a 510, se sustituirán todos.
Para evitar eso ensamblaremos la canción en la copia muerta de nuestra ROM como indica el tutorial y luego importaremos las tracks a nuestra ROM original especificando un header nuevo (lo buscas con FSF). Y esto será así para cualquier midi que insertemos entre la 347 y 510 (inclusive).
Con el assemble song no podemos especificar un header, mientras que importando tracks sí.
Technical data y cómo usarlo
Estamos hablando de una tabla, no de todas las midis, por lo que el parche no tiene desperdicio en cuanto a espacio si os interesa esto.
- La nueva tabla comienza en A00000 y termina en A00FFF. Por tanto, ocupa 4096 bytes.
- Obviamente, el parche lo mismo.
- Para reproducir una MIDI fuera de las que aparecen en la lista de selección del sappy, escribís el número en el recuadro de al lado de esta lista y clicáis en reproducir.
Por cierto, por si no lo sabíais, esto aparte de servir para reproducir las dichosas midis de 347 a 510, también podéis usarlo para oír sounds o fanfares (de 0 a 264/5? [no recuerdo xD])
- Para reproducir una midi fuera de la tabla en un mapa, en el header del AM, en música, lo único que tenéis que hacer es pasar a HEX el número de la midi en sappy y escribirlo. Por ejemplo, si queréis que suene la 510, ponéis 1FE allí y guardáis.
- Igualmente para usarlo en scripts, pasáis la midi a hexadecimal y a tirar de playsong como siempre.
Descarga
¿Créditos? Pues como dicen los xanquis, "Credit wanted but not needed", osea, que si queréis, no os voy a poner a punta de pistola, ya os digo que no me costó mucho, pero que también mola salir en los hacks de otros cuando no sabes tilear ni spritear (?)
¿Algo más? Pues sí, me gustaría que me notificarais cualquier error ya que no inserté ninguna midi con el parche, sólo he comprobado que la tabla está bien y que las midis expandidas se reproducen con el AM.
Un saludo y a disfrutarlo!