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