From f76d4f43af4e8a0fa8c98fd34a0d54d0c689081b Mon Sep 17 00:00:00 2001 From: belugas Date: Fri, 25 Aug 2006 19:18:16 +0000 Subject: [PATCH] (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) --- newgrf.c | 102 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 73 insertions(+), 29 deletions(-) diff --git a/newgrf.c b/newgrf.c index 7a5dbfb440..b550e9157f 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 : 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[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[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] = (_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[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)