Anuncios Google

Problema con vlf, novato

El mensaje inferior no me funka. Al escojer una opcion se me cala la psp

#include <pspsdk.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <pspsuspend.h>
#include <psppower.h>
#include <pspreg.h>
#include <psprtc.h>
#include <psputils.h>
#include <pspgu.h>
#include <pspgum.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdarg.h>
#include <malloc.h>
 
#include <vlf.h>
 
 
PSP_MODULE_INFO("HelloWorldVLF", 0, 1, 0);
 
//Carga en kernel superior
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);
 
//Callbacks
 
int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}
 
int CallbackThread(SceSize args, void *argp) {
          int cbid;
 
          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);
 
          sceKernelSleepThreadCB();
 
          return 0;
}
 
 
int SetupCallbacks(void) {
          int thid = 0;
 
          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid >= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }
 
          return thid;
} 
 
void MainMenu(int sel);
int text;
VlfProgressBar barra; 
int option = 0; // Para recordar la opcion seleccionada
 
//BackToMainMenu
int BackToMainMenu()
{
	// Borramos los textos
    vlfGuiRemoveText(text);
 
    // Quitamos mensaje inferior
    vlfGuiCancelBottomDialog();
 
    // Volvemos  menu principal (opcion 1)
	  MainMenu(option);
 
    return VLF_EV_RET_NOTHING;
}
 
//ExampleSelection
void ExampleSelection(int opt)
{
	//Salida de la primeira opcion
	if (opt == 0) {
		text = vlfGuiAddText(80, 100, "Has escogido la primera opción.");
    option = opt;
	}
	//Salida de la segunda opcion
	else {
		barra = vlfGuiAddProgressBar(150);
		vlfGuiProgressBarSetProgress(barra, 25);
		sceKernelDelayThread(1*1000*100);
		vlfGuiProgressBarSetProgress(barra, 50);
		sceKernelDelayThread(1*1000*100);
		vlfGuiProgressBarSetProgress(barra, 75);
		sceKernelDelayThread(1*1000*100);
		vlfGuiProgressBarSetProgress(barra, 100);
		sceKernelDelayThread(1*1000*100);
 
		option = opt;
	}
	//Mensaje inferior
	vlfGuiBottomDialog(VLF_DI_BACK, -1, 1, 0, VLF_DEFAULT, BackToMainMenu);
}
 
//OnMainMenuSelect
int OnMainMenuSelect(int sel)
{
	switch(sel)
	{
		//Opcion 0
		case 0:
			vlfGuiCancelBottomDialog();//Borra mensaje inferior
			ExampleSelection(0);//Carga opcion 0
		break;
 
		//Opcion 1
		case 1:
			vlfGuiCancelBottomDialog();//Borra mensaje inferior
			ExampleSelection(1);//Carga opcion 1
		break;
 
		//Opcion 2
		case 2:
			sceKernelExitGame();//Salir del juego
		break;
	}
	return VLF_EV_RET_REMOVE_OBJECTS | VLF_EV_RET_REMOVE_HANDLERS;
}
 
//MainMenu
void MainMenu(int sel)
{
	//Texto del menu
	char *items[] = {"Test mensaxe de error", "Test barra de progreso", "Sair XMB"};
 
	//Establecemos menu central
	vlfGuiCentralMenu(3, items, sel, OnMainMenuSelect, 0, 0);
	//Mensaje inferior
	vlfGuiBottomDialog(-1, VLF_DI_ENTER, 1, 0, VLF_DEFAULT, NULL);
}
 
//AppMain
int app_main()
{
	int titulo = vlfGuiAddText(0, 0, "VLF Menu v1 by Carlos");// Variable para titulo
	int icono = vlfGuiAddPictureResource("sysconf_plugin", "tex_bar_init_icon", 0, 0);//Variable para icono barra superior
 
	//Ejecutar callbacks
	SetupCallbacks();
 
	//Color de fondo
	vlfGuiSetBackgroundPlane(0x3104B4);
 
	//Mostrar reloj y bateria
	vlfGuiSystemSetup(1, 1, 1);
 
	//Barra superior
	vlfGuiSetTitleBar(titulo, icono, 1, 0);
 
	//Mostramos Menu
	MainMenu(0);
 
	// Bucle principal
    while(1)
    {
        vlfGuiDrawFrame(); // Mostramos todo por pantalla
    }
 
    sceKernelSleepThread();
    return 0;
}

Michisimas gracias

 

 

 

 

 


Anuncios Google