From 79c31816b300b13f0c791bd16b8cc7e938a7c543 Mon Sep 17 00:00:00 2001 From: Edgar Date: Thu, 23 Jul 2026 10:10:05 +0200 Subject: [PATCH] :arrow_up: Updated AngelScript to 2.38 --- conanfile.py | 2 +- source/server/ScriptEngine.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/conanfile.py b/conanfile.py index 2865c957..ec1af47b 100644 --- a/conanfile.py +++ b/conanfile.py @@ -12,7 +12,7 @@ def layout(self): self.folders.generators = os.path.join(self.folders.build, "generators") def requirements(self): - self.requires("angelscript/2.37.0") + self.requires("angelscript/2.38.0") self.requires("jsoncpp/1.9.5") self.requires("openssl/3.3.2", override=True) self.requires("socketw/3.11.0@anotherfoxguy/stable") diff --git a/source/server/ScriptEngine.cpp b/source/server/ScriptEngine.cpp index 08c02fe2..3244cb65 100644 --- a/source/server/ScriptEngine.cpp +++ b/source/server/ScriptEngine.cpp @@ -227,11 +227,14 @@ int ScriptEngine::loadScript(std::string scriptname) { void ScriptEngine::ExceptionCallback(asIScriptContext *ctx, void *param) { const asIScriptFunction *function = ctx->GetExceptionFunction(); + const char *sectionName; + int s_col, s_row; + function->GetDeclaredAt(§ionName, &s_row, &s_col); Logger::Log(LOG_INFO, "--- exception ---"); Logger::Log(LOG_INFO, "desc: %s", ctx->GetExceptionString()); Logger::Log(LOG_INFO, "func: %s", function->GetDeclaration()); Logger::Log(LOG_INFO, "modl: %s", function->GetModuleName()); - Logger::Log(LOG_INFO, "sect: %s", function->GetScriptSectionName()); + Logger::Log(LOG_INFO, "sect: %s (%d,%d)", sectionName, s_col, s_row); int col, line = ctx->GetExceptionLineNumber(&col); Logger::Log(LOG_INFO, "line: %d,%d", line, col); @@ -240,7 +243,8 @@ void ScriptEngine::ExceptionCallback(asIScriptContext *ctx, void *param) { char tmp[2048] = ""; for (asUINT n = 0; n < ctx->GetCallstackSize(); n++) { function = ctx->GetFunction(n); - sprintf(tmp, "%s (%d): %s", function->GetScriptSectionName(), ctx->GetLineNumber(n), + function->GetDeclaredAt(§ionName, &s_row, &s_col); + sprintf(tmp, "%s (%d): %s", sectionName, ctx->GetLineNumber(n), function->GetDeclaration()); Logger::Log(LOG_INFO, tmp); PrintVariables(ctx, n);