summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbelugas <belugas@openttd.org>2006-08-25 19:18:16 +0000
committerbelugas <belugas@openttd.org>2006-08-25 19:18:16 +0000
commita4d69aa9f765bbf1b7bc225ba89753ae09c7cf8f (patch)
tree69631516ad66a1a29bb3f7085d9e387abc20e59b
parent1ca21fb8d912abd83235f1753e9319503146f144 (diff)
downloadopenttd-a4d69aa9f765bbf1b7bc225ba89753ae09c7cf8f.tar.xz
(svn r6131) -Codechange : Complete all missing _ttdpatch_flags entries
-Feature : both unifiedmaglevmode are now set. Maglev and monorail are not allowed to run on each other tracks and will not be. Setting those flags will allow grfsets as the Norvegian one to be loaded -Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations -Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
-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)