Mas que un tutorial esto es un apunte, para los que se inician o para muchos que no lo conocen.
Como la mayoria sabe, en bennugd se pueden hacer dcb con recursos embebidos, esto se puede lograr de diferentes formas:
1) automaticamente
2) manualmente
la primera, la opcion 1) se logra con el parametro -a, y se hace a partir de toda string que tengamos definida en el codigo y que dicha string en tiempo de compilacion apunte a un archivo fisico, esto tiene el inconveniente que no incluira todos aquellos archivos donde el nombre se forme en tiempo de ejecucion, sumando variables o leyendo los nombres de archivos de datos.
la opcion 2) nos permite agregar manualmente y de forma que se puede solventar el tema anterior, hay 2 formas de hacer esto, ambas con el parametro -f, vamos a explicar cada 1 de ellas.
a) especificando tras el parametro -f un archivo que deseemos incluir, pero esto podria ser un problema si son muchos los archivos a incluir, entonces tenemos la opcion b)
b) al igual que la anterior con el parametro -f se indica un archivo, pero si este empieza con @, significa que el archivo no es el archivo a incluir sino un archivo con la lista de archivos a incluir, de la misma forma que usamos los .imp o .import para indicar lista de modulos a incluir.
bien, espero que este apunte les haya sido de utilidad o sirva al menos para completar la wiki.
Grande! :D
Muchas gracias Splinter. :-*
Deberiamos tener un hilo llamado 'minitutos' o así. Y ahí ir colgando estos mensajitos.
Saludos.
para eso esta esta seccion...
Ejem, ejem. Perdon...
Muy útil!
Quote from: Fede on December 29, 2010, 07:01:38 AM
Ejem, ejem. Perdon...
jeje, no era un reto, sino una aclaracion para que los que quieran ir poniendo cosas de este estilo referentes al lenguaje lo puedan hacer en esta seccion del foro.
Seria util un post fijo con los titulos de los tutoriales :P
entonces se pueden colocar varias archivos en el dcb y dejar otros afuera?
supongo q si el archivo esta en el dcb no hay q cambiar la ruta del mismo en la funcion q lo carga...
mientras pongas la ruta completa (virtual) del archivo al referenciarlo.
DUDAS:
Para la opción 1)
Cualquier cadena que sea una ruta de fichero válida, ya sea la cadena GLOBAL o PRIVATE, realiza la carga automática si usamos -a?
Para la opción 2) b)
El nombre del fichero debe empezar con @ o esa @ se omite a la hora de buscar el fichero.
Sea cual sea la respuesta explicad ésto también en la ruta porque puede dar lugar a confusiones, en su día mirando los parámetros de bgdc no entendí para nada bien el -a
Karma up Splinter porque esto hacía falta saberlo.
tratare de explicar.
1) cualquier string en el prg, esto es una string de un parametro, una variable o lo que sea, por ejemplo.
validos son:
say( "data/file1.sav" );
level1 = "fpg/level1.fpg";
string levels[] = "lvl/001.lvl", "lvl/002.lvl", "lvl/003.lvl", "lvl/004.lvl";
png_load("image1.png");
invalidos:
level1 = resource_dir+"level"+level+".fpg";
png_load(path+"image1.png");
2) para el parametro -f
-f fpg/level1.fpg
-f image1.png
-f fire.ogg
-f @include_files.lst <-- el archivo debe llamarse include_files.lst
-f @sound_files.lst <-- el archivo debe llamarse sound_files.lst
con respecto a esto y al -a, la idea es que el dcb se transforme en una especie de carpeta virtual de lectura, como si fuera un zip, pero sin compresion.
espero haya quedado claro.
saludos.
NOTA ADICIONAL:
Con respecto a Bennu3D esto no creo funcione, a menos que l1nk haya usado las funciones de file de bennugd para leer los archivos.
He actualizado a los parámetros de bgdc.
http://forum.bennugd.org/index.php?topic=53.msg479#msg479
Quote from: SplinterGU on December 30, 2010, 07:26:44 AM
NOTA ADICIONAL:
Con respecto a Bennu3D esto no creo funcione, a menos que l1nk haya usado las funciones de file de bennugd para leer los archivos.
Esa maldita necesidad de recompilar la Bennu3D para integrarla totalmente como parte del motor...