[Client] Avoid sending map tiles for Wilderness cells

0.6.3
David Cernat 7 years ago
parent 17c234d9ca
commit c23fc3446f

@ -65,9 +65,6 @@ void Worldstate::sendMapExplored(int cellX, int cellY, const std::vector<char>&
getNetworking()->getWorldstatePacket(ID_WORLD_MAP)->setWorldstate(this);
getNetworking()->getWorldstatePacket(ID_WORLD_MAP)->Send();
// Keep this tile marked as explored so we don't send any more packets for it
markExploredMapTile(mapTile.x, mapTile.y);
}
void Worldstate::setMapExplored()

@ -651,6 +651,7 @@ namespace MWRender
Send an ID_PLAYER_MAP packet with this map tile to the server, but only if:
1) We have recorded the exterior cell corresponding to this tile's coordinates
2) The tile has not previously been marked as explored in this client's mwmp::Worldstate
3) The tile does not belong to a Wilderness cell
*/
if (originToCellX.count(imageDest.mX) > 0 && originToCellY.count(imageDest.mY) > 0)
{
@ -660,6 +661,11 @@ namespace MWRender
mwmp::Worldstate *worldstate = mwmp::Main::get().getNetworking()->getWorldstate();
if (!worldstate->containsExploredMapTile(cellX, cellY))
{
// Keep this tile marked as explored so we don't send any more packets for it
worldstate->markExploredMapTile(cellX, cellY);
if (MWBase::Environment::get().getWorld()->getExterior(cellX, cellY)->getCell()->mContextList.empty() == false)
{
LOG_MESSAGE_SIMPLE(Log::LOG_ERROR, "New global map tile corresponds to cell %i, %i", originToCellX.at(imageDest.mX), originToCellY.at(imageDest.mY));
@ -685,6 +691,7 @@ namespace MWRender
worldstate->sendMapExplored(cellX, cellY, vectorData);
}
}
}
/*
End of tes3mp addition
*/

Loading…
Cancel
Save