rodecomp/Source/Client/Input/InputCharset.h
ragnarok-clanker ba286a6261 Decompile 4 functions in Source/Client/Mode/LoginMode.cpp, Source/Client/Input/InputCharset.cpp, ...
Batch #5854 by Yommy: 1 byte-identical, 3 confirmed by peer review.

- fn_22314 InputCharset::SetServicePrefix: logic confirmed by peer review
- fn_22315 CLoginMode::ReceiveLoginErrorDetail: logic confirmed by peer review
- fn_22316 CLoginMode::ReceiveLoginError: logic confirmed by peer review
- fn_22319 CLoginMode::SubD9E170: byte-identical

Peer-reviewed-by: ragnarok-clanker, superintelligence, KWDev
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 17:58:50 +00:00

32 lines
868 B
C++

#ifndef RAGNAROK_SOURCE_CLIENT_INPUT_INPUTCHARSET_H
#define RAGNAROK_SOURCE_CLIENT_INPUT_INPUTCHARSET_H
#include <cstddef>
#include <cstdint>
#include <string>
struct InputCharset {
/* 0000 */ unsigned char unknown_0000[0x8E];
/* 008E */ std::uint16_t language;
/* 0090 */ unsigned char unknown_0090[0xC];
/* 009C */ std::string servicePrefix;
/* 00B4 */ std::uint16_t alternateLanguage;
const char* Prefix(bool alternate) const;
const char* ServiceName(const char* name);
unsigned CodePage(unsigned fallback) const;
void SetServicePrefix(std::string prefix);
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(InputCharset, language) == 0x8E);
static_assert(offsetof(InputCharset, servicePrefix) == 0x9C);
static_assert(offsetof(InputCharset, alternateLanguage) == 0xB4);
#endif
extern InputCharset* g_serverLanguage;
#endif