#include "common.h" #include "nu/nusys.h" extern DECLARE_STACK(nuStackGfxThread, NU_GFX_STACK_SIZE); /* 1B3E0 8008AFE0 */ void gfxThread(void* arg0) { NUScClient gfxClient; NUScMsg* mesgType; s16 temp_v0; osCreateMesgQueue(&nuGfxMesgQ, nuGfxMesgBuf, NU_GFX_MESGS); nuScAddClient(&gfxClient, &nuGfxMesgQ, NU_SC_RETRACE_MSG | NU_SC_PRENMI_MSG); while(1) { osRecvMesg(&nuGfxMesgQ, (OSMesg)&mesgType, OS_MESG_BLOCK); temp_v0 = *mesgType; switch(temp_v0) { case NU_SC_RETRACE_MSG: if (nuGfxFunc != NULL) { nuGfxFunc(nuGfxTaskSpool); } break; case NU_SC_PRENMI_MSG: if(nuGfxPreNMIFunc != NULL) { nuGfxPreNMIFunc(); } break; } } } void nuGfxThreadStart(void) { osCreateThread(&nuGfxThread, 4, gfxThread, NULL, STACK_START(nuStackGfxThread), 0x32); osStartThread(&nuGfxThread); }