diff --git a/src/Script.cpp b/src/Script.cpp index 56e2106..f3d2af5 100644 --- a/src/Script.cpp +++ b/src/Script.cpp @@ -92,6 +92,7 @@ const EvalValue* Porygon::Script::CallFunction(const u16string &key, const vecto Porygon::Script *Porygon::Script::Clone(const Porygon::Script *script) { auto s = new Script(script->_boundScript, script->Diagnostics); + s->_scriptOptions = script ->_scriptOptions; for (const auto& v: *script->_scriptVariables){ s->_scriptVariables->insert({v.first, nullptr}); } @@ -115,8 +116,8 @@ Porygon::Script::Script(shared_ptr boundScript, } extern "C" { - Porygon::Script* CreateScript(char16_t * s){ - return Porygon::Script::Create(s); + Porygon::Script* CreateScript(char16_t * s, Porygon::ScriptOptions* options){ + return Porygon::Script::Create(s, options); } Porygon::Script* CloneScript(Porygon::Script* p){ diff --git a/src/ScriptOptions.cpp b/src/ScriptOptions.cpp index 70b08bf..e3a0d24 100644 --- a/src/ScriptOptions.cpp +++ b/src/ScriptOptions.cpp @@ -52,7 +52,7 @@ extern "C"{ opt->SetModuleExistsFunc(func); } - void SetOptionResolveModuleFunc(Porygon::ScriptOptions* opt, bool (*func)(const std::string& moduleName)){ - opt->SetModuleExistsFunc(func); + void SetOptionResolveModuleFunc(Porygon::ScriptOptions* opt, Porygon::Script* (*func)(const std::string& moduleName)){ + opt->SetResolveModuleFunc(func); } } \ No newline at end of file