diff --git a/config/SOUE01/rels/d_t_shutter_fence_forbiddanceNP/symbols.txt b/config/SOUE01/rels/d_t_shutter_fence_forbiddanceNP/symbols.txt index 77e4f804..ae45b113 100644 --- a/config/SOUE01/rels/d_t_shutter_fence_forbiddanceNP/symbols.txt +++ b/config/SOUE01/rels/d_t_shutter_fence_forbiddanceNP/symbols.txt @@ -4,10 +4,10 @@ _unresolved = .text:0x00000060; // type:function size:0x4 scope:global dTgShutterFenceForbiddance_c_classInit__Fv = .text:0x00000070; // type:function size:0x30 __ct__28dTgShutterFenceForbiddance_cFv = .text:0x000000A0; // type:function size:0x50 __dt__28dTgShutterFenceForbiddance_cFv = .text:0x000000F0; // type:function size:0x7C -TgShutterFenceForbiddance__init = .text:0x00000170; // type:function size:0x20 -fn_631_190 = .text:0x00000190; // type:function size:0x60 +create__28dTgShutterFenceForbiddance_cFv = .text:0x00000170; // type:function size:0x20 +actorExecute__28dTgShutterFenceForbiddance_cFv = .text:0x00000190; // type:function size:0x60 _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global g_profile_TAG_SHUTTER_FENCE_FORBIDDANCE = .data:0x00000000; // type:object size:0x10 -lbl_631_section4_10 = .data:0x00000010; // type:object size:0x74 +__vt__28dTgShutterFenceForbiddance_c = .data:0x00000010; // type:object size:0x74 TgShutterFenceForbiddance__FIRST_PTR = .bss:0x00000008; // type:object size:0x4 data:4byte diff --git a/include/d/t/d_t_shutter_fence_forbiddance.h b/include/d/t/d_t_shutter_fence_forbiddance.h index fed5dab1..5b4dd9b3 100644 --- a/include/d/t/d_t_shutter_fence_forbiddance.h +++ b/include/d/t/d_t_shutter_fence_forbiddance.h @@ -1,13 +1,16 @@ #ifndef D_T_SHUTTER_FENCE_FORBIDDANCE_H #define D_T_SHUTTER_FENCE_FORBIDDANCE_H -#include "d/a/d_a_base.h" +#include "d/t/d_tg.h" -class dTgShutterFenceForbiddance_c : public dAcBase_c { +class dTgShutterFenceForbiddance_c : public dTg_c { public: dTgShutterFenceForbiddance_c(); virtual ~dTgShutterFenceForbiddance_c(); + virtual int create() override; + virtual int actorExecute() override; + private: }; diff --git a/src/REL/d/t/d_t_shutter_fence_forbiddance.cpp b/src/REL/d/t/d_t_shutter_fence_forbiddance.cpp index c85cbf98..82f5c395 100644 --- a/src/REL/d/t/d_t_shutter_fence_forbiddance.cpp +++ b/src/REL/d/t/d_t_shutter_fence_forbiddance.cpp @@ -1,8 +1,33 @@ #include "d/t/d_t_shutter_fence_forbiddance.h" +#include "common.h" +#include "f/f_base.h" + SPECIAL_ACTOR_PROFILE( TAG_SHUTTER_FENCE_FORBIDDANCE, dTgShutterFenceForbiddance_c, fProfile::TAG_SHUTTER_FENCE_FORBIDDANCE, 0x2A4, 0, 4 ); -dTgShutterFenceForbiddance_c::dTgShutterFenceForbiddance_c() {} -dTgShutterFenceForbiddance_c::~dTgShutterFenceForbiddance_c() {} +static dTgShutterFenceForbiddance_c *FIRST_PTR; + +dTgShutterFenceForbiddance_c::dTgShutterFenceForbiddance_c() { + if (!FIRST_PTR) { + FIRST_PTR = this; + } +} +dTgShutterFenceForbiddance_c::~dTgShutterFenceForbiddance_c() { + if (this == FIRST_PTR) { + FIRST_PTR = nullptr; + } +} + +int dTgShutterFenceForbiddance_c::create() { + if (this != FIRST_PTR) { + return FAILED; + } + return SUCCEEDED; +} + +// TODO after finding out more about d_a_obj_door_base +int dTgShutterFenceForbiddance_c::actorExecute() { + return SUCCEEDED; +}