diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index f82d34ab..2906b670 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -175,7 +175,7 @@ public: /* 00 */ virtual ~Actor(); /* 08 */ virtual bool vfunc_08(); - /* 0c */ virtual void vfunc_0c(); + /* 0c */ virtual bool vfunc_0c(); /* 10 */ virtual void vfunc_10(u32 param1); /* 14 */ virtual void vfunc_14(u32 param1); /* 18 */ virtual void vfunc_18(u32 param1); diff --git a/include/Actor/Dungeon/ActorSwitchObject.hpp b/include/Actor/Dungeon/ActorSwitchObject.hpp index b2fa08d3..61cc3267 100644 --- a/include/Actor/Dungeon/ActorSwitchObject.hpp +++ b/include/Actor/Dungeon/ActorSwitchObject.hpp @@ -22,7 +22,7 @@ public: /* 00 */ virtual ~ActorSwitchObject() override; /* 08 */ virtual bool vfunc_08() override; - /* 0c */ virtual void vfunc_0c() override; + /* 0c */ virtual bool vfunc_0c() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* b4 */ diff --git a/src/00_Core/Actor/Actor.cpp b/src/00_Core/Actor/Actor.cpp index db721414..123b2abe 100644 --- a/src/00_Core/Actor/Actor.cpp +++ b/src/00_Core/Actor/Actor.cpp @@ -117,7 +117,7 @@ ARM bool Actor::vfunc_08() { return true; } -ARM void Actor::vfunc_0c() {} +ARM bool Actor::vfunc_0c() {} ARM void Actor::vfunc_10(u32 param1) {} ARM void Actor::vfunc_24() {} ARM void Actor::vfunc_28() {} diff --git a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp index 37c4511c..05b9790a 100644 --- a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp +++ b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp @@ -3,8 +3,18 @@ ActorType ActorSwitchObject::gType = ActorType(ActorTypeId_SwitchObject, (ActorCreateFunc) ActorSwitchObject::Create, NULL); ActorSwitchObject *ActorSwitchObject::Create() {} -bool ActorSwitchObject::vfunc_08() {} -void ActorSwitchObject::vfunc_0c() {} + +bool ActorSwitchObject::vfunc_08() { + Actor::vfunc_08(); + this->func_ov000_0208fc7c(); + this->mUnk_130 = 0; + return true; +} + +bool ActorSwitchObject::vfunc_0c() { + return this->func_ov00_020c1bfc(0) ? this->func_ov000_0208fc10(1) : this->func_ov000_0208fc10(0); +} + void ActorSwitchObject::vfunc_14(u32 param1) {} void ActorSwitchObject::vfunc_18(u32 param1) {} bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {}