Muchas gracias por los comentarios
El programa es como cualquier aplicación del mundo: está desarrollado con un lenguaje para una plataforma concreta, pero los ficheros que se obtienen son de uso universal.
Como digo, yo mismo puedo facilitar el código fuente para usar en Bennu (y Fénix) para cargar dicho mapa en memoria, con las funciones de consulta y modificación del mismo. Tengo que buscar dónde subí el motor de scroll tileado que hice hace tiempo, porque no sólo hace uso de estos formatos, sino que con un simple start_tscroll crea el scroll tileado (de hecho, se usa en este programa, aunque con ciertas modificaciones). Además incluye el fichero con información de los tres formatos soportados por el programa: TMF (TileMap File), TPR (Tilemap PRoject) y TMG (TileMpa Graphic).
Pero el programa no está cerrado aun. Si es necesario, puedo añadir los formatos que se necesiten siempre que se me pase información del formato y un fichero de ejemplo, ya sean formatos universales (Tiled... aunque lo he mirado por encima y es un fichero super complejo) o hechos a medida.
Y ya digo, aun tengo que añadir funciones nuevas (cabiar de FPG para los tiles del mapa, por ejemplo) y utilidades (concatenar mapas, exportar a PNG/MAP/BMP...), pero de momento lo he dejado aquí porque me tocaba implementar los menús superiores y submenús y eso me iba a llevar mucho más tiempo.
Os pego el header que declara los tipos que almacenan los datos de estos mapas en Bennu, para que os hagais una idea de cómo se pueden leer los mapas que se crean con Tilemap Editor 2:
Código:
type t_mapa
//datos del mapa
int version;
int filas;
int columnas;
int capas;
int tipo_dato;
int ancho_tile; //Este dato no se almacena en los ficheros tipo TMF
int alto_tile; //Este dato no se almacena en los ficheros tipo TMF
int desplaz_tile; //para scroll normal, desplazamiento vertical de cada capa
//para scroll isométrico, altura hacia arriba
word tipo_mapa;
//contenido del mapa
byte pointer b_mapa;
word pointer w_mapa;
int pointer i_mapa;
int fpg_mapa;
//gestion de mapas (por si se almacenan los datos en lista enlazada)
int id;
t_mapa pointer sig;
string fpg;
end
Edit: mira por donde, en este mismo foro está adjunto el motor de scroll tileado 3.2 para Fenix (y Bennu), que incuye el motor de scroll normal, isométrico (experimental) y la documentación.
https://www.gp32spain.com/foros/show...E9trica-added)
Marcadores