Files
mm/src/code/z_nmi_buff.c
T
Anghelo Carvajal 587d12e3cb Yet another header cleanup (#1284)
* thread, scene and interface

* non header stuff

* fix missing stuff

* z64sound_source.h

* collision_check.h

* Update include/z64sound_source.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64scene.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64thread.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

* review

* Update src/code/z_collision_check.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sound_source.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2023-06-18 16:43:47 +10:00

38 lines
783 B
C

#include "global.h"
#define COLD_RESET 0
#define NMI 1
typedef struct {
/* 0x00 */ u32 resetting;
/* 0x04 */ u32 resetCount;
/* 0x08 */ OSTime duration;
/* 0x10 */ OSTime resetTime;
} NmiBuff; // size >= 0x18
NmiBuff* gNMIBuffer;
void Nmi_Init(void) {
gNMIBuffer = (NmiBuff*)osAppNmiBuffer;
gNMIBuffer->resetting = false;
if (osResetType == COLD_RESET) {
gNMIBuffer->resetCount = 0;
gNMIBuffer->duration = 0;
} else {
gNMIBuffer->resetCount++;
gNMIBuffer->duration += gNMIBuffer->resetTime;
}
gNMIBuffer->resetTime = 0;
}
void Nmi_SetPrenmiStart(void) {
gNMIBuffer->resetting = true;
gNMIBuffer->resetTime = osGetTime();
}
u32 Nmi_GetPrenmiHasStarted(void) {
return gNMIBuffer->resetting;
}