Decompile `nuScEventHandler`
This commit is contained in:
parent
05b93a6faa
commit
0f740013fc
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include "nu/nusys.h"
|
||||
|
||||
void nuScEventBroadcast(NUScMsg* msg);
|
||||
|
||||
INCLUDE_ASM(const s32, "_ob_past_brick", nuScCreateScheduler);
|
||||
|
||||
OSMesgQueue* nuScGetAudioMQ() {
|
||||
|
|
@ -12,7 +14,49 @@ OSMesgQueue* nuScGetGfxMQ() {
|
|||
return &nusched.graphicsRequestMQ;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "_ob_past_brick", nuScEventHandler);
|
||||
void nuScEventHandler(void) {
|
||||
OSMesg msg;
|
||||
s32 beforeResetFrame;
|
||||
|
||||
nuScRetraceCounter = 0;
|
||||
|
||||
while (TRUE) {
|
||||
osRecvMesg(&nusched.retraceMQ, &msg, OS_MESG_BLOCK);
|
||||
|
||||
switch ((s32) msg) {
|
||||
case 666:
|
||||
nuScRetraceCounter++;
|
||||
|
||||
nuScEventBroadcast(&nusched.retraceMsg);
|
||||
|
||||
if (nuScPreNMIFlag){
|
||||
if (beforeResetFrame){
|
||||
beforeResetFrame--;
|
||||
} else {
|
||||
nuScPreNMIFlag |= NU_SC_BEFORE_RESET;
|
||||
osAfterPreNMI();
|
||||
osViSetYScale(1.0);
|
||||
__calls_osViBlack(TRUE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 669:
|
||||
nuScPreNMIFlag = NU_SC_PRENMI_GET;
|
||||
nuScEventBroadcast(&nusched.prenmiMsg);
|
||||
|
||||
if (nuScPreNMIFunc != NULL){
|
||||
(*nuScPreNMIFunc)();
|
||||
}
|
||||
|
||||
beforeResetFrame = (nusched.frameRate / 2) / nusched.retraceCount - 3;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void nuScAddClient(NUScClient* client, OSMesgQueue* queue, NUScMsg type) {
|
||||
s32 mask;
|
||||
|
|
|
|||
Loading…
Reference in New Issue