diff options
| author | Pheenoh <pheenoh@gmail.com> | 2023-03-07 18:03:46 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-07 18:03:46 -0700 |
| commit | f31ab5ae0be3de6e0910b2d5942e33458be043ac (patch) | |
| tree | 4fbfdeda4e8bfac575a81ab9d4eaa79530ea35c5 /include/d/a | |
| parent | 6c2e18af70dcc392b49cacf77fdb6ff8a164c0a5 (diff) | |
Misc Changes (#306)
Diffstat (limited to 'include/d/a')
| -rw-r--r-- | include/d/a/d_a_alink.h | 51 | ||||
| -rw-r--r-- | include/d/a/d_a_player.h | 18 |
2 files changed, 65 insertions, 4 deletions
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 1199671694..778ff90eb3 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -6260,6 +6260,7 @@ public: enum daMidna_FLG1 { FLG1_FORCE_NORMAL_COL = 8, FLG1_FORCE_TIRED_COL = 4, + FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE = 2, }; enum daMidna_ANM {}; @@ -6327,6 +6328,48 @@ public: BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); } BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); } int checkMetamorphoseEnable() { return (this->*mpFunc)(); } + int checkShadowModelDrawDemoForce() const { return checkStateFlg1(FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE); } + + bool checkShadowModelDrawSmode() const { + if (field_0x84e != 3 && field_0x84e != 4) { + if (field_0x84e == 2) { + return false; + } else { + return true; + } + } + } + + int checkShadowModelDraw() const { + int ret = 0; + + if (checkShadowModelDrawDemoForce() == 0) { + if (checkShadowModelDrawSmode() != 0) { + ret = 0; + } + } + + return ret; + } + + int checkShadowReturnEnd() const { + if (field_0x5e4[0].getIdx() == 0x21c && !field_0x578->isStop()) { + return 1; + } + + return 0; + } + + int checkShadowModeTalkWait() const { + if (mDemoType != 2 && mDemoType != 1) { + return 0; + } + + return 1; + } + + void setShadowReturn() { mDemoType = 4; } + bool checkPortalObjRide() const { return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200); @@ -6342,7 +6385,7 @@ private: /* 0x0570 */ J3DModel* field_0x570; /* 0x0574 */ J3DModel* field_0x574; /* 0x0578 */ mDoExt_McaMorfSO* field_0x578; - /* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; + /* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; // this is really daMidna_McaMorfCB1_c. fix later /* 0x0580 */ cXyz* field_0x580; /* 0x0584 */ mDoExt_bckAnm field_0x584; /* 0x05A0 */ mDoExt_bckAnm field_0x5a0; @@ -6395,7 +6438,7 @@ private: /* 0x06DC */ mDoExt_bckAnm* mpDemoHDTmpBck; /* 0x06E0 */ J3DGXColorS10 field_0x6e0; /* 0x06E8 */ J3DGXColor field_0x6e8; - /* 0x06EC */ u8 field_0x6ec; + /* 0x06EC */ u8 field_0x6ec; // this is probably J3DGXColor. fix later /* 0x06ED */ u8 field_0x6ed; /* 0x06EE */ u8 field_0x6ee; /* 0x06EF */ u8 field_0x6ef; @@ -6414,7 +6457,7 @@ private: /* 0x085A */ s16 field_0x85a; /* 0x085C */ u8 field_0x85c[0x22]; /* 0x087E */ s16 field_0x87e; - /* 0x0880 */ u8 field_0x880[0xC]; + /* 0x0880 */ u8 field_0x880[0xC]; // csXyz in here, fix later /* 0x088C */ int mStaffID; /* 0x0890 */ u32 mStateFlg0; /* 0x0894 */ u32 mStateFlg1; @@ -6426,7 +6469,7 @@ private: /* 0x08CC */ u8 field_0x8cc[0x14]; /* 0x08E0 */ cXyz field_0x8e0[5]; /* 0x091C */ cXyz field_0x91c[5]; - /* 0x0958 */ u8 field_0x958[0xC]; + /* 0x0958 */ u8 field_0x958[0xC]; // cXyz here, fix later /* 0x0964 */ cXyz field_0x964[5]; /* 0x09A0 */ u8 field_0x9a0[0x14]; /* 0x09C4 */ cXyz field_0x9c4; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 3cafc4240c..3a19fc9d30 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -160,6 +160,10 @@ public: s16 getMoveAngle() const { return mDemoMoveAngle; } f32 getStick() { return mStick; } int getParam0() const { return mParam0; } + void setParam0(int value) { mParam0 = value;} + void setParam1(int value) { mParam1 = value;} + void setParam2(int value) { mParam2 = value;} + void setPos0(const cXyz* pos) { mDemoPos0 = *pos;} private: /* 0x00 */ u16 mDemoType; @@ -761,6 +765,20 @@ public: u32 i_checkBoarSingleBattle() const { return i_checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); } + void i_changeOriginalDemo() { + mDemo.setOriginalDemoType(); + mDemo.setParam0(0); + } + + void i_changeDemoMode(u32 i_demoMode,int i_param0,int i_param1,s16 i_param2) { + mDemo.setDemoMode(i_demoMode); + mDemo.setParam0(i_param0); + mDemo.setParam1(i_param1); + mDemo.setParam2(i_param2); + } + + void i_changeDemoPos0(const cXyz* i_posP) { mDemo.setPos0(i_posP); } + inline static u32 i_getLastSceneMode(); inline static u32 getLastSceneMode(); inline static bool checkWoodSwordEquip(); |
