diff options
author | frosch <frosch@openttd.org> | 2010-01-16 22:44:03 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2010-01-16 22:44:03 +0000 |
commit | 381bf04bab14528ab47b95a944f67c2769d44b81 (patch) | |
tree | 51a17f099d77bcc9467ffb2e73a57f300b20bd3c /src/newgrf_station.cpp | |
parent | 719fb9803cbae4623f5b3be5ed1c3cc6c3e89c98 (diff) | |
download | openttd-381bf04bab14528ab47b95a944f67c2769d44b81.tar.xz |
(svn r18839) -Codechange: Detriplicate drawing of spritelayouts in the GUI.
Diffstat (limited to 'src/newgrf_station.cpp')
-rw-r--r-- | src/newgrf_station.cpp | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 418da8a6a..992d5d8aa 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -11,7 +11,6 @@ #include "stdafx.h" #include "variables.h" -#include "landscape.h" #include "debug.h" #include "station_base.h" #include "waypoint_base.h" @@ -28,7 +27,6 @@ #include "animated_tile_func.h" #include "functions.h" #include "tunnelbridge_map.h" -#include "spritecache.h" #include "newgrf.h" #include "core/random_func.hpp" @@ -880,17 +878,14 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID { const StationSpec *statspec; const DrawTileSprites *sprites; - const DrawTileSeqStruct *seq; const RailtypeInfo *rti = GetRailTypeInfo(railtype); - SpriteID relocation; - SpriteID image; SpriteID palette = COMPANY_SPRITE_COLOUR(_local_company); uint tile = 2; statspec = GetCustomStationSpec(sclass, station); if (statspec == NULL) return false; - relocation = GetCustomStationRelocation(statspec, NULL, INVALID_TILE); + uint relocation = GetCustomStationRelocation(statspec, NULL, INVALID_TILE); if (HasBit(statspec->callback_mask, CBM_STATION_SPRITE_LAYOUT)) { uint16 callback = GetStationCallback(CBID_STATION_SPRITE_LAYOUT, 0x2110000, 0, statspec, NULL, INVALID_TILE); @@ -903,7 +898,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID sprites = &statspec->renderdata[(tile < statspec->tiles) ? tile + axis : (uint)axis]; } - image = sprites->ground.sprite; + SpriteID image = sprites->ground.sprite; SpriteID pal = sprites->ground.pal; if (HasBit(image, SPRITE_MODIFIER_USE_OFFSET)) { image += GetCustomStationGroundRelocation(statspec, NULL, INVALID_TILE); @@ -914,30 +909,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID DrawSprite(image, GroundSpritePaletteTransform(image, pal, palette), x, y); - Point child_offset = {0, 0}; - - foreach_draw_tile_seq(seq, sprites->seq) { - image = seq->image.sprite; - if (HasBit(image, SPRITE_MODIFIER_USE_OFFSET)) { - image += rti->total_offset; - } else { - image += relocation; - } - - pal = SpriteLayoutPaletteTransform(image, seq->image.pal, palette); - - if ((byte)seq->delta_z != 0x80) { - Point pt = RemapCoords(seq->delta_x, seq->delta_y, seq->delta_z); - DrawSprite(image, pal, x + pt.x, y + pt.y); - - const Sprite *spr = GetSprite(image & SPRITE_MASK, ST_NORMAL); - child_offset.x = pt.x + spr->x_offs; - child_offset.y = pt.y + spr->y_offs; - } else { - /* For stations and original spritelayouts delta_x and delta_y are signed */ - DrawSprite(image, pal, x + child_offset.x + seq->delta_x, y + child_offset.y + seq->delta_y); - } - } + DrawCommonTileSeqInGUI(x, y, sprites, rti->total_offset, relocation, palette); return true; } |