diff --git a/Source/Client/Application/ApplicationWindow.h b/Source/Client/Application/ApplicationWindow.h index f678e7459..8ee590fe4 100644 --- a/Source/Client/Application/ApplicationWindow.h +++ b/Source/Client/Application/ApplicationWindow.h @@ -12,5 +12,6 @@ HWND __stdcall CreateApplicationWindow( BOOL ClipApplicationCursor(HWND window); BOOL ReleaseApplicationCursor(); +LRESULT CALLBACK WindowProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam); #endif diff --git a/Source/Client/Application/Launcher.cpp b/Source/Client/Application/Launcher.cpp index 42e7509be..eadde9440 100644 --- a/Source/Client/Application/Launcher.cpp +++ b/Source/Client/Application/Launcher.cpp @@ -37,12 +37,14 @@ #include "Contents/Schedule/TimeScheduler.h" #include "Contents/SignBoard/SignBoard.h" #include "Contents/Tables/SimpleStringMgr.h" +#include "Contents/Skills/ClientSkills.h" #include "Contents/Skills/SkillInfo.h" #include "Contents/Map/TownInfoMgr.h" #include "Contents/UserData/AccountLinkedUserDataMgr.h" #include "Contents/UserData/CharacterLinkedUserDataMgr.h" #include "Network/Http/CURLMgr.h" #include "Security/NProtectGameGuardMgr.h" +#include "Security/ProcessSecurity.h" #include "Security/ReassemblyPacketMgr.h" #include "Security/ThemidaMgr.h" #include "UI/Cooldowns/CooldownOwner.h" @@ -73,6 +75,8 @@ #include "Contents/Sound/SoundMgr.h" #include "Network/Connection/Connection.h" #include "Network/Connection/ConnectionRuntime.h" +#include "Render/Device/DisplayMode.h" +#include "Render/DX7/RenderSystemDX7.h" #include "Render/DeviceContext/DCSurface.h" #include "Render/Renderer.h" #include "Render/Textures/TextureCache.h" @@ -846,18 +850,6 @@ public: }; } -bool CreateCooldownOwner(); -CMapSkyMgr* GetMapSkyMgr(); -void InitMapTypeInfoTable(); -void __fastcall InitializeSignBoardManager(CSignBoardMgr* manager); -LRESULT CALLBACK WindowProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam); -int ReadSetup(); -int RemoveProtectionTools(); -void IgnoreNull(); -LSTATUS SaveDisplayDeviceSettings(); - -#include "Render/DX7/RenderSystemDX7.h" - // OFFSET: 0x00E58100 // FUNCTION: fn_24362 int InitApp(HINSTANCE instance, int showCommand) { diff --git a/Source/Client/Mode/CGameMode.h b/Source/Client/Mode/CGameMode.h index 2f960f8bc..797d4a4e0 100644 --- a/Source/Client/Mode/CGameMode.h +++ b/Source/Client/Mode/CGameMode.h @@ -1033,5 +1033,9 @@ extern int g_buyingStoreDbNumber; extern int g_buyingStoreNoPermission; extern std::string g_gameModeNamelessTag; void __stdcall OpenWordDisplay(CGameActor* actor); +int CountItemRandomOptions(const unsigned char* entries); +void TraceSelection(int selection); +void TraceSelectionRange(int first, int last); +void WriteMyLog(const char* file, int line, const char* format, ...); #endif diff --git a/Source/Client/Mode/GameMode.cpp b/Source/Client/Mode/GameMode.cpp index 7eddb874f..7f7988e44 100644 --- a/Source/Client/Mode/GameMode.cpp +++ b/Source/Client/Mode/GameMode.cpp @@ -1,5 +1,6 @@ #include "Contents/Actors/ActorEnums.h" #include "UI/Window/WindowId.h" +#include "Network/Packets/ActorNamePacket.h" #include "Client/Mode/CGameMode.h" #include "UI/Window/UIEnums.h" #include "Client/Mode/ModeMessage.h" diff --git a/Source/Client/Mode/GameModeHandlers.cpp b/Source/Client/Mode/GameModeHandlers.cpp index b99a7ee76..2791c75cf 100644 --- a/Source/Client/Mode/GameModeHandlers.cpp +++ b/Source/Client/Mode/GameModeHandlers.cpp @@ -488,8 +488,6 @@ void CGameMode::SpawnGroundSkill(std::uint32_t aid, std::uint32_t owner, int val skill->SendMsg(nullptr, AM_SKILLSTANDENTRY, 0, address, address >> 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } -int CountItemRandomOptions(const unsigned char* entries); - struct GameOptionEntry { /* 0000 */ int id; /* 0004 */ int value; diff --git a/Source/Client/Mode/GameModePackets.cpp b/Source/Client/Mode/GameModePackets.cpp index 4b1fcb5ce..33b5f5064 100644 --- a/Source/Client/Mode/GameModePackets.cpp +++ b/Source/Client/Mode/GameModePackets.cpp @@ -177,8 +177,6 @@ struct TradeItemRecord { static_assert(sizeof(TradeItemRecord) == 0x22); #endif -void __fastcall RefreshPartyWindows(CSession* session); - // GLOBAL: gl_24992 char g_pendingWhisperCount; @@ -4097,8 +4095,6 @@ void CGameMode::ReceiveShopName(const char* text, int shopId) { } } -void SetPlayerName(std::uint32_t id, std::string name); - namespace { struct FriendRecord { /* 0000 */ std::uint32_t accountId; @@ -4165,8 +4161,6 @@ namespace { static_assert(sizeof(StatusBonusPacket) == 0xE); } -int GetEquipLocationIndex(const int& mask); - namespace EquipmentProperties { class CEquipmentWearable; diff --git a/Source/Client/Mode/LoginMode.cpp b/Source/Client/Mode/LoginMode.cpp index f90e52a7c..2b1fd26a2 100644 --- a/Source/Client/Mode/LoginMode.cpp +++ b/Source/Client/Mode/LoginMode.cpp @@ -104,9 +104,6 @@ #include #include -void TraceSelection(int selection); -void TraceSelectionRange(int first, int last); - #pragma pack(push, 1) struct CharacterSlotsPacket { /* 0000 */ std::int16_t id; diff --git a/Source/Client/Session/Session.cpp b/Source/Client/Session/Session.cpp index c5874a259..2625879eb 100644 --- a/Source/Client/Session/Session.cpp +++ b/Source/Client/Session/Session.cpp @@ -4,7 +4,7 @@ #include "UI/Window/UIEnums.h" #include "UI/Window/WindowId.h" #include "Contents/CombatTypes.h" -#include "Utility/Cipher/EncryptedName.h" +#include "Contents/Actors/Resources/BodyResources.h" #include "Client/Mode/CGameMode.h" #include "Contents/Actors/RenderObject.h" #include "Contents/Effects/Core/EffectActor.h" @@ -2501,8 +2501,6 @@ void CSession::RefreshMerchantMyShopItems() { } } -std::uint32_t __fastcall ItemCardColor(const ITEM_INFO* item); - // OFFSET: 0x00DDD2C0 // FUNCTION: fn_23383 std::uint32_t CSession::GetItemNameColor(const ITEM_INFO& item) const { @@ -4016,734 +4014,6 @@ void CSession::InitCommandTables() { shortcutCommands.push_back("Alt + J"); } -template <> -const char* EncryptedName<14, 0x072D2D872D259D5BULL>::Text(); -template <> -const char* EncryptedName<18, 0x9BE3EF737387AD79ULL>::Text(); -template <> -const char* EncryptedName<14, 0xB96B77B7255F8569ULL>::Text(); -template <> -const char* EncryptedName<14, 0x11CB35636377DD07ULL>::Text(); -template <> -const char* EncryptedName<10, 0x4755C1355575FD37ULL>::Text(); -template <> -const char* EncryptedName<10, 0x9D8F2D37BFFD61B7ULL>::Text(); -template <> -const char* EncryptedName<10, 0x79DF094DD9616575ULL>::Text(); -template <> -const char* EncryptedName<18, 0x038535BB092533B7ULL>::Text(); -template <> -const char* EncryptedName<10, 0xFB2BC75769E777D3ULL>::Text(); -template <> -const char* EncryptedName<14, 0xB5D7B5AF4FEDFF57ULL>::Text(); -template <> -const char* EncryptedName<10, 0x9B9D51AD3515F779ULL>::Text(); -template <> -const char* EncryptedName<14, 0xB5F3F779237315F3ULL>::Text(); -template <> -const char* EncryptedName<10, 0x67DD5BAB1919D9D1ULL>::Text(); -template <> -const char* EncryptedName<14, 0x91493751EF33B5FDULL>::Text(); -template <> -const char* EncryptedName<10, 0x6BC977B3B5993503ULL>::Text(); -template <> -const char* EncryptedName<10, 0xB7A76BF9CD41F99FULL>::Text(); -template <> -const char* EncryptedName<10, 0x732B390D63FD47D7ULL>::Text(); -template <> -const char* EncryptedName<14, 0x1FDB81175D1557E3ULL>::Text(); -template <> -const char* EncryptedName<10, 0xE3FB23537D2785BFULL>::Text(); -template <> -const char* EncryptedName<14, 0x8BBF792B47E72173ULL>::Text(); -template <> -const char* EncryptedName<10, 0xB3CF9BEB7963DB89ULL>::Text(); -template <> -const char* EncryptedName<14, 0x71A509DB43792991ULL>::Text(); -template <> -const char* EncryptedName<10, 0xDD69EDFFA18F537DULL>::Text(); -template <> -const char* EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>::Text(); -template <> -const char* EncryptedName<10, 0xEB3D4FAB0FC183DBULL>::Text(); -template <> -const char* EncryptedName<18, 0x8F3F2FA959977F9FULL>::Text(); -template <> -const char* EncryptedName<14, 0xE51B29334D353B81ULL>::Text(); -template <> -const char* EncryptedName<14, 0x8B3FA35B5BDDDF89ULL>::Text(); -template <> -const char* EncryptedName<10, 0x7FE563BD3FB7F925ULL>::Text(); -template <> -const char* EncryptedName<14, 0x5D6B3B1DEB2397B1ULL>::Text(); -template <> -const char* EncryptedName<28, 0x7DB1050779034DE7ULL>::Text(); -template <> -const char* EncryptedName<22, 0x01E7898D9D235DDFULL>::Text(); -template <> -const char* EncryptedName<10, 0x0DF5B33D9F21EB79ULL>::Text(); -template <> -const char* EncryptedName<14, 0x9DEFC105A1EB2F71ULL>::Text(); -template <> -const char* EncryptedName<10, 0x6961FF056999A303ULL>::Text(); -template <> -const char* EncryptedName<18, 0xBD3F430159B551FDULL>::Text(); -template <> -const char* EncryptedName<10, 0xC7FB6DF18577D34BULL>::Text(); -template <> -const char* EncryptedName<10, 0x5B832361BDA77197ULL>::Text(); -template <> -const char* EncryptedName<34, 0x2B477F9B5B39B301ULL>::Text(); -template <> -const char* EncryptedName<14, 0x2B8725D7E95325F5ULL>::Text(); -template <> -const char* EncryptedName<10, 0x899D11BB83695B0DULL>::Text(); -template <> -const char* EncryptedName<14, 0xBDADDD87C5A50B6BULL>::Text(); -template <> -const char* EncryptedName<10, 0x7989830DE73B9DBDULL>::Text(); -template <> -const char* EncryptedName<10, 0xA7471985F93F9BDFULL>::Text(); -template <> -const char* EncryptedName<10, 0xF535E561137F138DULL>::Text(); -template <> -const char* EncryptedName<10, 0xD3E5516F89F161D1ULL>::Text(); -template <> -const char* EncryptedName<18, 0x45E3F103CBB5F157ULL>::Text(); -template <> -const char* EncryptedName<14, 0x07112F85A39F4FABULL>::Text(); -template <> -const char* EncryptedName<14, 0x2D33791F67AD47DFULL>::Text(); -template <> -const char* EncryptedName<10, 0x936F3D2FFDFD87F5ULL>::Text(); -template <> -const char* EncryptedName<14, 0x2F2701A7E56D3D89ULL>::Text(); -template <> -const char* EncryptedName<28, 0x6B3301E1A3079125ULL>::Text(); -template <> -const char* EncryptedName<22, 0x71B7691737C5A1AFULL>::Text(); -template <> -const char* EncryptedName<10, 0xC39FB559A17D3963ULL>::Text(); -template <> -const char* EncryptedName<14, 0xFF7D83CB791339D9ULL>::Text(); -template <> -const char* EncryptedName<10, 0xED5143E7C1B39315ULL>::Text(); -template <> -const char* EncryptedName<18, 0x393D916561BDC391ULL>::Text(); -template <> -const char* EncryptedName<10, 0x31956551B311FD95ULL>::Text(); -template <> -const char* EncryptedName<10, 0x8741152D8FB34B4FULL>::Text(); -template <> -const char* EncryptedName<34, 0x955D4DF94DE9BB07ULL>::Text(); -template <> -const char* EncryptedName<14, 0xC399B7091589B50BULL>::Text(); -template <> -const char* EncryptedName<18, 0xB739073FE921AD6FULL>::Text(); -template <> -const char* EncryptedName<18, 0x17FFC98B398FAF61ULL>::Text(); -template <> -const char* EncryptedName<18, 0x9B5B959B954D9333ULL>::Text(); -template <> -const char* EncryptedName<14, 0xAFA5617F178B6185ULL>::Text(); -template <> -const char* EncryptedName<14, 0x078143534999254DULL>::Text(); -template <> -const char* EncryptedName<10, 0x3F5315DFE32B4FAFULL>::Text(); -template <> -const char* EncryptedName<14, 0xE50B2935073DD3E9ULL>::Text(); -template <> -const char* EncryptedName<10, 0x7D750DADBDE9C3F1ULL>::Text(); -template <> -const char* EncryptedName<10, 0x33832D4D3FDFBDBFULL>::Text(); -template <> -const char* EncryptedName<28, 0x1BF915E1F37DFDFDULL>::Text(); -template <> -const char* EncryptedName<28, 0x01FF9313695DD9DFULL>::Text(); -template <> -const char* EncryptedName<28, 0x6DED3DD1CF75AD9BULL>::Text(); -template <> -const char* EncryptedName<28, 0x49C3759B77DBD3C1ULL>::Text(); -template <> -const char* EncryptedName<28, 0xD1538513DF975701ULL>::Text(); -template <> -const char* EncryptedName<28, 0x91E147EBBD47C39FULL>::Text(); -template <> -const char* EncryptedName<28, 0x4F1791FB1503C713ULL>::Text(); -template <> -const char* EncryptedName<28, 0xA1A55B4D1597EDD3ULL>::Text(); -template <> -const char* EncryptedName<28, 0x0753A7E1EFA9E139ULL>::Text(); -template <> -const char* EncryptedName<28, 0x7FC1015DFFCF6D19ULL>::Text(); -template <> -const char* EncryptedName<28, 0xCB3FBD4183DB8323ULL>::Text(); -template <> -const char* EncryptedName<18, 0x7FCD77F9C7CBD14DULL>::Text(); -template <> -const char* EncryptedName<18, 0x5B8F49AF09390D1BULL>::Text(); -template <> -const char* EncryptedName<14, 0x3B915119EFD523EFULL>::Text(); -template <> -const char* EncryptedName<14, 0x474DC581D5E98357ULL>::Text(); -template <> -const char* EncryptedName<14, 0x3F557BE333F95F6DULL>::Text(); -template <> -const char* EncryptedName<14, 0x8B3FEB5B8BD5C3C3ULL>::Text(); -template <> -const char* EncryptedName<18, 0x0BEB63A5C905B3A7ULL>::Text(); -template <> -const char* EncryptedName<18, 0x078333BB9725B7C9ULL>::Text(); -template <> -const char* EncryptedName<18, 0x8F1B5BFD5F6175B5ULL>::Text(); -template <> -const char* EncryptedName<10, 0x69FD1D9733D3CFC1ULL>::Text(); -template <> -const char* EncryptedName<10, 0xF5657D1F3DE5CDC7ULL>::Text(); -template <> -const char* EncryptedName<22, 0x8B65CD61012B5931ULL>::Text(); -template <> -const char* EncryptedName<22, 0xF7530137154D8FE5ULL>::Text(); -template <> -const char* EncryptedName<22, 0x61FF87ED7BF39BE1ULL>::Text(); -template <> -const char* EncryptedName<14, 0x7D993F650D2785FFULL>::Text(); -template <> -const char* EncryptedName<14, 0x2D394DBD0F332733ULL>::Text(); -template <> -const char* EncryptedName<22, 0x151F77EBEBBB2147ULL>::Text(); -template <> -const char* EncryptedName<22, 0xC7912587FFF31B71ULL>::Text(); -template <> -const char* EncryptedName<34, 0x69D345DB950F336DULL>::Text(); -template <> -const char* EncryptedName<34, 0x9B17C9EFDBB39F2FULL>::Text(); -template <> -const char* EncryptedName<34, 0x2D3B15774149D5DDULL>::Text(); -template <> -const char* EncryptedName<10, 0xD98F03A52D35636DULL>::Text(); -template <> -const char* EncryptedName<10, 0x0F0F8B6B8F9D19D1ULL>::Text(); -template <> -const char* EncryptedName<14, 0xD3755DD95F47A909ULL>::Text(); -template <> -const char* EncryptedName<14, 0x31D7C1EDA345E36DULL>::Text(); -template <> -const char* EncryptedName<10, 0x3FAF85D995034FD7ULL>::Text(); -template <> -const char* EncryptedName<10, 0x490FFB43A12F0DB9ULL>::Text(); -template <> -const char* EncryptedName<18, 0x91651D81F559F971ULL>::Text(); -template <> -const char* EncryptedName<18, 0x73D1674B61DF7B0BULL>::Text(); -template <> -const char* EncryptedName<10, 0x2FF3C5036D070127ULL>::Text(); -template <> -const char* EncryptedName<10, 0x17359BF953C367B3ULL>::Text(); -template <> -const char* EncryptedName<10, 0xC52FB5FBB94FF917ULL>::Text(); -template <> -const char* EncryptedName<10, 0x93E7A3A1F587CDC5ULL>::Text(); -template <> -const char* EncryptedName<10, 0x59278F63D79F3DA1ULL>::Text(); -template <> -const char* EncryptedName<14, 0x812BE72BCD5707B7ULL>::Text(); -template <> -const char* EncryptedName<10, 0x3375B1C7DBB5FD55ULL>::Text(); -template <> -const char* EncryptedName<18, 0x1D6D75EDE7CD311FULL>::Text(); -template <> -const char* EncryptedName<14, 0xCBD1F3239BBBEDF7ULL>::Text(); -template <> -const char* EncryptedName<14, 0x7DBBD74FA36F3BCBULL>::Text(); -template <> -const char* EncryptedName<22, 0x4917EB6D71B701ABULL>::Text(); -template <> -const char* EncryptedName<14, 0xFD4F85BBA7E37D4FULL>::Text(); -template <> -const char* EncryptedName<10, 0x51C57BB9F1DD9B0FULL>::Text(); -template <> -const char* EncryptedName<10, 0xC733B7A333F9F571ULL>::Text(); -template <> -const char* EncryptedName<10, 0x7D61612937C1592DULL>::Text(); -template <> -const char* EncryptedName<18, 0x8F4B518D839D1581ULL>::Text(); -template <> -const char* EncryptedName<10, 0xCBD7DDAFDF87F549ULL>::Text(); -template <> -const char* EncryptedName<14, 0x39E7F13755252F8FULL>::Text(); -template <> -const char* EncryptedName<14, 0x3D075BD5256F9B6FULL>::Text(); -template <> -const char* EncryptedName<14, 0xEB074B7FBDA3BFD5ULL>::Text(); -template <> -const char* EncryptedName<14, 0x03014749B127914FULL>::Text(); -template <> -const char* EncryptedName<18, 0x251761D7370BA5C3ULL>::Text(); -template <> -const char* EncryptedName<14, 0x2B034DCBB1812785ULL>::Text(); -template <> -const char* EncryptedName<14, 0x85FB93CF2F494179ULL>::Text(); -template <> -const char* EncryptedName<14, 0x894FEDABAFCF45E3ULL>::Text(); -template <> -const char* EncryptedName<14, 0x8B03E17DA967E943ULL>::Text(); -template <> -const char* EncryptedName<10, 0x190B8705C141D1CFULL>::Text(); -template <> -const char* EncryptedName<10, 0xC98BB32777F94371ULL>::Text(); -template <> -const char* EncryptedName<10, 0xA5F51F3989DBB99FULL>::Text(); -template <> -const char* EncryptedName<10, 0xB3D5C99B2B05FFEFULL>::Text(); -template <> -const char* EncryptedName<10, 0xC71BB3CDEB499DD1ULL>::Text(); -template <> -const char* EncryptedName<22, 0x3939079FF3395587ULL>::Text(); -template <> -const char* EncryptedName<22, 0xCF391B0F8B9D95DBULL>::Text(); -template <> -const char* EncryptedName<10, 0x6967633B9D89092BULL>::Text(); -template <> -const char* EncryptedName<10, 0xAFCD4F69FBDFE157ULL>::Text(); -template <> -const char* EncryptedName<22, 0x85D9CFCF0FBB71ABULL>::Text(); -template <> -const char* EncryptedName<22, 0x795383DD11AF7DA7ULL>::Text(); -template <> -const char* EncryptedName<22, 0xD9FF511B2BB921E7ULL>::Text(); -template <> -const char* EncryptedName<16, 0x978B51F50DC5FD25ULL>::Text(); -template <> -const char* EncryptedName<12, 0xC757D96143298511ULL>::Text(); -template <> -const char* EncryptedName<16, 0xE1F181F923B759E7ULL>::Text(); -template <> -const char* EncryptedName<12, 0x37D76D8F495113C3ULL>::Text(); -template <> -const char* EncryptedName<20, 0x7BAD7791F50F5D8DULL>::Text(); -template <> -const char* EncryptedName<18, 0x2F1337956DC3CFD5ULL>::Text(); -template <> -const char* EncryptedName<23, 0xC91F9D493F75FDA3ULL>::Text(); -template <> -const char* EncryptedName<18, 0x1F01A13D8D915327ULL>::Text(); -template <> -const char* EncryptedName<23, 0xF33D3D3B0BD9C53DULL>::Text(); -template <> -const char* EncryptedName<10, 0xC74BB3BB110FB10FULL>::Text(); -template <> -const char* EncryptedName<10, 0x0B5F6D6B23D5AFA7ULL>::Text(); -template <> -const char* EncryptedName<16, 0x2B7BAB0B6971E3E9ULL>::Text(); -template <> -const char* EncryptedName<12, 0x8773593DB181D573ULL>::Text(); -template <> -const char* EncryptedName<16, 0xFBDBDB13A77191BFULL>::Text(); -template <> -const char* EncryptedName<12, 0x19BBC5910555FB97ULL>::Text(); -template <> -const char* EncryptedName<18, 0xBBD983C7FD611FE3ULL>::Text(); -template <> -const char* EncryptedName<18, 0xA1ED494BF319772DULL>::Text(); -template <> -const char* EncryptedName<18, 0x798B394FF5FF434DULL>::Text(); -template <> -const char* EncryptedName<18, 0x410DD52D6731BFFDULL>::Text(); -template <> -const char* EncryptedName<18, 0x07B733370F612D0FULL>::Text(); -template <> -const char* EncryptedName<14, 0x113DC179F1C795C9ULL>::Text(); -template <> -const char* EncryptedName<14, 0x31F5C32DD5C53779ULL>::Text(); -template <> -const char* EncryptedName<10, 0x2F9B717365C1250FULL>::Text(); -template <> -const char* EncryptedName<10, 0x4FE54379493FB5D5ULL>::Text(); -template <> -const char* EncryptedName<20, 0x656FAB972B3D21BBULL>::Text(); -template <> -const char* EncryptedName<20, 0x33CD2BDD5B3927EDULL>::Text(); -template <> -const char* EncryptedName<18, 0xD97BB73901ED99BFULL>::Text(); -template <> -const char* EncryptedName<14, 0x5D6B8FCBE3FB97A1ULL>::Text(); -template <> -const char* EncryptedName<18, 0xE5FDE3151BED831FULL>::Text(); -template <> -const char* EncryptedName<14, 0x8971CB79C18D8B27ULL>::Text(); -template <> -const char* EncryptedName<18, 0x8DC5D10DAB1585BDULL>::Text(); -template <> -const char* EncryptedName<18, 0x21156F4141E35DD9ULL>::Text(); -template <> -const char* EncryptedName<18, 0x51EB99CBCB075F35ULL>::Text(); -template <> -const char* EncryptedName<14, 0x1B3B756FE399E1D9ULL>::Text(); -template <> -const char* EncryptedName<18, 0x3B6D9BFD27A7C7F7ULL>::Text(); -template <> -const char* EncryptedName<14, 0x451FD72783630709ULL>::Text(); -template <> -const char* EncryptedName<14, 0x73C32959FDFFA51BULL>::Text(); -template <> -const char* EncryptedName<14, 0xA15B555BE9CD2B81ULL>::Text(); -template <> -const char* EncryptedName<14, 0xD9115915B1919533ULL>::Text(); -template <> -const char* EncryptedName<14, 0xB3F1A10745C1F105ULL>::Text(); -template <> -const char* EncryptedName<18, 0x99157F159BB99BD9ULL>::Text(); -template <> -const char* EncryptedName<23, 0x7959FFBF652D07BFULL>::Text(); -template <> -const char* EncryptedName<25, 0x01C9FBA7819FFBD7ULL>::Text(); -template <> -const char* EncryptedName<22, 0xABED6971354375C3ULL>::Text(); -template <> -const char* EncryptedName<29, 0x6BA557130BDFE997ULL>::Text(); -template <> -const char* EncryptedName<18, 0xFBAD074BDB2B77A1ULL>::Text(); -template <> -const char* EncryptedName<25, 0x6D05D5271B5D65C3ULL>::Text(); -template <> -const char* EncryptedName<18, 0x050DF16FC75B25B9ULL>::Text(); -template <> -const char* EncryptedName<25, 0x0789EBC9F5C1C59FULL>::Text(); -template <> -const char* EncryptedName<22, 0x3D8387EF97A37DCFULL>::Text(); -template <> -const char* EncryptedName<29, 0x07A7D947CF7323BFULL>::Text(); -template <> -const char* EncryptedName<12, 0xD97DC927AFE911F1ULL>::Text(); -template <> -const char* EncryptedName<26, 0x8BA52B970DD531ADULL>::Text(); -template <> -const char* EncryptedName<16, 0x47B7BF55EB471557ULL>::Text(); -template <> -const char* EncryptedName<30, 0xCFB9671DEF4BD9E7ULL>::Text(); -template <> -const char* EncryptedName<35, 0x2F2103792383718BULL>::Text(); -template <> -const char* EncryptedName<28, 0x999F5191852D2F6BULL>::Text(); -template <> -const char* EncryptedName<42, 0x4349ADE96FEB27E5ULL>::Text(); -template <> -const char* EncryptedName<44, 0xA55B7BEF3D7377E3ULL>::Text(); -template <> -const char* EncryptedName<30, 0x31E3CF9D358D8705ULL>::Text(); -template <> -const char* EncryptedName<44, 0x79A58B0F2173CF49ULL>::Text(); -template <> -const char* EncryptedName<46, 0xF5496753BDE7C5BDULL>::Text(); -template <> -const char* EncryptedName<26, 0x795787B7779D19DBULL>::Text(); -template <> -const char* EncryptedName<33, 0x6B3917C939150B9BULL>::Text(); -template <> -const char* EncryptedName<26, 0x29AB0B59651BDFD5ULL>::Text(); -template <> -const char* EncryptedName<33, 0xF9B1EF9F7961EFF5ULL>::Text(); -template <> -const char* EncryptedName<24, 0xA1DFCDAD555BB16DULL>::Text(); -template <> -const char* EncryptedName<25, 0xAFF9332FD397533FULL>::Text(); -template <> -const char* EncryptedName<31, 0x194F8339AF753FADULL>::Text(); -template <> -const char* EncryptedName<26, 0x7DC10333F96DE3E7ULL>::Text(); -template <> -const char* EncryptedName<33, 0xE9FBAB53D5A1BB17ULL>::Text(); -template <> -const char* EncryptedName<18, 0x51372B6F4BA14B23ULL>::Text(); -template <> -const char* EncryptedName<25, 0xB70319D3A78D39CDULL>::Text(); -template <> -const char* EncryptedName<18, 0x1F79132B518FD389ULL>::Text(); -template <> -const char* EncryptedName<25, 0xC1FD95811D1F4FA1ULL>::Text(); -template <> -const char* EncryptedName<24, 0x35F59F6F3DD1C965ULL>::Text(); -template <> -const char* EncryptedName<31, 0xD7BBEB2DDB295D11ULL>::Text(); -template <> -const char* EncryptedName<26, 0xBF0F412941076FADULL>::Text(); -template <> -const char* EncryptedName<33, 0x8DFF0B4B67D9FDE1ULL>::Text(); -template <> -const char* EncryptedName<30, 0xB59BADC5B365617DULL>::Text(); -template <> -const char* EncryptedName<37, 0x77D925073D6F19B9ULL>::Text(); -template <> -const char* EncryptedName<12, 0x91E7A7DFA58F9B6BULL>::Text(); -template <> -const char* EncryptedName<12, 0x2529F16B0375530DULL>::Text(); -template <> -const char* EncryptedName<14, 0x91DF1F5D3B014D45ULL>::Text(); -template <> -const char* EncryptedName<14, 0x0D7FA94DD32361A9ULL>::Text(); -template <> -const char* EncryptedName<14, 0x2F371DDDADDD53CFULL>::Text(); -template <> -const char* EncryptedName<9, 0xA5C5D1A3B9457B53ULL>::Text(); -template <> -const char* EncryptedName<11, 0x61F59D5D41E76519ULL>::Text(); -template <> -const char* EncryptedName<13, 0x4B670715D543C1C3ULL>::Text(); -template <> -const char* EncryptedName<14, 0x7155E5EF0DFB0D03ULL>::Text(); -template <> -const char* EncryptedName<14, 0x4B1D078937DB892BULL>::Text(); -template <> -const char* EncryptedName<14, 0x875FCDF1E7A1795FULL>::Text(); -template <> -const char* EncryptedName<14, 0x5FFD7FABB5D1EF57ULL>::Text(); - -EncryptedName<14, 0x072D2D872D259D5BULL>& WizardBodyPath1(); -EncryptedName<18, 0x9BE3EF737387AD79ULL>& PriestBodyPath1(); -EncryptedName<14, 0xB96B77B7255F8569ULL>& AssassinBodyPath1(); -EncryptedName<14, 0x11CB35636377DD07ULL>& SageBodyPath1(); -EncryptedName<10, 0x4755C1355575FD37ULL>& BardBodyPath1(); -EncryptedName<10, 0x9D8F2D37BFFD61B7ULL>& DancerBodyPath1(); -EncryptedName<10, 0x79DF094DD9616575ULL>& MonkBodyPath1(); -EncryptedName<18, 0x038535BB092533B7ULL>& AlchemistBodyPath1(); -EncryptedName<10, 0xFB2BC75769E777D3ULL>& RogueBodyPath1(); -EncryptedName<14, 0xB5D7B5AF4FEDFF57ULL>& NoviceBodyPath1(); -EncryptedName<10, 0x9B9D51AD3515F779ULL>& SwordmanBodyPath1(); -EncryptedName<14, 0xB5F3F779237315F3ULL>& MagicianBodyPath1(); -EncryptedName<10, 0x67DD5BAB1919D9D1ULL>& ArcherBodyPath1(); -EncryptedName<14, 0x91493751EF33B5FDULL>& AcolyteBodyPath1(); -EncryptedName<10, 0x6BC977B3B5993503ULL>& MerchantBodyPath1(); -EncryptedName<10, 0xB7A76BF9CD41F99FULL>& ThiefBodyPath1(); -EncryptedName<10, 0x732B390D63FD47D7ULL>& ThiefBodyPath2(); -EncryptedName<14, 0x1FDB81175D1557E3ULL>& NoviceBodyPath2(); -EncryptedName<10, 0xE3FB23537D2785BFULL>& SwordmanBodyPath2(); -EncryptedName<14, 0x8BBF792B47E72173ULL>& MagicianBodyPath2(); -EncryptedName<10, 0xB3CF9BEB7963DB89ULL>& ArcherBodyPath2(); -EncryptedName<14, 0x71A509DB43792991ULL>& AcolyteBodyPath2(); -EncryptedName<10, 0xDD69EDFFA18F537DULL>& MerchantBodyPath2(); -EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>& ThiefBodyPath3(); -EncryptedName<10, 0xEB3D4FAB0FC183DBULL>& KnightBodyPath1(); -EncryptedName<18, 0x8F3F2FA959977F9FULL>& PriestBodyPath2(); -EncryptedName<14, 0xE51B29334D353B81ULL>& WizardBodyPath2(); -EncryptedName<14, 0x8B3FA35B5BDDDF89ULL>& BlacksmithBodyPath1(); -EncryptedName<10, 0x7FE563BD3FB7F925ULL>& HunterBodyPath1(); -EncryptedName<14, 0x5D6B3B1DEB2397B1ULL>& AssassinBodyPath2(); -EncryptedName<28, 0x7DB1050779034DE7ULL>& PecoKnightBodyPath1(); -EncryptedName<22, 0x01E7898D9D235DDFULL>& CrusaderBodyPath1(); -EncryptedName<10, 0x0DF5B33D9F21EB79ULL>& MonkBodyPath2(); -EncryptedName<14, 0x9DEFC105A1EB2F71ULL>& SageBodyPath2(); -EncryptedName<10, 0x6961FF056999A303ULL>& RogueBodyPath2(); -EncryptedName<18, 0xBD3F430159B551FDULL>& AlchemistBodyPath2(); -EncryptedName<10, 0xC7FB6DF18577D34BULL>& BardBodyPath2(); -EncryptedName<10, 0x5B832361BDA77197ULL>& DancerBodyPath2(); -EncryptedName<34, 0x2B477F9B5B39B301ULL>& NewPecoCrusaderBodyPath1(); -EncryptedName<14, 0x2B8725D7E95325F5ULL>& NoviceBodyPath3(); -EncryptedName<10, 0x899D11BB83695B0DULL>& SwordmanBodyPath3(); -EncryptedName<14, 0xBDADDD87C5A50B6BULL>& MagicianBodyPath3(); -EncryptedName<10, 0x7989830DE73B9DBDULL>& ArcherBodyPath3(); -EncryptedName<10, 0xA7471985F93F9BDFULL>& MerchantBodyPath3(); -EncryptedName<10, 0xF535E561137F138DULL>& ThiefBodyPath4(); -EncryptedName<10, 0xD3E5516F89F161D1ULL>& KnightBodyPath2(); -EncryptedName<18, 0x45E3F103CBB5F157ULL>& PriestBodyPath3(); -EncryptedName<14, 0x07112F85A39F4FABULL>& WizardBodyPath3(); -EncryptedName<14, 0x2D33791F67AD47DFULL>& BlacksmithBodyPath2(); -EncryptedName<10, 0x936F3D2FFDFD87F5ULL>& HunterBodyPath2(); -EncryptedName<14, 0x2F2701A7E56D3D89ULL>& AssassinBodyPath3(); -EncryptedName<28, 0x6B3301E1A3079125ULL>& PecoKnightBodyPath2(); -EncryptedName<22, 0x71B7691737C5A1AFULL>& CrusaderBodyPath2(); -EncryptedName<10, 0xC39FB559A17D3963ULL>& MonkBodyPath3(); -EncryptedName<14, 0xFF7D83CB791339D9ULL>& SageBodyPath3(); -EncryptedName<10, 0xED5143E7C1B39315ULL>& RogueBodyPath3(); -EncryptedName<18, 0x393D916561BDC391ULL>& AlchemistBodyPath3(); -EncryptedName<10, 0x31956551B311FD95ULL>& BardBodyPath3(); -EncryptedName<10, 0x8741152D8FB34B4FULL>& DancerBodyPath3(); -EncryptedName<34, 0x955D4DF94DE9BB07ULL>& OldPecoCrusaderBodyPath1(); -EncryptedName<14, 0xC399B7091589B50BULL>& NoviceBodyPath4(); -EncryptedName<18, 0xB739073FE921AD6FULL>& TaekwonBodyPath1(); -EncryptedName<18, 0x17FFC98B398FAF61ULL>& TaekwonBodyPath2(); -EncryptedName<18, 0x9B5B959B954D9333ULL>& TaekwonBodyPath3(); -EncryptedName<14, 0xAFA5617F178B6185ULL>& WizardBodyPath4(); -EncryptedName<14, 0x078143534999254DULL>& AcolyteBodyPath3(); -EncryptedName<10, 0x3F5315DFE32B4FAFULL>& KnightBodyPath3(); -EncryptedName<14, 0xE50B2935073DD3E9ULL>& SageBodyPath4(); -EncryptedName<10, 0x7D750DADBDE9C3F1ULL>& KnightBodyPath4(); -EncryptedName<10, 0x33832D4D3FDFBDBFULL>& KnightBodyPath5(); -EncryptedName<28, 0x1BF915E1F37DFDFDULL>& PecoKnightBodyPath3(); -EncryptedName<28, 0x01FF9313695DD9DFULL>& PecoKnightBodyPath4(); -EncryptedName<28, 0x6DED3DD1CF75AD9BULL>& PecoKnightBodyPath5(); -EncryptedName<28, 0x49C3759B77DBD3C1ULL>& PecoKnightBodyPath6(); -EncryptedName<28, 0xD1538513DF975701ULL>& PecoKnightBodyPath7(); -EncryptedName<28, 0x91E147EBBD47C39FULL>& PecoKnightBodyPath8(); -EncryptedName<28, 0x4F1791FB1503C713ULL>& PecoKnightBodyPath9(); -EncryptedName<28, 0xA1A55B4D1597EDD3ULL>& PecoKnightBodyPath10(); -EncryptedName<28, 0x0753A7E1EFA9E139ULL>& PecoKnightBodyPath11(); -EncryptedName<28, 0x7FC1015DFFCF6D19ULL>& PecoKnightBodyPath12(); -EncryptedName<28, 0xCB3FBD4183DB8323ULL>& PecoKnightBodyPath13(); -EncryptedName<18, 0x7FCD77F9C7CBD14DULL>& PriestBodyPath4(); -EncryptedName<18, 0x5B8F49AF09390D1BULL>& PriestBodyPath5(); -EncryptedName<14, 0x3B915119EFD523EFULL>& WizardBodyPath5(); -EncryptedName<14, 0x474DC581D5E98357ULL>& WizardBodyPath6(); -EncryptedName<14, 0x3F557BE333F95F6DULL>& BlacksmithBodyPath3(); -EncryptedName<14, 0x8B3FEB5B8BD5C3C3ULL>& BlacksmithBodyPath4(); -EncryptedName<18, 0x0BEB63A5C905B3A7ULL>& MadogearBodyPath1(); -EncryptedName<18, 0x078333BB9725B7C9ULL>& MadogearBodyPath2(); -EncryptedName<18, 0x8F1B5BFD5F6175B5ULL>& MadogearBodyPath3(); -EncryptedName<10, 0x69FD1D9733D3CFC1ULL>& HunterBodyPath3(); -EncryptedName<10, 0xF5657D1F3DE5CDC7ULL>& HunterBodyPath4(); -EncryptedName<22, 0x8B65CD61012B5931ULL>& RangerWolfBodyPath1(); -EncryptedName<22, 0xF7530137154D8FE5ULL>& RangerWolfBodyPath2(); -EncryptedName<22, 0x61FF87ED7BF39BE1ULL>& RangerWolfBodyPath3(); -EncryptedName<14, 0x7D993F650D2785FFULL>& AssassinBodyPath4(); -EncryptedName<14, 0x2D394DBD0F332733ULL>& AssassinBodyPath5(); -EncryptedName<22, 0x151F77EBEBBB2147ULL>& CrusaderBodyPath3(); -EncryptedName<22, 0xC7912587FFF31B71ULL>& CrusaderBodyPath4(); -EncryptedName<34, 0x69D345DB950F336DULL>& NewPecoCrusaderBodyPath2(); -EncryptedName<34, 0x9B17C9EFDBB39F2FULL>& NewPecoCrusaderBodyPath3(); -EncryptedName<34, 0x2D3B15774149D5DDULL>& NewPecoCrusaderBodyPath4(); -EncryptedName<10, 0xD98F03A52D35636DULL>& MonkBodyPath4(); -EncryptedName<10, 0x0F0F8B6B8F9D19D1ULL>& MonkBodyPath5(); -EncryptedName<14, 0xD3755DD95F47A909ULL>& SageBodyPath5(); -EncryptedName<14, 0x31D7C1EDA345E36DULL>& SageBodyPath6(); -EncryptedName<10, 0x3FAF85D995034FD7ULL>& RogueBodyPath4(); -EncryptedName<10, 0x490FFB43A12F0DB9ULL>& RogueBodyPath5(); -EncryptedName<18, 0x91651D81F559F971ULL>& AlchemistBodyPath4(); -EncryptedName<18, 0x73D1674B61DF7B0BULL>& AlchemistBodyPath5(); -EncryptedName<10, 0x2FF3C5036D070127ULL>& DancerBodyPath4(); -EncryptedName<10, 0x17359BF953C367B3ULL>& DancerBodyPath5(); -EncryptedName<10, 0xC52FB5FBB94FF917ULL>& BardBodyPath4(); -EncryptedName<10, 0x93E7A3A1F587CDC5ULL>& BardBodyPath5(); -EncryptedName<10, 0x59278F63D79F3DA1ULL>& KnightBodyPath6(); -EncryptedName<14, 0x812BE72BCD5707B7ULL>& WizardBodyPath7(); -EncryptedName<10, 0x3375B1C7DBB5FD55ULL>& HunterBodyPath5(); -EncryptedName<18, 0x1D6D75EDE7CD311FULL>& PriestBodyPath6(); -EncryptedName<14, 0xCBD1F3239BBBEDF7ULL>& BlacksmithBodyPath5(); -EncryptedName<14, 0x7DBBD74FA36F3BCBULL>& AssassinBodyPath6(); -EncryptedName<22, 0x4917EB6D71B701ABULL>& CrusaderBodyPath5(); -EncryptedName<14, 0xFD4F85BBA7E37D4FULL>& SageBodyPath7(); -EncryptedName<10, 0x51C57BB9F1DD9B0FULL>& BardBodyPath6(); -EncryptedName<10, 0xC733B7A333F9F571ULL>& DancerBodyPath6(); -EncryptedName<10, 0x7D61612937C1592DULL>& MonkBodyPath6(); -EncryptedName<18, 0x8F4B518D839D1581ULL>& AlchemistBodyPath6(); -EncryptedName<10, 0xCBD7DDAFDF87F549ULL>& RogueBodyPath6(); -EncryptedName<14, 0x39E7F13755252F8FULL>& NoviceBodyPath5(); -EncryptedName<14, 0x3D075BD5256F9B6FULL>& NoviceBodyPath6(); -EncryptedName<14, 0xEB074B7FBDA3BFD5ULL>& NoviceBodyPath7(); -EncryptedName<14, 0x03014749B127914FULL>& NoviceBodyPath8(); -EncryptedName<18, 0x251761D7370BA5C3ULL>& PriestBodyPath7(); -EncryptedName<14, 0x2B034DCBB1812785ULL>& WizardBodyPath8(); -EncryptedName<14, 0x85FB93CF2F494179ULL>& BlacksmithBodyPath6(); -EncryptedName<14, 0x894FEDABAFCF45E3ULL>& BlacksmithBodyPath7(); -EncryptedName<14, 0x8B03E17DA967E943ULL>& BlacksmithBodyPath8(); -EncryptedName<10, 0x190B8705C141D1CFULL>& HunterBodyPath6(); -EncryptedName<10, 0xC98BB32777F94371ULL>& HunterBodyPath7(); -EncryptedName<10, 0xA5F51F3989DBB99FULL>& KnightBodyPath7(); -EncryptedName<10, 0xB3D5C99B2B05FFEFULL>& KnightBodyPath8(); -EncryptedName<10, 0xC71BB3CDEB499DD1ULL>& KnightBodyPath9(); -EncryptedName<22, 0x3939079FF3395587ULL>& CrusaderBodyPath6(); -EncryptedName<22, 0xCF391B0F8B9D95DBULL>& CrusaderBodyPath7(); -EncryptedName<10, 0x6967633B9D89092BULL>& KnightBodyPath10(); -EncryptedName<10, 0xAFCD4F69FBDFE157ULL>& KnightBodyPath11(); -EncryptedName<22, 0x85D9CFCF0FBB71ABULL>& CrusaderBodyPath8(); -EncryptedName<22, 0x795383DD11AF7DA7ULL>& CrusaderBodyPath9(); -EncryptedName<22, 0xD9FF511B2BB921E7ULL>& CrusaderBodyPath10(); -EncryptedName<16, 0x978B51F50DC5FD25ULL>& KagerouBodyPath1(); -EncryptedName<12, 0xC757D96143298511ULL>& OboroBodyPath1(); -EncryptedName<16, 0xE1F181F923B759E7ULL>& KagerouBodyPath2(); -EncryptedName<12, 0x37D76D8F495113C3ULL>& OboroBodyPath2(); -EncryptedName<20, 0x7BAD7791F50F5D8DULL>& RebellionBodyPath1(); -EncryptedName<18, 0x2F1337956DC3CFD5ULL>& SummonerBodyPath1(); -EncryptedName<23, 0xC91F9D493F75FDA3ULL>& SummonerCartBodyPath1(); -EncryptedName<18, 0x1F01A13D8D915327ULL>& SummonerBodyPath2(); -EncryptedName<23, 0xF33D3D3B0BD9C53DULL>& SummonerCartBodyPath2(); -EncryptedName<10, 0xC74BB3BB110FB10FULL>& NinjaBodyPath1(); -EncryptedName<10, 0x0B5F6D6B23D5AFA7ULL>& NinjaBodyPath2(); -EncryptedName<16, 0x2B7BAB0B6971E3E9ULL>& KagerouBodyPath3(); -EncryptedName<12, 0x8773593DB181D573ULL>& OboroBodyPath3(); -EncryptedName<16, 0xFBDBDB13A77191BFULL>& KagerouBodyPath4(); -EncryptedName<12, 0x19BBC5910555FB97ULL>& OboroBodyPath4(); -EncryptedName<18, 0xBBD983C7FD611FE3ULL>& TaekwonBodyPath4(); -EncryptedName<18, 0xA1ED494BF319772DULL>& TaekwonBodyPath5(); -EncryptedName<18, 0x798B394FF5FF434DULL>& TaekwonBodyPath6(); -EncryptedName<18, 0x410DD52D6731BFFDULL>& TaekwonBodyPath7(); -EncryptedName<18, 0x07B733370F612D0FULL>& TaekwonBodyPath8(); -EncryptedName<14, 0x113DC179F1C795C9ULL>& WizardBodyPath9(); -EncryptedName<14, 0x31F5C32DD5C53779ULL>& WizardBodyPath10(); -EncryptedName<10, 0x2F9B717365C1250FULL>& GunslingerBodyPath1(); -EncryptedName<10, 0x4FE54379493FB5D5ULL>& GunslingerBodyPath2(); -EncryptedName<20, 0x656FAB972B3D21BBULL>& RebellionBodyPath2(); -EncryptedName<20, 0x33CD2BDD5B3927EDULL>& RebellionBodyPath3(); -EncryptedName<18, 0xD97BB73901ED99BFULL>& TaekwonBodyPath9(); -EncryptedName<14, 0x5D6B8FCBE3FB97A1ULL>& WizardBodyPath11(); -EncryptedName<18, 0xE5FDE3151BED831FULL>& TaekwonBodyPath10(); -EncryptedName<14, 0x8971CB79C18D8B27ULL>& WizardBodyPath12(); -EncryptedName<18, 0x8DC5D10DAB1585BDULL>& TaekwonBodyPath11(); -EncryptedName<18, 0x21156F4141E35DD9ULL>& TaekwonBodyPath12(); -EncryptedName<18, 0x51EB99CBCB075F35ULL>& TaekwonBodyPath13(); -EncryptedName<14, 0x1B3B756FE399E1D9ULL>& WizardBodyPath13(); -EncryptedName<18, 0x3B6D9BFD27A7C7F7ULL>& TaekwonBodyPath14(); -EncryptedName<14, 0x451FD72783630709ULL>& WizardBodyPath14(); -EncryptedName<14, 0x73C32959FDFFA51BULL>& WizardBodyPath15(); -EncryptedName<14, 0xA15B555BE9CD2B81ULL>& WizardBodyPath16(); -EncryptedName<14, 0xD9115915B1919533ULL>& SageBodyPath8(); -EncryptedName<14, 0xB3F1A10745C1F105ULL>& SageBodyPath9(); -EncryptedName<18, 0x99157F159BB99BD9ULL>& WindhawkBodyPath1(); -EncryptedName<23, 0x7959FFBF652D07BFULL>& WolfWindhawkBodyPath1(); -EncryptedName<25, 0x01C9FBA7819FFBD7ULL>& WindhawkRidingBodyPath1(); -EncryptedName<22, 0xABED6971354375C3ULL>& TroubadourBodyPath1(); -EncryptedName<29, 0x6BA557130BDFE997ULL>& TroubadourRidingBodyPath1(); -EncryptedName<18, 0xFBAD074BDB2B77A1ULL>& TrouvereBodyPath1(); -EncryptedName<25, 0x6D05D5271B5D65C3ULL>& TrouvereRidingBodyPath1(); -EncryptedName<18, 0x050DF16FC75B25B9ULL>& CardinalBodyPath1(); -EncryptedName<25, 0x0789EBC9F5C1C59FULL>& CardinalRidingBodyPath1(); -EncryptedName<22, 0x3D8387EF97A37DCFULL>& InquisitorBodyPath1(); -EncryptedName<29, 0x07A7D947CF7323BFULL>& InquisitorRidingBodyPath1(); -EncryptedName<12, 0xD97DC927AFE911F1ULL>& BioloBodyPath1(); -EncryptedName<26, 0x8BA52B970DD531ADULL>& BioloRidingBodyPath1(); -EncryptedName<16, 0x47B7BF55EB471557ULL>& MeisterBodyPath1(); -EncryptedName<30, 0xCFB9671DEF4BD9E7ULL>& MeisterRidingBodyPath1(); -EncryptedName<35, 0x2F2103792383718BULL>& MeisterMadogear1BodyPath1(); -EncryptedName<28, 0x999F5191852D2F6BULL>& DragonKnightBodyPath1(); -EncryptedName<42, 0x4349ADE96FEB27E5ULL>& DragonKnightRidingBodyPath1(); -EncryptedName<44, 0xA55B7BEF3D7377E3ULL>& DragonKnightChickenBodyPath1(); -EncryptedName<30, 0x31E3CF9D358D8705ULL>& ImperialGuardBodyPath1(); -EncryptedName<44, 0x79A58B0F2173CF49ULL>& ImperialGuardRidingBodyPath1(); -EncryptedName<46, 0xF5496753BDE7C5BDULL>& ImperialGuardChickenBodyPath1(); -EncryptedName<26, 0x795787B7779D19DBULL>& ShadowCrossBodyPath1(); -EncryptedName<33, 0x6B3917C939150B9BULL>& ShadowCrossRidingBodyPath1(); -EncryptedName<26, 0x29AB0B59651BDFD5ULL>& AbyssChaserBodyPath1(); -EncryptedName<33, 0xF9B1EF9F7961EFF5ULL>& AbyssChaserRidingBodyPath1(); -EncryptedName<24, 0xA1DFCDAD555BB16DULL>& SkyEmperorBodyPath1(); -EncryptedName<25, 0xAFF9332FD397533FULL>& SkyEmperor2BodyPath1(); -EncryptedName<31, 0x194F8339AF753FADULL>& SkyEmperorRidingBodyPath1(); -EncryptedName<26, 0x7DC10333F96DE3E7ULL>& SoulAsceticBodyPath1(); -EncryptedName<33, 0xE9FBAB53D5A1BB17ULL>& SoulAsceticRidingBodyPath1(); -EncryptedName<18, 0x51372B6F4BA14B23ULL>& ShinkiroBodyPath1(); -EncryptedName<25, 0xB70319D3A78D39CDULL>& ShinkiroRidingBodyPath1(); -EncryptedName<18, 0x1F79132B518FD389ULL>& ShiranuiBodyPath1(); -EncryptedName<25, 0xC1FD95811D1F4FA1ULL>& ShiranuiRidingBodyPath1(); -EncryptedName<24, 0x35F59F6F3DD1C965ULL>& NightWatchBodyPath1(); -EncryptedName<31, 0xD7BBEB2DDB295D11ULL>& NightWatchRidingBodyPath1(); -EncryptedName<26, 0xBF0F412941076FADULL>& HyperNoviceBodyPath1(); -EncryptedName<33, 0x8DFF0B4B67D9FDE1ULL>& HyperNoviceRidingBodyPath1(); -EncryptedName<30, 0xB59BADC5B365617DULL>& SpiritHandlerBodyPath1(); -EncryptedName<37, 0x77D925073D6F19B9ULL>& SpiritHandlerRidingBodyPath1(); -EncryptedName<12, 0x91E7A7DFA58F9B6BULL>& DruidBodyPath1(); -EncryptedName<12, 0x2529F16B0375530DULL>& DruidBodyPath2(); -EncryptedName<14, 0x91DF1F5D3B014D45ULL>& KarnosBodyPath1(); -EncryptedName<14, 0x0D7FA94DD32361A9ULL>& KarnosBodyPath2(); -EncryptedName<14, 0x2F371DDDADDD53CFULL>& AliteaBodyPath1(); -EncryptedName<6, 0x2F3D75DFCF678FF3ULL>& DruidJobName1(); -EncryptedName<6, 0x3BBB5F0F8F216F31ULL>& DruidJobName2(); -EncryptedName<7, 0x6F9D21B96D71C1FFULL>& KarnosJobName1(); -EncryptedName<7, 0xED730315539785C7ULL>& KarnosJobName2(); -EncryptedName<7, 0x8F61434F0F79DDD7ULL>& AliteaJobName1(); -EncryptedName<9, 0xA5C5D1A3B9457B53ULL>& WerewolfJobName1(); -EncryptedName<11, 0x61F59D5D41E76519ULL>& WereRaptorJobName1(); -EncryptedName<13, 0x4B670715D543C1C3ULL>& DruidRidingName(); -EncryptedName<14, 0x7155E5EF0DFB0D03ULL>& KarnosRidingName(); -EncryptedName<14, 0x4B1D078937DB892BULL>& AliteaRidingName(); - // OFFSET: 0x00DC2710 // FUNCTION: fn_22757 SessionTraits::SessionTraits() { @@ -6734,249 +6004,6 @@ void CSession::LoadSessionTables() { session->InitPetActionTable(); } -template <> -EncryptedName<14, 0xB5F3F779237315F3ULL>::EncryptedName(const char (&source)[14]); -template <> -const char* EncryptedName<14, 0x6BC977B3B5993503ULL>::Text(); -EncryptedName<14, 0x6BC977B3B5993503ULL>& PoringSuperNovice2SpriteName(); -EncryptedName<14, 0x91493751EF33B5FDULL>& PoringSuperNovice2BabySpriteName(); -template <> -const char* EncryptedName<18, 0x0DF5B33D9F21EB79ULL>::Text(); -EncryptedName<18, 0x0DF5B33D9F21EB79ULL>& SheepPriestBabySpriteName(); -template <> -const char* EncryptedName<14, 0x01E7898D9D235DDFULL>::Text(); -EncryptedName<14, 0x01E7898D9D235DDFULL>& FoxWizardBabySpriteName(); -template <> -const char* EncryptedName<14, 0x6961FF056999A303ULL>::Text(); -EncryptedName<14, 0x6961FF056999A303ULL>& PigBlacksmithBabySpriteName(); -EncryptedName<14, 0x9DEFC105A1EB2F71ULL>& PigMechanicSpriteName(); -template <> -const char* EncryptedName<14, 0xC7FB6DF18577D34BULL>::Text(); -EncryptedName<14, 0xC7FB6DF18577D34BULL>& PigMechanicBabySpriteName(); -template <> -const char* EncryptedName<14, 0xBD3F430159B551FDULL>::Text(); -EncryptedName<14, 0xBD3F430159B551FDULL>& OstrichRangerSpriteName(); -template <> -const char* EncryptedName<14, 0x2B477F9B5B39B301ULL>::Text(); -EncryptedName<14, 0x2B477F9B5B39B301ULL>& OstrichRangerBabySpriteName(); -EncryptedName<10, 0x5B832361BDA77197ULL>& LionKnightSpriteName(); -EncryptedName<10, 0xEB3D4FAB0FC183DBULL>& LionKnightBabySpriteName(); -EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>& LionKnightHighSpriteName(); -template <> -const char* EncryptedName<18, 0xE51B29334D353B81ULL>::Text(); -EncryptedName<18, 0xE51B29334D353B81ULL>& LionRoyalGuardSpriteName(); -EncryptedName<18, 0x8F3F2FA959977F9FULL>& LionRoyalGuardBabySpriteName(); -template <> -const char* EncryptedName<18, 0x7FE563BD3FB7F925ULL>::Text(); -EncryptedName<18, 0x7FE563BD3FB7F925ULL>& LionRuneKnightSpriteName(); -template <> -const char* EncryptedName<18, 0x8B3FA35B5BDDDF89ULL>::Text(); -EncryptedName<18, 0x8B3FA35B5BDDDF89ULL>& LionRuneKnightBabySpriteName(); -template <> -const char* EncryptedName<22, 0x7DB1050779034DE7ULL>::Text(); -EncryptedName<22, 0x7DB1050779034DE7ULL>& LionCrusaderSpriteName(); -template <> -const char* EncryptedName<22, 0x5D6B3B1DEB2397B1ULL>::Text(); -EncryptedName<22, 0x5D6B3B1DEB2397B1ULL>& LionCrusaderBabySpriteName(); -template <> -const char* EncryptedName<22, 0x07112F85A39F4FABULL>::Text(); -EncryptedName<22, 0x07112F85A39F4FABULL>& LionCrusaderHighSpriteName(); -template <> -const char* EncryptedName<16, 0x45E3F103CBB5F157ULL>::Text(); -EncryptedName<16, 0x45E3F103CBB5F157ULL>& KagerouSpriteName(); -template <> -const char* EncryptedName<12, 0x936F3D2FFDFD87F5ULL>::Text(); -EncryptedName<12, 0x936F3D2FFDFD87F5ULL>& OboroSpriteName(); -template <> -const char* EncryptedName<16, 0x2D33791F67AD47DFULL>::Text(); -EncryptedName<16, 0x2D33791F67AD47DFULL>& FrogKagerouSpriteName(); -template <> -const char* EncryptedName<12, 0x6B3301E1A3079125ULL>::Text(); -EncryptedName<12, 0x6B3301E1A3079125ULL>& FrogOboroSpriteName(); -template <> -const char* EncryptedName<20, 0x2F2701A7E56D3D89ULL>::Text(); -EncryptedName<20, 0x2F2701A7E56D3D89ULL>& RebellionSpriteName(); -template <> -const char* EncryptedName<18, 0xC39FB559A17D3963ULL>::Text(); -EncryptedName<18, 0xC39FB559A17D3963ULL>& DoramSummonerSpriteName(); -template <> -const char* EncryptedName<23, 0x71B7691737C5A1AFULL>::Text(); -EncryptedName<23, 0x71B7691737C5A1AFULL>& DoramCartSummonerSpriteName(); -template <> -const char* EncryptedName<18, 0x899D11BB83695B0DULL>::Text(); -EncryptedName<18, 0x899D11BB83695B0DULL>& DoramSummonerBabySpriteName(); -template <> -const char* EncryptedName<23, 0x2B8725D7E95325F5ULL>::Text(); -EncryptedName<23, 0x2B8725D7E95325F5ULL>& DoramCartSummonerBabySpriteName(); -EncryptedName<10, 0x7989830DE73B9DBDULL>& NinjaBabySpriteName(); -template <> -const char* EncryptedName<10, 0xBDADDD87C5A50B6BULL>::Text(); -EncryptedName<10, 0xBDADDD87C5A50B6BULL>& FrogNinjaBabySpriteName(); -template <> -const char* EncryptedName<16, 0xA7471985F93F9BDFULL>::Text(); -EncryptedName<16, 0xA7471985F93F9BDFULL>& KagerouBabySpriteName(); -template <> -const char* EncryptedName<12, 0x5FFD7FABB5D1EF57ULL>::Text(); -EncryptedName<12, 0x5FFD7FABB5D1EF57ULL>& OboroBabySpriteName(); -template <> -const char* EncryptedName<16, 0xD3E5516F89F161D1ULL>::Text(); -EncryptedName<16, 0xD3E5516F89F161D1ULL>& FrogKagerouBabySpriteName(); -template <> -const char* EncryptedName<12, 0xF535E561137F138DULL>::Text(); -EncryptedName<12, 0xF535E561137F138DULL>& FrogOboroBabySpriteName(); -template <> -const char* EncryptedName<18, 0xABED6971354375C3ULL>::Text(); -EncryptedName<18, 0xABED6971354375C3ULL>& TaekwonBabySpriteName(); -template <> -const char* EncryptedName<18, 0x01C9FBA7819FFBD7ULL>::Text(); -EncryptedName<18, 0x01C9FBA7819FFBD7ULL>& PoringTaekwonBabySpriteName(); -template <> -const char* EncryptedName<10, 0xFBAD074BDB2B77A1ULL>::Text(); -EncryptedName<10, 0xFBAD074BDB2B77A1ULL>& StarGladiatorBabySpriteName(); -template <> -const char* EncryptedName<10, 0x6BA557130BDFE997ULL>::Text(); -EncryptedName<10, 0x6BA557130BDFE997ULL>& StarGladiator2BabySpriteName(); -template <> -const char* EncryptedName<10, 0x050DF16FC75B25B9ULL>::Text(); -EncryptedName<10, 0x050DF16FC75B25B9ULL>& PoringStarGladiatorBabySpriteName(); -template <> -const char* EncryptedName<18, 0x6D05D5271B5D65C3ULL>::Text(); -EncryptedName<18, 0x6D05D5271B5D65C3ULL>& SoulLinkerBabySpriteName(); -template <> -const char* EncryptedName<18, 0x3D8387EF97A37DCFULL>::Text(); -EncryptedName<18, 0x3D8387EF97A37DCFULL>& FrogSoulLinkerBabySpriteName(); -template <> -const char* EncryptedName<10, 0x0789EBC9F5C1C59FULL>::Text(); -template <> -const char* EncryptedName<10, 0x451FD72783630709ULL>::Text(); -template <> -const char* EncryptedName<20, 0x3B6D9BFD27A7C7F7ULL>::Text(); -template <> -const char* EncryptedName<20, 0xA15B555BE9CD2B81ULL>::Text(); -template <> -const char* EncryptedName<10, 0x73C32959FDFFA51BULL>::Text(); -template <> -const char* EncryptedName<18, 0xB3F1A10745C1F105ULL>::Text(); -template <> -const char* EncryptedName<10, 0xD9115915B1919533ULL>::Text(); -template <> -const char* EncryptedName<18, 0x7959FFBF652D07BFULL>::Text(); -template <> -const char* EncryptedName<10, 0x99157F159BB99BD9ULL>::Text(); -template <> -const char* EncryptedName<10, 0x31E3CF9D358D8705ULL>::Text(); -template <> -const char* EncryptedName<10, 0xA55B7BEF3D7377E3ULL>::Text(); -template <> -const char* EncryptedName<18, 0xF5496753BDE7C5BDULL>::Text(); -template <> -const char* EncryptedName<10, 0x79A58B0F2173CF49ULL>::Text(); -template <> -const char* EncryptedName<18, 0x6B3917C939150B9BULL>::Text(); -template <> -const char* EncryptedName<18, 0x795787B7779D19DBULL>::Text(); -template <> -const char* EncryptedName<23, 0xF9B1EF9F7961EFF5ULL>::Text(); -template <> -const char* EncryptedName<25, 0x29AB0B59651BDFD5ULL>::Text(); -template <> -const char* EncryptedName<22, 0xD97DC927AFE911F1ULL>::Text(); -template <> -const char* EncryptedName<18, 0x47B7BF55EB471557ULL>::Text(); -template <> -const char* EncryptedName<25, 0x8BA52B970DD531ADULL>::Text(); -template <> -const char* EncryptedName<20, 0x2F2103792383718BULL>::Text(); -template <> -const char* EncryptedName<27, 0xCFB9671DEF4BD9E7ULL>::Text(); -template <> -const char* EncryptedName<32, 0x4349ADE96FEB27E5ULL>::Text(); -template <> -const char* EncryptedName<39, 0x999F5191852D2F6BULL>::Text(); -template <> -const char* EncryptedName<18, 0x35F59F6F3DD1C965ULL>::Text(); -template <> -const char* EncryptedName<22, 0xBF0F412941076FADULL>::Text(); -template <> -const char* EncryptedName<29, 0xD7BBEB2DDB295D11ULL>::Text(); -template <> -const char* EncryptedName<12, 0xB59BADC5B365617DULL>::Text(); -template <> -const char* EncryptedName<26, 0x8DFF0B4B67D9FDE1ULL>::Text(); -template <> -const char* EncryptedName<16, 0x91E7A7DFA58F9B6BULL>::Text(); -template <> -const char* EncryptedName<30, 0x77D925073D6F19B9ULL>::Text(); -template <> -const char* EncryptedName<35, 0xAFF9332FD397533FULL>::Text(); -template <> -const char* EncryptedName<26, 0xA1DFCDAD555BB16DULL>::Text(); -template <> -const char* EncryptedName<33, 0x7DC10333F96DE3E7ULL>::Text(); -template <> -const char* EncryptedName<26, 0x194F8339AF753FADULL>::Text(); -template <> -const char* EncryptedName<33, 0x51372B6F4BA14B23ULL>::Text(); -template <> -const char* EncryptedName<28, 0xE9FBAB53D5A1BB17ULL>::Text(); -template <> -const char* EncryptedName<42, 0x1F79132B518FD389ULL>::Text(); -template <> -const char* EncryptedName<44, 0xB70319D3A78D39CDULL>::Text(); -template <> -const char* EncryptedName<30, 0xA5C5D1A3B9457B53ULL>::Text(); -template <> -const char* EncryptedName<44, 0x8F61434F0F79DDD7ULL>::Text(); -template <> -const char* EncryptedName<46, 0x4B670715D543C1C3ULL>::Text(); -template <> -const char* EncryptedName<24, 0x61F59D5D41E76519ULL>::Text(); -template <> -const char* EncryptedName<24, 0x4B1D078937DB892BULL>::Text(); -template <> -const char* EncryptedName<31, 0x7155E5EF0DFB0D03ULL>::Text(); -template <> -const char* EncryptedName<26, 0xD51953E763B94747ULL>::Text(); -template <> -const char* EncryptedName<33, 0x17FB0F6BFF3BE93FULL>::Text(); -template <> -const char* EncryptedName<18, 0x91DF1F5D3B014D45ULL>::Text(); -template <> -const char* EncryptedName<25, 0x2529F16B0375530DULL>::Text(); -template <> -const char* EncryptedName<18, 0x2F371DDDADDD53CFULL>::Text(); -template <> -const char* EncryptedName<25, 0x0D7FA94DD32361A9ULL>::Text(); -template <> -const char* EncryptedName<24, 0x3BBB5F0F8F216F31ULL>::Text(); -EncryptedName<24, 0x3BBB5F0F8F216F31ULL>& NightWatchBodyPath2(); -template <> -const char* EncryptedName<31, 0x2F3D75DFCF678FF3ULL>::Text(); -EncryptedName<31, 0x2F3D75DFCF678FF3ULL>& NightWatchRidingBodyPath2(); -template <> -const char* EncryptedName<26, 0xED730315539785C7ULL>::Text(); -EncryptedName<26, 0xED730315539785C7ULL>& HyperNoviceBodyPath2(); -template <> -const char* EncryptedName<33, 0x6F9D21B96D71C1FFULL>::Text(); -EncryptedName<33, 0x6F9D21B96D71C1FFULL>& HyperNoviceRidingBodyPath2(); -template <> -const char* EncryptedName<30, 0x39E7F13755252F8FULL>::Text(); -EncryptedName<30, 0x39E7F13755252F8FULL>& SpiritHandlerBodyPath2(); -template <> -const char* EncryptedName<37, 0xCBD7DDAFDF87F549ULL>::Text(); -EncryptedName<37, 0xCBD7DDAFDF87F549ULL>& SpiritHandlerRidingBodyPath2(); -template <> -const char* EncryptedName<12, 0xEB074B7FBDA3BFD5ULL>::Text(); -EncryptedName<12, 0xEB074B7FBDA3BFD5ULL>& DruidBodyPath3(); -template <> -const char* EncryptedName<12, 0x3D075BD5256F9B6FULL>::Text(); -EncryptedName<12, 0x3D075BD5256F9B6FULL>& DruidBodyPath4(); -template <> -const char* EncryptedName<14, 0x251761D7370BA5C3ULL>::Text(); -EncryptedName<14, 0x251761D7370BA5C3ULL>& KarnosBodyPath3(); -EncryptedName<14, 0x03014749B127914FULL>& KarnosBodyPath4(); -EncryptedName<14, 0x85FB93CF2F494179ULL>& AliteaBodyPath2(); - // OFFSET: 0x00E31E30 // FUNCTION: fn_24178 void CSession::InitJobSpriteNames() { diff --git a/Source/Client/Session/Session.h b/Source/Client/Session/Session.h index ade537c85..35201e49e 100644 --- a/Source/Client/Session/Session.h +++ b/Source/Client/Session/Session.h @@ -1242,6 +1242,7 @@ bool IsMonsterJob(int job); int MonsterJobColor(int job); void SetMemberFlags(std::uint32_t* flags); void ClearMemberFlags(std::uint32_t* flags); +void __fastcall RefreshPartyWindows(CSession* session); std::vector SerializeMessengerMembers(const std::list& members); #if defined(_WIN32) && !defined(_WIN64) diff --git a/Source/Contents/Actors/Resources/BodyResources.cpp b/Source/Contents/Actors/Resources/BodyResources.cpp index 58e8a5071..3c74b392f 100644 --- a/Source/Contents/Actors/Resources/BodyResources.cpp +++ b/Source/Contents/Actors/Resources/BodyResources.cpp @@ -1,5 +1,5 @@ +#include "Contents/Actors/Resources/BodyResources.h" #include "Client/Session/Session.h" -#include "Utility/Cipher/EncryptedName.h" #include "Contents/Actors/Resources/EquipmentResourceMgr.h" #include "Contents/Jobs/JobId.h" #include "Utility/Cipher/XorBytes.h" diff --git a/Source/Contents/Actors/Resources/BodyResources.h b/Source/Contents/Actors/Resources/BodyResources.h new file mode 100644 index 000000000..9ac3c2bca --- /dev/null +++ b/Source/Contents/Actors/Resources/BodyResources.h @@ -0,0 +1,975 @@ +#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_RESOURCES_BODYRESOURCES_H +#define RAGNAROK_SOURCE_CONTENTS_ACTORS_RESOURCES_BODYRESOURCES_H + +#include "Utility/Cipher/EncryptedName.h" + +template <> +const char* EncryptedName<14, 0x072D2D872D259D5BULL>::Text(); +template <> +const char* EncryptedName<18, 0x9BE3EF737387AD79ULL>::Text(); +template <> +const char* EncryptedName<14, 0xB96B77B7255F8569ULL>::Text(); +template <> +const char* EncryptedName<14, 0x11CB35636377DD07ULL>::Text(); +template <> +const char* EncryptedName<10, 0x9D8F2D37BFFD61B7ULL>::Text(); +template <> +const char* EncryptedName<10, 0x79DF094DD9616575ULL>::Text(); +template <> +const char* EncryptedName<18, 0x038535BB092533B7ULL>::Text(); +template <> +const char* EncryptedName<10, 0xFB2BC75769E777D3ULL>::Text(); +template <> +const char* EncryptedName<14, 0xB5D7B5AF4FEDFF57ULL>::Text(); +template <> +const char* EncryptedName<10, 0x9B9D51AD3515F779ULL>::Text(); +template <> +const char* EncryptedName<14, 0xB5F3F779237315F3ULL>::Text(); +template <> +const char* EncryptedName<10, 0x67DD5BAB1919D9D1ULL>::Text(); +template <> +const char* EncryptedName<14, 0x91493751EF33B5FDULL>::Text(); +template <> +const char* EncryptedName<10, 0x6BC977B3B5993503ULL>::Text(); +template <> +const char* EncryptedName<10, 0xB7A76BF9CD41F99FULL>::Text(); +template <> +const char* EncryptedName<10, 0x732B390D63FD47D7ULL>::Text(); +template <> +const char* EncryptedName<14, 0x1FDB81175D1557E3ULL>::Text(); +template <> +const char* EncryptedName<10, 0xE3FB23537D2785BFULL>::Text(); +template <> +const char* EncryptedName<14, 0x8BBF792B47E72173ULL>::Text(); +template <> +const char* EncryptedName<10, 0xB3CF9BEB7963DB89ULL>::Text(); +template <> +const char* EncryptedName<14, 0x71A509DB43792991ULL>::Text(); +template <> +const char* EncryptedName<10, 0xDD69EDFFA18F537DULL>::Text(); +template <> +const char* EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>::Text(); +template <> +const char* EncryptedName<10, 0xEB3D4FAB0FC183DBULL>::Text(); +template <> +const char* EncryptedName<18, 0x8F3F2FA959977F9FULL>::Text(); +template <> +const char* EncryptedName<14, 0xE51B29334D353B81ULL>::Text(); +template <> +const char* EncryptedName<14, 0x8B3FA35B5BDDDF89ULL>::Text(); +template <> +const char* EncryptedName<10, 0x7FE563BD3FB7F925ULL>::Text(); +template <> +const char* EncryptedName<14, 0x5D6B3B1DEB2397B1ULL>::Text(); +template <> +const char* EncryptedName<28, 0x7DB1050779034DE7ULL>::Text(); +template <> +const char* EncryptedName<22, 0x01E7898D9D235DDFULL>::Text(); +template <> +const char* EncryptedName<10, 0x0DF5B33D9F21EB79ULL>::Text(); +template <> +const char* EncryptedName<14, 0x9DEFC105A1EB2F71ULL>::Text(); +template <> +const char* EncryptedName<10, 0x6961FF056999A303ULL>::Text(); +template <> +const char* EncryptedName<18, 0xBD3F430159B551FDULL>::Text(); +template <> +const char* EncryptedName<10, 0xC7FB6DF18577D34BULL>::Text(); +template <> +const char* EncryptedName<10, 0x5B832361BDA77197ULL>::Text(); +template <> +const char* EncryptedName<34, 0x2B477F9B5B39B301ULL>::Text(); +template <> +const char* EncryptedName<14, 0x2B8725D7E95325F5ULL>::Text(); +template <> +const char* EncryptedName<10, 0x899D11BB83695B0DULL>::Text(); +template <> +const char* EncryptedName<14, 0xBDADDD87C5A50B6BULL>::Text(); +template <> +const char* EncryptedName<10, 0x7989830DE73B9DBDULL>::Text(); +template <> +const char* EncryptedName<10, 0xA7471985F93F9BDFULL>::Text(); +template <> +const char* EncryptedName<10, 0xF535E561137F138DULL>::Text(); +template <> +const char* EncryptedName<10, 0xD3E5516F89F161D1ULL>::Text(); +template <> +const char* EncryptedName<18, 0x45E3F103CBB5F157ULL>::Text(); +template <> +const char* EncryptedName<14, 0x07112F85A39F4FABULL>::Text(); +template <> +const char* EncryptedName<14, 0x2D33791F67AD47DFULL>::Text(); +template <> +const char* EncryptedName<10, 0x936F3D2FFDFD87F5ULL>::Text(); +template <> +const char* EncryptedName<14, 0x2F2701A7E56D3D89ULL>::Text(); +template <> +const char* EncryptedName<28, 0x6B3301E1A3079125ULL>::Text(); +template <> +const char* EncryptedName<22, 0x71B7691737C5A1AFULL>::Text(); +template <> +const char* EncryptedName<10, 0xC39FB559A17D3963ULL>::Text(); +template <> +const char* EncryptedName<14, 0xFF7D83CB791339D9ULL>::Text(); +template <> +const char* EncryptedName<10, 0xED5143E7C1B39315ULL>::Text(); +template <> +const char* EncryptedName<18, 0x393D916561BDC391ULL>::Text(); +template <> +const char* EncryptedName<10, 0x31956551B311FD95ULL>::Text(); +template <> +const char* EncryptedName<10, 0x8741152D8FB34B4FULL>::Text(); +template <> +const char* EncryptedName<34, 0x955D4DF94DE9BB07ULL>::Text(); +template <> +const char* EncryptedName<14, 0xC399B7091589B50BULL>::Text(); +template <> +const char* EncryptedName<18, 0xB739073FE921AD6FULL>::Text(); +template <> +const char* EncryptedName<18, 0x17FFC98B398FAF61ULL>::Text(); +template <> +const char* EncryptedName<18, 0x9B5B959B954D9333ULL>::Text(); +template <> +const char* EncryptedName<14, 0xAFA5617F178B6185ULL>::Text(); +template <> +const char* EncryptedName<14, 0x078143534999254DULL>::Text(); +template <> +const char* EncryptedName<10, 0x3F5315DFE32B4FAFULL>::Text(); +template <> +const char* EncryptedName<14, 0xE50B2935073DD3E9ULL>::Text(); +template <> +const char* EncryptedName<10, 0x7D750DADBDE9C3F1ULL>::Text(); +template <> +const char* EncryptedName<10, 0x33832D4D3FDFBDBFULL>::Text(); +template <> +const char* EncryptedName<28, 0x1BF915E1F37DFDFDULL>::Text(); +template <> +const char* EncryptedName<28, 0x01FF9313695DD9DFULL>::Text(); +template <> +const char* EncryptedName<28, 0x6DED3DD1CF75AD9BULL>::Text(); +template <> +const char* EncryptedName<28, 0x49C3759B77DBD3C1ULL>::Text(); +template <> +const char* EncryptedName<28, 0xD1538513DF975701ULL>::Text(); +template <> +const char* EncryptedName<28, 0x91E147EBBD47C39FULL>::Text(); +template <> +const char* EncryptedName<28, 0x4F1791FB1503C713ULL>::Text(); +template <> +const char* EncryptedName<28, 0xA1A55B4D1597EDD3ULL>::Text(); +template <> +const char* EncryptedName<28, 0x0753A7E1EFA9E139ULL>::Text(); +template <> +const char* EncryptedName<28, 0x7FC1015DFFCF6D19ULL>::Text(); +template <> +const char* EncryptedName<28, 0xCB3FBD4183DB8323ULL>::Text(); +template <> +const char* EncryptedName<18, 0x7FCD77F9C7CBD14DULL>::Text(); +template <> +const char* EncryptedName<18, 0x5B8F49AF09390D1BULL>::Text(); +template <> +const char* EncryptedName<14, 0x3B915119EFD523EFULL>::Text(); +template <> +const char* EncryptedName<14, 0x474DC581D5E98357ULL>::Text(); +template <> +const char* EncryptedName<14, 0x3F557BE333F95F6DULL>::Text(); +template <> +const char* EncryptedName<14, 0x8B3FEB5B8BD5C3C3ULL>::Text(); +template <> +const char* EncryptedName<18, 0x0BEB63A5C905B3A7ULL>::Text(); +template <> +const char* EncryptedName<18, 0x078333BB9725B7C9ULL>::Text(); +template <> +const char* EncryptedName<18, 0x8F1B5BFD5F6175B5ULL>::Text(); +template <> +const char* EncryptedName<10, 0x69FD1D9733D3CFC1ULL>::Text(); +template <> +const char* EncryptedName<10, 0xF5657D1F3DE5CDC7ULL>::Text(); +template <> +const char* EncryptedName<22, 0x8B65CD61012B5931ULL>::Text(); +template <> +const char* EncryptedName<22, 0xF7530137154D8FE5ULL>::Text(); +template <> +const char* EncryptedName<22, 0x61FF87ED7BF39BE1ULL>::Text(); +template <> +const char* EncryptedName<14, 0x7D993F650D2785FFULL>::Text(); +template <> +const char* EncryptedName<14, 0x2D394DBD0F332733ULL>::Text(); +template <> +const char* EncryptedName<22, 0x151F77EBEBBB2147ULL>::Text(); +template <> +const char* EncryptedName<22, 0xC7912587FFF31B71ULL>::Text(); +template <> +const char* EncryptedName<34, 0x69D345DB950F336DULL>::Text(); +template <> +const char* EncryptedName<34, 0x9B17C9EFDBB39F2FULL>::Text(); +template <> +const char* EncryptedName<34, 0x2D3B15774149D5DDULL>::Text(); +template <> +const char* EncryptedName<10, 0xD98F03A52D35636DULL>::Text(); +template <> +const char* EncryptedName<10, 0x0F0F8B6B8F9D19D1ULL>::Text(); +template <> +const char* EncryptedName<14, 0xD3755DD95F47A909ULL>::Text(); +template <> +const char* EncryptedName<14, 0x31D7C1EDA345E36DULL>::Text(); +template <> +const char* EncryptedName<10, 0x3FAF85D995034FD7ULL>::Text(); +template <> +const char* EncryptedName<10, 0x490FFB43A12F0DB9ULL>::Text(); +template <> +const char* EncryptedName<18, 0x91651D81F559F971ULL>::Text(); +template <> +const char* EncryptedName<18, 0x73D1674B61DF7B0BULL>::Text(); +template <> +const char* EncryptedName<10, 0x2FF3C5036D070127ULL>::Text(); +template <> +const char* EncryptedName<10, 0x17359BF953C367B3ULL>::Text(); +template <> +const char* EncryptedName<10, 0xC52FB5FBB94FF917ULL>::Text(); +template <> +const char* EncryptedName<10, 0x93E7A3A1F587CDC5ULL>::Text(); +template <> +const char* EncryptedName<10, 0x59278F63D79F3DA1ULL>::Text(); +template <> +const char* EncryptedName<14, 0x812BE72BCD5707B7ULL>::Text(); +template <> +const char* EncryptedName<10, 0x3375B1C7DBB5FD55ULL>::Text(); +template <> +const char* EncryptedName<18, 0x1D6D75EDE7CD311FULL>::Text(); +template <> +const char* EncryptedName<14, 0xCBD1F3239BBBEDF7ULL>::Text(); +template <> +const char* EncryptedName<14, 0x7DBBD74FA36F3BCBULL>::Text(); +template <> +const char* EncryptedName<22, 0x4917EB6D71B701ABULL>::Text(); +template <> +const char* EncryptedName<14, 0xFD4F85BBA7E37D4FULL>::Text(); +template <> +const char* EncryptedName<10, 0x51C57BB9F1DD9B0FULL>::Text(); +template <> +const char* EncryptedName<10, 0xC733B7A333F9F571ULL>::Text(); +template <> +const char* EncryptedName<10, 0x7D61612937C1592DULL>::Text(); +template <> +const char* EncryptedName<18, 0x8F4B518D839D1581ULL>::Text(); +template <> +const char* EncryptedName<10, 0xCBD7DDAFDF87F549ULL>::Text(); +template <> +const char* EncryptedName<14, 0x39E7F13755252F8FULL>::Text(); +template <> +const char* EncryptedName<14, 0x3D075BD5256F9B6FULL>::Text(); +template <> +const char* EncryptedName<14, 0xEB074B7FBDA3BFD5ULL>::Text(); +template <> +const char* EncryptedName<14, 0x03014749B127914FULL>::Text(); +template <> +const char* EncryptedName<18, 0x251761D7370BA5C3ULL>::Text(); +template <> +const char* EncryptedName<14, 0x2B034DCBB1812785ULL>::Text(); +template <> +const char* EncryptedName<14, 0x85FB93CF2F494179ULL>::Text(); +template <> +const char* EncryptedName<14, 0x894FEDABAFCF45E3ULL>::Text(); +template <> +const char* EncryptedName<14, 0x8B03E17DA967E943ULL>::Text(); +template <> +const char* EncryptedName<10, 0x190B8705C141D1CFULL>::Text(); +template <> +const char* EncryptedName<10, 0xC98BB32777F94371ULL>::Text(); +template <> +const char* EncryptedName<10, 0xA5F51F3989DBB99FULL>::Text(); +template <> +const char* EncryptedName<10, 0xB3D5C99B2B05FFEFULL>::Text(); +template <> +const char* EncryptedName<10, 0xC71BB3CDEB499DD1ULL>::Text(); +template <> +const char* EncryptedName<22, 0x3939079FF3395587ULL>::Text(); +template <> +const char* EncryptedName<22, 0xCF391B0F8B9D95DBULL>::Text(); +template <> +const char* EncryptedName<10, 0x6967633B9D89092BULL>::Text(); +template <> +const char* EncryptedName<10, 0xAFCD4F69FBDFE157ULL>::Text(); +template <> +const char* EncryptedName<22, 0x85D9CFCF0FBB71ABULL>::Text(); +template <> +const char* EncryptedName<22, 0x795383DD11AF7DA7ULL>::Text(); +template <> +const char* EncryptedName<22, 0xD9FF511B2BB921E7ULL>::Text(); +template <> +const char* EncryptedName<16, 0x978B51F50DC5FD25ULL>::Text(); +template <> +const char* EncryptedName<12, 0xC757D96143298511ULL>::Text(); +template <> +const char* EncryptedName<16, 0xE1F181F923B759E7ULL>::Text(); +template <> +const char* EncryptedName<12, 0x37D76D8F495113C3ULL>::Text(); +template <> +const char* EncryptedName<20, 0x7BAD7791F50F5D8DULL>::Text(); +template <> +const char* EncryptedName<18, 0x2F1337956DC3CFD5ULL>::Text(); +template <> +const char* EncryptedName<23, 0xC91F9D493F75FDA3ULL>::Text(); +template <> +const char* EncryptedName<18, 0x1F01A13D8D915327ULL>::Text(); +template <> +const char* EncryptedName<23, 0xF33D3D3B0BD9C53DULL>::Text(); +template <> +const char* EncryptedName<10, 0xC74BB3BB110FB10FULL>::Text(); +template <> +const char* EncryptedName<10, 0x0B5F6D6B23D5AFA7ULL>::Text(); +template <> +const char* EncryptedName<16, 0x2B7BAB0B6971E3E9ULL>::Text(); +template <> +const char* EncryptedName<12, 0x8773593DB181D573ULL>::Text(); +template <> +const char* EncryptedName<16, 0xFBDBDB13A77191BFULL>::Text(); +template <> +const char* EncryptedName<12, 0x19BBC5910555FB97ULL>::Text(); +template <> +const char* EncryptedName<18, 0xBBD983C7FD611FE3ULL>::Text(); +template <> +const char* EncryptedName<18, 0xA1ED494BF319772DULL>::Text(); +template <> +const char* EncryptedName<18, 0x798B394FF5FF434DULL>::Text(); +template <> +const char* EncryptedName<18, 0x410DD52D6731BFFDULL>::Text(); +template <> +const char* EncryptedName<18, 0x07B733370F612D0FULL>::Text(); +template <> +const char* EncryptedName<14, 0x113DC179F1C795C9ULL>::Text(); +template <> +const char* EncryptedName<14, 0x31F5C32DD5C53779ULL>::Text(); +template <> +const char* EncryptedName<10, 0x2F9B717365C1250FULL>::Text(); +template <> +const char* EncryptedName<10, 0x4FE54379493FB5D5ULL>::Text(); +template <> +const char* EncryptedName<20, 0x656FAB972B3D21BBULL>::Text(); +template <> +const char* EncryptedName<20, 0x33CD2BDD5B3927EDULL>::Text(); +template <> +const char* EncryptedName<18, 0xD97BB73901ED99BFULL>::Text(); +template <> +const char* EncryptedName<14, 0x5D6B8FCBE3FB97A1ULL>::Text(); +template <> +const char* EncryptedName<18, 0xE5FDE3151BED831FULL>::Text(); +template <> +const char* EncryptedName<14, 0x8971CB79C18D8B27ULL>::Text(); +template <> +const char* EncryptedName<18, 0x8DC5D10DAB1585BDULL>::Text(); +template <> +const char* EncryptedName<18, 0x21156F4141E35DD9ULL>::Text(); +template <> +const char* EncryptedName<18, 0x51EB99CBCB075F35ULL>::Text(); +template <> +const char* EncryptedName<14, 0x1B3B756FE399E1D9ULL>::Text(); +template <> +const char* EncryptedName<18, 0x3B6D9BFD27A7C7F7ULL>::Text(); +template <> +const char* EncryptedName<14, 0x451FD72783630709ULL>::Text(); +template <> +const char* EncryptedName<14, 0x73C32959FDFFA51BULL>::Text(); +template <> +const char* EncryptedName<14, 0xA15B555BE9CD2B81ULL>::Text(); +template <> +const char* EncryptedName<14, 0xD9115915B1919533ULL>::Text(); +template <> +const char* EncryptedName<14, 0xB3F1A10745C1F105ULL>::Text(); +template <> +const char* EncryptedName<18, 0x99157F159BB99BD9ULL>::Text(); +template <> +const char* EncryptedName<23, 0x7959FFBF652D07BFULL>::Text(); +template <> +const char* EncryptedName<25, 0x01C9FBA7819FFBD7ULL>::Text(); +template <> +const char* EncryptedName<22, 0xABED6971354375C3ULL>::Text(); +template <> +const char* EncryptedName<29, 0x6BA557130BDFE997ULL>::Text(); +template <> +const char* EncryptedName<18, 0xFBAD074BDB2B77A1ULL>::Text(); +template <> +const char* EncryptedName<25, 0x6D05D5271B5D65C3ULL>::Text(); +template <> +const char* EncryptedName<18, 0x050DF16FC75B25B9ULL>::Text(); +template <> +const char* EncryptedName<25, 0x0789EBC9F5C1C59FULL>::Text(); +template <> +const char* EncryptedName<22, 0x3D8387EF97A37DCFULL>::Text(); +template <> +const char* EncryptedName<29, 0x07A7D947CF7323BFULL>::Text(); +template <> +const char* EncryptedName<12, 0xD97DC927AFE911F1ULL>::Text(); +template <> +const char* EncryptedName<26, 0x8BA52B970DD531ADULL>::Text(); +template <> +const char* EncryptedName<16, 0x47B7BF55EB471557ULL>::Text(); +template <> +const char* EncryptedName<30, 0xCFB9671DEF4BD9E7ULL>::Text(); +template <> +const char* EncryptedName<35, 0x2F2103792383718BULL>::Text(); +template <> +const char* EncryptedName<28, 0x999F5191852D2F6BULL>::Text(); +template <> +const char* EncryptedName<42, 0x4349ADE96FEB27E5ULL>::Text(); +template <> +const char* EncryptedName<44, 0xA55B7BEF3D7377E3ULL>::Text(); +template <> +const char* EncryptedName<30, 0x31E3CF9D358D8705ULL>::Text(); +template <> +const char* EncryptedName<44, 0x79A58B0F2173CF49ULL>::Text(); +template <> +const char* EncryptedName<46, 0xF5496753BDE7C5BDULL>::Text(); +template <> +const char* EncryptedName<26, 0x795787B7779D19DBULL>::Text(); +template <> +const char* EncryptedName<33, 0x6B3917C939150B9BULL>::Text(); +template <> +const char* EncryptedName<26, 0x29AB0B59651BDFD5ULL>::Text(); +template <> +const char* EncryptedName<33, 0xF9B1EF9F7961EFF5ULL>::Text(); +template <> +const char* EncryptedName<24, 0xA1DFCDAD555BB16DULL>::Text(); +template <> +const char* EncryptedName<25, 0xAFF9332FD397533FULL>::Text(); +template <> +const char* EncryptedName<31, 0x194F8339AF753FADULL>::Text(); +template <> +const char* EncryptedName<26, 0x7DC10333F96DE3E7ULL>::Text(); +template <> +const char* EncryptedName<33, 0xE9FBAB53D5A1BB17ULL>::Text(); +template <> +const char* EncryptedName<18, 0x51372B6F4BA14B23ULL>::Text(); +template <> +const char* EncryptedName<25, 0xB70319D3A78D39CDULL>::Text(); +template <> +const char* EncryptedName<18, 0x1F79132B518FD389ULL>::Text(); +template <> +const char* EncryptedName<25, 0xC1FD95811D1F4FA1ULL>::Text(); +template <> +const char* EncryptedName<24, 0x35F59F6F3DD1C965ULL>::Text(); +template <> +const char* EncryptedName<31, 0xD7BBEB2DDB295D11ULL>::Text(); +template <> +const char* EncryptedName<26, 0xBF0F412941076FADULL>::Text(); +template <> +const char* EncryptedName<33, 0x8DFF0B4B67D9FDE1ULL>::Text(); +template <> +const char* EncryptedName<30, 0xB59BADC5B365617DULL>::Text(); +template <> +const char* EncryptedName<37, 0x77D925073D6F19B9ULL>::Text(); +template <> +const char* EncryptedName<12, 0x91E7A7DFA58F9B6BULL>::Text(); +template <> +const char* EncryptedName<12, 0x2529F16B0375530DULL>::Text(); +template <> +const char* EncryptedName<14, 0x91DF1F5D3B014D45ULL>::Text(); +template <> +const char* EncryptedName<14, 0x0D7FA94DD32361A9ULL>::Text(); +template <> +const char* EncryptedName<14, 0x2F371DDDADDD53CFULL>::Text(); +template <> +const char* EncryptedName<9, 0xA5C5D1A3B9457B53ULL>::Text(); +template <> +const char* EncryptedName<11, 0x61F59D5D41E76519ULL>::Text(); +template <> +const char* EncryptedName<13, 0x4B670715D543C1C3ULL>::Text(); +template <> +const char* EncryptedName<14, 0x7155E5EF0DFB0D03ULL>::Text(); +template <> +const char* EncryptedName<14, 0x4B1D078937DB892BULL>::Text(); +template <> +const char* EncryptedName<14, 0x875FCDF1E7A1795FULL>::Text(); +template <> +const char* EncryptedName<14, 0x5FFD7FABB5D1EF57ULL>::Text(); +template <> +const char* EncryptedName<14, 0x6BC977B3B5993503ULL>::Text(); +template <> +const char* EncryptedName<18, 0x0DF5B33D9F21EB79ULL>::Text(); +template <> +const char* EncryptedName<14, 0x01E7898D9D235DDFULL>::Text(); +template <> +const char* EncryptedName<14, 0x6961FF056999A303ULL>::Text(); +template <> +const char* EncryptedName<14, 0xC7FB6DF18577D34BULL>::Text(); +template <> +const char* EncryptedName<14, 0xBD3F430159B551FDULL>::Text(); +template <> +const char* EncryptedName<14, 0x2B477F9B5B39B301ULL>::Text(); +template <> +const char* EncryptedName<18, 0xE51B29334D353B81ULL>::Text(); +template <> +const char* EncryptedName<18, 0x7FE563BD3FB7F925ULL>::Text(); +template <> +const char* EncryptedName<18, 0x8B3FA35B5BDDDF89ULL>::Text(); +template <> +const char* EncryptedName<22, 0x7DB1050779034DE7ULL>::Text(); +template <> +const char* EncryptedName<22, 0x5D6B3B1DEB2397B1ULL>::Text(); +template <> +const char* EncryptedName<22, 0x07112F85A39F4FABULL>::Text(); +template <> +const char* EncryptedName<16, 0x45E3F103CBB5F157ULL>::Text(); +template <> +const char* EncryptedName<12, 0x936F3D2FFDFD87F5ULL>::Text(); +template <> +const char* EncryptedName<16, 0x2D33791F67AD47DFULL>::Text(); +template <> +const char* EncryptedName<12, 0x6B3301E1A3079125ULL>::Text(); +template <> +const char* EncryptedName<20, 0x2F2701A7E56D3D89ULL>::Text(); +template <> +const char* EncryptedName<18, 0xC39FB559A17D3963ULL>::Text(); +template <> +const char* EncryptedName<23, 0x71B7691737C5A1AFULL>::Text(); +template <> +const char* EncryptedName<18, 0x899D11BB83695B0DULL>::Text(); +template <> +const char* EncryptedName<23, 0x2B8725D7E95325F5ULL>::Text(); +template <> +const char* EncryptedName<10, 0xBDADDD87C5A50B6BULL>::Text(); +template <> +const char* EncryptedName<16, 0xA7471985F93F9BDFULL>::Text(); +template <> +const char* EncryptedName<12, 0x5FFD7FABB5D1EF57ULL>::Text(); +template <> +const char* EncryptedName<16, 0xD3E5516F89F161D1ULL>::Text(); +template <> +const char* EncryptedName<12, 0xF535E561137F138DULL>::Text(); +template <> +const char* EncryptedName<18, 0xABED6971354375C3ULL>::Text(); +template <> +const char* EncryptedName<18, 0x01C9FBA7819FFBD7ULL>::Text(); +template <> +const char* EncryptedName<10, 0xFBAD074BDB2B77A1ULL>::Text(); +template <> +const char* EncryptedName<10, 0x6BA557130BDFE997ULL>::Text(); +template <> +const char* EncryptedName<10, 0x050DF16FC75B25B9ULL>::Text(); +template <> +const char* EncryptedName<18, 0x6D05D5271B5D65C3ULL>::Text(); +template <> +const char* EncryptedName<18, 0x3D8387EF97A37DCFULL>::Text(); +template <> +const char* EncryptedName<10, 0x0789EBC9F5C1C59FULL>::Text(); +template <> +const char* EncryptedName<10, 0x451FD72783630709ULL>::Text(); +template <> +const char* EncryptedName<20, 0x3B6D9BFD27A7C7F7ULL>::Text(); +template <> +const char* EncryptedName<20, 0xA15B555BE9CD2B81ULL>::Text(); +template <> +const char* EncryptedName<10, 0x73C32959FDFFA51BULL>::Text(); +template <> +const char* EncryptedName<18, 0xB3F1A10745C1F105ULL>::Text(); +template <> +const char* EncryptedName<10, 0xD9115915B1919533ULL>::Text(); +template <> +const char* EncryptedName<18, 0x7959FFBF652D07BFULL>::Text(); +template <> +const char* EncryptedName<10, 0x99157F159BB99BD9ULL>::Text(); +template <> +const char* EncryptedName<10, 0x31E3CF9D358D8705ULL>::Text(); +template <> +const char* EncryptedName<10, 0xA55B7BEF3D7377E3ULL>::Text(); +template <> +const char* EncryptedName<18, 0xF5496753BDE7C5BDULL>::Text(); +template <> +const char* EncryptedName<10, 0x79A58B0F2173CF49ULL>::Text(); +template <> +const char* EncryptedName<18, 0x6B3917C939150B9BULL>::Text(); +template <> +const char* EncryptedName<18, 0x795787B7779D19DBULL>::Text(); +template <> +const char* EncryptedName<23, 0xF9B1EF9F7961EFF5ULL>::Text(); +template <> +const char* EncryptedName<25, 0x29AB0B59651BDFD5ULL>::Text(); +template <> +const char* EncryptedName<22, 0xD97DC927AFE911F1ULL>::Text(); +template <> +const char* EncryptedName<18, 0x47B7BF55EB471557ULL>::Text(); +template <> +const char* EncryptedName<25, 0x8BA52B970DD531ADULL>::Text(); +template <> +const char* EncryptedName<20, 0x2F2103792383718BULL>::Text(); +template <> +const char* EncryptedName<27, 0xCFB9671DEF4BD9E7ULL>::Text(); +template <> +const char* EncryptedName<32, 0x4349ADE96FEB27E5ULL>::Text(); +template <> +const char* EncryptedName<39, 0x999F5191852D2F6BULL>::Text(); +template <> +const char* EncryptedName<18, 0x35F59F6F3DD1C965ULL>::Text(); +template <> +const char* EncryptedName<22, 0xBF0F412941076FADULL>::Text(); +template <> +const char* EncryptedName<29, 0xD7BBEB2DDB295D11ULL>::Text(); +template <> +const char* EncryptedName<12, 0xB59BADC5B365617DULL>::Text(); +template <> +const char* EncryptedName<26, 0x8DFF0B4B67D9FDE1ULL>::Text(); +template <> +const char* EncryptedName<16, 0x91E7A7DFA58F9B6BULL>::Text(); +template <> +const char* EncryptedName<30, 0x77D925073D6F19B9ULL>::Text(); +template <> +const char* EncryptedName<35, 0xAFF9332FD397533FULL>::Text(); +template <> +const char* EncryptedName<26, 0xA1DFCDAD555BB16DULL>::Text(); +template <> +const char* EncryptedName<33, 0x7DC10333F96DE3E7ULL>::Text(); +template <> +const char* EncryptedName<26, 0x194F8339AF753FADULL>::Text(); +template <> +const char* EncryptedName<33, 0x51372B6F4BA14B23ULL>::Text(); +template <> +const char* EncryptedName<28, 0xE9FBAB53D5A1BB17ULL>::Text(); +template <> +const char* EncryptedName<42, 0x1F79132B518FD389ULL>::Text(); +template <> +const char* EncryptedName<44, 0xB70319D3A78D39CDULL>::Text(); +template <> +const char* EncryptedName<30, 0xA5C5D1A3B9457B53ULL>::Text(); +template <> +const char* EncryptedName<44, 0x8F61434F0F79DDD7ULL>::Text(); +template <> +const char* EncryptedName<46, 0x4B670715D543C1C3ULL>::Text(); +template <> +const char* EncryptedName<24, 0x61F59D5D41E76519ULL>::Text(); +template <> +const char* EncryptedName<24, 0x4B1D078937DB892BULL>::Text(); +template <> +const char* EncryptedName<31, 0x7155E5EF0DFB0D03ULL>::Text(); +template <> +const char* EncryptedName<26, 0xD51953E763B94747ULL>::Text(); +template <> +const char* EncryptedName<33, 0x17FB0F6BFF3BE93FULL>::Text(); +template <> +const char* EncryptedName<18, 0x91DF1F5D3B014D45ULL>::Text(); +template <> +const char* EncryptedName<25, 0x2529F16B0375530DULL>::Text(); +template <> +const char* EncryptedName<18, 0x2F371DDDADDD53CFULL>::Text(); +template <> +const char* EncryptedName<25, 0x0D7FA94DD32361A9ULL>::Text(); +template <> +const char* EncryptedName<24, 0x3BBB5F0F8F216F31ULL>::Text(); +template <> +const char* EncryptedName<31, 0x2F3D75DFCF678FF3ULL>::Text(); +template <> +const char* EncryptedName<26, 0xED730315539785C7ULL>::Text(); +template <> +const char* EncryptedName<33, 0x6F9D21B96D71C1FFULL>::Text(); +template <> +const char* EncryptedName<30, 0x39E7F13755252F8FULL>::Text(); +template <> +const char* EncryptedName<37, 0xCBD7DDAFDF87F549ULL>::Text(); +template <> +const char* EncryptedName<12, 0xEB074B7FBDA3BFD5ULL>::Text(); +template <> +const char* EncryptedName<12, 0x3D075BD5256F9B6FULL>::Text(); +template <> +const char* EncryptedName<14, 0x251761D7370BA5C3ULL>::Text(); + +template <> +EncryptedName<14, 0xB5F3F779237315F3ULL>::EncryptedName(const char (&source)[14]); + +EncryptedName<14, 0x072D2D872D259D5BULL>& WizardBodyPath1(); +EncryptedName<18, 0x9BE3EF737387AD79ULL>& PriestBodyPath1(); +EncryptedName<14, 0xB96B77B7255F8569ULL>& AssassinBodyPath1(); +EncryptedName<14, 0x11CB35636377DD07ULL>& SageBodyPath1(); +EncryptedName<10, 0x4755C1355575FD37ULL>& BardBodyPath1(); +EncryptedName<10, 0x9D8F2D37BFFD61B7ULL>& DancerBodyPath1(); +EncryptedName<10, 0x79DF094DD9616575ULL>& MonkBodyPath1(); +EncryptedName<18, 0x038535BB092533B7ULL>& AlchemistBodyPath1(); +EncryptedName<10, 0xFB2BC75769E777D3ULL>& RogueBodyPath1(); +EncryptedName<14, 0xB5D7B5AF4FEDFF57ULL>& NoviceBodyPath1(); +EncryptedName<10, 0x9B9D51AD3515F779ULL>& SwordmanBodyPath1(); +EncryptedName<14, 0xB5F3F779237315F3ULL>& MagicianBodyPath1(); +EncryptedName<10, 0x67DD5BAB1919D9D1ULL>& ArcherBodyPath1(); +EncryptedName<14, 0x91493751EF33B5FDULL>& AcolyteBodyPath1(); +EncryptedName<10, 0x6BC977B3B5993503ULL>& MerchantBodyPath1(); +EncryptedName<10, 0xB7A76BF9CD41F99FULL>& ThiefBodyPath1(); +EncryptedName<10, 0x732B390D63FD47D7ULL>& ThiefBodyPath2(); +EncryptedName<14, 0x1FDB81175D1557E3ULL>& NoviceBodyPath2(); +EncryptedName<10, 0xE3FB23537D2785BFULL>& SwordmanBodyPath2(); +EncryptedName<14, 0x8BBF792B47E72173ULL>& MagicianBodyPath2(); +EncryptedName<10, 0xB3CF9BEB7963DB89ULL>& ArcherBodyPath2(); +EncryptedName<14, 0x71A509DB43792991ULL>& AcolyteBodyPath2(); +EncryptedName<10, 0xDD69EDFFA18F537DULL>& MerchantBodyPath2(); +EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>& ThiefBodyPath3(); +EncryptedName<10, 0xEB3D4FAB0FC183DBULL>& KnightBodyPath1(); +EncryptedName<18, 0x8F3F2FA959977F9FULL>& PriestBodyPath2(); +EncryptedName<14, 0xE51B29334D353B81ULL>& WizardBodyPath2(); +EncryptedName<14, 0x8B3FA35B5BDDDF89ULL>& BlacksmithBodyPath1(); +EncryptedName<10, 0x7FE563BD3FB7F925ULL>& HunterBodyPath1(); +EncryptedName<14, 0x5D6B3B1DEB2397B1ULL>& AssassinBodyPath2(); +EncryptedName<28, 0x7DB1050779034DE7ULL>& PecoKnightBodyPath1(); +EncryptedName<22, 0x01E7898D9D235DDFULL>& CrusaderBodyPath1(); +EncryptedName<10, 0x0DF5B33D9F21EB79ULL>& MonkBodyPath2(); +EncryptedName<14, 0x9DEFC105A1EB2F71ULL>& SageBodyPath2(); +EncryptedName<10, 0x6961FF056999A303ULL>& RogueBodyPath2(); +EncryptedName<18, 0xBD3F430159B551FDULL>& AlchemistBodyPath2(); +EncryptedName<10, 0xC7FB6DF18577D34BULL>& BardBodyPath2(); +EncryptedName<10, 0x5B832361BDA77197ULL>& DancerBodyPath2(); +EncryptedName<34, 0x2B477F9B5B39B301ULL>& NewPecoCrusaderBodyPath1(); +EncryptedName<14, 0x2B8725D7E95325F5ULL>& NoviceBodyPath3(); +EncryptedName<10, 0x899D11BB83695B0DULL>& SwordmanBodyPath3(); +EncryptedName<14, 0xBDADDD87C5A50B6BULL>& MagicianBodyPath3(); +EncryptedName<10, 0x7989830DE73B9DBDULL>& ArcherBodyPath3(); +EncryptedName<10, 0xA7471985F93F9BDFULL>& MerchantBodyPath3(); +EncryptedName<10, 0xF535E561137F138DULL>& ThiefBodyPath4(); +EncryptedName<10, 0xD3E5516F89F161D1ULL>& KnightBodyPath2(); +EncryptedName<18, 0x45E3F103CBB5F157ULL>& PriestBodyPath3(); +EncryptedName<14, 0x07112F85A39F4FABULL>& WizardBodyPath3(); +EncryptedName<14, 0x2D33791F67AD47DFULL>& BlacksmithBodyPath2(); +EncryptedName<10, 0x936F3D2FFDFD87F5ULL>& HunterBodyPath2(); +EncryptedName<14, 0x2F2701A7E56D3D89ULL>& AssassinBodyPath3(); +EncryptedName<28, 0x6B3301E1A3079125ULL>& PecoKnightBodyPath2(); +EncryptedName<22, 0x71B7691737C5A1AFULL>& CrusaderBodyPath2(); +EncryptedName<10, 0xC39FB559A17D3963ULL>& MonkBodyPath3(); +EncryptedName<14, 0xFF7D83CB791339D9ULL>& SageBodyPath3(); +EncryptedName<10, 0xED5143E7C1B39315ULL>& RogueBodyPath3(); +EncryptedName<18, 0x393D916561BDC391ULL>& AlchemistBodyPath3(); +EncryptedName<10, 0x31956551B311FD95ULL>& BardBodyPath3(); +EncryptedName<10, 0x8741152D8FB34B4FULL>& DancerBodyPath3(); +EncryptedName<34, 0x955D4DF94DE9BB07ULL>& OldPecoCrusaderBodyPath1(); +EncryptedName<14, 0xC399B7091589B50BULL>& NoviceBodyPath4(); +EncryptedName<18, 0xB739073FE921AD6FULL>& TaekwonBodyPath1(); +EncryptedName<18, 0x17FFC98B398FAF61ULL>& TaekwonBodyPath2(); +EncryptedName<18, 0x9B5B959B954D9333ULL>& TaekwonBodyPath3(); +EncryptedName<14, 0xAFA5617F178B6185ULL>& WizardBodyPath4(); +EncryptedName<14, 0x078143534999254DULL>& AcolyteBodyPath3(); +EncryptedName<10, 0x3F5315DFE32B4FAFULL>& KnightBodyPath3(); +EncryptedName<14, 0xE50B2935073DD3E9ULL>& SageBodyPath4(); +EncryptedName<10, 0x7D750DADBDE9C3F1ULL>& KnightBodyPath4(); +EncryptedName<10, 0x33832D4D3FDFBDBFULL>& KnightBodyPath5(); +EncryptedName<28, 0x1BF915E1F37DFDFDULL>& PecoKnightBodyPath3(); +EncryptedName<28, 0x01FF9313695DD9DFULL>& PecoKnightBodyPath4(); +EncryptedName<28, 0x6DED3DD1CF75AD9BULL>& PecoKnightBodyPath5(); +EncryptedName<28, 0x49C3759B77DBD3C1ULL>& PecoKnightBodyPath6(); +EncryptedName<28, 0xD1538513DF975701ULL>& PecoKnightBodyPath7(); +EncryptedName<28, 0x91E147EBBD47C39FULL>& PecoKnightBodyPath8(); +EncryptedName<28, 0x4F1791FB1503C713ULL>& PecoKnightBodyPath9(); +EncryptedName<28, 0xA1A55B4D1597EDD3ULL>& PecoKnightBodyPath10(); +EncryptedName<28, 0x0753A7E1EFA9E139ULL>& PecoKnightBodyPath11(); +EncryptedName<28, 0x7FC1015DFFCF6D19ULL>& PecoKnightBodyPath12(); +EncryptedName<28, 0xCB3FBD4183DB8323ULL>& PecoKnightBodyPath13(); +EncryptedName<18, 0x7FCD77F9C7CBD14DULL>& PriestBodyPath4(); +EncryptedName<18, 0x5B8F49AF09390D1BULL>& PriestBodyPath5(); +EncryptedName<14, 0x3B915119EFD523EFULL>& WizardBodyPath5(); +EncryptedName<14, 0x474DC581D5E98357ULL>& WizardBodyPath6(); +EncryptedName<14, 0x3F557BE333F95F6DULL>& BlacksmithBodyPath3(); +EncryptedName<14, 0x8B3FEB5B8BD5C3C3ULL>& BlacksmithBodyPath4(); +EncryptedName<18, 0x0BEB63A5C905B3A7ULL>& MadogearBodyPath1(); +EncryptedName<18, 0x078333BB9725B7C9ULL>& MadogearBodyPath2(); +EncryptedName<18, 0x8F1B5BFD5F6175B5ULL>& MadogearBodyPath3(); +EncryptedName<10, 0x69FD1D9733D3CFC1ULL>& HunterBodyPath3(); +EncryptedName<10, 0xF5657D1F3DE5CDC7ULL>& HunterBodyPath4(); +EncryptedName<22, 0x8B65CD61012B5931ULL>& RangerWolfBodyPath1(); +EncryptedName<22, 0xF7530137154D8FE5ULL>& RangerWolfBodyPath2(); +EncryptedName<22, 0x61FF87ED7BF39BE1ULL>& RangerWolfBodyPath3(); +EncryptedName<14, 0x7D993F650D2785FFULL>& AssassinBodyPath4(); +EncryptedName<14, 0x2D394DBD0F332733ULL>& AssassinBodyPath5(); +EncryptedName<22, 0x151F77EBEBBB2147ULL>& CrusaderBodyPath3(); +EncryptedName<22, 0xC7912587FFF31B71ULL>& CrusaderBodyPath4(); +EncryptedName<34, 0x69D345DB950F336DULL>& NewPecoCrusaderBodyPath2(); +EncryptedName<34, 0x9B17C9EFDBB39F2FULL>& NewPecoCrusaderBodyPath3(); +EncryptedName<34, 0x2D3B15774149D5DDULL>& NewPecoCrusaderBodyPath4(); +EncryptedName<10, 0xD98F03A52D35636DULL>& MonkBodyPath4(); +EncryptedName<10, 0x0F0F8B6B8F9D19D1ULL>& MonkBodyPath5(); +EncryptedName<14, 0xD3755DD95F47A909ULL>& SageBodyPath5(); +EncryptedName<14, 0x31D7C1EDA345E36DULL>& SageBodyPath6(); +EncryptedName<10, 0x3FAF85D995034FD7ULL>& RogueBodyPath4(); +EncryptedName<10, 0x490FFB43A12F0DB9ULL>& RogueBodyPath5(); +EncryptedName<18, 0x91651D81F559F971ULL>& AlchemistBodyPath4(); +EncryptedName<18, 0x73D1674B61DF7B0BULL>& AlchemistBodyPath5(); +EncryptedName<10, 0x2FF3C5036D070127ULL>& DancerBodyPath4(); +EncryptedName<10, 0x17359BF953C367B3ULL>& DancerBodyPath5(); +EncryptedName<10, 0xC52FB5FBB94FF917ULL>& BardBodyPath4(); +EncryptedName<10, 0x93E7A3A1F587CDC5ULL>& BardBodyPath5(); +EncryptedName<10, 0x59278F63D79F3DA1ULL>& KnightBodyPath6(); +EncryptedName<14, 0x812BE72BCD5707B7ULL>& WizardBodyPath7(); +EncryptedName<10, 0x3375B1C7DBB5FD55ULL>& HunterBodyPath5(); +EncryptedName<18, 0x1D6D75EDE7CD311FULL>& PriestBodyPath6(); +EncryptedName<14, 0xCBD1F3239BBBEDF7ULL>& BlacksmithBodyPath5(); +EncryptedName<14, 0x7DBBD74FA36F3BCBULL>& AssassinBodyPath6(); +EncryptedName<22, 0x4917EB6D71B701ABULL>& CrusaderBodyPath5(); +EncryptedName<14, 0xFD4F85BBA7E37D4FULL>& SageBodyPath7(); +EncryptedName<10, 0x51C57BB9F1DD9B0FULL>& BardBodyPath6(); +EncryptedName<10, 0xC733B7A333F9F571ULL>& DancerBodyPath6(); +EncryptedName<10, 0x7D61612937C1592DULL>& MonkBodyPath6(); +EncryptedName<18, 0x8F4B518D839D1581ULL>& AlchemistBodyPath6(); +EncryptedName<10, 0xCBD7DDAFDF87F549ULL>& RogueBodyPath6(); +EncryptedName<14, 0x39E7F13755252F8FULL>& NoviceBodyPath5(); +EncryptedName<14, 0x3D075BD5256F9B6FULL>& NoviceBodyPath6(); +EncryptedName<14, 0xEB074B7FBDA3BFD5ULL>& NoviceBodyPath7(); +EncryptedName<14, 0x03014749B127914FULL>& NoviceBodyPath8(); +EncryptedName<18, 0x251761D7370BA5C3ULL>& PriestBodyPath7(); +EncryptedName<14, 0x2B034DCBB1812785ULL>& WizardBodyPath8(); +EncryptedName<14, 0x85FB93CF2F494179ULL>& BlacksmithBodyPath6(); +EncryptedName<14, 0x894FEDABAFCF45E3ULL>& BlacksmithBodyPath7(); +EncryptedName<14, 0x8B03E17DA967E943ULL>& BlacksmithBodyPath8(); +EncryptedName<10, 0x190B8705C141D1CFULL>& HunterBodyPath6(); +EncryptedName<10, 0xC98BB32777F94371ULL>& HunterBodyPath7(); +EncryptedName<10, 0xA5F51F3989DBB99FULL>& KnightBodyPath7(); +EncryptedName<10, 0xB3D5C99B2B05FFEFULL>& KnightBodyPath8(); +EncryptedName<10, 0xC71BB3CDEB499DD1ULL>& KnightBodyPath9(); +EncryptedName<22, 0x3939079FF3395587ULL>& CrusaderBodyPath6(); +EncryptedName<22, 0xCF391B0F8B9D95DBULL>& CrusaderBodyPath7(); +EncryptedName<10, 0x6967633B9D89092BULL>& KnightBodyPath10(); +EncryptedName<10, 0xAFCD4F69FBDFE157ULL>& KnightBodyPath11(); +EncryptedName<22, 0x85D9CFCF0FBB71ABULL>& CrusaderBodyPath8(); +EncryptedName<22, 0x795383DD11AF7DA7ULL>& CrusaderBodyPath9(); +EncryptedName<22, 0xD9FF511B2BB921E7ULL>& CrusaderBodyPath10(); +EncryptedName<16, 0x978B51F50DC5FD25ULL>& KagerouBodyPath1(); +EncryptedName<12, 0xC757D96143298511ULL>& OboroBodyPath1(); +EncryptedName<16, 0xE1F181F923B759E7ULL>& KagerouBodyPath2(); +EncryptedName<12, 0x37D76D8F495113C3ULL>& OboroBodyPath2(); +EncryptedName<20, 0x7BAD7791F50F5D8DULL>& RebellionBodyPath1(); +EncryptedName<18, 0x2F1337956DC3CFD5ULL>& SummonerBodyPath1(); +EncryptedName<23, 0xC91F9D493F75FDA3ULL>& SummonerCartBodyPath1(); +EncryptedName<18, 0x1F01A13D8D915327ULL>& SummonerBodyPath2(); +EncryptedName<23, 0xF33D3D3B0BD9C53DULL>& SummonerCartBodyPath2(); +EncryptedName<10, 0xC74BB3BB110FB10FULL>& NinjaBodyPath1(); +EncryptedName<10, 0x0B5F6D6B23D5AFA7ULL>& NinjaBodyPath2(); +EncryptedName<16, 0x2B7BAB0B6971E3E9ULL>& KagerouBodyPath3(); +EncryptedName<12, 0x8773593DB181D573ULL>& OboroBodyPath3(); +EncryptedName<16, 0xFBDBDB13A77191BFULL>& KagerouBodyPath4(); +EncryptedName<12, 0x19BBC5910555FB97ULL>& OboroBodyPath4(); +EncryptedName<18, 0xBBD983C7FD611FE3ULL>& TaekwonBodyPath4(); +EncryptedName<18, 0xA1ED494BF319772DULL>& TaekwonBodyPath5(); +EncryptedName<18, 0x798B394FF5FF434DULL>& TaekwonBodyPath6(); +EncryptedName<18, 0x410DD52D6731BFFDULL>& TaekwonBodyPath7(); +EncryptedName<18, 0x07B733370F612D0FULL>& TaekwonBodyPath8(); +EncryptedName<14, 0x113DC179F1C795C9ULL>& WizardBodyPath9(); +EncryptedName<14, 0x31F5C32DD5C53779ULL>& WizardBodyPath10(); +EncryptedName<10, 0x2F9B717365C1250FULL>& GunslingerBodyPath1(); +EncryptedName<10, 0x4FE54379493FB5D5ULL>& GunslingerBodyPath2(); +EncryptedName<20, 0x656FAB972B3D21BBULL>& RebellionBodyPath2(); +EncryptedName<20, 0x33CD2BDD5B3927EDULL>& RebellionBodyPath3(); +EncryptedName<18, 0xD97BB73901ED99BFULL>& TaekwonBodyPath9(); +EncryptedName<14, 0x5D6B8FCBE3FB97A1ULL>& WizardBodyPath11(); +EncryptedName<18, 0xE5FDE3151BED831FULL>& TaekwonBodyPath10(); +EncryptedName<14, 0x8971CB79C18D8B27ULL>& WizardBodyPath12(); +EncryptedName<18, 0x8DC5D10DAB1585BDULL>& TaekwonBodyPath11(); +EncryptedName<18, 0x21156F4141E35DD9ULL>& TaekwonBodyPath12(); +EncryptedName<18, 0x51EB99CBCB075F35ULL>& TaekwonBodyPath13(); +EncryptedName<14, 0x1B3B756FE399E1D9ULL>& WizardBodyPath13(); +EncryptedName<18, 0x3B6D9BFD27A7C7F7ULL>& TaekwonBodyPath14(); +EncryptedName<14, 0x451FD72783630709ULL>& WizardBodyPath14(); +EncryptedName<14, 0x73C32959FDFFA51BULL>& WizardBodyPath15(); +EncryptedName<14, 0xA15B555BE9CD2B81ULL>& WizardBodyPath16(); +EncryptedName<14, 0xD9115915B1919533ULL>& SageBodyPath8(); +EncryptedName<14, 0xB3F1A10745C1F105ULL>& SageBodyPath9(); +EncryptedName<18, 0x99157F159BB99BD9ULL>& WindhawkBodyPath1(); +EncryptedName<23, 0x7959FFBF652D07BFULL>& WolfWindhawkBodyPath1(); +EncryptedName<25, 0x01C9FBA7819FFBD7ULL>& WindhawkRidingBodyPath1(); +EncryptedName<22, 0xABED6971354375C3ULL>& TroubadourBodyPath1(); +EncryptedName<29, 0x6BA557130BDFE997ULL>& TroubadourRidingBodyPath1(); +EncryptedName<18, 0xFBAD074BDB2B77A1ULL>& TrouvereBodyPath1(); +EncryptedName<25, 0x6D05D5271B5D65C3ULL>& TrouvereRidingBodyPath1(); +EncryptedName<18, 0x050DF16FC75B25B9ULL>& CardinalBodyPath1(); +EncryptedName<25, 0x0789EBC9F5C1C59FULL>& CardinalRidingBodyPath1(); +EncryptedName<22, 0x3D8387EF97A37DCFULL>& InquisitorBodyPath1(); +EncryptedName<29, 0x07A7D947CF7323BFULL>& InquisitorRidingBodyPath1(); +EncryptedName<12, 0xD97DC927AFE911F1ULL>& BioloBodyPath1(); +EncryptedName<26, 0x8BA52B970DD531ADULL>& BioloRidingBodyPath1(); +EncryptedName<16, 0x47B7BF55EB471557ULL>& MeisterBodyPath1(); +EncryptedName<30, 0xCFB9671DEF4BD9E7ULL>& MeisterRidingBodyPath1(); +EncryptedName<35, 0x2F2103792383718BULL>& MeisterMadogear1BodyPath1(); +EncryptedName<28, 0x999F5191852D2F6BULL>& DragonKnightBodyPath1(); +EncryptedName<42, 0x4349ADE96FEB27E5ULL>& DragonKnightRidingBodyPath1(); +EncryptedName<44, 0xA55B7BEF3D7377E3ULL>& DragonKnightChickenBodyPath1(); +EncryptedName<30, 0x31E3CF9D358D8705ULL>& ImperialGuardBodyPath1(); +EncryptedName<44, 0x79A58B0F2173CF49ULL>& ImperialGuardRidingBodyPath1(); +EncryptedName<46, 0xF5496753BDE7C5BDULL>& ImperialGuardChickenBodyPath1(); +EncryptedName<26, 0x795787B7779D19DBULL>& ShadowCrossBodyPath1(); +EncryptedName<33, 0x6B3917C939150B9BULL>& ShadowCrossRidingBodyPath1(); +EncryptedName<26, 0x29AB0B59651BDFD5ULL>& AbyssChaserBodyPath1(); +EncryptedName<33, 0xF9B1EF9F7961EFF5ULL>& AbyssChaserRidingBodyPath1(); +EncryptedName<24, 0xA1DFCDAD555BB16DULL>& SkyEmperorBodyPath1(); +EncryptedName<25, 0xAFF9332FD397533FULL>& SkyEmperor2BodyPath1(); +EncryptedName<31, 0x194F8339AF753FADULL>& SkyEmperorRidingBodyPath1(); +EncryptedName<26, 0x7DC10333F96DE3E7ULL>& SoulAsceticBodyPath1(); +EncryptedName<33, 0xE9FBAB53D5A1BB17ULL>& SoulAsceticRidingBodyPath1(); +EncryptedName<18, 0x51372B6F4BA14B23ULL>& ShinkiroBodyPath1(); +EncryptedName<25, 0xB70319D3A78D39CDULL>& ShinkiroRidingBodyPath1(); +EncryptedName<18, 0x1F79132B518FD389ULL>& ShiranuiBodyPath1(); +EncryptedName<25, 0xC1FD95811D1F4FA1ULL>& ShiranuiRidingBodyPath1(); +EncryptedName<24, 0x35F59F6F3DD1C965ULL>& NightWatchBodyPath1(); +EncryptedName<31, 0xD7BBEB2DDB295D11ULL>& NightWatchRidingBodyPath1(); +EncryptedName<26, 0xBF0F412941076FADULL>& HyperNoviceBodyPath1(); +EncryptedName<33, 0x8DFF0B4B67D9FDE1ULL>& HyperNoviceRidingBodyPath1(); +EncryptedName<30, 0xB59BADC5B365617DULL>& SpiritHandlerBodyPath1(); +EncryptedName<37, 0x77D925073D6F19B9ULL>& SpiritHandlerRidingBodyPath1(); +EncryptedName<12, 0x91E7A7DFA58F9B6BULL>& DruidBodyPath1(); +EncryptedName<12, 0x2529F16B0375530DULL>& DruidBodyPath2(); +EncryptedName<14, 0x91DF1F5D3B014D45ULL>& KarnosBodyPath1(); +EncryptedName<14, 0x0D7FA94DD32361A9ULL>& KarnosBodyPath2(); +EncryptedName<14, 0x2F371DDDADDD53CFULL>& AliteaBodyPath1(); +EncryptedName<6, 0x2F3D75DFCF678FF3ULL>& DruidJobName1(); +EncryptedName<6, 0x3BBB5F0F8F216F31ULL>& DruidJobName2(); +EncryptedName<7, 0x6F9D21B96D71C1FFULL>& KarnosJobName1(); +EncryptedName<7, 0xED730315539785C7ULL>& KarnosJobName2(); +EncryptedName<7, 0x8F61434F0F79DDD7ULL>& AliteaJobName1(); +EncryptedName<9, 0xA5C5D1A3B9457B53ULL>& WerewolfJobName1(); +EncryptedName<11, 0x61F59D5D41E76519ULL>& WereRaptorJobName1(); +EncryptedName<13, 0x4B670715D543C1C3ULL>& DruidRidingName(); +EncryptedName<14, 0x7155E5EF0DFB0D03ULL>& KarnosRidingName(); +EncryptedName<14, 0x4B1D078937DB892BULL>& AliteaRidingName(); +EncryptedName<14, 0x6BC977B3B5993503ULL>& PoringSuperNovice2SpriteName(); +EncryptedName<14, 0x91493751EF33B5FDULL>& PoringSuperNovice2BabySpriteName(); +EncryptedName<18, 0x0DF5B33D9F21EB79ULL>& SheepPriestBabySpriteName(); +EncryptedName<14, 0x01E7898D9D235DDFULL>& FoxWizardBabySpriteName(); +EncryptedName<14, 0x6961FF056999A303ULL>& PigBlacksmithBabySpriteName(); +EncryptedName<14, 0x9DEFC105A1EB2F71ULL>& PigMechanicSpriteName(); +EncryptedName<14, 0xC7FB6DF18577D34BULL>& PigMechanicBabySpriteName(); +EncryptedName<14, 0xBD3F430159B551FDULL>& OstrichRangerSpriteName(); +EncryptedName<14, 0x2B477F9B5B39B301ULL>& OstrichRangerBabySpriteName(); +EncryptedName<10, 0x5B832361BDA77197ULL>& LionKnightSpriteName(); +EncryptedName<10, 0xEB3D4FAB0FC183DBULL>& LionKnightBabySpriteName(); +EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>& LionKnightHighSpriteName(); +EncryptedName<18, 0xE51B29334D353B81ULL>& LionRoyalGuardSpriteName(); +EncryptedName<18, 0x8F3F2FA959977F9FULL>& LionRoyalGuardBabySpriteName(); +EncryptedName<18, 0x7FE563BD3FB7F925ULL>& LionRuneKnightSpriteName(); +EncryptedName<18, 0x8B3FA35B5BDDDF89ULL>& LionRuneKnightBabySpriteName(); +EncryptedName<22, 0x7DB1050779034DE7ULL>& LionCrusaderSpriteName(); +EncryptedName<22, 0x5D6B3B1DEB2397B1ULL>& LionCrusaderBabySpriteName(); +EncryptedName<22, 0x07112F85A39F4FABULL>& LionCrusaderHighSpriteName(); +EncryptedName<16, 0x45E3F103CBB5F157ULL>& KagerouSpriteName(); +EncryptedName<12, 0x936F3D2FFDFD87F5ULL>& OboroSpriteName(); +EncryptedName<16, 0x2D33791F67AD47DFULL>& FrogKagerouSpriteName(); +EncryptedName<12, 0x6B3301E1A3079125ULL>& FrogOboroSpriteName(); +EncryptedName<20, 0x2F2701A7E56D3D89ULL>& RebellionSpriteName(); +EncryptedName<18, 0xC39FB559A17D3963ULL>& DoramSummonerSpriteName(); +EncryptedName<23, 0x71B7691737C5A1AFULL>& DoramCartSummonerSpriteName(); +EncryptedName<18, 0x899D11BB83695B0DULL>& DoramSummonerBabySpriteName(); +EncryptedName<23, 0x2B8725D7E95325F5ULL>& DoramCartSummonerBabySpriteName(); +EncryptedName<10, 0x7989830DE73B9DBDULL>& NinjaBabySpriteName(); +EncryptedName<10, 0xBDADDD87C5A50B6BULL>& FrogNinjaBabySpriteName(); +EncryptedName<16, 0xA7471985F93F9BDFULL>& KagerouBabySpriteName(); +EncryptedName<12, 0x5FFD7FABB5D1EF57ULL>& OboroBabySpriteName(); +EncryptedName<16, 0xD3E5516F89F161D1ULL>& FrogKagerouBabySpriteName(); +EncryptedName<12, 0xF535E561137F138DULL>& FrogOboroBabySpriteName(); +EncryptedName<18, 0xABED6971354375C3ULL>& TaekwonBabySpriteName(); +EncryptedName<18, 0x01C9FBA7819FFBD7ULL>& PoringTaekwonBabySpriteName(); +EncryptedName<10, 0xFBAD074BDB2B77A1ULL>& StarGladiatorBabySpriteName(); +EncryptedName<10, 0x6BA557130BDFE997ULL>& StarGladiator2BabySpriteName(); +EncryptedName<10, 0x050DF16FC75B25B9ULL>& PoringStarGladiatorBabySpriteName(); +EncryptedName<18, 0x6D05D5271B5D65C3ULL>& SoulLinkerBabySpriteName(); +EncryptedName<18, 0x3D8387EF97A37DCFULL>& FrogSoulLinkerBabySpriteName(); +EncryptedName<24, 0x3BBB5F0F8F216F31ULL>& NightWatchBodyPath2(); +EncryptedName<31, 0x2F3D75DFCF678FF3ULL>& NightWatchRidingBodyPath2(); +EncryptedName<26, 0xED730315539785C7ULL>& HyperNoviceBodyPath2(); +EncryptedName<33, 0x6F9D21B96D71C1FFULL>& HyperNoviceRidingBodyPath2(); +EncryptedName<30, 0x39E7F13755252F8FULL>& SpiritHandlerBodyPath2(); +EncryptedName<37, 0xCBD7DDAFDF87F549ULL>& SpiritHandlerRidingBodyPath2(); +EncryptedName<12, 0xEB074B7FBDA3BFD5ULL>& DruidBodyPath3(); +EncryptedName<12, 0x3D075BD5256F9B6FULL>& DruidBodyPath4(); +EncryptedName<14, 0x251761D7370BA5C3ULL>& KarnosBodyPath3(); +EncryptedName<14, 0x03014749B127914FULL>& KarnosBodyPath4(); +EncryptedName<14, 0x85FB93CF2F494179ULL>& AliteaBodyPath2(); + +#endif diff --git a/Source/Contents/Configuration/ServiceOptions.cpp b/Source/Contents/Configuration/ServiceOptions.cpp index 00750ae44..d33de6dd7 100644 --- a/Source/Contents/Configuration/ServiceOptions.cpp +++ b/Source/Contents/Configuration/ServiceOptions.cpp @@ -1465,7 +1465,7 @@ int g_viewportWidth = 1024; int g_viewportHeight = 768; // GLOBAL: gl_24767 -extern const GUID g_defaultDrawGuidDX7 = {}; +const GUID g_defaultDrawGuidDX7 = {}; // OFFSET: 0x00DFE4E0 // FUNCTION: fn_23604 diff --git a/Source/Contents/Configuration/ServiceOptions.h b/Source/Contents/Configuration/ServiceOptions.h index 7bbbe96e9..1f391045a 100644 --- a/Source/Contents/Configuration/ServiceOptions.h +++ b/Source/Contents/Configuration/ServiceOptions.h @@ -6,6 +6,7 @@ #include #include +#include enum ServiceOption : int { ConfineCursor = 271 }; @@ -25,6 +26,7 @@ struct ServiceOptions { extern ServiceOptions g_serviceOptions; extern float g_serviceOptionJitterScale; extern bool g_showBattleFieldIcon; +extern const GUID g_defaultDrawGuidDX7; #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(ServiceOptions) == 0x20); diff --git a/Source/Contents/Effects/Skills/TalismanMarkEffect.cpp b/Source/Contents/Effects/Skills/TalismanMarkEffect.cpp index dc733e633..d27422ee8 100644 --- a/Source/Contents/Effects/Skills/TalismanMarkEffect.cpp +++ b/Source/Contents/Effects/Skills/TalismanMarkEffect.cpp @@ -3,6 +3,7 @@ #include "Client/Mode/CGameMode.h" #include "Client/Mode/ModeMgr.h" #include "Contents/Camera/Camera.h" +#include "Contents/Effects/Core/EffectMemoryMgr.h" #include "Contents/Effects/Particles/Particle.h" #include "Utility/Math/AffineMatrix.h" #include "Utility/Math/Vector3d.h" @@ -11,9 +12,6 @@ #include #include -CParticle* CreateEZ2STRParticle(const vector3d* position, int flags); -void FreeParticle(CParticle* particle); - namespace { // INLINED __forceinline bool IsParticleActive(const CEZ2STRParticle* particle) { diff --git a/Source/Contents/Effects/Skills/TriangleShotArrow.cpp b/Source/Contents/Effects/Skills/TriangleShotArrow.cpp index e633083ab..dec3fc385 100644 --- a/Source/Contents/Effects/Skills/TriangleShotArrow.cpp +++ b/Source/Contents/Effects/Skills/TriangleShotArrow.cpp @@ -4,14 +4,12 @@ #include "Client/Mode/ModeMgr.h" #include "Contents/Camera/Camera.h" #include "Contents/Configuration/ServiceOptions.h" +#include "Contents/Effects/Core/EffectMemoryMgr.h" #include "Contents/Effects/Particles/Particle.h" #include "Utility/Math/AffineMatrix.h" #include -CParticle* CreateEZ2STRParticle(const vector3d* position, int flags); -void FreeParticle(CParticle* particle); - // OFFSET: 0x0072ED00 // FUNCTION: fn_07521 CTriangleShotArrow::CTriangleShotArrow() : CEffect(-1) { diff --git a/Source/Contents/Items/ClientItemLists.cpp b/Source/Contents/Items/ClientItemLists.cpp index 98d0e4986..f5b0689a4 100644 --- a/Source/Contents/Items/ClientItemLists.cpp +++ b/Source/Contents/Items/ClientItemLists.cpp @@ -188,8 +188,6 @@ static_assert(sizeof(ItemAddGradePacket) == 0x3A); static_assert(sizeof(ItemListRecord) == 0x22); #endif -int GetEquipLocationIndex(const int& mask); - namespace EquipmentProperties { class CEquipment { public: diff --git a/Source/Contents/Jobs/JobInheritance.cpp b/Source/Contents/Jobs/JobInheritance.cpp index d1a293af3..bc6f85f2a 100644 --- a/Source/Contents/Jobs/JobInheritance.cpp +++ b/Source/Contents/Jobs/JobInheritance.cpp @@ -1769,8 +1769,6 @@ bool CSession::IsCostumeJob(int job) const { } } -int GetEquipLocationIndex(const int& mask); - namespace EquipmentProperties { class CEquipmentProperties; diff --git a/Source/Contents/Map/MapSkyMgr.h b/Source/Contents/Map/MapSkyMgr.h index c2f517b76..28f134cf2 100644 --- a/Source/Contents/Map/MapSkyMgr.h +++ b/Source/Contents/Map/MapSkyMgr.h @@ -68,4 +68,7 @@ extern CWeatherEffect g_weatherEffect; extern float g_depthAverageHalf; extern CMapSkyMgr* g_mapSkyMgr; +CMapSkyMgr* GetMapSkyMgr(); +void IgnoreNull(); + #endif diff --git a/Source/Contents/Messenger/ClientMessenger.cpp b/Source/Contents/Messenger/ClientMessenger.cpp index a73230dc9..f69e5c48d 100644 --- a/Source/Contents/Messenger/ClientMessenger.cpp +++ b/Source/Contents/Messenger/ClientMessenger.cpp @@ -64,8 +64,6 @@ extern "C" { #include } -void __fastcall RefreshItemWindows(UIWindowMgr* mgr); - namespace EquipmentProperties { class CEquipmentProperties; } diff --git a/Source/Contents/Messenger/ClientMessenger.h b/Source/Contents/Messenger/ClientMessenger.h index 87513bf0d..8e840e00e 100644 --- a/Source/Contents/Messenger/ClientMessenger.h +++ b/Source/Contents/Messenger/ClientMessenger.h @@ -12,6 +12,7 @@ class CEquipmentPropertiesMgr; } extern EquipmentProperties::CEquipmentPropertiesMgr* g_equipmentPropertiesMgr; +int GetEquipLocationIndex(const int& mask); #endif diff --git a/Source/Contents/Repute/ReputeMgr.cpp b/Source/Contents/Repute/ReputeMgr.cpp index fffa3298d..c6490094a 100644 --- a/Source/Contents/Repute/ReputeMgr.cpp +++ b/Source/Contents/Repute/ReputeMgr.cpp @@ -9,14 +9,13 @@ #include "UI/Window/UIWindow.h" #include "UI/Window/UIWindowMgr.h" #include "Resource/Json/JsonCppLoader.h" +#include "Resource/Json/JsonCppLoaderExternal.h" #include "Resource/MSGSTRINGID.h" #include #include #include -extern "C" void JsonDestroy(); - struct JsonValueCopy { /* 0000 */ JsonValue value; diff --git a/Source/Contents/SignBoard/SignBoard.h b/Source/Contents/SignBoard/SignBoard.h index 3933246ab..bc8afeffb 100644 --- a/Source/Contents/SignBoard/SignBoard.h +++ b/Source/Contents/SignBoard/SignBoard.h @@ -88,6 +88,7 @@ public: extern CSignBoardMgr* s_signBoardMgr; bool CreateSignBoardMgr(); void DestroySignBoardMgr(); +void __fastcall InitializeSignBoardManager(CSignBoardMgr* manager); #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(CIcon) == 0x138); diff --git a/Source/Contents/Skills/ClientSkills.h b/Source/Contents/Skills/ClientSkills.h index 425be4485..4f788fee9 100644 --- a/Source/Contents/Skills/ClientSkills.h +++ b/Source/Contents/Skills/ClientSkills.h @@ -20,6 +20,7 @@ static_assert(sizeof(ActiveSkillEffect) == 28); static_assert(offsetof(ActiveSkillEffect, remainingDuration) == 0x18); #endif +void InitMapTypeInfoTable(); float GetSkillFactor(int job); #endif diff --git a/Source/Contents/Sound/SoundConfiguration.h b/Source/Contents/Sound/SoundConfiguration.h index 5658888c4..bbfb9b33b 100644 --- a/Source/Contents/Sound/SoundConfiguration.h +++ b/Source/Contents/Sound/SoundConfiguration.h @@ -17,4 +17,6 @@ struct SoundConfiguration { extern SoundConfiguration g_soundConfiguration; +int ReadSetup(); + #endif diff --git a/Source/Render/DX7/RenderAdapterDX7.cpp b/Source/Render/DX7/RenderAdapterDX7.cpp index 14d917e36..1e0572ad0 100644 --- a/Source/Render/DX7/RenderAdapterDX7.cpp +++ b/Source/Render/DX7/RenderAdapterDX7.cpp @@ -1,3 +1,4 @@ +#include "Contents/Configuration/ServiceOptions.h" #include "Render/DX7/DirectDrawEnumeration.h" #include "Render/Device/RenderAdapter.h" #include "Render/DX7/RenderSystemDX7.h" diff --git a/Source/Render/DX7/RenderSystemDX7.cpp b/Source/Render/DX7/RenderSystemDX7.cpp index e80c1862f..6926bc530 100644 --- a/Source/Render/DX7/RenderSystemDX7.cpp +++ b/Source/Render/DX7/RenderSystemDX7.cpp @@ -1,4 +1,5 @@ #include "Render/DX7/RenderSystemDX7.h" +#include "Contents/Configuration/ServiceOptions.h" #include "Render/DX7/DeviceOwnerDX7.h" #include "Render/DX7/DirectDrawEnumeration.h" #include "Render/DX7/SurfaceDX7.h" diff --git a/Source/Render/DX7/RenderSystemDX7.h b/Source/Render/DX7/RenderSystemDX7.h index bc8cbb043..c01a28d95 100644 --- a/Source/Render/DX7/RenderSystemDX7.h +++ b/Source/Render/DX7/RenderSystemDX7.h @@ -58,7 +58,6 @@ extern GUID g_configuredDeviceGuid; extern char g_configuredDeviceName[0x20]; extern int g_viewportWidth; extern int g_viewportHeight; -extern const GUID g_defaultDrawGuidDX7; void ClearDirectDrawModes(); diff --git a/Source/Render/Device/DisplayMode.h b/Source/Render/Device/DisplayMode.h index 121bcaba5..7592b05ee 100644 --- a/Source/Render/Device/DisplayMode.h +++ b/Source/Render/Device/DisplayMode.h @@ -21,6 +21,8 @@ std::vector EnumerateDisplayModesDX7(unsigned deviceIndex); std::vector EnumerateDisplayModesDX9(UINT adapter); +LSTATUS SaveDisplayDeviceSettings(); + #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(DisplayMode) == 36); static_assert(offsetof(DisplayMode, height) == 0x0004); diff --git a/Source/Render/Device/RenderAdapter.cpp b/Source/Render/Device/RenderAdapter.cpp index 0024ab69d..bf3d7e7fd 100644 --- a/Source/Render/Device/RenderAdapter.cpp +++ b/Source/Render/Device/RenderAdapter.cpp @@ -1,3 +1,4 @@ +#include "Contents/Configuration/ServiceOptions.h" #include "Render/DX9/DeviceOwnerDX9.h" #include "Render/DX9/RenderSystemDX9.h" #include "Render/Device/RenderAdapter.h" diff --git a/Source/Resource/Json/JsonCppLoader.cpp b/Source/Resource/Json/JsonCppLoader.cpp index 8bb5fbe9c..97634136c 100644 --- a/Source/Resource/Json/JsonCppLoader.cpp +++ b/Source/Resource/Json/JsonCppLoader.cpp @@ -1,10 +1,11 @@ #include "Resource/Json/JsonCppLoader.h" +#include "Resource/Json/JsonCppLoaderExternal.h" +#include "Resource/Json/JsonCppLoaderParsing.h" #include #include #include - -extern "C" void JsonDestroy(); +#include struct JsonValueLocal { JsonValue value; @@ -59,44 +60,6 @@ bool JsonCppLoader::GetStringValue(const JsonValue& node, const std::string& key } -#include - -struct JsonCppLoaderBsonOptions { - void* storage[4]; -}; - -struct JsonCppLoaderJsonOptions { - unsigned char storage[248]; -}; - -extern "C" void JsonDefaultParsingHandler(); - -struct JsonCppLoaderJsonHandler { - unsigned char storage[40]; - - // INLINED - JsonCppLoaderJsonHandler() { - reinterpret_cast(JsonDefaultParsingHandler)(this, this); - } - - JsonCppLoaderJsonHandler(const JsonCppLoaderJsonHandler&) = delete; - - // INLINED - ~JsonCppLoaderJsonHandler() { - } -}; - -extern "C" { -void BsonDecodeOptionsConstruct(); -void JsonDecodeOptionsConstruct(); -void JsonOptionsCommonDestroy(); -void JsonDefaultParsingHandler(); -void JsonSwap(); -void JsonDestroy(); -void JsonCopyConstruct(); -void* __cdecl JsonNull(); -} - // INLINED static JsonValue CopyNullJsonValue() { JsonValue value; @@ -104,31 +67,6 @@ static JsonValue CopyNullJsonValue() { return value; } -struct JsonCppLoaderParsedValue { - JsonValue value; - - // INLINED - JsonCppLoaderParsedValue& operator=(JsonCppLoaderParsedValue&& other) { - if (this != &other) { - reinterpret_cast(JsonSwap)(&this->value, &other.value); - } - - return *this; - } - - // INLINED - ~JsonCppLoaderParsedValue() { - reinterpret_cast(JsonDestroy)(&this->value); - } -}; - -extern "C" { -JsonCppLoaderParsedValue __cdecl JsonDecodeBsonStream(std::ifstream* file, JsonCppLoaderBsonOptions* options); -JsonCppLoaderParsedValue __cdecl JsonDecodeBsonBuffer(const std::vector* buffer, JsonCppLoaderBsonOptions* options); -JsonCppLoaderParsedValue __cdecl JsonParseStream(std::ifstream* file, JsonCppLoaderJsonOptions* options, JsonCppLoaderJsonHandler handler); -JsonCppLoaderParsedValue __cdecl JsonParseString(const unsigned char* data, JsonCppLoaderJsonOptions* options, JsonCppLoaderJsonHandler handler); -} - struct JsonCppLoaderJsonOptionsGuard { JsonCppLoaderJsonOptions* options; diff --git a/Source/Resource/Json/JsonCppLoader.h b/Source/Resource/Json/JsonCppLoader.h index 2bf8918d3..7db751063 100644 --- a/Source/Resource/Json/JsonCppLoader.h +++ b/Source/Resource/Json/JsonCppLoader.h @@ -1,6 +1,8 @@ #ifndef RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADER_H #define RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADER_H +#include "Resource/Json/JsonCppLoaderExternal.h" + #include #include #include @@ -237,11 +239,6 @@ public: /* 0031 */ bool succeeded; }; -extern "C" { -void JsonCopyConstruct(); -void* __cdecl JsonNull(); -} - inline JsonValue& JsonCppLoader::GetValue(JsonValue& out, const std::string& key, const JsonValue& node, int expectedType) { const JsonValue* source = static_cast(JsonNull()); if (!node.IsNull() && node.IsObject()) { diff --git a/Source/Resource/Json/JsonCppLoaderExternal.h b/Source/Resource/Json/JsonCppLoaderExternal.h new file mode 100644 index 000000000..7bf1200f8 --- /dev/null +++ b/Source/Resource/Json/JsonCppLoaderExternal.h @@ -0,0 +1,15 @@ +#ifndef RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADEREXTERNAL_H +#define RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADEREXTERNAL_H + +extern "C" { +void BsonDecodeOptionsConstruct(); +void JsonDecodeOptionsConstruct(); +void JsonOptionsCommonDestroy(); +void JsonDefaultParsingHandler(); +void JsonSwap(); +void JsonDestroy(); +void JsonCopyConstruct(); +void* __cdecl JsonNull(); +} + +#endif diff --git a/Source/Resource/Json/JsonCppLoaderParsing.h b/Source/Resource/Json/JsonCppLoaderParsing.h new file mode 100644 index 000000000..0b2671855 --- /dev/null +++ b/Source/Resource/Json/JsonCppLoaderParsing.h @@ -0,0 +1,58 @@ +#ifndef RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADERPARSING_H +#define RAGNAROK_SOURCE_RESOURCE_JSON_JSONCPPLOADERPARSING_H + +#include "Resource/Json/JsonCppLoader.h" +#include "Resource/Json/JsonCppLoaderExternal.h" + +#include +#include + +struct JsonCppLoaderBsonOptions { + void* storage[4]; +}; + +struct JsonCppLoaderJsonOptions { + unsigned char storage[248]; +}; + +struct JsonCppLoaderJsonHandler { + unsigned char storage[40]; + + // INLINED + JsonCppLoaderJsonHandler() { + reinterpret_cast(JsonDefaultParsingHandler)(this, this); + } + + JsonCppLoaderJsonHandler(const JsonCppLoaderJsonHandler&) = delete; + + // INLINED + ~JsonCppLoaderJsonHandler() { + } +}; + +struct JsonCppLoaderParsedValue { + JsonValue value; + + // INLINED + JsonCppLoaderParsedValue& operator=(JsonCppLoaderParsedValue&& other) { + if (this != &other) { + reinterpret_cast(JsonSwap)(&this->value, &other.value); + } + + return *this; + } + + // INLINED + ~JsonCppLoaderParsedValue() { + reinterpret_cast(JsonDestroy)(&this->value); + } +}; + +extern "C" { +JsonCppLoaderParsedValue __cdecl JsonDecodeBsonStream(std::ifstream* file, JsonCppLoaderBsonOptions* options); +JsonCppLoaderParsedValue __cdecl JsonDecodeBsonBuffer(const std::vector* buffer, JsonCppLoaderBsonOptions* options); +JsonCppLoaderParsedValue __cdecl JsonParseStream(std::ifstream* file, JsonCppLoaderJsonOptions* options, JsonCppLoaderJsonHandler handler); +JsonCppLoaderParsedValue __cdecl JsonParseString(const unsigned char* data, JsonCppLoaderJsonOptions* options, JsonCppLoaderJsonHandler handler); +} + +#endif diff --git a/Source/Security/NProtectGameGuardMgr.cpp b/Source/Security/NProtectGameGuardMgr.cpp index 9ddfd8ee8..f07cd03d1 100644 --- a/Source/Security/NProtectGameGuardMgr.cpp +++ b/Source/Security/NProtectGameGuardMgr.cpp @@ -1,6 +1,8 @@ #include "Security/NProtectGameGuardMgr.h" +#include "Security/NProtectGameMon.h" #include "Client/Application/ApplicationWindow.h" #include "Client/Application/Launcher.h" +#include "Client/Mode/CGameMode.h" #include "Client/Session/Session.h" #include "Contents/Configuration/ServiceConfiguration.h" #include "Contents/Tables/MessageTable.h" @@ -28,13 +30,6 @@ static const char g_devClientTag[] = "Dev"; static const char g_nprotectSource[] = "C:\\repositories\\RagnarokClient\\RagnarokClient\\Security Solution\\nProtectGameGuard\\CNProtectGameGuardMgr.cpp"; -void CloseNPGameMon(); -void PreInitNPGameMonA(const char* name); -int InitNPGameMon(); -int __stdcall GameGuardCallback(int code, const int* packet); -void SetCallbackToGameMon(int(__stdcall* callback)(int, const int*)); -void WriteMyLog(const char* file, int line, const char* format, ...); - class CNPGameLib { public: // INLINED diff --git a/Source/Security/NProtectGameGuardMgr.h b/Source/Security/NProtectGameGuardMgr.h index 189f1f74b..0fcc5c069 100644 --- a/Source/Security/NProtectGameGuardMgr.h +++ b/Source/Security/NProtectGameGuardMgr.h @@ -58,4 +58,6 @@ static_assert(sizeof(CNProtectGameGuardMgr) == 0x50); extern CNProtectGameGuardMgr* g_nProtectGameGuardMgr; +int __stdcall GameGuardCallback(int code, const int* packet); + #endif diff --git a/Source/Security/NProtectGameMon.h b/Source/Security/NProtectGameMon.h new file mode 100644 index 000000000..9a741d8be --- /dev/null +++ b/Source/Security/NProtectGameMon.h @@ -0,0 +1,9 @@ +#ifndef RAGNAROK_SOURCE_SECURITY_NPROTECTGAMEMON_H +#define RAGNAROK_SOURCE_SECURITY_NPROTECTGAMEMON_H + +void CloseNPGameMon(); +void PreInitNPGameMonA(const char* name); +int InitNPGameMon(); +void SetCallbackToGameMon(int(__stdcall* callback)(int, const int*)); + +#endif diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index 17a450fa8..f11d1b2cf 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -11626,8 +11626,6 @@ void UIBookWnd::OnProcess() { } } -int ParseItemIdTag(const char* text, const char* end, int& length, int& itemId); - // OFFSET: 0x008F2DF0 // FUNCTION: fn_12262 void UITipboxWnd::PaintAnimations() { diff --git a/Source/UI/Cooldowns/CooldownOwner.h b/Source/UI/Cooldowns/CooldownOwner.h index 2451260bb..03a8cc355 100644 --- a/Source/UI/Cooldowns/CooldownOwner.h +++ b/Source/UI/Cooldowns/CooldownOwner.h @@ -33,6 +33,7 @@ public: extern CooldownOwner* g_cooldownOwner; +bool CreateCooldownOwner(); void DestroyCooldownOwner(); #if defined(_WIN32) && !defined(_WIN64) diff --git a/Source/UI/Enchant/EnchantUI.h b/Source/UI/Enchant/EnchantUI.h index fd6090ff3..5d33aaeaa 100644 --- a/Source/UI/Enchant/EnchantUI.h +++ b/Source/UI/Enchant/EnchantUI.h @@ -306,4 +306,11 @@ public: }; } +template <> +__declspec(noinline) void CUIListBoxEx::AddNewItem(); +template <> +__declspec(noinline) void CUIListBoxEx::AddNewItem(); +template <> +__declspec(noinline) CUIListBoxEx::CUIListBoxEx(); + #endif diff --git a/Source/UI/Enchant/UIEnchantUI.cpp b/Source/UI/Enchant/UIEnchantUI.cpp index b029e707a..af6b39ee2 100644 --- a/Source/UI/Enchant/UIEnchantUI.cpp +++ b/Source/UI/Enchant/UIEnchantUI.cpp @@ -50,13 +50,6 @@ template int CUIListBoxEx::ClearData(); template void CUIListBoxEx::UpdateScrollBar(); -template <> -__declspec(noinline) void CUIListBoxEx::AddNewItem(); -template <> -__declspec(noinline) void CUIListBoxEx::AddNewItem(); -template <> -__declspec(noinline) CUIListBoxEx::CUIListBoxEx(); - // OFFSET: 0x009F93D0 // FUNCTION: fn_14806 template <> diff --git a/Source/UI/Exchange/UIExchangeUI.cpp b/Source/UI/Exchange/UIExchangeUI.cpp index 92a4c4030..15b69e817 100644 --- a/Source/UI/Exchange/UIExchangeUI.cpp +++ b/Source/UI/Exchange/UIExchangeUI.cpp @@ -43,18 +43,6 @@ template void CUIListBoxEx::SetOnSel template void CUIListBoxEx::SetBinder(std::function); template void CUIListBoxEx::SetImages(const std::string&, const std::string&, const std::string&, const std::string&); -template <> -void CUIListBoxEx::UpdateScrollBar(); -template <> -void CUIListBoxEx::Paint(); -template <> -void CUIListBoxEx::OnWheel(int value); -template <> -void CUIListBoxEx::OnScroll(int position); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); // INLINED template diff --git a/Source/UI/Exchange/UIExchangeUI.h b/Source/UI/Exchange/UIExchangeUI.h index 4783afa45..c482b86ff 100644 --- a/Source/UI/Exchange/UIExchangeUI.h +++ b/Source/UI/Exchange/UIExchangeUI.h @@ -99,6 +99,18 @@ static_assert(offsetof(ExchangeUI::CItemListBox, onSelect) == 0xE8); static_assert(offsetof(ExchangeUI::CItemListBox, binder) == 0x110); #endif +template <> +void CUIListBoxEx::UpdateScrollBar(); +template <> +void CUIListBoxEx::Paint(); +template <> +void CUIListBoxEx::OnWheel(int value); +template <> +void CUIListBoxEx::OnScroll(int position); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); template <> void CUIListBoxEx::Resize(int width, int height); diff --git a/Source/UI/GameSettings/GameSettingsUI.cpp b/Source/UI/GameSettings/GameSettingsUI.cpp index de2507b0c..d1f7b9131 100644 --- a/Source/UI/GameSettings/GameSettingsUI.cpp +++ b/Source/UI/GameSettings/GameSettingsUI.cpp @@ -80,45 +80,6 @@ bool g_restartClient; RenderAdapter::RenderAdapter() : backend(0), ordinal(0), drawGuid{}, renderGuid{}, deviceGuid{} { } -template <> -__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); -template <> -__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); -template <> -__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); -template <> -__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::Resize(int width, int height); -template <> -void CUIListBoxEx::Resize(int width, int height); -template <> -void CUIListBoxEx::Resize(int width, int height); -template <> -void CUIListBoxEx::Resize(int width, int height); -template <> -void CUIListBoxEx::Resize(int width, int height); - // OFFSET: 0x00A2C3C0 // FUNCTION: fn_15400 void GameSettingsUI::CUIGroupSkin::OnCreate(int width, int height) { diff --git a/Source/UI/GameSettings/GameSettingsUI.h b/Source/UI/GameSettings/GameSettingsUI.h index bb114cbfb..6ca9eccf4 100644 --- a/Source/UI/GameSettings/GameSettingsUI.h +++ b/Source/UI/GameSettings/GameSettingsUI.h @@ -396,4 +396,43 @@ public: /* 00FC */ CUIImageButton* m_closeButton; }; +template <> +__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); +template <> +__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); +template <> +__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); +template <> +__declspec(noinline) void CUIListBoxEx::SelectItem(CUIListItem* item); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::Resize(int width, int height); +template <> +void CUIListBoxEx::Resize(int width, int height); +template <> +void CUIListBoxEx::Resize(int width, int height); +template <> +void CUIListBoxEx::Resize(int width, int height); +template <> +void CUIListBoxEx::Resize(int width, int height); + #endif diff --git a/Source/UI/Login/UINewSelectCharWnd.cpp b/Source/UI/Login/UINewSelectCharWnd.cpp index 31b5fd012..8ce3fa039 100644 --- a/Source/UI/Login/UINewSelectCharWnd.cpp +++ b/Source/UI/Login/UINewSelectCharWnd.cpp @@ -47,8 +47,6 @@ unsigned char g_selectedSlotIndex; -extern const char* LookupMessage(int id); - #pragma pack(push, 1) struct BlockedCharacterEntry { /* 0000 */ std::uint32_t gid; diff --git a/Source/UI/Login/UISelCharForUServerWnd.cpp b/Source/UI/Login/UISelCharForUServerWnd.cpp index 6d84c805a..f3985087c 100644 --- a/Source/UI/Login/UISelCharForUServerWnd.cpp +++ b/Source/UI/Login/UISelCharForUServerWnd.cpp @@ -6,6 +6,7 @@ #include "Client/Session/Session.h" #include "Contents/Actors/Pc.h" #include "Contents/Sprites/SpriteRidingOffset.h" +#include "Contents/Tables/MessageTable.h" #include "Client/Session/Session.h" #include "Network/Connection/Connection.h" #include "Network/Packets/PacketLengths.h" @@ -23,9 +24,6 @@ #include #include -extern const char* LookupMessage(int id); - - #pragma pack(push, 1) struct PACKET_CZ_SELECT_CHARACTERS { /* 0000 */ std::int16_t id; diff --git a/Source/UI/ProbabilityTable/UIProbabilityTable.cpp b/Source/UI/ProbabilityTable/UIProbabilityTable.cpp index 1d91176f4..8fe43d889 100644 --- a/Source/UI/ProbabilityTable/UIProbabilityTable.cpp +++ b/Source/UI/ProbabilityTable/UIProbabilityTable.cpp @@ -97,21 +97,6 @@ void ProbabilityTableSelectCallback::operator()(CUIListItem* const& item) { } } -template <> -void CUIListBoxEx::OnScroll(int position); - -template <> -bool CUIListBoxEx::RebindIndex(int index); - -template <> -void CUIListBoxEx::AddNewItem(); - -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); - -template <> -void CUIListBoxEx::Resize(int width, int height); - // OFFSET: 0x00A47EF0 // FUNCTION: fn_16104 bool UnusedTrueA47EF0() { diff --git a/Source/UI/ProbabilityTable/UIProbabilityTable.h b/Source/UI/ProbabilityTable/UIProbabilityTable.h index 91302ec77..0a2c12a57 100644 --- a/Source/UI/ProbabilityTable/UIProbabilityTable.h +++ b/Source/UI/ProbabilityTable/UIProbabilityTable.h @@ -70,6 +70,21 @@ public: int HighlightKeyword(std::string& text, std::string_view keyword, std::string_view prefix, std::string_view suffix); +template <> +void CUIListBoxEx::OnScroll(int position); + +template <> +bool CUIListBoxEx::RebindIndex(int index); + +template <> +void CUIListBoxEx::AddNewItem(); + +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); + +template <> +void CUIListBoxEx::Resize(int width, int height); + #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(ProbabilityTable::CItemData) == 0x28); static_assert(sizeof(ProbabilityTable::CUIItem) == 0xF8); diff --git a/Source/UI/Quest/UIOngoingQuestInfo.cpp b/Source/UI/Quest/UIOngoingQuestInfo.cpp index da72fd26c..3caacd46a 100644 --- a/Source/UI/Quest/UIOngoingQuestInfo.cpp +++ b/Source/UI/Quest/UIOngoingQuestInfo.cpp @@ -28,9 +28,6 @@ template __declspec(noinline) std::_Tree_find_result, void*>*> std::map::_Mybase::_Find_lower_bound(const unsigned int&) const; -template <> -void CUIListBoxEx::OnScroll(int position); -template <> void CUIListBoxEx::AddNewItem(); template <> void CUIListBoxEx::LoadSkin(bool resolveSkin); template <> void CUIListBoxEx::Resize(int width, int height); // OFFSET: 0x00A4F580 // FUNCTION: fn_16213 bool UnusedTrueA4F580() { @@ -49,9 +46,6 @@ bool UnusedTrueA4F5A0() { return true; } -template <> -__declspec(noinline) CUIListBoxEx::CUIListBoxEx(); - // OFFSET: 0x00A4F630 // FUNCTION: fn_16217 template <> diff --git a/Source/UI/Quest/UIOngoingQuestInfo.h b/Source/UI/Quest/UIOngoingQuestInfo.h index c33b79634..de3bf6b88 100644 --- a/Source/UI/Quest/UIOngoingQuestInfo.h +++ b/Source/UI/Quest/UIOngoingQuestInfo.h @@ -142,6 +142,18 @@ public: } +template <> +void CUIListBoxEx::OnScroll(int position); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::Resize(int width, int height); + +template <> +__declspec(noinline) CUIListBoxEx::CUIListBoxEx(); + #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(OngoingQuestInfo::CUIContents) == 0x8C); static_assert(sizeof(OngoingQuestInfo::CUIRewards) == 0xA4); diff --git a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp index 2141926ec..885c86c8f 100644 --- a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp +++ b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp @@ -16,9 +16,9 @@ template __declspec(noinline) bool std::_Traits_equal>(const char*, std::size_t, const char*, std::size_t) noexcept; // GLOBAL: gl_24886 -extern const int g_runeSetSlotX[6] = {87, 201, 19, 269, 87, 201}; +const int g_runeSetSlotX[6] = {87, 201, 19, 269, 87, 201}; // GLOBAL: gl_24887 -extern const int g_runeSetSlotY[6] = {70, 70, 207, 207, 344, 344}; +const int g_runeSetSlotY[6] = {70, 70, 207, 207, 344, 344}; // OFFSET: 0x00816630 // FUNCTION: fn_10164 diff --git a/Source/UI/RuneSystem/UIRuneSystemWnd.h b/Source/UI/RuneSystem/UIRuneSystemWnd.h index 91e9ba609..d9da8aaad 100644 --- a/Source/UI/RuneSystem/UIRuneSystemWnd.h +++ b/Source/UI/RuneSystem/UIRuneSystemWnd.h @@ -34,6 +34,9 @@ class Decom_ItemInfo; class RuneData; class RuneSetData; +extern const int g_runeSetSlotX[6]; +extern const int g_runeSetSlotY[6]; + class UIRuneSetReWard : public UIBitmapButton { public: UIRuneSetReWard(); diff --git a/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h b/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h index 3ca9c60c3..1d6c75837 100644 --- a/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h +++ b/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h @@ -69,6 +69,24 @@ public: /* 00F0 */ int packageId; }; +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::Resize(int width, int height); +template <> +void CUIListBoxEx::Resize(int width, int height); + +template <> +void CUIListBoxEx::OnScroll(int position); +template <> +void CUIListBoxEx::OnScroll(int position); + #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(SelectPackageItemBox::CTabInfoData) == 0x20); #endif diff --git a/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp b/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp index fa893d5b4..1638ec797 100644 --- a/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp +++ b/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp @@ -30,19 +30,6 @@ template __declspec(noinline) std::list::~list() noexcept; template __declspec(noinline) std::list::~list() noexcept; -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::Resize(int width, int height); -template <> -void CUIListBoxEx::Resize(int width, int height); - // OFFSET: 0x00A684E0 // FUNCTION: fn_16646 template <> @@ -108,11 +95,6 @@ void CUISelectPackageItemBox::Initialize() { this->m_buttonBarStyle = 3; } -template <> -void CUIListBoxEx::OnScroll(int position); -template <> -void CUIListBoxEx::OnScroll(int position); - // OFFSET: 0x00A695F0 // FUNCTION: fn_16662 template <> diff --git a/Source/UI/SkillDelayInfo/SkillDelayInfo.h b/Source/UI/SkillDelayInfo/SkillDelayInfo.h index 4dc7a1910..36b895745 100644 --- a/Source/UI/SkillDelayInfo/SkillDelayInfo.h +++ b/Source/UI/SkillDelayInfo/SkillDelayInfo.h @@ -78,6 +78,19 @@ public: /* 010C */ int skillId; }; +template <> +void CUIListBoxEx::Paint(); +template <> +void CUIListBoxEx::OnWheel(int value); +template <> +void CUIListBoxEx::OnScroll(int position); +template <> +void CUIListBoxEx::AddNewItem(); +template <> +void CUIListBoxEx::LoadSkin(bool resolveSkin); +template <> +void CUIListBoxEx::Resize(int width, int height); + #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(SkillDelayInfo::CDelayItemData) == 0x0C); #endif diff --git a/Source/UI/SkillDelayInfo/UISkillDelayInfo.cpp b/Source/UI/SkillDelayInfo/UISkillDelayInfo.cpp index 40d93ec41..4aa908426 100644 --- a/Source/UI/SkillDelayInfo/UISkillDelayInfo.cpp +++ b/Source/UI/SkillDelayInfo/UISkillDelayInfo.cpp @@ -24,19 +24,6 @@ #include "Utility/Cipher/CryptName.h" #include "Utility/Cipher/Obfuscate.h" -template <> -void CUIListBoxEx::Paint(); -template <> -void CUIListBoxEx::OnWheel(int value); -template <> -void CUIListBoxEx::OnScroll(int position); -template <> -void CUIListBoxEx::AddNewItem(); -template <> -void CUIListBoxEx::LoadSkin(bool resolveSkin); -template <> -void CUIListBoxEx::Resize(int width, int height); - namespace { // INLINED diff --git a/Source/UI/Text/TextWrapping.h b/Source/UI/Text/TextWrapping.h index 32be64678..c88e5164f 100644 --- a/Source/UI/Text/TextWrapping.h +++ b/Source/UI/Text/TextWrapping.h @@ -11,4 +11,6 @@ void WrapRichText( const char* text, std::vector& lines, int width, bool carriageReturns ); +int ParseItemIdTag(const char* text, const char* end, int& length, int& itemId); + #endif diff --git a/Source/UI/Window/UIWindowMgr.cpp b/Source/UI/Window/UIWindowMgr.cpp index d00d3a8ca..33294c534 100644 --- a/Source/UI/Window/UIWindowMgr.cpp +++ b/Source/UI/Window/UIWindowMgr.cpp @@ -2153,8 +2153,6 @@ std::vector UIWindowMgr::SaveReplayWindows() { return data; } -void __fastcall RefreshPartyWindows(CSession* session); - // OFFSET: 0x00A8C4B0 // FUNCTION: fn_17132 void UIWindowMgr::CloseMiniPartyWindow(int id) {