Autor Tema: BennuGD PSP  (Leído 78842 veces)

Goku jr

  • Sr. Member
  • ****
  • Mensajes: 346
  • Karma: 6
Re: BennuGD PSP
« Respuesta #60 en: Enero 13, 2011, 11:36:02 pm »
No se ve muy bien,pero a la espera de que alguien me ayude con la duda anterior,he hecho esta prueba :

http://www.youtube.com/watch?v=Ilna4cEVO6s

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: BennuGD PSP
« Respuesta #61 en: Enero 14, 2011, 10:05:53 am »
DCelso, pon el patch de los fuentes, porfi.

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #62 en: Enero 14, 2011, 02:15:43 pm »
Como dijo jack el destripador, vayamos por partes.

Buenas!
tengo un problemilla con joy_button,la cosa esque nunca he utilizado esas funciones,tengo incluida la mod joy y los defines que dejo dcelso

y me dice joy_button undefined procedure
[code language="bennu"]LOOP
IF(joy_button(0,PSP_X_BUTTON));EXIT("",1);END
FRAME;
END
END
[/code]

Alguien me ilumina? gracias!!
Sorry goku, es joy_getbutton la función correcta.
De todas formas tengo montado otro script, para poder ejecutar los juegos tanto en psp como en pc, mapeando las keys, pero por algún motivo no me va en mi psp(creo que porque como la psp no tiene teclado casca por ahí, tal vez con un os_id se arregle, estoy en ello, pero mientra dejo aqui la info)
Código: [Seleccionar]
#define PSP_TRIANGLE_BUTTON 0
#define PSP_CIRCLE_BUTTON 1
#define PSP_X_BUTTON 2
#define PSP_SQUARE_BUTTON 3
#define PSP_L_BUTTON 4
#define PSP_R_BUTTON 5
#define PSP_DOWN_BUTTON 6
#define PSP_LEFT_BUTTON 7
#define PSP_UP_BUTTON 8
#define PSP_RIGHT_BUTTON 9
#define PSP_SELECT_BUTTON 10
#define PSP_START_BUTTON 11
#define PSP_LEFT_RIGHT_AXIS 0
#define PSP_UP_DOWN_AXIS 1

function key_joy(int id)
begin
if (joy_numjoysticks() >0 )
if (joy_getbutton(0,id))
          return 1;
    end
end
switch (id)
    case PSP_TRIANGLE_BUTTON:
    return key (_a);
    end
    case PSP_CIRCLE_BUTTON:
    return key (_s);
    end
    case PSP_X_BUTTON:
    return key (_d);
    end
    case PSP_SQUARE_BUTTON:
    return key (_f);
    end
    case PSP_L_BUTTON:
    return key (_z);
    end
    case PSP_R_BUTTON:
    return key (_x);
    end
    case PSP_SELECT_BUTTON:
    return key (_c);
    end
    case PSP_START_BUTTON:
    return key (_v);
    end
    case PSP_UP_BUTTON:
    return key (_up);
    end
    case PSP_DOWN_BUTTON:
    return key (_down);
    end
    case PSP_LEFT_BUTTON:
    return key (_left);
    end
    case PSP_RIGHT_BUTTON:
    return key (_right);
    end
end
return 0;
end
Así ahora solo tienes que llamar a key_joy en vez de a joy_getbutton y remapear las teclas si no te molan mucho.

Monstruos Diabólicos

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

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #63 en: Enero 14, 2011, 02:19:19 pm »
Por otro lado,
DCelso, pon el patch de los fuentes, porfi.
Estoy en ello, estoy dejándolos perita y he cambiado algunas cosillas, en cuanto lo tenga os lo paso a splinter y a ti.

Splinter, acerca del .patch, puedes abrirlo con cualquier editor de texto, y ver la info, básicamente viene la siguiente info:
nombre de fichero
unas cuantas líneas que son iguales en ambos ficheros comparados
+ nuevas lineas a insertar
- líneas a eliminar
otras cuantas líneas que son iguales en ambos ficheros comparados

Siguiente fichero
.,,
Es decir, hay un + delante de las nuevas lineas a insertar y un - delante de las líneas a eliminar.
Así que es facil de interpretar, de todas formas intentaré resumirte los cambios.
Monstruos Diabólicos

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

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #64 en: Enero 14, 2011, 02:20:30 pm »
si prefieres, otra opción es pasarte los archivos modificados y tu compararlos con algún programa comparador de archivos que te guste.
Monstruos Diabólicos

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

laghengar

  • Hero Member
  • *****
  • Mensajes: 642
  • Karma: 8
Re: BennuGD PSP
« Respuesta #65 en: Enero 14, 2011, 03:34:50 pm »
Gracias Dcelso por el comentario del traductor. No tengo ni idea de Portugués y me pareció convincente  ;D
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12933
  • Karma: 378
Re: BennuGD PSP
« Respuesta #66 en: Enero 14, 2011, 04:09:23 pm »
Como dijo jack el destripador, vayamos por partes.

