rodecomp/Source/UI/Text/NavigationLink.h
ragnarok-clanker 3a7e21bbe2 Decompile 2 functions in Source/UI/Text/NavigationLink.h, Source/UI/Text/NavigationLink.cpp, ...
Batch #16583 by eAthena: 1 byte-identical, 1 confirmed by peer review.

- fn_21424 CGameMode::SendNpcInputText: logic confirmed by peer review
- fn_11197 UIChatHisBox::AddTextWrapped: byte-identical

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-10 22:35:30 +00:00

38 lines
1.2 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_TEXT_NAVIGATIONLINK_H
#define RAGNAROK_SOURCE_UI_TEXT_NAVIGATIONLINK_H
#include <string>
#include <utility>
struct NavigationLinkParser {
NavigationLinkParser();
~NavigationLinkParser();
bool HasUnownedItemLink(std::string text);
bool HasLink(std::string text);
__declspec(noinline) std::string ExpandMessages(std::string text);
std::string EncodeNavigationNumber(int value);
bool ParseNavigationLink(std::string value, std::string& name, int& x, int& y);
const std::string ExtractNavigationLink(std::string value);
std::pair<bool, std::string> RemoveLineBreakTag(std::string value);
/* 0000 */ bool m_ready;
};
extern NavigationLinkParser* g_navigationLinkParser;
// INLINED
inline NavigationLinkParser* GetNavigationLinkParser() {
return g_navigationLinkParser;
}
extern std::string g_naviLinkTagBegin;
extern std::string g_naviLinkTagEnd;
bool CreateNavigationLinkParser();
void DestroyNavigationLinkParser();
std::string FormatMessageArguments(std::string value, int messageId);
int DecodeNavigationNumber(std::string value);
std::string FormatNavigationLink(std::string value, bool brackets);
void DisplayNavigationLink(std::string& output, std::string value);
#endif