mirror of https://github.com/zeldaret/tp.git
70 lines
1.6 KiB
C
70 lines
1.6 KiB
C
#ifndef _REVOLUTION_HBM_H_
|
|
#define _REVOLUTION_HBM_H_
|
|
|
|
#include <revolution/kpad.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
typedef enum HBMSelectBtnNum {
|
|
HBM_SELECT_NULL = -1,
|
|
|
|
HBM_SELECT_HOMEBTN,
|
|
HBM_SELECT_BTN1,
|
|
HBM_SELECT_BTN2,
|
|
HBM_SELECT_BTN3,
|
|
HBM_SELECT_BTN4,
|
|
|
|
HBM_SELECT_MAX
|
|
} HBMSelectBtnNum;
|
|
|
|
// TODO: move this later
|
|
typedef struct MEMAllocator MEMAllocator;
|
|
|
|
typedef int HBMSoundCallback(int evt, int num);
|
|
typedef struct HBMDataInfo {
|
|
/* 0x00 */ void* layoutBuf;
|
|
/* 0x04 */ void* spkSeBuf;
|
|
/* 0x08 */ void* msgBuf;
|
|
/* 0x0C */ void* configBuf;
|
|
/* 0x10 */ void* mem;
|
|
/* 0x14 */ HBMSoundCallback* sound_callback;
|
|
/* 0x18 */ int backFlag;
|
|
/* 0x1C */ int region;
|
|
/* 0x20 */ int cursor;
|
|
/* 0x24 */ u32 memSize;
|
|
/* 0x28 */ f32 frameDelta;
|
|
/* 0x2C */ Vec2 adjust;
|
|
/* 0x34 */ MEMAllocator* pAllocator;
|
|
} HBMDataInfo; // size 0x38
|
|
|
|
typedef struct HBMKPadData {
|
|
KPADStatus* kpad;
|
|
Vec2 pos;
|
|
u32 use_devtype;
|
|
} HBMKPadData; // size 0x10
|
|
|
|
typedef struct HBMControllerData {
|
|
HBMKPadData wiiCon[WPAD_MAX_CONTROLLERS];
|
|
} HBMControllerData; // size 0x40
|
|
|
|
void HBMCreate(const HBMDataInfo* pHBInfo);
|
|
void HBMDelete(void);
|
|
void HBMInit(void);
|
|
HBMSelectBtnNum HBMCalc(const HBMControllerData* pController);
|
|
void HBMDraw(void);
|
|
HBMSelectBtnNum HBMGetSelectBtnNum(void);
|
|
void HBMSetAdjustFlag(BOOL flag);
|
|
void HBMStartBlackOut(void);
|
|
BOOL HBMIsReassignedControllers(void);
|
|
|
|
void HBMCreateSound(void* soundData, void* memBuf, u32 memSize);
|
|
void HBMDeleteSound(void);
|
|
void HBMUpdateSound(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // _REVOLUTION_HBM_H_
|