|
|
|
@ -8365,89 +8365,89 @@ static void GRFUnsafe(ByteReader *buf)
|
|
|
|
|
/** Initialize the TTDPatch flags */
|
|
|
|
|
static void InitializeGRFSpecial()
|
|
|
|
|
{
|
|
|
|
|
_ttdpatch_flags[0] = ((_settings_game.station.never_expire_airports ? 1 : 0) << 0x0C) // keepsmallairport
|
|
|
|
|
| (1 << 0x0D) // newairports
|
|
|
|
|
| (1 << 0x0E) // largestations
|
|
|
|
|
| ((_settings_game.construction.max_bridge_length > 16 ? 1 : 0) << 0x0F) // longbridges
|
|
|
|
|
| (0 << 0x10) // loadtime
|
|
|
|
|
| (1 << 0x12) // presignals
|
|
|
|
|
| (1 << 0x13) // extpresignals
|
|
|
|
|
| ((_settings_game.vehicle.never_expire_vehicles ? 1 : 0) << 0x16) // enginespersist
|
|
|
|
|
| (1 << 0x1B) // multihead
|
|
|
|
|
| (1 << 0x1D) // lowmemory
|
|
|
|
|
| (1 << 0x1E); // generalfixes
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[1] = ((_settings_game.economy.station_noise_level ? 1 : 0) << 0x07) // moreairports - based on units of noise
|
|
|
|
|
| (1 << 0x08) // mammothtrains
|
|
|
|
|
| (1 << 0x09) // trainrefit
|
|
|
|
|
| (0 << 0x0B) // subsidiaries
|
|
|
|
|
| ((_settings_game.order.gradual_loading ? 1 : 0) << 0x0C) // gradualloading
|
|
|
|
|
| (1 << 0x12) // unifiedmaglevmode - set bit 0 mode. Not revelant to OTTD
|
|
|
|
|
| (1 << 0x13) // unifiedmaglevmode - set bit 1 mode
|
|
|
|
|
| (1 << 0x14) // bridgespeedlimits
|
|
|
|
|
| (1 << 0x16) // eternalgame
|
|
|
|
|
| (1 << 0x17) // newtrains
|
|
|
|
|
| (1 << 0x18) // newrvs
|
|
|
|
|
| (1 << 0x19) // newships
|
|
|
|
|
| (1 << 0x1A) // newplanes
|
|
|
|
|
| ((_settings_game.construction.train_signal_side == 1 ? 1 : 0) << 0x1B) // signalsontrafficside
|
|
|
|
|
| ((_settings_game.vehicle.disable_elrails ? 0 : 1) << 0x1C); // electrifiedrailway
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[2] = (1 << 0x01) // loadallgraphics - obsolote
|
|
|
|
|
| (1 << 0x03) // semaphores
|
|
|
|
|
| (1 << 0x0A) // newobjects
|
|
|
|
|
| (0 << 0x0B) // enhancedgui
|
|
|
|
|
| (0 << 0x0C) // newagerating
|
|
|
|
|
| ((_settings_game.construction.build_on_slopes ? 1 : 0) << 0x0D) // buildonslopes
|
|
|
|
|
| (1 << 0x0E) // fullloadany
|
|
|
|
|
| (1 << 0x0F) // planespeed
|
|
|
|
|
| (0 << 0x10) // moreindustriesperclimate - obsolete
|
|
|
|
|
| (0 << 0x11) // moretoylandfeatures
|
|
|
|
|
| (1 << 0x12) // newstations
|
|
|
|
|
| (1 << 0x13) // tracktypecostdiff
|
|
|
|
|
| (1 << 0x14) // manualconvert
|
|
|
|
|
| ((_settings_game.construction.build_on_slopes ? 1 : 0) << 0x15) // buildoncoasts
|
|
|
|
|
| (1 << 0x16) // canals
|
|
|
|
|
| (1 << 0x17) // newstartyear
|
|
|
|
|
| ((_settings_game.vehicle.freight_trains > 1 ? 1 : 0) << 0x18) // freighttrains
|
|
|
|
|
| (1 << 0x19) // newhouses
|
|
|
|
|
| (1 << 0x1A) // newbridges
|
|
|
|
|
| (1 << 0x1B) // newtownnames
|
|
|
|
|
| (1 << 0x1C) // moreanimation
|
|
|
|
|
| ((_settings_game.vehicle.wagon_speed_limits ? 1 : 0) << 0x1D) // wagonspeedlimits
|
|
|
|
|
| (1 << 0x1E) // newshistory
|
|
|
|
|
| (0 << 0x1F); // custombridgeheads
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[3] = (0 << 0x00) // newcargodistribution
|
|
|
|
|
| (1 << 0x01) // windowsnap
|
|
|
|
|
| ((_settings_game.economy.allow_town_roads || _generating_world ? 0 : 1) << 0x02) // townbuildnoroad
|
|
|
|
|
| (1 << 0x03) // pathbasedsignalling
|
|
|
|
|
| (0 << 0x04) // aichoosechance
|
|
|
|
|
| (1 << 0x05) // resolutionwidth
|
|
|
|
|
| (1 << 0x06) // resolutionheight
|
|
|
|
|
| (1 << 0x07) // newindustries
|
|
|
|
|
| ((_settings_game.order.improved_load ? 1 : 0) << 0x08) // fifoloading
|
|
|
|
|
| (0 << 0x09) // townroadbranchprob
|
|
|
|
|
| (0 << 0x0A) // tempsnowline
|
|
|
|
|
| (1 << 0x0B) // newcargo
|
|
|
|
|
| (1 << 0x0C) // enhancemultiplayer
|
|
|
|
|
| (1 << 0x0D) // onewayroads
|
|
|
|
|
| (1 << 0x0E) // irregularstations
|
|
|
|
|
| (1 << 0x0F) // statistics
|
|
|
|
|
| (1 << 0x10) // newsounds
|
|
|
|
|
| (1 << 0x11) // autoreplace
|
|
|
|
|
| (1 << 0x12) // autoslope
|
|
|
|
|
| (0 << 0x13) // followvehicle
|
|
|
|
|
| (1 << 0x14) // trams
|
|
|
|
|
| (0 << 0x15) // enhancetunnels
|
|
|
|
|
| (1 << 0x16) // shortrvs
|
|
|
|
|
| (1 << 0x17) // articulatedrvs
|
|
|
|
|
| ((_settings_game.vehicle.dynamic_engines ? 1 : 0) << 0x18) // dynamic engines
|
|
|
|
|
| (1 << 0x1E) // variablerunningcosts
|
|
|
|
|
| (1 << 0x1F); // any switch is on
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[4] = (1 << 0x00) // larger persistent storage
|
|
|
|
|
| ((_settings_game.economy.inflation ? 1 : 0) << 0x01); // inflation is on
|
|
|
|
|
_ttdpatch_flags[0] = ((_settings_game.station.never_expire_airports ? 1U : 0U) << 0x0C) // keepsmallairport
|
|
|
|
|
| (1U << 0x0D) // newairports
|
|
|
|
|
| (1U << 0x0E) // largestations
|
|
|
|
|
| ((_settings_game.construction.max_bridge_length > 16 ? 1U : 0U) << 0x0F) // longbridges
|
|
|
|
|
| (0U << 0x10) // loadtime
|
|
|
|
|
| (1U << 0x12) // presignals
|
|
|
|
|
| (1U << 0x13) // extpresignals
|
|
|
|
|
| ((_settings_game.vehicle.never_expire_vehicles ? 1U : 0U) << 0x16) // enginespersist
|
|
|
|
|
| (1U << 0x1B) // multihead
|
|
|
|
|
| (1U << 0x1D) // lowmemory
|
|
|
|
|
| (1U << 0x1E); // generalfixes
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[1] = ((_settings_game.economy.station_noise_level ? 1U : 0U) << 0x07) // moreairports - based on units of noise
|
|
|
|
|
| (1U << 0x08) // mammothtrains
|
|
|
|
|
| (1U << 0x09) // trainrefit
|
|
|
|
|
| (0U << 0x0B) // subsidiaries
|
|
|
|
|
| ((_settings_game.order.gradual_loading ? 1U : 0U) << 0x0C) // gradualloading
|
|
|
|
|
| (1U << 0x12) // unifiedmaglevmode - set bit 0 mode. Not revelant to OTTD
|
|
|
|
|
| (1U << 0x13) // unifiedmaglevmode - set bit 1 mode
|
|
|
|
|
| (1U << 0x14) // bridgespeedlimits
|
|
|
|
|
| (1U << 0x16) // eternalgame
|
|
|
|
|
| (1U << 0x17) // newtrains
|
|
|
|
|
| (1U << 0x18) // newrvs
|
|
|
|
|
| (1U << 0x19) // newships
|
|
|
|
|
| (1U << 0x1A) // newplanes
|
|
|
|
|
| ((_settings_game.construction.train_signal_side == 1 ? 1U : 0U) << 0x1B) // signalsontrafficside
|
|
|
|
|
| ((_settings_game.vehicle.disable_elrails ? 0U : 1U) << 0x1C); // electrifiedrailway
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[2] = (1U << 0x01) // loadallgraphics - obsolote
|
|
|
|
|
| (1U << 0x03) // semaphores
|
|
|
|
|
| (1U << 0x0A) // newobjects
|
|
|
|
|
| (0U << 0x0B) // enhancedgui
|
|
|
|
|
| (0U << 0x0C) // newagerating
|
|
|
|
|
| ((_settings_game.construction.build_on_slopes ? 1U : 0U) << 0x0D) // buildonslopes
|
|
|
|
|
| (1U << 0x0E) // fullloadany
|
|
|
|
|
| (1U << 0x0F) // planespeed
|
|
|
|
|
| (0U << 0x10) // moreindustriesperclimate - obsolete
|
|
|
|
|
| (0U << 0x11) // moretoylandfeatures
|
|
|
|
|
| (1U << 0x12) // newstations
|
|
|
|
|
| (1U << 0x13) // tracktypecostdiff
|
|
|
|
|
| (1U << 0x14) // manualconvert
|
|
|
|
|
| ((_settings_game.construction.build_on_slopes ? 1U : 0U) << 0x15) // buildoncoasts
|
|
|
|
|
| (1U << 0x16) // canals
|
|
|
|
|
| (1U << 0x17) // newstartyear
|
|
|
|
|
| ((_settings_game.vehicle.freight_trains > 1 ? 1U : 0U) << 0x18) // freighttrains
|
|
|
|
|
| (1U << 0x19) // newhouses
|
|
|
|
|
| (1U << 0x1A) // newbridges
|
|
|
|
|
| (1U << 0x1B) // newtownnames
|
|
|
|
|
| (1U << 0x1C) // moreanimation
|
|
|
|
|
| ((_settings_game.vehicle.wagon_speed_limits ? 1U : 0U) << 0x1D) // wagonspeedlimits
|
|
|
|
|
| (1U << 0x1E) // newshistory
|
|
|
|
|
| (0U << 0x1F); // custombridgeheads
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[3] = (0U << 0x00) // newcargodistribution
|
|
|
|
|
| (1U << 0x01) // windowsnap
|
|
|
|
|
| ((_settings_game.economy.allow_town_roads || _generating_world ? 0U : 1U) << 0x02) // townbuildnoroad
|
|
|
|
|
| (1U << 0x03) // pathbasedsignalling
|
|
|
|
|
| (0U << 0x04) // aichoosechance
|
|
|
|
|
| (1U << 0x05) // resolutionwidth
|
|
|
|
|
| (1U << 0x06) // resolutionheight
|
|
|
|
|
| (1U << 0x07) // newindustries
|
|
|
|
|
| ((_settings_game.order.improved_load ? 1U : 0U) << 0x08) // fifoloading
|
|
|
|
|
| (0U << 0x09) // townroadbranchprob
|
|
|
|
|
| (0U << 0x0A) // tempsnowline
|
|
|
|
|
| (1U << 0x0B) // newcargo
|
|
|
|
|
| (1U << 0x0C) // enhancemultiplayer
|
|
|
|
|
| (1U << 0x0D) // onewayroads
|
|
|
|
|
| (1U << 0x0E) // irregularstations
|
|
|
|
|
| (1U << 0x0F) // statistics
|
|
|
|
|
| (1U << 0x10) // newsounds
|
|
|
|
|
| (1U << 0x11) // autoreplace
|
|
|
|
|
| (1U << 0x12) // autoslope
|
|
|
|
|
| (0U << 0x13) // followvehicle
|
|
|
|
|
| (1U << 0x14) // trams
|
|
|
|
|
| (0U << 0x15) // enhancetunnels
|
|
|
|
|
| (1U << 0x16) // shortrvs
|
|
|
|
|
| (1U << 0x17) // articulatedrvs
|
|
|
|
|
| ((_settings_game.vehicle.dynamic_engines ? 1U : 0U) << 0x18) // dynamic engines
|
|
|
|
|
| (1U << 0x1E) // variablerunningcosts
|
|
|
|
|
| (1U << 0x1F); // any switch is on
|
|
|
|
|
|
|
|
|
|
_ttdpatch_flags[4] = (1U << 0x00) // larger persistent storage
|
|
|
|
|
| ((_settings_game.economy.inflation ? 1U : 0U) << 0x01); // inflation is on
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Reset and clear all NewGRF stations */
|
|
|
|
|