Example #1
0
int LPP_UtilsMsgDialogInit(int options, const char *text, ...)
{
    char buffer[512];
    va_list ap;

    va_start(ap, text);
    vsnprintf(buffer, 512, text, ap);
    va_end(ap);

    memset(&lpp_UtilsMsgDialogParams, 0, sizeof(lpp_UtilsMsgDialogParams));
    lpp_UtilsMsgDialogParams.base.size = sizeof(lpp_UtilsMsgDialogParams);

    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_LANGUAGE, &lpp_UtilsMsgDialogParams.base.language);
    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_UNKNOWN, &lpp_UtilsMsgDialogParams.base.buttonSwap);

    lpp_UtilsMsgDialogParams.base.graphicsThread = 17;
    lpp_UtilsMsgDialogParams.base.accessThread = 19;
    lpp_UtilsMsgDialogParams.base.fontThread = 18;
    lpp_UtilsMsgDialogParams.base.soundThread = 16;

    lpp_UtilsMsgDialogParams.mode = PSP_UTILITY_MSGDIALOG_MODE_TEXT;
    lpp_UtilsMsgDialogParams.options = PSP_UTILITY_MSGDIALOG_OPTION_TEXT;
    lpp_UtilsMsgDialogParams.options |= options;

    strcpy(lpp_UtilsMsgDialogParams.message, buffer);

    int res = sceUtilityMsgDialogInitStart(&lpp_UtilsMsgDialogParams);
    if(res == 0) return 1;

    return(res);
}
Example #2
0
int oslInitErrorDialog(const unsigned int error)
{
    ConfigureDialog(&dialog, sizeof(dialog));
    dialog.mode = PSP_UTILITY_MSGDIALOG_MODE_ERROR;
	dialog.options = PSP_UTILITY_MSGDIALOG_OPTION_ERROR;
    dialog.errorValue = error;

    int res = sceUtilityMsgDialogInitStart(&dialog);		//<-- STAS: The error code shouldn't be ignored !
    if (!res) dialogType = OSL_DIALOG_ERROR;
    return res;												//<-- STAS END -->
}
Example #3
0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Public API
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int oslInitMessageDialog(const char *message, int enableYesno){
    ConfigureDialog(&dialog, sizeof(dialog));
    dialog.mode = PSP_UTILITY_MSGDIALOG_MODE_TEXT;
	dialog.options = PSP_UTILITY_MSGDIALOG_OPTION_TEXT;

	if(enableYesno)
		dialog.options |= PSP_UTILITY_MSGDIALOG_OPTION_YESNO_BUTTONS|PSP_UTILITY_MSGDIALOG_OPTION_DEFAULT_NO;

    strcpy(dialog.message, message);
    int res = sceUtilityMsgDialogInitStart(&dialog);		//<-- STAS: The error code shouldn't be ignored !
    if (!res) dialogType = OSL_DIALOG_MESSAGE;
    return res;												//<-- STAS END -->
}
Example #4
0
int LPP_UtilsMsgDialogErrorInit(u32 error)
{
    memset(&lpp_UtilsMsgDialogParams, 0, sizeof(lpp_UtilsMsgDialogParams));
    lpp_UtilsMsgDialogParams.base.size = sizeof(lpp_UtilsMsgDialogParams);

    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_LANGUAGE, &lpp_UtilsMsgDialogParams.base.language);
    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_UNKNOWN, &lpp_UtilsMsgDialogParams.base.buttonSwap);

    lpp_UtilsMsgDialogParams.base.graphicsThread = 17;
    lpp_UtilsMsgDialogParams.base.accessThread = 19;
    lpp_UtilsMsgDialogParams.base.fontThread = 18;
    lpp_UtilsMsgDialogParams.base.soundThread = 16;

    lpp_UtilsMsgDialogParams.mode = PSP_UTILITY_MSGDIALOG_MODE_ERROR;
    lpp_UtilsMsgDialogParams.options = PSP_UTILITY_MSGDIALOG_OPTION_ERROR;
    lpp_UtilsMsgDialogParams.errorValue = error;

    int res = sceUtilityMsgDialogInitStart(&lpp_UtilsMsgDialogParams);
    if(res == 0) return 1;

    return(res);
}
Example #5
0
static void ShowMessageDialog(const char *message, int enableYesno)
{
    clearScreen(0);
    flipScreen();
    clearScreen(0);
    flipScreen();
    ConfigureDialog(&dialog, sizeof(dialog));
    dialog.mode = PSP_UTILITY_MSGDIALOG_MODE_TEXT;
    dialog.options = PSP_UTILITY_MSGDIALOG_OPTION_TEXT;

    if(enableYesno)
        dialog.options |= PSP_UTILITY_MSGDIALOG_OPTION_YESNO_BUTTONS|PSP_UTILITY_MSGDIALOG_OPTION_DEFAULT_NO;        
    
    strcpy(dialog.message, message);

    sceUtilityMsgDialogInitStart(&dialog);

    for(;;) {


    switch(sceUtilityMsgDialogGetStatus()) {

    case 2:
        sceUtilityMsgDialogUpdate(1);
        break;
        
    case 3:
        sceUtilityMsgDialogShutdownStart();
        break;
        
    case 0:
        return;
        
    }

    sceDisplayWaitVblankStart();
    }
}
Example #6
0
File: ui.c Project: kradhub/pspdc
void
ui_msg_dialog (UI * ui, const char * msg)
{
	pspUtilityMsgDialogParams params;
	unsigned int swap_count = 0;
	SceCtrlLatch latch;

	memset (&params, 0, sizeof (params));

	params.base.size = sizeof (params);
	params.base.language = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH;
	params.base.buttonSwap = PSP_UTILITY_ACCEPT_CROSS;

	/* Thread priorities */
	params.base.graphicsThread = 17;
	params.base.accessThread = 19;
	params.base.fontThread = 18;
	params.base.soundThread = 16;

	params.mode = PSP_UTILITY_MSGDIALOG_MODE_TEXT;
	params.options = PSP_UTILITY_MSGDIALOG_OPTION_TEXT;
	snprintf (params.message, 512, msg);

	sceUtilityMsgDialogInitStart (&params);

	while (running) {
		int done = 0;

		/* directly use GU to avoid flickering with SDL */
		sceGuStart (GU_DIRECT, list);
		sceGuClearColor (0xff554433);
		sceGuClearDepth (0);
		sceGuClear (GU_COLOR_BUFFER_BIT|GU_DEPTH_BUFFER_BIT);
		sceGuFinish ();
		sceGuSync (0,0);

		switch (sceUtilityMsgDialogGetStatus ()) {
			case PSP_UTILITY_DIALOG_NONE:
				break;
			case PSP_UTILITY_DIALOG_VISIBLE:
				sceUtilityMsgDialogUpdate (1);
				break;
			case PSP_UTILITY_DIALOG_QUIT:
				sceUtilityMsgDialogShutdownStart ();
				break;
			case PSP_UTILITY_DIALOG_FINISHED:
				done = 1;
				break;
			default:
				break;
		}

		sceDisplayWaitVblankStart ();
		sceGuSwapBuffers ();
		swap_count++;

		if (done)
			break;
	}

	/* hack for SDL compatibility.
	 * if it end up on an odd buffer, SDL won't be displayed.
	 * ie SDL will display in an hidden buffer
	 */
	if (swap_count & 1)
		sceGuSwapBuffers ();

	/* message dialog seems to causes strange latch behavior, next read
	 * of latch will contains all button pressed during dialog.
	 * read one to reset it */
	sceCtrlReadLatch (&latch);
}