#include "Client/Session.h" #include "Contents/EquipmentResourceMgr.h" #include "Contents/Jobs/JobId.h" #include "Utility/Cipher/XorBytes.h" #include "Utility/Text/FormatString.h" #include #include #include template class EncryptedName { public: explicit EncryptedName(const std::uint8_t (&source)[Length]) : m_encrypted(true) { for (std::uint64_t index = 0; index < Length; ++index) { this->m_text[index] = source[index]; } } ~EncryptedName() { for (std::uint64_t index = 0; index < Length; ++index) { this->m_text[index] = 0; } } const char* Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, Length, Key); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } private: /* 0000 */ std::uint8_t m_text[Length]; bool m_encrypted; }; // OFFSET: 0x00DC7440 // FUNCTION: fn_22794 template <> const char* EncryptedName<9, 0xA5C5D1A3B9457B53ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 9, 0xA5C5D1A3B9457B53ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7470 // FUNCTION: fn_22795 template <> const char* EncryptedName<10, 0xED5143E7C1B39315ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xED5143E7C1B39315ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC74A0 // FUNCTION: fn_22796 template <> const char* EncryptedName<10, 0xEB3D4FAB0FC183DBULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xEB3D4FAB0FC183DBULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC74D0 // FUNCTION: fn_22797 template <> const char* EncryptedName<10, 0xE3FB23537D2785BFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xE3FB23537D2785BFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7500 // FUNCTION: fn_22798 template <> const char* EncryptedName<10, 0xDD69EDFFA18F537DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xDD69EDFFA18F537DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7530 // FUNCTION: fn_22799 template <> const char* EncryptedName<10, 0xD98F03A52D35636DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xD98F03A52D35636DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7560 // FUNCTION: fn_22800 template <> const char* EncryptedName<10, 0xD3E5516F89F161D1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xD3E5516F89F161D1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7590 // FUNCTION: fn_22801 template <> const char* EncryptedName<10, 0xCBD7DDAFDF87F549ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xCBD7DDAFDF87F549ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC75C0 // FUNCTION: fn_22802 template <> const char* EncryptedName<10, 0xC98BB32777F94371ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC98BB32777F94371ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC75F0 // FUNCTION: fn_22803 template <> const char* EncryptedName<10, 0xC7FB6DF18577D34BULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC7FB6DF18577D34BULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7620 // FUNCTION: fn_22804 template <> const char* EncryptedName<10, 0xC74BB3BB110FB10FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC74BB3BB110FB10FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7650 // FUNCTION: fn_22805 template <> const char* EncryptedName<10, 0xC733B7A333F9F571ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC733B7A333F9F571ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7680 // FUNCTION: fn_22806 template <> const char* EncryptedName<10, 0xC71BB3CDEB499DD1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC71BB3CDEB499DD1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC76B0 // FUNCTION: fn_22807 template <> const char* EncryptedName<10, 0xC52FB5FBB94FF917ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC52FB5FBB94FF917ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC76E0 // FUNCTION: fn_22808 template <> const char* EncryptedName<10, 0xC39FB559A17D3963ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xC39FB559A17D3963ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7710 // FUNCTION: fn_22809 template <> const char* EncryptedName<10, 0xFFBF43D1FFD5FF49ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xFFBF43D1FFD5FF49ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7740 // FUNCTION: fn_22810 template <> const char* EncryptedName<10, 0xB7A76BF9CD41F99FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xB7A76BF9CD41F99FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7770 // FUNCTION: fn_22811 template <> const char* EncryptedName<10, 0xB3D5C99B2B05FFEFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xB3D5C99B2B05FFEFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC77A0 // FUNCTION: fn_22812 template <> const char* EncryptedName<10, 0xB3CF9BEB7963DB89ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xB3CF9BEB7963DB89ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC77D0 // FUNCTION: fn_22813 template <> const char* EncryptedName<10, 0xFB2BC75769E777D3ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xFB2BC75769E777D3ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7800 // FUNCTION: fn_22814 template <> const char* EncryptedName<10, 0xAFCD4F69FBDFE157ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xAFCD4F69FBDFE157ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7830 // FUNCTION: fn_22815 template <> const char* EncryptedName<10, 0xA7471985F93F9BDFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xA7471985F93F9BDFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7860 // FUNCTION: fn_22816 template <> const char* EncryptedName<10, 0xA5F51F3989DBB99FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xA5F51F3989DBB99FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7890 // FUNCTION: fn_22817 template <> const char* EncryptedName<10, 0x9D8F2D37BFFD61B7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x9D8F2D37BFFD61B7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC78C0 // FUNCTION: fn_22818 template <> const char* EncryptedName<10, 0x9B9D51AD3515F779ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x9B9D51AD3515F779ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC78F0 // FUNCTION: fn_22819 template <> const char* EncryptedName<10, 0x93E7A3A1F587CDC5ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x93E7A3A1F587CDC5ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7920 // FUNCTION: fn_22820 template <> const char* EncryptedName<10, 0x936F3D2FFDFD87F5ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x936F3D2FFDFD87F5ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7950 // FUNCTION: fn_22821 template <> const char* EncryptedName<10, 0x899D11BB83695B0DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x899D11BB83695B0DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7980 // FUNCTION: fn_22822 template <> const char* EncryptedName<10, 0x8741152D8FB34B4FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x8741152D8FB34B4FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC79B0 // FUNCTION: fn_22823 template <> const char* EncryptedName<10, 0xF5657D1F3DE5CDC7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xF5657D1F3DE5CDC7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC79E0 // FUNCTION: fn_22824 template <> const char* EncryptedName<10, 0xF535E561137F138DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0xF535E561137F138DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7A10 // FUNCTION: fn_22825 template <> const char* EncryptedName<10, 0x17359BF953C367B3ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x17359BF953C367B3ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7A40 // FUNCTION: fn_22826 template <> const char* EncryptedName<10, 0x190B8705C141D1CFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x190B8705C141D1CFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7A70 // FUNCTION: fn_22827 template <> const char* EncryptedName<10, 0x2F9B717365C1250FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x2F9B717365C1250FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7AA0 // FUNCTION: fn_22828 template <> const char* EncryptedName<10, 0x2FF3C5036D070127ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x2FF3C5036D070127ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7AD0 // FUNCTION: fn_22829 template <> const char* EncryptedName<10, 0x31956551B311FD95ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x31956551B311FD95ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7B00 // FUNCTION: fn_22830 template <> const char* EncryptedName<10, 0x3375B1C7DBB5FD55ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x3375B1C7DBB5FD55ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7B30 // FUNCTION: fn_22831 template <> const char* EncryptedName<10, 0x33832D4D3FDFBDBFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x33832D4D3FDFBDBFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7B60 // FUNCTION: fn_22832 template <> const char* EncryptedName<10, 0x3F5315DFE32B4FAFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x3F5315DFE32B4FAFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7B90 // FUNCTION: fn_22833 template <> const char* EncryptedName<10, 0x3FAF85D995034FD7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x3FAF85D995034FD7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7BC0 // FUNCTION: fn_22834 template <> const char* EncryptedName<10, 0x4755C1355575FD37ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x4755C1355575FD37ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7BF0 // FUNCTION: fn_22835 template <> const char* EncryptedName<10, 0x490FFB43A12F0DB9ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x490FFB43A12F0DB9ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7C20 // FUNCTION: fn_22836 template <> const char* EncryptedName<10, 0x4FE54379493FB5D5ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x4FE54379493FB5D5ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7C50 // FUNCTION: fn_22837 template <> const char* EncryptedName<10, 0x51C57BB9F1DD9B0FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x51C57BB9F1DD9B0FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7C80 // FUNCTION: fn_22838 template <> const char* EncryptedName<10, 0x59278F63D79F3DA1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x59278F63D79F3DA1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7CB0 // FUNCTION: fn_22839 template <> const char* EncryptedName<10, 0x5B832361BDA77197ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x5B832361BDA77197ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7CE0 // FUNCTION: fn_22840 template <> const char* EncryptedName<10, 0x67DD5BAB1919D9D1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x67DD5BAB1919D9D1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7D10 // FUNCTION: fn_22841 template <> const char* EncryptedName<10, 0x6961FF056999A303ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x6961FF056999A303ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7D40 // FUNCTION: fn_22842 template <> const char* EncryptedName<10, 0x6967633B9D89092BULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x6967633B9D89092BULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7D70 // FUNCTION: fn_22843 template <> const char* EncryptedName<10, 0x69FD1D9733D3CFC1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x69FD1D9733D3CFC1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7DA0 // FUNCTION: fn_22844 template <> const char* EncryptedName<10, 0x6BC977B3B5993503ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x6BC977B3B5993503ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7DD0 // FUNCTION: fn_22845 template <> const char* EncryptedName<10, 0x732B390D63FD47D7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x732B390D63FD47D7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7E00 // FUNCTION: fn_22846 template <> const char* EncryptedName<10, 0x7989830DE73B9DBDULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x7989830DE73B9DBDULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7E30 // FUNCTION: fn_22847 template <> const char* EncryptedName<10, 0x79DF094DD9616575ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x79DF094DD9616575ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7E60 // FUNCTION: fn_22848 template <> const char* EncryptedName<10, 0x7D61612937C1592DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x7D61612937C1592DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7E90 // FUNCTION: fn_22849 template <> const char* EncryptedName<10, 0x7D750DADBDE9C3F1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x7D750DADBDE9C3F1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7EC0 // FUNCTION: fn_22850 template <> const char* EncryptedName<10, 0x7FE563BD3FB7F925ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x7FE563BD3FB7F925ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7EF0 // FUNCTION: fn_22851 template <> const char* EncryptedName<10, 0x0B5F6D6B23D5AFA7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x0B5F6D6B23D5AFA7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7F20 // FUNCTION: fn_22852 template <> const char* EncryptedName<10, 0x0DF5B33D9F21EB79ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x0DF5B33D9F21EB79ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7F50 // FUNCTION: fn_22853 template <> const char* EncryptedName<10, 0x0F0F8B6B8F9D19D1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 10, 0x0F0F8B6B8F9D19D1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7F80 // FUNCTION: fn_22854 template <> const char* EncryptedName<16, 0xE1F181F923B759E7ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 16, 0xE1F181F923B759E7ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7FB0 // FUNCTION: fn_22855 template <> const char* EncryptedName<16, 0xFBDBDB13A77191BFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 16, 0xFBDBDB13A77191BFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC7FE0 // FUNCTION: fn_22856 template <> const char* EncryptedName<16, 0x978B51F50DC5FD25ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 16, 0x978B51F50DC5FD25ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8010 // FUNCTION: fn_22857 template <> const char* EncryptedName<16, 0x2B7BAB0B6971E3E9ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 16, 0x2B7BAB0B6971E3E9ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8040 // FUNCTION: fn_22858 template <> const char* EncryptedName<16, 0x47B7BF55EB471557ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 16, 0x47B7BF55EB471557ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8070 // FUNCTION: fn_22859 template <> const char* EncryptedName<18, 0xE5FDE3151BED831FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xE5FDE3151BED831FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC80A0 // FUNCTION: fn_22860 template <> const char* EncryptedName<18, 0xD97BB73901ED99BFULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xD97BB73901ED99BFULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC80D0 // FUNCTION: fn_22861 template <> const char* EncryptedName<18, 0xBD3F430159B551FDULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xBD3F430159B551FDULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8100 // FUNCTION: fn_22862 template <> const char* EncryptedName<18, 0xBBD983C7FD611FE3ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xBBD983C7FD611FE3ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8130 // FUNCTION: fn_22863 template <> const char* EncryptedName<18, 0xFBAD074BDB2B77A1ULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xFBAD074BDB2B77A1ULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8160 // FUNCTION: fn_22864 template <> const char* EncryptedName<18, 0xB739073FE921AD6FULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xB739073FE921AD6FULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00DC8190 // FUNCTION: fn_22865 template <> const char* EncryptedName<18, 0xA1ED494BF319772DULL>::Text() { if (this->m_encrypted) { utility::XorBytes(this->m_text, 18, 0xA1ED494BF319772DULL); this->m_encrypted = false; } return reinterpret_cast(this->m_text); } // OFFSET: 0x00E3D300 // FUNCTION: fn_24186 bool CSession::IsSecondJob(int job) { return job >= JT_RUNE_KNIGHT_2ND && job < JT_SECOND_JOB_END; } // OFFSET: 0x00E0A3A0 // FUNCTION: fn_23795 std::string CSession::GetBodyJobName(int job) { return this->m_bodyJobNames[job]; } // OFFSET: 0x00BAB850 // FUNCTION: fn_19753 std::string EquipmentResourceMgr::GetBodyResourceName(int type, int job, int sex, int costumeJob, int costume) { std::string result; std::string sexName; std::string jobName; const bool secondJob = g_session.IsSecondJob(costumeJob); const int spriteJob = g_session.GetSpriteJob(job, costumeJob, true); sexName = g_session.GetSexName(sex); jobName = g_session.GetBodyJobName(spriteJob); if (secondJob == true) { result = this->GetBodyRacePrefix(spriteJob + 3950) + FormatOwnedString("\\몸통\\%s\\costume_%d\\%s_%s_%d.%s", sexName.c_str(), 1, jobName.c_str(), sexName.c_str(), 1, g_equipmentResourceExtensions[type]); } else { result = this->GetBodyRacePrefix(spriteJob + 3950) + FormatOwnedString("\\몸통\\%s\\%s_%s.%s", sexName.c_str(), jobName.c_str(), sexName.c_str(), g_equipmentResourceExtensions[type]); } if (costume == 2) { std::size_t found = result.rfind("마도기어_"); if (found != std::string::npos) { result.replace(found, 9, "마도아머_", 9); } found = result.rfind("MEISTER_MADOGEAR1"); if (found != std::string::npos) { result.replace(found, 17, "MEISTER_MADOGEAR2", 17); } } return result; } // OFFSET: 0x00BABEF0 // FUNCTION: fn_19754 std::string EquipmentResourceMgr::GetBodyRacePrefix(int job) { if (g_session.IsDoramJob(job) == true) { return "도람족"; } return "인간족"; }