diff --git a/configure.py b/configure.py index ee48041511..34ea542987 100644 --- a/configure.py +++ b/configure.py @@ -340,7 +340,7 @@ config.libs = [ Object(NonMatching, "m_Do/m_Do_printf.cpp"), Object(Matching, "m_Do/m_Do_audio.cpp"), Object(Matching, "m_Do/m_Do_controller_pad.cpp"), - Object(NonMatching, "m_Do/m_Do_graphic.cpp"), + Object(Equivalent, "m_Do/m_Do_graphic.cpp"), Object(NonMatching, "m_Do/m_Do_machine.cpp"), Object(Matching, "m_Do/m_Do_mtx.cpp"), Object(NonMatching, "m_Do/m_Do_ext.cpp"), @@ -349,7 +349,7 @@ config.libs = [ Object(Matching, "m_Do/m_Do_dvd_thread.cpp"), Object(Matching, "m_Do/m_Do_DVDError.cpp"), Object(Matching, "m_Do/m_Do_MemCard.cpp"), - Object(NonMatching, "m_Do/m_Do_MemCardRWmng.cpp"), + Object(Matching, "m_Do/m_Do_MemCardRWmng.cpp"), Object(Matching, "m_Do/m_Do_machine_exception.cpp"), ], }, @@ -360,7 +360,7 @@ config.libs = [ "progress_category": "game", "host": True, "objects": [ - Object(NonMatching, "c/c_damagereaction.cpp"), + Object(Matching, "c/c_damagereaction.cpp"), Object(Matching, "c/c_dylink.cpp"), ], }, @@ -441,7 +441,7 @@ config.libs = [ Object(NonMatching, "d/d_stage.cpp"), Object(Matching, "d/d_map.cpp"), Object(Matching, "d/d_com_inf_game.cpp", extra_cflags=['-pragma "nosyminline on"']), - Object(NonMatching, "d/d_com_static.cpp"), + Object(Matching, "d/d_com_static.cpp"), Object(Matching, "d/d_com_inf_actor.cpp"), Object(Matching, "d/d_bomb.cpp"), Object(Matching, "d/d_lib.cpp"), @@ -456,12 +456,12 @@ config.libs = [ Object(NonMatching, "d/d_demo.cpp"), Object(Matching, "d/d_door_param2.cpp"), Object(NonMatching, "d/d_resorce.cpp"), - Object(NonMatching, "d/d_map_path.cpp"), + Object(Matching, "d/d_map_path.cpp"), Object(NonMatching, "d/d_map_path_fmap.cpp"), Object(NonMatching, "d/d_map_path_dmap.cpp"), - Object(NonMatching, "d/d_event.cpp"), + Object(Matching, "d/d_event.cpp"), Object(Matching, "d/d_event_data.cpp"), - Object(NonMatching, "d/d_event_manager.cpp"), + Object(Matching, "d/d_event_manager.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(Matching, "d/d_event_lib.cpp"), Object(Matching, "d/d_simple_model.cpp"), Object(NonMatching, "d/d_particle.cpp"), @@ -494,11 +494,11 @@ config.libs = [ Object(Matching, "d/d_bg_w_base.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(NonMatching, "d/d_bg_w_kcol.cpp"), Object(Matching, "d/d_bg_w_sv.cpp"), - Object(NonMatching, "d/d_cc_d.cpp"), + Object(Equivalent, "d/d_cc_d.cpp"), Object(Matching, "d/d_cc_mass_s.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(NonMatching, "d/d_cc_s.cpp"), Object(Matching, "d/d_cc_uty.cpp"), - Object(NonMatching, "d/d_cam_param.cpp"), + Object(NonMatching, "d/d_cam_param.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(NonMatching, "d/d_ev_camera.cpp"), Object(Matching, "d/d_spline_path.cpp"), Object(Matching, "d/d_item_data.cpp"), @@ -523,13 +523,13 @@ config.libs = [ Object(NonMatching, "d/d_file_sel_warning.cpp"), Object(Matching, "d/d_file_sel_info.cpp"), Object(Matching, "d/d_bright_check.cpp"), - Object(NonMatching, "d/d_scope.cpp"), - Object(NonMatching, "d/d_select_cursor.cpp"), + Object(NonMatching, "d/d_scope.cpp", extra_cflags=['-pragma "nosyminline on"']), + Object(Equivalent, "d/d_select_cursor.cpp"), Object(Matching, "d/d_select_icon.cpp"), Object(Matching, "d/d_shop_camera.cpp"), Object(Matching, "d/d_shop_item_ctrl.cpp"), Object(Matching, "d/d_shop_system.cpp"), - Object(NonMatching, "d/d_gameover.cpp"), + Object(Matching, "d/d_gameover.cpp"), Object(NonMatching, "d/d_kankyo.cpp"), Object(Matching, "d/d_kyeff.cpp"), Object(Matching, "d/d_kyeff2.cpp"), @@ -541,7 +541,7 @@ config.libs = [ Object(NonMatching, "d/d_menu_dmap_map.cpp"), Object(Matching, "d/d_menu_map_common.cpp"), Object(Matching, "d/d_menu_fishing.cpp"), - Object(Equivalent, "d/d_menu_fmap.cpp"), + Object(Matching, "d/d_menu_fmap.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(NonMatching, "d/d_menu_fmap_map.cpp"), Object(Matching, "d/d_menu_fmap2D.cpp"), Object(Matching, "d/d_menu_insect.cpp"), @@ -549,7 +549,7 @@ config.libs = [ Object(NonMatching, "d/d_menu_letter.cpp"), Object(Matching, "d/d_menu_option.cpp"), Object(Matching, "d/d_menu_ring.cpp"), - Object(NonMatching, "d/d_menu_save.cpp"), + Object(Equivalent, "d/d_menu_save.cpp"), Object(Matching, "d/d_menu_skill.cpp"), Object(Matching, "d/d_menu_window_HIO.cpp"), Object(NonMatching, "d/d_menu_window.cpp"), @@ -566,7 +566,7 @@ config.libs = [ Object(NonMatching, "d/d_msg_class.cpp"), Object(NonMatching, "d/d_msg_object.cpp"), Object(NonMatching, "d/d_msg_unit.cpp"), - Object(NonMatching, "d/d_msg_scrn_3select.cpp"), + Object(Matching, "d/d_msg_scrn_3select.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(Matching, "d/d_msg_scrn_arrow.cpp"), Object(Matching, "d/d_msg_scrn_base.cpp"), Object(Matching, "d/d_msg_scrn_boss.cpp"), @@ -1011,12 +1011,12 @@ config.libs = [ [ Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory.cpp"), Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), - Object(NonMatching, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp"), + Object(Equivalent, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp"), Object(Equivalent, "JSystem/J3DGraphLoader/J3DModelLoader.cpp"), Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"), - Object(NonMatching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"), - Object(NonMatching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"), - Object(NonMatching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"), + Object(Matching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"), + Object(Matching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"), + Object(Equivalent, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"), ], ), JSystemLib( @@ -1365,7 +1365,7 @@ config.libs = [ ActorRel(Matching, "d_a_door_knob00"), ActorRel(Matching, "d_a_door_shutter"), ActorRel(Matching, "d_a_door_spiral"), - ActorRel(NonMatching, "d_a_dshutter"), + ActorRel(Matching, "d_a_dshutter"), ActorRel(NonMatching, "d_a_ep"), ActorRel(Matching, "d_a_hitobj"), ActorRel(Matching, "d_a_kytag00"), @@ -1407,7 +1407,7 @@ config.libs = [ ActorRel(Matching, "d_a_disappear"), ActorRel(NonMatching, "d_a_mg_rod"), ActorRel(NonMatching, "d_a_midna"), - ActorRel(NonMatching, "d_a_nbomb"), + ActorRel(Equivalent, "d_a_nbomb"), ActorRel(NonMatching, "d_a_obj_life_container"), ActorRel(NonMatching, "d_a_obj_yousei"), ActorRel(NonMatching, "d_a_spinner"), @@ -1452,7 +1452,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_eff"), ActorRel(NonMatching, "d_a_obj_fmobj"), ActorRel(NonMatching, "d_a_obj_gpTaru"), - ActorRel(NonMatching, "d_a_obj_hhashi"), + ActorRel(Matching, "d_a_obj_hhashi"), ActorRel(NonMatching, "d_a_obj_kanban2"), ActorRel(NonMatching, "d_a_obj_kbacket"), ActorRel(Matching, "d_a_obj_kgate"), @@ -1520,14 +1520,14 @@ config.libs = [ ActorRel(NonMatching, "d_a_coach_fire"), ActorRel(NonMatching, "d_a_cow"), ActorRel(NonMatching, "d_a_cstatue"), - ActorRel(NonMatching, "d_a_do"), + ActorRel(Equivalent, "d_a_do"), ActorRel(Matching, "d_a_door_boss"), ActorRel(Matching, "d_a_door_bossL5"), - ActorRel(NonMatching, "d_a_door_mbossL1"), + ActorRel(Equivalent, "d_a_door_mbossL1"), ActorRel(Matching, "d_a_door_push"), ActorRel(NonMatching, "d_a_e_ai"), ActorRel(Matching, "d_a_e_arrow"), - ActorRel(NonMatching, "d_a_e_ba"), + ActorRel(Equivalent, "d_a_e_ba"), ActorRel(NonMatching, "d_a_e_bee"), ActorRel(NonMatching, "d_a_e_bg"), ActorRel(NonMatching, "d_a_e_bi"), @@ -1546,7 +1546,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_e_fb"), ActorRel(NonMatching, "d_a_e_fk"), ActorRel(NonMatching, "d_a_e_fs"), - ActorRel(NonMatching, "d_a_e_fz"), + ActorRel(Equivalent, "d_a_e_fz"), ActorRel(NonMatching, "d_a_e_gb"), ActorRel(NonMatching, "d_a_e_ge"), ActorRel(NonMatching, "d_a_e_gi"), @@ -1607,7 +1607,7 @@ config.libs = [ ActorRel(Matching, "d_a_e_yd_leaf"), ActorRel(NonMatching, "d_a_e_yg"), ActorRel(NonMatching, "d_a_e_yh"), - ActorRel(NonMatching, "d_a_e_yk"), + ActorRel(Equivalent, "d_a_e_yk"), ActorRel(NonMatching, "d_a_e_ym"), ActorRel(Matching, "d_a_e_ym_tag"), ActorRel(NonMatching, "d_a_e_ymb"), @@ -1628,7 +1628,7 @@ config.libs = [ ActorRel(Matching, "d_a_kytag07"), ActorRel(Matching, "d_a_kytag08"), ActorRel(Matching, "d_a_kytag09"), - ActorRel(NonMatching, "d_a_kytag12"), + ActorRel(Matching, "d_a_kytag12"), ActorRel(NonMatching, "d_a_kytag13"), ActorRel(Matching, "d_a_kytag15"), ActorRel(Matching, "d_a_kytag16"), @@ -2054,7 +2054,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_zdoor"), ActorRel(NonMatching, "d_a_obj_zrTurara"), ActorRel(Matching, "d_a_obj_zrTuraraRock"), - ActorRel(NonMatching, "d_a_obj_zraMark"), + ActorRel(Equivalent, "d_a_obj_zraMark"), ActorRel(Matching, "d_a_obj_zra_freeze"), ActorRel(NonMatching, "d_a_obj_zra_rock"), ActorRel(NonMatching, "d_a_passer_mng"), diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index a4bd2fb07d..fe36766b7a 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -151,12 +151,8 @@ public: mTranslateValues = pTranslateValues; mKind = KIND_TRANSFORM; } - #ifdef __dt__15J2DAnmTransformFv_DEFINED - /* 80184370 */ virtual ~J2DAnmTransform(); - #else /* 80184370 */ virtual ~J2DAnmTransform() {} - #endif - /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; + /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; // {} (should be inline) /* 0x10 */ f32* mScaleValues; /* 0x14 */ s16* mRotationValues; diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index db868228b1..61989f4f58 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -88,13 +88,19 @@ public: /* vt 0x20 */ virtual void setCullBack(_GXCullMode cmode); /* vt 0x24 */ virtual void setAlpha(u8); /* vt 0x28 */ virtual bool setConnectParent(bool connected); - /* vt 0x2C */ virtual void calcMtx(); + /* vt 0x2C */ virtual void calcMtx() { + if (mPaneTree.getParent() != NULL) { + makeMatrix(mTranslateX, mTranslateY); + } + } /* vt 0x30 */ virtual void update(); /* vt 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2); /* vt 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx); /* vt 0x3C */ virtual J2DPane* search(u64 tag); /* vt 0x40 */ virtual J2DPane* searchUserInfo(u64 tag); - /* vt 0x44 */ virtual void makeMatrix(f32, f32); + /* vt 0x44 */ virtual void makeMatrix(f32 a, f32 b) { + makeMatrix(a, b, -mBounds.i.x, -mBounds.i.y); + } /* vt 0x48 */ virtual void makeMatrix(f32 a, f32 b, f32 c, f32 d); /* vt 0x4C */ virtual bool isUsed(const ResTIMG* timg); /* vt 0x50 */ virtual bool isUsed(const ResFONT* font); diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index 4bad6b8019..e391869896 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -106,9 +106,19 @@ public: /* 802FDAC8 */ virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*); /* 800539DC */ virtual JUTTexture* getTexture(u8) const; /* 802FF634 */ virtual u8 getTextureCount() const; - /* 80053C6C */ virtual bool setBlack(JUtility::TColor); - /* 80053C44 */ virtual bool setWhite(JUtility::TColor); - /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white); + /* 80053C6C */ virtual bool setBlack(JUtility::TColor i_black) { + mBlack = i_black; + return true; + } + /* 80053C44 */ virtual bool setWhite(JUtility::TColor i_white) { + mWhite = i_white; + return true; + } + /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white) { + mBlack = i_black; + mWhite = i_white; + return true; + } /* 801DFA4C */ virtual JUtility::TColor getBlack() const; /* 801DFA40 */ virtual JUtility::TColor getWhite() const; /* 8025603C */ virtual J2DMaterial* getMaterial() const { return NULL; } diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 29d41577b9..ed4a0311a5 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -55,7 +55,7 @@ public: /* 802F90E0 */ virtual J2DPane* searchUserInfo(u64); /* 802F9600 */ virtual bool isUsed(ResTIMG const*); /* 802F9620 */ virtual bool isUsed(ResFONT const*); - /* 80053BA0 */ virtual void clearAnmTransform(); + /* 80053BA0 */ virtual void clearAnmTransform() { J2DPane::clearAnmTransform(); } /* 802F9704 */ virtual void setAnimation(J2DAnmColor*); /* 80192414 */ virtual void setAnimation(J2DAnmTransform* i_bck) { J2DPane::setAnimation(i_bck); } /* 802F9798 */ virtual void setAnimation(J2DAnmTextureSRTKey*); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index 55b0a6a641..3a2e94a17a 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -75,7 +75,7 @@ public: /* 80300278 */ virtual void setFont(JUTFont*); /* 8021C7F4 */ virtual JUTFont* getFont() const { return mFont; } /* 80254408 */ virtual bool setBlack(JUtility::TColor); - /* 80186C84 */ virtual bool setWhite(JUtility::TColor); + /* 80186C84 */ virtual bool setWhite(JUtility::TColor white) { mWhiteColor = white; return true; } /* 8019230C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 801DFA34 */ virtual JUtility::TColor getBlack() const; /* 801DFA28 */ virtual JUtility::TColor getWhite() const; diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index fa1c4e66b7..2d6107db5c 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -174,13 +174,13 @@ struct J3DAnmVtxColorFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 mAnmTableNum[2]; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffsets[2]; - /* 0x20 */ s32 mVtxColorIndexDataOffsets[2]; - /* 0x28 */ s32 mVtxColorIndexPointerOffsets[2]; - /* 0x30 */ s32 mRValuesOffset; - /* 0x34 */ s32 mGValuesOffset; - /* 0x38 */ s32 mBValuesOffset; - /* 0x3C */ s32 mAValuesOffset; + /* 0x18 */ void* mTableOffsets[2]; + /* 0x20 */ void* mVtxColorIndexDataOffsets[2]; + /* 0x28 */ void* mVtxColorIndexPointerOffsets[2]; + /* 0x30 */ void* mRValuesOffset; + /* 0x34 */ void* mGValuesOffset; + /* 0x38 */ void* mBValuesOffset; + /* 0x3C */ void* mAValuesOffset; }; // Size = 0x40 STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData) == 0x40); @@ -196,8 +196,8 @@ struct J3DAnmVisibilityFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u16 field_0xe; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mValuesOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mValuesOffset; }; // Size = 0x18 STATIC_ASSERT(sizeof(J3DAnmVisibilityFullData) == 0x18); @@ -213,10 +213,10 @@ struct J3DAnmTransformFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u8 field_0xe[0x14 - 0xe]; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 mScaleValOffset; - /* 0x1C */ s32 mRotValOffset; - /* 0x20 */ s32 mTransValOffset; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* mScaleValOffset; + /* 0x1C */ void* mRotValOffset; + /* 0x20 */ void* mTransValOffset; }; // Size = 0x24 STATIC_ASSERT(sizeof(J3DAnmTransformFullData) == 0x24); @@ -235,13 +235,13 @@ struct J3DAnmColorKeyData { /* 0x12 */ u16 field_0x12; /* 0x14 */ u16 field_0x14; /* 0x16 */ u16 field_0x16; - /* 0x18 */ s32 mTableOffset; /* Created by retype action */ - /* 0x1C */ s32 mUpdateMaterialIDOffset; - /* 0x20 */ s32 mNameTabOffset; /* Created by retype action */ - /* 0x24 */ s32 mRValOffset; - /* 0x28 */ s32 mGValOffset; - /* 0x2C */ s32 mBValOffset; - /* 0x30 */ s32 mAValOffset; + /* 0x18 */ void* mTableOffset; + /* 0x1C */ void* mUpdateMaterialIDOffset; + /* 0x20 */ void* mNameTabOffset; + /* 0x24 */ void* mRValOffset; + /* 0x28 */ void* mGValOffset; + /* 0x2C */ void* mBValOffset; + /* 0x30 */ void* mAValOffset; }; // Size = 0x34 STATIC_ASSERT(sizeof(J3DAnmColorKeyData) == 0x34); @@ -259,26 +259,26 @@ struct J3DAnmTextureSRTKeyData { /* 0x0E */ u16 field_0xe; /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 mUpdateMatIDOffset; - /* 0x1C */ s32 mNameTab1Offset; - /* 0x20 */ s32 mUpdateTexMtxIDOffset; - /* 0x24 */ s32 unkOffset; - /* 0x28 */ s32 mScaleValOffset; - /* 0x2C */ s32 mRotValOffset; - /* 0x30 */ s32 mTransValOffset; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* mUpdateMatIDOffset; + /* 0x1C */ void* mNameTab1Offset; + /* 0x20 */ void* mUpdateTexMtxIDOffset; + /* 0x24 */ void* unkOffset; + /* 0x28 */ void* mScaleValOffset; + /* 0x2C */ void* mRotValOffset; + /* 0x30 */ void* mTransValOffset; /* 0x34 */ u16 field_0x34; /* 0x36 */ u16 field_0x36; /* 0x38 */ u16 field_0x38; /* 0x3A */ u16 field_0x3a; - /* 0x3C */ s32 mInfoTable2Offset; - /* 0x40 */ s32 field_0x40; - /* 0x44 */ u32 mNameTab2Offset; - /* 0x48 */ s32 field_0x48; - /* 0x4C */ s32 field_0x4c; - /* 0x50 */ s32 field_0x50; - /* 0x54 */ s32 field_0x54; - /* 0x58 */ s32 field_0x58; + /* 0x3C */ void* mInfoTable2Offset; + /* 0x40 */ void* field_0x40; + /* 0x44 */ void* mNameTab2Offset; + /* 0x48 */ void* field_0x48; + /* 0x4C */ void* field_0x4c; + /* 0x50 */ void* field_0x50; + /* 0x54 */ void* field_0x54; + /* 0x58 */ void* field_0x58; /* 0x5C */ s32 field_0x5c; }; // Size = 0x60 @@ -295,13 +295,13 @@ struct J3DAnmVtxColorKeyData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 mAnmTableNum[2]; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffsets[2]; - /* 0x20 */ s32 mVtxColoIndexDataOffset[2]; - /* 0x28 */ s32 mVtxColoIndexPointerOffset[2]; - /* 0x30 */ s32 mRValOffset; - /* 0x34 */ s32 mGValOffset; - /* 0x38 */ s32 mBValOffset; - /* 0x3C */ s32 mAValOffset; + /* 0x18 */ void* mTableOffsets[2]; + /* 0x20 */ void* mVtxColoIndexDataOffset[2]; + /* 0x28 */ void* mVtxColoIndexPointerOffset[2]; + /* 0x30 */ void* mRValOffset; + /* 0x34 */ void* mGValOffset; + /* 0x38 */ void* mBValOffset; + /* 0x3C */ void* mAValOffset; }; // Size = 0x40 STATIC_ASSERT(sizeof(J3DAnmVtxColorKeyData) == 0x40); @@ -317,10 +317,10 @@ struct J3DAnmTexPatternFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u16 field_0xe; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mValuesOffset; - /* 0x18 */ s32 mUpdateMaterialIDOffset; - /* 0x1C */ s32 mNameTabOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mValuesOffset; + /* 0x18 */ void* mUpdateMaterialIDOffset; + /* 0x1C */ void* mNameTabOffset; }; // Size = 0x20 STATIC_ASSERT(sizeof(J3DAnmTexPatternFullData) == 0x20); @@ -344,20 +344,20 @@ struct J3DAnmTevRegKeyData { /* 0x1A */ u16 field_0x1a; /* 0x1C */ u16 field_0x1c; /* 0x1E */ u16 field_0x1e; - /* 0x20 */ s32 mCRegTableOffset; - /* 0x24 */ s32 mKRegTableOffset; - /* 0x28 */ s32 mCRegUpdateMaterialIDOffset; - /* 0x2C */ s32 mKRegUpdateMaterialIDOffset; - /* 0x30 */ s32 mCRegNameTabOffset; - /* 0x34 */ s32 mKRegNameTabOffset; - /* 0x38 */ s32 mCRValuesOffset; - /* 0x3C */ s32 mCGValuesOffset; - /* 0x40 */ s32 mCBValuesOffset; - /* 0x44 */ s32 mCAValuesOffset; - /* 0x48 */ s32 mKRValuesOffset; - /* 0x4C */ s32 mKGValuesOffset; - /* 0x50 */ s32 mKBValuesOffset; - /* 0x54 */ s32 mKAValuesOffset; + /* 0x20 */ void* mCRegTableOffset; + /* 0x24 */ void* mKRegTableOffset; + /* 0x28 */ void* mCRegUpdateMaterialIDOffset; + /* 0x2C */ void* mKRegUpdateMaterialIDOffset; + /* 0x30 */ void* mCRegNameTabOffset; + /* 0x34 */ void* mKRegNameTabOffset; + /* 0x38 */ void* mCRValuesOffset; + /* 0x3C */ void* mCGValuesOffset; + /* 0x40 */ void* mCBValuesOffset; + /* 0x44 */ void* mCAValuesOffset; + /* 0x48 */ void* mKRValuesOffset; + /* 0x4C */ void* mKGValuesOffset; + /* 0x50 */ void* mKBValuesOffset; + /* 0x54 */ void* mKAValuesOffset; }; // Size = 0x58 STATIC_ASSERT(sizeof(J3DAnmTevRegKeyData) == 0x58); @@ -373,13 +373,13 @@ struct J3DAnmColorFullData { /* PlaceHolder Structure */ /* 0x0C */ s16 mFrameMax; /* 0x0E */ u16 mUpdateMaterialNum; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffset; - /* 0x1C */ s32 mUpdateMaterialIDOffset; - /* 0x20 */ s32 mNameTabOffset; - /* 0x24 */ s32 mRValuesOffset; - /* 0x28 */ s32 mGValuesOffset; - /* 0x2C */ s32 mBValuesOffset; - /* 0x30 */ s32 mAValuesOffset; + /* 0x18 */ void* mTableOffset; + /* 0x1C */ void* mUpdateMaterialIDOffset; + /* 0x20 */ void* mNameTabOffset; + /* 0x24 */ void* mRValuesOffset; + /* 0x28 */ void* mGValuesOffset; + /* 0x2C */ void* mBValuesOffset; + /* 0x30 */ void* mAValuesOffset; }; // Size = 0x34 STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34); @@ -403,10 +403,10 @@ struct J3DAnmTransformKeyData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x10 */ int field_0x10; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 field_0x18; - /* 0x1c */ s32 field_0x1c; - /* 0x20 */ s32 field_0x20; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* field_0x18; + /* 0x1c */ void* field_0x1c; + /* 0x20 */ void* field_0x20; }; /** @@ -418,8 +418,8 @@ struct J3DAnmClusterKeyData { /* 0x08 */ u8 field_0x8; /* 0x0A */ s16 mFrameMax; /* 0x0C */ s32 field_0xc; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mWeightOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mWeightOffset; }; /** @@ -431,8 +431,8 @@ struct J3DAnmClusterFullData { /* 0x08 */ u8 field_0x8; /* 0x0A */ s16 mFrameMax; /* 0x0C */ s32 field_0xc; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mWeightOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mWeightOffset; }; /** @@ -487,7 +487,7 @@ public: /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); /* 8003B93C */ virtual ~J3DAnmTransform() {} - /* 8003C77C */ virtual s32 getKind() const; + /* 8003C77C */ virtual s32 getKind() const { return 0; } virtual void getTransform(u16, J3DTransformInfo*) const = 0; /* 0x0C */ f32* mScaleData; @@ -512,9 +512,11 @@ public: /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const; - /* 8003B8D0 */ virtual ~J3DAnmTransformKey(); - /* 8003C800 */ virtual s32 getKind() const; - /* 8003C808 */ virtual void getTransform(u16, J3DTransformInfo*) const; + /* 8003B8D0 */ virtual ~J3DAnmTransformKey() {} + /* 8003C800 */ virtual s32 getKind() const { return 8; } + /* 8003C808 */ virtual void getTransform(u16 param_0, J3DTransformInfo* param_1) const { + calcTransform(mFrame, param_0, param_1); + } /* 0x20 */ int mDecShift; /* 0x24 */ J3DAnmTransformKeyTable* mAnmTable; @@ -860,8 +862,8 @@ public: mVisibility = NULL; } - /* 8033979C */ virtual ~J3DAnmVisibilityFull(); - /* 803397F8 */ virtual s32 getKind() const; + /* 8033979C */ virtual ~J3DAnmVisibilityFull() {} + /* 803397F8 */ virtual s32 getKind() const { return 6; } /* 0x0C */ u16 mUpdateMaterialNum; /* 0x0E */ u16 field_0xe; @@ -921,4 +923,49 @@ public: /* 0x10 */ f32 mFrame; }; // Size: 0x14 +struct J3DMtxCalcAnmBase: public J3DMtxCalc { + J3DMtxCalcAnmBase(J3DAnmTransform* param_0) { mAnmTransform = param_0; } + /* 8000D8EC */ ~J3DMtxCalcAnmBase() {} + /* 80014FB8 */ J3DAnmTransform* getAnmTransform() { return mAnmTransform; } + /* 80014FC0 */ void setAnmTransform(J3DAnmTransform* param_0) { mAnmTransform = param_0; } + + J3DAnmTransform* mAnmTransform; +}; + +struct J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorBase() {} + void change(J3DAnmTransform*) {} +}; + +template +struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* param_0) {} + void calc(J3DMtxCalcAnmBase* param_0) { + J3DTransformInfo transform; + J3DTransformInfo* transform_p; + if (param_0->getAnmTransform() != NULL) { + u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo(); + param_0->getAnmTransform()->getTransform(jnt_no, &transform); + transform_p = &transform; + } else { + transform_p = &J3DMtxCalc::getJoint()->getTransformInfo(); + } + A0::calcTransform(*transform_p); + } +}; + +template +struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase { + J3DMtxCalcAnimation(J3DAnmTransform* param_0) : J3DMtxCalcAnmBase(param_0), field_0x8(param_0) {} + ~J3DMtxCalcAnimation() {} + void setAnmTransform(J3DAnmTransform* param_0) { + mAnmTransform = param_0; + field_0x8.change(param_0); + } + void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); } + void calc() { field_0x8.calc(this); } + + A0 field_0x8; +}; + #endif /* J3DANIMATION_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 8ae6fbe944..ff9d189779 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -18,12 +18,12 @@ public: /* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*); /* 8000D948 */ virtual ~J3DMtxCalc() {} - /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*); - /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform(); - /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*); - /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8); - /* 80014EA4 */ virtual void setWeight(u8, f32); - /* 80014EA8 */ virtual void getWeight(u8) const; + /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*) {} + /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform() { return NULL; } + /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*) {} + /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8) { return NULL; } + /* 80014EA4 */ virtual void setWeight(u8, f32) {} + /* 80014EA8 */ virtual f32 getWeight(u8) const { return 0.0f; } virtual void init(const Vec& param_0, const Mtx&) = 0; virtual void calc() = 0; diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 18e7c7ec19..9ab7424801 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -78,12 +78,12 @@ public: /* 803172FC */ virtual s32 countDLSize(); virtual u32 getType() = 0; /* 8031741C */ virtual void setTexGenNum(u32 const*); - /* 8000E0D0 */ virtual void setTexGenNum(u32); - /* 8000DFE8 */ virtual u32 getTexGenNum() const; - /* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*); - /* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32); + /* 8000E0D0 */ virtual void setTexGenNum(u32) {} + /* 8000DFE8 */ virtual u32 getTexGenNum() const { return 0; } + /* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*) {} + /* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32) { return NULL; } /* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*) {} - /* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32); + /* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32) { return NULL; } /* 80317424 */ virtual void setNBTScale(J3DNBTScale const*); /* 80317420 */ virtual void setNBTScale(J3DNBTScale); /* 80317334 */ virtual J3DNBTScale* getNBTScale(); @@ -217,37 +217,37 @@ public: virtual u32 getType() = 0; /* 8031730C */ virtual s32 countDLSize(); /* 80323544 */ virtual void setTexNo(u32, u16 const*); - /* 8000E0AC */ virtual void setTexNo(u32, u16); - /* 8000DF94 */ virtual u16 getTexNo(u32) const; + /* 8000E0AC */ virtual void setTexNo(u32, u16) {} + /* 8000DF94 */ virtual u16 getTexNo(u32) const { return 0xffff; } /* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*); - /* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder); - /* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32); + /* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder) {} + /* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32) { return NULL; } /* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*); - /* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10); - /* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32); - /* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*); - /* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor); - /* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32); + /* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10) {} + /* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32) { return NULL; } + /* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*) {} + /* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor) {} + /* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32) { return NULL; } /* 80322950 */ virtual void setTevKColorSel(u32, u8 const*); - /* 8000E0B8 */ virtual void setTevKColorSel(u32, u8); - /* 8000DFB0 */ virtual bool getTevKColorSel(u32); + /* 8000E0B8 */ virtual void setTevKColorSel(u32, u8) {} + /* 8000DFB0 */ virtual bool getTevKColorSel(u32) { return false; } /* 80322954 */ virtual void setTevKAlphaSel(u32, u8 const*); - /* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8); - /* 8000DFA8 */ virtual bool getTevKAlphaSel(u32); + /* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8) {} + /* 8000DFA8 */ virtual bool getTevKAlphaSel(u32) { return false; } /* 8032354C */ virtual void setTevStageNum(u8 const*); - /* 8000E0C8 */ virtual void setTevStageNum(u8); - /* 8000DFD0 */ virtual u8 getTevStageNum() const; + /* 8000E0C8 */ virtual void setTevStageNum(u8) {} + /* 8000DFD0 */ virtual u8 getTevStageNum() const { return 1; } /* 80323550 */ virtual void setTevStage(u32, J3DTevStage const*); - /* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage); - /* 8000DF8C */ virtual J3DTevStage* getTevStage(u32); + /* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage) {} + /* 8000DF8C */ virtual J3DTevStage* getTevStage(u32) { return NULL; } /* 8032295C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); /* 80322958 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); /* 80322960 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - /* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - /* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32); + /* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable) {} + /* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; } /* 80323554 */ virtual void setIndTevStage(u32, J3DIndTevStage const*); - /* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage); - /* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32); + /* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage) {} + /* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32) { return NULL; } /* 80323558 */ virtual u32 getTexNoOffset() const; /* 80322964 */ virtual bool getTevRegOffset() const; /* 80321FE0 */ virtual void setTexNoOffset(u32); @@ -809,19 +809,19 @@ public: virtual u32 getType() = 0; /* 80317368 */ virtual void setFog(J3DFog); /* 80317364 */ virtual void setFog(J3DFog*); - /* 8000DF5C */ virtual J3DFog* getFog(); + /* 8000DF5C */ virtual J3DFog* getFog() { return NULL; } /* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*); - /* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&); - /* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp(); + /* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&) {} + /* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp() { return NULL; } /* 80317370 */ virtual void setBlend(J3DBlend const*); - /* 8000E018 */ virtual void setBlend(J3DBlend const&); - /* 8000DF4C */ virtual J3DBlend* getBlend(); + /* 8000E018 */ virtual void setBlend(J3DBlend const&) {} + /* 8000DF4C */ virtual J3DBlend* getBlend() { return NULL; } /* 80317374 */ virtual void setZMode(J3DZMode const*); - /* 8000E014 */ virtual void setZMode(J3DZMode); - /* 8000DF44 */ virtual J3DZMode* getZMode(); + /* 8000E014 */ virtual void setZMode(J3DZMode) {} + /* 8000DF44 */ virtual J3DZMode* getZMode() { return NULL; } /* 80317378 */ virtual void setZCompLoc(u8 const*); - /* 8000E010 */ virtual void setZCompLoc(u8); - /* 8000DF3C */ virtual u8 getZCompLoc() const; + /* 8000E010 */ virtual void setZCompLoc(u8) {} + /* 8000DF3C */ virtual u8 getZCompLoc() const { return 0; } /* 80317380 */ virtual void setDither(u8 const*); /* 8031737C */ virtual void setDither(u8); /* 80317384 */ virtual u8 getDither() const; @@ -1054,17 +1054,17 @@ public: virtual void load() = 0; /* 80317314 */ virtual s32 countDLSize(); virtual u32 getType() = 0; - /* 8000E0A0 */ virtual void setIndTexStageNum(u8); - /* 8000DF7C */ virtual u8 getIndTexStageNum() const; + /* 8000E0A0 */ virtual void setIndTexStageNum(u8) {} + /* 8000DF7C */ virtual u8 getIndTexStageNum() const { return 0; } /* 80317410 */ virtual void setIndTexOrder(u32, J3DIndTexOrder); /* 8031740C */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*); - /* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32); + /* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32) { return NULL; } /* 80317414 */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*); - /* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx); - /* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32); - /* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale); + /* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx) {} + /* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32) { return NULL; } + /* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale) {} /* 80317418 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*); - /* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32); + /* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; } /* 8031726C */ virtual ~J3DIndBlock() {} }; @@ -1215,17 +1215,17 @@ public: /* 80317304 */ virtual s32 countDLSize(); virtual u32 getType() = 0; /* 80317448 */ virtual void setMatColor(u32, J3DGXColor const*); - /* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor); - /* 8000E000 */ virtual J3DGXColor* getMatColor(u32); + /* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor) {} + /* 8000E000 */ virtual J3DGXColor* getMatColor(u32) { return NULL; } /* 801A4C0C */ virtual void setAmbColor(u32, J3DGXColor const*); - /* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor); - /* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32); - /* 8000E0E0 */ virtual void setColorChanNum(u8); + /* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor) {} + /* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32) { return NULL; } + /* 8000E0E0 */ virtual void setColorChanNum(u8) {} /* 8031744C */ virtual void setColorChanNum(u8 const*); - /* 8000E008 */ virtual u8 getColorChanNum() const; - /* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&); + /* 8000E008 */ virtual u8 getColorChanNum() const { return 0; } + /* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&) {} /* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*); - /* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32); + /* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32) { return NULL; } /* 801A4C08 */ virtual void setLight(u32, J3DLightObj*); /* 80317454 */ virtual bool getLight(u32); /* 80317460 */ virtual void setCullMode(u8 const*); diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index f27215544f..136df1f7a5 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -65,7 +65,10 @@ extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode; * */ struct J3DTevStage { - /* 8000E230 */ J3DTevStage(); + /* 8000E230 */ J3DTevStage() { + setTevStageInfo(j3dDefaultTevStageInfo); + setTevSwapModeInfo(j3dDefaultTevSwapMode); + } void setTevColorOp(u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5) { mTevColorOp = mTevColorOp & ~(0x01 << 2) | param_1 << 2; if (param_1 <= 1) { @@ -237,13 +240,14 @@ struct J3DTevOrder : public J3DTevOrderInfo { }; extern u8 j3dTevSwapTableTable[1024]; +extern u8 const data_804563F8; /** * @ingroup jsystem-j3d * */ struct J3DTevSwapModeTable { - /* 8000E134 */ J3DTevSwapModeTable(); + /* 8000E134 */ J3DTevSwapModeTable() { mIdx = data_804563F8; } J3DTevSwapModeTable(J3DTevSwapModeTableInfo const& info) { mIdx = calcTevSwapTableID(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3); } diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index 789f52bfa0..b59a6c2cac 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -1,6 +1,7 @@ #ifndef J3DANMLOADER_H #define J3DANMLOADER_H +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0, @@ -20,4 +21,57 @@ struct J3DAnmLoaderDataBase { static J3DAnmBase* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); } }; +class J3DAnmLoader { +public: + virtual J3DAnmBase* load(const void*) = 0; + virtual void setResource(J3DAnmBase*, const void*) = 0; + /* 80339800 */ virtual ~J3DAnmLoader() {} +}; + +class J3DAnmKeyLoader_v15 : public J3DAnmLoader { +public: + /* 803384E0 */ J3DAnmKeyLoader_v15(); + /* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*); + /* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*); + /* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*); + /* 803390D8 */ void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*); + /* 803392B0 */ void readAnmColor(J3DAnmColorKeyData const*); + /* 803392D8 */ void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*); + /* 803393C4 */ void readAnmCluster(J3DAnmClusterKeyData const*); + /* 803393EC */ void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*); + /* 80339458 */ void readAnmTevReg(J3DAnmTevRegKeyData const*); + /* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*); + /* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*); + /* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*); + + /* 80338D44 */ virtual J3DAnmBase* load(void const*); + /* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*); + /* 803384FC */ virtual ~J3DAnmKeyLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; +}; + +class J3DAnmFullLoader_v15 : public J3DAnmLoader { +public: + /* 80338468 */ J3DAnmFullLoader_v15(); + /* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*); + /* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*); + /* 803388BC */ void readAnmColor(J3DAnmColorFullData const*); + /* 803388E4 */ void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*); + /* 803389B0 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*); + /* 803389D8 */ void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*); + /* 80338A7C */ void readAnmVisibility(J3DAnmVisibilityFullData const*); + /* 80338AA4 */ void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*); + /* 80338B20 */ void readAnmCluster(J3DAnmClusterFullData const*); + /* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*); + /* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*); + /* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*); + + /* 80338558 */ virtual J3DAnmBase* load(void const*); + /* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*); + /* 80338484 */ virtual ~J3DAnmFullLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; +}; + #endif /* J3DANMLOADER_H */ diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 673f99c328..4f82b1152c 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -171,7 +171,9 @@ struct TVec3 : public Vec { } inline TVec3 operator+(const TVec3& b) { - return *this += b; + TVec3 a = *this; + a += b; + return a; } // inline TVec3 operator+(const TVec3& b) { diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 5d057476d9..ed303c3b42 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -81,9 +81,9 @@ public: class JPAParticleCallBack { public: JPAParticleCallBack() {} - virtual ~JPAParticleCallBack(); - virtual void execute(JPABaseEmitter*, JPABaseParticle*); - virtual void draw(JPABaseEmitter*, JPABaseParticle*); + virtual ~JPAParticleCallBack() = 0; + virtual void execute(JPABaseEmitter*, JPABaseParticle*) {} + virtual void draw(JPABaseEmitter*, JPABaseParticle*) {} }; // not sure where this belongs diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index b0a1a5c848..ec7c7a1099 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -77,7 +77,7 @@ public: }; /* 0x0C */ virtual void setGX() = 0; - /* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2); + /* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2) { setGX(); } /* 0x14 */ virtual f32 drawChar_scale(f32 a1, f32 a2, f32 a3, f32 a4, int a5, bool a6) = 0; /* 0x18 */ virtual int getLeading() const = 0; /* 0x1C */ virtual s32 getAscent() const = 0; @@ -85,8 +85,8 @@ public: /* 0x24 */ virtual s32 getHeight() const = 0; /* 0x28 */ virtual s32 getWidth() const = 0; /* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const = 0; - /* 0x30 */ virtual int getCellWidth() const; - /* 0x34 */ virtual s32 getCellHeight() const; + /* 0x30 */ virtual s32 getCellWidth() const { return getWidth(); } + /* 0x34 */ virtual s32 getCellHeight() const { return getHeight(); } /* 0x38 */ virtual int getFontType() const = 0; /* 0x3C */ virtual ResFONT* getResFont() const = 0; /* 0x40 */ virtual bool isLeadByte(int a1) const = 0; diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index 36e79aa3bc..99574b712e 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -33,7 +33,7 @@ public: /* 802DE01C */ virtual s32 getHeight() const; /* 802DDFF8 */ virtual s32 getWidth() const; /* 802DFC64 */ virtual void getWidthEntry(int, JUTFont::TWidth*) const; - /* 802DFD0C */ virtual int getCellWidth() const; + /* 802DFD0C */ virtual s32 getCellWidth() const; /* 802DFD58 */ virtual s32 getCellHeight() const; /* 802DDFE0 */ virtual int getFontType() const; /* 802DDFD8 */ virtual ResFONT* getResFont() const; diff --git a/include/c/c_damagereaction.h b/include/c/c_damagereaction.h index c46af62ddd..e4bfa31286 100644 --- a/include/c/c_damagereaction.h +++ b/include/c/c_damagereaction.h @@ -3,15 +3,16 @@ #include "JSystem/JParticle/JPAParticle.h" -class JPTraceParticleCallBack4 /* : JPAParticleCallBack */ { +class JPTraceParticleCallBack4 : JPAParticleCallBack { public: /* 8001817C */ void execute(JPABaseEmitter*, JPABaseParticle*); /* 800182A4 */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 80018328 */ ~JPTraceParticleCallBack4(); + /* 80018328 */ ~JPTraceParticleCallBack4() {} }; BOOL cDmrNowMidnaTalk(); extern u8 cDmr_SkipInfo; +extern JPTraceParticleCallBack4 JPTracePCB4; #endif /* C_C_DAMAGEREACTION_H */ diff --git a/include/d/actor/d_a_do.h b/include/d/actor/d_a_do.h index c73d636c77..53a5eab79d 100644 --- a/include/d/actor/d_a_do.h +++ b/include/d/actor/d_a_do.h @@ -63,7 +63,7 @@ struct daDo_HIO_tmp { class daDo_HIO_c { public: /* 80667D4C */ daDo_HIO_c(); - /* 8066ED40 */ virtual ~daDo_HIO_c(); // should be inlined + /* 8066ED40 */ virtual ~daDo_HIO_c() {} /* 0x04 */ s8 field_0x04; /* 0x08 */ f32 mBaseSize; diff --git a/include/d/actor/d_a_dshutter.h b/include/d/actor/d_a_dshutter.h index 5b84d1806b..d523acaa3c 100644 --- a/include/d/actor/d_a_dshutter.h +++ b/include/d/actor/d_a_dshutter.h @@ -18,10 +18,10 @@ public: public: typedef int (daDsh_c::*actionFunc)(); - /* action_c(actionFunc i_initFunc, actionFunc i_execFunc) { + action_c(actionFunc i_initFunc, actionFunc i_execFunc) { mInitFunc = i_initFunc; mExecuteFunc = i_execFunc; - } */ + } actionFunc& getInit() { return mInitFunc; } actionFunc& getExecute() { return mExecuteFunc; } @@ -65,15 +65,15 @@ public: f32 getCloseBoundSpeed() { return CLOSE_BOUND_SPEED; } f32 getCloseBoundRatio() { return CLOSE_BOUND_RATIO; } - static f32 OPEN_SIZE; - static f32 OPEN_ACCEL; - static f32 OPEN_SPEED; - static f32 OPEN_BOUND_SPEED; - static f32 OPEN_BOUND_RATIO; - static f32 CLOSE_ACCEL; - static f32 CLOSE_SPEED; - static f32 CLOSE_BOUND_SPEED; - static f32 CLOSE_BOUND_RATIO; + static f32 const OPEN_SIZE; + static f32 const OPEN_ACCEL; + static f32 const OPEN_SPEED; + static f32 const OPEN_BOUND_SPEED; + static f32 const OPEN_BOUND_RATIO; + static f32 const CLOSE_ACCEL; + static f32 const CLOSE_SPEED; + static f32 const CLOSE_BOUND_SPEED; + static f32 const CLOSE_BOUND_RATIO; /* 0x5A0 */ dComIfG_resLoader_c mResLoader; /* 0x5B0 */ J3DModel* mpModel; diff --git a/include/d/actor/d_a_e_ba.h b/include/d/actor/d_a_e_ba.h index 07dbbf314f..1b72ccf1d5 100644 --- a/include/d/actor/d_a_e_ba.h +++ b/include/d/actor/d_a_e_ba.h @@ -79,7 +79,7 @@ public: /* 0x698 */ f32 mKnockbackSpeed; /* 0x69C */ s16 mKnockbackAngle; /* 0x69E */ csXyz mChanceAngle; - /* 0x6A4 */ bool mIsDying; + /* 0x6A4 */ s8 mIsDying; /* 0x6A6 */ s16 mTimer[4]; /* 0x6AE */ s16 mIFrames; /* 0x6B0 */ cXyz field_0x6b0; diff --git a/include/d/actor/d_a_nbomb.h b/include/d/actor/d_a_nbomb.h index 4e3a669804..6d39c762c7 100644 --- a/include/d/actor/d_a_nbomb.h +++ b/include/d/actor/d_a_nbomb.h @@ -76,9 +76,12 @@ public: /* 804CAEE8 */ int execute(); /* 804CBC60 */ int draw(); - virtual BOOL checkExplodeNow(); - virtual void deleteBombAndEffect(); - virtual void setCargoBombExplode(); + virtual BOOL checkExplodeNow() { return field_0xb51 != 0; } + virtual void deleteBombAndEffect() { + fopAcM_delete(this); + onStateFlg0(FLG0_UNK_40); + } + virtual void setCargoBombExplode() { onStateFlg0(FLG0_BOMB_HIT); } void onStateFlg0(daNbomb_FLG0 i_flag) { mStateFlg0 |= i_flag; } void offStateFlg0(daNbomb_FLG0 i_flag) { mStateFlg0 &= ~i_flag; } diff --git a/include/d/actor/d_a_obj_carry.h b/include/d/actor/d_a_obj_carry.h index e2fc67ddb1..cd003078d6 100644 --- a/include/d/actor/d_a_obj_carry.h +++ b/include/d/actor/d_a_obj_carry.h @@ -208,7 +208,7 @@ public: } static u8 const mData[2072]; - static Vec mPos[5]; + static cXyz mPos[5]; static u8 mSttsFlag[5]; static s8 mRoomNo[5]; static bool mSaveFlag; diff --git a/include/d/actor/d_a_obj_movebox.h b/include/d/actor/d_a_obj_movebox.h index 41d024a4c7..f5f2d76839 100644 --- a/include/d/actor/d_a_obj_movebox.h +++ b/include/d/actor/d_a_obj_movebox.h @@ -191,7 +191,7 @@ namespace daObjMovebox { void off_switch1() const { fopAcM_offSwitch(this, prm_get_swSave1()); } void off_switch2() const { fopAcM_offSwitch(this, prmZ_get_swSave2()); } - static s16 M_dir_base[4]; + static const s16 M_dir_base[4]; static const char* const M_arcname[8]; static const dCcD_SrcCyl M_cyl_src; static const daObjMovebox::Hio_c::Attr_c M_attr[8]; diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 110f2245df..3f30e73e69 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -945,7 +945,7 @@ public: inline BOOL i_checkSwordGet(); inline bool i_checkShieldGet() const; inline static BOOL checkNowWolf(); - inline static u32 i_checkNowWolf() { return dComIfGp_getLinkPlayer()->checkWolf(); } + inline static u32 i_checkNowWolf() { return ((daPy_py_c*)dComIfGp_getLinkPlayer())->checkWolf(); } inline bool checkZoraWearFlg() const; inline bool checkMagicArmorWearFlg() const; inline static BOOL i_checkFirstMidnaDemo() { return dComIfGs_isEventBit(0xc10); } diff --git a/include/d/actor/d_a_suspend.h b/include/d/actor/d_a_suspend.h index 8512d2620e..fc4657a3e7 100644 --- a/include/d/actor/d_a_suspend.h +++ b/include/d/actor/d_a_suspend.h @@ -21,8 +21,8 @@ public: /* 800310C8 */ u8 check(fopAc_ac_c*); /* 80031038 */ bool check(cXyz const&); /* 80031150 */ void execute(); - /* 80031F28 */ ~data_c(); - /* 80031F64 */ data_c(); + /* 80031F28 */ ~data_c() {} + /* 80031F64 */ data_c() { reset(); } void setNext(data_c* i_next) { mpNext = i_next; } data_c* getNext() { return mpNext; } @@ -44,7 +44,7 @@ public: public: /* 80031190 */ void add(daSus_c::data_c*); /* 800311FC */ void reset(); - /* 80031EE4 */ room_c(); + /* 80031EE4 */ room_c() { init(); } void init() { mpData = NULL; } /* 0x0 */ data_c* mpData; @@ -68,8 +68,8 @@ public: u8 getSw() { return fopAcM_GetParam(this) & 0xFF; } u8 getRoom() { return fopAcM_GetParam(this) >> 10; } - static u8 mData[1152]; - static u8 mRoom[256]; + static data_c mData[0x20]; + static room_c mRoom[0x40]; static s16 mSetTop; }; diff --git a/include/d/actor/d_a_ykgr.h b/include/d/actor/d_a_ykgr.h index b5dbb597cb..2f164c5bb9 100644 --- a/include/d/actor/d_a_ykgr.h +++ b/include/d/actor/d_a_ykgr.h @@ -8,21 +8,27 @@ #include "d/d_com_inf_game.h" #include "d/d_particle.h" -struct daYkgr_HIO_c { - /* 805A8D98 */ ~daYkgr_HIO_c(); +struct daYkgr_HIO_c : mDoHIO_entry_c { + daYkgr_HIO_c(); + /* 805A8D98 */ virtual ~daYkgr_HIO_c(); - u32 vtable; - u8 field_0x4[0x20 - 0x4]; - f32 field_0x20; - f32 field_0x24; + /* 0x04 */ u8 field_0x4; + /* 0x08 */ s32 field_0x8; + /* 0x0C */ s32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; }; -struct dPa_YkgrPcallBack /*: public JPAParticleCallBack */ { - /* 805A8E3C */ ~dPa_YkgrPcallBack(); +struct dPa_YkgrPcallBack : public JPAParticleCallBack { + dPa_YkgrPcallBack(); + /* 805A8E3C */ ~dPa_YkgrPcallBack() {} /* 805A848C */ void draw(JPABaseEmitter*, JPABaseParticle*); /* 805A84D4 */ void setParam(f32); - u32 vtable; /* 0x04 */ f32 field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; @@ -32,10 +38,6 @@ struct dPa_YkgrPcallBack /*: public JPAParticleCallBack */ { /* 0x1C */ s8 field_0x1c; }; -extern "C" u8 m_flag__8daYkgr_c; -extern "C" u8 m_alpha_flag__8daYkgr_c; -extern "C" u8 m_alpha__8daYkgr_c; - /** * @ingroup actors-unsorted * @class daYkgr_c @@ -94,11 +96,11 @@ public: static f32 m_aim_rate; static dPath* m_path; - u8 field_0x568[0x570 - 0x568]; - Mtx field_0x570; - u32 field_0x5a0; - f32 field_0x5a4; - f32 field_0x5a8; + /* 0x568 */ u8 field_0x568[0x570 - 0x568]; + /* 0x570 */ Mtx field_0x570; + /* 0x5A0 */ u32 field_0x5a0; + /* 0x5A4 */ f32 field_0x5a4; + /* 0x5A8 */ f32 field_0x5a8; }; STATIC_ASSERT(sizeof(daYkgr_c) == 0x5AC); diff --git a/include/d/d_bg_w_kcol.h b/include/d/d_bg_w_kcol.h index ab788fa959..d8716e31cd 100644 --- a/include/d/d_bg_w_kcol.h +++ b/include/d/d_bg_w_kcol.h @@ -45,7 +45,7 @@ struct KCol_Header { class dBgWKCol : public dBgW_Base { public: /* 8007E6F4 */ dBgWKCol(); - /* 8007E7D0 */ static void initKCollision(void*); + /* 8007E7D0 */ static void* initKCollision(void*); /* 8007E804 */ void create(void* pprism, void* plc); /* 8007E850 */ void getTriNrm(KC_PrismData*, Vec**) const; /* 8007E8C0 */ cM3dGPla GetTriPla(int) const; diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index 983d205d8f..dfbc553a8a 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -32,9 +32,9 @@ public: static bool checkWaterBomb(fopAc_ac_c*); static bool checkInsectBombMove(fopAc_ac_c*); - virtual BOOL checkExplodeNow(); - virtual void deleteBombAndEffect(); - virtual void setCargoBombExplode(); + virtual BOOL checkExplodeNow() { return FALSE; } + virtual void deleteBombAndEffect() {} + virtual void setCargoBombExplode() {} bool checkStateExplode() { return fopAcM_GetParam(this) == 0; } diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index 438a796283..170c3223b8 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -21,7 +21,7 @@ public: /* 0x8 */ int mInputSpeed; /* 0xC */ u8 field_0xc[4]; - /* 800889B0 */ virtual ~dCstick_c(); + /* 800889B0 */ virtual ~dCstick_c() {} f32 SwTHH() { return mThresholdHigh; } }; @@ -64,7 +64,7 @@ struct dCamStyleData { /* 0x0 */ u32 field_0x0; /* 0x4 */ u16 field_0x4; /* 0x6 */ u16 field_0x6; - /* 0x8 */ u8 field_0x8[0x78 - 0x8]; + /* 0x8 */ f32 field_0x8[28]; }; // Size: 0x78 /* 0x0 */ u8 field_0x0[4]; @@ -77,16 +77,19 @@ public: /* 800884F0 */ dCamParam_c(s32); /* 800885D4 */ int Change(s32); /* 80088620 */ int SearchStyle(u32); - /* 80182C60 */ void Arg2(s16); - /* 80182C3C */ void Arg2(); - /* 80182C48 */ void Arg1(); - /* 80182C6C */ void Arg1(u8); - /* 80182C50 */ void Arg0(); - /* 80182C74 */ void Arg0(u8); - /* 80182C7C */ void Fovy(u8); - /* 80182C58 */ void Fovy(); + + /* 80182C60 */ void Arg2(s16 val) { mMapToolArg2 = val; } + /* 80182C3C */ int Arg2() { return mMapToolArg2; } + /* 80182C48 */ u8 Arg1() { return mMapToolArg1; } + /* 80182C6C */ void Arg1(u8 val) { mMapToolArg1 = val; } + /* 80182C50 */ u8 Arg0() { return mMapToolArg0; } + /* 80182C74 */ void Arg0(u8 val) { mMapToolArg0 = val; } + /* 80182C7C */ void Fovy(u8 val) { mMapToolFovy = val; } + /* 80182C58 */ u8 Fovy() { return mMapToolFovy; } /* 80182CB4 */ bool CheckFlag(u16 flag) { return mCurrentStyle->field_0x6 & flag; } - /* 80182CD0 */ void Val(s32, int); + /* 80182CD0 */ f32 Val(s32 param_0, int param_1) { + return mCamStyleData[param_0].field_0x8[param_1]; + } /* 0x00 */ u8 mMapToolFovy; /* 0x01 */ u8 mMapToolArg0; @@ -103,7 +106,7 @@ public: int Algorythmn() { return mCurrentStyle->field_0x4; } bool Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].field_0x6 & param_1; } - /* 8008858C */ virtual ~dCamParam_c(); + /* 8008858C */ virtual ~dCamParam_c() {} }; class dCamSetup_c { @@ -111,16 +114,17 @@ public: /* 80088668 */ dCamSetup_c(); /* 80088918 */ bool CheckLatitudeRange(s16*); /* 80088988 */ f32 PlayerHideDist(); - /* 80182BB8 */ void CheckFlag2(u16); - /* 80182BE8 */ void WaitRollSpeed(); - /* 80182BF0 */ void WaitRollTimer(); - /* 80182C1C */ // void ThrowTimer(); - /* 80182C24 */ void ThrowCushion(); - /* 80182C2C */ void ThrowVAngle(); - /* 80182C34 */ void ThrowCtrAdjust(); - /* 80182CEC */ void ChargeBRatio(); - /* 80182CF4 */ void ChargeTimer(); - /* 80182CFC */ void ChargeLatitude(); + + /* 80182BB8 */ bool CheckFlag2(u16 i_flag) { return mFlags2 & i_flag; } + /* 80182BE8 */ f32 WaitRollSpeed() { return mWaitRollSpeed; } + /* 80182BF0 */ int WaitRollTimer() { return mWaitRollTimer; } + /* 80182C1C */ int ThrowTimer() { return mThrowTimer; } + /* 80182C24 */ f32 ThrowCushion() { return mThrowCushion; } + /* 80182C2C */ f32 ThrowVAngle() { return mThrowVAngle; } + /* 80182C34 */ f32 ThrowCtrAdjust() { return mThrowCtrOffset; } + /* 80182CEC */ f32 ChargeBRatio() { return mChargeBRatio; } + /* 80182CF4 */ int ChargeTimer() { return mChargeTimer; } + /* 80182CFC */ f32 ChargeLatitude() { return mChargeLatitude; } bool CheckFlag(u16 i_flag) { return mDebugFlags & i_flag; } f32 ManualEndVal() { return mManualEndVal; } @@ -128,14 +132,13 @@ public: f32 VistaTrimHeight() { return mTrimVistaHeight; } f32 ForceLockOffTimer() { return mForceLockOffTimer; } f32 ForceLockOffDist() { return mForceLockOffDist; } - int ThrowTimer() { return mThrowTimer; } f32 USOValue() { return mFalseValue; } f32 USOAngle() { return mFalseAngle; } /* 0x000 */ f32 mDrawNear; /* 0x004 */ f32 mDrawFar; /* 0x008 */ u16 mDebugFlags; - /* 0x00A */ u16 field_0xa; + /* 0x00A */ u16 mFlags2; /* 0x00C */ int field_0xc; /* 0x010 */ int mModeSwitchType; /* 0x014 */ void* mTypeTable; @@ -199,7 +202,7 @@ public: /* 0x0F8 */ f32 field_0xf8; /* 0x0FC vtable */ - /* 800888B8 */ virtual ~dCamSetup_c(); + /* 800888B8 */ virtual ~dCamSetup_c() {} /* 0x100 */ dCstick_c mCStick; /* 0x114 */ dCamBGChk_c mBGChk; diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index f6dcf5a0d9..7310b55380 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -345,16 +345,12 @@ public: void setXluListZxlu() { setXluDrawList(mDrawBuffers[DB_LIST_Z_XLU]); } void setOpaListFilter() { setOpaDrawList(mDrawBuffers[DB_LIST_FILTER]); } void setXluListFilter() { setXluDrawList(mDrawBuffers[DB_LIST_FILTER]); } - void set3DlineMat(mDoExt_3DlineMat_c *param_1) { - #ifndef NON_VIRTUAL_3DLINEMAT + void set3DlineMat(mDoExt_3DlineMat_c *param_1) { m3DLineMatSortPacket[param_1->getMaterialID()].setMat(param_1); - #endif } void set3DlineMatDark(mDoExt_3DlineMat_c *param_1) { - #ifndef NON_VIRTUAL_3DLINEMAT m3DLineMatSortPacket[param_1->getMaterialID()].setMatDark(param_1); - #endif } void peekZdata() { mPeekZ.peekData(); } diff --git a/include/d/d_file_select.h b/include/d/d_file_select.h index f5781ddbd1..52db7307da 100644 --- a/include/d/d_file_select.h +++ b/include/d/d_file_select.h @@ -3,25 +3,36 @@ #include "d/d_com_inf_game.h" #include "d/d_file_sel_warning.h" +#include "d/d_msg_string.h" #include "d/d_name.h" #include "JSystem/J3DGraphLoader/J3DModelLoader.h" #include "JSystem/J3DGraphLoader/J3DAnmLoader.h" class dFile_info_c; -class dDlst_FileSel_c { +class dDlst_FileSel_c : public dDlst_base_c { public: /* 8018DEBC */ void draw(); - /* 8019135C */ ~dDlst_FileSel_c(); + /* 8019135C */ ~dDlst_FileSel_c() { + delete Scr; + delete mpMessageString; + } + + dDlst_FileSel_c() { + mpMessageFont[0] = mDoExt_getMesgFont(); + mpMessageFont[1] = mDoExt_getSubFont(); + mpMessageString = new dMsgString_c(); + } - /* 0x00 */ void* vtable; /* 0x04 */ J2DScreen* Scr; + /* 0x08 */ JUTFont* mpMessageFont[2]; + /* 0x0C */ dMsgString_c* mpMessageString; }; class dFile_select3D_c { public: /* 801902F0 */ dFile_select3D_c(); - /* 80190380 */ /* virtual */ ~dFile_select3D_c(); + /* 80190380 */ virtual ~dFile_select3D_c(); /* 801903DC */ void _create(u8, u8); /* 8019049C */ void _delete(); /* 801904A0 */ void freeHeap(); @@ -40,7 +51,6 @@ public: void setBasePane(CPaneMgr* paneMgr) { mPaneMgr = paneMgr; } void setBase2Pane(J2DPane* pane) { mPane = pane; } - /* 0x0000 */ void* vtable; /* 0x0004 */ JKRSolidHeap* mpHeap; /* 0x0008 */ J3DModel* mpModel; /* 0x000C */ mDoExt_bckAnm* mBckAnm; @@ -59,78 +69,48 @@ public: /* 0x03CF */ u8 mMaskIdx; }; -class dDlst_FileSelYn_c { +class dDlst_FileSelYn_c : public dDlst_base_c { public: /* 8018E0C0 */ void draw(); - /* 801911F4 */ ~dDlst_FileSelYn_c(); + /* 801911F4 */ virtual ~dDlst_FileSelYn_c() { delete ScrYn; } - /* 0x00 */ void* vtable; /* 0x04 */ J2DScreen* ScrYn; /* 0x08 */ u8 field_0x08[4]; }; -class dDlst_FileSelDt_c { +class dDlst_FileSelDt_c : public dDlst_base_c { public: /* 8018DEF4 */ void draw(); - /* 801912E4 */ ~dDlst_FileSelDt_c(); + /* 801912E4 */ virtual ~dDlst_FileSelDt_c() { delete ScrDt; } - /* 0x00 */ void* vtable; /* 0x04 */ J2DScreen* ScrDt; /* 0x08 */ J2DPane* mpPane; /* 0x0C */ J2DPane* mpPane2; }; -class dDlst_FileSelCp_c { +class dDlst_FileSelCp_c : public dDlst_base_c { public: /* 8018DFFC */ void draw(); - /* 8019126C */ ~dDlst_FileSelCp_c(); + /* 8019126C */ virtual ~dDlst_FileSelCp_c() { delete Scr; } - /* 0x00 */ void* vtable; /* 0x04 */ J2DScreen* Scr; /* 0x08 */ bool field_0x08; /* 0x0C */ J2DPane* mpPane1; /* 0x10 */ J2DPane* mpPane2; }; -class dDlst_FileSel3m_c { +class dDlst_FileSel3m_c : public dDlst_base_c { public: /* 8018E0F8 */ void draw(); - /* 8019117C */ ~dDlst_FileSel3m_c(); + /* 8019117C */ virtual ~dDlst_FileSel3m_c() { delete Scr3m; } - /* 0x00 */ void* vtable; /* 0x04 */ J2DScreen* Scr3m; }; -// temp struct in order to get matches -class dFs_HIO_c_tmp { -public: - /* 0x0000 */ void* vtable; - /* 0x0004 */ s8 field_0x0004; - /* 0x0005 */ u8 field_0x0005; - /* 0x0006 */ u8 field_0x0006; - /* 0x0007 */ u8 field_0x0007; - /* 0x0008 */ u8 field_0x0008; - /* 0x0009 */ u8 field_0x0009; - /* 0x000A */ u8 field_0x000a; - /* 0x000B */ u8 field_0x000b; - /* 0x000C */ u8 field_0x000c; - /* 0x000D */ u8 field_0x000d; - /* 0x000E */ u8 field_0x000e[2]; - /* 0x0010 */ float field_0x0010[3]; - /* 0x001C */ u8 field_0x001c; - /* 0x001D */ u8 field_0x001d; - /* 0x001E */ u8 field_0x001e; - /* 0x001F */ u8 field_0x001f; - /* 0x0020 */ u8 field_0x0020; - /* 0x0021 */ u8 field_0x0021; - /* 0x0022 */ u8 field_0x0022; - /* 0x0023 */ u8 field_0x0023; -}; - class dFs_HIO_c { public: /* 801835F8 */ dFs_HIO_c(); - /* 801913E0 */ virtual ~dFs_HIO_c(); + /* 801913E0 */ virtual ~dFs_HIO_c() {} /* 0x0000 */ // void* vtable; /* 0x0004 */ s8 field_0x0004; @@ -163,7 +143,7 @@ public: typedef void (dFile_select_c::*DispFunc)(); /* 8018366C */ dFile_select_c(JKRArchive*); - /* 8018375C */ ~dFile_select_c(); + /* 8018375C */ virtual ~dFile_select_c(); /* 801843CC */ void _create(); /* 801844FC */ void _move(); /* 80184664 */ void selFileWakuAnm(); @@ -326,24 +306,21 @@ public: u8 getSelectNum() { return mSelectNum; } void setUseType(u8 type) { mUseType = type; } - /* 0x0000 */ void* vtable; - /* 0x0004 */ u8 field_0x04[4]; - /* 0x0008 */ JKRArchive* mpArchive; - /* 0x000C */ dFile_select3D_c* mpFileSelect3d; - /* 0x0010 */ dDlst_FileSel_c fileSel; - /* 0x0018 */ JUTFont* mpMessageFont[2]; - /* 0x0020 */ dMsgString_c* mpMessageString; - /* 0x0024 */ dDlst_FileSelDt_c mSelDt; - /* 0x0034 */ dDlst_FileSelCp_c mCpSel; - /* 0x0048 */ dDlst_FileSelYn_c mYnSel; - /* 0x0054 */ dDlst_FileSel3m_c m3mSel; + /* 0x0004 */ u8 field_0x04[4]; + /* 0x0008 */ JKRArchive* mpArchive; + /* 0x000C */ dFile_select3D_c* mpFileSelect3d; + /* 0x0010 */ dDlst_FileSel_c fileSel; + /* 0x0024 */ dDlst_FileSelDt_c mSelDt; + /* 0x0034 */ dDlst_FileSelCp_c mCpSel; + /* 0x0048 */ dDlst_FileSelYn_c mYnSel; + /* 0x0054 */ dDlst_FileSel3m_c m3mSel; /* 0x005C */ u8 field_0x005c[4]; - /* 0x0060 */ dSelect_cursor_c* mSelIcon; - /* 0x0064 */ dSelect_cursor_c* mSelIcon2; + /* 0x0060 */ dSelect_cursor_c* mSelIcon; + /* 0x0064 */ dSelect_cursor_c* mSelIcon2; /* 0x0068 */ dName_c* mpName; - /* 0x006C */ dFile_warning_c* mpFileWarning; + /* 0x006C */ dFile_warning_c* mpFileWarning; /* 0x0070 */ dFile_info_c* field_0x0070[3]; - /* 0x007C */ dFile_info_c* mpFileInfo[2]; + /* 0x007C */ dFile_info_c* mpFileInfo[2]; /* 0x0084 */ J2DAnmTransform* field_0x0084; /* 0x0088 */ J2DAnmTransform* field_0x0088; /* 0x008C */ J2DAnmTransform* field_0x008c; @@ -352,8 +329,8 @@ public: /* 0x0098 */ J2DAnmTransform* field_0x0098; /* 0x009C */ J2DAnmTransform* field_0x009c; /* 0x00A0 */ s32 field_0x00a0; - /* 0x00A4 */ CPaneMgr* field_0x00a4; - /* 0x00A8 */ u8 field_0x00a8[0xb0-0xa8]; + /* 0x00A4 */ CPaneMgr* field_0x00a4; + /* 0x00A8 */ u8 field_0x00a8[0xb0-0xa8]; /* 0x00B0 */ s32 field_0x00b0; /* 0x00B4 */ s32 field_0x00b4; /* 0x00B8 */ u8 field_0x00b8; @@ -369,10 +346,10 @@ public: /* 0x00F8 */ s32 field_0x00f8[2]; /* 0x0100 */ s32 field_0x0100; /* 0x0104 */ s32 field_0x0104; - /* 0x0108 */ bool field_0x0108; - /* 0x0109 */ bool field_0x0109; - /* 0x010A */ u8 field_0x10a[2]; - /* 0x010C */ J2DPane* mpPane; + /* 0x0108 */ bool field_0x0108; + /* 0x0109 */ bool field_0x0109; + /* 0x010A */ u8 field_0x10a[2]; + /* 0x010C */ J2DPane* mpPane; /* 0x0110 */ int field_0x0110; /* 0x0114 */ int field_0x0114; /* 0x0118 */ J2DPane* field_0x0118; diff --git a/include/d/d_gameover.h b/include/d/d_gameover.h index 46ab16304c..2a231ecf89 100644 --- a/include/d/d_gameover.h +++ b/include/d/d_gameover.h @@ -10,7 +10,7 @@ class dDlst_Gameover_CAPTURE_c : public dDlst_base_c { public: /* 8019ACF8 */ virtual void draw(); - /* 8019C2CC */ virtual ~dDlst_Gameover_CAPTURE_c(); // supposed to be inlined + /* 8019C2CC */ virtual ~dDlst_Gameover_CAPTURE_c() {} }; class dMsgScrnLight_c; diff --git a/include/d/d_menu_collect.h b/include/d/d_menu_collect.h index b359918d12..3149f5ddf0 100644 --- a/include/d/d_menu_collect.h +++ b/include/d/d_menu_collect.h @@ -21,7 +21,7 @@ class dMenu_Collect2DTop_c : public dDlst_base_c { public: dMenu_Collect2DTop_c(dMenu_Collect2D_c* param_0) { mpCollect2D = param_0; } /* 801B77A4 */ virtual void draw(); - /* 801B7EB8 */ virtual ~dMenu_Collect2DTop_c(); + /* 801B7EB8 */ virtual ~dMenu_Collect2DTop_c() {} /* 0x4 */ dMenu_Collect2D_c* mpCollect2D; }; @@ -102,7 +102,7 @@ public: /* 801B61BC */ void setItemNameString(u8, u8); /* 801B6344 */ void setItemNameStringNull(); - /* 801B7F00 */ virtual void draw(); + /* 801B7F00 */ virtual void draw() { _draw(); } /* 801AFE34 */ virtual ~dMenu_Collect2D_c(); u8 getCursorX() { return mCursorX; } diff --git a/include/d/d_menu_save.h b/include/d/d_menu_save.h index 12a022e90d..3998edae21 100644 --- a/include/d/d_menu_save.h +++ b/include/d/d_menu_save.h @@ -265,7 +265,7 @@ public: /* 801F69B8 */ void _draw(); /* 801F69FC */ void _draw2(); - /* 802844D0 */ virtual ~dMenu_save_c(); + /* 802844D0 */ virtual ~dMenu_save_c() {} u8 getSaveStatus() { return mSaveStatus; } u8 getEndStatus() { return mEndStatus; } diff --git a/include/d/d_meter2.h b/include/d/d_meter2.h index 52a26cdd00..9c2942abe3 100644 --- a/include/d/d_meter2.h +++ b/include/d/d_meter2.h @@ -19,20 +19,12 @@ class dMeterHaihai_c; class dMeterSub_c : public dDlst_base_c { public: - // these seem to be inlined, but generates in the wrong order in d_scope.cpp - /* 8019412C */ //virtual void draw() {} - /* 801940D4 */ //virtual ~dMeterSub_c() {} - /* 8019411C */ //virtual int _create() { return 0; } - /* 80194130 */ //virtual int _execute(u32) { return 0; } - /* 80194124 */ //virtual int _delete() { return 0; } - /* 80194138 */ //virtual int isDead() { return 0; } - - /* 8019412C */ virtual void draw(); + /* 8019412C */ virtual void draw() {} /* 801940D4 */ virtual ~dMeterSub_c() {} - /* 8019411C */ virtual int _create(); - /* 80194130 */ virtual int _execute(u32); - /* 80194124 */ virtual int _delete(); - /* 80194138 */ virtual bool isDead(); + /* 8019411C */ virtual int _create() { return 0; } + /* 80194130 */ virtual int _execute(u32) { return 0; } + /* 80194124 */ virtual int _delete() { return 0; } + /* 80194138 */ virtual bool isDead() { return false; } }; class dMeter2_c : public msg_class { diff --git a/include/d/d_meter2_draw.h b/include/d/d_meter2_draw.h index a4f83569e2..cd66fe9e5f 100644 --- a/include/d/d_meter2_draw.h +++ b/include/d/d_meter2_draw.h @@ -354,8 +354,8 @@ private: /* 0x518 */ J2DPicture* mpItemXYPane[3]; /* 0x524 */ int field_0x524[2][2]; /* 0x534 */ J2DAnmTransformKey* mPikariBck; - /* 0x538 */ J2DAnmColorKey* mPikariBpk; - /* 0x53C */ J2DAnmColorKey* mpOxygenBpk[3]; + /* 0x538 */ J2DAnmColor* mPikariBpk; + /* 0x53C */ J2DAnmColor* mpOxygenBpk[3]; /* 0x548 */ JUtility::TColor mPikariBlack; /* 0x54C */ JUtility::TColor mPikariWhite; /* 0x550 */ f32 field_0x550; diff --git a/include/d/d_msg_scrn_3select.h b/include/d/d_msg_scrn_3select.h index 3dd9a99206..5ca4ac98dc 100644 --- a/include/d/d_msg_scrn_3select.h +++ b/include/d/d_msg_scrn_3select.h @@ -5,7 +5,7 @@ class J2DScreen; class J2DAnmTransform; -class J2DAnmColor; +class J2DAnmColorKey; class J2DAnmTextureSRTKey; class dSelect_cursor_c; class CPaneMgr; @@ -58,7 +58,7 @@ public: private: /* 0x004 */ J2DScreen* mpScreen; /* 0x008 */ J2DAnmTransform* mpAnmBck; - /* 0x00C */ J2DAnmColor* mpAnmBpk; + /* 0x00C */ J2DAnmColorKey* mpAnmBpk; /* 0x010 */ J2DAnmTextureSRTKey* mpAnmBtk; /* 0x014 */ dSelect_cursor_c* mpSelectCursor; /* 0x018 */ CPaneMgr* mpParent; diff --git a/include/d/d_msg_string.h b/include/d/d_msg_string.h index ffbce2c3f2..7a80ee4a14 100644 --- a/include/d/d_msg_string.h +++ b/include/d/d_msg_string.h @@ -12,7 +12,14 @@ public: /* 80249CA0 */ dMsgString_c(u8); /* 80249D28 */ ~dMsgString_c(); - /* 80191B6C */ virtual f32 getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); + /* 80191B6C */ virtual f32 getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2, + JUTFont* param_3, COutFont_c* param_4, u8 param_5) { + if (param_4 == NULL && mpOutFont != NULL) { + return getStringLocal(param_0, param_1, param_2, param_3, mpOutFont, param_5); + } else { + return getStringLocal(param_0, param_1, param_2, param_3, param_4, param_5); + } + } /* 801E1D10 */ virtual void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); /* 80249DB4 */ virtual void resetStringLocal(J2DTextBox*); diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 6171193961..45a95833ca 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -193,10 +193,10 @@ public: setModel(param_0, param_1, param_2, param_3, param_4, param_5); } - static dPa_modelEcallBack& getEcallback() { return (dPa_modelEcallBack&)mEcallback; } - static dPa_modelEcallBack* mEcallback; // Should be dPa_modelEcallBack + static dPa_modelEcallBack& getEcallback() { return mEcallback; } + static dPa_modelEcallBack mEcallback; - static u8 mPcallback[4]; + static dPa_modelPcallBack mPcallback; static model_c* mModel; }; @@ -415,15 +415,15 @@ public: static JPAEmitterManager* getEmitterManager() { return mEmitterMng; } - static JPAParticleCallBack* getLight8PcallBack() { + static dPa_light8PcallBack* getLight8PcallBack() { return &mLight8PcallBack; } - static JPAParticleCallBack* getGen_b_Light8PcallBack() { + static dPa_gen_b_light8PcallBack* getGen_b_Light8PcallBack() { return &m_b_Light8PcallBack; } - static JPAParticleCallBack* getGen_d_Light8PcallBack() { + static dPa_gen_d_light8PcallBack* getGen_d_Light8PcallBack() { return &m_d_Light8PcallBack; } @@ -439,11 +439,11 @@ public: return &mLight8EcallBack; } - static JPAParticleCallBack* getParticleTracePCB() { + static dPa_particleTracePcallBack_c* getParticleTracePCB() { return &mParticleTracePCB; } - static JPAParticleCallBack* getFsenthPcallBack() { + static dPa_fsenthPcallBack* getFsenthPcallBack() { return &mFsenthPcallBack; } @@ -455,15 +455,15 @@ public: static u8 mLifeBall[24]; static Mtx mWindViewMatrix; static JPAEmitterManager* mEmitterMng; - static JPAParticleCallBack mWaterBubblePcallBack; - static JPAParticleCallBack mFsenthPcallBack; + static dPa_wbPcallBack_c mWaterBubblePcallBack; + static dPa_fsenthPcallBack mFsenthPcallBack; static dPa_light8EcallBack mLight8EcallBack; - static JPAParticleCallBack mLight8PcallBack; + static dPa_light8PcallBack mLight8PcallBack; static dPa_gen_b_light8EcallBack m_b_Light8EcallBack; - static JPAParticleCallBack m_b_Light8PcallBack; + static dPa_gen_b_light8PcallBack m_b_Light8PcallBack; static dPa_gen_d_light8EcallBack m_d_Light8EcallBack; - static JPAParticleCallBack m_d_Light8PcallBack; - static JPAParticleCallBack mParticleTracePCB; + static dPa_gen_d_light8PcallBack m_d_Light8PcallBack; + static dPa_particleTracePcallBack_c mParticleTracePCB; static u8 mStatus; private: diff --git a/include/d/d_select_cursor.h b/include/d/d_select_cursor.h index ba57898dcf..99af9373d5 100644 --- a/include/d/d_select_cursor.h +++ b/include/d/d_select_cursor.h @@ -10,7 +10,7 @@ class dSelect_cursorHIO_c { public: /* 801941E4 */ dSelect_cursorHIO_c(); - /* 80195978 */ virtual ~dSelect_cursorHIO_c(); + /* 80195978 */ virtual ~dSelect_cursorHIO_c() {} /* 0x04 */ s8 field_0x4; /* 0x08 */ f32 field_0x8; diff --git a/include/d/d_select_icon.h b/include/d/d_select_icon.h index aa3e2ccbce..60800f34b5 100644 --- a/include/d/d_select_icon.h +++ b/include/d/d_select_icon.h @@ -2,11 +2,12 @@ #define D_D_SELECT_ICON_H #include "JSystem/J2DGraph/J2DScreen.h" +#include "d/d_drawlist.h" #include "d/d_pane_class.h" class dSi_HIO_c { public: - virtual ~dSi_HIO_c(); + virtual ~dSi_HIO_c() {} dSi_HIO_c(); u8 field_0x4[4]; @@ -20,10 +21,10 @@ public: virtual ~dSelect_icon_c() {} void drawSelf() { - // Not sure what field_0x4 is + field_0x4.draw(); } - /* 0x04 */ u8 field_0x4[4]; + /* 0x04 */ dDlst_base_c field_0x4; // type is a guess /* 0x08 */ J2DScreen* field_0x8; /* 0x0C */ CPaneMgrAlpha* field_0xc; /* 0x10 */ CPaneMgr* field_0x10; diff --git a/include/f_op/f_op_actor_enemy.h b/include/f_op/f_op_actor_enemy.h index d8cf625ff6..049f7381f3 100644 --- a/include/f_op/f_op_actor_enemy.h +++ b/include/f_op/f_op_actor_enemy.h @@ -48,18 +48,16 @@ static int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatu sp68.x = -cM_atan2s(sp60.y, JMAFastSqrt(sp60.x * sp60.x + sp60.z * sp60.z)); sp68.z = 0; - s32 room_no = fopAcM_GetRoomNo(a_this); JPABaseEmitter* emitter = dComIfGp_particle_set( - 0x29B, i_effPos, &a_this->tevStr, &sp68, i_effSize, 0xFF, NULL, room_no, - &e_prim[darkworld_check], &e_env[darkworld_check], NULL); + 0x29B, i_effPos, &a_this->tevStr, &sp68, i_effSize, 0xFF, NULL, + fopAcM_GetRoomNo(a_this), &e_prim[darkworld_check], &e_env[darkworld_check], NULL); if (emitter != NULL) { emitter->setGlobalParticleHeightScale((JREG_F(7) + 0.01f) * sp60.abs()); } - room_no = fopAcM_GetRoomNo(a_this); dComIfGp_particle_set(0x29C, i_effPos, &a_this->tevStr, &a_this->shape_angle, i_effSize, - 0xFF, NULL, room_no, &e_prim[darkworld_check], + 0xFF, NULL, fopAcM_GetRoomNo(a_this), &e_prim[darkworld_check], &e_env[darkworld_check], NULL); i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); @@ -75,7 +73,7 @@ static int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatu &e_env[darkworld_check], NULL); } - i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); + i_creatureP->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); return 1; } diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 5ff787c1bb..5a328e208c 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -171,8 +171,8 @@ enum fopAcM_STATUS { /* 0x100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20, }; -inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { - return (s8)pActor->current.roomNo; +inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { + return pActor->current.roomNo; } inline fpc_ProcID fopAcM_GetID(const void* pActor) { @@ -691,23 +691,19 @@ inline s32 fopAcM_seenPlayerAngleY(const fopAc_ac_c* i_actor) { s8 dComIfGp_getReverb(int roomNo); inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) { - s8 roomNo = fopAcM_GetRoomNo(actor); - mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo)); + mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); } inline void fopAcM_seStart(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) { - s8 roomNo = fopAcM_GetRoomNo(actor); - mDoAud_seStart(sfxID, &actor->eyePos, param_2, dComIfGp_getReverb(roomNo)); + mDoAud_seStart(sfxID, &actor->eyePos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); } inline void fopAcM_seStartLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) { - s8 roomNo = fopAcM_GetRoomNo(actor); - mDoAud_seStartLevel(sfxID, &actor->eyePos, param_2, dComIfGp_getReverb(roomNo)); + mDoAud_seStartLevel(sfxID, &actor->eyePos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); } inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) { - s8 roomNo = fopAcM_GetRoomNo(actor); - mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo)); + mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); } inline void fopAcM_offActor(fopAc_ac_c* pActor, u32 flag) { diff --git a/include/m_Do/m_Do_MemCard.h b/include/m_Do/m_Do_MemCard.h index 4643877124..18cf932620 100644 --- a/include/m_Do/m_Do_MemCard.h +++ b/include/m_Do/m_Do_MemCard.h @@ -1,6 +1,7 @@ #ifndef M_DO_M_DO_MEMCARD_H #define M_DO_M_DO_MEMCARD_H +#include "card.h" #include "dolphin/os/OSMutex.h" #include "global.h" @@ -42,6 +43,14 @@ public: void clearProbeStat() { mProbeStat = 2; } void setCopyToPos(u8 param_0) { mCopyToPos = param_0; } u32 getDataVersion() { return mDataVersion; } + void setDataVersion(u32 version) { mDataVersion = version; } + void getCardStatus(s32 fileNo, CARDStat* stat) { CARDGetStatus(mChannel, fileNo, stat); } + void setCardStatus(s32 fileNo, CARDStat* stat) { CARDSetStatus(mChannel, fileNo, stat); } + void setSerialNo() { + u64 serial_no; + CARDGetSerialNo(mChannel, &serial_no); + mSerialNo = serial_no; + } /* 0x0000 */ u8 mData[0x1FBC]; /* 0x1FBC */ u8 mChannel; @@ -111,8 +120,24 @@ inline u32 mDoMemCd_LoadSync(void* buffer, u32 size, u32 index) { return g_mDoMemCd_control.LoadSync(buffer, size, index); } -inline s32 mDoMemCd_getDataVersion() { +inline u32 mDoMemCd_getDataVersion() { return g_mDoMemCd_control.getDataVersion(); } +inline void mDoMemCd_setDataVersion(u32 version) { + g_mDoMemCd_control.setDataVersion(version); +} + +inline void mDoMemCd_setSerialNo() { + g_mDoMemCd_control.setSerialNo(); +} + +inline void mDoMemCd_getCardStatus(s32 fileNo, CARDStat* stat) { + g_mDoMemCd_control.getCardStatus(fileNo, stat); +} + +inline void mDoMemCd_setCardStatus(s32 fileNo, CARDStat* stat) { + g_mDoMemCd_control.setCardStatus(fileNo, stat); +} + #endif /* M_DO_M_DO_MEMCARD_H */ diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 5b10aa786f..5197702f5f 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -43,7 +43,7 @@ private: class mDoExt_transAnmBas : public J3DAnmTransformKey { public: mDoExt_transAnmBas(void* bas) { mBas = bas; } - virtual ~mDoExt_transAnmBas(); + virtual ~mDoExt_transAnmBas() {} void* getBas() { return mBas; } @@ -224,10 +224,10 @@ private: class mDoExt_invJntPacket : public J3DPacket { public: - /* 8000E654 */ mDoExt_invJntPacket(); + /* 8000E654 */ mDoExt_invJntPacket() {} /* 80012220 */ virtual void draw(); - /* 8000E5F8 */ virtual ~mDoExt_invJntPacket(); + /* 8000E5F8 */ virtual ~mDoExt_invJntPacket() {} void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) { field_0x10 = i_model; @@ -450,7 +450,7 @@ struct mDoExt_MtxCalcAnmBlendTbl /* 800D00BC */ J3DAnmTransform* getAnm(int); - /* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl(); + /* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl() {} /* 8000F26C */ virtual void calc(); /* 0x4 */ int mNum; @@ -465,7 +465,7 @@ struct mDoExt_MtxCalcAnmBlendTblOld : public mDoExt_MtxCalcAnmBlendTbl { : mDoExt_MtxCalcAnmBlendTbl(num, anmRatio) { mOldFrame = oldFrame; } - /* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld(); + /* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld() {} /* 8000F4B0 */ virtual void calc(); /* 0xC */ mDoExt_MtxCalcOldFrame* mOldFrame; diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 221be23319..cbfee44297 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -8,8 +8,6 @@ class JUTFader; int mDoGph_Create(); -extern u8 mBlureFlag__13mDoGph_gInf_c; // Blure -extern u8 mFade__13mDoGph_gInf_c; // Fade extern bool data_80450BE7; // AutoForcus struct ResTIMG; @@ -17,7 +15,7 @@ class mDoGph_gInf_c { public: class bloom_c { public: - // bloom_c() { m_buffer = NULL; } matches sinit + bloom_c() { m_buffer = NULL; } /* 80009544 */ void create(); /* 800095F8 */ void remove(); /* 80009650 */ void draw(); diff --git a/src/JSystem/J3DGraphBase/J3DTevs.cpp b/src/JSystem/J3DGraphBase/J3DTevs.cpp index 47071e924f..3cf86c18ee 100644 --- a/src/JSystem/J3DGraphBase/J3DTevs.cpp +++ b/src/JSystem/J3DGraphBase/J3DTevs.cpp @@ -556,10 +556,10 @@ extern const J3DColorChanInfo j3dDefaultColorChanInfo = { }; /* 804563F8-804563FA 0049F8 0002+00 0/0 1/1 0/0 .sdata2 None */ -extern const u16 data_804563F8 = 0x1B00; +extern const u8 data_804563F8 = 0x1B; /* 804563FA-804563FC 0049FA 0002+00 0/0 1/1 0/0 .sdata2 j3dDefaultAlphaCmpID */ const u16 j3dDefaultAlphaCmpID = 0x00E7; /* 804563FC-80456400 0049FC 0002+02 0/0 3/3 0/0 .sdata2 j3dDefaultZModeID */ -const u16 j3dDefaultZModeID = 0x0017; \ No newline at end of file +const u16 j3dDefaultZModeID = 0x0017; diff --git a/src/JSystem/J3DGraphBase/J3DTransform.cpp b/src/JSystem/J3DGraphBase/J3DTransform.cpp index 2ea8c60e34..1391184769 100644 --- a/src/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/src/JSystem/J3DGraphBase/J3DTransform.cpp @@ -6,40 +6,8 @@ #include "JSystem/J3DGraphBase/J3DTransform.h" #include "JSystem/JMath/JMATrigonometric.h" #include "JSystem/J3DGraphBase/J3DStruct.h" -#include "dol2asm.h" #include "dolphin/base/PPCArch.h" -// -// Forward References: -// - -extern "C" void __MTGQR7__FUl(); -extern "C" void J3DGQRSetup7__FUlUlUlUl(); -extern "C" void J3DCalcBBoardMtx__FPA4_f(); -extern "C" void J3DCalcYBBoardMtx__FPA4_f(); -extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f(); -extern "C" void J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f(); -extern "C" void J3DGetTranslateRotateMtx__FsssfffPA4_f(); -extern "C" void J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f(); -extern "C" void J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f(); -extern "C" void J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f(); -extern "C" void J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f(); -extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec(); -extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec(); -extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f(); -extern "C" void J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl(); -extern "C" extern f32 PSMulUnit01[2]; - -// -// External References: -// - -extern "C" u8 sincosTable___5JMath[65536]; - -// -// Declarations: -// - /* 80311630-80311638 -00001 0008+00 0/0 0/0 0/0 .text __MTGQR7__FUl */ void __MTGQR7(register u32 v) { // clang-format off @@ -55,18 +23,8 @@ void J3DGQRSetup7(u32 r0, u32 r1, u32 r2, u32 r3) { __MTGQR7(v); } -/* ############################################################################################## */ -/* 80456378-8045637C 004978 0004+00 6/6 0/0 0/0 .sdata2 @435 */ -SECTION_SDATA2 static u8 lit_435[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80311670-80311760 30BFB0 00F0+00 0/0 2/2 0/0 .text J3DCalcBBoardMtx__FPA4_f */ // this uses a non-standard sqrtf, not sure why or how its supposed to be setup -#ifdef NONMATCHING static inline f32 sqrtf2(f32 x) { if (x > 0.0f) { f32 guess = (f32)__frsqrte(x); @@ -102,13 +60,7 @@ void J3DCalcBBoardMtx(Mtx mtx) { mtx[2][1] = 0.0f; mtx[2][2] = z; } -#else -void J3DCalcBBoardMtx(f32 (*param_0)[4]) { - // NONMATCHING -} -#endif -/* ############################################################################################## */ /* 803A1E30-803A1E50 02E490 0020+00 0/0 1/1 0/0 .rodata j3dDefaultTransformInfo */ extern J3DTransformInfo const j3dDefaultTransformInfo = { {1.0f, 1.0f, 1.0f}, {0, 0, 0}, {0.0f, 0.0f, 0.0f}}; @@ -120,12 +72,6 @@ extern Vec const j3dDefaultScale = {1.0f, 1.0f, 1.0f}; extern Mtx const j3dDefaultMtx = { {1.0f, 0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f, 0.0f}}; -/* 803A1E8C-803A1E98 02E4EC 000C+00 1/1 0/0 0/0 .rodata @443 */ -SECTION_RODATA static u8 const lit_443[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A1E8C, &lit_443); - /* 80311760-8031189C 30C0A0 013C+00 0/0 2/2 0/0 .text J3DCalcYBBoardMtx__FPA4_f */ void J3DCalcYBBoardMtx(f32 (*param_0)[4]) { // NONMATCHING @@ -191,10 +137,6 @@ void J3DGetTranslateRotateMtx(s16 rx, s16 ry, s16 rz, f32 tx, f32 ty, f32 tz, Mt dst[2][3] = tz; } -/* ############################################################################################## */ -/* 8045637C-80456380 00497C 0004+00 4/4 0/0 0/0 .sdata2 @526 */ -SECTION_SDATA2 static f32 lit_526 = 1.0f; - /* 80311ACC-80311B80 30C40C 00B4+00 0/0 3/3 0/0 .text * J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f */ void J3DGetTextureMtx(const J3DTextureSRTInfo& srt, const Vec& center, Mtx dst) { @@ -248,15 +190,6 @@ void J3DGetTextureMtxOld(const J3DTextureSRTInfo& srt, const Vec& center, Mtx ds dst[2][2] = 1.0f; } - -/* ############################################################################################## */ -/* 80456380-80456388 004980 0004+04 2/2 0/0 0/0 .sdata2 @557 */ -SECTION_SDATA2 static f32 lit_557[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; - /* 80311C34-80311CE4 30C574 00B0+00 0/0 3/3 0/0 .text * J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f */ void J3DGetTextureMtxMaya(const J3DTextureSRTInfo& srt, Mtx dst) { @@ -361,8 +294,8 @@ void J3DMtxProjConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4]) { /* ############################################################################################## */ /* 80450958-80450960 0003D8 0008+00 1/1 0/0 0/0 .sdata Unit01 */ -SECTION_SDATA static u8 Unit01[8] = { - 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, +static f32 Unit01[2] = { + 0.0f, 1.0f }; /* 80311F70-8031204C 30C8B0 00DC+00 0/0 1/1 0/0 .text J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl */ @@ -372,7 +305,7 @@ void J3DPSMtxArrayConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4] /* ############################################################################################## */ /* 803CD8F8-803CD900 02AA18 0008+00 0/0 2/2 0/0 .data PSMulUnit01 */ -SECTION_DATA extern f32 PSMulUnit01[2] = { +extern f32 PSMulUnit01[2] = { 0.0f, -1.0f, -}; \ No newline at end of file +}; diff --git a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp index aca933f017..1b1791a5ed 100644 --- a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp @@ -4,217 +4,9 @@ // #include "JSystem/J3DGraphLoader/J3DAnmLoader.h" -#include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/JSupport/JSupport.h" -#include "dol2asm.h" #include "dolphin/os.h" -// -// Types: -// - -class J3DAnmLoader { -public: - virtual J3DAnmBase* load(const void*) = 0; - virtual void setResource(J3DAnmBase*, const void*) = 0; - /* 80339800 */ virtual ~J3DAnmLoader() {} -}; - -class J3DAnmKeyLoader_v15 : public J3DAnmLoader { -public: - /* 803384E0 */ J3DAnmKeyLoader_v15(); - /* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*); - /* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*); - /* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*); - /* 803390D8 */ void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*); - /* 803392B0 */ void readAnmColor(J3DAnmColorKeyData const*); - /* 803392D8 */ void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*); - /* 803393C4 */ void readAnmCluster(J3DAnmClusterKeyData const*); - /* 803393EC */ void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*); - /* 80339458 */ void readAnmTevReg(J3DAnmTevRegKeyData const*); - /* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*); - /* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*); - /* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*); - - /* 80338D44 */ virtual J3DAnmBase* load(void const*); - /* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*); - /* 803384FC */ virtual ~J3DAnmKeyLoader_v15(); - - /* 0x4 */ J3DAnmBase* mAnm; -}; - -class J3DAnmFullLoader_v15 : public J3DAnmLoader { -public: - /* 80338468 */ J3DAnmFullLoader_v15(); - /* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*); - /* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*); - /* 803388BC */ void readAnmColor(J3DAnmColorFullData const*); - /* 803388E4 */ void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*); - /* 803389B0 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*); - /* 803389D8 */ void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*); - /* 80338A7C */ void readAnmVisibility(J3DAnmVisibilityFullData const*); - /* 80338AA4 */ void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*); - /* 80338B20 */ void readAnmCluster(J3DAnmClusterFullData const*); - /* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*); - /* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*); - /* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*); - - /* 80338558 */ virtual J3DAnmBase* load(void const*); - /* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*); - /* 80338484 */ virtual ~J3DAnmFullLoader_v15(); - - /* 0x4 */ J3DAnmBase* mAnm; -}; - -// -// Forward References: -// - -extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); -extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv(); -extern "C" void __ct__20J3DAnmFullLoader_v15Fv(); -extern "C" void __dt__20J3DAnmFullLoader_v15Fv(); -extern "C" void __ct__19J3DAnmKeyLoader_v15Fv(); -extern "C" void __dt__19J3DAnmKeyLoader_v15Fv(); -extern "C" void load__20J3DAnmFullLoader_v15FPCv(); -extern "C" void setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv(); -extern "C" void readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData(); -extern "C" void -setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData(); -extern "C" void readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData(); -extern "C" void setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData(); -extern "C" void readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData(); -extern "C" void -setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData(); -extern "C" void readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData(); -extern "C" void -setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData(); -extern "C" void readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData(); -extern "C" void -setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData(); -extern "C" void readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData(); -extern "C" void -setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData(); -extern "C" void load__19J3DAnmKeyLoader_v15FPCv(); -extern "C" void setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv(); -extern "C" void readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData(); -extern "C" void -setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData(); -extern "C" void readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData(); -extern "C" void -setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData(); -extern "C" void readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData(); -extern "C" void setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData(); -extern "C" void readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData(); -extern "C" void setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData(); -extern "C" void readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData(); -extern "C" void setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData(); -extern "C" void readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData(); -extern "C" void -setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData(); -extern "C" void __dt__20J3DAnmVisibilityFullFv(); -extern "C" s32 getKind__20J3DAnmVisibilityFullCFv(); -extern "C" void __dt__12J3DAnmLoaderFv(); -extern "C" void func_80339848(void* _this, void const*, void const*); -extern "C" void func_80339860(void* _this, void const*, void const*); -extern "C" extern char const* const J3DAnmLoader__stringBase0; - -// -// External References: -// - -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void setResource__10JUTNameTabFPC7ResNTAB(); -extern "C" void func_802F4260(void* _this, void const*, void const*); -extern "C" void func_802F42C0(void* _this, void const*, void const*); -extern "C" void func_8030A458(void* _this, void const*, void const*); -extern "C" void func_8030A470(void* _this, void const*, void const*); -extern "C" void func_8030A488(void* _this, void const*, void const*); -extern "C" void func_8030A4A0(void* _this, void const*, void const*); -extern "C" void func_8030A4B8(void* _this, void const*, void const*); -extern "C" void func_8030A4D0(void* _this, void const*, void const*); -extern "C" void func_8030A4E8(void* _this, void const*, void const*); -extern "C" void func_8030A500(void* _this, void const*, void const*); -extern "C" void func_8030A518(void* _this, void const*, void const*); -extern "C" void func_8030A530(void* _this, void const*, void const*); -extern "C" void func_8030A548(void* _this, void const*, void const*); -extern "C" void func_8030A560(void* _this, void const*, void const*); -extern "C" void func_8030A578(void* _this, void const*, void const*); -extern "C" void __ct__15J3DAnmTransformFsPfPsPf(); -extern "C" void __ct__19J3DAnmTextureSRTKeyFv(); -extern "C" void __ct__18J3DAnmVtxColorFullFv(); -extern "C" void __ct__17J3DAnmVtxColorKeyFv(); -extern "C" void __ct__15J3DAnmColorFullFv(); -extern "C" void __ct__14J3DAnmColorKeyFv(); -extern "C" void __ct__15J3DAnmTevRegKeyFv(); -extern "C" void __ct__16J3DAnmTexPatternFv(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__10J3DAnmBase[4]; -extern "C" extern void* __vt__18J3DAnmTransformKey[5]; -extern "C" extern void* __vt__16J3DAnmClusterKey[5]; -extern "C" extern void* __vt__13J3DAnmCluster[5]; -extern "C" extern void* __vt__17J3DAnmClusterFull[5]; -extern "C" extern void* __vt__27J3DAnmTransformFullWithLerp[5]; -extern "C" extern void* __vt__19J3DAnmTransformFull[5 + 1 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803A2130 = - "J3DAnmLoader: this is not a J3D Binary.\n"; -#pragma pop - -/* 803CF238-803CF24C 02C358 0014+00 2/2 0/0 0/0 .data __vt__19J3DAnmKeyLoader_v15 */ -SECTION_DATA extern void* __vt__19J3DAnmKeyLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__19J3DAnmKeyLoader_v15FPCv, - (void*)setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv, - (void*)__dt__19J3DAnmKeyLoader_v15Fv, -}; - -/* 803CF24C-803CF260 02C36C 0014+00 2/2 0/0 0/0 .data __vt__20J3DAnmFullLoader_v15 */ -SECTION_DATA extern void* __vt__20J3DAnmFullLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__20J3DAnmFullLoader_v15FPCv, - (void*)setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv, - (void*)__dt__20J3DAnmFullLoader_v15Fv, -}; - -/* 803CF260-803CF274 02C380 0014+00 5/5 0/0 0/0 .data __vt__12J3DAnmLoader */ -SECTION_DATA extern void* __vt__12J3DAnmLoader[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J3DAnmLoaderFv, -}; - -/* 803CF274-803CF288 02C394 0010+04 2/2 0/0 0/0 .data __vt__20J3DAnmVisibilityFull */ -SECTION_DATA extern void* __vt__20J3DAnmVisibilityFull[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20J3DAnmVisibilityFullFv, - (void*)getKind__20J3DAnmVisibilityFullCFv, - /* padding */ - NULL, -}; - -/* 804564C0-804564C8 004AC0 0004+04 13/13 0/0 0/0 .sdata2 @889 */ -SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - /* 80337B40-80338134 332480 05F4+00 0/0 7/7 1/1 .text * load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag */ J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseFlag flag) { @@ -298,7 +90,6 @@ J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseF return NULL; } - /* 80338134-80338468 332A74 0334+00 0/0 1/1 0/0 .text * setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv */ void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2) { @@ -382,28 +173,15 @@ void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2) /* 80338468-80338484 332DA8 001C+00 2/2 0/0 0/0 .text __ct__20J3DAnmFullLoader_v15Fv */ J3DAnmFullLoader_v15::J3DAnmFullLoader_v15() {} - /* 80338484-803384E0 332DC4 005C+00 3/2 0/0 0/0 .text __dt__20J3DAnmFullLoader_v15Fv */ J3DAnmFullLoader_v15::~J3DAnmFullLoader_v15() {} - /* 803384E0-803384FC 332E20 001C+00 2/2 0/0 0/0 .text __ct__19J3DAnmKeyLoader_v15Fv */ J3DAnmKeyLoader_v15::J3DAnmKeyLoader_v15() {} - /* 803384FC-80338558 332E3C 005C+00 3/2 0/0 0/0 .text __dt__19J3DAnmKeyLoader_v15Fv */ J3DAnmKeyLoader_v15::~J3DAnmKeyLoader_v15() {} - -/* ############################################################################################## */ -/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803A2159 = "Unknown data block\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803A216D = "\0\0"; -#pragma pop - /* 80338558-803386A0 332E98 0148+00 2/1 0/0 0/0 .text load__20J3DAnmFullLoader_v15FPCv */ J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) { const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1; @@ -437,7 +215,6 @@ J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) { return mAnm; } - /* 803386A0-80338800 332FE0 0160+00 2/1 0/0 0/0 .text * setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv */ void J3DAnmFullLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) { @@ -487,10 +264,10 @@ void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* param_1, param_1->mAttribute = param_2->field_0x8; param_1->mFrame = 0.0f; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mScaleData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mScaleValOffset); - param_1->mRotData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRotValOffset); - param_1->mTransData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mTransValOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mScaleData = JSUConvertOffsetToPtr(param_2, param_2->mScaleValOffset); + param_1->mRotData = JSUConvertOffsetToPtr(param_2, param_2->mRotValOffset); + param_1->mTransData = JSUConvertOffsetToPtr(param_2, param_2->mTransValOffset); } @@ -509,18 +286,17 @@ void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* param_1, param_1->mFrame = 0.0f; param_1->mUpdateMaterialNum = param_2->mUpdateMaterialNum; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); param_1->mColorR = JSUConvertOffsetToPtr(param_2, param_2->mRValuesOffset); param_1->mColorG = JSUConvertOffsetToPtr(param_2, param_2->mGValuesOffset); param_1->mColorB = JSUConvertOffsetToPtr(param_2, param_2->mBValuesOffset); param_1->mColorA = JSUConvertOffsetToPtr(param_2, param_2->mAValuesOffset); param_1->mUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mUpdateMaterialIDOffset); param_1->mUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); + JSUConvertOffsetToPtr(param_2, param_2->mNameTabOffset)); } - /* 803389B0-803389D8 3332F0 0028+00 1/1 0/0 0/0 .text * readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */ void J3DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* param_1) { @@ -537,15 +313,14 @@ void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* param_1, param_1->mUpdateMaterialNum = param_2->field_0xc; param_1->field_0x14 = param_2->field_0xe; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mTextureIndex = JSUConvertOffsetToPtr(param_2, (void*)param_2->mValuesOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mTextureIndex = JSUConvertOffsetToPtr(param_2, param_2->mValuesOffset); param_1->mUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mUpdateMaterialIDOffset); param_1->mUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); + JSUConvertOffsetToPtr(param_2, param_2->mNameTabOffset)); } - /* 80338A7C-80338AA4 3333BC 0028+00 1/1 0/0 0/0 .text * readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */ void J3DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* param_1) { @@ -562,11 +337,10 @@ void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* param_1, param_1->mUpdateMaterialNum = param_2->field_0xc; param_1->field_0xe = param_2->field_0xe; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); param_1->mVisibility = JSUConvertOffsetToPtr(param_2, param_2->mValuesOffset); } - /* 80338B20-80338B48 333460 0028+00 1/1 0/0 0/0 .text * readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData */ void J3DAnmFullLoader_v15::readAnmCluster(const J3DAnmClusterFullData* param_1) { @@ -581,11 +355,10 @@ void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* param_1, param_1->mAttribute = param_2->field_0x8; param_1->mFrame = 0.0f; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mWeight = JSUConvertOffsetToPtr(param_2, (void*)param_2->mWeightOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mWeight = JSUConvertOffsetToPtr(param_2, param_2->mWeightOffset); } - /* 80338BB4-80338BDC 3334F4 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */ void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* param_1) { @@ -602,17 +375,17 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst, dst->mAnmTableNum[0] = data->mAnmTableNum[0]; dst->mAnmTableNum[1] = data->mAnmTableNum[1]; dst->mpTable[0] = - JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[0]); + JSUConvertOffsetToPtr(data, data->mTableOffsets[0]); dst->mpTable[1] = - JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[1]); + JSUConvertOffsetToPtr(data, data->mTableOffsets[1]); dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr( - data, (void*)data->mVtxColorIndexDataOffsets[0]); + data, data->mVtxColorIndexDataOffsets[0]); dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr( - data, (void*)data->mVtxColorIndexDataOffsets[1]); + data, data->mVtxColorIndexDataOffsets[1]); void* indexPtr0 = - JSUConvertOffsetToPtr(data, (void*)data->mVtxColorIndexPointerOffsets[0]); + JSUConvertOffsetToPtr(data, data->mVtxColorIndexPointerOffsets[0]); void* indexPtr1 = - JSUConvertOffsetToPtr(data, (void*)data->mVtxColorIndexPointerOffsets[1]); + JSUConvertOffsetToPtr(data, data->mVtxColorIndexPointerOffsets[1]); for (s32 i = 0; i < dst->mAnmTableNum[0]; i++) dst->mAnmVtxColorIndexData[0][i].mpData = @@ -627,7 +400,6 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst, dst->mColorA = JSUConvertOffsetToPtr(data, data->mAValuesOffset); } - /* 80338D44-80338E8C 333684 0148+00 2/1 0/0 0/0 .text load__19J3DAnmKeyLoader_v15FPCv */ J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) { const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1; @@ -661,7 +433,6 @@ J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) { return mAnm; } - /* 80338E8C-80338FEC 3337CC 0160+00 2/1 0/0 0/0 .text * setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv */ void J3DAnmKeyLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) { @@ -711,10 +482,10 @@ void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* param_1, param_1->mDecShift = param_2->field_0x9; param_1->mFrame = 0.0f; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mScaleData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x18); - param_1->mRotData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x1c); - param_1->mTransData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x20); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mScaleData = JSUConvertOffsetToPtr(param_2, param_2->field_0x18); + param_1->mRotData = JSUConvertOffsetToPtr(param_2, param_2->field_0x1c); + param_1->mTransData = JSUConvertOffsetToPtr(param_2, param_2->field_0x20); } @@ -738,34 +509,33 @@ void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* param_1, param_1->mRotNum = param_2->field_0x10; param_1->mTransNum = param_2->field_0x12; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); param_1->mUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMatIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mUpdateMatIDOffset); param_1->mUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTab1Offset)); + JSUConvertOffsetToPtr(param_2, param_2->mNameTab1Offset)); param_1->mUpdateTexMtxID = JSUConvertOffsetToPtr(param_2, param_2->mUpdateTexMtxIDOffset); - param_1->mSRTCenter = JSUConvertOffsetToPtr(param_2, (void*)param_2->unkOffset); - param_1->mScaleData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mScaleValOffset); - param_1->mRotData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRotValOffset); - param_1->mTransData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mTransValOffset); + param_1->mSRTCenter = JSUConvertOffsetToPtr(param_2, param_2->unkOffset); + param_1->mScaleData = JSUConvertOffsetToPtr(param_2, param_2->mScaleValOffset); + param_1->mRotData = JSUConvertOffsetToPtr(param_2, param_2->mRotValOffset); + param_1->mTransData = JSUConvertOffsetToPtr(param_2, param_2->mTransValOffset); if (param_2->mNameTab2Offset) { param_1->mPostUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTab2Offset)); + JSUConvertOffsetToPtr(param_2, param_2->mNameTab2Offset)); } param_1->field_0x4a = param_2->field_0x34; param_1->field_0x44 = param_2->field_0x36; param_1->field_0x46 = param_2->field_0x38; param_1->field_0x48 = param_2->field_0x3a; param_1->field_0x58 = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mInfoTable2Offset); - param_1->mPostUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x40); + JSUConvertOffsetToPtr(param_2, param_2->mInfoTable2Offset); + param_1->mPostUpdateMaterialID = JSUConvertOffsetToPtr(param_2, param_2->field_0x40); param_1->mPostUpdateTexMtxID = JSUConvertOffsetToPtr(param_2, param_2->field_0x48); - param_1->mPostSRTCenter = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x4c); - param_1->field_0x4c = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x50); - param_1->field_0x50 = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x54); - param_1->field_0x54 = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x58); + param_1->mPostSRTCenter = JSUConvertOffsetToPtr(param_2, param_2->field_0x4c); + param_1->field_0x4c = JSUConvertOffsetToPtr(param_2, param_2->field_0x50); + param_1->field_0x50 = JSUConvertOffsetToPtr(param_2, param_2->field_0x54); + param_1->field_0x54 = JSUConvertOffsetToPtr(param_2, param_2->field_0x58); switch (param_2->field_0x5c) { case 0: case 1: @@ -796,15 +566,15 @@ void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* param_1, const J3DAnmColor param_1->field_0x10 = param_2->field_0x14; param_1->field_0x12 = param_2->field_0x16; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mColorR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRValOffset); - param_1->mColorG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mGValOffset); - param_1->mColorB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mBValOffset); - param_1->mColorA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mAValOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mColorR = JSUConvertOffsetToPtr(param_2, param_2->mRValOffset); + param_1->mColorG = JSUConvertOffsetToPtr(param_2, param_2->mGValOffset); + param_1->mColorB = JSUConvertOffsetToPtr(param_2, param_2->mBValOffset); + param_1->mColorA = JSUConvertOffsetToPtr(param_2, param_2->mAValOffset); param_1->mUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mUpdateMaterialIDOffset); param_1->mUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); + JSUConvertOffsetToPtr(param_2, param_2->mNameTabOffset)); } @@ -822,8 +592,8 @@ void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* param_1, param_1->mAttribute = param_2->field_0x8; param_1->mFrame = 0.0f; param_1->mAnmTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); - param_1->mWeight = JSUConvertOffsetToPtr(param_2, (void*)param_2->mWeightOffset); + JSUConvertOffsetToPtr(param_2, param_2->mTableOffset); + param_1->mWeight = JSUConvertOffsetToPtr(param_2, param_2->mWeightOffset); } @@ -842,34 +612,34 @@ void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* param_1, param_1->mFrame = 0.0f; param_1->mCRegUpdateMaterialNum = param_2->mCRegUpdateMaterialNum; param_1->mAnmCRegKeyTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegTableOffset); + JSUConvertOffsetToPtr(param_2, param_2->mCRegTableOffset); param_1->mCRegUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegUpdateMaterialIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mCRegUpdateMaterialIDOffset); param_1->mCRegUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegNameTabOffset)); + JSUConvertOffsetToPtr(param_2, param_2->mCRegNameTabOffset)); param_1->mKRegUpdateMaterialNum = param_2->mKRegUpdateMaterialNum; param_1->mAnmKRegKeyTable = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegTableOffset); + JSUConvertOffsetToPtr(param_2, param_2->mKRegTableOffset); param_1->mKRegUpdateMaterialID = - JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegUpdateMaterialIDOffset); + JSUConvertOffsetToPtr(param_2, param_2->mKRegUpdateMaterialIDOffset); param_1->mKRegUpdateMaterialName.setResource( - JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegNameTabOffset)); + JSUConvertOffsetToPtr(param_2, param_2->mKRegNameTabOffset)); param_1->mCRegDataCountR = param_2->field_0x10; param_1->mCRegDataCountG = param_2->field_0x12; param_1->mCRegDataCountB = param_2->field_0x14; param_1->mCRegDataCountA = param_2->field_0x16; - param_1->mAnmCRegDataR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRValuesOffset); - param_1->mAnmCRegDataG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCGValuesOffset); - param_1->mAnmCRegDataB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCBValuesOffset); - param_1->mAnmCRegDataA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCAValuesOffset); + param_1->mAnmCRegDataR = JSUConvertOffsetToPtr(param_2, param_2->mCRValuesOffset); + param_1->mAnmCRegDataG = JSUConvertOffsetToPtr(param_2, param_2->mCGValuesOffset); + param_1->mAnmCRegDataB = JSUConvertOffsetToPtr(param_2, param_2->mCBValuesOffset); + param_1->mAnmCRegDataA = JSUConvertOffsetToPtr(param_2, param_2->mCAValuesOffset); param_1->mKRegDataCountR = param_2->field_0x18; param_1->mKRegDataCountG = param_2->field_0x1a; param_1->mKRegDataCountB = param_2->field_0x1c; param_1->mKRegDataCountA = param_2->field_0x1e; - param_1->mAnmKRegDataR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRValuesOffset); - param_1->mAnmKRegDataG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKGValuesOffset); - param_1->mAnmKRegDataB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKBValuesOffset); - param_1->mAnmKRegDataA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKAValuesOffset); + param_1->mAnmKRegDataR = JSUConvertOffsetToPtr(param_2, param_2->mKRValuesOffset); + param_1->mAnmKRegDataG = JSUConvertOffsetToPtr(param_2, param_2->mKGValuesOffset); + param_1->mAnmKRegDataB = JSUConvertOffsetToPtr(param_2, param_2->mKBValuesOffset); + param_1->mAnmKRegDataA = JSUConvertOffsetToPtr(param_2, param_2->mKAValuesOffset); } @@ -889,15 +659,15 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst, dst->mAnmTableNum[0] = data->mAnmTableNum[0]; dst->mAnmTableNum[1] = data->mAnmTableNum[1]; dst->mpTable[0] = - JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[0]); + JSUConvertOffsetToPtr(data, data->mTableOffsets[0]); dst->mpTable[1] = - JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[1]); + JSUConvertOffsetToPtr(data, data->mTableOffsets[1]); dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr( - data, (void*)data->mVtxColoIndexDataOffset[0]); + data, data->mVtxColoIndexDataOffset[0]); dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr( - data, (void*)data->mVtxColoIndexDataOffset[1]); - void* indexPtr0 = JSUConvertOffsetToPtr(data, (void*)data->mVtxColoIndexPointerOffset[0]); - void* indexPtr1 = JSUConvertOffsetToPtr(data, (void*)data->mVtxColoIndexPointerOffset[1]); + data, data->mVtxColoIndexDataOffset[1]); + void* indexPtr0 = JSUConvertOffsetToPtr(data, data->mVtxColoIndexPointerOffset[0]); + void* indexPtr1 = JSUConvertOffsetToPtr(data, data->mVtxColoIndexPointerOffset[1]); for (s32 i = 0; i < dst->mAnmTableNum[0]; i++) dst->mAnmVtxColorIndexData[0][i].mpData = @@ -906,40 +676,8 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst, dst->mAnmVtxColorIndexData[1][i].mpData = (void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2); - dst->mColorR = JSUConvertOffsetToPtr(data, (void*)data->mRValOffset); - dst->mColorG = JSUConvertOffsetToPtr(data, (void*)data->mGValOffset); - dst->mColorB = JSUConvertOffsetToPtr(data, (void*)data->mBValOffset); - dst->mColorA = JSUConvertOffsetToPtr(data, (void*)data->mAValOffset); + dst->mColorR = JSUConvertOffsetToPtr(data, data->mRValOffset); + dst->mColorG = JSUConvertOffsetToPtr(data, data->mGValOffset); + dst->mColorB = JSUConvertOffsetToPtr(data, data->mBValOffset); + dst->mColorA = JSUConvertOffsetToPtr(data, data->mAValOffset); } - - -/* 8033979C-803397F8 3340DC 005C+00 1/0 0/0 0/0 .text __dt__20J3DAnmVisibilityFullFv */ -J3DAnmVisibilityFull::~J3DAnmVisibilityFull() { - // NONMATCHING -} - -/* 803397F8-80339800 334138 0008+00 1/0 0/0 0/0 .text getKind__20J3DAnmVisibilityFullCFv - */ -s32 J3DAnmVisibilityFull::getKind() const { - return 6; -} - -/* 80339800-80339848 334140 0048+00 1/0 0/0 0/0 .text __dt__12J3DAnmLoaderFv */ -// J3DAnmLoader::~J3DAnmLoader() { -extern "C" void __dt__12J3DAnmLoaderFv() { - // NONMATCHING -} - -/* 80339848-80339860 334188 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<21J3DAnmClusterKeyTable>__FPCvPCv */ -extern "C" void func_80339848(void* _this, void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 80339860-80339878 3341A0 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<22J3DAnmClusterFullTable>__FPCvPCv */ -extern "C" void func_80339860(void* _this, void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp index eb5b106c36..ee63dfae24 100644 --- a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp @@ -7,48 +7,9 @@ #include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" #include "JSystem/JSupport/JSupport.h" #include "JSystem/JKernel/JKRHeap.h" -#include "dol2asm.h" #include "dolphin/os.h" #include "string.h" -// -// Forward References: -// - -extern "C" void load__24J3DClusterLoaderDataBaseFPCv(); -extern "C" void __ct__20J3DClusterLoader_v15Fv(); -extern "C" void __dt__20J3DClusterLoader_v15Fv(); -extern "C" void load__20J3DClusterLoader_v15FPCv(); -extern "C" void readCluster__20J3DClusterLoader_v15FPC15J3DClusterBlock(); -extern "C" void __dt__16J3DClusterLoaderFv(); -extern "C" void func_80334644(void* _this, void const*, void const*); -extern "C" void func_8033465C(void* _this, void const*, void const*); -extern "C" void func_80334674(void* _this, void const*, void const*); -extern "C" extern char const* const J3DClusterLoader__stringBase0; - -// -// External References: -// - -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void __ct__10JUTNameTabFPC7ResNTAB(); -extern "C" void func_802F42C0(void* _this, void const*, void const*); -extern "C" void func_8030A530(void* _this, void const*, void const*); -extern "C" void func_8030A560(void* _this, void const*, void const*); -extern "C" void __ct__13J3DDeformDataFv(); -extern "C" void __ct__11J3DDeformerFP13J3DDeformData(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_26(); - -// -// Declarations: -// - /* 80334130-803341CC 32EA70 009C+00 0/0 1/1 0/0 .text load__24J3DClusterLoaderDataBaseFPCv */ void* J3DClusterLoaderDataBase::load(const void* i_data) { const JUTDataFileHeader* fileHeader = (JUTDataFileHeader*)i_data; @@ -61,23 +22,6 @@ void* J3DClusterLoaderDataBase::load(const void* i_data) { return NULL; } -/* ############################################################################################## */ -/* 803CF0E8-803CF0F8 02C208 0010+00 2/2 0/0 0/0 .data __vt__20J3DClusterLoader_v15 */ -SECTION_DATA extern void* __vt__20J3DClusterLoader_v15[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__20J3DClusterLoader_v15FPCv, - (void*)__dt__20J3DClusterLoader_v15Fv, -}; - -/* 803CF0F8-803CF108 02C218 0010+00 3/3 0/0 0/0 .data __vt__16J3DClusterLoader */ -SECTION_DATA extern void* __vt__16J3DClusterLoader[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)__dt__16J3DClusterLoaderFv, -}; - /* 803341CC-803341E8 32EB0C 001C+00 1/1 0/0 0/0 .text __ct__20J3DClusterLoader_v15Fv */ J3DClusterLoader_v15::J3DClusterLoader_v15() {} @@ -198,4 +142,4 @@ extern "C" void func_80334674(void* _this, void const* param_0, void const* para // NONMATCHING } -/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/JSystem/J3DGraphLoader/J3DJointFactory.cpp b/src/JSystem/J3DGraphLoader/J3DJointFactory.cpp index 2d9f144016..0a287669de 100644 --- a/src/JSystem/J3DGraphLoader/J3DJointFactory.cpp +++ b/src/JSystem/J3DGraphLoader/J3DJointFactory.cpp @@ -8,29 +8,14 @@ #include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/JSupport/JSupport.h" -// -// Types: -// - -extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr -extern "C" void* __nw__FUl(); -extern "C" void __ct__8J3DJointFv(); - /* 80337178-803371D0 331AB8 0058+00 0/0 1/1 0/0 .text __ct__15J3DJointFactoryFRC13J3DJointBlock */ J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) { - mJointInitData = JSUConvertOffsetToPtr(&block, block.mpJointInitData); - - // Fix when we have our ODR working. - // mIndexTable = JSUConvertOffsetToPtr(&block, block.mpIndexTable); - mIndexTable = func_8033677C(&block, block.mpIndexTable); + mJointInitData = JSUConvertOffsetToPtr(&block, (u32)block.mpJointInitData); + mIndexTable = JSUConvertOffsetToPtr(&block, (u32)block.mpIndexTable); } /* 803371D0-80337338 331B10 0168+00 0/0 1/1 0/0 .text create__15J3DJointFactoryFi */ -J3DJoint* J3DJointFactory::create(int param_0) { - // NONMATCHING -} - -/* J3DJoint* J3DJointFactory::create(int no) { +J3DJoint* J3DJointFactory::create(int no) { J3DJoint* joint = new J3DJoint(); joint->mJntNo = no; joint->mKind = getKind(no); @@ -45,4 +30,4 @@ J3DJoint* J3DJointFactory::create(int param_0) { joint->mScaleCompensate = 0; return joint; -} */ \ No newline at end of file +} diff --git a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp index d1ede78221..c53246008e 100644 --- a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp +++ b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp @@ -11,54 +11,7 @@ #include "JSystem/J3DGraphAnimator/J3DModelData.h" #include "JSystem/JSupport/JSupport.h" #include "dolphin/os.h" -#include "dol2asm.h" -// -// Forward References: -// - -extern "C" void countMaterialNum__14J3DModelLoaderFPCv(); -extern "C" void calcLoadSize__14J3DModelLoaderFPCvUl(); -extern "C" void calcLoadMaterialTableSize__14J3DModelLoaderFPCv(); -extern "C" void calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl(); -extern "C" void calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl(); -extern "C" void calcSizeJoint__14J3DModelLoaderFPC13J3DJointBlock(); -extern "C" void calcSizeEnvelope__14J3DModelLoaderFPC16J3DEnvelopeBlock(); -extern "C" void calcSizeDraw__14J3DModelLoaderFPC12J3DDrawBlock(); -extern "C" void calcSizeMaterial__18J3DModelLoader_v26FPC16J3DMaterialBlockUl(); -extern "C" void calcSizeShape__14J3DModelLoaderFPC13J3DShapeBlockUl(); -extern "C" void calcSizeTexture__14J3DModelLoaderFPC15J3DTextureBlock(); -extern "C" void calcSizeMaterialTable__18J3DModelLoader_v26FPC16J3DMaterialBlockUl(); -extern "C" void calcSizeTextureTable__14J3DModelLoaderFPC15J3DTextureBlock(); -extern "C" void calcSizePatchedMaterial__14J3DModelLoaderFPC16J3DMaterialBlockUl(); -extern "C" void calcSizeMaterialDL__14J3DModelLoaderFPC18J3DMaterialDLBlockUl(); -extern "C" extern char const* const J3DModelLoaderCalcSize__stringBase0; - -// -// External References: -// - -extern "C" void __ct__18J3DMaterialFactoryFRC16J3DMaterialBlock(); -extern "C" void __ct__18J3DMaterialFactoryFRC18J3DMaterialDLBlock(); -extern "C" void countUniqueMaterials__18J3DMaterialFactoryFv(); -extern "C" void -calcSize__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl(); -extern "C" void func_8033674C(void* _this, void const*, void const*); -extern "C" void __ct__15J3DShapeFactoryFRC13J3DShapeBlock(); -extern "C" void calcSize__15J3DShapeFactoryFiUl(); -extern "C" void calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); - -// -// Declarations: -// /* 80336794-803367D4 3310D4 0040+00 0/0 3/0 0/0 .text countMaterialNum__14J3DModelLoaderFPCv */ u16 J3DModelLoader::countMaterialNum(const void* stream) { @@ -73,18 +26,8 @@ u16 J3DModelLoader::countMaterialNum(const void* stream) { return 0; } -/* ############################################################################################## */ -/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803A20E8 = "Unknown data block\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803A20FC = "\0\0\0"; -#pragma pop - /* 803367D4-803369A0 331114 01CC+00 0/0 3/0 0/0 .text calcLoadSize__14J3DModelLoaderFPCvUl */ -// size load issue. -#ifdef NONMATCHING +// NONMATCHING size load issue u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) { int flags = flags_; const J3DModelFileData* header = static_cast(stream); @@ -128,11 +71,6 @@ u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) { } return size; } -#else -u32 J3DModelLoader::calcLoadSize(void const* param_0, u32 param_1) { - // NONMATCHING -} -#endif /* 803369A0-80336A98 3312E0 00F8+00 0/0 3/0 0/0 .text * calcLoadMaterialTableSize__14J3DModelLoaderFPCv */ @@ -176,13 +114,13 @@ u32 J3DModelLoader::calcLoadMaterialTableSize(const void* stream) { /* 80336A98-80336CD8 3313D8 0240+00 0/0 3/0 0/0 .text * calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl */ -// flags issue -#ifdef NONMATCHING +// NONMATCHING flags issue u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) { const J3DModelFileData* header = (const J3DModelFileData*)stream; const J3DModelBlock* nextBlock = header->mBlocks; u32 i = 0; u32 matFlags = flags & (J3DMLF_Material_UseIndirect | J3DMLF_26); + u32 flags2; int size = sizeof(J3DModelData); for (; i < header->mBlockNum; i++) { switch (nextBlock->mBlockType) { @@ -204,7 +142,7 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) case 'MAT2': break; case 'MAT3': - u32 flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn); + flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn); flags2 |= matFlags; mpMaterialBlock = (const J3DMaterialBlock*)nextBlock; if ((flags & (J3DMLF_13 | J3DMLF_DoBdlMaterialCalc)) == 0) { @@ -231,11 +169,6 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) } return size; } -#else -u32 J3DModelLoader::calcLoadBinaryDisplayListSize(void const* param_0, u32 param_1) { - // NONMATCHING -} -#endif /* 80336CD8-80336D64 331618 008C+00 2/2 0/0 0/0 .text * calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl */ @@ -404,4 +337,4 @@ u32 J3DModelLoader::calcSizeMaterialDL(const J3DMaterialDLBlock* block, u32 flag return size; } -/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp b/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp index a8f89a236e..3db0f75b40 100644 --- a/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp +++ b/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp @@ -9,31 +9,12 @@ #include "JSystem/JSupport/JSupport.h" #include "dolphin/os.h" -// -// Forward References: -// - -// -// External References: -// - -extern "C" J3DShapeInitData* func_80336764(const void*, - const void*); // JSUConvertOffsetToPtr -extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr - -// -// Declarations: -// - /* 80337350-80337400 331C90 00B0+00 0/0 2/2 0/0 .text __ct__15J3DShapeFactoryFRC13J3DShapeBlock */ J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& block) { - //mShapeInitData = JSUConvertOffsetToPtr(&block, (u32)block.mpShapeInitData); - mShapeInitData = func_80336764(&block, block.mpShapeInitData), - //mIndexTable = JSUConvertOffsetToPtr(&block, (u32)block.mpIndexTable); - mIndexTable = func_8033677C(&block, block.mpIndexTable), + mShapeInitData = JSUConvertOffsetToPtr(&block, (u32)block.mpShapeInitData); + mIndexTable = JSUConvertOffsetToPtr(&block, (u32)block.mpIndexTable); mVtxDescList = JSUConvertOffsetToPtr(&block, (u32)block.mpVtxDescList), - //mMtxTable = JSUConvertOffsetToPtr(&block, (u32)block.mpMtxTable); - mMtxTable = func_8033677C(&block, block.mpMtxTable), + mMtxTable = JSUConvertOffsetToPtr(&block, (u32)block.mpMtxTable); mDisplayListData = JSUConvertOffsetToPtr(&block, (u32)block.mpDisplayListData), mMtxInitData = JSUConvertOffsetToPtr(&block, (u32)block.mpMtxInitData), mDrawInitData = JSUConvertOffsetToPtr(&block, (u32)block.mpDrawInitData), @@ -213,4 +194,4 @@ s32 J3DShapeFactory::calcSizeShapeMtx(u32 flag, int shapeNo, int mtxGroupNo) con } return ret; -} \ No newline at end of file +} diff --git a/src/JSystem/JUtility/JUTResFont.cpp b/src/JSystem/JUtility/JUTResFont.cpp index d1a30429f1..2d1f2b8ea3 100644 --- a/src/JSystem/JUtility/JUTResFont.cpp +++ b/src/JSystem/JUtility/JUTResFont.cpp @@ -325,7 +325,7 @@ void JUTResFont::getWidthEntry(int code, JUTFont::TWidth* i_width) const { } /* 802DFD0C-802DFD58 2DA64C 004C+00 1/0 1/0 0/0 .text getCellWidth__10JUTResFontCFv */ -int JUTResFont::getCellWidth() const { +s32 JUTResFont::getCellWidth() const { if (mpGlyphBlocks) { ResFONT::GLY1* glyphBlock = *mpGlyphBlocks; if (glyphBlock) { @@ -469,4 +469,4 @@ int JUTResFont::convertSjis(int inChr, u16* inLead) const { return tmp2 + (tmp - 0x88) * 0xbc + -0x5e + lead; } -/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/math.h b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/math.h index c842e8c659..2beaeba9fd 100644 --- a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/math.h +++ b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/math.h @@ -87,4 +87,4 @@ inline float i_tanf(float x) { return tan(x); } }; #endif -#endif \ No newline at end of file +#endif diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 6ba991fa1b..09611ad4ca 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -4,68 +4,20 @@ // #include "c/c_damagereaction.h" -#include "dol2asm.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" -// -// Forward References: -// - -extern "C" void execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void cDmrNowMidnaTalk__Fv(); -extern "C" void __dt__24JPTraceParticleCallBack4Fv(); -extern "C" void __sinit_c_damagereaction_cpp(); -extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); - -// -// External References: -// - -extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c(); -extern "C" void __dt__19JPAParticleCallBackFv(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -// extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// - /* ############################################################################################## */ /* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */ extern u8 struct_80450C98[4]; u8 struct_80450C98[4]; /* 80450C9C-80450CA0 -00001 0004+00 0/0 0/0 6/6 .sbss None */ -#pragma push -#pragma force_active on u8 cDmr_SkipInfo; -#pragma pop - -/* ############################################################################################## */ -/* 80451BA8-80451BAC 0001A8 0004+00 1/1 0/0 0/0 .sdata2 @3731 */ -SECTION_SDATA2 static f32 lit_3731 = 25.0f; - -/* 80451BAC-80451BB0 0001AC 0004+00 1/1 0/0 0/0 .sdata2 @3732 */ -SECTION_SDATA2 static u8 lit_3732[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451BB0-80451BB4 0001B0 0004+00 1/1 0/0 0/0 .sdata2 @3733 */ -SECTION_SDATA2 static f32 lit_3733 = 3.0f / 10.0f; - -/* 80451BB4-80451BB8 0001B4 0004+00 1/1 0/0 0/0 .sdata2 @3734 */ -SECTION_SDATA2 static f32 lit_3734 = 0.5f; - -/* 80451BB8-80451BC0 0001B8 0008+00 1/1 0/0 0/0 .sdata2 @3736 */ -SECTION_SDATA2 static f64 lit_3736 = 4503599627370496.0 /* cast u32 to float */; +u8 data_80450C9D; +u8 data_80450C9E; +u8 data_80450C9F; /* 8001817C-800182A4 012ABC 0128+00 1/0 0/0 0/0 .text * execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle */ @@ -73,15 +25,15 @@ void JPTraceParticleCallBack4::execute(JPABaseEmitter* param_0, JPABaseParticle* u32 age = param_1->getAge(); if (age != 0) { Vec* user_work = (Vec*)param_0->getUserWork(); + JGeometry::TVec3 vec1, vec2, vec3; f32 fVar1 = (25.0f - age) / 25.0f; if (fVar1 < 0.0f) { fVar1 = 0.0f; } - JGeometry::TVec3 vec1(user_work[age]); + vec1 = user_work[age]; vec1.scale(0.3f * fVar1); - JGeometry::TVec3 vec2(user_work[0]); + vec2 = user_work[0]; vec2.scale(0.5f * fVar1); - JGeometry::TVec3 vec3; param_1->getOffsetPosition(vec3); vec3.add(vec1 + vec2); @@ -112,65 +64,9 @@ BOOL cDmrNowMidnaTalk() { return 0; } -/* ############################################################################################## */ -/* 803A3568-803A357C 000688 0014+00 2/2 0/0 0/0 .data __vt__24JPTraceParticleCallBack4 */ -SECTION_DATA extern void* __vt__24JPTraceParticleCallBack4[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__24JPTraceParticleCallBack4Fv, - (void*)execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 80018328-80018388 012C68 0060+00 2/1 0/0 0/0 .text __dt__24JPTraceParticleCallBack4Fv - */ -// Needs JPAParticleCallBack inheritance and function order issues in the file -#ifdef NONMATCHING -JPTraceParticleCallBack4::~JPTraceParticleCallBack4() {} -#else -JPTraceParticleCallBack4::~JPTraceParticleCallBack4() { - // NONMATCHING -} -#endif -/* ############################################################################################## */ -/* 803A357C-803A3590 00069C 0014+00 1/1 3/3 0/0 .data __vt__19JPAParticleCallBack */ -SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803F0F40-803F0F50 01DC60 000C+04 1/1 0/0 0/0 .bss @3741 */ -static u8 lit_3741[12 + 4 /* padding */]; - /* 80450CA0-80450CA4 0001A0 0004+00 0/0 0/0 2/2 .sbss None */ extern u8 data_80450CA0[4]; u8 data_80450CA0[4]; /* 80450CA4-80450CA8 0001A4 0004+00 1/1 1/1 1/1 .sbss JPTracePCB4 */ -extern u8 JPTracePCB4[4]; -u8 JPTracePCB4[4]; - -/* 80018388-800183D4 012CC8 004C+00 0/0 1/0 0/0 .text __sinit_c_damagereaction_cpp */ -void __sinit_c_damagereaction_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80018388, __sinit_c_damagereaction_cpp); -#pragma pop - -/* 800183D4-800183D8 012D14 0004+00 1/0 1/0 0/0 .text - * execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle() { - /* empty function */ -} - -/* 800183D8-800183DC 012D18 0004+00 1/0 4/0 0/0 .text - * draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -void JPAParticleCallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - /* empty function */ -} \ No newline at end of file +JPTraceParticleCallBack4 JPTracePCB4; diff --git a/src/d/actor/d_a_alldie.cpp b/src/d/actor/d_a_alldie.cpp index 6b3b5cc705..7eae783b2c 100644 --- a/src/d/actor/d_a_alldie.cpp +++ b/src/d/actor/d_a_alldie.cpp @@ -24,9 +24,7 @@ int daAlldie_c::actionWait() { /* 804D5838-804D5888 000098 0050+00 1/1 0/0 0/0 .text actionCheck__10daAlldie_cFv */ int daAlldie_c::actionCheck() { - s8 roomNo = fopAcM_GetRoomNo(this); - - if (fopAcM_myRoomSearchEnemy(roomNo) == NULL) { + if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL) { mAction = ACT_TIMER; mTimer = 65; } @@ -36,9 +34,7 @@ int daAlldie_c::actionCheck() { /* 804D5888-804D5938 0000E8 00B0+00 1/1 0/0 0/0 .text actionTimer__10daAlldie_cFv */ int daAlldie_c::actionTimer() { - s8 roomNo = fopAcM_GetRoomNo(this); - - if (fopAcM_myRoomSearchEnemy(roomNo) != NULL) { + if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) != NULL) { mAction = ACT_CHECK; } else { if (mTimer > 0) { @@ -165,7 +161,7 @@ int daAlldie_c::create() { s8 roomNo = fopAcM_GetRoomNo(this); - if (!dComIfGs_isSwitch(getSwbit(), roomNo)) { + if (!dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) { mAction = ACT_CHECK; } else { mAction = ACT_WAIT; @@ -222,4 +218,4 @@ extern actor_process_profile_definition g_profile_ALLDIE = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index cfdc13d826..15588073ef 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -6,7 +6,7 @@ #include "d/actor/d_a_arrow.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "SSystem/SComponent/c_math.h" -#include "dol2asm.h" +#include "Z2AudioLib/Z2Instances.h" #include "f_op/f_op_kankyo_mng.h" #include "d/d_com_inf_game.h" #include "d/actor/d_a_alink.h" @@ -15,215 +15,6 @@ #include "d/actor/d_a_horse.h" #include "d/actor/d_a_hozelda.h" -// -// Forward References: -// - -extern "C" void createHeap__9daArrow_cFv(); -extern "C" static void daArrow_createHeap__FP10fopAc_ac_c(); -extern "C" void atHitCallBack__9daArrow_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void -daArrow_atHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void decAlphaBlur__9daArrow_cFv(); -extern "C" void setBlur__9daArrow_cFv(); -extern "C" void setLightArrowHitMark__9daArrow_cFPC4cXyz(); -extern "C" void setLightChargeEffect__9daArrow_cFi(); -extern "C" void __dt__4cXyzFv(); -extern "C" void setArrowWaterNextPos__9daArrow_cFP4cXyzP4cXyz(); -extern "C" void setArrowAt__9daArrow_cFf(); -extern "C" void arrowShooting__9daArrow_cFv(); -extern "C" void setBombArrowExplode__9daArrow_cFP4cXyz(); -extern "C" void setRoomInfo__9daArrow_cFv(); -extern "C" void clearNearActorData__9daArrow_cFv(); -extern "C" void getVibAngle__9daArrow_cFv(); -extern "C" void setNormalMatrix__9daArrow_cFv(); -extern "C" void setSmokePos__9daArrow_cFv(); -extern "C" void setKeepMatrix__9daArrow_cFv(); -extern "C" void setStopActorMatrix__9daArrow_cFv(); -extern "C" void setBombMoveEffect__9daArrow_cFv(); -extern "C" void checkReget__9daArrow_cFv(); -extern "C" void procWait__9daArrow_cFv(); -extern "C" void procMove__9daArrow_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void procReturnInit__9daArrow_cFi(); -extern "C" void procReturn__9daArrow_cFv(); -extern "C" void procBGStop__9daArrow_cFv(); -extern "C" void procActorStop__9daArrow_cFv(); -extern "C" void procActorControllStop__9daArrow_cFv(); -extern "C" void procSlingHitInit__9daArrow_cFP4cXyzP12dCcD_GObjInf(); -extern "C" void procSlingHit__9daArrow_cFv(); -extern "C" void execute__9daArrow_cFv(); -extern "C" static void daArrow_execute__FP9daArrow_c(); -extern "C" void draw__9daArrow_cFv(); -extern "C" static int daArrow_draw__FP9daArrow_c(); -extern "C" static void daAlink_searchHorseZelda__FP10fopAc_ac_cPv(); -extern "C" void create__9daArrow_cFv(); -extern "C" void cleanup__18dPa_levelEcallBackFv(); -extern "C" void __dt__18dPa_levelEcallBackFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" static int daArrow_create__FP9daArrow_c(); -extern "C" void __dt__9daArrow_cFv(); -extern "C" static int daArrow_delete__FP9daArrow_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void func_8049DC58(void* _this, s16*); -extern "C" extern char const* const d_a_arrow__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XYZrotM__FPA4_fsss(); -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getArrowOffsetPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz(); -extern "C" void setArrowPosAndAngle__9dJntCol_cFPC4cXyzPC4cXyziP4cXyzP5csXyz(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void ArrowStickCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_cR4cXyz(); -extern "C" void dBgS_CheckBGroundPoly__FRC13cBgS_PolyInfo(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__14dBgS_ObjLinChkFv(); -extern "C" void __dt__14dBgS_ObjLinChkFv(); -extern "C" void __ct__16dBgS_ArrowLinChkFv(); -extern "C" void __dt__16dBgS_ArrowLinChkFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void ResetAtHit__12dCcD_GObjInfFv(); -extern "C" void GetAtHitGObj__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitGObj__12dCcD_GObjInfFv(); -extern "C" void ChkCoHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps(); -extern "C" void CalcAtVec__8dCcD_CpsFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc(); -extern "C" void getAlinkArcName__9daAlink_cFv(); -extern "C" void notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void getFreezeR__9daAlink_cCFv(); -extern "C" void getFreezeG__9daAlink_cCFv(); -extern "C" void getFreezeB__9daAlink_cCFv(); -extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void getArrowFlyData__9daAlink_cCFPfPfi(); -extern "C" void getArrowIncAtR__9daAlink_cCFv(); -extern "C" void getBombArrowFlyExplodeTime__9daAlink_cCFv(); -extern "C" void getArrowIncAtMaxStart__9daAlink_cCFv(); -extern "C" void getArrowIncAtMax__9daAlink_cCFv(); -extern "C" void checkBowCameraArrowPosP__9daAlink_cFPsPs(); -extern "C" void getBombExplodeTime__9daAlink_cCFv(); -extern "C" void setActor__16daPy_actorKeep_cFv(); -extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c(); -extern "C" void clearData__16daPy_actorKeep_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __ct__8cM3dGCpsFv(); -extern "C" void __dt__8cM3dGCpsFv(); -extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void __dt__18JPAEmitterCallBackFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __dt__21Z2DopplerSoundObjBaseFv(); -extern "C" void __ct__15Z2SoundObjArrowFv(); -extern "C" void startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cps[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CpsAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__15Z2SoundObjArrow[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 m_count__9daArrow_c[4]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - /* 80499C6C-80499D6C 0000EC 0100+00 1/1 0/0 0/0 .text createHeap__9daArrow_cFv */ int daArrow_c::createHeap() { J3DModelData* model_data; @@ -255,22 +46,18 @@ int daArrow_c::createHeap() { return TRUE; } +/* 8049DC84-8049DC90 000000 000C+00 15/15 0/0 0/0 .rodata @3768 */ +static u8 const lit_3768[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + /* 80499D6C-80499D8C 0001EC 0020+00 1/1 0/0 0/0 .text daArrow_createHeap__FP10fopAc_ac_c */ static int daArrow_createHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->createHeap(); } -/* ############################################################################################## */ -/* 8049DC84-8049DC90 000000 000C+00 15/15 0/0 0/0 .rodata @3768 */ -SECTION_RODATA static u8 const lit_3768[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DC84, &lit_3768); - /* 8049DC90-8049DCDC 00000C 004C+00 0/1 0/0 0/0 .rodata l_atCpsSrc */ -#pragma push -#pragma force_active on const static dCcD_SrcCps l_atCpsSrc = { { {0x0, {{AT_TYPE_ARROW, 0x2, 0x1b}, {0xd8fbffff, 0x11}, 0x0}}, // mObj @@ -282,11 +69,8 @@ const static dCcD_SrcCps l_atCpsSrc = { {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 5.0f}, // mCps } // mCpsAttr }; -#pragma pop /* 8049DCDC-8049DD1C 000058 0040+00 0/1 0/0 0/0 .rodata l_coSphSrc */ -#pragma push -#pragma force_active on const static dCcD_SrcSph l_coSphSrc = { { {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x319}}, // mObj @@ -298,50 +82,6 @@ const static dCcD_SrcSph l_coSphSrc = { {{0.0f, 0.0f, 0.0f}, 25.0f} // mSph } // mSphAttr }; -#pragma pop - -#ifndef NONMATCHING -/* 8049DD1C-8049DD24 000098 0004+04 2/12 0/0 0/0 .rodata @4130 */ -SECTION_RODATA static u8 const lit_4130[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD1C, &lit_4130); - -/* 8049DD24-8049DD2C 0000A0 0008+00 0/4 0/0 0/0 .rodata @4131 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4131[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD24, &lit_4131); -#pragma pop - -/* 8049DD2C-8049DD34 0000A8 0008+00 0/4 0/0 0/0 .rodata @4132 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4132[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD2C, &lit_4132); -#pragma pop - -/* 8049DD34-8049DD3C 0000B0 0008+00 0/4 0/0 0/0 .rodata @4133 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4133[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD34, &lit_4133); -#pragma pop -#endif /* 80499D8C-80499F9C 00020C 0210+00 1/1 0/0 0/0 .text * atHitCallBack__9daArrow_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ @@ -373,7 +113,6 @@ void daArrow_c::atHitCallBack(dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, d } } - /* 80499F9C-80499FBC 00041C 0020+00 1/1 0/0 0/0 .text * daArrow_atHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ static void daArrow_atHitCallBack(fopAc_ac_c* i_this, dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf) { @@ -396,13 +135,6 @@ void daArrow_c::decAlphaBlur() { } } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD3C-8049DD40 0000B8 0004+00 4/10 0/0 0/0 .rodata @4187 */ -SECTION_RODATA static f32 const lit_4187 = 1.0f; -COMPILER_STRIP_GATE(0x8049DD3C, &lit_4187); -#endif - /* 8049A04C-8049A110 0004CC 00C4+00 5/5 0/0 0/0 .text setBlur__9daArrow_cFv */ void daArrow_c::setBlur() { for (int i = 0; i < field_0x946; i++) { @@ -411,59 +143,29 @@ void daArrow_c::setBlur() { } } - -/* ############################################################################################## */ -/* 8049DD40-8049DD4C 0000BC 000C+00 1/1 0/0 0/0 .rodata effName$4192 */ -#ifndef NONMATCHING -SECTION_RODATA static u8 const effName_4192[12] = { - 0x89, 0x6F, 0x89, 0x70, 0x89, 0x71, 0x89, 0x72, 0x89, 0x73, 0x89, 0x74, -}; -COMPILER_STRIP_GATE(0x8049DD40, &effName_4192); -#else -static u16 const effName_4192[] = { - 0x896F, - 0x8970, - 0x8971, - 0x8972, - 0x8973, - 0x8974, -}; -#endif - /* 8049A110-8049A1EC 000590 00DC+00 1/1 0/0 0/0 .text setLightArrowHitMark__9daArrow_cFPC4cXyz */ void daArrow_c::setLightArrowHitMark(cXyz const* param_0) { + static u16 const effName[] = {0x896F, 0x8970, 0x8971, 0x8972, 0x8973, 0x8974}; for (int i = 0; i < 6; i++) { - dComIfGp_particle_set(effName_4192[i], param_0, &shape_angle, NULL); + dComIfGp_particle_set(effName[i], param_0, &shape_angle, NULL); } field_0x93f = 1; mSoundObjArrow.startSound(Z2SE_ZELDA_ARROW_HIT, 0, mReverb); } -/* ############################################################################################## */ -/* 8049DD4C-8049DD54 0000C8 0008+00 0/1 0/0 0/0 .rodata effName$4214 */ - -/* 8049DD54-8049DD60 0000D0 000C+00 0/1 0/0 0/0 .rodata localEffPos$4215 */ -static u16 const effName_4214[] = { - 0x8975, - 0x8976, - 0x8977, - 0x8978, - -}; - -static Vec const localEffPos = {0.0f, 0.0f, 90.0f}; - /* 8049A1EC-8049A334 00066C 0148+00 2/2 0/0 0/0 .text setLightChargeEffect__9daArrow_cFi */ void daArrow_c::setLightChargeEffect(int param_0) { + static u16 const effName[] = {0x8975, 0x8976, 0x8977, 0x8978}; + static Vec const localEffPos = {0.0f, 0.0f, 90.0f}; if (mpModel != NULL) { cXyz pos; BOOL bVar1 = param_0 == 0 && (fopAcM_GetParam(this) == 1 || fopAcM_GetParam(this) == 2 || fopAcM_GetParam(this) == 0); mDoMtx_multVec(mpModel->getBaseTRMtx(), &localEffPos, &pos); for (int i = 0; i < 4; i++) { if (bVar1) { - field_0x96c[i] = dComIfGp_particle_set(field_0x96c[i], effName_4214[i], &pos, &tevStr); + field_0x96c[i] = dComIfGp_particle_set(field_0x96c[i], effName[i], &pos, &tevStr); dComIfGp_particle_levelEmitterOnEventMove(field_0x96c[i]); } else { JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x96c[i]); @@ -475,30 +177,6 @@ void daArrow_c::setLightChargeEffect(int param_0) { } } - -/* 8049A334-8049A370 0007B4 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD60-8049DD64 0000DC 0004+00 0/1 0/0 0/0 .rodata @4385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4385 = 0x38D1B717; -COMPILER_STRIP_GATE(0x8049DD60, &lit_4385); -#pragma pop - -/* 8049DD64-8049DD68 0000E0 0004+00 0/2 0/0 0/0 .rodata @4386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4386 = 80.0f; -COMPILER_STRIP_GATE(0x8049DD64, &lit_4386); -#pragma pop -#endif - /* 8049A370-8049A76C 0007F0 03FC+00 2/2 0/0 0/0 .text * setArrowWaterNextPos__9daArrow_cFP4cXyzP4cXyz */ int daArrow_c::setArrowWaterNextPos(cXyz* i_start, cXyz* i_end) { @@ -539,31 +217,6 @@ int daArrow_c::setArrowWaterNextPos(cXyz* i_start, cXyz* i_end) { return 0; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD68-8049DD6C 0000E4 0004+00 0/1 0/0 0/0 .rodata @4445 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4445 = 8.0f; -COMPILER_STRIP_GATE(0x8049DD68, &lit_4445); -#pragma pop - -/* 8049DD6C-8049DD70 0000E8 0004+00 0/1 0/0 0/0 .rodata @4446 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4446 = 5.0f; -COMPILER_STRIP_GATE(0x8049DD6C, &lit_4446); -#pragma pop - -/* 8049DD70-8049DD74 0000EC 0004+00 0/2 0/0 0/0 .rodata @4447 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4447 = -300.0f; -COMPILER_STRIP_GATE(0x8049DD70, &lit_4447); -#pragma pop -#endif - /* 8049A76C-8049A9CC 000BEC 0260+00 2/2 0/0 0/0 .text setArrowAt__9daArrow_cFf */ void daArrow_c::setArrowAt(f32 param_0) { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -618,14 +271,6 @@ void daArrow_c::setArrowAt(f32 param_0) { g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0x688, 1); // fake match: debug rom shows dComIfG_Ccsp() } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD74-8049DD78 0000F0 0004+00 1/1 0/0 0/0 .rodata @4541 */ -SECTION_RODATA static f32 const lit_4541 = 100.0f; -COMPILER_STRIP_GATE(0x8049DD74, &lit_4541); -#endif - /* 8049A9CC-8049AC84 000E4C 02B8+00 2/2 0/0 0/0 .text arrowShooting__9daArrow_cFv */ void daArrow_c::arrowShooting() { daAlink_c* link = daAlink_getAlinkActorClass(); @@ -699,7 +344,6 @@ void daArrow_c::arrowShooting() { clearNearActorData(); } - /* 8049AC84-8049ACE0 001104 005C+00 3/3 0/0 0/0 .text setBombArrowExplode__9daArrow_cFP4cXyz */ void daArrow_c::setBombArrowExplode(cXyz* param_0) { dBomb_c::createNormalBombExplode(param_0); @@ -722,7 +366,6 @@ void daArrow_c::setRoomInfo() { fopAcM_SetRoomNo(this, roomNo); } - /* 8049AD74-8049AD94 0011F4 0020+00 2/2 0/0 0/0 .text clearNearActorData__9daArrow_cFv */ void daArrow_c::clearNearActorData() { field_0x93e = 0; @@ -730,50 +373,6 @@ void daArrow_c::clearNearActorData() { mHitAcID = -1; } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD78-8049DD7C 0000F4 0004+00 0/1 0/0 0/0 .rodata @4576 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4576 = 21243.0f; -COMPILER_STRIP_GATE(0x8049DD78, &lit_4576); -#pragma pop - -/* 8049DD7C-8049DD80 0000F8 0004+00 0/2 0/0 0/0 .rodata @4577 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4577 = 4096.0f; -COMPILER_STRIP_GATE(0x8049DD7C, &lit_4577); -#pragma pop - -/* 8049DD80-8049DD84 0000FC 0004+00 0/1 0/0 0/0 .rodata @4578 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4578 = 1.0f / 50.0f; -COMPILER_STRIP_GATE(0x8049DD80, &lit_4578); -#pragma pop - -/* 8049DD84-8049DD8C 000100 0004+04 0/1 0/0 0/0 .rodata @4579 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4579[1 + 1 /* padding */] = { - 1024.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8049DD84, &lit_4579); -#pragma pop - -/* 8049DD8C-8049DD94 000108 0008+00 0/3 0/0 0/0 .rodata @4582 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4582[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD8C, &lit_4582); -#pragma pop -#endif - /* 8049AD94-8049AE64 001214 00D0+00 2/2 0/0 0/0 .text getVibAngle__9daArrow_cFv */ s16 daArrow_c::getVibAngle() { s16 angle; @@ -789,21 +388,6 @@ s16 daArrow_c::getVibAngle() { return angle; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD94-8049DD98 000110 0004+00 1/2 0/0 0/0 .rodata @4606 */ -SECTION_RODATA static f32 const lit_4606 = -95.0f; -COMPILER_STRIP_GATE(0x8049DD94, &lit_4606); - -/* 8049DD98-8049DD9C 000114 0004+00 0/1 0/0 0/0 .rodata @4607 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4607 = -47.5f; -COMPILER_STRIP_GATE(0x8049DD98, &lit_4607); -#pragma pop -#endif - /* 8049AE64-8049AF18 0012E4 00B4+00 4/4 0/0 0/0 .text setNormalMatrix__9daArrow_cFv */ void daArrow_c::setNormalMatrix() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); @@ -819,144 +403,22 @@ void daArrow_c::setNormalMatrix() { mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD9C-8049DDA0 000118 0004+00 0/1 0/0 0/0 .rodata @4630 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4630 = -33.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DD9C, &lit_4630); -#pragma pop - -/* 8049DDA0-8049DDA4 00011C 0004+00 0/1 0/0 0/0 .rodata @4631 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4631 = -3.0f; -COMPILER_STRIP_GATE(0x8049DDA0, &lit_4631); -#pragma pop - -/* 8049DDA4-8049DDA8 000120 0004+00 0/1 0/0 0/0 .rodata @4632 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4632 = 94.0f; -COMPILER_STRIP_GATE(0x8049DDA4, &lit_4632); -#pragma pop - -/* 8049DDA8-8049DDAC 000124 0004+00 0/1 0/0 0/0 .rodata @4633 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4633 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDA8, &lit_4633); -#pragma pop -#endif - -/* 8049DF60-8049DF64 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 8049DF64-8049DF68 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF68-8049DF6C 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF6C-8049DF70 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF70-8049DF74 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF74-8049DF78 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF78-8049DF7C 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF7C-8049DF80 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF80-8049DF84 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF84-8049DF88 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF88-8049DF8C 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF8C-8049DF90 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF90-8049DF94 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF94-8049DF98 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF98-8049DF9C 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 8049DF9C-8049DFA0 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -#ifndef NONMATCHING -/* 8049DFA0-8049DFB0 000048 000C+04 0/1 0/0 0/0 .bss @4612 */ -#pragma push -#pragma force_active on -static u8 lit_4612[12 + 4 /* padding */]; -#pragma pop - -/* 8049DFB0-8049DFBC 000058 000C+00 0/1 0/0 0/0 .bss localOffset$4611 */ -#pragma push -#pragma force_active on -static u8 localOffset[12]; -#pragma pop -#endif +UNK_BSS(1109) +UNK_BSS(1107) +UNK_BSS(1105) +UNK_BSS(1104) +UNK_BSS(1099) +UNK_BSS(1097) +UNK_BSS(1095) +UNK_BSS(1094) +UNK_BSS(1057) +UNK_BSS(1055) +UNK_BSS(1053) +UNK_BSS(1052) +UNK_BSS(1014) +UNK_BSS(1012) +UNK_BSS(1010) +UNK_BSS(1009) /* 8049AF18-8049AFEC 001398 00D4+00 3/3 0/0 0/0 .text setSmokePos__9daArrow_cFv */ void daArrow_c::setSmokePos() { @@ -968,24 +430,6 @@ void daArrow_c::setSmokePos() { mSmokePos = (field_0x9cc - field_0x9d8) * 0.9f; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDAC-8049DDB0 000128 0004+00 0/2 0/0 0/0 .rodata @4674 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4674 = 20.0f; -COMPILER_STRIP_GATE(0x8049DDAC, &lit_4674); -#pragma pop - -/* 8049DDB0-8049DDB4 00012C 0004+00 0/2 0/0 0/0 .rodata @4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4675 = -2.0f; -COMPILER_STRIP_GATE(0x8049DDB0, &lit_4675); -#pragma pop -#endif - /* 8049AFEC-8049B120 00146C 0134+00 3/3 0/0 0/0 .text setKeepMatrix__9daArrow_cFv */ void daArrow_c::setKeepMatrix() { if (mArrowType == 2) { @@ -1010,7 +454,6 @@ void daArrow_c::setKeepMatrix() { current.angle.x = -shape_angle.x; } - /* 8049B120-8049B214 0015A0 00F4+00 2/2 0/0 0/0 .text setStopActorMatrix__9daArrow_cFv */ fopAc_ac_c* daArrow_c::setStopActorMatrix() { s16 vibe_angle = getVibAngle(); @@ -1033,23 +476,17 @@ fopAc_ac_c* daArrow_c::setStopActorMatrix() { return actor; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDB4-8049DDB8 000130 0004+00 1/1 0/0 0/0 .rodata @4749 */ -SECTION_RODATA static f32 const lit_4749 = 0.25f; -COMPILER_STRIP_GATE(0x8049DDB4, &lit_4749); -#endif - /* 8049B214-8049B370 001694 015C+00 4/4 0/0 0/0 .text setBombMoveEffect__9daArrow_cFv */ void daArrow_c::setBombMoveEffect() { if (mArrowType == 1 && field_0x945 == 0 && field_0x943 == 0) { setSmokePos(); - field_0x964 = dComIfGp_particle_set(field_0x964, 0x1e0, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, &field_0xa10, -1, NULL, NULL, NULL); + field_0x964 = dComIfGp_particle_set(field_0x964, 0x1e0, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, &field_0xa10, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x964); field_0xa10.setRate(0.25f); - field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x968); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x968); @@ -1059,17 +496,6 @@ void daArrow_c::setBombMoveEffect() { } } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDB8-8049DDBC 000134 0004+00 0/3 0/0 0/0 .rodata @4763 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4763 = -1.0f; -COMPILER_STRIP_GATE(0x8049DDB8, &lit_4763); -#pragma pop -#endif - /* 8049B370-8049B45C 0017F0 00EC+00 2/2 0/0 0/0 .text checkReget__9daArrow_cFv */ bool daArrow_c::checkReget() { if (field_0x7cc.ChkCoHit()) { @@ -1085,43 +511,7 @@ bool daArrow_c::checkReget() { } } - - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDBC-8049DDC0 000138 0004+00 2/3 0/0 0/0 .rodata @4868 */ -SECTION_RODATA static f32 const lit_4868 = 95.0f; -COMPILER_STRIP_GATE(0x8049DDBC, &lit_4868); -#endif - -/* 8049DE0C-8049DE18 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -#ifndef NONMATCHING -/* 8049DE18-8049DE2C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop -#endif - -#ifndef NONMATCHING -/* 8049DE2C-8049DE38 -00001 000C+00 1/1 0/0 0/0 .data @4777 */ -SECTION_DATA static void* lit_4777[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMove__9daArrow_cFv, -}; -#endif +UNK_REL_DATA /* 8049B45C-8049B764 0018DC 0308+00 1/0 0/0 0/0 .text procWait__9daArrow_cFv */ int daArrow_c::procWait() { @@ -1155,7 +545,8 @@ int daArrow_c::procWait() { } else if (mArrowType == 1) { setSmokePos(); - field_0x964 = dComIfGp_particle_set(field_0x964, 0x1df, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x964 = dComIfGp_particle_set(field_0x964, 0x1df, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x964); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x964); @@ -1170,7 +561,8 @@ int daArrow_c::procWait() { } } - field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x968); emitter = dComIfGp_particle_getEmitter(field_0x968); if (emitter != NULL) { @@ -1193,182 +585,6 @@ int daArrow_c::procWait() { return TRUE; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDC0-8049DDC4 00013C 0004+00 0/1 0/0 0/0 .rodata @5356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5356 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDC0, &lit_5356); -#pragma pop - -/* 8049DDC4-8049DDC8 000140 0004+00 0/1 0/0 0/0 .rodata @5357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5357 = 0x3F980000; // 1.1875 -COMPILER_STRIP_GATE(0x8049DDC4, &lit_5357); -#pragma pop - -/* 8049DDC8-8049DDCC 000144 0004+00 0/1 0/0 0/0 .rodata @5358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5358 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDC8, &lit_5358); -#pragma pop - -/* 8049DDCC-8049DDD0 000148 0004+00 0/1 0/0 0/0 .rodata @5359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5359 = -5.0f; -COMPILER_STRIP_GATE(0x8049DDCC, &lit_5359); -#pragma pop - -/* 8049DE38-8049DE44 -00001 000C+00 0/1 0/0 0/0 .data @4874 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4874[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procActorControllStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE44-8049DE50 -00001 000C+00 0/1 0/0 0/0 .data @4974 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4974[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procActorStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE50-8049DE5C -00001 000C+00 0/1 0/0 0/0 .data @5004 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5004[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBGStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE5C-8049DE68 -00001 000C+00 1/1 0/0 0/0 .data @5369 */ -SECTION_DATA static void* lit_5369[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procReturn__9daArrow_cFv, -}; - -/* 8049DE68-8049DE74 -00001 000C+00 1/1 0/0 0/0 .data @5506 */ -SECTION_DATA static void* lit_5506[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procSlingHit__9daArrow_cFv, -}; - -/* 8049DE74-8049DE80 -00001 000C+00 1/1 0/0 0/0 .data @5714 */ -SECTION_DATA static void* lit_5714[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMove__9daArrow_cFv, -}; - -/* 8049DE80-8049DE8C -00001 000C+00 1/1 0/0 0/0 .data @5716 */ -SECTION_DATA static void* lit_5716[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procWait__9daArrow_cFv, -}; -#endif - -/* 8049DE8C-8049DEAC -00001 0020+00 1/0 0/0 0/0 .data l_daArrowMethodTable */ -static actor_method_class l_daArrowMethodTable = { - (process_method_func)daArrow_create__FP9daArrow_c, - (process_method_func)daArrow_delete__FP9daArrow_c, - (process_method_func)daArrow_execute__FP9daArrow_c, - 0, - (process_method_func)daArrow_draw__FP9daArrow_c, -}; - -/* 8049DEAC-8049DEDC -00001 0030+00 0/0 0/0 1/0 .data g_profile_ARROW */ -extern actor_process_profile_definition g_profile_ARROW = { - fpcLy_CURRENT_e, // mLayerID - 9, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_ARROW, // mProcName - &g_fpcLf_Method.mBase, // sub_method - 0x00000A34, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 750, // mPriority - &l_daArrowMethodTable, // sub_method - 0x00060000, // mStatus - fopAc_UNK_GROUP_5_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 8049DEDC-8049DEE8 0000D0 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 8049DEE8-8049DEF4 0000DC 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 8049DEF4-8049DF18 0000E8 0024+00 3/3 0/0 0/0 .data __vt__18dPa_levelEcallBack */ -SECTION_DATA extern void* __vt__18dPa_levelEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_levelEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)NULL, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 8049DF18-8049DF34 00010C 001C+00 1/1 0/0 0/0 .data __vt__18JPAEmitterCallBack */ -SECTION_DATA extern void* __vt__18JPAEmitterCallBack[7] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, -}; - -/* 8049DF34-8049DF40 000128 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 8049DF40-8049DF4C 000134 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 8049DF4C-8049DF58 000140 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - /* 8049B764-8049C6B8 001BE4 0F54+00 2/0 0/0 0/0 .text procMove__9daArrow_cFv */ int daArrow_c::procMove() { if (fopAcM_GetParam(this) == 6) { @@ -1674,37 +890,6 @@ int daArrow_c::procMove() { return TRUE; } - -/* 8049C6B8-8049C700 002B38 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv() { - // NONMATCHING -} - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDD0-8049DDD4 00014C 0004+00 0/1 0/0 0/0 .rodata @5385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5385 = 8192.0f; -COMPILER_STRIP_GATE(0x8049DDD0, &lit_5385); -#pragma pop - -/* 8049DDD4-8049DDD8 000150 0004+00 0/1 0/0 0/0 .rodata @5386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5386 = 15.0f; -COMPILER_STRIP_GATE(0x8049DDD4, &lit_5386); -#pragma pop - -/* 8049DDD8-8049DDDC 000154 0004+00 0/1 0/0 0/0 .rodata @5387 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5387 = 11264.0f; -COMPILER_STRIP_GATE(0x8049DDD8, &lit_5387); -#pragma pop -#endif - /* 8049C700-8049C874 002B80 0174+00 1/1 0/0 0/0 .text procReturnInit__9daArrow_cFi */ int daArrow_c::procReturnInit(int param_0) { setBlur(); @@ -1733,31 +918,6 @@ int daArrow_c::procReturnInit(int param_0) { return TRUE; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDDC-8049DDE0 000158 0004+00 0/1 0/0 0/0 .rodata @5458 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5458 = 2.0f; -COMPILER_STRIP_GATE(0x8049DDDC, &lit_5458); -#pragma pop - -/* 8049DDE0-8049DDE4 00015C 0004+00 0/1 0/0 0/0 .rodata @5459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5459 = 0.5f; -COMPILER_STRIP_GATE(0x8049DDE0, &lit_5459); -#pragma pop - -/* 8049DDE4-8049DDE8 000160 0004+00 0/1 0/0 0/0 .rodata @5460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5460 = 5000.0f; -COMPILER_STRIP_GATE(0x8049DDE4, &lit_5460); -#pragma pop -#endif - /* 8049C874-8049CB70 002CF4 02FC+00 1/0 0/0 0/0 .text procReturn__9daArrow_cFv */ int daArrow_c::procReturn() { setBombMoveEffect(); @@ -1802,7 +962,6 @@ int daArrow_c::procReturn() { return TRUE; } - /* 8049CB70-8049CC60 002FF0 00F0+00 1/0 0/0 0/0 .text procBGStop__9daArrow_cFv */ int daArrow_c::procBGStop() { if (field_0x944 != 0 || !dComIfG_Bgsp().ChkPolySafe(field_0x56c)) { @@ -1889,7 +1048,6 @@ int daArrow_c::procSlingHitInit(cXyz* param_0, dCcD_GObjInf* param_1) { return TRUE; } - /* 8049CE50-8049CEA0 0032D0 0050+00 1/0 0/0 0/0 .text procSlingHit__9daArrow_cFv */ int daArrow_c::procSlingHit() { decAlphaBlur(); @@ -1957,42 +1115,13 @@ int daArrow_c::execute() { return TRUE; } - - /* 8049D0AC-8049D0CC 00352C 0020+00 1/0 0/0 0/0 .text daArrow_execute__FP9daArrow_c */ static int daArrow_execute(daArrow_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 8049DDE8-8049DDF0 000164 0008+00 0/1 0/0 0/0 .rodata tmpColor$5589 */ -#ifndef NONMATCHING -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const tmpColor[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DDE8, &tmpColor); -#pragma pop - -/* 8049DDF0-8049DDF4 00016C 0004+00 0/1 0/0 0/0 .rodata @5676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5676 = 0x40490FDB; -COMPILER_STRIP_GATE(0x8049DDF0, &lit_5676); -#pragma pop - -/* 8049DDF4-8049DDF8 000170 0004+00 0/2 0/0 0/0 .rodata @5677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5677 = 50.0f; -COMPILER_STRIP_GATE(0x8049DDF4, &lit_5677); -#pragma pop -#endif - /* 8049D0CC-8049D40C 00354C 0340+00 1/1 0/0 0/0 .text draw__9daArrow_cFv */ -#ifdef NONMATCHING -// regalloc, literals +// NONMATCHING regalloc int daArrow_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); @@ -2050,11 +1179,6 @@ int daArrow_c::draw() { return TRUE; } -#else -int daArrow_c::draw() { - // NONMATCHING -} -#endif /* 8049D40C-8049D42C 00388C 0020+00 1/0 0/0 0/0 .text daArrow_draw__FP9daArrow_c */ static int daArrow_draw(daArrow_c* i_this) { @@ -2071,33 +1195,7 @@ static void* daAlink_searchHorseZelda(fopAc_ac_c* param_0, void* param_1) { return NULL; } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDF8-8049DDFC 000174 0004+00 0/1 0/0 0/0 .rodata @5813 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5813 = -6.0f; -COMPILER_STRIP_GATE(0x8049DDF8, &lit_5813); -#pragma pop - -/* 8049DDFC-8049DE00 000178 0004+00 0/1 0/0 0/0 .rodata @5814 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5814 = 6.0f; -COMPILER_STRIP_GATE(0x8049DDFC, &lit_5814); -#pragma pop - -/* 8049DE00-8049DE04 00017C 0004+00 0/1 0/0 0/0 .rodata @5815 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5815 = 110.0f; -COMPILER_STRIP_GATE(0x8049DE00, &lit_5815); -#pragma pop -#endif - /* 8049D440-8049D808 0038C0 03C8+00 1/1 0/0 0/0 .text create__9daArrow_cFv */ -#ifdef NONMATCHING -// regalloc, stack issue, literals cPhs__Step daArrow_c::create() { fopAcM_SetupActor(this, daArrow_c); @@ -2159,41 +1257,6 @@ cPhs__Step daArrow_c::create() { return cPhs_COMPLEATE_e; } -#else -cPhs__Step daArrow_c::create() { - // NONMATCHING -} -#endif - -/* 8049D808-8049D80C 003C88 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -// void dPa_levelEcallBack::cleanup() { -extern "C" void cleanup__18dPa_levelEcallBackFv() { - /* empty function */ -} - -/* 8049D80C-8049D880 003C8C 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */ -// dPa_levelEcallBack::~dPa_levelEcallBack() { -extern "C" void __dt__18dPa_levelEcallBackFv() { - // NONMATCHING -} - -/* 8049D880-8049D8C8 003D00 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 8049D8C8-8049D910 003D48 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 8049D910-8049D96C 003D90 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} /* 8049D96C-8049D98C 003DEC 0020+00 1/0 0/0 0/0 .text daArrow_create__FP9daArrow_c */ static int daArrow_create(daArrow_c* i_this) { @@ -2202,7 +1265,8 @@ static int daArrow_create(daArrow_c* i_this) { /* 8049D98C-8049DBD8 003E0C 024C+00 1/1 0/0 0/0 .text __dt__9daArrow_cFv */ daArrow_c::~daArrow_c() { - // NONMATCHING + mSoundObjArrow.deleteObject(); + setLightChargeEffect(1); } /* 8049DBD8-8049DC00 004058 0028+00 1/0 0/0 0/0 .text daArrow_delete__FP9daArrow_c */ @@ -2211,224 +1275,31 @@ static int daArrow_delete(daArrow_c* i_this) { return TRUE; } -/* 8049DC00-8049DC48 004080 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} +AUDIO_INSTANCES; -/* 8049DC48-8049DC4C 0040C8 0004+00 2/0 0/0 0/0 .text - * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} +/* 8049DE8C-8049DEAC -00001 0020+00 1/0 0/0 0/0 .data l_daArrowMethodTable */ +static actor_method_class l_daArrowMethodTable = { + (process_method_func)daArrow_create, + (process_method_func)daArrow_delete, + (process_method_func)daArrow_execute, + NULL, + (process_method_func)daArrow_draw, +}; -/* 8049DC4C-8049DC50 0040CC 0004+00 2/0 0/0 0/0 .text - * executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8049DC50-8049DC54 0040D0 0004+00 2/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter - */ -// void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8049DC54-8049DC58 0040D4 0004+00 2/0 0/0 0/0 .text - * drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -#ifndef NONMATCHING -/* 8049DC58-8049DC74 0040D8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPs */ -extern "C" void func_8049DC58(void* _this, s16* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8049DFBC-8049DFC0 000064 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFBC[4]; -#pragma pop - -/* 8049DFC0-8049DFC4 000068 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC0[4]; -#pragma pop - -/* 8049DFC4-8049DFC8 00006C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC4[4]; -#pragma pop - -/* 8049DFC8-8049DFCC 000070 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC8[4]; -#pragma pop - -/* 8049DFCC-8049DFD0 000074 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFCC[4]; -#pragma pop - -/* 8049DFD0-8049DFD4 000078 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFD0[4]; -#pragma pop - -/* 8049DFD4-8049DFD8 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFD4[4]; -#pragma pop - -/* 8049DFD8-8049DFDC 000080 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8049DFD8[4]; -#pragma pop - -/* 8049DFDC-8049DFE0 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8049DFDC[4]; -#pragma pop - -/* 8049DFE0-8049DFE4 000088 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE0[4]; -#pragma pop - -/* 8049DFE4-8049DFE8 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE4[4]; -#pragma pop - -/* 8049DFE8-8049DFEC 000090 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE8[4]; -#pragma pop - -/* 8049DFEC-8049DFF0 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFEC[4]; -#pragma pop - -/* 8049DFF0-8049DFF4 000098 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFF0[4]; -#pragma pop - -/* 8049DFF4-8049DFF8 00009C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_8049DFF4[4]; -#pragma pop - -/* 8049DFF8-8049DFFC 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFF8[4]; -#pragma pop - -/* 8049DFFC-8049E000 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFFC[4]; -#pragma pop - -/* 8049E000-8049E004 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_8049E000[4]; -#pragma pop - -/* 8049E004-8049E008 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_8049E004[4]; -#pragma pop - -/* 8049E008-8049E00C 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049E008[4]; -#pragma pop - -/* 8049E00C-8049E010 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_8049E00C[4]; -#pragma pop - -/* 8049E010-8049E014 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E010[4]; -#pragma pop - -/* 8049E014-8049E018 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E014[4]; -#pragma pop - -/* 8049E018-8049E01C 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E018[4]; -#pragma pop - -/* 8049E01C-8049E020 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049E01C[4]; -#pragma pop - -/* 8049E020-8049E024 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JAUSectionHeap> */ -#pragma push -#pragma force_active on -static u8 data_8049E020[4]; -#pragma pop - -/* 8049DE04-8049DE04 000180 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8049DEAC-8049DEDC -00001 0030+00 0/0 0/0 1/0 .data g_profile_ARROW */ +extern actor_process_profile_definition g_profile_ARROW = { + fpcLy_CURRENT_e, // mLayerID + 9, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_ARROW, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daArrow_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 750, // mPriority + &l_daArrowMethodTable, // sub_method + 0x00060000, // mStatus + fopAc_UNK_GROUP_5_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_b_oh2.cpp b/src/d/actor/d_a_b_oh2.cpp index 0945fc94cb..ec2ab9238f 100644 --- a/src/d/actor/d_a_b_oh2.cpp +++ b/src/d/actor/d_a_b_oh2.cpp @@ -161,8 +161,7 @@ static void action(b_oh2_class* i_this) { mDoMtx_stack_c::XrotM(i_this->shape_angle.x); i_this->mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); - int roomNo = fopAcM_GetRoomNo(i_this); - i_this->mpMorf->play(0, dComIfGp_getReverb(roomNo)); + i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); if (boss->speedF <= 1.0f) { i_this->mpBrk->setFrame(0.0f); @@ -326,4 +325,4 @@ extern actor_process_profile_definition g_profile_B_OH2 = { 0x44000, fopAc_ENEMY_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_do.cpp b/src/d/actor/d_a_do.cpp index 3a5df8b9ea..e214300a77 100644 --- a/src/d/actor/d_a_do.cpp +++ b/src/d/actor/d_a_do.cpp @@ -2572,7 +2572,7 @@ static cPhs__Step daDo_Create(fopAc_ac_c* i_this) { fopAcM_OnStatus(i_this, fopAcStts_CULL_e); fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8); i_this->attention_info.flags = 0; - i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; + i_this->attention_info.distances[fopAc_attn_CARRY_e] = 7; fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx()); _this->mBgS_Acch.Set(fopAcM_GetPosition_p(i_this), fopAcM_GetOldPosition_p(i_this), i_this, 1, &_this->mBgS_AcchCir, fopAcM_GetSpeed_p(i_this), NULL, NULL); @@ -2824,4 +2824,4 @@ extern actor_process_profile_definition g_profile_DO = { 0x8044000, fopAc_NPC_e, fopAc_CULLBOX_0_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_boss.cpp b/src/d/actor/d_a_door_boss.cpp index 66e82ee809..6a5858da60 100644 --- a/src/d/actor/d_a_door_boss.cpp +++ b/src/d/actor/d_a_door_boss.cpp @@ -266,9 +266,8 @@ void daBdoor_c::calcGoal(cXyz* i_goalP, int param_1) { void daBdoor_c::smokeInit() { mParticlePos = current.pos; mParticleAngle = shape_angle; - s32 room = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8156, mAcch.m_gnd, &mParticlePos, &tevStr, &mParticleAngle, - NULL, 0, NULL, room, NULL); + NULL, 0, NULL, fopAcM_GetRoomNo(this), NULL); } /* 806700C4-806701F4 000D24 0130+00 1/1 0/0 0/0 .text checkArea__9daBdoor_cFv */ @@ -297,8 +296,7 @@ BOOL daBdoor_c::checkFront() { /* 80670294-80670320 000EF4 008C+00 1/1 0/0 0/0 .text checkOpen__9daBdoor_cFv */ BOOL daBdoor_c::checkOpen() { - // Fake Match - should be daPy_py_c::i_checkNowWolf - if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) { + if (daPy_py_c::i_checkNowWolf()) { return false; } if (!dComIfGs_isDungeonItemBossKey()) { @@ -479,4 +477,4 @@ extern actor_process_profile_definition g_profile_BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_bossL1.cpp b/src/d/actor/d_a_door_bossL1.cpp index 8df75e8973..2d644caaa9 100644 --- a/src/d/actor/d_a_door_bossL1.cpp +++ b/src/d/actor/d_a_door_bossL1.cpp @@ -379,9 +379,8 @@ int daBdoorL1_c::create() { shape_angle.x = 0; current.angle.z = 0; current.angle.x = 0; - s32 roomNo = fopAcM_GetRoomNo(this); - u32 swBit = door_param2_c::getSwbit(this); - if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)) + && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { createKey(); } else { mKeyHoleId = -1; @@ -407,7 +406,7 @@ void daBdoorL1_c::demoProc() { cXyz cStack_38; if (dComIfGp_evmng_getIsAddvance(field_0x5a0)) { switch (demoAction) { - case 0: + case 0: { int* puVar3 = dComIfGp_evmng_getMyIntegerP(field_0x5a0, "Timer"); if (puVar3 == NULL) { field_0x5a4 = 1; @@ -415,6 +414,7 @@ void daBdoorL1_c::demoProc() { field_0x5a4 = *puVar3; } break; + } case 1: field_0x59a = 5; break; @@ -483,12 +483,13 @@ void daBdoorL1_c::demoProc() { dComIfGp_evmng_cutEnd(field_0x5a0); } break; - case 2: + case 2: { obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) { dComIfGp_evmng_cutEnd(field_0x5a0); } break; + } case 3: if (openProc() != 0) { openEnd(); @@ -561,46 +562,15 @@ void daBdoorL1_c::demoProc() { } } -/* 804E4A6C-804E4A74 000058 0006+02 0/1 0/0 0/0 .rodata l_lv1_eff$4252 */ -static u16 const l_lv1_eff[3] = { - 0x8C42, - 0x8C43, - 0x8C44, -}; - -/* 804E4A74-804E4A7C 000060 0006+02 0/1 0/0 0/0 .rodata l_lv2_eff$4253 */ -static u16 const l_lv2_eff[3] = { - 0x8C45, - 0x8C46, - 0x8C47, -}; - -/* 804E4A7C-804E4A80 000068 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_a$4254 */ -static u16 const l_lv4_eff_a[2] = { - 0x8C48, - 0x8C49, -}; - -/* 804E4A80-804E4A84 00006C 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_b$4255 */ -static u16 const l_lv4_eff_b[2] = { - 0x8C4A, - 0x8C4B, -}; - -/* 804E4A84-804E4A88 000070 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_a$4256 */ -static u16 const l_lv6_eff_a[2] = { - 0x8C4C, - 0x8C4D, -}; - -/* 804E4A88-804E4A8C 000074 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_b$4257 */ -static u16 const l_lv6_eff_b[2] = { - 0x8C4E, - 0x8C4F, -}; - /* 804E3180-804E357C 001460 03FC+00 1/1 0/0 0/0 .text openInit__11daBdoorL1_cFv */ int daBdoorL1_c::openInit() { + static u16 const l_lv1_eff[3] = {0x8C42, 0x8C43, 0x8C44}; + static u16 const l_lv2_eff[3] = {0x8C45, 0x8C46, 0x8C47}; + static u16 const l_lv4_eff_a[2] = {0x8C48, 0x8C49}; + static u16 const l_lv4_eff_b[2] = {0x8C4A, 0x8C4B}; + static u16 const l_lv6_eff_a[2] = {0x8C4C, 0x8C4D}; + static u16 const l_lv6_eff_b[2] = {0x8C4E, 0x8C4F}; + u32 i; if (field_0x590->ChkUsed()) { dComIfG_Bgsp().Release(field_0x590); @@ -764,9 +734,8 @@ int daBdoorL1_c::closeProc() { field_0x7d0.y += 10.0f; field_0x5ac.CrrPos(dComIfG_Bgsp()); cXyz cStack_34(1.65f, 1.65f, 1.65f); - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8c50, field_0x5ac.m_gnd, ¤t.pos, &tevStr, - &shape_angle, &cStack_34, 0, 0, roomNo, + &shape_angle, &cStack_34, 0, 0, fopAcM_GetRoomNo(this), 0); break; } @@ -1096,4 +1065,4 @@ extern actor_process_profile_definition g_profile_L1BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_bossL5.cpp b/src/d/actor/d_a_door_bossL5.cpp index 1791049ba5..6ad2b32b0c 100644 --- a/src/d/actor/d_a_door_bossL5.cpp +++ b/src/d/actor/d_a_door_bossL5.cpp @@ -171,9 +171,8 @@ int daBdoorL5_c::create() { if (rv != cPhs_COMPLEATE_e) { return rv; } - s32 roomNo = fopAcM_GetRoomNo(this); - u32 swBit = door_param2_c::getSwbit(this); - if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)) + && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { createKey(); } else { mKeyHoleId = -1; @@ -361,9 +360,8 @@ void daBdoorL5_c::calcGoal(cXyz* param_1, int param_2) { void daBdoorL5_c::smokeInit() { field_0x5a4 = current.pos; field_0x5b0 = shape_angle; - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8156, field_0x5b8.m_gnd, &field_0x5a4, &tevStr, &field_0x5b0, - 0, 0, 0, roomNo, 0); + 0, 0, 0, fopAcM_GetRoomNo(this), 0); } /* 80671B14-80671C14 000F54 0100+00 1/1 0/0 0/0 .text createKey__11daBdoorL5_cFv */ @@ -414,8 +412,7 @@ int daBdoorL5_c::checkFront() { /* 80671DE4-80671E70 001224 008C+00 1/1 0/0 0/0 .text checkOpen__11daBdoorL5_cFv */ int daBdoorL5_c::checkOpen() { - // Fake Match - should be daPy_py_c::i_checkNowWolf - if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) { + if (daPy_py_c::i_checkNowWolf()) { return 0; } @@ -583,4 +580,4 @@ extern actor_process_profile_definition g_profile_L5BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_mbossL1.cpp b/src/d/actor/d_a_door_mbossL1.cpp index 6466a79dfb..ae810eadd6 100644 --- a/src/d/actor/d_a_door_mbossL1.cpp +++ b/src/d/actor/d_a_door_mbossL1.cpp @@ -981,27 +981,24 @@ int daMBdoorL1_c::openInit() { } if (getDoorType() == 0) { for (int i = 0; i < 2; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id[i], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); } } else { if (getDoorType() == 1) { for (u32 k = 0; k < 5; k++) { switch (level) { case 4: { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id_lv4[k], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); break; } default: { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id_lv3[k], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); break; } } @@ -1357,9 +1354,8 @@ void daMBdoorL1_c::smokeInit2() { field_0x81c.y -= 10.0f; field_0x828.y += 10.0f; field_0x604.CrrPos(dComIfG_Bgsp()); - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8c50, field_0x604.m_gnd, ¤t.pos, &tevStr, - &shape_angle, NULL, 0, NULL, roomNo, 0); + &shape_angle, NULL, 0, NULL, fopAcM_GetRoomNo(this), 0); } } @@ -1541,8 +1537,7 @@ int daMBdoorL1_c::startDemoEnd() { f32 fVar1 = dVar12 < 0.0f ? 180.0f : -180.0f; cXyz cStack_88(current.pos.x - fVar1 * local_70.x, current.pos.y, current.pos.z - fVar1 * local_70.z); - s32 roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), roomNo); + dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), fopAcM_GetRoomNo(player)); return 1; } @@ -1560,7 +1555,7 @@ int daMBdoorL1_c::checkMBossRoom() { int daMBdoorL1_c::checkStopClose() { u8 FRoomNo = door_param2_c::getFRoomNo(this); door_param2_c::getFRoomNo(this); - s32 roomNo = fopAcM_GetRoomNo(this); + s8 roomNo = fopAcM_GetRoomNo(this); if (mDoorStop.mModel == NULL) { return 0; } diff --git a/src/d/actor/d_a_door_shutter.cpp b/src/d/actor/d_a_door_shutter.cpp index 9434574dc7..95953478e8 100644 --- a/src/d/actor/d_a_door_shutter.cpp +++ b/src/d/actor/d_a_door_shutter.cpp @@ -279,8 +279,7 @@ void daDoor20_c::setEventPrm() { } if (chkMakeKey()) { if (field_0x5f0) { - // FAKE MATCH: should be daPy_py_c::i_checkNowWolf - if (((daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR))->checkWolf()) { + if (daPy_py_c::i_checkNowWolf()) { if (dComIfGs_getKeyNum() == 0) { return; } @@ -446,13 +445,11 @@ void daDoor20_c::openInit_0() { csXyz acStack_2c(0, field_0x670, 0); for (u32 i = 0; i < 5; i++) { if (strcmp(dComIfGp_getStartStageName(), "D_MN10") == 0) { - s32 roomNo = fopAcM_GetRoomNo(this); - dComIfGp_particle_set(l_eff_id_lv4[i], - ¤t.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL); + dComIfGp_particle_set(l_eff_id_lv4[i], ¤t.pos, &acStack_2c, NULL, 0xff, NULL, + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } else { - s32 roomNo = fopAcM_GetRoomNo(this); - dComIfGp_particle_set(l_eff_id_lv3[i], - ¤t.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL); + dComIfGp_particle_set(l_eff_id_lv3[i], ¤t.pos, &acStack_2c, NULL, 0xff, NULL, + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } } fopAcM_onSwitch(this, bVar5); @@ -462,12 +459,6 @@ void daDoor20_c::openInit_0() { } } -/* 80466864-80466868 000044 0004+00 1/1 0/0 0/0 .rodata l_eff_id$4449 */ -static u16 const l_eff_id[2] = { - 0x8295, - 0x8296, -}; - /* 80461D24-80461EC4 001264 01A0+00 1/1 0/0 0/0 .text openInit_1__10daDoor20_cFv */ void daDoor20_c::openInit_1() { J3DAnmTransform* anm; @@ -481,10 +472,10 @@ void daDoor20_c::openInit_1() { JUT_ASSERT(918, rt == 0); u8 bVar5 = door_param2_c::getSwbit3(this); if (bVar5 != 0xff && !fopAcM_isSwitch(this, bVar5)) { + static u16 const l_eff_id[2] = {0x8295, 0x8296}; for (int i = 0; i < 2; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set(l_eff_id[i], ¤t.pos, &shape_angle, NULL, 0xff, NULL, - roomNo, NULL, NULL, NULL); + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } fopAcM_onSwitch(this, bVar5); field_0x672 = true; @@ -2289,4 +2280,4 @@ extern actor_process_profile_definition g_profile_DOOR20 = { 0x44000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_dshutter.cpp b/src/d/actor/d_a_dshutter.cpp index addf8d716b..ffc3ad07f6 100644 --- a/src/d/actor/d_a_dshutter.cpp +++ b/src/d/actor/d_a_dshutter.cpp @@ -5,150 +5,27 @@ #include "d/actor/d_a_dshutter.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "dol2asm.h" -// -// Forward References: -// - -extern "C" void callInit__7daDsh_cFv(); -extern "C" void callExecute__7daDsh_cFv(); -extern "C" void initOpenWait__7daDsh_cFv(); -extern "C" void executeOpenWait__7daDsh_cFv(); -extern "C" void initOpen__7daDsh_cFv(); -extern "C" void executeOpen__7daDsh_cFv(); -extern "C" void initCloseWait__7daDsh_cFv(); -extern "C" void executeCloseWait__7daDsh_cFv(); -extern "C" void initClose__7daDsh_cFv(); -extern "C" void executeClose__7daDsh_cFv(); -extern "C" s16 func_80467DF8(s16*); - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ - -/* 80467F5C-80467F68 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80467F68-80467F7C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop +UNK_REL_DATA /* 80467F7C-80467F88 -00001 000C+00 2/2 0/0 0/0 .data l_arcName */ -SECTION_DATA static char* l_arcName[] = { +static char* l_arcName[] = { "K_tetd", "S_bsaku00", "S_lv7saku", }; -/* 80467F88-80467F94 -00001 000C+00 0/1 0/0 0/0 .data @3631 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3631[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initOpenWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467F94-80467FA0 -00001 000C+00 0/1 0/0 0/0 .data @3632 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3632[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeOpenWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FA0-80467FAC -00001 000C+00 0/1 0/0 0/0 .data @3635 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3635[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initOpen__7daDsh_cFv, -}; -#pragma pop - -/* 80467FAC-80467FB8 -00001 000C+00 0/1 0/0 0/0 .data @3636 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3636[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeOpen__7daDsh_cFv, -}; -#pragma pop - -/* 80467FB8-80467FC4 -00001 000C+00 0/1 0/0 0/0 .data @3639 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3639[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initCloseWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FC4-80467FD0 -00001 000C+00 0/1 0/0 0/0 .data @3640 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3640[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeCloseWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FD0-80467FDC -00001 000C+00 0/1 0/0 0/0 .data @3643 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3643[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initClose__7daDsh_cFv, -}; -#pragma pop - -/* 80467FDC-80467FE8 -00001 000C+00 0/1 0/0 0/0 .data @3644 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3644[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeClose__7daDsh_cFv, -}; -#pragma pop - /* 80467498-8046751C 000078 0084+00 1/1 0/0 0/0 .text __dt__7daDsh_cFv */ daDsh_c::~daDsh_c() {} -/* ############################################################################################## */ /* 80467F04-80467F10 000000 000C+00 2/2 0/0 0/0 .rodata l_bmd */ -SECTION_RODATA static int const l_bmd[] = { +static int const l_bmd[] = { 4, 4, 4, }; -COMPILER_STRIP_GATE(0x80467F04, &l_bmd); /* 8046751C-8046759C 0000FC 0080+00 1/0 0/0 0/0 .text CreateHeap__7daDsh_cFv */ int daDsh_c::CreateHeap() { @@ -178,7 +55,7 @@ int daDsh_c::Execute(f32 (**param_0)[3][4]) { callExecute(); setMtx(); *param_0 = &mBgMtx; - func_80467DF8(&mTiltTime); + cLib_calcTimer(&mTiltTime); return 1; } @@ -221,105 +98,28 @@ int daDsh_c::initOpenWait() { return 1; } -/* ############################################################################################## */ -/* 80468070-80468074 000000 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80468074-80468078 000004 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80468078-8046807C 000008 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 8046807C-80468080 00000C 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80468080-80468084 000010 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 80468084-80468088 000014 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 80468088-8046808C 000018 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 8046808C-80468090 00001C 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 80468090-80468094 000020 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 80468094-80468098 000024 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 80468098-8046809C 000028 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 8046809C-804680A0 00002C 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 804680A0-804680A4 000030 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 804680A4-804680A8 000034 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 804680A8-804680AC 000038 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 804680AC-804680B0 00003C 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop +UNK_BSS(1109) +UNK_BSS(1107) +UNK_BSS(1105) +UNK_BSS(1104) +UNK_BSS(1099) +UNK_BSS(1097) +UNK_BSS(1095) +UNK_BSS(1094) +UNK_BSS(1057) +UNK_BSS(1055) +UNK_BSS(1053) +UNK_BSS(1052) +UNK_BSS(1014) +UNK_BSS(1012) +UNK_BSS(1010) +UNK_BSS(1009) /* 804680B0-804680C8 000040 0018+00 2/3 0/0 0/0 .bss l_openWaitAction */ -static daDsh_c::action_c l_openWaitAction /* (&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait) */; +static daDsh_c::action_c l_openWaitAction(&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait); /* 804680C8-804680E0 000058 0018+00 1/2 0/0 0/0 .bss l_openAction */ -static daDsh_c::action_c l_openAction /* (&daDsh_c::initOpen, &daDsh_c::executeOpen) */; +static daDsh_c::action_c l_openAction(&daDsh_c::initOpen, &daDsh_c::executeOpen); /* 804677E4-80467840 0003C4 005C+00 1/0 0/0 0/0 .text executeOpenWait__7daDsh_cFv */ int daDsh_c::executeOpenWait() { @@ -330,14 +130,11 @@ int daDsh_c::executeOpenWait() { return 1; } -/* ############################################################################################## */ /* 80467F10-80467F1C 00000C 000C+00 1/1 0/0 0/0 .rodata l_dzb */ -SECTION_RODATA static int const l_dzb[] = {7, 7, 7}; -COMPILER_STRIP_GATE(0x80467F10, &l_dzb); +static int const l_dzb[] = {7, 7, 7}; /* 80467F1C-80467F28 000018 000C+00 1/1 0/0 0/0 .rodata l_heap_size */ -SECTION_RODATA static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60}; -COMPILER_STRIP_GATE(0x80467F1C, &l_heap_size); +static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60}; /* 80467840-80467988 000420 0148+00 1/0 0/0 0/0 .text initOpen__7daDsh_cFv */ int daDsh_c::initOpen() { @@ -359,8 +156,7 @@ int daDsh_c::initOpen() { } /* 804680E0-804680F8 000070 0018+00 2/3 0/0 0/0 .bss l_closeWaitAction */ -static daDsh_c::action_c - l_closeWaitAction /* (&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait) */; +static daDsh_c::action_c l_closeWaitAction(&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait); /* 80467988-80467A64 000568 00DC+00 1/0 0/0 0/0 .text executeOpen__7daDsh_cFv */ int daDsh_c::executeOpen() { @@ -392,9 +188,8 @@ int daDsh_c::initCloseWait() { return 1; } -/* ############################################################################################## */ /* 804680F8-80468110 000088 0018+00 1/2 0/0 0/0 .bss l_closeAction */ -static daDsh_c::action_c l_closeAction /* (&daDsh_c::initClose, &daDsh_c::executeClose) */; +static daDsh_c::action_c l_closeAction(&daDsh_c::initClose, &daDsh_c::executeClose); /* 80467A80-80467ADC 000660 005C+00 1/0 0/0 0/0 .text executeCloseWait__7daDsh_cFv */ int daDsh_c::executeCloseWait() { @@ -459,180 +254,7 @@ static int daDsh_Delete(daDsh_c* i_this) { return ret; } -/* ############################################################################################## */ -/* 80468110-80468114 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80468110[4]; -#pragma pop - -/* 80468114-80468118 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80468114[4]; -#pragma pop - -/* 80468118-8046811C 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468118[4]; -#pragma pop - -/* 8046811C-80468120 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046811C[4]; -#pragma pop - -/* 80468120-80468124 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468120[4]; -#pragma pop - -/* 80468124-80468128 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468124[4]; -#pragma pop - -/* 80468128-8046812C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80468128[4]; -#pragma pop - -/* 8046812C-80468130 0000BC 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8046812C[4]; -#pragma pop - -/* 80468130-80468134 0000C0 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80468130[4]; -#pragma pop - -/* 80468134-80468138 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80468134[4]; -#pragma pop - -/* 80468138-8046813C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468138[4]; -#pragma pop - -/* 8046813C-80468140 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046813C[4]; -#pragma pop - -/* 80468140-80468144 0000D0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468140[4]; -#pragma pop - -/* 80468144-80468148 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468144[4]; -#pragma pop - -/* 80468148-8046814C 0000D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80468148[4]; -#pragma pop - -/* 8046814C-80468150 0000DC 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_8046814C[4]; -#pragma pop - -/* 80468150-80468154 0000E0 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80468150[4]; -#pragma pop - -/* 80468154-80468158 0000E4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80468154[4]; -#pragma pop - -/* 80468158-8046815C 0000E8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80468158[4]; -#pragma pop - -/* 8046815C-80468160 0000EC 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046815C[4]; -#pragma pop - -/* 80468160-80468164 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80468160[4]; -#pragma pop - -/* 80468164-80468168 0000F4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468164[4]; -#pragma pop - -/* 80468168-8046816C 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468168[4]; -#pragma pop - -/* 8046816C-80468170 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8046816C[4]; -#pragma pop - -/* 80468170-80468174 000100 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468170[4]; -#pragma pop - -/* 80468174-80468178 000104 0004+00 1/1 0/0 0/0 .bss None */ -static s8 data_80468174[4]; +AUDIO_INSTANCES; /* 80467C7C-80467DF8 00085C 017C+00 1/0 0/0 0/0 .text daDsh_Create__FP10fopAc_ac_c */ int daDsh_c::create() { @@ -664,20 +286,6 @@ static int daDsh_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -/* 80467DF8-80467E14 0009D8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPs */ -extern "C" s16 func_80467DF8(s16* param_0) { - // NONMATCHING -} - -/* 80467E14-80467EF8 0009F4 00E4+00 0/0 1/0 0/0 .text __sinit_d_a_dshutter_cpp */ -void __sinit_d_a_dshutter_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80467E14, __sinit_d_a_dshutter_cpp); -#pragma pop - /* 80467FF0-80468010 -00001 0020+00 1/0 0/0 0/0 .data l_daDsh_Method */ static actor_method_class l_daDsh_Method = { (process_method_func)daDsh_Create, (process_method_func)daDsh_Delete, @@ -704,4 +312,4 @@ extern actor_process_profile_definition2 g_profile_DSHUTTER = { fopAc_CULLBOX_0_e, // cullType }, 0, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_e_ba.cpp b/src/d/actor/d_a_e_ba.cpp index 1f3070214c..b977d9d01e 100644 --- a/src/d/actor/d_a_e_ba.cpp +++ b/src/d/actor/d_a_e_ba.cpp @@ -3,8 +3,6 @@ * Enemy - Keese */ -// Matches except for the weak function setMidnaBindEffect - #include "d/actor/d_a_e_ba.h" #include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_math.h" @@ -12,444 +10,14 @@ #include "d/d_s_play.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" -// -// Forward References: -// +/* 80682638-8068263C 000008 0004+00 2/2 0/0 0/0 .bss None */ +static bool hioInit; -extern "C" void __ct__12daE_BA_HIO_cFv(); -extern "C" static void ba_disappear__FP10fopAc_ac_c(); -extern "C" static void anm_init__FP10e_ba_classifUcf(); -extern "C" static void daE_BA_Draw__FP10e_ba_class(); -extern "C" static void shot_b_sub__FPvPv(); -extern "C" static void other_bg_check__FP10e_ba_classP10fopAc_ac_c(); -extern "C" static void pl_check__FP10e_ba_classfs(); -extern "C" static void damage_check__FP10e_ba_class(); -extern "C" static void path_check__FP10e_ba_class(); -extern "C" static void fly_move__FP10e_ba_class(); -extern "C" static void e_ba_roof__FP10e_ba_class(); -extern "C" static void e_ba_fight_fly__FP10e_ba_class(); -extern "C" static void e_ba_fight__FP10e_ba_class(); -extern "C" static void e_ba_attack__FP10e_ba_class(); -extern "C" static void e_ba_fly__FP10e_ba_class(); -extern "C" static void e_ba_return__FP10e_ba_class(); -extern "C" static void e_ba_path_fly__FP10e_ba_class(); -extern "C" static void e_ba_chance__FP10e_ba_class(); -extern "C" static void e_ba_wolfbite__FP10e_ba_class(); -extern "C" static void e_ba_wind__FP10e_ba_class(); -extern "C" static void e_ba_appear__FP10e_ba_class(); -extern "C" static void action__FP10e_ba_class(); -extern "C" static void daE_BA_Execute__FP10e_ba_class(); -extern "C" static bool daE_BA_IsDelete__FP10e_ba_class(); -extern "C" static void daE_BA_Delete__FP10e_ba_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void daE_BA_Create__FP10fopAc_ac_c(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daE_BA_HIO_cFv(); -extern "C" void __sinit_d_a_e_ba_cpp(); -extern "C" static void func_80681F84(); -extern "C" static void func_80681F8C(); -extern "C" static void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz(); -extern "C" extern char const* const d_a_e_ba__stringBase0; -static cPhs__Step daE_BA_Create(fopAc_ac_c*); -static int daE_BA_Delete(e_ba_class*); -static int daE_BA_Execute(e_ba_class*); -static int daE_BA_IsDelete(e_ba_class*); -static int daE_BA_Draw(e_ba_class*); -static int setMidnaBindEffect(fopEn_enemy_c*, Z2CreatureEnemy*, cXyz*, cXyz*); - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(); -extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(); -extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" void checkBoomerangCharge__9daPy_py_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void func_80280808(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); -extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 806823BC-806823C0 000000 0004+00 20/20 0/0 0/0 .rodata @3947 */ -SECTION_RODATA static f32 const lit_3947 = 100.0f; -COMPILER_STRIP_GATE(0x806823BC, &lit_3947); - -/* 806823C0-806823C4 000004 0004+00 1/16 0/0 0/0 .rodata @3948 */ -SECTION_RODATA static u8 const lit_3948[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x806823C0, &lit_3948); - -/* 806823C4-806823CC 000008 0004+04 1/17 0/0 0/0 .rodata @3949 */ -SECTION_RODATA static f32 const lit_3949[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x806823C4, &lit_3949); - -/* 806823CC-806823D4 000010 0008+00 0/3 0/0 0/0 .rodata @3950 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3950[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823CC, &lit_3950); -#pragma pop - -/* 806823D4-806823DC 000018 0008+00 0/3 0/0 0/0 .rodata @3951 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3951[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823D4, &lit_3951); -#pragma pop - -/* 806823DC-806823E4 000020 0008+00 0/3 0/0 0/0 .rodata @3952 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3952[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823DC, &lit_3952); -#pragma pop - -/* 806823E4-806823E8 000028 0004+00 0/1 0/0 0/0 .rodata @3953 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3953 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x806823E4, &lit_3953); -#pragma pop - -/* 806823E8-806823EC 00002C 0004+00 0/3 0/0 0/0 .rodata @3968 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3968 = 15.0f; -COMPILER_STRIP_GATE(0x806823E8, &lit_3968); -#pragma pop - -/* 806823EC-806823F0 000030 0004+00 0/1 0/0 0/0 .rodata @3969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3969 = 250.0f; -COMPILER_STRIP_GATE(0x806823EC, &lit_3969); -#pragma pop - -/* 806823F0-806823F4 000034 0004+00 0/3 0/0 0/0 .rodata @3970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3970 = 40.0f; -COMPILER_STRIP_GATE(0x806823F0, &lit_3970); -#pragma pop - -/* 8068248C-8068248C 0000D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8068248C = "E_ba"; -SECTION_DEAD static char const* const stringBase_80682491 = "E_fb"; -SECTION_DEAD static char const* const stringBase_80682496 = "E_ib"; -#pragma pop - -/* 8068249C-806824A8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 806824A8-806824BC 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop - -/* 806824BC-806824C4 000020 0008+00 0/1 0/0 0/0 .data e_prim$3826 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_prim[8] = { - 0xFF, 0x78, 0x00, 0x00, 0xFF, 0x64, 0x78, 0x00, -}; -#pragma pop - -/* 806824C4-806824CC 000028 0008+00 0/1 0/0 0/0 .data e_env$3827 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_env[8] = { - 0x5A, 0x2D, 0x2D, 0x00, 0x3C, 0x1E, 0x1E, 0x00, -}; -#pragma pop - -/* 806824CC-806824D4 000030 0006+02 0/1 0/0 0/0 .data eff_id$3835 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { - 0x02, - 0x9D, - 0x02, - 0x9E, - 0x02, - 0x9F, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 806824D4-80682514 -00001 0040+00 1/1 0/0 0/0 .data @4748 */ -SECTION_DATA static void* lit_4748[16] = { - (void*)(((char*)action__FP10e_ba_class) + 0x88), - (void*)(((char*)action__FP10e_ba_class) + 0x94), - (void*)(((char*)action__FP10e_ba_class) + 0xAC), - (void*)(((char*)action__FP10e_ba_class) + 0xC4), - (void*)(((char*)action__FP10e_ba_class) + 0xE8), - (void*)(((char*)action__FP10e_ba_class) + 0xF4), - (void*)(((char*)action__FP10e_ba_class) + 0x108), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x114), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x120), - (void*)(((char*)action__FP10e_ba_class) + 0x12C), - (void*)(((char*)action__FP10e_ba_class) + 0x138), -}; - -/* 80682514-8068251C 000078 0008+00 1/1 0/0 0/0 .data fire_name$4786 */ -SECTION_DATA static u8 fire_name[8] = { - 0x82, 0x16, 0x82, 0x17, 0x82, 0x18, 0x82, 0x19, -}; - -/* 8068251C-80682524 000080 0006+02 1/1 0/0 0/0 .data ice_name$4787 */ -SECTION_DATA static u8 ice_name[6 + 2 /* padding */] = { - 0x82, - 0x1A, - 0x82, - 0x1B, - 0x82, - 0x1C, - /* padding */ - 0x00, - 0x00, -}; - -/* 80682524-80682530 -00001 000C+00 1/1 0/0 0/0 .data arc_name$4985 */ -SECTION_DATA static void* arc_name[3] = { - (void*)&d_a_e_ba__stringBase0, - (void*)(((char*)&d_a_e_ba__stringBase0) + 0x5), - (void*)(((char*)&d_a_e_ba__stringBase0) + 0xA), -}; - -/* 80682530-80682570 000094 0040+00 1/1 0/0 0/0 .data cc_sph_src$5011 */ -static dCcD_SrcSph cc_sph_src = { - { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj - {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph - } // mSphAttr -}; - -/* 80682570-80682590 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BA_Method */ -static actor_method_class l_daE_BA_Method = { - (process_method_func)daE_BA_Create, - (process_method_func)daE_BA_Delete, - (process_method_func)daE_BA_Execute, - (process_method_func)daE_BA_IsDelete, - (process_method_func)daE_BA_Draw, -}; - -/* 80682590-806825C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BA */ -extern actor_process_profile_definition g_profile_E_BA = { - fpcLy_CURRENT_e, - 7, - fpcPi_CURRENT_e, - PROC_E_BA, - &g_fpcLf_Method.mBase, - sizeof(e_ba_class), - 0, - 0, - &g_fopAc_Method.base, - 0xB4, - &l_daE_BA_Method, - 0x10050100, - fopAc_ENEMY_e, - fopAc_CULLBOX_CUSTOM_e, -}; - -/* 806825C0-806825CC 000124 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 806825CC-806825D8 000130 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 806825D8-806825E4 00013C 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 806825E4-806825F0 000148 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 806825F0-806825FC 000154 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 806825FC-80682620 000160 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80681F8C, - (void*)NULL, - (void*)NULL, - (void*)func_80681F84, -}; - -/* 80682620-8068262C 000184 000C+00 2/2 0/0 0/0 .data __vt__12daE_BA_HIO_c */ -SECTION_DATA extern void* __vt__12daE_BA_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daE_BA_HIO_cFv, -}; +/* 80682648-80682664 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ +static daE_BA_HIO_c l_HIO; /* 8067ECEC-8067ED30 0000EC 0044+00 1/1 0/0 0/0 .text __ct__12daE_BA_HIO_cFv */ daE_BA_HIO_c::daE_BA_HIO_c() { @@ -461,7 +29,6 @@ daE_BA_HIO_c::daE_BA_HIO_c() { mAttackSpeed = 40.0f; } - /* 8067ED30-8067ED90 000130 0060+00 2/2 0/0 0/0 .text ba_disappear__FP10fopAc_ac_c */ static void ba_disappear(fopAc_ac_c* i_this) { fopAcM_createDisappear(i_this, &i_this->current.pos, 6, 0, 3); @@ -471,11 +38,6 @@ static void ba_disappear(fopAc_ac_c* i_this) { } } -/* ############################################################################################## */ -/* 806823F4-806823F8 000038 0004+00 1/1 0/0 0/0 .rodata @3996 */ -SECTION_RODATA static f32 const lit_3996 = -1.0f; -COMPILER_STRIP_GATE(0x806823F4, &lit_3996); - /* 8067ED90-8067EE38 000190 00A8+00 11/11 0/0 0/0 .text anm_init__FP10e_ba_classifUcf */ static void anm_init(e_ba_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { J3DAnmTransform* anm = @@ -484,7 +46,6 @@ static void anm_init(e_ba_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_this->mAnm = i_index; } - /* 8067EE38-8067EEA8 000238 0070+00 1/0 0/0 0/0 .text daE_BA_Draw__FP10e_ba_class */ static int daE_BA_Draw(e_ba_class* i_this) { J3DModel* model = i_this->mpMorf->getModel(); @@ -523,7 +84,6 @@ static BOOL other_bg_check(e_ba_class* i_this, fopAc_ac_c* i_other) { } } - /* 8067EFF8-8067F0AC 0003F8 00B4+00 5/5 0/0 0/0 .text pl_check__FP10e_ba_classfs */ static BOOL pl_check(e_ba_class* i_this, f32 i_maxDistance, s16 i_maxAngle) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -545,28 +105,6 @@ static BOOL pl_check(e_ba_class* i_this, f32 i_maxDistance, s16 i_maxAngle) { return false; } -/* ############################################################################################## */ -/* 806823F8-806823FC 00003C 0004+00 0/2 0/0 0/0 .rodata @4122 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4122 = 70.0f; -COMPILER_STRIP_GATE(0x806823F8, &lit_4122); -#pragma pop - -/* 806823FC-80682400 000040 0004+00 0/1 0/0 0/0 .rodata @4123 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4123 = 80.0f; -COMPILER_STRIP_GATE(0x806823FC, &lit_4123); -#pragma pop - -/* 80682400-80682404 000044 0004+00 0/3 0/0 0/0 .rodata @4124 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4124 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80682400, &lit_4124); -#pragma pop - /* 8067F0AC-8067F2DC 0004AC 0230+00 1/1 0/0 0/0 .text damage_check__FP10e_ba_class */ static void damage_check(e_ba_class* i_this) { daPy_py_c* player = static_cast(dComIfGp_getPlayer(0)); @@ -620,27 +158,8 @@ static void damage_check(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682404-80682408 000048 0004+00 0/5 0/0 0/0 .rodata @4156 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4156 = 50.0f; -COMPILER_STRIP_GATE(0x80682404, &lit_4156); -#pragma pop - -/* 80682638-8068263C 000008 0004+00 2/2 0/0 0/0 .bss None */ -static bool hioInit; - -/* 80682648-80682664 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ -static daE_BA_HIO_c l_HIO; - -#ifndef NONMATCHING -/* 80682664-80682763 000034 00FF+00 1/1 0/0 0/0 .bss check_index$4162 */ -static u8 check_index[255]; -#endif - /* 8067F2DC-8067F544 0006DC 0268+00 2/3 0/0 0/0 .text path_check__FP10e_ba_class */ +// NONMATCHING regalloc static BOOL path_check(e_ba_class* i_this) { if (i_this->mpPath != NULL) { dBgS_LinChk lin_chk; @@ -661,15 +180,16 @@ static BOOL path_check(e_ba_class* i_this) { } } + f32 delta_x, delta_y, delta_z; f32 threshold = 0.0f; bool bvar5 = false; for (int i = 0; i < 100; i++, threshold += 50.0f) { point = i_this->mpPath->m_points; for (int j = 0; j < i_this->mpPath->m_num; j++, point++) { if (check_index[j]) { - f32 delta_x = i_this->current.pos.x - point->m_position.x; - f32 delta_y = i_this->current.pos.y - point->m_position.y; - f32 delta_z = i_this->current.pos.z - point->m_position.z; + delta_x = i_this->current.pos.x - point->m_position.x; + delta_y = i_this->current.pos.y - point->m_position.y; + delta_z = i_this->current.pos.z - point->m_position.z; f32 dist = JMAFastSqrt(delta_x * delta_x + delta_y * delta_y + delta_z * delta_z); if (dist < threshold) { @@ -700,22 +220,6 @@ static BOOL path_check(e_ba_class* i_this) { return false; } - -/* ############################################################################################## */ -/* 80682408-8068240C 00004C 0004+00 0/1 0/0 0/0 .rodata @4242 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4242 = 2000.0f; -COMPILER_STRIP_GATE(0x80682408, &lit_4242); -#pragma pop - -/* 8068240C-80682410 000050 0004+00 0/1 0/0 0/0 .rodata @4243 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4243 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x8068240C, &lit_4243); -#pragma pop - /* 8067F544-8067F6D4 000944 0190+00 6/6 0/0 0/0 .text fly_move__FP10e_ba_class */ static void fly_move(e_ba_class* i_this) { f32 delta_x = i_this->mTargetPos.x - i_this->current.pos.x; @@ -741,29 +245,6 @@ static void fly_move(e_ba_class* i_this) { i_this->current.pos += i_this->speed; } - -/* ############################################################################################## */ -/* 80682410-80682414 000054 0004+00 0/1 0/0 0/0 .rodata @4275 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4275 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682410, &lit_4275); -#pragma pop - -/* 80682414-80682418 000058 0004+00 0/3 0/0 0/0 .rodata @4276 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4276 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682414, &lit_4276); -#pragma pop - -/* 80682418-8068241C 00005C 0004+00 0/5 0/0 0/0 .rodata @4277 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4277 = 0.5f; -COMPILER_STRIP_GATE(0x80682418, &lit_4277); -#pragma pop - /* 8067F6D4-8067F81C 000AD4 0148+00 1/1 0/0 0/0 .text e_ba_roof__FP10e_ba_class */ static void e_ba_roof(e_ba_class* i_this) { switch (i_this->mMode) { @@ -790,22 +271,6 @@ static void e_ba_roof(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 8068241C-80682420 000060 0004+00 0/6 0/0 0/0 .rodata @4307 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4307 = 3.0f; -COMPILER_STRIP_GATE(0x8068241C, &lit_4307); -#pragma pop - -/* 80682420-80682424 000064 0004+00 0/4 0/0 0/0 .rodata @4308 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4308 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682420, &lit_4308); -#pragma pop - /* 8067F81C-8067F9E0 000C1C 01C4+00 1/1 0/0 0/0 .text e_ba_fight_fly__FP10e_ba_class */ static void e_ba_fight_fly(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -851,43 +316,6 @@ static void e_ba_fight_fly(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682424-80682428 000068 0004+00 0/3 0/0 0/0 .rodata @4376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4376 = 2.0f; -COMPILER_STRIP_GATE(0x80682424, &lit_4376); -#pragma pop - -/* 80682428-8068242C 00006C 0004+00 0/5 0/0 0/0 .rodata @4377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4377 = 30.0f; -COMPILER_STRIP_GATE(0x80682428, &lit_4377); -#pragma pop - -/* 8068242C-80682430 000070 0004+00 0/1 0/0 0/0 .rodata @4378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4378 = 12288.0f; -COMPILER_STRIP_GATE(0x8068242C, &lit_4378); -#pragma pop - -/* 80682430-80682434 000074 0004+00 0/2 0/0 0/0 .rodata @4379 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4379 = 150.0f; -COMPILER_STRIP_GATE(0x80682430, &lit_4379); -#pragma pop - -/* 80682434-80682438 000078 0004+00 0/3 0/0 0/0 .rodata @4380 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4380 = 10.0f; -COMPILER_STRIP_GATE(0x80682434, &lit_4380); -#pragma pop - /* 8067F9E0-8067FD68 000DE0 0388+00 1/1 0/0 0/0 .text e_ba_fight__FP10e_ba_class */ static void e_ba_fight(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -960,15 +388,6 @@ static void e_ba_fight(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682438-8068243C 00007C 0004+00 0/1 0/0 0/0 .rodata @4417 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4417 = 120.0f; -COMPILER_STRIP_GATE(0x80682438, &lit_4417); -#pragma pop - /* 8067FD68-8067FF60 001168 01F8+00 1/1 0/0 0/0 .text e_ba_attack__FP10e_ba_class */ static void e_ba_attack(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -1021,22 +440,6 @@ static void e_ba_attack(e_ba_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 8068243C-80682440 000080 0004+00 0/1 0/0 0/0 .rodata @4459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4459 = 500.0f; -COMPILER_STRIP_GATE(0x8068243C, &lit_4459); -#pragma pop - -/* 80682440-80682444 000084 0004+00 0/3 0/0 0/0 .rodata @4460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4460 = 200.0f; -COMPILER_STRIP_GATE(0x80682440, &lit_4460); -#pragma pop - /* 8067FF60-8068018C 001360 022C+00 1/1 0/0 0/0 .text e_ba_fly__FP10e_ba_class */ static void e_ba_fly(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1074,7 +477,6 @@ static void e_ba_fly(e_ba_class* i_this) { } } - /* 8068018C-8068039C 00158C 0210+00 1/1 0/0 0/0 .text e_ba_return__FP10e_ba_class */ static void e_ba_return(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1103,7 +505,6 @@ static void e_ba_return(e_ba_class* i_this) { } } - /* 8068039C-806806B4 00179C 0318+00 1/1 0/0 0/0 .text e_ba_path_fly__FP10e_ba_class */ static void e_ba_path_fly(e_ba_class* i_this) { dStage_dPnt_c* point; @@ -1160,29 +561,6 @@ static void e_ba_path_fly(e_ba_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 80682444-80682448 000088 0004+00 0/1 0/0 0/0 .rodata @4587 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4587 = 1.5f; -COMPILER_STRIP_GATE(0x80682444, &lit_4587); -#pragma pop - -/* 80682448-8068244C 00008C 0004+00 0/1 0/0 0/0 .rodata @4588 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4588 = 65536.0f; -COMPILER_STRIP_GATE(0x80682448, &lit_4588); -#pragma pop - -/* 8068244C-80682450 000090 0004+00 0/1 0/0 0/0 .rodata @4589 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4589 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x8068244C, &lit_4589); -#pragma pop - /* 806806B4-806808AC 001AB4 01F8+00 1/1 0/0 0/0 .text e_ba_chance__FP10e_ba_class */ static void e_ba_chance(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1228,22 +606,6 @@ static void e_ba_chance(e_ba_class* i_this) { cLib_addCalcAngleS2(&i_this->current.angle.z, i_this->mChanceAngle.z, 2, 0x1000); } - -/* ############################################################################################## */ -/* 80682450-80682454 000094 0004+00 0/1 0/0 0/0 .rodata @4629 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4629 = -20.0f; -COMPILER_STRIP_GATE(0x80682450, &lit_4629); -#pragma pop - -/* 80682454-80682458 000098 0004+00 0/2 0/0 0/0 .rodata @4630 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4630 = 4.0f; -COMPILER_STRIP_GATE(0x80682454, &lit_4630); -#pragma pop - /* 806808AC-80680AF4 001CAC 0248+00 1/1 0/0 0/0 .text e_ba_wolfbite__FP10e_ba_class */ static void e_ba_wolfbite(e_ba_class* i_this) { daPy_py_c* player = static_cast(dComIfGp_getPlayer(0)); @@ -1302,22 +664,6 @@ static void e_ba_wolfbite(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682458-8068245C 00009C 0004+00 0/1 0/0 0/0 .rodata @4654 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4654 = 15000.0f; -COMPILER_STRIP_GATE(0x80682458, &lit_4654); -#pragma pop - -/* 8068245C-80682460 0000A0 0004+00 0/1 0/0 0/0 .rodata @4655 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4655 = 1000.0f; -COMPILER_STRIP_GATE(0x8068245C, &lit_4655); -#pragma pop - /* 80680AF4-80680C98 001EF4 01A4+00 1/1 0/0 0/0 .text e_ba_wind__FP10e_ba_class */ static void e_ba_wind(e_ba_class* i_this) { fopAc_ac_c* boomerang = (fopAc_ac_c*)fpcM_Search(shot_b_sub, i_this); @@ -1356,29 +702,6 @@ static void e_ba_wind(e_ba_class* i_this) { i_this->current.angle.z = 0; } - -/* ############################################################################################## */ -/* 80682460-80682464 0000A4 0004+00 0/2 0/0 0/0 .rodata @4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4678 = 20.0f; -COMPILER_STRIP_GATE(0x80682460, &lit_4678); -#pragma pop - -/* 80682464-80682468 0000A8 0004+00 0/2 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 100000.0f; -COMPILER_STRIP_GATE(0x80682464, &lit_4679); -#pragma pop - -/* 80682468-8068246C 0000AC 0004+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682468, &lit_4680); -#pragma pop - /* 80680C98-80680DCC 002098 0134+00 1/1 0/0 0/0 .text e_ba_appear__FP10e_ba_class */ static void e_ba_appear(e_ba_class* i_this) { cXyz vec; @@ -1410,8 +733,8 @@ static void e_ba_appear(e_ba_class* i_this) { fly_move(i_this); } - /* 80680DCC-80681128 0021CC 035C+00 2/1 0/0 0/0 .text action__FP10e_ba_class */ +// NONMATCHING problem with getting item to create static void action(e_ba_class* i_this) { cXyz vec1, vec2, vec3; i_this->mPlayerAngleY = fopAcM_searchPlayerAngleY(i_this); @@ -1486,7 +809,8 @@ static void action(e_ba_class* i_this) { if (i_this->mKnockbackSpeed <= 1.0f || i_this->mAcch.ChkWallHit()) { fopAcM_delete(i_this); if (i_this->mHomeType == e_ba_class::HOME_APPEAR) { - int item_no = dComIfGs_getLife() <= 4 ? HEART : ARROW_10; + // should be HEART : ARROW_10 but that gives incorrect code + int item_no = dComIfGs_getLife() <= 4 ? 0 : 0xE; fopAcM_createItem(&i_this->current.pos, item_no, -1, -1, NULL, NULL, 0); fopAcM_createDisappear(i_this, &i_this->current.pos, 6, 0, 0xff); } else { @@ -1514,29 +838,6 @@ static void action(e_ba_class* i_this) { setMidnaBindEffect(i_this, &i_this->mCreatureSound, &i_this->eyePos, &vec3); } - -/* ############################################################################################## */ -/* 8068246C-80682470 0000B0 0004+00 0/0 0/0 0/0 .rodata @4747 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4747 = 5.0f; -COMPILER_STRIP_GATE(0x8068246C, &lit_4747); -#pragma pop - -/* 80682470-80682474 0000B4 0004+00 0/1 0/0 0/0 .rodata @4938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4938 = 20000.0f; -COMPILER_STRIP_GATE(0x80682470, &lit_4938); -#pragma pop - -/* 80682474-80682478 0000B8 0004+00 0/1 0/0 0/0 .rodata @4939 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4939 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x80682474, &lit_4939); -#pragma pop - /* 80681128-80681734 002528 060C+00 2/1 0/0 0/0 .text daE_BA_Execute__FP10e_ba_class */ static int daE_BA_Execute(e_ba_class* i_this) { daPy_py_c* player = static_cast(dComIfGp_getPlayer(0)); @@ -1650,7 +951,6 @@ static int daE_BA_Execute(e_ba_class* i_this) { return 1; } - /* 80681734-8068173C 002B34 0008+00 1/0 0/0 0/0 .text daE_BA_IsDelete__FP10e_ba_class */ static int daE_BA_IsDelete(e_ba_class* i_this) { return true; @@ -1668,7 +968,6 @@ static int daE_BA_Delete(e_ba_class* i_this) { return 1; } - /* 806817A0-80681890 002BA0 00F0+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static int useHeapInit(fopAc_ac_c* i_this) { e_ba_class* _this = static_cast(i_this); @@ -1683,35 +982,6 @@ static int useHeapInit(fopAc_ac_c* i_this) { } } - -/* ############################################################################################## */ -/* 80682478-8068247C 0000BC 0004+00 0/1 0/0 0/0 .rodata @5134 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5134 = -200.0f; -COMPILER_STRIP_GATE(0x80682478, &lit_5134); -#pragma pop - -/* 8068247C-80682484 0000C0 0004+04 0/1 0/0 0/0 .rodata @5135 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5135[1 + 1 /* padding */] = { - 65535.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8068247C, &lit_5135); -#pragma pop - -/* 80682484-8068248C 0000C8 0008+00 0/1 0/0 0/0 .rodata @5137 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5137[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80682484, &lit_5137); -#pragma pop - /* 80681890-80681CEC 002C90 045C+00 1/0 0/0 0/0 .text daE_BA_Create__FP10fopAc_ac_c */ static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { static char* arc_name[3] = {"E_ba", "E_fb", "E_ib"}; @@ -1813,83 +1083,36 @@ static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { _this->mCreatureSound.setEnemyName("E_ba"); _this->mAtInfo.mpSound = &_this->mCreatureSound; _this->mAtInfo.mPowerType = 1; - _this->mCounter = cM_rndF(0x10000); + _this->mCounter = cM_rndF(0xFFFF); daE_BA_Execute(_this); } return step; } +/* 80682570-80682590 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BA_Method */ +static actor_method_class l_daE_BA_Method = { + (process_method_func)daE_BA_Create, + (process_method_func)daE_BA_Delete, + (process_method_func)daE_BA_Execute, + (process_method_func)daE_BA_IsDelete, + (process_method_func)daE_BA_Draw, +}; -#ifndef NONMATCHING -/* 80681CEC-80681D34 0030EC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80681D34-80681D7C 003134 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80681D7C-80681DD8 00317C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80681DD8-80681E48 0031D8 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80681E48-80681EB8 003248 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80681EB8-80681F00 0032B8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80681F00-80681F48 003300 0048+00 2/1 0/0 0/0 .text __dt__12daE_BA_HIO_cFv */ -// daE_BA_HIO_c::~daE_BA_HIO_c() { -extern "C" void __dt__12daE_BA_HIO_cFv() { - // NONMATCHING -} - -/* 80681F48-80681F84 003348 003C+00 0/0 1/0 0/0 .text __sinit_d_a_e_ba_cpp */ -void __sinit_d_a_e_ba_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80681F48, __sinit_d_a_e_ba_cpp); -#pragma pop - -/* 80681F84-80681F8C 003384 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80681F84() { - // NONMATCHING -} - -/* 80681F8C-80681F94 00338C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80681F8C() { - // NONMATCHING -} -#endif - -/* 80681F94-806823A8 003394 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -static int setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* param_1, cXyz* param_2, - cXyz* param_3) { - // NONMATCHING -} - -/* 8068248C-8068248C 0000D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80682590-806825C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BA */ +extern actor_process_profile_definition g_profile_E_BA = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_E_BA, + &g_fpcLf_Method.mBase, + sizeof(e_ba_class), + 0, + 0, + &g_fopAc_Method.base, + 0xB4, + &l_daE_BA_Method, + 0x10050100, + fopAc_ENEMY_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_e_fz.cpp b/src/d/actor/d_a_e_fz.cpp index d6d4020561..e45c0c9e99 100644 --- a/src/d/actor/d_a_e_fz.cpp +++ b/src/d/actor/d_a_e_fz.cpp @@ -6,108 +6,15 @@ */ #include "d/actor/d_a_e_fz.h" +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" #include "d/actor/d_a_mirror.h" #include "d/actor/d_a_b_yo.h" #include "d/d_com_inf_game.h" #include "d/d_item.h" -#include "d/actor/d_a_player.h" -#include "d/actor/d_a_midna.h" #include "SSystem/SComponent/c_math.h" #include "SSystem/SComponent/c_xyz.h" -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; - -/* 806C14D4-806C18E8 002C74 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -// NONMATCHING -// gave up on this one, it's a mess. -// it appears to be actually defined in f_op_actor header and is in ~60 enemy actor TUs -// so needs to be solved eventually -// bind_id issue + regalloc (could be related) -static int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatureP, cXyz* i_pos, - cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - int darkworld_check; - daPy_py_c* player_actor = daPy_getPlayerActorClass(); - - if (player_actor->getMidnaActor() && player_actor->checkWolfLock(i_actorP)) { - cXyz pos3; - if (dKy_darkworld_check()) { - darkworld_check = 1; - } else { - darkworld_check = 0; - } - - if (i_actorP->getMidnaBindMode() == 0) { - i_actorP->setMidnaBindMode(1); - - csXyz angle; - PSMTXCopy(player_actor->getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz cStack_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&cStack_54, &pos3); - - cXyz pos = pos3 - *i_pos; - - angle.y = cM_atan2s(pos.x, pos.z); - angle.x = -cM_atan2s(pos.y, JMAFastSqrt(pos.x * pos.x + pos.z * pos.z)); - angle.z = 0; - - s32 room_no = fopAcM_GetRoomNo(i_actorP); - - JPABaseEmitter* emitter = dComIfGp_particle_set( - 0x29b, i_pos, &i_actorP->tevStr, &angle, i_scale, 0xff, 0, room_no, - &e_prim[darkworld_check], &e_env[darkworld_check], 0); - - if (emitter) { - emitter->setGlobalParticleHeightScale(0.01f * pos.abs()); - } - - room_no = fopAcM_GetRoomNo(i_actorP); - - dComIfGp_particle_set(0x29c, i_pos, &i_actorP->tevStr, &i_actorP->shape_angle, - i_scale, 0xff, 0, room_no, &e_prim[darkworld_check], - &e_env[darkworld_check], 0); - - i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_actorP->getMidnaBindID(i); - s32 room_no = fopAcM_GetRoomNo(i_actorP); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_actorP->tevStr, - &i_actorP->shape_angle, i_scale, 0xff, 0, room_no, - &e_prim[darkworld_check], &e_env[darkworld_check], 0); - - } - - i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - } - - i_actorP->setMidnaBindMode(0); - return 0; -} - namespace { /* 806C1A38-806C1A78 000038 0040+00 1/1 0/0 0/0 .data cc_fz_src__22@unnamed@d_a_e_fz_cpp@ diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index be5a539b84..afb71659db 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -8,75 +8,11 @@ #include "SSystem/SComponent/c_math.h" #include "c/c_damagereaction.h" #include "cmath.h" -#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_s_play.h" #include "d/d_camera.h" - -// NONMATCHING load order and regalloc -static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, - cXyz* i_pos, cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - daPy_py_c* player = daPy_getPlayerActorClass(); - if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { - cXyz local_48; - int world = dKy_darkworld_check() ? 1 : 0; - - if (i_enemy->getMidnaBindMode() == 0) { - i_enemy->setMidnaBindMode(1); - csXyz angle; - - MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz local_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&local_54, &local_48); - cXyz local_60 = local_48 - *i_pos; - - angle.y = cM_atan2s(local_60.x, local_60.z); - angle.x = -cM_atan2s(local_60.y, - JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); - angle.z = 0; - - JPABaseEmitter* emitter = - dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, - 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - if (emitter != NULL) { - emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); - } - - dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, - i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - - i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_enemy->getMidnaBindID(i); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, - &i_enemy->shape_angle, i_scale, 0xff, NULL, - fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - } - - i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - - } else { - i_enemy->setMidnaBindMode(0); - return 0; - } -} +#include "f_op/f_op_actor_enemy.h" #define WL_CUT_TYPE_SMALL 1 #define WL_CUT_TYPE_JUMP 2 diff --git a/src/d/actor/d_a_e_yk.cpp b/src/d/actor/d_a_e_yk.cpp index 0bb763ade9..d2a35dfdac 100644 --- a/src/d/actor/d_a_e_yk.cpp +++ b/src/d/actor/d_a_e_yk.cpp @@ -8,90 +8,11 @@ #include "d/actor/d_a_e_yk.h" #include "c/c_damagereaction.h" #include "d/d_com_inf_game.h" -#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_s_play.h" -#include "dol2asm.h" #include "SSystem/SComponent/c_math.h" - -/* 80807D70-80807D7C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80807D7C-80807D90 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; - -// NONMATCHING load order and regalloc -static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, - cXyz* i_pos, cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - daPy_py_c* player = daPy_getPlayerActorClass(); - if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { - cXyz local_48; - int world = dKy_darkworld_check() ? 1 : 0; - - if (i_enemy->getMidnaBindMode() == 0) { - i_enemy->setMidnaBindMode(1); - csXyz angle; - - MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz local_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&local_54, &local_48); - cXyz local_60 = local_48 - *i_pos; - - angle.y = cM_atan2s(local_60.x, local_60.z); - angle.x = -cM_atan2s(local_60.y, - JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); - angle.z = 0; - - JPABaseEmitter* emitter = - dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, - 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - if (emitter != NULL) { - emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); - } - - dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, - i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - - i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_enemy->getMidnaBindID(i); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, - &i_enemy->shape_angle, i_scale, 0xff, NULL, - fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - } - - i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - - } else { - i_enemy->setMidnaBindMode(0); - return 0; - } -} +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" /* 80807EF8-80807EFC 000008 0004+00 2/2 0/0 0/0 .bss None */ static u8 data_80807EF8; diff --git a/src/d/actor/d_a_horse.cpp b/src/d/actor/d_a_horse.cpp index 8a775dee7f..e13b9d8c7a 100644 --- a/src/d/actor/d_a_horse.cpp +++ b/src/d/actor/d_a_horse.cpp @@ -2460,38 +2460,6 @@ extern "C" void __dt__10cCcD_GSttsFv() { // NONMATCHING } -/* 80844B8C-80844B90 00CD4C 0004+00 3/0 0/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(u8 param_0, J3DAnmTransform* param_1) { - /* empty function */ -} - -/* 80844B90-80844B94 00CD50 0004+00 3/0 0/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) { - /* empty function */ -} - -/* 80844B94-80844B9C 00CD54 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFUc */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform(u8 param_0) { - return NULL; -} - -/* 80844B9C-80844BA4 00CD5C 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFv */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform() { - return NULL; -} - -/* 80844BA4-80844BA8 00CD64 0004+00 3/0 0/0 0/0 .text setWeight__10J3DMtxCalcFUcf */ -void J3DMtxCalc::setWeight(u8 param_0, f32 param_1) { - /* empty function */ -} - -/* 80844BA8-80844BB4 00CD68 000C+00 3/0 0/0 0/0 .text getWeight__10J3DMtxCalcCFUc */ -void J3DMtxCalc::getWeight(u8 param_0) const { - // NONMATCHING -} - /* 80844BB4-80844BDC 00CD74 0028+00 1/0 0/0 0/0 .text * init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf */ @@ -2827,4 +2795,4 @@ static u8 data_80845E10[4]; static u8 data_80845E14[4]; #pragma pop -/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_kytag12.cpp b/src/d/actor/d_a_kytag12.cpp index da5e0f7ed2..dd198cd478 100644 --- a/src/d/actor/d_a_kytag12.cpp +++ b/src/d/actor/d_a_kytag12.cpp @@ -9,55 +9,6 @@ #include "d/d_com_inf_game.h" #include "d/d_kankyo_rain.h" #include "d/d_kankyo_wether.h" -#include "dol2asm.h" - - -// -// Forward References: -// - -extern "C" static void d_kytag12_cut_turn_check__Fv(); -extern "C" static void d_kytag12_cut_normal_check__Fv(); -extern "C" static bool daKytag12_Draw__FP13kytag12_class(); -extern "C" static void daKytag12_light_swprd_proc__FP13kytag12_class(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void daKytag12_Execute_standard__FP13kytag12_class(); -extern "C" static void daKytag12_Execute_arrival__FP13kytag12_class(); -extern "C" static void daKytag12_Execute_R00__FP13kytag12_class(); -extern "C" static void daKytag12_Execute__FP13kytag12_class(); -extern "C" static bool daKytag12_IsDelete__FP13kytag12_class(); -extern "C" static void daKytag12_Delete__FP13kytag12_class(); -extern "C" static void daKytag12_Create__FP10fopAc_ac_c(); -extern "C" void __ct__4cXyzFv(); -extern "C" extern char const* const d_a_kytag12__stringBase0; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void dKyw_plight_collision_set__FP4cXyzssfffff(); -extern "C" void dKyw_pntlight_collision_get_info__FP4cXyzP4cXyzPf(); -extern "C" void dKyr_evil_init__Fv(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_18(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_18(); -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// /* 8085BB38-8085BB80 000078 0048+00 2/2 0/0 0/0 .text d_kytag12_cut_turn_check__Fv */ static BOOL d_kytag12_cut_turn_check() { @@ -93,72 +44,6 @@ static int daKytag12_Draw(kytag12_class* param_0) { return 1; } -/* ############################################################################################## */ -/* 8085EF00-8085EF04 000000 0004+00 4/4 0/0 0/0 .rodata @3836 */ -SECTION_RODATA static f32 const lit_3836 = 100.0f; -COMPILER_STRIP_GATE(0x8085EF00, &lit_3836); - -/* 8085EF04-8085EF08 000004 0004+00 0/1 0/0 0/0 .rodata @3837 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3837 = 500.0f; -COMPILER_STRIP_GATE(0x8085EF04, &lit_3837); -#pragma pop - -/* 8085EF08-8085EF0C 000008 0004+00 0/1 0/0 0/0 .rodata @3838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3838 = 2000.0f; -COMPILER_STRIP_GATE(0x8085EF08, &lit_3838); -#pragma pop - -/* 8085EF0C-8085EF10 00000C 0004+00 0/3 0/0 0/0 .rodata @3839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3839 = 1.0f; -COMPILER_STRIP_GATE(0x8085EF0C, &lit_3839); -#pragma pop - -/* 8085EF10-8085EF14 000010 0004+00 0/4 0/0 0/0 .rodata @3840 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3840[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8085EF10, &lit_3840); -#pragma pop - -/* 8085EF14-8085EF18 000014 0004+00 0/1 0/0 0/0 .rodata @3841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_3841 = 0x3C75C28F; -COMPILER_STRIP_GATE(0x8085EF14, &lit_3841); -#pragma pop - -/* 8085EF18-8085EF1C 000018 0004+00 0/1 0/0 0/0 .rodata @3842 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3842 = 300.0f; -COMPILER_STRIP_GATE(0x8085EF18, &lit_3842); -#pragma pop - -/* 8085EF1C-8085EF20 00001C 0004+00 0/2 0/0 0/0 .rodata @3843 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3843 = 150.0f; -COMPILER_STRIP_GATE(0x8085EF1C, &lit_3843); -#pragma pop - -/* 8085EF20-8085EF24 000020 0004+00 0/1 0/0 0/0 .rodata @3844 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3844 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF20, &lit_3844); -#pragma pop - /* 8085BBC0-8085BCD0 000100 0110+00 3/3 0/0 0/0 .text * daKytag12_light_swprd_proc__FP13kytag12_class */ static void daKytag12_light_swprd_proc(kytag12_class* i_this) { @@ -188,412 +73,9 @@ static void daKytag12_light_swprd_proc(kytag12_class* i_this) { } } - -/* 8085BCD0-8085BD0C 000210 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8085EF24-8085EF28 000024 0004+00 0/0 0/0 0/0 .rodata @4471 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4471 = -5200.0f; -COMPILER_STRIP_GATE(0x8085EF24, &lit_4471); -#pragma pop - -/* 8085EF28-8085EF2C 000028 0004+00 0/0 0/0 0/0 .rodata @4472 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4472 = 30.0f; -COMPILER_STRIP_GATE(0x8085EF28, &lit_4472); -#pragma pop - -/* 8085EF2C-8085EF30 00002C 0004+00 0/0 0/0 0/0 .rodata @4473 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4473 = -700.0f; -COMPILER_STRIP_GATE(0x8085EF2C, &lit_4473); -#pragma pop - -/* 8085EF30-8085EF34 000030 0004+00 0/0 0/0 0/0 .rodata @4474 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4474 = 2100.0f; -COMPILER_STRIP_GATE(0x8085EF30, &lit_4474); -#pragma pop - -/* 8085EF34-8085EF38 000034 0004+00 0/0 0/0 0/0 .rodata @4475 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4475 = 5400.0f; -COMPILER_STRIP_GATE(0x8085EF34, &lit_4475); -#pragma pop - -/* 8085EF38-8085EF3C 000038 0004+00 0/1 0/0 0/0 .rodata @4476 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4476 = 200.0f; -COMPILER_STRIP_GATE(0x8085EF38, &lit_4476); -#pragma pop - -/* 8085EF3C-8085EF40 00003C 0004+00 0/2 0/0 0/0 .rodata @4477 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4477 = 50.0f; -COMPILER_STRIP_GATE(0x8085EF3C, &lit_4477); -#pragma pop - -/* 8085EF40-8085EF44 000040 0004+00 0/0 0/0 0/0 .rodata @4478 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4478 = -2700.0f; -COMPILER_STRIP_GATE(0x8085EF40, &lit_4478); -#pragma pop - -/* 8085EF44-8085EF48 000044 0004+00 0/1 0/0 0/0 .rodata @4479 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4479 = -1100.0f; -COMPILER_STRIP_GATE(0x8085EF44, &lit_4479); -#pragma pop - -/* 8085EF48-8085EF4C 000048 0004+00 0/1 0/0 0/0 .rodata @4480 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4480 = 3200.0f; -COMPILER_STRIP_GATE(0x8085EF48, &lit_4480); -#pragma pop - -/* 8085EF4C-8085EF50 00004C 0004+00 0/2 0/0 0/0 .rodata @4481 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4481 = 1000.0f; -COMPILER_STRIP_GATE(0x8085EF4C, &lit_4481); -#pragma pop - -/* 8085EF50-8085EF54 000050 0004+00 0/0 0/0 0/0 .rodata @4482 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4482 = -500.0f; -COMPILER_STRIP_GATE(0x8085EF50, &lit_4482); -#pragma pop - -/* 8085EF54-8085EF58 000054 0004+00 0/0 0/0 0/0 .rodata @4483 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4483 = 6700.0f; -COMPILER_STRIP_GATE(0x8085EF54, &lit_4483); -#pragma pop - -/* 8085EF58-8085EF5C 000058 0004+00 0/0 0/0 0/0 .rodata @4484 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4484 = -2828.0f; -COMPILER_STRIP_GATE(0x8085EF58, &lit_4484); -#pragma pop - -/* 8085EF5C-8085EF60 00005C 0004+00 0/2 0/0 0/0 .rodata @4485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4485 = 10.0f; -COMPILER_STRIP_GATE(0x8085EF5C, &lit_4485); -#pragma pop - -/* 8085EF60-8085EF64 000060 0004+00 0/0 0/0 0/0 .rodata @4486 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4486 = -23.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF60, &lit_4486); -#pragma pop - -/* 8085EF64-8085EF68 000064 0004+00 0/0 0/0 0/0 .rodata @4487 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4487 = -0.5f; -COMPILER_STRIP_GATE(0x8085EF64, &lit_4487); -#pragma pop - -/* 8085EF68-8085EF6C 000068 0004+00 0/0 0/0 0/0 .rodata @4488 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4488 = 90.0f; -COMPILER_STRIP_GATE(0x8085EF68, &lit_4488); -#pragma pop - -/* 8085EF6C-8085EF70 00006C 0004+00 0/0 0/0 0/0 .rodata @4489 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4489 = -7.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF6C, &lit_4489); -#pragma pop - -/* 8085EF70-8085EF74 000070 0004+00 0/0 0/0 0/0 .rodata @4490 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4490 = -2.0f; -COMPILER_STRIP_GATE(0x8085EF70, &lit_4490); -#pragma pop - -/* 8085EF74-8085EF78 000074 0004+00 0/2 0/0 0/0 .rodata @4491 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4491 = -1.0f; -COMPILER_STRIP_GATE(0x8085EF74, &lit_4491); -#pragma pop - -/* 8085EF78-8085EF80 000078 0004+04 0/0 0/0 0/0 .rodata @4492 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4492[1 + 1 /* padding */] = { - -11.0f / 10.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085EF78, &lit_4492); -#pragma pop - -/* 8085EF80-8085EF88 000080 0008+00 0/2 0/0 0/0 .rodata @4493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4493[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EF80, &lit_4493); -#pragma pop - -/* 8085EF88-8085EF8C 000088 0004+00 0/0 0/0 0/0 .rodata @4494 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4494 = 630.0f; -COMPILER_STRIP_GATE(0x8085EF88, &lit_4494); -#pragma pop - -/* 8085EF8C-8085EF90 00008C 0004+00 0/0 0/0 0/0 .rodata @4495 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4495 = 34.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085EF8C, &lit_4495); -#pragma pop - -/* 8085EF90-8085EF98 000090 0008+00 0/0 0/0 0/0 .rodata @4496 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4496[8] = { - 0x40, 0x81, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EF90, &lit_4496); -#pragma pop - -/* 8085EF98-8085EFA0 000098 0008+00 0/0 0/0 0/0 .rodata @4497 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4497[8] = { - 0x40, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x8085EF98, &lit_4497); -#pragma pop - -/* 8085EFA0-8085EFA4 0000A0 0004+00 0/0 0/0 0/0 .rodata @4498 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4498 = 13.0f; -COMPILER_STRIP_GATE(0x8085EFA0, &lit_4498); -#pragma pop - -/* 8085EFA4-8085EFA8 0000A4 0004+00 0/0 0/0 0/0 .rodata @4499 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4499 = 9.0f; -COMPILER_STRIP_GATE(0x8085EFA4, &lit_4499); -#pragma pop - -/* 8085EFA8-8085EFAC 0000A8 0004+00 0/2 0/0 0/0 .rodata @4500 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4500 = 9000.0f; -COMPILER_STRIP_GATE(0x8085EFA8, &lit_4500); -#pragma pop - -/* 8085EFAC-8085EFB0 0000AC 0004+00 0/2 0/0 0/0 .rodata @4501 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4501 = 85.0f; -COMPILER_STRIP_GATE(0x8085EFAC, &lit_4501); -#pragma pop - -/* 8085EFB0-8085EFB4 0000B0 0004+00 0/1 0/0 0/0 .rodata @4502 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4502 = 1.5f; -COMPILER_STRIP_GATE(0x8085EFB0, &lit_4502); -#pragma pop - -/* 8085EFB4-8085EFB8 0000B4 0004+00 0/1 0/0 0/0 .rodata @4503 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4503 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085EFB4, &lit_4503); -#pragma pop - -/* 8085EFB8-8085EFBC 0000B8 0004+00 0/2 0/0 0/0 .rodata @4504 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4504 = 0.5f; -COMPILER_STRIP_GATE(0x8085EFB8, &lit_4504); -#pragma pop - -/* 8085EFBC-8085EFC0 0000BC 0004+00 0/1 0/0 0/0 .rodata @4505 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4505 = 25.0f; -COMPILER_STRIP_GATE(0x8085EFBC, &lit_4505); -#pragma pop - -/* 8085EFC0-8085EFC4 0000C0 0004+00 0/2 0/0 0/0 .rodata @4506 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4506 = 4.0f; -COMPILER_STRIP_GATE(0x8085EFC0, &lit_4506); -#pragma pop - -/* 8085EFC4-8085EFC8 0000C4 0004+00 0/0 0/0 0/0 .rodata @4507 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4507 = -8.0f; -COMPILER_STRIP_GATE(0x8085EFC4, &lit_4507); -#pragma pop - -/* 8085EFC8-8085EFCC 0000C8 0004+00 0/0 0/0 0/0 .rodata @4508 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4508 = -1200.0f; -COMPILER_STRIP_GATE(0x8085EFC8, &lit_4508); -#pragma pop - -/* 8085EFCC-8085EFD0 0000CC 0004+00 0/1 0/0 0/0 .rodata @4509 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4509 = 900.0f; -COMPILER_STRIP_GATE(0x8085EFCC, &lit_4509); -#pragma pop - -/* 8085EFD0-8085EFD4 0000D0 0004+00 0/0 0/0 0/0 .rodata @4510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4510 = -780.0f; -COMPILER_STRIP_GATE(0x8085EFD0, &lit_4510); -#pragma pop - -/* 8085EFD4-8085EFD8 0000D4 0004+00 0/1 0/0 0/0 .rodata @4511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4511 = 1400.0f; -COMPILER_STRIP_GATE(0x8085EFD4, &lit_4511); -#pragma pop - -/* 8085EFD8-8085EFDC 0000D8 0004+00 0/0 0/0 0/0 .rodata @4512 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4512 = -10.0f; -COMPILER_STRIP_GATE(0x8085EFD8, &lit_4512); -#pragma pop - -/* 8085EFDC-8085EFE0 0000DC 0004+00 0/0 0/0 0/0 .rodata @4513 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4513 = -5.0f; -COMPILER_STRIP_GATE(0x8085EFDC, &lit_4513); -#pragma pop - -/* 8085EFE0-8085EFE8 0000E0 0004+04 0/0 0/0 0/0 .rodata @4514 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4514[1 + 1 /* padding */] = { - 6200.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085EFE0, &lit_4514); -#pragma pop - -/* 8085EFE8-8085EFF0 0000E8 0008+00 0/2 0/0 0/0 .rodata @4515 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4515[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EFE8, &lit_4515); -#pragma pop - -/* 8085EFF0-8085EFF8 0000F0 0008+00 0/2 0/0 0/0 .rodata @4516 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4516[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EFF0, &lit_4516); -#pragma pop - -/* 8085EFF8-8085EFFC 0000F8 0004+00 0/2 0/0 0/0 .rodata @4517 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4517 = 250.0f; -COMPILER_STRIP_GATE(0x8085EFF8, &lit_4517); -#pragma pop - -/* 8085EFFC-8085F000 0000FC 0004+00 0/1 0/0 0/0 .rodata @4518 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4518 = 190.0f; -COMPILER_STRIP_GATE(0x8085EFFC, &lit_4518); -#pragma pop - -/* 8085F000-8085F004 000100 0004+00 0/2 0/0 0/0 .rodata @4519 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4519 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085F000, &lit_4519); -#pragma pop - -/* 8085F004-8085F008 000104 0004+00 0/0 0/0 0/0 .rodata @4520 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4520 = 165.0f; -COMPILER_STRIP_GATE(0x8085F004, &lit_4520); -#pragma pop - -/* 8085F008-8085F00C 000108 0004+00 0/2 0/0 0/0 .rodata @4521 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4521 = 19.0f / 20.0f; -COMPILER_STRIP_GATE(0x8085F008, &lit_4521); -#pragma pop - -/* 8085F0EC-8085F0EC 0001EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8085F0EC = "D_MN08"; -#pragma pop - -/* 8085F0F4-8085F118 -00001 0024+00 1/1 0/0 0/0 .data @4529 */ -SECTION_DATA static void* lit_4529[9] = { - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x408), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x418), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x428), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x438), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x448), -}; - /* 8085BD0C-8085D1DC 00024C 14D0+00 2/1 0/0 0/0 .text * daKytag12_Execute_standard__FP13kytag12_class */ -// minor regalloc -#ifdef NONMATCHING +// NONMATCHING minor regalloc static int daKytag12_Execute_standard(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -694,7 +176,7 @@ static int daKytag12_Execute_standard(kytag12_class* i_this) { break; case 7: temp_f2 = -1.1f; - var_f28 = -0.0f; + var_f28 = 0.0f; var_f25 = 90.0f; break; case 8: @@ -979,160 +461,10 @@ static int daKytag12_Execute_standard(kytag12_class* i_this) { return 1; } -#else -static void daKytag12_Execute_standard(kytag12_class* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8085F00C-8085F010 00010C 0004+00 0/2 0/0 0/0 .rodata @4522 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4522 = 0.25f; -COMPILER_STRIP_GATE(0x8085F00C, &lit_4522); -#pragma pop - -/* 8085F010-8085F014 000110 0004+00 0/2 0/0 0/0 .rodata @4523 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4523 = 7.0f / 100.0f; -COMPILER_STRIP_GATE(0x8085F010, &lit_4523); -#pragma pop - -/* 8085F014-8085F018 000114 0004+00 0/2 0/0 0/0 .rodata @4524 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4524 = 0x38D1B717; -COMPILER_STRIP_GATE(0x8085F014, &lit_4524); -#pragma pop - -/* 8085F018-8085F01C 000118 0004+00 0/0 0/0 0/0 .rodata @4525 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4525 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x8085F018, &lit_4525); -#pragma pop - -/* 8085F01C-8085F020 00011C 0004+00 0/2 0/0 0/0 .rodata @4526 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4526 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085F01C, &lit_4526); -#pragma pop - -/* 8085F020-8085F024 000120 0004+00 0/1 0/0 0/0 .rodata @4527 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4527 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x8085F020, &lit_4527); -#pragma pop - -/* 8085F024-8085F028 000124 0004+00 0/1 0/0 0/0 .rodata @4528 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4528 = 0x3A83126F; -COMPILER_STRIP_GATE(0x8085F024, &lit_4528); -#pragma pop - -/* 8085F028-8085F030 000128 0008+00 0/2 0/0 0/0 .rodata @4531 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4531[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085F028, &lit_4531); -#pragma pop - -/* 8085F030-8085F038 000130 0008+00 0/2 0/0 0/0 .rodata @4533 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4533[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085F030, &lit_4533); -#pragma pop - -/* 8085F038-8085F040 000138 0004+04 0/2 0/0 0/0 .rodata @4961 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4961[1 + 1 /* padding */] = { - 24.0f / 5.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085F038, &lit_4961); -#pragma pop - -/* 8085F040-8085F048 000140 0008+00 0/2 0/0 0/0 .rodata @4962 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4962[8] = { - 0x40, 0x0E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, -}; -COMPILER_STRIP_GATE(0x8085F040, &lit_4962); -#pragma pop - -/* 8085F048-8085F04C 000148 0004+00 0/1 0/0 0/0 .rodata @4963 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4963 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085F048, &lit_4963); -#pragma pop - -/* 8085F04C-8085F050 00014C 0004+00 0/1 0/0 0/0 .rodata @4964 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4964 = 65536.0f; -COMPILER_STRIP_GATE(0x8085F04C, &lit_4964); -#pragma pop - -/* 8085F050-8085F054 000150 0004+00 0/1 0/0 0/0 .rodata @4965 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4965 = 35.0f; -COMPILER_STRIP_GATE(0x8085F050, &lit_4965); -#pragma pop - -/* 8085F054-8085F058 000154 0004+00 0/2 0/0 0/0 .rodata @4966 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4966 = 20.0f; -COMPILER_STRIP_GATE(0x8085F054, &lit_4966); -#pragma pop - -/* 8085F058-8085F05C 000158 0004+00 0/1 0/0 0/0 .rodata @4967 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4967 = 32.0f; -COMPILER_STRIP_GATE(0x8085F058, &lit_4967); -#pragma pop - -/* 8085F05C-8085F060 00015C 0004+00 0/1 0/0 0/0 .rodata @4968 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4968 = -4.0f; -COMPILER_STRIP_GATE(0x8085F05C, &lit_4968); -#pragma pop - -/* 8085F060-8085F064 000160 0004+00 0/2 0/0 0/0 .rodata @4969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4969 = -680.0f; -COMPILER_STRIP_GATE(0x8085F060, &lit_4969); -#pragma pop - -/* 8085F064-8085F068 000164 0004+00 0/2 0/0 0/0 .rodata @4970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4970 = 40.0f; -COMPILER_STRIP_GATE(0x8085F064, &lit_4970); -#pragma pop /* 8085D1DC-8085DFF0 00171C 0E14+00 1/1 0/0 0/0 .text daKytag12_Execute_arrival__FP13kytag12_class */ -// minor regalloc -#ifdef NONMATCHING +// NONMATCHING minor regalloc static int daKytag12_Execute_arrival(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -1365,246 +697,9 @@ static int daKytag12_Execute_arrival(kytag12_class* i_this) { } f32 temp = ((f32)var_r19 / (f32)g_env_light.field_0x1054); - mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FALL_S, &i_this->current.pos, temp * 100.0f, 0); + mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FOG_STAY, &i_this->current.pos, temp * 100.0f, 0); return 1; } -#else -static void daKytag12_Execute_arrival(kytag12_class* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8085F068-8085F06C 000168 0004+00 0/1 0/0 0/0 .rodata @5266 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5266 = 550.0f; -COMPILER_STRIP_GATE(0x8085F068, &lit_5266); -#pragma pop - -/* 8085F06C-8085F070 00016C 0004+00 0/1 0/0 0/0 .rodata @5267 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5267 = -3000.0f; -COMPILER_STRIP_GATE(0x8085F06C, &lit_5267); -#pragma pop - -/* 8085F070-8085F074 000170 0004+00 0/1 0/0 0/0 .rodata @5268 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5268 = 5900.0f; -COMPILER_STRIP_GATE(0x8085F070, &lit_5268); -#pragma pop - -/* 8085F074-8085F078 000174 0004+00 0/1 0/0 0/0 .rodata @5269 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5269 = 80.0f; -COMPILER_STRIP_GATE(0x8085F074, &lit_5269); -#pragma pop - -/* 8085F078-8085F07C 000178 0004+00 0/1 0/0 0/0 .rodata @5270 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5270 = 244.0f; -COMPILER_STRIP_GATE(0x8085F078, &lit_5270); -#pragma pop - -/* 8085F07C-8085F080 00017C 0004+00 0/1 0/0 0/0 .rodata @5271 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5271 = 2951.0f; -COMPILER_STRIP_GATE(0x8085F07C, &lit_5271); -#pragma pop - -/* 8085F080-8085F084 000180 0004+00 0/1 0/0 0/0 .rodata @5272 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5272 = 4100.0f; -COMPILER_STRIP_GATE(0x8085F080, &lit_5272); -#pragma pop - -/* 8085F084-8085F088 000184 0004+00 0/1 0/0 0/0 .rodata @5273 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5273 = 2206.0f; -COMPILER_STRIP_GATE(0x8085F084, &lit_5273); -#pragma pop - -/* 8085F088-8085F08C 000188 0004+00 0/1 0/0 0/0 .rodata @5274 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5274 = -3200.0f; -COMPILER_STRIP_GATE(0x8085F088, &lit_5274); -#pragma pop - -/* 8085F08C-8085F090 00018C 0004+00 0/1 0/0 0/0 .rodata @5275 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5275 = 6800.0f; -COMPILER_STRIP_GATE(0x8085F08C, &lit_5275); -#pragma pop - -/* 8085F090-8085F094 000190 0004+00 0/1 0/0 0/0 .rodata @5276 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5276 = 5350.0f; -COMPILER_STRIP_GATE(0x8085F090, &lit_5276); -#pragma pop - -/* 8085F094-8085F098 000194 0004+00 0/1 0/0 0/0 .rodata @5277 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5277 = 480.0f; -COMPILER_STRIP_GATE(0x8085F094, &lit_5277); -#pragma pop - -/* 8085F098-8085F09C 000198 0004+00 0/1 0/0 0/0 .rodata @5278 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5278 = -200.0f; -COMPILER_STRIP_GATE(0x8085F098, &lit_5278); -#pragma pop - -/* 8085F09C-8085F0A0 00019C 0004+00 0/1 0/0 0/0 .rodata @5279 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5279 = 5300.0f; -COMPILER_STRIP_GATE(0x8085F09C, &lit_5279); -#pragma pop - -/* 8085F0A0-8085F0A4 0001A0 0004+00 0/1 0/0 0/0 .rodata @5280 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5280 = 510.0f; -COMPILER_STRIP_GATE(0x8085F0A0, &lit_5280); -#pragma pop - -/* 8085F0A4-8085F0A8 0001A4 0004+00 0/1 0/0 0/0 .rodata @5281 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5281 = 3400.0f; -COMPILER_STRIP_GATE(0x8085F0A4, &lit_5281); -#pragma pop - -/* 8085F0A8-8085F0AC 0001A8 0004+00 0/1 0/0 0/0 .rodata @5282 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5282 = 650.0f; -COMPILER_STRIP_GATE(0x8085F0A8, &lit_5282); -#pragma pop - -/* 8085F0AC-8085F0B0 0001AC 0004+00 0/1 0/0 0/0 .rodata @5283 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5283 = 3000.0f; -COMPILER_STRIP_GATE(0x8085F0AC, &lit_5283); -#pragma pop - -/* 8085F0B0-8085F0B4 0001B0 0004+00 0/1 0/0 0/0 .rodata @5284 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5284 = 15.0f; -COMPILER_STRIP_GATE(0x8085F0B0, &lit_5284); -#pragma pop - -/* 8085F0B4-8085F0B8 0001B4 0004+00 0/1 0/0 0/0 .rodata @5285 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5285 = 2900.0f; -COMPILER_STRIP_GATE(0x8085F0B4, &lit_5285); -#pragma pop - -/* 8085F0B8-8085F0BC 0001B8 0004+00 0/1 0/0 0/0 .rodata @5286 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5286 = 7000.0f; -COMPILER_STRIP_GATE(0x8085F0B8, &lit_5286); -#pragma pop - -/* 8085F0BC-8085F0C0 0001BC 0004+00 0/1 0/0 0/0 .rodata @5287 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5287 = -3800.0f; -COMPILER_STRIP_GATE(0x8085F0BC, &lit_5287); -#pragma pop - -/* 8085F0C0-8085F0C4 0001C0 0004+00 0/1 0/0 0/0 .rodata @5288 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5288 = 2800.0f; -COMPILER_STRIP_GATE(0x8085F0C0, &lit_5288); -#pragma pop - -/* 8085F0C4-8085F0C8 0001C4 0004+00 0/1 0/0 0/0 .rodata @5289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5289 = -2250.0f; -COMPILER_STRIP_GATE(0x8085F0C4, &lit_5289); -#pragma pop - -/* 8085F0C8-8085F0CC 0001C8 0004+00 0/1 0/0 0/0 .rodata @5290 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5290 = -20.0f; -COMPILER_STRIP_GATE(0x8085F0C8, &lit_5290); -#pragma pop - -/* 8085F0CC-8085F0D0 0001CC 0004+00 0/1 0/0 0/0 .rodata @5291 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5291 = -1160.0f; -COMPILER_STRIP_GATE(0x8085F0CC, &lit_5291); -#pragma pop - -/* 8085F0D0-8085F0D4 0001D0 0004+00 0/1 0/0 0/0 .rodata @5292 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5292 = -380.0f; -COMPILER_STRIP_GATE(0x8085F0D0, &lit_5292); -#pragma pop - -/* 8085F0D4-8085F0D8 0001D4 0004+00 0/1 0/0 0/0 .rodata @5293 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5293 = 2700.0f; -COMPILER_STRIP_GATE(0x8085F0D4, &lit_5293); -#pragma pop - -/* 8085F0D8-8085F0DC 0001D8 0004+00 0/1 0/0 0/0 .rodata @5294 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5294 = -800.0f; -COMPILER_STRIP_GATE(0x8085F0D8, &lit_5294); -#pragma pop - -/* 8085F0DC-8085F0E0 0001DC 0004+00 0/1 0/0 0/0 .rodata @5295 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5295 = -1060.0f; -COMPILER_STRIP_GATE(0x8085F0DC, &lit_5295); -#pragma pop - -/* 8085F0E0-8085F0E4 0001E0 0004+00 0/1 0/0 0/0 .rodata @5296 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5296 = 2600.0f; -COMPILER_STRIP_GATE(0x8085F0E0, &lit_5296); -#pragma pop - -/* 8085F0E4-8085F0E8 0001E4 0004+00 0/1 0/0 0/0 .rodata @5297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5297 = 2650.0f; -COMPILER_STRIP_GATE(0x8085F0E4, &lit_5297); -#pragma pop - -/* 8085F0E8-8085F0EC 0001E8 0004+00 0/1 0/0 0/0 .rodata @5298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5298 = 600.0f; -COMPILER_STRIP_GATE(0x8085F0E8, &lit_5298); -#pragma pop /* 8085DFF0-8085ED48 002530 0D58+00 1/1 0/0 0/0 .text daKytag12_Execute_R00__FP13kytag12_class */ static int daKytag12_Execute_R00(kytag12_class* i_this) { @@ -1646,25 +741,25 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { effect_p->field_0x24 = 1.0f; effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; } else if (i >= 1000 && i < 1500) { - effect_p->mBasePos.y = cM_rndFX(6800.0f) + -3200.0f; - effect_p->mBasePos.z = cM_rndF(480.0f) + 5350.0f; + effect_p->mBasePos.y = cM_rndF(6800.0f) + -3200.0f; + effect_p->mBasePos.z = cM_rndFX(480.0f) + 5350.0f; f32 temp_f2 = (effect_p->mBasePos.y / 1000.0f); temp_f2 = temp_f2; // fake match? idk how else to fix instruction order effect_p->mBasePos.x = temp_f2 * -200.0f + -3000.0f; effect_p->field_0x24 = 1.0f; - effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; + effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 150.0f; } else if (i >= 1500 && i < 2000) { - effect_p->mBasePos.y = cM_rndFX(6800.0f) + -3200.0f; - effect_p->mBasePos.z = cM_rndF(510.0f) + 5300.0f; + effect_p->mBasePos.y = cM_rndF(6800.0f) + -3200.0f; + effect_p->mBasePos.z = cM_rndFX(510.0f) + 5300.0f; f32 temp_f2 = (effect_p->mBasePos.y / 1000.0f); temp_f2 = temp_f2; // fake match? idk how else to fix instruction order - effect_p->mBasePos.x = temp_f2 * -200.0f + -3400.0f; + effect_p->mBasePos.x = temp_f2 * -200.0f + 3400.0f; effect_p->field_0x24 = 1.0f; - effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; + effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 150.0f; } else { effect_p->mBasePos.x = cM_rndFX(650.0f); effect_p->mBasePos.y = cM_rndF(3000.0f); @@ -1790,7 +885,7 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { } if (i_this->field_0x575 == 1) { - mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FALL_S, &sp80, 0, 0); + mDoAud_seStart(Z2SE_OBJ_L8_B_FOG_FLY, &sp80, 0, 0); i_this->field_0x575 = 2; effect_p->mStatus = 2; effect_p->field_0x40 = 360; @@ -1877,7 +972,6 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { return 1; } - /* 8085ED48-8085EE28 003288 00E0+00 1/0 0/0 0/0 .text daKytag12_Execute__FP13kytag12_class */ static int daKytag12_Execute(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; @@ -1943,21 +1037,13 @@ static int daKytag12_Create(fopAc_ac_c* i_this) { return cPhs_COMPLEATE_e; } - -/* 8085EEF4-8085EEF8 003434 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* ############################################################################################## */ /* 8085F118-8085F138 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag12_Method */ static actor_method_class l_daKytag12_Method = { - (process_method_func)daKytag12_Create__FP10fopAc_ac_c, - (process_method_func)daKytag12_Delete__FP13kytag12_class, - (process_method_func)daKytag12_Execute__FP13kytag12_class, - (process_method_func)daKytag12_IsDelete__FP13kytag12_class, - (process_method_func)daKytag12_Draw__FP13kytag12_class, + (process_method_func)daKytag12_Create, + (process_method_func)daKytag12_Delete, + (process_method_func)daKytag12_Execute, + (process_method_func)daKytag12_IsDelete, + (process_method_func)daKytag12_Draw, }; /* 8085F138-8085F168 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG12 */ @@ -1976,4 +1062,4 @@ extern actor_process_profile_definition g_profile_KYTAG12 = { 0x00044000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_0_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index f5872aa93e..d01f64e9e7 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -583,7 +583,6 @@ void daMyna_c::attack_fly_init() { } /* 80946BF4-80946D20 001074 012C+00 1/0 0/0 0/0 .text attack_fly_move__8daMyna_cFv */ -// NONMATCHING regswap void daMyna_c::attack_fly_move() { if (daMyna_evtTagActor0 != NULL) { cXyz var1(1.0f, 1.0f, 1.0f); @@ -727,7 +726,6 @@ void daMyna_c::shopping_wait_init() { } /* 809471E8-809475B4 001668 03CC+00 1/0 0/0 0/0 .text shopping_wait_move__8daMyna_cFv */ -// NONMATCHING regswap void daMyna_c::shopping_wait_move() { if (!daPy_py_c::i_checkNowWolf()) { if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[802])) { diff --git a/src/d/actor/d_a_nbomb.cpp b/src/d/actor/d_a_nbomb.cpp index ff0fb54b3c..d10afa5648 100644 --- a/src/d/actor/d_a_nbomb.cpp +++ b/src/d/actor/d_a_nbomb.cpp @@ -6,246 +6,13 @@ #include "d/actor/d_a_nbomb.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "dol2asm.h" #include "f_op/f_op_kankyo_mng.h" #include "d/actor/d_a_mirror.h" -// -// Forward References: -// - -extern "C" void coHitCallback__9daNbomb_cFP10fopAc_ac_c(); -extern "C" static void -daNbomb_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void tgHitCallback__9daNbomb_cFP12dCcD_GObjInf(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void -daNbomb_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void searchEnemy__9daNbomb_cFP10fopAc_ac_c(); -extern "C" static void daNbomb_searchEnemy__FP10fopAc_ac_cPv(); -extern "C" void createHeap__9daNbomb_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void daNbomb_createHeap__FP10fopAc_ac_c(); -extern "C" void create__9daNbomb_cFv(); -extern "C" void __ct__9daNbomb_cFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__13dBgS_BombAcchFv(); -extern "C" static void daNbomb_Create__FP10fopAc_ac_c(); -extern "C" void __dt__9daNbomb_cFv(); -extern "C" static void daNbomb_Delete__FP9daNbomb_c(); -extern "C" void checkTimerStop__9daNbomb_cFv(); -extern "C" void checkExplode__9daNbomb_cFv(); -extern "C" void setRoomInfo__9daNbomb_cFv(); -extern "C" void setSmokePos__9daNbomb_cFv(); -extern "C" void setEffect__9daNbomb_cFv(); -extern "C" void setHookshotOffset__9daNbomb_cFv(); -extern "C" void setFreeze__9daNbomb_cFv(); -extern "C" void checkWaterIn__9daNbomb_cFv(); -extern "C" void insectLineCheck__9daNbomb_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void setHitPolygon__9daNbomb_cFi(); -extern "C" void procExplodeInit__9daNbomb_cFv(); -extern "C" void procExplode__9daNbomb_cFv(); -extern "C" void procCarryInit__9daNbomb_cFv(); -extern "C" void procCarry__9daNbomb_cFv(); -extern "C" void procWaitInit__9daNbomb_cFv(); -extern "C" void procWait__9daNbomb_cFv(); -extern "C" void procFlowerWaitInit__9daNbomb_cFv(); -extern "C" void procFlowerWait__9daNbomb_cFv(); -extern "C" void procBoomerangMoveInit__9daNbomb_cFP12dCcD_GObjInf(); -extern "C" void procBoomerangMove__9daNbomb_cFv(); -extern "C" void procInsectMoveInit__9daNbomb_cFv(); -extern "C" void procInsectMove__9daNbomb_cFv(); -extern "C" void execute__9daNbomb_cFv(); -extern "C" static void daNbomb_Execute__FP9daNbomb_c(); -extern "C" void draw__9daNbomb_cFv(); -extern "C" static void daNbomb_Draw__FP9daNbomb_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __sinit_d_a_nbomb_cpp(); -extern "C" static void func_804CC2B0(); -extern "C" static void func_804CC2B8(); -extern "C" void checkExplodeNow__9daNbomb_cFv(); -extern "C" void deleteBombAndEffect__9daNbomb_cFv(); -extern "C" void setCargoBombExplode__9daNbomb_cFv(); -extern "C" bool checkExplodeNow__7dBomb_cFv(); -extern "C" void deleteBombAndEffect__7dBomb_cFv(); -extern "C" void setCargoBombExplode__7dBomb_cFv(); -extern "C" extern char const* const d_a_nbomb__stringBase0; -extern "C" void* m_arcNameList__9daNbomb_c[6]; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelEntryDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii(); -extern "C" void fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void entry__10daMirror_cFP8J3DModel(); -extern "C" void checkStateCarry__7dBomb_cFv(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void dKyw_pntwind_set__FP14WIND_INFLUENCE(); -extern "C" void dKyw_pntwind_cut__FP14WIND_INFLUENCE(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetGroundCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__15dBgS_BombLinChkFv(); -extern "C" void __dt__15dBgS_BombLinChkFv(); -extern "C" void SetBomb__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc(); -extern "C" void getAlinkArcName__9daAlink_cFv(); -extern "C" void getFreezeR__9daAlink_cCFv(); -extern "C" void getFreezeG__9daAlink_cCFv(); -extern "C" void getFreezeB__9daAlink_cCFv(); -extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void getBombExplodeTime__9daAlink_cCFv(); -extern "C" void getBombGravity__9daAlink_cCFv(); -extern "C" void getBombMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombBoundRate__9daAlink_cCFv(); -extern "C" void getBombStopSpeedY__9daAlink_cCFv(); -extern "C" void getBombMaxSpeedY__9daAlink_cCFv(); -extern "C" void getBombEffScale__9daAlink_cCFv(); -extern "C" void getBombAtR__9daAlink_cCFv(); -extern "C" void getEnemyBombColorR__9daAlink_cCFv(); -extern "C" void getBombWaterGravity__9daAlink_cCFv(); -extern "C" void getBombWaterMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombExplodeWaterEffectLimit__9daAlink_cCFv(); -extern "C" void getBombInsectLimitAngle__9daAlink_cCFv(); -extern "C" void checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c(); -extern "C" void initOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs(); -extern "C" void bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_actor_addcol_amb_set__Fsssf(); -extern "C" void dKy_bg_addcol_amb_set__Fsssf(); -extern "C" void dKy_actor_addcol_set__Fsssf(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void outprod__4cXyzCFRC3Vec(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_atan2f__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__13cBgS_PolyInfoFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void func_802807E0(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__16Z2SoundObjSimple[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 BaseX__4cXyz[12]; -extern "C" u8 BaseY__4cXyz[12]; -extern "C" u8 BaseZ__4cXyz[12]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - /* 804C6DCC-804C6E10 0000EC 0044+00 1/1 0/0 0/0 .text coHitCallback__9daNbomb_cFP10fopAc_ac_c */ void daNbomb_c::coHitCallback(fopAc_ac_c* i_hitActor) { if (fopAcM_GetGroup(i_hitActor) == fopAc_ENEMY_e || @@ -263,53 +30,22 @@ static void daNbomb_coHitCallback(fopAc_ac_c* i_coActorA, dCcD_GObjInf* i_coObjI ((daNbomb_c*)i_coActorA)->coHitCallback(i_coActorB); } -/* ############################################################################################## */ /* 804CC340-804CC34C 000000 000C+00 12/12 0/0 0/0 .rodata @3767 */ -SECTION_RODATA static u8 const lit_3767[12] = { +static u8 const lit_3767[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x804CC340, &lit_3767); /* 804CC34C-804CC358 00000C 000C+00 0/1 0/0 0/0 .rodata l_localCenterOffset */ -#pragma push -#pragma force_active on -SECTION_RODATA static Vec const l_localCenterOffset = {0.0f, 30.0f, 0.0f}; -COMPILER_STRIP_GATE(0x804CC34C, &l_localCenterOffset); -#pragma pop +static Vec const l_localCenterOffset = {0.0f, 30.0f, 0.0f}; /* 804CC358-804CC360 000018 0006+02 1/0 0/0 0/0 .rodata l_arcNameBombF */ SECTION_RODATA static char const l_arcNameBombF[] = "Bombf"; -COMPILER_STRIP_GATE(0x804CC358, &l_arcNameBombF); /* 804CC360-804CC368 000020 0005+03 1/1 0/0 0/0 .rodata l_arcNameBombE */ SECTION_RODATA static char const l_arcNameBombE[] = "E_BI"; -COMPILER_STRIP_GATE(0x804CC360, &l_arcNameBombE); /* 804CC368-804CC370 000028 0005+03 1/1 0/0 0/0 .rodata l_arcNameBombEW */ SECTION_RODATA static char const l_arcNameBombEW[] = "E_BG"; -COMPILER_STRIP_GATE(0x804CC368, &l_arcNameBombEW); - -/* 804CC370-804CC374 000030 0004+00 0/2 0/0 0/0 .rodata @4213 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4213 = 2.0f; -COMPILER_STRIP_GATE(0x804CC370, &lit_4213); -#pragma pop - -/* 804CC374-804CC378 000034 0004+00 1/6 0/0 0/0 .rodata @4214 */ -SECTION_RODATA static f32 const lit_4214 = 0.5f; -COMPILER_STRIP_GATE(0x804CC374, &lit_4214); - -/* 804CC378-804CC37C 000038 0004+00 0/3 0/0 0/0 .rodata @4215 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4215 = 10.0f; -COMPILER_STRIP_GATE(0x804CC378, &lit_4215); -#pragma pop - -/* 804CC37C-804CC380 00003C 0004+00 3/13 0/0 0/0 .rodata @4216 */ -SECTION_RODATA static f32 const lit_4216 = 1.0f; -COMPILER_STRIP_GATE(0x804CC37C, &lit_4216); /* 804C6E34-804C6F78 000154 0144+00 1/1 0/0 0/0 .text tgHitCallback__9daNbomb_cFP12dCcD_GObjInf */ void daNbomb_c::tgHitCallback(dCcD_GObjInf* i_hitObj) { @@ -343,13 +79,6 @@ void daNbomb_c::tgHitCallback(dCcD_GObjInf* i_hitObj) { } } - -/* 804C6F78-804C6FB4 000298 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - /* 804C6FB4-804C6FD8 0002D4 0024+00 1/1 0/0 0/0 .text * daNbomb_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ static void daNbomb_tgHitCallback(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf, @@ -357,30 +86,6 @@ static void daNbomb_tgHitCallback(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjIn ((daNbomb_c*)i_tgActor)->tgHitCallback(i_atObjInf); } -/* ############################################################################################## */ -/* 804CC380-804CC384 000040 0004+00 5/14 0/0 0/0 .rodata @4255 */ -SECTION_RODATA static u8 const lit_4255[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC380, &lit_4255); - -/* 804CC384-804CC388 000044 0004+00 0/1 0/0 0/0 .rodata @4256 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4256 = 250000.0f; -COMPILER_STRIP_GATE(0x804CC384, &lit_4256); -#pragma pop - -/* 804CC388-804CC38C 000048 0004+00 0/4 0/0 0/0 .rodata @4257 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4257 = 100.0f; -COMPILER_STRIP_GATE(0x804CC388, &lit_4257); -#pragma pop - /* 804C6FD8-804C70C0 0002F8 00E8+00 1/1 0/0 0/0 .text searchEnemy__9daNbomb_cFP10fopAc_ac_c */ int daNbomb_c::searchEnemy(fopAc_ac_c* i_enemy) { mDoMtx_multVec(field_0xa70, &i_enemy->current.pos, &field_0xc14); @@ -399,7 +104,6 @@ int daNbomb_c::searchEnemy(fopAc_ac_c* i_enemy) { return 0; } - /* 804C70C0-804C7114 0003E0 0054+00 1/1 0/0 0/0 .text daNbomb_searchEnemy__FP10fopAc_ac_cPv */ static void* daNbomb_searchEnemy(fopAc_ac_c* i_actor, void* i_data) { if (fopAcM_GetGroup(i_actor) == fopAc_ENEMY_e && @@ -411,16 +115,6 @@ static void* daNbomb_searchEnemy(fopAc_ac_c* i_actor, void* i_data) { return NULL; } -/* ############################################################################################## */ -/* 804CC38C-804CC398 00004C 000C+00 0/1 0/0 0/0 .rodata bmdIdx$4269 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u16 const bmdIdx[6] = { - 0x001E, 0x0027, 0x0026, 0x0003, 0x000E, 0x000A, -}; -COMPILER_STRIP_GATE(0x804CC38C, &bmdIdx); -#pragma pop - /* 804CC4D8-804CC518 000000 0040+00 1/1 0/0 0/0 .data l_sphSrc */ static dCcD_SrcSph l_sphSrc = { { @@ -435,181 +129,9 @@ static dCcD_SrcSph l_sphSrc = { }; /* 804CC518-804CC530 -00001 0018+00 4/4 0/0 0/0 .data m_arcNameList__9daNbomb_c */ -SECTION_DATA const char* daNbomb_c::m_arcNameList[6] = { - NULL, NULL, NULL, l_arcNameBombF, l_arcNameBombE, l_arcNameBombEW, -}; - -/* 804CC530-804CC53C 000058 000A+02 1/1 0/0 0/0 .data enemyBombID$5072 */ -SECTION_DATA static u8 enemyBombID[10 + 2 /* padding */] = { - 0x0A, - 0x0D, - 0x0A, - 0x0E, - 0x0A, - 0x0F, - 0x0A, - 0x10, - 0x0A, - 0x11, - /* padding */ - 0x00, - 0x00, -}; - -/* 804CC53C-804CC548 -00001 000C+00 1/1 0/0 0/0 .data @5313 */ -SECTION_DATA static void* lit_5313[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procExplode__9daNbomb_cFv, -}; - -/* 804CC548-804CC554 -00001 000C+00 1/1 0/0 0/0 .data @5462 */ -SECTION_DATA static void* lit_5462[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procCarry__9daNbomb_cFv, -}; - -/* 804CC554-804CC560 -00001 000C+00 1/1 0/0 0/0 .data @5630 */ -SECTION_DATA static void* lit_5630[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procWait__9daNbomb_cFv, -}; - -/* 804CC560-804CC56C -00001 000C+00 1/1 0/0 0/0 .data @5886 */ -SECTION_DATA static void* lit_5886[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procFlowerWait__9daNbomb_cFv, -}; - -/* 804CC56C-804CC578 -00001 000C+00 1/1 0/0 0/0 .data @5921 */ -SECTION_DATA static void* lit_5921[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBoomerangMove__9daNbomb_cFv, -}; - -/* 804CC578-804CC584 -00001 000C+00 1/1 0/0 0/0 .data @5924 */ -SECTION_DATA static void* lit_5924[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBoomerangMove__9daNbomb_cFv, -}; - -/* 804CC584-804CC590 -00001 000C+00 1/1 0/0 0/0 .data @5987 */ -SECTION_DATA static void* lit_5987[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procInsectMove__9daNbomb_cFv, -}; - -/* 804CC590-804CC5B0 -00001 0020+00 1/0 0/0 0/0 .data l_daNbombMethod */ -static actor_method_class l_daNbombMethod = { - (process_method_func)daNbomb_Create__FP10fopAc_ac_c, - (process_method_func)daNbomb_Delete__FP9daNbomb_c, - (process_method_func)daNbomb_Execute__FP9daNbomb_c, - 0, - (process_method_func)daNbomb_Draw__FP9daNbomb_c, -}; - -/* 804CC5B0-804CC5E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NBOMB */ -extern actor_process_profile_definition g_profile_NBOMB = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_NBOMB, // mProcName - &g_fpcLf_Method.mBase, // sub_method - 0x00000C44, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 270, // mPriority - &l_daNbombMethod, // sub_method - 0x00040100, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 804CC5E0-804CC5EC 000108 000C+00 5/5 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - -/* 804CC5EC-804CC5F8 000114 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 804CC5F8-804CC604 000120 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 804CC604-804CC610 00012C 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 804CC610-804CC61C 000138 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 804CC61C-804CC628 000144 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 804CC628-804CC64C 000150 0024+00 3/3 0/0 0/0 .data __vt__13dBgS_BombAcch */ -SECTION_DATA extern void* __vt__13dBgS_BombAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13dBgS_BombAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_804CC2B8, - (void*)NULL, - (void*)NULL, - (void*)func_804CC2B0, -}; - -/* 804CC64C-804CC660 000174 0014+00 2/2 0/0 0/0 .data __vt__9daNbomb_c */ -SECTION_DATA extern void* __vt__9daNbomb_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)checkExplodeNow__9daNbomb_cFv, - (void*)deleteBombAndEffect__9daNbomb_cFv, - (void*)setCargoBombExplode__9daNbomb_cFv, -}; - -/* 804CC660-804CC674 000188 0014+00 2/2 0/0 0/0 .data __vt__7dBomb_c */ -SECTION_DATA extern void* __vt__7dBomb_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)checkExplodeNow__7dBomb_cFv, - (void*)deleteBombAndEffect__7dBomb_cFv, - (void*)setCargoBombExplode__7dBomb_cFv, -}; - -/* 804CC674-804CC680 00019C 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, +const char* daNbomb_c::m_arcNameList[6] = { + daAlink_c::getAlinkArcName(), daAlink_c::getAlinkArcName(), daAlink_c::getAlinkArcName(), + l_arcNameBombF, l_arcNameBombE, l_arcNameBombEW, }; /* 804C7114-804C72BC 000434 01A8+00 1/1 0/0 0/0 .text createHeap__9daNbomb_cFv */ @@ -651,109 +173,12 @@ int daNbomb_c::createHeap() { return 1; } - -/* 804C72BC-804C7304 0005DC 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - /* 804C7304-804C7324 000624 0020+00 1/1 0/0 0/0 .text daNbomb_createHeap__FP10fopAc_ac_c */ static int daNbomb_createHeap(fopAc_ac_c* i_this) { return ((daNbomb_c*)i_this)->createHeap(); } -/* ############################################################################################## */ -/* 804CC398-804CC3B0 000058 0018+00 0/1 0/0 0/0 .rodata heapSize$4323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[24] = { - 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x17, 0xC0, - 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0F, 0x90, -}; -COMPILER_STRIP_GATE(0x804CC398, &heapSize); -#pragma pop - -/* 804CC3B0-804CC3B4 000070 0004+00 2/6 0/0 0/0 .rodata @4678 */ -SECTION_RODATA static f32 const lit_4678 = 30.0f; -COMPILER_STRIP_GATE(0x804CC3B0, &lit_4678); - -/* 804CC3B4-804CC3B8 000074 0004+00 0/1 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 60.0f; -COMPILER_STRIP_GATE(0x804CC3B4, &lit_4679); -#pragma pop - -/* 804CC3B8-804CC3BC 000078 0004+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 10000.0f; -COMPILER_STRIP_GATE(0x804CC3B8, &lit_4680); -#pragma pop - -/* 804CC3BC-804CC3C0 00007C 0004+00 0/1 0/0 0/0 .rodata @4681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4681 = 110.0f; -COMPILER_STRIP_GATE(0x804CC3BC, &lit_4681); -#pragma pop - -/* 804CC3C0-804CC3C4 000080 0004+00 0/2 0/0 0/0 .rodata @4682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4682 = 0.75f; -COMPILER_STRIP_GATE(0x804CC3C0, &lit_4682); -#pragma pop - -/* 804CC3C4-804CC3C8 000084 0004+00 0/1 0/0 0/0 .rodata @4683 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4683 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC3C4, &lit_4683); -#pragma pop - -/* 804CC3C8-804CC3CC 000088 0004+00 0/4 0/0 0/0 .rodata @4684 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4684 = 5.0f; -COMPILER_STRIP_GATE(0x804CC3C8, &lit_4684); -#pragma pop - -/* 804CC3CC-804CC3D0 00008C 0004+00 0/1 0/0 0/0 .rodata @4685 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4685 = -36.0f; -COMPILER_STRIP_GATE(0x804CC3CC, &lit_4685); -#pragma pop - -/* 804CC3D0-804CC3D4 000090 0004+00 0/1 0/0 0/0 .rodata @4686 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4686 = 36.0f; -COMPILER_STRIP_GATE(0x804CC3D0, &lit_4686); -#pragma pop - -/* 804CC3D4-804CC3D8 000094 0004+00 0/1 0/0 0/0 .rodata @4687 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4687 = 66.0f; -COMPILER_STRIP_GATE(0x804CC3D4, &lit_4687); -#pragma pop - -/* 804CC3D8-804CC3E0 000098 0008+00 4/8 0/0 0/0 .rodata @4689 */ -SECTION_RODATA static u8 const lit_4689[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC3D8, &lit_4689); - -/* 804CC4D0-804CC4D0 000190 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_804CC4D0 = "D_MN01A"; -#pragma pop - /* 804C7324-804C7B44 000644 0820+00 1/1 0/0 0/0 .text create__9daNbomb_cFv */ int daNbomb_c::create() { fopAcM_GetID(this); @@ -842,7 +267,7 @@ int daNbomb_c::create() { mExTime *= 0.75f; } - cLib_onBit(attention_info.flags, 0x80); + cLib_onBit(attention_info.flags, 0x10); fopAcM_OnCarryType(this, fopAcM_CARRY(fopAcM_CARRY_LIGHT | fopAcM_CARRY_SIDE)); field_0xb5c = shape_angle.y; @@ -959,40 +384,9 @@ int daNbomb_c::create() { return cPhs_COMPLEATE_e; } - /* 804C7B44-804C7CC8 000E64 0184+00 1/1 0/0 0/0 .text __ct__9daNbomb_cFv */ daNbomb_c::daNbomb_c() { - // NONMATCHING -} - -/* 804C7CC8-804C7D10 000FE8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 804C7D10-804C7D58 001030 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 804C7D58-804C7DB4 001078 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 804C7DB4-804C7E24 0010D4 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 804C7E24-804C7E94 001144 0070+00 3/2 0/0 0/0 .text __dt__13dBgS_BombAcchFv */ -// dBgS_BombAcch::~dBgS_BombAcch() { -extern "C" void __dt__13dBgS_BombAcchFv() { - // NONMATCHING + /* empty function */ } /* 804C7E94-804C7EB4 0011B4 0020+00 1/0 0/0 0/0 .text daNbomb_Create__FP10fopAc_ac_c */ @@ -1041,7 +435,6 @@ daNbomb_c::~daNbomb_c() { } } - /* 804C826C-804C8294 00158C 0028+00 1/0 0/0 0/0 .text daNbomb_Delete__FP9daNbomb_c */ static int daNbomb_Delete(daNbomb_c* i_this) { i_this->~daNbomb_c(); @@ -1056,11 +449,6 @@ bool daNbomb_c::checkTimerStop() { fopAcM_GetParam(this) == PRM_ENEMY_BOMB_BOOMERANG_MOVE); } -/* ############################################################################################## */ -/* 804CC3E0-804CC3E4 0000A0 0004+00 3/3 0/0 0/0 .rodata @5021 */ -SECTION_RODATA static f32 const lit_5021 = 1.5f; -COMPILER_STRIP_GATE(0x804CC3E0, &lit_5021); - /* 804C82D8-804C8430 0015F8 0158+00 5/5 0/0 0/0 .text checkExplode__9daNbomb_cFv */ BOOL daNbomb_c::checkExplode() { if (checkStateFlg0(daNbomb_FLG0(FLG0_UNK_800 | FLG0_FROZEN))) { @@ -1092,12 +480,6 @@ BOOL daNbomb_c::checkExplode() { return false; } - -/* ############################################################################################## */ -/* 804CC3E4-804CC3E8 0000A4 0004+00 1/2 0/0 0/0 .rodata @5036 */ -SECTION_RODATA static f32 const lit_5036 = -1000000000.0f; -COMPILER_STRIP_GATE(0x804CC3E4, &lit_5036); - /* 804C8430-804C84D8 001750 00A8+00 5/5 0/0 0/0 .text setRoomInfo__9daNbomb_cFv */ void daNbomb_c::setRoomInfo() { int room_no; @@ -1115,136 +497,34 @@ void daNbomb_c::setRoomInfo() { fopAcM_SetRoomNo(this, room_no); } - -/* ############################################################################################## */ -/* 804CC3E8-804CC3F4 0000A8 000C+00 1/1 0/0 0/0 .rodata localOffset$5044 */ -SECTION_RODATA static u8 const localOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC3E8, &localOffset); - /* 804C84D8-804C8588 0017F8 00B0+00 2/2 0/0 0/0 .text setSmokePos__9daNbomb_cFv */ void daNbomb_c::setSmokePos() { if (mType == TYPE_INSECT_ENEMY || mType == TYPE_WATER_ENEMY) { mDoMtx_multVecZero(mpModel->getBaseTRMtx(), &mEffectPosition); } else { - static Vec localOffset = {0.0f, 60.0f, 0.0f}; + static Vec const localOffset = {0.0f, 60.0f, 0.0f}; mDoMtx_multVec(mpModel->getBaseTRMtx(), &localOffset, &mEffectPosition); } field_0xbe4 = (mEffectPosition - mEffectLastPosition) * 0.5f; } - -/* ############################################################################################## */ -/* 804CC3F4-804CC3F8 0000B4 0004+00 1/1 0/0 0/0 .rodata @5143 */ -SECTION_RODATA static f32 const lit_5143 = 9.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC3F4, &lit_5143); - -/* 804CC688-804CC68C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 804CC68C-804CC690 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 804CC690-804CC694 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 804CC694-804CC698 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 804CC698-804CC69C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 804CC69C-804CC6A0 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6A0-804CC6A4 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6A4-804CC6A8 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6A8-804CC6AC 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6AC-804CC6B0 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6B0-804CC6B4 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6B4-804CC6B8 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6B8-804CC6BC 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6BC-804CC6C0 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6C0-804CC6C4 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6C4-804CC6C8 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 804CC6C8-804CC6D8 000048 000C+04 0/1 0/0 0/0 .bss @5069 */ -#pragma push -#pragma force_active on -static u8 lit_5069[12 + 4 /* padding */]; -#pragma pop - -/* 804CC6D8-804CC6E4 000058 000C+00 0/1 0/0 0/0 .bss effectScale$5068 */ -#pragma push -#pragma force_active on -static u8 effectScale[12]; -#pragma pop +UNK_BSS(1109) +UNK_BSS(1107) +UNK_BSS(1105) +UNK_BSS(1104) +UNK_BSS(1099) +UNK_BSS(1097) +UNK_BSS(1095) +UNK_BSS(1094) +UNK_BSS(1057) +UNK_BSS(1055) +UNK_BSS(1053) +UNK_BSS(1052) +UNK_BSS(1014) +UNK_BSS(1012) +UNK_BSS(1010) +UNK_BSS(1009) /* 804C8588-804C87F0 0018A8 0268+00 1/1 0/0 0/0 .text setEffect__9daNbomb_cFv */ void daNbomb_c::setEffect() { @@ -1285,7 +565,6 @@ void daNbomb_c::setEffect() { } } - /* 804C87F0-804C88CC 001B10 00DC+00 2/2 0/0 0/0 .text setHookshotOffset__9daNbomb_cFv */ void daNbomb_c::setHookshotOffset() { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -1300,7 +579,6 @@ void daNbomb_c::setHookshotOffset() { offStateFlg0(FLG0_SET_HOOKSHOT_OFFSET); } - /* 804C88CC-804C88F0 001BEC 0024+00 2/2 0/0 0/0 .text setFreeze__9daNbomb_cFv */ void daNbomb_c::setFreeze() { if (!checkStateFlg0(FLG0_FROZEN)) { @@ -1314,12 +592,6 @@ BOOL daNbomb_c::checkWaterIn() { return mAcch.ChkWaterHit() && current.pos.y + 30.0f < mAcch.m_wtr.GetHeight(); } - -/* ############################################################################################## */ -/* 804CC3F8-804CC3FC 0000B8 0004+00 1/1 0/0 0/0 .rodata @5214 */ -SECTION_RODATA static u32 const lit_5214 = 0x43360B61; -COMPILER_STRIP_GATE(0x804CC3F8, &lit_5214); - /* 804C8928-804C8A40 001C48 0118+00 3/3 0/0 0/0 .text insectLineCheck__9daNbomb_cFv */ int daNbomb_c::insectLineCheck() { if (dComIfG_Bgsp().LineCross(&mLineChk)) { @@ -1340,20 +612,6 @@ int daNbomb_c::insectLineCheck() { return 0; } - -/* 804C8A40-804C8A88 001D60 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv(){// NONMATCHING -} - -/* ############################################################################################## */ -/* 804CC3FC-804CC400 0000BC 0004+00 0/2 0/0 0/0 .rodata @5289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5289 = 0x3F7FBE77; -COMPILER_STRIP_GATE(0x804CC3FC, &lit_5289); -#pragma pop - /* 804C8A88-804C8CF8 001DA8 0270+00 2/2 0/0 0/0 .text setHitPolygon__9daNbomb_cFi */ void daNbomb_c::setHitPolygon(BOOL param_0) { if (!param_0) { @@ -1399,110 +657,6 @@ void daNbomb_c::setHitPolygon(BOOL param_0) { mDoMtx_inverse(mpModel->getBaseTRMtx(), field_0xa70); } - -/* ############################################################################################## */ -/* 804CC400-804CC414 0000C0 0012+02 0/1 0/0 0/0 .rodata normalNameID$5297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const normalNameID[18 + 2 /* padding */] = { - 0x01, - 0x61, - 0x01, - 0x62, - 0x01, - 0x63, - 0x01, - 0x64, - 0x01, - 0x65, - 0x01, - 0x66, - 0x01, - 0x67, - 0x01, - 0x68, - 0x01, - 0xEC, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC400, &normalNameID); -#pragma pop - -/* 804CC414-804CC424 0000D4 0010+00 0/1 0/0 0/0 .rodata waterNameID$5298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const waterNameID[16] = { - 0x0A, 0x05, 0x0A, 0x06, 0x0A, 0x07, 0x0A, 0x08, 0x0A, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0A, 0x0C, -}; -COMPILER_STRIP_GATE(0x804CC414, &waterNameID); -#pragma pop - -/* 804CC424-804CC438 0000E4 0012+02 0/1 0/0 0/0 .rodata waterNameID2$5299 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const waterNameID2[18 + 2 /* padding */] = { - 0x09, - 0xFC, - 0x09, - 0xFD, - 0x09, - 0xFE, - 0x09, - 0xFF, - 0x0A, - 0x00, - 0x0A, - 0x01, - 0x0A, - 0x02, - 0x0A, - 0x03, - 0x0A, - 0x04, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC424, &waterNameID2); -#pragma pop - -/* 804CC438-804CC43C 0000F8 0004+00 0/2 0/0 0/0 .rodata @5400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5400 = 65536.0f; -COMPILER_STRIP_GATE(0x804CC438, &lit_5400); -#pragma pop - -/* 804CC43C-804CC440 0000FC 0004+00 0/1 0/0 0/0 .rodata @5401 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5401 = 600.0f; -COMPILER_STRIP_GATE(0x804CC43C, &lit_5401); -#pragma pop - -/* 804CC440-804CC444 000100 0004+00 0/1 0/0 0/0 .rodata @5402 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5402 = 500.0f; -COMPILER_STRIP_GATE(0x804CC440, &lit_5402); -#pragma pop - -/* 804CC444-804CC448 000104 0004+00 0/1 0/0 0/0 .rodata @5403 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5403 = 160000.0f; -COMPILER_STRIP_GATE(0x804CC444, &lit_5403); -#pragma pop - -/* 804CC448-804CC44C 000108 0004+00 0/1 0/0 0/0 .rodata @5404 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5404 = 640000.0f; -COMPILER_STRIP_GATE(0x804CC448, &lit_5404); -#pragma pop - /* 804C8CF8-804C9118 002018 0420+00 5/5 0/0 0/0 .text procExplodeInit__9daNbomb_cFv */ BOOL daNbomb_c::procExplodeInit() { fopAcM_OnStatus(this, 0x20000); @@ -1605,67 +759,6 @@ BOOL daNbomb_c::procExplodeInit() { return true; } - -/* ############################################################################################## */ -/* 804CC44C-804CC450 00010C 0004+00 0/1 0/0 0/0 .rodata @5451 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5451 = 1500.0f; -COMPILER_STRIP_GATE(0x804CC44C, &lit_5451); -#pragma pop - -/* 804CC450-804CC458 000110 0008+00 0/4 0/0 0/0 .rodata @5452 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5452[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC450, &lit_5452); -#pragma pop - -/* 804CC458-804CC460 000118 0008+00 0/4 0/0 0/0 .rodata @5453 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5453[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC458, &lit_5453); -#pragma pop - -/* 804CC460-804CC468 000120 0008+00 0/4 0/0 0/0 .rodata @5454 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5454[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC460, &lit_5454); -#pragma pop - -/* 804CC468-804CC46C 000128 0004+00 0/1 0/0 0/0 .rodata @5455 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5455 = 1.0f / 50.0f; -COMPILER_STRIP_GATE(0x804CC468, &lit_5455); -#pragma pop - -/* 804CC46C-804CC470 00012C 0004+00 0/1 0/0 0/0 .rodata @5456 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5456 = 99.0f / 100.0f; -COMPILER_STRIP_GATE(0x804CC46C, &lit_5456); -#pragma pop - -/* 804CC470-804CC474 000130 0004+00 0/1 0/0 0/0 .rodata @5457 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5457 = 0.25f; -COMPILER_STRIP_GATE(0x804CC470, &lit_5457); -#pragma pop - -/* 804CC474-804CC478 000134 0004+00 2/4 0/0 0/0 .rodata @5458 */ -SECTION_RODATA static f32 const lit_5458 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC474, &lit_5458); - /* 804C9118-804C93E0 002438 02C8+00 1/0 0/0 0/0 .text procExplode__9daNbomb_cFv */ BOOL daNbomb_c::procExplode() { camera_class* camera = dComIfGp_getCamera(0); @@ -1718,7 +811,6 @@ BOOL daNbomb_c::procExplode() { return true; } - /* 804C93E0-804C955C 002700 017C+00 6/6 0/0 0/0 .text procCarryInit__9daNbomb_cFv */ BOOL daNbomb_c::procCarryInit() { mProcFunc = &procCarry; @@ -1747,7 +839,6 @@ BOOL daNbomb_c::procCarryInit() { return true; } - /* 804C955C-804C9930 00287C 03D4+00 1/0 0/0 0/0 .text procCarry__9daNbomb_cFv */ BOOL daNbomb_c::procCarry() { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -1822,7 +913,6 @@ BOOL daNbomb_c::procCarry() { return true; } - /* 804C9930-804C9984 002C50 0054+00 4/4 0/0 0/0 .text procWaitInit__9daNbomb_cFv */ BOOL daNbomb_c::procWaitInit() { if (fopAcM_GetParam(this) == PRM_BOMB_CARRY) { @@ -1835,70 +925,6 @@ BOOL daNbomb_c::procWaitInit() { return true; } - -/* ############################################################################################## */ -/* 804CC478-804CC47C 000138 0004+00 0/1 0/0 0/0 .rodata @5873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5873 = 300.0f; -COMPILER_STRIP_GATE(0x804CC478, &lit_5873); -#pragma pop - -/* 804CC47C-804CC480 00013C 0004+00 0/1 0/0 0/0 .rodata @5874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5874 = -20.0f; -COMPILER_STRIP_GATE(0x804CC47C, &lit_5874); -#pragma pop - -/* 804CC480-804CC484 000140 0004+00 0/1 0/0 0/0 .rodata @5875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5875 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC480, &lit_5875); -#pragma pop - -/* 804CC484-804CC488 000144 0004+00 0/1 0/0 0/0 .rodata @5876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5876 = 16384.0f; -COMPILER_STRIP_GATE(0x804CC484, &lit_5876); -#pragma pop - -/* 804CC488-804CC48C 000148 0004+00 0/2 0/0 0/0 .rodata @5877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5877 = -1.0f; -COMPILER_STRIP_GATE(0x804CC488, &lit_5877); -#pragma pop - -/* 804CC48C-804CC490 00014C 0004+00 0/1 0/0 0/0 .rodata @5878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5878 = 7.0f; -COMPILER_STRIP_GATE(0x804CC48C, &lit_5878); -#pragma pop - -/* 804CC490-804CC494 000150 0004+00 0/1 0/0 0/0 .rodata @5879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5879 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC490, &lit_5879); -#pragma pop - -/* 804CC494-804CC498 000154 0004+00 1/2 0/0 0/0 .rodata @5880 */ -SECTION_RODATA static f32 const lit_5880 = 20.0f; -COMPILER_STRIP_GATE(0x804CC494, &lit_5880); - -/* 804CC498-804CC4A0 000158 0008+00 0/1 0/0 0/0 .rodata @5882 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5882[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC498, &lit_5882); -#pragma pop - /* 804C9984-804CA268 002CA4 08E4+00 2/1 0/0 0/0 .text procWait__9daNbomb_cFv */ BOOL daNbomb_c::procWait() { if (checkExplode()) { @@ -2090,7 +1116,6 @@ BOOL daNbomb_c::procWait() { return true; } - /* 804CA268-804CA2EC 003588 0084+00 1/1 0/0 0/0 .text procFlowerWaitInit__9daNbomb_cFv */ BOOL daNbomb_c::procFlowerWaitInit() { mProcFunc = &procFlowerWait; @@ -2104,7 +1129,6 @@ BOOL daNbomb_c::procFlowerWaitInit() { return true; } - /* 804CA2EC-804CA3B8 00360C 00CC+00 1/0 0/0 0/0 .text procFlowerWait__9daNbomb_cFv */ BOOL daNbomb_c::procFlowerWait() { if (scale.x < 1.0f) { @@ -2129,7 +1153,6 @@ BOOL daNbomb_c::procFlowerWait() { return true; } - /* 804CA3B8-804CA4E0 0036D8 0128+00 2/2 0/0 0/0 .text * procBoomerangMoveInit__9daNbomb_cFP12dCcD_GObjInf */ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { @@ -2137,7 +1160,7 @@ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { return false; } - mProcFunc = procBoomerangMove; + mProcFunc = &procBoomerangMove; if (fopAcM_GetParam(this) == PRM_FLOWER_BOMB || fopAcM_GetParam(this) == PRM_ENEMY_BOMB_BOOMERANG) @@ -2158,7 +1181,6 @@ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { return true; } - /* 804CA4E0-804CA688 003800 01A8+00 2/0 0/0 0/0 .text procBoomerangMove__9daNbomb_cFv */ BOOL daNbomb_c::procBoomerangMove() { if (checkExplode()) { @@ -2208,12 +1230,6 @@ BOOL daNbomb_c::procBoomerangMove() { return true; } - -/* ############################################################################################## */ -/* 804CC4A0-804CC4A4 000160 0004+00 1/1 0/0 0/0 .rodata @6001 */ -SECTION_RODATA static f32 const lit_6001 = 3.0f; -COMPILER_STRIP_GATE(0x804CC4A0, &lit_6001); - /* 804CA688-804CA780 0039A8 00F8+00 2/2 0/0 0/0 .text procInsectMoveInit__9daNbomb_cFv */ BOOL daNbomb_c::procInsectMoveInit() { mProcFunc = &procInsectMove; @@ -2233,50 +1249,6 @@ BOOL daNbomb_c::procInsectMoveInit() { return true; } - -/* ############################################################################################## */ -/* 804CC4A4-804CC4A8 000164 0004+00 0/1 0/0 0/0 .rodata @6207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6207 = 50.0f; -COMPILER_STRIP_GATE(0x804CC4A4, &lit_6207); -#pragma pop - -/* 804CC4A8-804CC4AC 000168 0004+00 0/1 0/0 0/0 .rodata @6208 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6208 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC4A8, &lit_6208); -#pragma pop - -/* 804CC4AC-804CC4B0 00016C 0004+00 0/1 0/0 0/0 .rodata @6209 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6209 = 0x3DB2B8C3; -COMPILER_STRIP_GATE(0x804CC4AC, &lit_6209); -#pragma pop - -/* 804CC4B0-804CC4B4 000170 0004+00 0/1 0/0 0/0 .rodata @6210 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6210 = 0x3C0EFA36; -COMPILER_STRIP_GATE(0x804CC4B0, &lit_6210); -#pragma pop - -/* 804CC4B4-804CC4B8 000174 0004+00 0/3 0/0 0/0 .rodata @6211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6211 = 25.0f; -COMPILER_STRIP_GATE(0x804CC4B4, &lit_6211); -#pragma pop - -/* 804CC4B8-804CC4BC 000178 0004+00 0/1 0/0 0/0 .rodata @6212 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6212 = 8.0f; -COMPILER_STRIP_GATE(0x804CC4B8, &lit_6212); -#pragma pop - /* 804CA780-804CAEE8 003AA0 0768+00 2/1 0/0 0/0 .text procInsectMove__9daNbomb_cFv */ BOOL daNbomb_c::procInsectMove() { if (mNoHitPlayerTimer != 0) { @@ -2327,12 +1299,13 @@ BOOL daNbomb_c::procInsectMove() { f32 var_f29 = cM_atan2f(JMAFastSqrt(1.0f - (var_f30 * var_f30)), var_f30); f32 var_f31 = var_f29 * 0.2f; - if (var_f31 > DEG_TO_RAD(5.0f)) { - var_f31 = DEG_TO_RAD(5.0f); - } else if (var_f31 < (DEG_TO_RAD(5.0f) * 0.1f)) { - var_f31 = DEG_TO_RAD(5.0f) * 0.1f; + // The number 0.08726647f should be DEG_TO_RAD(5.0f) but that rounds wrong + if (var_f31 > 0.08726647f) { + var_f31 = 0.08726647f; + } else if (var_f31 < (0.08726647f * 0.1f)) { + var_f31 = 0.08726647f * 0.1f; - if (DEG_TO_RAD(5.0f) * 0.1f > var_f29) { + if (0.08726647f * 0.1f > var_f29) { var_f31 = var_f29; } } @@ -2410,29 +1383,6 @@ BOOL daNbomb_c::procInsectMove() { return true; } - -/* ############################################################################################## */ -/* 804CC4BC-804CC4C0 00017C 0004+00 0/1 0/0 0/0 .rodata @6601 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6601 = 1.0f / 40.0f; -COMPILER_STRIP_GATE(0x804CC4BC, &lit_6601); -#pragma pop - -/* 804CC4C0-804CC4C4 000180 0004+00 0/1 0/0 0/0 .rodata @6602 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6602 = 180.0f; -COMPILER_STRIP_GATE(0x804CC4C0, &lit_6602); -#pragma pop - -/* 804CC4C4-804CC4C8 000184 0004+00 0/1 0/0 0/0 .rodata @6603 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6603 = -25.0f; -COMPILER_STRIP_GATE(0x804CC4C4, &lit_6603); -#pragma pop - /* 804CAEE8-804CBC40 004208 0D58+00 1/1 0/0 0/0 .text execute__9daNbomb_cFv */ int daNbomb_c::execute() { if (!checkStateFlg0(FLG0_UNK_2000)) { @@ -2681,21 +1631,6 @@ static int daNbomb_Execute(daNbomb_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 804CC4C8-804CC4CC 000188 0004+00 0/1 0/0 0/0 .rodata @6782 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6782 = 0x40490FDB; -COMPILER_STRIP_GATE(0x804CC4C8, &lit_6782); -#pragma pop - -/* 804CC4CC-804CC4D0 00018C 0004+00 0/1 0/0 0/0 .rodata @6783 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6783 = 15.0f; -COMPILER_STRIP_GATE(0x804CC4CC, &lit_6783); -#pragma pop - /* 804CBC60-804CC200 004F80 05A0+00 1/1 0/0 0/0 .text draw__9daNbomb_cFv */ int daNbomb_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); @@ -2805,246 +1740,31 @@ static int daNbomb_Draw(daNbomb_c* i_this) { return i_this->draw(); } -/* 804CC220-804CC268 005540 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} +AUDIO_INSTANCES; -/* 804CC268-804CC2B0 005588 0048+00 0/0 1/0 0/0 .text __sinit_d_a_nbomb_cpp */ -void __sinit_d_a_nbomb_cpp(){// NONMATCHING -} +/* 804CC590-804CC5B0 -00001 0020+00 1/0 0/0 0/0 .data l_daNbombMethod */ +static actor_method_class l_daNbombMethod = { + (process_method_func)daNbomb_Create, + (process_method_func)daNbomb_Delete, + (process_method_func)daNbomb_Execute, + 0, + (process_method_func)daNbomb_Draw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x804CC268, __sinit_d_a_nbomb_cpp); -#pragma pop - -/* 804CC2B0-804CC2B8 0055D0 0008+00 1/0 0/0 0/0 .text @36@__dt__13dBgS_BombAcchFv */ -static void func_804CC2B0() { - // NONMATCHING -} - -/* 804CC2B8-804CC2C0 0055D8 0008+00 1/0 0/0 0/0 .text @20@__dt__13dBgS_BombAcchFv */ -static void func_804CC2B8() { - // NONMATCHING -} - -/* 804CC2C0-804CC2D4 0055E0 0014+00 1/0 0/0 0/0 .text checkExplodeNow__9daNbomb_cFv */ -// void daNbomb_c::checkExplodeNow() { -extern "C" void checkExplodeNow__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC2D4-804CC30C 0055F4 0038+00 1/0 0/0 0/0 .text deleteBombAndEffect__9daNbomb_cFv - */ -// void daNbomb_c::deleteBombAndEffect() { -extern "C" void deleteBombAndEffect__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC30C-804CC31C 00562C 0010+00 1/0 0/0 0/0 .text setCargoBombExplode__9daNbomb_cFv - */ -// void daNbomb_c::setCargoBombExplode() { -extern "C" void setCargoBombExplode__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC31C-804CC324 00563C 0008+00 1/0 0/0 0/0 .text checkExplodeNow__7dBomb_cFv */ -// bool dBomb_c::checkExplodeNow() { -extern "C" bool checkExplodeNow__7dBomb_cFv() { - return false; -} - -/* 804CC324-804CC328 005644 0004+00 1/0 0/0 0/0 .text deleteBombAndEffect__7dBomb_cFv */ -// void dBomb_c::deleteBombAndEffect() { -extern "C" void deleteBombAndEffect__7dBomb_cFv() { - /* empty function */ -} - -/* 804CC328-804CC32C 005648 0004+00 1/0 0/0 0/0 .text setCargoBombExplode__7dBomb_cFv */ -// void dBomb_c::setCargoBombExplode() { -extern "C" void setCargoBombExplode__7dBomb_cFv() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 804CC6E4-804CC6E8 000064 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC6E4[4]; -#pragma pop - -/* 804CC6E8-804CC6EC 000068 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_804CC6E8[4]; -#pragma pop - -/* 804CC6EC-804CC6F0 00006C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC6EC[4]; -#pragma pop - -/* 804CC6F0-804CC6F4 000070 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC6F0[4]; -#pragma pop - -/* 804CC6F4-804CC6F8 000074 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6F4[4]; -#pragma pop - -/* 804CC6F8-804CC6FC 000078 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6F8[4]; -#pragma pop - -/* 804CC6FC-804CC700 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6FC[4]; -#pragma pop - -/* 804CC700-804CC704 000080 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_804CC700[4]; -#pragma pop - -/* 804CC704-804CC708 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_804CC704[4]; -#pragma pop - -/* 804CC708-804CC70C 000088 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_804CC708[4]; -#pragma pop - -/* 804CC70C-804CC710 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC70C[4]; -#pragma pop - -/* 804CC710-804CC714 000090 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC710[4]; -#pragma pop - -/* 804CC714-804CC718 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC714[4]; -#pragma pop - -/* 804CC718-804CC71C 000098 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC718[4]; -#pragma pop - -/* 804CC71C-804CC720 00009C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_804CC71C[4]; -#pragma pop - -/* 804CC720-804CC724 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC720[4]; -#pragma pop - -/* 804CC724-804CC728 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC724[4]; -#pragma pop - -/* 804CC728-804CC72C 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_804CC728[4]; -#pragma pop - -/* 804CC72C-804CC730 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_804CC72C[4]; -#pragma pop - -/* 804CC730-804CC734 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC730[4]; -#pragma pop - -/* 804CC734-804CC738 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_804CC734[4]; -#pragma pop - -/* 804CC738-804CC73C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC738[4]; -#pragma pop - -/* 804CC73C-804CC740 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC73C[4]; -#pragma pop - -/* 804CC740-804CC744 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC740[4]; -#pragma pop - -/* 804CC744-804CC748 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC744[4]; -#pragma pop - -/* 804CC748-804CC74C 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JAUSectionHeap> */ -#pragma push -#pragma force_active on -static u8 data_804CC748[4]; -#pragma pop - -/* 804CC4D0-804CC4D0 000190 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 804CC5B0-804CC5E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NBOMB */ +extern actor_process_profile_definition g_profile_NBOMB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_NBOMB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daNbomb_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 270, // mPriority + &l_daNbombMethod, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_obj_eff.cpp b/src/d/actor/d_a_obj_eff.cpp index c4fc4b9b19..dd24c13781 100644 --- a/src/d/actor/d_a_obj_eff.cpp +++ b/src/d/actor/d_a_obj_eff.cpp @@ -13,9 +13,8 @@ int daObjEff::Act_c::_create() { fopAcM_SetupActor(this, Act_c); if (daObj::PrmAbstract(this, PRM_8, PRM_0) == 3) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setColor(0x00E7, ¤t.pos, NULL, NULL, NULL, 0.0f, 55, NULL, &scale, - NULL, roomNo, &scale); + NULL, fopAcM_GetRoomNo(this), &scale); } return cPhs_ERROR_e; @@ -84,4 +83,4 @@ extern actor_process_profile_definition g_profile_Obj_Eff = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_0_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_enemy_create.cpp b/src/d/actor/d_a_obj_enemy_create.cpp index bee3faddae..fe0582a2b0 100644 --- a/src/d/actor/d_a_obj_enemy_create.cpp +++ b/src/d/actor/d_a_obj_enemy_create.cpp @@ -36,11 +36,11 @@ void daObjE_CREATE_c::NormalAction() { // this was probably supposed to be: // "cLib_offsetPos(¤t.pos, ¤t.pos, angle, &offsetPos)" cLib_offsetPos(&offsetPos, ¤t.pos, angle, &offsetPos); - s8 roomNo = fopAcM_GetRoomNo(this); mActorList[i] = fopAcM_createChild(mEnemyProcName, fopAcM_GetID(this), mEnemyParams, - ¤t.pos, roomNo, &mEnemyAngle, NULL, -1, NULL); + ¤t.pos, fopAcM_GetRoomNo(this), &mEnemyAngle, + NULL, -1, NULL); } mActionMode++; mKillCheckDelayTimer = 50; @@ -285,4 +285,4 @@ extern actor_process_profile_definition g_profile_Obj_E_CREATE = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_firepillar2.cpp b/src/d/actor/d_a_obj_firepillar2.cpp index 2e88f96bf4..bb75c27337 100644 --- a/src/d/actor/d_a_obj_firepillar2.cpp +++ b/src/d/actor/d_a_obj_firepillar2.cpp @@ -121,12 +121,10 @@ int daObjFPillar2_c::Create() { fopAcM_SetMtx(this, mMtx); mSoundObj.init(&mSoundPos, 1); if (getKind() == KIND_PIPE_FIRE) { - s32 roomNo = fopAcM_GetRoomNo(this); field_0x980 = dComIfGp_particle_set(0x84df, ¤t.pos, ¤t.angle, 0, 0xff, 0, - roomNo, 0, 0, 0); - roomNo = fopAcM_GetRoomNo(this); + fopAcM_GetRoomNo(this), 0, 0, 0); field_0x984 = dComIfGp_particle_set(0x84e0, ¤t.pos, ¤t.angle, 0, 0xff, 0, - roomNo, 0, 0, 0); + fopAcM_GetRoomNo(this), 0, 0, 0); } actionOffInit(); return 1; @@ -322,16 +320,15 @@ void daObjFPillar2_c::actionOff() { void daObjFPillar2_c::actionOnWaitInit() { if (getKind() == KIND_PIPE_FIRE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); - mPipeFireEmitters[i] = dComIfGp_particle_set( - l_pipe_fire_id[i], ¤t.pos, ¤t.angle, 0, 0xff, 0, roomNo, 0, 0, 0); + mPipeFireEmitters[i] = dComIfGp_particle_set(l_pipe_fire_id[i], ¤t.pos, + ¤t.angle, 0, 0xff, 0, + fopAcM_GetRoomNo(this), 0, 0, 0); } } else { if (getKind() == KIND_MAGMA_POLE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set(l_yogan_foot_id[i], ¤t.pos, ¤t.angle, - &mYoganScale, 0xff, 0, roomNo, 0, 0, 0); + &mYoganScale, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0); } } } @@ -373,10 +370,9 @@ void daObjFPillar2_c::actionOnWait() { void daObjFPillar2_c::actionOnInit() { if (getKind() == KIND_MAGMA_POLE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo((fopAc_ac_c*)this); mMagmaPoleEmitters[i] = dComIfGp_particle_set( l_yogan_head_id[getSize()][i], - ¤t.pos, ¤t.angle, 0, 0xff, 0, roomNo, 0, 0, 0); + ¤t.pos, ¤t.angle, 0, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0); if (mMagmaPoleEmitters[i] != NULL) { mMagmaPoleEmitters[i]->becomeImmortalEmitter(); mMagmaPoleEmitters[i]->setGlobalRTMatrix(mModel->getAnmMtx(0)); diff --git a/src/d/actor/d_a_obj_graWall.cpp b/src/d/actor/d_a_obj_graWall.cpp index 7200a10289..43b835f9ef 100644 --- a/src/d/actor/d_a_obj_graWall.cpp +++ b/src/d/actor/d_a_obj_graWall.cpp @@ -12,8 +12,7 @@ int daObjGraWall_c::Create() { field_0x6e0 = fopAcM_GetParam(this); if (field_0x6e0 != 0xff) { - int roomNo = fopAcM_GetRoomNo(this); - if (dComIfGs_isSwitch(field_0x6e0, roomNo) != 0) { + if (dComIfGs_isSwitch(field_0x6e0, fopAcM_GetRoomNo(this)) != 0) { return cPhs_ERROR_e; } } else { @@ -129,4 +128,4 @@ extern actor_process_profile_definition g_profile_GRA_WALL = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_hhashi.cpp b/src/d/actor/d_a_obj_hhashi.cpp index 8b87b043dc..1449453751 100644 --- a/src/d/actor/d_a_obj_hhashi.cpp +++ b/src/d/actor/d_a_obj_hhashi.cpp @@ -13,25 +13,23 @@ #include "m_Do/m_Do_lib.h" #include "SSystem/SComponent/c_math.h" -/* ############################################################################################## */ -/* 805814AC-805814F0 000000 0044+00 10/10 0/0 0/0 .rodata ccCylSrc$3773 */ -const static dCcD_SrcCyl ccCylSrc = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {0.0f, 0.0f, 0.0f}, // mCenter - 110.0f, // mRadius - 158.0f // mHeight - } // mCyl -}; - /* 8057F9B8-8057FA18 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjHHASHI_cFv */ void daObjHHASHI_c::initCcCylinder() { + const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 110.0f, // mRadius + 158.0f // mHeight + } // mCyl + }; + mStts.Init(0xff, 0xff, this); mCyl.Set(ccCylSrc); mCyl.SetStts(&mStts); @@ -429,4 +427,4 @@ extern actor_process_profile_definition g_profile_Obj_HHASHI = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index 160b16a6cb..bb6a1a2f6f 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -5,237 +5,14 @@ #include "d/actor/d_a_obj_movebox.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "d/actor/d_a_player.h" #include "d/d_path.h" -#include "dol2asm.h" #include "d/actor/d_a_obj_burnbox.h" #include "d/actor/d_a_obj_eff.h" -// -// Forward References: -// +UNK_REL_DATA -extern "C" void __ct__Q212daObjMovebox5Bgc_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void -gnd_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cif(); -extern "C" void wrt_pos__Q212daObjMovebox5Bgc_cFRC4cXyz(); -extern "C" void -wall_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cisf(); -extern "C" void proc_vertical__Q212daObjMovebox5Bgc_cFPQ212daObjMovebox5Act_c(); -extern "C" void -chk_wall_pre__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis(); -extern "C" void -chk_wall_touch__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cs(); -extern "C" void -chk_wall_touch2__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis(); -extern "C" void prm_get_swSave1__Q212daObjMovebox5Act_cCFv(); -extern "C" void prmZ_init__Q212daObjMovebox5Act_cFv(); -extern "C" void prmX_init__Q212daObjMovebox5Act_cFv(); -extern "C" void attr__Q212daObjMovebox5Act_cCFv(); -extern "C" void set_mtx__Q212daObjMovebox5Act_cFv(); -extern "C" void init_mtx__Q212daObjMovebox5Act_cFv(); -extern "C" void path_init__Q212daObjMovebox5Act_cFv(); -extern "C" void path_save__Q212daObjMovebox5Act_cFv(); -extern "C" void CreateHeap__Q212daObjMovebox5Act_cFv(); -extern "C" void RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void -PPCallBack__Q212daObjMovebox5Act_cFP10fopAc_ac_cP10fopAc_ac_csQ29dBgW_Base13PushPullLabel(); -extern "C" void Create__Q212daObjMovebox5Act_cFv(); -extern "C" void afl_sway__Q212daObjMovebox5Act_cFv(); -extern "C" void check_to_walk__Q212daObjMovebox5Act_cFv(); -extern "C" void clr_moment_cnt__Q212daObjMovebox5Act_cFv(); -extern "C" void chk_appear__Q212daObjMovebox5Act_cCFv(); -extern "C" void eff_smoke_slip_start__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_wait_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_wait__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_walk_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_walk__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_afl_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_afl__Q212daObjMovebox5Act_cFv(); -extern "C" void __dt__14dBgS_ObjGndChkFv(); -extern "C" void sound_slip__Q212daObjMovebox5Act_cFv(); -extern "C" void sound_limit__Q212daObjMovebox5Act_cFv(); -extern "C" void sound_land__Q212daObjMovebox5Act_cFv(); -extern "C" void vib_land__Q212daObjMovebox5Act_cFv(); -extern "C" void eff_land_smoke__Q212daObjMovebox5Act_cFv(); -extern "C" void Execute__Q212daObjMovebox5Act_cFPPA3_A4_f(); -extern "C" void Draw__Q212daObjMovebox5Act_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void Delete__Q212daObjMovebox5Act_cFv(); -extern "C" static void func_80480920(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" static void func_80480BC0(); -extern "C" static void func_80480C18(); -extern "C" static void func_80480C38(); -extern "C" static void func_80480C64(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void func_80480CD8(void* _this, fopAc_ac_c const*, daObjMovebox::Act_c::Prm_e, - daObjMovebox::Act_c::Prm_e); -extern "C" void __sinit_d_a_obj_movebox_cpp(); -extern "C" void func_80480DA0(); -extern "C" void __dt__11dBgS_WtrChkFv(); -extern "C" void func_80480E50(); -extern "C" void __ct__14dBgS_ObjGndChkFv(); -extern "C" static void func_80480EE4(); -extern "C" static void func_80480EEC(); -extern "C" static void func_80480EF4(); -extern "C" static void func_80480EFC(); -extern "C" static void func_80480F04(); -extern "C" static void func_80480F0C(); -extern "C" u8 const M_lin5__Q212daObjMovebox5Bgc_c[80]; -extern "C" u8 const M_lin20__Q212daObjMovebox5Bgc_c[368]; -extern "C" void* const M_arcname__Q212daObjMovebox5Act_c[8]; -extern "C" u8 const M_cyl_src__Q212daObjMovebox5Act_c[68]; -extern "C" u8 const M_attr__Q212daObjMovebox5Act_c[1280]; -extern "C" extern char const* const d_a_obj_movebox__stringBase0; -extern "C" u8 M_gnd_work__Q212daObjMovebox5Bgc_c[1932]; -extern "C" u8 M_wrt_work__Q212daObjMovebox5Bgc_c[84]; -extern "C" u8 M_wall_work__Q212daObjMovebox5Bgc_c[2576]; - -// -// External References: -// - -extern "C" void mDoMtx_XrotS__FPA4_fs(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void posMoveF_stream__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzff(); -extern "C" void quat_rotBaseY__5daObjFP10QuaternionRC4cXyz(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void -setModel__18dPa_modelEcallBackFP14JPABaseEmitterP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetActorPointer__4cBgSCFi(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void SplGrpChk__4dBgSFP14dBgS_SplGrpChk(); -extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void dBgS_MoveBGProc_Trans__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void RideCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_c(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__14dBgS_ObjLinChkFv(); -extern "C" void __dt__14dBgS_ObjLinChkFv(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void Set__14dBgS_SplGrpChkFR4cXyzf(); -extern "C" void __dt__14dBgS_SplGrpChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__11dBgS_WtrChkFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitGObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void MoveCTg__8dCcD_CylFR4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void cM_rnd__Fv(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_15(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_15(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 BaseY__4cXyz[12]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mEcallback__18dPa_modelEcallBack[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void* M_dir_base__Q212daObjMovebox5Act_c[2]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* 80481704-80481710 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80481710-80481724 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop - -/* ############################################################################################## */ /* 80480F28-80480F78 000000 0050+00 14/14 0/0 0/0 .rodata M_lin5__Q212daObjMovebox5Bgc_c */ const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = { {0.0f, 0.0f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f}, @@ -243,7 +20,7 @@ const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = { }; /* 80480F78-804810E8 000050 0170+00 0/4 0/0 0/0 .rodata M_lin20__Q212daObjMovebox5Bgc_c */ -SECTION_RODATA const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = { +const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = { {0.0f, 0.0f, 0.0f, 0.0f}, {-0.25f, -0.25f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f}, {0.0f, -0.5f, -1.0f, 1.0f}, {0.0f, 0.0f, -1.0f, -1.0f}, {-0.5f, 0.0f, 1.0f, -1.0f}, {0.25f, -0.25f, 0.0f, 0.0f}, {0.0f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f}, @@ -268,98 +45,22 @@ daObjMovebox::Bgc_c::Bgc_c() { mState = STATE_0_e; } -/* 80481888-8048188C 000008 0001+03 4/4 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 8048188C-80481890 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80481890-80481894 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 80481894-80481898 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80481898-8048189C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 8048189C-804818A0 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 804818A0-804818A4 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 804818A4-804818A8 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 804818A8-804818AC 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 804818AC-804818B0 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 804818B0-804818B4 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 804818B4-804818B8 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 804818B8-804818BC 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 804818BC-804818C0 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 804818C0-804818C4 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 804818C4-804818C8 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop +UNK_BSS(1109) +UNK_BSS(1107) +UNK_BSS(1105) +UNK_BSS(1104) +UNK_BSS(1099) +UNK_BSS(1097) +UNK_BSS(1095) +UNK_BSS(1094) +UNK_BSS(1057) +UNK_BSS(1055) +UNK_BSS(1053) +UNK_BSS(1052) +UNK_BSS(1014) +UNK_BSS(1012) +UNK_BSS(1010) +UNK_BSS(1009) /* 804818D4-80482060 000054 078C+00 7/8 0/0 0/0 .bss M_gnd_work__Q212daObjMovebox5Bgc_c */ @@ -628,7 +329,7 @@ void daObjMovebox::Act_c::prmX_init() { /* 80481104-80481124 -00001 0020+00 3/3 0/0 0/0 .rodata M_arcname__Q212daObjMovebox5Act_c */ -SECTION_RODATA const char* const daObjMovebox::Act_c::M_arcname[8] = { +const char* const daObjMovebox::Act_c::M_arcname[8] = { "Kkiba_00", "Osiblk", "H_Box20", "A_SMBlock", "P_Lv4blk", "P_Lv4blk2", "H_OsiHaka", "dummy4", }; @@ -866,7 +567,6 @@ int daObjMovebox::Act_c::CreateHeap() { /* 8047EBEC-8047ED10 0011EC 0124+00 1/1 0/0 0/0 .text * RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ void daObjMovebox::Act_c::RideCallBack(dBgW* i_bgw, fopAc_ac_c* i_actor, fopAc_ac_c* i_rideActor) { - i_bgw; // affects stack Act_c* a_this = (Act_c*)i_actor; if (a_this->field_0x5ac == 2) { @@ -1039,6 +739,7 @@ int daObjMovebox::Act_c::Create() { /* 8047F11C-8047F38C 00171C 0270+00 1/1 0/0 0/0 .text afl_sway__Q212daObjMovebox5Act_cFv */ +// NONMATCHING regalloc void daObjMovebox::Act_c::afl_sway() { f32 var_f31 = field_0x8c0 * field_0x8c0 + field_0x8c4 * field_0x8c4; f32 var_f29 = i_attr().mMaxTiltPower * i_attr().mMaxTiltPower; @@ -1046,19 +747,11 @@ void daObjMovebox::Act_c::afl_sway() { const BgcSrc_c* pbgc = i_attr().field_0x9e ? mBgc.M_lin20 : mBgc.M_lin5; int check_num = i_attr().field_0x9e ? 21 : 5; - bool var_r22 = true; - if (!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) && - !mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2])) - { - var_r22 = false; - } + bool var_r22 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) || + mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2]); - bool var_r21 = true; - if (!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) && - !mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3])) - { - var_r21 = false; - } + bool var_r21 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) || + mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3]); if (var_f31 > var_f29) { f32 var_f30 = i_attr().mMaxTiltPower / JMAFastSqrt(var_f31); @@ -1066,16 +759,13 @@ void daObjMovebox::Act_c::afl_sway() { field_0x8c4 *= var_f30; } - f32 var_f24 = field_0x8c8 - field_0x8c0; - f32 var_f23 = field_0x8cc - field_0x8c4; + f32 var_f28 = i_attr().mTiltSpringFactor * -(field_0x8c8 - field_0x8c0); + f32 var_f27 = i_attr().mTiltSpringFactor * -(field_0x8cc - field_0x8c4); + f32 var_f26 = -field_0x8d0 * i_attr().mTiltViscoscityResistance; + f32 var_f25 = -field_0x8d4 * i_attr().mTiltViscoscityResistance; - f32 var_f28 = i_attr().mTiltSpringFactor * -var_f24; - f32 var_f27 = i_attr().mTiltSpringFactor * -var_f23; - f32 var_f26 = field_0x8d0 * -i_attr().mTiltViscoscityResistance; - f32 var_f25 = field_0x8d4 * -i_attr().mTiltViscoscityResistance; - - field_0x8d0 += var_f28 * var_f26; - field_0x8d4 += var_f27 * var_f25; + field_0x8d0 += var_f28 + var_f26; + field_0x8d4 += var_f27 + var_f25; field_0x8c8 += field_0x8d0; field_0x8cc += field_0x8d4; @@ -1295,7 +985,7 @@ void daObjMovebox::Act_c::mode_walk() { /* 8047FCBC-8047FCE4 0022BC 0028+00 1/1 0/0 0/0 .text mode_afl_init__Q212daObjMovebox5Act_cFv */ void daObjMovebox::Act_c::mode_afl_init() { fopAcM_SetSpeedF(this, 0.0f); - mpBgW->SetCrrFunc(dBgS_MoveBGProc_Trans); + mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical); field_0x5ac = 2; } @@ -1304,22 +994,37 @@ void daObjMovebox::Act_c::mode_afl_init() { void daObjMovebox::Act_c::mode_afl() { f32 var_f31; f32 var_f30 = current.pos.y - mBgc.field_0x60; - if (var_f30 > 0.0f) { + if (var_f30 >= 0.0f) { var_f31 = 0.0f; - } else if (var_f30 > -i_attr().field_0x68) { + } else if (var_f30 <= -i_attr().field_0x68) { var_f31 = 1.0f; } else { var_f31 = -var_f30 * i_attr().field_0x6c; } - field_0x8b8 += i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f); - fopAcM_SetGravity(this, field_0x8bc + var_f31 * i_attr().mBuoyancy + - i_attr().mGravity * cM_ssin(field_0x8b8)); + field_0x8b8 += (s16)(i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f)); + fopAcM_SetGravity(this, var_f31 * i_attr().mBuoyancy + i_attr().mGravity + + i_attr().mWaterOscillationAccel * cM_ssin(field_0x8b8) + field_0x8bc); field_0x8bc = 0.0f; - if (cLib_checkBit(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) { + if (!cLib_checkBit(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) { afl_sway(); } + + f32 tmp = 1.0f - var_f31; + f32 viscosity_resistance = var_f31 * i_attr().mWaterViscoscityResistance + + tmp * i_attr().mViscosityResistance; + f32 inertia_resistance = var_f31 * i_attr().mWaterInertiaResistance + + tmp * i_attr().mInertiaResistance; + + field_0x8d8 = mBgc.field_0x60 - current.pos.y; + if (field_0x8d8 < 0.0f) { + field_0x8d8 = 0.0f; + } else if (field_0x8d8 > i_attr().field_0x68) { + field_0x8d8 = i_attr().field_0x68; + } + + daObj::posMoveF_stream(this, NULL, &cXyz::Zero, viscosity_resistance, inertia_resistance); } void daObjMovebox::Act_c::mode_proc_call() { @@ -1358,7 +1063,7 @@ void daObjMovebox::Act_c::sound_limit() { } } - mDoAud_seStartLevel(i_attr().field_0x80, &eyePos, var_r29, mReverb); + mDoAud_seStart(i_attr().field_0x80, &eyePos, var_r29, mReverb); } /* 804800E4-804801A8 0026E4 00C4+00 1/1 0/0 0/0 .text sound_land__Q212daObjMovebox5Act_cFv */ @@ -1372,7 +1077,7 @@ void daObjMovebox::Act_c::sound_land() { } } - mDoAud_seStartLevel(i_attr().field_0x84, &eyePos, var_r29, mReverb); + mDoAud_seStart(i_attr().field_0x84, &eyePos, var_r29, mReverb); } /* 804801A8-804801FC 0027A8 0054+00 1/1 0/0 0/0 .text vib_land__Q212daObjMovebox5Act_cFv @@ -1381,207 +1086,20 @@ void daObjMovebox::Act_c::vib_land() { dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f)); } -/* 8048168C-80481690 000764 0004+00 0/0 0/0 0/0 .rodata @4774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4774 = 2.0f; -COMPILER_STRIP_GATE(0x8048168C, &lit_4774); -#pragma pop - -/* 80481690-80481694 000768 0004+00 0/0 0/0 0/0 .rodata @4775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4775 = 75.0f; -COMPILER_STRIP_GATE(0x80481690, &lit_4775); -#pragma pop +f32 dummy_literal(f32 x) { + return x + 75.0f + 2.0f; +} /* 804801FC-8048027C 0027FC 0080+00 1/1 0/0 0/0 .text eff_land_smoke__Q212daObjMovebox5Act_cFv */ void daObjMovebox::Act_c::eff_land_smoke() { daObjEff::Act_c::make_land_smoke(¤t.pos, i_attr().mLandSmokeScale); } -/* 80482BDC-80482BEC 00135C 000C+04 0/0 0/0 0/0 .bss @4762 */ -#pragma push -#pragma force_active on -static u8 lit_4762[12 + 4 /* padding */]; -#pragma pop +void dummy_static() { + static cXyz particle_scale; +} -/* 80482BEC-80482BF8 00136C 000C+00 0/0 0/0 0/0 .bss particle_scale$4761 */ -#pragma push -#pragma force_active on -static u8 particle_scale[12]; -#pragma pop - -/* 80482BF8-80482BFC 001378 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80482BF8[4]; -#pragma pop - -/* 80482BFC-80482C00 00137C 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80482BFC[4]; -#pragma pop - -/* 80482C00-80482C04 001380 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C00[4]; -#pragma pop - -/* 80482C04-80482C08 001384 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C04[4]; -#pragma pop - -/* 80482C08-80482C0C 001388 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C08[4]; -#pragma pop - -/* 80482C0C-80482C10 00138C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C0C[4]; -#pragma pop - -/* 80482C10-80482C14 001390 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80482C10[4]; -#pragma pop - -/* 80482C14-80482C18 001394 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80482C14[4]; -#pragma pop - -/* 80482C18-80482C1C 001398 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80482C18[4]; -#pragma pop - -/* 80482C1C-80482C20 00139C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80482C1C[4]; -#pragma pop - -/* 80482C20-80482C24 0013A0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C20[4]; -#pragma pop - -/* 80482C24-80482C28 0013A4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C24[4]; -#pragma pop - -/* 80482C28-80482C2C 0013A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C28[4]; -#pragma pop - -/* 80482C2C-80482C30 0013AC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C2C[4]; -#pragma pop - -/* 80482C30-80482C34 0013B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80482C30[4]; -#pragma pop - -/* 80482C34-80482C38 0013B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80482C34[4]; -#pragma pop - -/* 80482C38-80482C3C 0013B8 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80482C38[4]; -#pragma pop - -/* 80482C3C-80482C40 0013BC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80482C3C[4]; -#pragma pop - -/* 80482C40-80482C44 0013C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80482C40[4]; -#pragma pop - -/* 80482C44-80482C48 0013C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C44[4]; -#pragma pop - -/* 80482C48-80482C4C 0013C8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80482C48[4]; -#pragma pop - -/* 80482C4C-80482C50 0013CC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C4C[4]; -#pragma pop - -/* 80482C50-80482C54 0013D0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C50[4]; -#pragma pop - -/* 80482C54-80482C58 0013D4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C54[4]; -#pragma pop - -/* 80482C58-80482C5C 0013D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C58[4]; -#pragma pop +AUDIO_INSTANCES; /* 8048027C-80480728 00287C 04AC+00 1/0 0/0 0/0 .text Execute__Q212daObjMovebox5Act_cFPPA3_A4_f */ int daObjMovebox::Act_c::Execute(Mtx** param_0) { @@ -1612,10 +1130,9 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) { (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd"); JUT_ASSERT(kibako_bmd != 0); - s32 room_no = fopAcM_GetRoomNo(this); JPABaseEmitter* emitter = dComIfGp_particle_set( 0x82AF, &sp48, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(), - room_no, NULL, NULL, &scale); + fopAcM_GetRoomNo(this), NULL, NULL, &scale); dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0); for (int i = 0; i < 3; i++) { @@ -1634,7 +1151,7 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) { if (cLib_checkBit(mBgc.mState, daObjMovebox::Bgc_c::STATE_20_e)) { - mDoAud_seStartLevel(i_attr().field_0x88, &eyePos, 0, mReverb); + mDoAud_seStart(i_attr().field_0x88, &eyePos, 0, mReverb); } if (field_0x5ac == 0) { @@ -1750,6 +1267,8 @@ int daObjMovebox::Act_c::Mthd_Create() { heap_size, NULL); JUT_ASSERT((phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e)); } + + return phase_state; } int daObjMovebox::Act_c::Mthd_Delete() { @@ -1814,4 +1333,4 @@ extern actor_process_profile_definition g_profile_Obj_Movebox = { 0x00040504, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_onsenTaru.cpp b/src/d/actor/d_a_obj_onsenTaru.cpp index 5a59d43b03..de99180aaa 100644 --- a/src/d/actor/d_a_obj_onsenTaru.cpp +++ b/src/d/actor/d_a_obj_onsenTaru.cpp @@ -379,10 +379,9 @@ void daOnsTaru_c::breakEffSet() { J3DModelData* kibako_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd"); JUT_ASSERT(0x310, kibako_bmd != 0); - s32 room_no = fopAcM_GetRoomNo(this); JPABaseEmitter* emitter = dComIfGp_particle_set(0x8A99, &pos, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(), - room_no, NULL, NULL, &scale); + fopAcM_GetRoomNo(this), NULL, NULL, &scale); if (emitter != NULL) { dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0); } @@ -450,4 +449,4 @@ extern actor_process_profile_definition g_profile_Obj_OnsenTaru = { 0x00040020, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_web1.cpp b/src/d/actor/d_a_obj_web1.cpp index 753cd96106..916e2e43fb 100644 --- a/src/d/actor/d_a_obj_web1.cpp +++ b/src/d/actor/d_a_obj_web1.cpp @@ -136,8 +136,7 @@ static int daObj_Web1_Execute(obj_web1_class* i_this) { i_this->mHitTimer--; } - int roomNo = fopAcM_GetRoomNo(i_this); - i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(roomNo)); + i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); if (i_this->mDeleteTimer != 0) { if (i_this->mDeleteTimer == 1) { @@ -343,4 +342,4 @@ extern actor_process_profile_definition g_profile_OBJ_WEB1 = { 0x40100, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_zraMark.cpp b/src/d/actor/d_a_obj_zraMark.cpp index c46397300b..2f757869f5 100644 --- a/src/d/actor/d_a_obj_zraMark.cpp +++ b/src/d/actor/d_a_obj_zraMark.cpp @@ -124,7 +124,7 @@ int daObjZraMark_c::CreateHeap() { break; } - s32 room_no = fopAcM_GetRoomNo(this); + s8 room_no = fopAcM_GetRoomNo(this); if (!mHahenMngr.create(pos, room_no, color, var_r29, 0)) { // "------------------Fragment Generation Error\n" OS_REPORT("------------------破片生成ミス\n"); diff --git a/src/d/actor/d_a_tag_chgrestart.cpp b/src/d/actor/d_a_tag_chgrestart.cpp index a331618d08..14e7432c46 100644 --- a/src/d/actor/d_a_tag_chgrestart.cpp +++ b/src/d/actor/d_a_tag_chgrestart.cpp @@ -77,8 +77,7 @@ s32 daTagChgRestart_c::execute() { restart_angle = entry_p->mAngle.y; } - s32 l_roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(restart_pos, restart_angle, l_roomNo); + dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player)); fopAcM_onSwitch(this, daTagChgRestart_prm::getSwNo(this)); } @@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_ChgRestart = { 0x40000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_tag_kmsg.cpp b/src/d/actor/d_a_tag_kmsg.cpp index ec2cd9a702..713489a3de 100644 --- a/src/d/actor/d_a_tag_kmsg.cpp +++ b/src/d/actor/d_a_tag_kmsg.cpp @@ -8,86 +8,6 @@ #include "d/actor/d_a_player.h" #include "SSystem/SComponent/c_counter.h" #include "string.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void create__12daTag_KMsg_cFv(); -extern "C" void Delete__12daTag_KMsg_cFv(); -extern "C" void Execute__12daTag_KMsg_cFv(); -extern "C" bool Draw__12daTag_KMsg_cFv(); -extern "C" void isDelete__12daTag_KMsg_cFv(); -extern "C" static void daTag_KMsg_Create__FPv(); -extern "C" static void daTag_KMsg_Delete__FPv(); -extern "C" static void daTag_KMsg_Execute__FPv(); -extern "C" static void daTag_KMsg_Draw__FPv(); -extern "C" static bool daTag_KMsg_IsDelete__FPv(); -extern "C" void __dt__12daTag_KMsg_cFv(); -extern "C" extern char const* const d_a_tag_kmsg__stringBase0; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void setObjectArchive__16dEvent_manager_cFPc(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c(); -extern "C" void daNpcT_getDistTableIdx__Fii(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void norm__4cXyzCFv(); -extern "C" void __ct__7cSAngleFs(); -extern "C" void Sin__7cSAngleCFv(); -extern "C" void Cos__7cSAngleCFv(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_25(); -extern "C" void _restgpr_25(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 8048EADC-8048EAE0 000000 0004+00 2/2 0/0 0/0 .rodata @3884 */ -SECTION_RODATA static f32 const lit_3884 = 10.0f; -COMPILER_STRIP_GATE(0x8048EADC, &lit_3884); - -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8048EAFC = ""; -SECTION_DEAD static char const* const stringBase_8048EAFD = "EXTINCTION"; -SECTION_DEAD static char const* const stringBase_8048EB08 = "PURCHASE"; -SECTION_DEAD static char const* const stringBase_8048EB11 = "Bans1"; -SECTION_DEAD static char const* const stringBase_8048EB17 = "sekizoA"; -SECTION_DEAD static char const* const stringBase_8048EB1F = "Lv6Gate"; -#pragma pop struct EventListItem { char* mEventName; @@ -95,48 +15,19 @@ struct EventListItem { }; /* 8048EB2C-8048EB44 -00001 0018+00 1/1 0/0 0/0 .data l_evtList */ -SECTION_DATA static EventListItem l_evtList[3] = { +static EventListItem l_evtList[3] = { {"", 0}, {"EXTINCTION", 2}, {"PURCHASE", 1}, }; /* 8048EB44-8048EB50 -00001 000C+00 1/1 0/0 0/0 .data l_resNameList */ -SECTION_DATA static char* l_resNameList[3] = { +static char* l_resNameList[3] = { "", "Bans1", "sekizoA", }; -/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */ -SECTION_DATA static void* daTag_KMsg_MethodTable[8] = { - (void*)daTag_KMsg_Create__FPv, - (void*)daTag_KMsg_Delete__FPv, - (void*)daTag_KMsg_Execute__FPv, - (void*)daTag_KMsg_IsDelete__FPv, - (void*)daTag_KMsg_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */ -SECTION_DATA extern void* g_profile_TAG_KMSG[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02EB0000, (void*)&g_fpcLf_Method, - (void*)0x000005CC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01220000, (void*)&daTag_KMsg_MethodTable, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 8048EBA0-8048EBAC 000074 000C+00 2/2 0/0 0/0 .data __vt__12daTag_KMsg_c */ -SECTION_DATA extern void* __vt__12daTag_KMsg_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daTag_KMsg_cFv, -}; - /* 8048DE78-8048DFDC 000078 0164+00 1/1 0/0 0/0 .text create__12daTag_KMsg_cFv */ int daTag_KMsg_c::create() { attention_info.position = current.pos; @@ -162,7 +53,6 @@ int daTag_KMsg_c::create() { } } - /* 8048DFDC-8048E010 0001DC 0034+00 1/1 0/0 0/0 .text Delete__12daTag_KMsg_cFv */ int daTag_KMsg_c::Delete() { OS_REPORT("|%06d:%x|daTag_KMsg_c -> Delete\n", g_Counter, this); @@ -171,57 +61,8 @@ int daTag_KMsg_c::Delete() { return 1; } -/* ############################################################################################## */ -/* 8048EAE0-8048EAE4 000004 0004+00 0/1 0/0 0/0 .rodata @4206 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4206 = 1000000000.0f; -COMPILER_STRIP_GATE(0x8048EAE0, &lit_4206); -#pragma pop - -/* 8048EAE4-8048EAE8 000008 0004+00 0/1 0/0 0/0 .rodata @4207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4207 = -0.5f; -COMPILER_STRIP_GATE(0x8048EAE4, &lit_4207); -#pragma pop - -/* 8048EAE8-8048EAEC 00000C 0004+00 0/1 0/0 0/0 .rodata @4208 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4208 = -20.0f; -COMPILER_STRIP_GATE(0x8048EAE8, &lit_4208); -#pragma pop - -/* 8048EAEC-8048EAF4 000010 0004+04 0/1 0/0 0/0 .rodata @4209 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4209[1 + 1 /* padding */] = { - 80.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8048EAEC, &lit_4209); -#pragma pop - -/* 8048EAF4-8048EAFC 000018 0008+00 0/1 0/0 0/0 .rodata @4211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4211[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8048EAF4, &lit_4211); -#pragma pop - -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8048EB27 = "KMsg"; -#pragma pop - /* 8048E010-8048E8B8 000210 08A8+00 1/1 0/0 0/0 .text Execute__12daTag_KMsg_cFv */ -// Various issues: stack, getTalkAngle -#ifdef NONMATCHING +// NONMATCHING Various issues: stack, getTalkAngle int daTag_KMsg_c::Execute() { bool r28 = false; if (home.roomNo == dComIfGp_roomControl_getStayNo()) { @@ -346,19 +187,18 @@ int daTag_KMsg_c::Execute() { cXyz vec60 = attention_info.position; vec60.y += f31; cXyz vec54; - cXyz vec9c; vec54.x = vec60.x + 80.0f * angle.Sin(); vec54.y = vec60.y; - vec54.z = vec60.x + 80.0f * angle.Cos(); + vec54.z = vec60.z + 80.0f * angle.Cos(); dBgS_LinChk lin_chk; lin_chk.ClrSttsWallOff(); lin_chk.onBackFlag(); lin_chk.onFrontFlag(); lin_chk.Set(&vec54, &vec60, NULL); if (dComIfG_Bgsp().LineCross(&lin_chk)) { + cXyz vec48; cXyz vec30 = vec54 - vec60; - // !@bug If decompiled correctly, vec9c is uninitialized - cXyz vec48 = vec9c + vec30.norm() * 10.0f; + vec48 = lin_chk.i_GetCross() + vec30.norm() * 10.0f; attention_info.position.x = vec48.x; attention_info.position.z = vec48.z; } @@ -368,11 +208,6 @@ int daTag_KMsg_c::Execute() { } return 0; } -#else -int daTag_KMsg_c::Execute() { - // NONMATCHING -} -#endif /* 8048E8B8-8048E8C0 000AB8 0008+00 1/1 0/0 0/0 .text Draw__12daTag_KMsg_cFv */ int daTag_KMsg_c::Draw() { @@ -380,7 +215,6 @@ int daTag_KMsg_c::Draw() { } /* 8048E8C0-8048E9A8 000AC0 00E8+00 2/2 0/0 0/0 .text isDelete__12daTag_KMsg_cFv */ -#ifndef NONMATCHING int daTag_KMsg_c::isDelete() { switch(getType()) { case KMSG_TYPE_0: @@ -403,11 +237,6 @@ int daTag_KMsg_c::isDelete() { return 0; } } -#else -int daTag_KMsg_c::isDelete() { - // NONMATCHING -} -#endif /* 8048E9A8-8048E9C8 000BA8 0020+00 1/0 0/0 0/0 .text daTag_KMsg_Create__FPv */ static int daTag_KMsg_Create(void* i_this) { @@ -434,10 +263,21 @@ static int daTag_KMsg_IsDelete(void* param_0) { return 1; } -/* 8048EA30-8048EAD4 000C30 00A4+00 1/0 0/0 0/0 .text __dt__12daTag_KMsg_cFv */ -void __dt__12daTag_KMsg_cFv() { -//asm daTag_KMsg_c::~daTag_KMsg_c() { - // NONMATCHING -} +/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */ +static void* daTag_KMsg_MethodTable[8] = { + (void*)daTag_KMsg_Create, + (void*)daTag_KMsg_Delete, + (void*)daTag_KMsg_Execute, + (void*)daTag_KMsg_IsDelete, + (void*)daTag_KMsg_Draw, +}; -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */ +extern void* g_profile_TAG_KMSG[12] = { + (void*)0xFFFFFFFD, (void*)0x0008FFFD, + (void*)0x02EB0000, (void*)&g_fpcLf_Method, + (void*)0x000005CC, (void*)NULL, + (void*)NULL, (void*)&g_fopAc_Method, + (void*)0x01220000, (void*)&daTag_KMsg_MethodTable, + (void*)0x00044000, (void*)0x000E0000, +}; diff --git a/src/d/actor/d_a_tag_setrestart.cpp b/src/d/actor/d_a_tag_setrestart.cpp index bf61837817..e9ac281fb4 100644 --- a/src/d/actor/d_a_tag_setrestart.cpp +++ b/src/d/actor/d_a_tag_setrestart.cpp @@ -75,8 +75,7 @@ int daTagRestart_c::execute() { restart_pos.y = fopAcM_gc_c::getGroundY(); } - s32 player_roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(restart_pos, restart_angle, player_roomNo); + dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player)); } } @@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_Restart = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index b5e05e04de..e4b67011f1 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -719,9 +719,8 @@ void daTbox_c::dropProc() { mDoMtx_identity(field_0x988); speedF = 0.0f; cXyz vec1(2.0f, 2.0f, 2.0f); - s32 room_no = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0xe7, mAcch.m_gnd, ¤t.pos, &tevStr, &home.angle, - &vec1, 0, NULL, room_no, NULL); + &vec1, 0, NULL, fopAcM_GetRoomNo(this), NULL); dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); u32 sound_id = 0; cXyz vec2 = current.pos; @@ -1247,7 +1246,8 @@ int daTbox_c::setGetDemoItem() { } /* 804946A4-804948CC 003A64 0228+00 11/0 0/0 0/0 .text actionOpenWait__8daTbox_cFv */ -// nonmatching (regalloc) +// nonmatching -- matches if checkTreasureRupeeReturn has return type bool, +// but that breaks daAlink_c::procCoGetItem int daTbox_c::actionOpenWait() { daMidna_c* midna = daPy_py_c::getMidnaActor(); daPy_py_c* player = daPy_getPlayerActorClass(); @@ -1720,4 +1720,4 @@ extern actor_process_profile_definition g_profile_TBOX = { 0x44100, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_ykgr.cpp b/src/d/actor/d_a_ykgr.cpp index f3425713e0..9ec2e53702 100644 --- a/src/d/actor/d_a_ykgr.cpp +++ b/src/d/actor/d_a_ykgr.cpp @@ -6,125 +6,37 @@ #include "d/actor/d_a_ykgr.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" -#include "dol2asm.h" #include "JSystem/JKernel/JKRHeap.h" +#include "Z2AudioLib/Z2Instances.h" -// -// Forward References: -// +inline daYkgr_HIO_c::daYkgr_HIO_c() { + field_0x4 = 0; + field_0x8 = 0xff; + field_0xc = 3; + field_0x10 = -16.0f; + field_0x14 = -5.0f; + field_0x18 = -3.0f; + field_0x1c = 0.0f; + field_0x20 = 1500.0f; + field_0x24 = 500.0f; +} -extern "C" void draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void setParam__17dPa_YkgrPcallBackFf(); -extern "C" void getPosRate__8daYkgr_cFv(); -extern "C" static void daYkgrCreate__FPv(); -extern "C" static bool daYkgrDelete__FPv(); -extern "C" static void daYkgrExecute__FPv(); -extern "C" static void daYkgrDraw__FPv(); -extern "C" static bool daYkgrIsDelete__FPv(); -extern "C" void __dt__12daYkgr_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void __dt__17dPa_YkgrPcallBackFv(); -extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void __sinit_d_a_ykgr_cpp(); -extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" extern char const* const d_a_ykgr__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_setStageLayer__FPv(); -extern "C" void dComIfGs_BossLife_public_Get__Fv(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void __dt__19JPAParticleCallBackFv(); -extern "C" void func_802807E0(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 m_aim_rate__8daYkgr_c[4]; -extern "C" u8 m_path__8daYkgr_c[4]; -extern "C" u8 m_emitter__8daYkgr_c[4]; -extern "C" void __register_global_object(); - -// -// Declarations: -// +inline dPa_YkgrPcallBack::dPa_YkgrPcallBack() { + field_0x4 = 0.5f; + field_0x8 = 0.0f; + field_0xc = 0.0f; + field_0x10 = 0.0f; + field_0x14 = 0.5f; + field_0x18 = 0.0f; + field_0x1c = 1; +} /* 805A848C-805A84D4 0000EC 0048+00 1/0 0/0 0/0 .text * draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle */ -// Needs inheritance -#ifdef NONMATCHING void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { GXSetIndTexMtx(GX_ITM_0, &field_0x4, field_0x1c); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); } -#else -void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 805A8FBC-805A8FC0 000000 0004+00 6/6 0/0 0/0 .rodata @3759 */ -SECTION_RODATA static f32 const lit_3759 = -17.0f; -COMPILER_STRIP_GATE(0x805A8FBC, &lit_3759); - -/* 805A8FC0-805A8FC4 000004 0004+00 0/1 0/0 0/0 .rodata @3760 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3760 = 47.0f; -COMPILER_STRIP_GATE(0x805A8FC0, &lit_3760); -#pragma pop - -/* 805A8FC4-805A8FC8 000008 0004+00 0/5 0/0 0/0 .rodata @3761 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3761[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FC4, &lit_3761); -#pragma pop - -/* 805A8FC8-805A8FCC 00000C 0004+00 0/4 0/0 0/0 .rodata @3762 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3762 = 0.5f; -COMPILER_STRIP_GATE(0x805A8FC8, &lit_3762); -#pragma pop - -/* 805A8FCC-805A8FD4 000010 0004+04 0/4 0/0 0/0 .rodata @3763 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3763[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x805A8FCC, &lit_3763); -#pragma pop - -/* 805A8FD4-805A8FDC 000018 0008+00 0/2 0/0 0/0 .rodata @3766 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3766[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FD4, &lit_3766); -#pragma pop /* 805A84D4-805A85D4 000134 0100+00 2/2 0/0 0/0 .text setParam__17dPa_YkgrPcallBackFf */ void dPa_YkgrPcallBack::setParam(f32 param_1) { @@ -148,136 +60,25 @@ void dPa_YkgrPcallBack::setParam(f32 param_1) { } } - -/* ############################################################################################## */ -/* 805A8FDC-805A8FE4 000020 0008+00 0/1 0/0 0/0 .rodata @3846 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3846[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FDC, &lit_3846); -#pragma pop - -/* 805A8FE4-805A8FEC 000028 0008+00 0/1 0/0 0/0 .rodata @3847 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3847[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FE4, &lit_3847); -#pragma pop - -/* 805A8FEC-805A8FF4 000030 0008+00 0/1 0/0 0/0 .rodata @3848 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3848[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FEC, &lit_3848); -#pragma pop - -/* 805A90B8-805A90BC 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 805A90BC-805A90C0 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 805A90C0-805A90C4 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 805A90C4-805A90C8 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 805A90C8-805A90CC 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 805A90CC-805A90D0 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 805A90D0-805A90D4 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 805A90D4-805A90D8 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 805A90D8-805A90DC 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 805A90DC-805A90E0 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 805A90E0-805A90E4 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 805A90E4-805A90E8 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 805A90E8-805A90EC 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 805A90EC-805A90F0 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 805A90F0-805A90F4 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 805A90F4-805A90F8 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 805A90F8-805A9104 000048 000C+00 0/1 0/0 0/0 .bss @3744 */ -#pragma push -#pragma force_active on -static u8 lit_3744[12]; -#pragma pop +UNK_BSS(1109) +UNK_BSS(1107) +UNK_BSS(1105) +UNK_BSS(1104) +UNK_BSS(1099) +UNK_BSS(1097) +UNK_BSS(1095) +UNK_BSS(1094) +UNK_BSS(1057) +UNK_BSS(1055) +UNK_BSS(1053) +UNK_BSS(1052) +UNK_BSS(1014) +UNK_BSS(1012) +UNK_BSS(1010) +UNK_BSS(1009) /* 805A9104-805A912C 000054 0028+00 2/3 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[40]; +static daYkgr_HIO_c l_HIO; /* 805A85D4-805A882C 000234 0258+00 1/1 0/0 0/0 .text getPosRate__8daYkgr_cFv */ f32 daYkgr_c::getPosRate() { @@ -295,37 +96,21 @@ f32 daYkgr_c::getPosRate() { dVar11 = dVar10; } } - if (dVar11 > ((daYkgr_HIO_c*)&l_HIO)->field_0x20) { - dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x20; - } else if (dVar11 < ((daYkgr_HIO_c*)&l_HIO)->field_0x24) { - dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x24; + if (dVar11 > l_HIO.field_0x20) { + dVar11 = l_HIO.field_0x20; + } else if (dVar11 < l_HIO.field_0x24) { + dVar11 = l_HIO.field_0x24; } - f32 y = (((daYkgr_HIO_c*)&l_HIO)->field_0x20); - y = (dVar11 - ((daYkgr_HIO_c*)&l_HIO)->field_0x24) / (y -((daYkgr_HIO_c*)&l_HIO)->field_0x24); + f32 y = (l_HIO.field_0x20); + y = (dVar11 - l_HIO.field_0x24) / (y -l_HIO.field_0x24); return 1.0f - y; } - -/* ############################################################################################## */ -/* 805A8FF4-805A8FF8 000038 0004+00 0/2 0/0 0/0 .rodata @3951 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3951 = -3.0f; -COMPILER_STRIP_GATE(0x805A8FF4, &lit_3951); -#pragma pop - -/* 805A912C-805A9138 00007C 000C+00 0/1 0/0 0/0 .bss @3851 */ -#pragma push -#pragma force_active on -static u8 lit_3851[12]; -#pragma pop - /* 805A9138-805A9158 000088 0020+00 2/3 0/0 0/0 .bss YkgrCB */ -static u8 YkgrCB[32]; +static dPa_YkgrPcallBack YkgrCB; /* 805A882C-805A8A48 00048C 021C+00 1/0 0/0 0/0 .text daYkgrCreate__FPv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc inline int daYkgr_c::_create() { dPath* path; s32 uVar1 = fopAcM_GetParam(this) ; @@ -344,8 +129,8 @@ inline int daYkgr_c::_create() { this->current.pos = player->current.pos; m_emitter = dComIfGp_particle_set(0x80e2, &this->current.pos, NULL, NULL); if (m_emitter != NULL) { - m_emitter->setParticleCallBackPtr((JPAParticleCallBack*)YkgrCB); - ((dPa_YkgrPcallBack*)YkgrCB)->setParam(-3.0f); + m_emitter->setParticleCallBackPtr(&YkgrCB); + YkgrCB.setParam(-3.0f); } else { return cPhs_ERROR_e; } @@ -377,50 +162,31 @@ inline int daYkgr_c::_create() { static int daYkgrCreate(void* i_this) { return static_cast(i_this)->_create(); } -#else -static int daYkgrCreate(void* param_0) { - // NONMATCHING -} -#endif /* 805A8A48-805A8A50 0006A8 0008+00 1/0 0/0 0/0 .text daYkgrDelete__FPv */ static int daYkgrDelete(void* param_0) { return 1; } -/* ############################################################################################## */ -/* 805A8FF8-805A8FFC 00003C 0004+00 0/1 0/0 0/0 .rodata @3976 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3976 = 0.25f; -COMPILER_STRIP_GATE(0x805A8FF8, &lit_3976); -#pragma pop - -/* 805A8FFC-805A9000 000040 0004+00 0/1 0/0 0/0 .rodata @3977 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3977 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x805A8FFC, &lit_3977); -#pragma pop - /* 805A8A50-805A8BBC 0006B0 016C+00 1/0 0/0 0/0 .text daYkgrExecute__FPv */ +// NONMATCHING regalloc inline int daYkgr_c::_execute() { cLib_addCalc2(&field_0x5a4, m_aim_rate, 0.25f, 0.05f); - cLib_addCalc2(&m_aim_rate, ((f32*)l_HIO)[7], 0.25f, 0.05f); + cLib_addCalc2(&m_aim_rate, l_HIO.field_0x1c, 0.25f, 0.05f); cLib_addCalc2(&field_0x5a8, getPosRate(), 0.25f, 0.05f); f32 fVar4 = field_0x5a8 * 0.5f + field_0x5a4 * 0.5f; - ((dPa_YkgrPcallBack*)YkgrCB)->setParam(fVar4 * ((f32*)l_HIO)[6] + (1.0f - fVar4) * ((f32*)l_HIO)[5]); + YkgrCB.setParam(fVar4 * l_HIO.field_0x18 + (1.0f - fVar4) * l_HIO.field_0x14); if (m_alpha_flag == 0) { if (m_alpha != 0) { - if (m_alpha > ((s32*)l_HIO)[3]) { - m_alpha = m_alpha - ((s32*)l_HIO)[3]; + if (m_alpha > l_HIO.field_0xc) { + m_alpha = m_alpha - l_HIO.field_0xc; } else { m_alpha = 0; } } } else if (m_alpha < 0xff) { - if (m_alpha < 0xff - ((s32*)l_HIO)[3]) { - m_alpha = m_alpha + ((s32*)l_HIO)[3]; + if (m_alpha < 0xff - l_HIO.field_0xc) { + m_alpha = m_alpha + l_HIO.field_0xc; } else { m_alpha = 0xff; } @@ -432,33 +198,12 @@ static int daYkgrExecute(void* i_this) { return static_cast(i_this)->_execute(); } - -/* ############################################################################################## */ -/* 805A9000-805A9004 000044 0004+00 0/1 0/0 0/0 .rodata @4032 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4032 = 100.0f; -COMPILER_STRIP_GATE(0x805A9000, &lit_4032); -#pragma pop - -/* 805A9004-805A9008 000048 0004+00 0/1 0/0 0/0 .rodata @4033 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4033 = 255.0f; -COMPILER_STRIP_GATE(0x805A9004, &lit_4033); -#pragma pop - -/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_805A9018 = "D_MN04A"; -#pragma pop - /* 805A8BBC-805A8D90 00081C 01D4+00 1/0 0/0 0/0 .text daYkgrDraw__FPv */ inline int daYkgr_c::_draw() { bool rv; if (strcmp(dComIfGp_getStartStageName(), "D_MN04A") == 0) { - m_alpha = (dComIfGs_BossLife_public_Get() / 100.0f) * 255.0f; + f32 alpha = dComIfGs_BossLife_public_Get() / 100.0f; + m_alpha = alpha * 255.0f; if (m_alpha == 0) { m_alpha++; } @@ -480,13 +225,16 @@ static int daYkgrDraw(void* i_this) { return static_cast(i_this)->_draw(); } - /* 805A8D90-805A8D98 0009F0 0008+00 1/0 0/0 0/0 .text daYkgrIsDelete__FPv */ static int daYkgrIsDelete(void* param_0) { return 1; } -/* ############################################################################################## */ +/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */ +daYkgr_HIO_c::~daYkgr_HIO_c() { + /* empty function */ +} + /* 805A9020-805A9040 -00001 0020+00 1/0 0/0 0/0 .data daYkgrMethodTable */ static actor_method_class daYkgrMethodTable = { daYkgrCreate, @@ -513,280 +261,4 @@ extern actor_process_profile_definition g_profile_Ykgr = { 0, }; -/* 805A9070-805A9084 000050 0014+00 2/2 0/0 0/0 .data __vt__17dPa_YkgrPcallBack */ -SECTION_DATA extern void* __vt__17dPa_YkgrPcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dPa_YkgrPcallBackFv, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 805A9084-805A9098 000064 0014+00 1/1 0/0 0/0 .data __vt__19JPAParticleCallBack */ -SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 805A9098-805A90A4 000078 000C+00 2/2 0/0 0/0 .data __vt__12daYkgr_HIO_c */ -SECTION_DATA extern void* __vt__12daYkgr_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daYkgr_HIO_cFv, -}; - -/* 805A90A4-805A90B0 000084 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; - -/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */ -daYkgr_HIO_c::~daYkgr_HIO_c() { - // NONMATCHING -} - -/* 805A8DF4-805A8E3C 000A54 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -void __dt__14mDoHIO_entry_cFv() { -//asm mDoHIO_entry_c::~mDoHIO_entry_c() { - // NONMATCHING -} - -/* 805A8E3C-805A8E9C 000A9C 0060+00 2/1 0/0 0/0 .text __dt__17dPa_YkgrPcallBackFv */ -#ifdef NONMATCHING -dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { -} -#else -dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { - // NONMATCHING -} -#endif - -/* 805A8E9C-805A8EA0 000AFC 0004+00 2/0 0/0 0/0 .text - * execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -void JPAParticleCallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 805A9008-805A900C 00004C 0004+00 0/1 0/0 0/0 .rodata @4061 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4061 = -16.0f; -COMPILER_STRIP_GATE(0x805A9008, &lit_4061); -#pragma pop - -/* 805A900C-805A9010 000050 0004+00 0/1 0/0 0/0 .rodata @4062 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4062 = -5.0f; -COMPILER_STRIP_GATE(0x805A900C, &lit_4062); -#pragma pop - -/* 805A9010-805A9014 000054 0004+00 0/1 0/0 0/0 .rodata @4063 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4063 = 1500.0f; -COMPILER_STRIP_GATE(0x805A9010, &lit_4063); -#pragma pop - -/* 805A9014-805A9018 000058 0004+00 0/1 0/0 0/0 .rodata @4064 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4064 = 500.0f; -COMPILER_STRIP_GATE(0x805A9014, &lit_4064); -#pragma pop - -/* 805A8EA0-805A8FA4 000B00 0104+00 0/0 1/0 0/0 .text __sinit_d_a_ykgr_cpp */ -void __sinit_d_a_ykgr_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805A8EA0, __sinit_d_a_ykgr_cpp); -#pragma pop - -/* 805A8FA4-805A8FA8 000C04 0004+00 1/0 0/0 0/0 .text - * draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -void JPAParticleCallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 805A9158-805A915C 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9158[4]; -#pragma pop - -/* 805A915C-805A9160 0000AC 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_805A915C[4]; -#pragma pop - -/* 805A9160-805A9164 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9160[4]; -#pragma pop - -/* 805A9164-805A9168 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9164[4]; -#pragma pop - -/* 805A9168-805A916C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A9168[4]; -#pragma pop - -/* 805A916C-805A9170 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A916C[4]; -#pragma pop - -/* 805A9170-805A9174 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_805A9170[4]; -#pragma pop - -/* 805A9174-805A9178 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805A9174[4]; -#pragma pop - -/* 805A9178-805A917C 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805A9178[4]; -#pragma pop - -/* 805A917C-805A9180 0000CC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_805A917C[4]; -#pragma pop - -/* 805A9180-805A9184 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9180[4]; -#pragma pop - -/* 805A9184-805A9188 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9184[4]; -#pragma pop - -/* 805A9188-805A918C 0000D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9188[4]; -#pragma pop - -/* 805A918C-805A9190 0000DC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A918C[4]; -#pragma pop - -/* 805A9190-805A9194 0000E0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805A9190[4]; -#pragma pop - -/* 805A9194-805A9198 0000E4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9194[4]; -#pragma pop - -/* 805A9198-805A919C 0000E8 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9198[4]; -#pragma pop - -/* 805A919C-805A91A0 0000EC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805A919C[4]; -#pragma pop - -/* 805A91A0-805A91A4 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_805A91A0[4]; -#pragma pop - -/* 805A91A4-805A91A8 0000F4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A91A4[4]; -#pragma pop - -/* 805A91A8-805A91AC 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_805A91A8[4]; -#pragma pop - -/* 805A91AC-805A91B0 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91AC[4]; -#pragma pop - -/* 805A91B0-805A91B4 000100 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91B0[4]; -#pragma pop - -/* 805A91B4-805A91B8 000104 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91B4[4]; -#pragma pop - -/* 805A91B8-805A91BC 000108 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A91B8[4]; -#pragma pop - -/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +AUDIO_INSTANCES; diff --git a/src/d/d_a_obj.cpp b/src/d/d_a_obj.cpp index fee6f61f8f..123d1184f2 100644 --- a/src/d/d_a_obj.cpp +++ b/src/d/d_a_obj.cpp @@ -17,18 +17,15 @@ void eff_break_tsubo(fopAc_ac_c* i_actor, cXyz i_scale, int i_type) { J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20); J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42); - s32 roomNo = fopAcM_GetRoomNo(i_actor); - JPABaseEmitter* emitter = dComIfGp_particle_set( dPa_name::ZI_J_M_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF, - (dPa_modelEcallBack*)&dPa_modelEcallBack::mEcallback, roomNo, NULL, NULL, &i_scale); + &dPa_modelEcallBack::mEcallback, fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale); dPa_modelEcallBack::setModel(emitter, tubo_bmd, i_actor->tevStr, 3, tubo_btp, 0, i_type); - s32 roomNo2 = fopAcM_GetRoomNo(i_actor); dComIfGp_particle_set(dPa_name::ZI_J_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF, - dPa_control_c::getTsuboSelectTexEcallBack(i_type), roomNo2, NULL, NULL, - &i_scale); + dPa_control_c::getTsuboSelectTexEcallBack(i_type), + fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale); } /* 80037180-80037210 031AC0 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo__5daObjFP10fopAc_ac_c @@ -221,15 +218,3 @@ void HitSeStart(cXyz const* i_sePos, int i_roomNo, dCcD_GObjInf const* i_CcObj, } } } // namespace daObj - -/* 80037A4C-80037A54 03238C 0008+00 0/0 2/0 0/0 .text GetCoCP__12cCcD_CylAttrFv */ -// void cCcD_CylAttr::GetCoCP() { -extern "C" void GetCoCP__12cCcD_CylAttrFv() { - // NONMATCHING -} - -/* 80037A54-80037A5C 032394 0008+00 0/0 2/0 0/0 .text GetCoCP__12cCcD_SphAttrFv */ -// void cCcD_SphAttr::GetCoCP() { -extern "C" void GetCoCP__12cCcD_SphAttrFv() { - // NONMATCHING -} \ No newline at end of file diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 881af5f637..e2efbab95b 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -12,10 +12,6 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_controller_pad.h" -// -// Types: -// - class dAttDrawParam_c { public: /* 80070158 */ dAttDrawParam_c(); @@ -26,156 +22,6 @@ public: /* 0xC */ f32 field_0xc; }; -// -// Forward References: -// - -extern "C" void __ct__11dAttParam_cFl(); -extern "C" void __dt__11dAttParam_cFv(); -extern "C" void __ct__15dAttDrawParam_cFv(); -extern "C" void execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo(); -extern "C" void __ct__12dAttention_cFP10fopAc_ac_cUl(); -extern "C" void __dt__12dAttention_cFv(); -extern "C" void GetLockonList__12dAttention_cFl(); -extern "C" void getActionBtnB__12dAttention_cFv(); -extern "C" void getActionBtnXY__12dAttention_cFv(); -extern "C" void chkAttMask__12dAttention_cFUlUl(); -extern "C" static void check_event_condition__FUlUs(); -extern "C" static void check_flontofplayer__FUlss(); -extern "C" static void distace_weight__Ffsf(); -extern "C" static void distace_angle_adjust__Ffsf(); -extern "C" static void check_distace__FP4cXyzsP4cXyzffff(); -extern "C" void calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl(); -extern "C" void setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl(); -extern "C" void initList__12dAttention_cFUl(); -extern "C" static void select_attention__FP10fopAc_ac_cPv(); -extern "C" void makeList__12dAttention_cFv(); -extern "C" void setOwnerAttentionPos__12dAttention_cFv(); -extern "C" void SelectAttention__12dAttention_cFP10fopAc_ac_c(); -extern "C" void __dt__7cSGlobeFv(); -extern "C" void sortList__12dAttention_cFv(); -extern "C" void stockAttention__12dAttention_cFv(); -extern "C" void nextAttention__12dAttention_cFv(); -extern "C" void freeAttention__12dAttention_cFv(); -extern "C" void chaseAttention__12dAttention_cFv(); -extern "C" void EnemyDistance__12dAttention_cFP10fopAc_ac_c(); -extern "C" static void sound_attention__FP10fopAc_ac_cPv(); -extern "C" void runSoundProc__12dAttention_cFv(); -extern "C" void runDrawProc__12dAttention_cFv(); -extern "C" void runDebugDisp__12dAttention_cFv(); -extern "C" void checkButton__12dAttention_cFv(); -extern "C" void triggerProc__12dAttention_cFv(); -extern "C" void lostCheck__12dAttention_cFv(); -extern "C" void judgementStatus4Hold__12dAttention_cFv(); -extern "C" void judgementStatus4Switch__12dAttention_cFv(); -extern "C" void Run__12dAttention_cFv(); -extern "C" void Draw__12dAttention_cFv(); -extern "C" void lockSoundStart__12dAttention_cFUl(); -extern "C" void setAnm__10dAttDraw_cFUcf(); -extern "C" void setAlphaAnm__10dAttDraw_cFUcUc(); -extern "C" void alphaAnm__10dAttDraw_cFv(); -extern "C" void setTevKColor__11J3DTevBlockFUlPC10J3DGXColor(); -extern "C" void draw__10dAttDraw_cFR4cXyzPA4_f(); -extern "C" void LockonTarget__12dAttention_cFl(); -extern "C" void LockonReleaseDistanse__12dAttention_cFv(); -extern "C" void LockonTargetPId__12dAttention_cFl(); -extern "C" void ActionTarget__12dAttention_cFl(); -extern "C" void CheckObjectTarget__12dAttention_cFl(); -extern "C" void LockonTruth__12dAttention_cFv(); -extern "C" void checkDistance__12dAttention_cFP4cXyzsP4cXyzffff(); -extern "C" void getActor__10dAttList_cFv(); -extern "C" void setActor__10dAttList_cFP10fopAc_ac_c(); -extern "C" void getPId__10dAttHint_cFPv(); -extern "C" void convPId__10dAttHint_cFUi(); -extern "C" void request__10dAttHint_cFP10fopAc_ac_ci(); -extern "C" void init__10dAttHint_cFv(); -extern "C" void proc__10dAttHint_cFv(); -extern "C" void convPId__11dAttCatch_cFUi(); -extern "C" void init__11dAttCatch_cFv(); -extern "C" void proc__11dAttCatch_cFv(); -extern "C" void request__11dAttCatch_cFP10fopAc_ac_cUcfffsi(); -extern "C" void convPId__10dAttLook_cFUi(); -extern "C" void init__10dAttLook_cFv(); -extern "C" void proc__10dAttLook_cFv(); -extern "C" void request__10dAttLook_cFP10fopAc_ac_cfffsi(); -extern "C" void __dt__15dAttDrawParam_cFv(); -extern "C" void __sinit_d_attention_cpp(); -extern "C" extern char const* const d_d_attention__stringBase0; -extern "C" u8 loc_type_tbl__12dAttention_c[12]; -extern "C" u8 act_type_tbl__12dAttention_c[20]; -extern "C" u32 loc_type_num__12dAttention_c; -extern "C" u32 act_type_num__12dAttention_c; -extern "C" u32 chk_type_tbl__12dAttention_c; -extern "C" u32 chk_type_num__12dAttention_c; -extern "C" extern u8 data_80450680[8]; -extern "C" extern u8 data_80450688[8]; - -// -// External References: -// - -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss(); -extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_restoreCurrentHeap__Fv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcIt_Executor__FPFPvPv_iPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void __dt__10dAttList_cFv(); -extern "C" void __ct__10dAttList_cFv(); -extern "C" void __dt__10dAttDraw_cFv(); -extern "C" void __ct__10dAttDraw_cFv(); -extern "C" void isSwitch__12dSv_danBit_cCFi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getAttentionOffsetY__9daPy_py_cFv(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ct__7cSAngleFRC7cSAngle(); -extern "C" void __ct__7cSAngleFs(); -extern "C" void Inv__7cSAngleCFv(); -extern "C" void __mi__7cSAngleCFs(); -extern "C" void __ct__7cSGlobeFRC4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void bgmNowBattle__8Z2SeqMgrFf(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__25mDoExt_McaMorfCallBack1_c[3]; -extern "C" u8 dist_table__12dAttention_c[6552]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - /* 80070018-80070038 06A958 0020+00 2/2 0/0 0/0 .text padLockButton__25@unnamed@d_attention_cpp@Fl */ namespace { @@ -184,103 +30,18 @@ static bool padLockButton(s32 i_padNo) { } } // namespace -/* ############################################################################################## */ -/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A770 = "D_MN09B"; -#pragma pop - /* 803A9BF8-803A9C04 006D18 000C+00 2/2 0/0 0/0 .data loc_type_tbl__12dAttention_c */ -SECTION_DATA type_tbl_entry dAttention_c::loc_type_tbl[3] = { +type_tbl_entry dAttention_c::loc_type_tbl[3] = { {0, 1}, {1, 2}, {2, 4}, }; /* 803A9C04-803A9C18 006D24 0014+00 1/1 0/0 0/0 .data act_type_tbl__12dAttention_c */ -SECTION_DATA type_tbl_entry dAttention_c::act_type_tbl[5] = { +type_tbl_entry dAttention_c::act_type_tbl[5] = { {3, 8}, {4, 16}, {5, 32}, {6, 64}, {7, 128}, }; -/* 803A9C18-803A9C3C 006D38 0024+00 1/1 0/0 0/0 .data ftp_table$4417 */ -SECTION_DATA static int ftp_table[9] = { - 4, 1, 2, 8, 16, 32, 64, 128, 256, -}; - -/* 803A9C3C-803A9C48 006D5C 000C+00 1/1 0/0 0/0 .data ang_table2$4419 */ -SECTION_DATA static s16 ang_table2[6] = { - 0x0AAA, 0x2000, 0x2AAA, 0x4000, 0x4E38, 0x6000, -}; - -/* 803A9C48-803A9C54 006D68 000C+00 1/1 1/1 0/0 .data __vt__19dAttDraw_CallBack_c */ -SECTION_DATA extern void* __vt__19dAttDraw_CallBack_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo, -}; - -/* 803A9C54-803A9C60 006D74 000C+00 2/2 0/0 0/0 .data __vt__15dAttDrawParam_c */ -SECTION_DATA extern void* __vt__15dAttDrawParam_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dAttDrawParam_cFv, -}; - -/* 803A9C60-803A9C70 006D80 000C+04 3/3 1/1 0/0 .data __vt__11dAttParam_c */ -SECTION_DATA extern void* __vt__11dAttParam_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11dAttParam_cFv, - /* padding */ - NULL, -}; - -/* 80452628-8045262C 000C28 0004+00 1/1 0/0 0/0 .sdata2 @4061 */ -SECTION_SDATA2 static f32 lit_4061 = 45.0f; - -/* 8045262C-80452630 000C2C 0004+00 1/1 0/0 0/0 .sdata2 @4062 */ -SECTION_SDATA2 static f32 lit_4062 = 30.0f; - -/* 80452630-80452634 000C30 0004+00 1/1 0/0 0/0 .sdata2 @4063 */ -SECTION_SDATA2 static f32 lit_4063 = 90.0f; - -/* 80452634-80452638 000C34 0004+00 2/2 0/0 0/0 .sdata2 @4064 */ -SECTION_SDATA2 static f32 lit_4064 = -9.0f / 10.0f; - -/* 80452638-8045263C 000C38 0004+00 1/1 0/0 0/0 .sdata2 @4065 */ -SECTION_SDATA2 static f32 lit_4065 = 3000.0f; - -/* 8045263C-80452640 000C3C 0004+00 1/1 0/0 0/0 .sdata2 @4066 */ -SECTION_SDATA2 static f32 lit_4066 = 1000.0f; - -/* 80452640-80452644 000C40 0004+00 1/1 0/0 0/0 .sdata2 @4067 */ -SECTION_SDATA2 static f32 lit_4067 = 6.0f; - -/* 80452644-80452648 000C44 0004+00 1/1 0/0 0/0 .sdata2 @4068 */ -SECTION_SDATA2 static f32 lit_4068 = 4.5f; - -/* 80452648-8045264C 000C48 0004+00 1/1 0/0 0/0 .sdata2 @4069 */ -SECTION_SDATA2 static f32 lit_4069 = 14.0f; - -/* 8045264C-80452650 000C4C 0004+00 1/1 0/0 0/0 .sdata2 @4070 */ -SECTION_SDATA2 static f32 lit_4070 = 10.0f; - -/* 80452650-80452654 000C50 0004+00 12/12 0/0 0/0 .sdata2 @4071 */ -SECTION_SDATA2 static u8 lit_4071[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80452654-80452658 000C54 0004+00 1/1 0/0 0/0 .sdata2 @4072 */ -SECTION_SDATA2 static f32 lit_4072 = 17.0f / 10.0f; - -/* 80452658-8045265C 000C58 0004+00 10/10 0/0 0/0 .sdata2 @4073 */ -SECTION_SDATA2 static f32 lit_4073 = 1.0f; - -/* ############################################################################################## */ /* 80450F58-80450F60 000458 0008+00 0/0 2/2 0/0 .sbss None */ extern bool on_final_boss_stg; bool on_final_boss_stg; @@ -324,14 +85,8 @@ dAttDrawParam_c::dAttDrawParam_c() { field_0xc = 2.0f; } -/* ############################################################################################## */ -/* 80452664-80452668 000C64 0004+00 1/1 0/0 0/0 .sdata2 @4092 */ -SECTION_SDATA2 static f32 lit_4092 = 3.0f / 5.0f; - /* 80070178-80070198 06AAB8 0020+00 1/0 0/0 0/0 .text * execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo */ -// vtable issues -#ifdef NONMATCHING int dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) { if (param_0 == 0) { param_1->mTranslate.y *= 0.6f; @@ -339,21 +94,6 @@ int dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) { return 1; } -#else -// void dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) { -extern "C" void execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A778 = "Always"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037A77F = ""; -#pragma pop /* 80424B0C-80424B20 05182C 0010+04 3/3 0/0 0/0 .bss g_AttDwHIO */ static dAttDrawParam_c g_AttDwHIO; @@ -529,9 +269,8 @@ dAttList_c* dAttention_c::getActionBtnXY() { return NULL; } -/* ############################################################################################## */ /* 80450660-80450664 0000E0 0004+00 2/2 0/0 0/0 .sdata loc_type_num__12dAttention_c */ -SECTION_SDATA int dAttention_c::loc_type_num = 3; +int dAttention_c::loc_type_num = 3; /* 80070A70-80070AC0 06B3B0 0050+00 1/1 0/0 0/0 .text chkAttMask__12dAttention_cFUlUl */ int dAttention_c::chkAttMask(u32 param_0, u32 param_1) { @@ -571,27 +310,32 @@ static int check_event_condition(u32 i_listType, u16 i_condition) { return false; } -/* ############################################################################################## */ /* 80450664-80450668 0000E4 0004+00 1/1 0/0 0/0 .sdata act_type_num__12dAttention_c */ -SECTION_SDATA int dAttention_c::act_type_num = 5; +int dAttention_c::act_type_num = 5; /* 80450668-8045066C 0000E8 0004+00 1/1 0/0 0/0 .sdata chk_type_tbl__12dAttention_c */ -SECTION_SDATA type_tbl_entry dAttention_c::chk_type_tbl[1] = { +type_tbl_entry dAttention_c::chk_type_tbl[1] = { {8, 256}, }; /* 8045066C-80450670 0000EC 0004+00 1/1 0/0 0/0 .sdata chk_type_num__12dAttention_c */ -SECTION_SDATA int dAttention_c::chk_type_num = 1; +int dAttention_c::chk_type_num = 1; /* 80450670-80450674 0000F0 0004+00 2/2 0/0 0/0 .sdata None */ -SECTION_SDATA static bool attn_opt_hold = true; +static bool attn_opt_hold = true; /* 80070B2C-80070BF4 06B46C 00C8+00 2/2 0/0 0/0 .text check_flontofplayer__FUlss */ static int check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) { + static int ftp_table[9] = { + 4, 1, 2, 8, 16, 32, 64, 128, 256, + }; + static s16 ang_table[3] = { - 0x4000, - 0x2000, - 0x0AAA, + 0x4000, 0x2000, 0x0AAA, + }; + + static s16 ang_table2[6] = { + 0x0AAA, 0x2000, 0x2AAA, 0x4000, 0x4E38, 0x6000, }; if (param_1 < 0) { @@ -621,17 +365,6 @@ static int check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) { return false; } -/* ############################################################################################## */ -/* 80452668-80452670 000C68 0004+04 2/2 0/0 0/0 .sdata2 @4448 */ -SECTION_SDATA2 static f32 lit_4448[1 + 1 /* padding */] = { - 32768.0f, - /* padding */ - 0.0f, -}; - -/* 80452670-80452678 000C70 0008+00 3/3 0/0 0/0 .sdata2 @4450 */ -SECTION_SDATA2 static f64 lit_4450 = 4503601774854144.0 /* cast s32 to float */; - /* 80070BF4-80070C40 06B534 004C+00 2/2 0/0 0/0 .text distace_weight__Ffsf */ static f32 distace_weight(f32 param_0, s16 param_1, f32 param_2) { f32 tmp = param_1 / 32768.0f; @@ -649,22 +382,9 @@ static f32 distace_angle_adjust(f32 param_0, s16 param_1, f32 param_2) { return param_0 * ((1.0f - param_2) + (param_2 * ((1.0f - tmp) * (1.0f - tmp)))); } - -/* ############################################################################################## */ -/* 80452678-80452680 000C78 0008+00 3/3 0/0 0/0 .sdata2 @4514 */ -SECTION_SDATA2 static f64 lit_4514 = 0.5; - -/* 80452680-80452688 000C80 0008+00 3/3 0/0 0/0 .sdata2 @4515 */ -SECTION_SDATA2 static f64 lit_4515 = 3.0; - -/* 80452688-80452690 000C88 0008+00 3/3 0/0 0/0 .sdata2 @4516 */ -SECTION_SDATA2 static u8 lit_4516[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - /* 80070CA0-80070E90 06B5E0 01F0+00 3/3 0/0 0/0 .text check_distace__FP4cXyzsP4cXyzffff */ -static bool check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, +static BOOL check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6) { cXyz tmp = *param_2 - *param_0; @@ -680,14 +400,6 @@ static bool check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3 return true; } - -/* ############################################################################################## */ -/* 80452690-80452694 000C90 0004+00 3/3 0/0 0/0 .sdata2 @4562 */ -SECTION_SDATA2 static f32 lit_4562 = -1.0f; - -/* 80452694-80452698 000C94 0004+00 3/3 0/0 0/0 .sdata2 @4563 */ -SECTION_SDATA2 static f32 lit_4563 = 0.5f; - /* 80070E90-800710C0 06B7D0 0230+00 2/2 0/0 0/0 .text * calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl */ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 param_3, @@ -759,7 +471,6 @@ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 return weight; } - /* 800710C0-80071240 06BA00 0180+00 1/1 0/0 0/0 .text * setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl */ void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f32 param_3, @@ -820,7 +531,6 @@ void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f32 pa } } - /* 80071240-8007138C 06BB80 014C+00 6/6 0/0 0/0 .text initList__12dAttention_cFUl */ void dAttention_c::initList(u32 flags) { mPlayerAttentionFlags = flags; @@ -851,7 +561,6 @@ void dAttention_c::initList(u32 flags) { setFlag(0x1000); } - /* 8007138C-800713CC 06BCCC 0040+00 1/1 0/0 0/0 .text select_attention__FP10fopAc_ac_cPv */ static int select_attention(fopAc_ac_c* param_0, void* i_attention) { @@ -907,12 +616,6 @@ int dAttention_c::SelectAttention(fopAc_ac_c* param_0) { return 0; } -/* 8007167C-800716B8 06BFBC 003C+00 0/0 9/9 0/0 .text __dt__7cSGlobeFv */ -extern "C" void __dt__7cSGlobeFv() { - // NONMATCHING -} - - /* 800716B8-800718A4 06BFF8 01EC+00 4/4 0/0 0/0 .text sortList__12dAttention_cFv */ void dAttention_c::sortList() { int i; @@ -1387,7 +1090,7 @@ void dAttention_c::judgementStatus4Switch() { setFlag(0x800000); } } else if (field_0x32b == 0) { - if (mDoCPd_c::getStickY(mPadNo) < lit_4064) { + if (mDoCPd_c::getStickY(mPadNo) < -0.9f) { mAttnStatus = ST_NONE; freeAttention(); } else if (nextAttention()) { @@ -1600,7 +1303,6 @@ void dAttention_c::lockSoundStart(u32 i_sfxID) { } } - /* 80072DD8-80072FE8 06D718 0210+00 1/1 0/0 0/0 .text setAnm__10dAttDraw_cFUcf */ void dAttDraw_c::setAnm(u8 param_0, f32 param_1) { field_0x170 = param_0; @@ -1623,7 +1325,6 @@ void dAttDraw_c::setAnm(u8 param_0, f32 param_1) { } } - /* 80072FE8-80073004 06D928 001C+00 1/1 0/0 0/0 .text setAlphaAnm__10dAttDraw_cFUcUc */ void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) { field_0x171 = param_0; @@ -1632,17 +1333,6 @@ void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) { field_0x174 = param_1; } -/* ############################################################################################## */ -/* 804526A0-804526A8 000CA0 0004+04 1/1 0/0 0/0 .sdata2 @5668 */ -SECTION_SDATA2 static f32 lit_5668[1 + 1 /* padding */] = { - 255.0f, - /* padding */ - 0.0f, -}; - -/* 804526A8-804526B0 000CA8 0008+00 1/1 0/0 0/0 .sdata2 @5670 */ -SECTION_SDATA2 static f64 lit_5670 = 4503599627370496.0 /* cast u32 to float */; - /* 80073004-800732AC 06D944 02A8+00 1/1 0/0 0/0 .text alphaAnm__10dAttDraw_cFv */ void dAttDraw_c::alphaAnm() { f32 dVar9 = (f32)field_0x172 / (f32)field_0x171; @@ -1686,20 +1376,6 @@ void dAttDraw_c::alphaAnm() { } } - -/* 800732AC-800732B0 06DBEC 0004+00 0/0 3/0 0/0 .text setTevKColor__11J3DTevBlockFUlPC10J3DGXColor - */ -void J3DTevBlock::setTevKColor(u32 param_0, J3DGXColor const* param_1) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 804526B0-804526B4 000CB0 0004+00 1/1 0/0 0/0 .sdata2 @5784 */ -SECTION_SDATA2 static f32 lit_5784 = 0.01745329238474369f; - -/* 804526B4-804526B8 000CB4 0004+00 1/1 0/0 0/0 .sdata2 @5785 */ -SECTION_SDATA2 static f32 lit_5785 = -100.0f; - /* 800732B0-8007353C 06DBF0 028C+00 1/1 0/0 0/0 .text draw__10dAttDraw_cFR4cXyzPA4_f */ void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) { J3DModelData* modelData = mModel[field_0x170]->getModelData(); @@ -1743,7 +1419,6 @@ void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) { dComIfGd_setList(); } - /* 8007353C-800735DC 06DE7C 00A0+00 8/8 13/13 21/21 .text LockonTarget__12dAttention_cFl */ fopAc_ac_c* dAttention_c::LockonTarget(s32 param_0) { @@ -1786,7 +1461,6 @@ f32 dAttention_c::LockonReleaseDistanse() { return distace_angle_adjust(dist_table[idx].mDistanceAdjust, tmp_a, 1.0f) + dist_table[idx].mDistMaxRelease; } - /* 800736CC-80073734 06E00C 0068+00 2/2 0/0 0/0 .text LockonTargetPId__12dAttention_cFl */ fpc_ProcID dAttention_c::LockonTargetPId(s32 param_0) { @@ -1920,11 +1594,10 @@ void dAttCatch_c::proc() { /* 80073A08-80073CA4 06E348 029C+00 0/0 0/0 10/10 .text * request__11dAttCatch_cFP10fopAc_ac_cUcfffsi */ -// regalloc +// NONMATCHING regalloc // This is a weird one. Some solution was found that changes dComIfGp_getPlayer but it is incompatible // with other calls. // https://decomp.me/scratch/aMCEI -#ifdef NONMATCHING int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -1941,7 +1614,7 @@ int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param } if (param_6 != 0) { cSGlobe acStack_50(acStack_48); - s16 sVar5 = acStack_50.U() - fopAcM_GetShapeAngle_p((fopAc_ac_c*)player)->y; + s16 sVar5 = acStack_50.U() - fopAcM_GetShapeAngle_p(player)->y; if (sVar5 < 0) { sVar5 = -sVar5; } @@ -1961,12 +1634,6 @@ int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param } return 0; } -#else -int dAttCatch_c::request(fopAc_ac_c* param_0, u8 param_1, f32 param_2, f32 param_3, - f32 param_4, s16 param_5, int param_6) { - // NONMATCHING -} -#endif /* 80073CA4-80073CD4 06E5E4 0030+00 0/0 1/1 0/0 .text convPId__10dAttLook_cFUi */ fopAc_ac_c* dAttLook_c::convPId(fpc_ProcID i_id) { @@ -2027,27 +1694,3 @@ int dAttLook_c::request(fopAc_ac_c* param_1, f32 param_2, f32 param_3, f32 param /* 80073FC4-8007400C 06E904 0048+00 2/1 0/0 0/0 .text __dt__15dAttDrawParam_cFv */ dAttDrawParam_c::~dAttDrawParam_c() {} - -/* ############################################################################################## */ -/* 8045067A-8045067E -00001 0004+00 0/0 0/0 0/0 .sdata None */ -#pragma push -#pragma force_active on -SECTION_SDATA static u8 pad_8045067A[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 80450680-80450688 000100 0008+00 0/0 2/2 0/0 .sdata None */ -SECTION_SDATA extern u8 data_80450680[8] = { - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80450688-80450690 000108 0008+00 0/0 1/1 0/0 .sdata None */ -SECTION_SDATA extern u8 data_80450688[8] = { - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/d_bg_w_kcol.cpp b/src/d/d_bg_w_kcol.cpp index 44d0cfd64b..a4f757e694 100644 --- a/src/d/d_bg_w_kcol.cpp +++ b/src/d/d_bg_w_kcol.cpp @@ -141,13 +141,15 @@ dBgWKCol::dBgWKCol() { dBgWKCol::~dBgWKCol() {} /* 8007E7D0-8007E804 079110 0034+00 0/0 1/1 0/0 .text initKCollision__8dBgWKColFPv */ -void dBgWKCol::initKCollision(void* i_kclData) { +void* dBgWKCol::initKCollision(void* i_kclData) { KCol_Header* header_p = (KCol_Header*)i_kclData; header_p->pos_data_offset = (u32)header_p + header_p->pos_data_offset; header_p->nrm_data_offset = (u32)header_p + header_p->nrm_data_offset; header_p->prism_data_offset = (u32)header_p + header_p->prism_data_offset; header_p->block_data_offset = (u32)header_p + header_p->block_data_offset; + + return i_kclData; } /* 8007E804-8007E850 079144 004C+00 0/0 0/0 1/1 .text create__8dBgWKColFPvPv */ @@ -840,4 +842,4 @@ void dBgWKCol::TransPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_ /* 80082F94-80082F98 07D8D4 0004+00 1/0 0/0 0/0 .text * MatrixCrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ void dBgWKCol::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, - cXyz* param_3, csXyz* param_4, csXyz* param_5) {} \ No newline at end of file + cXyz* param_3, csXyz* param_4, csXyz* param_5) {} diff --git a/src/d/d_cam_param.cpp b/src/d/d_cam_param.cpp index e88aabf951..a04cef1c93 100644 --- a/src/d/d_cam_param.cpp +++ b/src/d/d_cam_param.cpp @@ -7,25 +7,6 @@ #include "SSystem/SComponent/c_math.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __dt__11dCamParam_cFv(); -extern "C" void __dt__11dCamSetup_cFv(); -extern "C" void __dt__9dCstick_cFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// /* 8008813C-80088284 082A7C 0148+00 0/0 12/12 0/0 .text rationalBezierRatio__8dCamMathFff */ @@ -69,9 +50,9 @@ f32 dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) { return 0.0f; } -/* ############################################################################################## */ -/* 80452810-80452814 000E10 0004+00 2/2 0/0 0/0 .sdata2 @3791 */ -SECTION_SDATA2 static f32 lit_3791 = 1.0f; // placed in a weird order, so can't remove until fixed +static f32 dummy_literal1() { + return 1.0f; +} /* 80088284-800882E0 082BC4 005C+00 0/0 1/1 0/0 .text zoomFovy__8dCamMathFff */ f32 dCamMath::zoomFovy(f32 param_0, f32 param_1) { @@ -112,30 +93,6 @@ f32 dCamMath::xyzHorizontalDistance(cXyz& i_posA, cXyz& i_posB) { return sqrt((x * x) + (z * z)); } -/* ############################################################################################## */ -/* 803AC500-803AC50C 009620 000C+00 2/2 0/0 0/0 .data __vt__11dCamSetup_c */ -SECTION_DATA extern void* __vt__11dCamSetup_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11dCamSetup_cFv, -}; - -/* 803AC50C-803AC518 00962C 000C+00 2/2 0/0 0/0 .data __vt__11dCamParam_c */ -SECTION_DATA extern void* __vt__11dCamParam_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11dCamParam_cFv, -}; - -/* 803AC518-803AC528 009638 000C+04 3/3 0/0 0/0 .data __vt__9dCstick_c */ -SECTION_DATA extern void* __vt__9dCstick_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__9dCstick_cFv, - /* padding */ - NULL, -}; - /* 80088434-8008845C 082D74 0028+00 1/1 0/0 0/0 .text __ct__9dCstick_cFv */ dCstick_c::dCstick_c() { mThresholdLow = 0.2f; @@ -152,7 +109,7 @@ bool dCstick_c::Shift(u32 param_0) { dCamBGChk_c::dCamBGChk_c() { mFloorMargin = 32.0f; - mChkInfo[0].mDistance = lit_3791; + mChkInfo[0].mDistance = 1.0f; mChkInfo[0].mChkAngle = 25.0f; mChkInfo[0].mWeightH = 0.4f; mChkInfo[0].mWeightL = 0.6f; @@ -187,12 +144,6 @@ dCamParam_c::dCamParam_c(s32 i_styleID) { mMapToolArg2 = -1; } -/* 8008858C-800885D4 082ECC 0048+00 1/0 1/1 0/0 .text __dt__11dCamParam_cFv */ -// dCamParam_c::~dCamParam_c() { -extern "C" void __dt__11dCamParam_cFv() { - // NONMATCHING -} - /* 800885D4-80088620 082F14 004C+00 1/1 7/7 0/0 .text Change__11dCamParam_cFl */ int dCamParam_c::Change(s32 i_styleID) { if (i_styleID >= 0 && i_styleID < mStyleNum) { @@ -220,15 +171,13 @@ int dCamParam_c::SearchStyle(u32 param_0) { return styleID; } -/* ############################################################################################## */ -/* 80452858-8045285C 000E58 0004+00 1/1 0/0 0/0 .sdata2 @4058 */ -SECTION_SDATA2 static f32 lit_4058 = 0.25f; // placed in a weird order, so can't remove until fixed +static f32 dummy_literal2() { + return 0.25f; +} /* 80088668-800888B8 082FA8 0250+00 0/0 1/1 0/0 .text __ct__11dCamSetup_cFv */ dCamSetup_c::dCamSetup_c() { - f32 temp_1 = lit_3791; - - mDrawNear = temp_1; + mDrawNear = 1.0f; mDrawFar = 100000.0f; field_0xc = 1; mModeSwitchType = -1; @@ -242,11 +191,11 @@ dCamSetup_c::dCamSetup_c() { field_0x50 = 100.0f; field_0x30 = 0.75f; mBaseCushion = 0.28f; - mJumpCushion = temp_1; + mJumpCushion = 1.0f; field_0x58 = 0.15f; field_0x44 = 0.005f; field_0x54 = 0.06f; - mCurveWeight = temp_1; + mCurveWeight = 1.0f; field_0x34 = 25.0f; mSubjLinkCullDist = 70.0f; mParallelDist = 60.0f; @@ -260,15 +209,15 @@ dCamSetup_c::dCamSetup_c() { mFalseAngle = 30.0f; mDebugFlags = 1; - field_0xa = 0x118; - field_0xa |= 0x200; - field_0xa |= 0x400; + mFlags2 = 0x118; + mFlags2 |= 0x200; + mFlags2 |= 0x400; mChargeLatitude = 27.0f; mChargeTimer = 90; mChargeBRatio = 0.5f; mLockonChangeTimer = 40; - mLockonChangeCushion = lit_4058; + mLockonChangeCushion = 0.25f; field_0x6c = 45.0f; mForceLockOffDist = 3500.0f; mForceLockOffTimer = 90; @@ -296,7 +245,7 @@ dCamSetup_c::dCamSetup_c() { field_0xe0 = 0.06f; field_0xec = 25; field_0xf4 = 0.85f; - field_0xf8 = temp_1; + field_0xf8 = 1.0f; field_0xf0 = 12; field_0xe4 = 50.0f; field_0xe8 = 0.0f; @@ -307,12 +256,6 @@ dCamSetup_c::dCamSetup_c() { dCam_getBody()->EventRecoverNotime(); } -/* 800888B8-80088918 0831F8 0060+00 1/0 1/1 0/0 .text __dt__11dCamSetup_cFv */ -// dCamSetup_c::~dCamSetup_c() { -extern "C" void __dt__11dCamSetup_cFv() { - // NONMATCHING -} - /* 80088918-80088988 083258 0070+00 0/0 1/1 0/0 .text CheckLatitudeRange__11dCamSetup_cFPs */ bool dCamSetup_c::CheckLatitudeRange(s16* param_0) { s16 temp0 = cAngle::d2s(field_0x60); @@ -339,6 +282,3 @@ f32 dCamSetup_c::PlayerHideDist() { return mSubjLinkCullDist; } - -/* 800889B0-800889F8 0832F0 0048+00 1/0 0/0 0/0 .text __dt__9dCstick_cFv */ -dCstick_c::~dCstick_c() {} \ No newline at end of file diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index c4dfbd557c..ae7f2a1b55 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -5043,330 +5043,3 @@ void clrFlag__9dCamera_cFUl() { void chkFlag__9dCamera_cFUl() { // NONMATCHING } - -/* 80182994-8018299C 17D2D4 0008+00 1/1 0/0 0/0 .text GetCheckObjectCount__12dAttention_cFv */ -void dAttention_c::GetCheckObjectCount() { - // NONMATCHING -} - -/* 8018299C-801829AC 17D2DC 0010+00 4/4 0/0 0/0 .text dComIfGp_getAttention__Fv */ -// static void dComIfGp_getAttention() { -void dComIfGp_getAttention__Fv() { - // NONMATCHING -} - -/* 801829AC-801829E0 17D2EC 0034+00 1/1 0/0 0/0 .text Bank__9dCamera_cFv */ -void dCamera_c::Bank() { - // NONMATCHING -} - -/* 801829E0-801829EC 17D320 000C+00 2/2 0/0 0/0 .text checkThrowDamage__9daPy_py_cCFv */ -// void daPy_py_c::checkThrowDamage() const { -void checkThrowDamage__9daPy_py_cCFv() { - // NONMATCHING -} - -/* 801829EC-801829F0 17D32C 0004+00 1/1 0/0 0/0 .text GetNP__8cM3dGPlaFv */ -// void cM3dGPla::GetNP() { -void GetNP__8cM3dGPlaFv() { - /* empty function */ -} - -/* 801829F0-801829F8 17D330 0008+00 4/4 0/0 0/0 .text GetCross__11cBgS_LinChkFv */ -void cBgS_LinChk::GetCross() { - // NONMATCHING -} - -/* 801829F8-80182A08 17D338 0010+00 1/1 0/0 0/0 .text dComIfG_Bgsp__Fv */ -// static void dComIfG_Bgsp() { -void dComIfG_Bgsp__Fv() { - // NONMATCHING -} - -/* 80182A08-80182A10 17D348 0008+00 2/2 0/0 0/0 .text V__7cSGlobeCFv */ -// void cSGlobe::V() const { -void V__7cSGlobeCFv() { - // NONMATCHING -} - -/* 80182A10-80182A24 17D350 0014+00 1/1 0/0 0/0 .text checkGoronSideMove__9daPy_py_cCFv - */ -// void daPy_py_c::checkGoronSideMove() const { -void checkGoronSideMove__9daPy_py_cCFv() { - // NONMATCHING -} - -/* 80182A24-80182A3C 17D364 0018+00 3/3 0/0 0/0 .text JMAFastSqrt__Ff */ -// static void JMAFastSqrt(f32 param_0) { -static asm void JMAFastSqrt__Ff() { - // NONMATCHING -} - -/* 80182A3C-80182A48 17D37C 000C+00 5/5 0/0 0/0 .text fabsf__3stdFf */ -void fabsf__3stdFf() { - // asm void std::fabsf(f32 param_0) { - // NONMATCHING -} - -/* 80182A48-80182A4C 17D388 0004+00 2/2 0/0 0/0 .text __ct__7cSAngleFv */ -// cSAngle::cSAngle() { -void __ct__7cSAngleFv() { - /* empty function */ -} - -/* 80182A4C-80182A54 17D38C 0008+00 2/2 0/0 0/0 .text R__7cSGlobeFf */ -// void cSGlobe::R(f32 param_0) { -void R__7cSGlobeFf() { - // NONMATCHING -} - -/* 80182A54-80182A64 17D394 0010+00 5/5 0/0 0/0 .text dComIfGp_evmng_cameraPlay__Fv */ -// static void dComIfGp_evmng_cameraPlay() { -void dComIfGp_evmng_cameraPlay__Fv() { - // NONMATCHING -} - -/* 80182A64-80182A6C 17D3A4 0008+00 2/2 0/0 0/0 .text R__7cSGlobeCFv */ -// void cSGlobe::R() const { -void R__7cSGlobeCFv() { - // NONMATCHING -} - -/* 80182A6C-80182A8C 17D3AC 0020+00 2/2 0/0 0/0 .text __lt__7cSAngleCFRC7cSAngle */ -// bool cSAngle::operator<(cSAngle const& param_0) const { -bool __lt__7cSAngleCFRC7cSAngle() { - // NONMATCHING -} - -/* 80182A8C-80182AAC 17D3CC 0020+00 2/2 0/0 0/0 .text __gt__7cSAngleCFRC7cSAngle */ -// bool cSAngle::operator>(cSAngle const& param_0) const { -bool __gt__7cSAngleCFRC7cSAngle() { - // NONMATCHING -} - -/* 80182AAC-80182AB4 17D3EC 0008+00 1/1 0/0 0/0 .text getRightFootPosP__9daPy_py_cFv */ -// void daPy_py_c::getRightFootPosP() { -void getRightFootPosP__9daPy_py_cFv() { - // NONMATCHING -} - -/* 80182AB4-80182ABC 17D3F4 0008+00 1/1 0/0 0/0 .text getLeftFootPosP__9daPy_py_cFv */ -// void daPy_py_c::getLeftFootPosP() { -void getLeftFootPosP__9daPy_py_cFv() { - // NONMATCHING -} - -/* 80182AC4-80182AD0 17D404 000C+00 1/1 0/0 0/0 .text checkCopyRodThrowAfter__9daPy_py_cCFv */ -// void daPy_py_c::checkCopyRodThrowAfter() const { -void checkCopyRodThrowAfter__9daPy_py_cCFv() { - // NONMATCHING -} - -/* 80182AD0-80182AD8 -00001 0008+00 0/0 0/0 0/0 .text keepLock__12dAttention_cFi */ -void dAttention_c::keepLock(int param_0) { - *(u32*)(((u8*)this) + 1220) /* this->field_0x4c4 */ = (u32)(param_0); -} - -/* 80182AD8-80182B9C 17D418 00C4+00 1/1 0/0 0/0 .text checkRide__9daPy_py_cCFv */ -// void daPy_py_c::checkRide() const { -void checkRide__9daPy_py_cCFv() { - // NONMATCHING -} - -/* 80182B9C-80182BB8 17D4DC 001C+00 1/1 0/0 0/0 .text getRightHandPos__9daPy_py_cCFv */ -// void daPy_py_c::getRightHandPos() const { -void getRightHandPos__9daPy_py_cCFv() { - // NONMATCHING -} - -/* 80182BB8-80182BD0 17D4F8 0018+00 1/1 0/0 0/0 .text CheckFlag2__11dCamSetup_cFUs */ -// void dCamSetup_c::CheckFlag2(u16 param_0) { -void CheckFlag2__11dCamSetup_cFUs() { - // NONMATCHING -} - -/* 80182BD0-80182BE8 17D510 0018+00 2/2 0/0 0/0 .text CheckFlag__11dCamSetup_cFUs */ -// void dCamSetup_c::CheckFlag(u16 param_0) { -void CheckFlag__11dCamSetup_cFUs() { - // NONMATCHING -} - -/* 80182BE8-80182BF0 17D528 0008+00 1/1 0/0 0/0 .text WaitRollSpeed__11dCamSetup_cFv */ -void dCamSetup_c::WaitRollSpeed() { - // NONMATCHING -} - -/* 80182BF0-80182BF8 17D530 0008+00 1/1 0/0 0/0 .text WaitRollTimer__11dCamSetup_cFv */ -void dCamSetup_c::WaitRollTimer() { - // NONMATCHING -} - -/* 80182BF8-80182C14 17D538 001C+00 1/1 0/0 0/0 .text getTrigA__8mDoCPd_cFUl */ -// void mDoCPd_c::getTrigA(u32 param_0) { -void getTrigA__8mDoCPd_cFUl() { - // NONMATCHING -} - -/* 80182C14-80182C1C 17D554 0008+00 1/1 0/0 0/0 .text __ops__7cSAngleCFv */ -// void cSAngle::__ops() const { -void __ops__7cSAngleCFv() { - // NONMATCHING -} - -/* 80182C24-80182C2C 17D564 0008+00 1/1 0/0 0/0 .text ThrowCushion__11dCamSetup_cFv */ -void dCamSetup_c::ThrowCushion() { - // NONMATCHING -} - -/* 80182C2C-80182C34 17D56C 0008+00 1/1 0/0 0/0 .text ThrowVAngle__11dCamSetup_cFv */ -void dCamSetup_c::ThrowVAngle() { - // NONMATCHING -} - -/* 80182C34-80182C3C 17D574 0008+00 1/1 0/0 0/0 .text ThrowCtrAdjust__11dCamSetup_cFv */ -void dCamSetup_c::ThrowCtrAdjust() { - // NONMATCHING -} - -/* 80182C3C-80182C48 17D57C 000C+00 1/1 0/0 0/0 .text Arg2__11dCamParam_cFv */ -void dCamParam_c::Arg2() { - // NONMATCHING -} - -/* 80182C48-80182C50 17D588 0008+00 1/1 0/0 0/0 .text Arg1__11dCamParam_cFv */ -void dCamParam_c::Arg1() { - // NONMATCHING -} - -/* 80182C50-80182C58 17D590 0008+00 1/1 0/0 0/0 .text Arg0__11dCamParam_cFv */ -void dCamParam_c::Arg0() { - // NONMATCHING -} - -/* 80182C58-80182C60 17D598 0008+00 1/1 0/0 0/0 .text Fovy__11dCamParam_cFv */ -void dCamParam_c::Fovy() { - // NONMATCHING -} - -/* 80182C60-80182C6C 17D5A0 000C+00 1/1 0/0 0/0 .text Arg2__11dCamParam_cFs */ -void dCamParam_c::Arg2(s16 param_0) { - // NONMATCHING -} - -/* 80182C6C-80182C74 -00001 0008+00 0/0 0/0 0/0 .text Arg1__11dCamParam_cFUc */ -void dCamParam_c::Arg1(u8 param_0) { - *(u8*)(((u8*)this) + 2) /* this->field_0x2 */ = (u8)(param_0); -} - -/* 80182C74-80182C7C -00001 0008+00 0/0 0/0 0/0 .text Arg0__11dCamParam_cFUc */ -void dCamParam_c::Arg0(u8 param_0) { - *(u8*)(((u8*)this) + 1) /* this->field_0x1 */ = (u8)(param_0); -} - -/* 80182C7C-80182C84 -00001 0008+00 0/0 0/0 0/0 .text Fovy__11dCamParam_cFUc */ -void dCamParam_c::Fovy(u8 param_0) { - *(u8*)this = (u8)(param_0); -} - -/* 80182C84-80182C8C 17D5C4 0008+00 2/2 0/0 0/0 .text U__7cSGlobeCFv */ -// void cSGlobe::U() const { -void U__7cSGlobeCFv() { - // NONMATCHING -} - -/* 80182C8C-80182CA8 17D5CC 001C+00 5/5 0/0 0/0 .text Flag__11dCamParam_cFlUs */ -// void dCamParam_c::Flag(s32 param_0, u16 param_1) { -void Flag__11dCamParam_cFlUs() { - // NONMATCHING -} - -/* 80182CA8-80182CB4 17D5E8 000C+00 5/5 0/0 0/0 .text __as__7cSAngleFRC7cSAngle */ -// void cSAngle::operator=(cSAngle const& param_0) { -void __as__7cSAngleFRC7cSAngle() { - // NONMATCHING -} - -/* 80182CD0-80182CEC 17D610 001C+00 5/5 0/0 0/0 .text Val__11dCamParam_cFli */ -void dCamParam_c::Val(s32 param_0, int param_1) { - // NONMATCHING -} - -/* 80182CEC-80182CF4 17D62C 0008+00 1/1 0/0 0/0 .text ChargeBRatio__11dCamSetup_cFv */ -void dCamSetup_c::ChargeBRatio() { - // NONMATCHING -} - -/* 80182CF4-80182CFC 17D634 0008+00 1/1 0/0 0/0 .text ChargeTimer__11dCamSetup_cFv */ -void dCamSetup_c::ChargeTimer() { - // NONMATCHING -} - -/* 80182CFC-80182D04 17D63C 0008+00 1/1 0/0 0/0 .text ChargeLatitude__11dCamSetup_cFv */ -void dCamSetup_c::ChargeLatitude() { - // NONMATCHING -} - -/* 80182D04-80182D10 17D644 000C+00 2/2 0/0 0/0 .text getLashDashStart__9daHorse_cCFv */ -void daHorse_c::getLashDashStart() const { - // NONMATCHING -} - -/* 80182D10-80182D1C 17D650 000C+00 1/1 0/0 0/0 .text fabs__3stdFf */ -// void std::fabs(f32 param_0) { -void fabs__3stdFf() { - // NONMATCHING -} - -/* 80182D1C-80182D28 17D65C 000C+00 1/1 0/0 0/0 .text checkTurnStandCamera__9daHorse_cCFv - */ -// void daHorse_c::checkTurnStandCamera() const { -void checkTurnStandCamera__9daHorse_cCFv() { - // NONMATCHING -} - -/* 80182D28-80182D48 17D668 0020+00 1/1 0/0 0/0 .text d2s__6cAngleFf */ -// void cAngle::d2s(f32 param_0) { -void d2s__6cAngleFf() { - // NONMATCHING -} - -/* 80182D48-80182D5C 17D688 0014+00 1/1 0/0 0/0 .text checkJump__9daHorse_cCFv */ -// void daHorse_c::checkJump() const { -void checkJump__9daHorse_cCFv() { - // NONMATCHING -} - -/* 80182D5C-80182D64 17D69C 0008+00 1/1 0/0 0/0 .text fopAcM_GetParam__FPCv */ -// static void fopAcM_GetParam(void const* param_0) { -static asm void fopAcM_GetParam__FPCv() { - // NONMATCHING -} - -/* 80182D64-80182D78 17D6A4 0014+00 1/1 0/0 0/0 .text checkNoAttention__12daTagMstop_cCFv - */ -// void daTagMstop_c::checkNoAttention() const { -void checkNoAttention__12daTagMstop_cCFv() { - // NONMATCHING -} - -/* 80182D78-80182D8C 17D6B8 0014+00 1/1 0/0 0/0 .text checkNoAttention__12daTagMhint_cCFv - */ -// void daTagMhint_c::checkNoAttention() const { -void checkNoAttention__12daTagMhint_cCFv() { - // NONMATCHING -} - -/* 80182D8C-80182D9C 17D6CC 0010+00 1/1 0/0 0/0 .text set__4cXyzFfff */ -// void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { -void set__4cXyzFfff() { - // NONMATCHING -} - -/* 80182D9C-80182DD4 17D6DC 0038+00 1/1 0/0 0/0 .text checkEndMessage__12daTagMwait_cFv - */ -// void daTagMwait_c::checkEndMessage() { -void checkEndMessage__12daTagMwait_cFv() { - // NONMATCHING -} - -/* 80393F68-80393F68 0205C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_cc_d.cpp b/src/d/d_cc_d.cpp index 102f672064..9b1a1d15c8 100644 --- a/src/d/d_cc_d.cpp +++ b/src/d/d_cc_d.cpp @@ -7,10 +7,6 @@ #include "f_pc/f_pc_searcher.h" #include "f_op/f_op_actor_mng.h" -// -// Declarations: -// - /* 8008364C-80083660 07DF8C 0014+00 3/3 0/0 0/0 .text ClrActorInfo__22dCcD_GAtTgCoCommonBaseFv */ void dCcD_GAtTgCoCommonBase::ClrActorInfo() { mApid = -1; @@ -293,17 +289,16 @@ u8 dCcD_GObjInf::GetTgHitObjSe() { } } -/* ############################################################################################## */ /* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */ Z2SoundID const dCcD_GObjInf::m_hitSeID[24] = { - Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK, - Z2SE_HIT_WOLFKICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON, - Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY, - Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB, Z2SE_HIT_WOLFKICK, - Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON, Z2SE_HIT_THOROW_OBJ, - Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD, Z2SE_HIT_STATUE_HAMMER, - Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK, Z2SE_HIT_WOLFBITE, - Z2SE_HIT_WOOD_WEAPON, Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK, + Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK, + Z2SE_HIT_WOLFKICK, Z2SE_HIT_WOLFBITE, Z2SE_HIT_WOOD_WEAPON, + Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK, Z2SE_HIT_HOOKSHOT_STICK, + Z2SE_HIT_METAL_WEAPON, Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, + Z2SE_HIT_SOFT_BODY, Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB, + Z2SE_HIT_WOLFKICK, Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON, + Z2SE_HIT_THOROW_OBJ, Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD, + Z2SE_HIT_STATUE_HAMMER, Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK, }; /* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */ diff --git a/src/d/d_cc_s.cpp b/src/d/d_cc_s.cpp index 62af8551c9..0cf9975c56 100644 --- a/src/d/d_cc_s.cpp +++ b/src/d/d_cc_s.cpp @@ -8,98 +8,6 @@ #include "d/d_jnt_col.h" #include "f_op/f_op_actor_mng.h" -// -// Forward References: -// - -extern "C" void Ct__4dCcSFv(); -extern "C" void Dt__4dCcSFv(); -extern "C" void ChkShieldFrontRange__4dCcSFP8cCcD_ObjP8cCcD_ObjiPC4cXyz(); -extern "C" void ChkShield__4dCcSFP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfPC4cXyz(); -extern "C" void CalcTgPlusDmg__4dCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts(); -extern "C" void -ChkAtTgHitAfterCross__4dCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts(); -extern "C" void -SetCoGObjInf__4dCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts(); -extern "C" void GetRank__4dCcSFUc(); -extern "C" bool ChkNoHitGCo__4dCcSFP8cCcD_ObjP8cCcD_Obj(); -extern "C" void SetPosCorrect__4dCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf(); -extern "C" void CalcParticleAngle__4dCcSFP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP5csXyz(); -extern "C" void -ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyzb(); -extern "C" void -SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz(); -extern "C" void ChkCamera__4dCcSFR4cXyzR4cXyzfP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void chkCameraPoint__4dCcSFRC4cXyzPQ214cCcD_ShapeAttr5ShapeP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void __dt__12cCcD_SphAttrFv(); -extern "C" void MoveAfterCheck__4dCcSFv(); -extern "C" void DrawAfter__4dCcSFv(); -extern "C" void Move__4dCcSFv(); -extern "C" void Draw__4dCcSFv(); -extern "C" void MassClear__4dCcSFv(); -extern "C" void ChkAtTgMtrlHit__4dCcSFUcUc(); -extern "C" void ChkNoHitGAtTg__4dCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts(); -extern "C" u8 m_mtrl_hit_tbl__4dCcS[64]; -extern "C" extern void* __vt__4dCcS[13]; - -// -// External References: -// - -extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void __dt__4dCcSFv(); -extern "C" void getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void SetHitApid__22dCcD_GAtTgCoCommonBaseFUi(); -extern "C" void SetEffCounterTimer__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void ChkEffCounter__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void ChkAtNoGuard__12dCcD_GObjInfFv(); -extern "C" void Ct__12dCcMassS_MngFv(); -extern "C" void Clear__12dCcMassS_MngFv(); -extern "C" void Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo(); -extern "C" void CalcDivideInfoOverArea__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAab(); -extern "C" void PlusCcMove__9cCcD_SttsFfff(); -extern "C" void PlusDmg__9cCcD_SttsFi(); -extern "C" void GetAc__8cCcD_ObjFv(); -extern "C" void CalcAabBox__12cCcD_CpsAttrFv(); -extern "C" void CalcAabBox__12cCcD_SphAttrFv(); -extern "C" void Ct__4cCcSFv(); -extern "C" void Dt__4cCcSFv(); -extern "C" void Move__4cCcSFv(); -extern "C" void DrawClear__4cCcSFv(); -extern "C" void SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj(); -extern "C" void cM3d_CalcVecZAngle__FRC3VecP5csXyz(); -extern "C" void __ct__8cM3dGCpsFv(); -extern "C" void __dt__8cM3dGCpsFv(); -extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf(); -extern "C" void Set__8cM3dGSphFRC9cM3dGSphS(); -extern "C" void cLib_distanceAngleS__Fss(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8cM3dGAab[3]; -extern "C" extern void* __vt__15cCcD_DivideInfo[3]; -extern "C" extern void* __vt__8cM3dGSph[3]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CpsAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 BaseZ__4cXyz[12]; - -// -// Declarations: -// - /* 80085ED4-80085F08 080814 0034+00 0/0 1/1 0/0 .text Ct__4dCcSFv */ void dCcS::Ct() { cCcS::Ct(); @@ -243,8 +151,7 @@ bool dCcS::ChkAtTgHitAfterCross(bool i_setAt, bool i_setTg, cCcD_GObjInf const* /* 80086240-80086360 080B80 0120+00 1/0 0/0 0/0 .text * SetCoGObjInf__4dCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts */ -// weird reg alloc -#ifdef NONMATCHING +// NONMATCHING weird reg alloc void dCcS::SetCoGObjInf(bool i_co2Set, bool i_co1Set, cCcD_GObjInf* i_co1Obj, cCcD_GObjInf* i_co2Obj, cCcD_Stts* i_co1Stts, cCcD_Stts* i_co2Stts, cCcD_GStts* i_co1GStts, cCcD_GStts* i_co2GStts) { @@ -282,13 +189,6 @@ void dCcS::SetCoGObjInf(bool i_co2Set, bool i_co1Set, cCcD_GObjInf* i_co1Obj, cC } } } -#else -void dCcS::SetCoGObjInf(bool param_0, bool param_1, cCcD_GObjInf* param_2, - cCcD_GObjInf* param_3, cCcD_Stts* param_4, cCcD_Stts* param_5, - cCcD_GStts* param_6, cCcD_GStts* param_7) { - // NONMATCHING -} -#endif /* 80086360-80086404 080CA0 00A4+00 1/1 0/0 0/0 .text GetRank__4dCcSFUc */ int dCcS::GetRank(u8 weight) { @@ -478,8 +378,7 @@ void dCcS::CalcParticleAngle(dCcD_GObjInf* i_atObjInf, cCcD_Stts* i_atStts, cCcD /* 8008685C-80086AC0 08119C 0264+00 1/1 0/0 0/0 .text * ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyzb */ -// one branch issue -#ifdef NONMATCHING +// NONMATCHING one branch issue void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_Obj* param_3, dCcD_GObjInf* i_atObjInf, dCcD_GObjInf* i_tgObjInf, cCcD_Stts* param_6, cCcD_Stts* param_7, dCcD_GStts* param_8, dCcD_GStts* param_9, @@ -542,14 +441,6 @@ void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_O } } } -#else -void dCcS::ProcAtTgHitmark(bool param_0, bool param_1, cCcD_Obj* param_2, cCcD_Obj* param_3, - dCcD_GObjInf* param_4, dCcD_GObjInf* param_5, cCcD_Stts* param_6, - cCcD_Stts* param_7, dCcD_GStts* param_8, dCcD_GStts* param_9, - cXyz* param_10, bool param_11) { - // NONMATCHING -} -#endif /* 80086AC0-80086D8C 081400 02CC+00 1/0 0/0 0/0 .text * SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz @@ -774,4 +665,4 @@ bool dCcS::ChkNoHitGAtTg(cCcD_GObjInf const* i_atObjInf, cCcD_GObjInf const* i_t } return ChkAtTgMtrlHit(atObjInf->GetAtMtrl(), tgObjInf->GetTgMtrl()) == 0; -} \ No newline at end of file +} diff --git a/src/d/d_com_static.cpp b/src/d/d_com_static.cpp index a8cf5093b4..eb008e3f8e 100644 --- a/src/d/d_com_static.cpp +++ b/src/d/d_com_static.cpp @@ -5,7 +5,7 @@ #include "d/d_com_static.h" #include "d/d_demo.h" -#include "dol2asm.h" +#include "d/actor/d_a_arrow.h" #include "d/actor/d_a_dshutter.h" #include "d/actor/d_a_grass.h" #include "d/actor/d_a_mirror.h" @@ -19,127 +19,6 @@ #include "d/actor/d_a_tag_stream.h" #include "stdio.h" -// -// Forward References: -// - -extern "C" void set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc(); -extern "C" void reset__Q27daSus_c6data_cFv(); -extern "C" void isSwitch__Q27daSus_c6data_cFv(); -extern "C" void check__Q27daSus_c6data_cFRC4cXyz(); -extern "C" void check__Q27daSus_c6data_cFP10fopAc_ac_c(); -extern "C" void execute__Q27daSus_c6data_cFv(); -extern "C" void add__Q27daSus_c6room_cFPQ27daSus_c6data_c(); -extern "C" void reset__Q27daSus_c6room_cFv(); -extern "C" void newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc(); -extern "C" void reset__7daSus_cFv(); -extern "C" void check__7daSus_cFScRC4cXyz(); -extern "C" void check__7daSus_cFP10fopAc_ac_c(); -extern "C" void execute__7daSus_cFv(); -extern "C" void daNpcMsg_setEvtNum__FUc(); -extern "C" void daNpcKakashi_chkSwdTutorialStage__Fv(); -extern "C" void daNpcKakashi_setSwdTutorialStep__FUc(); -extern "C" void daNpcKakashi_getSwdTutorialStep__Fv(); -extern "C" void daNpcKakashi_getSwdTutorialResult__Fv(); -extern "C" void daNpcKakashi_setSwdTutorialResult__Fb(); -extern "C" void daNpcKakashi_getSuccessCount__Fv(); -extern "C" void daNpcKakashi_incSuccessCount__Fv(); -extern "C" void daNpcKakashi_clrSuccessCount__Fv(); -extern "C" void getArcName__12daSetBgObj_cFP10fopAc_ac_c(); -extern "C" void checkArea__13daTagStream_cFPC4cXyz(); -extern "C" void entry__10daMirror_cFP8J3DModel(); -extern "C" void remove__10daMirror_cFv(); -extern "C" void deleteRoomGrass__9daGrass_cFi(); -extern "C" void deleteRoomFlower__9daGrass_cFi(); -extern "C" void daMP_c_Get_MovieRestFrame__6daMP_cFv(); -extern "C" void daMP_c_Set_PercentMovieVolume__6daMP_cFf(); -extern "C" void daMP_c_THPPlayerPlay__6daMP_cFv(); -extern "C" void daMP_c_THPPlayerPause__6daMP_cFv(); -extern "C" void checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo(); -extern "C" void checkMagneA__12daTagMagne_cFv(); -extern "C" void checkMagneB__12daTagMagne_cFv(); -extern "C" void checkMagneC__12daTagMagne_cFv(); -extern "C" void getPlayerNo__11daTagMist_cFv(); -extern "C" void clrSaveFlag__12daObjCarry_cFv(); -extern "C" void setSaveFlag__12daObjCarry_cFv(); -extern "C" void chkSaveFlag__12daObjCarry_cFv(); -extern "C" void getPos__12daObjCarry_cFi(); -extern "C" void savePos__12daObjCarry_cFi4cXyz(); -extern "C" void onSttsFlag__12daObjCarry_cFiUc(); -extern "C" void offSttsFlag__12daObjCarry_cFiUc(); -extern "C" void chkSttsFlag__12daObjCarry_cFiUc(); -extern "C" void setRoomNo__12daObjCarry_cFiSc(); -extern "C" void getRoomNo__12daObjCarry_cFi(); -extern "C" void __sinit_d_com_static_cpp(); -extern "C" void func_80031EAC(); -extern "C" void __ct__Q27daSus_c6room_cFv(); -extern "C" void func_80031EF0(); -extern "C" void __dt__Q27daSus_c6data_cFv(); -extern "C" void __ct__Q27daSus_c6data_cFv(); -extern "C" extern char const* const d_com_d_com_static__stringBase0; -extern "C" u8 mData__7daSus_c[1152]; -extern "C" u8 mRoom__7daSus_c[256]; -extern "C" u8 m_entryModel__10daMirror_c[12]; -extern "C" u8 m_deleteRoom__15dGrass_packet_c[12]; -extern "C" u8 m_deleteRoom__16dFlower_packet_c[12]; -extern "C" u8 mPos__12daObjCarry_c[60]; -extern "C" u8 m_aim_rate__8daYkgr_c[4]; -extern "C" u8 m_path__8daYkgr_c[4]; -extern "C" u8 m_emitter__8daYkgr_c[4]; -extern "C" u8 m_top__13daTagStream_c[4]; -extern "C" u8 m_myObj__10daMirror_c[4]; -extern "C" u8 m_myObj__9daGrass_c[4]; -extern "C" u8 m_grass__9daGrass_c[4]; -extern "C" u8 m_flower__9daGrass_c[4]; -extern "C" u8 m_myObj__6daMP_c[4]; -extern "C" u8 mTagMagne__12daTagMagne_c[4]; -extern "C" u8 mSttsFlag__12daObjCarry_c[5 + 3 /* padding */]; -extern "C" u8 mRoomNo__12daObjCarry_c[5 + 3 /* padding */]; -extern "C" void* M_dir_base__Q212daObjMovebox5Act_c[2]; -extern "C" u32 OPEN_SIZE__7daDsh_c; -extern "C" f32 OPEN_ACCEL__7daDsh_c; -extern "C" f32 OPEN_SPEED__7daDsh_c; -extern "C" f32 OPEN_BOUND_SPEED__7daDsh_c; -extern "C" f32 OPEN_BOUND_RATIO__7daDsh_c; -extern "C" f32 CLOSE_ACCEL__7daDsh_c; -extern "C" f32 CLOSE_SPEED__7daDsh_c; -extern "C" f32 CLOSE_BOUND_SPEED__7daDsh_c; -extern "C" f32 CLOSE_BOUND_RATIO__7daDsh_c; - -// -// External References: -// - -extern "C" void __dt__4cXyzFv(); -extern "C" void mDoMch_Create__Fv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void setEventReg__11dSv_event_cFUsUc(); -extern "C" void getEventReg__11dSv_event_cCFUs(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void GetMagnetCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" u8 m_status__7dDemo_c[4]; -extern "C" extern u8 mPlayerNo__11daTagMist_c[4]; - -// -// Declarations: -// - /* 80030F14-80030FBC 02B854 00A8+00 1/1 0/0 0/0 .text * set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc */ void daSus_c::data_c::set(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, @@ -246,23 +125,15 @@ void daSus_c::room_c::reset() { } } -/* ############################################################################################## */ -/* 80423FF0-80423FFC 050D10 000C+00 1/1 0/0 0/0 .bss @3840 */ -static u8 lit_3840[12]; - /* 80423FFC-8042447C 050D1C 0480+00 6/7 0/0 0/0 .bss mData__7daSus_c */ -u8 daSus_c::mData[1152]; +daSus_c::data_c daSus_c::mData[0x20]; /* 8042447C-8042457C 05119C 0100+00 2/3 0/0 1/1 .bss mRoom__7daSus_c */ -u8 daSus_c::mRoom[256]; +daSus_c::room_c daSus_c::mRoom[0x40]; /* 80450D88-80450D8C -00001 0004+00 1/1 0/0 2/2 .sbss None */ /* 80450D88 0002+00 data_80450D88 m_count__9daArrow_c */ -extern s16 m_count__9daArrow_c; -#pragma push -#pragma force_active on -s16 m_count__9daArrow_c; -#pragma pop +s16 daArrow_c::m_count; /* 80450D8A 0002+00 data_80450D8A mSetTop__7daSus_c */ s16 daSus_c::mSetTop; @@ -436,7 +307,7 @@ const char* daSetBgObj_c::getArcName(fopAc_ac_c* i_this) { /* ############################################################################################## */ /* 80451D28-80451D30 -00001 0008+00 0/0 0/0 3/3 .sdata2 M_dir_base__Q212daObjMovebox5Act_c */ -SECTION_SDATA2 s16 daObjMovebox::Act_c::M_dir_base[4] = { +s16 const daObjMovebox::Act_c::M_dir_base[4] = { 0x0000, 0x4000, 0x8000, @@ -444,31 +315,31 @@ SECTION_SDATA2 s16 daObjMovebox::Act_c::M_dir_base[4] = { }; /* 80451D30-80451D34 000330 0004+00 0/0 0/0 3/3 .sdata2 OPEN_SIZE__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_SIZE = 270.1f; +f32 const daDsh_c::OPEN_SIZE = 270.1f; /* 80451D34-80451D38 000334 0004+00 0/0 0/0 1/1 .sdata2 OPEN_ACCEL__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_ACCEL = 10.0f; +f32 const daDsh_c::OPEN_ACCEL = 10.0f; /* 80451D38-80451D3C 000338 0004+00 0/0 0/0 1/1 .sdata2 OPEN_SPEED__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_SPEED = -40.0f; +f32 const daDsh_c::OPEN_SPEED = -40.0f; /* 80451D3C-80451D40 00033C 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_SPEED__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_SPEED = -30.0f; +f32 const daDsh_c::OPEN_BOUND_SPEED = -30.0f; /* 80451D40-80451D44 000340 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_RATIO__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -0.4f; +f32 const daDsh_c::OPEN_BOUND_RATIO = -0.4f; /* 80451D44-80451D48 000344 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_ACCEL__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::CLOSE_ACCEL = 10.0f; +f32 const daDsh_c::CLOSE_ACCEL = 10.0f; /* 80451D48-80451D4C 000348 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_SPEED__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::CLOSE_SPEED = 40.0f; +f32 const daDsh_c::CLOSE_SPEED = 40.0f; /* 80451D4C-80451D50 00034C 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_SPEED__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_SPEED = 30.0f; +f32 const daDsh_c::CLOSE_BOUND_SPEED = 30.0f; /* 80451D50-80451D54 000350 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_RATIO__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f; +f32 const daDsh_c::CLOSE_BOUND_RATIO = -0.4f; /* 800318B4-8003194C 02C1F4 0098+00 0/0 1/1 0/0 .text checkArea__13daTagStream_cFPC4cXyz */ @@ -485,7 +356,7 @@ int daTagStream_c::checkArea(cXyz const* param_0) { /* ############################################################################################## */ /* 8042457C-80424588 05129C 000C+00 1/2 0/0 1/1 .bss m_entryModel__10daMirror_c */ -daMirror_c::entryModelFunc daMirror_c::m_entryModel; +daMirror_c::entryModelFunc daMirror_c::m_entryModel = NULL; /* 80450DA4-80450DA8 0002A4 0004+00 0/0 1/1 2/2 .sbss m_top__13daTagStream_c */ daTagStream_c* daTagStream_c::m_top; @@ -513,7 +384,7 @@ bool daMirror_c::remove() { /* ############################################################################################## */ /* 80424588-80424594 0512A8 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__15dGrass_packet_c */ -dGrass_packet_c::deleteFunc dGrass_packet_c::m_deleteRoom; +dGrass_packet_c::deleteFunc dGrass_packet_c::m_deleteRoom = NULL; /* 80450DAC-80450DB0 0002AC 0004+00 0/0 0/0 2/2 .sbss m_myObj__9daGrass_c */ daGrass_c* daGrass_c::m_myObj; @@ -531,7 +402,7 @@ void daGrass_c::deleteRoomGrass(int param_0) { /* ############################################################################################## */ /* 80424594-804245A0 0512B4 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__16dFlower_packet_c */ -dFlower_packet_c::deleteFunc dFlower_packet_c::m_deleteRoom; +dFlower_packet_c::deleteFunc dFlower_packet_c::m_deleteRoom = NULL; /* 80450DB4-80450DB8 0002B4 0004+00 1/1 0/0 9/9 .sbss m_flower__9daGrass_c */ dFlower_packet_c* daGrass_c::m_flower; @@ -650,19 +521,12 @@ bool daObjCarry_c::chkSaveFlag() { return mSaveFlag == true; } -/* ############################################################################################## */ -/* 804245A0-804245AC 0512C0 000C+00 0/1 0/0 0/0 .bss @4480 */ -#pragma push -#pragma force_active on -static u8 lit_4480[12]; -#pragma pop - /* 804245AC-804245E8 0512CC 003C+00 3/4 0/0 0/0 .bss mPos__12daObjCarry_c */ -Vec daObjCarry_c::mPos[5]; +cXyz daObjCarry_c::mPos[5]; /* 80031D24-80031D38 02C664 0014+00 0/0 0/0 1/1 .text getPos__12daObjCarry_cFi */ const cXyz& daObjCarry_c::getPos(int param_0) { - return *(cXyz*)&mPos[param_0]; + return mPos[param_0]; } /* 80031D38-80031D64 02C678 002C+00 0/0 0/0 2/2 .text savePos__12daObjCarry_cFi4cXyz */ @@ -704,46 +568,3 @@ void daObjCarry_c::setRoomNo(int idx, s8 roomNo) { s8 daObjCarry_c::getRoomNo(int idx) { return mRoomNo[idx]; } - -/* 80031DC4-80031EAC 02C704 00E8+00 0/0 1/0 0/0 .text __sinit_d_com_static_cpp */ -void __sinit_d_com_static_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80031DC4, __sinit_d_com_static_cpp); -#pragma pop - -/* 80031EAC-80031EE4 02C7EC 0038+00 1/1 0/0 0/0 .text __arraydtor$4479 */ -void func_80031EAC() { - // NONMATCHING -} - -/* 80031EE4-80031EF0 02C824 000C+00 1/1 0/0 0/0 .text __ct__Q27daSus_c6room_cFv */ -daSus_c::room_c::room_c() { - // NONMATCHING -} - -/* 80031EF0-80031F28 02C830 0038+00 1/1 0/0 0/0 .text __arraydtor$3839 */ -void func_80031EF0() { - // NONMATCHING -} - -/* 80031F28-80031F64 02C868 003C+00 2/2 0/0 0/0 .text __dt__Q27daSus_c6data_cFv */ -daSus_c::data_c::~data_c() { - // NONMATCHING -} - -/* 80031F64-80031F94 02C8A4 0030+00 1/1 0/0 0/0 .text __ct__Q27daSus_c6data_cFv */ -daSus_c::data_c::data_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80450DD1-80450DD5 -00001 0004+00 0/0 0/0 0/0 .sbss None */ -#pragma push -#pragma force_active on -static u8 pad_80450DD1[4]; -#pragma pop - -/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 654993401e..398d5555b3 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -3,8 +3,6 @@ // Translation Unit: d/d_drawlist // -#define NO_INLINE_DLSTBASE_DRAW - #include "d/d_drawlist.h" #include "d/d_s_play.h" #include "JSystem/J2DGraph/J2DScreen.h" @@ -18,10 +16,6 @@ #include "m_Do/m_Do_mtx.h" #include "JSystem/J2DGraph/J2DGrafContext.h" -// -// Types: -// - class dDlst_blo_c : public dDlst_base_c { public: /* 80053B64 */ virtual void draw(); @@ -187,178 +181,6 @@ public: /* 0x3c */ dDlst_shadowPoly_c* mPoly; }; -// -// Forward References: -// - -extern "C" void setViewPort__14dDlst_window_cFffffff(); -extern "C" void setScissor__14dDlst_window_cFffff(); -extern "C" void draw__13dDlst_2DTri_cFv(); -extern "C" void draw__14dDlst_2DQuad_cFv(); -extern "C" void draw__15dDlst_2DPoint_cFv(); -extern "C" void draw__11dDlst_2DT_cFv(); -extern "C" void draw__12dDlst_2DT2_cFv(); -extern "C" void __ct__12dDlst_2DT2_cFv(); -extern "C" void init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff(); -extern "C" void draw__11dDlst_2DM_cFv(); -extern "C" void draw__11dDlst_2Dm_cFv(); -extern "C" void draw__12dDlst_2DMt_cFv(); -extern "C" void getTexture__10J2DPictureCFUc(); -extern "C" void __ct__10dDlst_2D_cFP7ResTIMGssssUc(); -extern "C" void draw__10dDlst_2D_cFv(); -extern "C" void draw__11dDlst_blo_cFv(); -extern "C" void clearAnmTransform__9J2DScreenFv(); -extern "C" void calcMtx__7J2DPaneFv(); -extern "C" void makeMatrix__7J2DPaneFff(); -extern "C" s32 getTypeID__7J2DPaneCFv(); -extern "C" void setWhite__10J2DPictureFQ28JUtility6TColor(); -extern "C" void setBlack__10J2DPictureFQ28JUtility6TColor(); -extern "C" void __dt__10J2DAnmBaseFv(); -extern "C" void init__8cM_rnd_cFiii(); -extern "C" void get__8cM_rnd_cFv(); -extern "C" void getF__8cM_rnd_cFf(); -extern "C" void getFX__8cM_rnd_cFf(); -extern "C" void getValue__8cM_rnd_cFff(); -extern "C" void draw__18dDlst_effectLine_cFv(); -extern "C" void update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff(); -extern "C" void set__18dDlst_shadowPoly_cFP10cBgD_Vtx_tUsUsUsP8cM3dGPla(); -extern "C" void draw__18dDlst_shadowPoly_cFv(); -extern "C" static void J3DDrawBuffer__create__FUl(); -extern "C" void reset__18dDlst_shadowReal_cFv(); -extern "C" void imageDraw__18dDlst_shadowReal_cFPA4_f(); -extern "C" void draw__18dDlst_shadowReal_cFv(); -extern "C" static void psdRealCallBack__FP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla(); -extern "C" static void realPolygonCheck__FP4cXyzffP4cXyzP18dDlst_shadowPoly_c(); -extern "C" void __dt__14ShdwDrawPoly_cFv(); -extern "C" static void setkankyoShadow__FP12dKy_tevstr_cPf(); -extern "C" void setShadowRealMtx__18dDlst_shadowReal_cFP4cXyzP4cXyzfffP12dKy_tevstr_c(); -extern "C" void set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff(); -extern "C" void add__18dDlst_shadowReal_cFP8J3DModel(); -extern "C" void draw__20dDlst_shadowSimple_cFv(); -extern "C" void set__20dDlst_shadowSimple_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void init__21dDlst_shadowControl_cFv(); -extern "C" void reset__21dDlst_shadowControl_cFv(); -extern "C" void imageDraw__21dDlst_shadowControl_cFPA4_f(); -extern "C" void draw__21dDlst_shadowControl_cFPA4_f(); -extern "C" void setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG(); -extern "C" void newData__13dDlst_peekZ_cFssPUl(); -extern "C" void peekData__13dDlst_peekZ_cFv(); -extern "C" void __ct__12dDlst_list_cFv(); -extern "C" void __ct__26mDoExt_3DlineMatSortPacketFv(); -extern "C" void __dt__18dDlst_shadowReal_cFv(); -extern "C" void __dt__17dDlst_shadowTri_cFv(); -extern "C" void __ct__18dDlst_shadowReal_cFv(); -extern "C" void __ct__17dDlst_shadowTri_cFv(); -extern "C" void __ct__20dDlst_shadowSimple_cFv(); -extern "C" void init__12dDlst_list_cFv(); -extern "C" void __dt__12dDlst_list_cFv(); -extern "C" void reset__12dDlst_list_cFv(); -extern "C" void entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz(); -extern "C" void drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer(); -extern "C" void drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer(); -extern "C" void drawOpaListItem3d__12dDlst_list_cFv(); -extern "C" void drawXluListItem3d__12dDlst_list_cFv(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c(); -extern "C" void wipeIn__12dDlst_list_cFfR8_GXColor(); -extern "C" void wipeIn__12dDlst_list_cFf(); -extern "C" void calcWipe__12dDlst_list_cFv(); -extern "C" dDlst_shadowTri_c* getTri__22dDlst_shadowRealPoly_cFv(); -extern "C" s32 getTriMax__22dDlst_shadowRealPoly_cFv(); -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen(); -extern "C" void __sinit_d_drawlist_cpp(); -extern "C" extern char const* const d_d_drawlist__stringBase0; -extern "C" extern void* __vt__11dDlst_2DT_c[3]; -extern "C" extern void* __vt__15dDlst_2DPoint_c[3]; -extern "C" extern void* __vt__14dDlst_2DQuad_c[3]; -extern "C" extern void* __vt__13dDlst_2DTri_c[3]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mWipeDlst__12dDlst_list_c[72]; -extern "C" u8 mWipeColor__12dDlst_list_c[4]; -extern "C" f32 mWipeRate__12dDlst_list_c; -extern "C" f32 mWipeSpeed__12dDlst_list_c[1 + 1 /* padding */]; -extern "C" extern u8 data_80450EE0; - -// -// External References: -// - -extern "C" void __dt__4cXyzFv(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__26mDoExt_3DlineMatSortPacketFv(); -extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj(); -extern "C" void ShdwDraw__4cBgSFP13cBgS_ShdwDraw(); -extern "C" void dKy_plight_near_pos__Fv(); -extern "C" void dKy_GxFog_set__Fv(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void normalize__4cXyzFv(); -extern "C" void isZero__4cXyzCFv(); -extern "C" void __ct__13cBgS_ShdwDrawFv(); -extern "C" void __dt__13cBgS_ShdwDrawFv(); -extern "C" void Set__13cBgS_ShdwDrawFR4cXyzR4cXyz(); -extern "C" void SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i(); -extern "C" void cLib_chaseUC__FPUcUcUc(); -extern "C" void calcViewFrustum__11J3DUClipperFv(); -extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); -extern "C" void clearAnmTransform__7J2DPaneFv(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void __ct__10J2DPictureFv(); -extern "C" void reinitGX__6J3DSysFv(); -extern "C" void drawFast__14J3DShapePacketFv(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void initialize__13J3DDrawBufferFv(); -extern "C" void allocBuffer__13J3DDrawBufferFUl(); -extern "C" void __dt__13J3DDrawBufferFv(); -extern "C" void frameInit__13J3DDrawBufferFv(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void draw__13J3DDrawBufferCFv(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXPixModeSync(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savefpr_26(); -extern "C" void _restfpr_26(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__26mDoExt_3DlineMatSortPacket[5]; -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern void* __vt__9J3DPacket[5]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mClipper__14mDoLib_clipper[92]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mBackColor__13mDoGph_gInf_c[4]; -extern "C" f32 mSystemFar__14mDoLib_clipper; -extern "C" f32 mFovyRate__14mDoLib_clipper; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - -// -// Declarations: -// - /* 80051AC0-80051ADC 04C400 001C+00 0/0 3/3 0/0 .text setViewPort__14dDlst_window_cFffffff */ void dDlst_window_c::setViewPort(f32 xOrig, f32 yOrig, f32 width, f32 height, f32 nearZ, f32 farZ) { mViewport.mXOrig = xOrig; @@ -715,55 +537,42 @@ void dDlst_2DT2_c::draw() { dComIfGp_getCurrentGrafPort()->setup2D(); } -/* ############################################################################################## */ /* 803A87A0-803A87C0 0058C0 000C+14 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A87C0-803A8800 0058E0 003C+04 0/0 0/0 0/0 .data l_frontZMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_frontZMat[] ALIGN_DECL(32) = { +static u8 l_frontZMat[] ALIGN_DECL(32) = { 0x61, 0x40, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8800-803A882C 005920 002A+02 0/0 0/0 0/0 .data l_frontNoZSubMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_frontNoZSubMat[] ALIGN_DECL(32) = { +static u8 l_frontNoZSubMat[] ALIGN_DECL(32) = { 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x09, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A882C-803A88A0 00594C 0060+14 0/1 0/0 0/0 .data l_shadowVolPos */ -#pragma push -#pragma force_active on -SECTION_DATA static Vec l_shadowVolPos[] = { +static Vec l_shadowVolPos[] = { {-1.0f, -1.0f, 0.0f}, {-1.0f, -1.0f, -300.0f}, {-1.0f, 1.0f, 0.0f}, {-1.0f, 1.0f, -300.0f}, {1.0f, -1.0f, 0.0f}, {1.0f, -1.0f, -300.0f}, {1.0f, 1.0f, 0.0f}, {1.0f, 1.0f, -300.0f}, }; -#pragma pop /* 803A88A0-803A88E0 0059C0 003B+05 0/0 0/0 0/0 .data l_shadowVolDL */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowVolDL[] ALIGN_DECL(32) = { +static u8 l_shadowVolDL[] ALIGN_DECL(32) = { 0x80, 0x00, 0x18, 0x06, 0x02, 0x03, 0x07, 0x00, 0x04, 0x05, 0x01, 0x06, 0x04, 0x00, 0x02, 0x07, 0x05, 0x04, 0x06, 0x03, 0x01, 0x05, 0x07, 0x02, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A88E0-803A8940 005A00 005A+06 1/1 0/0 0/0 .data l_shadowProjMat */ -SECTION_DATA static u8 l_shadowProjMat[] ALIGN_DECL(32) = { +static u8 l_shadowProjMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xE6, 0x70, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x04, 0xAD, 0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, @@ -773,9 +582,7 @@ SECTION_DATA static u8 l_shadowProjMat[] ALIGN_DECL(32) = { }; /* 803A8940-803A89A0 005A60 005A+06 0/0 0/0 0/0 .data l_shadowVolMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = { +static u8 l_shadowVolMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, @@ -783,12 +590,9 @@ SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A89A0-803A8A00 005AC0 0055+0B 0/1 0/0 0/0 .data l_clearMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_clearMat[] ALIGN_DECL(32) = { +static u8 l_clearMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0xA0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x00, 0x14, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, @@ -796,12 +600,9 @@ SECTION_DATA static u8 l_clearMat[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8A00-803A8A60 005B20 0055+0B 0/1 0/0 0/0 .data l_frontMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_frontMat[] ALIGN_DECL(32) = { +static u8 l_frontMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x01, 0x15, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, @@ -809,34 +610,25 @@ SECTION_DATA static u8 l_frontMat[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8A60-803A8A9C 005B80 003C+00 0/1 0/0 0/0 .data l_backSubMat */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_backSubMat[] ALIGN_DECL(32) = { +static u8 l_backSubMat[] ALIGN_DECL(32) = { 0x61, 0x41, 0x00, 0x09, 0x35, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8A9C-803A8B60 005BBC 00A8+1C 0/1 0/0 0/0 .data l_simpleShadowPos */ -#pragma push -#pragma force_active on -SECTION_DATA static Vec l_simpleShadowPos[] = { +static Vec l_simpleShadowPos[] = { {0.0f, -1.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, -1.0f, -1.0f}, {1.0f, 0.0f, -1.0f}, {-1.0f, -1.0f, -1.0f}, {-1.0f, 0.0f, -1.0f}, {-1.0f, -1.0f, 1.0f}, {-1.0f, 0.0f, 1.0f}, {1.0f, -1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}, {-1.0f, 1.0f, -1.0f}, {1.0f, 1.0f, -1.0f}, {1.0f, 1.0f, 1.0f}, {-1.0f, 1.0f, 1.0f}, }; -#pragma pop /* 803A8B60-803A8BC0 005C80 0058+08 0/1 0/0 0/0 .data l_shadowVolumeDL */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = { +static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = { 0x98, 0x00, 0x05, 0x03, 0x09, 0x01, 0x07, 0x05, 0x98, 0x00, 0x05, 0x04, 0x06, 0x00, 0x08, 0x02, 0x98, 0x00, 0x04, 0x04, 0x05, 0x06, 0x07, 0x98, 0x00, 0x04, 0x02, 0x03, 0x04, 0x05, 0x98, 0x00, 0x04, 0x08, 0x09, 0x02, 0x03, 0x98, 0x00, 0x04, 0x06, 0x07, 0x08, 0x09, 0x98, @@ -844,12 +636,9 @@ SECTION_DATA static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8BC0-803A8C20 005CE0 0055+0B 0/1 0/0 0/0 .data l_shadowSealTexDL */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = { +static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, @@ -857,12 +646,9 @@ SECTION_DATA static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8C20-803A8C80 005D40 0055+0B 0/1 0/0 0/0 .data l_shadowSealTex2DL */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = { +static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, @@ -870,12 +656,9 @@ SECTION_DATA static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop /* 803A8C80-803A8D00 005DA0 0069+17 0/1 0/0 0/0 .data l_shadowSealDL */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_shadowSealDL[] ALIGN_DECL(32) = { +static u8 l_shadowSealDL[] ALIGN_DECL(32) = { 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x05, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0xB0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0xED, 0x10, 0x00, @@ -884,48 +667,6 @@ SECTION_DATA static u8 l_shadowSealDL[] ALIGN_DECL(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#pragma pop - -/* 803A8D00-803A8D7C 005E20 007B+01 1/1 0/0 0/0 .data l_matDL$5404 */ -SECTION_DATA static u8 l_matDL[] ALIGN_DECL(32) = { - 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, - 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xF2, 0x61, 0xC1, 0x08, 0xFF, - 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, - 0x40, 0x10, 0x61, 0xEE, 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, - 0x00, 0x61, 0xF1, 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803A8D7C-803A8D8C 005E9C 0010+00 1/1 0/0 0/0 .data l_imageDrawColor$5405 */ -SECTION_DATA static GXColor l_imageDrawColor[4] = { - {255, 0, 0, 0}, - {0, 255, 0, 0}, - {0, 0, 255, 0}, - {0, 0, 0, 255}, -}; - -/* 803A8D8C-803A8D9C 005EAC 0010+00 0/1 0/0 0/0 .data l_tevColorChan$5438 */ -#pragma push -#pragma force_active on -SECTION_DATA static GXTevColor l_tevColorChan[4] = { - GX_CH_RED, - GX_CH_GREEN, - GX_CH_BLUE, - GX_CH_ALPHA, -}; -#pragma pop - -/* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */ -#pragma push -#pragma force_active on -SECTION_DATA static Mtx mtx_adj = { - {0.5f, 0.0f, 0.0f, 0.5f}, - {0.0f, -0.5f, 0.0f, 0.5f}, - {0.0f, 0.0f, 1.0f, 0.0f}, -}; -#pragma pop /* 80052B00-80052B4C 04D440 004C+00 1/1 0/0 0/0 .text __ct__12dDlst_2DT2_cFv */ dDlst_2DT2_c::dDlst_2DT2_c() { @@ -1186,50 +927,11 @@ void dDlst_2D_c::draw() { mpPicture.draw(mPosX, mPosY, mSizeX, mSizeY, false, false, false); } - /* 80053B64-80053BA0 04E4A4 003C+00 1/0 0/0 0/0 .text draw__11dDlst_blo_cFv */ void dDlst_blo_c::draw() { mScreen.draw(field_0x120, field_0x124, dComIfGp_getCurrentGrafPort()); } - -/* 80053BA0-80053BC0 04E4E0 0020+00 0/0 1/0 0/0 .text clearAnmTransform__9J2DScreenFv */ -void J2DScreen::clearAnmTransform() { - // NONMATCHING -} - -/* 80053BC0-80053C00 04E500 0040+00 0/0 7/0 0/0 .text calcMtx__7J2DPaneFv */ -void J2DPane::calcMtx() { - // NONMATCHING -} - -/* 80053C00-80053C3C 04E540 003C+00 0/0 8/0 0/0 .text makeMatrix__7J2DPaneFff */ -void J2DPane::makeMatrix(f32 param_0, f32 param_1) { - // NONMATCHING -} - -/* 80053C3C-80053C44 04E57C 0008+00 0/0 1/0 0/0 .text getTypeID__7J2DPaneCFv */ -// s32 J2DPane::getTypeID() const { -extern "C" s32 getTypeID__7J2DPaneCFv() { - return 16; -} - -/* 80053C44-80053C6C 04E584 0028+00 0/0 1/0 0/0 .text setWhite__10J2DPictureFQ28JUtility6TColor */ -bool J2DPicture::setWhite(JUtility::TColor param_0) { - // NONMATCHING -} - -/* 80053C6C-80053C94 04E5AC 0028+00 0/0 1/0 0/0 .text setBlack__10J2DPictureFQ28JUtility6TColor */ -bool J2DPicture::setBlack(JUtility::TColor param_0) { - // NONMATCHING -} - -/* 80053C94-80053CDC 04E5D4 0048+00 1/0 0/0 0/0 .text __dt__10J2DAnmBaseFv */ -// J2DAnmBase::~J2DAnmBase() { -extern "C" void __dt__10J2DAnmBaseFv() { - // NONMATCHING -} - /* 80053CDC-80053CEC 04E61C 0010+00 0/0 2/2 0/0 .text init__8cM_rnd_cFiii */ void cM_rnd_c::init(int s0, int s1, int s2) { seed0 = s0; @@ -1247,7 +949,6 @@ f32 cM_rnd_c::get() { return fabsf(rm); } - /* 80053DE0-80053E18 04E720 0038+00 1/1 0/0 0/0 .text getF__8cM_rnd_cFf */ f32 cM_rnd_c::getF(f32 param_0) { return get() * param_0; @@ -1776,6 +1477,26 @@ void dDlst_shadowControl_c::reset() { /* 800557C8-80055A14 050108 024C+00 0/0 1/1 0/0 .text imageDraw__21dDlst_shadowControl_cFPA4_f */ void dDlst_shadowControl_c::imageDraw(Mtx param_0) { + static u8 l_matDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, + 0x00, 0x00, 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xF2, + 0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x61, 0xEE, 0x00, 0x00, + 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, 0x00, 0x61, 0xF1, 0x00, + 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; + + static GXColor l_imageDrawColor[4] = { + {255, 0, 0, 0}, + {0, 255, 0, 0}, + {0, 0, 255, 0}, + {0, 0, 0, 255}, + }; + + GXCallDisplayList(l_matDL, 0x60); GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE); GXSetZCompLoc(GX_TRUE); @@ -1827,6 +1548,13 @@ void dDlst_shadowControl_c::imageDraw(Mtx param_0) { /* 80055A14-80055C74 050354 0260+00 0/0 1/1 0/0 .text draw__21dDlst_shadowControl_cFPA4_f */ void dDlst_shadowControl_c::draw(Mtx param_0) { + static GXTevColor l_tevColorChan[4] = { + GX_CH_RED, + GX_CH_GREEN, + GX_CH_BLUE, + GX_CH_ALPHA, + }; + j3dSys.reinitGX(); GXSetNumIndStages(0); dKy_GxFog_set(); @@ -1879,6 +1607,16 @@ void dDlst_shadowControl_c::draw(Mtx param_0) { GXSetAlphaUpdate(GX_DISABLE); } +/* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */ +#pragma push +#pragma force_active on +SECTION_DATA static Mtx mtx_adj = { + {0.5f, 0.0f, 0.0f, 0.5f}, + {0.0f, -0.5f, 0.0f, 0.5f}, + {0.0f, 0.0f, 1.0f, 0.0f}, +}; +#pragma pop + /* 80055C74-80055F1C 0505B4 02A8+00 0/0 1/1 1/1 .text * setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ int dDlst_shadowControl_c::setReal(u32 param_1, s8 param_2, J3DModel* param_3, cXyz* param_4, @@ -2260,10 +1998,3 @@ void dDlst_list_c::calcWipe() { dComIfGd_set2DXlu(&mWipeDlst); } } - -/* 800569B0-800569B4 0512F0 0004+00 1/0 7/0 0/0 .text - * searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen */ -// void J2DAnmBase::searchUpdateMaterialID(J2DScreen* param_0) { -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen() { - /* empty function */ -} diff --git a/src/d/d_event.cpp b/src/d/d_event.cpp index 2665db02ff..1b1980b9f5 100644 --- a/src/d/d_event.cpp +++ b/src/d/d_event.cpp @@ -205,8 +205,9 @@ s32 dEvt_control_c::beforeFlagProc(dEvt_order_c* p_order) { return 1; } -/* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -static char const* const stringBase_80379D80 = "???"; +static char const* dummy1() { + return "???"; +} /* 80041964-800419A8 03C2A4 0044+00 2/2 0/0 0/0 .text * afterFlagProc__14dEvt_control_cFP12dEvt_order_c */ @@ -834,9 +835,6 @@ bool dEvt_control_c::skipper() { return startSkip; } -/* 80451EC8-80451ECC 0004C8 0004+00 1/1 0/0 0/0 .sdata2 @5013 */ -static f32 lit_5013 = -1.0f / 20.0f; - /* 80042BBC-80042FA8 03D4FC 03EC+00 0/0 1/1 0/0 .text Step__14dEvt_control_cFv */ int dEvt_control_c::Step() { dEvent_manager_c* evtMng = &dComIfGp_getEventManager(); @@ -1219,5 +1217,6 @@ void dEvt_control_c::setGtItm(u8 itemNo) { mGtItm = itemNo; } -/* 80379DC6-80379DD0 006426 0008+02 0/0 0/0 0/0 .rodata None */ -static char const* const stringBase_80379DC6 = "GIVEMAN"; +static char const* dummy2() { + return "GIVEMAN"; +} diff --git a/src/d/d_file_select.cpp b/src/d/d_file_select.cpp index c20bdaaa2c..5e51a038d4 100644 --- a/src/d/d_file_select.cpp +++ b/src/d/d_file_select.cpp @@ -3,9 +3,6 @@ * dolzel2 - Quest Log Management (File Select Menu) */ -// temp hack to get the TU to match -#define __dt__15J2DAnmTransformFv_DEFINED - #include "d/d_file_select.h" #include "d/d_file_sel_info.h" #include "JSystem/J2DGraph/J2DAnmLoader.h" @@ -13,8 +10,6 @@ #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "d/d_meter2_info.h" #include "f_op/f_op_msg_mng.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" @@ -25,1713 +20,55 @@ #include "d/d_msg_string.h" #include "JSystem/JKernel/JKRSolidHeap.h" -// -// Forward References: -// - -extern "C" void __ct__9dFs_HIO_cFv(); -extern "C" void __ct__14dFile_select_cFP10JKRArchive(); -extern "C" void __dt__14dFile_select_cFv(); -extern "C" void __dt__15J2DAnmTevRegKeyFv(); -extern "C" void __dt__19J2DAnmTextureSRTKeyFv(); -extern "C" void __dt__11J2DAnmColorFv(); -extern "C" void __dt__15J2DAnmTransformFv(); -extern "C" void _create__14dFile_select_cFv(); -extern "C" void _move__14dFile_select_cFv(); -extern "C" void selFileWakuAnm__14dFile_select_cFv(); -extern "C" void bookIconAnm__14dFile_select_cFv(); -extern "C" void selCopyFileWakuAnm__14dFile_select_cFv(); -extern "C" void copyBookIconAnm__14dFile_select_cFv(); -extern "C" void dataDelEffAnm__14dFile_select_cFv(); -extern "C" void dataCopyEffAnm__14dFile_select_cFv(); -extern "C" void selectDataBaseMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void selectDataBaseMoveAnm__14dFile_select_cFv(); -extern "C" void dataSelectInAnmSet__14dFile_select_cFv(); -extern "C" void dataSelectIn__14dFile_select_cFv(); -extern "C" void dataSelectInit__14dFile_select_cFv(); -extern "C" void dataSelect__14dFile_select_cFv(); -extern "C" void dataSelectStart__14dFile_select_cFv(); -extern "C" void selectDataMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void selectDataMoveAnm__14dFile_select_cFv(); -extern "C" void dataSelectAnmSet__14dFile_select_cFv(); -extern "C" void dataSelectMoveAnime__14dFile_select_cFv(); -extern "C" void makeRecInfo__14dFile_select_cFUc(); -extern "C" void selectDataOpenMove__14dFile_select_cFv(); -extern "C" void selectDataNameMove__14dFile_select_cFv(); -extern "C" void selectDataOpenEraseMove__14dFile_select_cFv(); -extern "C" void menuSelect__14dFile_select_cFv(); -extern "C" void menuSelectStart__14dFile_select_cFv(); -extern "C" void menuSelectCansel__14dFile_select_cFv(); -extern "C" void menuMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void setWhite__10J2DTextBoxFQ28JUtility6TColor(); -extern "C" void menuMoveAnm__14dFile_select_cFv(); -extern "C" void menuSelectAnmSet__14dFile_select_cFv(); -extern "C" void menuSelectMoveAnm__14dFile_select_cFv(); -extern "C" void ToNameMove__14dFile_select_cFv(); -extern "C" void ToNameMove2__14dFile_select_cFv(); -extern "C" void nameInputWait__14dFile_select_cFv(); -extern "C" void nameInput__14dFile_select_cFv(); -extern "C" void nameToDataSelectMove__14dFile_select_cFv(); -extern "C" void nameInputFade__14dFile_select_cFv(); -extern "C" void nameInput2Move__14dFile_select_cFv(); -extern "C" void nameInput2__14dFile_select_cFv(); -extern "C" void backNameInputMove0__14dFile_select_cFv(); -extern "C" void backNameInputMove__14dFile_select_cFv(); -extern "C" void ToCopyPaneMove__14dFile_select_cFv(); -extern "C" void ToErasePaneMove__14dFile_select_cFv(); -extern "C" void backSelectMove__14dFile_select_cFv(); -extern "C" void copySelMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void setSaveDataForCopySel__14dFile_select_cFv(); -extern "C" void copyDataToSelect__14dFile_select_cFv(); -extern "C" void copyDataToSelectStart__14dFile_select_cFv(); -extern "C" void copyDataToSelectCansel__14dFile_select_cFv(); -extern "C" void copyDataToSelectMoveAnmSet__14dFile_select_cFv(); -extern "C" void copyDataToSelectMoveAnm__14dFile_select_cFv(); -extern "C" void copySelectWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc(); -extern "C" void copySelectWakuAlpahAnm__14dFile_select_cFUc(); -extern "C" void getCptoNum__14dFile_select_cFUc(); -extern "C" void copyToSelBack__14dFile_select_cFv(); -extern "C" void copyToSelPaneMove__14dFile_select_cFv(); -extern "C" void yesnoMenuMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void yesnoMenuMoveAnm__14dFile_select_cFv(); -extern "C" void yesnoSelectMoveAnm__14dFile_select_cFv(); -extern "C" void yesnoCursorShow__14dFile_select_cFv(); -extern "C" void YesNoSelect__14dFile_select_cFv(); -extern "C" void yesNoSelectStart__14dFile_select_cFv(); -extern "C" void yesnoSelectAnmSet__14dFile_select_cFv(); -extern "C" void yesnoCancelAnmSet__14dFile_select_cFv(); -extern "C" void YesNoCancelMove__14dFile_select_cFv(); -extern "C" void yesNoCursorMoveAnm__14dFile_select_cFv(); -extern "C" void CmdExecPaneMove0__14dFile_select_cFv(); -extern "C" void CommandExec__14dFile_select_cFv(); -extern "C" void DataEraseWait__14dFile_select_cFv(); -extern "C" void DataEraseWait2__14dFile_select_cFv(); -extern "C" void ErasePaneMoveOk__14dFile_select_cFv(); -extern "C" void ErasePaneMoveOk2__14dFile_select_cFv(); -extern "C" void eraseEndBackSelectWait__14dFile_select_cFv(); -extern "C" void eraseEndBackSelect__14dFile_select_cFv(); -extern "C" void DataCopyWait__14dFile_select_cFv(); -extern "C" void DataCopyWait2__14dFile_select_cFv(); -extern "C" void copyPaneMoveOk__14dFile_select_cFv(); -extern "C" void copyPaneMoveOk2__14dFile_select_cFv(); -extern "C" void ErrorMsgPaneMove__14dFile_select_cFv(); -extern "C" void backDatSelPaneMove__14dFile_select_cFv(); -extern "C" void backDatSelWait__14dFile_select_cFv(); -extern "C" void backDatSelWait2__14dFile_select_cFv(); -extern "C" void nextModeWait__14dFile_select_cFv(); -extern "C" void screenSet__14dFile_select_cFv(); -extern "C" bool setBlackWhite__10J2DPictureFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey(); -extern "C" void screenSetCopySel__14dFile_select_cFv(); -extern "C" void screenSetYesNo__14dFile_select_cFv(); -extern "C" void screenSet3Menu__14dFile_select_cFv(); -extern "C" void screenSetDetail__14dFile_select_cFv(); -extern "C" void setWakuAnm__14dFile_select_cFv(); -extern "C" void displayInit__14dFile_select_cFv(); -extern "C" void setSaveData__14dFile_select_cFv(); -extern "C" void headerTxtSet__14dFile_select_cFUsUcUc(); -extern "C" void headerTxtChangeAnm__14dFile_select_cFv(); -extern "C" void modoruTxtChange__14dFile_select_cFUc(); -extern "C" void modoruTxtDispAnmInit__14dFile_select_cFUc(); -extern "C" void modoruTxtDispAnm__14dFile_select_cFv(); -extern "C" void ketteiTxtDispAnmInit__14dFile_select_cFUc(); -extern "C" void ketteiTxtDispAnm__14dFile_select_cFv(); -extern "C" void selectWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc(); -extern "C" void selectWakuAlpahAnm__14dFile_select_cFUc(); -extern "C" void selFileCursorShow__14dFile_select_cFv(); -extern "C" void menuWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc(); -extern "C" void menuWakuAlpahAnm__14dFile_select_cFUc(); -extern "C" void menuCursorShow__14dFile_select_cFv(); -extern "C" void yesnoWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc(); -extern "C" void yesnoWakuAlpahAnm__14dFile_select_cFUc(); -extern "C" void _draw__14dFile_select_cFv(); -extern "C" void draw__15dDlst_FileSel_cFv(); -extern "C" void draw__17dDlst_FileSelDt_cFv(); -extern "C" void draw__17dDlst_FileSelCp_cFv(); -extern "C" void draw__17dDlst_FileSelYn_cFv(); -extern "C" void draw__17dDlst_FileSel3m_cFv(); -extern "C" void errorMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void errorMoveAnm__14dFile_select_cFv(); -extern "C" void errDispInitSet__14dFile_select_cFii(); -extern "C" void MemCardCheckMain__14dFile_select_cFv(); -extern "C" void MemCardStatCheck__14dFile_select_cFv(); -extern "C" void MemCardLoadWait__14dFile_select_cFv(); -extern "C" void MemCardErrMsgWaitKey__14dFile_select_cFv(); -extern "C" void noFileSpaceDispInit__14dFile_select_cFv(); -extern "C" void MemCardNoFileSpaceDisp__14dFile_select_cFv(); -extern "C" void iplSelDispInit__14dFile_select_cFv(); -extern "C" void MemCardGotoIPLSelectDisp__14dFile_select_cFv(); -extern "C" void MemCardGotoIPLSelect__14dFile_select_cFv(); -extern "C" void MemCardGotoIPL__14dFile_select_cFv(); -extern "C" void noSaveSelDispInit__14dFile_select_cFv(); -extern "C" void MemCardNoSaveSelDisp__14dFile_select_cFv(); -extern "C" void MemCardErrMsgWaitNoSaveSel__14dFile_select_cFv(); -extern "C" void formatYesSelDispInitSet__14dFile_select_cFv(); -extern "C" void formatNoSelDispInitSet__14dFile_select_cFv(); -extern "C" void MemCardFormatYesSelDisp__14dFile_select_cFv(); -extern "C" void MemCardFormatNoSelDisp__14dFile_select_cFv(); -extern "C" void MemCardErrMsgWaitFormatSel__14dFile_select_cFv(); -extern "C" void formatYesSel2DispInitSet__14dFile_select_cFv(); -extern "C" void MemCardErrMsgWaitFormatSel2__14dFile_select_cFv(); -extern "C" void MemCardFormatYesSel2Disp__14dFile_select_cFv(); -extern "C" void MemCardFormat__14dFile_select_cFv(); -extern "C" void MemCardFormatWait__14dFile_select_cFv(); -extern "C" void MemCardFormatCheck__14dFile_select_cFv(); -extern "C" void MemCardMakeGameFileSel__14dFile_select_cFv(); -extern "C" void MemCardMakeGameFileSelDisp__14dFile_select_cFv(); -extern "C" void MemCardMakeGameFile__14dFile_select_cFv(); -extern "C" void MemCardMakeGameFileWait__14dFile_select_cFv(); -extern "C" void MemCardMakeGameFileCheck__14dFile_select_cFv(); -extern "C" void MemCardMsgWindowInitOpen__14dFile_select_cFv(); -extern "C" void MemCardMsgWindowOpen__14dFile_select_cFv(); -extern "C" void MemCardMsgWindowClose__14dFile_select_cFv(); -extern "C" void errYesNoSelect__14dFile_select_cFv(); -extern "C" void errCurMove__14dFile_select_cFUc(); -extern "C" void MemCardErrYesNoCursorMoveAnm__14dFile_select_cFv(); -extern "C" void errorTxtSet__14dFile_select_cFUs(); -extern "C" void errorTxtChangeAnm__14dFile_select_cFv(); -extern "C" void fileRecScaleAnm__14dFile_select_cFv(); -extern "C" void fileRecScaleAnmInitSet2__14dFile_select_cFff(); -extern "C" void fileRecScaleAnm2__14dFile_select_cFv(); -extern "C" void fileInfoScaleAnm__14dFile_select_cFv(); -extern "C" void nameMoveAnmInitSet__14dFile_select_cFii(); -extern "C" void nameMoveAnm__14dFile_select_cFv(); -extern "C" void MemCardSaveDataClear__14dFile_select_cFv(); -extern "C" void setInitSaveData__14dFile_select_cFv(); -extern "C" void dataSave__14dFile_select_cFv(); -extern "C" void __ct__16dFile_select3D_cFv(); -extern "C" void __dt__16dFile_select3D_cFv(); -extern "C" void _create__16dFile_select3D_cFUcUc(); -extern "C" void _delete__16dFile_select3D_cFv(); -extern "C" void freeHeap__16dFile_select3D_cFv(); -extern "C" void _move__16dFile_select3D_cFv(); -extern "C" void draw__16dFile_select3D_cFv(); -extern "C" void setJ3D__16dFile_select3D_cFPCcPCcPCc(); -extern "C" void set_mtx__16dFile_select3D_cFv(); -extern "C" void animePlay__16dFile_select3D_cFv(); -extern "C" void animeEntry__16dFile_select3D_cFv(); -extern "C" void createMaskModel__16dFile_select3D_cFv(); -extern "C" void createMirrorModel__16dFile_select3D_cFv(); -extern "C" void toItem3Dpos__16dFile_select3D_cFfffP4cXyz(); -extern "C" void calcViewMtx__16dFile_select3D_cFPA4_f(); -extern "C" void getTransform__15J2DAnmTransformCFUsP16J3DTransformInfo(); -extern "C" void __dt__10JUTNameTabFv(); -extern "C" void __dt__17dDlst_FileSel3m_cFv(); -extern "C" void __dt__17dDlst_FileSelYn_cFv(); -extern "C" void __dt__17dDlst_FileSelCp_cFv(); -extern "C" void __dt__17dDlst_FileSelDt_cFv(); -extern "C" void __dt__15dDlst_FileSel_cFv(); -extern "C" void __dt__9dFs_HIO_cFv(); -extern "C" void __sinit_d_file_select_cpp(); -extern "C" void getString__12dMsgString_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc(); -extern "C" extern char const* const d_file_d_file_select__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XYZrotM__FPA4_fsss(); -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_removeMesgFont__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void mDoExt_removeSubFont__Fv(); -extern "C" void load__15mDoMemCd_Ctrl_cFv(); -extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl(); -extern "C" void command_format__15mDoMemCd_Ctrl_cFv(); -extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void mDoMemCdRWm_TestCheckSumGameData__FPv(); -extern "C" void mDoMemCdRWm_SetCheckSumGameData__FPUcUc(); -extern "C" void __ct__11J3DLightObjFv(); -extern "C" void fopMsgM_messageGet__FPcUl(); -extern "C" void itemInit__14dComIfG_play_cFv(); -extern "C" void __ct__9STControlFssssffss(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkLeftTrigger__9STControlFv(); -extern "C" void checkRightTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void isCollectCrystal__20dSv_player_collect_cCFUc(); -extern "C" void isCollectMirror__20dSv_player_collect_cCFUc(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void init__10dSv_info_cFv(); -extern "C" void card_to_memory__10dSv_info_cFPci(); -extern "C" void initdata_to_card__10dSv_info_cFPci(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen(); -extern "C" void __ct__15dFile_warning_cFP10JKRArchiveUc(); -extern "C" void _move__15dFile_warning_cFv(); -extern "C" void openInit__15dFile_warning_cFv(); -extern "C" void closeInit__15dFile_warning_cFv(); -extern "C" void init__15dFile_warning_cFv(); -extern "C" void _draw__15dFile_warning_cFv(); -extern "C" void __ct__12dFile_info_cFP10JKRArchiveUc(); -extern "C" void setSaveData__12dFile_info_cFP10dSv_save_ciUc(); -extern "C" void _draw__12dFile_info_cFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc(); -extern "C" void decMsgKeyWaitTimer__13dMeter2Info_cFv(); -extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void -getStringLocal__16dMsgStringBase_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__7dName_cFP7J2DPane(); -extern "C" void initial__7dName_cFv(); -extern "C" void showIcon__7dName_cFv(); -extern "C" void _move__7dName_cFv(); -extern "C" void _draw__7dName_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void reinit__8CPaneMgrFv(); -extern "C" void scaleAnime__8CPaneMgrFsffUc(); -extern "C" void -colorAnime__8CPaneMgrFsQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorUc(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void show__13CPaneMgrAlphaFv(); -extern "C" void hide__13CPaneMgrAlphaFv(); -extern "C" void alphaAnime__13CPaneMgrAlphaFsUcUcUc(); -extern "C" void cAPICPad_ANY_BUTTON__FUl(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void adjustSize__12JKRSolidHeapFv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void func_802F5E88(); -extern "C" void insertChild__7J2DPaneFP7J2DPaneP7J2DPane(); -extern "C" void animationTransform__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void func_802FC800(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFPCce(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void init__15J3DVertexBufferFv(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void initialize__8J3DModelFv(); -extern "C" void entryModelData__8J3DModelFP12J3DModelDataUlUl(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void load__22J3DModelLoaderDataBaseFPCvUl(); -extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); -extern "C" void __register_global_object(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" void __div2i(); -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]; -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__15J2DAnmTevRegKey[4]; -extern "C" extern void* __vt__19J2DAnmTextureSRTKey[4]; -extern "C" extern void* __vt__11J2DAnmColor[5]; -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" f32 Zero__4cXyz[3]; -extern "C" u8 mFadeColor__13mDoGph_gInf_c[4]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80394388-80394388 0209E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394388 = "tt_1_metal_40x40.bti"; -SECTION_DEAD static char const* const stringBase_8039439D = "tt_2_metal_40x40.bti"; -SECTION_DEAD static char const* const stringBase_803943B2 = "tt_3_metal_40x40.bti"; -SECTION_DEAD static char const* const stringBase_803943C7 = "zelda_file_select.blo"; -SECTION_DEAD static char const* const stringBase_803943DD = "zelda_file_select.bck"; -SECTION_DEAD static char const* const stringBase_803943F3 = ""; -SECTION_DEAD static char const* const stringBase_803943F4 = "zelda_file_select.bpk"; -SECTION_DEAD static char const* const stringBase_8039440A = "zelda_file_select_05.btk"; -SECTION_DEAD static char const* const stringBase_80394423 = "zelda_file_select.btk"; -SECTION_DEAD static char const* const stringBase_80394439 = "zelda_file_select.brk"; -SECTION_DEAD static char const* const stringBase_8039444F = "zelda_file_select_02.btk"; -SECTION_DEAD static char const* const stringBase_80394468 = "zelda_file_select_03.btk"; -SECTION_DEAD static char const* const stringBase_80394481 = "tt_block8x8.bti"; -SECTION_DEAD static char const* const stringBase_80394491 = "zelda_file_select_copy_select.blo"; -SECTION_DEAD static char const* const stringBase_803944B3 = "zelda_file_select_copy_select.bck"; -SECTION_DEAD static char const* const stringBase_803944D5 = "zelda_file_select_copy_select.bpk"; -SECTION_DEAD static char const* const stringBase_803944F7 = "zelda_file_select_copy_select_03.btk"; -SECTION_DEAD static char const* const stringBase_8039451C = "zelda_file_select_copy_select.btk"; -SECTION_DEAD static char const* const stringBase_8039453E = "zelda_file_select_copy_select.brk"; -SECTION_DEAD static char const* const stringBase_80394560 = "zelda_file_select_yes_no_window.blo"; -SECTION_DEAD static char const* const stringBase_80394584 = "zelda_file_select_yes_no_window.bck"; -SECTION_DEAD static char const* const stringBase_803945A8 = "zelda_file_select_yes_no_window.bpk"; -SECTION_DEAD static char const* const stringBase_803945CC = "zelda_file_select_yes_no_window.btk"; -SECTION_DEAD static char const* const stringBase_803945F0 = "zelda_file_select_3menu_window.blo"; -SECTION_DEAD static char const* const stringBase_80394613 = "zelda_file_select_3menu_window.bck"; -SECTION_DEAD static char const* const stringBase_80394636 = "zelda_file_select_3menu_window.bpk"; -SECTION_DEAD static char const* const stringBase_80394659 = "zelda_file_select_3menu_window.btk"; -SECTION_DEAD static char const* const stringBase_8039467C = "zelda_file_select_details.blo"; -SECTION_DEAD static char const* const stringBase_8039469A = "zelda_file_select_details.btk"; -SECTION_DEAD static char const* const stringBase_803946B8 = "md_mask_parts_spin_1.bck"; -SECTION_DEAD static char const* const stringBase_803946D1 = "md_mask_parts_spin_2.bck"; -SECTION_DEAD static char const* const stringBase_803946EA = "md_mask_parts_spin_3.bck"; -SECTION_DEAD static char const* const stringBase_80394703 = "md_mask_parts_spin_4.bck"; -SECTION_DEAD static char const* const stringBase_8039471C = "md_mask_parts_spin_1.brk"; -SECTION_DEAD static char const* const stringBase_80394735 = "md_mask_parts_spin_2_3.brk"; -SECTION_DEAD static char const* const stringBase_80394750 = "md_mask_parts_spin_4.brk"; -SECTION_DEAD static char const* const stringBase_80394769 = "md_mask_UI.bmd"; -SECTION_DEAD static char const* const stringBase_80394778 = "kageri_mirrer_spin_1.bck"; -SECTION_DEAD static char const* const stringBase_80394791 = "kageri_mirrer_spin_2.bck"; -SECTION_DEAD static char const* const stringBase_803947AA = "kageri_mirrer_spin_3.bck"; -SECTION_DEAD static char const* const stringBase_803947C3 = "kageri_mirrer_spin_4.bck"; -SECTION_DEAD static char const* const stringBase_803947DC = "kageri_mirrer_spin_1.brk"; -SECTION_DEAD static char const* const stringBase_803947F5 = "kageri_mirrer_spin_2_3_4.brk"; -#pragma pop - /* 803BA848-803BA854 017968 000C+00 6/6 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803BA854-803BA860 017974 000C+00 3/3 0/0 0/0 .data SelStartFrameTbl */ -SECTION_DATA static s32 SelStartFrameTbl[3] = { +static s32 SelStartFrameTbl[3] = { 0x0000003B, 0x00000063, 0x0000008B, }; /* 803BA860-803BA86C 017980 000C+00 3/3 0/0 0/0 .data SelEndFrameTbl */ -SECTION_DATA static s32 SelEndFrameTbl[3] = { +static s32 SelEndFrameTbl[3] = { 0x00000045, 0x0000006D, 0x00000095, }; /* 803BA86C-803BA878 01798C 000C+00 7/7 0/0 0/0 .data SelOpenStartFrameTbl */ -SECTION_DATA static s32 SelOpenStartFrameTbl[3] = { +static s32 SelOpenStartFrameTbl[3] = { 0x000000F8, 0x000001C0, 0x00000288, }; /* 803BA878-803BA884 017998 000C+00 7/7 0/0 0/0 .data SelOpenEndFrameTbl */ -SECTION_DATA static s32 SelOpenEndFrameTbl[3] = { +static s32 SelOpenEndFrameTbl[3] = { 0x00000103, 0x000001CC, 0x00000293, }; /* 803BA884-803BA890 0179A4 000C+00 5/5 0/0 0/0 .data MenuSelStartFrameTbl */ -SECTION_DATA static s32 MenuSelStartFrameTbl[3] = { +static s32 MenuSelStartFrameTbl[3] = { 0x000007CD, 0x00000382, 0x00000390, }; /* 803BA890-803BA8A0 0179B0 000C+04 3/3 0/0 0/0 .data MenuSelEndFrameTbl */ -SECTION_DATA static s32 MenuSelEndFrameTbl[4] = { +static s32 MenuSelEndFrameTbl[3] = { 0x000007DB, 0x0000038E, 0x00000382, }; /* 803BA8A0-803BA8B8 0179C0 0018+00 0/2 0/0 0/0 .data l_tagName13 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName13[3] = { - 'w_dat_i0', 'w_dat_i1', 'w_dat_i2', -}; -#pragma pop - -/* 803BA8B8-803BA8C4 -00001 000C+00 0/1 0/0 0/0 .data @4167 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4167[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardCheckMain__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA8C4-803BA8D0 -00001 000C+00 0/1 0/0 0/0 .data @4168 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4168[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dataSelectIn__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA8D0-803BA8DC -00001 000C+00 0/1 0/0 0/0 .data @4169 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4169[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dataSelectInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA8DC-803BA8E8 -00001 000C+00 0/1 0/0 0/0 .data @4170 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4170[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dataSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA8E8-803BA8F4 -00001 000C+00 0/1 0/0 0/0 .data @4171 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4171[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dataSelectMoveAnime__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA8F4-803BA900 -00001 000C+00 0/1 0/0 0/0 .data @4172 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4172[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)selectDataOpenMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA900-803BA90C -00001 000C+00 0/1 0/0 0/0 .data @4173 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4173[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)selectDataNameMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA90C-803BA918 -00001 000C+00 0/1 0/0 0/0 .data @4174 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4174[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)selectDataOpenEraseMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA918-803BA924 -00001 000C+00 0/1 0/0 0/0 .data @4175 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4175[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)menuSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA924-803BA930 -00001 000C+00 0/1 0/0 0/0 .data @4176 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4176[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)menuSelectMoveAnm__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA930-803BA93C -00001 000C+00 0/1 0/0 0/0 .data @4177 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4177[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ToNameMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA93C-803BA948 -00001 000C+00 0/1 0/0 0/0 .data @4178 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4178[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ToCopyPaneMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA948-803BA954 -00001 000C+00 0/1 0/0 0/0 .data @4179 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4179[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ToErasePaneMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA954-803BA960 -00001 000C+00 0/1 0/0 0/0 .data @4180 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4180[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backSelectMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA960-803BA96C -00001 000C+00 0/1 0/0 0/0 .data @4181 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4181[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameToDataSelectMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA96C-803BA978 -00001 000C+00 0/1 0/0 0/0 .data @4182 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4182[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameInputWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA978-803BA984 -00001 000C+00 0/1 0/0 0/0 .data @4183 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4183[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameInput__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA984-803BA990 -00001 000C+00 0/1 0/0 0/0 .data @4184 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4184[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameInputFade__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA990-803BA99C -00001 000C+00 0/1 0/0 0/0 .data @4185 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4185[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameInput2Move__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA99C-803BA9A8 -00001 000C+00 0/1 0/0 0/0 .data @4186 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4186[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nameInput2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9A8-803BA9B4 -00001 000C+00 0/1 0/0 0/0 .data @4187 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4187[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backNameInputMove0__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9B4-803BA9C0 -00001 000C+00 0/1 0/0 0/0 .data @4188 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4188[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backNameInputMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9C0-803BA9CC -00001 000C+00 0/1 0/0 0/0 .data @4189 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4189[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyDataToSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9CC-803BA9D8 -00001 000C+00 0/1 0/0 0/0 .data @4190 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4190[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyDataToSelectMoveAnm__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9D8-803BA9E4 -00001 000C+00 0/1 0/0 0/0 .data @4191 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4191[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyToSelBack__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9E4-803BA9F0 -00001 000C+00 0/1 0/0 0/0 .data @4192 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4192[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyToSelPaneMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9F0-803BA9FC -00001 000C+00 0/1 0/0 0/0 .data @4193 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4193[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)YesNoSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BA9FC-803BAA08 -00001 000C+00 0/1 0/0 0/0 .data @4194 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4194[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)YesNoCancelMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA08-803BAA14 -00001 000C+00 0/1 0/0 0/0 .data @4195 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4195[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)yesNoCursorMoveAnm__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA14-803BAA20 -00001 000C+00 0/1 0/0 0/0 .data @4196 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4196[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)CmdExecPaneMove0__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA20-803BAA2C -00001 000C+00 0/1 0/0 0/0 .data @4197 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4197[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)CommandExec__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA2C-803BAA38 -00001 000C+00 0/1 0/0 0/0 .data @4198 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4198[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)DataEraseWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA38-803BAA44 -00001 000C+00 0/1 0/0 0/0 .data @4199 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4199[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)DataEraseWait2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA44-803BAA50 -00001 000C+00 0/1 0/0 0/0 .data @4200 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4200[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)DataCopyWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA50-803BAA5C -00001 000C+00 0/1 0/0 0/0 .data @4201 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4201[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)DataCopyWait2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA5C-803BAA68 -00001 000C+00 0/1 0/0 0/0 .data @4202 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4202[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyPaneMoveOk__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA68-803BAA74 -00001 000C+00 0/1 0/0 0/0 .data @4203 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4203[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)copyPaneMoveOk2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA74-803BAA80 -00001 000C+00 0/1 0/0 0/0 .data @4204 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4204[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ErasePaneMoveOk__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA80-803BAA8C -00001 000C+00 0/1 0/0 0/0 .data @4205 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4205[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ErasePaneMoveOk2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA8C-803BAA98 -00001 000C+00 0/1 0/0 0/0 .data @4206 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4206[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ErrorMsgPaneMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAA98-803BAAA4 -00001 000C+00 0/1 0/0 0/0 .data @4207 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4207[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)eraseEndBackSelectWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAA4-803BAAB0 -00001 000C+00 0/1 0/0 0/0 .data @4208 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4208[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)eraseEndBackSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAB0-803BAABC -00001 000C+00 0/1 0/0 0/0 .data @4209 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4209[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backDatSelWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAABC-803BAAC8 -00001 000C+00 0/1 0/0 0/0 .data @4210 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4210[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backDatSelWait2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAC8-803BAAD4 -00001 000C+00 0/1 0/0 0/0 .data @4211 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4211[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backDatSelPaneMove__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAD4-803BAAE0 -00001 000C+00 0/1 0/0 0/0 .data @4212 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4212[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ToNameMove2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAE0-803BAAEC -00001 000C+00 0/1 0/0 0/0 .data @4213 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4213[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)nextModeWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAAEC-803BAD20 017C0C 0234+00 1/2 0/0 0/0 .data DataSelProc */ -typedef void (dFile_select_c::*DataSelProcFunc)(void); -SECTION_DATA static DataSelProcFunc DataSelProc[47] = {}; - -/* 803BAD20-803BAD30 017E40 0010+00 1/1 0/0 0/0 .data l_tagName101$5620 */ -SECTION_DATA static u64 l_tagName101[2] = { - 'w_nun01', 'w_nun02', -}; - -/* 803BAD30-803BAD40 -00001 000C+04 1/1 0/0 0/0 .data l_numTex$5621 */ -SECTION_DATA static char* l_numTex[3 + 1 /* padding */] = { - (char*)&d_file_d_file_select__stringBase0, - (char*)(((char*)&d_file_d_file_select__stringBase0) + 0x15), - (char*)(((char*)&d_file_d_file_select__stringBase0) + 0x2A), - /* padding */ - NULL, -}; - -/* 803BAD40-803BAD58 017E60 0018+00 0/1 0/0 0/0 .data l_tagName0$6517 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName0[3] = { - 'w_sel_00', - 'w_sel_01', - 'w_sel_02', -}; -#pragma pop - -/* 803BAD58-803BAD70 017E78 0018+00 0/1 0/0 0/0 .data l_tagName3$6528 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName3[3] = { - 'w_moyo00', - 'w_moyo01', - 'w_moyo02', -}; -#pragma pop - -/* 803BAD70-803BAD88 017E90 0018+00 0/1 0/0 0/0 .data l_tagName4$6529 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName4[3] = { - 'w_gold00', - 'w_gold01', - 'w_gold02', -}; -#pragma pop - -/* 803BAD88-803BADA0 017EA8 0018+00 0/1 0/0 0/0 .data l_tagName5$6530 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName5[3] = {'w_go2_00', 'w_go2_01', 'w_go2_02'}; -#pragma pop - -/* 803BADA0-803BADB8 017EC0 0018+00 0/1 0/0 0/0 .data l_tagName12$6539 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName12[3] = { - 'w_bk_l00', - 'w_bk_l01', - 'w_bk_l02', -}; -#pragma pop - -/* 803BADB8-803BAE30 017ED8 0078+00 0/1 0/0 0/0 .data l_nouseTag$6546 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_nouseTag[15] = { - 'w_mcheck', 'w_tabi1', 'w_tabi2', 'w_tabi3', 'w_doko_c', 'w_uwa_c', 'w_cp_chu', 'w_cpsita', - 'w_cp_x', 'w_de', 'w_de_chu', 'w_desita', 'w_de_x', 'w_name', 'w_h_name'}; -#pragma pop - -/* 803BAE30-803BAE40 017F50 0010+00 0/1 0/0 0/0 .data l_tagName21$6552 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName21[2] = { - 't_for', 't_for1', -}; -#pragma pop - -/* 803BAE40-803BAE58 017F60 0018+00 0/1 0/0 0/0 .data l_tagName18$6559 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName18[3] = { - 'w_de_ef0', 'w_de_ef1', 'w_de_ef2', -}; -#pragma pop - -/* 803BAE58-803BAE70 017F78 0018+00 0/1 0/0 0/0 .data l_tagName19$6560 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName19[3] = { - 'w_cp_ef0', 'w_cp_ef1', 'w_cp_ef2', -}; -#pragma pop - -/* 803BAE70-803BAE80 017F90 0010+00 0/1 0/0 0/0 .data l_tagName20$6568 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName20[2] = { - 'er_for0', 'er_for1', -}; -#pragma pop - -/* 803BAE80-803BAE98 017FA0 0018+00 0/1 0/0 0/0 .data l_tagName131$6576 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName131[3] = { - 'N_sel_00', 'N_sel_01', 'N_sel_02', -}; -#pragma pop - -/* 803BAE98-803BAEA8 017FB8 0010+00 0/1 0/0 0/0 .data l_tagName000$6897 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName000[2] = { - 'w_sel_01', 'w_sel_02', -}; -#pragma pop - -/* 803BAEA8-803BAEB8 017FC8 0010+00 0/1 0/0 0/0 .data l_tagName001$6898 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName001[2] = { - 'w_moyo01', 'w_moyo02', -}; -#pragma pop - -/* 803BAEB8-803BAEC8 017FD8 0010+00 0/1 0/0 0/0 .data l_tagName002$6899 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName002[2] = { - 'w_gold01', 'w_gold02', -}; -#pragma pop - -/* 803BAEC8-803BAED8 017FE8 0010+00 0/1 0/0 0/0 .data l_tagName003$6900 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName003[2] = { - 'w_go2_01', 'w_go2_02', -}; -#pragma pop - -/* 803BAED8-803BAEE8 017FF8 0010+00 0/1 0/0 0/0 .data l_tagName004$6901 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName004[2] = { - 'w_bk_l01', 'w_bk_l02', -}; -#pragma pop - -/* 803BAEE8-803BAEF8 018008 0010+00 0/1 0/0 0/0 .data l_tagName005$6902 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName005[2] = { - 'w_cp_ef1', 'w_cp_ef2', -}; -#pragma pop - -/* 803BAEF8-803BAF08 018018 0010+00 0/1 0/0 0/0 .data l_tagName012$6999 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName012[2] = { - 'w_no_n', 'w_yes_n', -}; -#pragma pop - -/* 803BAF08-803BAF18 018028 0010+00 0/1 0/0 0/0 .data l_tagName013$7000 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName013[2] = { - 'w_no_t', 'w_yes_t', -}; -#pragma pop - -/* 803BAF18-803BAF28 018038 0010+00 0/1 0/0 0/0 .data l_tagName013U$7001 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName013U[2] = { - 'f_no_t', 'f_yes_t', -}; -#pragma pop - -/* 803BAF28-803BAF38 018048 0010+00 0/1 0/0 0/0 .data l_tagName9$7010 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName9[2] = { - 'w_no_m', 'w_yes_m', -}; -#pragma pop - -/* 803BAF38-803BAF48 018058 0010+00 0/1 0/0 0/0 .data l_tagName10$7011 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName10[2] = { - 'w_no_g', 'w_yes_g', -}; -#pragma pop - -/* 803BAF48-803BAF58 018068 0010+00 0/1 0/0 0/0 .data l_tagName11$7012 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName11[2] = { - 'w_no_gr', 'w_yes_gr', -}; -#pragma pop - -/* 803BAF58-803BAF70 018078 0018+00 0/1 0/0 0/0 .data l_tagName6$7076 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName6[3] = { - 'w_sat_mo', 'w_del_mo', 'w_cop_mo', -}; -#pragma pop - -/* 803BAF70-803BAF88 018090 0018+00 0/1 0/0 0/0 .data l_tagName7$7077 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName7[3] = { - 'w_sat_g', 'w_del_g', 'w_cop_g', -}; -#pragma pop - -/* 803BAF88-803BAFA0 0180A8 0018+00 0/1 0/0 0/0 .data l_tagName8$7078 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName8[3] = { - 'w_sat_gr', 'w_del_gr', 'w_cop_gr', -}; -#pragma pop - -/* 803BAFA0-803BAFB8 0180C0 0018+00 0/1 0/0 0/0 .data l_tagName1$7079 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName1[3] = { - 'w_sta_n', 'w_del_n', 'w_cop_n', -}; -#pragma pop - -/* 803BAFB8-803BAFD0 0180D8 0018+00 0/1 0/0 0/0 .data l_tagName011$7080 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName011[3] = { - 'w_sta', 'w_del', 'w_cop_t', -}; -#pragma pop - -/* 803BAFD0-803BAFE8 0180F0 0018+00 0/1 0/0 0/0 .data l_tagName011U$7081 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName011U[3] = { - 'f_sta', 'f_del', 'f_cop_t', -}; -#pragma pop - -/* 803BAFE8-803BAFF4 -00001 000C+00 0/1 0/0 0/0 .data @7759 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7759[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardStatCheck__14dFile_select_cFv, -}; -#pragma pop - -/* 803BAFF4-803BB000 -00001 000C+00 0/1 0/0 0/0 .data @7760 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7760[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardLoadWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB000-803BB00C -00001 000C+00 0/1 0/0 0/0 .data @7761 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7761[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardErrMsgWaitKey__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB00C-803BB018 -00001 000C+00 0/1 0/0 0/0 .data @7762 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7762[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardNoSaveSelDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB018-803BB024 -00001 000C+00 0/1 0/0 0/0 .data @7763 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7763[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardErrMsgWaitNoSaveSel__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB024-803BB030 -00001 000C+00 0/1 0/0 0/0 .data @7764 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7764[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardErrMsgWaitFormatSel__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB030-803BB03C -00001 000C+00 0/1 0/0 0/0 .data @7765 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7765[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormatYesSelDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB03C-803BB048 -00001 000C+00 0/1 0/0 0/0 .data @7766 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7766[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormatNoSelDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB048-803BB054 -00001 000C+00 0/1 0/0 0/0 .data @7767 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7767[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardErrMsgWaitFormatSel2__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB054-803BB060 -00001 000C+00 0/1 0/0 0/0 .data @7768 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7768[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormatYesSel2Disp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB060-803BB06C -00001 000C+00 0/1 0/0 0/0 .data @7769 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7769[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormat__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB06C-803BB078 -00001 000C+00 0/1 0/0 0/0 .data @7770 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7770[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormatWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB078-803BB084 -00001 000C+00 0/1 0/0 0/0 .data @7771 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7771[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardFormatCheck__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB084-803BB090 -00001 000C+00 0/1 0/0 0/0 .data @7772 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7772[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMakeGameFileSel__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB090-803BB09C -00001 000C+00 0/1 0/0 0/0 .data @7773 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7773[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMakeGameFileSelDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB09C-803BB0A8 -00001 000C+00 0/1 0/0 0/0 .data @7774 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7774[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMakeGameFile__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0A8-803BB0B4 -00001 000C+00 0/1 0/0 0/0 .data @7775 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7775[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMakeGameFileWait__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0B4-803BB0C0 -00001 000C+00 0/1 0/0 0/0 .data @7776 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7776[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMakeGameFileCheck__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0C0-803BB0CC -00001 000C+00 0/1 0/0 0/0 .data @7777 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7777[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardNoFileSpaceDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0CC-803BB0D8 -00001 000C+00 0/1 0/0 0/0 .data @7778 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7778[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardGotoIPLSelectDisp__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0D8-803BB0E4 -00001 000C+00 0/1 0/0 0/0 .data @7779 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7779[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardGotoIPLSelect__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0E4-803BB0F0 -00001 000C+00 0/1 0/0 0/0 .data @7780 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7780[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardGotoIPL__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0F0-803BB0FC -00001 000C+00 0/1 0/0 0/0 .data @7781 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7781[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMsgWindowInitOpen__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB0FC-803BB108 -00001 000C+00 0/1 0/0 0/0 .data @7782 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7782[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMsgWindowOpen__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB108-803BB114 -00001 000C+00 0/1 0/0 0/0 .data @7783 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7783[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardMsgWindowClose__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB114-803BB120 -00001 000C+00 0/1 0/0 0/0 .data @7784 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7784[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardErrYesNoCursorMoveAnm__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB120-803BB12C -00001 000C+00 0/1 0/0 0/0 .data @7785 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7785[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)MemCardSaveDataClear__14dFile_select_cFv, -}; -#pragma pop - -typedef void (dFile_select_c::*MemCardCheckFuncT)(); - -/* 803BB12C-803BB270 01824C 0144+00 1/2 0/0 0/0 .data MemCardCheckProc */ -SECTION_DATA static u8 MemCardCheckProc[324] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; - -/* 803BB270-803BB27C -00001 000C+00 0/1 0/0 0/0 .data @7797 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7797[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB27C-803BB288 -00001 000C+00 0/0 0/0 0/0 .data @7799 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7799[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB288-803BB294 -00001 000C+00 0/0 0/0 0/0 .data @7801 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7801[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB294-803BB2A0 -00001 000C+00 0/0 0/0 0/0 .data @7803 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7803[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB2A0-803BB2AC -00001 000C+00 0/0 0/0 0/0 .data @7808 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_7808[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noFileSpaceDispInit__14dFile_select_cFv, -}; -#pragma pop - -/* 803BB2AC-803BB2E0 -00001 0034+00 1/1 0/0 0/0 .data @7815 */ -SECTION_DATA static void* lit_7815[13] = { - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x58), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x288), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x270), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x2A8), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x2A8), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x2A8), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x1E8), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x1E8), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0xBC), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x120), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x184), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x20C), - (void*)(((char*)MemCardStatCheck__14dFile_select_cFv) + 0x20C), -}; - -/* 803BB2E0-803BB2EC -00001 000C+00 1/1 0/0 0/0 .data @7865 */ -SECTION_DATA static void* lit_7865[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)iplSelDispInit__14dFile_select_cFv, -}; - -/* 803BB2EC-803BB2F8 -00001 000C+00 1/1 0/0 0/0 .data @8004 */ -SECTION_DATA static void* lit_8004[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; - -/* 803BB2F8-803BB304 -00001 000C+00 1/1 0/0 0/0 .data @8083 */ -SECTION_DATA static void* lit_8083[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)noSaveSelDispInit__14dFile_select_cFv, -}; - -/* 803BB304-803BB314 -00001 0010+00 1/1 0/0 0/0 .data bck_name$8683 */ -SECTION_DATA static void* bck_name_8683[4] = { - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x330), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x349), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x362), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x37B), -}; - -/* 803BB314-803BB324 -00001 0010+00 1/1 0/0 0/0 .data brk_name$8684 */ -SECTION_DATA static void* brk_name_8684[4] = { - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x394), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x3AD), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x3AD), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x3C8), -}; - -/* 803BB324-803BB334 -00001 0010+00 1/1 0/0 0/0 .data bck_name$8786 */ -SECTION_DATA static void* bck_name_8786[4] = { - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x3F0), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x409), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x422), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x43B), -}; - -/* 803BB334-803BB35C -00001 0010+18 1/1 0/0 0/0 .data brk_name$8787 */ -SECTION_DATA static void* brk_name_8787[4 + 6 /* padding */] = { - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x454), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x46D), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x46D), - (void*)(((char*)&d_file_d_file_select__stringBase0) + 0x46D), - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803BB35C-803BB368 01847C 000C+00 2/2 0/0 0/0 .data __vt__16dFile_select3D_c */ -SECTION_DATA extern void* __vt__16dFile_select3D_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16dFile_select3D_cFv, -}; - -/* 803BB368-803BB378 018488 0010+00 3/3 0/0 0/0 .data __vt__17dDlst_FileSel3m_c */ -SECTION_DATA extern void* __vt__17dDlst_FileSel3m_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__17dDlst_FileSel3m_cFv, - (void*)__dt__17dDlst_FileSel3m_cFv, -}; - -/* 803BB378-803BB388 018498 0010+00 3/3 0/0 0/0 .data __vt__17dDlst_FileSelYn_c */ -SECTION_DATA extern void* __vt__17dDlst_FileSelYn_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__17dDlst_FileSelYn_cFv, - (void*)__dt__17dDlst_FileSelYn_cFv, -}; - -/* 803BB388-803BB398 0184A8 0010+00 3/3 0/0 0/0 .data __vt__17dDlst_FileSelCp_c */ -SECTION_DATA extern void* __vt__17dDlst_FileSelCp_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__17dDlst_FileSelCp_cFv, - (void*)__dt__17dDlst_FileSelCp_cFv, -}; - -/* 803BB398-803BB3A8 0184B8 0010+00 3/3 0/0 0/0 .data __vt__17dDlst_FileSelDt_c */ -SECTION_DATA extern void* __vt__17dDlst_FileSelDt_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__17dDlst_FileSelDt_cFv, - (void*)__dt__17dDlst_FileSelDt_cFv, -}; - -/* 803BB3A8-803BB3B8 0184C8 0010+00 3/3 0/0 0/0 .data __vt__15dDlst_FileSel_c */ -SECTION_DATA extern void* __vt__15dDlst_FileSel_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__15dDlst_FileSel_cFv, - (void*)__dt__15dDlst_FileSel_cFv, -}; - -/* 803BB3B8-803BB3DC 0184D8 0014+10 1/1 3/3 0/0 .data __vt__15J2DAnmTransform */ -SECTION_DATA extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15J2DAnmTransformFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getTransform__15J2DAnmTransformCFUsP16J3DTransformInfo, - /* padding */ - NULL, - NULL, - NULL, - NULL, -}; - -/* 803BB3DC-803BB3E8 0184FC 000C+00 4/4 11/11 0/0 .data __vt__10JUTNameTab */ -SECTION_DATA extern void* __vt__10JUTNameTab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10JUTNameTabFv, -}; - -/* 803BB3E8-803BB400 018508 000C+0C 2/2 0/0 0/0 .data __vt__14dFile_select_c */ -SECTION_DATA extern void* __vt__14dFile_select_c[3 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14dFile_select_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 803BB400-803BB410 018520 000C+04 2/2 0/0 0/0 .data __vt__9dFs_HIO_c */ -SECTION_DATA extern void* __vt__9dFs_HIO_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__9dFs_HIO_cFv, - /* padding */ - NULL, -}; +static u64 l_tagName13[3] = {'w_dat_i0', 'w_dat_i1', 'w_dat_i2'}; /* 801835F8-8018366C 17DF38 0074+00 1/1 0/0 0/0 .text __ct__9dFs_HIO_cFv */ dFs_HIO_c::dFs_HIO_c() { @@ -1757,22 +94,12 @@ dFs_HIO_c::dFs_HIO_c() { } /* 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(); + mpFileSelect3d = new dFile_select3D_c(); } -#else -dFile_select_c::dFile_select_c(JKRArchive* param_0) { - // NONMATCHING -} -#endif /* 8018375C-801841EC 17E09C 0A90+00 1/0 0/0 0/0 .text __dt__14dFile_select_cFv */ -// I think it matches but misses all the inline dtors -#ifdef NONMATCHING dFile_select_c::~dFile_select_c() { for (int i = 0; i < 3; i = i + 1) { delete field_0x0164[i]; @@ -1850,57 +177,14 @@ dFile_select_c::~dFile_select_c() { delete field_0x03a8; mpFileSelect3d->_delete(); delete mpFileSelect3d; + delete field_0x2378; dComIfGp_getMain2DArchive()->removeResourceAll(); dComIfGp_getCollectResArchive()->removeResourceAll(); } -#else -dFile_select_c::~dFile_select_c() { - // NONMATCHING -} -#endif - -/* 801841EC-80184274 17EB2C 0088+00 0/0 1/0 0/0 .text __dt__15J2DAnmTevRegKeyFv */ -// J2DAnmTevRegKey::~J2DAnmTevRegKey() { -extern "C" void __dt__15J2DAnmTevRegKeyFv() { - // NONMATCHING -} - -/* 80184274-801842FC 17EBB4 0088+00 0/0 1/0 0/0 .text __dt__19J2DAnmTextureSRTKeyFv */ -// J2DAnmTextureSRTKey::~J2DAnmTextureSRTKey() { -extern "C" void __dt__19J2DAnmTextureSRTKeyFv() { - // NONMATCHING -} - -/* 801842FC-80184370 17EC3C 0074+00 0/0 1/0 0/0 .text __dt__11J2DAnmColorFv */ -// J2DAnmColor::~J2DAnmColor() { -extern "C" void __dt__11J2DAnmColorFv() { - // NONMATCHING -} - -/* 80184370-801843CC 17ECB0 005C+00 1/0 0/0 0/0 .text __dt__15J2DAnmTransformFv */ -// J2DAnmTransform::~J2DAnmTransform() { -extern "C" void __dt__15J2DAnmTransformFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8042C9E0-8042C9EC 059700 000C+00 1/1 0/0 0/0 .bss @3807 */ -static u8 lit_3807[12]; /* 8042C9EC-8042CA10 05970C 0024+00 35/35 0/0 0/0 .bss g_fsHIO */ -static dFs_HIO_c_tmp g_fsHIO; -// static dFs_HIO_c 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; - -/* 80453930-80453938 001F30 0004+04 5/5 0/0 0/0 .sdata2 @4166 */ -SECTION_SDATA2 static f32 lit_4166[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; +static dFs_HIO_c g_fsHIO; /* 801843CC-801844FC 17ED0C 0130+00 0/0 1/1 0/0 .text _create__14dFile_select_cFv */ void dFile_select_c::_create() { @@ -1929,6 +213,57 @@ void dFile_select_c::_create() { displayInit(); } +/* 803BAAEC-803BAD20 017C0C 0234+00 1/2 0/0 0/0 .data DataSelProc */ +typedef void (dFile_select_c::*DataSelProcFunc)(void); +static DataSelProcFunc DataSelProc[47] = { + &dFile_select_c::MemCardCheckMain, + &dFile_select_c::dataSelectIn, + &dFile_select_c::dataSelectInit, + &dFile_select_c::dataSelect, + &dFile_select_c::dataSelectMoveAnime, + &dFile_select_c::selectDataOpenMove, + &dFile_select_c::selectDataNameMove, + &dFile_select_c::selectDataOpenEraseMove, + &dFile_select_c::menuSelect, + &dFile_select_c::menuSelectMoveAnm, + &dFile_select_c::ToNameMove, + &dFile_select_c::ToCopyPaneMove, + &dFile_select_c::ToErasePaneMove, + &dFile_select_c::backSelectMove, + &dFile_select_c::nameToDataSelectMove, + &dFile_select_c::nameInputWait, + &dFile_select_c::nameInput, + &dFile_select_c::nameInputFade, + &dFile_select_c::nameInput2Move, + &dFile_select_c::nameInput2, + &dFile_select_c::backNameInputMove0, + &dFile_select_c::backNameInputMove, + &dFile_select_c::copyDataToSelect, + &dFile_select_c::copyDataToSelectMoveAnm, + &dFile_select_c::copyToSelBack, + &dFile_select_c::copyToSelPaneMove, + &dFile_select_c::YesNoSelect, + &dFile_select_c::YesNoCancelMove, + &dFile_select_c::yesNoCursorMoveAnm, + &dFile_select_c::CmdExecPaneMove0, + &dFile_select_c::CommandExec, + &dFile_select_c::DataEraseWait, + &dFile_select_c::DataEraseWait2, + &dFile_select_c::DataCopyWait, + &dFile_select_c::DataCopyWait2, + &dFile_select_c::copyPaneMoveOk, + &dFile_select_c::copyPaneMoveOk2, + &dFile_select_c::ErasePaneMoveOk, + &dFile_select_c::ErasePaneMoveOk2, + &dFile_select_c::ErrorMsgPaneMove, + &dFile_select_c::eraseEndBackSelectWait, + &dFile_select_c::eraseEndBackSelect, + &dFile_select_c::backDatSelWait, + &dFile_select_c::backDatSelWait2, + &dFile_select_c::backDatSelPaneMove, + &dFile_select_c::ToNameMove2, + &dFile_select_c::nextModeWait, +}; /* 801844FC-80184664 17EE3C 0168+00 0/0 1/1 0/0 .text _move__14dFile_select_cFv */ void dFile_select_c::_move() { @@ -1974,10 +309,6 @@ void dFile_select_c::_move() { mDoMemCd_clearProbeStat(); } -/* ############################################################################################## */ -/* 80453938-80453940 001F38 0008+00 34/34 0/0 0/0 .sdata2 @4342 */ -SECTION_SDATA2 static f64 lit_4342 = 4503601774854144.0 /* cast s32 to float */; - /* 80184664-801848A0 17EFA4 023C+00 1/1 0/0 0/0 .text selFileWakuAnm__14dFile_select_cFv */ void dFile_select_c::selFileWakuAnm() { @@ -2025,7 +356,6 @@ void dFile_select_c::selFileWakuAnm() { field_0x03a0->setFrame(field_0x03a4); } - /* 801848A0-8018499C 17F1E0 00FC+00 1/1 0/0 0/0 .text bookIconAnm__14dFile_select_cFv */ void dFile_select_c::bookIconAnm() { field_0x01dc += 2; @@ -2048,7 +378,6 @@ void dFile_select_c::bookIconAnm() { field_0x01e8->setFrame(field_0x01ec); } - /* 8018499C-80184A48 17F2DC 00AC+00 1/1 0/0 0/0 .text selCopyFileWakuAnm__14dFile_select_cFv */ void dFile_select_c::selCopyFileWakuAnm() { field_0x02ec += 2; @@ -2065,7 +394,6 @@ void dFile_select_c::selCopyFileWakuAnm() { field_0x02f0->setFrame(field_0x02f4); } - /* 80184A48-80184B44 17F388 00FC+00 1/1 0/0 0/0 .text copyBookIconAnm__14dFile_select_cFv */ void dFile_select_c::copyBookIconAnm() { @@ -2089,7 +417,6 @@ void dFile_select_c::copyBookIconAnm() { field_0x0308->setFrame(field_0x030c); } - /* 80184B44-80184BFC 17F484 00B8+00 1/1 0/0 0/0 .text dataDelEffAnm__14dFile_select_cFv */ void dFile_select_c::dataDelEffAnm() { @@ -2109,7 +436,6 @@ void dFile_select_c::dataDelEffAnm() { } } - /* 80184BFC-80184CB4 17F53C 00B8+00 1/1 0/0 0/0 .text dataCopyEffAnm__14dFile_select_cFv */ void dFile_select_c::dataCopyEffAnm() { @@ -2129,7 +455,6 @@ void dFile_select_c::dataCopyEffAnm() { } } - /* 80184CB4-80184D4C 17F5F4 0098+00 2/2 0/0 0/0 .text * selectDataBaseMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::selectDataBaseMoveAnmInitSet(int param_0, int param_1) { @@ -2141,7 +466,6 @@ void dFile_select_c::selectDataBaseMoveAnmInitSet(int param_0, int param_1) { field_0x00b9 = 1; } - /* 80184D4C-80184E38 17F68C 00EC+00 2/2 0/0 0/0 .text selectDataBaseMoveAnm__14dFile_select_cFv */ bool dFile_select_c::selectDataBaseMoveAnm() { if (field_0x00b0 != field_0x00b4) { @@ -2171,14 +495,6 @@ bool dFile_select_c::selectDataBaseMoveAnm() { } } - -/* ############################################################################################## */ -/* 80453940-80453944 001F40 0004+00 38/38 0/0 0/0 .sdata2 @4611 */ -SECTION_SDATA2 static f32 lit_4611 = 1.0f; - -/* 80453944-80453948 001F44 0004+00 19/19 0/0 0/0 .sdata2 @4612 */ -SECTION_SDATA2 static f32 lit_4612 = -1.0f; - /* 80184E38-80185040 17F778 0208+00 1/1 0/0 0/0 .text dataSelectInAnmSet__14dFile_select_cFv */ void dFile_select_c::dataSelectInAnmSet() { setSaveData(); @@ -2217,7 +533,6 @@ void dFile_select_c::dataSelectInAnmSet() { mDoAud_seStart(Z2SE_SY_FILE_MENU_SLIDE_IN,0,0,0); } - /* 80185040-80185230 17F980 01F0+00 1/0 0/0 0/0 .text dataSelectIn__14dFile_select_cFv */ void dFile_select_c::dataSelectIn() { bool headerTxtChange = headerTxtChangeAnm(); @@ -2297,7 +612,6 @@ void dFile_select_c::dataSelectInit() { } } - /* 801853C4-80185508 17FD04 0144+00 1/0 0/0 0/0 .text dataSelect__14dFile_select_cFv */ // handles switching between quest logs void dFile_select_c::dataSelect() { @@ -2329,35 +643,25 @@ void dFile_select_c::dataSelect() { } } - -/* ############################################################################################## */ /* 804506B0-804506B8 000130 0008+00 2/2 0/0 0/0 .sdata YnSelStartFrameTbl */ -SECTION_SDATA static s32 YnSelStartFrameTbl[2] = { +static s32 YnSelStartFrameTbl[2] = { 0x000004E3, 0x000004D4, }; /* 804506B8-804506C0 000138 0008+00 2/2 0/0 0/0 .sdata YnSelEndFrameTbl */ -SECTION_SDATA static s32 YnSelEndFrameTbl[2] = { +static s32 YnSelEndFrameTbl[2] = { 0x000004D4, 0x000004E3, }; /* 804506C0-804506C8 000140 0006+02 4/4 0/0 0/0 .sdata msgTbl */ -SECTION_SDATA static u16 msgTbl[3] = { +static u16 msgTbl[3] = { 0x0040, 0x0041, 0x0042, }; -/* 80453948-8045394C 001F48 0004+00 35/35 0/0 0/0 .sdata2 @4778 */ -SECTION_SDATA2 static u8 lit_4778[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80185508-80185994 17FE48 048C+00 1/1 0/0 0/0 .text dataSelectStart__14dFile_select_cFv */ void dFile_select_c::dataSelectStart() { @@ -2383,8 +687,7 @@ void dFile_select_c::dataSelectStart() { dComIfGs_setDataNum(mSelectNum); mDoAud_seStart(Z2SE_SY_NEW_FILE, 0, 0, 0); headerTxtSet(0x385, 1, 0); - fileRecScaleAnmInitSet2(1.0f, - -1.0f); + fileRecScaleAnmInitSet2(1.0f, 0.0f); nameMoveAnmInitSet(3359, 3369); field_0x0164[mSelectNum]->setAlpha(0); field_0x0170[mSelectNum]->setAlpha(0); @@ -2401,8 +704,7 @@ void dFile_select_c::dataSelectStart() { mDoAud_seStart(Z2SE_SY_CURSOR_OK, 0, 0, 0); mSelectMenuNum = 1; mLastSelectMenuNum = mSelectMenuNum; - headerTxtSet(msgTbl[mSelectNum], - 1, 0); + headerTxtSet(msgTbl[mSelectNum], 1, 0); selectDataMoveAnmInitSet( SelOpenStartFrameTbl[mSelectNum], SelOpenEndFrameTbl[mSelectNum]); @@ -2414,7 +716,6 @@ void dFile_select_c::dataSelectStart() { modoruTxtDispAnmInit(1); } - /* 80185994-80185AAC 1802D4 0118+00 7/7 0/0 0/0 .text * selectDataMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::selectDataMoveAnmInitSet(int param_0, int param_1) { @@ -2431,7 +732,6 @@ void dFile_select_c::selectDataMoveAnmInitSet(int param_0, int param_1) { mpPane->animationTransform(); } - /* 80185AAC-80185C2C 1803EC 0180+00 8/8 0/0 0/0 .text selectDataMoveAnm__14dFile_select_cFv */ bool dFile_select_c::selectDataMoveAnm() { if (field_0x00e0[mSelectNum] != field_0x00ec) { @@ -2467,7 +767,6 @@ bool dFile_select_c::selectDataMoveAnm() { } } - /* 80185C2C-80185DE0 18056C 01B4+00 1/1 0/0 0/0 .text dataSelectAnmSet__14dFile_select_cFv */ void dFile_select_c::dataSelectAnmSet() { if (mSelectNum != 0xff) { @@ -2489,7 +788,6 @@ void dFile_select_c::dataSelectAnmSet() { } } - /* 80185DE0-80186088 180720 02A8+00 1/0 0/0 0/0 .text dataSelectMoveAnime__14dFile_select_cFv */ void dFile_select_c::dataSelectMoveAnime() { bool iVar7 = true; @@ -2543,7 +841,6 @@ void dFile_select_c::dataSelectMoveAnime() { } } - /* 80186088-801864DC 1809C8 0454+00 2/2 0/0 0/0 .text makeRecInfo__14dFile_select_cFUc */ void dFile_select_c::makeRecInfo(u8 param_1) { dSv_save_c* pSave = (dSv_save_c*)&mSave[param_1]; @@ -2656,7 +953,6 @@ void dFile_select_c::selectDataOpenMove() { } } - /* 80186638-801866C8 180F78 0090+00 1/0 0/0 0/0 .text selectDataNameMove__14dFile_select_cFv */ void dFile_select_c::selectDataNameMove() { bool headerTxtChange = headerTxtChangeAnm(); @@ -2719,7 +1015,6 @@ void dFile_select_c::menuSelect() { } } - /* 801868EC-80186A80 18122C 0194+00 1/1 0/0 0/0 .text menuSelectStart__14dFile_select_cFv */ // Handles copy / start / delete actions depending on which menu is selected from menuSelect @@ -2752,7 +1047,6 @@ void dFile_select_c::menuSelectStart() { } } - /* 80186A80-80186B48 1813C0 00C8+00 1/1 0/0 0/0 .text menuSelectCansel__14dFile_select_cFv */ void dFile_select_c::menuSelectCansel() { mDoAud_seStart(Z2SE_SY_CURSOR_CANCEL,0,0,0); @@ -2765,7 +1059,6 @@ void dFile_select_c::menuSelectCansel() { field_0x026f = 0xd; } - /* 80186B48-80186C84 181488 013C+00 8/8 0/0 0/0 .text menuMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::menuMoveAnmInitSet(int param_0, int param_1) { if (param_0 == 799) { @@ -2787,14 +1080,6 @@ void dFile_select_c::menuMoveAnmInitSet(int param_0, int param_1) { field_0x0118->animationTransform(); } - -// Auto generated from the above function. Delete later -/* 80186C84-80186CAC 1815C4 0028+00 0/0 1/0 0/0 .text setWhite__10J2DTextBoxFQ28JUtility6TColor */ -// void J2DTextBox::setWhite(JUtility::TColor param_0) { -extern "C" void setWhite__10J2DTextBoxFQ28JUtility6TColor() { - // NONMATCHING -} - /* 80186CAC-80186E14 1815EC 0168+00 9/9 0/0 0/0 .text menuMoveAnm__14dFile_select_cFv */ bool dFile_select_c::menuMoveAnm() { if (field_0x0358 != field_0x035c) { @@ -2832,7 +1117,6 @@ bool dFile_select_c::menuMoveAnm() { } } - /* 80186E14-80186F98 181754 0184+00 1/1 0/0 0/0 .text menuSelectAnmSet__14dFile_select_cFv */ void dFile_select_c::menuSelectAnmSet() { if (mSelectMenuNum != 0xFF) { @@ -2852,7 +1136,6 @@ void dFile_select_c::menuSelectAnmSet() { } } - /* 80186F98-8018721C 1818D8 0284+00 1/0 0/0 0/0 .text menuSelectMoveAnm__14dFile_select_cFv */ void dFile_select_c::menuSelectMoveAnm() { bool tmp1 = true; @@ -2913,7 +1196,6 @@ void dFile_select_c::menuSelectMoveAnm() { } } - /* 8018721C-801872C4 181B5C 00A8+00 1/0 0/0 0/0 .text ToNameMove__14dFile_select_cFv */ void dFile_select_c::ToNameMove() { bool headerTxtChange = headerTxtChangeAnm(); @@ -2950,7 +1232,6 @@ void dFile_select_c::nameInputWait() { field_0x026f = 16; } - /* 801873BC-801874F8 181CFC 013C+00 1/0 0/0 0/0 .text nameInput__14dFile_select_cFv */ void dFile_select_c::nameInput() { mpName->_move(); @@ -2987,7 +1268,6 @@ void dFile_select_c::nameInput() { } } - /* 801874F8-8018759C 181E38 00A4+00 1/0 0/0 0/0 .text nameToDataSelectMove__14dFile_select_cFv */ void dFile_select_c::nameToDataSelectMove() { bool headerTxtChange = headerTxtChangeAnm(); @@ -3002,20 +1282,6 @@ void dFile_select_c::nameToDataSelectMove() { } } -/* ############################################################################################## */ -/* 8045394C-80453950 001F4C 0004+00 4/4 0/0 0/0 .sdata2 @5472 */ -SECTION_SDATA2 static f32 lit_5472 = 255.0f; - -/* 80453950-80453958 001F50 0004+04 4/4 0/0 0/0 .sdata2 @5473 */ -SECTION_SDATA2 static f32 lit_5473[1 + 1 /* padding */] = { - 15.0f, - /* padding */ - 0.0f, -}; - -/* 80453958-80453960 001F58 0008+00 4/4 0/0 0/0 .sdata2 @5475 */ -SECTION_SDATA2 static f64 lit_5475 = 4503599627370496.0 /* cast u32 to float */; - /* 8018759C-801876A0 181EDC 0104+00 1/0 0/0 0/0 .text nameInputFade__14dFile_select_cFv */ void dFile_select_c::nameInputFade() { @@ -3035,7 +1301,6 @@ void dFile_select_c::nameInputFade() { } } - /* 801876A0-8018774C 181FE0 00AC+00 1/0 0/0 0/0 .text nameInput2Move__14dFile_select_cFv */ void dFile_select_c::nameInput2Move() { @@ -3052,7 +1317,6 @@ void dFile_select_c::nameInput2Move() { } } - /* 8018774C-80187824 18208C 00D8+00 1/0 0/0 0/0 .text nameInput2__14dFile_select_cFv */ void dFile_select_c::nameInput2() { mpName->_move(); @@ -3077,7 +1341,6 @@ void dFile_select_c::nameInput2() { } } - /* 80187824-80187908 182164 00E4+00 1/0 0/0 0/0 .text backNameInputMove0__14dFile_select_cFv */ void dFile_select_c::backNameInputMove0() { field_0x020a--; @@ -3094,7 +1357,6 @@ void dFile_select_c::backNameInputMove0() { } } - /* 80187908-801879B8 182248 00B0+00 1/0 0/0 0/0 .text backNameInputMove__14dFile_select_cFv */ void dFile_select_c::backNameInputMove() { if (mDoRst::isReset() == 0) { @@ -3110,7 +1372,6 @@ void dFile_select_c::backNameInputMove() { } } - /* 801879B8-80187ADC 1822F8 0124+00 1/0 0/0 0/0 .text ToCopyPaneMove__14dFile_select_cFv */ void dFile_select_c::ToCopyPaneMove() { @@ -3131,7 +1392,6 @@ void dFile_select_c::ToCopyPaneMove() { } } - /* 80187ADC-80187B44 18241C 0068+00 1/0 0/0 0/0 .text ToErasePaneMove__14dFile_select_cFv */ void dFile_select_c::ToErasePaneMove() { @@ -3159,13 +1419,6 @@ void dFile_select_c::backSelectMove() { } } -/* ############################################################################################## */ -/* 80453960-80453964 001F60 0004+00 1/1 0/0 0/0 .sdata2 @5614 */ -SECTION_SDATA2 static f32 lit_5614 = 99.0f; - -/* 80453964-80453968 001F64 0004+00 1/1 0/0 0/0 .sdata2 @5615 */ -SECTION_SDATA2 static f32 lit_5615 = 109.0f; - /* 80187BE8-80187DB8 182528 01D0+00 6/6 0/0 0/0 .text copySelMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::copySelMoveAnmInitSet(int param_0, int param_1) { @@ -3198,9 +1451,12 @@ void dFile_select_c::copySelMoveAnmInitSet(int param_0, int param_1) { field_0x011c->animationTransform(); } - /* 80187DB8-80187ED4 1826F8 011C+00 1/1 0/0 0/0 .text setSaveDataForCopySel__14dFile_select_cFv */ void dFile_select_c::setSaveDataForCopySel() { + static u64 l_tagName101[2] = {'w_nun01', 'w_nun02'}; + static char* l_numTex[3] = { + "tt_1_metal_40x40.bti", "tt_2_metal_40x40.bti", "tt_3_metal_40x40.bti" + }; SaveData* pSave = mSave; int notSelectedIndex = 0; for (int i = 0; i < 3; i++) { @@ -3254,7 +1510,6 @@ void dFile_select_c::copyDataToSelect() { } } - /* 8018801C-80188234 18295C 0218+00 1/1 0/0 0/0 .text copyDataToSelectStart__14dFile_select_cFv */ void dFile_select_c::copyDataToSelectStart() { mDoAud_seStart(Z2SE_SY_CURSOR_OK, 0, 0, 0); @@ -3285,7 +1540,6 @@ void dFile_select_c::copyDataToSelectStart() { } } - /* 80188234-8018832C 182B74 00F8+00 1/1 0/0 0/0 .text copyDataToSelectCansel__14dFile_select_cFv */ void dFile_select_c::copyDataToSelectCansel() { @@ -3299,7 +1553,6 @@ void dFile_select_c::copyDataToSelectCansel() { field_0x026f = 24; } - /* 8018832C-801884D0 182C6C 01A4+00 1/1 0/0 0/0 .text * copyDataToSelectMoveAnmSet__14dFile_select_cFv */ void dFile_select_c::copyDataToSelectMoveAnmSet() { @@ -3321,7 +1574,6 @@ void dFile_select_c::copyDataToSelectMoveAnmSet() { } } - /* 801884D0-80188834 182E10 0364+00 1/0 0/0 0/0 .text copyDataToSelectMoveAnm__14dFile_select_cFv */ void dFile_select_c::copyDataToSelectMoveAnm() { @@ -3374,7 +1626,6 @@ void dFile_select_c::copyDataToSelectMoveAnm() { } } - /* 80188834-80188878 183174 0044+00 1/1 0/0 0/0 .text * copySelectWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc */ void dFile_select_c::copySelectWakuAlpahAnmInit(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { @@ -3448,7 +1699,6 @@ void dFile_select_c::copyToSelBack() { } } - /* 80188B54-80188BBC 183494 0068+00 1/0 0/0 0/0 .text copyToSelPaneMove__14dFile_select_cFv */ void dFile_select_c::copyToSelPaneMove() { bool txtChanged = headerTxtChangeAnm(); @@ -3481,7 +1731,6 @@ bool dFile_select_c::yesnoMenuMoveAnmInitSet(int param_1, int param_2) { field_0x00f0[1]->getPanePtr()->animationTransform(); } - /* 80188D38-80188ED0 183678 0198+00 15/15 0/0 0/0 .text yesnoMenuMoveAnm__14dFile_select_cFv */ bool dFile_select_c::yesnoMenuMoveAnm() { bool rv; @@ -3520,7 +1769,6 @@ bool dFile_select_c::yesnoMenuMoveAnm() { return rv; } - /* 80188ED0-8018912C 183810 025C+00 3/3 0/0 0/0 .text yesnoSelectMoveAnm__14dFile_select_cFv */ bool dFile_select_c::yesnoSelectMoveAnm() { bool rv = false; @@ -3571,17 +1819,6 @@ bool dFile_select_c::yesnoSelectMoveAnm() { return rv; } - -/* ############################################################################################## */ -/* 80453968-8045396C 001F68 0004+00 6/6 0/0 0/0 .sdata2 @6069 */ -SECTION_SDATA2 static f32 lit_6069 = 24.0f / 25.0f; - -/* 8045396C-80453970 001F6C 0004+00 3/3 0/0 0/0 .sdata2 @6070 */ -SECTION_SDATA2 static f32 lit_6070 = 21.0f / 25.0f; - -/* 80453970-80453974 001F70 0004+00 3/3 0/0 0/0 .sdata2 @6071 */ -SECTION_SDATA2 static f32 lit_6071 = 3.0f / 50.0f; - /* 8018912C-8018929C 183A6C 0170+00 9/9 0/0 0/0 .text yesnoCursorShow__14dFile_select_cFv */ void dFile_select_c::yesnoCursorShow() { @@ -3598,7 +1835,6 @@ void dFile_select_c::yesnoCursorShow() { mSelIcon->setParam(0.96f, 0.84f, 0.06f, 0.5f, 0.5f); } - /* 8018929C-801893E4 183BDC 0148+00 1/0 0/0 0/0 .text YesNoSelect__14dFile_select_cFv */ void dFile_select_c::YesNoSelect() { mStick->checkTrigger(); @@ -3629,7 +1865,6 @@ void dFile_select_c::YesNoSelect() { } } - /* 801893E4-8018978C 183D24 03A8+00 1/1 0/0 0/0 .text yesNoSelectStart__14dFile_select_cFv */ void dFile_select_c::yesNoSelectStart() { if (field_0x0268 != 0) { @@ -3688,7 +1923,6 @@ void dFile_select_c::yesNoSelectStart() { } } - /* 8018978C-80189904 1840CC 0178+00 3/3 0/0 0/0 .text yesnoSelectAnmSet__14dFile_select_cFv */ void dFile_select_c::yesnoSelectAnmSet() { if (field_0x0269 != 0xff) { @@ -3707,7 +1941,6 @@ void dFile_select_c::yesnoSelectAnmSet() { } } - /* 80189904-80189A24 184244 0120+00 2/2 0/0 0/0 .text yesnoCancelAnmSet__14dFile_select_cFv */ void dFile_select_c::yesnoCancelAnmSet() { mDoAud_seStart(Z2SE_SY_CURSOR_CANCEL, 0, 0, 0); @@ -3728,7 +1961,6 @@ void dFile_select_c::yesnoCancelAnmSet() { field_0x026f = 27; } - /* 80189A24-80189BA8 184364 0184+00 1/0 0/0 0/0 .text YesNoCancelMove__14dFile_select_cFv */ void dFile_select_c::YesNoCancelMove() { @@ -3771,7 +2003,6 @@ void dFile_select_c::YesNoCancelMove() { } } - /* 80189BA8-80189C14 1844E8 006C+00 1/0 0/0 0/0 .text yesNoCursorMoveAnm__14dFile_select_cFv */ void dFile_select_c::yesNoCursorMoveAnm() { bool moveAnimated = yesnoSelectMoveAnm(); @@ -3850,7 +2081,6 @@ void dFile_select_c::CommandExec() { field_0x03ac = g_fsHIO.field_0x000c; } - /* 80189F68-80189FFC 1848A8 0094+00 1/0 0/0 0/0 .text DataEraseWait__14dFile_select_cFv */ void dFile_select_c::DataEraseWait() { @@ -3864,7 +2094,6 @@ void dFile_select_c::DataEraseWait() { } } - /* 80189FFC-8018A194 18493C 0198+00 1/0 0/0 0/0 .text DataEraseWait2__14dFile_select_cFv */ void dFile_select_c::DataEraseWait2() { @@ -3889,7 +2118,6 @@ void dFile_select_c::DataEraseWait2() { } } - /* 8018A194-8018A2DC 184AD4 0148+00 1/0 0/0 0/0 .text ErasePaneMoveOk__14dFile_select_cFv */ void dFile_select_c::ErasePaneMoveOk() { @@ -3964,7 +2192,6 @@ void dFile_select_c::DataCopyWait() { } } - /* 8018A564-8018A6F8 184EA4 0194+00 1/0 0/0 0/0 .text DataCopyWait2__14dFile_select_cFv */ void dFile_select_c::DataCopyWait2() { @@ -3992,7 +2219,6 @@ void dFile_select_c::DataCopyWait2() { } } - /* 8018A6F8-8018A868 185038 0170+00 1/0 0/0 0/0 .text copyPaneMoveOk__14dFile_select_cFv */ void dFile_select_c::copyPaneMoveOk() { @@ -4086,7 +2312,6 @@ void dFile_select_c::backDatSelPaneMove() { } } - /* 8018AC3C-8018AD38 18557C 00FC+00 1/0 0/0 0/0 .text backDatSelWait__14dFile_select_cFv */ void dFile_select_c::backDatSelWait() { @@ -4121,51 +2346,22 @@ void dFile_select_c::nextModeWait() { /* empty function */ } -/* ############################################################################################## */ -/* 80453974-80453978 001F74 0004+00 1/1 0/0 0/0 .sdata2 @6867 */ -SECTION_SDATA2 static f32 lit_6867 = 24.0f; - -/* 80453978-8045397C 001F78 0004+00 1/1 0/0 0/0 .sdata2 @6868 */ -SECTION_SDATA2 static f32 lit_6868 = 20.0f; - -/* 8045397C-80453980 001F7C 0004+00 1/1 0/0 0/0 .sdata2 @6869 */ -SECTION_SDATA2 static f32 lit_6869 = 440.0f; - -/* 80453980-80453984 001F80 0004+00 1/1 0/0 0/0 .sdata2 @6870 */ -SECTION_SDATA2 static f32 lit_6870 = 198.0f; - -/* 80453984-80453988 001F84 0004+00 1/1 0/0 0/0 .sdata2 @6871 */ -SECTION_SDATA2 static f32 lit_6871 = 21.0f; - -/* 80453988-8045398C 001F88 0004+00 3/3 0/0 0/0 .sdata2 @6872 */ -SECTION_SDATA2 static f32 lit_6872 = 47.0f / 50.0f; - -/* 8045398C-80453990 001F8C 0004+00 3/3 0/0 0/0 .sdata2 @6873 */ -SECTION_SDATA2 static f32 lit_6873 = 3.0f / 100.0f; - -/* 80453990-80453994 001F90 0004+00 3/3 0/0 0/0 .sdata2 @6874 */ -SECTION_SDATA2 static f32 lit_6874 = 7.0f / 10.0f; - -/* 80453994-80453998 001F94 0004+00 1/1 0/0 0/0 .sdata2 @6875 */ -SECTION_SDATA2 static f32 lit_6875 = 238.0f; - -/* 80453998-8045399C 001F98 0004+00 1/1 0/0 0/0 .sdata2 @6876 */ -SECTION_SDATA2 static f32 lit_6876 = 43.0f; - -/* 8045399C-804539A0 001F9C 0004+00 1/1 0/0 0/0 .sdata2 @6877 */ -SECTION_SDATA2 static f32 lit_6877 = 712.0f; - -/* 804539A0-804539A4 001FA0 0004+00 1/1 0/0 0/0 .sdata2 @6878 */ -SECTION_SDATA2 static f32 lit_6878 = 130.0f; - -/* 804539A4-804539A8 001FA4 0004+00 3/3 0/0 0/0 .sdata2 @6879 */ -SECTION_SDATA2 static f32 lit_6879 = 608.0f; - -/* 804539A8-804539AC 001FA8 0004+00 3/3 0/0 0/0 .sdata2 @6880 */ -SECTION_SDATA2 static f32 lit_6880 = 448.0f; - /* 8018ADA0-8018BEE0 1856E0 1140+00 1/1 0/0 0/0 .text screenSet__14dFile_select_cFv */ void dFile_select_c::screenSet() { + static u64 l_tagName0[3] = {'w_sel_00', 'w_sel_01', 'w_sel_02'}; + static u64 l_tagName3[3] = {'w_moyo00', 'w_moyo01', 'w_moyo02'}; + static u64 l_tagName4[3] = {'w_gold00', 'w_gold01', 'w_gold02'}; + static u64 l_tagName5[3] = {'w_go2_00', 'w_go2_01', 'w_go2_02'}; + static u64 l_tagName12[3] = {'w_bk_l00', 'w_bk_l01', 'w_bk_l02'}; + static u64 l_nouseTag[15] = { + 'w_mcheck', 'w_tabi1', 'w_tabi2', 'w_tabi3', 'w_doko_c', 'w_uwa_c', 'w_cp_chu', 'w_cpsita', + 'w_cp_x', 'w_de', 'w_de_chu', 'w_desita', 'w_de_x', 'w_name', 'w_h_name'}; + static u64 l_tagName21[2] = {'t_for', 't_for1'}; + static u64 l_tagName18[3] = {'w_de_ef0', 'w_de_ef1', 'w_de_ef2'}; + static u64 l_tagName19[3] = {'w_cp_ef0', 'w_cp_ef1', 'w_cp_ef2'}; + static u64 l_tagName20[2] = {'er_for0', 'er_for1'}; + static u64 l_tagName131[3] = {'N_sel_00', 'N_sel_01', 'N_sel_02'}; + fileSel.Scr = new J2DScreen(); JUT_ASSERT(4917, fileSel.Scr != 0); fileSel.Scr->setPriority("zelda_file_select.blo", 0x1100000, mpArchive); @@ -4193,8 +2389,8 @@ void dFile_select_c::screenSet() { field_0x0244 = new CPaneMgrAlpha(fileSel.Scr, 'f_kete', 2, NULL); fileSel.Scr->search('w_modo')->hide(); fileSel.Scr->search('w_kete')->hide(); - ((J2DTextBox*)field_0x0240->getPanePtr())->setFont(mpMessageFont[0]); - ((J2DTextBox*)field_0x0244->getPanePtr())->setFont(mpMessageFont[0]); + ((J2DTextBox*)field_0x0240->getPanePtr())->setFont(fileSel.mpMessageFont[0]); + ((J2DTextBox*)field_0x0244->getPanePtr())->setFont(fileSel.mpMessageFont[0]); ((J2DTextBox*)field_0x0240->getPanePtr())->setString(32, ""); field_0x0250 = ((J2DTextBox*)field_0x0240->getPanePtr())->getStringPtr(); fopMsgM_messageGet(field_0x0250, 0x54); @@ -4252,7 +2448,7 @@ void dFile_select_c::screenSet() { fileSel.Scr->search('w_mgn2')->hide(); for (int i = 0; i < 2; i++) { field_0x020c[i] = new CPaneMgrAlpha(fileSel.Scr, l_tagName21[i], 0, NULL); - ((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFont(mpMessageFont[0]); + ((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFont(fileSel.mpMessageFont[0]); ((J2DTextBox*)field_0x020c[i]->getPanePtr())->setString(512, ""); ((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFontSize(24.0f, 24.0f); ((J2DTextBox*)field_0x020c[i]->getPanePtr())->setLineSpace(20.0f); @@ -4289,7 +2485,7 @@ void dFile_select_c::screenSet() { fileSel.Scr->search('w_er_msE')->hide(); for (int i = 0; i < 2; i++) { field_0x0138[i] = new CPaneMgrAlpha(fileSel.Scr, l_tagName20[i], 0, NULL); - ((J2DTextBox*)field_0x0138[i]->getPanePtr())->setFont(mpMessageFont[0]); + ((J2DTextBox*)field_0x0138[i]->getPanePtr())->setFont(fileSel.mpMessageFont[0]); ((J2DTextBox*)field_0x0138[i]->getPanePtr())->setString(512, ""); field_0x0138[i]->getPanePtr()->resize(440.0f, 198.0f); ((J2DTextBox*)field_0x0138[i]->getPanePtr())->setFontSize(21.0f, 21.0f); @@ -4345,23 +2541,15 @@ void dFile_select_c::screenSet() { field_0x2378->setAlpha(0); } - -/* 8018BEE0-8018BF28 186820 0048+00 0/0 1/0 0/0 .text - * setBlackWhite__10J2DPictureFQ28JUtility6TColorQ28JUtility6TColor */ -// J2DPicture::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) -bool J2DPicture::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { - // NONMATCHING -} - -/* 8018BF28-8018BF2C 186868 0004+00 0/0 4/0 0/0 .text - * setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey */ -// void J2DPane::setAnimation(J2DAnmTextureSRTKey* param_0) { -extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey() { - /* empty function */ -} - /* 8018BF2C-8018C524 18686C 05F8+00 1/1 0/0 0/0 .text screenSetCopySel__14dFile_select_cFv */ void dFile_select_c::screenSetCopySel() { + static u64 l_tagName000[2] = {'w_sel_01', 'w_sel_02'}; + static u64 l_tagName001[2] = {'w_moyo01', 'w_moyo02'}; + static u64 l_tagName002[2] = {'w_gold01', 'w_gold02'}; + static u64 l_tagName003[2] = {'w_go2_01', 'w_go2_02'}; + static u64 l_tagName004[2] = {'w_bk_l01', 'w_bk_l02'}; + static u64 l_tagName005[2] = {'w_cp_ef1', 'w_cp_ef2'}; + mCpSel.Scr = new J2DScreen(); JUT_ASSERT(5286, mCpSel.Scr != 0); mCpSel.Scr->setPriority("zelda_file_select_copy_select.blo", 0x1100000, mpArchive); @@ -4433,20 +2621,17 @@ void dFile_select_c::screenSetCopySel() { mCpSel.field_0x08 = false; } - -/* ############################################################################################## */ -/* 804506C8-804506CC 000148 0002+02 1/1 0/0 0/0 .sdata l_msgNum2$7002 */ -SECTION_SDATA static u8 l_msgNum2[2 + 2 /* padding */] = { - 0x08, - 0x07, - /* padding */ - 0x00, - 0x00, -}; - /* 8018C524-8018C8F4 186E64 03D0+00 1/1 0/0 0/0 .text screenSetYesNo__14dFile_select_cFv */ void dFile_select_c::screenSetYesNo() { + static u64 l_tagName012[2] = {'w_no_n', 'w_yes_n'}; + static u64 l_tagName013[2] = {'w_no_t', 'w_yes_t'}; + static u64 l_tagName013U[2] = {'f_no_t', 'f_yes_t'}; + static u64 l_tagName9[2] = {'w_no_m', 'w_yes_m'}; + static u64 l_tagName10[2] = {'w_no_g', 'w_yes_g',}; + static u64 l_tagName11[2] = {'w_no_gr', 'w_yes_gr'}; + static u8 l_msgNum2[2] = {0x08, 0x07}; + mYnSel.ScrYn = new J2DScreen(); JUT_ASSERT(5435, mYnSel.ScrYn != 0); mYnSel.ScrYn->setPriority("zelda_file_select_yes_no_window.blo", 0x1100000, mpArchive); @@ -4490,23 +2675,17 @@ void dFile_select_c::screenSetYesNo() { } } - -/* ############################################################################################## */ -/* 804506CC-804506D0 00014C 0003+01 1/1 0/0 0/0 .sdata l_msgNum$7082 */ -SECTION_SDATA static u8 l_msgNum[3 + 1 /* padding */] = { - 0x57, - 0x58, - 0x56, - /* padding */ - 0x00, -}; - -/* 804539AC-804539B0 001FAC 0004+00 1/1 0/0 0/0 .sdata2 @7146 */ -SECTION_SDATA2 static f32 lit_7146 = 799.0f; - /* 8018C8F4-8018CCD0 187234 03DC+00 1/1 0/0 0/0 .text screenSet3Menu__14dFile_select_cFv */ void dFile_select_c::screenSet3Menu() { + static u64 l_tagName6[3] = {'w_sat_mo', 'w_del_mo', 'w_cop_mo'}; + static u64 l_tagName7[3] = {'w_sat_g', 'w_del_g', 'w_cop_g'}; + static u64 l_tagName8[3] = {'w_sat_gr', 'w_del_gr', 'w_cop_gr'}; + static u64 l_tagName1[3] = {'w_sta_n', 'w_del_n', 'w_cop_n'}; + static u64 l_tagName011[3] = {'w_sta', 'w_del', 'w_cop_t'}; + static u64 l_tagName011U[3] = {'f_sta', 'f_del', 'f_cop_t'}; + static u8 l_msgNum[3] = {0x57, 0x58, 0x56}; + m3mSel.Scr3m = new J2DScreen(); JUT_ASSERT(5530, m3mSel.Scr3m != 0); m3mSel.Scr3m->setPriority("zelda_file_select_3menu_window.blo", 0x1100000, mpArchive); @@ -4552,7 +2731,6 @@ void dFile_select_c::screenSet3Menu() { } } - /* 8018CCD0-8018CE38 187610 0168+00 1/1 0/0 0/0 .text screenSetDetail__14dFile_select_cFv */ void dFile_select_c::screenSetDetail() { @@ -4630,27 +2808,12 @@ void dFile_select_c::setSaveData() { } } -/* ############################################################################################## */ -/* 804506D0-804506D8 000150 0008+00 1/1 0/0 0/0 .sdata fontsize$7230 */ -static f32 fontsize[2] = { - 21.0f, - 27.0f -}; - -/* 804506D8-804506E0 000158 0008+00 1/1 0/0 0/0 .sdata linespace$7231 */ -static f32 linespace[2] = { - 21.0f, - 20.0f -}; - -/* 804506E0-804506E8 000160 0008+00 1/1 0/0 0/0 .sdata charspace$7232 */ -static f32 charspace[2] = { - 0.0f, - 0.0f -}; - /* 8018D0E4-8018D25C 187A24 0178+00 20/20 0/0 0/0 .text headerTxtSet__14dFile_select_cFUsUcUc */ void dFile_select_c::headerTxtSet(u16 param_1, u8 param_2, u8 param_3) { + static f32 fontsize[2] = {21.0f, 27.0f}; + static f32 linespace[2] = {21.0f, 20.0f}; + static f32 charspace[2] = {0.0f, 0.0f}; + u8 uVar1 = field_0x021c ^ 1; if (param_3 != 0) { uVar1 = field_0x021c; @@ -4658,11 +2821,11 @@ void dFile_select_c::headerTxtSet(u16 param_1, u8 param_2, u8 param_3) { if (param_1 == 0xffff) { strcpy(field_0x0214[uVar1], ""); } else { - ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr())->setFont(mpMessageFont[param_2]); + ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr())->setFont(fileSel.mpMessageFont[param_2]); ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr())->setFontSize(fontsize[param_2], fontsize[param_2]); ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr())->setLineSpace(linespace[param_2]); ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr())->setCharSpace(charspace[param_2]); - mpMessageString->getString(param_1, ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr()), NULL, mpMessageFont[param_2], NULL, 0); + fileSel.mpMessageString->getString(param_1, ((J2DTextBox*)field_0x020c[uVar1]->getPanePtr()), NULL, fileSel.mpMessageFont[param_2], NULL, 0); } if (param_3 == 0) { field_0x020c[field_0x021c]->alphaAnimeStart(0); @@ -4671,7 +2834,6 @@ void dFile_select_c::headerTxtSet(u16 param_1, u8 param_2, u8 param_3) { } } - /* 8018D25C-8018D344 187B9C 00E8+00 21/21 0/0 0/0 .text headerTxtChangeAnm__14dFile_select_cFv */ bool dFile_select_c::headerTxtChangeAnm() { if (field_0x021d != 0) { @@ -4809,7 +2971,6 @@ void dFile_select_c::selFileCursorShow() { mSelIcon->setParam(0.96f, 0.94f, 0.03f, 0.7f, 0.7f); } - /* 8018D884-8018D8C8 1881C4 0044+00 1/1 0/0 0/0 .text * menuWakuAlpahAnmInit__14dFile_select_cFUcUcUcUc */ void dFile_select_c::menuWakuAlpahAnmInit(u8 i_idx, u8 param_1, u8 param_2, u8 param_3) { @@ -4899,18 +3060,16 @@ bool dFile_select_c::yesnoWakuAlpahAnm(u8 param_1) { } /* 8018DD38-8018DEBC 188678 0184+00 0/0 1/1 0/0 .text _draw__14dFile_select_cFv */ -// Need to fix dDlst inheritances -#ifdef NONMATCHING void dFile_select_c::_draw() { if (!mHasDrawn) { dComIfGd_set2DOpa(&fileSel); for (int i = 0; i < 3; i++) { - mpFileInfo[i]->draw(); + field_0x0070[i]->draw(); } dComIfGd_set2DOpa(&mSelDt); - mpFileSelect3d.draw(); + mpFileSelect3d->draw(); if (mCpSel.field_0x08 != false) { dComIfGd_set2DOpa(&mCpSel); @@ -4921,22 +3080,19 @@ void dFile_select_c::_draw() { } if (field_0x0128 != false) { - mpName.draw(); + mpName->draw(); } dComIfGd_set2DOpa(&m3mSel); dComIfGd_set2DOpa(&mYnSel); - mpFileWarning.draw(); + mpFileWarning->draw(); dComIfGd_set2DOpa(mSelIcon); dComIfGd_set2DOpa(mSelIcon2); + field_0x2378->draw(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(), + mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), + false, false, false); } } -#else -void dFile_select_c::_draw() { -// extern "C" void _draw__14dFile_select_cFv() { - // NONMATCHING -} -#endif /* 8018DEBC-8018DEF4 1887FC 0038+00 1/0 0/0 0/0 .text draw__15dDlst_FileSel_cFv */ void dDlst_FileSel_c::draw() { @@ -4944,7 +3100,6 @@ void dDlst_FileSel_c::draw() { Scr->draw(0.0f, 0.0f, graf); } - /* 8018DEF4-8018DFFC 188834 0108+00 1/0 0/0 0/0 .text draw__17dDlst_FileSelDt_cFv */ void dDlst_FileSelDt_c::draw() { J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); @@ -4960,7 +3115,6 @@ void dDlst_FileSelDt_c::draw() { ScrDt->draw(0.0f, 0.0f, grafContext); } - /* 8018DFFC-8018E0C0 18893C 00C4+00 1/0 0/0 0/0 .text draw__17dDlst_FileSelCp_cFv */ void dDlst_FileSelCp_c::draw() { J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); @@ -4972,21 +3126,18 @@ void dDlst_FileSelCp_c::draw() { Scr->draw(0.0f, 0.0f, grafContext); } - /* 8018E0C0-8018E0F8 188A00 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSelYn_cFv */ void dDlst_FileSelYn_c::draw() { J2DGrafContext* graf = dComIfGp_getCurrentGrafPort(); ScrYn->draw(0.0f, 0.0f, graf); } - /* 8018E0F8-8018E130 188A38 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSel3m_cFv */ void dDlst_FileSel3m_c::draw() { J2DGrafContext* graf = dComIfGp_getCurrentGrafPort(); Scr3m->draw(0.0f, 0.0f, graf); } - /* 8018E130-8018E1C0 188A70 0090+00 4/4 0/0 0/0 .text errorMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::errorMoveAnmInitSet(int param_1, int param_2) { field_0x012c->setAnimation(field_0x0090); @@ -4997,7 +3148,6 @@ void dFile_select_c::errorMoveAnmInitSet(int param_1, int param_2) { field_0x014b = true; } - /* 8018E1C0-8018E2B4 188B00 00F4+00 5/5 0/0 0/0 .text errorMoveAnm__14dFile_select_cFv */ bool dFile_select_c::errorMoveAnm() { if (field_0x0130 != field_0x0134) { @@ -5024,7 +3174,6 @@ bool dFile_select_c::errorMoveAnm() { } } - /* 8018E2B4-8018E4CC 188BF4 0218+00 1/1 0/0 0/0 .text errDispInitSet__14dFile_select_cFii */ void dFile_select_c::errDispInitSet(int param_1, int param_2) { @@ -5036,8 +3185,8 @@ void dFile_select_c::errDispInitSet(int param_1, int param_2) { field_0x021e = 0; field_0x0138[field_0x0148]->setAlpha(0xff); field_0x0138[field_0x0148 ^ 1]->setAlpha(0); - mpMessageString->getString(param_1, (J2DTextBox*)field_0x0138[field_0x0148]->getPanePtr(), NULL, - mpMessageFont[0], NULL, 0); + fileSel.mpMessageString->getString(param_1, (J2DTextBox*)field_0x0138[field_0x0148]->getPanePtr(), NULL, + fileSel.mpMessageFont[0], NULL, 0); if (field_0x014a || field_0x014b) { errorMoveAnmInitSet(2859, 2849); } @@ -5065,10 +3214,41 @@ void dFile_select_c::errDispInitSet(int param_1, int param_2) { field_0x0271 = 22; } +/* 803BB12C-803BB270 01824C 0144+00 1/2 0/0 0/0 .data MemCardCheckProc */ +typedef void (dFile_select_c::*MemCardCheckFuncT)(); +static MemCardCheckFuncT MemCardCheckProc[27] = { + &dFile_select_c::MemCardStatCheck, + &dFile_select_c::MemCardLoadWait, + &dFile_select_c::MemCardErrMsgWaitKey, + &dFile_select_c::MemCardNoSaveSelDisp, + &dFile_select_c::MemCardErrMsgWaitNoSaveSel, + &dFile_select_c::MemCardErrMsgWaitFormatSel, + &dFile_select_c::MemCardFormatYesSelDisp, + &dFile_select_c::MemCardFormatNoSelDisp, + &dFile_select_c::MemCardErrMsgWaitFormatSel2, + &dFile_select_c::MemCardFormatYesSel2Disp, + &dFile_select_c::MemCardFormat, + &dFile_select_c::MemCardFormatWait, + &dFile_select_c::MemCardFormatCheck, + &dFile_select_c::MemCardMakeGameFileSel, + &dFile_select_c::MemCardMakeGameFileSelDisp, + &dFile_select_c::MemCardMakeGameFile, + &dFile_select_c::MemCardMakeGameFileWait, + &dFile_select_c::MemCardMakeGameFileCheck, + &dFile_select_c::MemCardNoFileSpaceDisp, + &dFile_select_c::MemCardGotoIPLSelectDisp, + &dFile_select_c::MemCardGotoIPLSelect, + &dFile_select_c::MemCardGotoIPL, + &dFile_select_c::MemCardMsgWindowInitOpen, + &dFile_select_c::MemCardMsgWindowOpen, + &dFile_select_c::MemCardMsgWindowClose, + &dFile_select_c::MemCardErrYesNoCursorMoveAnm, + &dFile_select_c::MemCardSaveDataClear, +}; /* 8018E4CC-8018E504 188E0C 0038+00 1/0 0/0 0/0 .text MemCardCheckMain__14dFile_select_cFv */ void dFile_select_c::MemCardCheckMain() { - (this->*(((MemCardCheckFuncT*)MemCardCheckProc)[field_0x0271]))(); + (this->*MemCardCheckProc[field_0x0271])(); } /* 8018E504-8018E7C4 188E44 02C0+00 2/0 0/0 0/0 .text MemCardStatCheck__14dFile_select_cFv */ @@ -5137,7 +3317,6 @@ void dFile_select_c::MemCardStatCheck() { } } - /* 8018E7C4-8018E93C 189104 0178+00 1/0 0/0 0/0 .text MemCardLoadWait__14dFile_select_cFv */ void dFile_select_c::MemCardLoadWait() { @@ -5176,7 +3355,6 @@ void dFile_select_c::MemCardLoadWait() { } } - /* 8018E93C-8018E9B0 18927C 0074+00 1/0 0/0 0/0 .text MemCardErrMsgWaitKey__14dFile_select_cFv */ void dFile_select_c::MemCardErrMsgWaitKey() { if (cAPICPad_ANY_BUTTON(0) != 0 && dMeter2Info_getMsgKeyWaitTimer() == 0) { @@ -5202,7 +3380,6 @@ void dFile_select_c::MemCardNoFileSpaceDisp() { } } - /* 8018EA3C-8018EA90 18937C 0054+00 1/0 0/0 0/0 .text iplSelDispInit__14dFile_select_cFv */ void dFile_select_c::iplSelDispInit() { @@ -5328,7 +3505,6 @@ void dFile_select_c::MemCardErrMsgWaitNoSaveSel() { } } - /* 8018EF5C-8018EFAC 18989C 0050+00 1/1 0/0 0/0 .text formatYesSelDispInitSet__14dFile_select_cFv */ void dFile_select_c::formatYesSelDispInitSet() { @@ -5373,7 +3549,6 @@ void dFile_select_c::MemCardFormatNoSelDisp() { } } - /* 8018F128-8018F17C 189A68 0054+00 1/0 0/0 0/0 .text * MemCardErrMsgWaitFormatSel__14dFile_select_cFv */ void dFile_select_c::MemCardErrMsgWaitFormatSel() { @@ -5495,7 +3670,6 @@ void dFile_select_c::MemCardMakeGameFileSelDisp() { } } - /* 8018F580-8018F5E0 189EC0 0060+00 1/0 0/0 0/0 .text MemCardMakeGameFile__14dFile_select_cFv */ void dFile_select_c::MemCardMakeGameFile() { if (field_0x03ac != 0) { @@ -5631,19 +3805,22 @@ bool dFile_select_c::errYesNoSelect() { } mSelIcon->setAlphaRate(0.0f); rv = true; - } else if (mStick->checkRightTrigger() && field_0x0268) { - field_0x0269 = field_0x0268; - field_0x0268 = field_0x0268 ^ 1; - errCurMove(0); - } else if (mStick->checkLeftTrigger() && field_0x0268 != 1) { - field_0x0269 = field_0x0268; - field_0x0268 = field_0x0268 ^ 1; - errCurMove(0); + } else if (mStick->checkRightTrigger()) { + if (field_0x0268) { + field_0x0269 = field_0x0268; + field_0x0268 = field_0x0268 ^ 1; + errCurMove(0); + } + } else if (mStick->checkLeftTrigger()) { + if (field_0x0268 != 1) { + field_0x0269 = field_0x0268; + field_0x0268 = field_0x0268 ^ 1; + errCurMove(0); + } } return rv; } - /* 8018FB80-8018FBF8 18A4C0 0078+00 1/1 0/0 0/0 .text errCurMove__14dFile_select_cFUc */ void dFile_select_c::errCurMove(u8 param_1) { mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, 0, param_1, 0); @@ -5652,7 +3829,6 @@ void dFile_select_c::errCurMove(u8 param_1) { field_0x0271 = 25; } - /* 8018FBF8-8018FC64 18A538 006C+00 1/0 0/0 0/0 .text * MemCardErrYesNoCursorMoveAnm__14dFile_select_cFv */ void dFile_select_c::MemCardErrYesNoCursorMoveAnm() { @@ -5669,16 +3845,15 @@ void dFile_select_c::errorTxtSet(u16 param_1) { if (param_1 == 0xffff) { strcpy(field_0x0140[field_0x0148 ^ 1], ""); } else { - mpMessageString->getString(param_1, - (J2DTextBox*)field_0x0138[field_0x0148 ^ 1]->getPanePtr(), NULL, - mpMessageFont[0], NULL, 0); + fileSel.mpMessageString + ->getString(param_1, (J2DTextBox*)field_0x0138[field_0x0148 ^ 1]->getPanePtr(), + NULL, fileSel.mpMessageFont[0], NULL, 0); } field_0x0138[field_0x0148]->alphaAnimeStart(0); field_0x0138[field_0x0148 ^ 1]->alphaAnimeStart(0); field_0x0149 = 0; } - /* 8018FD30-8018FE18 18A670 00E8+00 9/9 0/0 0/0 .text errorTxtChangeAnm__14dFile_select_cFv */ bool dFile_select_c::errorTxtChangeAnm() { if (field_0x0149) { @@ -5722,7 +3897,6 @@ void dFile_select_c::fileRecScaleAnmInitSet2(f32 param_1, f32 param_2) { } } - /* 8018FEF4-8018FF9C 18A834 00A8+00 2/2 0/0 0/0 .text fileRecScaleAnm2__14dFile_select_cFv */ bool dFile_select_c::fileRecScaleAnm2() { bool scaleRes[3]; @@ -5753,7 +3927,7 @@ bool dFile_select_c::fileInfoScaleAnm() { field_0x0110 = field_0x0114; } - field_0x0098->setFrame(field_0x0110); + field_0x009c->setFrame(field_0x0110); mpPane->animationTransform(); ret = false; } @@ -5766,7 +3940,6 @@ bool dFile_select_c::fileInfoScaleAnm() { return ret; } - /* 80190074-80190124 18A9B4 00B0+00 5/5 0/0 0/0 .text nameMoveAnmInitSet__14dFile_select_cFii */ void dFile_select_c::nameMoveAnmInitSet(int param_1, int param_2) { if (param_1 == 3359) { @@ -5782,7 +3955,6 @@ void dFile_select_c::nameMoveAnmInitSet(int param_1, int param_2) { field_0x011c->animationTransform(); } - /* 80190124-80190208 18AA64 00E4+00 9/9 0/0 0/0 .text nameMoveAnm__14dFile_select_cFv */ bool dFile_select_c::nameMoveAnm() { if (field_0x0120 != field_0x0124) { @@ -5813,7 +3985,6 @@ bool dFile_select_c::nameMoveAnm() { } } - /* 80190208-80190254 18AB48 004C+00 1/0 0/0 0/0 .text MemCardSaveDataClear__14dFile_select_cFv */ void dFile_select_c::MemCardSaveDataClear() { field_0x03b4 = mDoMemCd_SaveSync(); @@ -5837,8 +4008,6 @@ void dFile_select_c::dataSave() { } /* 801902F0-80190380 18AC30 0090+00 1/1 0/0 0/0 .text __ct__16dFile_select3D_cFv */ -// vtable data -#ifdef NONMATCHING dFile_select3D_c::dFile_select3D_c() { mpHeap = NULL; mpModel = NULL; @@ -5846,23 +4015,11 @@ dFile_select3D_c::dFile_select3D_c() { field_0x03b8.x = 0.0f; field_0x03b8.z = 1.0f; } -#else -dFile_select3D_c::dFile_select3D_c() { - // NONMATCHING -} -#endif /* 80190380-801903DC 18ACC0 005C+00 1/0 0/0 0/0 .text __dt__16dFile_select3D_cFv */ -// vtable data -#ifdef NONMATCHING dFile_select3D_c::~dFile_select3D_c() { freeHeap(); } -#else -dFile_select3D_c::~dFile_select3D_c() { - // NONMATCHING -} -#endif /* 801903DC-8019049C 18AD1C 00C0+00 1/1 0/0 0/0 .text _create__16dFile_select3D_cFUcUc */ void dFile_select3D_c::_create(u8 i_mirrorIdx, u8 i_maskIdx) { @@ -5890,7 +4047,6 @@ void dFile_select3D_c::_create(u8 i_mirrorIdx, u8 i_maskIdx) { } } - /* 8019049C-801904A0 18ADDC 0004+00 1/1 0/0 0/0 .text _delete__16dFile_select3D_cFv */ void dFile_select3D_c::_delete() { /* empty function */ @@ -5905,10 +4061,6 @@ void dFile_select3D_c::freeHeap() { } } -/* ############################################################################################## */ -/* 804539B4-804539B8 001FB4 0004+00 1/1 0/0 0/0 .sdata2 @8459 */ -SECTION_SDATA2 static f32 lit_8459 = 720.0f; - /* 801904E4-801905A8 18AE24 00C4+00 1/1 0/0 0/0 .text _move__16dFile_select3D_cFv */ void dFile_select3D_c::_move() { if (mpModel) { @@ -5935,11 +4087,10 @@ void dFile_select3D_c::draw() { } /* 8019065C-8019095C 18AF9C 0300+00 2/2 0/0 0/0 .text setJ3D__16dFile_select3D_cFPCcPCcPCc */ -#ifdef NONMATCHING -// regswap +// NONMATCHING regswap void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char const* param_2) { JKRArchive* archive = dComIfGp_getCollectResArchive(); - J3DModelData* modelData = (J3DModelData*)J3DModelLoaderDataBase::load( + J3DModelData* modelData = J3DModelLoaderDataBase::load( archive->getResource('BMD ', param_0), 0x51020010); for (u16 i = 0; i < modelData->getMaterialNum(); i++) { J3DMaterialAnm* material = new J3DMaterialAnm(); @@ -5960,20 +4111,11 @@ void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char con (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(archive->getResource('BRK ', param_2)); pbrk->searchUpdateMaterialID(modelData); mBrkAnm = new mDoExt_brkAnm(); - if (mBrkAnm && !mBrkAnm->init(modelData, pbrk, -1, 2, 1.0f, 0, -1)) { + if (mBrkAnm == NULL || !mBrkAnm->init(modelData, pbrk, -1, 2, 1.0f, 0, -1)) { return; } } } -#else -void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char const* param_2) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 804539B8-804539BC 001FB8 0004+00 1/1 0/0 0/0 .sdata2 @8608 */ -SECTION_SDATA2 static f32 lit_8608 = 1.0f / 10.0f; /* 8019095C-80190A14 18B29C 00B8+00 2/2 0/0 0/0 .text set_mtx__16dFile_select3D_cFv */ void dFile_select3D_c::set_mtx() { @@ -5989,7 +4131,6 @@ void dFile_select3D_c::set_mtx() { mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } - /* 80190A14-80190B44 18B354 0130+00 1/1 0/0 0/0 .text animePlay__16dFile_select3D_cFv */ void dFile_select3D_c::animePlay() { if (mBrkAnm) { @@ -6010,7 +4151,6 @@ void dFile_select3D_c::animePlay() { } } - /* 80190B44-80190BA8 18B484 0064+00 1/1 0/0 0/0 .text animeEntry__16dFile_select3D_cFv */ void dFile_select3D_c::animeEntry() { if (mBrkAnm) { @@ -6022,45 +4162,24 @@ void dFile_select3D_c::animeEntry() { } } -/* ############################################################################################## */ -/* 80394310-80394324 020970 0014+00 2/2 0/0 0/0 .rodata m_kamen_offset_x$8678 */ -const static f32 m_kamen_offset_x[5] = { - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f -}; -COMPILER_STRIP_GATE(0x80394310, &m_kamen_offset_x); - -/* 80394324-80394338 020984 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_y$8679 */ -#pragma push -#pragma force_active on -const static f32 m_kamen_offset_y[5] = { - 0.0f, - 0.0f, - 0.0f, - 5.0f, - 5.0f -}; -COMPILER_STRIP_GATE(0x80394324, &m_kamen_offset_y); -#pragma pop - -/* 80394338-8039434C 020998 0014+00 0/1 0/0 0/0 .rodata m_kamen_scale$8680 */ -#pragma push -#pragma force_active on -const static f32 m_kamen_scale[5] = { - 2.0f, - 2.0f, - 2.0f, - 1.6f, - 1.6f -}; -COMPILER_STRIP_GATE(0x80394338, &m_kamen_scale); -#pragma pop - /* 80190BA8-80190D68 18B4E8 01C0+00 1/1 0/0 0/0 .text createMaskModel__16dFile_select3D_cFv */ void dFile_select3D_c::createMaskModel() { + const static f32 m_kamen_offset_x[5] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + const static f32 m_kamen_offset_y[5] = {0.0f, 0.0f, 0.0f, 5.0f, 5.0f}; + const static f32 m_kamen_scale[5] = {2.0f, 2.0f, 2.0f, 1.6f, 1.6f}; + static const char* bck_name[4] = { + "md_mask_parts_spin_1.bck", + "md_mask_parts_spin_2.bck", + "md_mask_parts_spin_3.bck", + "md_mask_parts_spin_4.bck", + }; + static const char* brk_name[4] = { + "md_mask_parts_spin_1.brk", + "md_mask_parts_spin_2_3.brk", + "md_mask_parts_spin_2_3.brk", + "md_mask_parts_spin_4.brk", + }; + field_0x03b8.x = m_kamen_offset_x[mMaskIdx]; field_0x03b8.y = m_kamen_offset_y[mMaskIdx]; field_0x03b8.z = m_kamen_scale[mMaskIdx]; @@ -6072,7 +4191,7 @@ void dFile_select3D_c::createMaskModel() { if (mMaskIdx == 0) { return; } - setJ3D("md_mask_UI.bmd", (const char*)bck_name_8683[mMaskIdx - 1], (const char*)brk_name_8684[mMaskIdx - 1]); + setJ3D("md_mask_UI.bmd", bck_name[mMaskIdx - 1], brk_name[mMaskIdx - 1]); switch (mMaskIdx) { case 1: mpModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide(); @@ -6086,57 +4205,24 @@ void dFile_select3D_c::createMaskModel() { } } - -/* ############################################################################################## */ -/* 8039434C-80394360 0209AC 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_x$8781 */ -#pragma push -#pragma force_active on -const static f32 m_mirror_offset_x[5] = { - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f -}; -COMPILER_STRIP_GATE(0x8039434C, &m_mirror_offset_x); -#pragma pop - -/* 80394360-80394374 0209C0 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_y$8782 */ -#pragma push -#pragma force_active on -const static f32 m_mirror_offset_y[5] = { - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f -}; -COMPILER_STRIP_GATE(0x80394360, &m_mirror_offset_y); -#pragma pop - -/* 80394374-80394388 0209D4 0014+00 0/1 0/0 0/0 .rodata m_mirror_scale$8783 */ -#pragma push -#pragma force_active on -const static f32 m_mirror_scale[5] = { - 0.6f, - 0.6f, - 0.6f, - 0.6f, - 0.6f -}; -COMPILER_STRIP_GATE(0x80394374, &m_mirror_scale); -#pragma pop - -/* 80394388-80394388 0209E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394812 = "kageri_mirrer_UI.bmd"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394827 = ""; -#pragma pop - /* 80190D68-80190FE8 18B6A8 0280+00 1/1 0/0 0/0 .text createMirrorModel__16dFile_select3D_cFv */ void dFile_select3D_c::createMirrorModel() { + const static f32 m_mirror_offset_x[5] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + const static f32 m_mirror_offset_y[5] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + const static f32 m_mirror_scale[5] = {0.6f, 0.6f, 0.6f, 0.6f, 0.6f}; + static const char* bck_name[4] = { + "kageri_mirrer_spin_1.bck", + "kageri_mirrer_spin_2.bck", + "kageri_mirrer_spin_3.bck", + "kageri_mirrer_spin_4.bck", + }; + static const char* brk_name[4] = { + "kageri_mirrer_spin_1.brk", + "kageri_mirrer_spin_2_3_4.brk", + "kageri_mirrer_spin_2_3_4.brk", + "kageri_mirrer_spin_2_3_4.brk", + }; + field_0x03b8.x = m_mirror_offset_x[mMirrorIdx]; field_0x03b8.y = m_mirror_offset_y[mMirrorIdx]; field_0x03b8.z = m_mirror_scale[mMirrorIdx]; @@ -6148,7 +4234,7 @@ void dFile_select3D_c::createMirrorModel() { if (mMirrorIdx == 0) { return; } - setJ3D("kageri_mirrer_UI.bmd", (const char*)bck_name_8786[mMirrorIdx - 1], (const char*)brk_name_8787[mMirrorIdx - 1]); + setJ3D("kageri_mirrer_UI.bmd", bck_name[mMirrorIdx - 1], brk_name[mMirrorIdx - 1]); switch (mMirrorIdx) { case 1: mpModel->getModelData()->getMaterialNodePointer(4)->getShape()->hide(); @@ -6168,112 +4254,27 @@ void dFile_select3D_c::createMirrorModel() { } } - -/* ############################################################################################## */ -/* 804539BC-804539C0 001FBC 0004+00 1/1 0/0 0/0 .sdata2 @8978 */ -SECTION_SDATA2 static f32 lit_8978 = 2.0f; - -/* 804539C0-804539C8 001FC0 0004+04 1/1 0/0 0/0 .sdata2 @8979 */ -SECTION_SDATA2 static f32 lit_8979[1 + 1 /* padding */] = { - -100.0f, - /* padding */ - 0.0f, -}; - -/* 804539C8-804539D0 001FC8 0008+00 1/1 0/0 0/0 .sdata2 @8980 */ -SECTION_SDATA2 static f64 lit_8980 = 0.39269909262657166; - -/* 804539D0-804539D4 001FD0 0004+00 1/1 0/0 0/0 .sdata2 @8981 */ -SECTION_SDATA2 static f32 lit_8981 = 19.0f / 14.0f; - /* 80190FE8-801910D4 18B928 00EC+00 1/1 0/0 0/0 .text toItem3Dpos__16dFile_select3D_cFfffP4cXyz */ -#ifdef NONMATCHING -// floating point hell +// NONMATCHING this is the same function as dMenu_Collect3D_c::toItem3Dpos +#pragma push +#pragma optimization_level 2 void dFile_select3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) { - f32 f28 = ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) * 2.0f - 1.0f; - f32 f29 = ((param_1 - -100.0f) / 448.0f) * 2.0f - 1.0f; - Mtx stack_50; - Mtx stack_20; - calcViewMtx(&stack_50); - cMtx_inverse(stack_50, stack_20); - f32 f31 = tan(0.3926990926265717); - cXyz stack_10((f28 * param_2) * (f31 * mDoGph_gInf_c::getAspect()), f31 * (f29 * -param_2), - -param_2); - cMtx_multVec(stack_20, &stack_10, param_3); + Mtx adStack_98; + Mtx auStack_c8; + f32 dVar7 = + (2.0f * ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) - 1.0f); + f32 dVar11 = (2.0f * ((param_1 - -100.0f) / 448.0f) - 1.0f); + calcViewMtx(adStack_98); + MTXInverse(adStack_98, auStack_c8); + f32 tangent = tan(0.39269909262657166); + f32 dVar12 = -param_2; + cXyz cStack_d4((dVar7 * param_2) * (mDoGph_gInf_c::getAspect() * tangent), + (tangent * (dVar11 * dVar12)), dVar12); + MTXMultVec(auStack_c8, &cStack_d4, param_3); } -#else -void dFile_select3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 804539D4-804539D8 001FD4 0004+00 1/1 0/0 0/0 .sdata2 @8993 */ -SECTION_SDATA2 static f32 lit_8993 = -1000.0f; +#pragma pop /* 801910D4-80191130 18BA14 005C+00 1/1 0/0 0/0 .text calcViewMtx__16dFile_select3D_cFPA4_f */ void dFile_select3D_c::calcViewMtx(Mtx param_0) { - cMtx_lookAt(param_0,&cXyz(0.0f,0.0f,-1000.0f),&cXyz::Zero,&cXyz(0.0f,1.0f,0.0f),0); + cMtx_lookAt(param_0, &cXyz(0.0f, 0.0f, -1000.0f), &cXyz::Zero, &cXyz(0.0f, 1.0f, 0.0f), 0); } - - -/* 80191130-80191134 18BA70 0004+00 1/0 0/0 0/0 .text - * getTransform__15J2DAnmTransformCFUsP16J3DTransformInfo */ -void J2DAnmTransform::getTransform(u16 param_0, J3DTransformInfo* param_1) const { - /* empty function */ -} - -/* 80191134-8019117C 18BA74 0048+00 1/0 0/0 0/0 .text __dt__10JUTNameTabFv */ -// JUTNameTab::~JUTNameTab() { -extern "C" void __dt__10JUTNameTabFv() { - // NONMATCHING -} - -/* 8019117C-801911F4 18BABC 0078+00 1/0 0/0 0/0 .text __dt__17dDlst_FileSel3m_cFv */ -dDlst_FileSel3m_c::~dDlst_FileSel3m_c() { - // NONMATCHING -} - -/* 801911F4-8019126C 18BB34 0078+00 1/0 0/0 0/0 .text __dt__17dDlst_FileSelYn_cFv */ -dDlst_FileSelYn_c::~dDlst_FileSelYn_c() { - // NONMATCHING -} - -/* 8019126C-801912E4 18BBAC 0078+00 1/0 0/0 0/0 .text __dt__17dDlst_FileSelCp_cFv */ -dDlst_FileSelCp_c::~dDlst_FileSelCp_c() { - // NONMATCHING -} - -/* 801912E4-8019135C 18BC24 0078+00 1/0 0/0 0/0 .text __dt__17dDlst_FileSelDt_cFv */ -dDlst_FileSelDt_c::~dDlst_FileSelDt_c() { - // NONMATCHING -} - -/* 8019135C-801913E0 18BC9C 0084+00 1/0 0/0 0/0 .text __dt__15dDlst_FileSel_cFv */ -// dDlst_FileSel_c::~dDlst_FileSel_c() { -extern "C" void __dt__15dDlst_FileSel_cFv() { - // NONMATCHING -} - -/* 801913E0-80191428 18BD20 0048+00 2/1 0/0 0/0 .text __dt__9dFs_HIO_cFv */ -dFs_HIO_c::~dFs_HIO_c() { - // NONMATCHING -} - -/* 80191428-80191B6C 18BD68 0744+00 0/0 1/0 0/0 .text __sinit_d_file_select_cpp */ -void __sinit_d_file_select_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80191428, __sinit_d_file_select_cpp); -#pragma pop - -/* 80191B6C-80191BAC 18C4AC 0040+00 0/0 1/0 0/0 .text - * getString__12dMsgString_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc */ -// 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" void getString__12dMsgString_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc() { - // NONMATCHING -} \ No newline at end of file diff --git a/src/d/d_gameover.cpp b/src/d/d_gameover.cpp index a758e94b5b..4d2aab4be6 100644 --- a/src/d/d_gameover.cpp +++ b/src/d/d_gameover.cpp @@ -3,17 +3,12 @@ // Translation Unit: d/d_gameover // -/** - * This TU mostly matches except for the dGov_HIO_c vtable being the incorrect size - * Once that's fixed, inline the dGov_HIO_c / dDlst_Gameover_CAPTURE_c dtors. - */ - #include "d/d_gameover.h" #include "JSystem/J2DGraph/J2DScreen.h" #include "d/d_com_inf_game.h" #include "d/d_meter2_info.h" #include "d/d_meter_HIO.h" -#include "dol2asm.h" +#include "d/d_msg_scrn_light.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_graphic.h" #include "JSystem/JUtility/JUTTexture.h" @@ -24,7 +19,7 @@ class dGov_HIO_c : public mDoHIO_entry_c { public: /* 8019AFE0 */ dGov_HIO_c(); - /* 8019C06C */ virtual ~dGov_HIO_c(); // supposed to be inlined + /* 8019C06C */ virtual ~dGov_HIO_c() {} /* 0x04 */ u8 unk_0x4; /* 0x08 */ f32 mScale; @@ -34,139 +29,8 @@ public: /* 0x18 */ GXColor mWhite; }; // Size: 0x1C -struct dMsgScrnLight_c { - /* 80245934 */ dMsgScrnLight_c(u8, u8); - /* 80245F90 */ void draw(f32*, f32, f32, f32, f32, f32, f32, JUtility::TColor, - JUtility::TColor); - - /* 0x00 */ u8 field_0x0[0x24]; -}; - -// -// Forward References: -// - -extern "C" void draw__24dDlst_Gameover_CAPTURE_cFv(); -extern "C" void __ct__10dGov_HIO_cFv(); -extern "C" void _create__11dGameover_cFv(); -extern "C" void _execute__11dGameover_cFv(); -extern "C" void playerAnmWait_init__11dGameover_cFv(); -extern "C" void playerAnmWait_proc__11dGameover_cFv(); -extern "C" void dispFadeOut_init__11dGameover_cFv(); -extern "C" void dispFadeOut_proc__11dGameover_cFv(); -extern "C" void dispWait_init__11dGameover_cFv(); -extern "C" void dispWait_proc__11dGameover_cFv(); -extern "C" void demoFadeIn_init__11dGameover_cFv(); -extern "C" void demoFadeIn_proc__11dGameover_cFv(); -extern "C" void demoFadeOut_init__11dGameover_cFv(); -extern "C" void demoFadeOut_proc__11dGameover_cFv(); -extern "C" void saveOpen_init__11dGameover_cFv(); -extern "C" void saveOpen_proc__11dGameover_cFv(); -extern "C" void saveMove_init__11dGameover_cFv(); -extern "C" void saveMove_proc__11dGameover_cFv(); -extern "C" void saveClose_init__11dGameover_cFv(); -extern "C" void saveClose_proc__11dGameover_cFv(); -extern "C" void deleteWait_init__11dGameover_cFv(); -extern "C" void deleteWait_proc__11dGameover_cFv(); -extern "C" void _draw__11dGameover_cFv(); -extern "C" void _delete__11dGameover_cFv(); -extern "C" void __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive(); -extern "C" void __dt__24dDlst_GameOverScrnDraw_cFv(); -extern "C" void setBackAlpha__24dDlst_GameOverScrnDraw_cFf(); -extern "C" void draw__24dDlst_GameOverScrnDraw_cFv(); -extern "C" static void dGameover_Draw__FP11dGameover_c(); -extern "C" static void dGameover_Execute__FP11dGameover_c(); -extern "C" static bool dGameover_IsDelete__FP11dGameover_c(); -extern "C" static void dGameover_Delete__FP11dGameover_c(); -extern "C" static void dGameover_Create__FP9msg_class(); -extern "C" void d_GameOver_Create__FUc(); -extern "C" void d_GameOver_Delete__FRUi(); -extern "C" void __dt__10dGov_HIO_cFv(); -extern "C" void __sinit_d_gameover_cpp(); -extern "C" void __dt__24dDlst_Gameover_CAPTURE_cFv(); -extern "C" void __dt__12dMenu_save_cFv(); -extern "C" extern char const* const d_d_gameover__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void fopMsgM_SearchByID__FUi(); -extern "C" void fopMsgM_Delete__FPv(); -extern "C" void fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_setHeapLockFlag__FUc(); -extern "C" void dComIfGp_offHeapLockFlag__Fi(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void __ct__12dMenu_save_cFv(); -extern "C" void _create__12dMenu_save_cFv(); -extern "C" void _open__12dMenu_save_cFv(); -extern "C" void _delete__12dMenu_save_cFv(); -extern "C" void _move__12dMenu_save_cFv(); -extern "C" void _draw2__12dMenu_save_cFv(); -extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); -extern "C" void __ct__15dMsgScrnLight_cFUcUc(); -extern "C" void draw__15dMsgScrnLight_cFPfffffffQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void freeAll__7JKRHeapFv(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void func_802FC800(); -extern "C" void setString__10J2DTextBoxFPCce(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__14mDoHIO_entry_c[3]; -extern "C" extern void* __vt__16dDlst_MenuSave_c[4]; -extern "C" extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */]; -extern "C" u8 mFadeColor__13mDoGph_gInf_c[4]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; -extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4]; -extern "C" u8 mZbufferTex__13mDoGph_gInf_c[4]; -extern "C" f32 mFadeRate__13mDoGph_gInf_c; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80453B80-80453B84 002180 0004+00 3/3 0/0 0/0 .sdata2 @3868 */ -SECTION_SDATA2 static u8 lit_3868[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80453B84-80453B88 002184 0004+00 6/6 0/0 0/0 .sdata2 @3869 */ -SECTION_SDATA2 static f32 lit_3869 = 1.0f; - -/* 80453B88-80453B8C 002188 0004+00 1/1 0/0 0/0 .sdata2 @3870 */ -SECTION_SDATA2 static f32 lit_3870 = 10.0f; +/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */ +static dGov_HIO_c l_HIO; /* 8019ACF8-8019AFE0 195638 02E8+00 1/0 0/0 0/0 .text draw__24dDlst_Gameover_CAPTURE_cFv */ @@ -227,264 +91,31 @@ void dDlst_Gameover_CAPTURE_c::draw() { GXEnd(); } - -/* ############################################################################################## */ /* 803BBB50-803BBB5C 018C70 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803BBB5C-803BBB68 -00001 000C+00 0/1 0/0 0/0 .data @3883 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3883[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)playerAnmWait_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBB68-803BBB74 -00001 000C+00 0/1 0/0 0/0 .data @3884 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3884[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dispFadeOut_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBB74-803BBB80 -00001 000C+00 0/1 0/0 0/0 .data @3885 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3885[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dispWait_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBB80-803BBB8C -00001 000C+00 0/1 0/0 0/0 .data @3886 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3886[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demoFadeIn_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBB8C-803BBB98 -00001 000C+00 0/1 0/0 0/0 .data @3887 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3887[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demoFadeOut_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBB98-803BBBA4 -00001 000C+00 0/1 0/0 0/0 .data @3888 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3888[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveOpen_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBBA4-803BBBB0 -00001 000C+00 0/1 0/0 0/0 .data @3889 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3889[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveMove_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBBB0-803BBBBC -00001 000C+00 0/1 0/0 0/0 .data @3890 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3890[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveClose_init__11dGameover_cFv, -}; -#pragma pop - -/* 803BBBBC-803BBBC8 -00001 000C+00 0/1 0/0 0/0 .data @3891 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3891[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)deleteWait_init__11dGameover_cFv, -}; -#pragma pop - /* 803BBBC8-803BBC34 018CE8 006C+00 2/3 0/0 0/0 .data init_process */ typedef void (dGameover_c::*initFunc)(); -SECTION_DATA initFunc init_process[] = { +initFunc init_process[] = { &dGameover_c::playerAnmWait_init, &dGameover_c::dispFadeOut_init, &dGameover_c::dispWait_init, &dGameover_c::demoFadeIn_init, &dGameover_c::demoFadeOut_init, &dGameover_c::saveOpen_init, &dGameover_c::saveMove_init, &dGameover_c::saveClose_init, &dGameover_c::deleteWait_init, }; -/* 803BBC34-803BBC40 -00001 000C+00 0/1 0/0 0/0 .data @3892 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3892[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)playerAnmWait_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC40-803BBC4C -00001 000C+00 0/1 0/0 0/0 .data @3893 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3893[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dispFadeOut_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC4C-803BBC58 -00001 000C+00 0/1 0/0 0/0 .data @3894 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3894[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)dispWait_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC58-803BBC64 -00001 000C+00 0/1 0/0 0/0 .data @3895 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3895[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demoFadeIn_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC64-803BBC70 -00001 000C+00 0/1 0/0 0/0 .data @3896 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3896[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demoFadeOut_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC70-803BBC7C -00001 000C+00 0/1 0/0 0/0 .data @3897 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3897[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveOpen_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC7C-803BBC88 -00001 000C+00 0/1 0/0 0/0 .data @3898 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3898[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveMove_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC88-803BBC94 -00001 000C+00 0/1 0/0 0/0 .data @3899 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3899[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveClose_proc__11dGameover_cFv, -}; -#pragma pop - -/* 803BBC94-803BBCA0 -00001 000C+00 0/1 0/0 0/0 .data @3900 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3900[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)deleteWait_proc__11dGameover_cFv, -}; -#pragma pop - /* 803BBCA0-803BBD0C 018DC0 006C+00 1/2 0/0 0/0 .data move_process */ typedef void (dGameover_c::*moveFunc)(); -SECTION_DATA moveFunc move_process[] = { +moveFunc move_process[] = { &dGameover_c::playerAnmWait_proc, &dGameover_c::dispFadeOut_proc, &dGameover_c::dispWait_proc, &dGameover_c::demoFadeIn_proc, &dGameover_c::demoFadeOut_proc, &dGameover_c::saveOpen_proc, &dGameover_c::saveMove_proc, &dGameover_c::saveClose_proc, &dGameover_c::deleteWait_proc, }; -/* 803BBD0C-803BBD2C 018E2C 0020+00 1/1 0/0 0/0 .data offset$4331 */ -SECTION_DATA static f32 offset[8] = { - -138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f, -}; - -/* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */ -SECTION_DATA static void* l_dGameover_Method[5] = { - (void*)dGameover_Create__FP9msg_class, (void*)dGameover_Delete__FP11dGameover_c, - (void*)dGameover_Execute__FP11dGameover_c, (void*)dGameover_IsDelete__FP11dGameover_c, - (void*)dGameover_Draw__FP11dGameover_c, -}; - -/* 803BBD40-803BBD68 -00001 0028+00 0/0 0/0 1/0 .data g_profile_GAMEOVER */ -SECTION_DATA extern void* g_profile_GAMEOVER[10] = { - (void*)0xFFFFFFFD, (void*)0x000CFFFD, - (void*)0x03170000, (void*)&g_fpcLf_Method, - (void*)0x0000011C, (void*)NULL, - (void*)NULL, (void*)&g_fopMsg_Method, - (void*)0x03030000, (void*)&l_dGameover_Method, -}; - -/* 803BBD68-803BBD78 018E88 0010+00 2/2 0/0 0/0 .data __vt__24dDlst_GameOverScrnDraw_c */ -SECTION_DATA extern void* __vt__24dDlst_GameOverScrnDraw_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__24dDlst_GameOverScrnDraw_cFv, - (void*)__dt__24dDlst_GameOverScrnDraw_cFv, -}; - -/* 803BBD78-803BBD90 018E98 000C+0C 1/1 1/1 0/0 .data __vt__12dMenu_save_c */ -SECTION_DATA extern void* __vt__12dMenu_save_c[3 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dMenu_save_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 803BBD90-803BBDA8 018EB0 000C+0C 2/2 0/0 0/0 .data __vt__10dGov_HIO_c */ -SECTION_DATA extern void* __vt__10dGov_HIO_c[3 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dGov_HIO_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - /* 8019AFE0-8019B044 195920 0064+00 1/1 0/0 0/0 .text __ct__10dGov_HIO_cFv */ dGov_HIO_c::dGov_HIO_c() { mScale = 2.7f; - mAlpha = lit_3869; + mAlpha = 1.0f; mAnimSpeed = 0.2f; mBlack.r = 0; @@ -498,22 +129,6 @@ dGov_HIO_c::dGov_HIO_c() { mWhite.a = 255; } -/* ############################################################################################## */ -/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C28 = "Gover"; -SECTION_DEAD static char const* const stringBase_80394C2E = "D_MN10A"; -#pragma pop - -/* 803BBDA8-803BBDB8 018EC8 0010+00 2/2 0/0 0/0 .data __vt__24dDlst_Gameover_CAPTURE_c */ -SECTION_DATA extern void* __vt__24dDlst_Gameover_CAPTURE_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__24dDlst_Gameover_CAPTURE_cFv, - (void*)__dt__24dDlst_Gameover_CAPTURE_cFv, -}; - /* 8019B044-8019B2F4 195984 02B0+00 1/1 0/0 0/0 .text _create__11dGameover_cFv */ int dGameover_c::_create() { int phase = dComIfG_resLoad(&mPhase, "Gover"); @@ -654,7 +269,7 @@ void dGameover_c::demoFadeIn_init() { /* 8019B484-8019B4D8 195DC4 0054+00 1/0 0/0 0/0 .text demoFadeIn_proc__11dGameover_cFv */ void dGameover_c::demoFadeIn_proc() { mTimer++; - dgo_screen_c->setBackAlpha(lit_3869); + dgo_screen_c->setBackAlpha(1.0f); if (mTimer >= 30) { mProc = PROC_SAVE_OPEN; @@ -785,22 +400,6 @@ int dGameover_c::_delete() { return 1; } -/* ############################################################################################## */ -/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C36 = "zelda_game_over.blo"; -SECTION_DEAD static char const* const stringBase_80394C4A = "tt_block8x8.bti"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394C5A = "\0\0\0\0\0"; -#pragma pop - -/* 80453BA0-80453BA4 0021A0 0004+00 1/1 0/0 0/0 .sdata2 @4290 */ -SECTION_SDATA2 static f32 lit_4290 = 486.0f; - -/* 80453BA4-80453BA8 0021A4 0004+00 1/1 0/0 0/0 .sdata2 @4291 */ -SECTION_SDATA2 static f32 lit_4291 = 660.0f; - /* 8019B940-8019BBFC 196280 02BC+00 1/1 0/0 0/0 .text * __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive */ dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* i_archive) { @@ -856,31 +455,6 @@ void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 i_alpha) { mpBackImg->setAlpha(i_alpha * 255.0f); } -/* 80453BAC-80453BB0 0021AC 0004+00 1/1 0/0 0/0 .sdata2 @4374 */ -SECTION_SDATA2 static f32 lit_4374 = 608.0f; - -/* 80453BB0-80453BB4 0021B0 0004+00 1/1 0/0 0/0 .sdata2 @4375 */ -SECTION_SDATA2 static f32 lit_4375 = 448.0f; - -/* 80453BB4-80453BB8 0021B4 0004+00 1/1 0/0 0/0 .sdata2 @4376 */ -SECTION_SDATA2 static f32 lit_4376 = 304.0f; - -/* 80453BB8-80453BC0 0021B8 0004+04 1/1 0/0 0/0 .sdata2 @4377 */ -SECTION_SDATA2 static f32 lit_4377[1 + 1 /* padding */] = { - 224.0f, - /* padding */ - 0.0f, -}; - -/* 8019BCF4-8019BF3C 196634 0248+00 1/0 0/0 0/0 .text draw__24dDlst_GameOverScrnDraw_cFv - */ -/* ############################################################################################## */ -/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */ -// static u8 lit_3882[12]; - -/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */ -static dGov_HIO_c l_HIO; - void dDlst_GameOverScrnDraw_c::draw() { J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort(); graf_ctx->setup2D(); @@ -913,6 +487,8 @@ void dDlst_GameOverScrnDraw_c::draw() { mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false); + static f32 offset[8] = {-138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f}; + for (int i = 0; i < 8; i++) { mpLight->draw(&field_0x10, offset[i] + 304.0f, 224.0f, l_HIO.mScale, l_HIO.mScale, l_HIO.mAlpha, l_HIO.mAnimSpeed, img_black, img_white); @@ -969,31 +545,20 @@ bool d_GameOver_Delete(fpc_ProcID& i_id) { return false; } -/* 8019C06C-8019C0C8 1969AC 005C+00 2/1 0/0 0/0 .text __dt__10dGov_HIO_cFv */ -// dGov_HIO_c::~dGov_HIO_c() { -extern "C" void __dt__10dGov_HIO_cFv() { - // NONMATCHING -} +/* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */ +static void* l_dGameover_Method[5] = { + (void*)dGameover_Create, + (void*)dGameover_Delete, + (void*)dGameover_Execute, + (void*)dGameover_IsDelete, + (void*)dGameover_Draw, +}; -/* 8019C0C8-8019C2CC 196A08 0204+00 0/0 1/0 0/0 .text __sinit_d_gameover_cpp */ -void __sinit_d_gameover_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8019C0C8, __sinit_d_gameover_cpp); -#pragma pop - -/* 8019C2CC-8019C314 196C0C 0048+00 1/0 0/0 0/0 .text __dt__24dDlst_Gameover_CAPTURE_cFv - */ -dDlst_Gameover_CAPTURE_c::~dDlst_Gameover_CAPTURE_c() { - // NONMATCHING -} - -/* 8019C314-8019C388 196C54 0074+00 1/0 0/0 0/0 .text __dt__12dMenu_save_cFv */ -// dMenu_save_c::~dMenu_save_c() { -extern "C" void __dt__12dMenu_save_cFv() { - // NONMATCHING -} - -/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 803BBD40-803BBD68 -00001 0028+00 0/0 0/0 1/0 .data g_profile_GAMEOVER */ +extern void* g_profile_GAMEOVER[10] = { + (void*)0xFFFFFFFD, (void*)0x000CFFFD, + (void*)0x03170000, (void*)&g_fpcLf_Method, + (void*)0x0000011C, (void*)NULL, + (void*)NULL, (void*)&g_fopMsg_Method, + (void*)0x03030000, (void*)&l_dGameover_Method, +}; diff --git a/src/d/d_map_path_dmap.cpp b/src/d/d_map_path_dmap.cpp index 9a2d841c6f..7ac7035581 100644 --- a/src/d/d_map_path_dmap.cpp +++ b/src/d/d_map_path_dmap.cpp @@ -399,7 +399,6 @@ bool dMpath_c::isExistMapPathData() { return data_80450E88; } -/* ############################################################################################## */ /* 80450630-80450634 0000B0 0004+00 0/0 1/1 2/2 .sdata mNextRoomNo__10dMapInfo_c */ int dMapInfo_c::mNextRoomNo = -1; @@ -407,7 +406,7 @@ int dMapInfo_c::mNextRoomNo = -1; s8 dMpath_c::mBottomFloorNo = 127; /* 80450635 0001+00 data_80450635 None */ -s8 dMpath_c::mTopFloorNo = 128; +s8 dMpath_c::mTopFloorNo = -128; /* 8003F760-8003F7E8 03A0A0 0088+00 0/0 1/1 0/0 .text getTopBottomFloorNo__8dMpath_cFPScPSc */ int dMpath_c::getTopBottomFloorNo(s8* i_topFloorNo, s8* i_bottomFloorNo) { @@ -662,13 +661,10 @@ void renderingDAmap_c::draw() { mIsDraw = true; } -/* ############################################################################################## */ -/* 80451E48-80451E4C 000448 0004+00 1/1 0/0 0/0 .sdata2 l_mapBaseColor$4239 */ -static const GXColor l_mapBaseColor = {4, 0, 0, 0}; - /* 8003FE4C-8003FE54 03A78C 0008+00 3/0 3/0 0/0 .text getBackColor__16renderingDAmap_cCFv */ const GXColor* renderingDAmap_c::getBackColor() const { + static const GXColor l_mapBaseColor = {4, 0, 0, 0}; return &l_mapBaseColor; } @@ -899,7 +895,6 @@ void renderingPlusDoor_c::drawDoor2() { drawDoorCommon(door_info->mDrTgData, door_info->mNum, false); } -/* ############################################################################################## */ /* 80451E58-80451E5C 000458 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite */ static const GXColor l_doorWhite = {100, 0, 0, 0}; @@ -912,15 +907,11 @@ static const GXColor l_doorWhite2 = {100, 0, 0, 0}; /* 80451E64-80451E68 000464 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay2 */ static const GXColor l_doorWhiteNoStay2 = {108, 0, 0, 0}; -/* 80451E68-80451E70 000468 0008+00 1/1 0/0 0/0 .sdata2 l_tex0$4406 */ -static const u8 l_tex0[8] = { - 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, -}; - /* 800405FC-80040710 03AF3C 0114+00 2/2 0/0 0/0 .text * drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib */ void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* i_doorData, int i_dataNum, bool param_2) { + static const u8 l_tex0[8] = {0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01}; int prm0; int prm1; @@ -1091,31 +1082,24 @@ static const GXColor l_npcYkwStartColor = {140, 0, 0, 0}; /* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */ static const GXColor l_tksStartColor = {164, 0, 0, 0}; -/* 80451E9C-80451EA4 00049C 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4523 */ -static const u8 l_iconTex0_4523[8] = { - 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, -}; - -/* 80451EA4-80451EA8 0004A4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4542 */ -static const GXColor tboxNotStayColor_4542 = {128, 0, 0, 0}; - struct treasureDispData { /* 0x0 */ u8 field_0x0; /* 0x4 */ int field_0x4; /* 0x8 */ const GXColor* field_0x8; }; -/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */ -static const treasureDispData l_treasureDispList_4524[4] = { - {1, 2, &l_entranceStartColor}, - {8, 5, &l_entranceLv8StartColor}, - {0, 1, &l_treasureStartColor}, - {5, 3, &l_destinationStartColor}, -}; - /* 80040B00-80040E84 03B440 0384+00 1/1 0/0 0/0 .text * drawTreasure__28renderingPlusDoorAndCursor_cFv */ void renderingPlusDoorAndCursor_c::drawTreasure() { + static const u8 l_iconTex0[8] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00}; + static const GXColor tboxNotStayColor = {128, 0, 0, 0}; + static const treasureDispData l_treasureDispList[4] = { + {1, 2, &l_entranceStartColor}, + {8, 5, &l_entranceLv8StartColor}, + {0, 1, &l_treasureStartColor}, + {5, 3, &l_destinationStartColor}, + }; + bool rend_all_room = isRendAllRoom(); GXClearVtxDesc(); @@ -1123,13 +1107,13 @@ void renderingPlusDoorAndCursor_c::drawTreasure() { GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); - GXSetArray(GX_VA_TEX0, (void*)l_iconTex0_4523, 2); + GXSetArray(GX_VA_TEX0, (void*)l_iconTex0, 2); setTevSettingIntensityTextureToCI(); for (int i = 0; i < 4; i++) { dTres_c::typeGroupData_c* typeGroupData_p; - u8 tmp = l_treasureDispList_4524[i].field_0x0; + u8 tmp = l_treasureDispList[i].field_0x0; typeGroupData_p = getFirstData(tmp); int group_num = getIconGroupNumber(tmp); @@ -1138,10 +1122,10 @@ void renderingPlusDoorAndCursor_c::drawTreasure() { GXInvalidateTexAll(); GXTexObj* texObj_p = - dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4524[i].field_0x4); + dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList[i].field_0x4); GXLoadTexObj(texObj_p, GX_TEXMAP0); GXColor sp18; - const GXColor* temp_r3_2 = l_treasureDispList_4524[i].field_0x8; + const GXColor* temp_r3_2 = l_treasureDispList[i].field_0x8; sp18.r = temp_r3_2->r; sp18.g = temp_r3_2->g; sp18.b = temp_r3_2->b; @@ -1157,7 +1141,7 @@ void renderingPlusDoorAndCursor_c::drawTreasure() { if (tmp == 0) { if (mRoomNoSingle != typeGroupData_p->getRoomNo()) { - sp18 = tboxNotStayColor_4542; + sp18 = tboxNotStayColor; } else { sp18 = l_treasureStartColor; } @@ -1183,30 +1167,18 @@ void renderingPlusDoorAndCursor_c::drawTreasure() { setTevSettingNonTextureDirectColor(); } -/* 80379CB8-80379D3C -00001 0084+00 1/1 0/0 0/0 .rodata l_treasureDispList$4606 */ -static const treasureDispData l_treasureDispList_4606[11] = { - {16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor}, - {9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor}, - {15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor}, - {4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor}, -}; - -/* 80451EAC-80451EB4 0004AC 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4605 */ -static const u8 l_iconTex0_4605[8] = { - 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, -}; - -/* 80451EB4-80451EB8 0004B4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4624 */ -static const GXColor tboxNotStayColor_4624 = { - 0x80, - 0x00, - 0x00, - 0x00, -}; - /* 80040E84-80041208 03B7C4 0384+00 1/1 0/0 0/0 .text * drawTreasureAfterPlayer__28renderingPlusDoorAndCursor_cFv */ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { + static const treasureDispData l_treasureDispList[11] = { + {16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor}, + {9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor}, + {15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor}, + {4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor}, + }; + static const u8 l_iconTex0[8] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00}; + static const GXColor tboxNotStayColor = {0x80, 0x00, 0x00, 0x00}; + bool rend_all_room = isRendAllRoom(); GXClearVtxDesc(); @@ -1214,13 +1186,13 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); - GXSetArray(GX_VA_TEX0, (void*)l_iconTex0_4605, 2); + GXSetArray(GX_VA_TEX0, (void*)l_iconTex0, 2); setTevSettingIntensityTextureToCI(); for (int i = 0; i < 11; i++) { dTres_c::typeGroupData_c* typeGroupData_p; - u8 tmp = l_treasureDispList_4606[i].field_0x0; + u8 tmp = l_treasureDispList[i].field_0x0; typeGroupData_p = getFirstData(tmp); int group_num = getIconGroupNumber(tmp); @@ -1229,10 +1201,10 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { GXInvalidateTexAll(); GXTexObj* texObj_p = - dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4606[i].field_0x4); + dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList[i].field_0x4); GXLoadTexObj(texObj_p, GX_TEXMAP0); GXColor sp18; - const GXColor* temp_r3_2 = l_treasureDispList_4606[i].field_0x8; + const GXColor* temp_r3_2 = l_treasureDispList[i].field_0x8; sp18.r = temp_r3_2->r; sp18.g = temp_r3_2->g; sp18.b = temp_r3_2->b; @@ -1248,7 +1220,7 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { if (tmp == 0) { if (mRoomNoSingle != typeGroupData_p->getRoomNo()) { - sp18 = tboxNotStayColor_4624; + sp18 = tboxNotStayColor; } else { sp18 = l_treasureStartColor; } @@ -1335,4 +1307,4 @@ void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, i } /* 8004145C-80041460 03BD9C 0004+00 2/0 0/0 0/0 .text beforeDrawPath__19renderingPlusDoor_cFv */ -void renderingPlusDoor_c::beforeDrawPath() {} \ No newline at end of file +void renderingPlusDoor_c::beforeDrawPath() {} diff --git a/src/d/d_map_path_fmap.cpp b/src/d/d_map_path_fmap.cpp index 84b21b8e1b..9820d68ccf 100644 --- a/src/d/d_map_path_fmap.cpp +++ b/src/d/d_map_path_fmap.cpp @@ -5,76 +5,6 @@ #include "d/d_map_path_fmap.h" #include "d/d_com_inf_game.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s(); -extern "C" void isArrival__22dMenu_Fmap_room_data_cFv(); -extern "C" void buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii(); -extern "C" void buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff(); -extern "C" void isArrival__23dMenu_Fmap_stage_data_cFv(); -extern "C" void buildFmapStageData__23dMenu_Fmap_stage_data_cFiff(); -extern "C" void getMenuFmapStageData__24dMenu_Fmap_region_data_cFi(); -extern "C" void getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi(); -extern "C" void buildFmapRegionData__24dMenu_Fmap_region_data_cFi(); -extern "C" void create__23dMenu_Fmap_world_data_cFP24dMenu_Fmap_region_data_c(); -extern "C" void buildFmapWorldData__23dMenu_Fmap_world_data_cFv(); -extern "C" void -init__22dMenuFmapIconPointer_cFP24dMenu_Fmap_region_data_cP23dMenu_Fmap_stage_data_cUcii(); -extern "C" void getFirstData__22dMenuFmapIconPointer_cFv(); -extern "C" void getData__22dMenuFmapIconPointer_cFv(); -extern "C" void getFirstRoomData__22dMenuFmapIconPointer_cFv(); -extern "C" void getNextRoomData__22dMenuFmapIconPointer_cFv(); -extern "C" void getNextStageData__22dMenuFmapIconPointer_cFv(); -extern "C" void getNextData__22dMenuFmapIconPointer_cFv(); -extern "C" void nextData__22dMenuFmapIconPointer_cFv(); -extern "C" void getValidData__22dMenuFmapIconPointer_cFv(); -extern "C" void getPosition__19dMenuFmapIconDisp_cFPiPiPfPfPPCQ27dTres_c6data_s(); -extern "C" void isDrawDisp__19dMenuFmapIconDisp_cFv(); -extern "C" void __dt__26fmpTresTypeGroupDataList_cFv(); -extern "C" void __dt__22fmpTresTypeGroupData_cFv(); -extern "C" void __ct__26fmpTresTypeGroupDataList_cFv(); -extern "C" extern void* __vt__19dMenuFmapIconDisp_c[3]; - -// -// External References: -// - -extern "C" void dComIfGs_isStageTbox__Fii(); -extern "C" void dComIfGs_isStageSwitch__Fii(); -extern "C" void dComIfGp_isLightDropMapVisible__Fv(); -extern "C" void isTbox__12dSv_memBit_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isVisitedRoom__13dSv_memory2_cFi(); -extern "C" void getSave2__10dSv_save_cFi(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getFirstData__7dTres_cFUc(); -extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c(); -extern "C" void getTypeGroupNoToType__7dTres_cFUc(); -extern "C" void getTypeToTypeGroupNo__7dTres_cFUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; - -// -// Declarations: -// /* 8003D790-8003D818 0380D0 0088+00 1/1 0/0 0/0 .text * addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s */ @@ -635,32 +565,9 @@ bool dMenuFmapIconDisp_c::getPosition(int* o_stageNo, int* o_roomNo, f32* o_posX return false; } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 803A7D38-803A7D74 -00001 003C+00 1/1 0/0 0/0 .data @4467 */ -SECTION_DATA static void* lit_4467[15] = { - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0xA8), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x154), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x1FC), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x308), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0xA8), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x35C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x388), - (void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x388), -}; -#endif - /* 8003E6E8-8003EB10 039028 0428+00 2/0 3/3 0/0 .text isDrawDisp__19dMenuFmapIconDisp_cFv */ -#ifdef NONMATCHING -//? regalloc +// NONMATCHING regalloc bool dMenuFmapIconDisp_c::isDrawDisp() { bool ret; @@ -752,11 +659,6 @@ bool dMenuFmapIconDisp_c::isDrawDisp() { return ret; } -#else -bool dMenuFmapIconDisp_c::isDrawDisp() { - // NONMATCHING -} -#endif /* 8003EB10-8003EB70 039450 0060+00 1/1 1/1 0/0 .text __dt__26fmpTresTypeGroupDataList_cFv */ fmpTresTypeGroupDataList_c::~fmpTresTypeGroupDataList_c() { @@ -769,4 +671,4 @@ fmpTresTypeGroupDataList_c::~fmpTresTypeGroupDataList_c() { fmpTresTypeGroupDataList_c::fmpTresTypeGroupDataList_c() { mpTypeGroupDataHead = NULL; mpNextData = NULL; -} \ No newline at end of file +} diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 48e78def7b..543ebabf56 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -4,6 +4,8 @@ */ #include "d/d_menu_collect.h" +#include "JSystem/J3DGraphLoader/J3DModelLoader.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" #include "JSystem/J2DGraph/J2DTextBox.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRSolidHeap.h" @@ -23,9 +25,7 @@ #include "d/d_item.h" #include "d/d_lib.h" #include "d/d_meter2_info.h" -#include "dol2asm.h" #include "dolphin/os.h" -#include "dolphin/types.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_mtx.h" #include "JSystem/J2DGraph/J2DAnmLoader.h" @@ -33,303 +33,8 @@ #include "d/d_menu_window.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" -extern "C" void __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void __dt__17dMenu_Collect2D_cFv(); -extern "C" void _create__17dMenu_Collect2D_cFv(); -extern "C" void _delete__17dMenu_Collect2D_cFv(); -extern "C" void initialize__17dMenu_Collect2D_cFv(); -extern "C" void isFishIconVisible__17dMenu_Collect2D_cFv(); -extern "C" void isSkillIconVisible__17dMenu_Collect2D_cFv(); -extern "C" void isInsectIconVisible__17dMenu_Collect2D_cFv(); -extern "C" void screenSet__17dMenu_Collect2D_cFv(); -extern "C" void animationSet__17dMenu_Collect2D_cFv(); -extern "C" void btkAnimeLoop0__17dMenu_Collect2D_cFP19J2DAnmTextureSRTKey(); -extern "C" void setBackAlpha__17dMenu_Collect2D_cFv(); -extern "C" void cursorMove__17dMenu_Collect2D_cFv(); -extern "C" void cursorPosSet__17dMenu_Collect2D_cFv(); -extern "C" void changeSword__17dMenu_Collect2D_cFv(); -extern "C" void changeShield__17dMenu_Collect2D_cFv(); -extern "C" void changeClothe__17dMenu_Collect2D_cFv(); -extern "C" void setArrowMaxNum__17dMenu_Collect2D_cFUc(); -extern "C" void setWalletMaxNum__17dMenu_Collect2D_cFUs(); -extern "C" void setSmellType__17dMenu_Collect2D_cFv(); -extern "C" void setHeartPiece__17dMenu_Collect2D_cFv(); -extern "C" void setPohMaxNum__17dMenu_Collect2D_cFUc(); -extern "C" void setEquipItemFrameColorSword__17dMenu_Collect2D_cFi(); -extern "C" void setEquipItemFrameColorShield__17dMenu_Collect2D_cFi(); -extern "C" void setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi(); -extern "C" void setHIO__17dMenu_Collect2D_cFb(); -extern "C" void getItemTag__17dMenu_Collect2D_cFiib(); -extern "C" void wait_init__17dMenu_Collect2D_cFv(); -extern "C" void wait_proc__17dMenu_Collect2D_cFv(); -extern "C" void save_open_init__17dMenu_Collect2D_cFv(); -extern "C" void save_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void save_move_init__17dMenu_Collect2D_cFv(); -extern "C" void save_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void save_close_init__17dMenu_Collect2D_cFv(); -extern "C" void save_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void option_open_init__17dMenu_Collect2D_cFv(); -extern "C" void option_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void option_move_init__17dMenu_Collect2D_cFv(); -extern "C" void option_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void option_close_init__17dMenu_Collect2D_cFv(); -extern "C" void option_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void letter_open_init__17dMenu_Collect2D_cFv(); -extern "C" void letter_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void letter_move_init__17dMenu_Collect2D_cFv(); -extern "C" void letter_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void letter_close_init__17dMenu_Collect2D_cFv(); -extern "C" void letter_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void fishing_open_init__17dMenu_Collect2D_cFv(); -extern "C" void fishing_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void fishing_move_init__17dMenu_Collect2D_cFv(); -extern "C" void fishing_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void fishing_close_init__17dMenu_Collect2D_cFv(); -extern "C" void fishing_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void skill_open_init__17dMenu_Collect2D_cFv(); -extern "C" void skill_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void skill_move_init__17dMenu_Collect2D_cFv(); -extern "C" void skill_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void skill_close_init__17dMenu_Collect2D_cFv(); -extern "C" void skill_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void insect_open_init__17dMenu_Collect2D_cFv(); -extern "C" void insect_open_proc__17dMenu_Collect2D_cFv(); -extern "C" void insect_move_init__17dMenu_Collect2D_cFv(); -extern "C" void insect_move_proc__17dMenu_Collect2D_cFv(); -extern "C" void insect_close_init__17dMenu_Collect2D_cFv(); -extern "C" void insect_close_proc__17dMenu_Collect2D_cFv(); -extern "C" void _move__17dMenu_Collect2D_cFv(); -extern "C" void _draw__17dMenu_Collect2D_cFv(); -extern "C" void drawTop__17dMenu_Collect2D_cFv(); -extern "C" void isKeyCheck__17dMenu_Collect2D_cFv(); -extern "C" bool isOutCheck__17dMenu_Collect2D_cFv(); -extern "C" void setAButtonString__17dMenu_Collect2D_cFUs(); -extern "C" void setBButtonString__17dMenu_Collect2D_cFUs(); -extern "C" void setItemNameString__17dMenu_Collect2D_cFUcUc(); -extern "C" void setItemNameStringNull__17dMenu_Collect2D_cFv(); -extern "C" void __ct__17dMenu_Collect3D_cFP10JKRExpHeapP17dMenu_Collect2D_cP10CSTControl(); -extern "C" void __dt__17dMenu_Collect3D_cFv(); -extern "C" void _create__17dMenu_Collect3D_cFv(); -extern "C" void _delete__17dMenu_Collect3D_cFv(); -extern "C" void _move__17dMenu_Collect3D_cFUcUc(); -extern "C" void draw__17dMenu_Collect3D_cFv(); -extern "C" void setJ3D__17dMenu_Collect3D_cFPCcPCcPCc(); -extern "C" void set_mtx__17dMenu_Collect3D_cFv(); -extern "C" void animePlay__17dMenu_Collect3D_cFv(); -extern "C" void animeEntry__17dMenu_Collect3D_cFv(); -extern "C" void createMaskModel__17dMenu_Collect3D_cFv(); -extern "C" void createMirrorModel__17dMenu_Collect3D_cFv(); -extern "C" void getCrystalNum__17dMenu_Collect3D_cFv(); -extern "C" void getMirrorNum__17dMenu_Collect3D_cFv(); -extern "C" void getMaskMdlVisible__17dMenu_Collect3D_cFv(); -extern "C" void setupItem3D__17dMenu_Collect3D_cFPA4_f(); -extern "C" void toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz(); -extern "C" void calcViewMtx__17dMenu_Collect3D_cFPA4_f(); -extern "C" void draw__20dMenu_Collect2DTop_cFv(); -extern "C" void __ct__15dMenu_Collect_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void __dt__15dMenu_Collect_cFv(); -extern "C" void _create__15dMenu_Collect_cFv(); -extern "C" void _delete__15dMenu_Collect_cFv(); -extern "C" void _move__15dMenu_Collect_cFv(); -extern "C" void draw__15dMenu_Collect_cFv(); -extern "C" void __sinit_d_menu_collect_cpp(); -extern "C" void __dt__20dMenu_Collect2DTop_cFv(); -extern "C" void draw__17dMenu_Collect2D_cFv(); -extern "C" extern char const* const d_menu_d_menu_collect__stringBase0; -extern "C" f32 mViewOffsetY__17dMenu_Collect3D_c[1 + 1 /* padding */]; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_restoreCurrentHeap__Fv(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void __ct__11J3DLightObjFv(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkLeftTrigger__9STControlFv(); -extern "C" void checkRightTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void getRupeeMax__21dSv_player_status_a_cCFv(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void isCollectCrystal__20dSv_player_collect_cCFUc(); -extern "C" void isCollectMirror__20dSv_player_collect_cCFUc(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void checkItemGet__FUci(); -extern "C" void setShieldChange__9daAlink_cFv(); -extern "C" void initStatusWindow__9daAlink_cFv(); -extern "C" void statusWindowExecute__9daAlink_cFPC4cXyzs(); -extern "C" void statusWindowDraw__9daAlink_cFv(); -extern "C" void resetStatusWindow__9daAlink_cFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc(); -extern "C" void __ct__15dMenu_Fishing_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void _move__15dMenu_Fishing_cFv(); -extern "C" void _draw__15dMenu_Fishing_cFv(); -extern "C" void _open__15dMenu_Fishing_cFv(); -extern "C" void _close__15dMenu_Fishing_cFv(); -extern "C" void __ct__14dMenu_Insect_cFP10JKRExpHeapP9STControlP10CSTControlUc(); -extern "C" void _move__14dMenu_Insect_cFv(); -extern "C" void _draw__14dMenu_Insect_cFv(); -extern "C" void _open__14dMenu_Insect_cFv(); -extern "C" void _close__14dMenu_Insect_cFv(); -extern "C" void getGetInsectNum__14dMenu_Insect_cFv(); -extern "C" void __ct__14dMenu_Letter_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void _move__14dMenu_Letter_cFv(); -extern "C" void _draw__14dMenu_Letter_cFv(); -extern "C" void _open__14dMenu_Letter_cFv(); -extern "C" void _close__14dMenu_Letter_cFv(); -extern "C" void __ct__14dMenu_Option_cFP10JKRArchiveP9STControl(); -extern "C" void _delete__14dMenu_Option_cFv(); -extern "C" void _move__14dMenu_Option_cFv(); -extern "C" void _draw__14dMenu_Option_cFv(); -extern "C" void _open__14dMenu_Option_cFv(); -extern "C" void _close__14dMenu_Option_cFv(); -extern "C" void initialize__14dMenu_Option_cFv(); -extern "C" void __ct__12dMenu_save_cFv(); -extern "C" void _create__12dMenu_save_cFv(); -extern "C" void initialize__12dMenu_save_cFv(); -extern "C" void _open__12dMenu_save_cFv(); -extern "C" void _close__12dMenu_save_cFv(); -extern "C" void _delete__12dMenu_save_cFv(); -extern "C" void _move__12dMenu_save_cFv(); -extern "C" void _draw__12dMenu_save_cFv(); -extern "C" void __ct__13dMenu_Skill_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void _move__13dMenu_Skill_cFv(); -extern "C" void _draw__13dMenu_Skill_cFv(); -extern "C" void _open__13dMenu_Skill_cFv(); -extern "C" void _close__13dMenu_Skill_cFv(); -extern "C" void dMw_A_TRIGGER__Fv(); -extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void dMeter2Info_getNumberTextureName__Fi(); -extern "C" void dMeter2Info_setCloth__FUcb(); -extern "C" void dMeter2Info_setSword__FUcb(); -extern "C" void dMeter2Info_setShield__FUcb(); -extern "C" void dMeter2Info_getRecieveLetterNum__Fv(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void dMeter2Info_set2DVibrationM__Fv(); -extern "C" void getSmellTypeMessageID__12dMsgObject_cFv(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void freeAll__7JKRHeapFv(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void adjustSize__12JKRSolidHeapFv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void init__15J3DVertexBufferFv(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void initialize__8J3DModelFv(); -extern "C" void entryModelData__8J3DModelFP12J3DModelDataUlUl(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void load__22J3DModelLoaderDataBaseFPCvUl(); -extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12J3DFrameCtrl[3]; -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8J3DModel[9]; -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80395330 = "zelda_collect_soubi_screen.blo"; -SECTION_DEAD static char const* const stringBase_8039534F = "zelda_collect_soubi_do_icon_parts.blo"; -SECTION_DEAD static char const* const stringBase_80395375 = "tt_block8x8.bti"; -SECTION_DEAD static char const* const stringBase_80395385 = ""; -SECTION_DEAD static char const* const stringBase_80395386 = "zelda_collect_soubi_screen.btk"; -SECTION_DEAD static char const* const stringBase_803953A5 = "md_mask_parts_spin_1.bck"; -SECTION_DEAD static char const* const stringBase_803953BE = "md_mask_parts_spin_2.bck"; -SECTION_DEAD static char const* const stringBase_803953D7 = "md_mask_parts_spin_3.bck"; -SECTION_DEAD static char const* const stringBase_803953F0 = "md_mask_parts_spin_4.bck"; -SECTION_DEAD static char const* const stringBase_80395409 = "md_mask_parts_spin_1.brk"; -SECTION_DEAD static char const* const stringBase_80395422 = "md_mask_parts_spin_2_3.brk"; -SECTION_DEAD static char const* const stringBase_8039543D = "md_mask_parts_spin_4.brk"; -SECTION_DEAD static char const* const stringBase_80395456 = "md_mask_UI.bmd"; -SECTION_DEAD static char const* const stringBase_80395465 = "kageri_mirrer_spin_1.bck"; -SECTION_DEAD static char const* const stringBase_8039547E = "kageri_mirrer_spin_2.bck"; -SECTION_DEAD static char const* const stringBase_80395497 = "kageri_mirrer_spin_3.bck"; -SECTION_DEAD static char const* const stringBase_803954B0 = "kageri_mirrer_spin_4.bck"; -SECTION_DEAD static char const* const stringBase_803954C9 = "kageri_mirrer_spin_1.brk"; -SECTION_DEAD static char const* const stringBase_803954E2 = "kageri_mirrer_spin_2_3_4.brk"; -#pragma pop - /* 803BC380-803BC38C 0194A0 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; @@ -360,38 +65,6 @@ static processFunc process[] = { &dMenu_Collect2D_c::insect_close_proc, }; -/* 803BC71C-803BC72C -00001 0010+00 1/1 0/0 0/0 .data bck_name$7583 */ -SECTION_DATA static void* bck_name_7583[4] = { - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x75), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x8E), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xA7), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xC0), -}; - -/* 803BC72C-803BC73C -00001 0010+00 1/1 0/0 0/0 .data brk_name$7584 */ -SECTION_DATA static void* brk_name_7584[4] = { - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xD9), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xF2), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xF2), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x10D), -}; - -/* 803BC73C-803BC74C -00001 0010+00 1/1 0/0 0/0 .data bck_name$7687 */ -SECTION_DATA static void* bck_name_7687[4] = { - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x135), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x14E), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x167), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x180), -}; - -/* 803BC74C-803BC75C -00001 0010+00 1/1 0/0 0/0 .data brk_name$7688 */ -SECTION_DATA static void* brk_name_7688[4] = { - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x199), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2), - (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2), -}; - /* 801AFD48-801AFE34 1AA688 00EC+00 1/1 0/0 0/0 .text * __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl */ dMenu_Collect2D_c::dMenu_Collect2D_c(JKRExpHeap* param_0, STControl* param_1, CSTControl* param_2) { @@ -551,7 +224,6 @@ void dMenu_Collect2D_c::initialize() { (this->*init[mProcess])(); } - /* 801B05A8-801B061C 1AAEE8 0074+00 2/2 0/0 0/0 .text isFishIconVisible__17dMenu_Collect2D_cFv */ bool dMenu_Collect2D_c::isFishIconVisible() { if (dComIfGs_getFishNum(0) || dComIfGs_getFishNum(1) || dComIfGs_getFishNum(2) || @@ -584,87 +256,19 @@ bool dMenu_Collect2D_c::isInsectIconVisible() { return dMenu_Insect_c::getGetInsectNum(); } -/* ############################################################################################## */ -/* 80394F78-80394F88 0215D8 000C+04 3/3 0/0 0/0 .rodata @3778 */ -SECTION_RODATA static u8 const lit_3778[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, +static u8 const lit_3778[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x80394F78, &lit_3778); - -/* 80394F88-80394FA0 0215E8 0018+00 0/1 0/0 0/0 .rodata text_sv$4768 */ -#pragma push -#pragma force_active on -static const u64 text_sv[3] = { - 'sav_0', - 'sav_1', - 'sav_2', -}; -#pragma pop - -/* 80394FA0-80394FB8 021600 0018+00 0/1 0/0 0/0 .rodata text_op$4769 */ -#pragma push -#pragma force_active on -static const u64 text_op[3] = { - 'opt_0', - 'opt_1', - 'opt_2', -}; -#pragma pop - -/* 80394FB8-80394FD0 021618 0018+00 0/1 0/0 0/0 .rodata ftext_sv$4770 */ -#pragma push -#pragma force_active on -static const u64 ftext_sv[3] = { - 'f_sav_0', - 'f_sav_1', - 'f_sav_2', -}; -#pragma pop - -/* 80394FD0-80394FE8 021630 0018+00 0/1 0/0 0/0 .rodata ftext_op$4771 */ -#pragma push -#pragma force_active on -static const u64 ftext_op[3] = { - 'f_opt_0', - 'f_opt_1', - 'f_opt_2', -}; -#pragma pop - -/* 80394FE8-80395010 021648 0028+00 0/1 0/0 0/0 .rodata text_a_tag$4777 */ -#pragma push -#pragma force_active on -static const u64 text_a_tag_4777[5] = { - 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', -}; -#pragma pop - -/* 80395010-80395038 021670 0028+00 0/1 0/0 0/0 .rodata text_b_tag$4778 */ -#pragma push -#pragma force_active on -static const u64 text_b_tag_4778[5] = { - 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', -}; -#pragma pop /* 801B074C-801B1C3C 1AB08C 14F0+00 1/1 0/0 0/0 .text screenSet__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::screenSet() { + static const u64 text_sv[3] = {'sav_0', 'sav_1', 'sav_2'}; + static const u64 text_op[3] = {'opt_0', 'opt_1', 'opt_2',}; + static const u64 ftext_sv[3] = {'f_sav_0', 'f_sav_1', 'f_sav_2'}; + static const u64 ftext_op[3] = {'f_opt_0', 'f_opt_1', 'f_opt_2'}; + static const u64 text_a_tag[5] = {'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5'}; + static const u64 text_b_tag[5] = {'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5'}; + static_cast(mpScreen->search('f_t00'))->setFont(mDoExt_getRubyFont()); static_cast(mpScreen->search('f_t00'))->setString(0x20, ""); dMeter2Info_getStringKanji( @@ -685,12 +289,12 @@ void dMenu_Collect2D_c::screenSet() { } for (int i = 0; i < 5; i++) { - static_cast(mpScreenIcon->search(text_a_tag_4777[i])) + static_cast(mpScreenIcon->search(text_a_tag[i])) ->setFont(mDoExt_getMesgFont()); - static_cast(mpScreenIcon->search(text_b_tag_4778[i])) + static_cast(mpScreenIcon->search(text_b_tag[i])) ->setFont(mDoExt_getMesgFont()); - static_cast(mpScreenIcon->search(text_a_tag_4777[i]))->setString(0x20, ""); - static_cast(mpScreenIcon->search(text_b_tag_4778[i]))->setString(0x20, ""); + static_cast(mpScreenIcon->search(text_a_tag[i]))->setString(0x20, ""); + static_cast(mpScreenIcon->search(text_b_tag[i]))->setString(0x20, ""); } static_cast(mpScreen->search('item_n04'))->setFont(mDoExt_getMesgFont()); @@ -1041,7 +645,7 @@ void dMenu_Collect2D_c::screenSet() { void dMenu_Collect2D_c::animationSet() { OSInitFastCast(); void* resource = - JKRGetNameResource("zelda_collect_soubi_screen_revo.btk", dComIfGp_getCollectResArchive()); + JKRGetNameResource("zelda_collect_soubi_screen.btk", dComIfGp_getCollectResArchive()); mpAnmKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(resource); mpAnmKey->searchUpdateMaterialID(mpScreen); field_0x34 = 0.0f; @@ -1114,59 +718,6 @@ void dMenu_Collect2D_c::setBackAlpha() { mpBlackTex->setAlpha(alpha * 150.0f); } - -/* ############################################################################################## */ -/* 80395038-80395044 021698 0009+03 1/1 0/0 0/0 .rodata @5343 */ -SECTION_RODATA static u8 const lit_5343[9 + 3 /* padding */] = { - 0x03, - 0x03, - 0x04, - 0x03, - 0x04, - 0x05, - 0x04, - 0x05, - 0x05, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80395038, &lit_5343); - -/* 80395044-80395050 0216A4 0009+03 1/1 0/0 0/0 .rodata @5344 */ -SECTION_RODATA static u8 const lit_5344[9 + 3 /* padding */] = { - 0x02, - 0x01, - 0x02, - 0x00, - 0x01, - 0x02, - 0x00, - 0x01, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80395044, &lit_5344); - -/* 80453F50-80453F54 002550 0004+00 1/1 0/0 0/0 .sdata2 @5402 */ -SECTION_SDATA2 static u32 lit_5402 = 0x03020301; - -/* 80453F54-80453F58 002554 0004+00 1/1 0/0 0/0 .sdata2 None */ -SECTION_SDATA2 static u32 data_80453F54 = 0x02000100; - -/* 80453F58-80453F5C 002558 0004+00 1/1 0/0 0/0 .sdata2 @5403 */ -SECTION_SDATA2 static u32 lit_5403 = 0x03030403; - -/* 80453F5C-80453F60 00255C 0004+00 1/1 0/0 0/0 .sdata2 None */ -SECTION_SDATA2 static u32 data_80453F5C = 0x04030404; - -/* 80453F60-80453F64 002560 0004+00 6/6 0/0 0/0 .sdata2 @5531 */ -SECTION_SDATA2 static f32 lit_5531 = -1.0f; - /* 801B1FAC-801B27EC 1AC8EC 0840+00 1/1 0/0 0/0 .text cursorMove__17dMenu_Collect2D_cFv */ // NONMATCHING @@ -1390,28 +941,6 @@ LAB_802bab54: } } -/* ############################################################################################## */ -/* 80453F64-80453F68 002564 0004+00 1/1 0/0 0/0 .sdata2 @5611 */ -SECTION_SDATA2 static f32 lit_5611 = 11.0f / 10.0f; - -/* 80453F68-80453F6C 002568 0004+00 1/1 0/0 0/0 .sdata2 @5612 */ -SECTION_SDATA2 static f32 lit_5612 = 17.0f / 20.0f; - -/* 80453F6C-80453F70 00256C 0004+00 1/1 0/0 0/0 .sdata2 @5613 */ -SECTION_SDATA2 static f32 lit_5613 = 1.0f / 20.0f; - -/* 80453F70-80453F74 002570 0004+00 1/1 0/0 0/0 .sdata2 @5614 */ -SECTION_SDATA2 static f32 lit_5614 = 3.0f / 5.0f; - -/* 80453F74-80453F78 002574 0004+00 1/1 0/0 0/0 .sdata2 @5615 */ -SECTION_SDATA2 static f32 lit_5615 = 3.0f / 100.0f; - -/* 80453F78-80453F7C 002578 0004+00 1/1 0/0 0/0 .sdata2 @5616 */ -SECTION_SDATA2 static f32 lit_5616 = 1.0f / 10.0f; - -/* 80453F7C-80453F80 00257C 0004+00 1/1 0/0 0/0 .sdata2 @5617 */ -SECTION_SDATA2 static f32 lit_5617 = 7.0f / 10.0f; - /* 801B27EC-801B2A74 1AD12C 0288+00 2/2 0/0 0/0 .text cursorPosSet__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::cursorPosSet() { @@ -1452,7 +981,6 @@ void dMenu_Collect2D_c::cursorPosSet() { } } - /* 801B2A74-801B2D00 1AD3B4 028C+00 1/1 0/0 0/0 .text changeSword__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::changeSword() { @@ -1499,7 +1027,6 @@ void dMenu_Collect2D_c::changeSword() { } } - /* 801B2D00-801B2EE4 1AD640 01E4+00 1/1 0/0 0/0 .text changeShield__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::changeShield() { @@ -1537,7 +1064,6 @@ void dMenu_Collect2D_c::changeShield() { } } - /* 801B2EE4-801B30C8 1AD824 01E4+00 1/1 0/0 0/0 .text changeClothe__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::changeClothe() { @@ -1572,7 +1098,6 @@ void dMenu_Collect2D_c::changeClothe() { } } - /* 801B30C8-801B3340 1ADA08 0278+00 1/1 0/0 0/0 .text setArrowMaxNum__17dMenu_Collect2D_cFUc */ void dMenu_Collect2D_c::setArrowMaxNum(u8 param_0) { switch (param_0) { @@ -2556,7 +2081,6 @@ void dMenu_Collect2D_c::_draw() { mpDrawCursor->draw(); } - /* 801B5F48-801B5F84 1B0888 003C+00 1/1 0/0 0/0 .text drawTop__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::drawTop() { dComIfGd_set2DOpaTop(mpDraw2DTop); @@ -2734,46 +2258,6 @@ void dMenu_Collect3D_c::_delete() { } } -/* ############################################################################################## */ -/* 80453F80-80453F84 002580 0004+00 1/1 0/0 0/0 .sdata2 @7324 */ -SECTION_SDATA2 static f32 lit_7324 = 60.0f; - -/* 80453F84-80453F88 002584 0004+00 1/1 0/0 0/0 .sdata2 @7325 */ -SECTION_SDATA2 static f32 lit_7325 = 580.0f; - -/* 80453F88-80453F8C 002588 0004+00 1/1 0/0 0/0 .sdata2 @7326 */ -SECTION_SDATA2 static f32 lit_7326 = 90.0f; - -/* 80453F8C-80453F90 00258C 0004+00 1/1 0/0 0/0 .sdata2 @7327 */ -SECTION_SDATA2 static f32 lit_7327 = 550.0f; - -/* 80453F90-80453F94 002590 0004+00 1/1 0/0 0/0 .sdata2 @7328 */ -SECTION_SDATA2 static f32 lit_7328 = 450.0f; - -/* 80453F94-80453F98 002594 0004+00 1/1 0/0 0/0 .sdata2 @7329 */ -SECTION_SDATA2 static f32 lit_7329 = -3.0f; - -/* 80453F98-80453F9C 002598 0004+00 1/1 0/0 0/0 .sdata2 @7330 */ -SECTION_SDATA2 static f32 lit_7330 = -5.0f; - -/* 80453F9C-80453FA0 00259C 0004+00 1/1 0/0 0/0 .sdata2 @7331 */ -SECTION_SDATA2 static f32 lit_7331 = 16.0f; - -/* 80453FA0-80453FA4 0025A0 0004+00 1/1 0/0 0/0 .sdata2 @7332 */ -SECTION_SDATA2 static f32 lit_7332 = 8.0f; - -/* 80453FA4-80453FA8 0025A4 0004+00 2/2 0/0 0/0 .sdata2 @7333 */ -SECTION_SDATA2 static f32 lit_7333 = 2.0f; - -/* 80453FA8-80453FAC 0025A8 0004+00 1/1 0/0 0/0 .sdata2 @7334 */ -SECTION_SDATA2 static f32 lit_7334 = -4.0f; - -/* 80453FAC-80453FB0 0025AC 0004+00 1/1 0/0 0/0 .sdata2 @7335 */ -SECTION_SDATA2 static f32 lit_7335 = -10.0f; - -/* 80453FB0-80453FB4 0025B0 0004+00 1/1 0/0 0/0 .sdata2 @7336 */ -SECTION_SDATA2 static f32 lit_7336 = 600.0f; - /* 801B66C8-801B696C 1B1008 02A4+00 2/2 0/0 0/0 .text _move__17dMenu_Collect3D_cFUcUc */ void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) { cXyz itemPos; @@ -2840,7 +2324,6 @@ void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) { } } - /* 801B696C-801B6A30 1B12AC 00C4+00 1/1 0/0 0/0 .text draw__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::draw() { dComIfGd_setListItem3D(); @@ -2857,11 +2340,10 @@ void dMenu_Collect3D_c::draw() { } /* 801B6A30-801B6D30 1B1370 0300+00 2/2 0/0 0/0 .text setJ3D__17dMenu_Collect3D_cFPCcPCcPCc */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) { JKRArchive* resArchive = dComIfGp_getCollectResArchive(); - J3DModelData* modelData = (J3DModelData*)J3DModelLoaderDataBase::load( + J3DModelData* modelData = J3DModelLoaderDataBase::load( resArchive->getResource('BMD ', param_0), 0x51020010); for (u16 i = 0; i < modelData->getMaterialNum(); i++) { @@ -2888,11 +2370,6 @@ void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const c } } } -#else -void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) { - // NONMATCHING -} -#endif /* 801B6D30-801B6E70 1B1670 0140+00 2/2 0/0 0/0 .text set_mtx__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::set_mtx() { @@ -2958,32 +2435,11 @@ void dMenu_Collect3D_c::animeEntry() { } } -/* 803952B8-803952CC 021918 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_x$7578 */ -#pragma push -#pragma force_active on -static const f32 m_kamen_offset_x[5] = { - -14.0f, -14.0f, -14.0f, 1.3f, 6.5f, -}; -#pragma pop - -/* 803952CC-803952E0 02192C 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_y$7579 */ -#pragma push -#pragma force_active on -static const f32 m_kamen_offset_y[5] = { - 0.0f, 0.0f, 0.0f, 22.0f, 30.0f, -}; -#pragma pop - -/* 803952E0-803952F4 021940 0014+00 0/1 0/0 0/0 .rodata m_kamen_scale$7580 */ -#pragma push -#pragma force_active on -static const f32 m_kamen_scale[5] = { - 2.6f, 2.6f, 2.2f, 1.8f, 1.8f, -}; -#pragma pop - /* 801B7014-801B71C4 1B1954 01B0+00 1/1 0/0 0/0 .text createMaskModel__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::createMaskModel() { + static const f32 m_kamen_offset_x[5] = {-14.0f, -14.0f, -14.0f, 1.3f, 6.5f}; + static const f32 m_kamen_offset_y[5] = {0.0f, 0.0f, 0.0f, 22.0f, 30.0f}; + static const f32 m_kamen_scale[5] = {2.6f, 2.6f, 2.2f, 1.8f, 1.8f}; static char* bck_name[4] = { "md_mask_parts_spin_1.bck", "md_mask_parts_spin_2.bck", @@ -3023,41 +2479,11 @@ void dMenu_Collect3D_c::createMaskModel() { } } - -/* 803952F4-80395308 021954 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_x$7682 */ -#pragma push -#pragma force_active on -static const f32 m_mirror_offset_x[5] = { - 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -}; -#pragma pop - -/* 80395308-8039531C 021968 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_y$7683 */ -#pragma push -#pragma force_active on -static const f32 m_mirror_offset_y[5] = { - 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, -}; -#pragma pop - -/* 8039531C-80395330 02197C 0014+00 0/1 0/0 0/0 .rodata m_mirror_scale$7684 */ -#pragma push -#pragma force_active on -static const f32 m_mirror_scale[5] = { - 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, -}; -#pragma pop - -/* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803954FF = "kageri_mirrer_UI.bmd"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80395514 = "\0\0\0"; -#pragma pop - /* 801B71C4-801B7434 1B1B04 0270+00 1/1 0/0 0/0 .text createMirrorModel__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::createMirrorModel() { + static const f32 m_mirror_offset_x[5] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + static const f32 m_mirror_offset_y[5] = {4.0f, 4.0f, 4.0f, 4.0f, 4.0f}; + static const f32 m_mirror_scale[5] = {0.6f, 0.6f, 0.6f, 0.6f, 0.6f}; static char* bck_name[4] = { "kageri_mirrer_spin_1.bck", "kageri_mirrer_spin_2.bck", @@ -3103,7 +2529,6 @@ void dMenu_Collect3D_c::createMirrorModel() { } } - /* 801B7434-801B749C 1B1D74 0068+00 5/5 0/0 0/0 .text getCrystalNum__17dMenu_Collect3D_cFv */ u8 dMenu_Collect3D_c::getCrystalNum() { u8 count = 0; @@ -3143,56 +2568,40 @@ u8 dMenu_Collect3D_c::getMaskMdlVisible() { return 2; } -/* ############################################################################################## */ /* 80450720-80450728 0001A0 0004+04 1/1 0/0 1/1 .sdata mViewOffsetY__17dMenu_Collect3D_c */ f32 dMenu_Collect3D_c::mViewOffsetY = -100.0f; -/* 80453FC4-80453FC8 0025C4 0004+00 3/3 0/0 0/0 .sdata2 @7944 */ -SECTION_SDATA2 static f32 lit_7944 = 608.0f; - -/* 80453FC8-80453FCC 0025C8 0004+00 3/3 0/0 0/0 .sdata2 @7945 */ -SECTION_SDATA2 static f32 lit_7945 = 448.0f; - -/* 80453FCC-80453FD0 0025CC 0004+00 2/2 0/0 0/0 .sdata2 @7946 */ -SECTION_SDATA2 static f32 lit_7946 = -100.0f; - -/* 80453FD0-80453FD4 0025D0 0004+00 1/1 0/0 0/0 .sdata2 @7947 */ -SECTION_SDATA2 static f32 lit_7947 = 45.0f; - -/* 80453FD4-80453FD8 0025D4 0004+00 2/2 0/0 0/0 .sdata2 @7948 */ -SECTION_SDATA2 static f32 lit_7948 = 19.0f / 14.0f; - -/* 80453FD8-80453FE0 0025D8 0004+04 1/1 0/0 0/0 .sdata2 @7949 */ -SECTION_SDATA2 static f32 lit_7949[1 + 1 /* padding */] = { - 100000.0f, - /* padding */ - 0.0f, -}; - /* 801B75E8-801B7660 1B1F28 0078+00 0/0 1/1 0/0 .text setupItem3D__17dMenu_Collect3D_cFPA4_f */ void dMenu_Collect3D_c::setupItem3D(Mtx param_0) { - GXSetViewport(0.0, mViewOffsetY, 608.0, 448.0, 0.0, 1.0); - mViewOffsetY = -100.0; + GXSetViewport(0.0f, mViewOffsetY, 608.0f, 448.0f, 0.0f, 1.0f); + mViewOffsetY = -100.0f; Mtx44 projection; - C_MTXPerspective(projection, 45.0, mDoGph_gInf_c::getAspect(), 1.0, 100000.0); + C_MTXPerspective(projection, 45.0f, mDoGph_gInf_c::getAspect(), 1.0f, 100000.0f); GXSetProjection(projection, GX_PERSPECTIVE); calcViewMtx(param_0); } - -/* ############################################################################################## */ -/* 80453FE0-80453FE8 0025E0 0008+00 1/1 0/0 0/0 .sdata2 @7963 */ -SECTION_SDATA2 static f64 lit_7963 = 0.39269909262657166; - /* 801B7660-801B774C 1B1FA0 00EC+00 1/1 0/0 0/0 .text toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz */ // This is mostly matching like this using O2 but still regalloc (f29/f31). The main issue is the use of dVar12 -#ifdef NONMATCHING +#pragma push +#pragma optimization_level 2 void dMenu_Collect3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) { - // NONMATCHING + Mtx adStack_98; + Mtx auStack_c8; + f32 dVar7 = + (2.0f * ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) - 1.0f); + f32 dVar11 = (2.0f * ((param_1 - -100.0f) / 448.0f) - 1.0f); + calcViewMtx(adStack_98); + MTXInverse(adStack_98, auStack_c8); + f32 tangent = tan(0.39269909262657166); + f32 dVar12 = -param_2; + cXyz cStack_d4((dVar7 * param_2) * (mDoGph_gInf_c::getAspect() * tangent), + (tangent * (dVar11 * dVar12)), dVar12); + MTXMultVec(auStack_c8, &cStack_d4, param_3); } -#endif +#pragma pop /* 801B774C-801B77A4 1B208C 0058+00 2/2 0/0 0/0 .text calcViewMtx__17dMenu_Collect3D_cFPA4_f */ void dMenu_Collect3D_c::calcViewMtx(Mtx param_0) { @@ -3201,9 +2610,33 @@ void dMenu_Collect3D_c::calcViewMtx(Mtx param_0) { /* 801B77A4-801B78C0 1B20E4 011C+00 1/0 0/0 0/0 .text draw__20dMenu_Collect2DTop_cFv */ -// void dMenu_Collect2DTop_c::draw() { -extern "C" void draw__20dMenu_Collect2DTop_cFv() { - // NONMATCHING +void dMenu_Collect2DTop_c::draw() { + J2DGrafContext* graf_port = dComIfGp_getCurrentGrafPort(); + graf_port->setup2D(); + mpCollect2D->getBlackTex()->draw(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(), + mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), + false, false, false); + if (mpCollect2D->getSaveScreen() != NULL) { + mpCollect2D->getSaveScreen()->_draw(); + } + if (mpCollect2D->getOptionScreen() != NULL) { + mpCollect2D->getOptionScreen()->_draw(); + } + if (mpCollect2D->getLetterScreen() != NULL) { + mpCollect2D->getLetterScreen()->_draw(); + } + if (mpCollect2D->getFishingScreen() != NULL) { + mpCollect2D->getFishingScreen()->_draw(); + } + if (mpCollect2D->getSkillScreen() != NULL) { + mpCollect2D->getSkillScreen()->_draw(); + } + if (mpCollect2D->getInsectScreen() != NULL) { + mpCollect2D->getInsectScreen()->_draw(); + } + if (mpCollect2D->getIconScreen() != NULL) { + mpCollect2D->getIconScreen()->draw(0.0f, 0.0f, graf_port); + } } /* 801B78C0-801B795C 1B2200 009C+00 0/0 1/1 0/0 .text @@ -3250,23 +2683,3 @@ void dMenu_Collect_c::draw() { mpCollect3D->draw(); mpCollect2D->drawTop(); } - -/* 801B7B14-801B7EB8 1B2454 03A4+00 0/0 1/0 0/0 .text __sinit_d_menu_collect_cpp */ -void __sinit_d_menu_collect_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801B7B14, __sinit_d_menu_collect_cpp); -#pragma pop - -/* 801B7EB8-801B7F00 1B27F8 0048+00 1/0 0/0 0/0 .text __dt__20dMenu_Collect2DTop_cFv */ -dMenu_Collect2DTop_c::~dMenu_Collect2DTop_c() { - // NONMATCHING -} - -/* 801B7F00-801B7F20 1B2840 0020+00 1/0 0/0 0/0 .text draw__17dMenu_Collect2D_cFv */ -// void dMenu_Collect2D_c::draw() { -extern "C" void draw__17dMenu_Collect2D_cFv() { - // NONMATCHING -} diff --git a/src/d/d_menu_save.cpp b/src/d/d_menu_save.cpp index 48fa2b7de3..b363aa019b 100644 --- a/src/d/d_menu_save.cpp +++ b/src/d/d_menu_save.cpp @@ -3,8 +3,6 @@ // Translation Unit: d/d_menu_save // -#define NO_INLINE_DLSTBASE_DRAW - #include "d/d_menu_save.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRMemArchive.h" @@ -16,7 +14,6 @@ #include "d/d_file_sel_warning.h" #include "d/d_meter2_info.h" #include "d/d_msg_string.h" -#include "dol2asm.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_MemCardRWmng.h" #include "m_Do/m_Do_Reset.h" @@ -26,529 +23,51 @@ #include "JSystem/J2DGraph/J2DAnmLoader.h" #include "f_op/f_op_msg_mng.h" -// -// Forward References: -// - -extern "C" void __ct__9dMs_HIO_cFv(); -extern "C" void __ct__12dMenu_save_cFv(); -extern "C" void _create__12dMenu_save_cFv(); -extern "C" void screenSet__12dMenu_save_cFv(); -extern "C" void initialize__12dMenu_save_cFv(); -extern "C" void displayInit__12dMenu_save_cFv(); -extern "C" void _open__12dMenu_save_cFv(); -extern "C" void _close__12dMenu_save_cFv(); -extern "C" void _delete__12dMenu_save_cFv(); -extern "C" void _move__12dMenu_save_cFv(); -extern "C" void saveSelAnm__12dMenu_save_cFv(); -extern "C" void selFileWakuAnm__12dMenu_save_cFv(); -extern "C" void bookIconAnm__12dMenu_save_cFv(); -extern "C" void memCardWatch__12dMenu_save_cFv(); -extern "C" void saveQuestion__12dMenu_save_cFv(); -extern "C" void saveQuestion2__12dMenu_save_cFv(); -extern "C" void saveQuestion21__12dMenu_save_cFv(); -extern "C" void saveQuestion3__12dMenu_save_cFv(); -extern "C" void saveQuestion4__12dMenu_save_cFv(); -extern "C" void saveGuide__12dMenu_save_cFv(); -extern "C" void memCardCheck__12dMenu_save_cFv(); -extern "C" void memCardErrMsgWaitKey__12dMenu_save_cFv(); -extern "C" void backSaveQuestionInitSet__12dMenu_save_cFv(); -extern "C" void backSaveQuestion__12dMenu_save_cFv(); -extern "C" void backSaveQuestion2__12dMenu_save_cFv(); -extern "C" void closeSelect__12dMenu_save_cFv(); -extern "C" void closeSelect2__12dMenu_save_cFv(); -extern "C" void iplSelMsgInitSet__12dMenu_save_cFv(); -extern "C" void iplSelInitSet__12dMenu_save_cFv(); -extern "C" void IPLSelectDisp1__12dMenu_save_cFv(); -extern "C" void IPLSelectDisp2__12dMenu_save_cFv(); -extern "C" void memCardErrGoIPLSel__12dMenu_save_cFv(); -extern "C" void IPLSelect2Disp__12dMenu_save_cFv(); -extern "C" void memCardErrGoIPLSel2__12dMenu_save_cFv(); -extern "C" void memCardErrGotoIPL__12dMenu_save_cFv(); -extern "C" void memCardErrMsgWaitFormatSel__12dMenu_save_cFv(); -extern "C" void cardFormatYesSelDisp__12dMenu_save_cFv(); -extern "C" void cardFormatNoSelDisp__12dMenu_save_cFv(); -extern "C" void memCardErrMsgWaitFormatSel2__12dMenu_save_cFv(); -extern "C" void cardFormatYesSel2Disp__12dMenu_save_cFv(); -extern "C" void memCardFormat__12dMenu_save_cFv(); -extern "C" void memCardFormatWait__12dMenu_save_cFv(); -extern "C" void gameFileMakeSelInitSet__12dMenu_save_cFv(); -extern "C" void makeGameFileSelDisp__12dMenu_save_cFv(); -extern "C" void memCardMakeGameFileSel__12dMenu_save_cFv(); -extern "C" void makeGameFileDisp__12dMenu_save_cFv(); -extern "C" void memCardMakeGameFile__12dMenu_save_cFv(); -extern "C" void memCardMakeGameFileWait__12dMenu_save_cFv(); -extern "C" void memCardCommandEnd__12dMenu_save_cFv(); -extern "C" void memCardCommandEnd2__12dMenu_save_cFv(); -extern "C" void memCardDataLoadWait__12dMenu_save_cFv(); -extern "C" void dataWrite__12dMenu_save_cFv(); -extern "C" void memCardDataSaveWait__12dMenu_save_cFv(); -extern "C" void memCardDataSaveWait2__12dMenu_save_cFv(); -extern "C" void gameContinueDisp__12dMenu_save_cFv(); -extern "C" void gameContinue__12dMenu_save_cFv(); -extern "C" void gameContinue2__12dMenu_save_cFv(); -extern "C" void gameContinue3__12dMenu_save_cFv(); -extern "C" void saveEnd__12dMenu_save_cFv(); -extern "C" void endingNoSave__12dMenu_save_cFv(); -extern "C" void endingNoSave2__12dMenu_save_cFv(); -extern "C" void endingDataCheck__12dMenu_save_cFv(); -extern "C" void retryQuestion0__12dMenu_save_cFv(); -extern "C" void retryQuestion1__12dMenu_save_cFv(); -extern "C" void retryQuestion2__12dMenu_save_cFv(); -extern "C" void restartInit__12dMenu_save_cFv(); -extern "C" void saveWait__12dMenu_save_cFv(); -extern "C" void messageChange__12dMenu_save_cFv(); -extern "C" void YesNoSelect__12dMenu_save_cFv(); -extern "C" void msgTxtSet__12dMenu_save_cFUsb(); -extern "C" void openSaveSelect__12dMenu_save_cFv(); -extern "C" void openSaveSelect2__12dMenu_save_cFv(); -extern "C" void openSaveSelect3__12dMenu_save_cFv(); -extern "C" void saveSelect__12dMenu_save_cFv(); -extern "C" void saveSelectStart__12dMenu_save_cFv(); -extern "C" void selectDataOpenMove__12dMenu_save_cFv(); -extern "C" void dataSelectAnmSet__12dMenu_save_cFv(); -extern "C" void saveSelectMoveAnime__12dMenu_save_cFv(); -extern "C" void saveYesNoSelect__12dMenu_save_cFv(); -extern "C" void yesnoSelectStart__12dMenu_save_cFv(); -extern "C" void saveMoveDisp__12dMenu_save_cFv(); -extern "C" void saveMoveDisp2__12dMenu_save_cFv(); -extern "C" void yesnoSelectAnmSet__12dMenu_save_cFUc(); -extern "C" void yesNoCursorMoveAnm__12dMenu_save_cFv(); -extern "C" void yesnoCancelAnmSet__12dMenu_save_cFv(); -extern "C" void saveYesNoCancelMove__12dMenu_save_cFv(); -extern "C" void headerTxtSet__12dMenu_save_cFUs(); -extern "C" void headerTxtChangeAnm__12dMenu_save_cFv(); -extern "C" void errDispInitSet__12dMenu_save_cFi(); -extern "C" void msgWindowInitOpen__12dMenu_save_cFv(); -extern "C" void msgWindowOpen__12dMenu_save_cFv(); -extern "C" void msgWindowClose__12dMenu_save_cFv(); -extern "C" void errYesNoSelect__12dMenu_save_cFUcUc(); -extern "C" void errCurMove__12dMenu_save_cFUcUc(); -extern "C" void errYesNoCursorMoveAnm__12dMenu_save_cFv(); -extern "C" void errorTxtSet__12dMenu_save_cFUs(); -extern "C" void errorTxtChangeAnm__12dMenu_save_cFv(); -extern "C" void saveSelectOpenInit__12dMenu_save_cFv(); -extern "C" void selectDataBaseMoveAnmInitSet__12dMenu_save_cFii(); -extern "C" void selectDataBaseMoveAnm__12dMenu_save_cFv(); -extern "C" void saveSelectOpenAnmSet__12dMenu_save_cFv(); -extern "C" void selectDataMoveAnmInitSet__12dMenu_save_cFii(); -extern "C" void selectDataMoveAnm__12dMenu_save_cFv(); -extern "C" void yesnoMenuMoveAnmInitSet__12dMenu_save_cFiiUc(); -extern "C" void yesnoMenuMoveAnm__12dMenu_save_cFv(); -extern "C" void yesnoSelectMoveAnm__12dMenu_save_cFUc(); -extern "C" void yesnoCursorShow__12dMenu_save_cFv(); -extern "C" void errorMoveAnmInitSet__12dMenu_save_cFii(); -extern "C" void errorMoveAnm__12dMenu_save_cFv(); -extern "C" void modoruTxtDispAnmInit__12dMenu_save_cFUc(); -extern "C" void modoruTxtDispAnm__12dMenu_save_cFv(); -extern "C" void ketteiTxtDispAnmInit__12dMenu_save_cFUc(); -extern "C" void ketteiTxtDispAnm__12dMenu_save_cFv(); -extern "C" void selectWakuAlpahAnmInit__12dMenu_save_cFUcUcUcUc(); -extern "C" void selectWakuAlpahAnm__12dMenu_save_cFUc(); -extern "C" void selFileCursorShow__12dMenu_save_cFv(); -extern "C" void yesnoWakuAlpahAnmInit__12dMenu_save_cFUcUcUcUc(); -extern "C" void yesnoWakuAlpahAnm__12dMenu_save_cFUc(); -extern "C" void dataSave__12dMenu_save_cFv(); -extern "C" void setSaveData__12dMenu_save_cFv(); -extern "C" void setInitSaveData__12dMenu_save_cFv(); -extern "C" void _draw__12dMenu_save_cFv(); -extern "C" void _draw2__12dMenu_save_cFv(); -extern "C" void draw__23dDlst_MenuSaveExplain_cFv(); -extern "C" void draw__16dDlst_MenuSave_cFv(); -extern "C" void __dt__16dDlst_MenuSave_cFv(); -extern "C" void __dt__23dDlst_MenuSaveExplain_cFv(); -extern "C" void __dt__9dMs_HIO_cFv(); -extern "C" void __sinit_d_menu_save_cpp(); -extern "C" extern char const* const d_menu_d_menu_save__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_getJ2dHeap__Fv(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_removeMesgFont__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void mDoExt_removeSubFont__Fv(); -extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap(); -extern "C" void load__15mDoMemCd_Ctrl_cFv(); -extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl(); -extern "C" void command_format__15mDoMemCd_Ctrl_cFv(); -extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void command_attach__15mDoMemCd_Ctrl_cFv(); -extern "C" void mDoMemCdRWm_TestCheckSumGameData__FPv(); -extern "C" void mDoMemCdRWm_SetCheckSumGameData__FPUcUc(); -extern "C" void fopMsgM_messageGet__FPcUl(); -extern "C" void __ct__9STControlFssssffss(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkLeftTrigger__9STControlFv(); -extern "C" void checkRightTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void putSave__10dSv_info_cFi(); -extern "C" void memory_to_card__10dSv_info_cFPci(); -extern "C" void initdata_to_card__10dSv_info_cFPci(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void __ct__15dFile_warning_cFP10JKRArchiveUc(); -extern "C" void _move__15dFile_warning_cFv(); -extern "C" void openInit__15dFile_warning_cFv(); -extern "C" void closeInit__15dFile_warning_cFv(); -extern "C" void init__15dFile_warning_cFv(); -extern "C" void _draw__15dFile_warning_cFv(); -extern "C" void __ct__12dFile_info_cFP10JKRArchiveUc(); -extern "C" void setSaveData__12dFile_info_cFP10dSv_save_ciUc(); -extern "C" void _draw__12dFile_info_cFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void setMiniGameItem__13dMeter2Info_cFUc(); -extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); -extern "C" void __ct__17dMsgScrnExplain_cFP9STControlUcbUc(); -extern "C" void move__17dMsgScrnExplain_cFv(); -extern "C" void draw__17dMsgScrnExplain_cFP13J2DOrthoGraph(); -extern "C" void openExplain__17dMsgScrnExplain_cFUlUcUcUcb(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void -colorAnime__8CPaneMgrFsQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorUc(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void show__13CPaneMgrAlphaFv(); -extern "C" void alphaAnime__13CPaneMgrAlphaFsUcUcUc(); -extern "C" void cAPICPad_ANY_BUTTON__FUl(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void checkBgmIDPlaying__8Z2SeqMgrFUl(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void animationTransform__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFPCce(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__12dMenu_save_c[3 + 3 /* padding */]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -/* ############################################################################################## */ /* 803BDF78-803BDF84 01B098 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803BDF84-803BDF90 01B0A4 000C+00 3/3 0/0 0/0 .data SelStartFrameTbl */ -SECTION_DATA static int SelStartFrameTbl[3] = { +static int SelStartFrameTbl[3] = { 59, 99, 139, }; /* 803BDF90-803BDF9C 01B0B0 000C+00 3/3 0/0 0/0 .data SelEndFrameTbl */ -SECTION_DATA static int SelEndFrameTbl[3] = { +static int SelEndFrameTbl[3] = { 69, 109, 149, }; /* 803BDF9C-803BDFA8 01B0BC 000C+00 2/2 0/0 0/0 .data SelOpenStartFrameTbl */ -SECTION_DATA static int SelOpenStartFrameTbl[3] = { +static int SelOpenStartFrameTbl[3] = { 249, 448, 648, }; /* 803BDFA8-803BDFB4 01B0C8 000C+00 2/2 0/0 0/0 .data SelOpenEndFrameTbl */ -SECTION_DATA static int SelOpenEndFrameTbl[3] = { +static int SelOpenEndFrameTbl[3] = { 259, 460, 659, }; /* 803BDFB4-803BDFC4 01B0D4 0010+00 2/2 0/0 0/0 .data YnSelStartFrameTbl */ -SECTION_DATA static int YnSelStartFrameTbl[2][2] = { +static int YnSelStartFrameTbl[2][2] = { {2150, 3181}, {2139, 3171}, }; /* 803BDFC4-803BDFD8 01B0E4 0010+04 2/2 0/0 0/0 .data YnSelEndFrameTbl */ -SECTION_DATA static int YnSelEndFrameTbl[2][2] = {{2138, 3171}, {2150, 3181}}; - -/* 803BDFD8-803BDFF0 01B0F8 0018+00 0/1 0/0 0/0 .data l_tagName0$3857 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName0[3] = {'w_sel_00', 'w_sel_01', 'w_sel_02'}; -#pragma pop - -/* 803BDFF0-803BE000 01B110 0010+00 0/1 0/0 0/0 .data l_tagName000$3866 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName000[2] = {'w_no_t', 'w_yes_t'}; -#pragma pop - -/* 803BE000-803BE010 01B120 0010+00 0/1 0/0 0/0 .data l_tagName000U$3867 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName000U[2] = {'f_no_t', 'f_yes_t'}; -#pragma pop - -/* 803BE010-803BE020 01B130 0010+00 0/1 0/0 0/0 .data l_tagName00$3879 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName00[2] = {'w_modo', 'w_kete'}; -#pragma pop - -/* 803BE020-803BE030 01B140 0010+00 0/1 0/0 0/0 .data l_tagName00U$3880 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName00U[2] = {'f_modo', 'f_kete'}; -#pragma pop - -/* 803BE030-803BE048 01B150 0018+00 0/1 0/0 0/0 .data l_tagName3$3887 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName3[3] = {'w_moyo00', 'w_moyo01', 'w_moyo02'}; -#pragma pop - -/* 803BE048-803BE060 01B168 0018+00 0/1 0/0 0/0 .data l_tagName4$3888 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName4[3] = {'w_gold00', 'w_gold01', 'w_gold02'}; -#pragma pop - -/* 803BE060-803BE078 01B180 0018+00 0/1 0/0 0/0 .data l_tagName5$3889 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName5[3] = {'w_go2_00', 'w_go2_01', 'w_go2_02'}; -#pragma pop - -/* 803BE078-803BE088 01B198 0010+00 0/1 0/0 0/0 .data l_tagName9$3898 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName9[2] = {'w_no_m', 'w_yes_m'}; -#pragma pop - -/* 803BE088-803BE098 01B1A8 0010+00 0/1 0/0 0/0 .data l_tagName10$3899 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName10[2] = {'w_no_g', 'w_yes_g'}; -#pragma pop - -/* 803BE098-803BE0A8 01B1B8 0010+00 0/1 0/0 0/0 .data l_tagName11$3900 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName11[2] = {'w_no_gr', 'w_yes_gr'}; -#pragma pop - -/* 803BE0A8-803BE0C0 01B1C8 0018+00 0/1 0/0 0/0 .data l_tagName12$3909 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName12[3] = {'w_bk_l00', 'w_bk_l01', 'w_bk_l02'}; -#pragma pop - -/* 803BE0C0-803BE0D0 01B1E0 0010+00 0/1 0/0 0/0 .data l_tagName21$3916 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName21[2] = {'t_for', 't_for1'}; -#pragma pop - -/* 803BE0D0-803BE120 01B1F0 0050+00 0/1 0/0 0/0 .data l_tagName211$3917 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName211[10] = {'tmoyou00', 'tmoyou01', 'tmoyou02', 'tmoyou03', - 'tmoyou04', 'tmoyou05', 'tmoyou06', 'tmoyou07', - 'tmoyou08', 'tmoyou09'}; -#pragma pop - -/* 803BE120-803BE130 01B240 0010+00 0/1 0/0 0/0 .data l_tagName20$3929 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName20[2] = {'er_for0', 'er_for1'}; -#pragma pop - -/* 803BE130-803BE148 01B250 0018+00 0/1 0/0 0/0 .data l_tagName13$3937 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName13[3] = {'w_dat_i0', 'w_dat_i1', 'w_dat_i2'}; -#pragma pop +static int YnSelEndFrameTbl[2][2] = {{2138, 3171}, {2150, 3181}}; /* 8042E84C-8042E860 05B56C 0010+04 21/21 0/0 0/0 .bss g_msHIO */ static dMs_HIO_c g_msHIO; -/* 803BE424-803BE70C 01B544 02E8+00 1/2 0/0 0/0 .data MenuSaveProc */ -typedef void (dMenu_save_c::*menuProcFunc)(); -SECTION_DATA menuProcFunc MenuSaveProc[62] = { - &dMenu_save_c::saveQuestion, - &dMenu_save_c::saveQuestion2, - &dMenu_save_c::saveQuestion21, - &dMenu_save_c::saveQuestion3, - &dMenu_save_c::saveQuestion4, - &dMenu_save_c::saveGuide, - &dMenu_save_c::memCardCheck, - &dMenu_save_c::backSaveQuestion, - &dMenu_save_c::backSaveQuestion2, - &dMenu_save_c::memCardErrMsgWaitKey, - &dMenu_save_c::IPLSelectDisp1, - &dMenu_save_c::IPLSelectDisp2, - &dMenu_save_c::memCardErrGoIPLSel, - &dMenu_save_c::IPLSelect2Disp, - &dMenu_save_c::memCardErrGoIPLSel2, - &dMenu_save_c::memCardErrGotoIPL, - &dMenu_save_c::memCardErrMsgWaitFormatSel, - &dMenu_save_c::cardFormatYesSelDisp, - &dMenu_save_c::cardFormatNoSelDisp, - &dMenu_save_c::memCardErrMsgWaitFormatSel2, - &dMenu_save_c::cardFormatYesSel2Disp, - &dMenu_save_c::memCardFormat, - &dMenu_save_c::memCardFormatWait, - &dMenu_save_c::makeGameFileSelDisp, - &dMenu_save_c::memCardMakeGameFileSel, - &dMenu_save_c::makeGameFileDisp, - &dMenu_save_c::memCardMakeGameFile, - &dMenu_save_c::memCardMakeGameFileWait, - &dMenu_save_c::memCardCommandEnd, - &dMenu_save_c::memCardCommandEnd2, - &dMenu_save_c::memCardDataLoadWait, - &dMenu_save_c::memCardDataSaveWait, - &dMenu_save_c::memCardDataSaveWait2, - &dMenu_save_c::gameContinueDisp, - &dMenu_save_c::gameContinue, - &dMenu_save_c::gameContinue2, - &dMenu_save_c::gameContinue3, - &dMenu_save_c::saveEnd, - &dMenu_save_c::endingNoSave, - &dMenu_save_c::endingNoSave2, - &dMenu_save_c::endingDataCheck, - &dMenu_save_c::saveWait, - &dMenu_save_c::messageChange, - &dMenu_save_c::retryQuestion0, - &dMenu_save_c::retryQuestion1, - &dMenu_save_c::retryQuestion2, - &dMenu_save_c::openSaveSelect, - &dMenu_save_c::openSaveSelect2, - &dMenu_save_c::openSaveSelect3, - &dMenu_save_c::saveSelect, - &dMenu_save_c::saveSelectMoveAnime, - &dMenu_save_c::selectDataOpenMove, - &dMenu_save_c::saveYesNoSelect, - &dMenu_save_c::yesNoCursorMoveAnm, - &dMenu_save_c::saveYesNoCancelMove, - &dMenu_save_c::saveMoveDisp, - &dMenu_save_c::saveMoveDisp2, - &dMenu_save_c::msgWindowInitOpen, - &dMenu_save_c::msgWindowOpen, - &dMenu_save_c::msgWindowClose, - &dMenu_save_c::errYesNoCursorMoveAnm, -}; - -/* 803BE70C-803BE718 -00001 000C+00 1/1 0/0 0/0 .data @4794 */ -SECTION_DATA static void* lit_4794[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)iplSelMsgInitSet__12dMenu_save_cFv, -}; - -/* 803BE718-803BE724 -00001 000C+00 1/1 0/0 0/0 .data @4797 */ -SECTION_DATA static void* lit_4797[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)gameFileMakeSelInitSet__12dMenu_save_cFv, -}; - -/* 803BE724-803BE758 -00001 0034+00 1/1 0/0 0/0 .data @4802 */ -SECTION_DATA static void* lit_4802[13] = { - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x4C), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x19C), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x184), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x1E8), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x1E8), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x1E8), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x10C), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x10C), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x7C), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0xAC), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0xDC), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x134), - (void*)(((char*)memCardCheck__12dMenu_save_cFv) + 0x134), -}; - -/* 803BE758-803BE764 -00001 000C+00 1/1 0/0 0/0 .data @4901 */ -SECTION_DATA static void* lit_4901[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)iplSelInitSet__12dMenu_save_cFv, -}; - -/* 803BE764-803BE774 01B884 0010+00 2/2 1/1 0/0 .data __vt__16dDlst_MenuSave_c */ -SECTION_DATA extern void* __vt__16dDlst_MenuSave_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__16dDlst_MenuSave_cFv, - (void*)__dt__16dDlst_MenuSave_cFv, -}; - -/* 803BE774-803BE7CC 01B894 0010+48 2/2 1/1 0/0 .data __vt__23dDlst_MenuSaveExplain_c */ -SECTION_DATA extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__23dDlst_MenuSaveExplain_cFv, - (void*)__dt__23dDlst_MenuSaveExplain_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - /* 801EF654-801EF6A0 1E9F94 004C+00 1/1 0/0 0/0 .text __ct__9dMs_HIO_cFv */ dMs_HIO_c::dMs_HIO_c() { mDisplayWaitFrames = 15; @@ -611,15 +130,9 @@ dMenu_save_c::dMenu_save_c() { field_0x21a1 = 0; } -/* 80454438-8045443C 002A38 0004+00 1/1 0/0 0/0 .sdata2 @3849 */ -SECTION_SDATA2 static f32 lit_3849 = 9.0f / 10.0f; - -/* 8045443C-80454440 002A3C 0004+00 2/2 0/0 0/0 .sdata2 @3850 */ -SECTION_SDATA2 static f32 lit_3850 = 0.5f; - /* 801EF7AC-801EF904 1EA0EC 0158+00 0/0 3/3 0/0 .text _create__12dMenu_save_cFv */ void dMenu_save_c::_create() { - stick = new STControl(2, 2, 1, 1, lit_3849, lit_3850, 0, 0x2000); + stick = new STControl(2, 2, 1, 1, 0.9f, 0.5f, 0, 0x2000); if (mUseType == TYPE_DEFAULT || mUseType == TYPE_WHITE_EVENT || mUseType == TYPE_BLACK_EVENT) { mpMount = @@ -653,78 +166,28 @@ void dMenu_save_c::_create() { g_msHIO.field_0x4 = -1; } -/* ############################################################################################## */ -/* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80397978 = "zelda_file_select2.blo"; -SECTION_DEAD static char const* const stringBase_8039798F = "zelda_file_select2.bck"; -SECTION_DEAD static char const* const stringBase_803979A6 = "zelda_file_select2.bpk"; -SECTION_DEAD static char const* const stringBase_803979BD = "zelda_file_select2_02.btk"; -SECTION_DEAD static char const* const stringBase_803979D7 = "zelda_file_select2.btk"; -SECTION_DEAD static char const* const stringBase_803979EE = "zelda_file_select2.brk"; -SECTION_DEAD static char const* const stringBase_80397A05 = ""; -#pragma pop - -/* 80450740-80450744 0001C0 0002+02 1/1 0/0 0/0 .sdata l_msgNum0$3868 */ -SECTION_SDATA static u8 l_msgNum0[2] = { - 0x08, - 0x07, -}; - -/* 80450744-80450748 0001C4 0002+02 1/1 0/0 0/0 .sdata l_msgNum$3881 */ -SECTION_SDATA static u8 l_msgNum[2] = { - 0x54, - 0x55, -}; - -/* 80454440-80454444 002A40 0004+00 1/1 0/0 0/0 .sdata2 @4173 */ -SECTION_SDATA2 static f32 lit_4173 = 19.0f; - -/* 80454444-80454448 002A44 0004+00 1/1 0/0 0/0 .sdata2 @4174 */ -SECTION_SDATA2 static f32 lit_4174 = 20.0f; - -/* 80454448-8045444C 002A48 0004+00 13/13 0/0 0/0 .sdata2 @4175 */ -SECTION_SDATA2 static u8 lit_4175[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8045444C-80454450 002A4C 0004+00 1/1 0/0 0/0 .sdata2 @4176 */ -SECTION_SDATA2 static f32 lit_4176 = 440.0f; - -/* 80454450-80454454 002A50 0004+00 1/1 0/0 0/0 .sdata2 @4177 */ -SECTION_SDATA2 static f32 lit_4177 = 198.0f; - -/* 80454454-80454458 002A54 0004+00 1/1 0/0 0/0 .sdata2 @4178 */ -SECTION_SDATA2 static f32 lit_4178 = 21.0f; - -/* 80454458-8045445C 002A58 0004+00 20/20 0/0 0/0 .sdata2 @4179 */ -SECTION_SDATA2 static f32 lit_4179 = 1.0f; - -/* 8045445C-80454460 002A5C 0004+00 3/3 0/0 0/0 .sdata2 @4180 */ -SECTION_SDATA2 static f32 lit_4180 = 24.0f / 25.0f; - -/* 80454460-80454464 002A60 0004+00 2/2 0/0 0/0 .sdata2 @4181 */ -SECTION_SDATA2 static f32 lit_4181 = 47.0f / 50.0f; - -/* 80454464-80454468 002A64 0004+00 2/2 0/0 0/0 .sdata2 @4182 */ -SECTION_SDATA2 static f32 lit_4182 = 3.0f / 100.0f; - -/* 80454468-80454470 002A68 0004+04 2/2 0/0 0/0 .sdata2 @4183 */ -SECTION_SDATA2 static f32 lit_4183[1 + 1 /* padding */] = { - 7.0f / 10.0f, - /* padding */ - 0.0f, -}; - -/* 80454470-80454478 002A70 0008+00 17/17 0/0 0/0 .sdata2 @4185 */ -SECTION_SDATA2 static f64 lit_4185 = 4503601774854144.0 /* cast s32 to float */; - /* 801EF904-801F0938 1EA244 1034+00 1/1 0/0 0/0 .text screenSet__12dMenu_save_cFv */ void dMenu_save_c::screenSet() { + static u64 l_tagName0[3] = {'w_sel_00', 'w_sel_01', 'w_sel_02'}; + static u64 l_tagName000[2] = {'w_no_t', 'w_yes_t'}; + static u64 l_tagName000U[2] = {'f_no_t', 'f_yes_t'}; + static u64 l_tagName00[2] = {'w_modo', 'w_kete'}; + static u64 l_tagName00U[2] = {'f_modo', 'f_kete'}; + static u64 l_tagName3[3] = {'w_moyo00', 'w_moyo01', 'w_moyo02'}; + static u64 l_tagName4[3] = {'w_gold00', 'w_gold01', 'w_gold02'}; + static u64 l_tagName5[3] = {'w_go2_00', 'w_go2_01', 'w_go2_02'}; + static u64 l_tagName9[2] = {'w_no_m', 'w_yes_m'}; + static u64 l_tagName10[2] = {'w_no_g', 'w_yes_g'}; + static u64 l_tagName11[2] = {'w_no_gr', 'w_yes_gr'}; + static u64 l_tagName12[3] = {'w_bk_l00', 'w_bk_l01', 'w_bk_l02'}; + static u64 l_tagName21[2] = {'t_for', 't_for1'}; + static u64 l_tagName211[10] = {'tmoyou00', 'tmoyou01', 'tmoyou02', 'tmoyou03', 'tmoyou04', + 'tmoyou05', 'tmoyou06', 'tmoyou07', 'tmoyou08', 'tmoyou09'}; + static u64 l_tagName20[2] = {'er_for0', 'er_for1'}; + static u64 l_tagName13[3] = {'w_dat_i0', 'w_dat_i1', 'w_dat_i2'}; + static u8 l_msgNum0[2] = {0x08, 0x07}; + static u8 l_msgNum[2] = {0x54, 0x55}; + mSaveSel.Scr = new J2DScreen(); mSaveSel.Scr->setPriority("zelda_file_select2.blo", 0x1100000, mpArchive); dPaneClass_showNullPane(mSaveSel.Scr); @@ -1005,8 +468,6 @@ int dMenu_save_c::_close() { } /* 801F0B28-801F1048 1EB468 0520+00 0/0 4/4 0/0 .text _delete__12dMenu_save_cFv */ -// creates extra data -#ifdef NONMATCHING void dMenu_save_c::_delete() { delete stick; @@ -1151,11 +612,72 @@ void dMenu_save_c::_delete() { mpArchive->unmount(); } } -#else -void dMenu_save_c::_delete() { - // NONMATCHING -} -#endif + +/* 803BE424-803BE70C 01B544 02E8+00 1/2 0/0 0/0 .data MenuSaveProc */ +typedef void (dMenu_save_c::*menuProcFunc)(); +menuProcFunc MenuSaveProc[62] = { + &dMenu_save_c::saveQuestion, + &dMenu_save_c::saveQuestion2, + &dMenu_save_c::saveQuestion21, + &dMenu_save_c::saveQuestion3, + &dMenu_save_c::saveQuestion4, + &dMenu_save_c::saveGuide, + &dMenu_save_c::memCardCheck, + &dMenu_save_c::backSaveQuestion, + &dMenu_save_c::backSaveQuestion2, + &dMenu_save_c::memCardErrMsgWaitKey, + &dMenu_save_c::IPLSelectDisp1, + &dMenu_save_c::IPLSelectDisp2, + &dMenu_save_c::memCardErrGoIPLSel, + &dMenu_save_c::IPLSelect2Disp, + &dMenu_save_c::memCardErrGoIPLSel2, + &dMenu_save_c::memCardErrGotoIPL, + &dMenu_save_c::memCardErrMsgWaitFormatSel, + &dMenu_save_c::cardFormatYesSelDisp, + &dMenu_save_c::cardFormatNoSelDisp, + &dMenu_save_c::memCardErrMsgWaitFormatSel2, + &dMenu_save_c::cardFormatYesSel2Disp, + &dMenu_save_c::memCardFormat, + &dMenu_save_c::memCardFormatWait, + &dMenu_save_c::makeGameFileSelDisp, + &dMenu_save_c::memCardMakeGameFileSel, + &dMenu_save_c::makeGameFileDisp, + &dMenu_save_c::memCardMakeGameFile, + &dMenu_save_c::memCardMakeGameFileWait, + &dMenu_save_c::memCardCommandEnd, + &dMenu_save_c::memCardCommandEnd2, + &dMenu_save_c::memCardDataLoadWait, + &dMenu_save_c::memCardDataSaveWait, + &dMenu_save_c::memCardDataSaveWait2, + &dMenu_save_c::gameContinueDisp, + &dMenu_save_c::gameContinue, + &dMenu_save_c::gameContinue2, + &dMenu_save_c::gameContinue3, + &dMenu_save_c::saveEnd, + &dMenu_save_c::endingNoSave, + &dMenu_save_c::endingNoSave2, + &dMenu_save_c::endingDataCheck, + &dMenu_save_c::saveWait, + &dMenu_save_c::messageChange, + &dMenu_save_c::retryQuestion0, + &dMenu_save_c::retryQuestion1, + &dMenu_save_c::retryQuestion2, + &dMenu_save_c::openSaveSelect, + &dMenu_save_c::openSaveSelect2, + &dMenu_save_c::openSaveSelect3, + &dMenu_save_c::saveSelect, + &dMenu_save_c::saveSelectMoveAnime, + &dMenu_save_c::selectDataOpenMove, + &dMenu_save_c::saveYesNoSelect, + &dMenu_save_c::yesNoCursorMoveAnm, + &dMenu_save_c::saveYesNoCancelMove, + &dMenu_save_c::saveMoveDisp, + &dMenu_save_c::saveMoveDisp2, + &dMenu_save_c::msgWindowInitOpen, + &dMenu_save_c::msgWindowOpen, + &dMenu_save_c::msgWindowClose, + &dMenu_save_c::errYesNoCursorMoveAnm, +}; /* 801F1048-801F1100 1EB988 00B8+00 0/0 4/4 0/0 .text _move__12dMenu_save_cFv */ void dMenu_save_c::_move() { @@ -1201,7 +723,6 @@ void dMenu_save_c::selFileWakuAnm() { mpFileWakuRotAnm->setFrame(mFileWakuRotAnmFrame); } - /* 801F11F4-801F12F0 1EBB34 00FC+00 1/1 0/0 0/0 .text bookIconAnm__12dMenu_save_cFv */ void dMenu_save_c::bookIconAnm() { field_0x154 += 2; @@ -1223,7 +744,6 @@ void dMenu_save_c::bookIconAnm() { field_0x160->setFrame(field_0x164); } - /* 801F12F0-801F1378 1EBC30 0088+00 1/1 0/0 0/0 .text memCardWatch__12dMenu_save_cFv */ void dMenu_save_c::memCardWatch() { if (mUseType == 2) { @@ -1291,7 +811,6 @@ void dMenu_save_c::saveQuestion() { } } - /* 801F1558-801F1620 1EBE98 00C8+00 1/0 0/0 0/0 .text saveQuestion2__12dMenu_save_cFv */ void dMenu_save_c::saveQuestion2() { if (mpScrnExplain != NULL && mpScrnExplain->getStatus() == 0) { @@ -1421,7 +940,6 @@ void dMenu_save_c::memCardCheck() { } } - /* 801F191C-801F19A8 1EC25C 008C+00 1/0 0/0 0/0 .text memCardErrMsgWaitKey__12dMenu_save_cFv */ void dMenu_save_c::memCardErrMsgWaitKey() { if (cAPICPad_ANY_BUTTON(PAD_1) && dMeter2Info_getMsgKeyWaitTimer() == 0) { @@ -1489,10 +1007,6 @@ void dMenu_save_c::backSaveQuestion2() { } } -/* ############################################################################################## */ -/* 80454478-8045447C 002A78 0004+00 16/16 0/0 0/0 .sdata2 @4879 */ -SECTION_SDATA2 static f32 lit_4879 = -1.0f; - /* 801F1B38-801F1BF8 1EC478 00C0+00 5/5 0/0 0/0 .text closeSelect__12dMenu_save_cFv */ void dMenu_save_c::closeSelect() { mDoAud_seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0); @@ -1511,7 +1025,6 @@ void dMenu_save_c::closeSelect() { } } - /* 801F1BF8-801F1C70 1EC538 0078+00 2/2 0/0 0/0 .text closeSelect2__12dMenu_save_cFv */ void dMenu_save_c::closeSelect2() { mDoAud_seStart(Z2SE_SY_CURSOR_OK, NULL, 0, 0); @@ -1520,7 +1033,6 @@ void dMenu_save_c::closeSelect2() { mMenuProc = PROC_BACK_SAVE_QUESTION; } - /* 801F1C70-801F1C94 1EC5B0 0024+00 1/0 0/0 0/0 .text iplSelMsgInitSet__12dMenu_save_cFv */ void dMenu_save_c::iplSelMsgInitSet() { @@ -1544,7 +1056,6 @@ void dMenu_save_c::IPLSelectDisp1() { } } - /* 801F1D54-801F1DD4 1EC694 0080+00 1/0 0/0 0/0 .text IPLSelectDisp2__12dMenu_save_cFv */ void dMenu_save_c::IPLSelectDisp2() { bool txtAnmComplete = errorTxtChangeAnm(); @@ -1853,13 +1364,6 @@ void dMenu_save_c::dataWrite() { dataSave(); } -/* ############################################################################################## */ -/* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80397A06 = "save cmdState %d\n"; -#pragma pop - /* 801F28E4-801F298C 1ED224 00A8+00 1/0 0/0 0/0 .text memCardDataSaveWait__12dMenu_save_cFv */ void dMenu_save_c::memCardDataSaveWait() { mDoAud_seStartLevel(Z2SE_SY_FILE_SAVE_LEVEL, NULL, 0, 0); @@ -1875,7 +1379,6 @@ void dMenu_save_c::memCardDataSaveWait() { } } - /* 801F298C-801F2B5C 1ED2CC 01D0+00 1/0 0/0 0/0 .text memCardDataSaveWait2__12dMenu_save_cFv */ void dMenu_save_c::memCardDataSaveWait2() { if (mWaitTimer != 0) { @@ -1913,7 +1416,6 @@ void dMenu_save_c::memCardDataSaveWait2() { } } - /* 801F2B5C-801F2BF8 1ED49C 009C+00 1/0 0/0 0/0 .text gameContinueDisp__12dMenu_save_cFv */ void dMenu_save_c::gameContinueDisp() { @@ -1976,7 +1478,6 @@ void dMenu_save_c::gameContinue() { } } - /* 801F2D78-801F2DA0 1ED6B8 0028+00 1/0 0/0 0/0 .text gameContinue2__12dMenu_save_cFv */ void dMenu_save_c::gameContinue2() { if (mWaitTimer != 0) { @@ -2197,7 +1698,6 @@ int dMenu_save_c::YesNoSelect() { return ret; } - /* 801F34BC-801F3588 1EDDFC 00CC+00 8/8 0/0 0/0 .text msgTxtSet__12dMenu_save_cFUsb */ void dMenu_save_c::msgTxtSet(u16 msgID, bool param_1) { if (msgID != 0xFFFF) { @@ -2251,7 +1751,6 @@ void dMenu_save_c::openSaveSelect() { } } - /* 801F36B4-801F37A0 1EDFF4 00EC+00 1/0 0/0 0/0 .text openSaveSelect2__12dMenu_save_cFv */ void dMenu_save_c::openSaveSelect2() { @@ -2304,7 +1803,6 @@ void dMenu_save_c::openSaveSelect3() { } } - /* 801F3934-801F3A94 1EE274 0160+00 1/0 0/0 0/0 .text saveSelect__12dMenu_save_cFv */ void dMenu_save_c::saveSelect() { if (!mDoRst::isReset()) { @@ -2334,7 +1832,6 @@ void dMenu_save_c::saveSelect() { } } - /* 801F3A94-801F3BE0 1EE3D4 014C+00 1/1 0/0 0/0 .text saveSelectStart__12dMenu_save_cFv */ void dMenu_save_c::saveSelectStart() { @@ -2362,7 +1859,6 @@ void dMenu_save_c::saveSelectStart() { } } - /* 801F3BE0-801F3C7C 1EE520 009C+00 1/0 0/0 0/0 .text selectDataOpenMove__12dMenu_save_cFv */ void dMenu_save_c::selectDataOpenMove() { bool headerTxtChanged = headerTxtChangeAnm(); @@ -2399,7 +1895,6 @@ void dMenu_save_c::dataSelectAnmSet() { } } - /* 801F3E30-801F40D8 1EE770 02A8+00 1/0 0/0 0/0 .text saveSelectMoveAnime__12dMenu_save_cFv */ void dMenu_save_c::saveSelectMoveAnime() { bool bookWakuAnmComplete = true; @@ -2455,7 +1950,6 @@ void dMenu_save_c::saveSelectMoveAnime() { } } - /* 801F40D8-801F4238 1EEA18 0160+00 1/0 0/0 0/0 .text saveYesNoSelect__12dMenu_save_cFv */ void dMenu_save_c::saveYesNoSelect() { @@ -2486,7 +1980,6 @@ void dMenu_save_c::saveYesNoSelect() { } } - /* 801F4238-801F42FC 1EEB78 00C4+00 1/1 0/0 0/0 .text yesnoSelectStart__12dMenu_save_cFv */ void dMenu_save_c::yesnoSelectStart() { @@ -2504,7 +1997,6 @@ void dMenu_save_c::yesnoSelectStart() { } } - /* 801F42FC-801F43F8 1EEC3C 00FC+00 1/0 0/0 0/0 .text saveMoveDisp__12dMenu_save_cFv */ void dMenu_save_c::saveMoveDisp() { mDoAud_seStartLevel(Z2SE_SY_FILE_SAVE_LEVEL, NULL, 0, 0); @@ -2523,7 +2015,6 @@ void dMenu_save_c::saveMoveDisp() { } } - /* 801F43F8-801F4510 1EED38 0118+00 1/0 0/0 0/0 .text saveMoveDisp2__12dMenu_save_cFv */ void dMenu_save_c::saveMoveDisp2() { mDoAud_seStartLevel(Z2SE_SY_FILE_SAVE_LEVEL, NULL, 0, 0); @@ -2543,7 +2034,6 @@ void dMenu_save_c::saveMoveDisp2() { } } - /* 801F4510-801F46B4 1EEE50 01A4+00 4/4 0/0 0/0 .text yesnoSelectAnmSet__12dMenu_save_cFUc */ void dMenu_save_c::yesnoSelectAnmSet(u8 param_0) { if (mYesNoPrevCursor != 0xFF) { @@ -2563,7 +2053,6 @@ void dMenu_save_c::yesnoSelectAnmSet(u8 param_0) { } } - /* 801F46B4-801F4724 1EEFF4 0070+00 1/0 0/0 0/0 .text yesNoCursorMoveAnm__12dMenu_save_cFv */ void dMenu_save_c::yesNoCursorMoveAnm() { bool selAnmComplete = yesnoSelectMoveAnm(0); @@ -2587,7 +2076,6 @@ void dMenu_save_c::yesnoCancelAnmSet() { mMenuProc = PROC_SAVE_YES_NO_CANCEL_MOVE; } - /* 801F47DC-801F485C 1EF11C 0080+00 1/0 0/0 0/0 .text saveYesNoCancelMove__12dMenu_save_cFv */ void dMenu_save_c::saveYesNoCancelMove() { bool headerTxtChanged = headerTxtChangeAnm(); @@ -2665,7 +2153,6 @@ void dMenu_save_c::errDispInitSet(int param_0) { mMenuProc = PROC_MSG_WINDOW_INIT_OPEN; } - /* 801F4B84-801F4D10 1EF4C4 018C+00 1/0 0/0 0/0 .text msgWindowInitOpen__12dMenu_save_cFv */ void dMenu_save_c::msgWindowInitOpen() { @@ -2786,7 +2273,6 @@ bool dMenu_save_c::errYesNoSelect(u8 param_0, u8 param_1) { return yesnoSelected; } - /* 801F4FB4-801F5054 1EF8F4 00A0+00 1/1 0/0 0/0 .text errCurMove__12dMenu_save_cFUcUc */ void dMenu_save_c::errCurMove(u8 param_0, u8 param_1) { mYesNoPrevCursor = mYesNoCursor; @@ -2799,7 +2285,6 @@ void dMenu_save_c::errCurMove(u8 param_0, u8 param_1) { mMenuProc = PROC_ERR_YES_NO_CURSOR_MOVE_ANM; } - /* 801F5054-801F50C4 1EF994 0070+00 1/0 0/0 0/0 .text errYesNoCursorMoveAnm__12dMenu_save_cFv */ void dMenu_save_c::errYesNoCursorMoveAnm() { bool moveAnmComplete = yesnoSelectMoveAnm(field_0x2195); @@ -2880,7 +2365,6 @@ void dMenu_save_c::selectDataBaseMoveAnmInitSet(int param_0, int param_1) { field_0x65 = 1; } - /* 801F53D4-801F54C0 1EFD14 00EC+00 3/3 0/0 0/0 .text selectDataBaseMoveAnm__12dMenu_save_cFv */ bool dMenu_save_c::selectDataBaseMoveAnm() { if (mDataBaseMoveAnmFrame != mDataBaseMoveFrameMax) { @@ -2914,7 +2398,6 @@ bool dMenu_save_c::selectDataBaseMoveAnm() { } } - /* 801F54C0-801F5508 1EFE00 0048+00 1/1 0/0 0/0 .text saveSelectOpenAnmSet__12dMenu_save_cFv */ void dMenu_save_c::saveSelectOpenAnmSet() { setSaveData(); @@ -2940,7 +2423,6 @@ void dMenu_save_c::selectDataMoveAnmInitSet(int param_0, int param_1) { mpSelData[2]->getPanePtr()->animationTransform(); } - /* 801F5600-801F5744 1EFF40 0144+00 3/3 0/0 0/0 .text selectDataMoveAnm__12dMenu_save_cFv */ bool dMenu_save_c::selectDataMoveAnm() { @@ -2973,7 +2455,6 @@ bool dMenu_save_c::selectDataMoveAnm() { } } - /* 801F5744-801F58C8 1F0084 0184+00 12/12 0/0 0/0 .text * yesnoMenuMoveAnmInitSet__12dMenu_save_cFiiUc */ void dMenu_save_c::yesnoMenuMoveAnmInitSet(int anmFrame, int frameMax, u8 param_2) { @@ -3001,7 +2482,6 @@ void dMenu_save_c::yesnoMenuMoveAnmInitSet(int anmFrame, int frameMax, u8 param_ field_0x9d = 1; } - /* 801F58C8-801F5AE4 1F0208 021C+00 13/13 0/0 0/0 .text yesnoMenuMoveAnm__12dMenu_save_cFv */ bool dMenu_save_c::yesnoMenuMoveAnm() { if (mYesNoMoveAnmFrame != mYesNoMoveAnmMax) { @@ -3051,7 +2531,6 @@ bool dMenu_save_c::yesnoMenuMoveAnm() { } } - /* 801F5AE4-801F5D84 1F0424 02A0+00 4/4 0/0 0/0 .text yesnoSelectMoveAnm__12dMenu_save_cFUc */ bool dMenu_save_c::yesnoSelectMoveAnm(u8 param_0) { bool ret = false; @@ -3115,18 +2594,6 @@ bool dMenu_save_c::yesnoSelectMoveAnm(u8 param_0) { return ret; } - -/* ############################################################################################## */ -/* 8045447C-80454480 002A7C 0004+00 1/1 0/0 0/0 .sdata2 @6327 */ -SECTION_SDATA2 static f32 lit_6327 = 21.0f / 25.0f; - -/* 80454480-80454488 002A80 0004+04 1/1 0/0 0/0 .sdata2 @6328 */ -SECTION_SDATA2 static f32 lit_6328[1 + 1 /* padding */] = { - 3.0f / 50.0f, - /* padding */ - 0.0f, -}; - /* 801F5D84-801F5EF4 1F06C4 0170+00 9/9 0/0 0/0 .text yesnoCursorShow__12dMenu_save_cFv */ void dMenu_save_c::yesnoCursorShow() { @@ -3145,7 +2612,6 @@ void dMenu_save_c::yesnoCursorShow() { } } - /* 801F5EF4-801F5F84 1F0834 0090+00 3/3 0/0 0/0 .text errorMoveAnmInitSet__12dMenu_save_cFii */ void dMenu_save_c::errorMoveAnmInitSet(int param_0, int param_1) { field_0xb4->setAnimation(field_0x4c); @@ -3156,7 +2622,6 @@ void dMenu_save_c::errorMoveAnmInitSet(int param_0, int param_1) { field_0xd3 = 1; } - /* 801F5F84-801F60A4 1F08C4 0120+00 4/4 0/0 0/0 .text errorMoveAnm__12dMenu_save_cFv */ bool dMenu_save_c::errorMoveAnm() { if (field_0xb8 != field_0xbc) { @@ -3192,7 +2657,6 @@ bool dMenu_save_c::errorMoveAnm() { } } - /* 801F60A4-801F6120 1F09E4 007C+00 5/5 0/0 0/0 .text modoruTxtDispAnmInit__12dMenu_save_cFUc */ void dMenu_save_c::modoruTxtDispAnmInit(u8 param_0) { field_0x1a8 = param_0; @@ -3303,11 +2767,10 @@ void dMenu_save_c::selFileCursorShow() { Vec pos = mpSelData[mSelectedFile]->getGlobalVtxCenter(false, 0); mSelIcon->setPos(pos.x, pos.y, mpSelData[mSelectedFile]->getPanePtr(), true); - mSelIcon->setAlphaRate(0.0f); + mSelIcon->setAlphaRate(1.0f); mSelIcon->setParam(0.96f, 0.94f, 0.03f, 0.7f, 0.7f); } - /* 801F6608-801F6654 1F0F48 004C+00 1/1 0/0 0/0 .text * yesnoWakuAlpahAnmInit__12dMenu_save_cFUcUcUcUc */ void dMenu_save_c::yesnoWakuAlpahAnmInit(u8 yesnoIdx, u8 startAlpha, u8 endAlpha, u8 anmTimer) { @@ -3444,4 +2907,4 @@ void dDlst_MenuSaveExplain_c::draw() { /* 801F6B0C-801F6B44 1F144C 0038+00 1/0 0/0 0/0 .text draw__16dDlst_MenuSave_cFv */ void dDlst_MenuSave_c::draw() { Scr->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort()); -} \ No newline at end of file +} diff --git a/src/d/d_meter2_draw.cpp b/src/d/d_meter2_draw.cpp index 06e3617033..c234885c7d 100644 --- a/src/d/d_meter2_draw.cpp +++ b/src/d/d_meter2_draw.cpp @@ -19,8 +19,6 @@ #include "d/d_msg_object.h" #include "d/d_pane_class.h" -extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; - /* 8020FAB4-802102F8 20A3F4 0844+00 0/0 1/1 0/0 .text __ct__13dMeter2Draw_cFP10JKRExpHeap */ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) { @@ -83,7 +81,7 @@ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) { playPikariBckAnimation(1.0f); void* pikari_bpk = JKRGetNameResource("zelda_icon_pikari.bpk", dComIfGp_getMain2DArchive()); - mPikariBpk = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(pikari_bpk); + mPikariBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load(pikari_bpk); mPikariBpk->searchUpdateMaterialID(mpPikariScreen); playPikariBpkAnimation(1.0f); @@ -815,17 +813,17 @@ void dMeter2Draw_c::initMagic() { void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk", dComIfGp_getMain2DArchive()); - mpOxygenBpk[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[0] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res); mpOxygenBpk[0]->searchUpdateMaterialID(mpKanteraScreen); res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk", dComIfGp_getMain2DArchive()); - mpOxygenBpk[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[1] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res); mpOxygenBpk[1]->searchUpdateMaterialID(mpKanteraScreen); res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk", dComIfGp_getMain2DArchive()); - mpOxygenBpk[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[2] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res); mpOxygenBpk[2]->searchUpdateMaterialID(mpKanteraScreen); field_0x558 = 0.0f; diff --git a/src/d/d_meter2_info.cpp b/src/d/d_meter2_info.cpp index a127ec8697..5a0f666a65 100644 --- a/src/d/d_meter2_info.cpp +++ b/src/d/d_meter2_info.cpp @@ -11,136 +11,6 @@ #include "d/d_meter_map.h" #include "d/d_msg_object.h" #include "d/d_item_data.h" -#include "dol2asm.h" -#include "dolphin/types.h" -#include "global.h" - -// -// Forward References: -// - -extern "C" void __ct__13dMeter2Info_cFv(); -extern "C" void __dt__13dMeter2Info_cFv(); -extern "C" void init__13dMeter2Info_cFv(); -extern "C" void setFloatingMessage__13dMeter2Info_cFUssb(); -extern "C" void setFloatingFlow__13dMeter2Info_cFUssb(); -extern "C" void isFloatingMessageVisible__13dMeter2Info_cFv(); -extern "C" void decFloatingMessageTimer__13dMeter2Info_cFv(); -extern "C" void resetFloatingMessage__13dMeter2Info_cFv(); -extern "C" void decMsgKeyWaitTimer__13dMeter2Info_cFv(); -extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void getStringKana__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void getStringLength__13dMeter2Info_cFP10J2DTextBoxPc(); -extern "C" void getFont__10J2DTextBoxCFv(); -extern "C" void getStringLength__13dMeter2Info_cFP7JUTFontffPc(); -extern "C" void onDirectUseItem__13dMeter2Info_cFi(); -extern "C" void isDirectUseItem__13dMeter2Info_cFi(); -extern "C" void setMeterString__13dMeter2Info_cFl(); -extern "C" void resetWarpStatus__13dMeter2Info_cFv(); -extern "C" void warpInProc__13dMeter2Info_cFv(); -extern "C" void warpOutProc__13dMeter2Info_cFv(); -extern "C" void resetMeterString__13dMeter2Info_cFv(); -extern "C" void setWarpInfo__13dMeter2Info_cFPCcRC4cXyzsUcUcUc(); -extern "C" void getItemType__13dMeter2Info_cFUc(); -extern "C" void -readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei(); -extern "C" void -setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture(); -extern "C" void get2ndTexture__13dMeter2Info_cFUc(); -extern "C" void get3rdTexture__13dMeter2Info_cFUc(); -extern "C" void get4thTexture__13dMeter2Info_cFUc(); -extern "C" void set1stColor__13dMeter2Info_cFUcP10J2DPicture(); -extern "C" void set2ndColor__13dMeter2Info_cFUcP10J2DPicture(); -extern "C" void set3rdColor__13dMeter2Info_cFUcP10J2DPicture(); -extern "C" void set4thColor__13dMeter2Info_cFUcP10J2DPicture(); -extern "C" void setHotSpringTimer__13dMeter2Info_cFUc(); -extern "C" void decHotSpringTimer__13dMeter2Info_cFv(); -extern "C" void changeWater__13dMeter2Info_cFUc(); -extern "C" void setMiniGameItem__13dMeter2Info_cFUc(); -extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); -extern "C" void setMiniGameCount__13dMeter2Info_cFSc(); -extern "C" void setSaveStageName__13dMeter2Info_cFPCc(); -extern "C" void dMeter2Info_getNowLifeGauge__Fv(); -extern "C" void dMeter2Info_getNumberTextureName__Fi(); -extern "C" void dMeter2Info_getPlusTextureName__Fv(); -extern "C" void dMeter2Info_getPixel__FffffffPC7ResTIMG(); -extern "C" void dMeter2Info_setCloth__FUcb(); -extern "C" void dMeter2Info_setSword__FUcb(); -extern "C" void dMeter2Info_setShield__FUcb(); -extern "C" bool dMeter2Info_is2DActiveTouchArea__Fv(); -extern "C" void dMeter2Info_isMapOpenCheck__Fv(); -extern "C" void dMeter2Info_isItemOpenCheck__Fv(); -extern "C" void dMeter2Info_getRecieveLetterNum__Fv(); -extern "C" void dMeter2Info_getNewLetterNum__Fv(); -extern "C" void dMeter2Info_setNewLetterSender__Fv(); -extern "C" void dMeter2Info_recieveLetter__Fv(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void dMeter2Info_set2DVibrationM__Fv(); -extern "C" extern char const* const d_meter_d_meter2_info__stringBase0; -extern "C" u8 letter_data__12dMenu_Letter[512]; - -// -// External References: -// - -extern "C" void dComIfGs_setSelectItemIndex__FiUc(); -extern "C" void dComIfGs_setMixItemIndex__FiUc(); -extern "C" void dComIfGs_getMixItemIndex__Fi(); -extern "C" void dComIfGp_setSelectItem__Fi(); -extern "C" void dComIfGs_setSelectEquipClothes__FUc(); -extern "C" void dComIfGs_setSelectEquipSword__FUc(); -extern "C" void dComIfGs_setSelectEquipShield__FUc(); -extern "C" void dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc(); -extern "C" void dComIfGs_setWarpMarkFlag__FUc(); -extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void setBombNum__24dSv_player_item_record_cFUcUc(); -extern "C" void getBombNum__24dSv_player_item_record_cCFUc(); -extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc(); -extern "C" void onLetterGetFlag__17dSv_letter_info_cFi(); -extern "C" void isLetterGetFlag__17dSv_letter_info_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz(); -extern "C" void isMapOpenCheck__11dMeterMap_cFv(); -extern "C" void setLetterNameID__12dMsgObject_cFUs(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void getMsgNo__10dMsgFlow_cFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); -extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); -extern "C" void __register_global_object(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" void* item_resource__10dItem_data[1530]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399168 = ""; -SECTION_DEAD static char const* const stringBase_80399169 = "zel_00.bmg"; -#pragma pop /* 8021BDDC-8021BE20 21671C 0044+00 1/1 0/0 0/0 .text __ct__13dMeter2Info_cFv */ dMeter2Info_c::dMeter2Info_c() { @@ -150,37 +20,6 @@ dMeter2Info_c::dMeter2Info_c() { dMeter2Info_c::~dMeter2Info_c() {} -/* ############################################################################################## */ -/* 80454998-8045499C 002F98 0004+00 4/4 0/0 0/0 .sdata2 @3916 */ -SECTION_SDATA2 static u8 lit_3916[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8045499C-804549A0 002F9C 0004+00 1/1 0/0 0/0 .sdata2 @3917 */ -SECTION_SDATA2 static f32 lit_3917 = 1.0f; - -/* 804549A0-804549A4 002FA0 0004+00 1/1 0/0 0/0 .sdata2 @3918 */ -SECTION_SDATA2 static f32 lit_3918 = 30.0f; - -/* 804549A4-804549A8 002FA4 0004+00 1/1 0/0 0/0 .sdata2 @3919 */ -SECTION_SDATA2 static f32 lit_3919 = 304.0f; - -/* 804549A8-804549AC 002FA8 0004+00 1/1 0/0 0/0 .sdata2 @3920 */ -SECTION_SDATA2 static f32 lit_3920 = 224.0f; - -/* 804549AC-804549B0 002FAC 0004+00 1/1 0/0 0/0 .sdata2 @3921 */ -SECTION_SDATA2 static f32 lit_3921 = 608.0f; - -/* 804549B0-804549B8 002FB0 0004+04 1/1 0/0 0/0 .sdata2 @3922 */ -SECTION_SDATA2 static f32 lit_3922[1 + 1 /* padding */] = { - 448.0f, - /* padding */ - 0.0f, -}; - /* 8021BE68-8021C0E0 2167A8 0278+00 1/1 1/1 0/0 .text init__13dMeter2Info_cFv */ void dMeter2Info_c::init() { mMsgResource = NULL; @@ -399,14 +238,9 @@ void dMeter2Info_c::getStringKanji(u32 param_0, char* param_1, JMSMesgEntry_c* p // NONMATCHING } -/* ############################################################################################## */ -/* 804549B8-804549C0 002FB8 0008+00 2/2 0/0 0/0 .sdata2 @4108 */ -SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */; - /* 8021C6A4-8021C7F4 216FE4 0150+00 0/0 1/1 0/0 .text * getStringLength__13dMeter2Info_cFP10J2DTextBoxPc */ -// *str type issue -#ifdef NONMATCHING +// NONMATCHING *str type issue f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) { f32 strWidth = 0.0f; f32 strLength = strWidth; @@ -434,22 +268,10 @@ f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) { return strLength; } -#else -f32 dMeter2Info_c::getStringLength(J2DTextBox* param_0, char* param_1) { - // NONMATCHING -} -#endif - -/* 8021C7F4-8021C7FC 217134 0008+00 0/0 1/0 0/0 .text getFont__10J2DTextBoxCFv */ -//JUTFont* J2DTextBox::getFont() const { -void getFont__10J2DTextBoxCFv() { - // NONMATCHING -} /* 8021C7FC-8021C934 21713C 0138+00 0/0 3/3 0/0 .text * getStringLength__13dMeter2Info_cFP7JUTFontffPc */ -// getWidth argument type issue -#ifdef NONMATCHING +// NONMATCHING getWidth argument type issue f32 dMeter2Info_c::getStringLength(JUTFont* param_1, f32 param_2, f32 param_3, char* param_4) { f32 fVar1 = 0.0f; f32 dVar8 = 0.0f; @@ -469,11 +291,6 @@ f32 dMeter2Info_c::getStringLength(JUTFont* param_1, f32 param_2, f32 param_3, c } return dVar8; } -#else -f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) { - // NONMATCHING -} -#endif /* 8021C934-8021C950 217274 001C+00 0/0 2/2 0/0 .text onDirectUseItem__13dMeter2Info_cFi */ @@ -671,8 +488,7 @@ u8 dMeter2Info_c::getItemType(u8 itemNo) { /* 8021CF08-8021D36C 217848 0464+00 0/0 9/9 0/0 .text * readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2, void* param_3, J2DPicture* param_4, void* param_5, J2DPicture* param_6, void* param_7, J2DPicture* param_8, int param_9) { @@ -759,14 +575,6 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2 return ret; } -#else -int dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2, - void* param_3, J2DPicture* param_4, void* param_5, - J2DPicture* param_6, void* param_7, J2DPicture* param_8, - int param_9) { - // NONMATCHING -} -#endif /* 8021D36C-8021D44C 217CAC 00E0+00 0/0 2/2 0/0 .text * setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture */ @@ -885,277 +693,218 @@ s16 dMeter2Info_c::get4thTexture(u8 itemType) { } } -/* ############################################################################################## */ -/* 80398A78-80398B0C 0250D8 0094+00 2/2 0/0 0/0 .rodata black_color$4634 */ -SECTION_RODATA static GXColor const black_color_4634[37] = { - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00}, - {0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00}, - {0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00}, - {0x32, 0x00, 0x00, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00}, - {0xAF, 0x9B, 0x6E, 0x00}, {0xAA, 0x9B, 0x6E, 0x00}, {0x55, 0x37, 0x14, 0x00}, - {0x6E, 0x6E, 0x6E, 0x00}, {0x6E, 0x6E, 0x6E, 0x00}, {0xFF, 0x58, 0x00, 0x00}, - {0x6C, 0x3E, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x32, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7F, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x55, 0x37, 0x14, 0x00}, - {0x00, 0x00, 0x22, 0x00}, {0x2B, 0x18, 0x22, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, - {0x46, 0x46, 0x41, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, -}; -COMPILER_STRIP_GATE(0x80398A78, &black_color_4634); - -/* 80398B0C-80398BA0 02516C 0094+00 0/1 0/0 0/0 .rodata white_color$4635 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const white_color_4635[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF}, - {0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, - {0xFF, 0xD2, 0xAA, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xB0, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF}, - {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC2, 0xFF}, - {0xFF, 0x9D, 0x00, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, {0xFF, 0xD2, 0xAA, 0xFF}, - {0xB0, 0xFF, 0xFF, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF}, - {0xD7, 0xCF, 0xF5, 0xFF}, {0xFF, 0xFF, 0x33, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, - {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, - {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398B0C, &white_color_4635); -#pragma pop - -/* 80398BA0-80398C34 025200 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4636 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_lu_4636[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00}, - {0xFF, 0x78, 0xAF, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xA4, 0xFF, 0x00, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0x78, 0xAF, 0xFF}, - {0xA4, 0xFF, 0x00, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, - {0xC9, 0xB4, 0xFF, 0xFF}, {0x3C, 0x0A, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, - {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398BA0, &vertex_color_lu_4636); -#pragma pop - -/* 80398C34-80398CC8 025294 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4637 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_ru_4637[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00}, - {0xFF, 0xFF, 0x73, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0x98, 0xFF, 0x00, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x73, 0xFF}, - {0x98, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0x39, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, - {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398C34, &vertex_color_ru_4637); -#pragma pop - -/* 80398CC8-80398D5C 025328 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4638 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_ld_4638[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF}, - {0xFF, 0x00, 0x00, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x00, 0x00, 0x74, 0xFF}, - {0xFA, 0xC8, 0x9B, 0xFF}, {0xFA, 0xC8, 0x9B, 0xFF}, {0x46, 0x87, 0x00, 0xFF}, - {0x5A, 0xB4, 0xB4, 0xFF}, {0x5A, 0xB4, 0xB4, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x00, 0x00, 0xFF}, - {0x00, 0x00, 0x74, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x46, 0x87, 0x00, 0xFF}, - {0x3C, 0x32, 0x50, 0x49}, {0xFF, 0xFF, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, - {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, - {0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398CC8, &vertex_color_ld_4638); -#pragma pop - -/* 80398D5C-80398DF0 0253BC 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4639 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_rd_4639[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF}, - {0xFF, 0x96, 0x00, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0x61, 0x48, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xAA, 0xFF}, {0xFF, 0xFF, 0xAA, 0xFF}, {0xAF, 0x91, 0x23, 0xFF}, - {0xE6, 0xFA, 0xFF, 0xFF}, {0xE6, 0xFA, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x96, 0x00, 0xFF}, - {0x61, 0x48, 0xFF, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0xAF, 0x91, 0x23, 0xFF}, - {0x3C, 0x09, 0x4E, 0xFF}, {0xBA, 0x98, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, - {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, - {0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398D5C, &vertex_color_rd_4639); -#pragma pop - /* 8021D524-8021D644 217E64 0120+00 2/2 0/0 0/0 .text set1stColor__13dMeter2Info_cFUcP10J2DPicture */ void dMeter2Info_c::set1stColor(u8 param_1, J2DPicture* param_2) { - param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4634[param_1], - *(JUtility::TColor*)&white_color_4635[param_1]); - param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4636[param_1], - *(JUtility::TColor*)&vertex_color_ru_4637[param_1], - *(JUtility::TColor*)&vertex_color_ld_4638[param_1], - *(JUtility::TColor*)&vertex_color_rd_4639[param_1]); + static GXColor const black_color[37] = { + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00}, + {0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00}, + {0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00}, + {0x32, 0x00, 0x00, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00}, + {0xAF, 0x9B, 0x6E, 0x00}, {0xAA, 0x9B, 0x6E, 0x00}, {0x55, 0x37, 0x14, 0x00}, + {0x6E, 0x6E, 0x6E, 0x00}, {0x6E, 0x6E, 0x6E, 0x00}, {0xFF, 0x58, 0x00, 0x00}, + {0x6C, 0x3E, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x32, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x7F, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x55, 0x37, 0x14, 0x00}, + {0x00, 0x00, 0x22, 0x00}, {0x2B, 0x18, 0x22, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, + {0x46, 0x46, 0x41, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, + }; + + static GXColor const white_color[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF}, + {0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, + {0xFF, 0xD2, 0xAA, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xB0, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF}, + {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC2, 0xFF}, + {0xFF, 0x9D, 0x00, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, {0xFF, 0xD2, 0xAA, 0xFF}, + {0xB0, 0xFF, 0xFF, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF}, + {0xD7, 0xCF, 0xF5, 0xFF}, {0xFF, 0xFF, 0x33, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, + {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, + {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_lu[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00}, + {0xFF, 0x78, 0xAF, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xA4, 0xFF, 0x00, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0x78, 0xAF, 0xFF}, + {0xA4, 0xFF, 0x00, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, + {0xC9, 0xB4, 0xFF, 0xFF}, {0x3C, 0x0A, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, + {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_ru[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00}, + {0xFF, 0xFF, 0x73, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0x98, 0xFF, 0x00, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x73, 0xFF}, + {0x98, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0x39, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, + {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_ld[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF}, + {0xFF, 0x00, 0x00, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x00, 0x00, 0x74, 0xFF}, + {0xFA, 0xC8, 0x9B, 0xFF}, {0xFA, 0xC8, 0x9B, 0xFF}, {0x46, 0x87, 0x00, 0xFF}, + {0x5A, 0xB4, 0xB4, 0xFF}, {0x5A, 0xB4, 0xB4, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x74, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x46, 0x87, 0x00, 0xFF}, + {0x3C, 0x32, 0x50, 0x49}, {0xFF, 0xFF, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_rd[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF}, + {0xFF, 0x96, 0x00, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0x61, 0x48, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xAA, 0xFF}, {0xFF, 0xFF, 0xAA, 0xFF}, {0xAF, 0x91, 0x23, 0xFF}, + {0xE6, 0xFA, 0xFF, 0xFF}, {0xE6, 0xFA, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x96, 0x00, 0xFF}, + {0x61, 0x48, 0xFF, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0xAF, 0x91, 0x23, 0xFF}, + {0x3C, 0x09, 0x4E, 0xFF}, {0xBA, 0x98, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1], + *(JUtility::TColor*)&white_color[param_1]); + param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1], + *(JUtility::TColor*)&vertex_color_ru[param_1], + *(JUtility::TColor*)&vertex_color_ld[param_1], + *(JUtility::TColor*)&vertex_color_rd[param_1]); } -/* ############################################################################################## */ -/* 80398DF0-80398E84 025450 0094+00 0/1 0/0 0/0 .rodata black_color$4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const black_color_4675[37] = { - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x86, 0xD4, 0x00}, {0xE6, 0x1E, 0xFF, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, -}; -COMPILER_STRIP_GATE(0x80398DF0, &black_color_4675); -#pragma pop - -/* 80398E84-80398F18 0254E4 0094+00 0/1 0/0 0/0 .rodata white_color$4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const white_color_4676[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xF5, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC8, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398E84, &white_color_4676); -#pragma pop - -/* 80398F18-80398FAC 025578 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_lu_4677[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0x00, 0x00, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398F18, &vertex_color_lu_4677); -#pragma pop - -/* 80398FAC-80399040 02560C 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_ru_4678[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0x00, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, - {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80398FAC, &vertex_color_ru_4678); -#pragma pop - -/* 80399040-803990D4 0256A0 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_ld_4679[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x80399040, &vertex_color_ld_4679); -#pragma pop - -/* 803990D4-80399168 025734 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static GXColor const vertex_color_rd_4680[37] = { - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, - {0xFF, 0xFF, 0xFF, 0xFF}, -}; -COMPILER_STRIP_GATE(0x803990D4, &vertex_color_rd_4680); -#pragma pop - /* 8021D644-8021D764 217F84 0120+00 2/2 0/0 0/0 .text set2ndColor__13dMeter2Info_cFUcP10J2DPicture */ void dMeter2Info_c::set2ndColor(u8 param_1, J2DPicture* param_2) { - param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4675[param_1], - *(JUtility::TColor*)&white_color_4676[param_1]); - param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4677[param_1], - *(JUtility::TColor*)&vertex_color_ru_4678[param_1], - *(JUtility::TColor*)&vertex_color_ld_4679[param_1], - *(JUtility::TColor*)&vertex_color_rd_4680[param_1]); + static GXColor const black_color[37] = { + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x86, 0xD4, 0x00}, {0xE6, 0x1E, 0xFF, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00}, + }; + + static GXColor const white_color[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xF5, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC8, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_lu[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0x00, 0x00, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_ru[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0x00, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, + {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_ld[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + static GXColor const vertex_color_rd[37] = { + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, + {0xFF, 0xFF, 0xFF, 0xFF}, + }; + + param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1], + *(JUtility::TColor*)&white_color[param_1]); + param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1], + *(JUtility::TColor*)&vertex_color_ru[param_1], + *(JUtility::TColor*)&vertex_color_ld[param_1], + *(JUtility::TColor*)&vertex_color_rd[param_1]); } /* 8021D764-8021DB64 2180A4 0400+00 2/2 0/0 0/0 .text set3rdColor__13dMeter2Info_cFUcP10J2DPicture @@ -1373,10 +1122,6 @@ const char* dMeter2Info_getPlusTextureName() { return tex_name; } -/* ############################################################################################## */ -/* 804549C0-804549C8 002FC0 0008+00 1/1 0/0 0/0 .sdata2 @5206 */ -SECTION_SDATA2 static f64 lit_5206 = 4503599627370496.0 /* cast u32 to float */; - /* 8021E308-8021E4B0 218C48 01A8+00 0/0 3/3 0/0 .text dMeter2Info_getPixel__FffffffPC7ResTIMG */ bool dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, ResTIMG const* param_6) { @@ -1469,7 +1214,7 @@ bool dMeter2Info_isItemOpenCheck() { } /* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */ -SECTION_DATA dMenu_LetterData dMenu_Letter::letter_data[64] = { +dMenu_LetterData dMenu_Letter::letter_data[64] = { {0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237}, {0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037}, {0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067}, @@ -1586,4 +1331,4 @@ void dMeter2Info_set2DVibration() {} */ void dMeter2Info_set2DVibrationM() {} -/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_msg_flow.cpp b/src/d/d_msg_flow.cpp index 1597046dbd..0151f7cfc8 100644 --- a/src/d/d_msg_flow.cpp +++ b/src/d/d_msg_flow.cpp @@ -10,421 +10,16 @@ #include "d/d_msg_object.h" #include "d/d_shop_system.h" #include "d/d_meter2_info.h" -#include "dol2asm.h" #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_graphic.h" #include "d/actor/d_a_midna.h" #include "SSystem/SComponent/c_math.h" -// -// Forward References: -// - -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void checkEventRender__10dMsgFlow_cFPiPiPiPi(); -extern "C" void remove__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void getMsgNo__10dMsgFlow_cFv(); -extern "C" void getNowMsgNo__10dMsgFlow_cFv(); -extern "C" void getMsg__10dMsgFlow_cFv(); -extern "C" void setInitValue__10dMsgFlow_cFi(); -extern "C" void setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c(); -extern "C" void getMsgDataBlock__10dMsgFlow_cFPCc(); -extern "C" void getInitNodeIndex__10dMsgFlow_cFUs(); -extern "C" void setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c(); -extern "C" void setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c(); -extern "C" void setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c(); -extern "C" void messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c(); -extern "C" void branchNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c(); -extern "C" void eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c(); -extern "C" void nodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c(); -extern "C" void getParam__10dMsgFlow_cFPUsPUsPUc(); -extern "C" void getParam__10dMsgFlow_cFPUcPUc(); -extern "C" void getParam__10dMsgFlow_cFPUc(); -extern "C" void query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query002__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query004__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query006__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query011__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query012__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query013__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query014__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query015__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query016__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query017__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query018__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query019__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query020__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query021__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query026__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query030__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query033__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query034__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query035__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query036__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query037__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query044__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" bool query047__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query048__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query049__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query050__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query051__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query052__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void query053__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event006__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event007__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event008__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event009__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event010__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event011__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" bool event012__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event013__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event014__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event015__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event016__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event017__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event018__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" bool event019__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event020__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event025__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event026__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event030__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event031__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event035__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event036__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event037__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event038__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event039__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" bool event042__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c(); -extern "C" void func_8024DAB0(void* _this, s32*); -extern "C" void __sinit_d_msg_flow_cpp(); -extern "C" extern char const* const d_msg_d_msg_flow__stringBase0; -extern "C" u8 mQueryList__10dMsgFlow_c[636]; -extern "C" u8 mEventList__10dMsgFlow_c[516]; - -// -// External References: -// - -extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor(); -extern "C" void fopMsgM_SearchByID__FUi(); -extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl(); -extern "C" void fopMsgM_messageSet__FUlUl(); -extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); -extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGs_onZoneSwitch__Fii(); -extern "C" void dComIfGs_offZoneSwitch__Fii(); -extern "C" void dComIfGs_isZoneSwitch__Fii(); -extern "C" void dComIfGs_onOneZoneSwitch__Fii(); -extern "C" void dComIfGs_offOneZoneSwitch__Fii(); -extern "C" void dComIfGs_isOneZoneSwitch__Fii(); -extern "C" void dComIfGs_isZoneItem__Fii(); -extern "C" void dComIfGs_isOneZoneItem__Fii(); -extern "C" void dComIfGs_setSelectItemIndex__FiUc(); -extern "C" void dComIfGs_setMixItemIndex__FiUc(); -extern "C" void dComIfGs_getMixItemIndex__Fi(); -extern "C" void dComIfGp_setSelectItem__Fi(); -extern "C" void dComIfGs_checkGetInsectNum__Fv(); -extern "C" void daNpcKakashi_getSwdTutorialStep__Fv(); -extern "C" void daNpcKakashi_getSwdTutorialResult__Fv(); -extern "C" void daNpcKakashi_getSuccessCount__Fv(); -extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi(); -extern "C" void getRupeeMax__21dSv_player_status_a_cCFv(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void setBottleItemIn__17dSv_player_item_cFUcUc(); -extern "C" void setEmptyBottleItemIn__17dSv_player_item_cFUc(); -extern "C" void checkInsectBottle__17dSv_player_item_cFv(); -extern "C" void checkEmptyBottle__17dSv_player_item_cFv(); -extern "C" void checkBombBag__17dSv_player_item_cFUc(); -extern "C" void setWarashibeItem__17dSv_player_item_cFUc(); -extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void setBombNum__24dSv_player_item_record_cFUcUc(); -extern "C" void getBombNum__24dSv_player_item_record_cCFUc(); -extern "C" void getBombNum__21dSv_player_item_max_cCFUc(); -extern "C" void getLightDropNum__16dSv_light_drop_cCFUc(); -extern "C" void onLightDropGetFlag__16dSv_light_drop_cFUc(); -extern "C" void isTbox__12dSv_memBit_cCFi(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void offSwitch__12dSv_memBit_cFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void setEventReg__11dSv_event_cFUsUc(); -extern "C" void getEventReg__11dSv_event_cCFUs(); -extern "C" void onSwitch__12dSv_danBit_cFi(); -extern "C" void offSwitch__12dSv_danBit_cFi(); -extern "C" void isSwitch__12dSv_danBit_cCFi(); -extern "C" void isItem__12dSv_danBit_cCFi(); -extern "C" void checkDistance__12dAttention_cFP4cXyzsP4cXyzffff(); -extern "C" void execItemGet__FUc(); -extern "C" void checkItemGet__FUci(); -extern "C" void setMidnaMsg__9daAlink_cFv(); -extern "C" void getDistTable__12dAttention_cFi(); -extern "C" void getAttentionOffsetY__9daPy_py_cFv(); -extern "C" void setMidnaMotionNum__9daPy_py_cFi(); -extern "C" void setMidnaFaceNum__9daPy_py_cFi(); -extern "C" void isFlag__13dShopSystem_cFi(); -extern "C" void setSoldOutFlag__13dShopSystem_cFv(); -extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); -extern "C" void dMeter2Info_getNewLetterNum__Fv(); -extern "C" void dMeter2Info_setNewLetterSender__Fv(); -extern "C" void dMeter2Info_recieveLetter__Fv(); -extern "C" void isMidonaMessage__12dMsgObject_cFv(); -extern "C" void isKillMessageFlag__12dMsgObject_cFv(); -extern "C" void onKillMessageFlag__12dMsgObject_cFv(); -extern "C" void setTalkPartner__12dMsgObject_cFP10fopAc_ac_c(); -extern "C" void setNowTalkFlowNo__12dMsgObject_cFs(); -extern "C" void changeFlowGroup__12dMsgObject_cFl(); -extern "C" void endFlowGroup__12dMsgObject_cFv(); -extern "C" void getMsgDtPtr__12dMsgObject_cFv(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void setSelectCursorPos__12dMsgObject_cFUc(); -extern "C" void setArrowNum__12dMsgObject_cFUc(); -extern "C" void setSelectWordFlag__12dMsgObject_cFUc(); -extern "C" void getSelectBombBagID__12dMsgObject_cFv(); -extern "C" void getSelectBombPrice__12dMsgObject_cFv(); -extern "C" void setEquipBombInfo__12dMsgObject_cFv(); -extern "C" void setSelectCancelPos__12dMsgObject_cFUc(); -extern "C" void dMsgObject_getFundRaising__Fv(); -extern "C" void dMsgObject_setFundRaising__FUs(); -extern "C" void dMsgObject_getOffering__Fv(); -extern "C" void dMsgObject_addOffering__Fs(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_rndF__Ff(); -extern "C" void __mi__7cSAngleCFs(); -extern "C" void __ct__7cSGlobeFRC4cXyz(); -extern "C" void messageSePlay__7Z2SeMgrFUsP3VecSc(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern dScnKy_env_light_c g_env_light; -extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; -extern "C" extern GXColor g_saftyWhiteColor; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803C14B8-803C14C4 01E5D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803C14C4-803C151C -00001 0058+00 1/1 0/0 0/0 .data @4646 */ -SECTION_DATA static void* lit_4646[22] = { - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x138), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140), -}; - -/* 803C151C-803C1584 -00001 0068+00 1/1 0/0 0/0 .data @4645 */ -SECTION_DATA static void* lit_4645[26] = { - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0), - (void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC), -}; - -/* 803C1584-803C15D0 -00001 004C+00 1/1 0/0 0/0 .data @4936 */ -SECTION_DATA static void* lit_4936[19] = { - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x14C), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x160), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208), - (void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC), -}; - -/* 803C184C-803C1AC8 01E96C 027C+00 2/3 0/0 0/0 .data mQueryList__10dMsgFlow_c */ -SECTION_DATA queryFunc dMsgFlow_c::mQueryList[53] = { - &dMsgFlow_c::query005, &dMsgFlow_c::query001, &dMsgFlow_c::query002, &dMsgFlow_c::query003, - &dMsgFlow_c::query006, &dMsgFlow_c::query007, &dMsgFlow_c::query004, &dMsgFlow_c::query008, - &dMsgFlow_c::query009, &dMsgFlow_c::query010, &dMsgFlow_c::query011, &dMsgFlow_c::query012, - &dMsgFlow_c::query013, &dMsgFlow_c::query014, &dMsgFlow_c::query015, &dMsgFlow_c::query016, - &dMsgFlow_c::query017, &dMsgFlow_c::query018, &dMsgFlow_c::query019, &dMsgFlow_c::query020, - &dMsgFlow_c::query021, &dMsgFlow_c::query022, &dMsgFlow_c::query023, &dMsgFlow_c::query024, - &dMsgFlow_c::query025, &dMsgFlow_c::query026, &dMsgFlow_c::query027, &dMsgFlow_c::query028, - &dMsgFlow_c::query029, &dMsgFlow_c::query030, &dMsgFlow_c::query031, &dMsgFlow_c::query032, - &dMsgFlow_c::query033, &dMsgFlow_c::query034, &dMsgFlow_c::query035, &dMsgFlow_c::query036, - &dMsgFlow_c::query037, &dMsgFlow_c::query038, &dMsgFlow_c::query039, &dMsgFlow_c::query040, - &dMsgFlow_c::query041, &dMsgFlow_c::query042, &dMsgFlow_c::query043, &dMsgFlow_c::query044, - &dMsgFlow_c::query045, &dMsgFlow_c::query046, &dMsgFlow_c::query047, &dMsgFlow_c::query048, - &dMsgFlow_c::query049, &dMsgFlow_c::query050, &dMsgFlow_c::query051, &dMsgFlow_c::query052, - &dMsgFlow_c::query053, -}; - -/* 803C1CCC-803C1ED0 01EDEC 0204+00 1/2 0/0 0/0 .data mEventList__10dMsgFlow_c */ -SECTION_DATA eventFunc dMsgFlow_c::mEventList[43] = { - &dMsgFlow_c::event000, &dMsgFlow_c::event001, &dMsgFlow_c::event002, &dMsgFlow_c::event003, - &dMsgFlow_c::event004, &dMsgFlow_c::event005, &dMsgFlow_c::event006, &dMsgFlow_c::event007, - &dMsgFlow_c::event008, &dMsgFlow_c::event009, &dMsgFlow_c::event010, &dMsgFlow_c::event011, - &dMsgFlow_c::event012, &dMsgFlow_c::event013, &dMsgFlow_c::event014, &dMsgFlow_c::event015, - &dMsgFlow_c::event016, &dMsgFlow_c::event017, &dMsgFlow_c::event018, &dMsgFlow_c::event019, - &dMsgFlow_c::event020, &dMsgFlow_c::event021, &dMsgFlow_c::event022, &dMsgFlow_c::event023, - &dMsgFlow_c::event024, &dMsgFlow_c::event025, &dMsgFlow_c::event026, &dMsgFlow_c::event027, - &dMsgFlow_c::event028, &dMsgFlow_c::event029, &dMsgFlow_c::event030, &dMsgFlow_c::event031, - &dMsgFlow_c::event032, &dMsgFlow_c::event033, &dMsgFlow_c::event034, &dMsgFlow_c::event035, - &dMsgFlow_c::event036, &dMsgFlow_c::event037, &dMsgFlow_c::event038, &dMsgFlow_c::event039, - &dMsgFlow_c::event040, &dMsgFlow_c::event041, &dMsgFlow_c::event042, -}; - -/* 803C1ED0-803C1EF0 -00001 0020+00 1/1 0/0 0/0 .data @6324 */ -SECTION_DATA static void* lit_6324[8] = { - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xD8), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x4C), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x64), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x7C), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x94), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xAC), - (void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4), -}; - -/* 803C1EF0-803C1F20 -00001 0030+00 1/1 0/0 0/0 .data @6503 */ -SECTION_DATA static void* lit_6503[12] = { - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x160), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x1FC), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x2B8), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x308), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x358), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4), - (void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4), -}; - -/* 803C1F20-803C1F40 -00001 0020+00 1/1 0/0 0/0 .data @6752 */ -SECTION_DATA static void* lit_6752[8] = { - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xF4), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x50), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x6C), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x88), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xA4), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC0), - (void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xDC), -}; - /* 80249F00-80249F48 244840 0048+00 0/0 5/5 154/154 .text __ct__10dMsgFlow_cFv */ dMsgFlow_c::dMsgFlow_c() { mNonStopJunpFlowFlag = 0; @@ -434,14 +29,6 @@ dMsgFlow_c::dMsgFlow_c() { /* 80249F48-80249F90 244888 0048+00 1/0 7/7 111/111 .text __dt__10dMsgFlow_cFv */ dMsgFlow_c::~dMsgFlow_c() {} -/* ############################################################################################## */ -/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399CB0 = "FLW1"; -SECTION_DEAD static char const* const stringBase_80399CB5 = "FLI1"; -#pragma pop - /* 80249F90-8024A13C 2448D0 01AC+00 0/0 10/10 86/86 .text * init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c */ void dMsgFlow_c::init(fopAc_ac_c* i_partner, int i_flowID, int param_2, fopAc_ac_c** param_3) { @@ -485,10 +72,13 @@ void dMsgFlow_c::init(fopAc_ac_c* i_partner, int i_flowID, int param_2, fopAc_ac } } +static void dummy() { + DEAD_STRING(""); +} + /* 8024A13C-8024A2D8 244A7C 019C+00 2/0 0/0 2/2 .text checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi */ -// regalloc, instruction issues -#ifdef NONMATCHING +// NONMATCHING regalloc, instruction issues int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) { if (dMsgObject_isTalkNowCheck()) { return 0; @@ -551,11 +141,6 @@ int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) { } } -#else -int dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) { - // NONMATCHING -} -#endif /* 8024A2D8-8024A424 244C18 014C+00 0/0 21/21 78/78 .text * doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci */ @@ -739,8 +324,6 @@ void dMsgFlow_c::setInitValueGroupChange(int param_1, fopAc_ac_c** param_2) { setNodeIndex(getInitNodeIndex(mFlow), param_2); } -/* ############################################################################################## */ - /* 8024A6EC-8024A784 24502C 0098+00 4/4 0/0 0/0 .text getMsgDataBlock__10dMsgFlow_cFPCc */ u8* dMsgFlow_c::getMsgDataBlock(char const* block_tag) { @@ -838,14 +421,6 @@ void dMsgFlow_c::setNodeIndex(u16 param_1, fopAc_ac_c** param_2) { field_0x10 = param_1; } -/* ############################################################################################## */ -/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399CBA = ""; -SECTION_DEAD static char const* const stringBase_80399CBB = "INF1"; -#pragma pop - /* 8024A95C-8024AA50 24529C 00F4+00 1/1 0/0 0/0 .text * setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c */ int dMsgFlow_c::setSelectMsg(mesg_flow_node* param_1, mesg_flow_node* param_2, @@ -1112,6 +687,24 @@ int dMsgFlow_c::getParam(u8* params) { return *(int*)params; } +/* 803C184C-803C1AC8 01E96C 027C+00 2/3 0/0 0/0 .data mQueryList__10dMsgFlow_c */ +queryFunc dMsgFlow_c::mQueryList[53] = { + &dMsgFlow_c::query005, &dMsgFlow_c::query001, &dMsgFlow_c::query002, &dMsgFlow_c::query003, + &dMsgFlow_c::query006, &dMsgFlow_c::query007, &dMsgFlow_c::query004, &dMsgFlow_c::query008, + &dMsgFlow_c::query009, &dMsgFlow_c::query010, &dMsgFlow_c::query011, &dMsgFlow_c::query012, + &dMsgFlow_c::query013, &dMsgFlow_c::query014, &dMsgFlow_c::query015, &dMsgFlow_c::query016, + &dMsgFlow_c::query017, &dMsgFlow_c::query018, &dMsgFlow_c::query019, &dMsgFlow_c::query020, + &dMsgFlow_c::query021, &dMsgFlow_c::query022, &dMsgFlow_c::query023, &dMsgFlow_c::query024, + &dMsgFlow_c::query025, &dMsgFlow_c::query026, &dMsgFlow_c::query027, &dMsgFlow_c::query028, + &dMsgFlow_c::query029, &dMsgFlow_c::query030, &dMsgFlow_c::query031, &dMsgFlow_c::query032, + &dMsgFlow_c::query033, &dMsgFlow_c::query034, &dMsgFlow_c::query035, &dMsgFlow_c::query036, + &dMsgFlow_c::query037, &dMsgFlow_c::query038, &dMsgFlow_c::query039, &dMsgFlow_c::query040, + &dMsgFlow_c::query041, &dMsgFlow_c::query042, &dMsgFlow_c::query043, &dMsgFlow_c::query044, + &dMsgFlow_c::query045, &dMsgFlow_c::query046, &dMsgFlow_c::query047, &dMsgFlow_c::query048, + &dMsgFlow_c::query049, &dMsgFlow_c::query050, &dMsgFlow_c::query051, &dMsgFlow_c::query052, + &dMsgFlow_c::query053, +}; + /* 8024B138-8024B180 245A78 0048+00 1/0 0/0 0/0 .text * query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ int dMsgFlow_c::query001(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { @@ -1135,10 +728,6 @@ int dMsgFlow_c::query002(mesg_flow_node_branch*, fopAc_ac_c*, int) { return 0; } -/* ############################################################################################## */ -/* 80454D90-80454D98 003390 0008+00 5/5 0/0 0/0 .sdata2 @5116 */ -SECTION_SDATA2 static f64 lit_5116 = 4503599627370496.0 /* cast u32 to float */; - /* 8024B208-8024B250 245B48 0048+00 1/0 0/0 0/0 .text * query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ int dMsgFlow_c::query003(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { @@ -1182,18 +771,17 @@ int dMsgFlow_c::query006(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, /* 8024B32C-8024B45C 245C6C 0130+00 1/0 0/0 0/0 .text * query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -// instruction order and u16 issue -#ifdef NONMATCHING +// NONMATCHING regalloc and u16 issue int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - u32 uVar3 = *(u16*)(flow_node->params); + u16 uVar3 = *(u16*)(flow_node->params); cXyz this_00 = daPy_getPlayerActorClass()->attention_info.position; this_00.y -= daPy_getPlayerActorClass()->getAttentionOffsetY(); - s16 uVar8 = (cSGlobe(param_1->attention_info.position - this_00).U() - daPy_getPlayerActorClass()->shape_angle.GetY()); + s16 uVar8 = cSGlobe(param_1->attention_info.position - this_00).U() + - fopAcM_GetShapeAngle_p(daPy_getPlayerActorClass())->y; u8 attentionId = param_1->attention_info.distances[fopAc_attn_SPEAK_e]; f32 fVar1 = dAttention_c::getDistTable(attentionId).mDistMaxRelease; - u16 x = uVar3; - if (x != 0) { - fVar1 = x; + if (uVar3 != 0) { + fVar1 = uVar3; } return (u16) dComIfGp_getAttention().checkDistance( @@ -1203,11 +791,6 @@ int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, dAttention_c::getDistTable(attentionId).mLowerY); } -#else -int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - // NONMATCHING -} -#endif /* 8024B45C-8024B4A4 245D9C 0048+00 1/0 0/0 0/0 .text * query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1323,19 +906,15 @@ int dMsgFlow_c::query021(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, // NONMATCHING } -#ifdef NONMATCHING /* 8024B8E4-8024B918 246224 0034+00 1/0 0/0 0/0 .text * query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ +// NONMATCHING int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { // fake match but 0 comparison zeroes out 24 bits while this function zeroes out 16 // return (__cntlzw(checkItemGet(flow_node->params[0], 1)) >> 5) & 0xffff; return checkItemGet(flow_node->params[0], 1) == 0; } -#else -int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - // NONMATCHING -} -#endif + /* 8024B918-8024B954 246258 003C+00 1/0 0/0 0/0 .text * query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1365,19 +944,14 @@ int dMsgFlow_c::query026(mesg_flow_node_branch*, fopAc_ac_c* actor, int) { /* 8024B9E8-8024BA4C 246328 0064+00 1/0 0/0 0/0 .text * query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#ifdef NONMATCHING +// NONMATCHING int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - u8 uVar1 = *(u16*)flow_node->params; + u8 uVar1 = *(u16*)flow_node->params & 0xff; if (uVar1 == 0) { uVar1 = dComIfGp_getNeedLightDropNum(); } return dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()) < uVar1; } -#else -int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - // NONMATCHING -} -#endif /* 8024BA4C-8024BAA0 24638C 0054+00 1/0 0/0 0/0 .text * query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1708,6 +1282,21 @@ int dMsgFlow_c::query053(mesg_flow_node_branch*, fopAc_ac_c*, int) { return phi_r4; } +/* 803C1CCC-803C1ED0 01EDEC 0204+00 1/2 0/0 0/0 .data mEventList__10dMsgFlow_c */ +eventFunc dMsgFlow_c::mEventList[43] = { + &dMsgFlow_c::event000, &dMsgFlow_c::event001, &dMsgFlow_c::event002, &dMsgFlow_c::event003, + &dMsgFlow_c::event004, &dMsgFlow_c::event005, &dMsgFlow_c::event006, &dMsgFlow_c::event007, + &dMsgFlow_c::event008, &dMsgFlow_c::event009, &dMsgFlow_c::event010, &dMsgFlow_c::event011, + &dMsgFlow_c::event012, &dMsgFlow_c::event013, &dMsgFlow_c::event014, &dMsgFlow_c::event015, + &dMsgFlow_c::event016, &dMsgFlow_c::event017, &dMsgFlow_c::event018, &dMsgFlow_c::event019, + &dMsgFlow_c::event020, &dMsgFlow_c::event021, &dMsgFlow_c::event022, &dMsgFlow_c::event023, + &dMsgFlow_c::event024, &dMsgFlow_c::event025, &dMsgFlow_c::event026, &dMsgFlow_c::event027, + &dMsgFlow_c::event028, &dMsgFlow_c::event029, &dMsgFlow_c::event030, &dMsgFlow_c::event031, + &dMsgFlow_c::event032, &dMsgFlow_c::event033, &dMsgFlow_c::event034, &dMsgFlow_c::event035, + &dMsgFlow_c::event036, &dMsgFlow_c::event037, &dMsgFlow_c::event038, &dMsgFlow_c::event039, + &dMsgFlow_c::event040, &dMsgFlow_c::event041, &dMsgFlow_c::event042, +}; + /* 8024C3FC-8024C488 246D3C 008C+00 1/0 0/0 0/0 .text * event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event000(mesg_flow_node_event* flow_node, fopAc_ac_c*) { @@ -1758,10 +1347,6 @@ int dMsgFlow_c::event003(mesg_flow_node_event* flow_node, fopAc_ac_c*) { return 1; } -/* ############################################################################################## */ -/* 80454DA0-80454DA8 0033A0 0008+00 3/3 0/0 0/0 .sdata2 @6040 */ -SECTION_SDATA2 static f64 lit_6040 = 4503601774854144.0 /* cast s32 to float */; - /* 8024C590-8024C5F0 246ED0 0060+00 1/0 0/0 0/0 .text * event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event004(mesg_flow_node_event* flow_node, fopAc_ac_c*) { @@ -2045,20 +1630,10 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { /* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text * event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ -#ifdef NONMATCHING int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { cLib_calcTimer(&field_0x3c); return 1; } -#else -int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */ -SECTION_SDATA2 static f32 lit_6273 = 100.0f; /* 8024CDAC-8024CE40 2476EC 0094+00 1/0 0/0 0/0 .text * event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ @@ -2072,7 +1647,6 @@ int dMsgFlow_c::event022(mesg_flow_node_event* flow_node, fopAc_ac_c*) { return 1; } - /* 8024CE40-8024CF2C 247780 00EC+00 2/0 0/0 0/0 .text * event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event023(mesg_flow_node_event* flow_node, fopAc_ac_c*) { @@ -2105,7 +1679,6 @@ int dMsgFlow_c::event023(mesg_flow_node_event* flow_node, fopAc_ac_c*) { return 1; } - /* 8024CF2C-8024CF54 24786C 0028+00 1/0 0/0 0/0 .text * event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event024(mesg_flow_node_event*, fopAc_ac_c* actor) { @@ -2230,8 +1803,7 @@ int dMsgFlow_c::event027(mesg_flow_node_event* flow_node, fopAc_ac_c*) { /* 8024D3C4-8024D500 247D04 013C+00 1/0 0/0 0/0 .text * event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { dMsgObject_c::setSelectCursorPos(dComIfGs_getTmpReg(0xFBFF) - 1); u8 bagID = dMsgObject_c::getSelectBombBagID(); @@ -2259,11 +1831,6 @@ int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { return 1; } -#else -int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { - // NONMATCHING -} -#endif /* 8024D500-8024D544 247E40 0044+00 1/0 0/0 0/0 .text * event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ @@ -2304,10 +1871,6 @@ int dMsgFlow_c::event031(mesg_flow_node_event*, fopAc_ac_c*) { return 1; } -/* ############################################################################################## */ -/* 80454DAC-80454DB0 0033AC 0004+00 2/2 0/0 0/0 .sdata2 @6613 */ -SECTION_SDATA2 static f32 lit_6613 = 1.0f; - /* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text * event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { @@ -2331,7 +1894,6 @@ int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { return 1; } - /* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text * event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { @@ -2355,7 +1917,6 @@ int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { return 1; } - /* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text * event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event034(mesg_flow_node_event* flow_node, fopAc_ac_c*) { @@ -2450,7 +2011,6 @@ int dMsgFlow_c::event040(mesg_flow_node_event* flow_node, fopAc_ac_c*) { return 1; } - /* 8024DA78-8024DAA8 2483B8 0030+00 1/0 0/0 0/0 .text * event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ int dMsgFlow_c::event041(mesg_flow_node_event* flow_node, fopAc_ac_c*) { @@ -2465,10 +2025,3 @@ int dMsgFlow_c::event041(mesg_flow_node_event* flow_node, fopAc_ac_c*) { int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) { return 1; } - -/* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer__FPl */ -extern "C" void func_8024DAB0(void* _this, s32* param_0) { - // NONMATCHING -} - -/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_msg_scrn_3select.cpp b/src/d/d_msg_scrn_3select.cpp index c8b97d2a1a..d9dc0793fb 100644 --- a/src/d/d_msg_scrn_3select.cpp +++ b/src/d/d_msg_scrn_3select.cpp @@ -14,13 +14,6 @@ #include "d/d_msg_object.h" #include "d/d_pane_class.h" -extern "C" void __dl__FPv(); -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__10JUTNameTab[3]; -extern "C" extern void* __vt__14J2DAnmColorKey[5]; -extern "C" extern void* __vt__11J2DAnmColor[5]; -extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; - /* 803C0C00-803C0C0C 01DD20 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -68,7 +61,7 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() { mBckFrame = 190.0f; mOffsetX = 0.0f; - mpAnmBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load( + mpAnmBpk = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load( JKRGetNameResource("zelda_window_3menu.bpk", dComIfGp_getMsgArchive(0))); mpAnmBpk->searchUpdateMaterialID(mpScreen); mBpkFrame = 0.0f; @@ -228,12 +221,6 @@ dMsgScrn3Select_c::~dMsgScrn3Select_c() { } } -/* 80239BE0-80239C64 234520 0084+00 0/0 1/0 0/0 .text __dt__14J2DAnmColorKeyFv */ -// J2DAnmColorKey::~J2DAnmColorKey() { -extern "C" void __dt__14J2DAnmColorKeyFv() { - // NONMATCHING -} - /* 80239C64-80239C78 2345A4 0014+00 0/0 5/5 0/0 .text isSelect__17dMsgScrn3Select_cFv */ bool dMsgScrn3Select_c::isSelect() { return mProcess == PROC_SELECT_e ? TRUE : FALSE; @@ -977,4 +964,4 @@ void dMsgScrn3Select_c::selectAnimeTransform(int i_sel) { mpSel_c[i_sel]->getPanePtr()->setAnimation((J2DAnmTransform*)NULL); onAnimeUpdate(i_sel); -} \ No newline at end of file +} diff --git a/src/d/d_msg_scrn_item.cpp b/src/d/d_msg_scrn_item.cpp index bc585a6db6..a62a42f9bd 100644 --- a/src/d/d_msg_scrn_item.cpp +++ b/src/d/d_msg_scrn_item.cpp @@ -19,184 +19,6 @@ #include "JSystem/J2DGraph/J2DGrafContext.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JUtility/JUTTexture.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap(); -extern "C" void __dt__14dMsgScrnItem_cFv(); -extern "C" void exec__14dMsgScrnItem_cFv(); -extern "C" void drawSelf__14dMsgScrnItem_cFv(); -extern "C" void arwAnimeInit__14dMsgScrnItem_cFv(); -extern "C" void arwAnimeMove__14dMsgScrnItem_cFv(); -extern "C" void dotAnimeInit__14dMsgScrnItem_cFv(); -extern "C" void dotAnimeMove__14dMsgScrnItem_cFv(); -extern "C" void setSelectString__14dMsgScrnItem_cFPcPcPc(); -extern "C" void setSelectRubyString__14dMsgScrnItem_cFPcPcPc(); -extern "C" void isSelect__14dMsgScrnItem_cFv(); -extern "C" void selectAnimeInit__14dMsgScrnItem_cFUcUcfUc(); -extern "C" void selectAnimeMove__14dMsgScrnItem_cFUcUcb(); -extern "C" void selectAnimeEnd__14dMsgScrnItem_cFv(); -extern "C" void fukiScale__14dMsgScrnItem_cFf(); -extern "C" void fukiTrans__14dMsgScrnItem_cFff(); -extern "C" void fukiAlpha__14dMsgScrnItem_cFf(); -extern "C" void fukiPosCalc__14dMsgScrnItem_cFUc(); -extern "C" void setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey(); -extern "C" void setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor(); -extern "C" void setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor(); -extern "C" void isOugiID__14dMsgScrnItem_cFv(); -extern "C" extern char const* const msg_scrn_d_msg_scrn_item__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void dComIfGp_getSubHeap2D__Fi(); -extern "C" void -readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei(); -extern "C" void -setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture(); -extern "C" void getActor__12dMsgObject_cFv(); -extern "C" void getMessageID__12dMsgObject_cFv(); -extern "C" void __ct__17dMsgScrn3Select_cFv(); -extern "C" void isSelect__17dMsgScrn3Select_cFv(); -extern "C" void setString__17dMsgScrn3Select_cFPcPcPc(); -extern "C" void setRubyString__17dMsgScrn3Select_cFPcPcPc(); -extern "C" void translate__17dMsgScrn3Select_cFff(); -extern "C" void draw__17dMsgScrn3Select_cFff(); -extern "C" void selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc(); -extern "C" void selAnimeMove__17dMsgScrn3Select_cFUcUcb(); -extern "C" void selAnimeEnd__17dMsgScrn3Select_cFv(); -extern "C" void getTextBoxWidth__17dMsgScrn3Select_cFv(); -extern "C" void getFontSize__17dMsgScrn3Select_cFv(); -extern "C" void getRubyFontSize__17dMsgScrn3Select_cFv(); -extern "C" void getCharSpace__17dMsgScrn3Select_cFv(); -extern "C" void getRubyCharSpace__17dMsgScrn3Select_cFv(); -extern "C" void getTextBoxGlobalPosX__17dMsgScrn3Select_cFi(); -extern "C" void getTextBoxGlobalPosY__17dMsgScrn3Select_cFi(); -extern "C" void __ct__15dMsgScrnArrow_cFv(); -extern "C" void draw__15dMsgScrnArrow_cFv(); -extern "C" void setPos__15dMsgScrnArrow_cFff(); -extern "C" void arwAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void arwAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" void __ct__14dMsgScrnBase_cFv(); -extern "C" void __dt__14dMsgScrnBase_cFv(); -extern "C" void init__14dMsgScrnBase_cFv(); -extern "C" void multiDraw__14dMsgScrnBase_cFv(); -extern "C" void draw__14dMsgScrnBase_cFv(); -extern "C" void drawOutFont__14dMsgScrnBase_cFfff(); -extern "C" void fontAlpha__14dMsgScrnBase_cFf(); -extern "C" void isTalkNow__14dMsgScrnBase_cFv(); -extern "C" void __ct__15dMsgScrnLight_cFUcUc(); -extern "C" void draw__15dMsgScrnLight_cFPffffffUc(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void reinit__8CPaneMgrFv(); -extern "C" void getGlobalPosX__8CPaneMgrFv(); -extern "C" void getGlobalPosY__8CPaneMgrFv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void getAlphaRate__13CPaneMgrAlphaFv(); -extern "C" bool __eq__4cXyzCFRC3Vec(); -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); -extern "C" void getBounds__7J2DPaneFv(); -extern "C" void setBasePosition__7J2DPaneF15J2DBasePosition(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" void* item_resource__10dItem_data[1530]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399990 = "zelda_item_get_window.blo"; -SECTION_DEAD static char const* const stringBase_803999AA = "zelda_item_get_window_text.blo"; -SECTION_DEAD static char const* const stringBase_803999C9 = "zelda_item_get_window.btk"; -SECTION_DEAD static char const* const stringBase_803999E3 = "zelda_item_get_window.bpk"; -SECTION_DEAD static char const* const stringBase_803999FD = "zelda_item_get_window_02.bpk"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80399A1A = "\0\0\0\0\0"; -#pragma pop - -/* 803C0F78-803C0FD0 01E098 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnItem_c */ -SECTION_DATA extern void* __vt__14dMsgScrnItem_c[22] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMsgScrnBase_cFv, - (void*)__dt__14dMsgScrnItem_cFv, - (void*)exec__14dMsgScrnItem_cFv, - (void*)multiDraw__14dMsgScrnBase_cFv, - (void*)drawSelf__14dMsgScrnItem_cFv, - (void*)setSelectString__14dMsgScrnItem_cFPcPcPc, - (void*)setSelectRubyString__14dMsgScrnItem_cFPcPcPc, - (void*)arwAnimeInit__14dMsgScrnItem_cFv, - (void*)arwAnimeMove__14dMsgScrnItem_cFv, - (void*)dotAnimeInit__14dMsgScrnItem_cFv, - (void*)dotAnimeMove__14dMsgScrnItem_cFv, - (void*)isSelect__14dMsgScrnItem_cFv, - (void*)selectAnimeInit__14dMsgScrnItem_cFUcUcfUc, - (void*)selectAnimeMove__14dMsgScrnItem_cFUcUcb, - (void*)selectAnimeEnd__14dMsgScrnItem_cFv, - (void*)fukiScale__14dMsgScrnItem_cFf, - (void*)fukiTrans__14dMsgScrnItem_cFff, - (void*)fukiAlpha__14dMsgScrnItem_cFf, - (void*)fontAlpha__14dMsgScrnBase_cFf, - (void*)fukiPosCalc__14dMsgScrnItem_cFUc, -}; - -/* 80454BF8-80454BFC 0031F8 0004+00 2/2 0/0 0/0 .sdata2 @4192 */ -SECTION_SDATA2 static f32 lit_4192 = 100.0f; - -/* 80454BFC-80454C00 0031FC 0004+00 3/3 0/0 0/0 .sdata2 @4193 */ -SECTION_SDATA2 static f32 lit_4193 = 1.0f; - -/* 80454C00-80454C04 003200 0004+00 1/1 0/0 0/0 .sdata2 @4194 */ -SECTION_SDATA2 static f32 lit_4194 = 48.0f; - -/* 80454C04-80454C08 003204 0004+00 3/3 0/0 0/0 .sdata2 @4195 */ -SECTION_SDATA2 static u8 lit_4195[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454C08-80454C0C 003208 0004+00 1/1 0/0 0/0 .sdata2 @4196 */ -SECTION_SDATA2 static f32 lit_4196 = 6.0f / 5.0f; - -/* 80454C0C-80454C10 00320C 0004+00 3/3 0/0 0/0 .sdata2 @4197 */ -SECTION_SDATA2 static f32 lit_4197 = 0.5f; - -/* 80454C10-80454C18 003210 0008+00 2/2 0/0 0/0 .sdata2 @4199 */ -SECTION_SDATA2 static f64 lit_4199 = 4503599627370496.0 /* cast u32 to float */; /* 8023E79C-8023F51C 2390DC 0D80+00 0/0 1/1 0/0 .text __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap */ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) { @@ -298,7 +120,7 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) { } mpScreen = new J2DScreen(); JUT_ASSERT(188, mpScreen != 0); - bool fg = mpScreen->setPriority("zelda_item_get_window_revo.blo", 0x1020000, dComIfGp_getMsgArchive(3)); + bool fg = mpScreen->setPriority("zelda_item_get_window.blo", 0x1020000, dComIfGp_getMsgArchive(3)); JUT_ASSERT(195, fg != false); dPaneClass_showNullPane(mpScreen); mpTxScreen = new J2DScreen(); @@ -350,13 +172,13 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) { JUT_ASSERT(312, mpMg_c[1] != 0); OSInitFastCast(); fukiPosCalc(param_1); - field_0x118[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.btk", dComIfGp_getMsgArchive(3))); + field_0x118[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window.btk", dComIfGp_getMsgArchive(3))); field_0x118[0]->searchUpdateMaterialID(mpScreen); field_0x140[0] = 0.0f; - field_0x12c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.bpk", dComIfGp_getMsgArchive(3))); + field_0x12c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window.bpk", dComIfGp_getMsgArchive(3))); field_0x12c[0]->searchUpdateMaterialID(mpScreen); field_0x154[0] = 0.0f; - field_0x12c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo_02.bpk", dComIfGp_getMsgArchive(3))); + field_0x12c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_02.bpk", dComIfGp_getMsgArchive(3))); field_0x12c[1]->searchUpdateMaterialID(mpScreen); field_0x154[1] = 0.0f; field_0x19d = false; @@ -475,10 +297,6 @@ dMsgScrnItem_c::~dMsgScrnItem_c() { dComIfGp_getMsgCommonArchive()->removeResourceAll();; } -/* ############################################################################################## */ -/* 80454C18-80454C20 003218 0008+00 2/2 0/0 0/0 .sdata2 @4388 */ -SECTION_SDATA2 static f64 lit_4388 = 4503601774854144.0 /* cast s32 to float */; - /* 8023F888-8023FB24 23A1C8 029C+00 1/0 0/0 0/0 .text exec__14dMsgScrnItem_cFv */ void dMsgScrnItem_c::exec() { f32 dVar12 = field_0x13c; @@ -529,20 +347,8 @@ void dMsgScrnItem_c::exec() { mpMg_c[1]->scale(g_MsgObject_HIO_c.mBoxItemTextSizeX, g_MsgObject_HIO_c.mBoxItemTextSizeY); } - -/* ############################################################################################## */ -/* 80454C20-80454C24 003220 0004+00 1/1 0/0 0/0 .sdata2 @4476 */ -SECTION_SDATA2 static f32 lit_4476 = 2.0f; - -/* 80454C24-80454C28 003224 0004+00 1/1 0/0 0/0 .sdata2 @4477 */ -SECTION_SDATA2 static f32 lit_4477 = 255.0f; - -/* 80454C28-80454C2C 003228 0004+00 1/1 0/0 0/0 .sdata2 @4478 */ -SECTION_SDATA2 static f32 lit_4478 = 3.0f / 5.0f; - /* 8023FB24-8023FF30 23A464 040C+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnItem_cFv */ -// Issues with float regs order -#ifdef NONMATCHING +// NONMATCHING Issues with float regs order void dMsgScrnItem_c::drawSelf() { J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); grafContext->setup2D(); @@ -556,7 +362,7 @@ void dMsgScrnItem_c::drawSelf() { dVar12 * g_MsgObject_HIO_c.mBoxItemHaloAlpha, mCharInfoPtr[i].mColorNo); } } - //f32 this_00 = mpTm_c[0]->getGlobalPosX(); + mpTm_c[0]->getGlobalPosX(); drawOutFont(g_MsgObject_HIO_c.mBoxItemTextPosX - 2.0f, g_MsgObject_HIO_c.mBoxItemTextPosY, 1.0f); mpTxScreen->draw(0.0f, 0.0f, grafContext); @@ -622,11 +428,6 @@ void dMsgScrnItem_c::drawSelf() { } } } -#else -void dMsgScrnItem_c::drawSelf() { - // NONMATCHING -} -#endif /* 8023FF30-8023FF54 23A870 0024+00 1/0 0/0 0/0 .text arwAnimeInit__14dMsgScrnItem_cFv */ void dMsgScrnItem_c::arwAnimeInit() { @@ -702,34 +503,6 @@ void dMsgScrnItem_c::fukiAlpha(f32 param_1) { } } -/* ############################################################################################## */ -/* 80454C2C-80454C30 00322C 0004+00 1/1 0/0 0/0 .sdata2 @4663 */ -SECTION_SDATA2 static f32 lit_4663 = 608.0f; - -/* 80454C30-80454C34 003230 0004+00 1/1 0/0 0/0 .sdata2 @4664 */ -SECTION_SDATA2 static f32 lit_4664 = 448.0f; - -/* 80454C34-80454C38 003234 0004+00 1/1 0/0 0/0 .sdata2 @4665 */ -SECTION_SDATA2 static f32 lit_4665 = 50.0f; - -/* 80454C38-80454C3C 003238 0004+00 1/1 0/0 0/0 .sdata2 @4666 */ -SECTION_SDATA2 static f32 lit_4666 = 105.0f; - -/* 80454C3C-80454C40 00323C 0004+00 1/1 0/0 0/0 .sdata2 @4667 */ -SECTION_SDATA2 static f32 lit_4667 = 486.0f; - -/* 80454C40-80454C44 003240 0004+00 1/1 0/0 0/0 .sdata2 @4668 */ -SECTION_SDATA2 static f32 lit_4668 = 230.0f; - -/* 80454C44-80454C48 003244 0004+00 1/1 0/0 0/0 .sdata2 @4669 */ -SECTION_SDATA2 static f32 lit_4669 = 235.0f; - -/* 80454C48-80454C4C 003248 0004+00 1/1 0/0 0/0 .sdata2 @4670 */ -SECTION_SDATA2 static f32 lit_4670 = 355.0f; - -/* 80454C4C-80454C50 00324C 0004+00 1/1 0/0 0/0 .sdata2 @4671 */ -SECTION_SDATA2 static f32 lit_4671 = 209.0f; - /* 80240174-8024074C 23AAB4 05D8+00 1/0 0/0 0/0 .text fukiPosCalc__14dMsgScrnItem_cFUc */ void dMsgScrnItem_c::fukiPosCalc(u8 param_1) { msg_class* iVar6 = dMsgObject_c::getActor(); @@ -864,4 +637,4 @@ bool dMsgScrnItem_c::isOugiID() { return false; } -/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index a84bee23eb..821967ce3f 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -20,7 +20,7 @@ #include "d/actor/d_a_player.h" #include "SSystem/SComponent/c_math.h" -extern "C" extern u8 JPTracePCB4[4]; +extern JPAParticleCallBack* JPTracePCB4; /* 80049420-80049580 043D60 0160+00 4/4 0/0 0/0 .text dPa_cleanupGX__Fv */ static void dPa_cleanupGX() { @@ -121,10 +121,10 @@ void dPa_followEcallBack::end() { /* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack */ -dPa_modelEcallBack* dPa_modelEcallBack::mEcallback; +dPa_modelEcallBack dPa_modelEcallBack::mEcallback; /* 80450E94-80450E98 000394 0004+00 2/2 0/0 0/0 .sbss mPcallback__18dPa_modelEcallBack */ -u8 dPa_modelEcallBack::mPcallback[4]; +dPa_modelPcallBack dPa_modelEcallBack::mPcallback; /* 80450E98-80450E9C 000398 0004+00 5/5 0/0 0/0 .sbss mModel__18dPa_modelEcallBack */ dPa_modelEcallBack::model_c* dPa_modelEcallBack::mModel; @@ -643,7 +643,7 @@ void dPa_modelEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, struct_80450E9D -= (x) * sVar1; if (mModel[struct_80450E9D].getModelData() == NULL) { param_0->setUserWork(struct_80450E9D++); - param_0->setParticleCallBackPtr((JPAParticleCallBack*)&mPcallback[0]); + param_0->setParticleCallBackPtr(&mPcallback); return; } struct_80450E9D++; @@ -810,16 +810,6 @@ dPa_simpleData_c::dPa_simpleData_c() { /* empty function */ } -/* ############################################################################################## */ -/* 80424710-8042471C 051430 000C+00 1/1 0/0 0/0 .bss @4053 */ -static u8 lit_4053[12]; - -/* 8042471C-80424728 05143C 000C+00 0/1 0/0 0/0 .bss @4054 */ -#pragma push -#pragma force_active on -static u8 lit_4054[12]; -#pragma pop - /* 8004B064-8004B168 0459A4 0104+00 2/2 0/0 0/0 .text * createEmitter__19dPa_simpleEcallBackFP17JPAEmitterManager */ JPABaseEmitter* dPa_simpleEcallBack::createEmitter(JPAEmitterManager* param_0) { @@ -878,7 +868,7 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u GXColor local_64 = {0xff, 0xff, 0xff, 0xff}; GXColor local_68 = {0xff, 0xff, 0xff, 0xff}; if (¶m_5 != NULL) { - local_64 = param_5;; + local_64 = param_5; } if (¶m_4 != NULL) { local_68 = param_4; @@ -935,7 +925,6 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u return 1; } - /* 8004B4E0-8004B504 045E20 0024+00 1/0 0/0 0/0 .text * execute__17dPa_windPcallBackFP14JPABaseEmitterP15JPABaseParticle */ void dPa_windPcallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { @@ -980,8 +969,7 @@ void dPa_control_c::level_c::emitter_c::cleanup() { pdVar1 != dPa_control_c::getLight8EcallBack()) { mEmitter->setEmitterCallBackPtr(NULL); JPAParticleCallBack* cb = mEmitter->getParticleCallBackPtr(); - if (cb == (JPAParticleCallBack*)JPTracePCB4 || - cb == dPa_control_c::getParticleTracePCB()) { + if (cb == JPTracePCB4 || cb == dPa_control_c::getParticleTracePCB()) { mEmitter->setParticleCallBackPtr(NULL); } } @@ -1194,11 +1182,11 @@ u8 dPa_control_c::mLifeBall[24]; JPAEmitterManager* dPa_control_c::mEmitterMng; /* 80450EA4-80450EA8 0003A4 0004+00 1/1 1/1 0/0 .sbss mWaterBubblePcallBack__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::mWaterBubblePcallBack; +dPa_wbPcallBack_c dPa_control_c::mWaterBubblePcallBack; /* 80450EA8-80450EAC 0003A8 0004+00 3/3 0/0 0/0 .sbss mFsenthPcallBack__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::mFsenthPcallBack; +dPa_fsenthPcallBack dPa_control_c::mFsenthPcallBack; /* 80450EAC-80450EB0 0003AC 0004+00 2/2 0/0 1/1 .sbss mLight8EcallBack__13dPa_control_c */ @@ -1206,25 +1194,25 @@ dPa_light8EcallBack dPa_control_c::mLight8EcallBack; /* 80450EB0-80450EB4 0003B0 0004+00 2/2 0/0 0/0 .sbss mLight8PcallBack__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::mLight8PcallBack; +dPa_light8PcallBack dPa_control_c::mLight8PcallBack; /* 80450EB4-80450EB8 0003B4 0004+00 3/3 0/0 0/0 .sbss m_b_Light8EcallBack__13dPa_control_c */ dPa_gen_b_light8EcallBack dPa_control_c::m_b_Light8EcallBack; /* 80450EB8-80450EBC 0003B8 0004+00 2/2 0/0 0/0 .sbss m_b_Light8PcallBack__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::m_b_Light8PcallBack; +dPa_gen_b_light8PcallBack dPa_control_c::m_b_Light8PcallBack; /* 80450EBC-80450EC0 0003BC 0004+00 3/3 0/0 0/0 .sbss m_d_Light8EcallBack__13dPa_control_c */ dPa_gen_d_light8EcallBack dPa_control_c::m_d_Light8EcallBack; /* 80450EC0-80450EC4 0003C0 0004+00 2/2 0/0 0/0 .sbss m_d_Light8PcallBack__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::m_d_Light8PcallBack; +dPa_gen_d_light8PcallBack dPa_control_c::m_d_Light8PcallBack; /* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ u8 dPa_control_c::mStatus; /* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ -JPAParticleCallBack dPa_control_c::mParticleTracePCB; +dPa_particleTracePcallBack_c dPa_control_c::mParticleTracePCB; /* 80424870-804248A0 051590 0030+00 1/1 0/0 0/0 .bss mWindViewMatrix__13dPa_control_c */ Mtx dPa_control_c::mWindViewMatrix; @@ -1295,12 +1283,6 @@ void dPa_control_c::createRoomScene() { mDoExt_adjustSolidHeap(m_sceneHeap); } -/* 804248A0-804248AC 0515C0 000C+00 0/1 0/0 0/0 .bss @4742 */ -#pragma push -#pragma force_active on -static u8 lit_4742[12]; -#pragma pop - /* 8004BDFC-8004BEB0 04673C 00B4+00 0/0 1/1 0/0 .text * readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c */ bool dPa_control_c::readScene(u8 param_0, mDoDvdThd_toMainRam_c** param_1) { diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 797fbf4482..1fa3fbdca3 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -6,145 +6,20 @@ #include "d/d_resorce.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" +#include "JSystem/J3DGraphLoader/J3DClusterLoader.h" #include "JSystem/J3DGraphLoader/J3DModelLoader.h" #include "JSystem/JKernel/JKRMemArchive.h" #include "JSystem/JKernel/JKRSolidHeap.h" +#include "JSystem/JUtility/JUTConsole.h" +#include "d/d_bg_w_kcol.h" #include "d/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/os.h" -#include "dolphin/types.h" -#include "global.h" #include "m_Do/m_Do_graphic.h" #include "stdio.h" #include "string.h" -// -// Forward References: -// - -extern "C" void __ct__11dRes_info_cFv(); -extern "C" void __dt__11dRes_info_cFv(); -extern "C" void set__11dRes_info_cFPCcPCcUcP7JKRHeap(); -extern "C" static void setAlpha__FP16J3DMaterialTable(); -extern "C" static void setIndirectTex__FP12J3DModelData(); -extern "C" static void setAlpha__FP12J3DModelData(); -extern "C" static void addWarpMaterial__FP12J3DModelData(); -extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo(); -extern "C" void setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx(); -extern "C" void onWarpMaterial__11dRes_info_cFP12J3DModelData(); -extern "C" void offWarpMaterial__11dRes_info_cFP12J3DModelData(); -extern "C" void setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff(); -extern "C" void loaderBasicBmd__11dRes_info_cFUlPv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void loadResource__11dRes_info_cFv(); -extern "C" void __dt__18J3DAnmTransformKeyFv(); -extern "C" void __dt__15J3DAnmTransformFv(); -extern "C" void deleteArchiveRes__11dRes_info_cFv(); -extern "C" static void getArcHeader__FP10JKRArchive(); -extern "C" void setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap(); -extern "C" void setRes__11dRes_info_cFv(); -extern "C" static void myGetMemBlockSize__FPv(); -extern "C" static void myGetMemBlockSize0__FPv(); -extern "C" void dump_long__11dRes_info_cFP11dRes_info_ci(); -extern "C" void dump__11dRes_info_cFP11dRes_info_ci(); -extern "C" void __dt__14dRes_control_cFv(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void newResInfo__14dRes_control_cFP11dRes_info_ci(); -extern "C" void getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci(); -extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci(); -extern "C" void setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap(); -extern "C" void setStageRes__14dRes_control_cFPCcP7JKRHeap(); -extern "C" void dump__14dRes_control_cFv(); -extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc(); -extern "C" void __dt__10J3DAnmBaseFv(); -extern "C" bool getKind__15J3DAnmTransformCFv(); -extern "C" void __dt__18mDoExt_transAnmBasFv(); -extern "C" s32 getKind__18J3DAnmTransformKeyCFv(); -extern "C" void getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" extern char const* const d_d_resorce__stringBase0; -extern "C" void DCStoreRangeNoSync(void*, u32); - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_restoreCurrentHeap__Fv(); -extern "C" void mDoExt_resIDToIndex__FP10JKRArchiveUs(); -extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap(); -extern "C" void ConvDzb__4cBgSFPv(); -extern "C" void initKCollision__8dBgWKColFPv(); -extern "C" void getSize__7JKRHeapFPvP7JKRHeap(); -extern "C" void findFromRoot__7JKRHeapFPv(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getIdxResource__10JKRArchiveFUl(); -extern "C" void getFileAttribute__10JKRArchiveCFUl(); -extern "C" void findIdxResource__10JKRArchiveCFUl(); -extern "C" void findNameResource__10JKRArchiveCFPCc(); -extern "C" void __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag(); -extern "C" void getName__10JUTNameTabCFUs(); -extern "C" void JUTReportConsole_f(const char*, ...); -extern "C" void addResTIMG__10J3DTextureFUsPC7ResTIMG(); -extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl(); -extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr(); -extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo(); -extern "C" void newSharedDisplayList__12J3DModelDataFUl(); -extern "C" void makeSharedDL__12J3DModelDataFv(); -extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f(); -extern "C" void __ct__15J3DAnmTransformFsPfPsPf(); -extern "C" void calcTransform__18J3DAnmTransformKeyCFfUsP16J3DTransformInfo(); -extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void load__24J3DClusterLoaderDataBaseFPCv(); -extern "C" void load__22J3DModelLoaderDataBaseFPCvUl(); -extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); -extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; -extern "C" u8 mZbufferTimg__13mDoGph_gInf_c[4]; -extern "C" u8 sCurrentHeap__7JKRHeap[4]; - /* 8003A260-8003A280 034BA0 0020+00 0/0 1/1 0/0 .text __ct__11dRes_info_cFv */ dRes_info_c::dRes_info_c() { mCount = 0; @@ -204,8 +79,6 @@ static void setAlpha(J3DMaterialTable* pMatTable) { } } -/* ############################################################################################## */ - /* 8003A490-8003A81C 034DD0 038C+00 1/1 0/0 0/0 .text setIndirectTex__FP12J3DModelData */ static void setIndirectTex(J3DModelData* param_0) { const char* textureName; @@ -236,7 +109,6 @@ static void setAlpha(J3DModelData* pModelData) { setAlpha(&pModelData->getMaterialTable()); } -/* ############################################################################################## */ /* 80379840-803798A4 005EA0 0064+00 2/2 0/0 0/0 .rodata l_texMtxInfo */ static const J3DTexMtxInfo l_texMtxInfo = { 0x00, @@ -251,35 +123,17 @@ static const J3DTexMtxInfo l_texMtxInfo = { }, }; -/* 803798A4-803798B8 005F04 0014+00 1/1 0/0 0/0 .rodata l_tevStageInfo$3774 */ -static J3DTevStageInfo const l_tevStageInfo = { - 0x05, 0x0F, 0x08, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x07, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, -}; - -/* 80450628-8045062C 0000A8 0004+00 1/1 0/0 0/0 .sdata l_texCoordInfo$3772 */ -static J3DTexCoordInfo l_texCoordInfo = { - 0x00, - 0x00, - 0x27, -}; - -/* 8045062C-80450630 0000AC 0004+00 1/1 0/0 0/0 .sdata l_tevOrderInfo$3773 */ -static J3DTevOrderInfo l_tevOrderInfo = { - 0x00, - 0x03, - 0xFF, - 0x00, -}; - -/* 80451DF0-80451DF8 0003F0 0008+00 1/1 0/0 0/0 .sdata2 l_alphaCompInfo$3775 */ -SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo = { - 0x04, 0x80, 0x00, 0x03, 0xFF, 0, 0, 0, -}; - /* 8003A840-8003AACC 035180 028C+00 1/1 0/0 0/0 .text addWarpMaterial__FP12J3DModelData */ +// NONMATCHING l_alphaCompInfo needs to be placed in .sdata2, but the function breaks if it is declared const static void addWarpMaterial(J3DModelData* param_1) { + static J3DTevStageInfo const l_tevStageInfo = { + 0x05, 0x0F, 0x08, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x07, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, + }; + static J3DTexCoordInfo l_texCoordInfo = {0x00, 0x00, 0x27}; + static J3DTevOrderInfo l_tevOrderInfo = {0x00, 0x03, 0xFF, 0x00}; + ResTIMG* objectRes = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5d); J3DTexture* texture = param_1->getTexture(); u16 textureNum = texture->getNum(); @@ -309,6 +163,7 @@ static void addWarpMaterial(J3DModelData* param_1) { pShape->addTexMtxIndexInVcd(attr); J3DPEBlock* peBlock = pMaterial->getPEBlock(); J3DAlphaComp* alphaComp = peBlock->getAlphaComp(); + static J3DAlphaCompInfo const l_alphaCompInfo = {0x04, 0x80, 0x00, 0x03, 0xFF, 0, 0, 0}; alphaComp->setAlphaCompInfo(l_alphaCompInfo); peBlock->setZCompLoc((u8)0); } @@ -366,23 +221,9 @@ void dRes_info_c::setWarpSRT(J3DModelData* modelData, cXyz const& param_1, f32 t cMtx_concat(l_texMtxInfo.mEffectMtx, stackMtx, texMtxInfo.mEffectMtx); } -/* ############################################################################################## */ -/* 803A7C18-803A7C38 -00001 0020+00 1/1 0/0 0/0 .data @4017 */ -SECTION_DATA static void* lit_4017[8] = { - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x180), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x130), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x13C), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x148), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x154), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x160), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x16C), - (void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x178), -}; - /* 8003AE14-8003B150 035754 033C+00 2/1 1/1 0/0 .text loaderBasicBmd__11dRes_info_cFUlPv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) { u32 flags = 0x59020010; J3DMaterial* pMaterial; @@ -459,127 +300,8 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) { return modelData; } -#else -J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) { - // NONMATCHING -} -#endif - -/* 8003B150-8003B18C 035A90 003C+00 2/2 8/8 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 8003B18C-8003B1A4 035ACC 0018+00 2/2 3/3 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 8003B1A4-8003B1E0 035AE4 003C+00 2/2 8/8 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 8003B1E0-8003B1F8 035B20 0018+00 2/2 3/3 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 803A7C38-803A7C48 004D58 0010+00 4/4 22/22 0/0 .data __vt__10J3DAnmBase */ -SECTION_DATA extern void* __vt__10J3DAnmBase[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10J3DAnmBaseFv, - (void*)NULL, -}; - -/* 803A7C48-803A7C5C 004D68 0014+00 3/3 3/3 0/0 .data __vt__15J3DAnmTransform */ -SECTION_DATA extern void* __vt__15J3DAnmTransform[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15J3DAnmTransformFv, - (void*)getKind__15J3DAnmTransformCFv, - (void*)NULL, -}; - -/* 803A7C5C-803A7C70 004D7C 0014+00 2/2 1/1 0/0 .data __vt__18mDoExt_transAnmBas */ -SECTION_DATA extern void* __vt__18mDoExt_transAnmBas[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18mDoExt_transAnmBasFv, - (void*)getKind__18J3DAnmTransformKeyCFv, - (void*)getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo, -}; - -/* 803A7C70-803A7C84 004D90 0014+00 3/3 2/2 0/0 .data __vt__18J3DAnmTransformKey */ -SECTION_DATA extern void* __vt__18J3DAnmTransformKey[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18J3DAnmTransformKeyFv, - (void*)getKind__18J3DAnmTransformKeyCFv, - (void*)getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo, -}; - -/* 803A7C84-803A7C90 004DA4 000C+00 2/2 1/1 0/0 .data __vt__11J3DTexNoAnm */ -SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)calc__11J3DTexNoAnmCFPUs, -}; - -/* 8003B1F8-8003B240 035B38 0048+00 2/2 8/8 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 8003B240-8003B264 035B80 0024+00 2/2 3/3 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 8003B264-8003B2A0 035BA4 003C+00 2/2 8/8 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 8003B2A0-8003B2B8 035BE0 0018+00 2/2 3/3 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 8003B2B8-8003B2F4 035BF8 003C+00 2/2 8/8 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 8003B2F4-8003B30C 035C34 0018+00 2/2 3/3 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803798E2 = - "<%s.arc> setRes: res pointer buffer nothing !!\n"; -SECTION_DEAD static char const* const stringBase_80379912 = "<%s> res == NULL !!\n"; -#pragma pop /* 8003B30C-8003B8D0 035C4C 05C4+00 2/2 0/0 0/0 .text loadResource__11dRes_info_cFv */ -// J3DXXX ctor/dtor inlines -#ifdef NONMATCHING int dRes_info_c::loadResource() { s32 file_num = mArchive->countFile(); mRes = new void*[file_num]; @@ -724,23 +446,6 @@ int dRes_info_c::loadResource() { return 0; } -#else -int dRes_info_c::loadResource() { - // NONMATCHING -} -#endif - -/* 8003B8D0-8003B93C 036210 006C+00 1/0 0/0 0/0 .text __dt__18J3DAnmTransformKeyFv */ -extern "C" void __dt__18J3DAnmTransformKeyFv() { - // asm J3DAnmTransformKey::~J3DAnmTransformKey() { - // NONMATCHING -} - -/* 8003B93C-8003B998 03627C 005C+00 1/0 0/0 0/0 .text __dt__15J3DAnmTransformFv */ -extern "C" void __dt__15J3DAnmTransformFv() { - // asm J3DAnmTransform::~J3DAnmTransform() { - // NONMATCHING -} /* 8003B998-8003BA9C 0362D8 0104+00 1/1 0/0 0/0 .text deleteArchiveRes__11dRes_info_cFv */ @@ -861,12 +566,11 @@ static s32 myGetMemBlockSize0(void* param_0) { return size; } -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037997F = "%5.1f %5x %5.1f %5x %3d %s\n"; -#pragma pop +// Fixes string data and float literal order +f32 dummy(int x) { + DEAD_STRING("%5.1f %5x %5.1f %5x %3d %s\n"); + return x; +} /* 8003BD2C-8003BE38 03666C 010C+00 1/1 0/0 0/0 .text dump_long__11dRes_info_cFP11dRes_info_ci */ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { @@ -907,34 +611,9 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { } } -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379A38 = "dRes_info_c::dump %08x %d\n"; -SECTION_DEAD static char const* const stringBase_80379A53 = - "No ArchiveSize(KB) SolidHeapSize(KB) Cnt Archive" - "Name\n"; -SECTION_DEAD static char const* const stringBase_80379A89 = "%2d %6.1f %6x %6.1f %6x %3d %s\n"; -SECTION_DEAD static char const* const stringBase_80379AA9 = - "----------------------------------------------\n " - " %6.1f %6x %6.1f %6x Total\n\n"; -#pragma pop - -/* 80451DF8-80451E00 0003F8 0008+00 1/1 0/0 0/0 .sdata2 @4277 */ -SECTION_SDATA2 static f64 lit_4277 = 4503601774854144.0 /* cast s32 to float */; - -/* 80451E00-80451E08 000400 0004+04 1/1 0/0 0/0 .sdata2 @4333 */ -SECTION_SDATA2 static f32 lit_4333[1 + 1 /* padding */] = { - 0.0009765625f, - /* padding */ - 0.0f, -}; - /* 8003BE38-8003BFB0 036778 0178+00 1/1 0/0 0/0 .text dump__11dRes_info_cFP11dRes_info_ci */ -// float literal order -#ifdef NONMATCHING +// NONMATCHING float literal order void dRes_info_c::dump(dRes_info_c* param_0, int param_1) { int totalArcHeaderSize; int totalHeapSize; @@ -962,11 +641,6 @@ void dRes_info_c::dump(dRes_info_c* param_0, int param_1) { "----------------------------------------------\n %6.1f %6x %6.1f %6x Total\n\n", totalArcHeaderSize / 1024.0f, totalArcHeaderSize, totalHeapSize / 1024.0f, totalHeapSize); } -#else -void dRes_info_c::dump(dRes_info_c* param_0, int param_1) { - // NONMATCHING -} -#endif /* 8003BFB0-8003C078 0368F0 00C8+00 0/0 1/1 0/0 .text __dt__14dRes_control_cFv */ dRes_control_c::~dRes_control_c() { @@ -979,8 +653,6 @@ dRes_control_c::~dRes_control_c() { } } -/* ############################################################################################## */ - /* 8003C078-8003C160 0369B8 00E8+00 2/2 8/8 0/0 .text * setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap */ int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize, @@ -1084,8 +756,6 @@ dRes_info_c* dRes_control_c::getResInfoLoaded(char const* arcName, dRes_info_c* return resInfo; } -/* ############################################################################################## */ - /* 8003C2EC-8003C37C 036C2C 0090+00 1/1 54/54 894/894 .text * getRes__14dRes_control_cFPCclP11dRes_info_ci */ void* dRes_control_c::getRes(char const* arcName, s32 resIdx, dRes_info_c* pInfo, int infoSize) { @@ -1216,39 +886,3 @@ int dRes_control_c::getObjectResName2Index(char const* arcName, char const* para } } } - -/* 8003C734-8003C77C 037074 0048+00 1/0 0/0 0/0 .text __dt__10J3DAnmBaseFv */ -extern "C" void __dt__10J3DAnmBaseFv() { - // asm J3DAnmBase::~J3DAnmBase() { - // NONMATCHING -} - -/* 8003C77C-8003C784 0370BC 0008+00 1/0 0/0 0/0 .text getKind__15J3DAnmTransformCFv */ -s32 J3DAnmTransform::getKind() const { - return 0; -} - -/* 8003C784-8003C800 0370C4 007C+00 1/0 0/0 0/0 .text __dt__18mDoExt_transAnmBasFv */ -// mDoExt_transAnmBas::~mDoExt_transAnmBas() { -extern "C" void __dt__18mDoExt_transAnmBasFv() { - // NONMATCHING -} - -/* 8003C800-8003C808 037140 0008+00 2/0 0/0 0/0 .text getKind__18J3DAnmTransformKeyCFv */ -s32 J3DAnmTransformKey::getKind() const { - return 8; -} - -/* 8003C808-8003C82C 037148 0024+00 2/0 0/0 0/0 .text - * getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo */ -void J3DAnmTransformKey::getTransform(u16 param_0, J3DTransformInfo* param_1) const { - // NONMATCHING -} - -/* 8003C82C-8003C85C 03716C 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/d_s_play.cpp b/src/d/d_s_play.cpp index 56c0b741e1..87b3b61816 100644 --- a/src/d/d_s_play.cpp +++ b/src/d/d_s_play.cpp @@ -43,8 +43,6 @@ static int phase_5(dScnPly_c*); static int phase_6(dScnPly_c*); static int phase_compleate(void*); -extern "C" s8 func_80252E70(s8*); - /* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */ static request_of_phase_process_class resPhase[1]; @@ -76,7 +74,7 @@ s8 dScnPly_c::calcPauseTimer() { nextPauseTimer = 0; return pauseTimer; } else { - return func_80252E70(&pauseTimer); // cLib_calcTimer : 80252E70 + return cLib_calcTimer(&pauseTimer); } } @@ -776,4 +774,4 @@ scene_process_profile_definition g_profile_OPENING_SCENE = { 0, // mParameters &g_fopScn_Method.mBase, // sub_method (process_method_class*)&l_dScnPly_Method, // mpMtd -}; \ No newline at end of file +}; diff --git a/src/d/d_save.cpp b/src/d/d_save.cpp index 95cc9c2331..78e00c8b18 100644 --- a/src/d/d_save.cpp +++ b/src/d/d_save.cpp @@ -8,34 +8,8 @@ #include "JSystem/JUtility/JUTGamePad.h" #include "stdio.h" #include "d/d_meter2_info.h" -#include "dol2asm.h" #include "d/actor/d_a_obj_carry.h" -// -// Forward References: -// - -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" extern char const* const d_save_d_save__stringBase0; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void _savegpr_22(); -extern "C" void _restgpr_22(); -extern "C" void __div2i(); - -// -// Declarations: -// - /* 80032918-80032958 02D258 0040+00 4/4 0/0 0/0 .text dSv_item_rename__FUc */ static u8 dSv_item_rename(u8 i_itemNo) { switch (i_itemNo) { @@ -1674,17 +1648,8 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const { return mZone[zoneNo].getActor().is(i_id); } -/* ############################################################################################## */ -/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037925D = "Write size:%d\n"; -SECTION_DEAD static char const* const stringBase_8037926C = "SAVE size:%d\n"; -#pragma pop - /* 80035798-80035A04 0300D8 026C+00 0/0 1/1 0/0 .text memory_to_card__10dSv_info_cFPci */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) { BOOL lantern_stolen; BOOL lantern_dropped; @@ -1761,11 +1726,6 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) { printf("SAVE size:%d\n", sizeof(dSv_save_c)); return 0; } -#else -int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) { - // NONMATCHING -} -#endif /* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */ int dSv_info_c::card_to_memory(char* i_cardPtr, int i_dataNum) { @@ -1847,4 +1807,4 @@ u16 const dSv_event_tmp_flag_c::tempBitLabels[185] = { CAT_11, CAT_12, CAT_13, CAT_14, CAT_15, CAT_16, CAT_17, CAT_18, CAT_19, CAT_20, GUARD_URI, Hanch_CLIMBOUT_POND, NODRAW_STAGE_NAME, NO_TELOP, T_0175, T_0176, T_0177, T_0178, T_0179, T_0180, T_0181, T_0182, T_0183, SHA_DBG -}; \ No newline at end of file +}; diff --git a/src/d/d_scope.cpp b/src/d/d_scope.cpp index 89ef2efdf5..f0c8ece162 100644 --- a/src/d/d_scope.cpp +++ b/src/d/d_scope.cpp @@ -3,71 +3,23 @@ // Translation Unit: d/d_scope // -#define NO_INLINE_DLSTBASE_DRAW - #include "d/d_scope.h" #include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/JUtility/JUTTexture.h" #include "d/d_com_inf_game.h" #include "d/d_meter2_info.h" -#include "dol2asm.h" #include "JSystem/J2DGraph/J2DGrafContext.h" #include "m_Do/m_Do_graphic.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" -// -// Forward References: -// - -extern "C" void __ct__8dScope_cFUc(); -extern "C" void __ct__Q28JUtility6TColorFv(); -extern "C" void __dt__8dScope_cFv(); -extern "C" void _execute__8dScope_cFUl(); -extern "C" void draw__8dScope_cFv(); -extern "C" void isDead__8dScope_cFv(); -extern "C" void open_init__8dScope_cFv(); -extern "C" void open_proc__8dScope_cFv(); -extern "C" void move_init__8dScope_cFv(); -extern "C" void move_proc__8dScope_cFv(); -extern "C" void close_init__8dScope_cFv(); -extern "C" void close_proc__8dScope_cFv(); -extern "C" void __dt__11dMeterSub_cFv(); -extern "C" int _create__11dMeterSub_cFv(); -extern "C" int _delete__11dMeterSub_cFv(); -extern "C" void draw__11dMeterSub_cFv(); -extern "C" int _execute__11dMeterSub_cFUl(); -extern "C" int isDead__11dMeterSub_cFv(); -extern "C" void __sinit_d_scope_cpp(); -extern "C" extern char const* const d_d_scope__stringBase0; - -// -// External References: -// - -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void J2DDrawLine__FffffQ28JUtility6TColori(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12dDlst_base_c[3]; - -// -// Declarations: -// - /* 803BB618-803BB624 018738 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803BB648-803BB66C 018768 0024+00 2/3 0/0 0/0 .data init_process */ typedef void (dScope_c::*initFunc)(); -SECTION_DATA initFunc init_process[] = { +initFunc init_process[] = { &dScope_c::open_init, &dScope_c::move_init, &dScope_c::close_init, @@ -75,25 +27,12 @@ SECTION_DATA initFunc init_process[] = { /* 803BB690-803BB6B4 0187B0 0024+00 1/2 0/0 0/0 .data move_process */ typedef void (dScope_c::*moveFunc)(); -SECTION_DATA moveFunc move_process[] = { +moveFunc move_process[] = { &dScope_c::open_proc, &dScope_c::move_proc, &dScope_c::close_proc, }; -/* 80453A10-80453A14 002010 0004+00 4/4 0/0 0/0 .sdata2 @3756 */ -SECTION_SDATA2 static f32 lit_3756 = 3.0f; - -/* 80453A14-80453A18 002014 0004+00 4/4 0/0 0/0 .sdata2 @3757 */ -SECTION_SDATA2 static u8 lit_3757[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -extern void* __vt__11dMeterSub_c[8 + 3 /* padding */]; - /* 80193690-80193960 18DFD0 02D0+00 0/0 1/1 0/0 .text __ct__8dScope_cFUc */ dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) { field_0x8d = param_0; @@ -122,8 +61,8 @@ dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) { mp_image = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti"); mpBlackTex = new J2DPicture(mp_image); mpBlackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); - mScale = lit_3756; - mAlpha = FLOAT_LABEL(lit_3757); + mScale = 3.0f; + mAlpha = 0.0f; mOpenTimer = 0; field_0x8a = 0; mProcess = PROC_OPEN; @@ -131,30 +70,6 @@ dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) { (this->*init_process[mProcess])(); } -/* 803BB6B4-803BB6D4 0187D4 0020+00 2/2 0/0 0/0 .data __vt__8dScope_c */ -SECTION_DATA extern void* __vt__8dScope_c[8] = { - (void*)NULL /* RTTI */, (void*)NULL, - (void*)draw__8dScope_cFv, (void*)__dt__8dScope_cFv, - (void*)_create__11dMeterSub_cFv, (void*)_execute__8dScope_cFUl, - (void*)_delete__11dMeterSub_cFv, (void*)isDead__8dScope_cFv, -}; - -/* 803BB6D4-803BB700 0187F4 0020+0C 3/3 6/6 0/0 .data __vt__11dMeterSub_c */ -SECTION_DATA extern void* __vt__11dMeterSub_c[8 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dMeterSub_cFv, - (void*)__dt__11dMeterSub_cFv, - (void*)_create__11dMeterSub_cFv, - (void*)_execute__11dMeterSub_cFUl, - (void*)_delete__11dMeterSub_cFv, - (void*)isDead__11dMeterSub_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - /* 8019396C-80193B90 18E2AC 0224+00 1/0 0/0 0/0 .text __dt__8dScope_cFv */ dScope_c::~dScope_c() { if (mHawkEyeScrn != NULL) { @@ -226,22 +141,6 @@ int dScope_c::_execute(u32) { return 1; } -/* ############################################################################################## */ -/* 80453A20-80453A24 002020 0004+00 1/1 0/0 0/0 .sdata2 @3879 */ -SECTION_SDATA2 static f32 lit_3879 = 255.0f; - -/* 80453A24-80453A28 002024 0004+00 1/1 0/0 0/0 .sdata2 @3880 */ -SECTION_SDATA2 static f32 lit_3880 = 304.0f; - -/* 80453A28-80453A2C 002028 0004+00 1/1 0/0 0/0 .sdata2 @3881 */ -SECTION_SDATA2 static f32 lit_3881 = 448.0f; - -/* 80453A2C-80453A30 00202C 0004+00 1/1 0/0 0/0 .sdata2 @3882 */ -SECTION_SDATA2 static f32 lit_3882 = 224.0f; - -/* 80453A30-80453A34 002030 0004+00 1/1 0/0 0/0 .sdata2 @3883 */ -SECTION_SDATA2 static f32 lit_3883 = 608.0f; - /* 80193C68-80193FA0 18E5A8 0338+00 1/0 0/0 0/0 .text draw__8dScope_cFv */ void dScope_c::draw() { dComIfGp_getCurrentGrafPort()->setup2D(); @@ -289,24 +188,11 @@ bool dScope_c::isDead() { /* 80193FB4-80193FD0 18E8F4 001C+00 1/0 0/0 0/0 .text open_init__8dScope_cFv */ void dScope_c::open_init() { - mScale = lit_3756; - mAlpha = FLOAT_LABEL(lit_3757); + mScale = 3.0f; + mAlpha = 0.0f; mOpenTimer = 0; } -/* ############################################################################################## */ -/* 80453A34-80453A38 002034 0004+00 2/2 0/0 0/0 .sdata2 @3902 */ -SECTION_SDATA2 static f32 lit_3902 = 1.5f; - -/* 80453A38-80453A3C 002038 0004+00 2/2 0/0 0/0 .sdata2 @3903 */ -SECTION_SDATA2 static f32 lit_3903 = 5.0f; - -/* 80453A3C-80453A40 00203C 0004+00 2/2 0/0 0/0 .sdata2 @3904 */ -SECTION_SDATA2 static f32 lit_3904 = 1.0f; - -/* 80453A40-80453A48 002040 0008+00 2/2 0/0 0/0 .sdata2 @3906 */ -SECTION_SDATA2 static f64 lit_3906 = 4503601774854144.0 /* cast s32 to float */; - /* 80193FD0-80194048 18E910 0078+00 1/0 0/0 0/0 .text open_proc__8dScope_cFv */ void dScope_c::open_proc() { mOpenTimer++; @@ -320,7 +206,6 @@ void dScope_c::open_proc() { } } - /* 80194048-8019404C 18E988 0004+00 1/0 0/0 0/0 .text move_init__8dScope_cFv */ void dScope_c::move_init() {} @@ -342,40 +227,3 @@ void dScope_c::close_proc() { mIsDead = true; } } - - -/* 801940D4-8019411C 18EA14 0048+00 1/0 0/0 0/0 .text __dt__11dMeterSub_cFv */ -// dMeterSub_c::~dMeterSub_c() { -extern "C" void __dt__11dMeterSub_cFv() { - // NONMATCHING -} - -/* 8019411C-80194124 18EA5C 0008+00 2/0 0/0 0/0 .text _create__11dMeterSub_cFv */ -// int dMeterSub_c::_create() { -extern "C" int _create__11dMeterSub_cFv() { - return false; -} - -/* 80194124-8019412C 18EA64 0008+00 2/0 0/0 0/0 .text _delete__11dMeterSub_cFv */ -// int dMeterSub_c::_delete() { -extern "C" int _delete__11dMeterSub_cFv() { - return false; -} - -/* 8019412C-80194130 18EA6C 0004+00 1/0 0/0 0/0 .text draw__11dMeterSub_cFv */ -// void dMeterSub_c::draw() { -extern "C" void draw__11dMeterSub_cFv() { - /* empty function */ -} - -/* 80194130-80194138 18EA70 0008+00 1/0 0/0 0/0 .text _execute__11dMeterSub_cFUl */ -// int dMeterSub_c::_execute(u32 param_0) { -extern "C" int _execute__11dMeterSub_cFUl() { - return false; -} - -/* 80194138-80194140 18EA78 0008+00 1/0 3/0 0/0 .text isDead__11dMeterSub_cFv */ -// int dMeterSub_c::isDead() { -extern "C" int isDead__11dMeterSub_cFv() { - return false; -} \ No newline at end of file diff --git a/src/d/d_select_cursor.cpp b/src/d/d_select_cursor.cpp index 5ec9a0b4e0..30db6c75f8 100644 --- a/src/d/d_select_cursor.cpp +++ b/src/d/d_select_cursor.cpp @@ -4,189 +4,16 @@ // #include "d/d_select_cursor.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" #include "d/d_com_inf_game.h" #include "JSystem/J2DGraph/J2DAnimation.h" #include "JSystem/J2DGraph/J2DAnmLoader.h" -#include "dol2asm.h" -#include "global.h" - -// -// Types: -// - -// -// Forward References: -// - -extern "C" void __ct__19dSelect_cursorHIO_cFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void __dt__16dSelect_cursor_cFv(); -extern "C" void draw__16dSelect_cursor_cFv(); -extern "C" void update__16dSelect_cursor_cFv(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setScale__16dSelect_cursor_cFf(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void addAlpha__16dSelect_cursor_cFv(); -extern "C" void decAlpha__16dSelect_cursor_cFv(); -extern "C" void setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor(); -extern "C" void setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey(); -extern "C" void setCursorAnimation__16dSelect_cursor_cFv(); -extern "C" void setBckAnimation__16dSelect_cursor_cFP18J2DAnmTransformKey(); -extern "C" void moveCenter__16dSelect_cursor_cFP7J2DPaneff(); -extern "C" void __dt__19dSelect_cursorHIO_cFv(); -extern "C" void __dt__18J2DAnmTransformKeyFv(); -extern "C" extern char const* const d_d_select_cursor__stringBase0; - -// -// External References: -// - -extern "C" void animation__14dSelect_icon_cFv(); -extern "C" void setAlpha__14dSelect_icon_cFUc(); -extern "C" void setPos__14dSelect_icon_cFP7J2DPaneff(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void show__13CPaneMgrAlphaFv(); -extern "C" void hide__13CPaneMgrAlphaFv(); -extern "C" void isVisible__13CPaneMgrAlphaFv(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void getAlphaRate__13CPaneMgrAlphaFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */]; -extern "C" extern void* __vt__18J2DAnmTransformKey[6]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80394AA0-80394AA0 021100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ - /* 803BB700-803BB70C 018820 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803BB70C-803BB71C -00001 0010+00 0/1 0/0 0/0 .data blo_name$3684 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* blo_name[4] = { - "zelda_select_cursor_4parts.blo", - "zelda_store_select_icon.blo", - "zelda_map_screen_portal_icon.blo", - "zelda_map_screen_batsumark.blo", -}; -#pragma pop - -/* 803BB71C-803BB72C -00001 0010+00 0/1 0/0 0/0 .data bck_name$3685 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* bck_name[4] = { - "", - "zelda_store_select_icon.bck", - "", - "", -}; -#pragma pop - -/* 803BB72C-803BB73C -00001 0010+00 0/1 0/0 0/0 .data bpk_name$3686 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* bpk_name[4] = { - "zelda_select_cursor_4parts.bpk", - "zelda_store_select_icon.bpk", - "zelda_map_screen_portal_icon.bpk", - "zelda_map_screen_batsumark.bpk", -}; -#pragma pop - -/* 803BB73C-803BB74C -00001 0010+00 0/1 0/0 0/0 .data btk_name$3687 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* btk_name[4] = { - "zelda_select_cursor_4parts.btk", - "zelda_store_select_icon.btk", - "", - "", -}; -#pragma pop - -/* 803BB74C-803BB78C -00001 0010+30 0/1 0/0 0/0 .data btk2_name$3688 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* btk2_name[4 + 12 /* padding */] = { - "", - "zelda_store_select_icon_02.btk", - "", - "", - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; -#pragma pop - -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const pad_80394C0D = "\0\0"; -#pragma pop - -/* 803BB78C-803BB7A8 0188AC 0010+0C 2/2 0/0 0/0 .data __vt__16dSelect_cursor_c */ -SECTION_DATA extern void* __vt__16dSelect_cursor_c[4 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__16dSelect_cursor_cFv, - (void*)__dt__16dSelect_cursor_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 803BB7A8-803BB7B8 0188C8 000C+04 2/2 0/0 0/0 .data __vt__19dSelect_cursorHIO_c */ -SECTION_DATA extern void* __vt__19dSelect_cursorHIO_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dSelect_cursorHIO_cFv, - /* padding */ - NULL, -}; - -/* 80453A48-80453A4C 002048 0004+00 4/4 0/0 0/0 .sdata2 @3673 */ -SECTION_SDATA2 static f32 lit_3673 = 1.0f; - -/* 80453A4C-80453A50 00204C 0004+00 1/1 0/0 0/0 .sdata2 @3674 */ -SECTION_SDATA2 static f32 lit_3674 = 3.0f / 10.0f; - /* 801941E4-80194220 18EB24 003C+00 1/1 0/0 0/0 .text __ct__19dSelect_cursorHIO_cFv */ dSelect_cursorHIO_c::dSelect_cursorHIO_c() { field_0x8 = 1.0f; @@ -199,25 +26,44 @@ dSelect_cursorHIO_c::dSelect_cursorHIO_c() { mDebugON = false; } - -/* ############################################################################################## */ -/* 80394A10-80394A30 021070 0020+00 1/1 0/0 0/0 .rodata corner_tag$3707 */ -SECTION_RODATA static u64 const corner_tag[4] = { - 'l_u_null', 'l_d_null', 'r_u_null', 'r_d_null', -}; -COMPILER_STRIP_GATE(0x80394A10, &corner_tag); - -/* 80453A50-80453A54 002050 0004+00 4/4 0/0 0/0 .sdata2 @3808 */ -SECTION_SDATA2 static u8 lit_3808[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80194220-801949EC 18EB60 07CC+00 0/0 14/14 0/0 .text __ct__16dSelect_cursor_cFUcfP10JKRArchive */ dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2) { + static char* blo_name[4] = { + "zelda_select_cursor_4parts.blo", + "zelda_store_select_icon.blo", + "zelda_map_screen_portal_icon.blo", + "zelda_map_screen_batsumark.blo", + }; + + static char* bck_name[4] = { + "", + "zelda_store_select_icon.bck", + "", + "", + }; + + static char* bpk_name[4] = { + "zelda_select_cursor_4parts.bpk", + "zelda_store_select_icon.bpk", + "zelda_map_screen_portal_icon.bpk", + "zelda_map_screen_batsumark.bpk", + }; + + static char* btk_name[4] = { + "zelda_select_cursor_4parts.btk", + "zelda_store_select_icon.btk", + "", + "", + }; + + static char* btk2_name[4 + 12 /* padding */] = { + "", + "zelda_store_select_icon_02.btk", + "", + "", + }; + mpCursorHIO = new dSelect_cursorHIO_c(); mpCursorHIO->field_0x4 = -1; mNameIdx = 0; @@ -257,7 +103,7 @@ dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2) } mpScreen = new J2DScreen(); - mpScreen->setPriority((char*) blo_name[mNameIdx], 0x20000, param_2); + mpScreen->setPriority(blo_name[mNameIdx], 0x20000, param_2); dPaneClass_showNullPane(mpScreen); for (int i = 0; i < 4; i++) { @@ -270,10 +116,11 @@ dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2) mpPaneMgr->hide(); mpPaneMgr->setAlpha(0); + static u64 const corner_tag[4] = {'l_u_null', 'l_d_null', 'r_u_null', 'r_d_null'}; for (int i = 0; i< 4; i++) { - field_0x1C[i] = new CPaneMgr(mpScreen, ((u64*)corner_tag)[i], 0, NULL); - field_0x94[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateX(); - field_0xa4[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateY(); + field_0x1C[i] = new CPaneMgr(mpScreen, corner_tag[i], 0, NULL); + field_0x94[i] = mpScreen->search(corner_tag[i])->getTranslateX(); + field_0xa4[i] = mpScreen->search(corner_tag[i])->getTranslateY(); field_0x74[i] = field_0x94[i]; field_0x84[i] = field_0xa4[i]; } @@ -407,7 +254,7 @@ dSelect_cursor_c::~dSelect_cursor_c() { } /* 80194C30-80194CC0 18F570 0090+00 1/0 0/0 0/0 .text draw__16dSelect_cursor_cFv */ -#ifdef NONMATCHING +// NONMATCHING void dSelect_cursor_c::draw() { mpPaneMgr->getAlphaRate(); update(); @@ -418,19 +265,6 @@ void dSelect_cursor_c::draw() { mpSelectIcon->drawSelf(); // inline here, but not sure how to properly define it } } -#else -// void dSelect_cursor_c::draw() { -extern "C" void draw__16dSelect_cursor_cFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80453A54-80453A58 002054 0004+00 3/3 0/0 0/0 .sdata2 @4062 */ -SECTION_SDATA2 static f32 lit_4062 = 0.5f; - -/* 80453A58-80453A60 002058 0008+00 3/3 0/0 0/0 .sdata2 @4064 */ -SECTION_SDATA2 static f64 lit_4064 = 4503601774854144.0 /* cast s32 to float */; /* 80194CC0-801950F4 18F600 0434+00 1/1 0/0 0/0 .text update__16dSelect_cursor_cFv */ void dSelect_cursor_c::update() { @@ -525,11 +359,6 @@ void dSelect_cursor_c::update() { } } - -/* ############################################################################################## */ -/* 80453A60-80453A64 002060 0004+00 1/1 0/0 0/0 .sdata2 @4089 */ -SECTION_SDATA2 static f32 lit_4089 = -1.0f; - /* 801950F4-801951B0 18FA34 00BC+00 0/0 30/30 0/0 .text setPos__16dSelect_cursor_cFffP7J2DPaneb */ void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_scaleBounds) { mpPane = i_pane; @@ -566,7 +395,6 @@ void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_sc } - /* 801951B0-801951C8 18FAF0 0018+00 0/0 24/24 0/0 .text setParam__16dSelect_cursor_cFfffff */ void dSelect_cursor_c::setParam(f32 i_param1, f32 i_param2, f32 i_param3, f32 i_param4, f32 i_param5) { @@ -596,15 +424,14 @@ void dSelect_cursor_c::setScale(f32 i_scale) { } } - /* 801952A0-80195330 18FBE0 0090+00 0/0 77/77 0/0 .text setAlphaRate__16dSelect_cursor_cFf */ void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) { - if (i_alphaRate > FLOAT_LABEL(lit_3808)) { + if (i_alphaRate > 0.0f) { if (mpPaneMgr->isVisible() == 0) { mpPaneMgr->show(); } } else { - i_alphaRate = FLOAT_LABEL(lit_3808); + i_alphaRate = 0.0f; if (mpPaneMgr->isVisible() == 1) { mpPaneMgr->hide(); } @@ -613,10 +440,6 @@ void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) { mpPaneMgr->setAlphaRate(i_alphaRate); } -/* ############################################################################################## */ -/* 80453A64-80453A68 002064 0004+00 2/2 0/0 0/0 .sdata2 @4157 */ -SECTION_SDATA2 static f32 lit_4157 = 5.0f; - /* 80195330-801953CC 18FC70 009C+00 0/0 1/1 0/0 .text addAlpha__16dSelect_cursor_cFv */ int dSelect_cursor_c::addAlpha() { s16 alpha_timer = mpPaneMgr->getAlphaTimer(); @@ -636,7 +459,6 @@ int dSelect_cursor_c::addAlpha() { return 0; } - /* 801953CC-80195460 18FD0C 0094+00 0/0 1/1 0/0 .text decAlpha__16dSelect_cursor_cFv */ int dSelect_cursor_c::decAlpha() { s16 alpha_timer = mpPaneMgr->getAlphaTimer(); @@ -655,22 +477,17 @@ int dSelect_cursor_c::decAlpha() { return 0; } - -/* ############################################################################################## */ -/* 80394A30-80394A50 021090 0020+00 1/1 0/0 0/0 .rodata tag$4181 */ -static u64 const tag_4181[4] = { - 'l_ld', 'l_lu', 'l_rd', 'l_ru', -}; - /* 80195460-801955F0 18FDA0 0190+00 1/1 0/0 0/0 .text * setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor */ void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) { switch (mNameIdx) { - case 0: + case 0: { + static u64 const tag_4181[4] = {'l_ld', 'l_lu', 'l_rd', 'l_ru'}; for (int i = 0; i < 4; i++) { mpScreen->search(tag_4181[i])->setAnimation(param_0); } break; + } case 2: mpScreen->search('light')->setAnimation(param_0); mpScreen->search('back_l')->setAnimation(param_0); @@ -684,44 +501,32 @@ void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) { } } -/* ############################################################################################## */ -/* 80394A50-80394A90 0210B0 0040+00 1/1 0/0 0/0 .rodata tag$4197 */ -static u64 const tag_4197[8] = { - 'i_c_ld1', 'i_c_ld2', 'i_c_lu1', 'i_c_lu2', 'i_c_rd1', 'i_c_rd2', 'i_c_ru1', 'i_c_ru2', -}; - -/* 80394A90-80394AA0 0210F0 0010+00 1/1 0/0 0/0 .rodata tag$4204 */ -static u64 const tag_4204[2] = { - 'gold01', 'gold02', -}; - /* 801955F0-80195724 18FF30 0134+00 1/1 0/0 0/0 .text * setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey */ void dSelect_cursor_c::setBtk0Animation(J2DAnmTextureSRTKey* param_0) { switch (mNameIdx) { - case 0: + case 0: { + static u64 const tag_4197[8] = { + 'i_c_ld1', 'i_c_ld2', 'i_c_lu1', 'i_c_lu2', 'i_c_rd1', 'i_c_rd2', 'i_c_ru1', 'i_c_ru2', + }; for (int i = 0; i < 8; i++) { mpScreen->search(tag_4197[i])->setAnimation(param_0); } break; - case 1: + } + case 1: { + static u64 const tag_4204[2] = {'gold01', 'gold02'}; for (int i = 0; i < 2; i++) { mpScreen->search(tag_4204[i])->setAnimation(param_0); } break; + } default: mpScreen->search('gold01')->setAnimation(param_0); break; } } -/* ############################################################################################## */ -/* 80453A68-80453A6C 002068 0004+00 1/1 0/0 0/0 .sdata2 @4237 */ -SECTION_SDATA2 static f32 lit_4237 = 20.0f; - -/* 80453A6C-80453A70 00206C 0004+00 1/1 0/0 0/0 .sdata2 @4238 */ -SECTION_SDATA2 static f32 lit_4238 = 10.0f; - /* 80195724-801958E0 190064 01BC+00 1/1 0/0 0/0 .text setCursorAnimation__16dSelect_cursor_cFv */ void dSelect_cursor_c::setCursorAnimation() { f32 fVar1 = 1.0f; @@ -765,15 +570,3 @@ void dSelect_cursor_c::setBckAnimation(J2DAnmTransformKey* param_0) { void dSelect_cursor_c::moveCenter(J2DPane* i_pane, f32 i_x, f32 i_y) { i_pane->translate(i_x,i_y); } - -/* 80195978-801959C0 1902B8 0048+00 1/0 0/0 0/0 .text __dt__19dSelect_cursorHIO_cFv */ -dSelect_cursorHIO_c::~dSelect_cursorHIO_c() { -} - -/* 801959C0-80195A2C 190300 006C+00 0/0 1/0 0/0 .text __dt__18J2DAnmTransformKeyFv */ -// J2DAnmTransformKey::~J2DAnmTransformKey() { -extern "C" void __dt__18J2DAnmTransformKeyFv() { - // NONMATCHING -} - -/* 80394AA0-80394AA0 021100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/d_select_icon.cpp b/src/d/d_select_icon.cpp index 6e86781906..7883ad1cf1 100644 --- a/src/d/d_select_icon.cpp +++ b/src/d/d_select_icon.cpp @@ -34,6 +34,4 @@ void dSelect_icon_c::setPos(J2DPane* param_0, f32 transX, f32 transY) { field_0xc->getPanePtr()->translate(transX, transY); } -dSi_HIO_c::~dSi_HIO_c() {} - -static dSi_HIO_c g_siHIO; \ No newline at end of file +static dSi_HIO_c g_siHIO; diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 99f2029b36..09b851e441 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -13,7 +13,6 @@ #include "d/actor/d_a_player.h" #include "d/d_item.h" #include "d/d_path.h" -#include "dol2asm.h" #include "f_op/f_op_scene_mng.h" #include "m_Do/m_Do_lib.h" #include "d/actor/d_a_tag_stream.h" @@ -568,9 +567,9 @@ s32 fopAcM_seenActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actor inline f32 local_sqrtf(f32 mag) { if (mag > 0.0f) { f64 tmpd = __frsqrte(mag); - tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag); - tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag); - return 0.5 * tmpd * (3.0f - tmpd * tmpd * mag) * mag; + tmpd = 0.5 * tmpd * (3.0 - tmpd * tmpd * mag); + tmpd = 0.5 * tmpd * (3.0 - tmpd * tmpd * mag); + return 0.5 * tmpd * (3.0 - tmpd * tmpd * mag) * mag; } else if (mag < 0.0) { return NAN; } else if (fpclassify(mag) == 1) { @@ -1641,10 +1640,10 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) { * fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */ s32 fopAcM_createDisappear(const fopAc_ac_c* i_actor, const cXyz* i_pos, u8 i_size, u8 i_type, u8 i_enemyID) { - s8 roomNo = fopAcM_GetRoomNo(i_actor); return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR, (i_enemyID << 0x10) | (i_size << 0x8) | i_type, i_pos, - roomNo, &i_actor->current.angle, NULL, 0xFF, NULL, NULL)); + fopAcM_GetRoomNo(i_actor), &i_actor->current.angle, + NULL, 0xFF, NULL, NULL)); } /* 8001CB48-8001CBA0 017488 0058+00 0/0 6/6 7/7 .text fopAcM_setCarryNow__FP10fopAc_ac_ci @@ -2102,6 +2101,7 @@ s16 fopAcM_getPolygonAngle(cBgS_PolyInfo const& poly, s16 param_1) { } /* 8001DBD8-8001DC68 018518 0090+00 1/1 5/5 18/18 .text fopAcM_getPolygonAngle__FPC8cM3dGPlas */ +// NONMATCHING multiplication order s16 fopAcM_getPolygonAngle(cM3dGPla const* p_plane, s16 param_1) { if (p_plane == NULL) { return 0; diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index ec597cb8e5..6777e6b91f 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -6,30 +6,13 @@ #include "f_op/f_op_msg_mng.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "SSystem/SComponent/c_malloc.h" +#include "SSystem/SComponent/c_math.h" #include "d/d_meter2.h" #include "d/d_meter2_info.h" #include "d/d_msg_object.h" -#include "dol2asm.h" #include "f_op/f_op_scene_mng.h" #include "global.h" -// -// Forward References: -// - -extern "C" void fopMsgM_valueIncrease__FiiUc(); -extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; - -// -// External References: -// - -extern "C" u8 sincosTable___5JMath[65536]; - -// -// Declarations: -// - /* 8001F9B4-8001FA24 01A2F4 0070+00 0/0 3/3 0/0 .text fopMsgM_setStageLayer__FPv */ s32 fopMsgM_setStageLayer(void* param_0) { scene_class* scn = fopScnM_SearchByID(dStage_roomControl_c::getProcID()); @@ -54,15 +37,6 @@ void fopMsgM_Delete(void* i_this) { fpcM_Delete(i_this); } -/* ############################################################################################## */ -/* 80451C70-80451C74 000270 0004+00 6/6 0/0 0/0 .sdata2 @3902 */ -SECTION_SDATA2 static u8 lit_3902[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi */ static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_msgID, u32* param_3, @@ -88,9 +62,7 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_m if (i_pos != NULL) { params->mPos = *i_pos; } else { - f32 tmp_0 = FLOAT_LABEL(lit_3902); - cXyz tmp(tmp_0, tmp_0, tmp_0); - params->mPos = tmp; + params->mPos = cXyz(0.0f, 0.0f, 0.0f); } params->field_0x18 = param_4; @@ -111,7 +83,7 @@ static fopMsg_prm_timer* createTimerAppend(int i_mode, u32 i_limitMs, u8 i_type, appen->mpActor = 0; appen->mMsgID = 0; appen->field_0x14 = 0; - appen->mPos = cXyz(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902)); + appen->mPos = cXyz(0.0f, 0.0f, 0.0f); appen->field_0x18 = param_8; appen->timer_mode = i_mode; appen->limit_ms = i_limitMs; @@ -153,7 +125,6 @@ s32 fop_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 par timer_prm); } -/* ############################################################################################## */ /* 804505C8-804505D0 000048 0004+04 4/4 0/0 0/0 .sdata i_msgID */ static u32 i_msgID = 0xFFFFFFFF; @@ -177,7 +148,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) { if (i_actorP) { pos = i_actorP->eyePos; } else { - pos.set(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902)); + pos.set(0.0f, 0.0f, 0.0f); } if (g_MsgObject_HIO_c.mMsgDebug == true) { @@ -213,9 +184,7 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) { } else { cXyz pos; - pos.z = FLOAT_LABEL(lit_3902); - pos.y = FLOAT_LABEL(lit_3902); - pos.x = FLOAT_LABEL(lit_3902); + pos.x = pos.y = pos.z = 0.0f; dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID); @@ -258,9 +227,7 @@ int fopMsgM_messageSetDemo(u32 param_0) { } else { cXyz pos; - pos.z = FLOAT_LABEL(lit_3902); - pos.y = FLOAT_LABEL(lit_3902); - pos.x = FLOAT_LABEL(lit_3902); + pos.x = pos.y = pos.z = 0.0f; dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID); @@ -298,46 +265,15 @@ void J2DPane::setAlpha(u8 alpha) { mAlpha = alpha; } -/* ############################################################################################## */ -/* 803A3970-803A3990 -00001 001C+04 1/1 0/0 0/0 .data @4305 */ -SECTION_DATA static void* lit_4305[7 + 1 /* padding */] = { - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x88), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x90), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xB4), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xBC), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xD8), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x10C), - (void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x140), - /* padding */ - NULL, -}; - -/* 80451C74-80451C78 000274 0004+00 1/1 0/0 0/0 .sdata2 @4167 */ -SECTION_SDATA2 static f32 lit_4167 = 0.5f; - -/* 80451C78-80451C7C 000278 0004+00 1/1 0/0 0/0 .sdata2 @4298 */ -SECTION_SDATA2 static f32 lit_4298 = 1.0f; - -/* 80451C7C-80451C80 00027C 0004+00 1/1 0/0 0/0 .sdata2 @4299 */ -SECTION_SDATA2 static f32 lit_4299 = 2.0f; - -/* 80451C80-80451C84 000280 0004+00 1/1 0/0 0/0 .sdata2 @4300 */ -SECTION_SDATA2 static f32 lit_4300 = 32768.0f; - -/* 80451C84-80451C88 000284 0004+00 1/1 0/0 0/0 .sdata2 @4301 */ -SECTION_SDATA2 static f32 lit_4301 = 65535.0f; - -/* 80451C88-80451C90 000288 0008+00 1/1 0/0 0/0 .sdata2 @4303 */ -SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */; +f32 dummy() { + return 0.5f; +} /* 80020160-800202CC 01AAA0 016C+00 1/0 4/4 2/2 .text fopMsgM_valueIncrease__FiiUc */ -#ifdef NONMATCHING -// regalloc + something up with case 2 +// NONMATCHING regalloc f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { - f32 ret; - if (param_0 <= 0) { - return FLOAT_LABEL(lit_4298); + return 1.0f; } else { if (param_1 < 0) { param_1 = 0; @@ -345,51 +281,46 @@ f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { param_1 = param_0; } - ret = param_1; - f32 out_tmp = ret / param_0; + f32 ret; + f32 tmp1 = (f32)param_1 / param_0; switch (param_2) { case 0: { - ret = out_tmp * out_tmp; + ret = tmp1 * tmp1; break; } case 1: { - ret = JMAFastSqrt(out_tmp); + ret = JMAFastSqrt(tmp1); break; } - case 2: { // seems like this should be default case, but it causes other issues - ret = out_tmp; + case 2: + default: { + ret = tmp1; break; } case 3: { - f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298); - tmp = out_tmp * tmp; - ret = tmp - FLOAT_LABEL(lit_4298); + ret = tmp1 * ((2.0f * tmp1) - 1.0f) - 1.0f; break; } case 4: { - f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp)); + f32 tmp = cM_ssin(0.5f * ((f32)0x8000 * tmp1)); ret = tmp * tmp; break; } case 5: { - f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp)); + f32 tmp = cM_ssin(0.5f * ((f32)0xFFFF * tmp1)); ret = tmp * tmp; break; } case 6: { - ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp); + ret = cM_ssin((f32)0x8000 * tmp1); + break; } } - } - return ret; + return ret; + } } -#else -f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { - // NONMATCHING -} -#endif // Here to generate J2DPicture virtual inlines static void dummyVirtual(J2DPicture* picture, f32 param_1, f32 param_2, const char* param_3) { diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index 5099771052..e72a313dbb 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -7,43 +7,14 @@ #include "JSystem/JUtility/JUTTexture.h" #include "stdio.h" #include "d/d_com_inf_game.h" +#include "d/d_save.h" #include "dolphin/card.h" #include "m_Do/m_Do_MemCard.h" -// -// Forward References: -// - -extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl(); -extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl(); -extern "C" static void mDoMemCdRWm_BuildHeader__FP22mDoMemCdRWm_HeaderData(); -extern "C" static void mDoMemCdRWm_SetCardStat__FP12CARDFileInfo(); -extern "C" static void mDoMemCdRWm_CheckCardStat__FP12CARDFileInfo(); -extern "C" static void mDoMemCdRWm_CalcCheckSum__FPvUl(); -extern "C" static void mDoMemCdRWm_CalcCheckSumGameData__FPvUl(); -extern "C" void mDoMemCdRWm_TestCheckSumGameData__FPv(); -extern "C" void mDoMemCdRWm_SetCheckSumGameData__FPUcUc(); -extern "C" extern char const* const m_Do_m_Do_MemCardRWmng__stringBase0; - -// -// External References: -// - -extern "C" void _savegpr_20(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_28(); - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803ECF40-803F0F40 019C60 4000+00 2/2 0/0 0/0 .bss sTmpBuf */ static u8 sTmpBuf[0x4000]; /* 80017498-8001769C 011DD8 0204+00 0/0 1/1 0/0 .text mDoMemCdRWm_Store__FP12CARDFileInfoPvUl */ -#ifdef NONMATCHING s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) { mDoMemCdRWm_BuildHeader((mDoMemCdRWm_HeaderData*)sTmpBuf); @@ -66,12 +37,20 @@ s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) { } } + struct data_s { + int field_0x0; + int field_0x4; + u8 mData[0x1FF4]; + u32 mChecksum; + }; + memset(sTmpBuf, 0, sizeof(sTmpBuf)); - *(int*)(sTmpBuf + 4) = 6; - memcpy(sTmpBuf + 8, data, length); - *(int*)(sTmpBuf) = 0; - u32 checksum = mDoMemCdRWm_CalcCheckSum(sTmpBuf, 0x1FFC); - *(u32*)(sTmpBuf + 0x1FFC) = checksum; + data_s* tmp_data = (data_s*)sTmpBuf; + tmp_data->field_0x4 = 6; + memcpy(tmp_data->mData, data, length); + tmp_data->field_0x0 = 0; + u32 checksum = mDoMemCdRWm_CalcCheckSum(tmp_data, 0x1FFC); + tmp_data->mChecksum = checksum; card_state = CARDWrite(file, sTmpBuf, sizeof(sTmpBuf) / 2, 0x4000); if (card_state != CARD_RESULT_READY) { @@ -103,15 +82,76 @@ s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) { mDoMemCdRWm_SetCardStat(file); return card_state; } -#else -s32 mDoMemCdRWm_Store(CARDFileInfo* param_0, void* param_1, u32 param_2) { - // NONMATCHING -} -#endif /* 8001769C-8001787C 011FDC 01E0+00 0/0 1/1 0/0 .text mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl */ -s32 mDoMemCdRWm_Restore(CARDFileInfo* param_0, void* param_1, u32 param_2) { - // NONMATCHING +s32 mDoMemCdRWm_Restore(CARDFileInfo* file, void* data, u32 length) { + BOOL rewrite = FALSE; + + struct save_data_s { + u8 field_0x0[4]; + u32 mDataVersion; + u8 mSave1[QUEST_LOG_SIZE]; + u8 mSave2[QUEST_LOG_SIZE]; + u8 mSave3[QUEST_LOG_SIZE]; + }; + + save_data_s* saves = (save_data_s*)sTmpBuf; + save_data_s* backup_saves = (save_data_s*)(sTmpBuf + sizeof(sTmpBuf) / 2); + + s32 card_state = CARDRead(file, saves, sizeof(sTmpBuf) / 2, 0x4000); + if (card_state != CARD_RESULT_READY) { + return card_state; + } + + BOOL test_save1 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave1); + BOOL test_save2 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave2); + BOOL test_save3 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave3); + + card_state = CARDRead(file, backup_saves, sizeof(sTmpBuf) / 2, 0x6000); + if (card_state != CARD_RESULT_READY) { + return card_state; + } + + BOOL test_backup1 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave1); + BOOL test_backup2 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave2); + BOOL test_backup3 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave3); + + if (!test_save1 && test_backup1) { + memcpy(saves->mSave1, backup_saves->mSave1, QUEST_LOG_SIZE); + rewrite = TRUE; + } + + if (!test_save2 && test_backup2) { + memcpy(saves->mSave2, backup_saves->mSave2, QUEST_LOG_SIZE); + rewrite = TRUE; + } + + if (!test_save3 && test_backup3) { + memcpy(saves->mSave3, backup_saves->mSave3, QUEST_LOG_SIZE); + rewrite = TRUE; + } + + if (!mDoMemCdRWm_CheckCardStat(file)) { + return CARD_RESULT_FATAL_ERROR; + } + + if (rewrite) { + card_state = CARDWrite(file, saves, sizeof(sTmpBuf) / 2, 0x4000); + if (card_state != CARD_RESULT_READY) { + return card_state; + } + + card_state = CARDWrite(file, saves, sizeof(sTmpBuf) / 2, 0x6000); + if (card_state != CARD_RESULT_READY) { + return card_state; + } + } + + memcpy(data, saves->mSave1, length); + mDoMemCd_setDataVersion(saves->mDataVersion); + mDoMemCd_setSerialNo(); + + return CARD_RESULT_READY; } /* 8001787C-800179E4 0121BC 0168+00 1/1 0/0 0/0 .text @@ -141,14 +181,60 @@ static void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData* header) { } /* 800179E4-80017B4C 012324 0168+00 1/1 0/0 0/0 .text mDoMemCdRWm_SetCardStat__FP12CARDFileInfo */ -static void mDoMemCdRWm_SetCardStat(CARDFileInfo* param_0) { - // NONMATCHING +static void mDoMemCdRWm_SetCardStat(CARDFileInfo* file) { + CARDStat stat; + mDoMemCd_getCardStatus(file->fileNo, &stat); + stat.iconAddr = 0; + stat.commentAddr = 0x2400; + CARDSetBannerFormat(&stat, CARD_STAT_BANNER_C8); + CARDSetIconAnim(&stat, CARD_STAT_ANIM_BOUNCE); + CARDSetIconFormat(&stat, 0, CARD_STAT_ICON_C8); + CARDSetIconFormat(&stat, 1, CARD_STAT_ICON_C8); + CARDSetIconFormat(&stat, 2, CARD_STAT_ICON_C8); + CARDSetIconFormat(&stat, 3, CARD_STAT_ICON_C8); + CARDSetIconFormat(&stat, 4, CARD_STAT_ICON_C8); + CARDSetIconFormat(&stat, 5, CARD_STAT_ICON_NONE); + CARDSetIconFormat(&stat, 6, CARD_STAT_ICON_NONE); + CARDSetIconFormat(&stat, 7, CARD_STAT_ICON_NONE); + CARDSetIconSpeed(&stat, 0, CARD_STAT_SPEED_FAST); + CARDSetIconSpeed(&stat, 1, CARD_STAT_SPEED_FAST); + CARDSetIconSpeed(&stat, 2, CARD_STAT_SPEED_FAST); + CARDSetIconSpeed(&stat, 3, CARD_STAT_SPEED_FAST); + CARDSetIconSpeed(&stat, 4, CARD_STAT_SPEED_FAST); + CARDSetIconSpeed(&stat, 5, CARD_STAT_SPEED_END); + CARDSetIconSpeed(&stat, 6, CARD_STAT_SPEED_END); + CARDSetIconSpeed(&stat, 7, CARD_STAT_SPEED_END); + mDoMemCd_setCardStatus(file->fileNo, &stat); } /* 80017B4C-80017C74 01248C 0128+00 2/2 0/0 0/0 .text mDoMemCdRWm_CheckCardStat__FP12CARDFileInfo */ -static BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* param_0) { - // NONMATCHING +static BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* file) { + CARDStat stat; + mDoMemCd_getCardStatus(file->fileNo, &stat); + if (stat.iconAddr != 0 || stat.commentAddr != 0x2400 + || CARDGetBannerFormat(&stat) != CARD_STAT_BANNER_C8 + || CARDGetIconAnim(&stat) != CARD_STAT_ANIM_BOUNCE + || CARDGetIconFormat(&stat, 0) != CARD_STAT_ICON_C8 + || CARDGetIconFormat(&stat, 1) != CARD_STAT_ICON_C8 + || CARDGetIconFormat(&stat, 2) != CARD_STAT_ICON_C8 + || CARDGetIconFormat(&stat, 3) != CARD_STAT_ICON_C8 + || CARDGetIconFormat(&stat, 4) != CARD_STAT_ICON_C8 + || CARDGetIconFormat(&stat, 5) != CARD_STAT_ICON_NONE + || CARDGetIconFormat(&stat, 6) != CARD_STAT_ICON_NONE + || CARDGetIconFormat(&stat, 7) != CARD_STAT_ICON_NONE + || CARDGetIconSpeed(&stat, 0) != CARD_STAT_SPEED_FAST + || CARDGetIconSpeed(&stat, 1) != CARD_STAT_SPEED_FAST + || CARDGetIconSpeed(&stat, 2) != CARD_STAT_SPEED_FAST + || CARDGetIconSpeed(&stat, 3) != CARD_STAT_SPEED_FAST + || CARDGetIconSpeed(&stat, 4) != CARD_STAT_SPEED_FAST + || CARDGetIconSpeed(&stat, 5) != CARD_STAT_SPEED_END + || CARDGetIconSpeed(&stat, 6) != CARD_STAT_SPEED_END + || CARDGetIconSpeed(&stat, 7) != CARD_STAT_SPEED_END) + { + return FALSE; + } + return TRUE; } /* 80017C74-80017CB4 0125B4 0040+00 1/1 0/0 0/0 .text mDoMemCdRWm_CalcCheckSum__FPvUl */ @@ -200,4 +286,4 @@ void mDoMemCdRWm_SetCheckSumGameData(u8* data, u8 dataNum) { *(u64*)(file_ptr + 0xA8C) = mDoMemCdRWm_CalcCheckSumGameData(file_ptr, 0xA8C); } -/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 310817cc93..7784f09d77 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -3,9 +3,6 @@ * Model, Animation, and Heap Functions */ -// Not matching because of virtual tables -#define NON_VIRTUAL_3DLINEMAT - #include "m_Do/m_Do_ext.h" #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" @@ -22,423 +19,6 @@ #include "global.h" #include "m_Do/m_Do_mtx.h" -// -// Types: -// - -struct J3DDrawBuffer; - -struct J3DDrawBuffer { - /* 8032548C */ void entryImm(J3DPacket*, u16); -}; - -/* J3DMtxCalcNoAnm */ -struct J3DMtxCalcNoAnm__template0 { - /* 8000FA20 */ void func_8000FA20(void* _this); - /* 8001505C */ void func_8001505C(void* _this, Vec const&, f32 const (&)[3][4]); - /* 80015084 */ void func_80015084(void* _this); -}; - -struct J3DMtxCalcAnimationAdaptorBase { - J3DMtxCalcAnimationAdaptorBase() {} - void change() {} -}; - -template -struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase { - J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* param_0) {} -}; - -struct J3DMtxCalcAnmBase /* : public J3DMtxCalc */ { - J3DMtxCalcAnmBase(J3DAnmTransform* param_0) { mAnmTransform = param_0; } - /* 8000D8EC */ ~J3DMtxCalcAnmBase(); - /* 80014FB8 */ J3DAnmTransform* getAnmTransform(); - /* 80014FC0 */ void setAnmTransform(J3DAnmTransform*); - - J3DAnmTransform* mAnmTransform; -}; - -template -struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase { - J3DMtxCalcAnimation(J3DAnmTransform* param_0) : J3DMtxCalcAnmBase(param_0), field_0x8(param_0) {} - ~J3DMtxCalcAnimation() {} - void setAnmTransform(J3DAnmTransform*) {} - void init(const Vec&, const Mtx&) {} - void calc() {} - - A0 field_0x8; -}; -/* J3DMtxCalcAnimation, - * J3DMtxCalcJ3DSysInitMaya> */ -struct J3DMtxCalcAnimation__template0 { - /* 8000D8E4 */ void func_8000D8E4(void* _this, J3DAnmTransform*); - /* 80014FC8 */ void func_80014FC8(void* _this); - /* 80015034 */ void func_80015034(void* _this, Vec const&, f32 const (&)[3][4]); - /* 800150AC */ void func_800150AC(void* _this); -}; - -// -// Forward References: -// - -extern "C" static void mDoExt_setJ3DData__FPA4_fPC16J3DTransformInfoUs(); -extern "C" void initPlay__14mDoExt_baseAnmFsifss(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss(); -extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss(); -extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void func_8000D8E4(void* _this, J3DAnmTransform*); -extern "C" void __dt__17J3DMtxCalcAnmBaseFv(); -extern "C" void __dt__10J3DMtxCalcFv(); -extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf(); -extern "C" void init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss(); -extern "C" static void mDoExt_changeMaterial__FP8J3DModel(); -extern "C" void mDoExt_modelTexturePatch__FP12J3DModelData(); -extern "C" void patchTexNoAndTexCoordScale__11J3DTevBlockFv(); -extern "C" void patch__10J3DPEBlockFv(); -extern "C" void patchLight__13J3DColorBlockFv(); -extern "C" void patch__11J3DTevBlockFv(); -extern "C" static void mDoExt_modelDiff__FP8J3DModel(); -extern "C" void mDoExt_modelUpdate__FP8J3DModel(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_modelEntryDL__FP8J3DModel(); -extern "C" void mDoExt_btkAnmRemove__FP12J3DModelData(); -extern "C" void mDoExt_brkAnmRemove__FP12J3DModelData(); -extern "C" bool getZCompLoc__10J3DPEBlockCFv(); -extern "C" bool getZMode__10J3DPEBlockFv(); -extern "C" bool getBlend__10J3DPEBlockFv(); -extern "C" bool getAlphaComp__10J3DPEBlockFv(); -extern "C" bool getFog__10J3DPEBlockFv(); -extern "C" bool getIndTexCoordScale__11J3DIndBlockFUl(); -extern "C" bool getIndTexMtx__11J3DIndBlockFUl(); -extern "C" bool getIndTexOrder__11J3DIndBlockFUl(); -extern "C" bool getIndTexStageNum__11J3DIndBlockCFv(); -extern "C" bool getIndTevStage__11J3DTevBlockFUl(); -extern "C" bool getTevStage__11J3DTevBlockFUl(); -extern "C" void getTexNo__11J3DTevBlockCFUl(); -extern "C" bool getTevSwapModeTable__11J3DTevBlockFUl(); -extern "C" bool getTevKAlphaSel__11J3DTevBlockFUl(); -extern "C" bool getTevKColorSel__11J3DTevBlockFUl(); -extern "C" bool getTevOrder__11J3DTevBlockFUl(); -extern "C" bool getTevKColor__11J3DTevBlockFUl(); -extern "C" bool getTevColor__11J3DTevBlockFUl(); -extern "C" bool getTevStageNum__11J3DTevBlockCFv(); -extern "C" bool getTexMtx__14J3DTexGenBlockFUl(); -extern "C" bool getTexCoord__14J3DTexGenBlockFUl(); -extern "C" bool getTexGenNum__14J3DTexGenBlockCFv(); -extern "C" bool getAmbColor__13J3DColorBlockFUl(); -extern "C" bool getColorChan__13J3DColorBlockFUl(); -extern "C" bool getMatColor__13J3DColorBlockFUl(); -extern "C" bool getColorChanNum__13J3DColorBlockCFv(); -extern "C" void setZCompLoc__10J3DPEBlockFUc(); -extern "C" void setZMode__10J3DPEBlockF8J3DZMode(); -extern "C" void setBlend__10J3DPEBlockFRC8J3DBlend(); -extern "C" void setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp(); -extern "C" void setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale(); -extern "C" void __dt__19J3DIndTexCoordScaleFv(); -extern "C" void setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx(); -extern "C" void __dt__12J3DIndTexMtxFv(); -extern "C" void setIndTexStageNum__11J3DIndBlockFUc(); -extern "C" void setIndTevStage__11J3DTevBlockFUl14J3DIndTevStage(); -extern "C" void setTevStage__11J3DTevBlockFUl11J3DTevStage(); -extern "C" void setTexNo__11J3DTevBlockFUlUs(); -extern "C" void setTevSwapModeTable__11J3DTevBlockFUl19J3DTevSwapModeTable(); -extern "C" void setTevKAlphaSel__11J3DTevBlockFUlUc(); -extern "C" void setTevKColorSel__11J3DTevBlockFUlUc(); -extern "C" void setTevOrder__11J3DTevBlockFUl11J3DTevOrder(); -extern "C" void setTevKColor__11J3DTevBlockFUl10J3DGXColor(); -extern "C" void setTevColor__11J3DTevBlockFUl13J3DGXColorS10(); -extern "C" void setTevStageNum__11J3DTevBlockFUc(); -extern "C" void setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord(); -extern "C" void setTexGenNum__14J3DTexGenBlockFUl(); -extern "C" void setAmbColor__13J3DColorBlockFUl10J3DGXColor(); -extern "C" void setColorChan__13J3DColorBlockFUlRC12J3DColorChan(); -extern "C" void setMatColor__13J3DColorBlockFUl10J3DGXColor(); -extern "C" void setColorChanNum__13J3DColorBlockFUc(); -extern "C" void __ct__19J3DIndTexCoordScaleFv(); -extern "C" void __ct__12J3DIndTexMtxFv(); -extern "C" void __ct__14J3DIndTexOrderFv(); -extern "C" void __ct__19J3DTevSwapModeTableFv(); -extern "C" void __ct__11J3DTevOrderFv(); -extern "C" void __ct__14J3DIndTevStageFv(); -extern "C" void __ct__11J3DTevStageFv(); -extern "C" void setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo(); -extern "C" void __ct__13J3DGXColorS10Fv(); -extern "C" void __ct__11J3DTexCoordFv(); -extern "C" void __ct__12J3DColorChanFv(); -extern "C" void __ct__10J3DGXColorFv(); -extern "C" void create__21mDoExt_invisibleModelFP8J3DModelUc(); -extern "C" void __dt__19mDoExt_invJntPacketFv(); -extern "C" void __ct__19mDoExt_invJntPacketFv(); -extern "C" void __dt__9J3DPacketFv(); -extern "C" void entryJoint__21mDoExt_invisibleModelFP4cXyz(); -extern "C" void entryDL__21mDoExt_invisibleModelFP4cXyz(); -extern "C" void mDoExt_setupShareTexture__FP12J3DModelDataP12J3DModelData(); -extern "C" void mDoExt_setupStageTexture__FP12J3DModelData(); -extern "C" void mDoExt_createAssertHeap__FP7JKRHeap(); -extern "C" u32 mDoExt_getAssertHeap__Fv(); -extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getDbPrintHeap__Fv(); -extern "C" void mDoExt_createGameHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_createZeldaHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getZeldaHeap__Fv(); -extern "C" void mDoExt_createCommandHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getCommandHeap__Fv(); -extern "C" void mDoExt_createArchiveHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getArchiveHeap__Fv(); -extern "C" u32 mDoExt_getArchiveHeapPtr__Fv(); -extern "C" void mDoExt_createJ2dHeap__FUlP7JKRHeap(); -extern "C" u32 mDoExt_getJ2dHeap__Fv(); -extern "C" u32 mDoExt_getHostIOHeap__Fv(); -extern "C" static void mDoExt_createSolidHeap__FUlP7JKRHeapUl(); -extern "C" void mDoExt_createSolidHeapFromGame__FUlUl(); -extern "C" void mDoExt_createSolidHeapFromSystem__FUlUl(); -extern "C" static void mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl(); -extern "C" void mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" u32 mDoExt_getCurrentHeap__Fv(); -extern "C" void mDoExt_restoreCurrentHeap__Fv(); -extern "C" void mDoExt_resIDToIndex__FP10JKRArchiveUs(); -extern "C" void calc__25mDoExt_MtxCalcAnmBlendTblFv(); -extern "C" void calc__28mDoExt_MtxCalcAnmBlendTblOldFv(); -extern "C" void initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs(); -extern "C" void decOldFrameMorfCounter__22mDoExt_MtxCalcOldFrameFv(); -extern "C" void __ct__13mDoExt_morf_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void func_8000FA20(void* _this); -extern "C" void __dt__19J3DMtxCalcNoAnmBaseFv(); -extern "C" void __dt__13mDoExt_morf_cFv(); -extern "C" void setMorf__13mDoExt_morf_cFf(); -extern "C" void frameUpdate__13mDoExt_morf_cFv(); -extern "C" void -__ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl(); -extern "C" void __dt__14mDoExt_McaMorfFv(); -extern "C" void -create__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl(); -extern "C" void calc__14mDoExt_McaMorfFv(); -extern "C" void setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv(); -extern "C" void play__14mDoExt_McaMorfFP3VecUlSc(); -extern "C" void entryDL__14mDoExt_McaMorfFv(); -extern "C" void modelCalc__14mDoExt_McaMorfFv(); -extern "C" void getTransform__14mDoExt_McaMorfFUsP16J3DTransformInfo(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void __dt__16mDoExt_McaMorfSOFv(); -extern "C" void -create__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void calc__16mDoExt_McaMorfSOFv(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void updateDL__16mDoExt_McaMorfSOFv(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void getTransform__16mDoExt_McaMorfSOFUsP16J3DTransformInfo(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void -__ct__15mDoExt_McaMorf2FP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void __dt__15mDoExt_McaMorf2Fv(); -extern "C" void -create__15mDoExt_McaMorf2FP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void ERROR_EXIT__15mDoExt_McaMorf2Fv(); -extern "C" void calc__15mDoExt_McaMorf2Fv(); -extern "C" void setAnm__15mDoExt_McaMorf2FP15J3DAnmTransformP15J3DAnmTransformfiffff(); -extern "C" void setAnmRate__15mDoExt_McaMorf2Ff(); -extern "C" void play__15mDoExt_McaMorf2FUlSc(); -extern "C" void entryDL__15mDoExt_McaMorf2Fv(); -extern "C" void modelCalc__15mDoExt_McaMorf2Fv(); -extern "C" void stopZelAnime__15mDoExt_McaMorf2Fv(); -extern "C" void draw__19mDoExt_invJntPacketFv(); -extern "C" void init__15mDoExt_3Dline_cFUsii(); -extern "C" void __ct__4cXyzFv(); -extern "C" void init__19mDoExt_3DlineMat0_cFUsUsi(); -extern "C" void __ct__15mDoExt_3Dline_cFv(); -extern "C" void setMaterial__19mDoExt_3DlineMat0_cFv(); -extern "C" void draw__19mDoExt_3DlineMat0_cFv(); -extern "C" void update__19mDoExt_3DlineMat0_cFifR8_GXColorUsP12dKy_tevstr_c(); -extern "C" void update__19mDoExt_3DlineMat0_cFiR8_GXColorP12dKy_tevstr_c(); -extern "C" void init__19mDoExt_3DlineMat1_cFUsUsP7ResTIMGi(); -extern "C" void setMaterial__19mDoExt_3DlineMat1_cFv(); -extern "C" void draw__19mDoExt_3DlineMat1_cFv(); -extern "C" void update__19mDoExt_3DlineMat1_cFifR8_GXColorUsP12dKy_tevstr_c(); -extern "C" void update__19mDoExt_3DlineMat1_cFiR8_GXColorP12dKy_tevstr_c(); -extern "C" void setMat__26mDoExt_3DlineMatSortPacketFP18mDoExt_3DlineMat_c(); -extern "C" void draw__26mDoExt_3DlineMatSortPacketFv(); -extern "C" static void -mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl(); -extern "C" void __dt__7JUTFontFv(); -extern "C" static void mDoExt_initFont0__Fv(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_removeMesgFont__Fv(); -extern "C" static void mDoExt_initFont1__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" static void mDoExt_initFont2__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void mDoExt_removeSubFont__Fv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void mDoExt_setAraCacheSize__FUl(); -extern "C" void mDoExt_GetCurrentRunningThread__Fv(); -extern "C" void setGX__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void getCellWidth__7JUTFontCFv(); -extern "C" void getCellHeight__7JUTFontCFv(); -extern "C" void __dt__26mDoExt_3DlineMatSortPacketFv(); -extern "C" bool getMaterialID__19mDoExt_3DlineMat1_cFv(); -extern "C" int getMaterialID__19mDoExt_3DlineMat0_cFv(); -extern "C" void setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform(); -extern "C" void setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform(); -extern "C" bool getAnmTransform__10J3DMtxCalcFUc(); -extern "C" bool getAnmTransform__10J3DMtxCalcFv(); -extern "C" void setWeight__10J3DMtxCalcFUcf(); -extern "C" void getWeight__10J3DMtxCalcCFUc(); -extern "C" void __dt__28mDoExt_MtxCalcAnmBlendTblOldFv(); -extern "C" void __dt__25mDoExt_MtxCalcAnmBlendTblFv(); -extern "C" void getAnmTransform__17J3DMtxCalcAnmBaseFv(); -extern "C" void setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform(); -extern "C" void func_80014FC8(void* _this); -extern "C" void func_80015034(void* _this, Vec const&, f32 const (&)[3][4]); -extern "C" void func_8001505C(void* _this, Vec const&, f32 const (&)[3][4]); -extern "C" void func_80015084(void* _this); -extern "C" void func_800150AC(void* _this); -extern "C" extern char const* const m_Do_m_Do_ext__stringBase0; - -static void mDoExt_initFontCommon(JUTFont** param_0, ResFONT** param_1, JKRHeap* param_2, - char const* param_3, JKRArchive* param_4, u8 param_5, u32 param_6, - u32 param_7); - -// -// External References: -// - -extern "C" void __dt__4cXyzFv(); -extern "C" void dComIfG_getStageRes__FPCc(); -extern "C" void entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_Global_amb_set__FP12dKy_tevstr_c(); -extern "C" void dKy_GxFog_set__Fv(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void outprod__4cXyzCFRC3Vec(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void framework__14Z2SoundObjBaseFUlSc(); -extern "C" void dispose__14Z2SoundObjBaseFv(); -extern "C" void stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool(); -extern "C" void startSound__14Z2SoundObjBaseF10JAISoundIDUlSc(); -extern "C" void startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc(); -extern "C" void __ct__15Z2SoundObjAnimeFv(); -extern "C" void init__15Z2SoundObjAnimeFP3VecUc(); -extern "C" void initAnime__15Z2SoundObjAnimeFPvbff(); -extern "C" void updateAnime__15Z2SoundObjAnimeFff(); -extern "C" void initAnime__10Z2CreatureFPvbff(); -extern "C" void updateAnime__10Z2CreatureFff(); -extern "C" void -GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc(); -extern "C" void GFSetZMode__FUc10_GXCompareUc(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void destroy__7JKRHeapFv(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void setErrorFlag__7JKRHeapFb(); -extern "C" void* __nw__FUl(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void create__12JKRSolidHeapFUlP7JKRHeapb(); -extern "C" void adjustSize__12JKRSolidHeapFv(); -extern "C" void create__13JKRAssertHeapFP7JKRHeap(); -extern "C" void removeResource__13JKRFileLoaderFPvP13JKRFileLoader(); -extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); -extern "C" void findIdResource__10JKRArchiveCFUs(); -extern "C" void __ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap(); -extern "C" void getName__10JUTNameTabCFUs(); -extern "C" void __ct__10JUTResFontFPC7ResFONTP7JKRHeap(); -extern "C" void reinitGX__6J3DSysFv(); -extern "C" void init__15J3DVertexBufferFv(); -extern "C" void callDL__17J3DDisplayListObjCFv(); -extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); -extern "C" void drawFast__14J3DShapePacketFv(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void __as__16J3DIndTexMtxInfoFRC16J3DIndTexMtxInfo(); -extern "C" void initialize__8J3DModelFv(); -extern "C" void entryModelData__8J3DModelFP12J3DModelDataUlUl(); -extern "C" void newDifferedDisplayList__8J3DModelFUl(); -extern "C" void lock__8J3DModelFv(); -extern "C" void unlock__8J3DModelFv(); -extern "C" void diff__8J3DModelFv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void update__12J3DFrameCtrlFv(); -extern "C" void searchUpdateMaterialID__11J3DAnmColorFP16J3DMaterialTable(); -extern "C" void searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable(); -extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP16J3DMaterialTable(); -extern "C" void setTexMtxAnm__14J3DMaterialAnmFiP12J3DTexMtxAnm(); -extern "C" void setTevColorAnm__14J3DMaterialAnmFiP14J3DTevColorAnm(); -extern "C" void setTevKColorAnm__14J3DMaterialAnmFiP15J3DTevKColorAnm(); -extern "C" void setAnm__13J3DDeformDataFP13J3DAnmCluster(); -extern "C" void init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf(); -extern "C" void calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo(); -extern "C" void entryMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor(); -extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void JMAEulerToQuat__FsssP10Quaternion(); -extern "C" void JMAQuatLerp__FPC10QuaternionPC10QuaternionfP10Quaternion(); -extern "C" void GXClearVtxDesc(); -extern "C" void __construct_new_array(); -extern "C" void _savegpr_15(); -extern "C" void _savegpr_18(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_15(); -extern "C" void _restgpr_18(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__9J3DPacket[5]; -extern "C" extern void* __vt__8J3DModel[9]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" f32 mParentS__6J3DSys[3]; -extern "C" u8 sGDLObj__17J3DDisplayListObj[16]; -extern "C" u8 sCurrentHeap__7JKRHeap[4]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; -extern "C" u8 mJoint__10J3DMtxCalc[4]; -extern "C" extern u16 data_804563F8; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80451B18-80451B1C 000118 0004+00 11/11 0/0 0/0 .sdata2 @3847 */ -SECTION_SDATA2 static f32 lit_3847 = 1.0f; - /* 8000D0AC-8000D320 0079EC 0274+00 5/5 0/0 0/0 .text * mDoExt_setJ3DData__FPA4_fPC16J3DTransformInfoUs */ static void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param_2) { @@ -486,19 +66,6 @@ static void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u1 J3DSys::mParentS.z = transformInfo->mScale.z; } - -/* ############################################################################################## */ -/* 80451B1C-80451B20 00011C 0004+00 22/22 0/0 0/0 .sdata2 @3876 */ -SECTION_SDATA2 static u8 lit_3876[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451B20-80451B28 000120 0008+00 10/10 0/0 0/0 .sdata2 @3878 */ -SECTION_SDATA2 static f64 lit_3878 = 4503601774854144.0 /* cast s32 to float */; - /* 8000D320-8000D428 007C60 0108+00 6/6 0/0 0/0 .text initPlay__14mDoExt_baseAnmFsifss */ int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF) { @@ -524,14 +91,12 @@ int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_ return 1; } - /* 8000D428-8000D47C 007D68 0054+00 0/0 12/12 198/198 .text play__14mDoExt_baseAnmFv */ int mDoExt_baseAnm::play() { mFrameCtrl.update(); return isStop(); } - /* 8000D47C-8000D518 007DBC 009C+00 0/0 3/3 6/6 .text * init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss */ int mDoExt_bpkAnm::init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay, @@ -588,7 +153,6 @@ void mDoExt_btpAnm::entry(J3DMaterialTable* i_matTable, s16 i_frame) { i_matTable->entryTexNoAnimator(mpAnm); } - /* 8000D63C-8000D6D8 007F7C 009C+00 0/0 6/6 137/137 .text * init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss */ int mDoExt_btkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, @@ -647,736 +211,47 @@ void mDoExt_brkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { /* ############################################################################################## */ /* 803A3020-803A30C0 000140 0085+1B 1/1 0/0 0/0 .data l_invisibleMat$7041 */ -SECTION_DATA static u8 l_invisibleMat[133 + 27 /* padding */] ALIGN_DECL(32) = { - 0x10, - 0x00, - 0x00, - 0x10, - 0x0E, - 0x00, - 0x00, - 0x04, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x10, - 0x00, - 0x00, - 0x04, - 0x00, - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFC, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0xF0, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0x40, - 0x00, - 0x00, - 0x17, - 0x61, - 0xEE, - 0x00, - 0x00, - 0x00, - 0x61, - 0xEF, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF0, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF1, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF2, - 0x00, - 0x00, - 0x00, - 0x61, - 0x41, - 0x00, - 0x00, - 0x04, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x40, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +static u8 l_invisibleMat[133] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, + 0x08, 0xFF, 0xF0, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, + 0x00, 0x00, 0x17, 0x61, 0xEE, 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, + 0x00, 0x00, 0x00, 0x61, 0xF1, 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x61, 0x41, + 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A30C0-803A3160 0001E0 0084+1C 1/1 0/0 0/0 .data l_matDL */ -SECTION_DATA static u8 l_matDL[132 + 28 /* padding */] = { - 0x08, - 0x30, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x18, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x0E, - 0x00, - 0x00, - 0x7F, - 0x32, - 0x10, - 0x00, - 0x00, - 0x10, - 0x10, - 0x00, - 0x00, - 0x05, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x0C, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x28, - 0xF6, - 0xAF, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0xE0, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0x40, - 0x00, - 0x00, - 0x17, - 0x61, - 0x41, - 0x00, - 0x00, - 0x0C, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +static u8 l_matDL[132] ALIGN_DECL(32) = { + 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, 0x32, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0x28, 0x38, + 0x00, 0x00, 0x61, 0xC0, 0x28, 0xF6, 0xAF, 0x61, 0xC1, 0x08, 0xFF, 0xE0, 0x61, 0x43, 0x00, + 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x00, 0x0C, 0x61, 0xF3, 0x7F, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A3160-803A31F0 000280 008D+03 1/1 0/0 0/0 .data l_mat1DL */ -SECTION_DATA static u8 l_mat1DL[141 + 3 /* padding */] = { - 0x10, - 0x00, - 0x00, - 0x10, - 0x40, - 0xFF, - 0xFF, - 0x42, - 0x80, - 0x08, - 0x30, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x18, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x0E, - 0x00, - 0x00, - 0x7F, - 0x32, - 0x10, - 0x00, - 0x00, - 0x10, - 0x10, - 0x00, - 0x00, - 0x05, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x0C, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0x61, - 0x28, - 0x38, - 0x00, - 0x40, - 0x61, - 0xC0, - 0x28, - 0xFA, - 0x8F, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0xF0, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0x40, - 0x00, - 0x00, - 0x17, - 0x61, - 0x41, - 0x00, - 0x00, - 0x0C, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x01, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 803A31F0-803A3234 000310 0044+00 1/1 2/2 0/0 .data __vt__7JUTFont */ -SECTION_DATA extern void* __vt__7JUTFont[17] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__7JUTFontFv, - (void*)NULL, - (void*)setGX__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)getCellWidth__7JUTFontCFv, - (void*)getCellHeight__7JUTFontCFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803A3234-803A3248 000354 0014+00 1/1 1/1 0/0 .data __vt__26mDoExt_3DlineMatSortPacket - */ -SECTION_DATA extern void* __vt__26mDoExt_3DlineMatSortPacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__26mDoExt_3DlineMatSortPacketFv, - (void*)__dt__26mDoExt_3DlineMatSortPacketFv, -}; - -/* 803A3248-803A325C 000368 0014+00 0/0 0/0 22/22 .data __vt__19mDoExt_3DlineMat1_c */ -SECTION_DATA extern void* __vt__19mDoExt_3DlineMat1_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getMaterialID__19mDoExt_3DlineMat1_cFv, - (void*)setMaterial__19mDoExt_3DlineMat1_cFv, - (void*)draw__19mDoExt_3DlineMat1_cFv, -}; - -/* 803A325C-803A3270 00037C 0014+00 0/0 0/0 14/14 .data __vt__19mDoExt_3DlineMat0_c */ -SECTION_DATA extern void* __vt__19mDoExt_3DlineMat0_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getMaterialID__19mDoExt_3DlineMat0_cFv, - (void*)setMaterial__19mDoExt_3DlineMat0_cFv, - (void*)draw__19mDoExt_3DlineMat0_cFv, -}; - -/* 803A3270-803A3284 000390 0014+00 2/2 0/0 0/0 .data __vt__19mDoExt_invJntPacket */ -SECTION_DATA extern void* __vt__19mDoExt_invJntPacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__19mDoExt_invJntPacketFv, - (void*)__dt__19mDoExt_invJntPacketFv, -}; - -/* 803A3284-803A32B0 0003A4 002C+00 2/2 0/0 0/0 .data __vt__15mDoExt_McaMorf2 */ -SECTION_DATA extern void* __vt__15mDoExt_McaMorf2[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15mDoExt_McaMorf2Fv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)calc__15mDoExt_McaMorf2Fv, -}; - -/* 803A32B0-803A32DC 0003D0 002C+00 2/2 0/0 0/0 .data __vt__16mDoExt_McaMorfSO */ -SECTION_DATA extern void* __vt__16mDoExt_McaMorfSO[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16mDoExt_McaMorfSOFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)calc__16mDoExt_McaMorfSOFv, -}; - -/* 803A32DC-803A32FC 0003FC 0020+00 1/1 0/0 0/0 .data __vt__15mDoExt_zelAnime */ -SECTION_DATA extern void* __vt__15mDoExt_zelAnime[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__14Z2SoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__15Z2SoundObjAnimeFP3VecUc, - (void*)startSound__14Z2SoundObjBaseF10JAISoundIDUlSc, - (void*)startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc, -}; - -/* 803A32FC-803A3328 00041C 002C+00 2/2 0/0 0/0 .data __vt__14mDoExt_McaMorf */ -SECTION_DATA extern void* __vt__14mDoExt_McaMorf[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoExt_McaMorfFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)calc__14mDoExt_McaMorfFv, -}; - -/* 803A3328-803A3354 000448 002C+00 2/2 0/0 0/0 .data __vt__13mDoExt_morf_c */ -SECTION_DATA extern void* __vt__13mDoExt_morf_c[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13mDoExt_morf_cFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)func_80015084, -}; - -/* 803A3354-803A3360 000474 000C+00 3/3 30/30 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 803A3360-803A338C 000480 002C+00 5/5 2/2 0/0 .data - * __vt__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya> */ -SECTION_DATA extern void* data_803A3360[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)func_8000FA20, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)func_80015084, -}; - -/* 803A338C-803A33B8 0004AC 002C+00 6/6 4/4 0/0 .data __vt__19J3DMtxCalcNoAnmBase */ -SECTION_DATA extern void* __vt__19J3DMtxCalcNoAnmBase[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19J3DMtxCalcNoAnmBaseFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)NULL, - (void*)NULL, -}; - -/* 803A33B8-803A33E4 0004D8 002C+00 1/1 1/1 2/2 .data __vt__28mDoExt_MtxCalcAnmBlendTblOld */ -SECTION_DATA extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__28mDoExt_MtxCalcAnmBlendTblOldFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)calc__28mDoExt_MtxCalcAnmBlendTblOldFv, -}; - -/* 803A33E4-803A3410 000504 002C+00 2/2 1/1 2/2 .data __vt__25mDoExt_MtxCalcAnmBlendTbl - */ -SECTION_DATA extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25mDoExt_MtxCalcAnmBlendTblFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_8001505C, - (void*)calc__25mDoExt_MtxCalcAnmBlendTblFv, -}; - -/* 803A3410-803A343C 000530 002C+00 2/2 0/0 0/0 .data - * __vt__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya> - */ -SECTION_DATA extern void* data_803A3410[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)func_80014FC8, - (void*)func_8000D8E4, - (void*)getAnmTransform__17J3DMtxCalcAnmBaseFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)func_80015034, - (void*)func_800150AC, -}; - -/* 803A343C-803A3468 00055C 002C+00 3/3 0/0 0/0 .data __vt__17J3DMtxCalcAnmBase */ -SECTION_DATA extern void* __vt__17J3DMtxCalcAnmBase[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17J3DMtxCalcAnmBaseFv, - (void*)setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform, - (void*)getAnmTransform__17J3DMtxCalcAnmBaseFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)NULL, - (void*)NULL, -}; - -/* 803A3468-803A3498 000588 002C+04 10/10 4/4 0/0 .data __vt__10J3DMtxCalc */ -SECTION_DATA extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFv, - (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform, - (void*)getAnmTransform__10J3DMtxCalcFUc, - (void*)setWeight__10J3DMtxCalcFUcf, - (void*)getWeight__10J3DMtxCalcCFUc, - (void*)NULL, - (void*)NULL, - /* padding */ - NULL, +static u8 l_mat1DL[141] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xCF, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, + 0x32, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0x61, 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xFA, 0x8F, 0x61, 0xC1, 0x08, + 0xFF, 0xF0, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x00, + 0x0C, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8000D7DC-8000D8E4 00811C 0108+00 0/0 18/18 85/85 .text * init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb */ -// J3DMtxCalcAnimation inheritance -#ifdef NOTIMPLEMENTED +// NONMATCHING J3DMtxCalcAnimation inheritance int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify) { JUT_ASSERT(614, (i_modify || isCurrentSolidHeap()) && i_bck != 0); @@ -1395,24 +270,6 @@ int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_ra } return 1; } -#else -int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, - s16 i_startF, s16 i_endF, bool i_modify) { - // NONMATCHING -} -#endif - -/* 8000D8E4-8000D8EC -00001 0008+00 0/0 0/0 0/0 .text - * setAnmTransform__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>FP15J3DAnmTransform - */ -extern "C" void func_8000D8E4(void* _this, J3DAnmTransform* param_0) { - *(u32*)(((u8*)_this) + 4) /* _this->field_0x4 */ = (u32)(param_0); -} - -/* 8000D8EC-8000D948 00822C 005C+00 1/0 0/0 0/0 .text __dt__17J3DMtxCalcAnmBaseFv */ -J3DMtxCalcAnmBase::~J3DMtxCalcAnmBase() { - // NONMATCHING -} /* 8000D990-8000D9CC 0082D0 003C+00 0/0 5/5 31/31 .text * changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform */ @@ -1594,358 +451,6 @@ void mDoExt_brkAnmRemove(J3DModelData* i_modelData) { } } -/* 8000DF3C-8000DF44 00887C 0008+00 0/0 5/0 0/0 .text getZCompLoc__10J3DPEBlockCFv */ -u8 J3DPEBlock::getZCompLoc() const { - return 0; -} - -/* 8000DF44-8000DF4C 008884 0008+00 0/0 5/0 0/0 .text getZMode__10J3DPEBlockFv */ -J3DZMode* J3DPEBlock::getZMode() { - return NULL; -} - -/* 8000DF4C-8000DF54 00888C 0008+00 0/0 5/0 0/0 .text getBlend__10J3DPEBlockFv */ -J3DBlend* J3DPEBlock::getBlend() { - return NULL; -} - -/* 8000DF54-8000DF5C 008894 0008+00 0/0 5/0 0/0 .text getAlphaComp__10J3DPEBlockFv */ -J3DAlphaComp* J3DPEBlock::getAlphaComp() { - return NULL; -} - -/* 8000DF5C-8000DF64 00889C 0008+00 0/0 6/0 0/0 .text getFog__10J3DPEBlockFv */ -J3DFog* J3DPEBlock::getFog() { - return NULL; -} - -/* 8000DF64-8000DF6C 0088A4 0008+00 0/0 2/0 0/0 .text getIndTexCoordScale__11J3DIndBlockFUl */ -J3DIndTexCoordScale* J3DIndBlock::getIndTexCoordScale(u32 param_0) { - return NULL; -} - -/* 8000DF6C-8000DF74 0088AC 0008+00 0/0 2/0 0/0 .text getIndTexMtx__11J3DIndBlockFUl */ -J3DIndTexMtx* J3DIndBlock::getIndTexMtx(u32 param_0) { - return NULL; -} - -/* 8000DF74-8000DF7C 0088B4 0008+00 0/0 2/0 0/0 .text getIndTexOrder__11J3DIndBlockFUl */ -J3DIndTexOrder* J3DIndBlock::getIndTexOrder(u32 param_0) { - return NULL; -} - -/* 8000DF7C-8000DF84 0088BC 0008+00 0/0 2/0 0/0 .text getIndTexStageNum__11J3DIndBlockCFv - */ -u8 J3DIndBlock::getIndTexStageNum() const { - return 0; -} - -/* 8000DF84-8000DF8C 0088C4 0008+00 0/0 2/0 0/0 .text getIndTevStage__11J3DTevBlockFUl */ -J3DIndTevStage* J3DTevBlock::getIndTevStage(u32 param_0) { - return NULL; -} - -/* 8000DF8C-8000DF94 0088CC 0008+00 0/0 2/0 0/0 .text getTevStage__11J3DTevBlockFUl */ -J3DTevStage* J3DTevBlock::getTevStage(u32 param_0) { - return NULL; -} - -/* 8000DF94-8000DFA0 0088D4 000C+00 0/0 2/0 0/0 .text getTexNo__11J3DTevBlockCFUl */ -u16 J3DTevBlock::getTexNo(u32 param_0) const { - // NONMATCHING -} - -/* 8000DFA0-8000DFA8 0088E0 0008+00 0/0 4/0 0/0 .text getTevSwapModeTable__11J3DTevBlockFUl */ -J3DTevSwapModeTable* J3DTevBlock::getTevSwapModeTable(u32 param_0) { - return NULL; -} - -/* 8000DFA8-8000DFB0 0088E8 0008+00 0/0 4/0 0/0 .text getTevKAlphaSel__11J3DTevBlockFUl - */ -bool J3DTevBlock::getTevKAlphaSel(u32 param_0) { - return false; -} - -/* 8000DFB0-8000DFB8 0088F0 0008+00 0/0 3/0 0/0 .text getTevKColorSel__11J3DTevBlockFUl - */ -bool J3DTevBlock::getTevKColorSel(u32 param_0) { - return false; -} - -/* 8000DFB8-8000DFC0 0088F8 0008+00 0/0 2/0 0/0 .text getTevOrder__11J3DTevBlockFUl */ -J3DTevOrder* J3DTevBlock::getTevOrder(u32 param_0) { - return NULL; -} - -/* 8000DFC0-8000DFC8 008900 0008+00 0/0 3/0 0/0 .text getTevKColor__11J3DTevBlockFUl */ -J3DGXColor* J3DTevBlock::getTevKColor(u32 param_0) { - return NULL; -} - -/* 8000DFC8-8000DFD0 008908 0008+00 0/0 3/0 0/0 .text getTevColor__11J3DTevBlockFUl */ -J3DGXColorS10* J3DTevBlock::getTevColor(u32 param_0) { - return NULL; -} - -/* 8000DFD0-8000DFD8 008910 0008+00 0/0 2/0 0/0 .text getTevStageNum__11J3DTevBlockCFv */ -u8 J3DTevBlock::getTevStageNum() const { - return 1; -} - -/* 8000DFD8-8000DFE0 008918 0008+00 0/0 2/0 0/0 .text getTexMtx__14J3DTexGenBlockFUl */ -J3DTexMtx* J3DTexGenBlock::getTexMtx(u32 param_0) { - return NULL; -} - -/* 8000DFE0-8000DFE8 008920 0008+00 0/0 2/0 0/0 .text getTexCoord__14J3DTexGenBlockFUl */ -J3DTexCoord* J3DTexGenBlock::getTexCoord(u32 param_0) { - return NULL; -} - -/* 8000DFE8-8000DFF0 008928 0008+00 0/0 2/0 0/0 .text getTexGenNum__14J3DTexGenBlockCFv - */ -u32 J3DTexGenBlock::getTexGenNum() const { - return 0; -} - -/* 8000DFF0-8000DFF8 008930 0008+00 0/0 3/0 0/0 .text getAmbColor__13J3DColorBlockFUl */ -J3DGXColor* J3DColorBlock::getAmbColor(u32 param_0) { - return NULL; -} - -/* 8000DFF8-8000E000 008938 0008+00 0/0 2/0 0/0 .text getColorChan__13J3DColorBlockFUl */ -J3DColorChan* J3DColorBlock::getColorChan(u32 param_0) { - return NULL; -} - -/* 8000E000-8000E008 008940 0008+00 0/0 2/0 0/0 .text getMatColor__13J3DColorBlockFUl */ -J3DGXColor* J3DColorBlock::getMatColor(u32 param_0) { - return NULL; -} - -/* 8000E008-8000E010 008948 0008+00 0/0 2/0 0/0 .text getColorChanNum__13J3DColorBlockCFv - */ -u8 J3DColorBlock::getColorChanNum() const { - return 0; -} - -/* 8000E010-8000E014 008950 0004+00 0/0 5/0 0/0 .text setZCompLoc__10J3DPEBlockFUc */ -void J3DPEBlock::setZCompLoc(u8 param_0) { - /* empty function */ -} - -/* 8000E014-8000E018 008954 0004+00 0/0 5/0 0/0 .text setZMode__10J3DPEBlockF8J3DZMode */ -void J3DPEBlock::setZMode(J3DZMode param_0) { - /* empty function */ -} - -/* 8000E018-8000E01C 008958 0004+00 0/0 5/0 0/0 .text setBlend__10J3DPEBlockFRC8J3DBlend - */ -void J3DPEBlock::setBlend(J3DBlend const& param_0) { - /* empty function */ -} - -/* 8000E01C-8000E020 00895C 0004+00 0/0 5/0 0/0 .text setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp - */ -void J3DPEBlock::setAlphaComp(J3DAlphaComp const& param_0) { - /* empty function */ -} - -/* 8000E020-8000E024 008960 0004+00 0/0 2/0 0/0 .text - * setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale */ -void J3DIndBlock::setIndTexCoordScale(u32 param_0, J3DIndTexCoordScale param_1) { - /* empty function */ -} - -/* 8000E024-8000E060 008964 003C+00 0/0 2/2 0/0 .text __dt__19J3DIndTexCoordScaleFv */ -// J3DIndTexCoordScale::~J3DIndTexCoordScale() { -extern "C" void __dt__19J3DIndTexCoordScaleFv() { - // NONMATCHING -} - -/* 8000E060-8000E064 0089A0 0004+00 0/0 2/0 0/0 .text setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx - */ -void J3DIndBlock::setIndTexMtx(u32 param_0, J3DIndTexMtx param_1) { - /* empty function */ -} - -/* 8000E064-8000E0A0 0089A4 003C+00 0/0 2/2 0/0 .text __dt__12J3DIndTexMtxFv */ -// J3DIndTexMtx::~J3DIndTexMtx() { -extern "C" void __dt__12J3DIndTexMtxFv() { - // NONMATCHING -} - -/* 8000E0A0-8000E0A4 0089E0 0004+00 0/0 2/0 0/0 .text setIndTexStageNum__11J3DIndBlockFUc - */ -void J3DIndBlock::setIndTexStageNum(u8 param_0) { - /* empty function */ -} - -/* 8000E0A4-8000E0A8 0089E4 0004+00 0/0 2/0 0/0 .text - * setIndTevStage__11J3DTevBlockFUl14J3DIndTevStage */ -void J3DTevBlock::setIndTevStage(u32 param_0, J3DIndTevStage param_1) { - /* empty function */ -} - -/* 8000E0A8-8000E0AC 0089E8 0004+00 0/0 2/0 0/0 .text setTevStage__11J3DTevBlockFUl11J3DTevStage - */ -void J3DTevBlock::setTevStage(u32 param_0, J3DTevStage param_1) { - /* empty function */ -} - -/* 8000E0AC-8000E0B0 0089EC 0004+00 0/0 2/0 0/0 .text setTexNo__11J3DTevBlockFUlUs */ -void J3DTevBlock::setTexNo(u32 param_0, u16 param_1) { - /* empty function */ -} - -/* 8000E0B0-8000E0B4 0089F0 0004+00 0/0 4/0 0/0 .text - * setTevSwapModeTable__11J3DTevBlockFUl19J3DTevSwapModeTable */ -void J3DTevBlock::setTevSwapModeTable(u32 param_0, J3DTevSwapModeTable param_1) { - /* empty function */ -} - -/* 8000E0B4-8000E0B8 0089F4 0004+00 0/0 4/0 0/0 .text setTevKAlphaSel__11J3DTevBlockFUlUc - */ -void J3DTevBlock::setTevKAlphaSel(u32 param_0, u8 param_1) { - /* empty function */ -} - -/* 8000E0B8-8000E0BC 0089F8 0004+00 0/0 3/0 0/0 .text setTevKColorSel__11J3DTevBlockFUlUc - */ -void J3DTevBlock::setTevKColorSel(u32 param_0, u8 param_1) { - /* empty function */ -} - -/* 8000E0BC-8000E0C0 0089FC 0004+00 0/0 2/0 0/0 .text setTevOrder__11J3DTevBlockFUl11J3DTevOrder - */ -void J3DTevBlock::setTevOrder(u32 param_0, J3DTevOrder param_1) { - /* empty function */ -} - -/* 8000E0C0-8000E0C4 008A00 0004+00 0/0 3/0 0/0 .text setTevKColor__11J3DTevBlockFUl10J3DGXColor - */ -void J3DTevBlock::setTevKColor(u32 param_0, J3DGXColor param_1) { - /* empty function */ -} - -/* 8000E0C4-8000E0C8 008A04 0004+00 0/0 3/0 0/0 .text setTevColor__11J3DTevBlockFUl13J3DGXColorS10 - */ -void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 param_1) { - /* empty function */ -} - -/* 8000E0C8-8000E0CC 008A08 0004+00 0/0 2/0 0/0 .text setTevStageNum__11J3DTevBlockFUc */ -void J3DTevBlock::setTevStageNum(u8 param_0) { - /* empty function */ -} - -/* 8000E0CC-8000E0D0 008A0C 0004+00 0/0 2/0 0/0 .text - * setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord */ -void J3DTexGenBlock::setTexCoord(u32 param_0, J3DTexCoord const* param_1) { - /* empty function */ -} - -/* 8000E0D0-8000E0D4 008A10 0004+00 0/0 2/0 0/0 .text setTexGenNum__14J3DTexGenBlockFUl - */ -void J3DTexGenBlock::setTexGenNum(u32 param_0) { - /* empty function */ -} - -/* 8000E0D4-8000E0D8 008A14 0004+00 0/0 3/0 0/0 .text setAmbColor__13J3DColorBlockFUl10J3DGXColor - */ -void J3DColorBlock::setAmbColor(u32 param_0, J3DGXColor param_1) { - /* empty function */ -} - -/* 8000E0D8-8000E0DC 008A18 0004+00 0/0 2/0 0/0 .text - * setColorChan__13J3DColorBlockFUlRC12J3DColorChan */ -void J3DColorBlock::setColorChan(u32 param_0, J3DColorChan const& param_1) { - /* empty function */ -} - -/* 8000E0DC-8000E0E0 008A1C 0004+00 0/0 2/0 0/0 .text setMatColor__13J3DColorBlockFUl10J3DGXColor - */ -void J3DColorBlock::setMatColor(u32 param_0, J3DGXColor param_1) { - /* empty function */ -} - -/* 8000E0E0-8000E0E4 008A20 0004+00 0/0 2/0 0/0 .text setColorChanNum__13J3DColorBlockFUc - */ -void J3DColorBlock::setColorChanNum(u8 param_0) { - /* empty function */ -} - -/* 8000E0E4-8000E0F0 008A24 000C+00 0/0 1/1 0/0 .text __ct__19J3DIndTexCoordScaleFv */ -// J3DIndTexCoordScale::J3DIndTexCoordScale() { -extern "C" void __ct__19J3DIndTexCoordScaleFv() { - // NONMATCHING -} - -/* 8000E0F0-8000E128 008A30 0038+00 0/0 1/1 0/0 .text __ct__12J3DIndTexMtxFv */ -// J3DIndTexMtx::J3DIndTexMtx() { -extern "C" void __ct__12J3DIndTexMtxFv() { - // NONMATCHING -} - -/* 8000E128-8000E134 008A68 000C+00 0/0 1/1 0/0 .text __ct__14J3DIndTexOrderFv */ -// J3DIndTexOrder::J3DIndTexOrder() { -extern "C" void __ct__14J3DIndTexOrderFv() { - // NONMATCHING -} - -/* 8000E134-8000E140 008A74 000C+00 0/0 1/1 0/0 .text __ct__19J3DTevSwapModeTableFv */ -J3DTevSwapModeTable::J3DTevSwapModeTable() { - // NONMATCHING -} - -/* 8000E140-8000E14C 008A80 000C+00 0/0 2/2 0/0 .text __ct__11J3DTevOrderFv */ -// J3DTevOrder::J3DTevOrder() { -extern "C" void __ct__11J3DTevOrderFv() { - // NONMATCHING -} - -/* 8000E14C-8000E230 008A8C 00E4+00 0/0 2/2 0/0 .text __ct__14J3DIndTevStageFv */ -// J3DIndTevStage::J3DIndTevStage() { -extern "C" void __ct__14J3DIndTevStageFv() { - // NONMATCHING -} - -/* 8000E230-8000E298 008B70 0068+00 0/0 4/4 0/0 .text __ct__11J3DTevStageFv */ -J3DTevStage::J3DTevStage() { - // NONMATCHING -} - -/* 8000E298-8000E460 008BD8 01C8+00 1/1 1/1 0/0 .text - * setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo */ -//void J3DTevStage::setTevStageInfo(J3DTevStageInfo const& param_0) { -void setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo() { - // NONMATCHING -} - -/* 8000E460-8000E464 008DA0 0004+00 0/0 3/3 0/0 .text __ct__13J3DGXColorS10Fv */ -// J3DGXColorS10::J3DGXColorS10() { -extern "C" void __ct__13J3DGXColorS10Fv() { - /* empty function */ -} - -/* 8000E464-8000E47C 008DA4 0018+00 0/0 2/2 0/0 .text __ct__11J3DTexCoordFv */ -// J3DTexCoord::J3DTexCoord() { -extern "C" void __ct__11J3DTexCoordFv() { - // NONMATCHING -} - -/* 8000E47C-8000E538 008DBC 00BC+00 0/0 1/1 0/0 .text __ct__12J3DColorChanFv */ -// J3DColorChan::J3DColorChan() { -extern "C" void __ct__12J3DColorChanFv() { - // NONMATCHING -} - -/* 8000E538-8000E53C 008E78 0004+00 0/0 3/3 0/0 .text __ct__10J3DGXColorFv */ -// J3DGXColor::J3DGXColor() { -extern "C" void __ct__10J3DGXColorFv() { - /* empty function */ -} - /* 8000E53C-8000E5F8 008E7C 00BC+00 0/0 0/0 19/19 .text * create__21mDoExt_invisibleModelFP8J3DModelUc */ int mDoExt_invisibleModel::create(J3DModel* i_model, u8 param_1) { @@ -1967,18 +472,6 @@ int mDoExt_invisibleModel::create(J3DModel* i_model, u8 param_1) { return 1; } -/* 8000E5F8-8000E654 008F38 005C+00 2/1 0/0 0/0 .text __dt__19mDoExt_invJntPacketFv */ -mDoExt_invJntPacket::~mDoExt_invJntPacket() {} - -/* 8000E654-8000E680 008F94 002C+00 1/1 0/0 0/0 .text __ct__19mDoExt_invJntPacketFv */ -mDoExt_invJntPacket::mDoExt_invJntPacket() {} - -/* 8000E680-8000E6C8 008FC0 0048+00 0/0 1/0 0/0 .text __dt__9J3DPacketFv */ -// J3DPacket::~J3DPacket() { -extern "C" void __dt__9J3DPacketFv() { - // NONMATCHING -} - /* 8000E6C8-8000E7C0 009008 00F8+00 1/1 0/0 0/0 .text entryJoint__21mDoExt_invisibleModelFP4cXyz */ void mDoExt_invisibleModel::entryJoint(cXyz* param_0) { @@ -2123,7 +616,6 @@ void mDoExt_setupStageTexture(J3DModelData* i_modelData) { } } -/* ############################################################################################## */ /* 80450C20-80450C24 000120 0004+00 2/1 0/0 0/0 .sbss AssertHeap */ static JKRAssertHeap* AssertHeap; @@ -2138,7 +630,6 @@ JKRAssertHeap* mDoExt_getAssertHeap() { return AssertHeap; } -/* ############################################################################################## */ /* 80450C24-80450C28 000124 0004+00 2/1 0/0 0/0 .sbss DbPrintHeap */ static JKRExpHeap* DbPrintHeap; @@ -2152,7 +643,6 @@ JKRExpHeap* mDoExt_getDbPrintHeap() { return DbPrintHeap; } -/* ############################################################################################## */ /* 80450C28-80450C2C 000128 0004+00 2/1 3/3 0/0 .sbss gameHeap */ JKRExpHeap* gameHeap; @@ -2169,7 +659,6 @@ JKRExpHeap* mDoExt_getGameHeap() { return gameHeap; } -/* ############################################################################################## */ /* 80450C2C-80450C30 00012C 0004+00 2/1 3/3 0/0 .sbss zeldaHeap */ JKRExpHeap* zeldaHeap; @@ -2183,7 +672,6 @@ JKRExpHeap* mDoExt_getZeldaHeap() { return zeldaHeap; } -/* ############################################################################################## */ /* 80450C30-80450C34 000130 0004+00 2/1 1/1 0/0 .sbss commandHeap */ JKRExpHeap* commandHeap; @@ -2197,7 +685,6 @@ JKRExpHeap* mDoExt_getCommandHeap() { return commandHeap; } -/* ############################################################################################## */ /* 80450C34-80450C38 000134 0004+00 3/1 5/5 0/0 .sbss archiveHeap */ JKRExpHeap* archiveHeap; @@ -2218,7 +705,6 @@ JKRExpHeap* mDoExt_getArchiveHeapPtr() { return archiveHeap; } -/* ############################################################################################## */ /* 80450C38-80450C3C 000138 0004+00 2/1 0/0 0/0 .sbss j2dHeap */ static JKRExpHeap* j2dHeap; @@ -2235,7 +721,6 @@ JKRExpHeap* mDoExt_getJ2dHeap() { return j2dHeap; } -/* ############################################################################################## */ /* 80450C3C-80450C40 00013C 0004+00 1/0 0/0 0/0 .sbss HostIOHeap */ static JKRExpHeap* HostIOHeap; @@ -2296,7 +781,6 @@ JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRH return resultHeap; } -/* ############################################################################################## */ /* 80450C40-80450C44 000140 0004+00 2/2 0/0 0/0 .sbss mDoExt_SaveCurrentHeap */ static JKRHeap* mDoExt_SaveCurrentHeap; @@ -2497,7 +981,6 @@ void mDoExt_MtxCalcAnmBlendTblOld::calc() { } } - /* 8000F848-8000F8CC 00A188 0084+00 0/0 26/26 8/8 .text * initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs */ void mDoExt_MtxCalcOldFrame::initOldFrameMorf(f32 param_0, u16 frameStartJoint, u16 frameEndJoint) { @@ -2520,10 +1003,8 @@ void mDoExt_MtxCalcOldFrame::initOldFrameMorf(f32 param_0, u16 frameStartJoint, mOldFrameEndJoint = frameEndJoint; } - /* 8000F8CC-8000F950 00A20C 0084+00 2/2 0/0 0/0 .text * decOldFrameMorfCounter__22mDoExt_MtxCalcOldFrameFv */ -#ifdef NONMATCHING void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() { if (mOldFrameMorfCounter > 0.0f) { @@ -2544,49 +1025,18 @@ void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() { } } } -#else -void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() { - // NONMATCHING -} -#endif /* 8000F950-8000F9D8 00A290 0088+00 3/3 0/0 0/0 .text __ct__13mDoExt_morf_cFv */ -// vtable issues -#ifdef NONMATCHING mDoExt_morf_c::mDoExt_morf_c() { mpModel = NULL; mpAnm = NULL; mpTransformInfo = NULL; mpQuat = NULL; } -#else -mDoExt_morf_c::mDoExt_morf_c() { - // NONMATCHING -} -#endif - -/* 8000F9D8-8000FA20 00A318 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 8000FA20-8000FA8C 00A360 006C+00 1/0 0/0 0/0 .text - * __dt__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */ -extern "C" void func_8000FA20(void* _this) { - // NONMATCHING -} - -/* 8000FA8C-8000FAE8 00A3CC 005C+00 1/0 0/0 0/0 .text __dt__19J3DMtxCalcNoAnmBaseFv */ -// J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() { -extern "C" void __dt__19J3DMtxCalcNoAnmBaseFv() { - // NONMATCHING -} /* 8000FAE8-8000FB7C 00A428 0094+00 4/3 0/0 0/0 .text __dt__13mDoExt_morf_cFv */ -// mDoExt_morf_c::~mDoExt_morf_c() { -extern "C" void __dt__13mDoExt_morf_cFv() { - // NONMATCHING +mDoExt_morf_c::~mDoExt_morf_c() { + /* empty function */ } /* 8000FB7C-8000FBC0 00A4BC 0044+00 3/3 4/4 20/20 .text setMorf__13mDoExt_morf_cFf */ @@ -2602,7 +1052,6 @@ void mDoExt_morf_c::setMorf(f32 i_morf) { mPrevMorf = mCurMorf; } - /* 8000FBC0-8000FC4C 00A500 008C+00 3/3 0/0 0/0 .text frameUpdate__13mDoExt_morf_cFv */ void mDoExt_morf_c::frameUpdate() { if (mCurMorf < 1.0f) { @@ -2619,7 +1068,6 @@ void mDoExt_morf_c::frameUpdate() { mFrameCtrl.update(); } - /* 8000FC4C-8000FD10 00A58C 00C4+00 0/0 0/0 34/34 .text * __ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl */ @@ -2634,15 +1082,12 @@ mDoExt_McaMorf::mDoExt_McaMorf(J3DModelData* modelData, mDoExt_McaMorfCallBack1_ } /* 8000FD10-8000FD94 00A650 0084+00 1/0 0/0 0/0 .text __dt__14mDoExt_McaMorfFv */ -// mDoExt_McaMorf::~mDoExt_McaMorf() { -extern "C" void __dt__14mDoExt_McaMorfFv() { - // NONMATCHING +mDoExt_McaMorf::~mDoExt_McaMorf() { + if (field_0x50 && mpSound != NULL) { + mpSound->stopAnime(); + } } -/* ############################################################################################## */ -/* 80451B28-80451B2C 000128 0004+00 3/3 0/0 0/0 .sdata2 @5939 */ -SECTION_SDATA2 static f32 lit_5939 = -1.0f; - /* 8000FD94-80010074 00A6D4 02E0+00 1/1 0/0 0/0 .text * create__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl */ @@ -2723,8 +1168,8 @@ int mDoExt_McaMorf::create(J3DModelData* modelData, mDoExt_McaMorfCallBack1_c* c return 0; } - /* 80010074-8001037C 00A9B4 0308+00 1/0 0/0 0/0 .text calc__14mDoExt_McaMorfFv */ +// NONMATCHING regalloc void mDoExt_McaMorf::calc() { if (!mpModel) { return; @@ -2790,7 +1235,6 @@ void mDoExt_McaMorf::calc() { } } - /* 8001037C-800105C8 00ACBC 024C+00 1/1 1/1 29/29 .text * setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv */ void mDoExt_McaMorf::setAnm(J3DAnmTransform* param_0, int param_1, f32 param_2, f32 param_3, @@ -2831,7 +1275,6 @@ void mDoExt_McaMorf::setAnm(J3DAnmTransform* param_0, int param_1, f32 param_2, } } - /* 800105C8-80010680 00AF08 00B8+00 0/0 1/1 37/37 .text play__14mDoExt_McaMorfFP3VecUlSc */ u32 mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) { @@ -2844,7 +1287,6 @@ u32 mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) { return isStop(); } - /* 80010680-800106AC 00AFC0 002C+00 0/0 0/0 33/33 .text entryDL__14mDoExt_McaMorfFv */ void mDoExt_McaMorf::entryDL() { if (mpModel != NULL) { @@ -2896,9 +1338,8 @@ mDoExt_McaMorfSO::mDoExt_McaMorfSO(J3DModelData* param_0, mDoExt_McaMorfCallBack } /* 80010888-800108F0 00B1C8 0068+00 1/0 0/0 0/0 .text __dt__16mDoExt_McaMorfSOFv */ -// mDoExt_McaMorfSO::~mDoExt_McaMorfSO() { -extern "C" void __dt__16mDoExt_McaMorfSOFv() { - // NONMATCHING +mDoExt_McaMorfSO::~mDoExt_McaMorfSO() { + stopZelAnime(); } /* 800108F0-80010B68 00B230 0278+00 1/1 0/0 0/0 .text @@ -2983,8 +1424,8 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_ return 0; } - /* 80010B68-80010E70 00B4A8 0308+00 1/0 0/0 0/0 .text calc__16mDoExt_McaMorfSOFv */ +// NONMATCHING regalloc void mDoExt_McaMorfSO::calc() { if (mpModel != NULL) { u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo(); @@ -3071,7 +1512,6 @@ void mDoExt_McaMorfSO::calc() { } } - /* 80010E70-800110B0 00B7B0 0240+00 1/1 5/5 208/208 .text * setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff */ void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, @@ -3118,7 +1558,6 @@ void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f3 } } - /* 800110B0-80011154 00B9F0 00A4+00 0/0 5/5 143/143 .text play__16mDoExt_McaMorfSOFUlSc */ int mDoExt_McaMorfSO::play(u32 param_0, s8 param_1) { @@ -3135,7 +1574,6 @@ int mDoExt_McaMorfSO::play(u32 param_0, s8 param_1) { return isStop(); } - /* 80011154-800111C0 00BA94 006C+00 0/0 0/0 4/4 .text updateDL__16mDoExt_McaMorfSOFv */ void mDoExt_McaMorfSO::updateDL() { if (mpModel != NULL) { @@ -3207,9 +1645,8 @@ mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData* param_0, mDoExt_McaMorfCallBack1_ } /* 800113FC-80011464 00BD3C 0068+00 1/0 0/0 0/0 .text __dt__15mDoExt_McaMorf2Fv */ -// mDoExt_McaMorf2::~mDoExt_McaMorf2() { -extern "C" void __dt__15mDoExt_McaMorf2Fv() { - // NONMATCHING +mDoExt_McaMorf2::~mDoExt_McaMorf2() { + stopZelAnime(); } /* 80011464-800116B4 00BDA4 0250+00 1/1 0/0 0/0 .text @@ -3242,10 +1679,6 @@ void mDoExt_McaMorf2::calc() { // NONMATCHING } -/* ############################################################################################## */ -/* 80451B2C-80451B30 00012C 0004+00 6/6 0/0 0/0 .sdata2 @6819 */ -SECTION_SDATA2 static f32 lit_6819 = 0.5f; - /* 80011D70-80011FCC 00C6B0 025C+00 1/1 0/0 2/2 .text * setAnm__15mDoExt_McaMorf2FP15J3DAnmTransformP15J3DAnmTransformfiffff */ void mDoExt_McaMorf2::setAnm(J3DAnmTransform* param_0, J3DAnmTransform* param_1, f32 param_2, @@ -3276,7 +1709,6 @@ void mDoExt_McaMorf2::setAnmRate(f32 param_0) { } } - /* 800120A0-80012144 00C9E0 00A4+00 0/0 0/0 1/1 .text play__15mDoExt_McaMorf2FUlSc */ int mDoExt_McaMorf2::play(u32 param_0, s8 param_1) { frameUpdate(); @@ -3292,7 +1724,6 @@ int mDoExt_McaMorf2::play(u32 param_0, s8 param_1) { return isStop(); } - /* 80012144-80012170 00CA84 002C+00 0/0 0/0 1/1 .text entryDL__15mDoExt_McaMorf2Fv */ void mDoExt_McaMorf2::entryDL() { if (mpModel != NULL) { @@ -3335,12 +1766,6 @@ void mDoExt_3Dline_c::init(u16 param_0, int param_1, int param_2) { // NONMATCHING } -/* 800125DC-800125E0 00CF1C 0004+00 1/1 9/9 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - /* 800125E0-800126BC 00CF20 00DC+00 0/0 0/0 12/12 .text init__19mDoExt_3DlineMat0_cFUsUsi */ int mDoExt_3DlineMat0_c::init(u16 param_0, u16 param_1, int param_2) { @@ -3373,17 +1798,6 @@ void mDoExt_3DlineMat0_c::draw() { // NONMATCHING } -/* ############################################################################################## */ -/* 80451B30-80451B38 000130 0004+04 4/4 0/0 0/0 .sdata2 @7404 */ -SECTION_SDATA2 static f32 lit_7404[1 + 1 /* padding */] = { - 64.0f, - /* padding */ - 0.0f, -}; - -/* 80451B38-80451B40 000138 0008+00 2/2 0/0 0/0 .sdata2 @7406 */ -SECTION_SDATA2 static f64 lit_7406 = 4503599627370496.0 /* cast u32 to float */; - /* 80012874-80012E3C 00D1B4 05C8+00 0/0 0/0 2/2 .text * update__19mDoExt_3DlineMat0_cFifR8_GXColorUsP12dKy_tevstr_c */ void mDoExt_3DlineMat0_c::update(int param_0, f32 param_1, _GXColor& param_2, u16 param_3, @@ -3397,13 +1811,6 @@ void mDoExt_3DlineMat0_c::update(int param_0, _GXColor& param_1, dKy_tevstr_c* p // NONMATCHING } -/* ############################################################################################## */ -/* 80451B40-80451B44 000140 0004+00 1/1 0/0 0/0 .sdata2 @7624 */ -SECTION_SDATA2 static f32 lit_7624 = 0.125f; - -/* 80451B44-80451B48 000144 0004+00 1/1 0/0 0/0 .sdata2 @7625 */ -SECTION_SDATA2 static f32 lit_7625 = 1.0f / 100.0f; - /* 80013360-800134F8 00DCA0 0198+00 0/0 0/0 19/19 .text init__19mDoExt_3DlineMat1_cFUsUsP7ResTIMGi */ int mDoExt_3DlineMat1_c::init(u16 param_0, u16 param_1, ResTIMG* param_2, int param_3) { @@ -3433,31 +1840,6 @@ void mDoExt_3DlineMat1_c::draw() { // NONMATCHING } -/* ############################################################################################## */ -/* 80451B48-80451B50 000148 0008+00 2/2 0/0 0/0 .sdata2 @7919 */ -SECTION_SDATA2 static f64 lit_7919 = 0.5; - -/* 80451B50-80451B58 000150 0008+00 2/2 0/0 0/0 .sdata2 @7920 */ -SECTION_SDATA2 static f64 lit_7920 = 3.0; - -/* 80451B58-80451B60 000158 0008+00 2/2 0/0 0/0 .sdata2 @7921 */ -SECTION_SDATA2 static u8 lit_7921[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80451B60-80451B64 000160 0004+00 2/2 0/0 0/0 .sdata2 @7922 */ -SECTION_SDATA2 static f32 lit_7922 = 1.0f / 10.0f; - -/* 80451B64-80451B68 000164 0004+00 1/1 0/0 0/0 .sdata2 @7923 */ -SECTION_SDATA2 static f32 lit_7923 = 1.0f / 50.0f; - -/* 80451B68-80451B70 000168 0004+04 1/1 0/0 0/0 .sdata2 @7924 */ -SECTION_SDATA2 static f32 lit_7924[1 + 1 /* padding */] = { - 8.0f, - /* padding */ - 0.0f, -}; - /* 8001373C-80013FB0 00E07C 0874+00 0/0 0/0 6/6 .text * update__19mDoExt_3DlineMat1_cFifR8_GXColorUsP12dKy_tevstr_c */ void mDoExt_3DlineMat1_c::update(int param_0, f32 param_1, _GXColor& param_2, u16 param_3, @@ -3488,7 +1870,6 @@ void mDoExt_3DlineMatSortPacket::draw() { J3DShape::resetVcdVatCache(); } - void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) { GXSetArray(GX_VA_POS, pos, sizeof(cXyz)); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); @@ -3581,14 +1962,6 @@ void mDoExt_cylinderPacket::draw() { GXDrawCylinder(8); } -/* ############################################################################################## */ -/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037416B = - "\nキャッシュフォントクラス作成に失敗しました\n"; -#pragma pop - /* 80014804-8001494C 00F144 0148+00 3/3 0/0 0/0 .text * mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl */ static void mDoExt_initFontCommon(JUTFont** mDoExt_font, ResFONT** mDoExt_resfont, JKRHeap* param_2, @@ -3620,17 +1993,6 @@ static void mDoExt_initFontCommon(JUTFont** mDoExt_font, ResFONT** mDoExt_resfon JUT_ASSERT(7183, mDoExt_font != 0); } - -/* 8001494C-80014994 00F28C 0048+00 1/0 0/0 0/0 .text __dt__7JUTFontFv */ -//JUTFont::~JUTFont() { -extern "C" void __dt__7JUTFontFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 803740C0-803740D4 000720 0012+02 1/1 0/0 0/0 .rodata fontdata$8224 */ -static char const fontdata_8224[] = "rodan_b_24_22.bfn"; - /* 80450C44-80450C48 000144 0004+00 3/3 0/0 0/0 .sbss mDoExt_font0 */ static JUTFont* mDoExt_font0; @@ -3642,8 +2004,9 @@ static ResFONT* mDoExt_resfont0; /* 80014994-800149F0 00F2D4 005C+00 1/1 0/0 0/0 .text mDoExt_initFont0__Fv */ static void mDoExt_initFont0() { + static char const fontdata[] = "rodan_b_24_22.bfn"; mDoExt_initFontCommon(&mDoExt_font0, &mDoExt_resfont0, mDoExt_getZeldaHeap(), - fontdata_8224, dComIfGp_getFontArchive(), 1, 0, 0); + fontdata, dComIfGp_getFontArchive(), 1, 0, 0); } /* 800149F0-80014A2C 00F330 003C+00 0/0 51/51 2/2 .text mDoExt_getMesgFont__Fv */ @@ -3673,11 +2036,6 @@ void mDoExt_removeMesgFont() { } } - -/* ############################################################################################## */ -/* 803740D4-803740E8 000734 0014+00 1/1 0/0 0/0 .rodata fontdata$8253 */ -static char const fontdata_8253[] = "reishotai_24_22.bfn"; - /* 80450C50-80450C54 000150 0004+00 2/2 0/0 0/0 .sbss mDoExt_font1 */ static JUTFont* mDoExt_font1; @@ -3689,8 +2047,9 @@ static ResFONT* mDoExt_resfont1; /* 80014AA4-80014B04 00F3E4 0060+00 1/1 0/0 0/0 .text mDoExt_initFont1__Fv */ static void mDoExt_initFont1() { + static char const fontdata[] = "reishotai_24_22.bfn"; mDoExt_initFontCommon(&mDoExt_font1, &mDoExt_resfont1, mDoExt_getZeldaHeap(), - fontdata_8253, dComIfGp_getRubyArchive(), 1, 1, 0x8000); + fontdata, dComIfGp_getRubyArchive(), 1, 1, 0x8000); } /* 80014B04-80014B40 00F444 003C+00 0/0 8/8 0/0 .text mDoExt_getRubyFont__Fv */ @@ -3703,10 +2062,6 @@ JUTFont* mDoExt_getRubyFont() { return mDoExt_font1; } -/* ############################################################################################## */ -/* 803740E8-803740FC 000748 0014+00 1/1 0/0 0/0 .rodata fontdata$8287 */ -static char const fontdata_8287[] = "reishotai_24_22.bfn"; - /* 80450C5C-80450C60 00015C 0004+00 3/3 0/0 0/0 .sbss mDoExt_font2 */ static JUTFont* mDoExt_font2; @@ -3718,8 +2073,9 @@ static ResFONT* mDoExt_resfont2; /* 80014B40-80014BA0 00F480 0060+00 1/1 0/0 0/0 .text mDoExt_initFont2__Fv */ static void mDoExt_initFont2() { + static char const fontdata[] = "reishotai_24_22.bfn"; mDoExt_initFontCommon(&mDoExt_font2, &mDoExt_resfont2, mDoExt_getZeldaHeap(), - fontdata_8287, dComIfGp_getRubyArchive(), 1, 1, 0x8000); + fontdata, dComIfGp_getRubyArchive(), 1, 1, 0x8000); } /* 80014BA0-80014BDC 00F4E0 003C+00 0/0 11/11 0/0 .text mDoExt_getSubFont__Fv */ @@ -3749,7 +2105,6 @@ 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 i_modelFlag, u32 i_differedDlistFlag) { @@ -3785,7 +2140,6 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u3 return NULL; } -/* ############################################################################################## */ /* 80450C68-80450C70 000168 0004+04 1/1 0/0 0/0 .sbss aram_cache_size */ static u32 aram_cache_size; @@ -3805,24 +2159,6 @@ OSThread* mDoExt_GetCurrentRunningThread() { return thread; } -/* 80014D9C-80014DC8 00F6DC 002C+00 1/0 0/0 0/0 .text - * setGX__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor */ -void JUTFont::setGX(JUtility::TColor param_0, JUtility::TColor param_1) { - // NONMATCHING -} - -/* 80014DC8-80014DF4 00F708 002C+00 1/0 0/0 0/0 .text getCellWidth__7JUTFontCFv */ -//void JUTFont::getCellWidth() const { -void getCellWidth__7JUTFontCFv() { - // NONMATCHING -} - -/* 80014DF4-80014E20 00F734 002C+00 1/0 0/0 0/0 .text getCellHeight__7JUTFontCFv */ -//void JUTFont::getCellHeight() const { -void getCellHeight__7JUTFontCFv() { - // NONMATCHING -} - /* 80014E20-80014E7C 00F760 005C+00 1/0 2/2 0/0 .text __dt__26mDoExt_3DlineMatSortPacketFv */ mDoExt_3DlineMatSortPacket::~mDoExt_3DlineMatSortPacket() { // NONMATCHING @@ -3834,108 +2170,6 @@ int mDoExt_3DlineMat1_c::getMaterialID() { } /* 80014E84-80014E8C 00F7C4 0008+00 1/0 0/0 0/0 .text getMaterialID__19mDoExt_3DlineMat0_cFv */ -// int mDoExt_3DlineMat0_c::getMaterialID() { -extern "C" int getMaterialID__19mDoExt_3DlineMat0_cFv() { +int mDoExt_3DlineMat0_c::getMaterialID() { return 0; } - -/* 80014E8C-80014E90 00F7CC 0004+00 11/0 2/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(u8 param_0, J3DAnmTransform* param_1) { - /* empty function */ -} - -/* 80014E90-80014E94 00F7D0 0004+00 9/0 2/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) { - /* empty function */ -} - -/* 80014E94-80014E9C 00F7D4 0008+00 11/0 2/0 0/0 .text getAnmTransform__10J3DMtxCalcFUc - */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform(u8 param_0) { - return NULL; -} - -/* 80014E9C-80014EA4 00F7DC 0008+00 9/0 2/0 0/0 .text getAnmTransform__10J3DMtxCalcFv */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform() { - return NULL; -} - -/* 80014EA4-80014EA8 00F7E4 0004+00 11/0 2/0 0/0 .text setWeight__10J3DMtxCalcFUcf */ -void J3DMtxCalc::setWeight(u8 param_0, f32 param_1) { - /* empty function */ -} - -/* 80014EA8-80014EB0 00F7E8 0008+00 11/0 2/0 0/0 .text getWeight__10J3DMtxCalcCFUc */ -void J3DMtxCalc::getWeight(u8 param_0) const { - // NONMATCHING -} - -/* 80014EB0-80014F3C 00F7F0 008C+00 1/0 0/0 0/0 .text __dt__28mDoExt_MtxCalcAnmBlendTblOldFv */ -// mDoExt_MtxCalcAnmBlendTblOld::~mDoExt_MtxCalcAnmBlendTblOld() { -extern "C" void __dt__28mDoExt_MtxCalcAnmBlendTblOldFv() { - // NONMATCHING -} - -/* 80014F3C-80014FB8 00F87C 007C+00 1/0 0/0 0/0 .text __dt__25mDoExt_MtxCalcAnmBlendTblFv - */ -// mDoExt_MtxCalcAnmBlendTbl::~mDoExt_MtxCalcAnmBlendTbl() { -extern "C" void __dt__25mDoExt_MtxCalcAnmBlendTblFv() { - // NONMATCHING -} - -/* 80014FB8-80014FC0 00F8F8 0008+00 2/0 0/0 0/0 .text getAnmTransform__17J3DMtxCalcAnmBaseFv */ -J3DAnmTransform* J3DMtxCalcAnmBase::getAnmTransform() { - // NONMATCHING -} - -/* 80014FC0-80014FC8 -00001 0008+00 0/0 0/0 0/0 .text - * setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform */ -void J3DMtxCalcAnmBase::setAnmTransform(J3DAnmTransform* param_0) { - *(u32*)(((u8*)this) + 4) /* this->field_0x4 */ = (u32)(param_0); -} - -/* 80014FC8-80015034 00F908 006C+00 1/0 0/0 0/0 .text - * __dt__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv - */ -extern "C" void func_80014FC8(void* _this) { - // NONMATCHING -} - -/* 80015034-8001505C 00F974 0028+00 1/0 0/0 0/0 .text - * init__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf - */ -extern "C" void func_80015034(void* _this, Vec const& param_0, f32 const (¶m_1)[3][4]) { - // NONMATCHING -} - -/* 8001505C-80015084 00F99C 0028+00 7/0 0/0 0/0 .text - * init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf - */ -void J3DMtxCalcNoAnm::init( - Vec const& param_0, f32 const (¶m_1)[3][4]) { - J3DMtxCalcJ3DSysInitMaya::init(param_0, param_1); -} - -/* 80015084-800150AC 00F9C4 0028+00 2/0 0/0 0/0 .text - * calc__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */ -void J3DMtxCalcNoAnm::calc() { - J3DMtxCalcCalcTransformMaya::calcTransform(getJoint()->getTransformInfo()); -} - -/* 800150AC-8001513C 00F9EC 0090+00 1/0 0/0 0/0 .text - * calc__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv - */ -// Matching with J3DMtxCalcAnmBase inheritance -#ifdef NONMATCHING -void J3DMtxCalcAnimation, J3DMtxCalcJ3DSysInitMaya>::calc() { - J3DMtxCalcCalcTransformMaya::calcTransform(getJoint()->getTransformInfo()); -} -#else -extern "C" void func_800150AC(void* _this) { - // NONMATCHING -} -#endif - -/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 220d1729a4..fb363c2e5b 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -12,7 +12,6 @@ #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_menu_collect.h" -#include "dol2asm.h" #include "f_ap/f_ap_game.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_machine.h" @@ -23,8 +22,6 @@ #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JFramework/JFWSystem.h" -extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; // needed for sinit for now - /* 80007D9C-80007E44 0026DC 00A8+00 1/1 0/0 0/0 .text createTimg__FUsUsUl */ static ResTIMG* createTimg(u16 width, u16 height, u32 format) { u32 bufferSize = GXGetTexBufferSize(width, height, format, GX_FALSE, 0) + 0x20; @@ -1148,18 +1145,3 @@ int mDoGph_Create() { mDoExt_restoreCurrentHeap(); return 1; } - -/* 8000B1D0-8000B1E4 005B10 0014+00 0/0 1/0 0/0 .text __sinit_m_Do_graphic_cpp */ -void __sinit_m_Do_graphic_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8000B1D0, __sinit_m_Do_graphic_cpp); -#pragma pop - -/* 8000B1E4-8000B1EC 005B24 0008+00 0/0 1/0 0/0 .text getAtnActorID__9daPy_py_cCFv */ -// s32 daPy_py_c::getAtnActorID() const { -extern "C" s32 getAtnActorID__9daPy_py_cCFv() { - return -1; -} \ No newline at end of file diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 1178523731..0185663d7d 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -15,7 +15,7 @@ #include "SSystem/SComponent/c_malloc.h" #include "SSystem/SComponent/c_math.h" #include "SSystem/SComponent/c_API_controller_pad.h" -#include "dol2asm.h" +#include "base/PPCArch.h" #include "m_Do/m_Do_DVDError.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_Reset.h" @@ -24,110 +24,6 @@ #include "m_Do/m_Do_machine_exception.h" #include "m_Do/m_Do_main.h" - -// -// Forward References: -// - -extern "C" static void myGetHeapTypeByString__FP7JKRHeap(); -extern "C" static void myMemoryErrorRoutine__FPvUli(); -extern "C" void myHeapCheckRecursive__FP7JKRHeap(); -extern "C" void mDoMch_HeapCheckAll__Fv(); -extern "C" static s8 developKeyCheck__FUlUl(u32, u32); -extern "C" bool mDoMch_IsProgressiveMode__Fv(); -extern "C" bool exceptionReadPad__FPUlPUl(u32*, u32*); -extern "C" void exceptionRestart__Fv(); -extern "C" void myExceptionCallback__FUsP9OSContextUlUl(); -extern "C" static void fault_callback_scroll__FUsP9OSContextUlUl(); -extern "C" static void my_PrintHeap__FPCcUl(); -extern "C" void my_SysPrintHeap__FPCcPvUl(); -extern "C" void mDoMch_Create__Fv(); -extern "C" extern char const* const m_Do_m_Do_machine__stringBase0; -extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; - -// -// External References: -// - -extern "C" void mDoExt_createAssertHeap__FP7JKRHeap(); -extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getDbPrintHeap__Fv(); -extern "C" void mDoExt_createGameHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_createZeldaHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getZeldaHeap__Fv(); -extern "C" void mDoExt_createCommandHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getCommandHeap__Fv(); -extern "C" void mDoExt_createArchiveHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getArchiveHeap__Fv(); -extern "C" void mDoExt_createJ2dHeap__FUlP7JKRHeap(); -extern "C" void mDoExt_getJ2dHeap__Fv(); -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 init__3cMlFP7JKRHeap(); -extern "C" void cM_initRnd__Fiii(); -extern "C" void firstInit__9JFWSystemFv(); -extern "C" void init__9JFWSystemFv(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void getFreeSize__7JKRHeapFv(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void setErrorFlag__7JKRHeapFb(); -extern "C" void setErrorHandler__7JKRHeapFPFPvUli_v(); -extern "C" void* __nw__FUl(); -extern "C" void __ct__9JKRThreadFP8OSThreadi(); -extern "C" void createManager__15JKRThreadSwitchFP7JKRHeap(); -extern "C" void setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap(); -extern "C" void start__10JUTDbPrintFP7JUTFontP7JKRHeap(); -extern "C" void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort(); -extern "C" void __dt__10JUTGamePadFv(); -extern "C" void isEnablePad__12JUTExceptionCFv(); -extern "C" void readPad__12JUTExceptionFPUlPUl(); -extern "C" void waitTime__12JUTExceptionFl(); -extern "C" void setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v(); -extern "C" void setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v(); -extern "C" void appendMapFile__12JUTExceptionFPCc(); -extern "C" void setVisible__12JUTAssertionFb(); -extern "C" void destroyManager__8JUTVideoFv(); -extern "C" void print_f__10JUTConsoleFPCce(); -extern "C" void print__10JUTConsoleFPCc(); -extern "C" void scroll__10JUTConsoleFi(); -extern "C" void getUsedLine__10JUTConsoleCFv(); -extern "C" void getLineOffset__10JUTConsoleCFv(); -extern "C" void drawDirect__17JUTConsoleManagerCFb(); -extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole(); -extern "C" void PPCHalt(); -extern "C" u32 OSGetProgressiveMode(); -extern "C" void OSSetProgressiveMode(u32); -extern "C" u32 VIGetDTVStatus(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); -extern "C" extern s8 data_80450580; -extern "C" extern s8 developmentMode__7mDoMain; -extern "C" u32 memMargin__7mDoMain; -extern "C" u32 maxStdHeaps__Q29JFWSystem11CSetUpParam; -extern "C" u32 sysHeapSize__Q29JFWSystem11CSetUpParam; -extern "C" u32 fifoBufSize__Q29JFWSystem11CSetUpParam; -extern "C" u32 aramAudioBufSize__Q29JFWSystem11CSetUpParam; -extern "C" u32 aramGraphBufSize__Q29JFWSystem11CSetUpParam; -extern "C" void* renderMode__Q29JFWSystem11CSetUpParam; -extern "C" u32 sSZSBufferSize__7JKRAram[1 + 1 /* padding */]; -extern "C" u32 sSZSBufferSize__12JKRDvdRipper; -extern "C" u32 sSZSBufferSize__16JKRDvdAramRipper; -extern "C" u8 sHungUpTime__7mDoMain[4]; -extern "C" extern u8 data_80450B14[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 systemHeap__9JFWSystem[4]; -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 */]; - -// -// Declarations: -// - /* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */ static u8 mDebugFill; @@ -500,12 +396,13 @@ static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) { } while (true); } -// 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"; +static void dummy_string() { + DEAD_STRING("\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) { - return; + /* empty function */ } /* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */ @@ -514,20 +411,6 @@ void my_SysPrintHeap(char const* message, void* start, u32 size) { (u32)start + size, size / 1024); } -/* ############################################################################################## */ -/* 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_8037403D = "アリーナ"; -SECTION_DEAD static char const* const stringBase_80374046 = "システムヒープ"; -SECTION_DEAD static char const* const stringBase_80374055 = "コマンドヒープ"; -SECTION_DEAD static char const* const stringBase_80374064 = "アーカイブヒープ"; -SECTION_DEAD static char const* const stringBase_80374075 = "J2D用ヒープ"; -SECTION_DEAD static char const* const stringBase_80374084 = "ゲームヒープ"; -SECTION_DEAD static char const* const stringBase_80374091 = "ゼルダヒープ"; -SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/frameworkF.map"; -#pragma pop - /* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */ extern GXRenderModeObj g_ntscZeldaIntDf = { VI_TVMODE_NTSC_INT, @@ -643,7 +526,7 @@ int mDoMch_Create() { JKRHeap::getRootHeap()->setErrorFlag(true); JFWSystem::getSystemHeap()->setErrorFlag(true); - JKRHeap* rootHeap = JKRHeap::getRootHeap(); + JKRHeap* rootHeap = JKRGetRootHeap(); // Command Heap size: 4 KB my_SysPrintHeap("コマンドヒープ", mDoExt_createCommandHeap(0x1000, rootHeap), 0x1000); @@ -656,13 +539,13 @@ int mDoMch_Create() { // Game Heap size: 4408 KB my_SysPrintHeap("ゲームヒープ", mDoExt_createGameHeap(0x44E000, rootHeap), 0x44E000); - JKRHeap* sysHeap = JKRHeap::getSystemHeap(); + JKRHeap* sysHeap = JKRGetSystemHeap(); u32 zeldaHeapSize = sysHeap->getFreeSize() - 0x10000; JKRHeap* zeldaHeap = mDoExt_createZeldaHeap(zeldaHeapSize, sysHeap); my_SysPrintHeap("ゼルダヒープ", zeldaHeap, zeldaHeapSize); zeldaHeap->becomeCurrentHeap(); - JKRAramStream::setTransBuffer(NULL, 0x2000, JKRHeap::getSystemHeap()); + JKRAramStream::setTransBuffer(NULL, 0x2000, JKRGetSystemHeap()); JKRThreadSwitch::createManager(NULL); JKRThread* thread = new JKRThread(OSGetCurrentThread(), 0); @@ -683,4 +566,4 @@ int mDoMch_Create() { mDoDvdErr_ThdInit(); mDoMemCd_ThdInit(); return 1; -} \ No newline at end of file +}