Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Makinor on January 27, 2008, 03:03:49 PM

Title: Nuevo en Bennu...dudas varias
Post by: Makinor on January 27, 2008, 03:03:49 PM
En primer lugar gracias Splinter por todo lo que haces por mantener vivo y conmas fuerza este proyecto.

Varias dudas tengo:

Tengo un programa en fenix que al intentar compilar no me encuentra los procesos......en Bennu tengo al inicio del programa que poner prototipos de las funciones? como se hace? ...tengo el programa principal y detras de el los procesos...asi que al compilar me dice que el proceso XXX no lo encuentra o no existe.

Otra duda....se hace engorroso ver todas las dll sueltas...supongo yo que haran falta obligatoriamente las SDL y sus librerias como png etc.....y luego voy incluyendo las especificas de bennu que quiero no?...estas las incluyo en bgd.imp o en un fichero con el nombredejuego.imp¿

Puedo poner todas las librerias en un directorio (Lib por ejemplo) para que no se vea tan engorroso y quede mas limpio el directorio del juego?

Gracias
Title: Re: Nuevo en Bennu...dudas varias
Post by: Drumpi on January 27, 2008, 04:09:33 PM
Pues bienvenido, antes que nada.

No he usado aun mucho bennu, pero si se algunas cosillas, por ejemplo:
El tema de los procesos se ha ido volviendo un poco más restrictivo, pero no te asustes, no es nada que no se haya visto en otros lenguajes. Seguramente bennu te está pidiendo que declares los procesos ANTES de llamarlos, hay dos formas de hacerlo:
1- Usa DECLARE: simplemente, antes del main pones DECLARE nombre_del_proceso (tipos y variables de entrada); Vamos una declaración, esto tabien es necesario para el uso de variables PUBLICAS
2- Escribe el proceso entero antes del que lo usa.

Solo he probado un código (y no lo tengo aquí) pero con incluir las dll que usaba Fenix ya te debería funcionar, si quieres añadir más, poniendo un include con la ruta (absoluta o relativa al exe) donde se encuentra ya estará.
Para ser más precisos ya tendría que responderte Splinter o alguien que ya esté metido con Bennu ^^U
Title: Re: Nuevo en Bennu...dudas varias
Post by: Makinor on January 27, 2008, 06:17:48 PM
HOla...intente hacer
Declare
  proceso();
  proceso2();
  .....
End

y me da error....he tenido que declarar cada proceso con un Declare .. End

Es normal? que hago mal?

Gracias
Title: Re: Nuevo en Bennu...dudas varias
Post by: GINO on January 27, 2008, 07:48:19 PM
Debes ponerlo por separado:

[code language="bennu"]DECLARE PROCESS proceso1()
END

// o si tiene variables privadas o publicas
DECLARE PROCESS proceso2()
    PRIVATE
        INT var1;
        INT var2;
        // ...
    END
    PUBLIC
        INT var3;
        // ...
    END
END[/code]

Cada uno por separado, y luego no pongas en el proceso la seccion private/public.
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on January 27, 2008, 10:10:59 PM
Tambien puedes usar el parametro de compatibilidad... chequeate la documentacion, en la seccion correspondiente del foro...
Por ahora las dlls deben estar en el mismo directorio donde se encuentra el bgdi.exe
Title: Re: Nuevo en Bennu...dudas varias
Post by: GINO on January 27, 2008, 11:09:43 PM
Pero, las que importas supongo que podran en cualquier directorio no?
Con hacer include "ruta_al_modulo/mod_key.dll"

