Add new archive manager, removed Panama & HybridCrypt, config utility improvements #20

Merged
Exynox merged 13 commits from nightly into master 2025-04-12 10:36:15 +03:00
71 changed files with 1026 additions and 4693 deletions
Showing only changes of commit 5ba1cb44b9 - Show all commits

View File

@ -15,8 +15,8 @@
#endif #endif
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0, 3, 1, 0 FILEVERSION 0,4,0,0
PRODUCTVERSION 0, 3, 1, 0 PRODUCTVERSION 0,4,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS METIN2_DEBUG FILEFLAGS METIN2_DEBUG
FILEOS VOS__WINDOWS32 FILEOS VOS__WINDOWS32
@ -29,12 +29,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "The Old Metin2 Project" VALUE "CompanyName", "The Old Metin2 Project"
VALUE "FileDescription", METIN2_COMPONENT_DESCRIPTION VALUE "FileDescription", METIN2_COMPONENT_DESCRIPTION
VALUE "FileVersion", "0.3.1.0" VALUE "FileVersion", "0.4.0.0"
VALUE "InternalName", METIN2_COMPONENT_INTERNALNAME VALUE "InternalName", METIN2_COMPONENT_INTERNALNAME
VALUE "LegalCopyright", "Copyright (C) 2024" VALUE "LegalCopyright", "Copyright (C) 2022-2025"
VALUE "OriginalFilename", METIN2_COMPONENT_FILENAME VALUE "OriginalFilename", METIN2_COMPONENT_FILENAME
VALUE "ProductName", "Metin2Config" VALUE "ProductName", "Metin2Config"
VALUE "ProductVersion", "0.3.1.0" VALUE "ProductVersion", "0.4.0.0"
END END
END END

View File

@ -362,8 +362,6 @@ bool CAccountConnector::__AuthState_RecvAuthSuccess()
} }
else else
{ {
DWORD dwPanamaKey = kAuthSuccessPacket.dwLoginKey ^ g_adwEncryptKey[0] ^ g_adwEncryptKey[1] ^ g_adwEncryptKey[2] ^ g_adwEncryptKey[3];
CPythonNetworkStream & rkNet = CPythonNetworkStream::Instance(); CPythonNetworkStream & rkNet = CPythonNetworkStream::Instance();
rkNet.SetLoginKey(kAuthSuccessPacket.dwLoginKey); rkNet.SetLoginKey(kAuthSuccessPacket.dwLoginKey);
rkNet.Connect(m_strAddr.c_str(), m_iPort); rkNet.Connect(m_strAddr.c_str(), m_iPort);
@ -389,9 +387,6 @@ bool CAccountConnector::__AuthState_RecvAuthSuccess_OpenID()
} }
else else
{ {
DWORD dwPanamaKey = kAuthSuccessOpenIDPacket.dwLoginKey ^ g_adwEncryptKey[0] ^ g_adwEncryptKey[1] ^ g_adwEncryptKey[2] ^ g_adwEncryptKey[3];
CEterPackManager::instance().DecryptPackIV(dwPanamaKey);
CPythonNetworkStream & rkNet = CPythonNetworkStream::Instance(); CPythonNetworkStream & rkNet = CPythonNetworkStream::Instance();
rkNet.SetLoginInfo(kAuthSuccessOpenIDPacket.login, "0000"); //OpenID 인증 과정에서 비밀번호는 사용되지 않는다. rkNet.SetLoginInfo(kAuthSuccessOpenIDPacket.login, "0000"); //OpenID 인증 과정에서 비밀번호는 사용되지 않는다.
rkNet.SetLoginKey(kAuthSuccessOpenIDPacket.dwLoginKey); rkNet.SetLoginKey(kAuthSuccessOpenIDPacket.dwLoginKey);

View File

@ -324,12 +324,6 @@ enum
// END_OF_SUPPORT_BGM // END_OF_SUPPORT_BGM
HEADER_GC_AUTH_SUCCESS = 150, HEADER_GC_AUTH_SUCCESS = 150,
HEADER_GC_PANAMA_PACK = 151,
//HYBRID CRYPT
HEADER_GC_HYBRIDCRYPT_KEYS = 152,
HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks
//HYBRID CRYPT
HEADER_GC_AUTH_SUCCESS_OPENID = 154, HEADER_GC_AUTH_SUCCESS_OPENID = 154,
@ -2612,70 +2606,6 @@ typedef struct SPacketGCResetOnTime
BYTE header; BYTE header;
} TPacketGCResetOnTime; } TPacketGCResetOnTime;
typedef struct SPacketGCPanamaPack
{
BYTE bHeader;
char szPackName[256];
BYTE abIV[32];
} TPacketGCPanamaPack;
typedef struct SPacketGCHybridCryptKeys
{
private:
SPacketGCHybridCryptKeys() : m_pStream(NULL) {}
public:
SPacketGCHybridCryptKeys(int iStreamSize) : iKeyStreamLen(iStreamSize)
{
m_pStream = new BYTE[iStreamSize];
}
~SPacketGCHybridCryptKeys()
{
if( m_pStream )
{
delete[] m_pStream;
m_pStream = NULL;
}
}
static int GetFixedHeaderSize()
{
return sizeof(BYTE)+sizeof(WORD)+sizeof(int);
}
BYTE bHeader;
WORD wDynamicPacketSize;
int iKeyStreamLen;
BYTE* m_pStream;
} TPacketGCHybridCryptKeys;
typedef struct SPacketGCHybridSDB
{
private:
SPacketGCHybridSDB() : m_pStream(NULL) {}
public:
SPacketGCHybridSDB(int iStreamSize) : iSDBStreamLen(iStreamSize)
{
m_pStream = new BYTE[iStreamSize];
}
~SPacketGCHybridSDB()
{
delete[] m_pStream;
m_pStream = NULL;
}
static int GetFixedHeaderSize()
{
return sizeof(BYTE)+sizeof(WORD)+sizeof(int);
}
BYTE bHeader;
WORD wDynamicPacketSize;
int iSDBStreamLen;
BYTE* m_pStream;
} TPacketGCHybridSDB;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Client To Client // Client To Client

