Varias cuestiones sobre librerías

Started by josebita, November 27, 2008, 09:20:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

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

SplinterGU

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

josebita


Drumpi

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.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

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.

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

Drumpi

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)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

eso no va para fenix... eso es bennu...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

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  ::)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

 ??? ??? ??? Pero si yo estaba hablando de Fenix
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

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