From 82ff815386f2ab07481d11ecfe3730849eb4e2ec Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Tue, 14 Feb 2023 23:37:09 -0700 Subject: d_a_tag_gra OK, d_a_suspend work (#286) --- include/rel/d/a/d_a_suspend/d_a_suspend.h | 29 +++++++++++++++++++++++++++ include/rel/d/a/tag/d_a_tag_gra/d_a_tag_gra.h | 27 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) (limited to 'include/rel') diff --git a/include/rel/d/a/d_a_suspend/d_a_suspend.h b/include/rel/d/a/d_a_suspend/d_a_suspend.h index da80cb7e4f..096e228afc 100644 --- a/include/rel/d/a/d_a_suspend/d_a_suspend.h +++ b/include/rel/d/a/d_a_suspend/d_a_suspend.h @@ -2,5 +2,34 @@ #define D_A_SUSPEND_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daSus_c : public fopAc_ac_c { +public: + u32 getScale() { + return fopAcM_GetParam(this) >> 0x1E; + } + + u8 getArg1() { + return (fopAcM_GetParam(this) >> 9) & 1; + } + + u8 getArg0() { + return (fopAcM_GetParam(this) >> 8) & 1; + } + + u8 getSw() { + return fopAcM_GetParam(this) & 0xFF; + } + + u8 getRoom() { + return fopAcM_GetParam(this) >> 10; + } + + /* 80031248 */ void newData(s8, cXyz const&, cXyz const&, u8, u8, u8); + /* 804D5118 */ int create(); + + +}; #endif /* D_A_SUSPEND_H */ diff --git a/include/rel/d/a/tag/d_a_tag_gra/d_a_tag_gra.h b/include/rel/d/a/tag/d_a_tag_gra/d_a_tag_gra.h index 91d78902ce..07d779bb38 100644 --- a/include/rel/d/a/tag/d_a_tag_gra/d_a_tag_gra.h +++ b/include/rel/d/a/tag/d_a_tag_gra/d_a_tag_gra.h @@ -2,5 +2,32 @@ #define D_A_TAG_GRA_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +class daTagGra_c : public fopAc_ac_c { +public: + s16 getMode() { + return (fopAcM_GetParam(this) >> 8) & 0xFF; + } + + s16 getSwBit() { + return (fopAcM_GetParam(this) >> 16) & 0xFF; + } + + int create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagGra_c(); + fopAcM_OnCondition(this, 8); + } + + if (getMode() == 2) { + if (dComIfGs_isSwitch(getSwBit(),fopAcM_GetRoomNo(this))) { + return cPhs_ERROR_e; + } + } + return cPhs_COMPLEATE_e; + } +}; #endif /* D_A_TAG_GRA_H */ -- cgit v1.2.3