ALOT, titlescreen, sound, enemies

This commit is contained in:
Ben
2020-09-06 07:32:55 +01:00
parent 8198922b43
commit 8a0afcb605
22 changed files with 306 additions and 90 deletions

View File

@@ -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;
}