diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -99,7 +99,7 @@ Town::~Town() } DeleteSubsidyWith(ST_TOWN, this->index); - + CargoPacket::InvalidateAllFrom(ST_TOWN, this->index); MarkWholeScreenDirty(); } @@ -460,7 +460,7 @@ static void TileLoop_Town(TileIndex tile uint amt = GB(callback, 0, 8); if (amt == 0) continue; - uint moved = MoveGoodsToStation(tile, 1, 1, cargo, amt); + uint moved = MoveGoodsToStation(tile, 1, 1, cargo, amt, ST_TOWN, t->index); const CargoSpec *cs = CargoSpec::Get(cargo); switch (cs->town_effect) { @@ -484,7 +484,7 @@ static void TileLoop_Town(TileIndex tile if (_economy.fluct <= 0) amt = (amt + 1) >> 1; t->new_max_pass += amt; - t->new_act_pass += MoveGoodsToStation(tile, 1, 1, CT_PASSENGERS, amt); + t->new_act_pass += MoveGoodsToStation(tile, 1, 1, CT_PASSENGERS, amt, ST_TOWN, t->index); } if (GB(r, 8, 8) < hs->mail_generation) { @@ -492,7 +492,7 @@ static void TileLoop_Town(TileIndex tile if (_economy.fluct <= 0) amt = (amt + 1) >> 1; t->new_max_mail += amt; - t->new_act_mail += MoveGoodsToStation(tile, 1, 1, CT_MAIL, amt); + t->new_act_mail += MoveGoodsToStation(tile, 1, 1, CT_MAIL, amt, ST_TOWN, t->index); } }