summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2023-03-17 21:05:06 -0600
committerGitHub <noreply@github.com>2023-03-17 21:05:06 -0600
commit3cdef97cb8648cf5a5f2151938c5fa8d66056751 (patch)
treee96e03eb21c61f9aa4cd2868724b55b4872a190b /src
parenta01d65b0b99400f62d93eee28475872b641cfd50 (diff)
d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)
* setup TU * JASResArcLoader OK * d_a_obj_stoneMark work * some funcs in d_a_obj_stoneMark * many changes * quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile * d_file_select functions + pr cleanup
Diffstat (limited to 'src')
-rw-r--r--src/d/a/d_a_alink.cpp22
-rw-r--r--src/d/a/d_a_alink_boom.inc2
-rw-r--r--src/d/a/d_a_alink_canoe.inc2
-rw-r--r--src/d/a/d_a_alink_link.inc12
-rw-r--r--src/d/d_lib.cpp7
-rw-r--r--src/d/file/d_file_select.cpp1011
-rw-r--r--src/d/s/d_s_name.cpp1
-rw-r--r--src/m_Do/m_Do_ext.cpp18
-rw-r--r--src/m_Do/m_Do_machine.cpp68
9 files changed, 406 insertions, 737 deletions
diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp
index 8bdc9c40ff..f8503a5df4 100644
--- a/src/d/a/d_a_alink.cpp
+++ b/src/d/a/d_a_alink.cpp
@@ -12285,12 +12285,12 @@ void daAlink_c::setSelectEquipItem(int param_0) {
}
if (checkWoodSwordEquip()) {
- if (mEquipItem == 0x103 || param_0 != 0) {
+ if (mEquipItem == EQUIP_SWORD || param_0 != 0) {
mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
} else {
mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->show();
}
- } else if (mEquipItem == 0x103 || param_0 != 0) {
+ } else if (mEquipItem == EQUIP_SWORD || param_0 != 0) {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show();
} else {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
@@ -13911,7 +13911,7 @@ const daAlink_BckData* daAlink_c::getMainBckData(daAlink_c::daAlink_ANM i_anmID)
return &m_mainBckShield[i_anmID];
}
- if ((mEquipItem == 0x103 && i_anmID < 0x15 && i_anmID >= 0x10) ||
+ if ((mEquipItem == EQUIP_SWORD && i_anmID < 0x15 && i_anmID >= 0x10) ||
(i_anmID == ANM_SWIM_WAIT && mEquipItem != NO_ITEM))
{
return &m_mainBckSword[i_anmID - 0x10];
@@ -15569,7 +15569,7 @@ asm int daAlink_c::checkItemActionInitStart() {
/* 800B7090-800B7168 0B19D0 00D8+00 1/1 0/0 0/0 .text checkItemChangeAutoAction__9daAlink_cFv */
int daAlink_c::checkItemChangeAutoAction() {
if (i_checkResetFlg0(RFLG0_UNK_80)) {
- if (mEquipItem == 0x103) {
+ if (mEquipItem == EQUIP_SWORD) {
if (i_checkModeFlg(0x40000)) {
return 0;
}
@@ -16030,9 +16030,9 @@ void daAlink_c::allUnequip(int param_0) {
itemEquip(KANTERA);
i_onNoResetFlg1(FLG1_UNK_40);
return;
- } else if (mEquipItem == 0x103) {
+ } else if (mEquipItem == EQUIP_SWORD) {
swordUnequip();
- } else if (mEquipItem == 0x102) {
+ } else if (mEquipItem == noentry71) {
deleteEquipItem(0, 0);
field_0x2060->initOldFrameMorf(lit_7808, 0, 35);
} else {
@@ -16072,7 +16072,7 @@ BOOL daAlink_c::checkItemChangeFromButton() {
if (doTrigger() && i_dComIfGp_getDoStatus() == 4) {
if (mEquipItem != KANTERA && i_checkNoResetFlg2(FLG2_UNK_1)) {
offKandelaarModel();
- } else if (mSwordFlourishTimer != 0 && mEquipItem == 0x103 &&
+ } else if (mSwordFlourishTimer != 0 && mEquipItem == EQUIP_SWORD &&
!checkWoodSwordEquip() && !i_checkModeFlg(0x402))
{
return procSwordUnequipSpInit();
@@ -16246,7 +16246,7 @@ int daAlink_c::checkNextAction(int param_0) {
setSpeedAndAngleAtn();
} else if (((!checkUpperReadyThrowAnime() || mFastShotTime != 0) ||
(checkBoomerangThrowAnime() &&
- (mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == 0x102 ||
+ (mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == noentry71 ||
i_checkNoResetFlg1(FLG1_UNK_2)))) ||
(checkCopyRodThrowAnime() &&
(mCopyRodAcKeep.getActor() != NULL || i_checkNoResetFlg1(FLG1_UNK_10000))))
@@ -17059,7 +17059,7 @@ void daAlink_c::setLastSceneMode(u32* o_mode) {
*o_mode |= 0x200000;
}
- if (mEquipItem == 0x103) {
+ if (mEquipItem == EQUIP_SWORD) {
*o_mode |= 0x28000000;
} else if (mEquipItem < NO_ITEM) {
*o_mode |= mEquipItem << 0x18;
@@ -17531,7 +17531,7 @@ BOOL daAlink_c::setItemModel() {
return 1;
}
- if (mEquipItem == 0x103) {
+ if (mEquipItem == EQUIP_SWORD) {
setSwordModel();
return 1;
}
@@ -18300,7 +18300,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
i_dComIfGp_clearPlayerStatus1(0,0x7fb7b78);
cancelHookshotShot();
- if (mEquipItem == 0x109) {
+ if (mEquipItem == noentry77) {
deleteEquipItem(0, 0);
}
diff --git a/src/d/a/d_a_alink_boom.inc b/src/d/a/d_a_alink_boom.inc
index d93b25eb7d..7985708fa6 100644
--- a/src/d/a/d_a_alink_boom.inc
+++ b/src/d/a/d_a_alink_boom.inc
@@ -141,7 +141,7 @@ BOOL daAlink_c::checkBoomerangAnime() const {
/* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */
BOOL daAlink_c::checkBoomerangThrowAnime() const {
- return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) &&
+ return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == noentry71) &&
checkUpperAnime(0x53);
}
diff --git a/src/d/a/d_a_alink_canoe.inc b/src/d/a/d_a_alink_canoe.inc
index 856f426dcd..e3557ac28e 100644
--- a/src/d/a/d_a_alink_canoe.inc
+++ b/src/d/a/d_a_alink_canoe.inc
@@ -109,7 +109,7 @@ BOOL daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const {
/* 800F3EB8-800F3F38 0EE7F8 0080+00 0/0 0/0 2/2 .text
* checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c */
BOOL daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const {
- return mEquipItem == 0x10B && checkCanoeRideOwn(param_0);
+ return mEquipItem == noentry79 && checkCanoeRideOwn(param_0);
}
/* 800F3F38-800F3FC4 0EE878 008C+00 0/0 0/0 1/1 .text checkCanoeFishingRodGrabOrPut__9daAlink_cCFv
diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc
index ea2fb7b208..55c8ec1dca 100644
--- a/src/d/a/d_a_alink_link.inc
+++ b/src/d/a/d_a_alink_link.inc
@@ -972,7 +972,7 @@ int daAlink_c::procBackJump() {
offModeFlg(0x2000);
}
- if (checkCutTurnInput() && mEquipItem == 0x103) {
+ if (checkCutTurnInput() && mEquipItem == EQUIP_SWORD) {
field_0x3198 = getCutTurnDirection();
}
@@ -1031,7 +1031,7 @@ int daAlink_c::procBackJumpLand() {
checkNextAction(0);
}
} else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCheckFrame) {
- if (mEquipItem == 0x103 && (field_0x3198 != 2 || checkCutTurnInput())) {
+ if (mEquipItem == EQUIP_SWORD && (field_0x3198 != 2 || checkCutTurnInput())) {
return procCutTurnInit(1, field_0x3198);
}
@@ -1795,7 +1795,7 @@ int daAlink_c::execute() {
if (dComIfGp_event_runCheck()) {
field_0x3184 = dComIfGp_evmng_getMyStaffId("Alink", this, 0);
- if (mEvtInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) && mEquipItem == 0x102) {
+ if (mEvtInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) && mEquipItem == noentry71) {
deleteEquipItem(FALSE, FALSE);
}
}
@@ -1870,7 +1870,7 @@ int daAlink_c::execute() {
field_0x2f9d = 0;
field_0x2fc1 = 6;
- if (!checkSwordGet() && mEquipItem == 0x103) {
+ if (!checkSwordGet() && mEquipItem == EQUIP_SWORD) {
deleteEquipItem(FALSE, FALSE);
}
@@ -2068,7 +2068,7 @@ int daAlink_c::execute() {
}
}
- if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == 0x103) {
+ if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == EQUIP_SWORD) {
mSwordFlourishTimer = daAlinkHIO_cut_c0::m.mFlourishTime;
}
@@ -3648,7 +3648,7 @@ s32 daAlink_c::getItemID() const {
/* 800D0370-800D038C 0CACB0 001C+00 1/0 0/0 0/0 .text getGrabActorID__9daAlink_cCFv */
s32 daAlink_c::getGrabActorID() const {
- if (mEquipItem == 0x102) {
+ if (mEquipItem == noentry71) {
return mItemAcKeep.getID();
} else {
return mGrabItemAcKeep.getID();
diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp
index 1716be27b7..1f95b31806 100644
--- a/src/d/d_lib.cpp
+++ b/src/d/d_lib.cpp
@@ -77,8 +77,11 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
/* ############################################################################################## */
/* 803A7240-803A7250 004360 0010+00 0/0 0/0 6/6 .data ZeroQuat */
-SECTION_DATA extern u8 ZeroQuat[16] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
+Quaternion ZeroQuat = {
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 1.0f
};
/* 803A7250-803A7260 004370 0010+00 0/0 1/1 0/0 .data __vt__10CSTControl */
diff --git a/src/d/file/d_file_select.cpp b/src/d/file/d_file_select.cpp
index 8e4a48d54f..ad00d8473a 100644
--- a/src/d/file/d_file_select.cpp
+++ b/src/d/file/d_file_select.cpp
@@ -1,557 +1,15 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/file/d_file_select
-//
+/**
+ * d_file_select.cpp
+ * dolzel2 - Quest Log Management (File Select Menu)
+ */
+
+// temp hack to get the TU to match
+#define __dt__15J2DAnmTransformFv_DEFINED
#include "d/file/d_file_select.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Types:
-//
-
-struct mDoRst {
- static u8 mResetData[4 + 4 /* padding */];
-};
-
-struct mDoMtx_stack_c {
- static u8 now[48];
-};
-
-struct mDoMemCd_Ctrl_c {
- /* 800169B4 */ void load();
- /* 80016AB0 */ void LoadSync(void*, u32, u32);
- /* 80016B58 */ void save(void*, u32, u32);
- /* 80016CE0 */ void SaveSync();
- /* 80016D74 */ void getStatus(u32);
- /* 80016E58 */ void command_format();
- /* 80016F2C */ void FormatSync();
-};
-
-struct mDoGph_gInf_c {
- static u8 mFadeColor[4];
- static u8 mFader[4];
-};
-
-struct J3DMaterialTable {};
-
-struct J3DModelData {};
-
-struct J3DAnmTevRegKey {
- /* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
-};
-
-struct mDoExt_brkAnm {
- /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
- /* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
-};
-
-struct J3DAnmTransform {};
-
-struct mDoExt_bckAnm {
- /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
- /* 8000D9CC */ void entry(J3DModelData*, f32);
-};
-
-struct mDoExt_baseAnm {
- /* 8000D428 */ void play();
-};
-
-struct mDoCPd_c {
- static u8 m_cpadInfo[256];
-};
-
-struct dSv_save_c {};
-
-struct dSv_player_get_item_c {
- /* 80033EC8 */ void isFirstBit(u8) const;
-};
-
-struct dSv_player_collect_c {
- /* 8003424C */ void isCollectCrystal(u8) const;
- /* 80034290 */ void isCollectMirror(u8) const;
-};
-
-struct dSv_info_c {
- /* 80034FCC */ void init();
- /* 80035A04 */ void card_to_memory(char*, int);
- /* 80035BD0 */ void initdata_to_card(char*, int);
-};
-
-struct dSv_event_c {
- /* 800349BC */ void isEventBit(u16) const;
-};
-
-struct J2DAnmTextureSRTKey {
- /* 80184274 */ ~J2DAnmTextureSRTKey();
-};
-
-struct JGeometry {
- template <typename A1>
- struct TBox2 {};
- /* TBox2<f32> */
- struct TBox2__template0 {};
-};
-
-struct J2DPane {
- /* 8018BF28 */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 802F5E88 */ J2DPane(u64, JGeometry::TBox2<f32> const&);
- /* 802F6714 */ void insertChild(J2DPane*, J2DPane*);
- /* 802F7FCC */ void animationTransform();
-};
-
-struct JKRArchive {};
-
-struct dSelect_cursor_c {
- /* 80194220 */ dSelect_cursor_c(u8, f32, JKRArchive*);
- /* 801950F4 */ void setPos(f32, f32, J2DPane*, bool);
- /* 801951B0 */ void setParam(f32, f32, f32, f32, f32);
- /* 801952A0 */ void setAlphaRate(f32);
-};
-
-struct dKy_tevstr_c {};
-
-struct cXyz {
- static f32 Zero[3];
-};
-
-struct dScnKy_env_light_c {
- /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
- /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
-};
-
-struct dName_c {
- /* 8024E408 */ dName_c(J2DPane*);
- /* 8024E7A4 */ void initial();
- /* 8024E7EC */ void showIcon();
- /* 8024E9A0 */ void _move();
- /* 80250560 */ void _draw();
-};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct J2DTextBox {
- /* 80186C84 */ void setWhite(JUtility::TColor);
- /* 80300658 */ void getStringPtr() const;
- /* 80300660 */ void setString(char const*, ...);
- /* 8030074C */ void setString(s16, char const*, ...);
-};
-
-struct JUTFont {};
-
-struct COutFont_c {};
-
-struct dMsgString_c {
- /* 80191B6C */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8);
- /* 80249C20 */ dMsgString_c();
- /* 80249D28 */ ~dMsgString_c();
-};
-
-struct dMsgStringBase_c {
- /* 80249768 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8);
-};
-
-struct JMSMesgEntry_c {};
-
-struct dMeter2Info_c {
- /* 8021C238 */ void decMsgKeyWaitTimer();
- /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
-};
-
-struct dFs_HIO_c {
- /* 801835F8 */ dFs_HIO_c();
- /* 801913E0 */ ~dFs_HIO_c();
-};
-
-struct dFile_warning_c {
- /* 80191BAC */ dFile_warning_c(JKRArchive*, u8);
- /* 80191F18 */ void _move();
- /* 801920B8 */ void openInit();
- /* 8019210C */ void closeInit();
- /* 80192160 */ void init();
- /* 80192190 */ void _draw();
-};
-
-struct dFile_select_c {
- /* 8018366C */ dFile_select_c(JKRArchive*);
- /* 8018375C */ ~dFile_select_c();
- /* 801843CC */ void _create();
- /* 801844FC */ void _move();
- /* 80184664 */ void selFileWakuAnm();
- /* 801848A0 */ void bookIconAnm();
- /* 8018499C */ void selCopyFileWakuAnm();
- /* 80184A48 */ void copyBookIconAnm();
- /* 80184B44 */ void dataDelEffAnm();
- /* 80184BFC */ void dataCopyEffAnm();
- /* 80184CB4 */ void selectDataBaseMoveAnmInitSet(int, int);
- /* 80184D4C */ void selectDataBaseMoveAnm();
- /* 80184E38 */ void dataSelectInAnmSet();
- /* 80185040 */ void dataSelectIn();
- /* 80185230 */ void dataSelectInit();
- /* 801853C4 */ void dataSelect();
- /* 80185508 */ void dataSelectStart();
- /* 80185994 */ void selectDataMoveAnmInitSet(int, int);
- /* 80185AAC */ void selectDataMoveAnm();
- /* 80185C2C */ void dataSelectAnmSet();
- /* 80185DE0 */ void dataSelectMoveAnime();
- /* 80186088 */ void makeRecInfo(u8);
- /* 801864DC */ void selectDataOpenMove();
- /* 80186638 */ void selectDataNameMove();
- /* 801866C8 */ void selectDataOpenEraseMove();
- /* 80186774 */ void menuSelect();
- /* 801868EC */ void menuSelectStart();
- /* 80186A80 */ void menuSelectCansel();
- /* 80186B48 */ void menuMoveAnmInitSet(int, int);
- /* 80186CAC */ void menuMoveAnm();
- /* 80186E14 */ void menuSelectAnmSet();
- /* 80186F98 */ void menuSelectMoveAnm();
- /* 8018721C */ void ToNameMove();
- /* 801872C4 */ void ToNameMove2();
- /* 80187384 */ void nameInputWait();
- /* 801873BC */ void nameInput();
- /* 801874F8 */ void nameToDataSelectMove();
- /* 8018759C */ void nameInputFade();
- /* 801876A0 */ void nameInput2Move();
- /* 8018774C */ void nameInput2();
- /* 80187824 */ void backNameInputMove0();
- /* 80187908 */ void backNameInputMove();
- /* 801879B8 */ void ToCopyPaneMove();
- /* 80187ADC */ void ToErasePaneMove();
- /* 80187B44 */ void backSelectMove();
- /* 80187BE8 */ void copySelMoveAnmInitSet(int, int);
- /* 80187DB8 */ void setSaveDataForCopySel();
- /* 80187ED4 */ void copyDataToSelect();
- /* 8018801C */ void copyDataToSelectStart();
- /* 80188234 */ void copyDataToSelectCansel();
- /* 8018832C */ void copyDataToSelectMoveAnmSet();
- /* 801884D0 */ void copyDataToSelectMoveAnm();
- /* 80188834 */ void copySelectWakuAlpahAnmInit(u8, u8, u8, u8);
- /* 80188878 */ void copySelectWakuAlpahAnm(u8);
- /* 80188950 */ void getCptoNum(u8);
- /* 80188994 */ void copyToSelBack();
- /* 80188B54 */ void copyToSelPaneMove();
- /* 80188BBC */ void yesnoMenuMoveAnmInitSet(int, int);
- /* 80188D38 */ void yesnoMenuMoveAnm();
- /* 80188ED0 */ void yesnoSelectMoveAnm();
- /* 8018912C */ void yesnoCursorShow();
- /* 8018929C */ void YesNoSelect();
- /* 801893E4 */ void yesNoSelectStart();
- /* 8018978C */ void yesnoSelectAnmSet();
- /* 80189904 */ void yesnoCancelAnmSet();
- /* 80189A24 */ void YesNoCancelMove();
- /* 80189BA8 */ void yesNoCursorMoveAnm();
- /* 80189C14 */ void CmdExecPaneMove0();
- /* 80189E28 */ void CommandExec();
- /* 80189F68 */ void DataEraseWait();
- /* 80189FFC */ void DataEraseWait2();
- /* 8018A194 */ void ErasePaneMoveOk();
- /* 8018A2DC */ void ErasePaneMoveOk2();
- /* 8018A3B0 */ void eraseEndBackSelectWait();
- /* 8018A444 */ void eraseEndBackSelect();
- /* 8018A4D0 */ void DataCopyWait();
- /* 8018A564 */ void DataCopyWait2();
- /* 8018A6F8 */ void copyPaneMoveOk();
- /* 8018A868 */ void copyPaneMoveOk2();
- /* 8018A960 */ void ErrorMsgPaneMove();
- /* 8018AAC4 */ void backDatSelPaneMove();
- /* 8018AC3C */ void backDatSelWait();
- /* 8018AD38 */ void backDatSelWait2();
- /* 8018AD9C */ void nextModeWait();
- /* 8018ADA0 */ void screenSet();
- /* 8018BF2C */ void screenSetCopySel();
- /* 8018C524 */ void screenSetYesNo();
- /* 8018C8F4 */ void screenSet3Menu();
- /* 8018CCD0 */ void screenSetDetail();
- /* 8018CE38 */ void setWakuAnm();
- /* 8018CF50 */ void displayInit();
- /* 8018D044 */ void setSaveData();
- /* 8018D0E4 */ void headerTxtSet(u16, u8, u8);
- /* 8018D25C */ void headerTxtChangeAnm();
- /* 8018D344 */ void modoruTxtChange(u8);
- /* 8018D3A0 */ void modoruTxtDispAnmInit(u8);
- /* 8018D41C */ void modoruTxtDispAnm();
- /* 8018D4F8 */ void ketteiTxtDispAnmInit(u8);
- /* 8018D574 */ void ketteiTxtDispAnm();
- /* 8018D650 */ void selectWakuAlpahAnmInit(u8, u8, u8, u8);
- /* 8018D68C */ void selectWakuAlpahAnm(u8);
- /* 8018D764 */ void selFileCursorShow();
- /* 8018D884 */ void menuWakuAlpahAnmInit(u8, u8, u8, u8);
- /* 8018D8C8 */ void menuWakuAlpahAnm(u8);
- /* 8018DA10 */ void menuCursorShow();
- /* 8018DB80 */ void yesnoWakuAlpahAnmInit(u8, u8, u8, u8);
- /* 8018DBCC */ void yesnoWakuAlpahAnm(u8);
- /* 8018DD38 */ void _draw();
- /* 8018E130 */ void errorMoveAnmInitSet(int, int);
- /* 8018E1C0 */ void errorMoveAnm();
- /* 8018E2B4 */ void errDispInitSet(int, int);
- /* 8018E4CC */ void MemCardCheckMain();
- /* 8018E504 */ void MemCardStatCheck();
- /* 8018E7C4 */ void MemCardLoadWait();
- /* 8018E93C */ void MemCardErrMsgWaitKey();
- /* 8018E9B0 */ void noFileSpaceDispInit();
- /* 8018E9D4 */ void MemCardNoFileSpaceDisp();
- /* 8018EA3C */ void iplSelDispInit();
- /* 8018EA90 */ void MemCardGotoIPLSelectDisp();
- /* 8018EB10 */ void MemCardGotoIPLSelect();
- /* 8018EBCC */ void MemCardGotoIPL();
- /* 8018EC4C */ void noSaveSelDispInit();
- /* 8018ECBC */ void MemCardNoSaveSelDisp();
- /* 8018ED80 */ void MemCardErrMsgWaitNoSaveSel();
- /* 8018EF5C */ void formatYesSelDispInitSet();
- /* 8018EFAC */ void formatNoSelDispInitSet();
- /* 8018EFFC */ void MemCardFormatYesSelDisp();
- /* 8018F080 */ void MemCardFormatNoSelDisp();
- /* 8018F128 */ void MemCardErrMsgWaitFormatSel();
- /* 8018F17C */ void formatYesSel2DispInitSet();
- /* 8018F1CC */ void MemCardErrMsgWaitFormatSel2();
- /* 8018F228 */ void MemCardFormatYesSel2Disp();
- /* 8018F2A4 */ void MemCardFormat();
- /* 8018F304 */ void MemCardFormatWait();
- /* 8018F374 */ void MemCardFormatCheck();
- /* 8018F400 */ void MemCardMakeGameFileSel();
- /* 8018F488 */ void MemCardMakeGameFileSelDisp();
- /* 8018F580 */ void MemCardMakeGameFile();
- /* 8018F5E0 */ void MemCardMakeGameFileWait();
- /* 8018F650 */ void MemCardMakeGameFileCheck();
- /* 8018F6DC */ void MemCardMsgWindowInitOpen();
- /* 8018F8D8 */ void MemCardMsgWindowOpen();
- /* 8018F974 */ void MemCardMsgWindowClose();
- /* 8018FA2C */ void errYesNoSelect();
- /* 8018FB80 */ void errCurMove(u8);
- /* 8018FBF8 */ void MemCardErrYesNoCursorMoveAnm();
- /* 8018FC64 */ void errorTxtSet(u16);
- /* 8018FD30 */ void errorTxtChangeAnm();
- /* 8018FE18 */ void fileRecScaleAnm();
- /* 8018FE64 */ void fileRecScaleAnmInitSet2(f32, f32);
- /* 8018FEF4 */ void fileRecScaleAnm2();
- /* 8018FF9C */ void fileInfoScaleAnm();
- /* 80190074 */ void nameMoveAnmInitSet(int, int);
- /* 80190124 */ void nameMoveAnm();
- /* 80190208 */ void MemCardSaveDataClear();
- /* 80190254 */ void setInitSaveData();
- /* 801902B8 */ void dataSave();
-};
-
-struct dFile_select3D_c {
- /* 801902F0 */ dFile_select3D_c();
- /* 80190380 */ ~dFile_select3D_c();
- /* 801903DC */ void _create(u8, u8);
- /* 8019049C */ void _delete();
- /* 801904A0 */ void freeHeap();
- /* 801904E4 */ void _move();
- /* 801905A8 */ void draw();
- /* 8019065C */ void setJ3D(char const*, char const*, char const*);
- /* 8019095C */ void set_mtx();
- /* 80190A14 */ void animePlay();
- /* 80190B44 */ void animeEntry();
- /* 80190BA8 */ void createMaskModel();
- /* 80190D68 */ void createMirrorModel();
- /* 80190FE8 */ void toItem3Dpos(f32, f32, f32, cXyz*);
- /* 801910D4 */ void calcViewMtx(f32 (*)[4]);
-};
-
-struct dFile_info_c {
- /* 80192434 */ dFile_info_c(JKRArchive*, u8);
- /* 80192954 */ void setSaveData(dSv_save_c*, int, u8);
- /* 80192D60 */ void _draw();
-};
-
-struct dDlst_base_c {};
-
-struct dDlst_list_c {
- /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
-};
-
-struct dDlst_FileSel_c {
- /* 8018DEBC */ void draw();
- /* 8019135C */ ~dDlst_FileSel_c();
-};
-
-struct dDlst_FileSelYn_c {
- /* 8018E0C0 */ void draw();
- /* 801911F4 */ ~dDlst_FileSelYn_c();
-};
-
-struct dDlst_FileSelDt_c {
- /* 8018DEF4 */ void draw();
- /* 801912E4 */ ~dDlst_FileSelDt_c();
-};
-
-struct dDlst_FileSelCp_c {
- /* 8018DFFC */ void draw();
- /* 8019126C */ ~dDlst_FileSelCp_c();
-};
-
-struct dDlst_FileSel3m_c {
- /* 8018E0F8 */ void draw();
- /* 8019117C */ ~dDlst_FileSel3m_c();
-};
-
-struct dComIfG_play_c {
- /* 8002B2C8 */ void itemInit();
-};
-
-struct JAISoundID {};
-
-struct Vec {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
- /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct STControl {
- /* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
- /* 8003219C */ void checkTrigger();
- /* 8003242C */ void checkLeftTrigger();
- /* 800324A8 */ void checkRightTrigger();
- /* 80032524 */ void checkUpTrigger();
- /* 800325A0 */ void checkDownTrigger();
-};
-
-struct ResTLUT {};
-
-struct ResTIMG {};
-
-struct JUTNameTab {
- /* 80191134 */ ~JUTNameTab();
-};
-
-struct JKRSolidHeap {
- /* 802D0BF4 */ void adjustSize();
-};
-
-struct JKRHeap {};
-
-struct JKRFileLoader {
- /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
-};
-
-struct JKRExpHeap {};
-
-struct JFWDisplay {
- static u8 sManager[4];
-};
-
-struct J3DVertexBuffer {
- /* 80310FD8 */ void init();
-};
-
-struct J3DTransformInfo {};
-
-struct J3DTexNoAnm {
- /* 8003B1F8 */ ~J3DTexNoAnm();
- /* 8003B240 */ J3DTexNoAnm();
-};
-
-struct J3DTexMtxAnm {
- /* 8003B264 */ ~J3DTexMtxAnm();
- /* 8003B2A0 */ J3DTexMtxAnm();
-};
-
-struct J3DTevKColorAnm {
- /* 8003B150 */ ~J3DTevKColorAnm();
- /* 8003B18C */ J3DTevKColorAnm();
-};
-
-struct J3DTevColorAnm {
- /* 8003B1A4 */ ~J3DTevColorAnm();
- /* 8003B1E0 */ J3DTevColorAnm();
-};
-
-struct J3DModelLoaderDataBase {
- /* 803346BC */ void load(void const*, u32);
-};
-
-struct J3DModel {
- /* 80327100 */ void initialize();
- /* 80327184 */ void entryModelData(J3DModelData*, u32, u32);
-};
-
-struct J3DMaterialAnm {
- /* 8032C320 */ void initialize();
-};
-
-struct J3DMatColorAnm {
- /* 8003B2B8 */ ~J3DMatColorAnm();
- /* 8003B2F4 */ J3DMatColorAnm();
-};
-
-struct J3DLightObj {
- /* 80018C0C */ J3DLightObj();
-};
-
-struct J3DLightInfo {
- /* 803256C4 */ void operator=(J3DLightInfo const&);
-};
-
-struct J3DFrameCtrl {
- /* 803283FC */ void init(s16);
-};
-
-struct J3DAnmLoaderDataBaseFlag {};
-
-struct J3DAnmLoaderDataBase {
- /* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag);
-};
-
-struct J2DGrafContext {};
-
-struct J2DScreen {
- /* 802F8498 */ J2DScreen();
- /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
- /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
- /* 802F9690 */ void animation();
-};
-
-struct J2DPicture {
- /* 8018BEE0 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
- /* 802FC800 */ J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
-};
-
-struct J2DAnmTransform {
- /* 80184370 */ ~J2DAnmTransform();
- /* 80191130 */ void getTransform(u16, J3DTransformInfo*) const;
-};
-
-struct J2DAnmTevRegKey {
- /* 801841EC */ ~J2DAnmTevRegKey();
-};
-
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
-struct J2DAnmColor {
- /* 801842FC */ ~J2DAnmColor();
-};
-
-struct J2DAnmBase {
- /* 800569B0 */ void searchUpdateMaterialID(J2DScreen*);
-};
-
-struct CPaneMgrAlpha {
- /* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 802555C8 */ void show();
- /* 80255608 */ void hide();
- /* 80255878 */ void alphaAnime(s16, u8, u8, u8);
-};
-
-struct CPaneMgr {
- /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 80253B2C */ void reinit();
- /* 802547CC */ void scaleAnime(s16, f32, f32, u8);
- /* 802548BC */ void colorAnime(s16, JUtility::TColor, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, u8);
- /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
-};
//
// Forward References:
@@ -758,7 +216,6 @@ extern "C" extern char const* const d_file_d_file_select__stringBase0;
// External References:
//
-SECTION_INIT void memcpy();
extern "C" void mDoMtx_XYZrotM__FPA4_fsss();
extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs();
extern "C" void play__14mDoExt_baseAnmFv();
@@ -877,13 +334,6 @@ extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void initialize__14J3DMaterialAnmFv();
extern "C" void load__22J3DModelLoaderDataBaseFPCvUl();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
-extern "C" void PSMTXCopy();
-extern "C" void PSMTXConcat();
-extern "C" void PSMTXInverse();
-extern "C" void PSMTXTrans();
-extern "C" void PSMTXScale();
-extern "C" void PSMTXMultVec();
-extern "C" void DVDGetDriveStatus();
extern "C" void __register_global_object();
extern "C" void __construct_array();
extern "C" void __ptmf_test();
@@ -905,9 +355,6 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void __div2i();
-extern "C" void strcpy();
-extern "C" void tan();
-extern "C" extern u8 const j3dDefaultLightInfo[52];
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
extern "C" extern void* __vt__12J3DFrameCtrl[3];
extern "C" extern void* __vt__12dDlst_base_c[3];
@@ -919,14 +366,8 @@ extern "C" extern void* __vt__8J3DModel[9];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" extern u8 g_mDoMemCd_control[8192];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 g_env_light[4880];
-extern "C" extern u8 g_meter2_info[248];
extern "C" f32 Zero__4cXyz[3];
-extern "C" extern u8 j3dSys[284];
extern "C" u8 mFadeColor__13mDoGph_gInf_c[4];
-extern "C" extern u32 g_blackColor;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 sManager__10JFWDisplay[4];
@@ -1001,39 +442,31 @@ SECTION_DATA static u8 SelEndFrameTbl[12] = {
};
/* 803BA86C-803BA878 01798C 000C+00 7/7 0/0 0/0 .data SelOpenStartFrameTbl */
-SECTION_DATA static u8 SelOpenStartFrameTbl[12] = {
- 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x02, 0x88,
+SECTION_DATA static u32 SelOpenStartFrameTbl[3] = {
+ 0x000000F8,
+ 0x000001C0,
+ 0x00000288,
};
/* 803BA878-803BA884 017998 000C+00 7/7 0/0 0/0 .data SelOpenEndFrameTbl */
-SECTION_DATA static u8 SelOpenEndFrameTbl[12] = {
- 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x01, 0xCC, 0x00, 0x00, 0x02, 0x93,
+SECTION_DATA static u32 SelOpenEndFrameTbl[3] = {
+ 0x00000103,
+ 0x000001CC,
+ 0x00000293,
};
/* 803BA884-803BA890 0179A4 000C+00 5/5 0/0 0/0 .data MenuSelStartFrameTbl */
-SECTION_DATA static u8 MenuSelStartFrameTbl[12] = {
- 0x00, 0x00, 0x07, 0xCD, 0x00, 0x00, 0x03, 0x82, 0x00, 0x00, 0x03, 0x90,
+SECTION_DATA static u32 MenuSelStartFrameTbl[3] = {
+ 0x000007CD,
+ 0x00000382,
+ 0x00000390,
};
/* 803BA890-803BA8A0 0179B0 000C+04 3/3 0/0 0/0 .data MenuSelEndFrameTbl */
-SECTION_DATA static u8 MenuSelEndFrameTbl[12 + 4 /* padding */] = {
- 0x00,
- 0x00,
- 0x07,
- 0xDB,
- 0x00,
- 0x00,
- 0x03,
- 0x8E,
- 0x00,
- 0x00,
- 0x03,
- 0x82,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+SECTION_DATA static u32 MenuSelEndFrameTbl[4] = {
+ 0x000007DB,
+ 0x0000038E,
+ 0x00000382,
};
/* 803BA8A0-803BA8B8 0179C0 0018+00 0/2 0/0 0/0 .data l_tagName13 */
@@ -2336,6 +1769,30 @@ SECTION_DATA extern void* __vt__9dFs_HIO_c[3 + 1 /* padding */] = {
SECTION_SDATA2 static f32 lit_3812 = 111.0f / 100.0f;
/* 801835F8-8018366C 17DF38 0074+00 1/1 0/0 0/0 .text __ct__9dFs_HIO_cFv */
+#ifdef NONMATCHING
+// matches with literals
+dFs_HIO_c::dFs_HIO_c() {
+ field_0x0006 = 5;
+ field_0x0007 = 5;
+ field_0x000a = 60;
+ field_0x0008 = 5;
+ field_0x0009 = 15;
+ field_0x0005 = 5;
+ field_0x000b = 15;
+ field_0x000d = 15;
+ field_0x000c = 90;
+ field_0x0010 = 1.11f;
+ field_0x0014 = 1.11f;
+ field_0x0018 = 1.11f;
+ field_0x001c = 0;
+ field_0x001d = 0;
+ field_0x001e = 0;
+ field_0x001f = 0;
+ field_0x0020 = 0;
+ field_0x0021 = 0;
+ field_0x0022 = 0;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2344,8 +1801,17 @@ asm dFs_HIO_c::dFs_HIO_c() {
#include "asm/d/file/d_file_select/__ct__9dFs_HIO_cFv.s"
}
#pragma pop
+#endif
/* 8018366C-8018375C 17DFAC 00F0+00 0/0 1/1 0/0 .text __ct__14dFile_select_cFP10JKRArchive */
+#ifdef NONMATCHING
+// inheritance/vtable mess needs to be fixed first
+dFile_select_c::dFile_select_c(JKRArchive* i_archiveP) {
+ mpArchive = i_archiveP;
+ mpMessageFont = mDoExt_getMesgFont();
+ mpSubFont = mDoExt_getSubFont();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2354,6 +1820,7 @@ asm dFile_select_c::dFile_select_c(JKRArchive* param_0) {
#include "asm/d/file/d_file_select/__ct__14dFile_select_cFP10JKRArchive.s"
}
#pragma pop
+#endif
/* 8018375C-801841EC 17E09C 0A90+00 1/0 0/0 0/0 .text __dt__14dFile_select_cFv */
#pragma push
@@ -2369,7 +1836,8 @@ asm dFile_select_c::~dFile_select_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmTevRegKey::~J2DAnmTevRegKey() {
+// asm J2DAnmTevRegKey::~J2DAnmTevRegKey() {
+extern "C" asm void __dt__15J2DAnmTevRegKeyFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__15J2DAnmTevRegKeyFv.s"
}
@@ -2379,7 +1847,8 @@ asm J2DAnmTevRegKey::~J2DAnmTevRegKey() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmTextureSRTKey::~J2DAnmTextureSRTKey() {
+// asm J2DAnmTextureSRTKey::~J2DAnmTextureSRTKey() {
+extern "C" asm void __dt__19J2DAnmTextureSRTKeyFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__19J2DAnmTextureSRTKeyFv.s"
}
@@ -2389,7 +1858,8 @@ asm J2DAnmTextureSRTKey::~J2DAnmTextureSRTKey() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmColor::~J2DAnmColor() {
+// asm J2DAnmColor::~J2DAnmColor() {
+extern "C" asm void __dt__11J2DAnmColorFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__11J2DAnmColorFv.s"
}
@@ -2399,7 +1869,8 @@ asm J2DAnmColor::~J2DAnmColor() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmTransform::~J2DAnmTransform() {
+// asm J2DAnmTransform::~J2DAnmTransform() {
+extern "C" asm void __dt__15J2DAnmTransformFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__15J2DAnmTransformFv.s"
}
@@ -2410,7 +1881,7 @@ asm J2DAnmTransform::~J2DAnmTransform() {
static u8 lit_3807[12];
/* 8042C9EC-8042CA10 05970C 0024+00 35/35 0/0 0/0 .bss g_fsHIO */
-static u8 g_fsHIO[36];
+static dFs_HIO_c_tmp g_fsHIO;
/* 8045392C-80453930 001F2C 0004+00 1/1 0/0 0/0 .sdata2 @4165 */
SECTION_SDATA2 static f32 lit_4165 = 9.0f / 10.0f;
@@ -2423,6 +1894,13 @@ SECTION_SDATA2 static f32 lit_4166[1 + 1 /* padding */] = {
};
/* 801843CC-801844FC 17ED0C 0130+00 0/0 1/1 0/0 .text _create__14dFile_select_cFv */
+#ifdef NONMATCHING
+void dFile_select_c::_create() {
+ mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor));
+ mStick = new STControl();
+ g_fsHIO.field_0x0004 = -1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2431,6 +1909,7 @@ asm void dFile_select_c::_create() {
#include "asm/d/file/d_file_select/_create__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 801844FC-80184664 17EE3C 0168+00 0/0 1/1 0/0 .text _move__14dFile_select_cFv */
#pragma push
@@ -2705,6 +2184,36 @@ asm void dFile_select_c::selectDataOpenEraseMove() {
#pragma pop
/* 80186774-801868EC 1810B4 0178+00 1/0 0/0 0/0 .text menuSelect__14dFile_select_cFv */
+#ifdef NONMATCHING
+// matches with literals
+void dFile_select_c::menuSelect() {
+ mStick->checkTrigger();
+
+ if (mDoCPd_c::getTrigA(PAD_1)) {
+ menuSelectStart();
+ } else {
+ if (mDoCPd_c::getTrigB(PAD_1)) {
+ menuSelectCansel();
+ } else {
+ if (mStick->checkRightTrigger()) {
+ if (field_0x0258[mSelectNum] == 0 && field_0x0267 != 0) {
+ mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON,0,0,0);
+ field_0x0266 = field_0x0267;
+ field_0x0267--;
+ menuSelectAnmSet();
+ field_0x026f = 9;
+ }
+ } else if (mStick->checkLeftTrigger() && field_0x0258[mSelectNum] == 0 && field_0x0267 != 2) {
+ mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON,0,0,0);
+ field_0x0266 = field_0x0267;
+ field_0x0267++;
+ menuSelectAnmSet();
+ field_0x026f = 9;
+ }
+ }
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2713,9 +2222,41 @@ asm void dFile_select_c::menuSelect() {
#include "asm/d/file/d_file_select/menuSelect__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 801868EC-80186A80 18122C 0194+00 1/1 0/0 0/0 .text menuSelectStart__14dFile_select_cFv
*/
+#ifdef NONMATCHING
+// matches with literals
+void dFile_select_c::menuSelectStart() {
+ mDoAud_seStart(Z2SE_SY_CURSOR_OK,0,0,0);
+
+ if (field_0x0267 == 1) {
+ dComIfGs_setCardToMemory(&mpMemCard,mSelectNum);
+ field_0x0270 = 1;
+ field_0x026f = 0x2e;
+ dComIfGs_setDataNum(mSelectNum);
+ }
+ else if (field_0x0267 == 0) {
+ mpCursor1->setAlphaRate(0.0f);
+ yesnoMenuMoveAnmInitSet(0x473,0x47d);
+ headerTxtSet(0x49, 0,0);
+ field_0x026e = 1;
+ field_0x026f = 12;
+ }
+ else if (field_0x0267 == 2) {
+ field_0x026a = mSelectNum;
+ menuMoveAnmInitSet(0x329,799);
+ headerTxtSet(0x44,0,0);
+ mpCursor1->setAlphaRate(0.0f);
+ selectDataMoveAnmInitSet(SelOpenEndFrameTbl[mSelectNum],SelOpenStartFrameTbl[mSelectNum]);
+ selectWakuAlpahAnmInit(mSelectNum,0,255,g_fsHIO.field_0x0008);
+ copySelMoveAnmInitSet(0xd1f,0xd29);
+ field_0x026e = 0;
+ field_0x026f = 11;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2724,8 +2265,22 @@ asm void dFile_select_c::menuSelectStart() {
#include "asm/d/file/d_file_select/menuSelectStart__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 80186A80-80186B48 1813C0 00C8+00 1/1 0/0 0/0 .text menuSelectCansel__14dFile_select_cFv */
+#ifdef NONMATCHING
+// matches with literals
+void dFile_select_c::menuSelectCansel() {
+ mDoAud_seStart(Z2SE_SY_CURSOR_CANCEL,0,0,0);
+ int idx = mSelectNum;
+ selectDataMoveAnmInitSet(SelOpenEndFrameTbl[idx],SelOpenStartFrameTbl[idx]);
+ menuMoveAnmInitSet(0x329,799);
+ modoruTxtDispAnmInit(0);
+ headerTxtSet(0x43,1,0);
+ mpCursor1->setAlphaRate(0.0);
+ field_0x026f = 0xd;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2734,8 +2289,33 @@ asm void dFile_select_c::menuSelectCansel() {
#include "asm/d/file/d_file_select/menuSelectCansel__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 80186B48-80186C84 181488 013C+00 8/8 0/0 0/0 .text menuMoveAnmInitSet__14dFile_select_cFii */
+#ifdef NONMATCHING
+// getPanePtr() calling function past end of vtable?
+void dFile_select_c::menuMoveAnmInitSet(int param_0, int param_1) {
+ if (param_0 == 799) {
+ field_0x0283 = true;
+
+ for (int i = 0; i < 3; i++) {
+ if (i == field_0x0267) {
+ JUtility::TColor black = JUtility::TColor(255,255,255,255);
+ (&mpPaneMgr2)[i]->getPanePtr()->setAnimation((J2DAnmVtxColor*)&black);
+ } else {
+ JUtility::TColor darkGrey = JUtility::TColor(150,150,150,255);
+ (&mpPaneMgr2)[i]->getPanePtr()->setAnimation((J2DAnmVtxColor*)&darkGrey);
+ }
+ }
+ }
+
+ field_0x0118->setAnimation(field_0x0328);
+ field_0x0358 = param_0;
+ field_0x035c = param_1;
+ field_0x0328->setFrame(field_0x0358);
+ field_0x0118->animationTransform();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2744,12 +2324,14 @@ asm void dFile_select_c::menuMoveAnmInitSet(int param_0, int param_1) {
#include "asm/d/file/d_file_select/menuMoveAnmInitSet__14dFile_select_cFii.s"
}
#pragma pop
+#endif
/* 80186C84-80186CAC 1815C4 0028+00 0/0 1/0 0/0 .text setWhite__10J2DTextBoxFQ28JUtility6TColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTextBox::setWhite(JUtility::TColor param_0) {
+// asm void J2DTextBox::setWhite(JUtility::TColor param_0) {
+extern "C" asm void setWhite__10J2DTextBoxFQ28JUtility6TColor() {
nofralloc
#include "asm/d/file/d_file_select/setWhite__10J2DTextBoxFQ28JUtility6TColor.s"
}
@@ -2759,13 +2341,33 @@ asm void J2DTextBox::setWhite(JUtility::TColor param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::menuMoveAnm() {
+asm bool dFile_select_c::menuMoveAnm() {
nofralloc
#include "asm/d/file/d_file_select/menuMoveAnm__14dFile_select_cFv.s"
}
#pragma pop
/* 80186E14-80186F98 181754 0184+00 1/1 0/0 0/0 .text menuSelectAnmSet__14dFile_select_cFv */
+#ifdef NONMATCHING
+// matches with literals
+void dFile_select_c::menuSelectAnmSet() {
+ if (field_0x0267 != 0xFF) {
+ (&field_0x0340)[field_0x0267]->getPanePtr()->setAnimation(field_0x0328);
+ (&field_0x034c)[field_0x0267] = MenuSelEndFrameTbl[field_0x0267];
+ field_0x0328->setFrame((&field_0x034c)[field_0x0267]);
+ (&field_0x0340)[field_0x0267]->getPanePtr()->animationTransform();
+ }
+
+ if (field_0x0266 != 0xFF) {
+ (&field_0x0340)[field_0x0266]->getPanePtr()->setAnimation(field_0x032c);
+ (&field_0x034c)[field_0x0266] = MenuSelStartFrameTbl[field_0x0266];
+ field_0x032c->setFrame((&field_0x034c)[field_0x0266]);
+ (&field_0x0340)[field_0x0266]->getPanePtr()->animationTransform();
+ menuWakuAlpahAnmInit(field_0x0266,0xFF,0,g_fsHIO.field_0x0008);
+ mpCursor1->setAlphaRate(0.0f);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2775,6 +2377,7 @@ asm void dFile_select_c::menuSelectAnmSet() {
}
#pragma pop
+#endif
/* 80186F98-8018721C 1818D8 0284+00 1/0 0/0 0/0 .text menuSelectMoveAnm__14dFile_select_cFv */
#pragma push
#pragma optimization_level 0
@@ -2786,24 +2389,33 @@ asm void dFile_select_c::menuSelectMoveAnm() {
#pragma pop
/* 8018721C-801872C4 181B5C 00A8+00 1/0 0/0 0/0 .text ToNameMove__14dFile_select_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::ToNameMove() {
- nofralloc
-#include "asm/d/file/d_file_select/ToNameMove__14dFile_select_cFv.s"
+void dFile_select_c::ToNameMove() {
+ bool headerTxtChange = headerTxtChangeAnm();
+ bool nameMove = nameMoveAnm();
+ bool menuMove = menuMoveAnm();
+ bool fileRecScale = fileRecScaleAnm();
+ bool fileInfoScale = fileInfoScaleAnm();
+
+ if (headerTxtChange == true && nameMove == true && menuMove == true &&
+ (fileRecScale == true && fileInfoScale == true)) {
+ field_0x026f = 15;
+ }
}
-#pragma pop
/* 801872C4-80187384 181C04 00C0+00 1/0 0/0 0/0 .text ToNameMove2__14dFile_select_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::ToNameMove2() {
- nofralloc
-#include "asm/d/file/d_file_select/ToNameMove2__14dFile_select_cFv.s"
+void dFile_select_c::ToNameMove2() {
+ bool headerTxtChange = headerTxtChangeAnm();
+ bool nameMove = nameMoveAnm();
+ bool errorMove = errorMoveAnm();
+ bool yesnoMenuMove = yesnoMenuMoveAnm();
+ bool ketteiTxtDisp = ketteiTxtDispAnm();
+ bool returnTxtDisp = modoruTxtDispAnm();
+
+ if (headerTxtChange == true && nameMove == true && errorMove == true &&
+ (yesnoMenuMove == true && ketteiTxtDisp == true && returnTxtDisp == true)) {
+ field_0x026f = 15;
+ }
}
-#pragma pop
/* 80187384-801873BC 181CC4 0038+00 1/0 0/0 0/0 .text nameInputWait__14dFile_select_cFv
*/
@@ -3085,7 +2697,7 @@ asm void dFile_select_c::yesnoMenuMoveAnmInitSet(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::yesnoMenuMoveAnm() {
+asm bool dFile_select_c::yesnoMenuMoveAnm() {
nofralloc
#include "asm/d/file/d_file_select/yesnoMenuMoveAnm__14dFile_select_cFv.s"
}
@@ -3423,7 +3035,8 @@ asm void J2DPicture::setBlackWhite(JUtility::TColor param_0, JUtility::TColor pa
/* 8018BF28-8018BF2C 186868 0004+00 0/0 4/0 0/0 .text
* setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey */
-void J2DPane::setAnimation(J2DAnmTextureSRTKey* param_0) {
+// void J2DPane::setAnimation(J2DAnmTextureSRTKey* param_0) {
+extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey() {
/* empty function */
}
@@ -3554,14 +3167,25 @@ asm void dFile_select_c::headerTxtSet(u16 param_0, u8 param_1, u8 param_2) {
#pragma pop
/* 8018D25C-8018D344 187B9C 00E8+00 21/21 0/0 0/0 .text headerTxtChangeAnm__14dFile_select_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::headerTxtChangeAnm() {
- nofralloc
-#include "asm/d/file/d_file_select/headerTxtChangeAnm__14dFile_select_cFv.s"
+bool dFile_select_c::headerTxtChangeAnm() {
+ if (field_0x021d != 0) {
+ return true;
+ } else {
+ bool ret = false;
+
+ bool alphaAnime1 = (&field_0x020c)[field_0x021c]->alphaAnime(g_fsHIO.field_0x0007,0xFF,0,0);
+ bool alphaAnime2 = (&field_0x020c)[field_0x021c^1]->alphaAnime(g_fsHIO.field_0x0007,0,0xFF,0);
+ int msgKeyWaitTimer = dMeter2Info_getMsgKeyWaitTimer();
+
+ if (alphaAnime1 == true && alphaAnime2 == true && msgKeyWaitTimer == 0) {
+ field_0x021c ^= 1;
+ field_0x021d = 1;
+ ret = true;
+ }
+
+ return ret;
+ }
}
-#pragma pop
/* 8018D344-8018D3A0 187C84 005C+00 7/7 0/0 0/0 .text modoruTxtChange__14dFile_select_cFUc */
#pragma push
@@ -3588,7 +3212,7 @@ asm void dFile_select_c::modoruTxtDispAnmInit(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::modoruTxtDispAnm() {
+asm bool dFile_select_c::modoruTxtDispAnm() {
nofralloc
#include "asm/d/file/d_file_select/modoruTxtDispAnm__14dFile_select_cFv.s"
}
@@ -3609,7 +3233,7 @@ asm void dFile_select_c::ketteiTxtDispAnmInit(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::ketteiTxtDispAnm() {
+asm bool dFile_select_c::ketteiTxtDispAnm() {
nofralloc
#include "asm/d/file/d_file_select/ketteiTxtDispAnm__14dFile_select_cFv.s"
}
@@ -3648,14 +3272,15 @@ asm void dFile_select_c::selFileCursorShow() {
/* 8018D884-8018D8C8 1881C4 0044+00 1/1 0/0 0/0 .text
* menuWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::menuWakuAlpahAnmInit(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
- nofralloc
-#include "asm/d/file/d_file_select/menuWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc.s"
+void dFile_select_c::menuWakuAlpahAnmInit(u8 i_idx, u8 param_1, u8 param_2, u8 param_3) {
+ (&mpPaneAlpha1)[i_idx]->alphaAnimeStart(0);
+ (&mpPaneAlpha2)[i_idx]->alphaAnimeStart(0);
+ (&mpPaneAlpha3)[i_idx]->alphaAnimeStart(0);
+ (&field_0x0388)[i_idx] = param_1;
+ (&field_0x038b)[i_idx] = param_2;
+ (&field_0x038e)[i_idx] = param_3;
+ (&mpPaneMgr2)[i_idx]->colorAnimeStart(0);
}
-#pragma pop
/* 8018D8C8-8018DA10 188208 0148+00 1/1 0/0 0/0 .text menuWakuAlpahAnm__14dFile_select_cFUc */
#pragma push
@@ -3703,7 +3328,8 @@ asm void dFile_select_c::yesnoWakuAlpahAnm(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::_draw() {
+// asm void dFile_select_c::_draw() {
+extern "C" asm void _draw__14dFile_select_cFv() {
nofralloc
#include "asm/d/file/d_file_select/_draw__14dFile_select_cFv.s"
}
@@ -3770,14 +3396,42 @@ asm void dFile_select_c::errorMoveAnmInitSet(int param_0, int param_1) {
#pragma pop
/* 8018E1C0-8018E2B4 188B00 00F4+00 5/5 0/0 0/0 .text errorMoveAnm__14dFile_select_cFv */
+#ifdef NONMATCHING
+// matches with literals
+bool dFile_select_c::errorMoveAnm() {
+ if (field_0x0130 != field_0x0134) {
+ if (field_0x0130 < field_0x0134) {
+ field_0x0130 +=2;
+
+ if (field_0x0130 > field_0x0134)
+ field_0x0130 = field_0x0134;
+ } else {
+ field_0x0130 -= 2;
+
+ if (field_0x0130 < field_0x0134)
+ field_0x0130 = field_0x0134;
+ }
+
+ mpAnmBase[3]->setFrame(field_0x0130);
+ field_0x012c->animationTransform();
+ return false;
+ } else {
+ field_0x012c->setAnimation((J2DAnmTransform*)0);
+ field_0x0134 == 0xb2b ? field_0x014a = true : field_0x014a = false;
+ field_0x014b = false;
+ return true;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::errorMoveAnm() {
+asm bool dFile_select_c::errorMoveAnm() {
nofralloc
#include "asm/d/file/d_file_select/errorMoveAnm__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 8018E2B4-8018E4CC 188BF4 0218+00 1/1 0/0 0/0 .text errDispInitSet__14dFile_select_cFii
*/
@@ -4184,14 +3838,10 @@ asm void dFile_select_c::errorTxtChangeAnm() {
/* 8018FE18-8018FE64 18A758 004C+00 1/1 0/0 0/0 .text fileRecScaleAnm__14dFile_select_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::fileRecScaleAnm() {
- nofralloc
-#include "asm/d/file/d_file_select/fileRecScaleAnm__14dFile_select_cFv.s"
+bool dFile_select_c::fileRecScaleAnm() {
+ // mpPaneMgrs might be typed wrong?
+ return mpPaneMgrs[mSelectNum]->scaleAnime(g_fsHIO.field_0x0005,*(f32*)&mpPaneMgrs[3],field_0x00d4,0);
}
-#pragma pop
/* 8018FE64-8018FEF4 18A7A4 0090+00 2/2 0/0 0/0 .text fileRecScaleAnmInitSet2__14dFile_select_cFff
*/
@@ -4215,14 +3865,46 @@ asm void dFile_select_c::fileRecScaleAnm2() {
#pragma pop
/* 8018FF9C-80190074 18A8DC 00D8+00 1/1 0/0 0/0 .text fileInfoScaleAnm__14dFile_select_cFv */
+#ifdef NONMATCHING
+// matches with literals
+bool dFile_select_c::fileInfoScaleAnm() {
+ bool ret;
+
+ if (field_0x0110 != field_0x0114) {
+ if (field_0x0110 < field_0x0114) {
+ field_0x0110 += 2;
+
+ if (field_0x0110 > field_0x0114)
+ field_0x0110 = field_0x0114;
+ } else {
+ field_0x0110 -= 2;
+
+ if (field_0x0110 < field_0x0114)
+ field_0x0110 = field_0x0114;
+ }
+
+ mpAnmBase[6]->setFrame(field_0x0110);
+ mpPane->animationTransform();
+ ret = false;
+ }
+
+ if (field_0x0110 == field_0x0114) {
+ mpPane->setAnimation((J2DAnmTransform*)0);
+ ret = true;
+ }
+
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dFile_select_c::fileInfoScaleAnm() {
+asm bool dFile_select_c::fileInfoScaleAnm() {
nofralloc
#include "asm/d/file/d_file_select/fileInfoScaleAnm__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 80190074-80190124 18A9B4 00B0+00 5/5 0/0 0/0 .text nameMoveAnmInitSet__14dFile_select_cFii */
#pragma push
@@ -4235,14 +3917,46 @@ asm void dFile_select_c::nameMoveAnmInitSet(int param_0, int param_1) {
#pragma pop
/* 80190124-80190208 18AA64 00E4+00 9/9 0/0 0/0 .text nameMoveAnm__14dFile_select_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFile_select_c::nameMoveAnm() {
+#ifdef NONMATCHING
+// matches with literals
+bool dFile_select_c::nameMoveAnm() {
+ if (field_0x0120 != field_0x0124) {
+ if (field_0x0120 < field_0x0124) {
+ field_0x0120 += 2;
+
+ if (field_0x0120 > field_0x0124) {
+ field_0x0120 = field_0x0124;
+ }
+ } else {
+ field_0x0120 -= 2;
+
+ if (field_0x0120 < field_0x0124) {
+ field_0x0120 = field_0x0124;
+ }
+ }
+ mpAnmBase[4]->setFrame(field_0x0120);
+ field_0x011c->animationTransform();
+ return false;
+ } else {
+ field_0x011c->setAnimation((J2DAnmTransform*)0);
+
+ if (field_0x0124 == 0xd1f) {
+ field_0x0128 = false;
+ mFileSelCopyDlst.field_0x08 = false;
+ }
+ return true;
+ }
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm bool dFile_select_c::nameMoveAnm() {
nofralloc
#include "asm/d/file/d_file_select/nameMoveAnm__14dFile_select_cFv.s"
}
#pragma pop
+#endif
/* 80190208-80190254 18AB48 004C+00 1/0 0/0 0/0 .text MemCardSaveDataClear__14dFile_select_cFv */
#pragma push
@@ -4526,7 +4240,8 @@ void J2DAnmTransform::getTransform(u16 param_0, J3DTransformInfo* param_1) const
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm JUTNameTab::~JUTNameTab() {
+// asm JUTNameTab::~JUTNameTab() {
+extern "C" asm void __dt__10JUTNameTabFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__10JUTNameTabFv.s"
}
@@ -4576,7 +4291,8 @@ asm dDlst_FileSelDt_c::~dDlst_FileSelDt_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dDlst_FileSel_c::~dDlst_FileSel_c() {
+// asm dDlst_FileSel_c::~dDlst_FileSel_c() {
+extern "C" asm void __dt__15dDlst_FileSel_cFv() {
nofralloc
#include "asm/d/file/d_file_select/__dt__15dDlst_FileSel_cFv.s"
}
@@ -4612,8 +4328,9 @@ REGISTER_CTORS(0x80191428, __sinit_d_file_select_cpp);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dMsgString_c::getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2,
- JUTFont* param_3, COutFont_c* param_4, u8 param_5) {
+// asm void dMsgString_c::getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2,
+// JUTFont* param_3, COutFont_c* param_4, u8 param_5) {
+extern "C" asm void getString__12dMsgString_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc() {
nofralloc
#include "asm/d/file/d_file_select/getString__12dMsgString_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc.s"
}
diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp
index abdc4a0cfc..f883b4d7af 100644
--- a/src/d/s/d_s_name.cpp
+++ b/src/d/s/d_s_name.cpp
@@ -6,6 +6,7 @@
#include "d/s/d_s_name.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
+// #include "d/file/d_file_select.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_mng.h"
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index 4786fe3639..598019f247 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -3530,26 +3530,28 @@ asm void mDoExt_removeSubFont() {
/* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text
* mDoExt_J3DModel__create__FP12J3DModelDataUlUl */
-J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2) {
+J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32 differedDlistFlag) {
if (i_modelData != NULL) {
J3DModel* model = new J3DModel();
if (model != NULL) {
+ // Update the modelFlag if the model data passed in has a shared dlist object
if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL) {
if (i_modelData->isLocked()) {
- param_1 = 0x20000;
- } else if (param_1 == 0x20000) {
- param_1 |= 0x40000;
+ modelFlag = J3DMdlFlag_Unk20000;
+ } else if (modelFlag == J3DMdlFlag_Unk20000) {
+ modelFlag |= J3DMdlFlag_Unk40000;
} else {
- param_1 = 0x80000;
+ modelFlag = J3DMdlFlag_Unk80000;
}
}
- if (!model->entryModelData(i_modelData, param_1, 1)) {
- if (param_1 == 0x80000 && model->newDifferedDisplayList(param_2)) {
+ // Set up the model
+ if (!model->entryModelData(i_modelData, modelFlag, 1)) {
+ if (modelFlag == J3DMdlFlag_Unk80000 && model->newDifferedDisplayList(differedDlistFlag)) {
return NULL;
}
-
+
model->lock();
return model;
}
diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp
index 76d3692098..aea467d0dc 100644
--- a/src/m_Do/m_Do_machine.cpp
+++ b/src/m_Do/m_Do_machine.cpp
@@ -8,14 +8,11 @@
#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JKernel/JKRAramStream.h"
#include "JSystem/JKernel/JKRDvdAramRipper.h"
-#include "JSystem/JUtility/JUTAssert.h"
-#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTException.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
#include "m_Do/m_Do_DVDError.h"
#include "m_Do/m_Do_MemCard.h"
#include "m_Do/m_Do_dvd_thread.h"
@@ -46,8 +43,6 @@ extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
// External References:
//
-extern "C" void OSReportDisable();
-extern "C" void OSReportEnable();
extern "C" void mDoExt_createAssertHeap__FP7JKRHeap();
extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getDbPrintHeap__Fv();
@@ -65,9 +60,7 @@ extern "C" void mDoRst_reset__FiUli();
extern "C" void create__9mDoDvdThdFl();
extern "C" void mDoDvdErr_ThdInit__Fv();
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
-extern "C" void exception_addition__FP10JUTConsole();
extern "C" void init__3cMlFP7JKRHeap();
-extern "C" void cAPICPad_recalibrate__Fv();
extern "C" void cM_initRnd__Fiii();
extern "C" void firstInit__9JFWSystemFv();
extern "C" void init__9JFWSystemFv();
@@ -124,10 +117,6 @@ extern "C" u8 systemConsole__9JFWSystem[4];
extern "C" u8 sSystemHeap__7JKRHeap[4];
extern "C" u8 sRootHeap__7JKRHeap[4];
extern "C" u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */];
-extern "C" extern bool sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset;
-extern "C" u8 sErrorManager__12JUTException[4];
-extern "C" u8 sConsole__12JUTException[4];
-extern "C" u8 sManager__17JUTConsoleManager[4];
//
// Declarations:
@@ -387,26 +376,7 @@ void myExceptionCallback(u16, OSContext*, u32, u32) {
VIFlush();
}
-/* ############################################################################################## */
-/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80373F89 = "(SRR0-3):%08X %08X %08X %08X\n";
-SECTION_DEAD static char const* const stringBase_80373FA7 =
- "PUSH START BUTTON TO ADDITIONAL INFOMATION\n";
-SECTION_DEAD static char const* const stringBase_80373FD3 =
- "--------------------------------------\n";
-#pragma pop
-
-/* 80451B00-80451B04 000100 0004+00 1/1 0/0 0/0 .sdata2 @3940 */
-SECTION_SDATA2 static f32 lit_3940 = 8.0f;
-
-/* 80451B04-80451B08 000104 0004+00 1/1 0/0 0/0 .sdata2 @3941 */
-SECTION_SDATA2 static f32 lit_3941 = 6.0f;
-
/* 8000B95C-8000BCF4 00629C 0398+00 1/1 0/0 0/0 .text fault_callback_scroll__FUsP9OSContextUlUl */
-#ifdef NONMATCHING
-// Everything matches but there are issues with dead section
static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
JUTException* manager = JUTException::getManager();
JUTConsole* exConsole = manager->getConsole();
@@ -523,41 +493,17 @@ static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
} while (true);
} while (true);
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void fault_callback_scroll(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) {
- nofralloc
-#include "asm/m_Do/m_Do_machine/fault_callback_scroll__FUsP9OSContextUlUl.s"
-}
-#pragma pop
-#endif
+
+// originally used in my_PrintHeap, but the function body was removed in retail
+const char* my_PrintHeapSring = "\x1B[32m%-24s = size=%d KB\n\x1B[m";
/* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */
static void my_PrintHeap(char const* heapName, u32 heapSize) {
- /* empty function */
+ return;
}
-/* ############################################################################################## */
-/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80373FFB = ""
- "\x1B"
- "[32m%-24s = size=%d KB\n"
- "\x1B"
- "[m";
-SECTION_DEAD static char const* const stringBase_80374017 = ""
- "\x1B"
- "[32m%-24s = %08x-%08x size=%d KB\n"
- "\x1B"
- "[m";
-#pragma pop
-
/* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */
void my_SysPrintHeap(char const* message, void* start, u32 size) {
- // "32m%-24s = %08x-%08x size=%d KB\n"
OSReport_System("\x1b[32m%-24s = %08x-%08x size=%d KB\n\x1b[m", message, start,
(u32)start + size, size / 1024);
}
@@ -577,7 +523,7 @@ SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/
#pragma pop
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
-SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {
+static _GXRenderModeObj g_ntscZeldaIntDf = {
0,
608,
448,
@@ -605,7 +551,7 @@ SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {
};
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
-SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {
+extern _GXRenderModeObj g_ntscZeldaProg = {
2,
608,
448,
@@ -634,7 +580,7 @@ SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {
/* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c
*/
-SECTION_SDATA GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
+GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
/* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */
// reg alloc r30 - r31