mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-11 21:21:57 -04:00
d_a_obj_waterfall OK, with basic documentation (#2245)
* d_a_tag_statue_evt OK * Modification according to review * d_a_obj_waterfall OK * Document d_a_obj_waterfall * Found examples of actor in-game * Differentiated between d_a_obj_waterfall & d_a_tag_waterfall
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
#ifndef D_A_OBJ_WATERFALL_H
|
||||
#define D_A_OBJ_WATERFALL_H
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjWaterFall_c
|
||||
* @brief Waterfall
|
||||
*
|
||||
* @details
|
||||
* @brief Waterfall With Collision Object
|
||||
*
|
||||
* @details Waterfalls that player cannot move through (e.g. those in Zora's Domain)
|
||||
*/
|
||||
class daObjWaterFall_c : public fopAc_ac_c {
|
||||
public:
|
||||
@@ -17,15 +18,37 @@ public:
|
||||
/* 80D2F034 */ void search_arrow();
|
||||
/* 80D2F324 */ void initBaseMtx();
|
||||
/* 80D2F344 */ void setBaseMtx();
|
||||
/* 80D2F39C */ void Create();
|
||||
/* 80D2F5A0 */ void create();
|
||||
/* 80D2F984 */ void execute();
|
||||
/* 80D2F39C */ cPhs__Step Create();
|
||||
/* 80D2F5A0 */ cPhs__Step create();
|
||||
/* 80D2F984 */ int execute();
|
||||
/* 80D2FA6C */ void push_player();
|
||||
/* 80D2FC94 */ bool draw();
|
||||
/* 80D2FC9C */ void _delete();
|
||||
|
||||
/* 80D2FC94 */ int draw();
|
||||
/* 80D2FC9C */ int _delete();
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x9cc - 0x568];
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ u8 pad[4];
|
||||
/* 0x574 */ dCcD_Stts mCylColliderStts;
|
||||
/* 0x5B0 */ dCcD_Tri mUnusedTriCollider[2];
|
||||
/* 0x868 */ dCcD_Cyl mCylCollider;
|
||||
/* 0x9A4 */ cXyz mCylColliderCenterOscillationTargets[2];
|
||||
/* 0x9BC */ cXyz mCylColliderCenter;
|
||||
/* 0x9C8 */ s8 mCylColliderCenterQuantizedOscillation;
|
||||
|
||||
enum Type_e {
|
||||
ALLOW_ARROWS_e
|
||||
};
|
||||
|
||||
BOOL checkFallOut() {
|
||||
return fopAcM_GetParamBit(this, 10, 4);
|
||||
}
|
||||
|
||||
Type_e getType() {
|
||||
return static_cast<Type_e>(fopAcM_GetParamBit(this, 8, 2));
|
||||
}
|
||||
|
||||
u32 getSwbit() {
|
||||
return fopAcM_GetParamBit(this, 0, 8);
|
||||
}
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjWaterFall_c) == 0x9cc);
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-tags
|
||||
* @class daTagWaterFall_c
|
||||
* @brief Waterfall Without Collision Tag
|
||||
*
|
||||
* @details Waterfalls player may move through (e.g. those in Iza's Rapid Ride)
|
||||
*/
|
||||
class daTagWaterFall_c : public fopAc_ac_c {
|
||||
public:
|
||||
daTagWaterFall_c() {}
|
||||
@@ -49,4 +56,4 @@ public:
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
};
|
||||
|
||||
#endif /* D_A_TAG_WATERFALL_H */
|
||||
#endif /* D_A_TAG_WATERFALL_H */
|
||||
|
||||
@@ -356,6 +356,7 @@ public:
|
||||
bool ChkAtStopNoConHit() { return mGObjAt.ChkSPrm(0x4); }
|
||||
bool ChkTgNoConHit() { return mGObjTg.ChkSPrm(2); }
|
||||
bool ChkTgStopNoConHit() { return mGObjTg.ChkSPrm(0x2000); }
|
||||
void OnCoNoCamHit() { mGObjCo.OnSPrm(2); }
|
||||
bool ChkCoNoCamHit() { return mGObjCo.ChkSPrm(2); }
|
||||
dCcD_HitCallback GetCoHitCallback() { return mGObjCo.GetHitCallback(); }
|
||||
dCcD_HitCallback GetAtHitCallback() { return mGObjAt.GetHitCallback(); }
|
||||
|
||||
Reference in New Issue
Block a user