(svn r16868) -Codechange: unify UpdateAll[Station|Waypoint]VirtCoords

This commit is contained in:
rubidium 2009-07-18 08:41:58 +00:00
parent f129634f52
commit 8c17c6cb2b
7 changed files with 11 additions and 17 deletions

View File

@ -216,7 +216,6 @@ static bool InitializeWindowsAndCaches()
UpdateAllStationVirtCoords();
UpdateAllSignVirtCoords();
UpdateAllTownVirtCoords();
UpdateAllWaypointVirtCoords();
Company *c;
FOR_ALL_COMPANIES(c) {

View File

@ -322,7 +322,6 @@ struct GameOptionsWindow : Window {
ReadLanguagePack(index);
CheckForMissingGlyphsInLoadedLanguagePack();
UpdateAllStationVirtCoords();
UpdateAllWaypointVirtCoords();
ReInitAllWindows();
MarkWholeScreenDirty();
break;

View File

@ -119,6 +119,11 @@ struct BaseStation {
*/
virtual uint32 GetNewGRFVariable(const struct ResolverObject *object, byte variable, byte parameter, bool *available) const = 0;
/**
* Update the coordinated of the sign (as shown in the viewport).
*/
virtual void UpdateVirtCoord() = 0;
/**
* Get the base station belonging to a specific tile.
* @param tile The tile to get the base station from.

View File

@ -33,6 +33,7 @@
#include "elrail_func.h"
#include "station_base.h"
#include "roadstop_base.h"
#include "waypoint.h"
#include "table/strings.h"
@ -384,11 +385,15 @@ void Station::UpdateVirtCoord()
/** Update the virtual coords needed to draw the station sign for all stations. */
void UpdateAllStationVirtCoords()
{
Station *st;
BaseStation *st;
FOR_ALL_STATIONS(st) {
st->UpdateVirtCoord();
}
FOR_ALL_WAYPOINTS(st) {
st->UpdateVirtCoord();
}
}
/** Get a mask of the cargo types that the station accepts.

View File

@ -2286,7 +2286,6 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
t->UpdateVirtCoord();
InvalidateWindowData(WC_TOWN_DIRECTORY, 0, 1);
UpdateAllStationVirtCoords();
UpdateAllWaypointVirtCoords();
}
return CommandCost();
}

View File

@ -17,18 +17,6 @@
WaypointPool _waypoint_pool("Waypoint");
INSTANTIATE_POOL_METHODS(Waypoint)
/**
* Update all signs
*/
void UpdateAllWaypointVirtCoords()
{
Waypoint *wp;
FOR_ALL_WAYPOINTS(wp) {
wp->UpdateVirtCoord();
}
}
/**
* Daily loop for waypoints
*/

View File

@ -51,6 +51,5 @@ struct Waypoint : WaypointPool::PoolItem<&_waypoint_pool>, BaseStation {
CommandCost RemoveTrainWaypoint(TileIndex tile, DoCommandFlag flags, bool justremove);
void ShowWaypointWindow(const Waypoint *wp);
void DrawWaypointSprite(int x, int y, int stat_id, RailType railtype);
void UpdateAllWaypointVirtCoords();
#endif /* WAYPOINT_H */