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/d/file/d_file_select.cpp | |
| 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/d/file/d_file_select.cpp')
| -rw-r--r-- | src/d/file/d_file_select.cpp | 1011 |
1 files changed, 364 insertions, 647 deletions
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" } |