¿?¿?
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on January 28, 2008, 02:38:16 AM
No lo se, deberia funcionar como funcionaba Fenix... yo la verdad no me preocupo mucho en la distribucion final de los archivos... el jugador normal no se anda fijando que hay en los directorios, si estan ordenaditos, perfumaditos o con moñito rojo en la cabeza... los unicos enfermos que nos fijamos en esas cosas somos nosotros...
Title: Re: Nuevo en Bennu...dudas varias
Post by: GINO on January 28, 2008, 12:36:44 PM
Pues precisamente lo de ordenar todo y tal me gusta hacerlo por tenerlo yo todo claro, que sino, en nada que te descuides tienes miles de archivos sueltos por ahi, y de paso le queda al usuario tambien.
Title: Re: Nuevo en Bennu...dudas varias
Post by: Coptroner on February 18, 2008, 11:53:58 PM
Yo tambien soy un maniatico del orden, tanto que para distribuir los juegos incluiré en la carpeta del mismo solo 2 cosas:
1.-Ejecutable .exe que arranca el juego
2.-Carpeta de recursos del juego donde se encuentra el resto (compilador, modulos, dll, reucrsos del juego, etc...)  ;D
Title: Re: Nuevo en Bennu...dudas varias
Post by: Windgate on October 30, 2008, 09:55:44 PM
Hola, perdonad que escriba en este hilo después de tanto tiempo, pero tengo una duda "varia" sobre Bennu.

El problema es que cuando intento compilar siempre me dice que no encuentra la librería mod_video. Quería saber si se trata de un DLL, dónde conseguirlo y dónde debo copiar el archivo...

Gracias si alguien me contesta!
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on October 30, 2008, 10:25:16 PM
tenes que bajar el paquete de bennu wip15b, el paquete de library-externas-mandatory (o algo asi) y poner todo eso en una carpeta, luego cuando ejecutas tenes que o tener en el path la carpeta de estos archivos o usar el bgdi de esa carpeta...
Title: Re: Nuevo en Bennu...dudas varias
Post by: l1nk3rn3l on October 30, 2008, 10:47:07 PM
Es que soy nuevo en bennu y desearia saber como declaro el modulo inicializar y descargar de una dll
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on October 30, 2008, 10:55:20 PM
perdon, por tu consulta del otro dia no respondida, pero no vi nada mal en tu ejemplo...

para inicializar es, por ejemplo:


void __bgdexport( libmouse, module_initialize )()
{
    gr_new_object( GLOINT32( libmouse, MOUSEZ ), mouse_info, mouse_draw, 0 );
}

/* --------------------------------------------------------------------------- */


para finalizar, lo mismo pero module_finalize

para declarar dependencias de otro modulo, por ejemplo...


char * __bgdexport( libmouse, modules_dependency )[] =
{
    "libsdlhandler",
    "libgrbase",
    "libvideo",
    "libblit",
    NULL
};



Title: Re: Nuevo en Bennu...dudas varias
Post by: l1nk3rn3l on October 31, 2008, 07:09:46 PM
gracias
Title: Re: Nuevo en Bennu...dudas varias
Post by: Windgate on October 31, 2008, 09:21:47 PM
Muchísimas gracias, creo que ya estoy muy cerca, pero tengo un problemita más.

Al compilar me sale este error:

C:\Bennu\bin\bgdc.import:1: error: Libreary "bgdi.dll" not found (EOF)

Pero el fichero bgdi.dll sí que lo tengo en la ruta C:\Bennu\bin\ junto con todo lo demás que me has dicho.

¿Qué es lo que me dejo? Quiero empezar a programar en Bennu... snif...  :'(


Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on October 31, 2008, 10:00:24 PM
bgdi.dll no sirve mas, creo que estas mezclando versiones... te sugiero que elimines todo el directorio de binarios y lo armes de nuevo con los ultimos paquetes... con los paquetes que mencione unos posts arriba...
Title: Re: Nuevo en Bennu...dudas varias
Post by: blostec on October 31, 2008, 10:34:19 PM
Quote from: Windgate on October 31, 2008, 09:21:47 PM
Muchísimas gracias, creo que ya estoy muy cerca, pero tengo un problemita más.

Al compilar me sale este error:

C:\Bennu\bin\bgdc.import:1: error: Libreary "bgdi.dll" not found (EOF)

Pero el fichero bgdi.dll sí que lo tengo en la ruta C:\Bennu\bin\ junto con todo lo demás que me has dicho.

¿Qué es lo que me dejo? Quiero empezar a programar en Bennu... snif...  :'(


