Registrarse

[Herramienta] BDHCreator: ¡por fin puedes ponerle alturas a tus mapas de NDS!

Mikelan98

WaH used to be a bigger place...
Iba a publicar esta herramienta en mi server de Discord, pues sé todos los que la van a usar de WaH están ahí. Sin embargo, pensé en que quizás algún usuario de fuera de WaH lleve buscando esta herramienta 6 años, así que la voy a poner visible por aquí.

Aviso, antes de nada, de que la herramienta es super caótica, super buggy y super tediosa de usar, si bien la alternativa a ella (el hexadecimal puro y duro) es todavía peor y más difícil de comprender. Pero bueno, como esta herramienta la vamos a usar 4 gatos experimentados en NDS, no me preocupo de ello: cada uno sabrá cogerle el puntillo y no "buscarle las cosquillas" para buggearla.


BDHCreator

Antes de nada, explicar que la herramienta está programada con Matlab. Por lo tanto, necesitaréis el Runtime de Matlab 2016a (lamentablemente sólo compatible con sistemas x64). Y, como siempre, quiero pedir perdón por utilizar esta #%&$! de lenguaje de programación para hacer la herramienta, pero es el único que domino con soltura (aprender otro me quitaría demasiado tiempo libre, y tengo muy poco).

¿Para qué sirve?

La herramienta permite generar archivos .bdhc, es decir, de terreno, para asignar alturas y movimientos en el eje Z a nuestro mapa. Todo esto incluye escaleras, rampas, plataformas con distintos niveles de altura, lagos...

Es fundamental comprender cómo funciona el formato BDHC por dentro para saber manejar la herramienta. A diferencia de los permisos, que se rigen por una cuadrícula de tiles (de modo idéntico a los permisos de GBA y Essentials), los archivos de terreno se basan en rectángulos o, como las llamo yo, placas. Cada placa está definida por coordenadas (de -16 a 16, para cada eje X e Y y para cada esquina del rectángulo), y todos los cuadritos/tiles que caen en ella tienen el mismo comportamiento. A cada placa se le asigna una altura en el eje Z y opcionalmente una inclinación (para escaleras y rampas).

¿Cómo utilizarla?

Nada más abrir la herramienta, tenemos que tener preparada una imagen de nuestro mapa. El tamaño debe ser, obligatoriamente, de 640x640 píxeles. Además, lógicamente, los límites de la imagen deben coincidir con los límites del mapa. Esta imagen sólo va a ser usada como referencia, por lo que podemos ponerla como nosotros queramos (con mayor o menor calidad, más enfocada o menos enfocada, más bonita o más fea...). Incluso en algunas ocasiones resultará más fácil hacer una imagen de los permisos del SDSME en lugar del modelo 3D. Podemos, igualmente, optar por no importar ninguna imagen de referencia. Pero todo esto lo decidís vosotros.

Placas planas

Para placas planas (sin inclinación), iremos añadiéndolas con el botón Add. Establecemos la posición de la esquina superior-izquierda (primer par de números, de -16 a 16) y la posición de la esquina inferior-derecha (segundo par de números). Es importante mantener la disposición de estas esquinas si no queremos comportamientos... inadecuados, en nuestra ROM.

Igualmente, es fundamental tener en cuenta lo siguiente: ningún vértice inferior de los rectángulos (si los extendemos, de forma imaginaria, horizontalmente) debe cortar ninguna placa. Esto se traduce en lo siguiente: dentro de una franja de placas (entendiendo por franja todas las placas que están alineadas horizontalmente) todas deben tener la misma coordenada Y en la esquina NW y la misma coordenada Y en la esquina SE. Como puede ser difícil de entender, adjunto un ejemplo gráfico. Las franjas de placas (delimitadas por las líneas rojas de la derecha) deben coincidir en las coordenadas Y.


El número R corresponde a la altura (acepta valores positivos y negativos), siendo los números cuanto más grandes más altos, y cuanto más pequeños más profundos. La "altura neutra" la podríamos considerar 0, si bien la inmensa mayoría de mapas originales tienen una altura estándar de +1.

Por último, y recordando que estamos hablando de placas planas sin inclinación, debemos asignar los siguientes valores al número Q:


Y repetir la operación con las siguientes placas. En un principio parece tedioso, pero al final le coges velocidad y puedes hacer BDHCs completos en pocos minutos.

Placas inclinadas

Para placas con inclinación, realizaremos lo mismo con la posición, pero el número Q lo asignaremos en función de la inclinación que queramos:


En Base Height debemos escribir la altura base de la placa de esa escalera/rampa, es decir, la altura en el eje Z que tendrá el personaje antes de subir esa placa. Tras esto, pulsaremos el botón de la derecha, de modo que la altura (número R) de la placa se calculará automáticamente (evitando tener que calcularlo manualmente mediante fórmulas).

¿Cómo guardar lo que llevamos hecho?

Podemos exportar nuestras placas al formato .bdhc, pulsando en Save File. Sin embargo, no podemos guardar nuestro trabajo para retomarlo más tarde, ni podemos abrir archivos .bdhc (no intentéis abrir nada, os adelanto que no va a funcionar).

Link de descarga

Os lo pongo al final del post con la esperanza de que os hayáis leído todo el tema antes de empezar a usar la herramienta. No es necesario dar créditos por la herramienta, pero se agradecería.


Hale, que tengáis buena noche.
 

Pikaplu

Usuario amable y agradecido
Diooos mikelan hiciste la herramienta essencial para mapas de ds puesto a que editar antes los mapas en cuanto a comportamientos era dificil ahora podremos hacer montañitas sin el miedo a matarse la cabeza con los comportamientos asi que gracias y que tengas un buen dia :p..gracias por hacer mas facil editar los BDH..
 
Última edición:
Arriba