Merge pull request #28 from savisxss/main

removed matrix
This commit is contained in:
d1str4ught
2025-11-13 18:53:39 +01:00
committed by GitHub
7 changed files with 0 additions and 220 deletions

View File

@@ -57,39 +57,6 @@ void CAccountConnector::Disconnect()
__OfflineState_Set(); __OfflineState_Set();
} }
bool CAccountConnector::SendRunupMatrixCardPacket(const char * c_szMatrixCardString)
{
TPacketCGRunupMatrixAnswer answerPacket;
answerPacket.bHeader = HEADER_CG_RUNUP_MATRIX_ANSWER;
strncpy(answerPacket.szAnswer, c_szMatrixCardString, RUNUP_MATRIX_ANSWER_MAX_LEN);
answerPacket.szAnswer[RUNUP_MATRIX_ANSWER_MAX_LEN] = '\0';
if (!Send(sizeof(answerPacket), &answerPacket))
{
TraceError("SendRunupMatrixCardPacketError");
return false;
}
return SendSequence();
}
bool CAccountConnector::SendChinaMatrixCardPacket(const char * c_szMatrixCardString)
{
TPacketCGChinaMatrixCard MatrixCardPacket;
MatrixCardPacket.bHeader = HEADER_CG_CHINA_MATRIX_CARD;
strncpy(MatrixCardPacket.szAnswer, c_szMatrixCardString, CHINA_MATRIX_ANSWER_MAX_LEN);
MatrixCardPacket.szAnswer[CHINA_MATRIX_ANSWER_MAX_LEN] = '\0';
if (!Send(sizeof(MatrixCardPacket), &MatrixCardPacket))
{
Tracen("SendLogin Error");
return false;
}
CPythonNetworkStream::Instance().SetWaitFlag();
m_isWaitKey = TRUE;
return SendSequence();
}
void CAccountConnector::Process() void CAccountConnector::Process()
{ {
CNetworkStream::Process(); CNetworkStream::Process();
@@ -162,12 +129,6 @@ bool CAccountConnector::__AuthState_Process()
if (!__AnalyzePacket(HEADER_GC_LOGIN_FAILURE, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthFailure)) if (!__AnalyzePacket(HEADER_GC_LOGIN_FAILURE, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthFailure))
return true; return true;
if (!__AnalyzePacket(HEADER_GC_CHINA_MATRIX_CARD, sizeof(TPacketGCChinaMatrixCard), &CAccountConnector::__AuthState_RecvChinaMatrixCard))
return true;
if (!__AnalyzePacket(HEADER_GC_RUNUP_MATRIX_QUIZ, sizeof(TPacketGCRunupMatrixQuiz), &CAccountConnector::__AuthState_RecvRunupMatrixQuiz))
return true;
if (!__AnalyzePacket(HEADER_GC_HANDSHAKE, sizeof(TPacketGCHandshake), &CAccountConnector::__AuthState_RecvHandshake)) if (!__AnalyzePacket(HEADER_GC_HANDSHAKE, sizeof(TPacketGCHandshake), &CAccountConnector::__AuthState_RecvHandshake))
return false; return false;
@@ -386,41 +347,6 @@ bool CAccountConnector::__AuthState_RecvAuthFailure()
return true; return true;
} }
bool CAccountConnector::__AuthState_RecvRunupMatrixQuiz()
{
TPacketGCRunupMatrixQuiz kMatrixQuizPacket;
if (!Recv(sizeof(TPacketGCRunupMatrixQuiz), &kMatrixQuizPacket))
return false;
PyCallClassMemberFunc(m_poHandler, "BINARY_OnRunupMatrixQuiz", Py_BuildValue("(s)", kMatrixQuizPacket.szQuiz));
return true;
}
#define ROW(rows, i) ((rows >> ((4 - i - 1) * 8)) & 0x000000FF)
#define COL(cols, i) ((cols >> ((4 - i - 1) * 8)) & 0x000000FF)
bool CAccountConnector::__AuthState_RecvChinaMatrixCard()
{
TPacketGCChinaMatrixCard kMatrixCardPacket;
if (!Recv(sizeof(TPacketGCChinaMatrixCard), &kMatrixCardPacket))
return false;
if (m_poHandler)
{
PyObject * pyValue = Py_BuildValue("(iiiiiiii)", ROW(kMatrixCardPacket.dwRows, 0),
ROW(kMatrixCardPacket.dwRows, 1),
ROW(kMatrixCardPacket.dwRows, 2),
ROW(kMatrixCardPacket.dwRows, 3),
COL(kMatrixCardPacket.dwCols, 0),
COL(kMatrixCardPacket.dwCols, 1),
COL(kMatrixCardPacket.dwCols, 2),
COL(kMatrixCardPacket.dwCols, 3));
PyCallClassMemberFunc(m_poHandler, "OnMatrixCard", pyValue);
}
return true;
}
#ifdef _IMPROVED_PACKET_ENCRYPTION_ #ifdef _IMPROVED_PACKET_ENCRYPTION_
bool CAccountConnector::__AuthState_RecvKeyAgreement() bool CAccountConnector::__AuthState_RecvKeyAgreement()
{ {

View File

@@ -21,9 +21,6 @@ class CAccountConnector : public CNetworkStream, public CSingleton<CAccountConne
void SetLoginInfo(const char * c_szName, const char * c_szPwd); void SetLoginInfo(const char * c_szName, const char * c_szPwd);
void ClearLoginInfo( void ); void ClearLoginInfo( void );
bool SendChinaMatrixCardPacket(const char * c_szMatrixCardString);
bool SendRunupMatrixCardPacket(const char * c_szMatrixCardString);
bool Connect(const char * c_szAddr, int iPort, const char * c_szAccountAddr, int iAccountPort); bool Connect(const char * c_szAddr, int iPort, const char * c_szAccountAddr, int iAccountPort);
void Disconnect(); void Disconnect();
void Process(); void Process();
@@ -52,8 +49,6 @@ class CAccountConnector : public CNetworkStream, public CSingleton<CAccountConne
bool __AuthState_SendPong(); bool __AuthState_SendPong();
bool __AuthState_RecvAuthSuccess(); bool __AuthState_RecvAuthSuccess();
bool __AuthState_RecvAuthFailure(); bool __AuthState_RecvAuthFailure();
bool __AuthState_RecvChinaMatrixCard();
bool __AuthState_RecvRunupMatrixQuiz();
bool __AuthState_RecvPanamaPack(); bool __AuthState_RecvPanamaPack();
#ifdef _IMPROVED_PACKET_ENCRYPTION_ #ifdef _IMPROVED_PACKET_ENCRYPTION_
bool __AuthState_RecvKeyAgreement(); bool __AuthState_RecvKeyAgreement();

View File

@@ -117,7 +117,6 @@ enum
HEADER_CG_HACK = 105, HEADER_CG_HACK = 105,
HEADER_CG_CHANGE_NAME = 106, HEADER_CG_CHANGE_NAME = 106,
HEADER_CG_SMS = 107, HEADER_CG_SMS = 107,
HEADER_CG_CHINA_MATRIX_CARD = 108,
HEADER_CG_LOGIN2 = 109, HEADER_CG_LOGIN2 = 109,
HEADER_CG_DUNGEON = 110, HEADER_CG_DUNGEON = 110,
HEADER_CG_LOGIN3 = 111, HEADER_CG_LOGIN3 = 111,
@@ -126,8 +125,6 @@ enum
HEADER_CG_SCRIPT_SELECT_ITEM = 114, HEADER_CG_SCRIPT_SELECT_ITEM = 114,
HEADER_CG_LOGIN4 = 115, HEADER_CG_LOGIN4 = 115,
HEADER_CG_RUNUP_MATRIX_ANSWER = 201,
HEADER_CG_DRAGON_SOUL_REFINE = 205, HEADER_CG_DRAGON_SOUL_REFINE = 205,
HEADER_CG_STATE_CHECKER = 206, HEADER_CG_STATE_CHECKER = 206,
@@ -256,7 +253,6 @@ enum
HEADER_GC_SEPCIAL_EFFECT = 114, HEADER_GC_SEPCIAL_EFFECT = 114,
HEADER_GC_NPC_POSITION = 115, HEADER_GC_NPC_POSITION = 115,
HEADER_GC_CHINA_MATRIX_CARD = 116,
HEADER_GC_CHARACTER_UPDATE2 = 117, HEADER_GC_CHARACTER_UPDATE2 = 117,
HEADER_GC_LOGIN_KEY = 118, HEADER_GC_LOGIN_KEY = 118,
HEADER_GC_REFINE_INFORMATION_NEW = 119, HEADER_GC_REFINE_INFORMATION_NEW = 119,
@@ -295,8 +291,6 @@ enum
HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks
//HYBRID CRYPT //HYBRID CRYPT
HEADER_GC_RUNUP_MATRIX_QUIZ = 201,
HEADER_GC_SPECIFIC_EFFECT = 208, HEADER_GC_SPECIFIC_EFFECT = 208,
HEADER_GC_DRAGON_SOUL_REFINE = 209, HEADER_GC_DRAGON_SOUL_REFINE = 209,
HEADER_GC_RESPOND_CHANNELSTATUS = 210, HEADER_GC_RESPOND_CHANNELSTATUS = 210,
@@ -359,11 +353,6 @@ enum
REFINE_MATERIAL_MAX_NUM = 5, REFINE_MATERIAL_MAX_NUM = 5,
CHINA_MATRIX_ANSWER_MAX_LEN = 8,
RUNUP_MATRIX_QUIZ_MAX_LEN = 8,
RUNUP_MATRIX_ANSWER_MAX_LEN = 4,
WEAR_MAX_NUM = 11, WEAR_MAX_NUM = 11,
SHOP_TAB_NAME_MAX = 32, SHOP_TAB_NAME_MAX = 32,
@@ -998,18 +987,6 @@ typedef struct command_crc_report
uint32_t dwRootPackCRC32; uint32_t dwRootPackCRC32;
} TPacketCGCRCReport; } TPacketCGCRCReport;
typedef struct command_china_matrix_card
{
uint8_t bHeader;
char szAnswer[CHINA_MATRIX_ANSWER_MAX_LEN + 1];
} TPacketCGChinaMatrixCard;
typedef struct command_runup_matrix_answer
{
uint8_t bHeader;
char szAnswer[RUNUP_MATRIX_ANSWER_MAX_LEN + 1];
} TPacketCGRunupMatrixAnswer;
enum EPartyExpDistributionType enum EPartyExpDistributionType
{ {
PARTY_EXP_DISTRIBUTION_NON_PARITY, PARTY_EXP_DISTRIBUTION_NON_PARITY,
@@ -2315,19 +2292,6 @@ enum EBlockAction
BLOCK_PARTY_REQUEST = (1 << 5), BLOCK_PARTY_REQUEST = (1 << 5),
}; };
typedef struct packet_china_matrixd_card
{
uint8_t bHeader;
uint32_t dwRows;
uint32_t dwCols;
} TPacketGCChinaMatrixCard;
typedef struct packet_runup_matrixd_quiz
{
uint8_t bHeader;
char szQuiz[RUNUP_MATRIX_QUIZ_MAX_LEN + 1];
} TPacketGCRunupMatrixQuiz;
typedef struct packet_login_key typedef struct packet_login_key
{ {
uint8_t bHeader; uint8_t bHeader;

View File

@@ -147,8 +147,6 @@ class CMainPacketHeaderMap : public CNetworkPacketHeaderMap
Set(HEADER_GC_NPC_POSITION, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCNPCPosition), DYNAMIC_SIZE_PACKET)); Set(HEADER_GC_NPC_POSITION, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCNPCPosition), DYNAMIC_SIZE_PACKET));
Set(HEADER_GC_CHANGE_NAME, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCChangeName), STATIC_SIZE_PACKET)); Set(HEADER_GC_CHANGE_NAME, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCChangeName), STATIC_SIZE_PACKET));
Set(HEADER_GC_CHINA_MATRIX_CARD, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCChinaMatrixCard), STATIC_SIZE_PACKET));
Set(HEADER_GC_RUNUP_MATRIX_QUIZ, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCRunupMatrixQuiz), STATIC_SIZE_PACKET));
Set(HEADER_GC_LOGIN_KEY, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLoginKey), STATIC_SIZE_PACKET)); Set(HEADER_GC_LOGIN_KEY, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLoginKey), STATIC_SIZE_PACKET));
Set(HEADER_GC_AUTH_SUCCESS, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCAuthSuccess), STATIC_SIZE_PACKET)); Set(HEADER_GC_AUTH_SUCCESS, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCAuthSuccess), STATIC_SIZE_PACKET));

