77 lines
2.7 KiB
C++
77 lines
2.7 KiB
C++
// Project Lab - NHTV Igad
|
|
|
|
#include "UnrealProject.h"
|
|
|
|
|
|
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, UnrealProject, "UnrealProject" );
|
|
|
|
DEFINE_LOG_CATEGORY(FRANK);
|
|
DEFINE_LOG_CATEGORY(JAN);
|
|
DEFINE_LOG_CATEGORY(TED);
|
|
DEFINE_LOG_CATEGORY(YOSHI);
|
|
DEFINE_LOG_CATEGORY(GUUS);
|
|
DEFINE_LOG_CATEGORY(RAUL);
|
|
|
|
#include <algorithm>
|
|
using namespace std;
|
|
|
|
void Output::WriteOut(char name, char type, const string& message)
|
|
{
|
|
WriteWOut(wchar_t(name), wchar_t(type), (convert_cstring_type<wchar_t, char>(message.data())));
|
|
}
|
|
void Output::WriteWOut(wchar_t name, wchar_t type, const wstring& message)
|
|
{
|
|
// Retrieve the line number and file name
|
|
wstring content = message;
|
|
const size_t end = content.find(L']');
|
|
if (end == wstring::npos)
|
|
return;
|
|
|
|
wstring path_content = content.substr(0, end + 1);
|
|
const size_t seperator = path_content.find_last_of(L':');
|
|
wstring path = path_content.substr(1, seperator - 1);
|
|
replace(path.begin(), path.end(), L'\\', L'/');
|
|
const size_t slash = path.find_last_of(L'/');
|
|
if (slash != wstring::npos) path = path.substr(slash + 1, path.size());
|
|
wstring line = path_content.substr(seperator + 1, end - seperator - 1);
|
|
|
|
content = L"(" + path + L":" + line + L") " + content.substr(end + 1, content.size());
|
|
|
|
// Log to the proper output
|
|
if (type == L'L')
|
|
{
|
|
switch (name)
|
|
{
|
|
case L'F': UE_LOG(FRANK, Log, TEXT("%s"), content.data()); break;
|
|
case L'J': UE_LOG(JAN, Log, TEXT("%s"), content.data()); break;
|
|
case L'T': UE_LOG(TED, Log, TEXT("%s"), content.data()); break;
|
|
case L'Y': UE_LOG(YOSHI, Log, TEXT("%s"), content.data()); break;
|
|
case L'G': UE_LOG(GUUS, Log, TEXT("%s"), content.data()); break;
|
|
case L'R': UE_LOG(RAUL, Log, TEXT("%s"), content.data()); break;
|
|
}
|
|
}
|
|
if (type == L'W')
|
|
{
|
|
switch (name)
|
|
{
|
|
case L'F': UE_LOG(FRANK, Warning, TEXT("%s"), content.data()); break;
|
|
case L'J': UE_LOG(JAN, Warning, TEXT("%s"), content.data()); break;
|
|
case L'T': UE_LOG(TED, Warning, TEXT("%s"), content.data()); break;
|
|
case L'Y': UE_LOG(YOSHI, Warning, TEXT("%s"), content.data()); break;
|
|
case L'G': UE_LOG(GUUS, Warning, TEXT("%s"), content.data()); break;
|
|
case L'R': UE_LOG(RAUL, Warning, TEXT("%s"), content.data()); break;
|
|
}
|
|
}
|
|
if (type == L'E')
|
|
{
|
|
switch (name)
|
|
{
|
|
case L'F': UE_LOG(FRANK, Error, TEXT("%s"), content.data()); break;
|
|
case L'J': UE_LOG(JAN, Error, TEXT("%s"), content.data()); break;
|
|
case L'T': UE_LOG(TED, Error, TEXT("%s"), content.data()); break;
|
|
case L'Y': UE_LOG(YOSHI, Error, TEXT("%s"), content.data()); break;
|
|
case L'G': UE_LOG(GUUS, Error, TEXT("%s"), content.data()); break;
|
|
case L'R': UE_LOG(RAUL, Error, TEXT("%s"), content.data()); break;
|
|
}
|
|
}
|
|
} |