zOne62,
Код:
case 0xD06u:
sub_57B8C0(
(int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
6864,
"* START BATTLE\r\n");
i3NetworkPacket::ReadData(a1, &v216, 4);
i3NetworkPacket::ReadData(a1, &v215, 4);
sub_580660("PROTOCOL_BATTLE_STARTBATTLE_ACK %d", v215);
if ( v216 )
{
if ( (unsigned int)v215 >= 0x10 )
{
_snprintf(&v191, 0x100u, "PROTOCOL_BATTLE_STARTBATTLE_ACK - SLOT ERROR SLOT = %d \n", v215);
sub_57B8C0(
(int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
6996,
&v191);
return;
}
i3NetworkPacket::ReadData(a1, &v212, 1);
i3NetworkPacket::ReadData(a1, &v210, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 278348) = v210;
if ( *(_DWORD *)(LODWORD(dword_BA5AB8) + 170140) == v215 )
*(_BYTE *)(LODWORD(dword_BA5AB8) + 243518) = v212;
v5 = sub_4BEE50(SLODWORD(dword_BA5AB8));
if ( sub_584490(v5) != 2 && (v6 = sub_4BEE50(SLODWORD(dword_BA5AB8)), sub_584490(v6) != 4) )
{
v7 = sub_4BEE50(SLODWORD(dword_BA5AB8));
if ( sub_584490(v7) == 7 )
{
v208 = 0;
i3NetworkPacket::ReadData(a1, &v205, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243768) = v205;
i3NetworkPacket::ReadData(a1, &v205, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243782) = v205;
i3NetworkPacket::ReadData(a1, &v206, 1);
*(_BYTE *)(LODWORD(dword_BA5AB8) + 243704) = v206;
i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 247388, 10);
i3NetworkPacket::ReadData(a1, &v208, 1);
v207 = LODWORD(dword_BA5AB8) + 243516;
*(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
}
else
{
v8 = sub_4BEE50(SLODWORD(dword_BA5AB8));
if ( sub_584490(v8) == 3 )
{
i3NetworkPacket::ReadData(a1, &v203, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v203;
i3NetworkPacket::ReadData(a1, &v203, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v203;
i3NetworkPacket::ReadData(a1, &v201, 36);
v202 = *(_DWORD *)(LODWORD(dword_BA5AB8) + 243792);
if ( v202 )
sub_4A7500(v202, (int)&v201);
v204 = LODWORD(dword_BA5AB8) + 243516;
*(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
}
else
{
v9 = sub_4BEE50(SLODWORD(dword_BA5AB8));
if ( sub_584490(v9) == 5 )
{
i3NetworkPacket::ReadData(a1, &v199, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v199;
i3NetworkPacket::ReadData(a1, &v199, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v199;
i3NetworkPacket::ReadData(a1, &v198, 68);
if ( *(_DWORD *)(LODWORD(dword_BA5AB8) + 170140) == v215 )
sub_4A89B0(*(void **)(LODWORD(dword_BA5AB8) + 243792), &v198);
else
sub_4A8CD0(*(void **)(LODWORD(dword_BA5AB8) + 243792), &v198, v215);
v200 = LODWORD(dword_BA5AB8) + 243516;
*(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
}
else
{
v10 = sub_4BEE50(SLODWORD(dword_BA5AB8));
if ( sub_584490(v10) == 12 )
{
v197 = 0;
i3NetworkPacket::ReadData(a1, &v194, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v194;
i3NetworkPacket::ReadData(a1, &v194, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v194;
i3NetworkPacket::ReadData(a1, &v195, 1);
*(_BYTE *)(LODWORD(dword_BA5AB8) + 243704) = v195;
i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 247388, 10);
i3NetworkPacket::ReadData(a1, &v197, 1);
v196 = LODWORD(dword_BA5AB8) + 243516;
*(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
}
else
{
v193 = LODWORD(dword_BA5AB8) + 243516;
*(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
}
}
}
}
}
else
{
i3NetworkPacket::ReadData(a1, &v209, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v209;
i3NetworkPacket::ReadData(a1, &v209, 2);
*(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v209;
i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
}
for ( mm = 0; mm < 16; ++mm )
{
v61 = dword_BA5AB8;
if ( mm < 0 || mm >= 16 )
{
i3Error::SetEnv(0, 986, "struct _NetCharaInfo *__thiscall CGameContext::setNetCharaInfo(int)", 0);
i3Error::Log("Asserted : %s");
}
*(_BYTE *)(LODWORD(v61) + 344 * mm + 163860) = 100;
}
if ( v212 )
*(_DWORD *)(LODWORD(dword_BA5AB8) + 2348) |= 0x400u;
else
*(_DWORD *)(LODWORD(dword_BA5AB8) + 2348) &= 0xFFFFFBFFu;
v214 = v215;
v213 = sub_4BEE50(SLODWORD(dword_BA5AB8));
v11 = sub_584410(v213);
v12 = sub_584440(v213);
v13 = sub_584490(v213);
_snprintf(&Format, 0x100u, "START BATTLE STAGETYPE %d STAGESLOT %d STAGEORD %d ", v13, v12, v11);
sub_57B8C0(
(int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
6989,
&Format);
}
else
{
v214 = -2147479530;
i3Error::SetEnv(
"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
7004,
"void __thiscall ClientTCPSocket::_PacketParsingBattle(class i3NetworkPacket *)",
0);
i3Error::Log("[Error] StartBattle Fail. Please contact the server.\n");
}
sub_44C0A0(SLODWORD(dword_BA5AB8), 150, v214, 0);
return;