mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
Use network clipping for EntityEx
This commit is contained in:
parent
c3988c738f
commit
2964c1b4c4
|
@ -42,6 +42,9 @@ void CDoor::ResetCollision()
|
||||||
|
|
||||||
void CDoor::Snap(int SnappingClient)
|
void CDoor::Snap(int SnappingClient)
|
||||||
{
|
{
|
||||||
|
if(NetworkClipped(SnappingClient, m_Pos) && NetworkClipped(SnappingClient, m_To))
|
||||||
|
return;
|
||||||
|
|
||||||
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
||||||
if(!pEntData)
|
if(!pEntData)
|
||||||
return;
|
return;
|
||||||
|
@ -50,9 +53,6 @@ void CDoor::Snap(int SnappingClient)
|
||||||
pEntData->m_Layer = m_Layer;
|
pEntData->m_Layer = m_Layer;
|
||||||
pEntData->m_EntityClass = ENTITYCLASS_DOOR;
|
pEntData->m_EntityClass = ENTITYCLASS_DOOR;
|
||||||
|
|
||||||
if(NetworkClipped(SnappingClient, m_Pos) && NetworkClipped(SnappingClient, m_To))
|
|
||||||
return;
|
|
||||||
|
|
||||||
CNetObj_Laser *pObj = static_cast<CNetObj_Laser *>(Server()->SnapNewItem(
|
CNetObj_Laser *pObj = static_cast<CNetObj_Laser *>(Server()->SnapNewItem(
|
||||||
NETOBJTYPE_LASER, GetID(), sizeof(CNetObj_Laser)));
|
NETOBJTYPE_LASER, GetID(), sizeof(CNetObj_Laser)));
|
||||||
|
|
||||||
|
|
|
@ -165,14 +165,6 @@ void CDragger::Snap(int SnappingClient)
|
||||||
if(((CGameControllerDDRace *)GameServer()->m_pController)->m_Teams.GetTeamState(m_CaughtTeam) == CGameTeams::TEAMSTATE_EMPTY)
|
if(((CGameControllerDDRace *)GameServer()->m_pController)->m_Teams.GetTeamState(m_CaughtTeam) == CGameTeams::TEAMSTATE_EMPTY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
|
||||||
if(!pEntData)
|
|
||||||
return;
|
|
||||||
|
|
||||||
pEntData->m_SwitchNumber = m_Number;
|
|
||||||
pEntData->m_Layer = m_Layer;
|
|
||||||
pEntData->m_EntityClass = clamp(ENTITYCLASS_DRAGGER_WEAK + round_to_int(m_Strength) - 1, (int)ENTITYCLASS_DRAGGER_WEAK, (int)ENTITYCLASS_DRAGGER_STRONG);
|
|
||||||
|
|
||||||
int SnappingClientVersion = SnappingClient >= 0 ? GameServer()->GetClientVersion(SnappingClient) : CLIENT_VERSIONNR;
|
int SnappingClientVersion = SnappingClient >= 0 ? GameServer()->GetClientVersion(SnappingClient) : CLIENT_VERSIONNR;
|
||||||
|
|
||||||
CCharacter *Target = m_Target;
|
CCharacter *Target = m_Target;
|
||||||
|
@ -241,6 +233,14 @@ void CDragger::Snap(int SnappingClient)
|
||||||
{
|
{
|
||||||
obj = static_cast<CNetObj_Laser *>(Server()->SnapNewItem(
|
obj = static_cast<CNetObj_Laser *>(Server()->SnapNewItem(
|
||||||
NETOBJTYPE_LASER, GetID(), sizeof(CNetObj_Laser)));
|
NETOBJTYPE_LASER, GetID(), sizeof(CNetObj_Laser)));
|
||||||
|
|
||||||
|
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
||||||
|
if(!pEntData)
|
||||||
|
return;
|
||||||
|
|
||||||
|
pEntData->m_SwitchNumber = m_Number;
|
||||||
|
pEntData->m_Layer = m_Layer;
|
||||||
|
pEntData->m_EntityClass = clamp(ENTITYCLASS_DRAGGER_WEAK + round_to_int(m_Strength) - 1, (int)ENTITYCLASS_DRAGGER_WEAK, (int)ENTITYCLASS_DRAGGER_STRONG);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -112,6 +112,9 @@ void CGun::Tick()
|
||||||
|
|
||||||
void CGun::Snap(int SnappingClient)
|
void CGun::Snap(int SnappingClient)
|
||||||
{
|
{
|
||||||
|
if(NetworkClipped(SnappingClient))
|
||||||
|
return;
|
||||||
|
|
||||||
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
||||||
if(!pEntData)
|
if(!pEntData)
|
||||||
return;
|
return;
|
||||||
|
@ -128,9 +131,6 @@ void CGun::Snap(int SnappingClient)
|
||||||
else
|
else
|
||||||
pEntData->m_EntityClass = ENTITYCLASS_GUN_UNFREEZE;
|
pEntData->m_EntityClass = ENTITYCLASS_GUN_UNFREEZE;
|
||||||
|
|
||||||
if(NetworkClipped(SnappingClient))
|
|
||||||
return;
|
|
||||||
|
|
||||||
CCharacter *Char = GameServer()->GetPlayerChar(SnappingClient);
|
CCharacter *Char = GameServer()->GetPlayerChar(SnappingClient);
|
||||||
|
|
||||||
if(SnappingClient > -1 && (GameServer()->m_apPlayers[SnappingClient]->GetTeam() == -1 || GameServer()->m_apPlayers[SnappingClient]->IsPaused()) &&
|
if(SnappingClient > -1 && (GameServer()->m_apPlayers[SnappingClient]->GetTeam() == -1 || GameServer()->m_apPlayers[SnappingClient]->IsPaused()) &&
|
||||||
|
|
|
@ -102,6 +102,9 @@ void CLight::Tick()
|
||||||
|
|
||||||
void CLight::Snap(int SnappingClient)
|
void CLight::Snap(int SnappingClient)
|
||||||
{
|
{
|
||||||
|
if(NetworkClipped(SnappingClient, m_Pos) && NetworkClipped(SnappingClient, m_To))
|
||||||
|
return;
|
||||||
|
|
||||||
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
CNetObj_EntityEx *pEntData = static_cast<CNetObj_EntityEx *>(Server()->SnapNewItem(NETOBJTYPE_ENTITYEX, GetID(), sizeof(CNetObj_EntityEx)));
|
||||||
if(!pEntData)
|
if(!pEntData)
|
||||||
return;
|
return;
|
||||||
|
@ -110,9 +113,6 @@ void CLight::Snap(int SnappingClient)
|
||||||
pEntData->m_Layer = m_Layer;
|
pEntData->m_Layer = m_Layer;
|
||||||
pEntData->m_EntityClass = ENTITYCLASS_LIGHT;
|
pEntData->m_EntityClass = ENTITYCLASS_LIGHT;
|
||||||
|
|
||||||
if(NetworkClipped(SnappingClient, m_Pos) && NetworkClipped(SnappingClient, m_To))
|
|
||||||
return;
|
|
||||||
|
|
||||||
CCharacter *Char = GameServer()->GetPlayerChar(SnappingClient);
|
CCharacter *Char = GameServer()->GetPlayerChar(SnappingClient);
|
||||||
|
|
||||||
if(SnappingClient > -1 && (GameServer()->m_apPlayers[SnappingClient]->GetTeam() == -1 || GameServer()->m_apPlayers[SnappingClient]->IsPaused()) && GameServer()->m_apPlayers[SnappingClient]->m_SpectatorID != SPEC_FREEVIEW)
|
if(SnappingClient > -1 && (GameServer()->m_apPlayers[SnappingClient]->GetTeam() == -1 || GameServer()->m_apPlayers[SnappingClient]->IsPaused()) && GameServer()->m_apPlayers[SnappingClient]->m_SpectatorID != SPEC_FREEVIEW)
|
||||||
|
|
Loading…
Reference in a new issue