feat: use log.c in more places

This commit is contained in:
2025-11-06 11:10:54 +13:00
parent 60f56f9609
commit fc1247f458
4 changed files with 21 additions and 17 deletions
+17 -11
View File
@@ -1,10 +1,10 @@
#include "ScriptEngine.h"
#include "ScriptBindings.h"
#include "scriptstdstring.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <assert.h>
#include "log/log.h"
ScriptEngine::ScriptEngine() : engine(nullptr), updateFunc(nullptr), drawFunc(nullptr), currentModule(nullptr), hasValidScript(false) {
}
@@ -16,7 +16,7 @@ ScriptEngine::~ScriptEngine() {
bool ScriptEngine::Initialize() {
engine = asCreateScriptEngine();
if (!engine) {
std::cerr << "Failed to create AngelScript engine\n";
log_error("Failed to create AngelScript engine");
return false;
}
@@ -29,7 +29,7 @@ bool ScriptEngine::Initialize() {
// Set message callback
int r = engine->SetMessageCallback(asFUNCTION(MessageCallback), nullptr, asCALL_CDECL);
if (r < 0) {
std::cerr << "Failed to set message callback\n";
log_error("Failed to set message callback");
return false;
}
@@ -51,7 +51,7 @@ bool ScriptEngine::CompileScript(const std::string& filename) {
std::string code = ReadFile(filename);
if (code.empty()) {
std::cerr << "Failed to read script file: " << filename << "\n";
log_error("Failed to read script file: %s", filename.c_str());
return false;
}
@@ -60,14 +60,14 @@ bool ScriptEngine::CompileScript(const std::string& filename) {
int r = tempMod->AddScriptSection(filename.c_str(), code.c_str());
if (r < 0) {
std::cerr << "Failed to add script section for: " << filename << "\n";
log_error("Failed to add script section for: %s", filename.c_str());
engine->DiscardModule("temp");
return false;
}
r = tempMod->Build();
if (r < 0) {
std::cerr << "Failed to build script: " << filename << "\n";
log_error("Failed to build script: %s", filename.c_str());
engine->DiscardModule("temp");
return false;
}
@@ -90,7 +90,7 @@ bool ScriptEngine::CompileScript(const std::string& filename) {
if (r < 0) {
// This shouldn't happen since we already tested compilation
std::cerr << "Unexpected error when creating main module\n";
log_error("Unexpected error when creating main module");
ClearCachedFunctions();
return false;
}
@@ -99,8 +99,7 @@ bool ScriptEngine::CompileScript(const std::string& filename) {
updateFunc = currentModule->GetFunctionByName("Update");
drawFunc = currentModule->GetFunctionByName("Draw");
hasValidScript = true;
std::cout << "Script compiled and cached: " << filename << "\n";
log_info("Script compiled and cached: %s", filename.c_str());
return true;
}
@@ -123,7 +122,7 @@ void ScriptEngine::CallScriptFunction(asIScriptFunction* func, float dt) {
r = ctx->Execute();
if (r != asEXECUTION_FINISHED) {
if (r == asEXECUTION_EXCEPTION) {
std::cerr << "Script exception: " << ctx->GetExceptionString() << "\n";
log_error("Script exception: %s", ctx->GetExceptionString());
}
}
@@ -143,7 +142,14 @@ void ScriptEngine::GarbageCollect() {
}
void ScriptEngine::MessageCallback(const asSMessageInfo* msg, void*) {
std::cout << msg->section << " (" << msg->row << "): " << msg->message << std::endl;
// Map AngelScript message types to log levels
if (msg->type == asMSGTYPE_ERROR) {
log_error("%s (%d): %s", msg->section, msg->row, msg->message);
} else if (msg->type == asMSGTYPE_WARNING) {
log_warn("%s (%d): %s", msg->section, msg->row, msg->message);
} else {
log_info("%s (%d): %s", msg->section, msg->row, msg->message);
}
}
std::string ScriptEngine::ReadFile(const std::string& filename) {