Buenas!
tengo un problemilla con joy_button,la cosa esque nunca he utilizado esas funciones,tengo incluida la mod joy y los defines que dejo dcelso

y me dice joy_button undefined procedure
[code language="bennu"]LOOP
IF(joy_button(0,PSP_X_BUTTON));EXIT("",1);END
FRAME;
END
END
[/code]

Alguien me ilumina? gracias!!
Sorry goku, es joy_getbutton la función correcta.
De todas formas tengo montado otro script, para poder ejecutar los juegos tanto en psp como en pc, mapeando las keys, pero por algún motivo no me va en mi psp(creo que porque como la psp no tiene teclado casca por ahí, tal vez con un os_id se arregle, estoy en ello, pero mientra dejo aqui la info)
Código: [Seleccionar]
#define PSP_TRIANGLE_BUTTON 0
#define PSP_CIRCLE_BUTTON 1
#define PSP_X_BUTTON 2
#define PSP_SQUARE_BUTTON 3
#define PSP_L_BUTTON 4
#define PSP_R_BUTTON 5
#define PSP_DOWN_BUTTON 6
#define PSP_LEFT_BUTTON 7
#define PSP_UP_BUTTON 8
#define PSP_RIGHT_BUTTON 9
#define PSP_SELECT_BUTTON 10
#define PSP_START_BUTTON 11
#define PSP_LEFT_RIGHT_AXIS 0
#define PSP_UP_DOWN_AXIS 1

function key_joy(int id)
begin
if (joy_numjoysticks() >0 )
if (joy_getbutton(0,id))
          return 1;
    end
end
switch (id)
    case PSP_TRIANGLE_BUTTON:
    return key (_a);
    end
    case PSP_CIRCLE_BUTTON:
    return key (_s);
    end
    case PSP_X_BUTTON:
    return key (_d);
    end
    case PSP_SQUARE_BUTTON:
    return key (_f);
    end
    case PSP_L_BUTTON:
    return key (_z);
    end
    case PSP_R_BUTTON:
    return key (_x);
    end
    case PSP_SELECT_BUTTON:
    return key (_c);
    end
    case PSP_START_BUTTON:
    return key (_v);
    end
    case PSP_UP_BUTTON:
    return key (_up);
    end
    case PSP_DOWN_BUTTON:
    return key (_down);
    end
    case PSP_LEFT_BUTTON:
    return key (_left);
    end
    case PSP_RIGHT_BUTTON:
    return key (_right);
    end
end
return 0;
end
Así ahora solo tienes que llamar a key_joy en vez de a joy_getbutton y remapear las teclas si no te molan mucho.



eso no te funciona, porque no estas mapeando el joys al teclado, sino que estas diciendo, si tal boton del joy esta pulsado entonces retorname si tal tecla esta pulsada.

lo que vos deberias hacer es algo diferente, directamente retorna la constante, o mejor te diria que actualices la jkeys.lib, que para eso la hice.

Por otro lado,
DCelso, pon el patch de los fuentes, porfi.
Estoy en ello, estoy dejándolos perita y he cambiado algunas cosillas, en cuanto lo tenga os lo paso a splinter y a ti.

Splinter, acerca del .patch, puedes abrirlo con cualquier editor de texto, y ver la info, básicamente viene la siguiente info:
nombre de fichero
unas cuantas líneas que son iguales en ambos ficheros comparados
+ nuevas lineas a insertar
- líneas a eliminar
otras cuantas líneas que son iguales en ambos ficheros comparados

Siguiente fichero
.,,
Es decir, hay un + delante de las nuevas lineas a insertar y un - delante de las líneas a eliminar.
Así que es facil de interpretar, de todas formas intentaré resumirte los cambios.


conozco el formato el patch, pero preferia una explicacion de los cambios, no importa, dejalo, ya lo vere...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #67 en: Enero 14, 2011, 04:26:14 pm »
Tarde, splinter :'(, ya te mandé la explicación en formato pdf. Espero que te guste y me des críticas constructivas :D.

Por otro lado no se como lees eso tu en mi código porque lo que yo veo es lo siguiente:

Si hay almenos un joystic, mira si está pulsado el boton con el identificador pasdo, retorna 1 y no sigas con el código de a continuación.

Sino, a traves del identificador de boton pasado devuelve el estado de la tecla asociada a dicho id.

devuelve  0. <<  cosa que nunca pasará a nos er que pases un id malo a la función.

Monstruos Diabólicos

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

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12933
  • Karma: 378
Re: BennuGD PSP
« Respuesta #68 en: Enero 14, 2011, 04:38:55 pm »
Código: [Seleccionar]
   case PSP_CIRCLE_BUTTON:
    return key (_s);
   end

aca dice, si esta pulsado PSP_CIRCLE_BUTTON, entonces retorna el retorno de la funcion key con parametro _s, segun has dicho, no hay keys en PSP, por ende, esta funcion retorna 0, ya que key(_s) nunca dara un valor de pulsado.

edit: ya veo, primero detectas el joy, si no esta el joy usas key...

eso es demasiado hardcode, a mi me parece que deberias usar la jkeys.lib, pero bueno... esta bien...

