mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-17 20:42:23 +00:00
* cleanup libultra * fixes - use quotes instead of <> for includes - add macros for zelda specific thread priorities - fix Makefile - properly format the remaining pfs structs * fix button macros + add CHECK_BTN_ANY/CHECK_BTN_ALL * remove ULTRA_ABS * fix includes * update z_player.c/z_lib.c + run format.sh * merge upstream/master * fix include in En_Goroiwa * fix includes
29 lines
612 B
C
29 lines
612 B
C
#include "global.h"
|
|
|
|
s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flag) {
|
|
register s32 s0 = __osDisableInt();
|
|
|
|
while (mq->validCount == 0) {
|
|
if (flag == OS_MESG_NOBLOCK) {
|
|
__osRestoreInt(s0);
|
|
return -1;
|
|
}
|
|
__osRunningThread->state = 8;
|
|
__osEnqueueAndYield(mq);
|
|
}
|
|
|
|
if (msg != NULL) {
|
|
*msg = mq->msg[mq->first];
|
|
}
|
|
|
|
mq->first = (mq->first + 1) % mq->msgCount;
|
|
mq->validCount--;
|
|
|
|
if (mq->fullqueue->next != NULL) {
|
|
osStartThread(__osPopThread(&mq->fullqueue));
|
|
}
|
|
|
|
__osRestoreInt(s0);
|
|
|
|
return 0;
|
|
}
|