This commit is contained in:
TakaRikka
2024-02-17 11:47:45 -08:00
committed by GitHub
parent 8164c34142
commit fa3be5d11d
80 changed files with 1329 additions and 4464 deletions
+1
View File
@@ -1899,6 +1899,7 @@ static dAttCatch_c* dComIfGp_att_getCatghTarget();
static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1);
bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle);
void dComIfGp_setSelectItemNum(int i_selItemIdx, s16 i_num);
bool dComIfGp_isLightDropMapVisible();
inline void dComIfGp_itemDataInit() {
g_dComIfG_gameInfo.play.itemInit();
+6
View File
@@ -30,7 +30,13 @@ public:
class dDlst_base_c {
public:
dDlst_base_c() {}
// hack, remove later
#ifdef NO_INLINE_DLSTBASE_DRAW
virtual void draw();
#else
virtual void draw() {}
#endif
};
class dDlst_snapShot_c : public dDlst_base_c {
+118 -1
View File
@@ -1,6 +1,123 @@
#ifndef D_MAP_D_MAP_H
#define D_MAP_D_MAP_H
#include "dolphin/types.h"
#include "d/map/d_map_path_dmap.h"
#include "d/d_tresure.h"
class renderingAmap_c : public renderingPlusDoorAndCursor_c {
public:
/* 800288C4 */ int getDispType() const;
/* 80028BB4 */ bool isDrawOutSideTrim();
/* 80028C4C */ int getOutSideBlackLineNumber();
/* 80028C60 */ bool isOutSideBlackLine();
/* 80028C90 */ int getLineWidthSub(int);
/* 80029160 */ int getStayType() const;
/* 8002AE6C */ renderingAmap_c() {}
/* 800284D0 */ virtual void draw();
/* 8002ADB0 */ virtual ~renderingAmap_c() {}
/* 80028EE4 */ virtual GXColor* getLineColor(int, int);
/* 80028DD4 */ virtual int getLineWidth(int);
/* 80028A10 */ virtual void drawPath();
/* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*);
/* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*);
/* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*);
/* 80028960 */ virtual void beforeDrawPath();
/* 800289D0 */ virtual void afterDrawPath();
/* 80028FB4 */ virtual const GXColor* getDecoLineColor(int, int);
/* 80028CF4 */ virtual s32 getDecorationLineWidth(int);
/* 80029058 */ virtual int getIconGroupNumber(u8) const;
/* 80029078 */ virtual bool hasMap() const;
/* 8002911C */ virtual bool isRendAllRoom() const;
/* 800290C0 */ virtual bool isRendDoor() const;
/* 80029104 */ virtual bool isCheckFloor() const;
/* 80029190 */ virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
/* 8002910C */ virtual bool isRendRestart() const;
/* 80029114 */ virtual bool isRendCursor() const;
/* 8002B000 */ virtual bool isRendIcon() const { return true; }
/* 800284BC */ virtual f32 getIconSize(u8) const;
/* 80028B04 */ virtual f32 getPlayerCursorSize();
/* 80028B10 */ virtual f32 getRestartCursorSize();
virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
virtual bool isSpecialOutline() = 0;
static const int PALETTE_NUMBER = 50;
private:
/* 0x34 */ s32 m_outSideBlackLineCnt;
/* 0x38 */ s32 field_0x38;
/* 0x3C */ s32 field_0x3c;
}; // Size: 0x40
struct dMap_prm_res_s;
class dMap_c : public renderingAmap_c {
public:
/* 8002974C */ void copyPalette();
/* 8002A064 */ void copyPalette(int, int, f32);
/* 80029F84 */ void setMapPaletteColorAlphaPer(int, f32);
/* 800297A8 */ void setMapPaletteColorAlphaPer(int, int, f32);
/* 80029818 */ void resCopy();
/* 80029874 */ dMap_c(int, int, int, int);
/* 80029A1C */ void _remove();
/* 80029A8C */ void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 80029C10 */ void getPack(int, f32*, f32*);
/* 80029D78 */ void calcMapCenterXZ(int, f32*, f32*);
/* 80029E1C */ void calcMapCmPerTexel(int, f32*);
/* 8002A1BC */ int getDispType() const;
/* 8002A32C */ void _move(f32, f32, int, f32);
/* 8002AB54 */ void _draw();
/* 8002AF20 */ virtual ~dMap_c() { _remove(); }
/* 800296EC */ virtual bool isDrawType(int);
/* 80028DF4 */ virtual const GXColor* getColor(int);
/* 800296F8 */ virtual bool isRendAllRoom() const;
/* 8002A254 */ virtual int getRoomNoSingle();
/* 8002A1DC */ virtual bool isDrawRoom(int, int) const;
/* 8002A294 */ virtual bool isDrawRoomIcon(int, int) const;
/* 80029038 */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
/* 8002ABAC */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
/* 8002ABCC */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
/* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
/* 80029744 */ virtual bool isSpecialOutline();
bool isDraw() const { return renderingDAmap_c::isDraw(); }
ResTIMG* getResTIMGPointer() { return mResTIMG; }
f32 getTopEdgePlus() { return mTopEdgePlus; }
f32 getPackPlusZ() { return mPackPlusZ; }
f32 getPackZ() { return mPackZ; }
f32 getTexelPerCm() { return 1.0f / field_0x58; }
u16 getTexSizeY() { return mTexSizeY; }
f32 getRightEdgePlus() { return mRightEdgePlus; }
f32 getPackX() { return mPackX; }
private:
/* 0x40 */ dMap_prm_res_s* m_res_src;
/* 0x44 */ dMap_prm_res_s* m_res;
/* 0x48 */ ResTIMG* mResTIMG;
/* 0x4C */ u8* mImage_p;
/* 0x50 */ f32 mCenterX;
/* 0x54 */ f32 mCenterZ;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 mPackX;
/* 0x60 */ f32 mPackZ;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 mPackPlusZ;
/* 0x6C */ f32 mRightEdgePlus;
/* 0x70 */ f32 mTopEdgePlus;
/* 0x74 */ int field_0x74;
/* 0x78 */ u16 mTexSizeX;
/* 0x7A */ u16 mTexSizeY;
/* 0x7C */ int mStayRoomNo;
/* 0x80 */ int field_0x80;
/* 0x84 */ int field_0x84;
/* 0x88 */ int field_0x88;
/* 0x8C */ u8 field_0x8c;
/* 0x8D */ u8 field_0x8d;
/* 0x8E */ u8 field_0x8e;
/* 0x8F */ u8 field_0x8f;
/* 0x90 */ u8 field_0x90;
}; // Size: 0x94
#endif /* D_MAP_D_MAP_H */
+10 -9
View File
@@ -46,10 +46,10 @@ public:
/* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
/* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
/* 8002AD3C */ virtual ~dDrawPath_c();
/* 8002ABF0 */ virtual bool isDrawType(int);
virtual GXColor* getColor(int) = 0;
/* 8002AD84 */ virtual GXColor* getLineColor(int, int);
/* 8002AD3C */ virtual ~dDrawPath_c() {}
/* 8002ABF0 */ virtual bool isDrawType(int) { return true; }
virtual const GXColor* getColor(int) = 0;
/* 8002AD84 */ virtual GXColor* getLineColor(int param_0, int) { return (GXColor*)getColor(param_0); }
virtual int getLineWidth(int) = 0;
virtual bool isSwitch(dDrawPath_c::group_class const*) = 0;
virtual bool isRenderingFloor(int) = 0;
@@ -63,7 +63,7 @@ public:
class dDrawPathWithNormalPattern_c : public dDrawPath_c {
public:
/* 8002ACE0 */ virtual ~dDrawPathWithNormalPattern_c();
/* 8002ACE0 */ virtual ~dDrawPathWithNormalPattern_c() {}
};
class dRenderingMap_c : public dDrawPathWithNormalPattern_c {
@@ -71,15 +71,15 @@ public:
/* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const;
/* 8003CDAC */ void renderingMap();
/* 8002AC74 */ virtual ~dRenderingMap_c();
/* 8002AC74 */ virtual ~dRenderingMap_c() {}
virtual void beforeDrawPath() = 0;
virtual void afterDrawPath() = 0;
virtual void preDrawPath() = 0;
virtual void postDrawPath() = 0;
virtual bool isDrawPath() = 0;
virtual void preRenderingMap() = 0;
virtual void postRenderingMap() = 0;
virtual GXColor* getBackColor() const = 0;
};
class dRenderingFDAmap_c : public dRenderingMap_c {
@@ -102,10 +102,11 @@ public:
/* 8003D0AC */ void drawBack() const;
/* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*);
/* 8002ABF8 */ virtual ~dRenderingFDAmap_c();
/* 8002ABF8 */ virtual ~dRenderingFDAmap_c() {}
/* 8003D188 */ virtual void preRenderingMap();
/* 8003D320 */ virtual void postRenderingMap();
/* 8003D68C */ virtual GXColor* getDecoLineColor(int, int);
virtual GXColor* getBackColor() const = 0;
/* 8003D68C */ virtual const GXColor* getDecoLineColor(int, int);
/* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
bool isDrawAreaCheck(const Vec& param_0) {
+23 -3
View File
@@ -21,6 +21,11 @@ public:
return (mLayerList + 0x40*layerNo)[roomNo];
}
static f32 getMinX() { return mMinX; }
static f32 getMinZ() { return mMinZ; }
static f32 getMaxX() { return mMaxX; }
static f32 getMaxZ() { return mMaxZ; }
static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm
static f32 mMinX;
static f32 mMaxX;
@@ -61,6 +66,19 @@ public:
/* 8003F734 */ static void create();
/* 8003F754 */ static void remove();
static s8 getNowStayFloorNo() {
JUT_ASSERT(mNowStayFloorNoDecisionFlg);
s8 floor_no = 0;
if (mNowStayFloorNoDecisionFlg) {
floor_no = mNowStayFloorNo;
}
return floor_no;
}
static void setNextRoomNoForMapPat0(int i_roomNo) { mNextRoomNo = i_roomNo; }
static int getNextRoomNoForMapPat0() { return mNextRoomNo; }
static int mNextRoomNo;
static int mNowStayRoomNo;
static s8 mNowStayFloorNo;
@@ -85,7 +103,7 @@ public:
/* 80040094 */ int getNextDrawRoomNo(int);
/* 8003FE18 */ virtual void draw();
/* 8002B150 */ virtual ~renderingDAmap_c();
/* 8002B150 */ virtual ~renderingDAmap_c() {}
/* 8003FD9C */ virtual bool isSwitch(dDrawPath_c::group_class const*);
/* 8003FE54 */ virtual bool isRenderingFloor(int);
/* 80040134 */ virtual dDrawPath_c::room_class* getFirstRoomPointer();
@@ -121,13 +139,14 @@ class stage_tgsc_data_class;
class renderingPlusDoor_c : public renderingDAmap_c {
public:
renderingPlusDoor_c() {}
/* 80040574 */ void drawDoor1();
/* 800405B8 */ void drawDoor2();
/* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
/* 80040710 */ bool checkDispDoorS(int, int, f32);
/* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
/* 8002B0B4 */ virtual ~renderingPlusDoor_c();
/* 8002B0B4 */ virtual ~renderingPlusDoor_c() {}
/* 8004145C */ virtual void beforeDrawPath();
/* 80040518 */ virtual void afterDrawPath();
virtual bool isRendRestart() const = 0;
@@ -141,8 +160,9 @@ public:
/* 80040E84 */ void drawTreasureAfterPlayer();
/* 80041208 */ void drawIconSingle(Vec const&, f32, f32);
/* 800412C0 */ void drawCursor(Vec const&, s16, int, f32);
renderingPlusDoorAndCursor_c() {}
/* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c();
/* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c() {}
/* 800402FC */ virtual void afterDrawPath();
virtual f32 getIconSize(u8) const = 0;
/* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
+1 -114
View File
@@ -4,120 +4,7 @@
#include "d/map/d_map_path_dmap.h"
class J2DPicture;
// move renderingAmap_c + dMap_c later
class renderingAmap_c : public renderingPlusDoorAndCursor_c {
public:
/* 800288C4 */ void getDispType() const;
/* 80028BB4 */ void isDrawOutSideTrim();
/* 80028C4C */ void getOutSideBlackLineNumber();
/* 80028C60 */ void isOutSideBlackLine();
/* 80028C90 */ void getLineWidthSub(int);
/* 80029160 */ void getStayType() const;
/* 8002AE6C */ renderingAmap_c();
/* 800284D0 */ virtual void draw();
/* 8002ADB0 */ virtual ~renderingAmap_c();
/* 80028EE4 */ virtual GXColor* getLineColor(int, int);
/* 80028DD4 */ virtual int getLineWidth(int);
/* 80028A10 */ virtual void drawPath();
/* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*);
/* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*);
/* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*);
/* 80028960 */ virtual void beforeDrawPath();
/* 800289D0 */ virtual void afterDrawPath();
/* 80028FB4 */ virtual GXColor* getDecoLineColor(int, int);
/* 80028CF4 */ virtual s32 getDecorationLineWidth(int);
/* 80029058 */ virtual int getIconGroupNumber(u8) const;
/* 80029078 */ virtual bool hasMap() const;
/* 8002911C */ virtual bool isRendAllRoom() const;
/* 800290C0 */ virtual bool isRendDoor() const;
/* 80029104 */ virtual bool isCheckFloor() const;
/* 80029190 */ virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
/* 8002910C */ virtual bool isRendRestart() const;
/* 80029114 */ virtual bool isRendCursor() const;
/* 8002B000 */ virtual bool isRendIcon() const;
/* 800284BC */ virtual f32 getIconSize(u8) const;
/* 80028B04 */ virtual f32 getPlayerCursorSize();
/* 80028B10 */ virtual f32 getRestartCursorSize();
virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
virtual bool isSpecialOutline() = 0;
private:
/* 0x34 */ s32 m_outSideBlackLineCnt;
/* 0x38 */ s32 field_0x38;
/* 0x3C */ s32 field_0x3c;
}; // Size: 0x40
class dMap_c : public renderingAmap_c {
public:
/* 8002974C */ void copyPalette();
/* 8002A064 */ void copyPalette(int, int, f32);
/* 80029F84 */ void setMapPaletteColorAlphaPer(int, f32);
/* 800297A8 */ void setMapPaletteColorAlphaPer(int, int, f32);
/* 80029818 */ void resCopy();
/* 80029874 */ dMap_c(int, int, int, int);
/* 80029A1C */ void _remove();
/* 80029A8C */ void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 80029C10 */ void getPack(int, f32*, f32*);
/* 80029D78 */ void calcMapCenterXZ(int, f32*, f32*);
/* 80029E1C */ void calcMapCmPerTexel(int, f32*);
/* 8002A1BC */ void getDispType() const;
/* 8002A32C */ void _move(f32, f32, int, f32);
/* 8002AB54 */ void _draw();
/* 8002AF20 */ virtual ~dMap_c();
/* 800296EC */ virtual bool isDrawType(int);
/* 80028DF4 */ virtual GXColor* getColor(int);
/* 800296F8 */ virtual bool isRendAllRoom() const;
/* 8002A254 */ virtual int getRoomNoSingle();
/* 8002A1DC */ virtual bool isDrawRoom(int, int) const;
/* 8002A294 */ virtual bool isDrawRoomIcon(int, int) const;
/* 80029038 */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
/* 8002ABAC */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
/* 8002ABCC */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
/* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
/* 80029744 */ virtual bool isSpecialOutline();
bool isDraw() const { return renderingDAmap_c::isDraw(); }
ResTIMG* getResTIMGPointer() { return mResTIMG; }
f32 getTopEdgePlus() { return mTopEdgePlus; }
f32 getPackPlusZ() { return mPackPlusZ; }
f32 getPackZ() { return mPackZ; }
f32 getTexelPerCm() { return 1.0f / field_0x58; }
u16 getTexSizeY() { return mTexSizeH; }
f32 getRightEdgePlus() { return mRightEdgePlus; }
f32 getPackX() { return mPackX; }
private:
/* 0x40 */ u8* m_res_src;
/* 0x44 */ u8* m_res;
/* 0x48 */ ResTIMG* mResTIMG;
/* 0x4C */ u8* mImage_p;
/* 0x50 */ f32 mCenterX;
/* 0x54 */ f32 mCenterZ;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 mPackX;
/* 0x60 */ f32 mPackZ;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 mPackPlusZ;
/* 0x6C */ f32 mRightEdgePlus;
/* 0x70 */ f32 mTopEdgePlus;
/* 0x74 */ int field_0x74;
/* 0x78 */ u16 mTexSizeW;
/* 0x7A */ u16 mTexSizeH;
/* 0x7C */ s32 mStayRoomNo;
/* 0x80 */ int field_0x80;
/* 0x84 */ int field_0x84;
/* 0x88 */ int field_0x88;
/* 0x8C */ u8 field_0x8c;
/* 0x8D */ u8 field_0x8d;
/* 0x8E */ u8 field_0x8e;
/* 0x8F */ u8 field_0x8f;
/* 0x90 */ u8 field_0x90;
}; // Size: 0x94
class dMap_c;
class dMeterMap_c : public dDlst_base_c {
public:
/* 8020D49C */ static bool isEnableDispMap();