mirror of
https://github.com/zeldaret/tp
synced 2026-09-08 11:36:13 -04:00
a61e3491f7
* 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;
|
|
}
|
|
}
|