Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: juanpe on January 20, 2010, 01:40:56 AM

Title: como hacer ejecutables
Post by: juanpe on January 20, 2010, 01:40:56 AM
me acabo de bajar el bennu pack 8 y al hacer un ejecutable y intentar arrancarlo me sale un mensaje que dice que me falta libbgdrtm.dll entonces busco dicho archivo, lo copio en el directorio del programa y al arrancar el ejecutable simplemente no hace nada. Que tengo que hacer para que funcione el ejecutable?
Title: Re: como hacer ejecutables
Post by: Windgate on January 20, 2010, 02:21:15 AM
¿Estás usando el Packator?

Vamos a ver, si quieres usar Packator para convertir un directorio con tu juego en un único ejecutable es necesario que tu juego incluya las DLL de Bennu, el compilador, intérprete...

Yo te recomiendo que te bases en cómo hago los ejemplos de mi tutorial: Tienen todas las dll, el bgdc y el bgdi en una carpeta. Un .bat se encarga de compilar y ejecutar usándolos, así que con el packator si indicas debe ejecutarse ese .bat todo va como la seda.

Pero es necesario que la maquinaria de Bennu se encuentre en el directorio y que se use para ejecutar, en otro caso si se lo pasas a alguien que no tenga Bennu instalado no le funcionará :P
Title: Re: como hacer ejecutables
Post by: l1nk3rn3l on January 20, 2010, 03:46:11 PM
bueno un juego en bennu requiere mas dlls , prueba a copiar todas las dlls del directorio
BIN ..

* y luego que funcione , borra las que no estes usando (import "mod_......")

* luego que funcione, mejor omite el paso anterior (las dlls de bennu no pesan nada), usa la herramienta
packator como dice windgate, para meter todo dentro de un solo ejecutable que luego compartiras ... (este paso solo es por comodidad
de no tener un monton de dlls regadas en el proyecto)
* ten en cuenta que los archivos graficos y de musica , deben estar en la misma ruta del ejecutable(asi como estaba en el codigo fuente)

;D
Title: Re: como hacer ejecutables
Post by: Futu-block on January 21, 2010, 09:23:26 AM
y a to esto, ¿como se compila para wiz???

¿hay un hilo abierto o lo abro?? porsi off topic... :)
Title: Re: como hacer ejecutables
Post by: SplinterGU on January 21, 2010, 04:12:18 PM
como se compila para wiz que cosa?

yo no recomiendo usar el packator, ya que tiene carga adicional de memoria y no te proteje nada los recursos, solo empaqueta todo en un archivo que al momento de ejecucion desempaqueta en una carpeta temporal... para la wiz no va...
Title: Re: como hacer ejecutables
Post by: Prg on January 21, 2010, 07:14:51 PM
aprovechando el tema, y quiz'a la respuesta sea muy provechosa
Desde hace tiempo tengo una duda que me atormenta:

recuerdo que splinter lograba hacer el ejecutable del instalador de bennu limpio, sin librer'ias fuera, y hasta pod'ia instalar el lenguaje e introducir rutas en el sistema operativo. c'omo le hac'ia?
Title: Re: como hacer ejecutables
Post by: SplinterGU on January 21, 2010, 08:11:39 PM
la ultima version volvio el instalador, no lo probe, pero deberia funcionar...

es simple, es un ejecutable en C que tiene un rar como mochila con todo metido dentro, extrae la mochila en un temporal, y solo descompacta... al descompactar llama al instalador en bennu... y bennu se encarga de todo, cuando termina deja cierta info en un archivo temporal para que el mismo programa en C que llamo previamente modifique la registry... y luego sale limpiamente...

muy simple...
Title: Re: como hacer ejecutables
Post by: osk on January 21, 2010, 08:51:27 PM
Veo que la última release es la 132 y en la web está la 131. No sé si el instalador se ha colocado en la última release, porque en mi Windows XP, el rar de Bennu descargable de la web lo toma como un rar normal y corriente. Es decir, que simplemente lo descomprime y ya está, teniendo las carpetas allí y nada más: no sale ningún instalador.
Title: Re: como hacer ejecutables
Post by: SplinterGU on January 21, 2010, 11:10:14 PM
jajaja... y si bajas el que dice .exe? jejeje...

132 es un cambio en el makefile, por eso ya habia generado el 131 y ese subi...

Title: Re: como hacer ejecutables
Post by: Drumpi on January 22, 2010, 01:23:12 AM
Quote from: Futublog on January 21, 2010, 09:23:26 AM
y a to esto, ¿como se compila para wiz???

¿hay un hilo abierto o lo abro?? porsi off topic... :)

