Allow referencing waypoints in news items
This commit is contained in:
@@ -71,7 +71,7 @@ static TileIndex GetReferenceTile(NewsReferenceType reftype, uint32 ref)
|
|||||||
{
|
{
|
||||||
switch (reftype) {
|
switch (reftype) {
|
||||||
case NR_TILE: return (TileIndex)ref;
|
case NR_TILE: return (TileIndex)ref;
|
||||||
case NR_STATION: return Station::Get((StationID)ref)->xy;
|
case NR_STATION: return BaseStation::Get((StationID)ref)->xy;
|
||||||
case NR_INDUSTRY: return Industry::Get((IndustryID)ref)->location.tile + TileDiffXY(1, 1);
|
case NR_INDUSTRY: return Industry::Get((IndustryID)ref)->location.tile + TileDiffXY(1, 1);
|
||||||
case NR_TOWN: return Town::Get((TownID)ref)->xy;
|
case NR_TOWN: return Town::Get((TownID)ref)->xy;
|
||||||
default: return INVALID_TILE;
|
default: return INVALID_TILE;
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
#include "viewport_kdtree.h"
|
#include "viewport_kdtree.h"
|
||||||
#include "tracerestrict.h"
|
#include "tracerestrict.h"
|
||||||
#include "newgrf_debug.h"
|
#include "newgrf_debug.h"
|
||||||
|
#include "news_func.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
@@ -58,4 +59,7 @@ Waypoint::~Waypoint()
|
|||||||
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
|
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
|
||||||
if (_viewport_sign_kdtree_valid && this->sign.kdtree_valid) _viewport_sign_kdtree.Remove(ViewportSignKdtreeItem::MakeWaypoint(this->index));
|
if (_viewport_sign_kdtree_valid && this->sign.kdtree_valid) _viewport_sign_kdtree.Remove(ViewportSignKdtreeItem::MakeWaypoint(this->index));
|
||||||
TraceRestrictRemoveDestinationID(TROCAF_WAYPOINT, this->index);
|
TraceRestrictRemoveDestinationID(TROCAF_WAYPOINT, this->index);
|
||||||
|
|
||||||
|
/* Remove all news items */
|
||||||
|
DeleteStationNews(this->index);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user