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
commit 5aa0cc9c3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -416,19 +416,20 @@ void ContentLoader::load() {
template <class T>
static void load_script(const Content& content, T& def) {
const auto& name = def.name;
size_t pos = name.find(':');
const auto& scriptName = def.scriptFile;
if (scriptName.empty()) return;
size_t pos = scriptName.find(':');
if (pos == std::string::npos) {
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& folder = pack.folder;
auto scriptfile = folder / ("scripts/" + def.scriptName + ".lua");
if (io::is_regular_file(scriptfile)) {
scripting::load_content_script(
runtime->getEnvironment(),
name,
def.name,
scriptfile,
def.scriptFile,
def.rt.funcsset