From e8348713d17704f137928b948fb9bf9345e320ee Mon Sep 17 00:00:00 2001 From: PoeDev <69771817+poec987@users.noreply.github.com> Date: Sat, 19 Nov 2022 02:14:18 -0600 Subject: [PATCH 1/2] Layer Changer Fix I fixed the layer changer... And kind of cleaned up the code. --- source/actors/layerchanger.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/source/actors/layerchanger.cpp b/source/actors/layerchanger.cpp index 86e79e6d..36e5cb50 100644 --- a/source/actors/layerchanger.cpp +++ b/source/actors/layerchanger.cpp @@ -18,7 +18,7 @@ class LayerChanger : public StageActor { u8 trigEvent; u32 layerDest; bool isDone; - EventMgr eventmgr; + //EventMgr eventmgr; }; const Profile LayerChangerProfile(&LayerChanger::build, ProfileID::LayerChanger); @@ -32,7 +32,7 @@ Actor* LayerChanger::build(const ActorBuildInfo* buildInfo) { } u32 LayerChanger::onCreate() { - this->trigEvent = (this->eventID1 & 0xFF); // nybbles 1-2 + this->trigEvent = (this->eventID1 & 0xFF) - 1; // nybbles 1-2 this->layerDest = (this->settings1 >> 0x1C & 0xF); // nybble 5 this->isDone = false; /* Layer chart @@ -46,18 +46,19 @@ u32 LayerChanger::onCreate() { } u32 LayerChanger::onExecute() { - if (!this->isDone) { + if (!EventMgr::instance()->isActive(trigEvent)) { + this->isDone = false; PRINT("Currently checking if Event ID ", trigEvent, " was triggered..."); - if (EventMgr::instance()->isActive(this->trigEvent)) { - this->isDone = true; - PRINT("Event ID ", trigEvent, " was triggered"); - for (u32 i = 0; i < 4; i++) { - Player* player = PlayerMgr::instance()->players[i]; - if (player) { - player->layer = this->layerDest; - } + } else if (!this->isDone) { + PRINT("Event ID ", trigEvent, " was triggered"); + for (u32 i = 0; i < 4; i++) { + Player* player = PlayerMgr::instance()->players[i]; + if (player) { + PRINT("LAYER SUCCESSFULLY CHANGED"); + player->layer = this->layerDest; } } + this->isDone = true; } if (EventMgr::instance()->isActive(this->eventID1)) { From cfdbe91c00f9d0096d2fd581f49f3555fa04b8f1 Mon Sep 17 00:00:00 2001 From: Luminyx <79218624+Luminyx1@users.noreply.github.com> Date: Sat, 19 Nov 2022 11:15:05 -0500 Subject: [PATCH 2/2] Remove unnecessary prints in layerchanger --- source/actors/layerchanger.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/source/actors/layerchanger.cpp b/source/actors/layerchanger.cpp index 36e5cb50..14e8bc3d 100644 --- a/source/actors/layerchanger.cpp +++ b/source/actors/layerchanger.cpp @@ -18,7 +18,6 @@ class LayerChanger : public StageActor { u8 trigEvent; u32 layerDest; bool isDone; - //EventMgr eventmgr; }; const Profile LayerChangerProfile(&LayerChanger::build, ProfileID::LayerChanger); @@ -35,12 +34,12 @@ u32 LayerChanger::onCreate() { this->trigEvent = (this->eventID1 & 0xFF) - 1; // nybbles 1-2 this->layerDest = (this->settings1 >> 0x1C & 0xF); // nybble 5 this->isDone = false; + /* Layer chart 0 - Layer 1 1 - Layer 2 2 - Layer 0 */ - PRINT("Event: ", trigEvent); return this->onExecute(); } @@ -48,22 +47,16 @@ u32 LayerChanger::onCreate() { u32 LayerChanger::onExecute() { if (!EventMgr::instance()->isActive(trigEvent)) { this->isDone = false; - PRINT("Currently checking if Event ID ", trigEvent, " was triggered..."); } else if (!this->isDone) { - PRINT("Event ID ", trigEvent, " was triggered"); for (u32 i = 0; i < 4; i++) { Player* player = PlayerMgr::instance()->players[i]; if (player) { - PRINT("LAYER SUCCESSFULLY CHANGED"); player->layer = this->layerDest; } } + this->isDone = true; } - if (EventMgr::instance()->isActive(this->eventID1)) { - PRINT("Event activated"); - } - return 1; }