diff options
| author | Niklas Bauer <nikbau2000@gmail.com> | 2025-04-11 20:56:18 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-11 04:56:18 -0700 |
| commit | 0b50e106ccc4fb32b52ee6d9487bc9b3d5fc16aa (patch) | |
| tree | 58201dd58ecba5cebfaa656ff19d10d0bbc1a1fe /include | |
| parent | c7eb18a8bd9a16bdb826c77595770380a5b26ac2 (diff) | |
d_a_obj_crvgate Matching (#2385)
* d_a_obj_crvgate equivalent
* d_a_obj_crvgate matching
* d_a_obj_crvgate comments
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_crvgate.h | 76 |
1 files changed, 62 insertions, 14 deletions
diff --git a/include/d/actor/d_a_obj_crvgate.h b/include/d/actor/d_a_obj_crvgate.h index 949f4679b8..ce3717744d 100644 --- a/include/d/actor/d_a_obj_crvgate.h +++ b/include/d/actor/d_a_obj_crvgate.h @@ -1,28 +1,34 @@ #ifndef D_A_OBJ_CRVGATE_H #define D_A_OBJ_CRVGATE_H -#include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_acch.h" +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" /** * @ingroup actors-objects * @class daObjCRVGATE_c * @brief Caravan Gate * - * @details - * + * @details Caravan Gate at Arbiter's Grounds Exterior at King Bulblin's Tent. + * The gate consists of two door objects that work as a pair. One door references + * the other through the mpDoorPair pointer. The door will move when the player + * touches it. + * At the end of the fight, the player rides the bullbo and crashes into the door, + * destroying it. */ -class daObjCRVGATE_c : public fopAc_ac_c { +class daObjCRVGATE_c : public dBgS_MoveBgActor { public: /* 80BD0398 */ void initCcCylinder(); /* 80BD0500 */ void setCcCylinder(); - /* 80BD069C */ void checkOpen(); + /* 80BD069C */ int checkOpen(); /* 80BD0880 */ void actionStartEvent(); /* 80BD0978 */ void actionWaitEvent(); /* 80BD0A64 */ void Demo_Set(); /* 80BD0B7C */ void SetOpen(); /* 80BD0B88 */ void actionDemoEvent(); /* 80BD0D28 */ void event_proc_call(); - /* 80BD0D90 */ void CheckVec(); + /* 80BD0D90 */ int CheckVec(); /* 80BD0E1C */ void KeyVib(); /* 80BD0F9C */ void DoorVib(); /* 80BD10C0 */ void VibStop(); @@ -34,19 +40,61 @@ public: /* 80BD2338 */ void B_CloseAction(); /* 80BD245C */ void SetB_Close(); /* 80BD2528 */ void setBaseMtx(); - /* 80BD2670 */ void CreateHeap(); + /* 80BD2670 */ int CreateHeap(); /* 80BD2758 */ void SetDoor(); - /* 80BD28C0 */ void create(); - /* 80BD2E88 */ void Create(); - /* 80BD2ECC */ void Execute(f32 (**)[3][4]); - /* 80BD2FB8 */ void Draw(); - /* 80BD3074 */ void Delete(); + /* 80BD28C0 */ int create(); + /* 80BD2E88 */ int Create(); + /* 80BD2ECC */ int Execute(f32 (**)[3][4]); + /* 80BD2FB8 */ int Draw(); + /* 80BD3074 */ int Delete(); private: - /* 0x568 */ u8 field_0x568[0xde4 - 0x568]; + /* 0x5A0 */ s32 mEventID; + /* 0x5A4 */ bool mFlagGateClosed; + /* 0x5A5 */ bool field_0x5a5; + /* 0x5A6 */ u8 field_0x5a6[2]; + /* 0x5A8 */ s16 mDoorTargetAngle; + /* 0x5AA */ bool mFlagDemoEventPlay; + /* 0x5AB */ u8 mDestructionCount; + /* 0x5AC */ u8 mKeyParam; + /* 0x5AD */ bool mEventFlag; + /* 0x5AE */ bool mFlagDoorStuck; + /* 0x5AF */ u8 mStatus; + /* 0x5B0 */ bool mDoorPairLoaded; + /* 0x5B1 */ bool mFlagDoorMove; + /* 0x5B4 */ daObjCRVGATE_c* mpDoorPair; + /* 0x5B8 */ f32 mFovY; + /* 0x5BC */ s16 field_0x5bc; + /* 0x5C0 */ cXyz mCamEye; + /* 0x5CC */ cXyz mCamCenter; + /* 0x5D8 */ csXyz mDoorOpenAngle; + /* 0x5E0 */ cXyz mPos; + /* 0x5EC */ cXyz mPosAccel; + /* 0x5F8 */ cXyz mPosTmp; + /* 0x604 */ u8 field_0x604[6]; + /* 0x60A */ csXyz mMoveAngle; + /* 0x610 */ csXyz mDoorVib; + /* 0x618 */ f32 mMinHeight; + /* 0x61C */ cXyz mXyzSph[3]; + /* 0x640 */ fpc_ProcID mDoorPairProcID; + /* 0x644 */ s16 mDoorY; + /* 0x646 */ s16 mDoorAngle; + /* 0x648 */ s16 mDoorSwingTargetAngle; + /* 0x64A */ s16 mDoorStep; + /* 0x64C */ Z2SoundObjSimple mSound; + /* 0x66C */ s16 field_0x66c; + /* 0x66E */ u8 field_0x66e[6]; + /* 0x674 */ J3DModel* mpModelGate; + /* 0x678 */ J3DModel* mpModelKey; + /* 0x67C */ request_of_phase_process_class mPhaseReq; + /* 0x684 */ dBgS_AcchCir mAcchCir; + /* 0x6C4 */ dBgS_ObjAcch mAcch; + /* 0x89C */ dCcD_Stts mStts; + /* 0x8D8 */ dCcD_Sph mSph[3]; + /* 0xC80 */ dCcD_Cyl mCyl; + /* 0xDBC */ u8 field_0xdbc[40]; }; STATIC_ASSERT(sizeof(daObjCRVGATE_c) == 0xde4); - #endif /* D_A_OBJ_CRVGATE_H */ |
