mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-14 11:00:41 +00:00
libultra cleanup (#215)
* 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
This commit is contained in:
parent
6136ee6deb
commit
174af7384d
890 changed files with 2628 additions and 5625 deletions
42
src/libultra_code_O1/osSetTimer.c
Normal file
42
src/libultra_code_O1/osSetTimer.c
Normal file
|
@ -0,0 +1,42 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 osSetTimer(OSTimer* timer, OSTime countdown, OSTime interval, OSMesgQueue* mq, OSMesg msg) {
|
||||
OSTime time;
|
||||
OSTimer* next;
|
||||
u32 count;
|
||||
u32 value;
|
||||
s32 prevInt;
|
||||
|
||||
timer->next = NULL;
|
||||
timer->prev = NULL;
|
||||
timer->interval = interval;
|
||||
if (countdown != 0) {
|
||||
timer->value = countdown;
|
||||
} else {
|
||||
timer->value = interval;
|
||||
}
|
||||
timer->mq = mq;
|
||||
timer->msg = msg;
|
||||
|
||||
prevInt = __osDisableInt();
|
||||
if (__osTimerList->next != __osTimerList) {
|
||||
|
||||
if (1) {}
|
||||
next = __osTimerList->next;
|
||||
count = osGetCount();
|
||||
value = count - __osTimerCounter;
|
||||
|
||||
if (value < next->value) {
|
||||
next->value -= value;
|
||||
} else {
|
||||
next->value = 1;
|
||||
}
|
||||
}
|
||||
|
||||
time = __osInsertTimer(timer);
|
||||
__osSetTimerIntr(__osTimerList->next->value);
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue