ALOT, titlescreen, sound, enemies
This commit is contained in:
@@ -21,13 +21,13 @@ constexpr const char* magic(ELogType::Type e)
|
||||
{
|
||||
switch (e)
|
||||
{
|
||||
default: return ""; break;
|
||||
case ELogType::Type::NONE: return ""; break;
|
||||
case ELogType::Type::INFO: return "INFO"; break;
|
||||
case ELogType::Type::DEBUG: return "DEBUG"; break;
|
||||
case ELogType::Type::WARN: return "WARN"; break;
|
||||
case ELogType::Type::ERR: return "ERROR"; break;
|
||||
case ELogType::Type::PANIC: return "PANIC"; break;
|
||||
default: return ""; break;
|
||||
case ELogType::Type::NONE: return ""; break;
|
||||
case ELogType::Type::INFO: return "INFO"; break;
|
||||
case ELogType::Type::DEBUG: return "DEBUG"; break;
|
||||
case ELogType::Type::WARN: return "WARN"; break;
|
||||
case ELogType::Type::ERR: return "ERROR"; break;
|
||||
case ELogType::Type::PANIC: return "PANIC"; break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,21 +37,21 @@ void OutputWorker(Logger* _Logger)
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(_Logger->_QueueLock);
|
||||
_Logger->_TaskEnqueued.wait(lock, [&] { return !_Logger->_LogQueue.empty(); });
|
||||
|
||||
|
||||
LogEntity* entity = _Logger->_LogQueue.front();
|
||||
_Logger->_LogQueue.pop();
|
||||
lock.unlock();
|
||||
|
||||
|
||||
// Get C Time
|
||||
auto t = std::time(nullptr);
|
||||
auto tm = *std::localtime(&t);
|
||||
|
||||
|
||||
std::ostringstream oss;
|
||||
oss << "[" << std::put_time(&tm, "%d-%m-%Y %H:%M:%S") << "] ";
|
||||
|
||||
|
||||
while (_Logger->_IsLogging) {}
|
||||
_Logger->_IsLogging = true;
|
||||
|
||||
|
||||
if (entity->Type == ELogType::NONE)
|
||||
{
|
||||
oss << entity->Message;
|
||||
@@ -61,41 +61,41 @@ void OutputWorker(Logger* _Logger)
|
||||
delete entity;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
oss << "[";
|
||||
std::cout << oss.str();
|
||||
|
||||
|
||||
switch (entity->Type)
|
||||
{
|
||||
case ELogType::INFO:
|
||||
case ELogType::INFO:
|
||||
Colour::ConsoleColour(EConsoleColour::FG_GREEN);
|
||||
break;
|
||||
case ELogType::DEBUG:
|
||||
case ELogType::DEBUG:
|
||||
Colour::ConsoleColour(EConsoleColour::FG_BLUE);
|
||||
break;
|
||||
case ELogType::WARN:
|
||||
case ELogType::WARN:
|
||||
Colour::ConsoleColour(EConsoleColour::FG_YELLOW);
|
||||
break;
|
||||
case ELogType::ERR:
|
||||
case ELogType::ERR:
|
||||
Colour::ConsoleColour(EConsoleColour::FG_LIGHT_RED);
|
||||
break;
|
||||
case ELogType::PANIC:
|
||||
case ELogType::PANIC:
|
||||
Colour::ConsoleColour(EConsoleColour::FG_RED);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
std::cout << magic(entity->Type);
|
||||
Colour::ResetColour();
|
||||
std::cout << "] " << entity->Message << std::endl;
|
||||
|
||||
|
||||
_Logger->_IsLogging = false;
|
||||
|
||||
|
||||
if (_Logger->_HasFileHandle)
|
||||
_Logger->_FileOutput << oss.str() << magic(entity->Type) << "] " << entity->Message << std::endl;
|
||||
|
||||
|
||||
// TODO: This won't exit, i need it to exit the main thread
|
||||
//if (entity->Type == ELogType::PANIC) delete entity; exit(0);
|
||||
|
||||
|
||||
delete entity;
|
||||
}
|
||||
}
|
||||
@@ -117,10 +117,10 @@ void Logger::InitializeLoggingThread()
|
||||
Logger::~Logger()
|
||||
{
|
||||
// Signal to the thread that its time to stop
|
||||
|
||||
|
||||
_IsRunning = false;
|
||||
_OutputWorker->join();
|
||||
|
||||
|
||||
if (_OutputWorker != nullptr)
|
||||
delete _OutputWorker;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user