rodecomp/Source/UI/Navigation/NavigationLink.h
ragnarok-clanker a6d18c3a6f Decompile fn_10467 (CCreateLineInfo::CreateTextWindow)
Batch #16805 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_10467 CCreateLineInfo::CreateTextWindow: logic confirmed by peer review

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

40 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_NAVIGATION_NAVIGATIONLINK_H
#define RAGNAROK_SOURCE_UI_NAVIGATION_NAVIGATIONLINK_H
#include <string>
#include <utility>
#include <vector>
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);
void SplitMessageArguments(const char* text, std::vector<std::string>& arguments);
std::string FormatMessageArguments(std::string value, int messageId);
/* 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();
int DecodeNavigationNumber(std::string value);
std::string FormatNavigationLink(std::string value, bool brackets);
void DisplayNavigationLink(std::string& output, std::string value);
#endif