[TUTORIAL] Como incluir archivos al dcb.

Started by SplinterGU, December 28, 2010, 09:42:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes


Fede

Muchas gracias Splinter.  :-*

Deberiamos tener un hilo llamado 'minitutos' o así. Y ahí ir colgando estos mensajitos.

Saludos.
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

blostec


SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Rein (K´)ah Al-Ghul

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...

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

SplinterGU

mientras pongas la ruta completa (virtual) del archivo al referenciarlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

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.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

izubiaurre


Windgate

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...
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es