Registrarse

HGSS | [Finalizada] Crear texturas con animaciones

Estado
Cerrado para nuevas respuestas.

Mikelan98

WaH used to be a bigger place...
Muchos de vosotros os preguntaréis cómo hacer que vuestro propio tileset tenga algunas texturas con animación (del mismo modo que la tienen las flores o la orilla de la playa). Así que aquí lo explico:

Nos dirigimos, con el Tinke, CrystalTile 2 o lo que uséis, al narc a/1/3/9. Allí veréis en primer lugar un archivo binario y luego varios archivos nsbtx. Primero tendréis que crear vuestro nsbtx con los frames de la textura a la que vais a darle animación. Es muy sencillo y basta con usar el MKDSCM para editar estos archivos. Tendréis que añadir al narc todos los nsbtx que vayáis a utilizar (y ya sabéis, un nsbtx por textura, no tenéis más que fijaros en cómo funcionan los originales). Tenéis que tener en cuenta que estas animaciones son "universales", es decir, valdrán para las mismas texturas estén en el tileset en el que estén, mientras dicha textura tenga un determinado nombre.

Ahora vamos con el primer archivo, el binario, el que encierra "todo el misterio" por así decir. Está estructurado de la siguiente forma:

> La firma del archivo, que ocupa los 4 primeros bytes y no debe modificarse.

> 52 bytes (es decir, 0x34 bytes) por cada nsbtx que hayamos metido en el narc. Si nos fijamos en el narc original, tenemos 9 nsbtx, por lo que detrás de los 4 bytes de la firma habrá 52*9 = 468 bytes (o 0x1D4 bytes). Cada cadena de 52 bytes está organizada de la siguiente forma:

Los primeros 16 bytes, es decir, la primera línea de la cadena, corresponde al nombre de la textura a la que le vamos a dar la animación. Se le escribe el nombre de la misma forma que se lo escribimos a los nsbmd cuando renombramos las texturas. A continuación, los siguientes bytes se rellenan con los siguientes elementos:

FF TT

Siendo FF el número hex del frame en el nsbtx, y TT el tiempo (en sexagésimas de segundo, aka frames) durante el que es mostrado dicho frame. Estos elementos deben ir en el orden en el que se van a ver, lógicamente. Así, por ejemplo:

00 12 01 12 02 12 03 12 04 12 05 12

Indicaría que se muestran, por orden, los frames del 0 al 5 que haya en el nsbtx, y que duran 0.3 segundos cada uno (o 18 frames cada uno, sabiendo que la NDS va a 60FPS).

Si sobra espacio hasta completar los 52 bytes que tiene cada elemento, se rellena el espacio con FF FF.

Lo siento si es un poco lioso de entender, pero lo mejor es que cojáis el narc original y lo investiguéis mientras vais leyendo el tutorial.
 

BagBoy

3D Artist | NDS Hacker
Acabas de resolverme la duda que me dejó más loco cuando quise cambiar el Tileset de Bosque Vetusto, en Diamante/Perla/Platino. Malditas flores... Tuve que poner 8 molinos eólicos encima de las flores que hay al salir de Pueblo Aromaflor porque no sabía qué hacer sin tener que fastidiar las flores del Tileset que estaba editando '¬¬

No sabes cuánto te agradezco todo lo que haces por el ROM Hacking de DS. Muchísimos ánimos con Light Platinum, no lo dejes jamás, eres un máquina :D
 

Fran

Profesional de WaH
Enserio? Tan pocos comentario?
Que raro.

Buen aporte! Seguro de ayuda para muchos hackers del NDS, a mi no me serivira por que no trabajos en NDS xD
Pero se agradece el aporte!
 

H.B.P

Emperador Kaktiácero
Miembro de honor
¿Qué más se puede pedir? Bastante te agradecemos la información sobre los programas y los bytes necesarios para cambiar las cosas. En lo personal, quizás alguna que otra imagen hubiera quedado bien, pues tanto texto es un poco difícil de digerir y espabilarías un poco al lector, pero no deja de ser una guía.

Up y +Gracias.
 

ElToby

RomHacker de NDS
Pues, bastante chulo el tutoria, se entiende bastante y bastante util a la hora de hacer un hack.
Ahora una pregunta que me tiene en duda, ¿la textura animada debe tener el mismo nombre que la textura que uso a la hora de mapear?
Osea, si mi animacion se llama "florecita" ¿la textura que va a adaptar esa animacion debe llamarse florecita?.
Ya te lo pregunte por Discord, pero pregunto por aqui por si alguien llega a tener la duda.
Sin mas que decir, Muchas gracias por el tuto.
 
Estado
Cerrado para nuevas respuestas.
Arriba