rodecomp/Source/UI/Window/UIOpenRoulletteWnd.cpp
ragnarok-clanker 3248a87591 Decompile 6 functions in Source/UI/Window/UIMileageWnd.cpp, Source/UI/Window/UIMileageWnd.h, ...
Batch #5180 by eAthena: 2 byte-identical, 4 confirmed by peer review.

- fn_12894 UIMileageWnd::Slot15: logic confirmed by peer review
- fn_12896 UIOpenMailBoxWnd::Slot15: logic confirmed by peer review
- fn_12897 UIOpenRoulletteWnd::Slot15: logic confirmed by peer review
- fn_12900 UITransMenuWnd::Slot15: logic confirmed by peer review
- fn_12909 UIOpenMailBoxWnd::Paint: byte-identical
- fn_12910 UIOpenRoulletteWnd::Paint: byte-identical

Peer-reviewed-by: willerthal
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 09:15:57 +00:00

55 lines
1.6 KiB
C++

#include "UI/Window/UIOpenRoulletteWnd.h"
#include "UI/Buttons/UIBitmapButton.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketId.h"
#include "Network/Packets/PacketLengths.h"
#include "UI/Window/UIWindowMgr.h"
#include <cstdint>
namespace {
#pragma pack(push, 1)
struct RouletteOpenPacket {
/* 0000 */ std::int16_t id;
};
#pragma pack(pop)
}
// OFFSET: 0x0094F1C0
// FUNCTION: fn_12933
void UIOpenRoulletteWnd::Slot19() {
}
// OFFSET: 0x0094C4E0
// FUNCTION: fn_12897
void UIOpenRoulletteWnd::Slot15(int width, int height) {
auto* button = new UIBitmapButton(*this->m_context, *this->m_controls);
button->SetBitmap("유저인터페이스\\basic_interface\\roullette\\RoulletteIcon.bmp", 0, 0);
button->SetBitmap("유저인터페이스\\basic_interface\\roullette\\RoulletteIcon.bmp", 1, 0);
button->SetBitmap("유저인터페이스\\basic_interface\\roullette\\RoulletteIcon.bmp", 2, 0);
button->SetSize(button->BitmapWidth(), button->BitmapHeight());
button->SetId(192);
this->AddChild(button);
}
// OFFSET: 0x0094D900
// FUNCTION: fn_12910
void UIOpenRoulletteWnd::Paint() {
}
// OFFSET: 0x00950B60
// FUNCTION: fn_12946
int UIOpenRoulletteWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) {
if (message != 6) {
return this->UIWindow::SendMsg(sender, message, a, b, c, d);
}
if (a == 192 && g_windowMgr.unknown_0464 == nullptr) {
RouletteOpenPacket packet;
packet.id = ID_CZ_REQ_OPEN_ROULETTE;
CRagConnection& connection = GetRagConnection();
connection.Send(g_packetLengths.FixedLength(packet.id), &packet);
}
return 0;
}