con respecto al codigo monolitico, ya te respondi por mail algunas sugerencias, por ahora no lo incluire como oficial, creo que se podria hacer aun con menos cambios...

tengo que ver la version de josebita, que dice que esta menos prolija que la tuya... yo tenia entendido que josebita no habia cambiado mucho del codigo... quizas entendi mal o me hice una idea equivocada.

demas esta decir que te has mandado un muy buen trabajo.
« última modificación: Enero 14, 2011, 05:08:39 pm por SplinterGU »
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #69 en: Enero 14, 2011, 04:55:04 pm »
pues no debería
Lo que tu dices solo pasaría si no pulsases ningun botón, pues para eso está el return 1 que hay antes que termina la ejecución de la función si se produjo la pulsación de cualquier boton.
¿No crees?
Código: [Seleccionar]
if (joy_numjoysticks() >0 )
if (joy_getbutton(0,id))
          return 1;
    end
end
Monstruos Diabólicos

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

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12933
  • Karma: 378
Re: BennuGD PSP
« Respuesta #70 en: Enero 14, 2011, 05:08:00 pm »
si, si... lo edite y lo puse como tachado, pero se ve que no salio el tachado...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: BennuGD PSP
« Respuesta #71 en: Enero 14, 2011, 05:29:10 pm »
[...]
tengo que ver la version de josebita, que dice que esta menos prolija que la tuya... yo tenia entendido que josebita no habia cambiado mucho del codigo... quizas entendi mal o me hice una idea equivocada.

demas esta decir que te has mandado un muy buen trabajo.
La verdad es que la mía tiene un problema respecto a la de DCelso: Hay que andar cambiando los módulos uno a uno, que es un lío. Voy a ver cómo lo ha hecho él sin modificarlos, porque la verdad es que me facilitaría mucho la vida.

Quitando la modificación de los módulos, mi código lo que hace es definir los símbolos de los módulos en un array grande en el fichero core/includes/monolithic_includes.h (por cierto, he cambiado la extensión de los módulos ficticios en mi versión por ".fakelib" para que sea evidente que no se está intentando una carga real en la versión monolítica). Si os fijais, ese fichero tiene dos partes: una en la que se definen los símbolos necesarios unicamente para bgdrtm y otra con las cosas que usan bgdrtm y bgdi (nombres de funciones exportados, variables, constantes...). Lo hago así para no tener que compilar todos los símbolos dentro del bgdc. Ambos arrays tienen los símbolos de los módulos en el mismo orden.
Además he separado el core/include/loadlib.h en dos partes: una la que carga librerías de verdad y la otra que devuelve los símbolos monolíticos. Para poder trabajar con los mismos tipos que la versión "normal" lo que hago es redefinir dlibhandle de lo que es a:
[code language="c"]typedef struct
{
    int index;
} dlibhandle ;
[/code]Donde, obviamente, index es el índice del módulo dentro del array de monolithic_includes.h
De mi forma de hacerlo no me gusta nada el tema de andar teniendo que modificar los módulos, pero por lo demás -de memoria- creo que no tengo mayor queja.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12933
  • Karma: 378
Re: BennuGD PSP
« Respuesta #72 en: Enero 14, 2011, 06:08:39 pm »
josebita, el trabajo de anda modificando a mano, podes resolverlo con un script-precompilador y un define, el define para deshabilitar las variables de los modulos y el script que tome las variables y genere la struct que vos decis que llenas a mano.

eso seria lo que yo haria, no me gusta eso de tener que meter muchos cambios en los fuentes, menos hardcodear cosas como nombres de librerias y demas, en el interprete y compilador.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: BennuGD PSP
« Respuesta #73 en: Enero 14, 2011, 06:55:42 pm »
splinter, ya la hice mas liviana, ahora simulo completamente a loadlib. como debería ser, asi que solo hay que hacer un ifdef para seleccionar loadlib.h o sim_loadlib.h, en cuanto se requiere para ser monolítico o no.
Los demás cambios que te puse en el código como podrás observar son para soportar psp y gp2x así que no hay mas remedio que introducirlos.
Adjunto el nuevo patch para que me digais tu y josebita que os parece. (ya que soys los doctos en compilar bennu eh) :D
« última modificación: Enero 14, 2011, 10:31:29 pm por DCelso »
Monstruos Diabólicos

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

danielt3

  • Newbie
  • *
  • Mensajes: 48
  • Karma: 9
Re: BennuGD PSP
« Respuesta #74 en: Enero 14, 2011, 09:56:21 pm »
splinter, ya la hice mas liviana, ahora simulo completamente a loadlib. como debería ser, asi que solo hay que hacer un ifdef para seleccionar loadlib.h o sim_loadlib.h, en cuanto se requiere para ser monolítico o no.
Los demás cambios que te puse en el código como podrás observar son para soportar psp y gp2x así que no hay mas remedio que introducirlos.
Adjunto el nuevo patch para que me digais tu y josebita que os parece. (ya que soys los doctos en compilar bennu eh) :D


O arquivo tem senha (password)?
---

Daniel