summaryrefslogtreecommitdiff
path: root/src/newgrf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r--src/newgrf.cpp144
1 files changed, 96 insertions, 48 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 4abe302d2..673b42336 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -543,7 +543,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
grfmsg(1, "RailVehicleChangeInfo: Invalid track type %d specified, ignoring", tracktype);
break;
}
- } break;
+ break;
+ }
case 0x08: // AI passenger service
/* Tells the AI that this engine is designed for
@@ -556,7 +557,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
if (speed == 0xFFFF) speed = 0;
rvi->max_speed = speed;
- } break;
+ break;
+ }
case PROP_TRAIN_POWER: // 0x0B Power
rvi->power = buf->ReadWord();
@@ -587,7 +589,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
if (spriteid < 0xFD) spriteid >>= 1;
rvi->image_index = spriteid;
- } break;
+ break;
+ }
case 0x13: { // Dual-headed
uint8 dual = buf->ReadByte();
@@ -598,7 +601,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
rvi->railveh_type = rvi->power == 0 ?
RAILVEH_WAGON : RAILVEH_SINGLEHEAD;
}
- } break;
+ break;
+ }
case PROP_TRAIN_CARGO_CAPACITY: // 0x14 Cargo capacity
rvi->capacity = buf->ReadByte();
@@ -616,7 +620,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
ei->cargo_type = CT_INVALID;
grfmsg(2, "RailVehicleChangeInfo: Invalid cargo type %d, using first refittable", ctype);
}
- } break;
+ break;
+ }
case PROP_TRAIN_WEIGHT: // 0x16 Weight
SB(rvi->weight, 0, 8, buf->ReadByte());
@@ -664,7 +669,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
}
rvi->engclass = engclass;
- } break;
+ break;
+ }
case 0x1A: // Alter purchase list sort order
AlterVehicleListOrder(e->index, buf->ReadExtendedByte());
@@ -718,7 +724,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
} else {
SB(rvi->weight, 8, 8, weight);
}
- } break;
+ break;
+ }
case PROP_TRAIN_USER_DATA: // 0x25 User-defined bit mask to set when checking veh. var. 42
rvi->user_def_data = buf->ReadByte();
@@ -787,7 +794,8 @@ static ChangeInfoResult RoadVehicleChangeInfo(uint engine, int numinfo, int prop
if (spriteid < 0xFD) spriteid >>= 1;
rvi->image_index = spriteid;
- } break;
+ break;
+ }
case PROP_ROADVEH_CARGO_CAPACITY: // 0x0F Cargo capacity
rvi->capacity = buf->ReadByte();
@@ -804,7 +812,8 @@ static ChangeInfoResult RoadVehicleChangeInfo(uint engine, int numinfo, int prop
ei->cargo_type = CT_INVALID;
grfmsg(2, "RoadVehicleChangeInfo: Invalid cargo type %d, using first refittable", cargo);
}
- } break;
+ break;
+ }
case PROP_ROADVEH_COST_FACTOR: // 0x11 Cost factor
rvi->cost_factor = buf->ReadByte();
@@ -902,7 +911,8 @@ static ChangeInfoResult ShipVehicleChangeInfo(uint engine, int numinfo, int prop
if (spriteid < 0xFD) spriteid >>= 1;
svi->image_index = spriteid;
- } break;
+ break;
+ }
case 0x09: // Refittable
svi->old_refittable = (buf->ReadByte() != 0);
@@ -927,7 +937,8 @@ static ChangeInfoResult ShipVehicleChangeInfo(uint engine, int numinfo, int prop
ei->cargo_type = CT_INVALID;
grfmsg(2, "ShipVehicleChangeInfo: Invalid cargo type %d, using first refittable", cargo);
}
- } break;
+ break;
+ }
case PROP_SHIP_CARGO_CAPACITY: // 0x0D Cargo capacity
svi->capacity = buf->ReadWord();
@@ -1016,7 +1027,8 @@ static ChangeInfoResult AircraftVehicleChangeInfo(uint engine, int numinfo, int
if (spriteid < 0xFD) spriteid >>= 1;
avi->image_index = spriteid;
- } break;
+ break;
+ }
case 0x09: // Helicopter
if (buf->ReadByte() == 0) {
@@ -1138,7 +1150,8 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
/* Swap classid because we read it in BE meaning WAYP or DFLT */
uint32 classid = buf->ReadDWord();
(*spec)->sclass = AllocateStationClass(BSWAP32(classid));
- } break;
+ break;
+ }
case 0x09: // Define sprite layout
statspec->tiles = buf->ReadExtendedByte();
@@ -1200,7 +1213,8 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
statspec->tiles = srcstatspec->tiles;
statspec->renderdata = srcstatspec->renderdata;
statspec->copied_renderdata = true;
- } break;
+ break;
+ }
case 0x0B: // Callback mask
statspec->callback_mask = buf->ReadByte();
@@ -1279,7 +1293,8 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
statspec->platforms = srcstatspec->platforms;
statspec->layouts = srcstatspec->layouts;
statspec->copied_layouts = true;
- } break;
+ break;
+ }
case 0x10: // Little/lots cargo threshold
statspec->cargo_threshold = buf->ReadWord();
@@ -1423,7 +1438,8 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR
MapSpriteMappingRecolour(&bridge->sprite_table[tableid][sprite]);
}
}
- } break;
+ break;
+ }
case 0x0E: // Flags; bit 0 - disable far pillars
bridge->flags = buf->ReadByte();
@@ -1436,13 +1452,15 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR
case 0x10: { // purchase string
StringID newone = GetGRFStringID(_cur_grffile->grfid, buf->ReadWord());
if (newone != STR_UNDEFINED) bridge->material = newone;
- } break;
+ break;
+ }
case 0x11: // description of bridge with rails or roads
case 0x12: {
StringID newone = GetGRFStringID(_cur_grffile->grfid, buf->ReadWord());
if (newone != STR_UNDEFINED) bridge->transport_name[prop - 0x11] = newone;
- } break;
+ break;
+ }
case 0x13: // 16 bits cost multiplier
bridge->price = buf->ReadWord();
@@ -1503,7 +1521,8 @@ static ChangeInfoResult IgnoreTownHouseProperty(int prop, ByteReader *buf)
byte count = buf->ReadByte();
for (byte j = 0; j < count; j++) buf->ReadByte();
ret = CIR_UNHANDLED;
- } break;
+ break;
+ }
default:
ret = CIR_UNKNOWN;
@@ -1584,7 +1603,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
if (housespec->min_year < 1930) housespec->min_year = 1930;
_loaded_newgrf_features.has_newhouses = true;
- } break;
+ break;
+ }
case 0x09: // Building flags
housespec->building_flags = (BuildingFlags)buf->ReadByte();
@@ -1594,7 +1614,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
uint16 years = buf->ReadWord();
housespec->min_year = GB(years, 0, 8) > 150 ? MAX_YEAR : ORIGINAL_BASE_YEAR + GB(years, 0, 8);
housespec->max_year = GB(years, 8, 8) > 150 ? MAX_YEAR : ORIGINAL_BASE_YEAR + GB(years, 8, 8);
- } break;
+ break;
+ }
case 0x0B: // Population
housespec->population = buf->ReadByte();
@@ -1622,7 +1643,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
housespec->accepts_cargo[2] = cid;
housespec->cargo_acceptance[2] = abs(goods); // but we do need positive value here
- } break;
+ break;
+ }
case 0x10: // Local authority rating decrease on removal
housespec->remove_rating_decrease = buf->ReadWord();
@@ -1655,7 +1677,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
}
_house_mngr.Add(hid + i, _cur_grffile->grfid, override);
- } break;
+ break;
+ }
case 0x16: // Periodic refresh multiplier
housespec->processing_time = buf->ReadByte();
@@ -1707,7 +1730,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
housespec->accepts_cargo[j] = cargo;
}
}
- } break;
+ break;
+ }
case 0x1F: // Minimum life span
housespec->minimum_life = buf->ReadByte();
@@ -1717,7 +1741,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt
byte count = buf->ReadByte();
for (byte j = 0; j < count; j++) buf->ReadByte();
ret = CIR_UNHANDLED;
- } break;
+ break;
+ }
case 0x21: // long introduction year
housespec->min_year = buf->ReadWord();
@@ -1751,7 +1776,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Price %d out of range, ignoring", price);
}
- } break;
+ break;
+ }
case 0x09: // Cargo translation table
/* This is loaded during the reservation stage, so just skip it here. */
@@ -1766,7 +1792,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
if ((newone != STR_UNDEFINED) && (curidx < NUM_CURRENCY)) {
_currency_specs[curidx].name = newone;
}
- } break;
+ break;
+ }
case 0x0B: { // Currency multipliers
uint curidx = GetNewgrfCurrencyIdConverted(gvid + i);
@@ -1780,7 +1807,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Currency multipliers %d out of range, ignoring", curidx);
}
- } break;
+ break;
+ }
case 0x0C: { // Currency options
uint curidx = GetNewgrfCurrencyIdConverted(gvid + i);
@@ -1795,7 +1823,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Currency option %d out of range, ignoring", curidx);
}
- } break;
+ break;
+ }
case 0x0D: { // Currency prefix symbol
uint curidx = GetNewgrfCurrencyIdConverted(gvid + i);
@@ -1807,7 +1836,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Currency symbol %d out of range, ignoring", curidx);
}
- } break;
+ break;
+ }
case 0x0E: { // Currency suffix symbol
uint curidx = GetNewgrfCurrencyIdConverted(gvid + i);
@@ -1819,7 +1849,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Currency symbol %d out of range, ignoring", curidx);
}
- } break;
+ break;
+ }
case 0x0F: { // Euro introduction dates
uint curidx = GetNewgrfCurrencyIdConverted(gvid + i);
@@ -1830,7 +1861,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By
} else {
grfmsg(1, "GlobalVarChangeInfo: Euro intro date %d out of range, ignoring", curidx);
}
- } break;
+ break;
+ }
case 0x10: // Snow line height table
if (numinfo > 1 || IsSnowLineSet()) {
@@ -2051,7 +2083,8 @@ static ChangeInfoResult CargoChangeInfo(uint cid, int numinfo, int prop, ByteRea
grfmsg(1, "CargoChangeInfo: Unknown town growth substitute value %d, setting to none.", substitute_type);
case 0xFF: cs->town_effect = TE_NONE; break;
}
- } break;
+ break;
+ }
case 0x19: // Town growth coefficient
cs->multipliertowngrowth = buf->ReadWord();
@@ -2108,7 +2141,8 @@ static ChangeInfoResult SoundEffectChangeInfo(uint sid, int numinfo, int prop, B
/* Literally copy the data of the new sound over the original */
*old_sound = *sound;
}
- } break;
+ break;
+ }
default:
ret = CIR_UNKNOWN;
@@ -2200,7 +2234,8 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr
tsp->grf_prop.grffile = _cur_grffile;
_industile_mngr.AddEntityID(indtid + i, _cur_grffile->grfid, subs_id); // pre-reserve the tile slot
}
- } break;
+ break;
+ }
case 0x09: { // Industry tile override
byte ovrid = buf->ReadByte();
@@ -2212,7 +2247,8 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr
}
_industile_mngr.Add(indtid + i, _cur_grffile->grfid, ovrid);
- } break;
+ break;
+ }
case 0x0A: // Tile acceptance
case 0x0B:
@@ -2220,7 +2256,8 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr
uint16 acctp = buf->ReadWord();
tsp->accepts_cargo[prop - 0x0A] = GetCargoTranslation(GB(acctp, 0, 8), _cur_grffile);
tsp->acceptance[prop - 0x0A] = GB(acctp, 8, 8);
- } break;
+ break;
+ }
case 0x0D: // Land shape flags
tsp->slopes_refused = (Slope)buf->ReadByte();
@@ -2311,7 +2348,8 @@ static ChangeInfoResult IgnoreIndustryProperty(int prop, ByteReader *buf)
if (gfx == 0xFE) buf->ReadWord();
}
}
- } break;
+ break;
+ }
case 0x11:
case 0x16:
@@ -2323,7 +2361,8 @@ static ChangeInfoResult IgnoreIndustryProperty(int prop, ByteReader *buf)
for (uint8 j = 0; j < number_of_sounds; j++) {
buf->ReadByte();
}
- } break;
+ break;
+ }
default:
ret = CIR_UNKNOWN;
@@ -2408,7 +2447,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
* rely on callbacks, not on the original placement functions */
indsp->check_proc = CHECK_NOTHING;
}
- } break;
+ break;
+ }
case 0x09: { // Industry type override
byte ovrid = buf->ReadByte();
@@ -2420,7 +2460,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
}
indsp->grf_prop.override = ovrid;
_industry_mngr.Add(indid + i, _cur_grffile->grfid, ovrid);
- } break;
+ break;
+ }
case 0x0A: { // Set industry layout(s)
indsp->num_table = buf->ReadByte(); // Number of layaouts
@@ -2519,7 +2560,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
indsp->table = tile_table;
SetBit(indsp->cleanup_flag, 1);
free(itt);
- } break;
+ break;
+ }
case 0x0B: // Industry production flags
indsp->life_type = (IndustryLifeType)buf->ReadByte();
@@ -2581,7 +2623,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
indsp->random_sounds = sounds;
SetBit(indsp->cleanup_flag, 0);
- } break;
+ break;
+ }
case 0x16: // Conflicting industry types
for (byte j = 0; j < 3; j++) indsp->conflicting[j] = buf->ReadByte();
@@ -2614,7 +2657,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
uint32 multiples = buf->ReadDWord();
indsp->input_cargo_multiplier[prop - 0x1C][0] = GB(multiples, 0, 16);
indsp->input_cargo_multiplier[prop - 0x1C][1] = GB(multiples, 16, 16);
- } break;
+ break;
+ }
case 0x1F: // Industry name
indsp->name = buf->ReadWord();
@@ -2629,7 +2673,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
case 0x22: { // Callback additional mask
byte aflag = buf->ReadByte();
SB(indsp->callback_mask, (prop - 0x21) * 8, 8, aflag);
- } break;
+ break;
+ }
case 0x23: // removal cost multiplier
indsp->removal_cost_multiplier = buf->ReadDWord();
@@ -2729,7 +2774,8 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B
/* Create a copy of the original tiletable so it can be freed later. */
DuplicateTileTable(as);
}
- } break;
+ break;
+ }
case 0x0C:
as->min_year = buf->ReadWord();
@@ -2975,7 +3021,8 @@ static ChangeInfoResult AirportTilesChangeInfo(uint airtid, int numinfo, int pro
tsp->grf_prop.grffile = _cur_grffile;
_airporttile_mngr.AddEntityID(airtid + i, _cur_grffile->grfid, subs_id); // pre-reserve the tile slot
}
- } break;
+ break;
+ }
case 0x09: { // Airport tile override
byte override = buf->ReadByte();
@@ -2987,7 +3034,8 @@ static ChangeInfoResult AirportTilesChangeInfo(uint airtid, int numinfo, int pro
}
_airporttile_mngr.Add(airtid + i, _cur_grffile->grfid, override);
- } break;
+ break;
+ }
case 0x0E: // Callback flags
tsp->callback_flags = buf->ReadByte();