Gran barrera (Imagenes y prx's)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06

Responder
Avatar de Usuario
Darthvader38
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 24 Ene 2010, 06:39

Gran barrera (Imagenes y prx's)

Mensaje por Darthvader38 »

Bajo muchos intentos que no han terminado en el resultado esperado...espero que aqui me puedan ayudar. :(
El problema es que no puedo cargar y mostrar imagenes desde un codigo compilado en .prx que posteriormente
se usara como plugin. Me es muy importante....quiero que mis amigos puedan interactuar mediante menu's con
aplicaciones desarrolladas por mi.Tengo idea de crear plugins que desplieguen opciones graficamente en backup's, y no encuentro como hacerlo.
1-Alguien puede postear algun codigo de ejemplo para lograr esto?
Tal vez alguna libreria que no termine en un intento fracasado de uso como me fue la "graphics.h" y "framebuffer.h" que vienen con el PSPDEV.
Podrian darme detalles de que tengo que incluir en el makefile en caso de que sea necesario?

2-Despues de lograr cargar imagenes....tengo otra limitante.quisiera poder detener el juego para que puedan desplegarse por mi menu sin problemas.....M0skit0 me dijo que las funciones "sceKernelCpuSuspendIntr()" y "sceKernelCpuResumeIntr()" podian ayudarme en esta cuestion, pero al parecer no le estoy dando el uso correcto...pues tras varios testeos incluyendo esta funciones no logro que el juego se detenga...en vez de eso a veces se me cuelga la PSP.

3-He observado que el "vsh-menu" de la M33 y GEN usan la funcion "blit_string();" para desplegar sus opciones y que el usuario pueda interactuar con estas, yo las uso en plugins que hago, pero no puedo evitar el constante parpadeo
que hace ver un poco "mal" mis menu's.Saben como puedo lograr que mis menu se desplieguen mostrandose tan estables como los de el vsh-menu?Tal vez ellos usan la funcion "sceKernelCpuSuspendIntr()"? o que metodo conocen ustedes para hacer el mejor uso de estas funcion?tal vez en alguna parte de el codigo en especial?
Yo uso la funcion "blit_string();" dentro de un bucle While porque sino desaparece y necesito que se mantega constante hasta que yo desee.
Ejemplo:

while(1)
{
blit_string(100,100, "Menu",0x000000, 0xdddddd);
sceKernelDelayThreadCB(500);
}
Que hago mal respecto a esto?!?!?!
Post: la funcion la declaro en un thread con prioridad 1 y en modo KERNEL y se me ve parpadeante durante la reproduccion de los juegos....como evito este problema del parpadeo?!?! :cry:

Disculpen mi ignorancia respecto al uso de ciertas funciones y la reproduccion de imagenes....pero es que me he preocupado duarante meses por aprender otros conceptos y explorar temas como ficheros y directoris entre otros y ya me va siendo falta tener domino sobre imagenes principalmente.Espero que alguien se digne a ayudarme :| .
M0skit0 quiza?
Saludos a todos de parte de una cabeza atormentada por sus constantes dudas! :oki:

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Gran barrera (Imagenes y prx's)

Mensaje por m0skit0 »

Para serte sincero, yo no tengo mucha idea de manejar imágenes y librerías gráficas (aunque hice algunos pinitos en PC hace tiempo). Si soulless se pasa por aquí, seguro que te ayuda encantado, él sabe más que yo en estos asuntos.

En cuanto a lo de parar el juego, no es tarea fácil. Tienes que encontrar los hilos que haya creado el juego y suspenderlos, luego volver a ponerlos en marcha. Si lo haces desde un hilo kernel, puedes usar sceKernelSuspendAllUserThreads, que suspende todo los hilos de usuario. Pero para volver a activarlos hay que hacerlo de uno en uno.

Darthvader38 escribió:no puedo evitar el constante parpadeo

Eso se llama flickering. Es porque actualizas mal la pantalla. Estás actualizando todo el rato, de ahí el flickering (el parpadeo). Deberías esperar al final del refresco vertical (usando sceDisplayWaitVblank) y actualizar la pantalla en ese momento. Si no sabes qué es el refresco vertical, te aconsejo que busques un poco por Google cómo funcionan las pantallas ;)

Darthvader38 escribió:un thread con prioridad 1

No uses prioridades tan altas. Con 0x10 ya tienes de sobra.
Imagen

Avatar de Usuario
Darthvader38
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 24 Ene 2010, 06:39

Re: Gran barrera (Imagenes y prx's)

Mensaje por Darthvader38 »

:oki: Muchas gracias M0skit0! :oki: . Ya lo de administrar los thread y reponerlos me encargo yo.
Mientras estuve programando cosas tontas en LUA aprendi en concepto y a usarlo el "Verticalblank", a decir verdad fue tonto que no me acordara de esta cuestion si ya antes habia hecho su uso en otro lenguaje, pero bueno mejor tarde que nunca. :oki:

Ahora solo me queda una duda....el tema de las imagenes...esperare a que Soulless se quiera aparecer por aqui y a ver que pasa! :P
Saludos a todos!!! Larga vida a este sitio! :adora:

soulless
Desarrollador
Desarrollador
Mensajes: 64
Registrado: 23 Oct 2009, 07:56

Re: Gran barrera (Imagenes y prx's)

Mensaje por soulless »

:? nunca he trabajado con imágenes desde plugins/prxs, pero te recomiendo que aprendas a utilizar GU (pspgu.h y pspgum.h), te aseguro que sera más fácil presentar imágenes desde un prx. En estos días estoy un poco fuera de tono con todo lo que tiene que ver con actividad mental (incluída la programación :( ), a ver si preparo algunas pruebas sobre esto y me paso por aquí a dejar los resultados.
"Quiero irme cuando quiero. Es de mal gusto prolongar artificialmente la vida. He hecho mi parte, es hora de irse. Yo lo haré con elegancia." -Albert Einstein.-

Avatar de Usuario
Darthvader38
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 24 Ene 2010, 06:39

Re: Gran barrera (Imagenes y prx's)

Mensaje por Darthvader38 »

Gracias Soulless!
Asi que la respuesta puede ser pspgu.h y pspgum.h.....bien !!! :oki:
ya tengo entonces donde buscar!! :D
Saludos!!! :oki:

soulless
Desarrollador
Desarrollador
Mensajes: 64
Registrado: 23 Oct 2009, 07:56

Re: Gran barrera (Imagenes y prx's)

Mensaje por soulless »

Lo suyo sería algo así:
-configurar el contexto de GU de manera ortogonal.
-crear un plano.
-cargar una textura (que vendría a ser la imagen que quieres mostrar).
-aplicarle la textura al plano.
-renderizar dicho plano.

Claro que desde un plugin hay cosas que tendrás que tomarlas en cuenta de acuerdo a si quieres sobreponer la imagen sobre lo que ya este dibujado o no.
"Quiero irme cuando quiero. Es de mal gusto prolongar artificialmente la vida. He hecho mi parte, es hora de irse. Yo lo haré con elegancia." -Albert Einstein.-

Avatar de Usuario
Darthvader38
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 24 Ene 2010, 06:39

Re: Gran barrera (Imagenes y prx's)

Mensaje por Darthvader38 »

Si Soulless esa es la idea, que se superponga por encima de lo que se esta mostrando en pantalla!
Gracias! ya has moldeado la idea de lo que deberia hacer usando Gu. Hare mis pruebas y si tengo dudas aparece de seguro. :lol:

Saludos a todos!!!!!!! :D

Responder