From 61af8ba943a24f6544c6482def2e244cf0af4d18 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 19 Apr 2025 22:17:58 +0300 Subject: [PATCH] fix incomplete content reset --- src/content/ContentControl.cpp | 1 + src/logic/scripting/scripting.cpp | 5 +++++ src/logic/scripting/scripting.hpp | 1 + 3 files changed, 7 insertions(+) diff --git a/src/content/ContentControl.cpp b/src/content/ContentControl.cpp index dea7099f..37d68294 100644 --- a/src/content/ContentControl.cpp +++ b/src/content/ContentControl.cpp @@ -60,6 +60,7 @@ void ContentControl::resetContent() { } paths.resPaths = ResPaths(resRoots); content.reset(); + scripting::on_content_reset(); contentPacks.clear(); contentPacks = manager->getAll(basePacks); diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp index 5d7292d4..5ebbb42b 100644 --- a/src/logic/scripting/scripting.cpp +++ b/src/logic/scripting/scripting.cpp @@ -261,6 +261,11 @@ void scripting::on_content_load(Content* content) { load_script("stdcmd.lua", true); } +void scripting::on_content_reset() { + scripting::content = nullptr; + scripting::indices = nullptr; +} + void scripting::on_world_load(LevelController* controller) { scripting::level = controller->getLevel(); scripting::blocks = controller->getBlocksController(); diff --git a/src/logic/scripting/scripting.hpp b/src/logic/scripting/scripting.hpp index fdc8b281..e5f4ef32 100644 --- a/src/logic/scripting/scripting.hpp +++ b/src/logic/scripting/scripting.hpp @@ -49,6 +49,7 @@ namespace scripting { void initialize(Engine* engine); void on_content_load(Content* content); + void on_content_reset(); bool register_event( int env, const std::string& name, const std::string& id