View File

@@ -300,8 +300,6 @@ class CPythonNetworkStream : public CNetworkStream, public CSingleton<CPythonNet
// Login Phase // Login Phase
bool SendLoginPacket(const char * c_szName, const char * c_szPassword); bool SendLoginPacket(const char * c_szName, const char * c_szPassword);
bool SendLoginPacketNew(const char * c_szName, const char * c_szPassword); bool SendLoginPacketNew(const char * c_szName, const char * c_szPassword);
bool SendChinaMatrixCardPacket(const char * c_szMatrixCardString);
bool SendRunupMatrixAnswerPacket(const char * c_szMatrixCardString);
bool SendDirectEnterPacket(const char * c_szName, const char * c_szPassword, UINT uChrSlot); bool SendDirectEnterPacket(const char * c_szName, const char * c_szPassword, UINT uChrSlot);
bool SendEnterGame(); bool SendEnterGame();
@@ -403,8 +401,6 @@ class CPythonNetworkStream : public CNetworkStream, public CSingleton<CPythonNet
bool __RecvLoginSuccessPacket4(); bool __RecvLoginSuccessPacket4();
bool __RecvLoginFailurePacket(); bool __RecvLoginFailurePacket();
bool __RecvEmpirePacket(); bool __RecvEmpirePacket();
bool __RecvChinaMatrixCardPacket();
bool __RecvRunupMatrixQuizPacket();
bool __RecvLoginKeyPacket(); bool __RecvLoginKeyPacket();
// Select Phase // Select Phase

