rodecomp/Source/UI/Chat/UINewChatWnd.h
ragnarok-clanker cb9c8b9e52 Decompile fn_12750 (UINewChatWnd::SendMsg)
Batch #10386 by gordaoprogramas: 0 byte-identical, 1 confirmed by peer review.

- fn_12750 UINewChatWnd::SendMsg: logic confirmed by peer review

Peer-reviewed-by: dori, cremane, doczeira
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/UI/Chat/UINewChatWnd.cpp
2026-11-03 21:44:46 +00:00

80 lines
2.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_CHAT_UINEWCHATWND_H
#define RAGNAROK_SOURCE_UI_CHAT_UINEWCHATWND_H
#include "UI/Window/UIFrameWnd.h"
#include "UI/Window/UIWindowMgr.h"
#include <cstdint>
#include <vector>
class UIChatHisBox;
class UITabControl;
class UIEditCtrl;
extern std::uint8_t g_chatInputFlag;
class UINewChatWnd : public UIFrameWnd {
public:
UINewChatWnd();
static void SaveChatWndInfo();
void Resize(int width, int height) override;
void Slot15(int width, int height) override;
void Move(int x, int y) override;
void Slot11() override;
void Show(int visible) override;
void Paint() override;
void Slot25(int x, int y) override;
void Slot27(int x, int y) override;
void Slot31(int x, int y) override;
bool Slot42(void* output) override;
void Slot43() override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
void SaveChatLogs();
void RefreshTabs(bool arrange);
std::string ConvertChat(std::string text);
bool SuggestionsVisible() const;
void ShowSuggestions(std::uint8_t visible);
void ApplyInputLayout();
void ApplyHeaderLayout();
void ResizeRows(int count);
void ToggleInput();
/* 00B4 */ UIEditCtrl* m_inputEdit;
/* 00B8 */ UIWindow* unknown_00B8;
/* 00BC */ UIEditCtrl* m_chatEdit;
/* 00C0 */ UIWindow* unknown_00C0;
/* 00C4 */ int m_inputX;
/* 00C8 */ int m_inputY;
/* 00CC */ int m_listWidth;
/* 00D0 */ int m_listHeight;
/* 00D4 */ unsigned char unknown_00D4[0x4];
/* 00D8 */ std::uint32_t m_listColor;
/* 00DC */ unsigned char unknown_00DC[0x4];
/* 00E0 */ UIWindow* m_inputButtons[3];
/* 00EC */ unsigned char unknown_00EC[0x4];
/* 00F0 */ int unknown_00F0;
/* 00F4 */ std::vector<UIChatHisBox*> m_tabs;
/* 0100 */ UIWindow* m_headerButtons[2];
/* 0108 */ int m_lockButtonX;
/* 010C */ int m_chatModeX;
/* 0110 */ int unknown_0110;
/* 0114 */ int m_currentTab;
/* 0118 */ int unknown_0118;
/* 011C */ int m_inputOffsetY;
/* 0120 */ int m_tabWidth;
/* 0124 */ int m_inputAreaHeight;
/* 0128 */ UIWindow* unknown_0128;
/* 012C */ UIWindow* m_chatModeButton;
/* 0130 */ unsigned char unknown_0130[0x8];
/* 0138 */ UITabControl* m_tabControl;
/* 013C */ UIWindow* m_suggestions;
};
// INLINED
inline UINewChatWnd* ChatWindow() {
return static_cast<UINewChatWnd*>(g_windowMgr.window_01C8);
}
#endif