rodecomp/Source/Contents/BodyResources.cpp
ragnarok-clanker 99df2ede9d Decompile 72 functions in Source/Contents/BodyResources.cpp
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.
2026-10-29 19:32:02 +00:00

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 "인간족";
}