bool AppRunning() { if(!OSIsMainCore()) { ProcUISubProcessMessages(true); } else { ProcUIStatus status = ProcUIProcessMessages(true); if(status == PROCUI_STATUS_EXITING) { // Being closed, deinit things and prepare to exit isAppRunning = false; if(initialized) { initialized = false; screenDeinit(); memoryRelease(); } ProcUIShutdown(); } else if(status == PROCUI_STATUS_RELEASE_FOREGROUND) { // Free up MEM1 to next foreground app, etc. initialized = false; screenDeinit(); memoryRelease(); ProcUIDrawDoneRelease(); } else if(status == PROCUI_STATUS_IN_FOREGROUND) { // Reallocate MEM1, reinit screen, etc. if(!initialized) { initialized = true; memoryInitialize(); screenInit(); } } } return isAppRunning; }
BOOL WHBProcIsRunning() { ProcUIStatus status; if (sMainCore != OSGetCoreId()) { ProcUISubProcessMessages(TRUE); return sRunning; } status = ProcUIProcessMessages(TRUE); if (status == PROCUI_STATUS_EXITING) { WHBProcStopRunning(); } else if (status == PROCUI_STATUS_RELEASE_FOREGROUND) { ProcUIDrawDoneRelease(); } if (!sRunning) { ProcUIShutdown(); } return sRunning; }