Si que se ha respondido, busca un poquito.
Pero básicamente se reduce a:
-Compila en PC.
-Pasa el DCB y los recursos (FPG, OGG, PNG...) a una carpeta de la SD.
-Añade los "ejecutables" de la versión WIZ de Bennu a la ensalada (la misma versión)
-Genera con un editor de textos que soporte formato Unix un GPE, que lance el juego.

O bien mira los dos ejemplos que vienen en el pack de WIZ, que se compilan y ejecutan en la propia consola ;D
Title: Re: como hacer ejecutables
Post by: Futu-block on January 22, 2010, 09:27:13 AM
Quote from: SplinterGU on January 21, 2010, 08:11:39 PM
la ultima version volvio el instalador, no lo probe, pero deberia funcionar...
es simple, es un ejecutable en C que tiene un rar como mochila con todo metido dentro, extrae la mochila en un temporal, y solo descompacta... al descompactar llama al instalador en bennu... y bennu se encarga de todo, cuando termina deja cierta info en un archivo temporal para que el mismo programa en C que llamo previamente modifique la registry... y luego sale limpiamente...
muy simple...

(http://www.chw.net/up/2009/10/facepalm.jpg)
dios, que simple...
ja ja ja

Quote from: Drumpi on January 22, 2010, 01:23:12 AM
Quote from: Futublog on January 21, 2010, 09:23:26 AM
y a to esto, ¿como se compila para wiz???
¿hay un hilo abierto o lo abro?? porsi off topic... :)
Si que se ha respondido, busca un poquito.
Pero básicamente se reduce a:
-Compila en PC.
-Pasa el DCB y los recursos (FPG, OGG, PNG...) a una carpeta de la SD.
-Añade los "ejecutables" de la versión WIZ de Bennu a la ensalada (la misma versión)
-Genera con un editor de textos que soporte formato Unix un GPE, que lance el juego.
O bien mira los dos ejemplos que vienen en el pack de WIZ, que se compilan y ejecutan en la propia consola ;D

Ok, pos entonces para el concurso solo enviaré el .prg + el .fpg del juego y que se busquen las papas...
je je je

[code language="bennu"]Drumpi()
Karma = Karma + 1;[/code]

A SplinterGU no porque es jurado del concurso y se considera soborno...

je jej e
Title: Re: como hacer ejecutables
Post by: Drumpi on January 22, 2010, 02:22:52 PM
Por si no habías leido las normas, el prg es lo que hay que enviar, no el DCB (es opcional).
Más que nada es por si sale una versión de Bennu nueva después de la fecha tope de envío y antes de la publicación de los juegos ;D
Title: Re: como hacer ejecutables
Post by: Futu-block on January 22, 2010, 04:46:57 PM
ups, habrá que repasarlas :D
Title: Re: como hacer ejecutables
Post by: juanpe on January 23, 2010, 01:19:28 AM
gracias por la ayuda. Ya he aprendido a hacer ejecutables. Windgate no conocía el packator, puede que lo mire. De momento lo que tengo es un peazo directorio con un montón de archivos. Splinter cuando dices que el packator tiene carga adicional de memoria te refieres a la memoria ram del ordenador? y otra pregunta, hace más lento el abrir el programa para ejecutarlo?
Title: Re: como hacer ejecutables
Post by: SplinterGU on January 23, 2010, 02:40:13 AM
memoria ram, claro, aunque ahora memoria es lo que sobra...
Title: Re: como hacer ejecutables
Post by: Windgate on January 23, 2010, 04:45:38 PM
Y hace lento abrir el programa... Ya lo creo...

Es como si todo estuviese comprimido y tuviese que descomprimirlo. He tenido juegos de 100Mb que se quedan en 50Mb con Packator y el tiempo de "descompresión" es notable, de hecho estaría bien sugerirle al autor (¿Lo hizo l1nk3rn3l?) que añada una opción más para indicar la compresión, con una opción "fast" el tiempo de "carga" sería el equivalente a copiar los ficheros, que es significativamente menor que el tiempo que tarda en descomprimir...

También recuerdo (Por si alguien no lo sabía) que el FPG Edit 2009 tiene una opción para comprimir los FPGs y los comprime SIGNIFICATIVAMENTE, lógicamente el juego tarda "un poco más" en cargar, en PC no se nota para nada, en Wiz... Sería cuestión de probar :P
Title: Re: como hacer ejecutables
Post by: Drumpi on January 24, 2010, 05:38:48 AM
Lo curioso es que los FPG comprimidos no se abren con el FPG Edit antiguo... al menos a mi no, me he tenido que crear un programita que me crea una copia de un fichero descomprimido:

