mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-08 11:47:03 -04:00
7154ac08e1
* initial freezard actor struct + setActionMode OK * daE_FZ_Draw * setReflectAngle * mBoundSoundset * daE_FZ_Execute & execute * demoDelete * daE_FZ_Delete & _delete * CreateHeap * useHeapInit * cc_set * mtx_set * action WIP * way_gake_check * executeRollMove * executeMove * draw WIP * executeDamage * checkpoint * create * checkpoint * daE_FZ_c::executeWait * checkpoint * daE_FZ_c::damage_check almost done * rm asm * rm headers * setup_profile WIP + doxygen update * fix merge issues * docs fix? * fix2 * doxygen updates * setup g_profile_E_FZ, profile setup script WIP * update github actions * update progress.md
57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h"
|
|
#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
|
|
#include "trk.h"
|
|
|
|
/* 8036CB20-8036CC18 367460 00F8+00 0/0 1/1 0/0 .text TRKNubMainLoop */
|
|
void TRKNubMainLoop(void) {
|
|
void* msg;
|
|
TRKEvent event;
|
|
BOOL isShutdownRequested;
|
|
BOOL isNewInput;
|
|
|
|
isShutdownRequested = FALSE;
|
|
isNewInput = FALSE;
|
|
while (isShutdownRequested == FALSE) {
|
|
if (TRKGetNextEvent(&event) != FALSE) {
|
|
isNewInput = FALSE;
|
|
|
|
switch (event.eventType) {
|
|
case NUBEVENT_Null:
|
|
break;
|
|
|
|
case NUBEVENT_Request:
|
|
msg = TRKGetBuffer(event.msgBufID);
|
|
TRKDispatchMessage(msg);
|
|
break;
|
|
|
|
case NUBEVENT_Shutdown:
|
|
isShutdownRequested = TRUE;
|
|
break;
|
|
|
|
case NUBEVENT_Breakpoint:
|
|
case NUBEVENT_Exception:
|
|
TRKTargetInterrupt(&event);
|
|
break;
|
|
|
|
case NUBEVENT_Support:
|
|
TRKTargetSupportRequest();
|
|
break;
|
|
}
|
|
|
|
TRKDestructEvent(&event);
|
|
continue;
|
|
}
|
|
|
|
if ((isNewInput == FALSE) || (*(u8*)gTRKInputPendingPtr != '\0')) {
|
|
isNewInput = TRUE;
|
|
TRKGetInput();
|
|
continue;
|
|
}
|
|
|
|
if (TRKTargetStopped() == FALSE) {
|
|
TRKTargetContinue();
|
|
}
|
|
isNewInput = FALSE;
|
|
}
|
|
}
|