Batch #13406 by ragnarok-clanker: no function's compiled code changes; checked with 124 compiled unit(s), including every includer of Source/Contents/Effects/RagEffect.h, Source/Contents/Effects/PowderingEffect.h, Source/Contents/Effects/SpriteParticle.h, Source/UI/Enchant/EnchantUI.h, Source/UI/Guild/UIAgitWnd.h, Source/UI/Window/UINewSelectCharWnd.h, Source/Contents/Actors/Skill.h, Source/UI/UIChangeMaterialWnd.h, Source/UI/Window/UINewMakeCharWnd.h, Source/Contents/Effects/HealEffect.h, Source/Contents/AchievementMgr.h, Source/UI/Window/UISecondCostumeWnd.h, Source/Contents/Effects/LightSphereEffect.h, Source/Contents/Effects/BlastForge.h, Source/Security/NProtectGameGuardMgr.h, Source/Contents/Effects/MapChainEffect.h, Source/Utility/Math/Int64Math.h.
53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
#ifndef RAGNAROK_SOURCE_SECURITY_NPROTECTGAMEGUARDMGR_H
|
|
#define RAGNAROK_SOURCE_SECURITY_NPROTECTGAMEGUARDMGR_H
|
|
|
|
#include <cstddef>
|
|
#include <string>
|
|
#include <vector>
|
|
#include <windows.h>
|
|
|
|
class CNProtectGameGuardMgr {
|
|
public:
|
|
struct CSAuthToken {
|
|
/* 0000 */ void* vtable;
|
|
/* 0004 */ int id;
|
|
/* 0008 */ std::vector<unsigned char> bytes;
|
|
};
|
|
|
|
static int Create();
|
|
static void Destroy();
|
|
static const char* GameName();
|
|
|
|
/* 0000 */ void* vtable;
|
|
/* 0004 */ bool m_initialized;
|
|
/* 0008 */ unsigned int unknown_0008;
|
|
/* 000C */ void* m_gameLib;
|
|
/* 0010 */ bool m_hasError;
|
|
/* 0014 */ std::string m_errorMessage;
|
|
/* 002C */ CRITICAL_SECTION m_lock;
|
|
/* 0044 */ std::vector<CSAuthToken> m_tokens;
|
|
|
|
void ProcessAuth(int first, int second);
|
|
void Stop();
|
|
void Tick();
|
|
int HasError();
|
|
std::string ErrorMessage();
|
|
void SetHwnd(HWND window);
|
|
void ScalarDeletingDestructor(unsigned char flags);
|
|
int Initialize();
|
|
void IncrementCounter();
|
|
void SetError(const char* file, int line, std::string message);
|
|
void Send(const char* text);
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(offsetof(CNProtectGameGuardMgr, m_errorMessage) == 0x14);
|
|
static_assert(offsetof(CNProtectGameGuardMgr, m_lock) == 0x2C);
|
|
static_assert(offsetof(CNProtectGameGuardMgr, m_tokens) == 0x44);
|
|
static_assert(sizeof(CNProtectGameGuardMgr::CSAuthToken) == 0x14);
|
|
static_assert(sizeof(CNProtectGameGuardMgr) == 0x50);
|
|
#endif
|
|
|
|
extern CNProtectGameGuardMgr* g_nProtectGameGuardMgr;
|
|
|
|
#endif
|