diff --git a/Source/UI/Buttons/UIRadioBtn.cpp b/Source/UI/Buttons/UIRadioBtn.cpp index abe68361..daa090e8 100644 --- a/Source/UI/Buttons/UIRadioBtn.cpp +++ b/Source/UI/Buttons/UIRadioBtn.cpp @@ -58,6 +58,16 @@ void UIRadioBtn::Slot25(int, int) { } // OFFSET: 0x0085F400 +// FUNCTION: fn_10861 +void UIRadioBtn::Slot28(int x, int y) { + this->Slot27(x, y); + if (this->tooltip.size()) { + x = 10; + y = -20; + this->ToScreen(x, y); + reinterpret_cast(g_modeMgr.gameMode)->Show(this->tooltip.c_str(), x, y, 0xFFFFFFFFu, 0, 1); + } +} // OFFSET: 0x00865180 // FUNCTION: fn_10919 diff --git a/Source/UI/Shop/UIMerchantShopTitle.cpp b/Source/UI/Shop/UIMerchantShopTitle.cpp index 1cda012d..557223e9 100644 --- a/Source/UI/Shop/UIMerchantShopTitle.cpp +++ b/Source/UI/Shop/UIMerchantShopTitle.cpp @@ -10,6 +10,16 @@ #include "UI/Window/WindowBorder.h" // OFFSET: 0x0085D150 +// FUNCTION: fn_10811 +void UIMerchantShopTitle::Paint() { + this->ClearSurface(0xFFFF00FF); + const std::uint32_t color = this->ownerAid == g_session.unknown_5BF0 ? 0x7DFAFF : 0xFFFFFF; + DrawFilledRoundedBorder(*this, 0, 0, this->geometry.width, this->geometry.height - 6, color); + DrawRoundedBorder(*this, 2, 2, this->geometry.width - 4, this->geometry.height - 10, 0xC3C3C3); + const char* icon = this->buyingShop != 0 ? "유저인터페이스\\buyingshop.bmp" : "유저인터페이스\\shop.bmp"; + CBitmapRes* bitmap = static_cast(ResourceMgr::Instance().Load(Resolve(icon))); + this->DrawBitmap(3, 3, bitmap ? &bitmap->image : nullptr, true); +} // OFFSET: 0x0085EC40 // FUNCTION: fn_10843 diff --git a/Source/UI/Text/UIStaticText.cpp b/Source/UI/Text/UIStaticText.cpp index ba4e745a..0fc82cdf 100644 --- a/Source/UI/Text/UIStaticText.cpp +++ b/Source/UI/Text/UIStaticText.cpp @@ -168,6 +168,26 @@ void UIStaticText::Slot35(int value) { } // OFFSET: 0x0085DAF0 +// FUNCTION: fn_10818 +void UIStaticText2::Paint() { + UIButtonContext& controls = *this->m_controls; + this->ClearSurface(this->background); + + if (this->shadow != 0) { + this->DrawTextAt(controls.fonts, controls.locale, 2, 2, this->text.c_str(), 0, this->fontFamily, this->fontHeight, 0xFFFFFF, this->bold, this->italic); + } + + if (this->outline != 0) { + this->DrawTextAt(controls.fonts, controls.locale, 0, 1, this->text.c_str(), 0, this->fontFamily, this->fontHeight, this->outlineColor, this->bold, this->italic); + this->DrawTextAt(controls.fonts, controls.locale, 1, 0, this->text.c_str(), 0, this->fontFamily, this->fontHeight, this->outlineColor, this->bold, this->italic); + this->DrawTextAt(controls.fonts, controls.locale, 2, 1, this->text.c_str(), 0, this->fontFamily, this->fontHeight, this->outlineColor, this->bold, this->italic); + this->DrawTextAt(controls.fonts, controls.locale, 1, 2, this->text.c_str(), 0, this->fontFamily, this->fontHeight, this->outlineColor, this->bold, this->italic); + } + + const std::uint32_t color = + static_cast(this->red) | (static_cast(this->green) << 8) | (static_cast(this->blue) << 16); + this->DrawTextAt(controls.fonts, controls.locale, 1, 1, this->text.c_str(), 0, this->fontFamily, this->fontHeight, color, this->bold, this->italic); +} // OFFSET: 0x0085DCA0 // FUNCTION: fn_10819