Bennu Game Development

Foros en Español => Extensiones => Topic started by: josebita on November 27, 2008, 09:20:34 PM

Title: Varias cuestiones sobre librerías
Post by: josebita on November 27, 2008, 09:20:34 PM
Creo que esto ya se ha contestado antes, pero no encuentro la respuesta.
El tema es que quiero que se llame a una función de inicialización de cosas en cuanto se cargue la librería desde C y a otra (de cierre de cosas, claro) cuando bennu v a salir. Me gustaría saber cómo se hace sin tener que hacerlo desde código bennu.

Además, me interesa que se ejecute una cierta función de la librería automáticamente una vez cada frame, de forma que no tenga que llamarla desde código.

Tampoco hay que ser muy avispado para darse cuenta de por dónde voy... :)
Title: Re: Varias cuestiones sobre librerías
Post by: SplinterGU on November 28, 2008, 02:31:05 AM
http://forum.bennugd.org/index.php?topic=84.msg3156#msg3156

http://forum.bennugd.org/index.php?topic=11.0

chequeate los ultimos headers...

revisate este codigo http://forum.bennugd.org/index.php?topic=129.0 solo varia en que va un prefijo, como se usa en el primer link
Title: Re: Varias cuestiones sobre librerías
Post by: josebita on November 28, 2008, 12:36:29 PM
¡Muchas gracias!
Title: Re: Varias cuestiones sobre librerías
Post by: Drumpi on December 10, 2008, 04:03:34 PM
Quote from: josebita on November 27, 2008, 09:20:34 PM
Además, me interesa que se ejecute una cierta función de la librería automáticamente una vez cada frame, de forma que no tenga que llamarla desde código.

Mira, precisamente venía a consultar el cómo hacer esto mismo. He estado leyendo los enlaces pero no me ha quedado muy claro.
Tambien me gustaría saber si se puede hacer esto mismo para las dlls de fenix.
Title: Re: Varias cuestiones sobre librerías
Post by: SplinterGU on December 10, 2008, 04:31:50 PM
para dlls fenix no es posible...

para bennu, el metodo o nombre de funcion es...


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

/* Bigest priority first execute
   Lowest priority last execute */

HOOK __bgdexport( libprefix, handler_hooks )[] =
{
    { 9500, funcion_handler1 },
    ...
    { 9000, funcion_handlerN },
    {    0, NULL          }
} ;

y las funciones_handler o hooks, deben ser del tipo

void hook();

esto se ejecutara en cada frame, o sea, cuando se complete una tasklist.

libprefix es el nombre de la dll/.so
la primer columna es la prioridad del hook.

Title: Re: Varias cuestiones sobre librerías
Post by: Drumpi on December 10, 2008, 04:35:36 PM
Ok, gracias. Entonces tocará implementar un refresh_tscroll... o compilar Fenix (como tengo que hacerle algun retoque al de gp2x, pues ya de paso :D :D :D)
Title: Re: Varias cuestiones sobre librerías
Post by: SplinterGU on December 10, 2008, 05:10:52 PM
eso no va para fenix... eso es bennu...
Title: Re: Varias cuestiones sobre librerías
Post by: DCelso on December 10, 2008, 06:42:59 PM
dumpi hasta que no libere el código fuente splinter te quedas sin poderlo probar en la gp32 :D.
A no ser que splinterGU lo copile  ::)
Title: Re: Varias cuestiones sobre librerías
Post by: Drumpi on December 10, 2008, 06:52:42 PM
 ??? ??? ??? Pero si yo estaba hablando de Fenix
Title: Re: Varias cuestiones sobre librerías
Post by: SplinterGU on December 10, 2008, 07:22:39 PM
Quote from: Drumpi on December 10, 2008, 04:03:34 PM
Quote from: josebita on November 27, 2008, 09:20:34 PM
Además, me interesa que se ejecute una cierta función de la librería automáticamente una vez cada frame, de forma que no tenga que llamarla desde código.

Mira, precisamente venía a consultar el cómo hacer esto mismo. He estado leyendo los enlaces pero no me ha quedado muy claro.
Tambien me gustaría saber si se puede hacer esto mismo para las dlls de fenix.

Al decir "Tambien me gustaría saber si se puede hacer esto mismo para las dlls de fenix." da a entender que lo anterior no era de Fenix sino Bennu... y eso es lo que respondi, en Bennu y luego en Fenix...