View File

@ -176,8 +176,6 @@ class CMainPacketHeaderMap : public CNetworkPacketHeaderMap
Set(HEADER_GC_HS_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketHSCheck), STATIC_SIZE_PACKET)); Set(HEADER_GC_HS_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketHSCheck), STATIC_SIZE_PACKET));
Set(HEADER_GC_XTRAP_CS1_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketXTrapCSVerify), STATIC_SIZE_PACKET)); Set(HEADER_GC_XTRAP_CS1_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketXTrapCSVerify), STATIC_SIZE_PACKET));
Set(HEADER_GC_HYBRIDCRYPT_KEYS, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCHybridCryptKeys), DYNAMIC_SIZE_PACKET));
Set(HEADER_GC_HYBRIDCRYPT_SDB, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCHybridSDB), DYNAMIC_SIZE_PACKET));
Set(HEADER_GC_SPECIFIC_EFFECT, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCSpecificEffect), STATIC_SIZE_PACKET)); Set(HEADER_GC_SPECIFIC_EFFECT, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCSpecificEffect), STATIC_SIZE_PACKET));
Set(HEADER_GC_DRAGON_SOUL_REFINE, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCDragonSoulRefine), STATIC_SIZE_PACKET)); Set(HEADER_GC_DRAGON_SOUL_REFINE, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCDragonSoulRefine), STATIC_SIZE_PACKET));

View File

@ -126,8 +126,8 @@ IDI_METIN2 ICON "metin2.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,3,1,0 FILEVERSION 0,4,0,0
PRODUCTVERSION 0,3,1,0 PRODUCTVERSION 0,4,0,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -144,12 +144,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "The Old Metin2 Project" VALUE "CompanyName", "The Old Metin2 Project"
VALUE "FileDescription", "The Metin2 Client" VALUE "FileDescription", "The Metin2 Client"
VALUE "FileVersion", "0.3.1.0" VALUE "FileVersion", "0.4.0.0"
VALUE "InternalName", "Metin2Client" VALUE "InternalName", "Metin2Client"
VALUE "LegalCopyright", "Copyright (C) 2024" VALUE "LegalCopyright", "Copyright (C) 2022-2025"
VALUE "OriginalFilename", "Metin2.exe" VALUE "OriginalFilename", "Metin2.exe"
VALUE "ProductName", "Metin2Client" VALUE "ProductName", "Metin2Client"
VALUE "ProductVersion", "0.3.1.0" VALUE "ProductVersion", "0.4.0.0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"