From f81217bcf4cf2532e28e5c264bdb811d4882981b Mon Sep 17 00:00:00 2001 From: belugas Date: Wed, 4 Apr 2007 03:21:14 +0000 Subject: (svn r9558) -Documentation: doxygen and comment changes: 'T' now. Almost done --- src/console.cpp | 2 +- src/terraform_gui.cpp | 6 +- src/texteff.cpp | 8 +- src/tgp.cpp | 43 ++++---- src/tgp.h | 2 + src/thread.cpp | 2 + src/thread.h | 2 + src/tile.cpp | 2 + src/tile.h | 2 + src/town.h | 69 ++++++------ src/town_cmd.cpp | 263 +++++++++++++++++++++++---------------------- src/town_gui.cpp | 20 ++-- src/town_map.h | 2 +- src/train.h | 14 +-- src/train_cmd.cpp | 273 ++++++++++++++++++++++++----------------------- src/train_gui.cpp | 16 +-- src/tree_cmd.cpp | 11 +- src/tree_map.h | 8 +- src/tunnel_map.cpp | 2 + src/tunnel_map.h | 2 + src/tunnelbridge_cmd.cpp | 56 +++++----- 21 files changed, 435 insertions(+), 370 deletions(-) (limited to 'src') diff --git a/src/console.cpp b/src/console.cpp index d9f9dd4bd..31f9d6e5f 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -411,7 +411,7 @@ void IConsolePrint(uint16 color_code, const char *string) /** * Handle the printing of text entered into the console or redirected there * by any other means. Uses printf() style format, for more information look - * at @IConsolePrint() + * at IConsolePrint() */ void CDECL IConsolePrintF(uint16 color_code, const char *s, ...) { diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 095ec7ca4..97bd70378 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file terraform_gui.cpp */ + #include "stdafx.h" #include "openttd.h" #include "bridge_map.h" @@ -91,11 +93,11 @@ static void GenerateRockyArea(TileIndex end, TileIndex start) /** * A central place to handle all X_AND_Y dragged GUI functions. - * @param e @WindowEvent variable holding in its higher bits (excluding the lower + * @param e WindowEvent variable holding in its higher bits (excluding the lower * 4, since that defined the X_Y drag) the type of action to be performed * @return Returns true if the action was found and handled, and false otherwise. This * allows for additional implements that are more local. For example X_Y drag - * of convertrail which belongs in rail_gui.c and not terraform_gui.c + * of convertrail which belongs in rail_gui.cpp and not terraform_gui.cpp **/ bool GUIPlaceProcDragXY(const WindowEvent *e) { diff --git a/src/texteff.cpp b/src/texteff.cpp index ed9e7c512..4dc3b310f 100644 --- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file texteff.cpp */ + #include "stdafx.h" #include "openttd.h" #include "functions.h" @@ -121,7 +123,7 @@ void InitTextMessage() } } -/* Hide the textbox */ +/** Hide the textbox */ void UndrawTextMessage() { if (_textmessage_visible) { @@ -172,7 +174,7 @@ void UndrawTextMessage() } } -/* Check if a message is expired every day */ +/** Check if a message is expired every day */ void TextMessageDailyLoop() { uint i; @@ -196,7 +198,7 @@ void TextMessageDailyLoop() } } -/* Draw the textmessage-box */ +/** Draw the textmessage-box */ void DrawTextMessage() { if (!_textmessage_dirty) return; diff --git a/src/tgp.cpp b/src/tgp.cpp index cfdb037ff..9b66b3f3d 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tgp.cpp OTTD Perlin Noise Landscape Generator, aka TerraGenesis Perlin */ + #include "stdafx.h" #include #include "openttd.h" @@ -17,7 +19,6 @@ #include "helpers.hpp" /* - * OTTD Perlin Noise Landscape Generator, aka TerraGenesis Perlin * * Quickie guide to Perlin Noise * Perlin noise is a predictable pseudo random number sequence. By generating @@ -167,11 +168,11 @@ static const int amplitude_decimal_bits = 10; /** Height map - allocated array of heights (MapSizeX() + 1) x (MapSizeY() + 1) */ struct HeightMap { - height_t *h; //! array of heights - uint dim_x; //! height map size_x MapSizeX() + 1 - uint total_size; //! height map total size - uint size_x; //! MapSizeX() - uint size_y; //! MapSizeY() + height_t *h; //< array of heights + uint dim_x; //< height map size_x MapSizeX() + 1 + uint total_size; //< height map total size + uint size_x; //< MapSizeX() + uint size_y; //< MapSizeY() }; /** Global height map instance */ @@ -200,13 +201,13 @@ static HeightMap _height_map = {NULL, 0, 0, 0, 0}; /** Noise amplitudes (multiplied by 1024) * - indexed by "smoothness setting" and log2(frequency) */ static const amplitude_t _amplitudes_by_smoothness_and_frequency[4][12] = { - // Very smooth + /* Very smooth */ {1000, 350, 123, 43, 15, 1, 1, 0, 0, 0, 0, 0}, - // Smooth + /* Smooth */ {1000, 1000, 403, 200, 64, 8, 1, 0, 0, 0, 0, 0}, - // Rough + /* Rough */ {1000, 1200, 800, 500, 200, 16, 4, 0, 0, 0, 0, 0}, - // Very Rough + /* Very Rough */ {1500, 1000, 1200, 1000, 500, 32, 20, 0, 0, 0, 0, 0}, }; @@ -215,13 +216,17 @@ static const amplitude_t _water_percent[4] = {20, 80, 250, 400}; /** Desired maximum height - indexed by _opt.diff.terrain_type */ static const int8 _max_height[4] = { - 6, // Very flat - 9, // Flat - 12, // Hilly - 15 // Mountainous + 6, ///< Very flat + 9, ///< Flat + 12, ///< Hilly + 15 ///< Mountainous }; -/** Check if a X/Y set are within the map. */ +/** Check if a X/Y set are within the map. + * @param x coordinate x + * @param y coordinate y + * @return true if within the map + */ static inline bool IsValidXY(uint x, uint y) { return ((int)x) >= 0 && x < _height_map.size_x && ((int)y) >= 0 && y < _height_map.size_y; @@ -680,10 +685,10 @@ static inline int perlin_landXY(uint x, uint y) /* The following decimals are the octave power modifiers for the Perlin noise */ static const double _perlin_p_values[][7] = { // perlin frequency per power - { 0.35, 0.35, 0.35, 0.35, 0.35, 0.25, 0.539 }, // Very smooth - { 0.45, 0.55, 0.45, 0.45, 0.35, 0.25, 0.89 }, // Smooth - { 0.85, 0.80, 0.70, 0.45, 0.45, 0.35, 1.825 }, // Rough 1.825 - { 0.95, 0.85, 0.80, 0.55, 0.55, 0.45, 2.245 } // Very Rough 2.25 + { 0.35, 0.35, 0.35, 0.35, 0.35, 0.25, 0.539 }, ///< Very smooth + { 0.45, 0.55, 0.45, 0.45, 0.35, 0.25, 0.89 }, ///< Smooth + { 0.85, 0.80, 0.70, 0.45, 0.45, 0.35, 1.825 }, ///< Rough 1.825 + { 0.95, 0.85, 0.80, 0.55, 0.55, 0.45, 2.245 } //< Very Rough 2.25 }; /** diff --git a/src/tgp.h b/src/tgp.h index 3c440308c..dd2ea8f8f 100644 --- a/src/tgp.h +++ b/src/tgp.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tgp.h */ + #ifndef TGP_H #define TGP_H diff --git a/src/thread.cpp b/src/thread.cpp index f5a37ba7b..b17efa8f0 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file thread.cpp */ + #include "stdafx.h" #include "thread.h" #include diff --git a/src/thread.h b/src/thread.h index 1e602bf4c..c359cbca4 100644 --- a/src/thread.h +++ b/src/thread.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file thread.h */ + #ifndef THREAD_H #define THREAD_H diff --git a/src/tile.cpp b/src/tile.cpp index c9db4516f..128c16128 100644 --- a/src/tile.cpp +++ b/src/tile.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tile.cpp */ + #include "stdafx.h" #include "tile.h" diff --git a/src/tile.h b/src/tile.h index 7894bb514..d7f747b45 100644 --- a/src/tile.h +++ b/src/tile.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tile.h */ + #ifndef TILE_H #define TILE_H diff --git a/src/town.h b/src/town.h index e824d3fe6..832fd913b 100644 --- a/src/town.h +++ b/src/town.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file town.h */ + #ifndef TOWN_H #define TOWN_H @@ -76,34 +78,34 @@ struct BuildingCounts { struct Town { TileIndex xy; - // Current population of people and amount of houses. + /* Current population of people and amount of houses. */ uint16 num_houses; uint32 population; - // Town name + /* Town name */ uint16 townnametype; uint32 townnameparts; - // NOSAVE: Location of name sign, UpdateTownVirtCoord updates this. + /* NOSAVE: Location of name sign, UpdateTownVirtCoord updates this. */ ViewportSign sign; - // Makes sure we don't build certain house types twice. - // bit 0 = Building funds received - // bit 1 = CHURCH - // bit 2 = STADIUM + /* Makes sure we don't build certain house types twice. + * bit 0 = Building funds received + * bit 1 = CHURCH + * bit 2 = STADIUM */ byte flags12; - // Which players have a statue? + /* Which players have a statue? */ byte statues; - // Player ratings as well as a mask that determines which players have a rating. + /* Player ratings as well as a mask that determines which players have a rating. */ byte have_ratings; - uint8 unwanted[MAX_PLAYERS]; // how many months companies aren't wanted by towns (bribe) - PlayerByte exclusivity; // which player has exslusivity - uint8 exclusive_counter; // months till the exclusivity expires + uint8 unwanted[MAX_PLAYERS]; ///< how many months companies aren't wanted by towns (bribe) + PlayerByte exclusivity; ///< which player has exslusivity + uint8 exclusive_counter; ///< months till the exclusivity expires int16 ratings[MAX_PLAYERS]; - // Maximum amount of passengers and mail that can be transported. + /* Maximum amount of passengers and mail that can be transported. */ uint32 max_pass; uint32 max_mail; uint32 new_max_pass; @@ -113,36 +115,36 @@ struct Town { uint32 new_act_pass; uint32 new_act_mail; - // Amount of passengers that were transported. + /* Amount of passengers that were transported. */ byte pct_pass_transported; byte pct_mail_transported; - // Amount of food and paper that was transported. Actually a bit mask would be enough. + /* Amount of food and paper that was transported. Actually a bit mask would be enough. */ uint16 act_food; uint16 act_water; uint16 new_act_food; uint16 new_act_water; - // Time until we rebuild a house. + /* Time until we rebuild a house. */ byte time_until_rebuild; - // When to grow town next time. + /* When to grow town next time. */ byte grow_counter; byte growth_rate; - // Fund buildings program in action? + /* Fund buildings program in action? */ byte fund_buildings_months; - // Fund road reconstruction in action? + /* Fund road reconstruction in action? */ byte road_build_months; - // Index in town array + /* Index in town array */ TownID index; - // NOSAVE: UpdateTownRadius updates this given the house count. + /* NOSAVE: UpdateTownRadius updates this given the house count. */ uint16 radius[5]; - // NOSAVE: The number of each type of building in the town. + /* NOSAVE: The number of each type of building in the town. */ BuildingCounts building_counts; }; @@ -197,8 +199,8 @@ enum { }; enum { - // These refer to the maximums, so Appalling is -1000 to -400 - // MAXIMUM RATINGS BOUNDARIES + /* These refer to the maximums, so Appalling is -1000 to -400 + * MAXIMUM RATINGS BOUNDARIES */ RATING_MINIMUM = -1000, RATING_APPALLING = -400, RATING_VERYPOOR = -200, @@ -207,11 +209,11 @@ enum { RATING_GOOD = 400, RATING_VERYGOOD = 600, RATING_EXCELLENT = 800, - RATING_OUTSTANDING = 1000, // OUTSTANDING + RATING_OUTSTANDING = 1000, ///< OUTSTANDING RATING_MAXIMUM = RATING_OUTSTANDING, - // RATINGS AFFECTING NUMBERS + /* RATINGS AFFECTING NUMBERS */ RATING_TREE_DOWN_STEP = -35, RATING_TREE_MINIMUM = RATING_MINIMUM, RATING_TREE_UP_STEP = 7, @@ -241,16 +243,16 @@ enum { TOWN_HOUSE_COMPLETED = 3, }; -/* This enum is used in conjonction with town->flags12. +/** This enum is used in conjonction with town->flags12. * IT simply states what bit is used for. * It is pretty unrealistic (IMHO) to only have one church/stadium * per town, NO MATTER the population of it. * And there are 5 more bits available on flags12... */ enum { - TOWN_IS_FUNDED = 0, // Town has received some funds for - TOWN_HAS_CHURCH = 1, // There can be only one church by town. - TOWN_HAS_STADIUM = 2 // There can be only one stadium by town. + TOWN_IS_FUNDED = 0, ///< Town has received some funds for + TOWN_HAS_CHURCH = 1, ///< There can be only one church by town. + TOWN_HAS_STADIUM = 2 ///< There can be only one stadium by town. }; bool CheckforTownRating(uint32 flags, Town *t, byte type); @@ -267,12 +269,19 @@ static inline HouseSpec *GetHouseSpecs(HouseID house_id) /** * Check if a Town really exists. + * @param town to inquiry + * @return true if it exists */ static inline bool IsValidTown(const Town* town) { return town->xy != 0; } +/** + * Check if a TownID is valid. + * @param TownID to inquiry + * @return true if it exists + */ static inline bool IsValidTownID(TownID index) { return index < GetTownPoolSize() && IsValidTown(GetTown(index)); diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 004fce6bd..482e7e5aa 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -198,10 +198,10 @@ static void AnimateTile_Town(TileIndex tile) if (_tick_counter & 3) return; - // If the house is not one with a lift anymore, then stop this animating. - // Not exactly sure when this happens, but probably when a house changes. - // Before this was just a return...so it'd leak animated tiles.. - // That bug seems to have been here since day 1?? + /* If the house is not one with a lift anymore, then stop this animating. + * Not exactly sure when this happens, but probably when a house changes. + * Before this was just a return...so it'd leak animated tiles.. + * That bug seems to have been here since day 1?? */ if (!(GetHouseSpecs(GetHouseType(tile))->building_flags & BUILDING_IS_ANIMATED)) { DeleteAnimatedTile(tile); return; @@ -210,7 +210,7 @@ static void AnimateTile_Town(TileIndex tile) if (!LiftHasDestination(tile)) { int i; - /** Building has 6 floors, number 0 .. 6, where 1 is illegal. + /* Building has 6 floors, number 0 .. 6, where 1 is illegal. * This is due to the fact that the first floor is, in the graphics, * the height of 2 'normal' floors. * Furthermore, there are 6 lift positions from floor N (incl) to floor N + 1 (excl) */ @@ -328,7 +328,7 @@ static void TileLoop_Town(TileIndex tile) if (house_id >= NEW_HOUSE_OFFSET && !NewHouseTileLoop(tile)) return; if (!IsHouseCompleted(tile)) { - /*Construction is not completed. See if we can go further in construction*/ + /* Construction is not completed. See if we can go further in construction*/ MakeTownHouseBigger(tile); return; } @@ -367,7 +367,7 @@ static void TileLoop_Town(TileIndex tile) ClearTownHouse(t, tile); - // rebuild with another house? + /* rebuild with another house? */ if (GB(r, 24, 8) >= 12) DoBuildTownHouse(t, tile); } @@ -446,8 +446,8 @@ static const TileIndexDiffC _roadblock_tileadd[] = { { 0, 1}, {-1, 0}, - // Store the first 3 elements again. - // Lets us rotate without using &3. + /* Store the first 3 elements again. + * Lets us rotate without using &3. */ { 0, -1}, { 1, 0}, { 0, 1} @@ -510,16 +510,16 @@ static bool IsRoadAllowedHere(TileIndex tile, int dir) Slope k; Slope slope; - // If this assertion fails, it might be because the world contains - // land at the edges. This is not ok. + /* If this assertion fails, it might be because the world contains + * land at the edges. This is not ok. */ TILE_ASSERT(tile); for (;;) { - // Check if there already is a road at this point? + /* Check if there already is a road at this point? */ if (GetAnyRoadTrackBits(tile) == 0) { - // No, try to build one in the direction. - // if that fails clear the land, and if that fails exit. - // This is to make sure that we can build a road here later. + /* No, try to build one in the direction. + * if that fails clear the land, and if that fails exit. + * This is to make sure that we can build a road here later. */ if (CmdFailed(DoCommand(tile, (dir & 1 ? ROAD_X : ROAD_Y), 0, DC_AUTO, CMD_BUILD_ROAD)) && CmdFailed(DoCommand(tile, 0, 0, DC_AUTO, CMD_LANDSCAPE_CLEAR))) return false; @@ -528,20 +528,20 @@ static bool IsRoadAllowedHere(TileIndex tile, int dir) slope = GetTileSlope(tile, NULL); if (slope == SLOPE_FLAT) { no_slope: - // Tile has no slope - // Disallow the road if any neighboring tile has a road. + /* Tile has no slope + * Disallow the road if any neighboring tile has a road. */ if (HASBIT(GetTownRoadMask(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[dir+1]))), dir^2) || HASBIT(GetTownRoadMask(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[dir+3]))), dir^2) || HASBIT(GetTownRoadMask(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[dir+1]) + ToTileIndexDiff(_roadblock_tileadd[dir+2]))), dir) || HASBIT(GetTownRoadMask(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[dir+3]) + ToTileIndexDiff(_roadblock_tileadd[dir+2]))), dir)) return false; - // Otherwise allow + /* Otherwise allow */ return true; } - // If the tile is not a slope in the right direction, then - // maybe terraform some. + /* If the tile is not a slope in the right direction, then + * maybe terraform some. */ k = (dir & 1) ? SLOPE_NE : SLOPE_NW; if (k != slope && ComplementSlope(k) != slope) { uint32 r = Random(); @@ -557,7 +557,7 @@ no_slope: CMD_TERRAFORM_LAND); } if (CmdFailed(res) && CHANCE16I(1, 3, r)) { - // We can consider building on the slope, though. + /* We can consider building on the slope, though. */ goto no_slope; } } @@ -585,12 +585,12 @@ static void LevelTownLand(TileIndex tile) TILE_ASSERT(tile); - // Don't terraform if land is plain or if there's a house there. + /* Don't terraform if land is plain or if there's a house there. */ if (IsTileType(tile, MP_HOUSE)) return; tileh = GetTileSlope(tile, NULL); if (tileh == SLOPE_FLAT) return; - // First try up, then down + /* First try up, then down */ if (!TerraformTownTile(tile, ~tileh & 0xF, 1)) { TerraformTownTile(tile, tileh & 0xF, 0); } @@ -610,17 +610,17 @@ static void GrowTownInTile(TileIndex* tile_ptr, RoadBits mask, int block, Town* int a; int b; - // Tile has no road. First reset the status counter - // to say that this is the last iteration. + /* Tile has no road. First reset the status counter + * to say that this is the last iteration. */ _grow_town_result = 0; - // Remove hills etc + /* Remove hills etc */ LevelTownLand(tile); - // Is a road allowed here? + /* Is a road allowed here? */ if (!IsRoadAllowedHere(tile, block)) return; - // Randomize new road block numbers + /* Randomize new road block numbers */ a = block; b = block ^ 2; if (CHANCE16(1, 4)) { @@ -630,29 +630,29 @@ static void GrowTownInTile(TileIndex* tile_ptr, RoadBits mask, int block, Town* } if (!IsRoadAllowedHere(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[a])), a)) { - // A road is not allowed to continue the randomized road, - // return if the road we're trying to build is curved. + /* A road is not allowed to continue the randomized road, + * return if the road we're trying to build is curved. */ if (a != (b ^ 2)) return; - // Return if neither side of the new road is a house + /* Return if neither side of the new road is a house */ if (!IsTileType(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[a + 1])), MP_HOUSE) && !IsTileType(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[a + 3])), MP_HOUSE)) return; - // That means that the road is only allowed if there is a house - // at any side of the new road. + /* That means that the road is only allowed if there is a house + * at any side of the new road. */ } rcmd = (RoadBits)((1 << a) + (1 << b)); } else if (block < 5 && !HASBIT(mask,block^2)) { - // Continue building on a partial road. - // Always OK. + /* Continue building on a partial road. + * Always OK. */ _grow_town_result = 0; rcmd = (RoadBits)(1 << (block ^ 2)); } else { int i; - // Reached a tunnel/bridge? Then continue at the other side of it. + /* Reached a tunnel/bridge? Then continue at the other side of it. */ if (IsTileType(tile, MP_TUNNELBRIDGE)) { if (IsTunnel(tile) && GetTunnelTransportType(tile) == TRANSPORT_ROAD) { *tile_ptr = GetOtherTunnelEnd(tile); @@ -662,27 +662,27 @@ static void GrowTownInTile(TileIndex* tile_ptr, RoadBits mask, int block, Town* return; } - // Possibly extend the road in a direction. - // Randomize a direction and if it has a road, bail out. + /* Possibly extend the road in a direction. + * Randomize a direction and if it has a road, bail out. */ i = GB(Random(), 0, 2); if (HASBIT(mask, i)) return; - // This is the tile we will reach if we extend to this direction. + /* This is the tile we will reach if we extend to this direction. */ tmptile = TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[i])); - // Don't do it if it reaches to water. + /* Don't do it if it reaches to water. */ if (IsClearWaterTile(tmptile)) return; - // Build a house at the edge. 60% chance or - // always ok if no road allowed. + /* Build a house at the edge. 60% chance or + * always ok if no road allowed. */ if (!IsRoadAllowedHere(tmptile, i) || CHANCE16(6, 10)) { - // But not if there already is a house there. + /* But not if there already is a house there. */ if (!IsTileType(tmptile, MP_HOUSE)) { - // Level the land if possible + /* Level the land if possible */ LevelTownLand(tmptile); - // And build a house. - // Set result to -1 if we managed to build it. + /* And build a house. + * Set result to -1 if we managed to build it. */ if (BuildTownHouse(t1, tmptile)) _grow_town_result = -1; } return; @@ -692,11 +692,11 @@ static void GrowTownInTile(TileIndex* tile_ptr, RoadBits mask, int block, Town* rcmd = (RoadBits)(1 << i); } - // Return if a water tile + /* Return if a water tile */ if (IsClearWaterTile(tile)) return; - // Determine direction of slope, - // and build a road if not a special slope. + /* Determine direction of slope, + * and build a road if not a special slope. */ switch (GetTileSlope(tile, NULL)) { case SLOPE_SW: i = DIAGDIR_NE; break; case SLOPE_SE: i = DIAGDIR_NW; break; @@ -713,7 +713,7 @@ build_road_and_exit: tmptile = tile; - // Now it contains the direction of the slope + /* Now it contains the direction of the slope */ j = -11; // max 11 tile long bridges do { if (++j == 0) @@ -721,11 +721,11 @@ build_road_and_exit: tmptile = TILE_MASK(tmptile + TileOffsByDiagDir(i)); } while (IsClearWaterTile(tmptile)); - // no water tiles in between? + /* no water tiles in between? */ if (j == -10) goto build_road_and_exit; - // Quit if it selecting an appropiate bridge type fails a large number of times. + /* Quit if it selecting an appropiate bridge type fails a large number of times. */ j = 22; { int32 bridge_len = GetBridgeLength(tile, tmptile); @@ -735,38 +735,42 @@ build_road_and_exit: if (!CmdFailed(DoCommand(tile, tmptile, 0x8000 + bridge_type, DC_EXEC | DC_AUTO, CMD_BUILD_BRIDGE))) _grow_town_result = -1; - // obviously, if building any bridge would fail, there is no need to try other bridge-types + /* obviously, if building any bridge would fail, there is no need to try other bridge-types */ return; } } while (--j != 0); } } -// Returns true if a house was built, or no if the build failed. +/** Returns "growth" if a house was built, or no if the build failed. + * @param t town to inquiry + * @param tile to inquiry + * @return something other than zero(0)if town expansion was possible + */ static int GrowTownAtRoad(Town *t, TileIndex tile) { int block = 5; // special case TILE_ASSERT(tile); - // Number of times to search. + /* Number of times to search. */ _grow_town_result = 10 + t->num_houses * 4 / 9; do { - // Get a bitmask of the road blocks on a tile + /* Get a bitmask of the road blocks on a tile */ RoadBits mask = GetTownRoadMask(tile); - // Try to grow the town from this point - GrowTownInTile(&tile,mask,block,t); + /* Try to grow the town from this point */ + GrowTownInTile(&tile, mask, block, t); - // Exclude the source position from the bitmask - // and return if no more road blocks available + /* Exclude the source position from the bitmask + * and return if no more road blocks available */ ClrBitT(mask, (block ^ 2)); if (mask == 0) return _grow_town_result; - // Select a random bit from the blockmask, walk a step - // and continue the search from there. + /* Select a random bit from the blockmask, walk a step + * and continue the search from there. */ do block = Random() & 3; while (!HASBIT(mask,block)); tile += ToTileIndexDiff(_roadblock_tileadd[block]); @@ -782,15 +786,15 @@ static int GrowTownAtRoad(Town *t, TileIndex tile) } } - // Max number of times is checked. + /* Max number of times is checked. */ } while (--_grow_town_result >= 0); return (_grow_town_result == -2); } -// Generate a random road block -// The probability of a straight road -// is somewhat higher than a curved. +/** Generate a random road block + * The probability of a straight road + * is somewhat higher than a curved. */ static RoadBits GenRandomRoadBits() { uint32 r = Random(); @@ -800,8 +804,8 @@ static RoadBits GenRandomRoadBits() return (RoadBits)((1 << a) + (1 << b)); } -// Grow the town -// Returns true if a house was built, or no if the build failed. +/** Grow the town + * @Return true if a house was built, or no if the build failed. */ static bool GrowTown(Town *t) { TileIndex tile; @@ -824,11 +828,11 @@ static bool GrowTown(Town *t) { 0, 0} }; - // Current player is a town + /* Current player is a town */ old_player = _current_player; _current_player = OWNER_TOWN; - // Find a road that we can base the construction on. + /* Find a road that we can base the construction on. */ tile = t->xy; for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) { if (GetAnyRoadTrackBits(tile) != 0) { @@ -839,8 +843,8 @@ static bool GrowTown(Town *t) tile = TILE_ADD(tile, ToTileIndexDiff(*ptr)); } - // No road available, try to build a random road block by - // clearing some land and then building a road there. + /* No road available, try to build a random road block by + * clearing some land and then building a road there. */ tile = t->xy; for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) { /* Only work with plain land that not already has a house */ @@ -890,11 +894,11 @@ static void UpdateTownRadius(Town *t) memcpy(t->radius, _town_radius_data[t->num_houses / 4], sizeof(t->radius)); } else { int mass = t->num_houses / 8; - // At least very roughly extrapolate. Empirical numbers dancing between - // overwhelming by cottages and skyscrapers outskirts. + /* At least very roughly extrapolate. Empirical numbers dancing between + * overwhelming by cottages and skyscrapers outskirts. */ t->radius[0] = mass * mass; - // Actually we are proportional to sqrt() but that's right because - // we are covering an area. + /* Actually we are proportional to sqrt() but that's right because + * we are covering an area. */ t->radius[1] = mass * 7; t->radius[2] = 0; t->radius[3] = mass * 4; @@ -926,12 +930,12 @@ restart: SetDParam(0, r); GetString(buf1, townnametype, lastof(buf1)); - // Check size and width + /* Check size and width */ if (strlen(buf1) >= 31 || GetStringBoundingBox(buf1).width > 130) continue; FOR_ALL_TOWNS(t2) { - // We can't just compare the numbers since - // several numbers may map to a single name. + /* We can't just compare the numbers since + * several numbers may map to a single name. */ SetDParam(0, t2->index); GetString(buf2, STR_TOWN, lastof(buf2)); if (strcmp(buf1, buf2) == 0) { @@ -954,7 +958,7 @@ static void DoCreateTown(Town *t, TileIndex tile, uint32 townnameparts, uint siz { int x, i; - // clear the town struct + /* clear the town struct */ i = t->index; memset(t, 0, sizeof(Town)); t->index = i; @@ -1046,6 +1050,7 @@ static Town *AllocateTown() * This obviously only works in the scenario editor. Function not removed * as it might be possible in the future to fund your own town :) * @param tile coordinates where town is built + * @param flags type of operation * @param p1 size of the town (0 = random, 1 = small, 2 = medium, 3 = large) * @param p2 unused */ @@ -1059,28 +1064,28 @@ int32 CmdBuildTown(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) SET_EXPENSES_TYPE(EXPENSES_OTHER); - // Check if too close to the edge of map + /* Check if too close to the edge of map */ if (DistanceFromEdge(tile) < 12) return_cmd_error(STR_0237_TOO_CLOSE_TO_EDGE_OF_MAP); - // Can only build on clear flat areas, possibly with trees. + /* Can only build on clear flat areas, possibly with trees. */ if ((!IsTileType(tile, MP_CLEAR) && !IsTileType(tile, MP_TREES)) || GetTileSlope(tile, NULL) != SLOPE_FLAT) { return_cmd_error(STR_0239_SITE_UNSUITABLE); } - // Check distance to all other towns. + /* Check distance to all other towns. */ if (IsCloseToTown(tile, 20)) return_cmd_error(STR_0238_TOO_CLOSE_TO_ANOTHER_TOWN); - // Get a unique name for the town. + /* Get a unique name for the town. */ if (!CreateTownName(&townnameparts)) return_cmd_error(STR_023A_TOO_MANY_TOWNS); - // Allocate town struct + /* Allocate town struct */ t = AllocateTown(); if (t == NULL) return_cmd_error(STR_023A_TOO_MANY_TOWNS); - // Create the town + /* Create the town */ if (flags & DC_EXEC) { _generating_world = true; DoCreateTown(t, tile, townnameparts, p1); @@ -1096,20 +1101,20 @@ Town *CreateRandomTown(uint attempts, uint size_mode) uint32 townnameparts; do { - // Generate a tile index not too close from the edge + /* Generate a tile index not too close from the edge */ tile = RandomTile(); if (DistanceFromEdge(tile) < 20) continue; - // Make sure the tile is plain + /* Make sure the tile is plain */ if (!IsTileType(tile, MP_CLEAR) || GetTileSlope(tile, NULL) != SLOPE_FLAT) continue; - // Check not too close to a town + /* Check not too close to a town */ if (IsCloseToTown(tile, 20)) continue; - // Get a unique name for the town. + /* Get a unique name for the town. */ if (!CreateTownName(&townnameparts)) break; - // Allocate a town struct + /* Allocate a town struct */ t = AllocateTown(); if (t == NULL) break; @@ -1130,11 +1135,11 @@ bool GenerateTowns() do { IncreaseGeneratingWorldProgress(GWP_TOWN); - // try 20 times to create a random-sized town for the first loop. + /* try 20 times to create a random-sized town for the first loop. */ if (CreateRandomTown(20, 0) != NULL) num++; } while (--n); - // give it a last try, but now more aggressive + /* give it a last try, but now more aggressive */ if (num == 0 && CreateRandomTown(10000, 0) == NULL) { if (GetNumTowns() == 0) { /* XXX - can we handle that more gracefully? */ @@ -1223,10 +1228,10 @@ static void DoBuildTownHouse(Town *t, TileIndex tile) uint oneof = 0; HouseSpec *hs; - // Above snow? + /* Above snow? */ slope = GetTileSlope(tile, &z); - // Get the town zone type + /* Get the town zone type */ { uint rad = GetTownRadiusGroup(t, tile); @@ -1236,16 +1241,16 @@ static void DoBuildTownHouse(Town *t, TileIndex tile) bitmask = (1 << rad) + (1 << (land + 12)); } - // bits 0-4 are used - // bits 11-15 are used - // bits 5-10 are not used. + /* bits 0-4 are used + * bits 11-15 are used + * bits 5-10 are not used. */ { HouseID houses[HOUSE_MAX]; int num = 0; uint cumulative_probs[HOUSE_MAX]; uint probability_max = 0; - // Generate a list of all possible houses that can be built. + /* Generate a list of all possible houses that can be built. */ for (i = 0; i < HOUSE_MAX; i++) { hs = GetHouseSpecs(i); if ((~hs->building_availability & bitmask) == 0 && hs->enabled) { @@ -1282,7 +1287,7 @@ static void DoBuildTownHouse(Town *t, TileIndex tile) if (_cur_year < hs->min_date || _cur_year > hs->max_date) continue; - // Special houses that there can be only one of. + /* Special houses that there can be only one of. */ if (hs->building_flags & BUILDING_IS_CHURCH) { SETBIT(oneof, TOWN_HAS_CHURCH); } else if (hs->building_flags & BUILDING_IS_STADIUM) { @@ -1293,7 +1298,7 @@ static void DoBuildTownHouse(Town *t, TileIndex tile) if (HASBITS(t->flags12 , oneof)) continue; - // Make sure there is no slope? + /* Make sure there is no slope? */ if (hs->building_flags & TILE_NOT_SLOPED && slope != SLOPE_FLAT) continue; if (hs->building_flags & TILE_SIZE_2x2) { @@ -1327,7 +1332,7 @@ static void DoBuildTownHouse(Town *t, TileIndex tile) t->num_houses++; IncreaseBuildingCount(t, house); - // Special houses that there can be only one of. + /* Special houses that there can be only one of. */ t->flags12 |= oneof; { @@ -1379,7 +1384,7 @@ void ClearTownHouse(Town *t, TileIndex tile) assert(IsTileType(tile, MP_HOUSE)); - // need to align the tile to point to the upper left corner of the house + /* need to align the tile to point to the upper left corner of the house */ if (house >= 3) { // house id 0,1,2 MUST be single tile houses, or this code breaks. if (GetHouseSpecs(house-1)->building_flags & TILE_SIZE_2x1) { house--; @@ -1398,7 +1403,7 @@ void ClearTownHouse(Town *t, TileIndex tile) hs = GetHouseSpecs(house); - // Remove population from the town if the house is finished. + /* Remove population from the town if the house is finished. */ if (IsHouseCompleted(tile)) { ChangePopulation(t, -hs->population); } @@ -1406,14 +1411,14 @@ void ClearTownHouse(Town *t, TileIndex tile) t->num_houses--; DecreaseBuildingCount(t, house); - // Clear flags for houses that only may exist once/town. + /* Clear flags for houses that only may exist once/town. */ if (hs->building_flags & BUILDING_IS_CHURCH) { CLRBIT(t->flags12, TOWN_HAS_CHURCH); } else if (hs->building_flags & BUILDING_IS_STADIUM) { CLRBIT(t->flags12, TOWN_HAS_STADIUM); } - // Do the actual clearing of tiles + /* Do the actual clearing of tiles */ eflags = hs->building_flags; DoClearTownHouseHelper(tile); if (eflags & BUILDING_2_TILES_X) DoClearTownHouseHelper(tile + TileDiffXY(1, 0)); @@ -1423,6 +1428,7 @@ void ClearTownHouse(Town *t, TileIndex tile) /** Rename a town (server-only). * @param tile unused + * @param flags type of operation * @param p1 town ID to rename * @param p2 unused */ @@ -1452,7 +1458,7 @@ int32 CmdRenameTown(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) return 0; } -// Called from GUI +/** Called from GUI */ void ExpandTown(Town *t) { int amount, n; @@ -1555,16 +1561,16 @@ static void TownActionBuildStatue(Town* t) TileIndex tile = t->xy; if (CircularTileSearch(tile, 9, SearchTileForStatue, t->index)) - SETBIT(t->statues, _current_player); ///< Once found and built, "inform" the Town + SETBIT(t->statues, _current_player); // Once found and built, "inform" the Town } static void TownActionFundBuildings(Town* t) { - // Build next tick + /* Build next tick */ t->grow_counter = 1; - // If we were not already growing + /* If we were not already growing */ SETBIT(t->flags12, TOWN_IS_FUNDED); - // And grow for 3 months + /* And grow for 3 months */ t->fund_buildings_months = 3; } @@ -1581,18 +1587,18 @@ static void TownActionBribe(Town* t) if (!RandomRange(15)) { Station *st; - // set as unwanted for 6 months + /* set as unwanted for 6 months */ t->unwanted[_current_player] = 6; - // set all close by station ratings to 0 + /* set all close by station ratings to 0 */ FOR_ALL_STATIONS(st) { if (st->town == t && st->owner == _current_player) { for (CargoID i = 0; i < NUM_CARGO; i++) st->goods[i].rating = 0; } } - // only show errormessage to the executing player. All errors are handled command.c - // but this is special, because it can only 'fail' on a DC_EXEC + /* only show errormessage to the executing player. All errors are handled command.c + * but this is special, because it can only 'fail' on a DC_EXEC */ if (IsLocalPlayer()) ShowErrorMessage(STR_BRIBE_FAILED_2, STR_BRIBE_FAILED, 0, 0); /* decrease by a lot! @@ -1625,6 +1631,7 @@ extern uint GetMaskOfTownActions(int *nump, PlayerID pid, const Town *t); * This performs an action such as advertising, building a statue, funding buildings, * but also bribing the town-council * @param tile unused + * @param flags type of operation * @param p1 town to do the action at * @param p2 action to perform, @see _town_action_proc for the list of available actions */ @@ -1658,7 +1665,7 @@ static void UpdateTownGrowRate(Town *t) byte m; Player *p; - // Reset player ratings if they're low + /* Reset player ratings if they're low */ FOR_ALL_PLAYERS(p) { if (p->is_active && t->ratings[p->index] <= 200) { t->ratings[p->index] += 5; @@ -1715,7 +1722,7 @@ static void UpdateTownGrowRate(Town *t) static void UpdateTownAmounts(Town *t) { - // Using +1 here to prevent overflow and division by zero + /* Using +1 here to prevent overflow and division by zero */ t->pct_pass_transported = t->new_act_pass * 256 / (t->new_max_pass + 1); t->max_pass = t->new_max_pass; t->new_max_pass = 0; @@ -1723,7 +1730,7 @@ static void UpdateTownAmounts(Town *t) t->act_food = t->new_act_food; t->new_act_food = 0; t->act_water = t->new_act_water; t->new_act_water = 0; - // Using +1 here to prevent overflow and division by zero + /* Using +1 here to prevent overflow and division by zero */ t->pct_mail_transported = t->new_act_mail * 256 / (t->new_max_mail + 1); t->max_mail = t->new_max_mail; t->new_max_mail = 0; t->act_mail = t->new_act_mail; t->new_act_mail = 0; @@ -1793,7 +1800,7 @@ void ChangeTownRating(Town *t, int add, int max) { int rating; - // if magic_bulldozer cheat is active, town doesn't penaltize for removing stuff + /* if magic_bulldozer cheat is active, town doesn't penaltize for removing stuff */ if (t == NULL || !IsValidPlayer(_current_player) || (_cheats.magic_bulldozer.value && add < 0)) { @@ -1820,17 +1827,17 @@ void ChangeTownRating(Town *t, int add, int max) /* penalty for removing town-owned stuff */ static const int _default_rating_settings [3][3] = { - // ROAD_REMOVE, TUNNELBRIDGE_REMOVE, INDUSTRY_REMOVE - { 0, 128, 384}, // Permissive - { 48, 192, 480}, // Neutral - { 96, 384, 768}, // Hostile + /* ROAD_REMOVE, TUNNELBRIDGE_REMOVE, INDUSTRY_REMOVE */ + { 0, 128, 384}, ///< Permissive + { 48, 192, 480}, ///< Neutral + { 96, 384, 768}, ///< Hostile }; bool CheckforTownRating(uint32 flags, Town *t, byte type) { int modemod; - // if magic_bulldozer cheat is active, town doesn't restrict your destructive actions + /* if magic_bulldozer cheat is active, town doesn't restrict your destructive actions */ if (t == NULL || !IsValidPlayer(_current_player) || _cheats.magic_bulldozer.value) return true; @@ -1900,7 +1907,7 @@ extern const TileTypeProcs _tile_type_town_procs = { }; -// Save and load of towns. +/** Save and load of towns. */ static const SaveLoad _town_desc[] = { SLE_CONDVAR(Town, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5), SLE_CONDVAR(Town, xy, SLE_UINT32, 6, SL_MAX_VERSION), @@ -1916,12 +1923,12 @@ static const SaveLoad _town_desc[] = { SLE_VAR(Town, flags12, SLE_UINT8), SLE_VAR(Town, statues, SLE_UINT8), - // sort_index_obsolete was stored here in savegame format 0 - 1 + /* sort_index_obsolete was stored here in savegame format 0 - 1 */ SLE_CONDNULL(1, 0, 1), SLE_VAR(Town, have_ratings, SLE_UINT8), SLE_ARR(Town, ratings, SLE_INT16, 8), - // failed bribe attempts are stored since savegame format 4 + /* failed bribe attempts are stored since savegame format 4 */ SLE_CONDARR(Town, unwanted, SLE_INT8, 8, 4,SL_MAX_VERSION), SLE_CONDVAR(Town, max_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8), @@ -1958,7 +1965,7 @@ static const SaveLoad _town_desc[] = { SLE_VAR(Town, exclusivity, SLE_UINT8), SLE_VAR(Town, exclusive_counter, SLE_UINT8), - // reserve extra space in savegame here. (currently 30 bytes) + /* reserve extra space in savegame here. (currently 30 bytes) */ SLE_CONDNULL(30, 2, SL_MAX_VERSION), SLE_END() diff --git a/src/town_gui.cpp b/src/town_gui.cpp index a0840c542..f4af235ec 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file town_gui.cpp */ + #include "stdafx.h" #include "openttd.h" #include "debug.h" @@ -32,9 +34,9 @@ static const Widget _town_authority_widgets[] = { extern const byte _town_action_costs[8]; /** Get a list of available actions to do at a town. - * @param *nump if not NULL add put the number of available actions in it + * @param nump if not NULL add put the number of available actions in it * @param pid the player that is querying the town - * @param *t the town that is queried + * @param t the town that is queried * @return bitmasked value of enabled actions */ uint GetMaskOfTownActions(int *nump, PlayerID pid, const Town *t) @@ -47,9 +49,9 @@ uint GetMaskOfTownActions(int *nump, PlayerID pid, const Town *t) if (pid != PLAYER_SPECTATOR) { uint i; - // bribe option enabled? + /* bribe option enabled? */ if (_patches.bribe) { - // if unwanted, disable everything. + /* if unwanted, disable everything. */ if (t->unwanted[pid]) { avail_buttons = 0; } else if (t->ratings[pid] < RATING_BRIBE_MAXIMUM) { @@ -57,7 +59,7 @@ uint GetMaskOfTownActions(int *nump, PlayerID pid, const Town *t) } } - // Things worth more than this are not shown + /* Things worth more than this are not shown */ avail = GetPlayer(pid)->player_money + _price.station_value * 200; ref = _price.build_industry >> 8; @@ -119,7 +121,7 @@ static void TownAuthorityWndProc(Window *w, WindowEvent *e) DrawString(2, 15, STR_2023_TRANSPORT_COMPANY_RATINGS, 0); - // Draw list of players + /* Draw list of players */ y = 25; FOR_ALL_PLAYERS(p) { if (p->is_active && (HASBIT(t->have_ratings, p->index) || t->exclusivity == p->index)) { @@ -150,7 +152,7 @@ static void TownAuthorityWndProc(Window *w, WindowEvent *e) } } - // Draw actions list + /* Draw actions list */ { int y = 107, i; int pos = w->vscroll.pos; @@ -234,7 +236,7 @@ static void TownViewWndProc(Window *w, WindowEvent *e) switch (e->event) { case WE_PAINT: - // disable renaming town in network games if you are not the server + /* disable renaming town in network games if you are not the server */ SetWindowWidgetDisabledState(w, 8, _networking && !_network_server); SetDParam(0, t->index); @@ -365,7 +367,7 @@ static const Widget _town_directory_widgets[] = { }; -// used to get a sorted list of the towns +/* used to get a sorted list of the towns */ static uint _num_town_sort; static char _bufcache[64]; diff --git a/src/town_map.h b/src/town_map.h index c6ffddd7b..b73404d6a 100644 --- a/src/town_map.h +++ b/src/town_map.h @@ -127,7 +127,7 @@ static inline byte GetLiftPosition(TileIndex t) /** * Set the position of the lift on this animated house * @param t the tile - * @param pos from 0 to 36 + * @param pos position, from 0 to 36 */ static inline void SetLiftPosition(TileIndex t, byte pos) { diff --git a/src/train.h b/src/train.h index 31282c619..c39712e96 100644 --- a/src/train.h +++ b/src/train.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file train.h */ + #ifndef TRAIN_H #define TRAIN_H @@ -14,12 +16,12 @@ */ enum TrainSubtype { - Train_Front = 0, // Leading engine of a train - Train_Articulated_Part = 1, // Articulated part of an engine - Train_Wagon = 2, // Wagon - Train_Engine = 3, // Engine, that can be front engines, but might be placed behind another engine - Train_Free_Wagon = 4, // First in a wagon chain (in depot) - Train_Multiheaded = 5, // Engine is a multiheaded + Train_Front = 0, ///< Leading engine of a train + Train_Articulated_Part = 1, ///< Articulated part of an engine + Train_Wagon = 2, ///< Wagon + Train_Engine = 3, ///< Engine, that can be front engines, but might be placed behind another engine + Train_Free_Wagon = 4, ///< First in a wagon chain (in depot) + Train_Multiheaded = 5, ///< Engine is a multiheaded }; diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 03754b03e..12956353d 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file train_cmd.cpp */ + #include "stdafx.h" #include "openttd.h" #include "bridge_map.h" @@ -105,24 +107,24 @@ static void TrainCargoChanged(Vehicle* v) for (Vehicle *u = v; u != NULL; u = u->next) { uint32 vweight = GetCargo(u->cargo_type)->weight * u->cargo_count * FreightWagonMult(u->cargo_type) / 16; - // Vehicle weight is not added for articulated parts. + /* Vehicle weight is not added for articulated parts. */ if (!IsArticulatedPart(u)) { - // vehicle weight is the sum of the weight of the vehicle and the weight of its cargo + /* vehicle weight is the sum of the weight of the vehicle and the weight of its cargo */ vweight += RailVehInfo(u->engine_type)->weight; - // powered wagons have extra weight added + /* powered wagons have extra weight added */ if (HASBIT(u->u.rail.flags, VRF_POWEREDWAGON)) vweight += RailVehInfo(u->u.rail.first_engine)->pow_wag_weight; } - // consist weight is the sum of the weight of all vehicles in the consist + /* consist weight is the sum of the weight of all vehicles in the consist */ weight += vweight; - // store vehicle weight in cache + /* store vehicle weight in cache */ u->u.rail.cached_veh_weight = vweight; } - // store consist weight in cache + /* store consist weight in cache */ v->u.rail.cached_weight = weight; /* Now update train power (tractive effort is dependent on weight) */ @@ -151,10 +153,10 @@ void TrainConsistChanged(Vehicle* v) for (Vehicle *u = v; u != NULL; u = u->next) { const RailVehicleInfo *rvi_u = RailVehInfo(u->engine_type); - // Update the v->first cache. This is faster than having to brute force it later. + /* Update the v->first cache. This is faster than having to brute force it later. */ if (u->first == NULL) u->first = v; - // update the 'first engine' + /* update the 'first engine' */ u->u.rail.first_engine = v == u ? INVALID_ENGINE : first_engine; u->u.rail.railtype = rvi_u->railtype; @@ -164,13 +166,13 @@ void TrainConsistChanged(Vehicle* v) u->u.rail.cached_vis_effect = rvi_u->visual_effect; } else { if (IsTrainWagon(u) || IsArticulatedPart(u)) { - // Wagons and articulated parts have no effect by default + /* Wagons and articulated parts have no effect by default */ u->u.rail.cached_vis_effect = 0x40; } else if (rvi_u->engclass == 0) { - // Steam is offset by -4 units + /* Steam is offset by -4 units */ u->u.rail.cached_vis_effect = 4; } else { - // Diesel fumes and sparks come from the centre + /* Diesel fumes and sparks come from the centre */ u->u.rail.cached_vis_effect = 8; } } @@ -204,13 +206,13 @@ void TrainConsistChanged(Vehicle* v) u->u.rail.compatible_railtypes |= (1 << RAILTYPE_RAIL); } - // max speed is the minimum of the speed limits of all vehicles in the consist + /* max speed is the minimum of the speed limits of all vehicles in the consist */ if ((rvi_u->railveh_type != RAILVEH_WAGON || _patches.wagon_speed_limits) && rvi_u->max_speed != 0 && !UsesWagonOverride(u)) max_speed = min(rvi_u->max_speed, max_speed); } - // check the vehicle length (callback) + /* check the vehicle length (callback) */ uint16 veh_len = CALLBACK_FAILED; if (HASBIT(EngInfo(u->engine_type)->callbackmask, CBM_VEHICLE_LENGTH)) { veh_len = GetVehicleCallback(CBID_TRAIN_VEHICLE_LENGTH, 0, 0, u->engine_type, u); @@ -221,10 +223,10 @@ void TrainConsistChanged(Vehicle* v) v->u.rail.cached_total_length += u->u.rail.cached_veh_length; } - // store consist weight/max speed in cache + /* store consist weight/max speed in cache */ v->u.rail.cached_max_speed = max_speed; - // recalculate cached weights and power too (we do this *after* the rest, so it is known which wagons are powered and need extra weight added) + /* recalculate cached weights and power too (we do this *after* the rest, so it is known which wagons are powered and need extra weight added) */ TrainCargoChanged(v); } @@ -263,8 +265,8 @@ static bool TrainShouldStop(const Vehicle* v, TileIndex tile) StationID sid = GetStationIndex(tile); assert(v->type == VEH_TRAIN); - //When does a train drive through a station - //first we deal with the "new nonstop handling" + /* When does a train drive through a station + * first we deal with the "new nonstop handling" */ if (_patches.new_nonstop && o->flags & OF_NON_STOP && sid == o->dest) { return false; } @@ -278,14 +280,14 @@ static bool TrainShouldStop(const Vehicle* v, TileIndex tile) return true; } -//new acceleration +/** new acceleration*/ static int GetTrainAcceleration(Vehicle *v, bool mode) { int max_speed = 2000; int speed = v->cur_speed * 10 / 16; //[mph] int curvecount[2] = {0, 0}; - //first find the curve speed limit + /*first find the curve speed limit */ int numcurve = 0; int sum = 0; int pos = 0; @@ -309,7 +311,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) } } - //if we have a 90 degree turn, fix the speed limit to 60 + /*if we have a 90 degree turn, fix the speed limit to 60 */ if (_curve_neighbours90[dir][0] == ndir || _curve_neighbours90[dir][1] == ndir) { max_speed = 61; @@ -402,7 +404,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) break; } } else { - //"kickoff" acceleration + /* "kickoff" acceleration */ force = (mode == AM_ACCEL && v->u.rail.railtype != RAILTYPE_MAGLEV) ? min(max_te, power) : power; force = max(force, (mass * 8) + resistance); } @@ -521,7 +523,7 @@ static void AddArticulatedParts(Vehicle **vl) bool flip_image = HASBIT(callback, 7); const RailVehicleInfo *rvi_artic = RailVehInfo(engine_type); - // get common values from first engine + /* get common values from first engine */ u->direction = v->direction; u->owner = v->owner; u->tile = v->tile; @@ -535,7 +537,7 @@ static void AddArticulatedParts(Vehicle **vl) u->vehstatus = v->vehstatus & ~VS_STOPPED; u->u.rail.first_engine = v->engine_type; - // get more settings from rail vehicle info + /* get more settings from rail vehicle info */ u->spritenum = rvi_artic->image_index; if (flip_image) u->spritenum++; u->cargo_type = rvi_artic->cargo_type; @@ -645,7 +647,7 @@ static int32 CmdBuildRailWagon(EngineID engine, TileIndex tile, uint32 flags) return value; } -// Move all free vehicles in the depot to the train +/** Move all free vehicles in the depot to the train */ static void NormalizeTrainVehInDepot(const Vehicle* u) { const Vehicle* v; @@ -697,6 +699,7 @@ static void AddRearEngineToMultiheadedTrain(Vehicle* v, Vehicle* u, bool buildin /** Build a railroad vehicle. * @param tile tile of the depot where rail-vehicle is built + * @param flags type of operation * @param p1 engine type id * @param p2 bit 0 when set, the train will get number 0, otherwise it will get a free number * bit 1 prevents any free cars from being added to the train @@ -874,7 +877,7 @@ inline bool CheckTrainIsInsideDepot(const Vehicle *v) */ static Vehicle *UnlinkWagon(Vehicle *v, Vehicle *first) { - // unlinking the first vehicle of the chain? + /* unlinking the first vehicle of the chain? */ if (v == first) { v = GetNextVehicle(v); if (v == NULL) return NULL; @@ -898,7 +901,7 @@ static Vehicle *FindGoodVehiclePos(const Vehicle *src) FOR_ALL_VEHICLES(dst) { if (dst->type == VEH_TRAIN && IsFreeWagon(dst) && dst->tile == tile) { - // check so all vehicles in the line have the same engine. + /* check so all vehicles in the line have the same engine. */ Vehicle *v = dst; while (v->engine_type == eng) { @@ -950,6 +953,7 @@ static void NormaliseTrainConsist(Vehicle *v) /** Move a rail vehicle around inside the depot. * @param tile unused + * @param flags type of operation * @param p1 various bitstuffed elements * - p1 (bit 0 - 15) source vehicle index * - p1 (bit 16 - 31) what wagon to put the source wagon AFTER, XXX - INVALID_VEHICLE to make a new line @@ -966,7 +970,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (src->type != VEH_TRAIN || !CheckOwnership(src->owner)) return CMD_ERROR; - // if nothing is selected as destination, try and find a matching vehicle to drag to. + /* if nothing is selected as destination, try and find a matching vehicle to drag to. */ Vehicle *dst; if (d == INVALID_VEHICLE) { dst = IsTrainEngine(src) ? NULL : FindGoodVehiclePos(src); @@ -976,13 +980,13 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (dst->type != VEH_TRAIN || !CheckOwnership(dst->owner)) return CMD_ERROR; } - // if an articulated part is being handled, deal with its parent vehicle + /* if an articulated part is being handled, deal with its parent vehicle */ while (IsArticulatedPart(src)) src = GetPrevVehicleInChain(src); if (dst != NULL) { while (IsArticulatedPart(dst)) dst = GetPrevVehicleInChain(dst); } - // don't move the same vehicle.. + /* don't move the same vehicle.. */ if (src == dst) return 0; /* locate the head of the two chains */ @@ -991,7 +995,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (dst != NULL) { dst_head = GetFirstVehicleInChain(dst); if (dst_head->tile != src_head->tile) return CMD_ERROR; - // Now deal with articulated part of destination wagon + /* Now deal with articulated part of destination wagon */ dst = GetLastEnginePart(dst); } else { dst_head = NULL; @@ -1004,7 +1008,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) dst = GetPrevVehicleInChain(dst); /* Now if the vehicle we want to link to is the vehicle itself, drop out */ if (dst == src) return CMD_ERROR; - // if dst is NULL, it means that dst got a rear multiheaded engine as first engine. We can't use that + /* if dst is NULL, it means that dst got a rear multiheaded engine as first engine. We can't use that */ if (dst == NULL) return CMD_ERROR; } else { /* there are more units on this train, so we will add the wagon after the next one*/ @@ -1032,51 +1036,51 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (IsMultiheaded(src) && !IsTrainEngine(src)) return_cmd_error(STR_REAR_ENGINE_FOLLOW_FRONT_ERROR); - // when moving all wagons, we can't have the same src_head and dst_head + /* when moving all wagons, we can't have the same src_head and dst_head */ if (HASBIT(p2, 0) && src_head == dst_head) return 0; { int max_len = _patches.mammoth_trains ? 100 : 9; - // check if all vehicles in the source train are stopped inside a depot. + /* check if all vehicles in the source train are stopped inside a depot. */ int src_len = CheckTrainStoppedInDepot(src_head); if (src_len < 0) return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED); - // check the destination row if the source and destination aren't the same. + /* check the destination row if the source and destination aren't the same. */ if (src_head != dst_head) { int dst_len = 0; if (dst_head != NULL) { - // check if all vehicles in the dest train are stopped. + /* check if all vehicles in the dest train are stopped. */ dst_len = CheckTrainStoppedInDepot(dst_head); if (dst_len < 0) return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED); } - // We are moving between rows, so only count the wagons from the source - // row that are being moved. + /* We are moving between rows, so only count the wagons from the source + * row that are being moved. */ if (HASBIT(p2, 0)) { const Vehicle *u; for (u = src_head; u != src && u != NULL; u = GetNextVehicle(u)) src_len--; } else { - // If moving only one vehicle, just count that. + /* If moving only one vehicle, just count that. */ src_len = 1; } if (src_len + dst_len > max_len) { - // Abort if we're adding too many wagons to a train. + /* Abort if we're adding too many wagons to a train. */ if (dst_head != NULL && IsFrontEngine(dst_head)) return_cmd_error(STR_8819_TRAIN_TOO_LONG); - // Abort if we're making a train on a new row. + /* Abort if we're making a train on a new row. */ if (dst_head == NULL && IsTrainEngine(src)) return_cmd_error(STR_8819_TRAIN_TOO_LONG); } } else { - // Abort if we're creating a new train on an existing row. + /* Abort if we're creating a new train on an existing row. */ if (src_len > max_len && src == src_head && IsTrainEngine(GetNextVehicle(src_head))) return_cmd_error(STR_8819_TRAIN_TOO_LONG); } } - // moving a loco to a new line?, then we need to assign a unitnumber. + /* moving a loco to a new line?, then we need to assign a unitnumber. */ if (dst == NULL && !IsFrontEngine(src) && IsTrainEngine(src)) { UnitID unit_num = GetFreeUnitNumber(VEH_TRAIN); if (unit_num > _patches.max_trains) @@ -1104,7 +1108,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) for (Vehicle *u = dst_head; u != NULL; u = u->next) u->first = NULL; if (HASBIT(p2, 0)) { - // unlink ALL wagons + /* unlink ALL wagons */ if (src != src_head) { Vehicle *v = src_head; while (GetNextVehicle(v) != src) v = GetNextVehicle(v); @@ -1114,9 +1118,9 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) src_head = NULL; } } else { - // if moving within the same chain, dont use dst_head as it may get invalidated + /* if moving within the same chain, dont use dst_head as it may get invalidated */ if (src_head == dst_head) dst_head = NULL; - // unlink single wagon from linked list + /* unlink single wagon from linked list */ src_head = UnlinkWagon(src, src_head); GetLastEnginePart(src)->next = NULL; } @@ -1125,10 +1129,10 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /* We make a new line in the depot, so we know already that we invalidate the window data */ InvalidateWindowData(WC_VEHICLE_DEPOT, src->tile); - // move the train to an empty line. for locomotives, we set the type to TS_Front. for wagons, 4. + /* move the train to an empty line. for locomotives, we set the type to TS_Front. for wagons, 4. */ if (IsTrainEngine(src)) { if (!IsFrontEngine(src)) { - // setting the type to 0 also involves setting up the orders field. + /* setting the type to 0 also involves setting up the orders field. */ SetFrontEngine(src); assert(src->orders == NULL); src->num_orders = 0; @@ -1139,7 +1143,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) dst_head = src; } else { if (IsFrontEngine(src)) { - // the vehicle was previously a loco. need to free the order list and delete vehicle windows etc. + /* the vehicle was previously a loco. need to free the order list and delete vehicle windows etc. */ DeleteWindowById(WC_VEHICLE_VIEW, src->index); DeleteVehicleOrders(src); } @@ -1151,7 +1155,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) src->unitnumber = 0; // doesn't occupy a unitnumber anymore. } - // link in the wagon(s) in the chain. + /* link in the wagon(s) in the chain. */ { Vehicle *v; @@ -1165,7 +1169,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) src_head = src_head->next; } AddWagonToConsist(src->u.rail.other_multiheaded_part, src); - // previous line set the front engine to the old front. We need to clear that + /* previous line set the front engine to the old front. We need to clear that */ src->u.rail.other_multiheaded_part->first = NULL; } @@ -1184,7 +1188,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) } if (engine != NULL && engine->u.rail.other_multiheaded_part != NULL) { AddWagonToConsist(engine->u.rail.other_multiheaded_part, engine); - // previous line set the front engine to the old front. We need to clear that + /* previous line set the front engine to the old front. We need to clear that */ engine->u.rail.other_multiheaded_part->first = NULL; } } @@ -1233,6 +1237,7 @@ int32 CmdMoveRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /** Start/Stop a train. * @param tile unused + * @param flags type of operation * @param p1 train to start/stop * @param p2 unused */ @@ -1269,6 +1274,7 @@ int32 CmdStartStopTrain(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /** Sell a (single) train wagon/engine. * @param tile unused + * @param flags type of operation * @param p1 the wagon/engine index * @param p2 the selling mode * - p2 = 0: only sell the single dragged wagon/engine (and any belonging rear-engines) @@ -1290,7 +1296,7 @@ int32 CmdSellRailWagon(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) while (IsArticulatedPart(v)) v = GetPrevVehicleInChain(v); Vehicle *first = GetFirstVehicleInChain(v); - // make sure the vehicle is stopped in the depot + /* make sure the vehicle is stopped in the depot */ if (CheckTrainStoppedInDepot(first) < 0) { return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED); } @@ -1596,8 +1602,8 @@ static void AdvanceWagons(Vehicle *v, bool before) uint length = CountVehiclesInChain(v); while (length > 2) { - // find pairwise matching wagon - // start<>end, start+1<>end-1, ... + /* find pairwise matching wagon + * start<>end, start+1<>end-1, ... */ Vehicle *last = first; for (uint i = length - 3; i > 0; i--) last = last->next; @@ -1605,7 +1611,7 @@ static void AdvanceWagons(Vehicle *v, bool before) if (before) differential *= -1; if (differential > 0) { - // disconnect last car to make sure only this subset moves + /* disconnect last car to make sure only this subset moves */ Vehicle *tempnext = last->next; last->next = NULL; @@ -1643,7 +1649,7 @@ static void ReverseTrainDirection(Vehicle *v) DisableTrainCrossing(tile); } - // count number of vehicles + /* count number of vehicles */ int r = -1; const Vehicle *u = v; do r++; while ( (u = u->next) != NULL ); @@ -1667,6 +1673,7 @@ static void ReverseTrainDirection(Vehicle *v) /** Reverse train. * @param tile unused + * @param flags type of operation * @param p1 train to reverse * @param p2 if true, reverse a unit in a train (needs to be in a depot) */ @@ -1679,14 +1686,14 @@ int32 CmdReverseTrainDirection(TileIndex tile, uint32 flags, uint32 p1, uint32 p if (v->type != VEH_TRAIN || !CheckOwnership(v->owner)) return CMD_ERROR; if (p2) { - // turn a single unit around + /* turn a single unit around */ if (IsMultiheaded(v) || HASBIT(EngInfo(v->engine_type)->callbackmask, CBM_ARTIC_ENGINE)) { return_cmd_error(STR_ONLY_TURN_SINGLE_UNIT); } Vehicle *front = GetFirstVehicleInChain(v); - // make sure the vehicle is stopped in the depot + /* make sure the vehicle is stopped in the depot */ if (CheckTrainStoppedInDepot(front) < 0) { return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED); } @@ -1697,7 +1704,7 @@ int32 CmdReverseTrainDirection(TileIndex tile, uint32 flags, uint32 p1, uint32 p InvalidateWindow(WC_VEHICLE_DETAILS, v->index); } } else { - //turn the whole train around + /*turn the whole train around */ if (v->u.rail.crash_anim_pos != 0 || v->breakdown_ctr != 0) return CMD_ERROR; if (flags & DC_EXEC) { @@ -1715,6 +1722,7 @@ int32 CmdReverseTrainDirection(TileIndex tile, uint32 flags, uint32 p1, uint32 p /** Force a train through a red signal * @param tile unused + * @param flags type of operation * @param p1 train to ignore the red signal * @param p2 unused */ @@ -1733,6 +1741,7 @@ int32 CmdForceTrainProceed(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /** Refits a train to the specified cargo type. * @param tile unused + * @param flags type of operation * @param p1 vehicle ID of the train to refit * param p2 various bitstuffed elements * - p2 = (bit 0-7) - the new cargo type to refit to @@ -1854,8 +1863,8 @@ static bool NtpCallbFindDepot(TileIndex tile, TrainFindDepotData *tfdd, int trac return false; } -// returns the tile of a depot to goto to. The given vehicle must not be -// crashed! +/** returns the tile of a depot to goto to. The given vehicle must not be + * crashed! */ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance) { assert(!(v->vehstatus & VS_CRASHED)); @@ -1893,7 +1902,7 @@ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance) if (NPFGetFlag(&ftd.node, NPF_FLAG_REVERSE)) tfdd.reverse = true; } } else { - // search in the forward direction first. + /* search in the forward direction first. */ DiagDirection i = DirToDiagDir(v->direction); if (!(v->direction & 1) && v->u.rail.track != _state_dir_table[i]) { i = ChangeDiagDir(i, DIAGDIRDIFF_90LEFT); @@ -1901,7 +1910,7 @@ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance) NewTrainPathfind(tile, 0, v->u.rail.compatible_railtypes, i, (NTPEnumProc*)NtpCallbFindDepot, &tfdd); if (tfdd.best_length == (uint)-1){ tfdd.reverse = true; - // search in backwards direction + /* search in backwards direction */ i = ReverseDiagDir(DirToDiagDir(v->direction)); if (!(v->direction & 1) && v->u.rail.track != _state_dir_table[i]) { i = ChangeDiagDir(i, DIAGDIRDIFF_90LEFT); @@ -1915,6 +1924,7 @@ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance) /** Send a train to a depot * @param tile unused + * @param flags type of operation * @param p1 train to send to the depot * @param p2 various bitmasked elements * - p2 bit 0-3 - DEPOT_ flags (see vehicle.h) @@ -2010,7 +2020,7 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v) byte effect_type = GB(v->u.rail.cached_vis_effect, 4, 2); bool disable_effect = HASBIT(v->u.rail.cached_vis_effect, 6); - // no smoke? + /* no smoke? */ if ((rvi->railveh_type == RAILVEH_WAGON && effect_type == 0) || disable_effect || rvi->railtype > RAILTYPE_ELECTRIC || @@ -2018,14 +2028,14 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v) continue; } - // No smoke in depots or tunnels + /* No smoke in depots or tunnels */ if (IsTileDepotType(v->tile, TRANSPORT_RAIL) || IsTunnelTile(v->tile)) continue; - // No sparks for electric vehicles on nonelectrified tracks + /* No sparks for electric vehicles on nonelectrified tracks */ if (!HasPowerOnRail(v->u.rail.railtype, GetTileRailType(v->tile))) continue; if (effect_type == 0) { - // Use default effect type for engine class. + /* Use default effect type for engine class. */ effect_type = rvi->engclass; } else { effect_type--; @@ -2041,7 +2051,7 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v) switch (effect_type) { case 0: - // steam smoke. + /* steam smoke. */ if (GB(v->tick_counter, 0, 4) == 0) { CreateEffectVehicleRel(v, x, y, 10, EV_STEAM_SMOKE); sound = true; @@ -2049,7 +2059,7 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v) break; case 1: - // diesel smoke + /* diesel smoke */ if (u->cur_speed <= 40 && CHANCE16(15, 128)) { CreateEffectVehicleRel(v, 0, 0, 10, EV_DIESEL_SMOKE); sound = true; @@ -2057,7 +2067,7 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v) break; case 2: - // blue spark + /* blue spark */ if (GB(v->tick_counter, 0, 2) == 0 && CHANCE16(1, 45)) { CreateEffectVehicleRel(v, 0, 0, 10, EV_ELECTRIC_SPARK); sound = true; @@ -2094,12 +2104,12 @@ static void TrainPlayLeaveStationSound(const Vehicle* v) static bool CheckTrainStayInDepot(Vehicle *v) { - // bail out if not all wagons are in the same depot or not in a depot at all + /* bail out if not all wagons are in the same depot or not in a depot at all */ for (const Vehicle *u = v; u != NULL; u = u->next) { if (u->u.rail.track != TRACK_BIT_DEPOT || u->tile != v->tile) return false; } - // if the train got no power, then keep it in the depot + /* if the train got no power, then keep it in the depot */ if (v->u.rail.cached_power == 0) { v->vehstatus |= VS_STOPPED; InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); @@ -2151,10 +2161,10 @@ struct TrainTrackFollowerData { static bool NtpCallbFindStation(TileIndex tile, TrainTrackFollowerData *ttfd, Trackdir track, uint length) { - // heading for nowhere? + /* heading for nowhere? */ if (ttfd->dest_coords == 0) return false; - // did we reach the final station? + /* did we reach the final station? */ if ((ttfd->station_index == INVALID_STATION && tile == ttfd->dest_coords) || ( IsTileType(tile, MP_STATION) && IsRailwayStation(tile) && @@ -2163,12 +2173,13 @@ static bool NtpCallbFindStation(TileIndex tile, TrainTrackFollowerData *ttfd, Tr /* We do not check for dest_coords if we have a station_index, * because in that case the dest_coords are just an * approximation of where the station is */ - // found station + + /* found station */ ttfd->best_track = track; ttfd->best_bird_dist = 0; return true; } else { - // didn't find station, keep track of the best path so far. + /* didn't find station, keep track of the best path so far. */ uint dist = DistanceManhattan(tile, ttfd->dest_coords); if (dist < ttfd->best_bird_dist) { ttfd->best_bird_dist = dist; @@ -2205,12 +2216,12 @@ static const uint32 _reachable_tracks[4] = { }; static const byte _search_directions[6][4] = { - { 0, 9, 2, 9 }, // track 1 - { 9, 1, 9, 3 }, // track 2 - { 9, 0, 3, 9 }, // track upper - { 1, 9, 9, 2 }, // track lower - { 3, 2, 9, 9 }, // track left - { 9, 9, 1, 0 }, // track right + { 0, 9, 2, 9 }, ///< track 1 + { 9, 1, 9, 3 }, ///< track 2 + { 9, 0, 3, 9 }, ///< track upper + { 1, 9, 9, 2 }, ///< track lower + { 3, 2, 9, 9 }, ///< track left + { 9, 9, 1, 0 }, ///< track right }; static const byte _pick_track_table[6] = {1, 3, 2, 2, 0, 0}; @@ -2219,7 +2230,7 @@ static const byte _pick_track_table[6] = {1, 3, 2, 2, 0, 0}; static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir, TrackBits tracks) { Track best_track; - // pathfinders are able to tell that route was only 'guessed' + /* pathfinders are able to tell that route was only 'guessed' */ bool path_not_found = false; #ifdef PF_BENCHMARK @@ -2250,9 +2261,9 @@ static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir NPFFoundTargetData ftd = NPFRouteToStationOrTile(tile - TileOffsByDiagDir(enterdir), trackdir, &fstd, TRANSPORT_RAIL, v->owner, v->u.rail.compatible_railtypes); if (ftd.best_trackdir == 0xff) { - /* We are already at our target. Just do something */ - //TODO: maybe display error? - //TODO: go straight ahead if possible? + /* We are already at our target. Just do something + * @todo maybe display error? + * @todo: go straight ahead if possible? */ best_track = FindFirstTrack(tracks); } else { /* If ftd.best_bird_dist is 0, we found our target and ftd.best_trackdir contains @@ -2280,11 +2291,11 @@ static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir NewTrainPathfind(tile - TileOffsByDiagDir(enterdir), v->dest_tile, v->u.rail.compatible_railtypes, enterdir, (NTPEnumProc*)NtpCallbFindStation, &fd); - // check whether the path was found or only 'guessed' + /* check whether the path was found or only 'guessed' */ if (fd.best_bird_dist != 0) path_not_found = true; if (fd.best_track == 0xff) { - // blaha + /* blaha */ best_track = FindFirstTrack(tracks); } else { best_track = TrackdirToTrack(fd.best_track); @@ -2293,13 +2304,13 @@ static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir int time = NpfEndInterval(perf); DEBUG(yapf, 4, "[NTPT] %d us - %d rounds - %d open - %d closed -- ", time, 0, 0, 0); } - // handle "path not found" state + /* handle "path not found" state */ if (path_not_found) { - // PF didn't find the route + /* PF didn't find the route */ if (!HASBIT(v->u.rail.flags, VRF_NO_PATH_TO_DESTINATION)) { - // it is first time the problem occurred, set the "path not found" flag + /* it is first time the problem occurred, set the "path not found" flag */ SETBIT(v->u.rail.flags, VRF_NO_PATH_TO_DESTINATION); - // and notify user about the event + /* and notify user about the event */ if (_patches.lost_train_warn && v->owner == _local_player) { SetDParam(0, v->unitnumber); AddNewsItem( @@ -2310,11 +2321,11 @@ static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir } } } else { - // route found, is the train marked with "path not found" flag? + /* route found, is the train marked with "path not found" flag? */ if (HASBIT(v->u.rail.flags, VRF_NO_PATH_TO_DESTINATION)) { - // clear the flag as the PF's problem was solved + /* clear the flag as the PF's problem was solved */ CLRBIT(v->u.rail.flags, VRF_NO_PATH_TO_DESTINATION); - // can we also delete the "News" item somehow? + /* can we also delete the "News" item somehow? */ } } @@ -2440,14 +2451,14 @@ static bool ProcessTrainOrder(Vehicle *v) default: break; } - // check if we've reached the waypoint? + /* check if we've reached the waypoint? */ bool at_waypoint = false; if (v->current_order.type == OT_GOTO_WAYPOINT && v->tile == v->dest_tile) { v->cur_order_index++; at_waypoint = true; } - // check if we've reached a non-stop station while TTDPatch nonstop is enabled.. + /* check if we've reached a non-stop station while TTDPatch nonstop is enabled.. */ if (_patches.new_nonstop && v->current_order.flags & OF_NON_STOP && IsTileType(v->tile, MP_STATION) && @@ -2455,25 +2466,25 @@ static bool ProcessTrainOrder(Vehicle *v) v->cur_order_index++; } - // Get the current order + /* Get the current order */ if (v->cur_order_index >= v->num_orders) v->cur_order_index = 0; const Order *order = GetVehicleOrder(v, v->cur_order_index); - // If no order, do nothing. + /* If no order, do nothing. */ if (order == NULL) { v->current_order.Free(); v->dest_tile = 0; return false; } - // If it is unchanged, keep it. + /* If it is unchanged, keep it. */ if (order->type == v->current_order.type && order->flags == v->current_order.flags && order->dest == v->current_order.dest) return false; - // Otherwise set it, and determine the destination tile. + /* Otherwise set it, and determine the destination tile. */ v->current_order = *order; v->dest_tile = 0; @@ -2516,7 +2527,7 @@ static void HandleTrainLoading(Vehicle *v, bool mode) case OT_LOADING: { if (mode) return; - // don't mark the train as lost if we're loading on the final station. + /* don't mark the train as lost if we're loading on the final station. */ if (v->current_order.flags & OF_NON_STOP) { v->u.rail.days_since_order_progr = 0; } @@ -2527,13 +2538,13 @@ static void HandleTrainLoading(Vehicle *v, bool mode) v->current_order.flags & OF_FULL_LOAD || (_patches.gradual_loading && !HASBIT(v->vehicle_flags, VF_LOADING_FINISHED)) )) { - v->u.rail.days_since_order_progr = 0; /* Prevent a train lost message for full loading trains */ + v->u.rail.days_since_order_progr = 0; // Prevent a train lost message for full loading trains SET_EXPENSES_TYPE(EXPENSES_TRAIN_INC); if (LoadUnloadVehicle(v, false)) { InvalidateWindow(WC_TRAINS_LIST, v->owner); MarkTrainDirty(v); - // need to update acceleration and cached values since the goods on the train changed. + /* need to update acceleration and cached values since the goods on the train changed. */ TrainCargoChanged(v); UpdateTrainAcceleration(v); } @@ -2545,7 +2556,7 @@ static void HandleTrainLoading(Vehicle *v, bool mode) Order b = v->current_order; v->LeaveStation(); - // If this was not the final order, don't remove it from the list. + /* If this was not the final order, don't remove it from the list. */ if (!(b.flags & OF_NON_STOP)) return; break; } @@ -2614,16 +2625,16 @@ static void TrainEnterStation(Vehicle *v, StationID station) ); } - // Did we reach the final destination? + /* Did we reach the final destination? */ if (v->current_order.type == OT_GOTO_STATION && v->current_order.dest == station) { - // Yeah, keep the load/unload flags - // Non Stop now means if the order should be increased. + /* Yeah, keep the load/unload flags + * Non Stop now means if the order should be increased. */ v->BeginLoading(); v->current_order.flags &= OF_FULL_LOAD | OF_UNLOAD | OF_TRANSFER; v->current_order.flags |= OF_NON_STOP; } else { - // No, just do a simple load + /* No, just do a simple load */ v->BeginLoading(); v->current_order.flags = 0; } @@ -2641,7 +2652,7 @@ static void TrainEnterStation(Vehicle *v, StationID station) static byte AfterSetTrainPos(Vehicle *v, bool new_tile) { - // need this hint so it returns the right z coordinate on bridges. + /* need this hint so it returns the right z coordinate on bridges. */ byte new_z = GetSlopeZ(v->x_pos, v->y_pos); byte old_z = v->z_pos; @@ -2654,7 +2665,7 @@ static byte AfterSetTrainPos(Vehicle *v, bool new_tile) if (new_z != old_z) { TileIndex tile = TileVirtXY(v->x_pos, v->y_pos); - // XXX workaround, whole UP/DOWN detection needs overhaul + /* XXX workaround, whole UP/DOWN detection needs overhaul */ if (!IsTunnelTile(tile)) { SETBIT(v->u.rail.flags, (new_z > old_z) ? VRF_GOINGUP : VRF_GOINGDOWN); } @@ -2727,13 +2738,13 @@ struct RailtypeSlowdownParams { static const RailtypeSlowdownParams _railtype_slowdown[] = { // normal accel - {256 / 4, 256 / 2, 256 / 4, 2}, // normal - {256 / 4, 256 / 2, 256 / 4, 2}, // electrified - {256 / 4, 256 / 2, 256 / 4, 2}, // monorail - {0, 256 / 2, 256 / 4, 2}, // maglev + {256 / 4, 256 / 2, 256 / 4, 2}, ///< normal + {256 / 4, 256 / 2, 256 / 4, 2}, ///< electrified + {256 / 4, 256 / 2, 256 / 4, 2}, ///< monorail + {0, 256 / 2, 256 / 4, 2}, ///< maglev }; -/* Modify the speed of the vehicle due to a turn */ +/** Modify the speed of the vehicle due to a turn */ static void AffectSpeedByDirChange(Vehicle* v, Direction new_dir) { if (_patches.realistic_acceleration) return; @@ -2745,7 +2756,7 @@ static void AffectSpeedByDirChange(Vehicle* v, Direction new_dir) v->cur_speed -= (diff == DIRDIFF_45RIGHT || diff == DIRDIFF_45LEFT ? rsp->small_turn : rsp->large_turn) * v->cur_speed >> 8; } -/* Modify the speed of the vehicle due to a change in altitude */ +/** Modify the speed of the vehicle due to a change in altitude */ static void AffectSpeedByZChange(Vehicle *v, byte old_z) { if (old_z == v->z_pos || _patches.realistic_acceleration) return; @@ -2820,7 +2831,7 @@ static uint CountPassengersInTrain(const Vehicle* v) return num; } -/* +/** * Checks whether the specified train has a collision with another vehicle. If * so, destroys this vehicle, and the other vehicle if its subtype has TS_Front. * Reports the incident in a flashy news item, modifies station ratings and @@ -2848,10 +2859,10 @@ static void CheckTrainCollision(Vehicle *v) (v->u.rail.track == TRACK_BIT_WORMHOLE && (v->direction & 2) != (realcoll->direction & 2))) return; - //two drivers + passangers killed in train v + /* two drivers + passangers killed in train v */ uint num = 2 + CountPassengersInTrain(v); if (!(coll->vehstatus & VS_CRASHED)) - //two drivers + passangers killed in train coll (if it was not crashed already) + /* two drivers + passangers killed in train coll (if it was not crashed already) */ num += 2 + CountPassengersInTrain(coll); SetVehicleCrashed(v); @@ -2959,8 +2970,8 @@ static void TrainController(Vehicle *v, bool update_image) /* Check if it's a red signal and that force proceed is not clicked. */ if ((tracks >> 16) & chosen_track && v->u.rail.force_proceed == 0) { - // In front of a red signal - /* find the first set bit in ts. need to do it in 2 steps, since + /* In front of a red signal + * find the first set bit in ts. need to do it in 2 steps, since * FIND_FIRST_BIT only handles 6 bits at a time. */ Trackdir i = FindFirstTrackdir((TrackdirBits)(uint16)ts); @@ -3300,7 +3311,7 @@ static bool TrainCheckIfLineEnds(Vehicle *v) return false; } if ((ts &= (ts >> 16)) == 0) { - // make a rail/road crossing red + /* make a rail/road crossing red */ if (IsLevelCrossingTile(tile)) { if (!IsCrossingBarred(tile)) { BarCrossing(tile); @@ -3316,7 +3327,7 @@ static bool TrainCheckIfLineEnds(Vehicle *v) return false; } - // slow down + /* slow down */ v->vehstatus |= VS_TRAIN_SLOWING; uint16 break_speed = _breakdown_speeds[x & 0xF]; if (!(v->direction & 1)) break_speed >>= 1; @@ -3369,7 +3380,7 @@ static void TrainLocoHandler(Vehicle *v, bool mode) int j = UpdateTrainSpeed(v); if (j == 0) { - // if the vehicle has speed 0, update the last_speed field. + /* if the vehicle has speed 0, update the last_speed field. */ if (v->cur_speed != 0) return; } else { TrainCheckIfLineEnds(v); @@ -3396,11 +3407,11 @@ void Train_Tick(Vehicle *v) if (IsFrontEngine(v)) { TrainLocoHandler(v, false); - // make sure vehicle wasn't deleted. + /* make sure vehicle wasn't deleted. */ if (v->type == VEH_TRAIN && IsFrontEngine(v)) TrainLocoHandler(v, true); } else if (IsFreeWagon(v) && HASBITS(v->vehstatus, VS_CRASHED)) { - // Delete flooded standalone wagon + /* Delete flooded standalone wagon */ if (++v->u.rail.crash_anim_pos >= 4400) DeleteVehicle(v); } @@ -3415,8 +3426,8 @@ static void CheckIfTrainNeedsService(Vehicle *v) if (v->vehstatus & VS_STOPPED) return; if (_patches.gotodepot && VehicleHasDepotOrders(v)) return; - // Don't interfere with a depot visit scheduled by the user, or a - // depot visit by the order list. + /* Don't interfere with a depot visit scheduled by the user, or a + * depot visit by the order list. */ if (v->current_order.type == OT_GOTO_DEPOT && (v->current_order.flags & (OF_HALT_IN_DEPOT | OF_PART_OF_ORDERS)) != 0) return; @@ -3507,7 +3518,7 @@ void TrainsYearlyLoop() FOR_ALL_VEHICLES(v) { if (v->type == VEH_TRAIN && IsFrontEngine(v)) { - // show warning if train is not generating enough income last 2 years (corresponds to a red icon in the vehicle list) + /* show warning if train is not generating enough income last 2 years (corresponds to a red icon in the vehicle list) */ if (_patches.train_income_warn && v->owner == _local_player && v->age >= 730 && v->profit_this_year < 0) { SetDParam(1, v->profit_this_year); SetDParam(0, v->unitnumber); @@ -3579,7 +3590,7 @@ void ConnectMultiheadedTrains() } } -/* +/** * Converts all trains to the new subtype format introduced in savegame 16.2 * It also links multiheaded engines or make them forget they are multiheaded if no suitable partner is found */ diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 130bcfa34..e349802e8 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file train_gui.cpp */ + #include "stdafx.h" #include "openttd.h" #include "debug.h" @@ -22,7 +24,7 @@ void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) if (!success) return; - // find a locomotive in the depot. + /* find a locomotive in the depot. */ found = NULL; FOR_ALL_VEHICLES(v) { if (v->type == VEH_TRAIN && IsFrontEngine(v) && @@ -33,10 +35,10 @@ void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) } } - // if we found a loco, + /* if we found a loco, */ if (found != NULL) { found = GetLastVehicleInChain(found); - // put the new wagon at the end of the loco. + /* put the new wagon at the end of the loco. */ DoCommandP(0, _new_vehicle_id | (found->index << 16), 0, NULL, CMD_MOVE_RAIL_VEHICLE); RebuildVehicleLists(); } @@ -447,7 +449,7 @@ static void DrawTrainDetailsWindow(Window *w) y = 57; sel = w->vscroll.pos; - // draw the first 3 details tabs + /* draw the first 3 details tabs */ if (det_tab != 3) { x = 1; for (;;) { @@ -470,7 +472,7 @@ static void DrawTrainDetailsWindow(Window *w) default: NOT_REACHED(); case 0: TrainDetailsCargoTab( v, px, py); break; case 1: - // Only show name and value for the 'real' part + /* Only show name and value for the 'real' part */ if (!IsArticulatedPart(v)) { TrainDetailsInfoTab(v, px, py); } @@ -481,7 +483,7 @@ static void DrawTrainDetailsWindow(Window *w) v = u; } else { - // Move to the next line + /* Move to the next line */ do { v = v->next; } while (v != NULL && IsArticulatedPart(v) && v->cargo_cap == 0); @@ -489,7 +491,7 @@ static void DrawTrainDetailsWindow(Window *w) if (v == NULL) return; } } else { - // draw total cargo tab + /* draw total cargo tab */ DrawString(x, y + 2, STR_013F_TOTAL_CAPACITY_TEXT, 0); for (CargoID i = 0; i < NUM_CARGO; i++) { if (max_cargo[i] > 0 && --sel < 0 && sel > -w->vscroll.cap) { diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index fff660560..4168b73b1 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tree_cmd.cpp */ + #include "stdafx.h" #include "openttd.h" #include "bridge_map.h" @@ -53,7 +55,7 @@ static void PlaceTree(TileIndex tile, uint32 r) if (tree != TREE_INVALID) { MakeTree(tile, tree, GB(r, 22, 2), min(GB(r, 16, 3), 6), TREE_GROUND_GRASS, 0); - // above snowline? + /* above snowline? */ if (_opt.landscape == LT_ARCTIC && GetTileZ(tile) > GetSnowLine()) { SetTreeGroundDensity(tile, TREE_GROUND_SNOW_DESERT, 3); SetTreeCounter(tile, (TreeGround)GB(r, 24, 3)); @@ -207,6 +209,7 @@ void GenerateTrees() /** Plant a tree. * @param tile start tile of area-drag of tree plantation + * @param flags type of operation * @param p1 tree type, -1 means random. * @param p2 end tile of area-drag */ @@ -240,7 +243,7 @@ int32 CmdPlantTree(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) switch (GetTileType(tile)) { case MP_TREES: - // no more space for trees? + /* no more space for trees? */ if (_game_mode != GM_EDITOR && GetTreeCount(tile) == 3) { msg = STR_2803_TREE_ALREADY_HERE; continue; @@ -250,7 +253,7 @@ int32 CmdPlantTree(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) AddTreeCount(tile, 1); MarkTileDirtyByTile(tile); } - // 2x as expensive to add more trees to an existing tile + /* 2x as expensive to add more trees to an existing tile */ cost += _price.build_trees * 2; break; @@ -622,7 +625,7 @@ void OnTick_Trees() MakeTree(tile, tree, 0, 0, ct == CLEAR_ROUGH ? TREE_GROUND_ROUGH : TREE_GROUND_GRASS, 0); } - // byte underflow + /* byte underflow */ if (--_trees_tick_ctr != 0) return; /* place a tree at a random spot */ diff --git a/src/tree_map.h b/src/tree_map.h index e3a56272a..e57848bc5 100644 --- a/src/tree_map.h +++ b/src/tree_map.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tree_map.h */ + #ifndef TREE_MAP_H #define TREE_MAP_H @@ -26,9 +28,9 @@ enum { /* ground type, m2 bits 4...5 * valid densities (bits 6...7) in comments after the enum */ enum TreeGround { - TREE_GROUND_GRASS = 0, // 0 - TREE_GROUND_ROUGH = 1, // 0 - TREE_GROUND_SNOW_DESERT = 2 // 0-3 for snow, 3 for desert + TREE_GROUND_GRASS = 0, ///< 0 + TREE_GROUND_ROUGH = 1, ///< 0 + TREE_GROUND_SNOW_DESERT = 2 ///< 0-3 for snow, 3 for desert }; diff --git a/src/tunnel_map.cpp b/src/tunnel_map.cpp index a4945591d..db5cedaa9 100644 --- a/src/tunnel_map.cpp +++ b/src/tunnel_map.cpp @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tunnel_map.cpp */ + #include "stdafx.h" #include "openttd.h" #include "tile.h" diff --git a/src/tunnel_map.h b/src/tunnel_map.h index c9a3a36a3..9cce87055 100644 --- a/src/tunnel_map.h +++ b/src/tunnel_map.h @@ -1,5 +1,7 @@ /* $Id$ */ +/** @file tunnel_map.h */ + #ifndef TUNNEL_MAP_H #define TUNNEL_MAP_H diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 777e869ac..55132b3f5 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -61,8 +61,9 @@ const Bridge orig_bridge[] = { Bridge _bridge[MAX_BRIDGES]; -// calculate the price factor for building a long bridge. -// basically the cost delta is 1,1, 1, 2,2, 3,3,3, 4,4,4,4, 5,5,5,5,5, 6,6,6,6,6,6, 7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8, +/** calculate the price factor for building a long bridge. + * basically the cost delta is 1,1, 1, 2,2, 3,3,3, 4,4,4,4, 5,5,5,5,5, 6,6,6,6,6,6, 7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8, + */ int CalcBridgeLenCostFactor(int x) { int n; @@ -79,11 +80,11 @@ int CalcBridgeLenCostFactor(int x) #define M(x) (1 << (x)) enum BridgeFoundation { - // foundation, whole tile is leveled up --> 3 corners raised + /* foundation, whole tile is leveled up --> 3 corners raised */ BRIDGE_FULL_LEVELED_FOUNDATION = M(SLOPE_WSE) | M(SLOPE_NWS) | M(SLOPE_ENW) | M(SLOPE_SEN), - // foundation, tile is partly leveled up --> 1 corner raised + /* foundation, tile is partly leveled up --> 1 corner raised */ BRIDGE_PARTLY_LEVELED_FOUNDATION = M(SLOPE_W) | M(SLOPE_S) | M(SLOPE_E) | M(SLOPE_N), - // no foundations (X,Y direction) + /* no foundations (X,Y direction) */ BRIDGE_NO_FOUNDATION = M(SLOPE_FLAT) | M(SLOPE_SW) | M(SLOPE_SE) | M(SLOPE_NW) | M(SLOPE_NE), BRIDGE_HORZ_RAMP = (BRIDGE_PARTLY_LEVELED_FOUNDATION | BRIDGE_NO_FOUNDATION) & ~M(SLOPE_FLAT) }; @@ -167,6 +168,7 @@ bool CheckBridge_Stuff(byte bridge_type, uint bridge_len) /** Build a Bridge * @param end_tile end tile + * @param flags type of operation * @param p1 packed start tile coords (~ dx) * @param p2 various bitstuffed elements * - p2 = (bit 0- 7) - bridge type (hi bh) @@ -202,7 +204,7 @@ int32 CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2) if (p1 >= MapSize()) return CMD_ERROR; - // type of bridge + /* type of bridge */ if (HASBIT(p2, 15)) { railtype = INVALID_RAILTYPE; // road bridge } else { @@ -255,7 +257,7 @@ int32 CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2) if (z_start != z_end) return_cmd_error(STR_5009_LEVEL_LAND_OR_WATER_REQUIRED); - // Towns are not allowed to use bridges on slopes. + /* Towns are not allowed to use bridges on slopes. */ allow_on_slopes = (!_is_old_ai_player && _current_player != OWNER_TOWN && _patches.build_on_slopes); @@ -315,7 +317,7 @@ int32 CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2) if (CmdFailed(ret)) return ret; cost += ret; - // false - end tile slope check + /* false - end tile slope check */ terraformcost = CheckBridgeSlopeSouth(direction, tileh_end); if (CmdFailed(terraformcost) || (terraformcost != 0 && !allow_on_slopes)) return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION); @@ -439,6 +441,7 @@ not_valid_below:; /** Build Tunnel. * @param tile start tile of tunnel + * @param flags type of operation * @param p1 railtype, 0x200 for road tunnel * @param p2 unused */ @@ -496,10 +499,10 @@ int32 CmdBuildTunnel(TileIndex start_tile, uint32 flags, uint32 p1, uint32 p2) /* Add the cost of the entrance */ cost += _price.build_tunnel + ret; - // if the command fails from here on we want the end tile to be highlighted + /* if the command fails from here on we want the end tile to be highlighted */ _build_tunnel_endtile = end_tile; - // slope of end tile must be complementary to the slope of the start tile + /* slope of end tile must be complementary to the slope of the start tile */ if (end_tileh != ComplementSlope(start_tileh)) { ret = DoCommand(end_tile, end_tileh & start_tileh, 0, flags, CMD_TERRAFORM_LAND); if (CmdFailed(ret)) return_cmd_error(STR_5005_UNABLE_TO_EXCAVATE_LAND); @@ -591,12 +594,12 @@ static int32 DoClearTunnel(TileIndex tile, uint32 flags) } if (flags & DC_EXEC) { - // We first need to request the direction before calling DoClearSquare - // else the direction is always 0.. dah!! ;) + /* We first need to request the direction before calling DoClearSquare + * else the direction is always 0.. dah!! ;) */ DiagDirection dir = GetTunnelDirection(tile); Track track; - // Adjust the town's player rating. Do this before removing the tile owner info. + /* Adjust the town's player rating. Do this before removing the tile owner info. */ if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM); @@ -661,8 +664,8 @@ static int32 DoClearBridge(TileIndex tile, uint32 flags) TileIndex c; Track track; - //checks if the owner is town then decrease town rating by RATING_TUNNEL_BRIDGE_DOWN_STEP until - // you have a "Poor" (0) town rating + /* checks if the owner is town then decrease town rating by RATING_TUNNEL_BRIDGE_DOWN_STEP until + * you have a "Poor" (0) town rating */ if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM); @@ -717,7 +720,7 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec) if (GetRailType(tile) == totype) return CMD_ERROR; - // 'hidden' elrails can't be downgraded to normal rail when elrails are disabled + /* 'hidden' elrails can't be downgraded to normal rail when elrails are disabled */ if (_patches.disable_elrails && totype == RAILTYPE_RAIL && GetRailType(tile) == RAILTYPE_ELECTRIC) return CMD_ERROR; endtile = CheckTunnelBusy(tile, &length); @@ -829,7 +832,7 @@ uint GetBridgeFoundation(Slope tileh, Axis axis) if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION, tileh)) return tileh; - // inclined sloped building + /* inclined sloped building */ switch (tileh) { case SLOPE_W: case SLOPE_STEEP_W: i = 0; break; @@ -850,6 +853,7 @@ uint GetBridgeFoundation(Slope tileh, Axis axis) * For tunnels, this is rather simple, as you only needa draw the entrance. * Bridges are a bit more complex. base_offset is where the sprite selection comes into play * and it works a bit like a bitmask.

For bridge heads: + * @param ti TileInfo of the structure to draw *

  • Bit 0: direction
  • *
  • Bit 1: northern or southern heads
  • *
  • Bit 2: Set if the bridge head is sloped
  • @@ -884,7 +888,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti) if (GetBridgeTransportType(ti->tile) == TRANSPORT_RAIL) { base_offset = GetRailTypeInfo(GetRailType(ti->tile))->bridge_offset; - assert(base_offset != 8); /* This one is used for roads */ + assert(base_offset != 8); // This one is used for roads } else { base_offset = 8; } @@ -897,7 +901,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti) if (f != 0) DrawFoundation(ti, f); } - // HACK Wizardry to convert the bridge ramp direction into a sprite offset + /* HACK Wizardry to convert the bridge ramp direction into a sprite offset */ base_offset += (6 - GetBridgeRampDirection(ti->tile)) % 4; if (ti->tileh == SLOPE_FLAT) base_offset += 4; // sloped bridge head @@ -915,7 +919,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti) image = psid->sprite; - // draw ramp + /* draw ramp */ if (_display_opt & DO_TRANS_BUILDINGS) { SETBIT(image, PALETTE_MODIFIER_TRANSPARENT); pal = PALETTE_TO_TRANSPARENT; @@ -1030,7 +1034,7 @@ void DrawBridgeMiddle(const TileInfo* ti) pal = psid->pal; } - // draw roof, the component of the bridge which is logically between the vehicle and the camera + /* draw roof, the component of the bridge which is logically between the vehicle and the camera */ if (axis == AXIS_X) { y += 12; if (image & SPRITE_MASK) AddSortableSpriteToDraw(image, pal, x, y, 16, 1, 0x28, z); @@ -1043,7 +1047,7 @@ void DrawBridgeMiddle(const TileInfo* ti) psid++; if (ti->z + 5 == z) { - // draw poles below for small bridges + /* draw poles below for small bridges */ if (psid->sprite != 0) { image = psid->sprite; if (_display_opt & DO_TRANS_BUILDINGS) { @@ -1056,7 +1060,7 @@ void DrawBridgeMiddle(const TileInfo* ti) DrawGroundSpriteAt(image, pal, x, y, z); } } else if (_patches.bridge_pillars) { - // draw pillars below for high bridges + /* draw pillars below for high bridges */ DrawBridgePillars(psid, ti, axis, type, x, y, z); } } @@ -1073,13 +1077,13 @@ static uint GetSlopeZ_TunnelBridge(TileIndex tile, uint x, uint y) if (IsTunnel(tile)) { uint pos = (DiagDirToAxis(GetTunnelDirection(tile)) == AXIS_X ? y : x); - // In the tunnel entrance? + /* In the tunnel entrance? */ if (5 <= pos && pos <= 10) return z; } else { DiagDirection dir = GetBridgeRampDirection(tile); uint pos = (DiagDirToAxis(dir) == AXIS_X ? y : x); - // On the bridge ramp? + /* On the bridge ramp? */ if (5 <= pos && pos <= 10) { uint delta; @@ -1302,7 +1306,7 @@ static uint32 VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y dir = GetTunnelDirection(tile); vdir = DirToDiagDir(v->direction); - // Enter tunnel? + /* Enter tunnel? */ if (v->u.road.state != RVSB_WORMHOLE && dir == vdir) { if (fc == _tunnel_fractcoord_4[dir] || fc == _tunnel_fractcoord_5[dir]) { -- cgit v1.2.3-54-g00ecf