rodecomp/Source/UI/Chat/UIChatRoomTitle.cpp
ragnarok-clanker 256ae75f4d Decompile 4 functions in Source/UI/UISlotBitmap.cpp, Source/UI/Chat/UIChatRoomTitle.cpp, ...
Batch #5514 by Yommy: 0 byte-identical, 4 confirmed by peer review.

- fn_10785 UIChatRoomTitle::Slot15: logic confirmed by peer review
- fn_10788 UIMerchantShopTitle::Slot15: logic confirmed by peer review
- fn_10789 UISlotBitmap::Slot15: logic confirmed by peer review
- fn_10792 UIAchBalloonText::Paint: logic confirmed by peer review

Peer-reviewed-by: willerthal, Snow, Qwenkler3.8, SapitoSucio
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 12:55:58 +00:00

70 lines
3.3 KiB
C++

#include "Client/Mode/ModeCursor.h"
#include "Resource/Bitmap/BitmapResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/TextureNames.h"
#include "UI/Chat/UIChatRoomTitle.h"
#include "UI/Text/UIStaticText.h"
// OFFSET: 0x0084EF70
// FUNCTION: fn_10655
UIChatRoomTitle::UIChatRoomTitle(UIWindowContext& context) : UIWindow(context, 0) {
}
// OFFSET: 0x0085AB80
// FUNCTION: fn_10785
void UIChatRoomTitle::Slot15(int, int) {
this->label = new UIStaticText(*this->m_context, *this->m_controls);
this->label->SetSize(this->geometry.width - 34, 15);
this->label->Move(31, 8);
this->label->SetTextFitted("");
this->label->fontFamily = 0;
this->label->fontHeight = 12;
this->label->bold = 0;
this->label->italic = 0;
this->AddChild(this->label);
}
// OFFSET: 0x0085C690
// FUNCTION: fn_10802
void UIChatRoomTitle::Paint() {
this->ClearSurface(0xFFFF00FF);
CBitmapRes* bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_lu.bmp")));
this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false);
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_ru.bmp")));
this->DrawBitmap(this->geometry.width - bitmap->image.width, 0, &bitmap->image, false);
int segments = (this->geometry.width - 24) / 12 + ((this->geometry.width - 24) % 12 != 0);
for (int index = 0; index < segments; ++index) {
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_mu.bmp")));
this->DrawBitmap((index + 1) * 12, 0, bitmap ? &bitmap->image : nullptr, false);
}
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_ld.bmp")));
this->DrawBitmap(0, this->geometry.height - bitmap->image.height - 6, &bitmap->image, false);
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_rd.bmp")));
this->DrawBitmap(this->geometry.width - bitmap->image.width, this->geometry.height - bitmap->image.height - 6, &bitmap->image, false);
segments = (this->geometry.width - 24) / 12 + ((this->geometry.width - 24) % 12 != 0);
for (int index = 0; index < segments; ++index) {
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_md.bmp")));
this->DrawBitmap((index + 1) * 12, this->geometry.height - bitmap->image.height - 6, &bitmap->image, false);
}
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\sysbox_arr_l.bmp")));
this->DrawBitmap(this->geometry.width / 2 - bitmap->image.width / 2, this->geometry.height - bitmap->image.height, &bitmap->image, false);
const char* icon = this->roomType != 0 ? "유저인터페이스\\chat_open.bmp" : "유저인터페이스\\chat_close.bmp";
bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve(icon)));
this->DrawBitmap(3, 3, bitmap ? &bitmap->image : nullptr, true);
}
// OFFSET: 0x0085F980
// FUNCTION: fn_10876
void UIChatRoomTitle::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);
}
}