mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r12118) -Codechange: Put the two descriptions of bridges in an array instead of two single variables, following the transport type it represents
This commit is contained in:
parent
b0b929ce42
commit
f4334301e8
23
src/bridge.h
23
src/bridge.h
|
@ -18,18 +18,17 @@ typedef uint BridgeType;
|
||||||
/** Struct containing information about a single bridge type
|
/** Struct containing information about a single bridge type
|
||||||
*/
|
*/
|
||||||
struct BridgeSpec {
|
struct BridgeSpec {
|
||||||
Year avail_year; ///< the year where it becomes available
|
Year avail_year; ///< the year where it becomes available
|
||||||
byte min_length; ///< the minimum length (not counting start and end tile)
|
byte min_length; ///< the minimum length (not counting start and end tile)
|
||||||
byte max_length; ///< the maximum length (not counting start and end tile)
|
byte max_length; ///< the maximum length (not counting start and end tile)
|
||||||
uint16 price; ///< the price multiplier
|
uint16 price; ///< the price multiplier
|
||||||
uint16 speed; ///< maximum travel speed
|
uint16 speed; ///< maximum travel speed
|
||||||
SpriteID sprite; ///< the sprite which is used in the GUI
|
SpriteID sprite; ///< the sprite which is used in the GUI
|
||||||
SpriteID pal; ///< the palette which is used in the GUI
|
SpriteID pal; ///< the palette which is used in the GUI
|
||||||
StringID material; ///< the string that contains the bridge description
|
StringID material; ///< the string that contains the bridge description
|
||||||
StringID name_rail; ///< description of the bridge, when built for road
|
StringID transport_name[2]; ///< description of the bridge, when built for road or rail
|
||||||
StringID name_road; ///< description of the bridge, when built for road
|
PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
|
||||||
PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
|
byte flags; ///< bit 0 set: disable drawing of far pillars.
|
||||||
byte flags; ///< bit 0 set: disable drawing of far pillars.
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern BridgeSpec _bridge[MAX_BRIDGES];
|
extern BridgeSpec _bridge[MAX_BRIDGES];
|
||||||
|
|
|
@ -1250,14 +1250,10 @@ static bool BridgeChangeInfo(uint brid, int numinfo, int prop, byte **bufp, int
|
||||||
if (newone != STR_UNDEFINED) bridge->material = newone;
|
if (newone != STR_UNDEFINED) bridge->material = newone;
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case 0x11: { // description of bridge with rails
|
case 0x11: // description of bridge with rails or roads
|
||||||
|
case 0x12: {
|
||||||
StringID newone = GetGRFStringID(_cur_grffile->grfid, grf_load_word(&buf));
|
StringID newone = GetGRFStringID(_cur_grffile->grfid, grf_load_word(&buf));
|
||||||
if (newone != STR_UNDEFINED) bridge->name_rail = newone;
|
if (newone != STR_UNDEFINED) bridge->transport_name[prop - 0x11] = newone;
|
||||||
} break;
|
|
||||||
|
|
||||||
case 0x12: { // description of bridge with roads
|
|
||||||
StringID newone = GetGRFStringID(_cur_grffile->grfid, grf_load_word(&buf));
|
|
||||||
if (newone != STR_UNDEFINED) bridge->name_road = newone;
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -721,7 +721,7 @@ static const PalSpriteID * const * const _bridge_sprite_table[MAX_BRIDGES] = {
|
||||||
* @param nrd description of the road bridge in query tool
|
* @param nrd description of the road bridge in query tool
|
||||||
*/
|
*/
|
||||||
#define MB(y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd) \
|
#define MB(y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd) \
|
||||||
{y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd, NULL, 0}
|
{y, mnl, mxl, p, mxs, spr, plt, dsc, { nrl, nrd }, NULL, 0}
|
||||||
|
|
||||||
const BridgeSpec _orig_bridge[] = {
|
const BridgeSpec _orig_bridge[] = {
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1142,8 +1142,7 @@ static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
|
||||||
td->str = (GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL) ?
|
td->str = (GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL) ?
|
||||||
STR_5017_RAILROAD_TUNNEL : STR_5018_ROAD_TUNNEL;
|
STR_5017_RAILROAD_TUNNEL : STR_5018_ROAD_TUNNEL;
|
||||||
} else { //so it must be a bridge
|
} else { //so it must be a bridge
|
||||||
const BridgeSpec *brspc = GetBridgeSpec(GetBridgeType(tile));
|
td->str = GetBridgeSpec(GetBridgeType(tile))->transport_name[GetTunnelBridgeTransportType(tile)];
|
||||||
td->str = GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL ? brspc->name_rail : brspc->name_road;
|
|
||||||
}
|
}
|
||||||
td->owner = GetTileOwner(tile);
|
td->owner = GetTileOwner(tile);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue