rodecomp/Source/UI/Shop/UIMerchantShopTitle.cpp
ragnarok-clanker 3bcf274d29 Decompile 3 functions in Source/UI/Window/UIWindow.cpp, Source/UI/Window/UIWindow.h, ...
Batch #5106 by Yommy: 0 byte-identical, 3 confirmed by peer review.

- fn_10811 UIMerchantShopTitle::Paint: logic confirmed by peer review
- fn_10818 UIStaticText2::Paint: logic confirmed by peer review
- fn_10861 UIRadioBtn::Slot28: logic confirmed by peer review

Peer-reviewed-by: youko, SapitoSucio
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 08:13:51 +00:00

62 lines
2.1 KiB
C++

#include "Client/Mode/ModeCursor.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Session.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Resource/Bitmap/BitmapResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/TextureNames.h"
#include "UI/Shop/UIMerchantShopTitle.h"
#include "UI/Window/UIWindowMgr.h"
#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<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve(icon)));
this->DrawBitmap(3, 3, bitmap ? &bitmap->image : nullptr, true);
}
// OFFSET: 0x0085EC40
// FUNCTION: fn_10843
void UIMerchantShopTitle::Slot25(int, int) {
if (!g_serviceOptions.Get(167)) {
return;
}
CMode* mode = g_modeMgr.GetGameMode();
if (this->buyingShop != 0) {
if (g_windowMgr.unknown_0308 == 0) {
mode->SendMsg(272, this->ownerAid, 0, 0, 0);
}
} else if (g_windowMgr.unknown_0418 == 0) {
mode->SendMsg(84, this->ownerAid, 0, 0, 0);
}
}
// OFFSET: 0x0085E920
// FUNCTION: fn_10832
void UIMerchantShopTitle::Slot26(int, int) {
CMode* mode = g_modeMgr.GetGameMode();
if (this->buyingShop != 0) {
if (g_windowMgr.unknown_0308 == 0) {
mode->SendMsg(272, this->ownerAid, 0, 0, 0);
}
} else if (g_windowMgr.unknown_0418 == 0) {
mode->SendMsg(84, this->ownerAid, 0, 0, 0);
}
}
// OFFSET: 0x0085F9E0
// FUNCTION: fn_10878
void UIMerchantShopTitle::ResetCursor(int x, int y) {
if (x >= 0 && x < this->geometry.width && y >= 0 && y <= this->geometry.height) {
this->m_context->cursor.Set(2, this->m_context->cursorTick);
} else {
this->m_context->cursor.Set(0, this->m_context->cursorTick);
}
}