diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2020-03-22 17:23:40 +0300 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2020-03-22 17:23:40 +0300 |
commit | 34b18815286938176b0462ba5a97ea03195409fb (patch) | |
tree | 62e01aacd06b12acb897dc48b45ca800ed77d44d /src/render/Console.cpp | |
parent | 7d213a1f32c4e8cd45d22f73c637bff0edf731fb (diff) |
CGame::Initialise
Diffstat (limited to 'src/render/Console.cpp')
-rw-r--r-- | src/render/Console.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/render/Console.cpp b/src/render/Console.cpp new file mode 100644 index 00000000..b4a10e54 --- /dev/null +++ b/src/render/Console.cpp @@ -0,0 +1,43 @@ +#include "Console.h" + +#include "Font.h" +#include "Timer.h" + +#define CONSOLE_MESSAGE_SHOW_TIME 20000 +#define CONSOLE_MESSAGE_HEIGHT 12.0f +#define CONSOLE_MESSAGE_X_OFFSET 30.0f +#define CONSOLE_MESSAGE_Y_OFFSET 10.0f +#define CONSOLE_MESSAGE_X_SHADOW_OFFSET 1.0f +#define CONSOLE_MESSAGE_Y_SHADOW_OFFSET 1.0f + +CConsole& TheConsole = *(CConsole*)0x8F6498; + +void CConsole::Display() +{ + CFont::SetPropOn(); + CFont::SetBackgroundOff(); + CFont::SetScale(0.6f, 0.6f); + CFont::SetCentreOff(); + CFont::SetRightJustifyOff(); + CFont::SetBackGroundOnlyTextOff(); + CFont::SetFontStyle(0); + CFont::SetPropOff(); + CFont::SetWrapx(RsGlobal.width); + while (m_nActiveMessages != 0 && CTimer::GetTimeInMilliseconds() - m_anTimeStart[m_nCurrentMessage] > CONSOLE_MESSAGE_SHOW_TIME) { + m_nActiveMessages--; + m_nCurrentMessage = (m_nCurrentMessage + 1) % NUM_CONSOLEMESSAGES; + } + for (int i = 0; i < m_nActiveMessages; i++) { + int actualIndex = (i + m_nCurrentMessage) % NUM_CONSOLEMESSAGES; + CFont::SetColor(CRGBA(0, 0, 0, 200)); + CFont::PrintString( + CONSOLE_MESSAGE_X_OFFSET + CONSOLE_MESSAGE_X_SHADOW_OFFSET, + CONSOLE_MESSAGE_Y_OFFSET + CONSOLE_MESSAGE_Y_SHADOW_OFFSET + i * CONSOLE_MESSAGE_HEIGHT, + m_asMessages[actualIndex]); + CFont::SetColor(CRGBA(m_anColourRed[actualIndex], m_anColourGreen[actualIndex], m_anColourBlue[actualIndex], 200)); + CFont::PrintString( + CONSOLE_MESSAGE_X_OFFSET, + CONSOLE_MESSAGE_Y_OFFSET + i * CONSOLE_MESSAGE_HEIGHT, + m_asMessages[actualIndex]); + } +}
\ No newline at end of file |