diff options
| author | Pheenoh <pheenoh@gmail.com> | 2023-03-17 21:05:06 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-17 21:05:06 -0600 |
| commit | 3cdef97cb8648cf5a5f2151938c5fa8d66056751 (patch) | |
| tree | e96e03eb21c61f9aa4cd2868724b55b4872a190b /src | |
| parent | a01d65b0b99400f62d93eee28475872b641cfd50 (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.cpp | 22 | ||||
| -rw-r--r-- | src/d/a/d_a_alink_boom.inc | 2 | ||||
| -rw-r--r-- | src/d/a/d_a_alink_canoe.inc | 2 | ||||
| -rw-r--r-- | src/d/a/d_a_alink_link.inc | 12 | ||||
| -rw-r--r-- | src/d/d_lib.cpp | 7 | ||||
| -rw-r--r-- | src/d/file/d_file_select.cpp | 1011 | ||||
| -rw-r--r-- | src/d/s/d_s_name.cpp | 1 | ||||
| -rw-r--r-- | src/m_Do/m_Do_ext.cpp | 18 | ||||
| -rw-r--r-- | src/m_Do/m_Do_machine.cpp | 68 |
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 |
