Work on d_menu_dmap (#2073)

* Move some J2DPicture inlines to header

* Work on d_menu_dmap

* JASBasicInst OK

* JASCalc cleanup
This commit is contained in:
hatal175
2024-02-17 04:22:01 +02:00
committed by GitHub
parent 672990a0b0
commit 8164c34142
36 changed files with 1789 additions and 1133 deletions
+3 -3
View File
@@ -2255,13 +2255,13 @@ u8 dComIfG_getNowCalcRegion() {
return 0xFF;
}
BOOL dComIfGp_isLightDropMapVisible() {
bool dComIfGp_isLightDropMapVisible() {
for (int i = 0; i < 3; i++) {
if (dComIfGs_isLightDropGetFlag(i) != FALSE && dComIfGs_getLightDropNum(i) < 16) {
return TRUE;
return true;
}
}
return FALSE;
return false;
}
/* 8002EE60-8002EEB0 0297A0 0050+00 1/1 11/11 0/0 .text dComIfGp_getNowLevel__Fv */
+1476 -326
View File
File diff suppressed because it is too large Load Diff
+3 -64
View File
@@ -129,67 +129,6 @@ struct dMpath_c {
static f32 mAllSizeZ;
};
struct dMenu_StageMapCtrl_c {
/* 801C0EE0 */ void getMapBlendPer() const;
/* 801C0F24 */ void getPixelStageSizeX() const;
/* 801C0F3C */ void getPixelStageSizeZ() const;
/* 801C0F54 */ void getPixelCenterX() const;
/* 801C0F74 */ void getPixelCenterZ() const;
/* 801C0F94 */ void initGetTreasureList(u8, s8);
/* 801C0FF8 */ void getTreasureList(f32*, f32*, s8*, u8*, s8*);
/* 801C1128 */ void cnvPosTo2Dpos(f32, f32, f32*, f32*) const;
/* 801C1194 */ void getPlayerDrawInfo(f32*, f32*, s16*) const;
/* 801C1218 */ void getRestartDrawInfo(f32*, f32*, s16*) const;
/* 801C12A8 */ void setPlusNowStayFloorNo(s8, u8);
/* 801C12B4 */ void moveFloor();
/* 801C1878 */ void wait_init_proc();
/* 801C188C */ void wait_proc();
/* 801C18AC */ void zoomIn_init_proc();
/* 801C1C40 */ void initZoomIn(u8);
/* 801C1CEC */ void initZoomIn(u8, f32, f32);
/* 801C1E00 */ void initZoomInCenterHold(u8);
/* 801C1E74 */ void zoomCalcSet(f32);
/* 801C1EC0 */ void zoomIn_proc();
/* 801C1F2C */ void initZoomOut(u8);
/* 801C1F70 */ void initZoomWait(f32, f32);
/* 801C2004 */ void zoomWait_init_proc();
/* 801C205C */ void zoomWait_proc();
/* 801C2198 */ void zoomOut_init_proc();
/* 801C21AC */ void zoomOut_proc();
/* 801C2234 */ void move();
/* 801C22F8 */ void getPlayerStayFloorNo() const;
/* 801C231C */ void _create(u16, u16, u16, u16, void*);
/* 801C235C */ void _create(u16, u16, u16, u16, s8, void*);
/* 801C2518 */ void _delete();
/* 801C2538 */ void isEnableZoomIn();
/* 801C2578 */ void isEnableZoomOut();
/* 801C2588 */ void setPlusZoomCenterX(f32);
/* 801C2590 */ void setPlusZoomCenterZ(f32);
static f32 m_zoomCenterMinX;
static f32 m_zoomCenterMaxX;
static f32 m_zoomCenterMinZ;
static f32 m_zoomCenterMaxZ[1 + 1 /* padding */];
};
struct dMenu_DmapMap_c {
/* 801C0CD8 */ void _create(u16, u16, u16, u16, void*);
/* 801C0D04 */ void _delete();
/* 801C0D70 */ void setTexture(u16, u16, u16, u16);
/* 801C0E4C */ void setPos(int, int, f32, f32, f32, bool, f32);
};
struct dMenu_DmapMapCtrl_c {
/* 801BD144 */ ~dMenu_DmapMapCtrl_c();
/* 801C18C0 */ void getZoomMinMaxCheck(f32*, f32*, f32*, f32*, bool*, bool*);
/* 801C1B14 */ void calcZoomCenter(f32*, f32*);
/* 801C1BA4 */ void getZoomCmPerPixel();
/* 801C2028 */ void isEnableZoomMove() const;
/* 801C22A8 */ void draw();
/* 801C2598 */ void getInitWholeMapScale(f32*, f32, f32, f32, f32);
/* 801C25C0 */ void getInitDispCenter(f32*, f32*);
};
struct dMdm_HIO_prm_res_dst_s {
static u8 m_res[4];
};
@@ -786,7 +725,7 @@ SECTION_SDATA2 static f64 lit_3947 = 1.0;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_StageMapCtrl_c::getMapBlendPer() const {
asm f32 dMenu_StageMapCtrl_c::getMapBlendPer() const {
nofralloc
#include "asm/d/menu/d_menu_dmap_map/getMapBlendPer__20dMenu_StageMapCtrl_cCFv.s"
}
@@ -852,7 +791,7 @@ asm void dMenu_StageMapCtrl_c::initGetTreasureList(u8 param_0, s8 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_StageMapCtrl_c::getTreasureList(f32* param_0, f32* param_1, s8* param_2, u8* param_3,
asm bool dMenu_StageMapCtrl_c::getTreasureList(f32* param_0, f32* param_1, s8* param_2, u8* param_3,
s8* param_4) {
nofralloc
#include "asm/d/menu/d_menu_dmap_map/getTreasureList__20dMenu_StageMapCtrl_cFPfPfPScPUcPSc.s"
@@ -887,7 +826,7 @@ asm void dMenu_StageMapCtrl_c::getPlayerDrawInfo(f32* param_0, f32* param_1, s16
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_StageMapCtrl_c::getRestartDrawInfo(f32* param_0, f32* param_1, s16* param_2) const {
asm s8 dMenu_StageMapCtrl_c::getRestartDrawInfo(f32* param_0, f32* param_1, s16* param_2) const {
nofralloc
#include "asm/d/menu/d_menu_dmap_map/getRestartDrawInfo__20dMenu_StageMapCtrl_cCFPfPfPs.s"
}
-45
View File
@@ -8,53 +8,8 @@
#include "d/d_select_cursor.h"
#include "d/meter/d_meter_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "global.h"
struct dMenuMapCommon_c {
/* 801C2718 */ dMenuMapCommon_c();
/* 801C27B4 */ virtual ~dMenuMapCommon_c();
/* 801C28D8 */ void initiate(JKRArchive*);
/* 801C38E4 */ void drawIcon(f32, f32, f32, f32);
/* 801C3EC4 */ void iconScale(int, f32, f32, f32);
/* 801C43A8 */ void setIconInfo(u8, f32, f32, f32, f32, f32, u8);
/* 801C443C */ void clearIconInfo();
/* 801C4494 */ void setBlendRatio(u8, f32, f32);
/* 801C452C */ void blinkMove(s16);
/* 801C4600 */ void moveLightDropAnime();
/* 801C4738 */ float getIconSizeX(u8 index);
/* 801C4778 */ float getIconSizeY(u8 index);
/* 801C47C4 */ void debugIcon();
struct data {
/* 0x00 */ float _0;
/* 0x04 */ float _4;
/* 0x08 */ float _8;
/* 0x0C */ float _C;
/* 0x10 */ float _10;
/* 0x14 */ u8 _14;
/* 0x15 */ u8 _15;
};
/* 0x004 */ J2DPicture* mPictures[23];
/* 0x060 */ J2DPicture* _60;
/* 0x064 */ dSelect_cursor_c* mpDrawCursor;
/* 0x068 */ dSelect_cursor_c* mpPortalIcon;
/* 0x06C */ u32 _6c;
/* 0x070 */ data _70[128];
/* 0xC70 */ u16 _c70;
/* 0xC72 */ u16 _c72;
/* 0xC74 */ u16 _c74;
/* 0xC76 */ u16 _c76;
/* 0xC78 */ float _c78;
/* 0xC7C */ float _c7c;
/* 0xC80 */ float _c80;
/* 0xC84 */ float _c84;
/* 0xC88 */ float _c88;
/* 0xC8C */ float _c8c;
/* 0xC90 */ u8 _c90;
};
//
// Forward References:
//
+1 -1
View File
@@ -1471,7 +1471,7 @@ asm void dMsgObject_c::setTalkHeapLocal(void* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getTalkHeap() {
asm void* dMsgObject_c::getTalkHeap() {
nofralloc
#include "asm/d/msg/d_msg_object/getTalkHeap__12dMsgObject_cFv.s"
}
+4 -14
View File
@@ -398,20 +398,10 @@ asm f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
#pragma pop
#endif
/* 800202CC-80020338 01AC0C 006C+00 0/0 2/0 0/0 .text setBlendRatio__10J2DPictureFff */
void J2DPicture::setBlendRatio(f32 param_0, f32 param_1) {
setBlendColorRatio(param_0, param_1);
setBlendAlphaRatio(param_0, param_1);
}
/* 80020338-80020368 01AC78 0030+00 0/0 1/0 0/0 .text append__10J2DPictureFPCcf */
bool J2DPicture::append(char const* param_0, f32 param_1) {
return insert(param_0, mTextureNum, param_1);
}
/* 80020368-8002039C 01ACA8 0034+00 0/0 1/0 0/0 .text insert__10J2DPictureFPCcUcf */
bool J2DPicture::insert(char const* param_0, u8 param_1, f32 param_2) {
return insert(param_0, NULL, param_1, param_2);
// Here to generate J2DPicture virtual inlines
static void dummyVirtual(J2DPicture* picture, f32 param_1, f32 param_2, const char* param_3) {
picture->append(param_3, param_1);
picture->setBlendRatio(param_1, param_2);
}
/* 8002039C-800203E0 01ACDC 0044+00 0/0 3/3 0/0 .text fopMsgM_createExpHeap__FUlP7JKRHeap