Files
tww/include/d/d_map.h
T
2023-12-15 00:01:49 -08:00

254 lines
8.2 KiB
C++

#ifndef D_MAP_H
#define D_MAP_H
#include "d/d_drawlist.h"
struct ResTIMG;
struct dmap_dmap_tlut_s;
class fopAc_ac_c;
struct map_dt_c;
class stage_map_info_class;
class dMap_2DMtMapSpcl_tex_c {
public:
dMap_2DMtMapSpcl_tex_c();
~dMap_2DMtMapSpcl_tex_c();
void init(ResTIMG*, u32, const _GXColor&);
void setScroll(f32, f32, f32, f32);
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ GXTexObj field_0x4;
/* 0x24 */ GXTlutObj field_0x24;
/* 0x30 */ GXColor field_0x30;
/* 0x34 */ u8 field_0x34[0x44 - 0x34];
/* 0x44 */ u32 field_0x44;
};
class dMap_2DMtMapSpcl_c : public dDlst_base_c {
public:
dMap_2DMtMapSpcl_c() {}
~dMap_2DMtMapSpcl_c() {}
void init(int, dMap_2DMtMapSpcl_tex_c*);
void setPos(s16, s16, s16, s16);
void draw();
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x08 */ dMap_2DMtMapSpcl_tex_c* field_0x8;
/* 0x0C */ short field_0xc;
/* 0x0E */ short field_0xe;
/* 0x10 */ short field_0x10;
/* 0x12 */ short field_0x12;
};
class dMap_2DAGBScrDsp_c : public dDlst_base_c {
public:
~dMap_2DAGBScrDsp_c() {}
void setImage(ResTIMG*, map_dt_c*);
void init(map_dt_c*, ResTIMG*, f32, f32, s16, s16, s16, s16, f32, f32, u8);
void getScrnPrm(f32, f32, int, f32, int*, f32*, f32*);
void getScrnPrmXY(f32, f32, f32, f32, int, int, f32, f32, int*, int*, f32*, f32*, f32*, f32*);
void calc_standard_prm(u16, u16, f32, f32, s16, s16, s16, s16, f32, f32, int*, int*, int*, int*, f32*, f32*, f32*, f32*, f32*, f32*);
void draw();
void setPos(s16, s16, s16, s16);
void setScale(f32, f32);
/* 0x04 */ map_dt_c* field_0x4;
/* 0x08 */ ResTIMG* field_0x8;
/* 0x0C */ GXTexObj field_0xc;
/* 0x2C */ GXTlutObj field_0x2c;
};
class dMap_RoomInfo_c {
public:
dMap_RoomInfo_c();
~dMap_RoomInfo_c();
void getRoomDspFloorNo(u8, int);
void init(dMap_RoomInfo_c*, int);
void getRoomImage(int, u8, int, ResTIMG**, ResTIMG**, map_dt_c**, stage_map_info_class**, u8*);
void makeRoomDspFloorNoTbl(int);
void roomEntryRoom(int, u8, int, u8, dMap_RoomInfo_c*, s16, s16, f32);
void Changeimage(u8, u8, int, s16, s16, f32);
void deleteRoom();
void enlagementSizeTextureCordCalc(f32*, f32*, f32*, f32*, f32, f32, f32, f32, f32, f32);
void roomDrawRoomEnlargementSize(int, int, int, int, f32, f32, f32, f32, u8);
void roomDrawRoomRealSize(int, int, int, int, f32, f32, f32, f32, f32, f32, u8);
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2[10];
/* 0x0C */ u8 field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ dMap_2DMtMapSpcl_c field_0x30;
/* 0x44 */ dMap_2DMtMapSpcl_tex_c field_0x44[1];
/* 0x8C */ dMap_2DAGBScrDsp_c field_0x8c;
/* 0xE4 */ dMap_RoomInfo_c* field_0xe4;
/* 0xE8 */ void* field_0xe8;
};
class dMap_RoomInfoCtrl_c {
public:
void roomExistenceCheck(int, dMap_RoomInfo_c**);
void getNextRoomP(dMap_RoomInfo_c*);
void ctrlEntryRoom(int, u8, int, u8, s16, s16, f32);
void deleteRoom(int);
void ctrlDrawRoomEnlargementSize(int, int, int, int, int, f32, f32, f32, f32, u8);
void ctrlDrawRoomRealSize(int, int, int, int, int, f32, f32, f32, f32, f32, f32, u8);
void init();
void checkFloorMoveImageChangeRoom(u8, u8, int, s16, s16, f32);
};
class dMap_2DSQ_c : public dDlst_base_c {
public:
~dMap_2DSQ_c();
void draw();
};
class dMap_2DTri_c : public dDlst_base_c {
public:
~dMap_2DTri_c();
void init(s16, s16, const _GXColor&, f32, f32, s16);
void draw();
void setPos(s16, s16);
};
class dMap_2DPoint_c : public dDlst_base_c {
public:
dMap_2DPoint_c();
~dMap_2DPoint_c();
void init(s16, s16, const _GXColor&, u8);
void draw();
};
class dMap_2DAGBCursor_c : public dDlst_base_c {
public:
~dMap_2DAGBCursor_c();
void init(s16, s16, const _GXColor&, u8);
void draw();
};
class dMap_2DT2_c : public dDlst_base_c {
public:
dMap_2DT2_c();
~dMap_2DT2_c();
void draw();
void init(ResTIMG*, f32, f32, f32, f32, u8, u8, u8, f32, f32, s16);
};
class dMap_Dmap_c : public dDlst_base_c {
public:
~dMap_Dmap_c();
void setTlut(dmap_dmap_tlut_s*, u8, u8, u8, f32);
void setFloorTextureOne(u8);
void init(s16, s16, s16, s16, s16, s16, s16, s16, s16, u8, u8, u8, u8, u8);
void draw();
};
class dMap_c {
public:
void clrAGBMapSendStopFlg() {}
void getIconDispMode() {}
void getMapAlpha() {}
void getMapDspPosLeftUpX() {}
void getMapDspPosLeftUpY() {}
void getMapDspSizeHeight() {}
void getMapDspSizeWidth() {}
void getNowRoom() {}
void isAGBMapSendStopFlg() {}
void isMapDispTypeEnlargementSize() {}
void isMapDispTypeRealSize() {}
void setAGBMapSendStopFlg() {}
void setIconDispMode(u8) {}
void setIconFreeAlpha(u8) {}
void setIconFreePosX(s16) {}
void setIconFreePosY(s16) {}
void setIconFreeScale(f32) {}
void setIconSelfAlpha(u8) {}
void setIconSelfScale(f32) {}
void setMapAlpha(u8) {}
void setMapChgSizeEnlargementSize() {}
void setMapChgSizeRealSize() {}
void setMapDispMode(u8) {}
void setMapDispPosLeftUpX(s16) {}
void setMapDispPosLeftUpY(s16) {}
static void create();
void isEnableEnlargementScroll();
static bool isEnableDispMap();
void getKindMapType();
static void remove();
static void setImage(int, int, f32);
static void deleteImage(int);
void setNowRoom(int);
void mapDrawIconFree(s16, s16, u8);
void mapDrawIconSelf(s16, s16, u8);
void mapDrawFrame(u8);
void mapDrawEnlargementSize(f32, f32, f32, f32, u8);
void mapDrawRealSize(f32, f32, u8);
static void mapAGBSendIslandData();
void setPlayerStayAgbMapTypeNow(f32, f32);
void agbMapNoSet(u8, u8);
void agbMapNoSetCall();
void agbIsMsgSend();
void agbResetCursor();
void agbScrollX();
void agbScrollY();
void agbFlashCheck();
void agbIsActive();
void isInDspArea(f32, f32, bool);
void mapAGBSendStatInit();
void mapAGBSendMapMain(f32, f32);
void calcEnlargementSizeParameter(f32, f32);
void calcScissor();
void mapMoveAll(f32, f32, int, f32);
void mapDrawAll(f32, f32, int, f32);
void mapDrawIcon();
void draw(f32, f32, int, f32);
void point2Grid(f32, f32, s8*, s8*);
void point2GridAndLocal(f32, f32, s8*, s8*, s16*, s16*);
void getCheckPointUseGrid(s8, s8);
void getFmapChkPntPrm(int, s8*, s8*, s16*, s16*, u8*);
void setFmapChkDtPrm();
void getFmapChkPntDtPnt(int);
void initPoint();
void setGbaPoint_ocean(u8, f32, f32, s16, u8, u8, u8, u8);
void isPointStayInDspNowRoomAgbScr(s16, s16);
void setCollectPoint(u8, u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
void setGbaPoint_dungeon(u8, f32, f32, s16, u8, u8, u8, u8);
void getPosAgbMapType(f32, f32, bool);
void setGbaPoint(u8, f32, f32, s16, u8, u8, u8, u8);
void setArriveInfo(f32, f32);
void drawPointPlayer(f32, f32, s16);
void drawPointEnemy(f32, f32);
void drawPointAgbCursor(f32, f32);
void drawPointTbox(f32, f32, f32, f32);
void drawPointDoor(f32, f32, f32, f32, s16, u8);
void drawPointRestart(f32, f32, s16, f32, f32);
void drawPointFriend(f32, f32, f32);
void drawPointShip(f32, f32, s16, f32, f32);
void drawPointGc(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
void drawPointMain(u8, u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
void drawPointAgb(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
void getTypeAgbGcFromTypeAcs(u8, u8*, u8*);
static void drawPointSingle(u8, f32, f32, f32, s8, s16, u8, u8, u8);
static void drawActorPointMiniMap(fopAc_ac_c*);
void mapBufferSendAGB_commonCursor();
void mapBufferSendAGB_ocean();
void mapBufferSendAGB_dungeon();
void mapSetPointAll();
static void mapBufferSendAGB(int);
};
inline void dMap_drawPoint(u8 param_1, f32 param_2, f32 param_3, f32 param_4, s8 param_5, s16 param_6, u8 param_7, u8 param_8, u8 param_9) {
dMap_c::drawPointSingle(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
}
#endif /* D_MAP_H */