Batch #2840 by youko: 72 byte-identical, 0 confirmed by peer review. - fn_22794 EncryptedName<9,-1186628781>::Text: byte-identical - fn_22795 EncryptedName<10,-1045196011>::Text: byte-identical - fn_22796 EncryptedName<10,-4030626853>::Text: byte-identical - fn_22797 EncryptedName<10,-2195225153>::Text: byte-identical - fn_22798 EncryptedName<10,-1584442499>::Text: byte-identical - fn_22799 EncryptedName<10,-3536493715>::Text: byte-identical - fn_22800 EncryptedName<10,-1980669487>::Text: byte-identical - fn_22801 EncryptedName<10,-544737975>::Text: byte-identical - fn_22802 EncryptedName<10,-2282142863>::Text: byte-identical - fn_22803 EncryptedName<10,-2055744693>::Text: byte-identical - fn_22804 EncryptedName<10,-4008726257>::Text: byte-identical - fn_22805 EncryptedName<10,-3422947983>::Text: byte-identical - fn_22806 EncryptedName<10,-347497007>::Text: byte-identical - fn_22807 EncryptedName<10,-1185941225>::Text: byte-identical - fn_22808 EncryptedName<10,-1585628829>::Text: byte-identical - fn_22809 EncryptedName<10,-2752695>::Text: byte-identical - fn_22810 EncryptedName<10,-851314273>::Text: byte-identical - fn_22811 EncryptedName<10,-3573153809>::Text: byte-identical - fn_22812 EncryptedName<10,-2258379895>::Text: byte-identical - fn_22813 EncryptedName<10,-2518190125>::Text: byte-identical - fn_22814 EncryptedName<10,-69213865>::Text: byte-identical - fn_22815 EncryptedName<10,-113271841>::Text: byte-identical - fn_22816 EncryptedName<10,-1982088801>::Text: byte-identical - fn_22817 EncryptedName<10,-1073913417>::Text: byte-identical - fn_22818 EncryptedName<10,-3404335239>::Text: byte-identical - fn_22819 EncryptedName<10,-175649339>::Text: byte-identical - fn_22820 EncryptedName<10,-33716235>::Text: byte-identical - fn_22821 EncryptedName<10,-2090247411>::Text: byte-identical - fn_22822 EncryptedName<10,-1884075185>::Text: byte-identical - fn_22823 EncryptedName<10,-3256496697>::Text: byte-identical - fn_22824 EncryptedName<10,-3967872115>::Text: byte-identical - fn_22825 EncryptedName<10,1405314995>::Text: byte-identical - fn_22826 EncryptedName<10,3242316239>::Text: byte-identical - fn_22827 EncryptedName<10,1707156751>::Text: byte-identical - fn_22828 EncryptedName<10,1829175591>::Text: byte-identical - fn_22829 EncryptedName<10,3004300693>::Text: byte-identical - fn_22830 EncryptedName<10,3686137173>::Text: byte-identical - fn_22831 EncryptedName<10,1071627711>::Text: byte-identical - fn_22832 EncryptedName<10,3811266479>::Text: byte-identical - fn_22833 EncryptedName<10,2500022231>::Text: byte-identical - fn_22834 EncryptedName<10,1433795895>::Text: byte-identical - fn_22835 EncryptedName<10,2704215481>::Text: byte-identical - fn_22836 EncryptedName<10,1228912085>::Text: byte-identical - fn_22837 EncryptedName<10,4057832207>::Text: byte-identical - fn_22838 EncryptedName<10,3617537441>::Text: byte-identical - fn_22839 EncryptedName<10,3181867415>::Text: byte-identical - fn_22840 EncryptedName<10,421124561>::Text: byte-identical - fn_22841 EncryptedName<10,1771676419>::Text: byte-identical - fn_22842 EncryptedName<10,2643003691>::Text: byte-identical - fn_22843 EncryptedName<10,869519297>::Text: byte-identical - fn_22844 EncryptedName<10,3046716675>::Text: byte-identical - fn_22845 EncryptedName<10,1677543383>::Text: byte-identical - fn_22846 EncryptedName<10,3879443901>::Text: byte-identical - fn_22847 EncryptedName<10,3647038837>::Text: byte-identical - fn_22848 EncryptedName<10,935418157>::Text: byte-identical - fn_22849 EncryptedName<10,3186213873>::Text: byte-identical - fn_22850 EncryptedName<10,1069021477>::Text: byte-identical - fn_22851 EncryptedName<10,601206695>::Text: byte-identical - fn_22852 EncryptedName<10,2669800313>::Text: byte-identical - fn_22853 EncryptedName<10,2409437649>::Text: byte-identical - fn_22854 EncryptedName<16,-3695748633>::Text: byte-identical - fn_22855 EncryptedName<16,-1485729345>::Text: byte-identical - fn_22856 EncryptedName<16,-4063888091>::Text: byte-identical - fn_22857 EncryptedName<16,1769071593>::Text: byte-identical - fn_22858 EncryptedName<16,3947304279>::Text: byte-identical - fn_22859 EncryptedName<18,-3826416865>::Text: byte-identical - fn_22860 EncryptedName<18,-4262618689>::Text: byte-identical - fn_22861 EncryptedName<18,-2789912067>::Text: byte-identical - fn_22862 EncryptedName<18,-43966493>::Text: byte-identical - fn_22863 EncryptedName<18,-617908319>::Text: byte-identical - fn_22864 EncryptedName<18,-383668881>::Text: byte-identical - fn_22865 EncryptedName<18,-216434899>::Text: byte-identical Merged automatically: every function is byte-identical to the original.
958 lines
24 KiB
C++
958 lines
24 KiB
C++
#include "Client/Session.h"
|
|
#include "Contents/EquipmentResourceMgr.h"
|
|
#include "Contents/Jobs/JobId.h"
|
|
#include "Utility/Cipher/XorBytes.h"
|
|
#include "Utility/Text/FormatString.h"
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
template <std::size_t Length, std::uint64_t Key>
|
|
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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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<const char*>(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 "인간족";
|
|
}
|