BennuGD Android

Started by gecko, March 08, 2010, 01:59:34 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

me gustaria saber con que modulos estas compilando las pruebas que cascan.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on November 15, 2012, 07:26:51 PM
me gustaria saber con que modulos estas compilando las pruebas que cascan.
El código es el siguiente:
/**
* Android test
* Joseba García Etxebarria - (C) 2012
* Use as you wish
*/

import "mod_video"
import "mod_say"

Process Main()
Private
int song=0, num_fingers=0, i=0;

Begin
    say("Quitting");
End;

Y la lista de módulos que se incluyen ahora mismo (cogido rápidamente del .java, se entiende, ¿verdad?) son:
        System.loadLibrary("png");
        System.loadLibrary("mikmod");
        System.loadLibrary("SDL2");
        System.loadLibrary("SDL2_mixer");
        System.loadLibrary("glob");
        System.loadLibrary("bgdrtm");
        System.loadLibrary("mod_say");
        System.loadLibrary("mod_string");
        System.loadLibrary("bgload");
        System.loadLibrary("grbase");
        System.loadLibrary("blit");
        System.loadLibrary("video");
        System.loadLibrary("render");
        System.loadLibrary("mod_video");
        System.loadLibrary("main");
¿Quizás me falta alguna?

SplinterGU

no entiendo porque cargas todas esas libs desde java, si debrian ser incluidas solas por los modulos cuando las llamas desde el prg.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on November 16, 2012, 07:48:31 PM
no entiendo porque cargas todas esas libs desde java, si debrian ser incluidas solas por los modulos cuando las llamas desde el prg.
si no las cargas  primero desde java luego dlopen no las encuentra...

SplinterGU

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

SplinterGU

con esos datos es dificil diagnosticar...

joseba, no tienes un script para hacer el build de tu version?

por otro lado, si pudieras ayudarme a generar un binario para android con los fuentes actuales, sin ningun cambio, simplemente usando configure y demas como yo empece, yo podria probar aunque sea desde un adb shell... e ir metiendo los cambios sobre la original de forma segura...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

TRaFuGa

Me he leido algunos post pero no veo nada relacionado xD como va el tema del port a Android? es algo oficial o simplemente siguen siendo pruebas?? :) y lo mejor, que necesitaría para hacer un juego para Android????
Texto que se mueve....

josebita

Quote from: SplinterGU on November 17, 2012, 12:30:30 AM
con esos datos es dificil diagnosticar...

joseba, no tienes un script para hacer el build de tu version?

por otro lado, si pudieras ayudarme a generar un binario para android con los fuentes actuales, sin ningun cambio, simplemente usando configure y demas como yo empece, yo podria probar aunque sea desde un adb shell... e ir metiendo los cambios sobre la original de forma segura...
Me doy cuenta de que no es mucho... Estoy tratando de aislar el error, a ver qué saco.
Sobre la compilación: insisto en que uso las rutinas de Android, que son independientes de autotools. No uso ningún script de instalación propio. Las instrucciones de instalación son hacer:
cd projects/android
ndk-build -j4
ant debug install
Quote from: TRaFuGa on November 17, 2012, 09:48:47 AM
Me he leido algunos post pero no veo nada relacionado xD como va el tema del port a Android? es algo oficial o simplemente siguen siendo pruebas?? :) y lo mejor, que necesitaría para hacer un juego para Android????
Lo estoy haciendo yo, de forma que no es oficial.
Aún tiene algunos fallos pero puedes empezar a utilizarlo en tu android.

La mejor forma de utilizarlo es que compiles tu juego y que el dcb lo llames main.dcb. Una vez hecho eso crees el paquete apk desde linux con mi packager (disponible en mi PPA).

TRaFuGa

#608
Quote from: josebita on November 17, 2012, 07:03:47 PM
[size=78%]La mejor forma de utilizarlo es que compiles tu juego y que el dcb lo llames main.dcb. Una vez hecho eso crees el paquete apk desde linux con mi packager (disponible en mi PPA).[/size]
Gracias, tu PPA que viene siendo? xD y otra cosa, si no tengo linux??? :)
Edito: Ya vi todo, voy a echarle un ojete
Texto que se mueve....

josebita

Quote from: TRaFuGa on November 17, 2012, 07:18:22 PM
Quote from: josebita on November 17, 2012, 07:03:47 PM
[size=78%]La mejor forma de utilizarlo es que compiles tu juego y que el dcb lo llames main.dcb. Una vez hecho eso crees el paquete apk desde linux con mi packager (disponible en mi PPA).[/size]
Gracias, tu PPA que viene siendo? xD y otra cosa, si no tengo linux??? :)
Edito: Ya vi todo, voy a echarle un ojete
En algún momento actualizaré las versión del packager para windows...

josebita

#610
Estoy tratando de mirar lo de las bandas negras y he visto algo raro: me he escrito un ejemplo muy simple que lo único que hace es usar scale_resolution_aspectario=SRA_PRESERVE y pinta el fondo de la pantalla de rojo:
import "mod_draw"
import "mod_video"
import "mod_mouse"
import "mod_map"

Process main()
Begin
scale_resolution=04800800;
scale_resolution_aspectratio=SRA_PRESERVE;
set_mode(320, 480, 32);
drawing_color( rgb(255,0,0) );
drawing_map( 0, 0 );
draw_box(0, 0, 320, 480);
while(!mouse.left)
    FRAME;
End;
End;
Pues bien, esto es lo que obtengo cuando la pantalla está en modo 32 bits:
Me sale correcto pero si cambio el set_mode a un modo de 16 bits:
Que como veis es lo mismo que hace el monkey vs robots en android...
El problema parece estar en el fichero modules/librender/g_screen.c, línea 324. parece que la línea que dice:
dst16 = ( uint16_t * ) ( pdst += scale_screen->pitch ) ;debería estar fuera de la condiciónif ( scale_resolution_table_h[h] != -1 )
Al hacer ese pequeño cambio, resulta esto:
De forma que el tema de las bandas parece solucionado. Al final no era tema de que las dimensiones pasadas a set_mode fueran 0, aunque gracias por meterlo en el código oficial; lo he aprovechado para mi rama también.

SplinterGU

tienes razon, eso deberia quedar fuera del if... como se me paso, incluso todos los demas, estan fuera del if... en fin... gracias!

ahora, el tema del mouse que no sincroniza con la posicion real en pantalla (sin bandas) no le veo relacion con eso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on November 17, 2012, 10:11:42 PM
tienes razon, eso deberia quedar fuera del if... como se me paso, incluso todos los demas, estan fuera del if... en fin... gracias!

ahora, el tema del mouse que no sincroniza con la posicion real en pantalla (sin bandas) no le veo relacion con eso...
Voy a cenar y luego lo miro. El comportamiento mejora con esto pero aun no es perfecto. Después de cenar lo miro

SplinterGU

si, claro, mejorar deberia, en el caso de la banda corrida, pero en el caso de banda no corrida no hace diferencia...

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

josebita

Quote from: SplinterGU on November 17, 2012, 10:24:27 PM
si, claro, mejorar deberia, en el caso de la banda corrida, pero en el caso de banda no corrida no hace diferencia...

gracias.
Bueno, el problema viene de que la SDL está reportando posiciones distintas para la misma pulsación cuando se lee como pulsación del dedo que cuando se lee como mouse (que en algún momento han vuelto a hacer que la pulsación con el dedo se vuelva a reportar también como mouse). Lo que voy a hacer es que cuando ambas librerías estén cargadas predomine la información de la mod_multi.