rodecomp/Source/UI/Lists/UIChatHisBox.h
ragnarok-clanker cba1204dcd Decompile 10 functions in Source/UI/Lists/UIScrollBar.cpp, Source/UI/Lists/UIListBox.h, ...
Batch #9946 by Toshiro: 0 byte-identical, 10 confirmed by peer review.

- fn_11305 UIChatHisBox::RenderItemLinks: logic confirmed by peer review
- fn_11306 UIChatHisBox::RenderNavigationLinks: logic confirmed by peer review
- fn_11508 UIChatHisBox::RewrapLinkLines: logic confirmed by peer review
- fn_11598 UIChatHisBox::sub_89DC30: logic confirmed by peer review
- fn_11599 UIChatHisBox::sub_89E0F0: logic confirmed by peer review
- fn_11222 UIChatHisBox::Clear: logic confirmed by peer review (already on main)
- fn_11234 UITabControl::ClearTabs: logic confirmed by peer review (already on main)
- fn_11253 UITabControl::Configure: logic confirmed by peer review (already on main)
- fn_11255 UIChatHisBox::ClearNaviLinks: logic confirmed by peer review (already on main)
- fn_11259 UIChatHisBox::ShiftNaviLinks: logic confirmed by peer review (already on main)

Reviewed-by: ragnarok-clanker
2026-11-02 12:18:21 +00:00

65 lines
2.5 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_LISTS_UICHATHISBOX_H
#define RAGNAROK_SOURCE_UI_LISTS_UICHATHISBOX_H
#include "UI/Lists/UIListBox.h"
#include <list>
#include <string>
#include <vector>
class UIItemTagButton;
class UINaviLinkButton;
class UIChatHisBox : public UIListBox {
public:
UIChatHisBox(UIWindowContext& windows, UIListBoxContext& list);
~UIChatHisBox() override;
bool Slot08() override;
void Resize(int width, int height) override;
void Show(int visible) override;
void Paint() override;
void Slot15(int width, int height) override;
void Slot25(int x, int y) override;
void Slot26(int x, int y) override;
void Slot31(int x, int y) override;
int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override;
void Configure(int x, int y, int width, int height, unsigned char transparent) override;
void Clear() override;
virtual void AddText(const char* text, int color, const char* style);
void AddTextWrapped(const char* text, int color, const char* style);
void sub_89DC30(const char* text, int& color, int& mode);
void sub_89E0F0(const char* text, int& color, int& mode);
std::string RenderItemLinks(const char* lineText, std::string& source);
std::string RenderNavigationLinks(const char* text, std::string& source);
void RewrapLinkLines(std::vector<std::string>& wrapped, int& mode);
const char* HistoryText(unsigned int index);
bool SaveChatLog(const char* path);
void PlaceNaviLinks(int line);
void DropOldestLines();
void ShiftNaviLinks();
void ClearNaviLinks();
void DropOldestRecords();
void AddLinkRecord(const char* name, int value, const char* detail);
virtual void ResetContents();
void ShiftItemTags();
void PlaceItemTags(int line);
void CopyHistory(const UIChatHisBox& other);
void Resize(int width, int height, bool flag);
void sub_89C080();
std::string ResolvePlayerTags(const char* name);
// INLINED
std::list<std::vector<UIItemTagButton*>>& ItemTags() {
return *reinterpret_cast<std::list<std::vector<UIItemTagButton*>>*>(reinterpret_cast<unsigned char*>(this) + 0xD4);
}
/* 00DC */ std::list<std::vector<UINaviLinkButton*>> naviLinks;
/* 00E4 */ std::vector<int> unknown_00E4;
/* 00F0 */ int maxLines;
/* 00F4 */ std::vector<std::string> history;
/* 0100 */ std::vector<std::string> unknown_0100;
/* 010C */ std::vector<int> unknown_010C;
/* 0118 */ std::vector<std::string> unknown_0118;
};
#endif