summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbelugas <belugas@openttd.org>2008-02-12 03:05:27 +0000
committerbelugas <belugas@openttd.org>2008-02-12 03:05:27 +0000
commitf4334301e89b0dfcaace437de6202764e5f9b537 (patch)
tree1f3b08c93867a3ece67fea36d353dcbdb2385576
parentb0b929ce4258e70fd0482a4bf9b1fac8330edcfe (diff)
downloadopenttd-f4334301e89b0dfcaace437de6202764e5f9b537.tar.xz
(svn r12118) -Codechange: Put the two descriptions of bridges in an array instead of two single variables, following the transport type it represents
-rw-r--r--src/bridge.h23
-rw-r--r--src/newgrf.cpp10
-rw-r--r--src/table/bridge_land.h2
-rw-r--r--src/tunnelbridge_cmd.cpp3
4 files changed, 16 insertions, 22 deletions
diff --git a/src/bridge.h b/src/bridge.h
index fde98f57e..af41be59f 100644
--- a/src/bridge.h
+++ b/src/bridge.h
@@ -18,18 +18,17 @@ typedef uint BridgeType;
/** Struct containing information about a single bridge type
*/
struct BridgeSpec {
- Year avail_year; ///< the year where it becomes available
- byte min_length; ///< the minimum 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 speed; ///< maximum travel speed
- SpriteID sprite; ///< the sprite 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 name_rail; ///< description of the bridge, when built for road
- StringID name_road; ///< description of the bridge, when built for road
- PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
- byte flags; ///< bit 0 set: disable drawing of far pillars.
+ Year avail_year; ///< the year where it becomes available
+ byte min_length; ///< the minimum 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 speed; ///< maximum travel speed
+ SpriteID sprite; ///< the sprite 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 transport_name[2]; ///< description of the bridge, when built for road or rail
+ PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
+ byte flags; ///< bit 0 set: disable drawing of far pillars.
};
extern BridgeSpec _bridge[MAX_BRIDGES];
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index e037f0114..4a6bb6c83 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -1250,14 +1250,10 @@ static bool BridgeChangeInfo(uint brid, int numinfo, int prop, byte **bufp, int
if (newone != STR_UNDEFINED) bridge->material = newone;
} 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));
- if (newone != STR_UNDEFINED) bridge->name_rail = 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;
+ if (newone != STR_UNDEFINED) bridge->transport_name[prop - 0x11] = newone;
} break;
default:
diff --git a/src/table/bridge_land.h b/src/table/bridge_land.h
index 73045d3e8..6453fbf97 100644
--- a/src/table/bridge_land.h
+++ b/src/table/bridge_land.h
@@ -721,7 +721,7 @@ static const PalSpriteID * const * const _bridge_sprite_table[MAX_BRIDGES] = {
* @param nrd description of the road bridge in query tool
*/
#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[] = {
/*
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp
index 8a3e23d6e..a1de7350e 100644
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -1142,8 +1142,7 @@ static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
td->str = (GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL) ?
STR_5017_RAILROAD_TUNNEL : STR_5018_ROAD_TUNNEL;
} else { //so it must be a bridge
- const BridgeSpec *brspc = GetBridgeSpec(GetBridgeType(tile));
- td->str = GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL ? brspc->name_rail : brspc->name_road;
+ td->str = GetBridgeSpec(GetBridgeType(tile))->transport_name[GetTunnelBridgeTransportType(tile)];
}
td->owner = GetTileOwner(tile);
}