Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/src/game/main.h
7858 views
1
#ifndef MAIN_H
2
#define MAIN_H
3
4
#include "config.h"
5
6
struct RumbleData {
7
u8 unk00;
8
u8 unk01;
9
s16 unk02;
10
s16 unk04;
11
};
12
13
struct StructSH8031D9B0 {
14
s16 unk00;
15
s16 unk02;
16
s16 unk04;
17
s16 unk06;
18
s16 unk08;
19
s16 unk0A;
20
s16 unk0C;
21
s16 unk0E;
22
};
23
24
extern OSThread D_80339210;
25
extern OSThread gIdleThread;
26
extern OSThread gMainThread;
27
extern OSThread gGameLoopThread;
28
extern OSThread gSoundThread;
29
#if ENABLE_RUMBLE
30
extern OSThread gRumblePakThread;
31
32
extern s32 gRumblePakPfs; // Actually an OSPfs but we don't have that header yet
33
#endif
34
35
extern OSMesgQueue gPIMesgQueue;
36
extern OSMesgQueue gIntrMesgQueue;
37
extern OSMesgQueue gSPTaskMesgQueue;
38
#if ENABLE_RUMBLE
39
extern OSMesgQueue gRumblePakSchedulerMesgQueue;
40
extern OSMesgQueue gRumbleThreadVIMesgQueue;
41
#endif
42
extern OSMesg gDmaMesgBuf[1];
43
extern OSMesg gPIMesgBuf[32];
44
extern OSMesg gSIEventMesgBuf[1];
45
extern OSMesg gIntrMesgBuf[16];
46
extern OSMesg gUnknownMesgBuf[16];
47
extern OSIoMesg gDmaIoMesg;
48
extern OSMesg gMainReceivedMesg;
49
extern OSMesgQueue gDmaMesgQueue;
50
extern OSMesgQueue gSIEventMesgQueue;
51
#if ENABLE_RUMBLE
52
extern OSMesg gRumblePakSchedulerMesgBuf[1];
53
extern OSMesg gRumbleThreadVIMesgBuf[1];
54
55
extern struct RumbleData gRumbleDataQueue[3];
56
extern struct StructSH8031D9B0 gCurrRumbleSettings;
57
#endif
58
59
extern struct VblankHandler *gVblankHandler1;
60
extern struct VblankHandler *gVblankHandler2;
61
extern struct SPTask *gActiveSPTask;
62
extern u32 gNumVblanks;
63
extern s8 gResetTimer;
64
extern s8 gNmiResetBarsTimer;
65
extern s8 gDebugLevelSelect;
66
extern s8 D_8032C650;
67
extern s8 gShowProfiler;
68
extern s8 gShowDebugText;
69
70
void set_vblank_handler(s32 index, struct VblankHandler *handler, OSMesgQueue *queue, OSMesg *msg);
71
void dispatch_audio_sptask(struct SPTask *spTask);
72
void exec_display_list(struct SPTask *spTask);
73
74
#endif // MAIN_H
75
76