Merge pull request #1853 from 12pm/pr_unused_non_ddnet

Render all entities on non ddnet servers
This commit is contained in:
Dennis Felsing 2019-07-31 17:31:11 +02:00 committed by GitHub
commit c8d12bd386
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 7 deletions

View file

@ -17,7 +17,7 @@ GameInfoFlags = [
"BUG_DDRACE_INPUT", "BUG_FNG_LASER_RANGE", "BUG_VANILLA_BOUNCE",
"PREDICT_FNG", "PREDICT_DDRACE", "PREDICT_DDRACE_TILES", "PREDICT_VANILLA",
"ENTITIES_DDNET", "ENTITIES_DDRACE", "ENTITIES_RACE", "ENTITIES_FNG",
"ENTITIES_VANILLA",
"ENTITIES_VANILLA", "ENTITIES_UNUSED",
]
ExPlayerFlags = ["AFK"]

View file

@ -620,21 +620,21 @@ void CMapLayers::OnMapLoad()
{
Index = ((CTile*)pTiles)[y*pTMap->m_Width+x].m_Index;
Flags = ((CTile*)pTiles)[y*pTMap->m_Width+x].m_Flags;
if(GameClient()->m_GameInfo.m_EntitiesDDNet && !IsValidGameTile(Index))
if(!GameClient()->m_GameInfo.m_EntitiesUnused && !IsValidGameTile(Index))
Index = 0;
}
if(IsFrontLayer)
{
Index = ((CTile*)pTiles)[y*pTMap->m_Width+x].m_Index;
Flags = ((CTile*)pTiles)[y*pTMap->m_Width+x].m_Flags;
if(!IsValidFrontTile(Index))
if(!GameClient()->m_GameInfo.m_EntitiesUnused && !IsValidFrontTile(Index))
Index = 0;
}
if(IsSwitchLayer)
{
Flags = 0;
Index = ((CSwitchTile*)pTiles)[y*pTMap->m_Width+x].m_Type;
if(!IsValidSwitchTile(Index))
if(!GameClient()->m_GameInfo.m_EntitiesUnused && !IsValidSwitchTile(Index))
Index = 0;
else if(CurOverlay == 0)
{
@ -650,7 +650,7 @@ void CMapLayers::OnMapLoad()
{
Index = ((CTeleTile*)pTiles)[y*pTMap->m_Width+x].m_Type;
Flags = 0;
if(!IsValidTeleTile(Index))
if(!GameClient()->m_GameInfo.m_EntitiesUnused && !IsValidTeleTile(Index))
Index = 0;
else if(CurOverlay == 1)
{
@ -664,7 +664,7 @@ void CMapLayers::OnMapLoad()
Index = ((CSpeedupTile*)pTiles)[y*pTMap->m_Width+x].m_Type;
Flags = 0;
AngleRotate = ((CSpeedupTile*)pTiles)[y*pTMap->m_Width + x].m_Angle;
if(!IsValidSpeedupTile(Index) || ((CSpeedupTile*)pTiles)[y*pTMap->m_Width+x].m_Force == 0)
if(!GameClient()->m_GameInfo.m_EntitiesUnused && (!IsValidSpeedupTile(Index) || ((CSpeedupTile*)pTiles)[y*pTMap->m_Width+x].m_Force == 0))
Index = 0;
else if(CurOverlay == 1)
Index = ((CSpeedupTile*)pTiles)[y*pTMap->m_Width+x].m_Force;
@ -674,7 +674,7 @@ void CMapLayers::OnMapLoad()
if(IsTuneLayer)
{
Index = ((CTuneTile*)pTiles)[y*pTMap->m_Width+x].m_Type;
if(!IsValidTuneTile(Index))
if(!GameClient()->m_GameInfo.m_EntitiesUnused && !IsValidTuneTile(Index))
Index = 0;
Flags = 0;
}

View file

@ -1025,6 +1025,7 @@ static CGameInfo GetGameInfo(const CNetObj_GameInfoEx *pInfoEx, int InfoExSize,
Info.m_EntitiesRace = Race;
Info.m_EntitiesFNG = FNG;
Info.m_EntitiesVanilla = Vanilla;
Info.m_EntitiesUnused = !DDNet;
Info.m_Race = Race;
if(Version >= 0)
@ -1056,6 +1057,7 @@ static CGameInfo GetGameInfo(const CNetObj_GameInfoEx *pInfoEx, int InfoExSize,
}
if(Version >= 3)
{
Info.m_EntitiesUnused = Flags&GAMEINFOFLAG_ENTITIES_UNUSED;
Info.m_Race = Flags&GAMEINFOFLAG_RACE;
}
return Info;

View file

@ -88,6 +88,7 @@ public:
bool m_EntitiesFNG;
bool m_EntitiesVanilla;
bool m_EntitiesUnused;
bool m_Race;
};