diff --git a/r5dev/squirrel/sqvm.cpp b/r5dev/squirrel/sqvm.cpp index 6c91d229..62709bf0 100644 --- a/r5dev/squirrel/sqvm.cpp +++ b/r5dev/squirrel/sqvm.cpp @@ -72,13 +72,21 @@ SQRESULT SQVM_PrintFunc(HSQUIRRELVM v, SQChar* fmt, ...) break; } - // Always show script errors. + // Determine whether this is an info or warning log. bool bLogLevelOverride = (g_bSQAuxError || (g_bSQAuxBadLogic && v == g_pErrorVM)); + LogLevel_t level = LogLevel_t(script_show_output->GetInt()); LogType_t type = bLogLevelOverride ? LogType_t::SQ_WARNING : LogType_t::SQ_INFO; + // Always log script related problems to the console. + if (type == LogType_t::SQ_WARNING && + level == LogLevel_t::LEVEL_DISK_ONLY) + { + level = LogLevel_t::LEVEL_CONSOLE; + } + va_list args; va_start(args, fmt); - CoreMsgV(type, static_cast(script_show_output->GetInt()), remoteContext, "squirrel_re", fmt, args); + CoreMsgV(type, level, remoteContext, "squirrel_re", fmt, args); va_end(args); return SQ_OK; diff --git a/r5dev/tier0/dbg.cpp b/r5dev/tier0/dbg.cpp index f224c079..f8d26eda 100644 --- a/r5dev/tier0/dbg.cpp +++ b/r5dev/tier0/dbg.cpp @@ -296,7 +296,7 @@ void CoreMsgV(LogType_t logType, LogLevel_t logLevel, eDLL_T context, va_end(argsCopy); #ifndef NETCONSOLE - if (bUseColor && bSquirrel) + if (bSquirrel) { if (bWarning && g_bSQAuxError) { @@ -323,9 +323,13 @@ void CoreMsgV(LogType_t logType, LogLevel_t logLevel, eDLL_T context, overlayContext = eDLL_T::SYSTEM_ERROR; overlayColor = ImVec4(1.00f, 0.00f, 0.00f, 0.80f); #endif // !DEDICATED - message.append(g_svRedF); + + if (bUseColor) + { + message.append(g_svRedF); + } } - else if (bWarning) + else if (bUseColor && bWarning) { message.append(g_svYellowF); }