From cde350dc0159d3075cf87993bcbefaa09402513f Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 17 Apr 2025 17:36:22 +0200 Subject: [PATCH] Codechange: Replace macros GENERAL_SPRITE_COLOUR and COMPANY_SPRITE_COLOUR with functions GetColourPalette and GetCompanyPalette. --- src/airport_gui.cpp | 2 +- src/company_cmd.cpp | 12 +++++++++++- src/company_func.h | 1 + src/company_gui.cpp | 11 ++++++----- src/industry_cmd.cpp | 4 ++-- src/main_gui.cpp | 2 +- src/newgrf_airporttiles.cpp | 6 +++--- src/newgrf_house.cpp | 2 +- src/newgrf_industrytiles.cpp | 6 +++--- src/newgrf_object.cpp | 2 +- src/newgrf_roadstop.cpp | 2 +- src/newgrf_station.cpp | 2 +- src/object_cmd.cpp | 2 +- src/rail_cmd.cpp | 4 ++-- src/road_cmd.cpp | 6 +++--- src/sprite.h | 10 +++++++--- src/station_cmd.cpp | 4 ++-- src/toolbar_gui.cpp | 2 +- src/town_gui.cpp | 4 ++-- src/water_cmd.cpp | 4 ++-- 20 files changed, 52 insertions(+), 36 deletions(-) diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index 0d2b0b0b81..c06dccbf49 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -401,7 +401,7 @@ public: case WID_AP_AIRPORT_SPRITE: if (this->preview_sprite != 0) { Dimension d = GetSpriteSize(this->preview_sprite); - DrawSprite(this->preview_sprite, COMPANY_SPRITE_COLOUR(_local_company), CentreBounds(r.left, r.right, d.width), CentreBounds(r.top, r.bottom, d.height)); + DrawSprite(this->preview_sprite, GetCompanyPalette(_local_company), CentreBounds(r.left, r.right, d.width), CentreBounds(r.top, r.bottom, d.height)); } break; diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 91025c7d01..dbaaddb575 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -151,6 +151,16 @@ TextColour GetDrawStringCompanyColour(CompanyID company) return (TextColour)GetColourGradient(_company_colours[company], SHADE_NORMAL) | TC_IS_PALETTE_COLOUR; } +/** + * Get the palette for recolouring with a company colour. + * @param company Company to get the colour of. + * @return Palette for recolouring. + */ +PaletteID GetCompanyPalette(CompanyID company) +{ + return GetColourPalette(_company_colours[company]); +} + /** * Draw the icon of a company. * @param c Company that needs its icon drawn. @@ -159,7 +169,7 @@ TextColour GetDrawStringCompanyColour(CompanyID company) */ void DrawCompanyIcon(CompanyID c, int x, int y) { - DrawSprite(SPR_COMPANY_ICON, COMPANY_SPRITE_COLOUR(c), x, y); + DrawSprite(SPR_COMPANY_ICON, GetCompanyPalette(c), x, y); } /** diff --git a/src/company_func.h b/src/company_func.h index 870a292424..4e6029cc15 100644 --- a/src/company_func.h +++ b/src/company_func.h @@ -38,6 +38,7 @@ extern CompanyID _current_company; extern ReferenceThroughBaseContainer> _company_colours; extern CompanyManagerFace _company_manager_face; +PaletteID GetCompanyPalette(CompanyID company); /** * Is the current company the local company? diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 01544dc527..3e7aecfac0 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -589,7 +589,8 @@ static const LiveryClass _livery_class[LS_END] = { template class DropDownListColourItem : public DropDownIcon> { public: - DropDownListColourItem(int colour, bool masked) : DropDownIcon>(TSprite, GENERAL_SPRITE_COLOUR(colour % COLOUR_END), GetString(colour < COLOUR_END ? (STR_COLOUR_DARK_BLUE + colour) : STR_COLOUR_DEFAULT), colour, masked) + DropDownListColourItem(int colour, bool masked) : + DropDownIcon>(TSprite, GetColourPalette(static_cast(colour % COLOUR_END)), GetString(colour < COLOUR_END ? (STR_COLOUR_DARK_BLUE + colour) : STR_COLOUR_DEFAULT), colour, masked) { } }; @@ -878,12 +879,12 @@ public: DrawString(sch.left + (rtl ? 0 : indent), sch.right - (rtl ? indent : 0), y + text_offs, str, is_selected ? TC_WHITE : TC_BLACK); /* Text below the first dropdown. */ - DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOUR(livery.colour1), pri_squ.left, y + square_offs); + DrawSprite(SPR_SQUARE, GetColourPalette(livery.colour1), pri_squ.left, y + square_offs); DrawString(pri.left, pri.right, y + text_offs, (is_default_scheme || HasBit(livery.in_use, 0)) ? STR_COLOUR_DARK_BLUE + livery.colour1 : STR_COLOUR_DEFAULT, is_selected ? TC_WHITE : TC_GOLD); /* Text below the second dropdown. */ if (sec.right > sec.left) { // Second dropdown has non-zero size. - DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOUR(livery.colour2), sec_squ.left, y + square_offs); + DrawSprite(SPR_SQUARE, GetColourPalette(livery.colour2), sec_squ.left, y + square_offs); DrawString(sec.left, sec.right, y + text_offs, (is_default_scheme || HasBit(livery.in_use, 1)) ? STR_COLOUR_DARK_BLUE + livery.colour2 : STR_COLOUR_DEFAULT, is_selected ? TC_WHITE : TC_GOLD); } @@ -1148,7 +1149,7 @@ void DrawCompanyManagerFace(CompanyManagerFace cmf, Colours colour, const Rect & } /* Draw the gradient (background) */ - DrawSprite(SPR_GRADIENT, GENERAL_SPRITE_COLOUR(colour), x, y); + DrawSprite(SPR_GRADIENT, GetColourPalette(colour), x, y); for (CompanyManagerFaceVariable cmfv = CMFV_CHEEKS; cmfv < CMFV_END; cmfv++) { switch (cmfv) { @@ -2373,7 +2374,7 @@ struct CompanyWindow : Window Point offset; Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset); d.height -= offset.y; - DrawSprite(SPR_VEH_BUS_SW_VIEW, COMPANY_SPRITE_COLOUR(c->index), r.left - offset.x, CentreBounds(r.top, r.bottom, d.height) - offset.y); + DrawSprite(SPR_VEH_BUS_SW_VIEW, GetCompanyPalette(c->index), r.left - offset.x, CentreBounds(r.top, r.bottom, d.height) - offset.y); break; } diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 42b8a6fd7f..c702948c51 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -363,7 +363,7 @@ static void DrawTile_Industry(TileInfo *ti) if (image == SPR_FLAT_WATER_TILE && IsTileOnWater(ti->tile)) { DrawWaterClassGround(ti); } else { - DrawGroundSprite(image, GroundSpritePaletteTransform(image, dits->ground.pal, GENERAL_SPRITE_COLOUR(ind->random_colour))); + DrawGroundSprite(image, GroundSpritePaletteTransform(image, dits->ground.pal, GetColourPalette(ind->random_colour))); } /* If industries are transparent and invisible, do not draw the upper part */ @@ -372,7 +372,7 @@ static void DrawTile_Industry(TileInfo *ti) /* Add industry on top of the ground? */ image = dits->building.sprite; if (image != 0) { - AddSortableSpriteToDraw(image, SpriteLayoutPaletteTransform(image, dits->building.pal, GENERAL_SPRITE_COLOUR(ind->random_colour)), + AddSortableSpriteToDraw(image, SpriteLayoutPaletteTransform(image, dits->building.pal, GetColourPalette(ind->random_colour)), ti->x + dits->subtile_x, ti->y + dits->subtile_y, dits->width, diff --git a/src/main_gui.cpp b/src/main_gui.cpp index db31804541..913aa5d64b 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -549,7 +549,7 @@ void ShowSelectGameWindow(); void SetupColoursAndInitialWindow() { for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { - const uint8_t *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour) + 1; + const uint8_t *b = GetNonSprite(GetColourPalette(i), SpriteType::Recolour) + 1; assert(b != nullptr); for (ColourShade j = SHADE_BEGIN; j < SHADE_END; j++) { SetColourGradient(i, j, b[0xC6 + j]); diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index eea0f118c3..7a6acd0060 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -241,7 +241,7 @@ uint16_t GetAirportTileCallback(CallbackID callback, uint32_t param1, uint32_t p return object.ResolveCallback(); } -static void AirportDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, uint8_t colour) +static void AirportDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, Colours colour) { const DrawTileSprites *dts = group->ProcessRegisters(nullptr); @@ -252,11 +252,11 @@ static void AirportDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGrou if (image == SPR_FLAT_WATER_TILE && IsTileOnWater(ti->tile)) { DrawWaterClassGround(ti); } else { - DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, GENERAL_SPRITE_COLOUR(colour))); + DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, GetColourPalette(colour))); } } - DrawNewGRFTileSeq(ti, dts, TO_BUILDINGS, 0, GENERAL_SPRITE_COLOUR(colour)); + DrawNewGRFTileSeq(ti, dts, TO_BUILDINGS, 0, GetColourPalette(colour)); } bool DrawNewAirportTile(TileInfo *ti, Station *st, const AirportTileSpec *airts) diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 99cbf7b0e1..1a61804a2d 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -530,7 +530,7 @@ static void DrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *grou const DrawTileSprites *dts = group->ProcessRegisters(&stage); const HouseSpec *hs = HouseSpec::Get(house_id); - PaletteID palette = GENERAL_SPRITE_COLOUR(hs->random_colour[TileHash2Bit(ti->x, ti->y)]); + PaletteID palette = GetColourPalette(hs->random_colour[TileHash2Bit(ti->x, ti->y)]); if (hs->callback_mask.Test(HouseCallbackMask::Colour)) { uint16_t callback = GetHouseCallback(CBID_HOUSE_COLOUR, 0, 0, house_id, Town::GetByTile(ti->tile), ti->tile); if (callback != CALLBACK_FAILED) { diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp index 60988f6e1d..616be4feee 100644 --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -158,7 +158,7 @@ uint32_t IndustryTileResolverObject::GetDebugID() const return GetIndustryTileSpec(gfx)->grf_prop.local_id; } -static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, uint8_t rnd_colour, uint8_t stage) +static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, Colours rnd_colour, uint8_t stage) { const DrawTileSprites *dts = group->ProcessRegisters(&stage); @@ -174,11 +174,11 @@ static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGro if (image == SPR_FLAT_WATER_TILE && IsTileOnWater(ti->tile)) { DrawWaterClassGround(ti); } else { - DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, GENERAL_SPRITE_COLOUR(rnd_colour))); + DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, GetColourPalette(rnd_colour))); } } - DrawNewGRFTileSeq(ti, dts, TO_INDUSTRIES, stage, GENERAL_SPRITE_COLOUR(rnd_colour)); + DrawNewGRFTileSeq(ti, dts, TO_INDUSTRIES, stage, GetColourPalette(rnd_colour)); } uint16_t GetIndustryTileCallback(CallbackID callback, uint32_t param1, uint32_t param2, IndustryGfx gfx_id, Industry *industry, TileIndex tile) diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index c44ddaa12e..515faed0d7 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -502,7 +502,7 @@ void DrawNewObjectTileInGUI(int x, int y, const ObjectSpec *spec, uint8_t view) const Livery &l = Company::Get(_local_company)->livery[0]; palette = SPR_2CCMAP_BASE + l.colour1 + l.colour2 * 16; } else { - palette = COMPANY_SPRITE_COLOUR(_local_company); + palette = GetCompanyPalette(_local_company); } } else { /* There's no company, so just take the base palette. */ diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 188c93bde0..1aef3cb20d 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -301,7 +301,7 @@ void DrawRoadStopTile(int x, int y, RoadType roadtype, const RoadStopSpec *spec, if (group == nullptr || group->type != SGT_TILELAYOUT) return; const DrawTileSprites *dts = ((const TileLayoutSpriteGroup *)group)->ProcessRegisters(nullptr); - PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); + PaletteID palette = GetCompanyPalette(_local_company); SpriteID image = dts->ground.sprite; PaletteID pal = dts->ground.pal; diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index e24d45a5aa..ab85934d6c 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -803,7 +803,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID { const DrawTileSprites *sprites = nullptr; const RailTypeInfo *rti = GetRailTypeInfo(railtype); - PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); + PaletteID palette = GetCompanyPalette(_local_company); uint tile = 2; const StationSpec *statspec = StationClass::Get(sclass)->GetSpec(station); diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index dfac4362b1..4417d76f4e 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -450,7 +450,7 @@ static void DrawTile_Object(TileInfo *ti) if (type < NEW_OBJECT_OFFSET) { const DrawTileSprites *dts = nullptr; Owner to = GetTileOwner(ti->tile); - PaletteID palette = to == OWNER_NONE ? PAL_NONE : COMPANY_SPRITE_COLOUR(to); + PaletteID palette = to == OWNER_NONE ? PAL_NONE : GetCompanyPalette(to); if (type == OBJECT_HQ) { TileIndex diff = ti->tile - Object::GetByTile(ti->tile)->location.tile; diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 46ccda7303..5dabe00926 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2422,7 +2422,7 @@ static void DrawTile_Track(TileInfo *ti) { const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); - _drawtile_track_palette = COMPANY_SPRITE_COLOUR(GetTileOwner(ti->tile)); + _drawtile_track_palette = GetCompanyPalette(GetTileOwner(ti->tile)); if (IsPlainRail(ti->tile)) { TrackBits rails = GetTrackBits(ti->tile); @@ -2547,7 +2547,7 @@ void DrawTrainDepotSprite(int x, int y, int dir, RailType railtype) uint32_t offset = rti->GetRailtypeSpriteOffset(); if (image != SPR_FLAT_GRASS_TILE) image += offset; - PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); + PaletteID palette = GetCompanyPalette(_local_company); DrawSprite(image, PAL_NONE, x, y); diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index ea1065b7f4..a205694333 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1417,7 +1417,7 @@ void DrawRoadTypeCatenary(const TileInfo *ti, RoadType rt, RoadBits rb) /* Catenary uses 1st company colour to help identify owner. * For tiles with OWNER_TOWN or OWNER_NONE, recolour CC to grey as a neutral colour. */ Owner owner = GetRoadOwner(ti->tile, GetRoadTramType(rt)); - PaletteID pal = (owner == OWNER_NONE || owner == OWNER_TOWN ? GENERAL_SPRITE_COLOUR(COLOUR_GREY) : COMPANY_SPRITE_COLOUR(owner)); + PaletteID pal = (owner == OWNER_NONE || owner == OWNER_TOWN ? GetColourPalette(COLOUR_GREY) : GetCompanyPalette(owner)); int z_wires = (ti->tileh == SLOPE_FLAT ? 0 : TILE_HEIGHT) + BB_HEIGHT_UNDER_BRIDGE; if (back != 0) { /* The "back" sprite contains the west, north and east pillars. @@ -1814,7 +1814,7 @@ static void DrawTile_Road(TileInfo *ti) case ROAD_TILE_DEPOT: { if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED); - PaletteID palette = COMPANY_SPRITE_COLOUR(GetTileOwner(ti->tile)); + PaletteID palette = GetCompanyPalette(GetTileOwner(ti->tile)); RoadType road_rt = GetRoadTypeRoad(ti->tile); RoadType tram_rt = GetRoadTypeTram(ti->tile); @@ -1867,7 +1867,7 @@ static void DrawTile_Road(TileInfo *ti) */ void DrawRoadDepotSprite(int x, int y, DiagDirection dir, RoadType rt) { - PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); + PaletteID palette = GetCompanyPalette(_local_company); const RoadTypeInfo *rti = GetRoadTypeInfo(rt); int relocation = GetCustomRoadSprite(rti, INVALID_TILE, ROTSG_DEPOT); diff --git a/src/sprite.h b/src/sprite.h index c9a89ce163..948259c655 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -14,9 +14,6 @@ #include "table/sprites.h" -#define GENERAL_SPRITE_COLOUR(colour) ((colour) + PALETTE_RECOLOUR_START) -#define COMPANY_SPRITE_COLOUR(owner) (GENERAL_SPRITE_COLOUR(_company_colours[owner])) - /* The following describes bunch of sprites to be drawn together in a single 3D * bounding box. Used especially for various multi-sprite buildings (like * depots or stations): */ @@ -180,4 +177,11 @@ inline PaletteID GroundSpritePaletteTransform(SpriteID image, PaletteID pal, Pal } } +/** + * Get recolour palette for a colour. + * @param colour Colour. + * @return Recolour palette. + */ +static inline PaletteID GetColourPalette(Colours colour) { return PALETTE_RECOLOUR_START + colour; } + #endif /* SPRITE_H */ diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index ab76fd4788..22e648c8f1 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3174,7 +3174,7 @@ static void DrawTile_Station(TileInfo *ti) PaletteID palette; if (Company::IsValidID(owner)) { - palette = COMPANY_SPRITE_COLOUR(owner); + palette = GetCompanyPalette(owner); } else { /* Some stations are not owner by a company, namely oil rigs */ palette = PALETTE_TO_GREY; @@ -3406,7 +3406,7 @@ draw_default_foundation: void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, RoadType roadtype, int image) { int32_t total_offset = 0; - PaletteID pal = COMPANY_SPRITE_COLOUR(_local_company); + PaletteID pal = GetCompanyPalette(_local_company); const DrawTileSprites *t = GetStationTileLayout(st, image); const RailTypeInfo *railtype_info = nullptr; diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index e94e14c818..b0b934ae00 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -101,7 +101,7 @@ static CallBackFunction _last_started_action = CBF_NONE; ///< Last started user */ class DropDownListCompanyItem : public DropDownIcon, true>> { public: - DropDownListCompanyItem(CompanyID company, bool shaded) : DropDownIcon, true>>(SPR_COMPANY_ICON, COMPANY_SPRITE_COLOUR(company), NetworkCanJoinCompany(company) ? SPR_EMPTY : SPR_LOCK, PAL_NONE, GetString(STR_COMPANY_NAME_COMPANY_NUM, company, company), company.base(), false, shaded) + DropDownListCompanyItem(CompanyID company, bool shaded) : DropDownIcon, true>>(SPR_COMPANY_ICON, GetCompanyPalette(company), NetworkCanJoinCompany(company) ? SPR_EMPTY : SPR_LOCK, PAL_NONE, GetString(STR_COMPANY_NAME_COMPANY_NUM, company, company), company.base(), false, shaded) { } }; diff --git a/src/town_gui.cpp b/src/town_gui.cpp index a5c4cc7560..80b5f96d2f 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -201,7 +201,7 @@ public: DrawCompanyIcon(c->index, icon.left, text.top + icon_y_offset); if (this->town->exclusivity == c->index) { - DrawSprite(SPR_EXCLUSIVE_TRANSPORT, COMPANY_SPRITE_COLOUR(c->index), exclusive.left, text.top + exclusive_y_offset); + DrawSprite(SPR_EXCLUSIVE_TRANSPORT, GetCompanyPalette(c->index), exclusive.left, text.top + exclusive_y_offset); } int rating = this->town->ratings[c->index]; @@ -1352,7 +1352,7 @@ void DrawNewHouseTileInGUI(int x, int y, const HouseSpec *spec, HouseID house_id uint8_t stage = TOWN_HOUSE_COMPLETED; const DrawTileSprites *dts = reinterpret_cast(group)->ProcessRegisters(&stage); - PaletteID palette = GENERAL_SPRITE_COLOUR(spec->random_colour[0]); + PaletteID palette = GetColourPalette(spec->random_colour[0]); if (spec->callback_mask.Test(HouseCallbackMask::Colour)) { uint16_t callback = GetHouseCallback(CBID_HOUSE_COLOUR, 0, 0, house_id, nullptr, INVALID_TILE, true, view); if (callback != CALLBACK_FAILED) { diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 89d4ebab24..5c00ea0bfe 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -860,7 +860,7 @@ static void DrawWaterLock(const TileInfo *ti) static void DrawWaterDepot(const TileInfo *ti) { DrawWaterClassGround(ti); - DrawWaterTileStruct(ti, _shipdepot_display_data[GetShipDepotAxis(ti->tile)][GetShipDepotPart(ti->tile)].seq, 0, 0, COMPANY_SPRITE_COLOUR(GetTileOwner(ti->tile)), CF_END); + DrawWaterTileStruct(ti, _shipdepot_display_data[GetShipDepotAxis(ti->tile)][GetShipDepotPart(ti->tile)].seq, 0, 0, GetCompanyPalette(GetTileOwner(ti->tile)), CF_END); } static void DrawRiverWater(const TileInfo *ti) @@ -957,7 +957,7 @@ void DrawShipDepotSprite(int x, int y, Axis axis, DepotPart part) const DrawTileSprites &dts = _shipdepot_display_data[axis][part]; DrawSprite(dts.ground.sprite, dts.ground.pal, x, y); - DrawOrigTileSeqInGUI(x, y, &dts, COMPANY_SPRITE_COLOUR(_local_company)); + DrawOrigTileSeqInGUI(x, y, &dts, GetCompanyPalette(_local_company)); }