1
0
Fork 0

(svn r4723) - Newstations: add TileIndex parameter to station resolver.

release/0.5
peter1138 2006-05-03 21:19:21 +00:00
parent b4a254cd43
commit be5744ae50
5 changed files with 5 additions and 5 deletions

View File

@ -225,7 +225,7 @@ static const RealSpriteGroup *ResolveStationSpriteGroup(const SpriteGroup *spg,
} }
} }
uint32 GetCustomStationRelocation(const StationSpec *statspec, const Station *st, byte ctype) SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile, byte ctype)
{ {
const RealSpriteGroup *rsg = ResolveStationSpriteGroup(statspec->spritegroup[ctype], st); const RealSpriteGroup *rsg = ResolveStationSpriteGroup(statspec->spritegroup[ctype], st);
if (rsg == NULL) return 0; if (rsg == NULL) return 0;

View File

@ -98,7 +98,7 @@ const StationSpec *GetCustomStationSpec(StationClassID sclass, uint station);
/* Get sprite offset for a given custom station and station structure (may be /* Get sprite offset for a given custom station and station structure (may be
* NULL if ctype is set - that means we are in a build dialog). The station * NULL if ctype is set - that means we are in a build dialog). The station
* structure is used for variational sprite groups. */ * structure is used for variational sprite groups. */
uint32 GetCustomStationRelocation(const StationSpec *statspec, const Station *st, byte ctype); SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile, byte ctype);
/* Allocate a StationSpec to a Station. This is called once per build operation. */ /* Allocate a StationSpec to a Station. This is called once per build operation. */
int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec); int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec);

View File

@ -1324,7 +1324,7 @@ static void DrawTile_Track(TileInfo *ti)
DrawTileSeqStruct const *seq; DrawTileSeqStruct const *seq;
// emulate station tile - open with building // emulate station tile - open with building
const DrawTileSprites *cust = &statspec->renderdata[2 + GetWaypointAxis(ti->tile)]; const DrawTileSprites *cust = &statspec->renderdata[2 + GetWaypointAxis(ti->tile)];
uint32 relocation = GetCustomStationRelocation(statspec, ComposeWaypointStation(ti->tile), 0); uint32 relocation = GetCustomStationRelocation(statspec, ComposeWaypointStation(ti->tile), ti->tile, 0);
/* We don't touch the 0x8000 bit. In all this /* We don't touch the 0x8000 bit. In all this
* waypoint code, it is used to indicate that * waypoint code, it is used to indicate that

View File

@ -1989,7 +1989,7 @@ static void DrawTile_Station(TileInfo *ti)
if (statspec != NULL) { if (statspec != NULL) {
uint tile = GetStationGfx(ti->tile); uint tile = GetStationGfx(ti->tile);
relocation = GetCustomStationRelocation(statspec, st, 0); relocation = GetCustomStationRelocation(statspec, st, ti->tile, 0);
/* Ensure the chosen tile layout is valid for this custom station */ /* Ensure the chosen tile layout is valid for this custom station */
t = &statspec->renderdata[tile < statspec->tiles ? tile : GetRailStationAxis(ti->tile)]; t = &statspec->renderdata[tile < statspec->tiles ? tile : GetRailStationAxis(ti->tile)];

View File

@ -405,7 +405,7 @@ void DrawWaypointSprite(int x, int y, int stat_id, RailType railtype)
return; return;
} }
relocation = GetCustomStationRelocation(statspec, NULL, 1); relocation = GetCustomStationRelocation(statspec, NULL, INVALID_TILE, 1);
// emulate station tile - open with building // emulate station tile - open with building
// add 1 to get the other direction // add 1 to get the other direction
cust = &statspec->renderdata[2]; cust = &statspec->renderdata[2];