mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 01:07:43 +00:00
New code style refactor
This commit is contained in:
@@ -1,99 +1,85 @@
|
||||
#include "CFontRenderState.hpp"
|
||||
#include "CRasterFont.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
namespace urde {
|
||||
|
||||
CFontRenderState::CFontRenderState()
|
||||
{
|
||||
x54_colors[0] = zeus::CColor::skWhite;
|
||||
x54_colors[1] = zeus::CColor::skGrey;
|
||||
x54_colors[2] = zeus::CColor::skWhite;
|
||||
RefreshPalette();
|
||||
CFontRenderState::CFontRenderState() {
|
||||
x54_colors[0] = zeus::CColor::skWhite;
|
||||
x54_colors[1] = zeus::CColor::skGrey;
|
||||
x54_colors[2] = zeus::CColor::skWhite;
|
||||
RefreshPalette();
|
||||
}
|
||||
|
||||
zeus::CColor CFontRenderState::ConvertToTextureSpace(const CTextColor& col) const
|
||||
{
|
||||
return col;
|
||||
zeus::CColor CFontRenderState::ConvertToTextureSpace(const CTextColor& col) const { return col; }
|
||||
|
||||
void CFontRenderState::PopState() {
|
||||
static_cast<CSaveableState&>(*this) = x10c_pushedStates.back();
|
||||
x10c_pushedStates.pop_back();
|
||||
RefreshPalette();
|
||||
}
|
||||
|
||||
void CFontRenderState::PopState()
|
||||
{
|
||||
static_cast<CSaveableState&>(*this) = x10c_pushedStates.back();
|
||||
x10c_pushedStates.pop_back();
|
||||
RefreshPalette();
|
||||
void CFontRenderState::PushState() { x10c_pushedStates.push_back(*this); }
|
||||
|
||||
void CFontRenderState::SetColor(EColorType tp, const CTextColor& col) {
|
||||
switch (tp) {
|
||||
case EColorType::Main:
|
||||
case EColorType::Outline:
|
||||
case EColorType::Geometry:
|
||||
x54_colors[int(tp)] = col;
|
||||
break;
|
||||
case EColorType::Foreground:
|
||||
x54_colors[0] = col;
|
||||
break;
|
||||
case EColorType::Background:
|
||||
x54_colors[1] = col;
|
||||
break;
|
||||
}
|
||||
RefreshColor(tp);
|
||||
}
|
||||
|
||||
void CFontRenderState::PushState()
|
||||
{
|
||||
x10c_pushedStates.push_back(*this);
|
||||
void CFontRenderState::RefreshPalette() {
|
||||
RefreshColor(EColorType::Foreground);
|
||||
RefreshColor(EColorType::Background);
|
||||
}
|
||||
|
||||
void CFontRenderState::SetColor(EColorType tp, const CTextColor& col)
|
||||
{
|
||||
switch (tp)
|
||||
{
|
||||
void CFontRenderState::RefreshColor(EColorType tp) {
|
||||
switch (tp) {
|
||||
case EColorType::Main:
|
||||
if (!x48_font)
|
||||
return;
|
||||
switch (x48_font->GetMode()) {
|
||||
case EColorType::Main:
|
||||
if (!x64_colorOverrides[0])
|
||||
x0_drawStrOpts.x4_colors[0] = ConvertToTextureSpace(x54_colors[0]);
|
||||
break;
|
||||
case EColorType::Outline:
|
||||
case EColorType::Geometry:
|
||||
x54_colors[int(tp)] = col;
|
||||
break;
|
||||
case EColorType::Foreground:
|
||||
x54_colors[0] = col;
|
||||
break;
|
||||
case EColorType::Background:
|
||||
x54_colors[1] = col;
|
||||
break;
|
||||
if (!x64_colorOverrides[0])
|
||||
x0_drawStrOpts.x4_colors[0] = ConvertToTextureSpace(x54_colors[0]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
RefreshColor(tp);
|
||||
break;
|
||||
case EColorType::Outline:
|
||||
if (!x48_font)
|
||||
return;
|
||||
if (x64_colorOverrides[1])
|
||||
return;
|
||||
if (x48_font->GetMode() == EColorType::Outline)
|
||||
x0_drawStrOpts.x4_colors[1] = ConvertToTextureSpace(x54_colors[1]);
|
||||
break;
|
||||
case EColorType::Geometry:
|
||||
if (!x64_colorOverrides[2])
|
||||
x0_drawStrOpts.x4_colors[2] = ConvertToTextureSpace(x54_colors[2]);
|
||||
break;
|
||||
case EColorType::Foreground:
|
||||
RefreshColor(EColorType::Main);
|
||||
RefreshColor(EColorType::Geometry);
|
||||
break;
|
||||
case EColorType::Background:
|
||||
RefreshColor(EColorType::Outline);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CFontRenderState::RefreshPalette()
|
||||
{
|
||||
RefreshColor(EColorType::Foreground);
|
||||
RefreshColor(EColorType::Background);
|
||||
}
|
||||
|
||||
void CFontRenderState::RefreshColor(EColorType tp)
|
||||
{
|
||||
switch (tp)
|
||||
{
|
||||
case EColorType::Main:
|
||||
if (!x48_font)
|
||||
return;
|
||||
switch (x48_font->GetMode())
|
||||
{
|
||||
case EColorType::Main:
|
||||
if (!x64_colorOverrides[0])
|
||||
x0_drawStrOpts.x4_colors[0] = ConvertToTextureSpace(x54_colors[0]);
|
||||
break;
|
||||
case EColorType::Outline:
|
||||
if (!x64_colorOverrides[0])
|
||||
x0_drawStrOpts.x4_colors[0] = ConvertToTextureSpace(x54_colors[0]);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
case EColorType::Outline:
|
||||
if (!x48_font)
|
||||
return;
|
||||
if (x64_colorOverrides[1])
|
||||
return;
|
||||
if (x48_font->GetMode() == EColorType::Outline)
|
||||
x0_drawStrOpts.x4_colors[1] = ConvertToTextureSpace(x54_colors[1]);
|
||||
break;
|
||||
case EColorType::Geometry:
|
||||
if (!x64_colorOverrides[2])
|
||||
x0_drawStrOpts.x4_colors[2] = ConvertToTextureSpace(x54_colors[2]);
|
||||
break;
|
||||
case EColorType::Foreground:
|
||||
RefreshColor(EColorType::Main);
|
||||
RefreshColor(EColorType::Geometry);
|
||||
break;
|
||||
case EColorType::Background:
|
||||
RefreshColor(EColorType::Outline);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace urde
|
||||
|
||||
Reference in New Issue
Block a user