mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-27 16:12:48 -04:00
587d12e3cb
* 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>
38 lines
783 B
C
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;
|
|
}
|