Merge pull request #589 from clasher113/main

fix: script overriding
This commit is contained in:
MihailRis
2025-08-15 17:35:47 +03:00
committed by GitHub
+5 -4
View File
@@ -416,19 +416,20 @@ void ContentLoader::load() {
template <class T> template <class T>
static void load_script(const Content& content, T& def) { static void load_script(const Content& content, T& def) {
const auto& name = def.name; const auto& scriptName = def.scriptFile;
size_t pos = name.find(':'); if (scriptName.empty()) return;
size_t pos = scriptName.find(':');
if (pos == std::string::npos) { if (pos == std::string::npos) {
throw std::runtime_error("invalid content unit name"); throw std::runtime_error("invalid content unit name");
} }
const auto runtime = content.getPackRuntime(name.substr(0, pos)); const auto runtime = content.getPackRuntime(scriptName.substr(0, pos));
const auto& pack = runtime->getInfo(); const auto& pack = runtime->getInfo();
const auto& folder = pack.folder; const auto& folder = pack.folder;
auto scriptfile = folder / ("scripts/" + def.scriptName + ".lua"); auto scriptfile = folder / ("scripts/" + def.scriptName + ".lua");
if (io::is_regular_file(scriptfile)) { if (io::is_regular_file(scriptfile)) {
scripting::load_content_script( scripting::load_content_script(
runtime->getEnvironment(), runtime->getEnvironment(),
name, def.name,
scriptfile, scriptfile,
def.scriptFile, def.scriptFile,
def.rt.funcsset def.rt.funcsset