int LPP_AdhocDialogInit(int type, char *name) { memset(&adhocparam, 0, sizeof(adhocparam)); kuKernelMemcpy(&adhocparam.name, name, sizeof(adhocparam.name)); adhocparam.timeout = 60; memset(&lpp_UtilsNetconfData, 0, sizeof(lpp_UtilsNetconfData)); lpp_UtilsNetconfData.base.size = sizeof(lpp_UtilsNetconfData); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_LANGUAGE, &lpp_UtilsNetconfData.base.language); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_UNKNOWN, &lpp_UtilsNetconfData.base.buttonSwap); lpp_UtilsNetconfData.base.graphicsThread = 17; lpp_UtilsNetconfData.base.accessThread = 19; lpp_UtilsNetconfData.base.fontThread = 18; lpp_UtilsNetconfData.base.soundThread = 16; lpp_UtilsNetconfData.action = type; lpp_UtilsNetconfData.adhocparam = &adhocparam; int res = sceUtilityNetconfInitStart(&lpp_UtilsNetconfData); if(res == 0) return 1; return res; }
int netDialog() { int done = 0; pspUtilityNetconfData data; memset(&data, 0, sizeof(data)); data.base.size = sizeof(data); data.base.language = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; data.base.buttonSwap = PSP_UTILITY_ACCEPT_CROSS; data.base.graphicsThread = 17; data.base.accessThread = 19; data.base.fontThread = 18; data.base.soundThread = 16; data.action = PSP_NETCONF_ACTION_CONNECTAP; struct pspUtilityNetconfAdhoc adhocparam; memset(&adhocparam, 0, sizeof(adhocparam)); data.adhocparam = &adhocparam; sceUtilityNetconfInitStart(&data); while(running) { guStart(); clearScreen(0xff554433); guEnd(); switch(sceUtilityNetconfGetStatus()) { case PSP_UTILITY_DIALOG_NONE: break; case PSP_UTILITY_DIALOG_VISIBLE: sceUtilityNetconfUpdate(1); break; case PSP_UTILITY_DIALOG_QUIT: sceUtilityNetconfShutdownStart(); break; case PSP_UTILITY_DIALOG_FINISHED: done = 1; break; default: break; } sceDisplayWaitVblankStart(); flipScreen(); if(done) break; } return 1; }
int oslInitNetDialog() { memset(&netConf, 0, sizeof(netConf)); netConf.base.size = sizeof(netConf); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_LANGUAGE, &netConf.base.language); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_UNKNOWN, &netConf.base.buttonSwap); netConf.base.graphicsThread = 17; netConf.base.accessThread = 19; netConf.base.fontThread = 18; netConf.base.soundThread = 16; netConf.action = PSP_NETCONF_ACTION_CONNECTAP; struct pspUtilityNetconfAdhoc adhocparam; memset(&adhocparam, 0, sizeof(adhocparam)); netConf.adhocparam = &adhocparam; int res = sceUtilityNetconfInitStart(&netConf); //<-- STAS: The error code shouldn't be ignored ! if (!res) dialogType = OSL_DIALOG_NETCONF; return res; //<-- STAS END --> }
int LPP_UtilsNetDialogInit(void) { memset(&lpp_UtilsNetconfData, 0, sizeof(lpp_UtilsNetconfData)); lpp_UtilsNetconfData.base.size = sizeof(lpp_UtilsNetconfData); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_LANGUAGE, &lpp_UtilsNetconfData.base.language); sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_UNKNOWN, &lpp_UtilsNetconfData.base.buttonSwap); lpp_UtilsNetconfData.base.graphicsThread = 17; lpp_UtilsNetconfData.base.accessThread = 19; lpp_UtilsNetconfData.base.fontThread = 18; lpp_UtilsNetconfData.base.soundThread = 16; lpp_UtilsNetconfData.action = 0; struct pspUtilityNetconfAdhoc adhocparam; memset(&adhocparam, 0, sizeof(adhocparam)); lpp_UtilsNetconfData.adhocparam = &adhocparam; int res = sceUtilityNetconfInitStart(&lpp_UtilsNetconfData); if(res == 0) return 1; return res; }
/* configuration dialog return 0 when connected * 1 when cancelled (ie back) */ int ui_network_dialog_run (UI * ui) { pspUtilityNetconfData conf; struct pspUtilityNetconfAdhoc adhoc_params; unsigned int swap_count = 0; SceCtrlLatch latch; memset(&conf, 0, sizeof (conf)); memset(&adhoc_params, 0, sizeof (adhoc_params)); conf.base.size = sizeof (conf); conf.base.language = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; conf.base.buttonSwap = PSP_UTILITY_ACCEPT_CROSS; /* Thread priorities */ conf.base.graphicsThread = 17; conf.base.accessThread = 19; conf.base.fontThread = 18; conf.base.soundThread = 16; conf.action = PSP_NETCONF_ACTION_CONNECTAP; conf.adhocparam = &adhoc_params; sceUtilityNetconfInitStart (&conf); 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 (sceUtilityNetconfGetStatus ()) { case PSP_UTILITY_DIALOG_NONE: break; case PSP_UTILITY_DIALOG_VISIBLE: sceUtilityNetconfUpdate (1); break; case PSP_UTILITY_DIALOG_QUIT: sceUtilityNetconfShutdownStart (); 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); return conf.base.result; }