From a57010e55bebc28fa3c29e15ce25634975e1801e Mon Sep 17 00:00:00 2001 From: Misa Date: Thu, 23 Sep 2021 13:16:57 -0700 Subject: [PATCH] Fix regression from 2.3 with `destroy(platforms)` 2.3 introduced a regression with destroy(platforms). The problem was that isplatform wasn't being set to false when the entity got disabled, so if the platform was moving, it would keep moving until it hit a wall, instead of stopping immediately. --- desktop_version/src/Entity.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/desktop_version/src/Entity.cpp b/desktop_version/src/Entity.cpp index e334fec9..ff2ac946 100644 --- a/desktop_version/src/Entity.cpp +++ b/desktop_version/src/Entity.cpp @@ -1084,6 +1084,7 @@ bool entityclass::disableentity(int t) entities[t].size = -1; entities[t].type = -1; entities[t].rule = -1; + entities[t].isplatform = false; return true; } @@ -1228,7 +1229,8 @@ void entityclass::createentity(int xp, int yp, int t, int meta1, int meta2, int if (entities[i].invis && entities[i].size == -1 && entities[i].type == -1 - && entities[i].rule == -1) + && entities[i].rule == -1 + && !entities[i].isplatform) { reuse = true; entptr = &entities[i];