Changeset - r12988:3ff331d79bb7
[Not reviewed]
master
0 4 0
rubidium - 15 years ago 2009-09-10 14:27:43
rubidium@openttd.org
(svn r17492) -Codechange: don't store the town index for road depots.
4 files changed with 9 insertions and 10 deletions:
0 comments (0 inline, 0 general)
src/road_cmd.cpp
Show inline comments
 
@@ -882,7 +882,7 @@ CommandCost CmdBuildRoadDepot(TileIndex 
 
		Depot *dep = new Depot(tile);
 
		dep->town_index = ClosestTownFromTile(tile, UINT_MAX)->index;
 

	
 
		MakeRoadDepot(tile, _current_company, dir, rt, dep->town_index);
 
		MakeRoadDepot(tile, _current_company, dir, rt);
 
		MarkTileDirtyByTile(tile);
 
	}
 
	return cost.AddCost(_price.build_road_depot);
src/road_map.h
Show inline comments
 
@@ -407,11 +407,11 @@ static inline void MakeRoadCrossing(Tile
 
}
 

	
 

	
 
static inline void MakeRoadDepot(TileIndex t, Owner owner, DiagDirection dir, RoadType rt, TownID town)
 
static inline void MakeRoadDepot(TileIndex t, Owner owner, DiagDirection dir, RoadType rt)
 
{
 
	SetTileType(t, MP_ROAD);
 
	SetTileOwner(t, owner);
 
	_m[t].m2 = town;
 
	_m[t].m2 = 0;
 
	_m[t].m3 = 0;
 
	_m[t].m4 = 0;
 
	_m[t].m5 = ROAD_TILE_DEPOT << 6 | dir;
src/saveload/afterload.cpp
Show inline comments
 
@@ -842,7 +842,7 @@ bool AfterLoadGame()
 
						case ROAD_TILE_DEPOT:
 
							break;
 
					}
 
					if (!HasTownOwnedRoad(t)) {
 
					if (!IsRoadDepot(t) && !HasTownOwnedRoad(t)) {
 
						const Town *town = CalcClosestTownFromTile(t);
 
						if (town != NULL) SetTownIndex(t, town->index);
 
					}
src/town_map.h
Show inline comments
 
@@ -12,32 +12,31 @@
 
#ifndef TOWN_MAP_H
 
#define TOWN_MAP_H
 

	
 
#include "tile_map.h"
 
#include "road_map.h"
 
#include "town_type.h"
 
#include "house.h"
 

	
 
/**
 
 * Get the index of which town this house/street is attached to.
 
 * @param t the tile
 
 * @pre IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD)
 
 * @pre IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD) but not a road depot
 
 * @return TownID
 
 */
 
static inline TownID GetTownIndex(TileIndex t)
 
{
 
	assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_ROAD)); // XXX incomplete
 
	assert(IsTileType(t, MP_HOUSE) || (IsTileType(t, MP_ROAD) && !IsRoadDepot(t)));
 
	return _m[t].m2;
 
}
 

	
 
/**
 
 * Set the town index for a road or house tile.
 
 * @param t the tile
 
 * @pre IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD)
 
 * @param index the index of the town
 
 * @pre IsTileType(t, MP_ROAD) || IsTileType(t, MP_HOUSE)
 
 * @pre IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD) but not a road depot
 
 */
 
static inline void SetTownIndex(TileIndex t, TownID index)
 
{
 
	assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_ROAD));
 
	assert(IsTileType(t, MP_HOUSE) || (IsTileType(t, MP_ROAD) && !IsRoadDepot(t)));
 
	_m[t].m2 = index;
 
}
 

	
0 comments (0 inline, 0 general)