re3-wiiu/src/render/Console.cpp

43 lines
1.4 KiB
C++
Raw Normal View History

2020-03-22 15:23:40 +01:00
#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]);
}
}