tp/include/d/d_tresure.h

74 lines
2.6 KiB
C++

#ifndef D_D_TRESURE_H
#define D_D_TRESURE_H
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
class dTres_c {
public:
struct data_s {
/* 0x00 */ u8 mNo;
/* 0x01 */ s8 mRoomNo;
/* 0x02 */ u8 mStatus;
/* 0x03 */ u8 mArg1;
/* 0x04 */ Vec mPos;
/* 0x10 */ u8 mSwBit;
/* 0x11 */ u8 mType;
/* 0x12 */ u8 mArg2;
/* 0x13 */ u8 mAngleY;
};
class typeGroupData_c {
public:
data_s* getDataPointer() { return &mData; }
typeGroupData_c* getNextDataPointer() const { return mNextData; }
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
u8 getNo() const { return mData.mNo; }
u8 getStatus() const { return mData.mStatus; }
void setStatus(u8 status) { mData.mStatus = status; }
void setRoomNo(s8 roomNo) { mData.mRoomNo = roomNo; }
s8 getRoomNo() const { return mData.mRoomNo; }
void setPos(const Vec& pos) { mData.mPos = pos; }
u8 getSwBit() const { return mData.mSwBit; }
const Vec* getPos() const { return &mData.mPos; }
/* 0x00 */ data_s mData;
/* 0x14 */ typeGroupData_c* mNextData;
/* 0x18 */ u8 mTypeGroupNo;
}; // Size: 0x1C
struct list_class {
/* 0x0 */ typeGroupData_c* field_0x0;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 mNumber;
};
/* 8009BBD8 */ static int createWork();
/* 8009BC18 */ static void create();
/* 8009BC60 */ static void remove();
/* 8009BC6C */ static void reset();
/* 8009BCB4 */ static void addData(dTres_c::list_class*, s8);
/* 8009BE28 */ static void checkTreasureBox(dTres_c::data_s*);
/* 8009C168 */ static void onStatus(u8, int, int);
/* 8009C1F0 */ static void offStatus(u8, int, int);
/* 8009C27C */ static int getBossIconFloorNo(int*);
/* 8009C360 */ static typeGroupData_c* getFirstData(u8);
/* 8009C39C */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
/* 8009C3B4 */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*);
/* 8009C3CC */ static void setPosition(int, u8, Vec const*, int);
/* 8009C49C */ static int getTypeGroupNoToType(u8);
/* 8009C4B0 */ static int getTypeToTypeGroupNo(u8);
static int getTypeGroupNumber(int index) {
return mTypeGroupListAll[index].mNumber;
}
static u8 const typeToTypeGroup[17][2];
static list_class mTypeGroupListAll[17];
static typeGroupData_c* mTypeGroupData;
static u16 mNum;
};
#endif /* D_D_TRESURE_H */