program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("Escriba/aqui/el/archivo/origen",o_zread);
    //source=fopen("1bit.map",o_zread);
    destino=fopen("y/aqui/el/fichero/destino",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end


Lo uso para maps, fpgs, y fnt comprimidos con zlib. Adivinad cómo se puede usar el mísmo código para comprimir ;D
Title: Re: como hacer ejecutables
Post by: juanpe on January 26, 2010, 11:38:42 PM
bién pues como mi programa no es muy grande lo probaré, no creo que me ranlentize mucho.
Title: Re: como hacer ejecutables
Post by: FreeYourMind on November 16, 2011, 10:20:01 PM
Quote from: Drumpi on January 24, 2010, 05:38:48 AM
Lo curioso es que los FPG comprimidos no se abren con el FPG Edit antiguo... al menos a mi no, me he tenido que crear un programita que me crea una copia de un fichero descomprimido:

program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("Escriba/aqui/el/archivo/origen",o_zread);
    //source=fopen("1bit.map",o_zread);
    destino=fopen("y/aqui/el/fichero/destino",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end


Lo uso para maps, fpgs, y fnt comprimidos con zlib. Adivinad cómo se puede usar el mísmo código para comprimir ;D

Que alguien me explique lo de FPG's comprimidos, no tengo la mas minima pajolera de saber como se guardan comprimidos y sin comprimir, y que hace por defecto el FPG Edit y el Smart FPG Editor.


Resulta que estoy usando el Smart FPG para editar mi FPG de 32 bits (parece que el FPG edit de 32 falha y las imagenes no se visualizan en Bennu), pues resulta que mi FPG ocupa 8 megas, y cuando compilo con mochila, la mochila se queda en 66 megas !!

La mochila sólo guarda FPG's descomprimidos y el Smart los guarda comprimidos por defecto, es eso ?
Title: Re: como hacer ejecutables
Post by: SplinterGU on November 16, 2011, 10:34:57 PM
la mochila todo va descomprimido, por motivos (logicos de los formatos comprimidos) ya explicados varias veces.
Title: Re: como hacer ejecutables
Post by: peterpollito on November 16, 2011, 11:54:36 PM
juanpe dijo hace mas  de un año...
   Re: como hacer ejecutables (http://forum.bennugd.org/index.php?topic=1120.msg16904#msg16904)  « Reply #17 on: January 26, 2010, 03:38:42 PM »

y free responde mas de un año despues!!!!!
eso es asi o es que esta mal la fecha? jeje

juanpe, te juro que a mi me suelen contestar antes ;)

un saludo!!!!
 
Title: Re: como hacer ejecutables
Post by: FreeYourMind on November 17, 2011, 08:25:59 AM
No te confundas peter, yo he contestado para no abrir un hilo nuevo, así deberian hacer todos antes de preguntar, buscar para cuotear algo que tenga que ver con nuestra pregunta y de este modo no crear mas hilos morralla xD
Title: Re: como hacer ejecutables
Post by: Drumpi on November 25, 2011, 11:51:30 PM
Quote from: FreeYourMind on November 16, 2011, 10:20:01 PM
Quote from: Drumpi on January 24, 2010, 05:38:48 AM
Lo curioso es que los FPG comprimidos no se abren con el FPG Edit antiguo... al menos a mi no, me he tenido que crear un programita que me crea una copia de un fichero descomprimido:

program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("Escriba/aqui/el/archivo/origen",o_zread);
    //source=fopen("1bit.map",o_zread);
    destino=fopen("y/aqui/el/fichero/destino",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end


Lo uso para maps, fpgs, y fnt comprimidos con zlib. Adivinad cómo se puede usar el mísmo código para comprimir ;D

Que alguien me explique lo de FPG's comprimidos, no tengo la mas minima pajolera de saber como se guardan comprimidos y sin comprimir, y que hace por defecto el FPG Edit y el Smart FPG Editor.


Resulta que estoy usando el Smart FPG para editar mi FPG de 32 bits (parece que el FPG edit de 32 falha y las imagenes no se visualizan en Bennu), pues resulta que mi FPG ocupa 8 megas, y cuando compilo con mochila, la mochila se queda en 66 megas !!

La mochila sólo guarda FPG's descomprimidos y el Smart los guarda comprimidos por defecto, es eso ?

Es muy sencillo: si usas DIV y FPGEdit, los FPG se guardan sin comprimir. FPGEdit trae una utilidad para comprimir los FPGs, pero como digo, después no puedes abrirlos. Si el FPG lo guardas por código, este se almacena siempre comprimido.
Sin embargo, los FPGs en memoria están siempre sin comprimir.

La compresión es transparente para Bennu, le da igual que el fichero esté comprimido o no, lo abre igual, pero usarlo con otras utilidades es otra historia.
Ten en cuenta que el FPG es un formato que guarda la información en formato RAW, que se suele llamar, que no es más que los datos tal como se representan, y ocupan tanto o un poco menos que los antiguos BMP.