summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newgrf.c106
1 files changed, 75 insertions, 31 deletions
diff --git a/newgrf.c b/newgrf.c
index 7a5dbfb44..b550e9157 100644
--- a/newgrf.c
+++ b/newgrf.c
@@ -2703,37 +2703,81 @@ static void DefineGotoLabel(byte *buf, int len)
static void InitializeGRFSpecial(void)
{
- /* FIXME: We should rather reflect reality in _ttdpatch_flags[]. */
-
- _ttdpatch_flags[0] = (_patches.always_small_airport ? (1 << 0x0C) : 0) /* keepsmallairport */
- | (1 << 0x0E) /* largestations */
- | (_patches.longbridges ? (1 << 0x0F) : 0) /* longbridges */
- | (1 << 0x12) /* presignals */
- | (1 << 0x13) /* extpresignals */
- | (_patches.never_expire_vehicles ? (1 << 0x16) : 0) /* enginespersist */
- | (1 << 0x1B); /* multihead */
- _ttdpatch_flags[1] = (_patches.mammoth_trains ? (1 << 0x08) : 0) /* mammothtrains */
- | (1 << 0x09) /* trainrefit */
- | (1 << 0x14) /* bridgespeedlimits */
- | (1 << 0x16) /* eternalgame */
- | (1 << 0x17) /* newtrains */
- | (1 << 0x18) /* newrvs */
- | (1 << 0x19) /* newships */
- | (1 << 0x1A) /* newplanes */
- | (_patches.signal_side ? (1 << 0x1B) : 0) /* signalsontrafficside */
- | (1 << 0x1C); /* electrifiedrailway */
-
- _ttdpatch_flags[2] = (_patches.build_on_slopes ? (1 << 0x0D) : 0) /* buildonslopes */
- | (1 << 0x12) /* newstations */
- | (_patches.build_on_slopes ? (1 << 0x15) : 0) /* buildoncoasts */
- | (1 << 0x16) /* canals */
- | (1 << 0x17) /* newstartyear */
- | (1 << 0x1A) /* newbridges */
- | (_patches.wagon_speed_limits ? (1 << 0x1D) : 0); /* wagonspeedlimits */
- _ttdpatch_flags[3] = (1 << 0x03) /* pathbasedsignalling */
- | (1 << 0x0C) /* enhancemultiplayer */
- | (1 << 0x0E) /* irregularstations */
- | (1 << 0x10); /* autoreplace */
+ _ttdpatch_flags[0] = ((_patches.always_small_airport ? 1 : 0) << 0x0C) // keepsmallairport
+ | (1 << 0x0D) // newairports
+ | (1 << 0x0E) // largestations
+ | ((_patches.longbridges ? 1 : 0) << 0x0F) // longbridges
+ | (0 << 0x10) // loadtime
+ | (1 << 0x12) // presignals
+ | (1 << 0x13) // extpresignals
+ | ((_patches.never_expire_vehicles ? 1 : 0) << 0x16) // enginespersist
+ | (1 << 0x1B) // multihead
+ | (1 << 0x1D) // lowmemory
+ | (1 << 0x1E); // generalfixes
+
+ _ttdpatch_flags[1] = (0 << 0x07) // moreairports - based on units of noise
+ | ((_patches.mammoth_trains ? 1 : 0) << 0x08) // mammothtrains
+ | (1 << 0x09) // trainrefit
+ | (0 << 0x0B) // subsidiaries
+ | (0 << 0x1C) // 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
+ | ((_patches.signal_side ? 1 : 0) << 0x1B) // signalsontrafficside
+ | (1 << 0x1C); // electrifiedrailway
+
+ _ttdpatch_flags[2] = (1 << 0x01) // loadallgraphics - obsolote
+ | (1 << 0x03) // semaphores
+ | (0 << 0x0B) // enhancedgui
+ | (0 << 0x0C) // newagerating
+ | ((_patches.build_on_slopes ? 1 : 0) << 0x0D) // buildonslopes
+ | (0 << 0x0F) // planespeed
+ | (0 << 0x10) // moreindustriesperclimate - obsolete
+ | (0 << 0x11) // moretoylandfeatures
+ | (1 << 0x12) // newstations
+ | (0 << 0x13) // tracktypecostdiff
+ | (0 << 0x14) // manualconvert
+ | ((_patches.build_on_slopes ? 1 : 0) << 0x15) // buildoncoasts
+ | (1 << 0x16) // canals
+ | (1 << 0x17) // newstartyear
+ | (0 << 0x18) // freighttrains
+ | (0 << 0x19) // newhouses
+ | (1 << 0x1A) // newbridges
+ | (0 << 0x1B) // newtownnames
+ | (0 << 0x1C) // moreanimations
+ | ((_patches.wagon_speed_limits ? 1 : 0) << 0x1D) // wagonspeedlimits
+ | (1 << 0x1E) // newshistory
+ | (0 << 0x1F); // custombridgeheads
+
+ _ttdpatch_flags[3] = (0 << 0x00) // newcargodistribution
+ | (1 << 0x01) // windowsnap
+ | (0 << 0x02) // townbuildnoroad
+ | (0 << 0x03) // pathbasedsignalling. To enable if ever pbs is back
+ | (0 << 0x04) // aichoosechance
+ | (1 << 0x05) // resolutionwidth
+ | (1 << 0x06) // resolutionheight
+ | (0 << 0x07) // newindustries
+ | (0 << 0x08) // fifoloading
+ | (0 << 0x09) // townroadbranchprob
+ | (0 << 0x0A) // tempsnowline
+ | (0 << 0x0B) // newcargo
+ | (1 << 0x0C) // enhancemultiplayer
+ | (1 << 0x0D) // onewayroads
+ | ((_patches.nonuniform_stations ? 1 : 0) << 0x0E) // irregularstations
+ | (1 << 0x0F) // statistics
+ | (0 << 0x10) // newsounds
+ | (1 << 0x11) // autoreplace
+ | (1 << 0x12) // autoslope
+ | (0 << 0x13) // followvehicle
+ | (0 << 0x14) // trams
+ | (0 << 0x15) // enhancetunnels
+ | (0 << 0x16) // shortrvs
+ | (0 << 0x17); // articulatedrvs
}
static void ResetCustomStations(void)