Lo mejor que puedes hacer es borrar el bennu que tienes y bajate esto (http://betatester.bennugd.org/betas/win32-wip15b.rar) y esto (http://betatester.bennugd.org/betas/dlls-externals-mandatory-pack.rar), y los ejemplos (http://betatester.bennugd.org/betas/samples/).
El bgdc.import si lo quieres usar quita la "bgdi.dll" que como ha dicho Splinter, ya no existe.
Title: Re: Nuevo en Bennu...dudas varias
Post by: Windgate on October 31, 2008, 11:44:25 PM
Sois cojonudos tíos, OK, procedo a borrarlo todo y empezar desde 0, quiero entender bien cómo se hace.

Muchísimas gracias.
Title: Re: Nuevo en Bennu...dudas varias
Post by: blostec on November 01, 2008, 04:54:27 PM
Nada, encantados de ayudarte. Cuando te bajes bennu veras que hay un archivo de texto con todas las funciones disponibles y el modulo (dll) donde están. Por ejemplo si en tu código usas la función "key" necesitas importar el modulo "mod_key.dll". Es tan fácil como añadir en tu código la linea: import "mod_key.dll";
Title: Re: Nuevo en Bennu...dudas varias
Post by: Windgate on November 01, 2008, 09:23:00 PM
Tenía claro lo de que era necesario hacer IMPORT, pero no conseguía que localizara las DLL. Ahora he borrado todo y he bajado la wip15, por fin he conseguido que funcione.

Ahora ya puedo empezar con Bennu. Muchas gracias a todos!
Title: Re: Nuevo en Bennu...dudas varias
Post by: Windgate on November 04, 2008, 05:21:33 PM
Perfecto, ya entiendo como van los IMPORT y va todo sobre ruedas, ¡Estoy programando en Bennu, casi no me lo creo!

Para quienes hayan tenido problemas como yo para migrar de Fenix a Bennu aquí os dejo un HolaMundo en Bennu. Lo interesante no es el HolaMundo en sí, lo que interesa es que tiene una carpeta llamada DLL donde se encuentran todas las DLL y un fichero llamado include.prg que se ocupa de hacer (casi) todos los IMPORT necesarios para empezar a programar.

DESCARGAR: http://www.mediafire.com/file/yzdztmwzd0y/EjemploBennu.zip (http://www.mediafire.com/file/yzdztmwzd0y/EjemploBennu.zip)

El código completo queda así de simple, usando sólo un INCLUDE en lugar de tantos IMPORT:

PROGRAM videojuego;

INCLUDE "DLL\import.prg"

BEGIN
    write(0,160,100,4,"Hola, mundo!");
    LOOP
        IF (key(_esc)) BREAK; END
        FRAME;
    END
END


Espero que resulte de ayuda a quienes vienen de Fenix (o DIV) y se asuntan con tanto IMPORT. El archivo incluye un batch para compilar y ejecutar directamente haciendo doble clic sobre él. El código puede ser ampliado para programar libremente, si hiciese falta importar algún DLL más basta con añadir esa linea IMPORT dentro del fichero "import.prg". ¡No es eficiente pero sí eficaz!  :D
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on November 04, 2008, 06:39:34 PM
Sirve para los novatos, pero la idea es no tener que hacer eso, ya que si incluimos todas las dlls, la modularidad pierde toda la gracia...
Pero bien, gracias... un pulgar hacia arriba!
Title: Re: Nuevo en Bennu...dudas varias
Post by: TYCO on November 05, 2008, 09:34:51 AM
Para esa cuestión ya existe el archivo "bgdc.import" y no tienes que añadir ningún include en el código.
Title: Re: Nuevo en Bennu...dudas varias
Post by: SplinterGU on November 05, 2008, 12:36:17 PM
Quote from: TYCO on November 05, 2008, 09:34:51 AM
Para esa cuestión ya existe el archivo "bgdc.import" y no tienes que añadir ningún include en el código.

Como no se me ocurrio? ;)

Un pulgar para TYCO!