diff options
author | belugas <belugas@openttd.org> | 2007-04-04 03:21:14 +0000 |
---|---|---|
committer | belugas <belugas@openttd.org> | 2007-04-04 03:21:14 +0000 |
commit | 4c4f2a34ef3cd08b45b2b5e2edb866020dbd84ea (patch) | |
tree | ee49dd11233b9b7f3c596bad4f124f8a5b794d8e /src/town_cmd.cpp | |
parent | 695ff8dd37e5bde257fa1aafdbf821f91f369f46 (diff) | |
download | openttd-4c4f2a34ef3cd08b45b2b5e2edb866020dbd84ea.tar.xz |
(svn r9558) -Documentation: doxygen and comment changes: 'T' now. Almost done
Diffstat (limited to 'src/town_cmd.cpp')
-rw-r--r-- | src/town_cmd.cpp | 263 |
1 files changed, 135 insertions, 128 deletions
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() |