2019-08-25 00:46:40 -04:00
|
|
|
#ifndef _GAME_H_
|
|
|
|
#define _GAME_H_
|
|
|
|
|
|
|
|
#include "memory.h"
|
2019-10-05 15:08:05 -04:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
struct DemoInput
|
2019-10-05 15:08:05 -04:00
|
|
|
{
|
2019-11-03 14:36:27 -05:00
|
|
|
u8 timer; // time until next input. if this value is 0, it means the demo is over
|
2019-10-05 15:08:05 -04:00
|
|
|
s8 rawStickX;
|
|
|
|
s8 rawStickY;
|
2019-11-03 14:36:27 -05:00
|
|
|
u8 buttonMask;
|
2019-08-25 00:46:40 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
extern struct Controller gControllers[3];
|
|
|
|
extern OSContStatus gControllerStatuses[4];
|
|
|
|
extern OSContPad gControllerPads[4];
|
|
|
|
extern OSMesgQueue gGameVblankQueue;
|
|
|
|
extern OSMesgQueue D_80339CB8;
|
|
|
|
extern OSMesg D_80339CD0;
|
|
|
|
extern OSMesg D_80339CD4;
|
|
|
|
extern struct VblankHandler gGameVblankHandler;
|
2019-11-03 14:36:27 -05:00
|
|
|
extern uintptr_t gPhysicalFrameBuffers[3];
|
|
|
|
extern uintptr_t gPhysicalZBuffer;
|
2019-08-25 00:46:40 -04:00
|
|
|
extern void *D_80339CF0;
|
|
|
|
extern void *D_80339CF4;
|
|
|
|
extern struct SPTask *gGfxSPTask;
|
|
|
|
extern Gfx *gDisplayListHead;
|
|
|
|
extern u8 *gGfxPoolEnd;
|
|
|
|
extern struct GfxPool *gGfxPool;
|
|
|
|
extern u8 gControllerBits;
|
|
|
|
extern s8 gEepromProbe;
|
|
|
|
|
|
|
|
extern void (*D_8032C6A0)(void);
|
|
|
|
extern struct Controller *gPlayer1Controller;
|
|
|
|
extern struct Controller *gPlayer2Controller;
|
|
|
|
extern struct Controller *gPlayer3Controller;
|
|
|
|
extern struct DemoInput *gCurrDemoInput;
|
|
|
|
extern u16 gDemoInputListID;
|
|
|
|
extern struct DemoInput gRecordedDemoInput;
|
|
|
|
|
|
|
|
extern void init_controllers(void);
|
|
|
|
extern void setup_game_memory(void);
|
|
|
|
extern void thread5_game_loop(void *);
|
|
|
|
extern u16 func_802495B0(u32);
|
|
|
|
|
|
|
|
// this area is the demo input + the header. when the demo is loaded in, there is a header the size
|
|
|
|
// of a single word next to the input list. this word is the current ID count.
|
|
|
|
extern struct MarioAnimation D_80339D10;
|
2019-11-03 14:36:27 -05:00
|
|
|
extern struct MarioAnimation gDemo;
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
extern u8 gMarioAnims[];
|
|
|
|
extern u8 gDemoInputs[];
|
|
|
|
|
|
|
|
#endif
|