Duda generando modulo para BennuGD.

Started by Erkosone, June 03, 2012, 05:57:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Erkosone

Hola estoy generando un módulo para BennuGD, y me surge una duda, cuando importo el "bgdll.h" obtengo errores cuando este .h hace include a otros .h,  mi pregunta es si hay que tener el modulo en desarrollo y los archivos del source de bennu en un lugar concreto o pueden estar en cualquier ubicación?




SplinterGU

si, tenes que tener la misma estructura que tiene actualmente la rama oficial (mas que "tener", es recomendable tener)... y crea tu modulo dentro de la carpeta modules, toma alguno de los modulos que ya hay de ejemplo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Erkosone

Gracias por la información, voy a por un café y me pongo a ello, haber si consigo aportar algo interesante a la comunidad.
Lo dicho, un saludo y gracias por la info, si consigo montar el modulo os lo cuelgo con source por si alguien mejor capacitado que yo logra ampliarlo y mejorarlo.
Que alguien encienda un vela o algo jeje..

Erkosone

Tengo una preguntilla, lo que remarco en negrita que significa? no encuentro doc al respecto.
La parte en cursiva del final es el .h original de mi lib.








#ifndef __MOD_SERIAL_EXPORTS
#define __MOD_SERIAL_EXPORTS


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


#include "bgddl.h"
#include <windows.h>
#include <string.h>


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


DLSYSFUNCS __bgdexport( mod_serial, functions_exports )[] =
{
    /* Blendops */
    FUNC( "SERIAL_OPENCOMPORT"      , ""      , TYPE_BOOL   , modserial_opencomport   ),
    FUNC( "SERIAL_CLOSECOMPORT"     , "I"     , TYPE_VOID   , modserial_closecomport  ),
    FUNC( "SERIAL_SENDDATA"         , "IFIII" , TYPE_DWORD  , modserial_senddata      ),
    FUNC( "SERIAL_RECEIVEDATA"      , "IF"    , TYPE_DWORD  , modserial_receivedata   ),
    FUNC( 0                         , 0       , 0           , 0                       )
};


#endif








#ifndef _COMPORT_H
#define _COMPORT_H
#include <windows.h>
#include <string.h>
BOOL  openComPort  (const char* port, const char* baudrate);
void  closeComPort (void);
DWORD sendData     (const char* data, DWORD size);
DWORD receiveData  (char* data, DWORD size);
#endif /* _COMPORT_H */

Erkosone

Supongo que son los parámetros de entrada?

Erkosone

que movida mas estupenda jeje.. no se por que no consigo configurar el entorno para que encuentre los .h de bennu  :P
Dejo una copia del modulo que he montado y de los 2 archivos originales que funcionan bien como una lib para C++, si alguien experimentado puede mirar si ve un error se lo agradecería.
Esto es mas complicado de lo que parece jeje..


Son 4 funciones bastante sencillas, bueno.. sigo estudiando el manual de OSK haber si me he saltado algo.

KeoH

Eso q señalas mas arriba en negrita son los tipos de los datos q neceista esa funcion .. I enteros, F float y así .

Rein (K´)ah Al-Ghul

erkos, sino me equivoco, en el manual de osk hay un apendice de como crear los modulos para bennu, tal vez te sirva...

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

Erkosone

Lo se lo se, estoy con el manual recisando detenidamente punto por punto  :)

Erkosone

Me parece que es por el entorno de programación que uso.. no hay forma de compilarlo XD.. me falla al linkar las lib de bennu, encuentra la primera pero las que llama esta ya no hay forma de que se linken.


Pregunta para los que ya habéis generado algún modulo para BennuGD:  Que entorno usáis?  yo uso DEV-Cpp 4.9, he probado con la versión 5 que está en fase beta y peor todavía.
Quizá Visual Studio? alguna versión en particular? algún compilador en particular?

SplinterGU

consola y configure y make. mingw+msys
Download Lastest BennuGD Release: http://www.bennugd.org/node/2