Files
@ r27636:dd08900a2d5c
Branch filter:
Location: cpp/openttd-patchpack/source/src/station_func.h - annotation
r27636:dd08900a2d5c
2.8 KiB
text/x-c
Fix #11054: Prevent translation of currency codes.
Most languages stick with the 3-letter latin currency codes in the name
string, however some translations are... clever... and use the currency
symbol instead. Whilst this may look nice, it can cause issues with fonts
as some scripts have a specific limited set of fonts which do not include
these symbols.
Instead, hard code the currency code list and add it when drawing the
currency name.
Most languages stick with the 3-letter latin currency codes in the name
string, however some translations are... clever... and use the currency
symbol instead. Whilst this may look nice, it can cause issues with fonts
as some scripts have a specific limited set of fonts which do not include
these symbols.
Instead, hard code the currency code list and add it when drawing the
currency name.
r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r8787:4e60a460f8ef r8785:8312063c5ee4 r20252:76a6f1c78ce7 r18560:ff3a65f20dab r19885:5058ecc2c266 r23698:1872cc5b7dd7 r21443:e0525f7288a8 r23420:9c4e5ff5cf11 r8785:8312063c5ee4 r10207:a1fc2f2a33db r8785:8312063c5ee4 r8785:8312063c5ee4 r12381:5e06b887e97b r24054:96f94ee4b3e1 r8785:8312063c5ee4 r12253:9cc92893e2d0 r23607:36c15679007d r12936:7e236b5793c8 r12936:7e236b5793c8 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r8785:8312063c5ee4 r15886:9bf3f985d8c3 r8785:8312063c5ee4 r8785:8312063c5ee4 r23760:58e1a032cdaf r23760:58e1a032cdaf r23760:58e1a032cdaf r23761:c6d5f8035327 r8785:8312063c5ee4 r8787:4e60a460f8ef r8787:4e60a460f8ef r8787:4e60a460f8ef r19485:c24ce339357e r19485:c24ce339357e r8787:4e60a460f8ef r9334:6d079081ec24 r8787:4e60a460f8ef r19885:5058ecc2c266 r19885:5058ecc2c266 r25901:ecc6a1476cb8 r25901:ecc6a1476cb8 r20420:0d08d63e1ea5 r20252:76a6f1c78ce7 r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r18560:ff3a65f20dab r8785:8312063c5ee4 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file station_func.h Functions related to stations. */
#ifndef STATION_FUNC_H
#define STATION_FUNC_H
#include "sprite.h"
#include "rail_type.h"
#include "road_type.h"
#include "vehicle_type.h"
#include "economy_func.h"
#include "rail.h"
#include "road.h"
#include "linkgraph/linkgraph_type.h"
#include "industry_type.h"
void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint radius);
void ShowStationViewWindow(StationID station);
void UpdateAllStationVirtCoords();
void ClearAllStationCachedNames();
CargoArray GetProductionAroundTiles(TileIndex tile, int w, int h, int rad);
CargoArray GetAcceptanceAroundTiles(TileIndex tile, int w, int h, int rad, CargoTypes *always_accepted = nullptr);
void UpdateStationAcceptance(Station *st, bool show_msg);
const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx);
void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, RoadType roadtype, int image);
bool HasStationInUse(StationID station, bool include_company, CompanyID company);
void DeleteOilRig(TileIndex t);
void UpdateStationDockingTiles(Station *st);
void RemoveDockingTile(TileIndex t);
void ClearDockingTilesCheckingNeighbours(TileIndex tile);
bool IsValidDockingDirectionForDock(TileIndex t, DiagDirection d);
/* Check if a rail station tile is traversable. */
bool IsStationTileBlocked(TileIndex tile);
bool CanStationTileHavePylons(TileIndex tile);
bool CanStationTileHaveWires(TileIndex tile);
void UpdateAirportsNoise();
bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrackOffset *overlay_offset);
void IncreaseStats(Station *st, const Vehicle *v, StationID next_station_id, uint32 time);
void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage, uint32 time, EdgeUpdateMode mode);
void RerouteCargo(Station *st, CargoID c, StationID avoid, StationID avoid2);
/**
* Calculates the maintenance cost of a number of station tiles.
* @param num Number of station tiles.
* @return Total cost.
*/
static inline Money StationMaintenanceCost(uint32 num)
{
return (_price[PR_INFRASTRUCTURE_STATION] * num * (1 + IntSqrt(num))) >> 7; // 7 bits scaling.
}
Money AirportMaintenanceCost(Owner owner);
#endif /* STATION_FUNC_H */
|