View File

@@ -418,29 +418,6 @@ PyObject* netSendLoginPacket(PyObject* poSelf, PyObject* poArgs)
return Py_BuildNone(); return Py_BuildNone();
} }
PyObject* netSendChinaMatrixCardPacket(PyObject* poSelf, PyObject* poArgs)
{
char* szMatrixCardString;
if (!PyTuple_GetString(poArgs, 0, &szMatrixCardString))
return Py_BuildException();
CAccountConnector & rkAccountConnector = CAccountConnector::Instance();
rkAccountConnector.SendChinaMatrixCardPacket(szMatrixCardString);
return Py_BuildNone();
}
PyObject* netSendRunupMatrixCardPacket(PyObject* poSelf, PyObject* poArgs)
{
char* szMatrixCardString;
if (!PyTuple_GetString(poArgs, 0, &szMatrixCardString))
return Py_BuildException();
CAccountConnector & rkAccountConnector = CAccountConnector::Instance();
rkAccountConnector.SendRunupMatrixCardPacket(szMatrixCardString);
return Py_BuildNone();
}
PyObject* netDirectEnter(PyObject* poSelf, PyObject* poArgs) PyObject* netDirectEnter(PyObject* poSelf, PyObject* poArgs)
{ {
int nChrSlot; int nChrSlot;
@@ -1751,8 +1728,6 @@ void initnet()
{ "ConnectToAccountServer", netConnectToAccountServer, METH_VARARGS }, { "ConnectToAccountServer", netConnectToAccountServer, METH_VARARGS },
{ "SendLoginPacket", netSendLoginPacket, METH_VARARGS }, { "SendLoginPacket", netSendLoginPacket, METH_VARARGS },
{ "SendChinaMatrixCardPacket", netSendChinaMatrixCardPacket, METH_VARARGS },
{ "SendRunupMatrixCardPacket", netSendRunupMatrixCardPacket, METH_VARARGS },
{ "SendSelectEmpirePacket", netSendSelectEmpirePacket, METH_VARARGS }, { "SendSelectEmpirePacket", netSendSelectEmpirePacket, METH_VARARGS },
{ "SendSelectCharacterPacket", netSendSelectCharacterPacket, METH_VARARGS }, { "SendSelectCharacterPacket", netSendSelectCharacterPacket, METH_VARARGS },
{ "SendChangeNamePacket", netSendChangeNamePacket, METH_VARARGS }, { "SendChangeNamePacket", netSendChangeNamePacket, METH_VARARGS },

View File

@@ -38,17 +38,6 @@ void CPythonNetworkStream::LoginPhase()
return; return;
break; break;
case HEADER_GC_CHINA_MATRIX_CARD:
if (__RecvChinaMatrixCardPacket())
return;
break;
case HEADER_GC_RUNUP_MATRIX_QUIZ:
if (__RecvRunupMatrixQuizPacket())
return;
break;
case HEADER_GC_LOGIN_KEY: case HEADER_GC_LOGIN_KEY:
if (__RecvLoginKeyPacket()) if (__RecvLoginKeyPacket())
return; return;
@@ -293,69 +282,6 @@ bool CPythonNetworkStream::SendLoginPacketNew(const char * c_szName, const char
return true; return true;
} }
bool CPythonNetworkStream::__RecvRunupMatrixQuizPacket()
{
TPacketGCRunupMatrixQuiz kMatrixQuizPacket;
if (!Recv(sizeof(TPacketGCRunupMatrixQuiz), &kMatrixQuizPacket))
return false;
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_LOGIN], "BINARY_OnRunupMatrixQuiz", Py_BuildValue("(s)", kMatrixQuizPacket.szQuiz));
return true;
}
bool CPythonNetworkStream::SendRunupMatrixAnswerPacket(const char * c_szMatrixCardString)
{
TPacketCGRunupMatrixAnswer answerPacket;
answerPacket.bHeader = HEADER_CG_RUNUP_MATRIX_ANSWER;
strncpy(answerPacket.szAnswer, c_szMatrixCardString, RUNUP_MATRIX_ANSWER_MAX_LEN);
answerPacket.szAnswer[RUNUP_MATRIX_ANSWER_MAX_LEN] = '\0';
if (!Send(sizeof(answerPacket), &answerPacket))
{
TraceError("SendRunupMatrixCardPacketError");
return false;
}
return SendSequence();
}
bool CPythonNetworkStream::SendChinaMatrixCardPacket(const char * c_szMatrixCardString)
{
TPacketCGChinaMatrixCard MatrixCardPacket;
MatrixCardPacket.bHeader = HEADER_CG_CHINA_MATRIX_CARD;
strncpy(MatrixCardPacket.szAnswer, c_szMatrixCardString, CHINA_MATRIX_ANSWER_MAX_LEN);
MatrixCardPacket.szAnswer[CHINA_MATRIX_ANSWER_MAX_LEN]='\0';
if (!Send(sizeof(MatrixCardPacket), &MatrixCardPacket))
{
Tracen("SendLogin Error");
return false;
}
m_isWaitLoginKey = TRUE;
return SendSequence();
}
#define ROW(rows, i) ((rows >> ((4 - i - 1) * 8)) & 0x000000FF)
#define COL(cols, i) ((cols >> ((4 - i - 1) * 8)) & 0x000000FF)
bool CPythonNetworkStream::__RecvChinaMatrixCardPacket()
{
TPacketGCChinaMatrixCard kMatrixCardPacket;
if (!Recv(sizeof(TPacketGCChinaMatrixCard), &kMatrixCardPacket))
return false;
PyObject * pyValue = Py_BuildValue("(iiiiiiii)", ROW(kMatrixCardPacket.dwRows, 0),
ROW(kMatrixCardPacket.dwRows, 1),
ROW(kMatrixCardPacket.dwRows, 2),
ROW(kMatrixCardPacket.dwRows, 3),
COL(kMatrixCardPacket.dwCols, 0),
COL(kMatrixCardPacket.dwCols, 1),
COL(kMatrixCardPacket.dwCols, 2),
COL(kMatrixCardPacket.dwCols, 3));
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_LOGIN], "OnMatrixCard", pyValue);
return true;
}
bool CPythonNetworkStream::__RecvLoginKeyPacket() bool CPythonNetworkStream::__RecvLoginKeyPacket()
{ {
TPacketGCLoginKey kLoginKeyPacket; TPacketGCLoginKey kLoginKeyPacket;