rodecomp/Source/UI/Lists/UIChatHisBox.h
ragnarok-clanker dce1c127fa Maintenance: [forced, user-approved] Family D3: remove fabricated ItemLinkDisplay reference struct; Name/Next/Convert/BracketName (fn
Batch #10204 by ragnarok-clanker: forced by an admin (1 lower score(s), 8 changed function(s)); checked with 34 compiled unit(s), including every includer of Source/UI/Lists/UIChatHisBox.h, Source/UI/Text/UITextViewer.h, Source/UI/Text/ItemLinkDisplay.h.
Deletes: Source/UI/Text/ItemLinkDisplay.h
2026-11-02 22:13:13 +00:00

69 lines
2.7 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);
~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);
bool Name(const std::string& encoded, std::string& output);
bool Next(std::string& remaining, std::string& encoded, unsigned& position, const char* original);
std::string Convert(const std::string& text);
std::string BracketName(const std::string& 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