mirror of https://github.com/zeldaret/tp.git
most of d_map_path_dmap decompiled
This commit is contained in:
parent
7723ab15f7
commit
bad6551507
|
|
@ -9,10 +9,10 @@ lbl_8002AB54:
|
|||
/* 8002AB70 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8002AB74 41 82 00 28 */ beq lbl_8002AB9C
|
||||
/* 8002AB78 38 A0 00 00 */ li r5, 0
|
||||
/* 8002AB7C 88 0D 88 E0 */ lbz r0, data_80450E60(r13)
|
||||
/* 8002AB7C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 8002AB80 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8002AB84 41 82 00 08 */ beq lbl_8002AB8C
|
||||
/* 8002AB88 88 AD 88 D8 */ lbz r5, data_80450E58(r13)
|
||||
/* 8002AB88 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
lbl_8002AB8C:
|
||||
/* 8002AB8C C0 23 00 50 */ lfs f1, 0x50(r3)
|
||||
/* 8002AB90 C0 43 00 54 */ lfs f2, 0x54(r3)
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ lbl_8003F40C:
|
|||
/* 8003F468 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13)
|
||||
/* 8003F46C 7C 1F 00 00 */ cmpw r31, r0
|
||||
/* 8003F470 40 82 00 3C */ bne lbl_8003F4AC
|
||||
/* 8003F474 88 0D 88 E0 */ lbz r0, data_80450E60(r13)
|
||||
/* 8003F474 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 8003F478 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8003F47C 41 82 00 30 */ beq lbl_8003F4AC
|
||||
/* 8003F480 88 AD 88 D8 */ lbz r5, data_80450E58(r13)
|
||||
/* 8003F480 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
/* 8003F484 7C A4 07 74 */ extsb r4, r5
|
||||
/* 8003F488 88 01 00 08 */ lbz r0, 8(r1)
|
||||
/* 8003F48C 7C 03 07 74 */ extsb r3, r0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ lbl_8003F570:
|
|||
/* 8003F59C 38 C1 00 0C */ addi r6, r1, 0xc
|
||||
/* 8003F5A0 38 E0 00 00 */ li r7, 0
|
||||
/* 8003F5A4 4B FF FC A9 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf
|
||||
/* 8003F5A8 88 0D 88 E0 */ lbz r0, data_80450E60(r13)
|
||||
/* 8003F5A8 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 8003F5AC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8003F5B0 41 82 00 5C */ beq lbl_8003F60C
|
||||
/* 8003F5B4 C0 01 00 10 */ lfs f0, 0x10(r1)
|
||||
|
|
@ -23,7 +23,7 @@ lbl_8003F570:
|
|||
/* 8003F5C4 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
||||
/* 8003F5C8 4C 41 13 82 */ cror 2, 1, 2
|
||||
/* 8003F5CC 40 82 00 6C */ bne lbl_8003F638
|
||||
/* 8003F5D0 88 AD 88 D8 */ lbz r5, data_80450E58(r13)
|
||||
/* 8003F5D0 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
/* 8003F5D4 7C A4 07 74 */ extsb r4, r5
|
||||
/* 8003F5D8 88 01 00 08 */ lbz r0, 8(r1)
|
||||
/* 8003F5DC 7C 03 07 74 */ extsb r3, r0
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@ lbl_8003F760:
|
|||
/* 8003F784 41 82 00 28 */ beq lbl_8003F7AC
|
||||
/* 8003F788 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 8003F78C 41 82 00 0C */ beq lbl_8003F798
|
||||
/* 8003F790 88 0D 80 B5 */ lbz r0, struct_80450634+0x1(r13)
|
||||
/* 8003F790 88 0D 80 B5 */ lbz r0, mBottomFloorNo__8dMpath_c+0x1(r13)
|
||||
/* 8003F794 98 1E 00 00 */ stb r0, 0(r30)
|
||||
lbl_8003F798:
|
||||
/* 8003F798 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 8003F79C 41 82 00 30 */ beq lbl_8003F7CC
|
||||
/* 8003F7A0 88 0D 80 B4 */ lbz r0, struct_80450634+0x0(r13)
|
||||
/* 8003F7A0 88 0D 80 B4 */ lbz r0, mBottomFloorNo__8dMpath_c+0x0(r13)
|
||||
/* 8003F7A4 98 1F 00 00 */ stb r0, 0(r31)
|
||||
/* 8003F7A8 48 00 00 24 */ b lbl_8003F7CC
|
||||
lbl_8003F7AC:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
lbl_8003F6FC:
|
||||
/* 8003F6FC 38 00 00 00 */ li r0, 0
|
||||
/* 8003F700 98 0D 88 D8 */ stb r0, data_80450E58(r13)
|
||||
/* 8003F704 98 0D 88 E0 */ stb r0, data_80450E60(r13)
|
||||
/* 8003F700 98 0D 88 D8 */ stb r0, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
/* 8003F704 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 8003F708 38 00 FF FF */ li r0, -1
|
||||
/* 8003F70C 90 0D 88 DC */ stw r0, mNowStayRoomNo__10dMapInfo_c(r13)
|
||||
/* 8003F710 4E 80 00 20 */ blr
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ lbl_8003F6C8:
|
|||
/* 8003F6D4 90 6D 88 DC */ stw r3, mNowStayRoomNo__10dMapInfo_c(r13)
|
||||
/* 8003F6D8 38 60 00 01 */ li r3, 1
|
||||
/* 8003F6DC 4B FF FE 95 */ bl calcNowStayFloorNo__10dMapInfo_cFfb
|
||||
/* 8003F6E0 98 6D 88 D8 */ stb r3, data_80450E58(r13)
|
||||
/* 8003F6E0 98 6D 88 D8 */ stb r3, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
/* 8003F6E4 38 00 00 01 */ li r0, 1
|
||||
/* 8003F6E8 98 0D 88 E0 */ stb r0, data_80450E60(r13)
|
||||
/* 8003F6E8 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 8003F6EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8003F6F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 8003F6F4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ lbl_8003FC00:
|
|||
/* 8003FC38 D0 2D 88 F0 */ stfs f1, mMinZ__8dMpath_c(r13)
|
||||
/* 8003FC3C D0 0D 88 F4 */ stfs f0, mMaxZ__8dMpath_c(r13)
|
||||
/* 8003FC40 38 00 00 7F */ li r0, 0x7f
|
||||
/* 8003FC44 98 0D 80 B4 */ stb r0, struct_80450634+0x0(r13)
|
||||
/* 8003FC44 98 0D 80 B4 */ stb r0, mBottomFloorNo__8dMpath_c+0x0(r13)
|
||||
/* 8003FC48 38 00 FF 80 */ li r0, -128
|
||||
/* 8003FC4C 98 0D 80 B5 */ stb r0, struct_80450634+0x1(r13)
|
||||
/* 8003FC4C 98 0D 80 B5 */ stb r0, mBottomFloorNo__8dMpath_c+0x1(r13)
|
||||
/* 8003FC50 38 00 00 00 */ li r0, 0
|
||||
/* 8003FC54 98 0D 80 B6 */ stb r0, data_80450636(r13)
|
||||
/* 8003FC58 98 0D 89 08 */ stb r0, data_80450E88(r13)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ lbl_8003FA40:
|
|||
/* 8003FA70 38 00 00 01 */ li r0, 1
|
||||
/* 8003FA74 98 0D 89 08 */ stb r0, data_80450E88(r13)
|
||||
/* 8003FA78 7F C3 F3 78 */ mr r3, r30
|
||||
/* 8003FA7C 38 8D 80 B4 */ la r4, struct_80450634+0x0(r13) /* 80450634-_SDA_BASE_ */
|
||||
/* 8003FA80 38 AD 80 B5 */ la r5, struct_80450634+0x1(r13) /* 80450635-_SDA_BASE_ */
|
||||
/* 8003FA7C 38 8D 80 B4 */ la r4, mBottomFloorNo__8dMpath_c+0x0(r13) /* 80450634-_SDA_BASE_ */
|
||||
/* 8003FA80 38 AD 80 B5 */ la r5, mBottomFloorNo__8dMpath_c+0x1(r13) /* 80450635-_SDA_BASE_ */
|
||||
/* 8003FA84 4B FF FD 8D */ bl setPointer__8dMpath_cFPQ211dDrawPath_c10room_classPScPSc
|
||||
/* 8003FA88 C0 02 84 28 */ lfs f0, lit_3796(r2)
|
||||
/* 8003FA8C D0 01 00 14 */ stfs f0, 0x14(r1)
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ lbl_801C231C:
|
|||
/* 801C2320 7C 08 02 A6 */ mflr r0
|
||||
/* 801C2324 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801C2328 7D 09 43 78 */ mr r9, r8
|
||||
/* 801C232C 88 0D 88 E0 */ lbz r0, data_80450E60(r13)
|
||||
/* 801C232C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 801C2330 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801C2334 41 82 00 14 */ beq lbl_801C2348
|
||||
/* 801C2338 38 00 00 00 */ li r0, 0
|
||||
/* 801C233C 41 82 00 08 */ beq lbl_801C2344
|
||||
/* 801C2340 88 0D 88 D8 */ lbz r0, data_80450E58(r13)
|
||||
/* 801C2340 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
lbl_801C2344:
|
||||
/* 801C2344 7C 08 03 78 */ mr r8, r0
|
||||
lbl_801C2348:
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
lbl_801C22F8:
|
||||
/* 801C22F8 38 60 00 00 */ li r3, 0
|
||||
/* 801C22FC 88 0D 88 E0 */ lbz r0, data_80450E60(r13)
|
||||
/* 801C22FC 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13)
|
||||
/* 801C2300 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801C2304 4D 82 00 20 */ beqlr
|
||||
/* 801C2308 38 00 00 00 */ li r0, 0
|
||||
/* 801C230C 41 82 00 08 */ beq lbl_801C2314
|
||||
/* 801C2310 88 0D 88 D8 */ lbz r0, data_80450E58(r13)
|
||||
/* 801C2310 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13)
|
||||
lbl_801C2314:
|
||||
/* 801C2314 7C 03 03 78 */ mr r3, r0
|
||||
/* 801C2318 4E 80 00 20 */ blr
|
||||
|
|
|
|||
|
|
@ -2788,6 +2788,10 @@ inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) {
|
|||
g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst);
|
||||
}
|
||||
|
||||
inline void dComIfGd_setCopy2D(dDlst_base_c* dlst) {
|
||||
g_dComIfG_gameInfo.drawlist.setCopy2D(dlst);
|
||||
}
|
||||
|
||||
inline view_class* dComIfGd_getView() {
|
||||
return g_dComIfG_gameInfo.drawlist.getView();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,6 +286,7 @@ public:
|
|||
void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); }
|
||||
void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); }
|
||||
void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); }
|
||||
void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DSet[0], mpCopy2DSet[1], dlst); }
|
||||
view_class* getView() { return mView; }
|
||||
void setView(view_class* view) { mView = view; }
|
||||
void setWindow(dDlst_window_c* window) { mWindow = window; }
|
||||
|
|
|
|||
|
|
@ -868,7 +868,7 @@ struct dStage_objectNameInf {
|
|||
class dStage_KeepDoorInfo {
|
||||
public:
|
||||
/* 80028418 */ ~dStage_KeepDoorInfo() {}
|
||||
/* 0x000 */ stage_tgsc_class* unk_0x0;
|
||||
/* 0x000 */ int unk_0x0;
|
||||
/* 0x004 */ stage_tgsc_data_class unk_0x4[0x40];
|
||||
}; // Size = 0x904
|
||||
|
||||
|
|
@ -953,6 +953,8 @@ struct cBgS_GndChk;
|
|||
int dStage_RoomCheck(cBgS_GndChk* gndChk);
|
||||
void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
|
||||
void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
|
||||
dStage_KeepDoorInfo* dStage_GetKeepDoorInfo();
|
||||
dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo();
|
||||
|
||||
inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) {
|
||||
return param_0 & 0x80;
|
||||
|
|
@ -1014,6 +1016,18 @@ inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) {
|
|||
return p_info->field_0x0a & 0x1000;
|
||||
}
|
||||
|
||||
inline int dStage_stagInfo_GetGapLevel(stage_stag_info_class* pstag) {
|
||||
return pstag->mGapLevel;
|
||||
}
|
||||
|
||||
inline int dStage_stagInfo_GetRangeUp(stage_stag_info_class* pstag) {
|
||||
return pstag->mRangeUp;
|
||||
}
|
||||
|
||||
inline int dStage_stagInfo_GetRangeDown(stage_stag_info_class* pstag) {
|
||||
return pstag->mRangeDown;
|
||||
}
|
||||
|
||||
inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
|
||||
return p_info->field_0xb & 0xF;
|
||||
}
|
||||
|
|
@ -1042,6 +1056,30 @@ inline int dStage_FileList_dt_GetBitSw(dStage_FileList_dt_c* p_fList) {
|
|||
return p_fList->mBitSw;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mLeftRmX;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mRightRmX;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetInnerRmZ(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mInnerRmZ;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetFrontRmZ(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mFrontRmZ;
|
||||
}
|
||||
|
||||
inline s8 dStage_FileList2_dt_GetMinFloorNo(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mMinFloorNo;
|
||||
}
|
||||
|
||||
inline s8 dStage_FileList2_dt_GetMaxFloorNo(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mMaxFloorNo;
|
||||
}
|
||||
|
||||
inline int dStage_MapEvent_dt_c_getEventSCutSW(dStage_MapEvent_dt_c* event) {
|
||||
return event->field_0x8 & 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,12 +15,13 @@ public:
|
|||
/* 0x10 */ u8 mSwBit;
|
||||
/* 0x11 */ u8 mType;
|
||||
/* 0x12 */ u8 mArg2;
|
||||
/* 0x13 */ u8 mAngleY;
|
||||
/* 0x13 */ s8 mAngleY;
|
||||
};
|
||||
|
||||
class typeGroupData_c {
|
||||
public:
|
||||
data_s* getDataPointer() { return &mData; }
|
||||
const data_s* getConstDataPointer() const { return &mData; }
|
||||
typeGroupData_c* getNextDataPointer() const { return mNextData; }
|
||||
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
|
||||
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
|
||||
|
|
@ -32,6 +33,7 @@ public:
|
|||
void setPos(const Vec& pos) { mData.mPos = pos; }
|
||||
u8 getSwBit() const { return mData.mSwBit; }
|
||||
const Vec* getPos() const { return &mData.mPos; }
|
||||
int getAngleY() const { return mData.mAngleY; }
|
||||
|
||||
/* 0x00 */ data_s mData;
|
||||
/* 0x14 */ typeGroupData_c* mNextData;
|
||||
|
|
|
|||
|
|
@ -84,6 +84,19 @@ public:
|
|||
|
||||
class dRenderingFDAmap_c : public dRenderingMap_c {
|
||||
public:
|
||||
dRenderingFDAmap_c() {
|
||||
field_0x4 = NULL;
|
||||
field_0x8 = 0.0f;
|
||||
field_0xc = 0.0f;
|
||||
field_0x10 = 0.0f;
|
||||
field_0x14 = 0.0f;
|
||||
mCmPerTexel = 0.0f;
|
||||
field_0x1c = 0;
|
||||
field_0x1e = 0;
|
||||
field_0x20 = 0;
|
||||
field_0x22 = 0;
|
||||
}
|
||||
|
||||
/* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
|
||||
/* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
|
||||
/* 8003D0AC */ void drawBack() const;
|
||||
|
|
@ -95,8 +108,14 @@ public:
|
|||
/* 8003D68C */ virtual GXColor* getDecoLineColor(int, int);
|
||||
/* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
|
||||
|
||||
private:
|
||||
/* 0x04 */ void* field_0x4;
|
||||
bool isDrawAreaCheck(const Vec& param_0) {
|
||||
return (param_0.x >= field_0x10 - field_0x8 * 2.0f &&
|
||||
param_0.x <= field_0x10 + field_0x8 * 2.0f) &&
|
||||
(param_0.z >= field_0x14 - field_0xc * 2.0f &&
|
||||
param_0.z <= field_0x14 + field_0xc * 2.0f);
|
||||
}
|
||||
|
||||
/* 0x04 */ u8* field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
|
|
@ -115,6 +134,8 @@ struct dMpath_n {
|
|||
/* 8003C8F4 */ void remove();
|
||||
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
|
||||
|
||||
GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; }
|
||||
|
||||
dTexObjAggregate_c() {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mp_texObj[i] = NULL;
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
class dMpath_c {
|
||||
public:
|
||||
/* 8003F758 */ static u8 isExistMapPathData();
|
||||
/* 8003F760 */ void getTopBottomFloorNo(s8*, s8*);
|
||||
/* 8003F758 */ static bool isExistMapPathData();
|
||||
/* 8003F760 */ static int getTopBottomFloorNo(s8*, s8*);
|
||||
/* 8003F7E8 */ static void createWork();
|
||||
/* 8003FA40 */ void setPointer(s8, void*, int);
|
||||
/* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*);
|
||||
/* 8003FA40 */ static void setPointer(s8, void*, int);
|
||||
/* 8003F810 */ static void setPointer(dDrawPath_c::room_class*, s8*, s8*);
|
||||
/* 8003FB70 */ static void create();
|
||||
/* 8003FBD0 */ void reset();
|
||||
/* 8003FC70 */ void remove();
|
||||
/* 8003FBD0 */ static void reset();
|
||||
/* 8003FC70 */ static void remove();
|
||||
|
||||
static u8 mLayerList[4];
|
||||
static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm
|
||||
static f32 mMinX;
|
||||
static f32 mMaxX;
|
||||
static f32 mMinZ;
|
||||
|
|
@ -26,33 +26,59 @@ public:
|
|||
static f32 mAllCenterZ;
|
||||
static f32 mAllSizeX;
|
||||
static f32 mAllSizeZ;
|
||||
static s8 mBottomFloorNo;
|
||||
static s8 mTopFloorNo;
|
||||
};
|
||||
|
||||
struct dMapInfo_n {
|
||||
/* 8003ECA0 */ bool chkGetCompass();
|
||||
/* 8003ECD8 */ bool chkGetMap();
|
||||
/* 8003ECA0 */ static bool chkGetCompass();
|
||||
/* 8003ECD8 */ static bool chkGetMap();
|
||||
/* 8003ED10 */ static bool isVisitedRoom(int);
|
||||
/* 8003ED60 */ static void correctionOriginPos(s8, Vec*);
|
||||
/* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003EE5C */ static Vec getMapPlayerPos();
|
||||
/* 8003EF20 */ void getMapPlayerAngleY();
|
||||
/* 8003EF70 */ void getConstRestartIconPointer();
|
||||
/* 8003F02C */ void getMapRestartPos();
|
||||
/* 8003F0F8 */ void getMapRestartAngleY();
|
||||
/* 8003F19C */ void getRoomCenter(int, f32*, f32*);
|
||||
/* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
|
||||
/* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
|
||||
/* 8003EF20 */ static s16 getMapPlayerAngleY();
|
||||
/* 8003EF70 */ static const dTres_c::typeGroupData_c* getConstRestartIconPointer();
|
||||
/* 8003F02C */ static Vec getMapRestartPos();
|
||||
/* 8003F0F8 */ static s16 getMapRestartAngleY();
|
||||
/* 8003F19C */ static void getRoomCenter(int, f32*, f32*);
|
||||
/* 8003F1F4 */ static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
|
||||
/* 8003F24C */ static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
|
||||
};
|
||||
|
||||
class dMapInfo_c {
|
||||
public:
|
||||
/* 8003F40C */ static s8 calcFloorNo(f32, bool, int);
|
||||
/* 8003F570 */ static s8 calcNowStayFloorNo(f32, bool);
|
||||
/* 8003F6C8 */ static void move(int, f32);
|
||||
/* 8003F6FC */ static void init();
|
||||
/* 8003F714 */ static void reset();
|
||||
/* 8003F734 */ static void create();
|
||||
/* 8003F754 */ static void remove();
|
||||
|
||||
static int mNextRoomNo;
|
||||
static int mNowStayRoomNo;
|
||||
static s8 mNowStayFloorNo;
|
||||
static u8 mNowStayFloorNoDecisionFlg;
|
||||
};
|
||||
|
||||
class renderingDAmap_c : public dRenderingFDAmap_c {
|
||||
public:
|
||||
/* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const;
|
||||
renderingDAmap_c() {
|
||||
mRoomNo = 0;
|
||||
field_0x28 = 0;
|
||||
mRoomNoSingle = 0;
|
||||
mRenderedFloor = 0;
|
||||
mIsDraw = false;
|
||||
}
|
||||
|
||||
/* 8003FCA4 */ s8 calcFloorNoForObjectByMapPathRend(f32, int) const;
|
||||
/* 8003FCC8 */ void init(u8*, u16, u16, u16, u16);
|
||||
/* 8003FD08 */ void entry(f32, f32, f32, int, s8);
|
||||
/* 8003FE6C */ void setSingleRoomSetting();
|
||||
/* 8003FFF4 */ void getFirstDrawRoomNo();
|
||||
/* 80040094 */ void getNextDrawRoomNo(int);
|
||||
/* 8003FFF4 */ int getFirstDrawRoomNo();
|
||||
/* 80040094 */ int getNextDrawRoomNo(int);
|
||||
|
||||
/* 8003FE18 */ virtual void draw();
|
||||
/* 8002B150 */ virtual ~renderingDAmap_c();
|
||||
|
|
@ -65,27 +91,26 @@ public:
|
|||
/* 800402C0 */ virtual bool isDrawPath();
|
||||
/* 8003FE4C */ virtual GXColor* getBackColor() const;
|
||||
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
|
||||
/* 800402E8 */ virtual void getNextDrawLayerNo(int);
|
||||
/* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
|
||||
/* 800402E8 */ virtual int getNextDrawLayerNo(int);
|
||||
/* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
|
||||
Vec const*) const;
|
||||
/* 80040AE4 */ virtual void getIconGroupNumber(u8) const;
|
||||
virtual void hasMap() const = 0;
|
||||
virtual void isRendAllRoom() const = 0;
|
||||
virtual void isRendDoor() const = 0;
|
||||
/* 80040AE4 */ virtual int getIconGroupNumber(u8) const;
|
||||
virtual bool hasMap() const = 0;
|
||||
virtual bool isRendAllRoom() const = 0;
|
||||
virtual bool isRendDoor() const = 0;
|
||||
virtual bool isCheckFloor() const = 0;
|
||||
virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
|
||||
/* 8003FFEC */ virtual void getRoomNoSingle();
|
||||
/* 8003FE70 */ virtual void isDrawRoom(int, int) const;
|
||||
/* 800409B4 */ virtual void isDrawRoomIcon(int, int) const;
|
||||
virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
|
||||
/* 8003FFEC */ virtual int getRoomNoSingle();
|
||||
/* 8003FE70 */ virtual bool isDrawRoom(int, int) const;
|
||||
/* 800409B4 */ virtual bool isDrawRoomIcon(int, int) const;
|
||||
|
||||
bool isDraw() const { return mDraw; }
|
||||
bool isDraw() const { return mIsDraw; }
|
||||
|
||||
private:
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x24 */ int mRoomNo;
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ int mRoomNoSingle;
|
||||
/* 0x30 */ u8 field_0x30;
|
||||
/* 0x31 */ bool mDraw;
|
||||
/* 0x30 */ s8 mRenderedFloor;
|
||||
/* 0x31 */ bool mIsDraw;
|
||||
}; // Size: 0x34
|
||||
|
||||
class stage_tgsc_data_class;
|
||||
|
|
@ -95,7 +120,7 @@ public:
|
|||
/* 80040574 */ void drawDoor1();
|
||||
/* 800405B8 */ void drawDoor2();
|
||||
/* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
|
||||
/* 80040710 */ void checkDispDoorS(int, int, f32);
|
||||
/* 80040710 */ bool checkDispDoorS(int, int, f32);
|
||||
/* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
|
||||
|
||||
/* 8002B0B4 */ virtual ~renderingPlusDoor_c();
|
||||
|
|
@ -115,11 +140,12 @@ public:
|
|||
|
||||
/* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c();
|
||||
/* 800402FC */ virtual void afterDrawPath();
|
||||
/* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
|
||||
/* 80040A94 */ virtual void getFirstData(u8);
|
||||
/* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*);
|
||||
virtual void getPlayerCursorSize() = 0;
|
||||
virtual void getRestartCursorSize() = 0;
|
||||
virtual f32 getIconSize(u8) const = 0;
|
||||
/* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
|
||||
/* 80040A94 */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
|
||||
/* 80040AB8 */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
|
||||
virtual f32 getPlayerCursorSize() = 0;
|
||||
virtual f32 getRestartCursorSize() = 0;
|
||||
};
|
||||
|
||||
#endif /* D_MAP_D_MAP_PATH_DMAP_H */
|
||||
|
|
|
|||
|
|
@ -27,20 +27,20 @@ public:
|
|||
/* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*);
|
||||
/* 80028960 */ virtual void beforeDrawPath();
|
||||
/* 800289D0 */ virtual void afterDrawPath();
|
||||
/* 80028FB4 */ virtual void getDecoLineColor(int, int);
|
||||
/* 80028CF4 */ virtual void getDecorationLineWidth(int);
|
||||
/* 80029058 */ virtual void getIconGroupNumber(u8) const;
|
||||
/* 80029078 */ virtual void hasMap() const;
|
||||
/* 8002911C */ virtual void isRendAllRoom() const;
|
||||
/* 800290C0 */ virtual void isRendDoor() const;
|
||||
/* 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 void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) 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 void getIconSize(u8) const;
|
||||
/* 80028B04 */ virtual void getPlayerCursorSize();
|
||||
/* 80028B10 */ virtual void getRestartCursorSize();
|
||||
/* 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;
|
||||
|
||||
|
|
@ -70,13 +70,13 @@ public:
|
|||
/* 8002AF20 */ virtual ~dMap_c();
|
||||
/* 800296EC */ virtual bool isDrawType(int);
|
||||
/* 80028DF4 */ virtual GXColor* getColor(int);
|
||||
/* 800296F8 */ virtual void isRendAllRoom() const;
|
||||
/* 8002A254 */ virtual void getRoomNoSingle();
|
||||
/* 8002A1DC */ virtual void isDrawRoom(int, int) const;
|
||||
/* 8002A294 */ virtual void isDrawRoomIcon(int, int) const;
|
||||
/* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
|
||||
/* 8002ABAC */ virtual void getFirstData(u8);
|
||||
/* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*);
|
||||
/* 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();
|
||||
|
||||
|
|
|
|||
|
|
@ -45,9 +45,14 @@ volatile PPCWGPipe GXFIFO : 0xCC008000;
|
|||
#define GFX_FIFO(T) (*(volatile T*)0xCC008000)
|
||||
|
||||
inline void GXPosition3f32(f32 x, f32 y, f32 z) {
|
||||
GFX_FIFO(f32) = x;
|
||||
GFX_FIFO(f32) = y;
|
||||
GFX_FIFO(f32) = z;
|
||||
GXFIFO.f32 = x;
|
||||
GXFIFO.f32 = y;
|
||||
GXFIFO.f32 = z;
|
||||
}
|
||||
|
||||
inline void GXPosition2f32(f32 x, f32 z) {
|
||||
GXFIFO.f32 = x;
|
||||
GXFIFO.f32 = z;
|
||||
}
|
||||
|
||||
inline void GXColor1u32(u32 c) {
|
||||
|
|
@ -64,6 +69,10 @@ inline void GXTexCoord2u8(u8 s, u8 t) {
|
|||
GFX_FIFO(u8) = t;
|
||||
}
|
||||
|
||||
inline void GXTexCoord1x8(u8 s) {
|
||||
GFX_FIFO(u8) = s;
|
||||
}
|
||||
|
||||
inline void GXPosition2u16(u16 x, u16 y) {
|
||||
GFX_FIFO(u16) = x;
|
||||
GFX_FIFO(u16) = y;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ void mDoMtx_XrotM(Mtx mtx, s16 x);
|
|||
void mDoMtx_YrotM(Mtx, s16);
|
||||
void mDoMtx_MtxToRot(CMtxP, csXyz*);
|
||||
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3);
|
||||
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3,
|
||||
s16 param_4);
|
||||
void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]);
|
||||
void mDoMtx_ZrotM(Mtx mtx, s16 z);
|
||||
|
||||
|
|
@ -35,7 +37,7 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) {
|
|||
}
|
||||
|
||||
inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
|
||||
PSMTXTrans(m,x,y,z);
|
||||
PSMTXTrans(m, x, y, z);
|
||||
}
|
||||
|
||||
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
|
||||
|
|
@ -66,7 +68,8 @@ public:
|
|||
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
|
||||
static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); }
|
||||
static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); }
|
||||
static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); }
|
||||
static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); }
|
||||
static void multVecArray(const Vec* src, Vec* dst, u32 count) { PSMTXMultVecArray(now, src, dst, count); }
|
||||
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
|
||||
static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); }
|
||||
static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); }
|
||||
|
|
|
|||
|
|
@ -448,7 +448,7 @@ static u8 dStage_isBossStage(dStage_dt_c* stageDt) {
|
|||
/* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */
|
||||
static void dStage_KeepDoorInfoInit(dStage_dt_c* param_0) {
|
||||
if (dStage_isBossStage(param_0) == 0) {
|
||||
DoorInfo.unk_0x0 = NULL;
|
||||
DoorInfo.unk_0x0 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -471,7 +471,7 @@ dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo() {
|
|||
}
|
||||
|
||||
static void dStage_initRoomKeepDoorInfo() {
|
||||
l_RoomKeepDoorInfo.unk_0x0 = NULL;
|
||||
l_RoomKeepDoorInfo.unk_0x0 = 0;
|
||||
}
|
||||
|
||||
/* 80024078-80024174 01E9B8 00FC+00 1/1 0/0 0/0 .text
|
||||
|
|
|
|||
|
|
@ -8,14 +8,6 @@
|
|||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dMapInfo_c {
|
||||
/* 8003F40C */ static s8 calcFloorNo(f32, bool, int);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
|
|||
|
|
@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
|||
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u32 mNextRoomNo__10dMapInfo_c;
|
||||
extern "C" extern u8 data_80450E58[4];
|
||||
extern "C" extern u8 data_80450E60[4];
|
||||
extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4];
|
||||
extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4];
|
||||
extern "C" f32 mMinX__8dMpath_c;
|
||||
extern "C" f32 mMaxX__8dMpath_c;
|
||||
extern "C" f32 mMinZ__8dMpath_c;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
|||
extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */];
|
||||
extern "C" extern u32 __float_max;
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 data_80450E58[4];
|
||||
extern "C" extern u8 data_80450E60[4];
|
||||
extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4];
|
||||
extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4];
|
||||
extern "C" u8 mLayerList__8dMpath_c[4];
|
||||
extern "C" f32 mAllCenterX__8dMpath_c;
|
||||
extern "C" f32 mAllCenterZ__8dMpath_c;
|
||||
|
|
|
|||
|
|
@ -343,7 +343,7 @@ void dMw_offMenuRing() {
|
|||
}
|
||||
}
|
||||
|
||||
static bool dMw_isMenuRing() {
|
||||
static BOOL dMw_isMenuRing() {
|
||||
dMw_c* menu_window = dMeter2Info_getMenuWindowClass();
|
||||
|
||||
if (menu_window) {
|
||||
|
|
@ -739,6 +739,45 @@ SECTION_DATA static u8 init_proc[420] = {
|
|||
0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* typedef void (dMw_c::*initFunc)(u8);
|
||||
SECTION_DATA initFunc init_proc[] = {
|
||||
&dMw_c::key_wait_init,
|
||||
&dMw_c::ring_open_init,
|
||||
&dMw_c::ring_move_init,
|
||||
&dMw_c::ring_close_init,
|
||||
&dMw_c::collect_open_init,
|
||||
&dMw_c::collect_move_init,
|
||||
&dMw_c::collect_close_init,
|
||||
&dMw_c::fmap_open_init,
|
||||
&dMw_c::fmap_move_init,
|
||||
&dMw_c::fmap_close_init,
|
||||
&dMw_c::dmap_open_init,
|
||||
&dMw_c::dmap_move_init,
|
||||
&dMw_c::dmap_close_init,
|
||||
&dMw_c::collect_save_open_init,
|
||||
&dMw_c::collect_save_move_init,
|
||||
&dMw_c::collect_save_close_init,
|
||||
&dMw_c::collect_option_open_init,
|
||||
&dMw_c::collect_option_move_init,
|
||||
&dMw_c::collect_option_close_init,
|
||||
&dMw_c::collect_letter_open_init,
|
||||
&dMw_c::collect_letter_move_init,
|
||||
&dMw_c::collect_letter_close_init,
|
||||
&dMw_c::collect_fishing_open_init,
|
||||
&dMw_c::collect_fishing_move_init,
|
||||
&dMw_c::collect_fishing_close_init,
|
||||
&dMw_c::collect_skill_open_init,
|
||||
&dMw_c::collect_skill_move_init,
|
||||
&dMw_c::collect_skill_close_init,
|
||||
&dMw_c::collect_insect_open_init,
|
||||
&dMw_c::collect_insect_move_init,
|
||||
&dMw_c::collect_insect_close_init,
|
||||
&dMw_c::insect_open_init,
|
||||
&dMw_c::insect_open2_init,
|
||||
&dMw_c::insect_move_init,
|
||||
&dMw_c::insect_close_init,
|
||||
}; */
|
||||
|
||||
/* 803BEC4C-803BEC58 -00001 000C+00 0/1 0/0 0/0 .data @4311 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
|
|
@ -1120,6 +1159,45 @@ SECTION_DATA static u8 move_proc[420] = {
|
|||
0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* typedef void (dMw_c::*procFunc)();
|
||||
SECTION_DATA procFunc move_proc[] = {
|
||||
&dMw_c::key_wait_proc,
|
||||
&dMw_c::ring_open_proc,
|
||||
&dMw_c::ring_move_proc,
|
||||
&dMw_c::ring_close_proc,
|
||||
&dMw_c::collect_open_proc,
|
||||
&dMw_c::collect_move_proc,
|
||||
&dMw_c::collect_close_proc,
|
||||
&dMw_c::fmap_open_proc,
|
||||
&dMw_c::fmap_move_proc,
|
||||
&dMw_c::fmap_close_proc,
|
||||
&dMw_c::dmap_open_proc,
|
||||
&dMw_c::dmap_move_proc,
|
||||
&dMw_c::dmap_close_proc,
|
||||
&dMw_c::collect_save_open_proc,
|
||||
&dMw_c::collect_save_move_proc,
|
||||
&dMw_c::collect_save_close_proc,
|
||||
&dMw_c::collect_option_open_proc,
|
||||
&dMw_c::collect_option_move_proc,
|
||||
&dMw_c::collect_option_close_proc,
|
||||
&dMw_c::collect_letter_open_proc,
|
||||
&dMw_c::collect_letter_move_proc,
|
||||
&dMw_c::collect_letter_close_proc,
|
||||
&dMw_c::collect_fishing_open_proc,
|
||||
&dMw_c::collect_fishing_move_proc,
|
||||
&dMw_c::collect_fishing_close_proc,
|
||||
&dMw_c::collect_skill_open_proc,
|
||||
&dMw_c::collect_skill_move_proc,
|
||||
&dMw_c::collect_skill_close_proc,
|
||||
&dMw_c::collect_insect_open_proc,
|
||||
&dMw_c::collect_insect_move_proc,
|
||||
&dMw_c::collect_insect_close_proc,
|
||||
&dMw_c::insect_open_proc,
|
||||
&dMw_c::insect_open2_proc,
|
||||
&dMw_c::insect_move_proc,
|
||||
&dMw_c::insect_close_proc,
|
||||
}; */
|
||||
|
||||
/* 801FA13C-801FA220 1F4A7C 00E4+00 2/0 0/0 0/0 .text key_wait_init__5dMw_cFUc */
|
||||
void dMw_c::key_wait_init(u8 menu_status) {
|
||||
dMeter2Info_setWindowStatus(0);
|
||||
|
|
@ -1238,12 +1316,13 @@ void dMw_c::collect_move_init(u8 menu_status) {
|
|||
|
||||
/* 801FA46C-801FA538 1F4DAC 00CC+00 1/0 0/0 0/0 .text collect_close_init__5dMw_cFUc */
|
||||
void dMw_c::collect_close_init(u8 param_0) {
|
||||
if (mpMenuCollect->getSubWindowOpenCheck() != 1 &&
|
||||
mpMenuCollect->getSubWindowOpenCheck() != 2) {
|
||||
if (mpMenuCollect->getSubWindowOpenCheck() != 1 && mpMenuCollect->getSubWindowOpenCheck() != 2)
|
||||
{
|
||||
if (mpMenuCollect->getSubWindowOpenCheck() == 3 ||
|
||||
mpMenuCollect->getSubWindowOpenCheck() == 4 ||
|
||||
mpMenuCollect->getSubWindowOpenCheck() == 5 ||
|
||||
mpMenuCollect->getSubWindowOpenCheck() == 6) {
|
||||
mpMenuCollect->getSubWindowOpenCheck() == 6)
|
||||
{
|
||||
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_SUB_IN, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
} else {
|
||||
|
|
@ -1495,8 +1574,8 @@ void dMw_c::collect_move_proc() {
|
|||
if (mpMenuCollect->getSubWindowOpenCheck()) {
|
||||
mMenuStatus = COLLECT_CLOSE;
|
||||
} else {
|
||||
if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) ||
|
||||
mpMenuCollect->isOutCheck()) {
|
||||
if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) || mpMenuCollect->isOutCheck())
|
||||
{
|
||||
mMenuStatus = COLLECT_CLOSE;
|
||||
} else {
|
||||
mpMenuCollect->_move();
|
||||
|
|
@ -2033,7 +2112,8 @@ void dMw_c::dMw_fmap_create() {
|
|||
if (dMeter2Info_getMapKeyDirection() == 0x400 || dMeter2Info_getMapStatus() == 3 ||
|
||||
dMeter2Info_getMapStatus() == 4 || dMeter2Info_getMapStatus() == 5 ||
|
||||
dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 ||
|
||||
dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6) {
|
||||
dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6)
|
||||
{
|
||||
tmp = 1;
|
||||
} else if (dMeter2Info_getMapKeyDirection() == 0x200) {
|
||||
tmp = 3;
|
||||
|
|
@ -2330,7 +2410,8 @@ BOOL dMw_c::dMw_isPush_S_Button() {
|
|||
if (isFadeNowCheck()) {
|
||||
if (daPy_getLinkPlayerActorClass()->getClothesChangeWaitTimer() == 0 &&
|
||||
daPy_getLinkPlayerActorClass()->getShieldChangeWaitTimer() == 0 &&
|
||||
daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0) {
|
||||
daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0)
|
||||
{
|
||||
if (dMw_START_TRIGGER() || dMw_B_TRIGGER()) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -2414,7 +2495,8 @@ bool dMw_c::isEventCheck() {
|
|||
dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 ||
|
||||
dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6 ||
|
||||
dMeter2Info_getMapStatus() == 3 || dMeter2Info_isMenuInForce(2) ||
|
||||
dMeter2Info_getPauseStatus() == 8)) {
|
||||
dMeter2Info_getPauseStatus() == 8))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
@ -2493,6 +2575,47 @@ int dMw_c::_create() {
|
|||
}
|
||||
|
||||
/* 801FD2D8-801FD450 1F7C18 0178+00 1/1 0/0 0/0 .text _execute__5dMw_cFv */
|
||||
// matches with sinit
|
||||
#ifdef NONMATCHING
|
||||
int dMw_c::_execute() {
|
||||
if (field_0x151 != 0) {
|
||||
field_0x151--;
|
||||
}
|
||||
|
||||
JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap);
|
||||
u8 old_proc = mMenuStatus;
|
||||
mpStick->checkTrigger();
|
||||
|
||||
if (dMw_isMenuRing()) {
|
||||
mpCStick->checkTrigger();
|
||||
checkCStickTrigger();
|
||||
}
|
||||
|
||||
if (i_dComIfGp_event_runCheck()) {
|
||||
field_0x148 = 5;
|
||||
} else if (field_0x148 > 0) {
|
||||
field_0x148--;
|
||||
} else {
|
||||
field_0x148 = 0;
|
||||
}
|
||||
|
||||
(this->*move_proc[mMenuStatus])();
|
||||
if (mMenuStatus != old_proc) {
|
||||
(this->*init_proc[mMenuStatus])(old_proc);
|
||||
}
|
||||
|
||||
if (!mDoCPd_c::getHoldLockL(PAD_1) && dMw_isButtonBit(1)) {
|
||||
dMw_offButtonBit(1);
|
||||
}
|
||||
|
||||
if (!mDoCPd_c::getHoldLockR(PAD_1) && dMw_isButtonBit(2)) {
|
||||
dMw_offButtonBit(2);
|
||||
}
|
||||
|
||||
mDoExt_setCurrentHeap(old_heap);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -2501,6 +2624,7 @@ asm int dMw_c::_execute() {
|
|||
#include "asm/d/menu/d_menu_window/_execute__5dMw_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801FD450-801FD67C 1F7D90 022C+00 1/1 0/0 0/0 .text _draw__5dMw_cFv */
|
||||
int dMw_c::_draw() {
|
||||
|
|
@ -2646,8 +2770,7 @@ static int dMw_Create(msg_class* p_menu) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_menu_window_cpp() {
|
||||
nofralloc
|
||||
asm void __sinit_d_menu_window_cpp(){nofralloc
|
||||
#include "asm/d/menu/d_menu_window/__sinit_d_menu_window_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
|
|
|||
Loading…
Reference in New Issue