1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Display error type (error, warning, script error) in OS::print_error

Previously all types of errors would be shown as ERROR, thus making for example warnings (WARN_PRINT) somewhat aggressive.
ERROR is displayed in red, WARNING in yellow and SCRIPT ERROR in magenta (though the latter does not seem used so far).
Fixes #1127.
This commit is contained in:
Rémi Verschelde
2015-11-05 20:13:05 +01:00
parent dde6396f22
commit 6334895088
4 changed files with 63 additions and 25 deletions

View File

@@ -65,15 +65,25 @@ void OS_Unix::print_error(const char* p_function,const char* p_file,int p_line,c
if (!_print_error_enabled)
return;
if (p_rationale && p_rationale[0]) {
print("\E[1;31;40mERROR: %s: \E[1;37;40m%s\n",p_function,p_rationale);
print("\E[0;31;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
} else {
print("\E[1;31;40mERROR: %s: \E[1;37;40m%s\n",p_function,p_code);
print("\E[0;31;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
const char* err_details;
if (p_rationale && p_rationale[0])
err_details=p_rationale;
else
err_details=p_code;
switch(p_type) {
case ERR_ERROR:
print("\E[1;31;40mERROR: %s: \E[1;37;40m%s\n",p_function,err_details);
print("\E[0;31;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
break;
case ERR_WARNING:
print("\E[1;33;40mWARNING: %s: \E[1;37;40m%s\n",p_function,err_details);
print("\E[0;33;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
break;
case ERR_SCRIPT:
print("\E[1;35;40mSCRIPT ERROR: %s: \E[1;37;40m%s\n",p_function,err_details);
print("\E[0;35;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
break;
}
}