mirror of https://github.com/OpenTTD/OpenTTD
(svn r21060) -Doc: Improved wording of comments (mostly by __ln__)
parent
ca8d55ebcd
commit
7e48d85104
|
@ -12,7 +12,7 @@
|
||||||
*
|
*
|
||||||
* IDs are used to identify certain objects. They are only unique within the object type, so for example a vehicle may have VehicleID 2009,
|
* IDs are used to identify certain objects. They are only unique within the object type, so for example a vehicle may have VehicleID 2009,
|
||||||
* while a station has StationID 2009 at the same time. Also IDs are assigned arbitrary, you cannot assume them to be consecutive.
|
* while a station has StationID 2009 at the same time. Also IDs are assigned arbitrary, you cannot assume them to be consecutive.
|
||||||
* Also note, that some IDs are static and never change, while others are allocated dynamically and might be
|
* Also note that some IDs are static and never change, while others are allocated dynamically and might be
|
||||||
* reused for other objects once they are released. So be careful, which IDs you store for which purpose and whether they stay valid all the time.
|
* reused for other objects once they are released. So be careful, which IDs you store for which purpose and whether they stay valid all the time.
|
||||||
*
|
*
|
||||||
* <table>
|
* <table>
|
||||||
|
|
|
@ -155,7 +155,7 @@ static bool VerifyAutoreplaceRefitForOrders(const Vehicle *v, EngineID engine_ty
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to find what type of cargo to refit to when autoreplacing
|
* Function to find what type of cargo to refit to when autoreplacing
|
||||||
* @param *v Original vehicle, that is being replaced
|
* @param *v Original vehicle that is being replaced.
|
||||||
* @param engine_type The EngineID of the vehicle that is being replaced to
|
* @param engine_type The EngineID of the vehicle that is being replaced to
|
||||||
* @param part_of_chain The vehicle is part of a train
|
* @param part_of_chain The vehicle is part of a train
|
||||||
* @return The cargo type to replace to
|
* @return The cargo type to replace to
|
||||||
|
|
|
@ -689,7 +689,7 @@ int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw details, that applies to all types except rail wagons */
|
/* Draw details that apply to all types except rail wagons. */
|
||||||
if (e->type != VEH_TRAIN || e->u.rail.railveh_type != RAILVEH_WAGON) {
|
if (e->type != VEH_TRAIN || e->u.rail.railveh_type != RAILVEH_WAGON) {
|
||||||
/* Design date - Life length */
|
/* Design date - Life length */
|
||||||
SetDParam(0, ymd.year);
|
SetDParam(0, ymd.year);
|
||||||
|
|
|
@ -356,7 +356,7 @@ struct DepotWindow : Window {
|
||||||
|
|
||||||
maxval = min(this->vehicle_list.Length() + this->wagon_list.Length(), (this->vscroll->GetPosition() * boxes_in_each_row) + (rows_in_display * boxes_in_each_row));
|
maxval = min(this->vehicle_list.Length() + this->wagon_list.Length(), (this->vscroll->GetPosition() * boxes_in_each_row) + (rows_in_display * boxes_in_each_row));
|
||||||
|
|
||||||
/* draw the train wagons, that do not have an engine in front */
|
/* Draw the train wagons without an engine in front. */
|
||||||
for (; num < maxval; num++, y += this->resize.step_height) {
|
for (; num < maxval; num++, y += this->resize.step_height) {
|
||||||
const Vehicle *v = this->wagon_list[num - this->vehicle_list.Length()];
|
const Vehicle *v = this->wagon_list[num - this->vehicle_list.Length()];
|
||||||
this->DrawVehicleInDepot(v, r.left, r.right, y);
|
this->DrawVehicleInDepot(v, r.left, r.right, y);
|
||||||
|
@ -537,9 +537,11 @@ struct DepotWindow : Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Function to set up vehicle specific widgets (mainly sprites and strings).
|
/**
|
||||||
* Only use this if it's the same widget, that's used for more than one vehicle type and it needs different text/sprites
|
* Function to set up vehicle specific widgets (mainly sprites and strings).
|
||||||
* Vehicle specific text/sprites, that's in a widget, that's only shown for one vehicle type (like sell whole train) is set in the nested widget array
|
* Only use this function to if the widget is used for several vehicle types and each has
|
||||||
|
* different text/sprites. If the widget is only used for a single vehicle type, or the same
|
||||||
|
* text/sprites are used every time, use the nested widget array to initialize the widget.
|
||||||
*/
|
*/
|
||||||
void SetupWidgetData(VehicleType type)
|
void SetupWidgetData(VehicleType type)
|
||||||
{
|
{
|
||||||
|
|
|
@ -175,7 +175,7 @@ enum PriceCategory {
|
||||||
struct PriceBaseSpec {
|
struct PriceBaseSpec {
|
||||||
Money start_price; ///< Default value at game start, before adding multipliers.
|
Money start_price; ///< Default value at game start, before adding multipliers.
|
||||||
PriceCategory category; ///< Price is affected by certain difficulty settings.
|
PriceCategory category; ///< Price is affected by certain difficulty settings.
|
||||||
uint grf_feature; ///< GRF Feature, that decides whether price multipliers apply locally or globally. GSF_END if none.
|
uint grf_feature; ///< GRF Feature that decides whether price multipliers apply locally or globally, #GSF_END if none.
|
||||||
Price fallback_price; ///< Fallback price multiplier for new prices but old grfs.
|
Price fallback_price; ///< Fallback price multiplier for new prices but old grfs.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -187,7 +187,7 @@ static const int LOAN_INTERVAL = 10000;
|
||||||
* This allows for 32 bit base prices (21 are currently needed).
|
* This allows for 32 bit base prices (21 are currently needed).
|
||||||
* Considering the sign bit and 16 fractional bits, there are 15 bits left.
|
* Considering the sign bit and 16 fractional bits, there are 15 bits left.
|
||||||
* 170 years of 4% inflation result in a inflation of about 822, so 10 bits are actually enough.
|
* 170 years of 4% inflation result in a inflation of about 822, so 10 bits are actually enough.
|
||||||
* Note, that NewGRF multipliers share the 16 fractional bits.
|
* Note that NewGRF multipliers share the 16 fractional bits.
|
||||||
* @see MAX_PRICE_MODIFIER
|
* @see MAX_PRICE_MODIFIER
|
||||||
*/
|
*/
|
||||||
static const uint64 MAX_INFLATION = (1ull << (63 - 32)) - 1;
|
static const uint64 MAX_INFLATION = (1ull << (63 - 32)) - 1;
|
||||||
|
|
|
@ -465,7 +465,7 @@ static void DrawCatenaryRailway(const TileInfo *ti)
|
||||||
/*
|
/*
|
||||||
* The "wire"-sprite position is inside the tile, i.e. 0 <= sss->?_offset < TILE_SIZE.
|
* The "wire"-sprite position is inside the tile, i.e. 0 <= sss->?_offset < TILE_SIZE.
|
||||||
* Therefore it is safe to use GetSlopeZ() for the elevation.
|
* Therefore it is safe to use GetSlopeZ() for the elevation.
|
||||||
* Also note, that the result of GetSlopeZ() is very special for bridge-ramps.
|
* Also note that the result of GetSlopeZ() is very special for bridge-ramps.
|
||||||
*/
|
*/
|
||||||
AddSortableSpriteToDraw(wire_base + sss->image_offset, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
|
AddSortableSpriteToDraw(wire_base + sss->image_offset, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
|
||||||
sss->x_size, sss->y_size, sss->z_size, GetSlopeZ(ti->x + sss->x_offset, ti->y + sss->y_offset) + sss->z_offset,
|
sss->x_size, sss->y_size, sss->z_size, GetSlopeZ(ti->x + sss->x_offset, ti->y + sss->y_offset) + sss->z_offset,
|
||||||
|
|
|
@ -704,7 +704,7 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Truncate 'dest' after last PATHSEPCHAR.
|
/* Truncate 'dest' after last PATHSEPCHAR.
|
||||||
* This assumes, that the truncated part is a real directory and not a link */
|
* This assumes that the truncated part is a real directory and not a link. */
|
||||||
destpos = strrchr(dest, PATHSEPCHAR);
|
destpos = strrchr(dest, PATHSEPCHAR);
|
||||||
if (destpos == NULL) destpos = dest;
|
if (destpos == NULL) destpos = dest;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -105,7 +105,7 @@ static ReusableBuffer<uint8> _cursor_backup;
|
||||||
*/
|
*/
|
||||||
static Rect _invalid_rect;
|
static Rect _invalid_rect;
|
||||||
static const byte *_colour_remap_ptr;
|
static const byte *_colour_remap_ptr;
|
||||||
static byte _string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures, that ST_FONT sprites only use colours 0 to 2.
|
static byte _string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures that #ST_FONT sprites only use colours 0 to 2.
|
||||||
|
|
||||||
static const uint DIRTY_BLOCK_HEIGHT = 8;
|
static const uint DIRTY_BLOCK_HEIGHT = 8;
|
||||||
static const uint DIRTY_BLOCK_WIDTH = 64;
|
static const uint DIRTY_BLOCK_WIDTH = 64;
|
||||||
|
|
|
@ -2019,7 +2019,7 @@ next_cargo: ;
|
||||||
*
|
*
|
||||||
* When displaying the cargoes around an industry type, five columns are needed (supplying industries, accepted cargoes, the industry,
|
* When displaying the cargoes around an industry type, five columns are needed (supplying industries, accepted cargoes, the industry,
|
||||||
* produced cargoes, customer industries). Displaying the industries around a cargo needs three columns (supplying industries, the cargo,
|
* produced cargoes, customer industries). Displaying the industries around a cargo needs three columns (supplying industries, the cargo,
|
||||||
* customer industries). The remaining two columns are set to #CFT_EMPTY, that has a width equal to the average of a cargo and an industry column.
|
* customer industries). The remaining two columns are set to #CFT_EMPTY with a width equal to the average of a cargo and an industry column.
|
||||||
*/
|
*/
|
||||||
struct IndustryCargoesWindow : public Window {
|
struct IndustryCargoesWindow : public Window {
|
||||||
static const int HOR_TEXT_PADDING, VERT_TEXT_PADDING;
|
static const int HOR_TEXT_PADDING, VERT_TEXT_PADDING;
|
||||||
|
|
|
@ -78,7 +78,7 @@ extern const byte _slope_to_sprite_offset[32] = {
|
||||||
* Description of the snow line throughout the year.
|
* Description of the snow line throughout the year.
|
||||||
*
|
*
|
||||||
* If it is \c NULL, a static snowline height is used, as set by \c _settings_game.game_creation.snow_line.
|
* If it is \c NULL, a static snowline height is used, as set by \c _settings_game.game_creation.snow_line.
|
||||||
* Otherwise it points to a table loaded from a newGRF file, that describes the variable snowline
|
* Otherwise it points to a table loaded from a newGRF file that describes the variable snowline.
|
||||||
* @ingroup SnowLineGroup
|
* @ingroup SnowLineGroup
|
||||||
* @see GetSnowLine() GameCreationSettings
|
* @see GetSnowLine() GameCreationSettings
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -41,10 +41,10 @@
|
||||||
* which is good for performance (assuming that data are accessed most often).
|
* which is good for performance (assuming that data are accessed most often).
|
||||||
* - sizeof(blob) is the same as the size of any other pointer
|
* - sizeof(blob) is the same as the size of any other pointer
|
||||||
* 6. Drawbacks of this layout:
|
* 6. Drawbacks of this layout:
|
||||||
* - the fact, that pointer to the alocated block is adjusted by sizeof(BlobHeader) before
|
* - the fact that a pointer to the allocated block is adjusted by sizeof(BlobHeader) before
|
||||||
* it is stored can lead to several confusions:
|
* it is stored can lead to several confusions:
|
||||||
* - it is not common pattern so the implementation code is bit harder to read
|
* - it is not a common pattern so the implementation code is bit harder to read.
|
||||||
* - valgrind can generate warning that allocated block is lost (not accessible)
|
* - valgrind may generate a warning that the allocated block is lost (not accessible).
|
||||||
*/
|
*/
|
||||||
class ByteBlob {
|
class ByteBlob {
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -138,7 +138,7 @@ uint32 GetNearbyTileInformation(byte parameter, TileIndex tile)
|
||||||
|
|
||||||
/** Structure with user-data for SearchNearbyHouseXXX - functions */
|
/** Structure with user-data for SearchNearbyHouseXXX - functions */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const HouseSpec *hs; ///< Specs of the house, that started the search
|
const HouseSpec *hs; ///< Specs of the house that started the search.
|
||||||
TileIndex north_tile; ///< Northern tile of the house.
|
TileIndex north_tile; ///< Northern tile of the house.
|
||||||
} SearchNearbyHouseData;
|
} SearchNearbyHouseData;
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ public:
|
||||||
return m_new_node;
|
return m_new_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** notify the nodelist, that we don't want to discard the given node */
|
/** Notify the nodelist that we don't want to discard the given node. */
|
||||||
FORCEINLINE void FoundBestNode(Titem_& item)
|
FORCEINLINE void FoundBestNode(Titem_& item)
|
||||||
{
|
{
|
||||||
/* for now it is enough to invalidate m_new_node if it is our given node */
|
/* for now it is enough to invalidate m_new_node if it is our given node */
|
||||||
|
|
|
@ -1634,7 +1634,7 @@ static CommandCost ClearTile_Track(TileIndex tile, DoCommandFlag flags)
|
||||||
case RAIL_TILE_SIGNALS:
|
case RAIL_TILE_SIGNALS:
|
||||||
case RAIL_TILE_NORMAL: {
|
case RAIL_TILE_NORMAL: {
|
||||||
Slope tileh = GetTileSlope(tile, NULL);
|
Slope tileh = GetTileSlope(tile, NULL);
|
||||||
/* Is there flat water on the lower halftile, that gets cleared expensively? */
|
/* Is there flat water on the lower halftile that gets cleared expensively? */
|
||||||
bool water_ground = (GetRailGroundType(tile) == RAIL_GROUND_WATER && IsSlopeWithOneCornerRaised(tileh));
|
bool water_ground = (GetRailGroundType(tile) == RAIL_GROUND_WATER && IsSlopeWithOneCornerRaised(tileh));
|
||||||
|
|
||||||
TrackBits tracks = GetTrackBits(tile);
|
TrackBits tracks = GetTrackBits(tile);
|
||||||
|
@ -2830,7 +2830,7 @@ static CommandCost TerraformTile_Track(TileIndex tile, DoCommandFlag flags, uint
|
||||||
Slope tileh_old = GetTileSlope(tile, &z_old);
|
Slope tileh_old = GetTileSlope(tile, &z_old);
|
||||||
if (IsPlainRail(tile)) {
|
if (IsPlainRail(tile)) {
|
||||||
TrackBits rail_bits = GetTrackBits(tile);
|
TrackBits rail_bits = GetTrackBits(tile);
|
||||||
/* Is there flat water on the lower halftile, that must be cleared expensively? */
|
/* Is there flat water on the lower halftile that must be cleared expensively? */
|
||||||
bool was_water = (GetRailGroundType(tile) == RAIL_GROUND_WATER && IsSlopeWithOneCornerRaised(tileh_old));
|
bool was_water = (GetRailGroundType(tile) == RAIL_GROUND_WATER && IsSlopeWithOneCornerRaised(tileh_old));
|
||||||
|
|
||||||
/* First test autoslope. However if it succeeds we still have to test the rest, because non-autoslope terraforming is cheaper. */
|
/* First test autoslope. However if it succeeds we still have to test the rest, because non-autoslope terraforming is cheaper. */
|
||||||
|
|
|
@ -239,7 +239,7 @@ static inline DiagDirection GetInclinedSlopeDirection(Slope s)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the slope, that is inclined in a specific direction.
|
* Returns the slope that is inclined in a specific direction.
|
||||||
*
|
*
|
||||||
* @param dir A #DiagDirection
|
* @param dir A #DiagDirection
|
||||||
* @return The #Slope that goes up in direction dir.
|
* @return The #Slope that goes up in direction dir.
|
||||||
|
|
|
@ -2139,7 +2139,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
||||||
CommandCost cost = CheckFlatLand(TileArea(tile, w, h), flags);
|
CommandCost cost = CheckFlatLand(TileArea(tile, w, h), flags);
|
||||||
if (cost.Failed()) return cost;
|
if (cost.Failed()) return cost;
|
||||||
|
|
||||||
/* Go get the final noise level, that is base noise minus factor from distance to town center */
|
/* The noise level is the noise from the airport and reduce it to account for the distance to the town center. */
|
||||||
Town *nearest = AirportGetNearestTown(as, tile);
|
Town *nearest = AirportGetNearestTown(as, tile);
|
||||||
uint newnoise_level = GetAirportNoiseLevelForTown(as, nearest->xy, tile);
|
uint newnoise_level = GetAirportNoiseLevelForTown(as, nearest->xy, tile);
|
||||||
|
|
||||||
|
@ -2304,7 +2304,7 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Go get the final noise level, that is base noise minus factor from distance to town center.
|
/* The noise level is the noise from the airport and reduce it to account for the distance to the town center.
|
||||||
* And as for construction, always remove it, even if the setting is not set, in order to avoid the
|
* And as for construction, always remove it, even if the setting is not set, in order to avoid the
|
||||||
* need of recalculation */
|
* need of recalculation */
|
||||||
Town *nearest = AirportGetNearestTown(as, tile);
|
Town *nearest = AirportGetNearestTown(as, tile);
|
||||||
|
|
|
@ -268,7 +268,7 @@ static const uint16 ONEWAY_SPRITE_COUNT = 6;
|
||||||
static const SpriteID SPR_FLAGS_BASE = SPR_ONEWAY_BASE + ONEWAY_SPRITE_COUNT;
|
static const SpriteID SPR_FLAGS_BASE = SPR_ONEWAY_BASE + ONEWAY_SPRITE_COUNT;
|
||||||
static const uint16 FLAGS_SPRITE_COUNT = 36;
|
static const uint16 FLAGS_SPRITE_COUNT = 36;
|
||||||
|
|
||||||
/* Not really a sprite, but an empty bounding box. Used to construct bounding boxes, that help sorting the sprites, but do not have a sprite associated. */
|
/* Not really a sprite, but an empty bounding box. Used to construct bounding boxes that help sorting the sprites, but do not have a sprite associated. */
|
||||||
static const SpriteID SPR_EMPTY_BOUNDING_BOX = SPR_FLAGS_BASE + FLAGS_SPRITE_COUNT;
|
static const SpriteID SPR_EMPTY_BOUNDING_BOX = SPR_FLAGS_BASE + FLAGS_SPRITE_COUNT;
|
||||||
static const uint16 EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1;
|
static const uint16 EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1;
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ static CommandCost TerraformTileHeight(TerraformerState *ts, TileIndex tile, int
|
||||||
return_cmd_error(STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP);
|
return_cmd_error(STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mark incident tiles, that are involved in the terraforming */
|
/* Mark incident tiles that are involved in the terraforming. */
|
||||||
TerraformAddDirtyTileAround(ts, tile);
|
TerraformAddDirtyTileAround(ts, tile);
|
||||||
|
|
||||||
/* Store the height modification */
|
/* Store the height modification */
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
*
|
*
|
||||||
* Quickie guide to Perlin Noise
|
* Quickie guide to Perlin Noise
|
||||||
* Perlin noise is a predictable pseudo random number sequence. By generating
|
* Perlin noise is a predictable pseudo random number sequence. By generating
|
||||||
* it in 2 dimensions, it becomes a useful random map, that for a given seed
|
* it in 2 dimensions, it becomes a useful random map that, for a given seed
|
||||||
* and starting X & Y is entirely predictable. On the face of it, that may not
|
* and starting X & Y, is entirely predictable. On the face of it, that may not
|
||||||
* be useful. However, it means that if you want to replay a map in a different
|
* be useful. However, it means that if you want to replay a map in a different
|
||||||
* terrain, or just vary the sea level, you just re-run the generator with the
|
* terrain, or just vary the sea level, you just re-run the generator with the
|
||||||
* same seed. The seed is an int32, and is randomised on each run of New Game.
|
* same seed. The seed is an int32, and is randomised on each run of New Game.
|
||||||
|
|
|
@ -62,7 +62,7 @@ static inline TrackBits AxisToTrackBits(Axis a)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a single horizontal/vertical trackbit, that is in a specific tile corner.
|
* Returns a single horizontal/vertical trackbit that is in a specific tile corner.
|
||||||
*
|
*
|
||||||
* @param corner The corner of a tile.
|
* @param corner The corner of a tile.
|
||||||
* @return The TrackBits of the track in the corner.
|
* @return The TrackBits of the track in the corner.
|
||||||
|
|
|
@ -162,7 +162,7 @@ struct Train : public GroundVehicle<Train, VEH_TRAIN> {
|
||||||
TS_FRONT = 0, ///< Leading engine of a train
|
TS_FRONT = 0, ///< Leading engine of a train
|
||||||
TS_ARTICULATED_PART = 1, ///< Articulated part of an engine
|
TS_ARTICULATED_PART = 1, ///< Articulated part of an engine
|
||||||
TS_WAGON = 2, ///< Wagon
|
TS_WAGON = 2, ///< Wagon
|
||||||
TS_ENGINE = 3, ///< Engine, that can be front engine, but might be placed behind another engine
|
TS_ENGINE = 3, ///< Engine that can be front engine, but might be placed behind another engine.
|
||||||
TS_FREE_WAGON = 4, ///< First in a wagon chain (in depot)
|
TS_FREE_WAGON = 4, ///< First in a wagon chain (in depot)
|
||||||
TS_MULTIHEADED = 5, ///< Engine is multiheaded
|
TS_MULTIHEADED = 5, ///< Engine is multiheaded
|
||||||
};
|
};
|
||||||
|
|
|
@ -1247,19 +1247,19 @@ CommandCost CmdMoveRailVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||||
|
|
||||||
/* There are 14 different cases:
|
/* There are 14 different cases:
|
||||||
* 1) front engine gets moved to a new train, it stays a front engine.
|
* 1) front engine gets moved to a new train, it stays a front engine.
|
||||||
* a) the 'next' part is a wagon, that becomes a free wagon chain.
|
* a) the 'next' part is a wagon that becomes a free wagon chain.
|
||||||
* b) the 'next' part is an engine, that becomes a front engine.
|
* b) the 'next' part is an engine that becomes a front engine.
|
||||||
* c) there is no 'next' part, nothing else happens
|
* c) there is no 'next' part, nothing else happens
|
||||||
* 2) front engine gets moved to another train, it is not a front engine anymore
|
* 2) front engine gets moved to another train, it is not a front engine anymore
|
||||||
* a) the 'next' part is a wagon, that becomes a free wagon chain.
|
* a) the 'next' part is a wagon that becomes a free wagon chain.
|
||||||
* b) the 'next' part is an engine, that becomes a front engine.
|
* b) the 'next' part is an engine that becomes a front engine.
|
||||||
* c) there is no 'next' part, nothing else happens
|
* c) there is no 'next' part, nothing else happens
|
||||||
* 3) front engine gets moved to later in the current train, it is not an engine anymore.
|
* 3) front engine gets moved to later in the current train, it is not an engine anymore.
|
||||||
* a) the 'next' part is a wagon, that becomes a free wagon chain.
|
* a) the 'next' part is a wagon that becomes a free wagon chain.
|
||||||
* b) the 'next' part is an engine, that becomes a front engine.
|
* b) the 'next' part is an engine that becomes a front engine.
|
||||||
* 4) free wagon gets moved
|
* 4) free wagon gets moved
|
||||||
* a) the 'next' part is a wagon, that becomes a free wagon chain.
|
* a) the 'next' part is a wagon that becomes a free wagon chain.
|
||||||
* b) the 'next' part is an engine, that becomes a front engine.
|
* b) the 'next' part is an engine that becomes a front engine.
|
||||||
* c) there is no 'next' part, nothing else happens
|
* c) there is no 'next' part, nothing else happens
|
||||||
* 5) non front engine gets moved and becomes a new train, nothing else happens
|
* 5) non front engine gets moved and becomes a new train, nothing else happens
|
||||||
* 6) non front engine gets moved within a train / to another train, nothing hapens
|
* 6) non front engine gets moved within a train / to another train, nothing hapens
|
||||||
|
|
|
@ -1060,7 +1060,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti)
|
||||||
|
|
||||||
if (catenary) EndSpriteCombine();
|
if (catenary) EndSpriteCombine();
|
||||||
|
|
||||||
/* Add helper BB for sprite sorting, that separate the tunnel from things beside of it */
|
/* Add helper BB for sprite sorting that separates the tunnel from things beside of it. */
|
||||||
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, ti->x, ti->y, BB_data[6], BB_data[7], TILE_HEIGHT, ti->z);
|
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, ti->x, ti->y, BB_data[6], BB_data[7], TILE_HEIGHT, ti->z);
|
||||||
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, ti->x + BB_data[4], ti->y + BB_data[5], BB_data[6], BB_data[7], TILE_HEIGHT, ti->z);
|
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, ti->x + BB_data[4], ti->y + BB_data[5], BB_data[6], BB_data[7], TILE_HEIGHT, ti->z);
|
||||||
|
|
||||||
|
@ -1249,7 +1249,7 @@ void DrawBridgeMiddle(const TileInfo *ti)
|
||||||
uint bridge_z = GetBridgeHeight(rampsouth);
|
uint bridge_z = GetBridgeHeight(rampsouth);
|
||||||
uint z = bridge_z - BRIDGE_Z_START;
|
uint z = bridge_z - BRIDGE_Z_START;
|
||||||
|
|
||||||
/* Add a bounding box, that separates the bridge from things below it. */
|
/* Add a bounding box that separates the bridge from things below it. */
|
||||||
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, x, y, 16, 16, 1, bridge_z - TILE_HEIGHT + BB_Z_SEPARATOR);
|
AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, x, y, 16, 16, 1, bridge_z - TILE_HEIGHT + BB_Z_SEPARATOR);
|
||||||
|
|
||||||
/* Draw Trambits as SpriteCombine */
|
/* Draw Trambits as SpriteCombine */
|
||||||
|
|
|
@ -706,7 +706,7 @@ Vehicle::~Vehicle()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a vehicle to the list of vehicles, that visited a depot this tick
|
* Adds a vehicle to the list of vehicles that visited a depot this tick
|
||||||
* @param *v vehicle to add
|
* @param *v vehicle to add
|
||||||
*/
|
*/
|
||||||
void VehicleEnteredDepotThisTick(Vehicle *v)
|
void VehicleEnteredDepotThisTick(Vehicle *v)
|
||||||
|
|
|
@ -636,7 +636,7 @@ CommandCost CmdCloneVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* v_front is the front engine in the original vehicle
|
* v_front is the front engine in the original vehicle
|
||||||
* v is the car/vehicle of the original vehicle, that is currently being copied
|
* v is the car/vehicle of the original vehicle that is currently being copied
|
||||||
* w_front is the front engine of the cloned vehicle
|
* w_front is the front engine of the cloned vehicle
|
||||||
* w is the car/vehicle currently being cloned
|
* w is the car/vehicle currently being cloned
|
||||||
* w_rear is the rear end of the cloned train. It's used to add more cars and is only used by trains
|
* w_rear is the rear end of the cloned train. It's used to add more cars and is only used by trains
|
||||||
|
|
|
@ -821,7 +821,7 @@ static void AddStringToDraw(int x, int y, StringID string, uint64 params_1, uint
|
||||||
*/
|
*/
|
||||||
static void DrawSelectionSprite(SpriteID image, PaletteID pal, const TileInfo *ti, int z_offset, FoundationPart foundation_part)
|
static void DrawSelectionSprite(SpriteID image, PaletteID pal, const TileInfo *ti, int z_offset, FoundationPart foundation_part)
|
||||||
{
|
{
|
||||||
/* FIXME: This is not totally valid for some autorail highlights, that extent over the edges of the tile. */
|
/* FIXME: This is not totally valid for some autorail highlights that extend over the edges of the tile. */
|
||||||
if (_vd.foundation[foundation_part] == -1) {
|
if (_vd.foundation[foundation_part] == -1) {
|
||||||
/* draw on real ground */
|
/* draw on real ground */
|
||||||
AddTileSpriteToDraw(image, pal, ti->x, ti->y, ti->z + z_offset);
|
AddTileSpriteToDraw(image, pal, ti->x, ti->y, ti->z + z_offset);
|
||||||
|
|
|
@ -764,7 +764,7 @@ restart_search:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Also delete the company specific windows, that don't have a company-colour */
|
/* Also delete the company specific windows that don't have a company-colour. */
|
||||||
DeleteWindowById(WC_BUY_COMPANY, id);
|
DeleteWindowById(WC_BUY_COMPANY, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue