Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- NET_Message *__thiscall AI_cl_BroadcastMsgManager::PrepareBroadcastMessage(NET_Message *this, _DWORD *peer_param, unsigned int index, int a4, int a5)
- {
- signed int v8; // ebx
- _BYTE *v9; // eax
- char paramType; // al
- _DWORD *v11; // edx
- const char *v12; // eax
- this->sizeWithoutChecksum = 0;
- this->byteE = 0;
- this->byteD = 0;
- this->byteC = 0;
- this->currPos = 0;
- this->peer = peer_param;
- this->messageTypeID = 10;
- this->pBuffer = this + 16;
- NET_Message::Append2Bytes(this, index);
- if ( AI_cl_BroadcastMsgManager::uc_NbParam(AI_BroadcastMsgManager::Instance, index) )
- {
- v8 = 1;
- do
- {
- v9 = AI_cl_BroadcastMsgManager::roParam(AI_BroadcastMsgManager::Instance, index, v8);
- peer_param = v9;
- paramType = v9[8];
- if ( paramType >= 0 )
- {
- switch ( paramType )
- {
- case 1:
- case 2:
- NET_Message::Append1Byte(this, 0);
- NET_Message::Append4Bytes(this, *peer_param);
- break;
- case 3:
- NET_Message::Append1Byte(this, 2);
- break;
- case 4:
- peer_param = AI_cl_BroadcastMsgManager::pvParam(AI_BroadcastMsgManager::Instance, index, v8);
- NET_Message::Append1Byte(this, 3);
- NET_Message::Append4Bytes(this, *peer_param);
- NET_Message::Append4Bytes(this, peer_param[1]);
- NET_Message::Append4Bytes(this, peer_param[2]);
- break;
- case 5:
- index = 0;
- peer_param = 0;
- AI_cl_BroadcastMsgManager::GetParamStruct(AI_BroadcastMsgManager::Instance, index, v8, &index, &peer_param);
- NET_Message::Append1Byte(this, 5);
- NET_Message::Append1Byte(this, peer_param);
- NET_Message::AppendBuffer(this, index, peer_param);
- break;
- case 6:
- peer_param = AI_cl_BroadcastMsgManager::pzParam(AI_BroadcastMsgManager::Instance, index, v8);
- NET_Message::Append1Byte(this, 4);
- v11 = peer_param;
- v12 = peer_param;
- peer_param = (peer_param + 1);
- NET_Message::AppendBuffer(this, v11, v12 + strlen(v12) + 1 - peer_param + 1);
- break;
- default:
- break;
- }
- }
- else
- {
- index = 0;
- peer_param = 0;
- AI_cl_BroadcastMsgManager::GetParamNetBuffer(AI_BroadcastMsgManager::Instance, index, v8, &index, &peer_param);
- NET_Message::Append1Byte(this, 128);
- NET_Message::Append2Bytes(this, peer_param);
- NET_Message::AppendBuffer(this, index, peer_param);
- }
- LOBYTE(v8) = v8 + 1;
- }
- while ( (v8 - 1) < AI_cl_BroadcastMsgManager::uc_NbParam(AI_BroadcastMsgManager::Instance, index) );
- }
- return this;
- }
Advertisement
Add Comment
Please, Sign In to add comment