mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 10:37:03 +00:00
Compile fix
This commit is contained in:
parent
e738198eb4
commit
427fca695e
7 changed files with 26 additions and 76 deletions
|
|
@ -1669,20 +1669,6 @@ void WorldSession::HandleSpellClick( WorldPacket & recv_data )
|
||||||
_player->EnterVehicle(vehicle);
|
_player->EnterVehicle(vehicle);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorldSession::HandleDismissControlledVehicle( WorldPacket & recv_data )
|
|
||||||
{
|
|
||||||
//CHECK_PACKET_SIZE(recv_data, 8);
|
|
||||||
recv_data.hexlike(); // standard movement packet
|
|
||||||
|
|
||||||
// using charm guid, because we don't have vehicle guid...
|
|
||||||
Vehicle *vehicle = ObjectAccessor::GetVehicle(_player->GetCharmGUID());
|
|
||||||
|
|
||||||
if(!vehicle)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_player->ExitVehicle(vehicle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WorldSession::HandleInspectAchievements( WorldPacket & recv_data )
|
void WorldSession::HandleInspectAchievements( WorldPacket & recv_data )
|
||||||
{
|
{
|
||||||
CHECK_PACKET_SIZE(recv_data, 1);
|
CHECK_PACKET_SIZE(recv_data, 1);
|
||||||
|
|
|
||||||
|
|
@ -170,6 +170,8 @@ void WorldSession::HandleMoveWorldportAckOpcode()
|
||||||
|
|
||||||
void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
||||||
{
|
{
|
||||||
|
sLog.outDebug("WORLD: Recvd %s (%u,0x%X) opcode", LookupOpcodeName(recv_data.GetOpcode()), recv_data.GetOpcode(), recv_data.GetOpcode());
|
||||||
|
|
||||||
CHECK_PACKET_SIZE(recv_data, 4+2+4+4+4+4+4);
|
CHECK_PACKET_SIZE(recv_data, 4+2+4+4+4+4+4);
|
||||||
|
|
||||||
if(GetPlayer()->GetDontMove())
|
if(GetPlayer()->GetDontMove())
|
||||||
|
|
@ -333,19 +335,13 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
||||||
DEBUG_LOG("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d" , movementInfo.z, height, target->GetPositionZ(), movementInfo.fallTime, height, damage, safe_fall);
|
DEBUG_LOG("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d" , movementInfo.z, height, target->GetPositionZ(), movementInfo.fallTime, height, damage, safe_fall);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//handle fall and logout at the same time (logout started before fall finished)
|
|
||||||
/* outdated and create problems with sit at stun sometime
|
|
||||||
if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_ROTATE))
|
|
||||||
{
|
|
||||||
target->SetStandState(PLAYER_STATE_SIT);
|
|
||||||
// Can't move
|
|
||||||
WorldPacket data( SMSG_FORCE_MOVE_ROOT, 12 );
|
|
||||||
data.append(target->GetPackGUID());
|
|
||||||
data << (uint32)2;
|
|
||||||
SendPacket( &data );
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
if(recv_data.GetOpcode() == CMSG_DISMISS_CONTROLLED_VEHICLE)
|
||||||
|
{
|
||||||
|
// using charm guid, because we don't have vehicle guid...
|
||||||
|
if(Vehicle *vehicle = ObjectAccessor::GetVehicle(_player->GetCharmGUID()))
|
||||||
|
_player->ExitVehicle(vehicle);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(((MovementFlags & MOVEMENTFLAG_SWIMMING) != 0) != GetPlayer()->IsInWater())
|
if(((MovementFlags & MOVEMENTFLAG_SWIMMING) != 0) != GetPlayer()->IsInWater())
|
||||||
|
|
@ -413,6 +409,8 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
||||||
|
|
||||||
void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recv_data)
|
void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recv_data)
|
||||||
{
|
{
|
||||||
|
sLog.outDebug("WORLD: Recvd %s (%u,0x%X) opcode", LookupOpcodeName(recv_data.GetOpcode()), recv_data.GetOpcode(), recv_data.GetOpcode());
|
||||||
|
|
||||||
CHECK_PACKET_SIZE(recv_data, 8+4+4+2+4+4+4+4+4);
|
CHECK_PACKET_SIZE(recv_data, 8+4+4+2+4+4+4+4+4);
|
||||||
|
|
||||||
/* extract packet */
|
/* extract packet */
|
||||||
|
|
@ -545,46 +543,10 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recv_data)
|
||||||
uint64 guid;
|
uint64 guid;
|
||||||
recv_data >> guid;
|
recv_data >> guid;
|
||||||
|
|
||||||
if(_player->GetGUID() == guid)
|
if(_player->m_mover->GetGUID() != guid)
|
||||||
{
|
{
|
||||||
if(_player->GetCharmGUID() == 0)
|
sLog.outError("HandleSetActiveMoverOpcode: incorrect mover guid: mover is " I64FMT " and should be " I64FMT, _player->m_mover->GetGUID(), guid);
|
||||||
_player->m_mover = _player;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if(_player->GetCharmGUID() == guid)
|
|
||||||
{
|
|
||||||
if(IS_PLAYER_GUID(guid))
|
|
||||||
{
|
|
||||||
if(Player *plr = objmgr.GetPlayer(guid))
|
|
||||||
_player->m_mover = plr;
|
|
||||||
}
|
|
||||||
else if(IS_CREATURE_OR_PET_GUID(guid))
|
|
||||||
{
|
|
||||||
if(Creature *creature = ObjectAccessor::GetCreatureOrPet(*_player, guid))
|
|
||||||
_player->m_mover = creature;
|
|
||||||
}
|
|
||||||
else if(IS_VEHICLE_GUID(guid))
|
|
||||||
{
|
|
||||||
if(Vehicle *vehicle = ObjectAccessor::GetVehicle(guid))
|
|
||||||
_player->m_mover = vehicle;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sLog.outError("Unknown guid " I64FMT "in HandleSetActiveMoverOpcode", guid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
WorldPacket data(SMSG_TIME_SYNC_REQ, 4); // new 2.0.x, enable movement
|
|
||||||
data << uint32(0x00000000); // on blizz it increments periodically
|
|
||||||
SendPacket(&data);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WorldSession::HandleMoveNotActiveMoverOpcode(WorldPacket &recv_data)
|
|
||||||
{
|
|
||||||
sLog.outDebug("WORLD: Recvd CMSG_MOVE_NOT_ACTIVE_MOVER");
|
|
||||||
recv_data.hexlike(); // normal movement packet
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorldSession::HandleMountSpecialAnimOpcode(WorldPacket& /*recvdata*/)
|
void WorldSession::HandleMountSpecialAnimOpcode(WorldPacket& /*recvdata*/)
|
||||||
|
|
|
||||||
|
|
@ -5330,7 +5330,7 @@ uint32 ObjectMgr::GenerateLowGuid(HighGuid guidhigh)
|
||||||
if(m_hiVehicleGuid>=0x00FFFFFF)
|
if(m_hiVehicleGuid>=0x00FFFFFF)
|
||||||
{
|
{
|
||||||
sLog.outError("Vehicle guid overflow!! Can't continue, shutting down server. ");
|
sLog.outError("Vehicle guid overflow!! Can't continue, shutting down server. ");
|
||||||
sWorld.m_stopEvent = true;
|
World::StopNow(ERROR_EXIT_CODE);
|
||||||
}
|
}
|
||||||
return m_hiVehicleGuid;
|
return m_hiVehicleGuid;
|
||||||
case HIGHGUID_PLAYER:
|
case HIGHGUID_PLAYER:
|
||||||
|
|
|
||||||
|
|
@ -747,7 +747,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
|
||||||
/*0x2CE*/ { "CMSG_MOVE_TIME_SKIPPED", STATUS_LOGGEDIN, &WorldSession::HandleMoveTimeSkippedOpcode },
|
/*0x2CE*/ { "CMSG_MOVE_TIME_SKIPPED", STATUS_LOGGEDIN, &WorldSession::HandleMoveTimeSkippedOpcode },
|
||||||
/*0x2CF*/ { "CMSG_MOVE_FEATHER_FALL_ACK", STATUS_LOGGEDIN, &WorldSession::HandleFeatherFallAck },
|
/*0x2CF*/ { "CMSG_MOVE_FEATHER_FALL_ACK", STATUS_LOGGEDIN, &WorldSession::HandleFeatherFallAck },
|
||||||
/*0x2D0*/ { "CMSG_MOVE_WATER_WALK_ACK", STATUS_LOGGEDIN, &WorldSession::HandleMoveWaterWalkAck },
|
/*0x2D0*/ { "CMSG_MOVE_WATER_WALK_ACK", STATUS_LOGGEDIN, &WorldSession::HandleMoveWaterWalkAck },
|
||||||
/*0x2D1*/ { "CMSG_MOVE_NOT_ACTIVE_MOVER", STATUS_LOGGEDIN, &WorldSession::HandleMoveNotActiveMoverOpcode },
|
/*0x2D1*/ { "CMSG_MOVE_NOT_ACTIVE_MOVER", STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes },
|
||||||
/*0x2D2*/ { "SMSG_PLAY_SOUND", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
/*0x2D2*/ { "SMSG_PLAY_SOUND", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||||
/*0x2D3*/ { "CMSG_BATTLEFIELD_STATUS", STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldStatusOpcode },
|
/*0x2D3*/ { "CMSG_BATTLEFIELD_STATUS", STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldStatusOpcode },
|
||||||
/*0x2D4*/ { "SMSG_BATTLEFIELD_STATUS", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
/*0x2D4*/ { "SMSG_BATTLEFIELD_STATUS", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||||
|
|
@ -1159,7 +1159,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
|
||||||
/*0x46A*/ { "SMSG_CRITERIA_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
/*0x46A*/ { "SMSG_CRITERIA_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||||
/*0x46B*/ { "CMSG_QUERY_INSPECT_ACHIEVEMENTS", STATUS_LOGGEDIN, &WorldSession::HandleInspectAchievements },
|
/*0x46B*/ { "CMSG_QUERY_INSPECT_ACHIEVEMENTS", STATUS_LOGGEDIN, &WorldSession::HandleInspectAchievements },
|
||||||
/*0x46C*/ { "SMSG_RESPOND_INSPECT_ACHIEVEMENTS",STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
/*0x46C*/ { "SMSG_RESPOND_INSPECT_ACHIEVEMENTS",STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||||
/*0x46D*/ { "CMSG_DISMISS_CONTROLLED_VEHICLE", STATUS_LOGGEDIN, &WorldSession::HandleDismissControlledVehicle },
|
/*0x46D*/ { "CMSG_DISMISS_CONTROLLED_VEHICLE", STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes },
|
||||||
/*0x46E*/ { "CMSG_COMPLETE_ACHIEVEMENT_CHEAT", STATUS_NEVER, &WorldSession::Handle_NULL },
|
/*0x46E*/ { "CMSG_COMPLETE_ACHIEVEMENT_CHEAT", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||||
/*0x46F*/ { "SMSG_QUESTUPDATE_ADD_PVP_KILL", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
/*0x46F*/ { "SMSG_QUESTUPDATE_ADD_PVP_KILL", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||||
/*0x470*/ { "CMSG_SET_CRITERIA_CHEAT", STATUS_NEVER, &WorldSession::Handle_NULL },
|
/*0x470*/ { "CMSG_SET_CRITERIA_CHEAT", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||||
|
|
|
||||||
|
|
@ -17521,6 +17521,10 @@ void Player::SendInitialPacketsBeforeAddToMap()
|
||||||
data << (float)0.01666667f; // game speed
|
data << (float)0.01666667f; // game speed
|
||||||
GetSession()->SendPacket( &data );
|
GetSession()->SendPacket( &data );
|
||||||
|
|
||||||
|
data.Initialize(SMSG_TIME_SYNC_REQ, 4); // new 2.0.x, enable movement
|
||||||
|
data << uint32(0x00000000); // on blizz it increments periodically
|
||||||
|
GetSession()->SendPacket(&data);
|
||||||
|
|
||||||
// set fly flag if in fly form or taxi flight to prevent visually drop at ground in showup moment
|
// set fly flag if in fly form or taxi flight to prevent visually drop at ground in showup moment
|
||||||
if(HasAuraType(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED) || isInFlight())
|
if(HasAuraType(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED) || isInFlight())
|
||||||
AddUnitMovementFlag(MOVEMENTFLAG_FLYING2);
|
AddUnitMovementFlag(MOVEMENTFLAG_FLYING2);
|
||||||
|
|
@ -18641,12 +18645,12 @@ void Player::EnterVehicle(Vehicle *vehicle)
|
||||||
//vehicle->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
//vehicle->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||||
//vehicle->SetUInt32Value(UNIT_FIELD_BYTES_1, 0x02000000);
|
//vehicle->SetUInt32Value(UNIT_FIELD_BYTES_1, 0x02000000);
|
||||||
|
|
||||||
SetCharm(vehicle);
|
SetCharm(vehicle); // charm
|
||||||
SetFarSight(vehicle->GetGUID());
|
SetFarSight(vehicle->GetGUID()); // set view
|
||||||
|
|
||||||
SetClientControl(vehicle, 1);
|
SetClientControl(vehicle, 1); // redirect controls to vehicle
|
||||||
|
|
||||||
WorldPacket data(SMSG_UNKNOWN_1181, 0);
|
WorldPacket data(SMSG_UNKNOWN_1181, 0); // shows vehicle UI?
|
||||||
GetSession()->SendPacket(&data);
|
GetSession()->SendPacket(&data);
|
||||||
|
|
||||||
data.Initialize(MSG_MOVE_TELEPORT_ACK, 30);
|
data.Initialize(MSG_MOVE_TELEPORT_ACK, 30);
|
||||||
|
|
@ -18660,10 +18664,10 @@ void Player::EnterVehicle(Vehicle *vehicle)
|
||||||
data << vehicle->GetPositionZ(); // z
|
data << vehicle->GetPositionZ(); // z
|
||||||
data << vehicle->GetOrientation(); // o
|
data << vehicle->GetOrientation(); // o
|
||||||
// transport part
|
// transport part
|
||||||
data << vehicle->GetGUID(); // transport guid
|
data << uint64(vehicle->GetGUID()); // transport guid
|
||||||
data << float(0); // transport offsetX
|
data << float(0); // transport offsetX
|
||||||
data << float(0); // transport offsetY
|
data << float(0); // transport offsetY
|
||||||
data << float(1); // transport offsetZ
|
data << float(2); // transport offsetZ
|
||||||
data << float(0); // transport orientation
|
data << float(0); // transport orientation
|
||||||
data << uint32(getMSTime()); // transport time
|
data << uint32(getMSTime()); // transport time
|
||||||
data << uint8(0); // seat
|
data << uint8(0); // seat
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,6 @@ class MANGOS_DLL_SPEC WorldSession
|
||||||
|
|
||||||
void HandleMovementOpcodes(WorldPacket& recvPacket);
|
void HandleMovementOpcodes(WorldPacket& recvPacket);
|
||||||
void HandleSetActiveMoverOpcode(WorldPacket &recv_data);
|
void HandleSetActiveMoverOpcode(WorldPacket &recv_data);
|
||||||
void HandleMoveNotActiveMoverOpcode(WorldPacket &recv_data);
|
|
||||||
void HandleMoveTimeSkippedOpcode(WorldPacket &recv_data);
|
void HandleMoveTimeSkippedOpcode(WorldPacket &recv_data);
|
||||||
|
|
||||||
void HandleRequestRaidInfoOpcode( WorldPacket & recv_data );
|
void HandleRequestRaidInfoOpcode( WorldPacket & recv_data );
|
||||||
|
|
@ -553,7 +552,6 @@ class MANGOS_DLL_SPEC WorldSession
|
||||||
void HandlePetSpellAutocastOpcode( WorldPacket& recvPacket );
|
void HandlePetSpellAutocastOpcode( WorldPacket& recvPacket );
|
||||||
void HandlePetCastSpellOpcode( WorldPacket& recvPacket );
|
void HandlePetCastSpellOpcode( WorldPacket& recvPacket );
|
||||||
void HandlePetLearnTalent( WorldPacket& recvPacket );
|
void HandlePetLearnTalent( WorldPacket& recvPacket );
|
||||||
void HandleDismissControlledVehicle( WorldPacket& recvPacket );
|
|
||||||
|
|
||||||
void HandleSetActionBar(WorldPacket& recv_data);
|
void HandleSetActionBar(WorldPacket& recv_data);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ const char CreatureInfoAddonInfofmt[]="iiiiiiis";
|
||||||
const char EquipmentInfofmt[]="iiii";
|
const char EquipmentInfofmt[]="iiii";
|
||||||
const char GameObjectInfosrcfmt[]="iiissiifiiiiiiiiiiiiiiiiiiiiiiiis";
|
const char GameObjectInfosrcfmt[]="iiissiifiiiiiiiiiiiiiiiiiiiiiiiis";
|
||||||
const char GameObjectInfodstfmt[]="iiissiifiiiiiiiiiiiiiiiiiiiiiiiii";
|
const char GameObjectInfodstfmt[]="iiissiifiiiiiiiiiiiiiiiiiiiiiiiii";
|
||||||
const char ItemPrototypesrcfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiffiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifsiiiiii";
|
const char ItemPrototypesrcfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiffiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiisiiii";
|
||||||
const char ItemPrototypedstfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiffiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiii";
|
const char ItemPrototypedstfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiffiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiii";
|
||||||
const char PageTextfmt[]="isi";
|
const char PageTextfmt[]="isi";
|
||||||
const char SpellThreatfmt[]="ii";
|
const char SpellThreatfmt[]="ii";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue