Difference between revisions of "FuturePlans"
From TTWiki
Jump to navigationJump to search (Reformat and update) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | '''''What might be included in a future version of the patch.''''' |
||
− | |||
− | =Future Plans= |
||
− | |||
− | What might be included in a future version of the patch. |
||
− | |||
Here are some things I am considering to include in future versions, in no particular order. For some reason this list keeps getting longer and longer, no matter how much I try to implement, there are always more new ideas than I can handle. |
Here are some things I am considering to include in future versions, in no particular order. For some reason this list keeps getting longer and longer, no matter how much I try to implement, there are always more new ideas than I can handle. |
||
− | This list is not updated very regularly, for a more up-to-date version check [http://www.ttdpatch.net/src/todonow.txt |
+ | This list is not updated very regularly, for a more up-to-date version check [http://www.ttdpatch.net/src/todonow.txt todonow.txt] at the source code page of the TTDPatch site. |
*Make station coverage depend on size: large airports bigger, small airports normal, similar for train stations. |
*Make station coverage depend on size: large airports bigger, small airports normal, similar for train stations. |
||
*More options for refitting aircraft, allow changing relative sizes of passengers and mail compartments, refit each compartment individually |
*More options for refitting aircraft, allow changing relative sizes of passengers and mail compartments, refit each compartment individually |
||
− | *<span style='color:green'>Make combined pre-signals more useful</span> with PathBasedSignalling |
+ | *<span style='color:green'>Make combined pre-signals more useful</span> with [[PathBasedSignalling]] |
− | *<span style='color:green'>Allow AI roads to be bulldozed to clear up their excessive use of space</span> with AbandonedRoads |
+ | *<span style='color:green'>Allow AI roads to be bulldozed to clear up their excessive use of space</span> with [[AbandonedRoads]] |
*Maximum loan should depend on company value too (10% of real comp.value (w/o cur.loan) + initial loan ?) |
*Maximum loan should depend on company value too (10% of real comp.value (w/o cur.loan) + initial loan ?) |
||
− | *<span style='color:green'>Slow down time and/or make it possible to build during pause</span> with BuildWhilePaused and GameSpeed |
+ | *<span style='color:green'>Slow down time and/or make it possible to build during pause</span> with [[BuildWhilePaused]] and [[GameSpeed]] |
− | *<span style='color:green'>Load carriers in the order that they arrive at a station</span> with FifoLoading |
+ | *<span style='color:green'>Load carriers in the order that they arrive at a station</span> with [[FifoLoading]] |
− | *Cht: Engine to <span style='color:green'>change all train engines into a specific type</span>, or maybe for planes etc. as well. Maybe only change a specific engine? Maybe not at all, because it seems to be rather difficult. with AutoReplace and GRF support in alphas |
+ | *Cht: Engine to <span style='color:green'>change all train engines into a specific type</span>, or maybe for planes etc. as well. Maybe only change a specific engine? Maybe not at all, because it seems to be rather difficult. with [[AutoReplace]] and GRF support in alphas |
− | *<span style='color:green'>Even larger stations; maybe there is a way to have even more than 7 platforms and be longer than 7 squares</span> in alphas 14x15, and 15x15 with IrregularStations |
+ | *<span style='color:green'>Even larger stations; maybe there is a way to have even more than 7 platforms and be longer than 7 squares</span> in alphas 14x15, and 15x15 with [[IrregularStations]] |
*Signals in tunnels and on bridges, possibly invisible and/or automatically placed |
*Signals in tunnels and on bridges, possibly invisible and/or automatically placed |
||
*Make it possible to restrict which switches may be used in a competition for example |
*Make it possible to restrict which switches may be used in a competition for example |
||
*Modified plane breakdowns: crash instead of becoming slower, but of course much more rarely. Try to crash them not at the airport maybe |
*Modified plane breakdowns: crash instead of becoming slower, but of course much more rarely. Try to crash them not at the airport maybe |
||
− | *<span style='color:green'>Sort vehicle lists, by number, profit, last year's profit, perhaps even by the schedule</span> with SortVehicleLists |
+ | *<span style='color:green'>Sort vehicle lists, by number, profit, last year's profit, perhaps even by the schedule</span> with [[SortVehicleLists]] |
*Better stock market, get part of the profit, get money for selling stock, better company value calculation. When a company you hold at 75% goes bankrupt, only pay 25% to buy it. |
*Better stock market, get part of the profit, get money for selling stock, better company value calculation. When a company you hold at 75% goes bankrupt, only pay 25% to buy it. |
||
*Make faster ships possible (currently max. is 127 km/h) |
*Make faster ships possible (currently max. is 127 km/h) |
||
*Much higher production limits to really make use of the improved rail networks |
*Much higher production limits to really make use of the improved rail networks |
||
− | *<span style='color:green'>Retain names and service intervals when selling an engine and then buying a new one</span> with GeneralFixes in alphas |
+ | *<span style='color:green'>Retain names and service intervals when selling an engine and then buying a new one</span> with [[GeneralFixes]] in alphas |
*Improved path finding for trains and ships (Longer distances: diagonal not north then west) |
*Improved path finding for trains and ships (Longer distances: diagonal not north then west) |
||
*Hydroplanes that can land on water and use the ship docks |
*Hydroplanes that can land on water and use the ship docks |
||
− | *Faster scrolling with |
+ | *Faster scrolling with Ctrl-Shift |
− | *<span style='color:green'>Link road signals to train signals, so they go red quicker when a train approaches</span> with PathBasedSignalling |
+ | *<span style='color:green'>Link road signals to train signals, so they go red quicker when a train approaches</span> with [[PathBasedSignalling]] |
*<span style='color:green'>Disable particular vehicle types for the AI, so they can not build road vehicles etc.</span> with AIConstructionChances |
*<span style='color:green'>Disable particular vehicle types for the AI, so they can not build road vehicles etc.</span> with AIConstructionChances |
||
*<span style='color:green'>Make tenders for steam engines mandatory</span> with GRF support in alphas |
*<span style='color:green'>Make tenders for steam engines mandatory</span> with GRF support in alphas |
||
− | *Make |
+ | *Make "fulloadany" be optional for each vehicle type (e.g., not planes) |
*Link several stations' ratings and cargo, to simulate several facilities of each type in a station |
*Link several stations' ratings and cargo, to simulate several facilities of each type in a station |
||
*Cargo payment rates should follow supply and demand rules |
*Cargo payment rates should follow supply and demand rules |
||
*Make economy fluctuations smoother, e.g. changes or +/- 10%, but more often. +/- 50% should be rare. |
*Make economy fluctuations smoother, e.g. changes or +/- 10%, but more often. +/- 50% should be rare. |
||
− | *Minimum load, specify that a carrier should not leave unless at least x% of it is full. This will probably only apply to |
+ | *Minimum load, specify that a carrier should not leave unless at least x% of it is full. This will probably only apply to "full load". Alternatively, never leave a station if less than X percent full. Perhaps only if not forced unload. |
*Make planes have limited fuel supply and limited range, depending on plane size |
*Make planes have limited fuel supply and limited range, depending on plane size |
||
*Add hotkeys to the airport and dock construction windows (and maybe others?) |
*Add hotkeys to the airport and dock construction windows (and maybe others?) |
||
*<span style='color:green'>A freight trains option that allows really heavy cargo trains by for example making each coal wagon count as ten</span> with [[FreightTrains]] |
*<span style='color:green'>A freight trains option that allows really heavy cargo trains by for example making each coal wagon count as ten</span> with [[FreightTrains]] |
||
*Show in town window whether town is considered to be in the snow or in the desert |
*Show in town window whether town is considered to be in the snow or in the desert |
||
− | *<span style='color:green'>Allow subsidiaries that don't get taken over by the AI</span> with ExperimentalFeatures (cooperative play on page 2) |
+ | *<span style='color:green'>Allow subsidiaries that don't get taken over by the AI</span> with [[ExperimentalFeatures]] (cooperative play on page 2) |
*<span style='color:green'>Allow refitting of train wagons, so that fewer vehicle slots are necessary for a large variety of train wagons</span> in alphas |
*<span style='color:green'>Allow refitting of train wagons, so that fewer vehicle slots are necessary for a large variety of train wagons</span> in alphas |
||
− | *<span style='color:green'>Allow adding new sound effects, especially for new vehicles</span> with NewSounds |
+ | *<span style='color:green'>Allow adding new sound effects, especially for new vehicles</span> with [[NewSounds]] |
*Show list of destinations in the train and road vehicles lists, like for planes and ships |
*Show list of destinations in the train and road vehicles lists, like for planes and ships |
||
*<span style='color:green'>Implement speed limits for cargo wagons (trains)</span> in alphas |
*<span style='color:green'>Implement speed limits for cargo wagons (trains)</span> in alphas |
||
Line 53: | Line 46: | ||
*make remove industry apply only for dynamite, instead of requiring Ctrl key |
*make remove industry apply only for dynamite, instead of requiring Ctrl key |
||
*too much diesel smoke when train is slowed down by bridge speed limit |
*too much diesel smoke when train is slowed down by bridge speed limit |
||
− | *<span style='color:green'>mechanism to have .grf specify what |
+ | *<span style='color:green'>mechanism to have .grf specify what "resources" it changes</span>, e.g. all train engines, all temperate train engines, all wagons... and in what climates to have automatic exclusion of incompatible .grfs new action; maintain bit mask of vehicles that are redefined, if clash then the second one is skipped (action should be for each block of vehicles) define action 7 test for this too maybe? with [[ActionDSpecialVariables|GRF Resource Management]] |
*make elrails cost change in time, something like mx - (mx-mn)/(fix(steps*log(1+(2000-1920)/scale))/steps) * fix(steps*log(1+(year-1920)/scale))/steps]) mx=8 mn=1.6 steps=3 scale=8 use bsf instead of log, of course |
*make elrails cost change in time, something like mx - (mx-mn)/(fix(steps*log(1+(2000-1920)/scale))/steps) * fix(steps*log(1+(year-1920)/scale))/steps]) mx=8 mn=1.6 steps=3 scale=8 use bsf instead of log, of course |
||
− | *<span style='color:green'>delivering cargo to industry: tests station origin, should test origin of all facilities instead</span>. maybe also fix that only one industry receives all goods; fixed in alpha 54 with GeneralFixes |
+ | *<span style='color:green'>delivering cargo to industry: tests station origin, should test origin of all facilities instead</span>. maybe also fix that only one industry receives all goods; fixed in alpha 54 with [[GeneralFixes]] |
*make makelang check for duplicate entries |
*make makelang check for duplicate entries |
||
*make grftrans able to use both .grf and _trans.grf to have only the new entries untranslated |
*make grftrans able to use both .grf and _trans.grf to have only the new entries untranslated |
||
Line 66: | Line 59: | ||
*<span style='color:green'>make overload stop work without fullloadany</span>; also adjust it in some way? -> works since alpha 56 |
*<span style='color:green'>make overload stop work without fullloadany</span>; also adjust it in some way? -> works since alpha 56 |
||
*bug in badpylon code, check concrete higher bridge (check old patch too) |
*bug in badpylon code, check concrete higher bridge (check old patch too) |
||
− | *flag for |
+ | *flag for "station is really depot" |
*newstations flags to build fences for +x/+y and -x/-y sides |
*newstations flags to build fences for +x/+y and -x/-y sides |
||
*grf option to turn on catenary for third set (japanese set -> shinkansen) |
*grf option to turn on catenary for third set (japanese set -> shinkansen) |
||
Line 73: | Line 66: | ||
*wagons converted engines don't make category become available |
*wagons converted engines don't make category become available |
||
*write empty newgrf.cfg if not exists when making new ttdpatch.cfg |
*write empty newgrf.cfg if not exists when making new ttdpatch.cfg |
||
− | *make building waypoints not |
+ | *make building waypoints not "attach" them to existing stations, thereby can build waypoints adjacent to other stations |
*different graphics for electr. depot using action 5 |
*different graphics for electr. depot using action 5 |
||
*supporting reversing artic locos |
*supporting reversing artic locos |
||
Line 85: | Line 78: | ||
*add AI airport selection |
*add AI airport selection |
||
*grftrans can't translate new station names (action 0 feature 4 prop 8 set to FFFFFFF, make that use the mapping of the previous .grf ? add another bit to action 4 to do that ?) |
*grftrans can't translate new station names (action 0 feature 4 prop 8 set to FFFFFFF, make that use the mapping of the previous .grf ? add another bit to action 4 to do that ?) |
||
− | *<span style='color:green'>add grf status to main menu game options windows</span>; set default for starting new game; consider currently chosen climate, gray out |
+ | *<span style='color:green'>add grf status to main menu game options windows</span>; set default for starting new game; consider currently chosen climate, gray out "apply" button -> done in alpha 57 |
*fix sprite sorter problems on bridge with elrails. Requires changing sprite coordinates and requires elrails.grf with different offsets. Also ships under bridges (see alpha discussion thread) |
*fix sprite sorter problems on bridge with elrails. Requires changing sprite coordinates and requires elrails.grf with different offsets. Also ships under bridges (see alpha discussion thread) |
||
*provide support for long train vehicles composed of two vehicles? maybe emulate bogeys like Locomotion has them |
*provide support for long train vehicles composed of two vehicles? maybe emulate bogeys like Locomotion has them |
||
Line 93: | Line 86: | ||
*crash if # of industries set to none but load without that switch |
*crash if # of industries set to none but load without that switch |
||
*change station rating calc with wagonspeedlimits |
*change station rating calc with wagonspeedlimits |
||
− | *add parameter |
+ | *add parameter "only x years old" to cht:renew |
*cargo disappears when refitting more wagons to same cargo, see shadow's post in alpha discussion |
*cargo disappears when refitting more wagons to same cargo, see shadow's post in alpha discussion |
||
*allow non-passenger-default planes |
*allow non-passenger-default planes |
||
Line 102: | Line 95: | ||
*<span style='color:green'>allow building over existing stations to change the layout</span> - possible since alpha 49 |
*<span style='color:green'>allow building over existing stations to change the layout</span> - possible since alpha 49 |
||
*show height level in tile query info |
*show height level in tile query info |
||
− | *<span style='color:green'>allow 65536 sprites by moving transp&colmap; flags into upper WORD</span>; patch displaysprite routines, patch addsprite* to move flags for existing sprites - possible with the extended sprite limit MiscellaneousModifications setting |
+ | *<span style='color:green'>allow 65536 sprites by moving transp&colmap; flags into upper WORD</span>; patch displaysprite routines, patch addsprite* to move flags for existing sprites - possible with the extended sprite limit [[MiscellaneousModifications]] setting |
*allow long-range subsidies too |
*allow long-range subsidies too |
||
*giantscreenshotsize n; make giant screenshot of n x n screens |
*giantscreenshotsize n; make giant screenshot of n x n screens |
||
Line 112: | Line 105: | ||
*elrails: for crossings/connections between elrail and reg. rail don't show pylons and wire for track pieces that go to reg. rail |
*elrails: for crossings/connections between elrail and reg. rail don't show pylons and wire for track pieces that go to reg. rail |
||
*lowering/raising land removes exclusive land use signs? |
*lowering/raising land removes exclusive land use signs? |
||
− | *in town, show |
+ | *in town, show "Population: 600 (snow)" or "Population: 600 (desert)" |
*subsidiaries: if A owns (75% of) B, B owns C and C owns D, allow A, B and C to manage D without going through the chain explicitly |
*subsidiaries: if A owns (75% of) B, B owns C and C owns D, allow A, B and C to manage D without going through the chain explicitly |
||
*large sprites (also buildings) sometimes don't get drawn properly, e.g. the cruise ship sometimes has the tip cut off (just set veh.box_coord properly? |
*large sprites (also buildings) sometimes don't get drawn properly, e.g. the cruise ship sometimes has the tip cut off (just set veh.box_coord properly? |
||
Line 118: | Line 111: | ||
*<span style='color:green'>when refitting planes/trains, show mail, and show passengers/mail as well as just passengers</span> - possible since alpha 7 |
*<span style='color:green'>when refitting planes/trains, show mail, and show passengers/mail as well as just passengers</span> - possible since alpha 7 |
||
*!! BUG !! Pre-signals crashes if too large chunks without signals present (this is a bug in TTD; stack overflow. Maybe I can fix it anyway?) |
*!! BUG !! Pre-signals crashes if too large chunks without signals present (this is a bug in TTD; stack overflow. Maybe I can fix it anyway?) |
||
− | *Include depots |
+ | *Include depots "usefully" in a pre-signal block. Idea: when depot checks whether block is clear, count pre, exit & combos if (pre&exit;) or combo present, depot "signal" acts like pre-signal then placing combo-signal in front of depot makes depot act like a sponge; otherwise it's not interfering with the regular station operation |
*make Cht: XXXX ? always show cost even for cheats that don't cost |
*make Cht: XXXX ? always show cost even for cheats that don't cost |
||
*make Cht: XXXX ? not set the bit in Cht: Used |
*make Cht: XXXX ? not set the bit in Cht: Used |
||
*DOS version: save interrupt vectors before calling TTD, restore afterwards, so that the DOS version doesn't lock up/crash/catch fire when TTD crashes |
*DOS version: save interrupt vectors before calling TTD, restore afterwards, so that the DOS version doesn't lock up/crash/catch fire when TTD crashes |
||
− | *<span style='color:green'>update combo signals</span>: count all exits, combos themselves aren't exits, but rather regular signals. All pre-signals red/green according to all exits. Maybe change TTD's signal finder to go across combos when doing this. Another idea: one more bit that says |
+ | *<span style='color:green'>update combo signals</span>: count all exits, combos themselves aren't exits, but rather regular signals. All pre-signals red/green according to all exits. Maybe change TTD's signal finder to go across combos when doing this. Another idea: one more bit that says "count as red", set for n of the exits where n=number of trains in pre-signal blocks, thus if there's one train in a pre-signal block, and one green exit somewhere behind a combo signal, it doesn't actually count as a green exit. This should work. - this is mostly superceded by [[PathBasedSignalling]] now |
*signals in tunnels & on bridge. could work like this: when last wagon leaves bridge ramp/tunnel entrance, set signal green. Whenever entering a new fake square, fudge the signal check to return yes, and red or green depending on train on the next square (all this only if the signals are valid, i.e. two one ways, both same way) |
*signals in tunnels & on bridge. could work like this: when last wagon leaves bridge ramp/tunnel entrance, set signal green. Whenever entering a new fake square, fudge the signal check to return yes, and red or green depending on train on the next square (all this only if the signals are valid, i.e. two one ways, both same way) |
||
*renew wagons along with engine |
*renew wagons along with engine |
||
*make Cht: Semaphores cost, equal to difference between placing and removing a signal for each signal |
*make Cht: Semaphores cost, equal to difference between placing and removing a signal for each signal |
||
*slowdown on bridges and before crossings as long as any wagon is on them |
*slowdown on bridges and before crossings as long as any wagon is on them |
||
− | *make |
+ | *make "build signal" button a toggle, then count squares and build signal every "signalevery x" squares |
*<span style='color:green'>make some grf errors nonfatal warnings;</span> but if real error after warning show that instead! - first part in alphas |
*<span style='color:green'>make some grf errors nonfatal warnings;</span> but if real error after warning show that instead! - first part in alphas |
||
− | *in orders menu, make skip change to |
+ | *in orders menu, make skip change to "skip to" when an order is selected |
*if vehicle rename fails, don't close edit window |
*if vehicle rename fails, don't close edit window |
||
− | *Cht to reset |
+ | *Cht to reset "will not get exclusive offers" flag |
*show refittable vehicles several times in the purchase list, one for each cargo type |
*show refittable vehicles several times in the purchase list, one for each cargo type |
||
− | *<span style='color:green'>make bank production dependent on town population, e.g. pop/40 = bags/month</span> possible with NewIndustries |
+ | *<span style='color:green'>make bank production dependent on town population, e.g. pop/40 = bags/month</span> possible with [[NewIndustries]] |
*when building tunnel, not only try lowering one corner of other side but also try raising other corner; do the cheaper of the two |
*when building tunnel, not only try lowering one corner of other side but also try raising other corner; do the cheaper of the two |
||
*add sound effects for diesel, electric and monorail/maglev trains entering a tunnel |
*add sound effects for diesel, electric and monorail/maglev trains entering a tunnel |
||
− | *allow trains to go backwards: fake it by reversing the order, and copying all engine data from the real engine to the new first wagon; make sure to always reverse it when entering a depot. Will require multihead on to work. perhaps show |
+ | *allow trains to go backwards: fake it by reversing the order, and copying all engine data from the real engine to the new first wagon; make sure to always reverse it when entering a depot. Will require multihead on to work. perhaps show "correct" (unreversed) order in train window to avoid confusion |
*improved steam displays; new sprites for each direction, different sprites if engine is using more power |
*improved steam displays; new sprites for each direction, different sprites if engine is using more power |
||
*show destinations in train and rv lists, like planes and ships |
*show destinations in train and rv lists, like planes and ships |
||
Line 146: | Line 139: | ||
*power efficiency factor; or better: internal power used to calc. accel plus power displayed in all vehicle windows |
*power efficiency factor; or better: internal power used to calc. accel plus power displayed in all vehicle windows |
||
*endyear or gameduration to go with startyear |
*endyear or gameduration to go with startyear |
||
− | *<span style='color:green'>high-speed bridges; length 2-inf; expensive (possible?), look=just base, no cover</span> also Cht: |
+ | *<span style='color:green'>high-speed bridges; length 2-inf; expensive (possible?), look=just base, no cover</span> also Cht: UpgradeBridges [to [from]] - possibly now with GRF support for bridges |
*Stocks: get part of profit, get money for selling stock. If 75% owned company goes bankrupt, only pay 25% |
*Stocks: get part of profit, get money for selling stock. If 75% owned company goes bankrupt, only pay 25% |
||
− | *<span style='color:green'>Bank in temperate: produce some valuables right after getting others</span> - possible with NewIndustries |
+ | *<span style='color:green'>Bank in temperate: produce some valuables right after getting others</span> - possible with [[NewIndustries]] |
*Airport number: Make noise units depend on city size! all cities have 2 at least, up to 400 inhabitants, where they get another one. Then every 300(?) they get one more. Up to? |
*Airport number: Make noise units depend on city size! all cities have 2 at least, up to 400 inhabitants, where they get another one. Then every 300(?) they get one more. Up to? |
||
− | *Cht: |
+ | *Cht: MaxRatings |
*Increased production, higher limits. |
*Increased production, higher limits. |
||
*Company value doesn't include stations,vehicles,track. When buying a company, bank balance is returned immediately (i.e. buy for free) |
*Company value doesn't include stations,vehicles,track. When buying a company, bank balance is returned immediately (i.e. buy for free) |
||
− | *Cht: |
+ | *Cht: GlobalAd 0..2, does Small..Large ad campaign at all stations not only close to a city |
− | *<span style='color:green'>Stations: Load fuller trains first</span> and if next train waiting, leave station -> check after signal allow loading of n trains per cargo if more than n*somesetting units waiting - basically implemented by FifoLoading |
+ | *<span style='color:green'>Stations: Load fuller trains first</span> and if next train waiting, leave station -> check after signal allow loading of n trains per cargo if more than n*somesetting units waiting - basically implemented by [[FifoLoading]] |
*Cht: [[RoadrailroadCrossingOwnerBugfix|OwnCrossing]] should determine the owner by tracing the tracks |
*Cht: [[RoadrailroadCrossingOwnerBugfix|OwnCrossing]] should determine the owner by tracing the tracks |
||
*bulldoze all roads&computer; gets 10xmoney&city; hates |
*bulldoze all roads&computer; gets 10xmoney&city; hates |
||
Line 166: | Line 159: | ||
*add option in menu to jump between editor and playing |
*add option in menu to jump between editor and playing |
||
*limit station capacity according to facilities attached |
*limit station capacity according to facilities attached |
||
− | *sign cheat to force all vehicles (or of some type) into the depot; like clicking the |
+ | *sign cheat to force all vehicles (or of some type) into the depot; like clicking the "depot" button |
*<span style='color:green'>in vehicle list: old=red, in depot=red, old+in depot=?? (purple?)</span> - done since alpha 33 |
*<span style='color:green'>in vehicle list: old=red, in depot=red, old+in depot=?? (purple?)</span> - done since alpha 33 |
||
− | *in vehicle window title: show |
+ | *in vehicle window title: show "veh. name (old)" or something |
− | *<span style='color:green'>all windows: replace |
+ | *<span style='color:green'>all windows: replace "X" by push pin and "X". Push pin sets a bit in window structure, if set, window won't be replaced by newer windows</span> - implemented in alpha 43 |
− | *Cht: |
+ | *Cht: NewCompany to force a new AI company to appear (independent of difficulty?), of course only if slot available |
+ | [[Category:Other Stuff]][[Category:TTDPatch]][[Category:TTDPatch Manual]] |
Latest revision as of 16:23, 13 June 2011
Here are some things I am considering to include in future versions, in no particular order. For some reason this list keeps getting longer and longer, no matter how much I try to implement, there are always more new ideas than I can handle.
This list is not updated very regularly, for a more up-to-date version check todonow.txt at the source code page of the TTDPatch site.
- Make station coverage depend on size: large airports bigger, small airports normal, similar for train stations.
- More options for refitting aircraft, allow changing relative sizes of passengers and mail compartments, refit each compartment individually
- Make combined pre-signals more useful with PathBasedSignalling
- Allow AI roads to be bulldozed to clear up their excessive use of space with AbandonedRoads
- Maximum loan should depend on company value too (10% of real comp.value (w/o cur.loan) + initial loan ?)
- Slow down time and/or make it possible to build during pause with BuildWhilePaused and GameSpeed
- Load carriers in the order that they arrive at a station with FifoLoading
- Cht: Engine to change all train engines into a specific type, or maybe for planes etc. as well. Maybe only change a specific engine? Maybe not at all, because it seems to be rather difficult. with AutoReplace and GRF support in alphas
- Even larger stations; maybe there is a way to have even more than 7 platforms and be longer than 7 squares in alphas 14x15, and 15x15 with IrregularStations
- Signals in tunnels and on bridges, possibly invisible and/or automatically placed
- Make it possible to restrict which switches may be used in a competition for example
- Modified plane breakdowns: crash instead of becoming slower, but of course much more rarely. Try to crash them not at the airport maybe
- Sort vehicle lists, by number, profit, last year's profit, perhaps even by the schedule with SortVehicleLists
- Better stock market, get part of the profit, get money for selling stock, better company value calculation. When a company you hold at 75% goes bankrupt, only pay 25% to buy it.
- Make faster ships possible (currently max. is 127 km/h)
- Much higher production limits to really make use of the improved rail networks
- Retain names and service intervals when selling an engine and then buying a new one with GeneralFixes in alphas
- Improved path finding for trains and ships (Longer distances: diagonal not north then west)
- Hydroplanes that can land on water and use the ship docks
- Faster scrolling with Ctrl-Shift
- Link road signals to train signals, so they go red quicker when a train approaches with PathBasedSignalling
- Disable particular vehicle types for the AI, so they can not build road vehicles etc. with AIConstructionChances
- Make tenders for steam engines mandatory with GRF support in alphas
- Make "fulloadany" be optional for each vehicle type (e.g., not planes)
- Link several stations' ratings and cargo, to simulate several facilities of each type in a station
- Cargo payment rates should follow supply and demand rules
- Make economy fluctuations smoother, e.g. changes or +/- 10%, but more often. +/- 50% should be rare.
- Minimum load, specify that a carrier should not leave unless at least x% of it is full. This will probably only apply to "full load". Alternatively, never leave a station if less than X percent full. Perhaps only if not forced unload.
- Make planes have limited fuel supply and limited range, depending on plane size
- Add hotkeys to the airport and dock construction windows (and maybe others?)
- A freight trains option that allows really heavy cargo trains by for example making each coal wagon count as ten with FreightTrains
- Show in town window whether town is considered to be in the snow or in the desert
- Allow subsidiaries that don't get taken over by the AI with ExperimentalFeatures (cooperative play on page 2)
- Allow refitting of train wagons, so that fewer vehicle slots are necessary for a large variety of train wagons in alphas
- Allow adding new sound effects, especially for new vehicles with NewSounds
- Show list of destinations in the train and road vehicles lists, like for planes and ships
- Implement speed limits for cargo wagons (trains) in alphas
- Make tracks cost maintenance, maybe depending on use
- Fixing bug with taking over Oil Rig messing stations array
- when changing console size, remember current settings
- fix large ships tip not being drawn properly; check ship motion and redrawing of the main window; should have the size calculation there
- make planting more than one tree in a square affect city ratings, but perhaps not as much
- make remove industry apply only for dynamite, instead of requiring Ctrl key
- too much diesel smoke when train is slowed down by bridge speed limit
- mechanism to have .grf specify what "resources" it changes, e.g. all train engines, all temperate train engines, all wagons... and in what climates to have automatic exclusion of incompatible .grfs new action; maintain bit mask of vehicles that are redefined, if clash then the second one is skipped (action should be for each block of vehicles) define action 7 test for this too maybe? with GRF Resource Management
- make elrails cost change in time, something like mx - (mx-mn)/(fix(steps*log(1+(2000-1920)/scale))/steps) * fix(steps*log(1+(year-1920)/scale))/steps]) mx=8 mn=1.6 steps=3 scale=8 use bsf instead of log, of course
- delivering cargo to industry: tests station origin, should test origin of all facilities instead. maybe also fix that only one industry receives all goods; fixed in alpha 54 with GeneralFixes
- make makelang check for duplicate entries
- make grftrans able to use both .grf and _trans.grf to have only the new entries untranslated
- bug: writecfg ttdpatch.cfg overwrites currently open files and causes confusion
- !!! Improve/automate defining flags for patchflags in action 7. Also have them set by C code, not in assembly to save some protected code bytes
- callback for wagon capacity and weight
- callback for cost factor/running cost factor
- grf action for GOTO? Action10
- change msg if messageboxw not avail to show error loc or something
- make overload stop work without fullloadany; also adjust it in some way? -> works since alpha 56
- bug in badpylon code, check concrete higher bridge (check old patch too)
- flag for "station is really depot"
- newstations flags to build fences for +x/+y and -x/-y sides
- grf option to turn on catenary for third set (japanese set -> shinkansen)
- change realistic curves to use constant drag force instead e.g. each curve = 25 kN, but how to handle single loco & short trains?
- veh sort age in percent, not absolute
- wagons converted engines don't make category become available
- write empty newgrf.cfg if not exists when making new ttdpatch.cfg
- make building waypoints not "attach" them to existing stations, thereby can build waypoints adjacent to other stations
- different graphics for electr. depot using action 5
- supporting reversing artic locos
- make dual-headed artics work
- autorenew doesn't deal correctly with multihead locos (price)
- keep cargo as well when selling&buying; vehicle; remember both vehs for planes and dual-headed trains
- allow grf setting baseline year to allow fake years before 1920
- conflict with morecurrencies in ttdpttxt; setting euro intro to 0 is taken as default setting, not new setting
- reset vehicles should also reset track types available, and large airport? or maybe the latter should be taken care of by cht: year
- fix additional pillar heights for higher bridges, they check the height of the wrong corner
- add AI airport selection
- grftrans can't translate new station names (action 0 feature 4 prop 8 set to FFFFFFF, make that use the mapping of the previous .grf ? add another bit to action 4 to do that ?)
- add grf status to main menu game options windows; set default for starting new game; consider currently chosen climate, gray out "apply" button -> done in alpha 57
- fix sprite sorter problems on bridge with elrails. Requires changing sprite coordinates and requires elrails.grf with different offsets. Also ships under bridges (see alpha discussion thread)
- provide support for long train vehicles composed of two vehicles? maybe emulate bogeys like Locomotion has them
- tie heliport&large; airport intro dates to first heli and jet?
- remove set name from grf stat status box; add sprite&mem; info?
- make clicking on news history item open that one immediately (maybe even in paused mode?), instead of adding it to the end of the list
- crash if # of industries set to none but load without that switch
- change station rating calc with wagonspeedlimits
- add parameter "only x years old" to cht:renew
- cargo disappears when refitting more wagons to same cargo, see shadow's post in alpha discussion
- allow non-passenger-default planes
- show cargo symbols for planes, possibly (refittable?) rvs and ships too
- allow repeating current order list in reverse order, for ships to find the way back (of course skipping current last and first order)
- no (or lower) running costs for electric heads on non-electric tracks
- when loading unknown chunks, keep their data and save it when saving game again to prevent game breaking when loaded in version which does treat them
- allow building over existing stations to change the layout - possible since alpha 49
- show height level in tile query info
- allow 65536 sprites by moving transp&colmap; flags into upper WORD; patch displaysprite routines, patch addsprite* to move flags for existing sprites - possible with the extended sprite limit MiscellaneousModifications setting
- allow long-range subsidies too
- giantscreenshotsize n; make giant screenshot of n x n screens
- modify train pathfinding to prefer straight and level routes; change it from a shortest-distance algorithm to least-cost algorithm, with some balance between cost due to distance, curves and inclines
- check for duplicate grfs and show warning if GRFID exists already
- show message when vehicle is about to retire; but when? end of phase 2 or 3?
- town stats with growth mode 2: maybe show growth rate if debugging?
- automatic multiheading of new .grf engines (a) buy specified vehicle after another vehicle, make them inseparable (allow recursion to buy triples or quadruples) (b) buy specified vehicle at end of train. Also think about how to allow multi-ICE sets (head-wagons-tail-head-wagons-tail) - mostly possible with articulated vehicles
- elrails: for crossings/connections between elrail and reg. rail don't show pylons and wire for track pieces that go to reg. rail
- lowering/raising land removes exclusive land use signs?
- in town, show "Population: 600 (snow)" or "Population: 600 (desert)"
- subsidiaries: if A owns (75% of) B, B owns C and C owns D, allow A, B and C to manage D without going through the chain explicitly
- large sprites (also buildings) sometimes don't get drawn properly, e.g. the cruise ship sometimes has the tip cut off (just set veh.box_coord properly?
- make feeder service optional by selecting both load and unload at an order
- when refitting planes/trains, show mail, and show passengers/mail as well as just passengers - possible since alpha 7
- !! BUG !! Pre-signals crashes if too large chunks without signals present (this is a bug in TTD; stack overflow. Maybe I can fix it anyway?)
- Include depots "usefully" in a pre-signal block. Idea: when depot checks whether block is clear, count pre, exit & combos if (pre&exit;) or combo present, depot "signal" acts like pre-signal then placing combo-signal in front of depot makes depot act like a sponge; otherwise it's not interfering with the regular station operation
- make Cht: XXXX ? always show cost even for cheats that don't cost
- make Cht: XXXX ? not set the bit in Cht: Used
- DOS version: save interrupt vectors before calling TTD, restore afterwards, so that the DOS version doesn't lock up/crash/catch fire when TTD crashes
- update combo signals: count all exits, combos themselves aren't exits, but rather regular signals. All pre-signals red/green according to all exits. Maybe change TTD's signal finder to go across combos when doing this. Another idea: one more bit that says "count as red", set for n of the exits where n=number of trains in pre-signal blocks, thus if there's one train in a pre-signal block, and one green exit somewhere behind a combo signal, it doesn't actually count as a green exit. This should work. - this is mostly superceded by PathBasedSignalling now
- signals in tunnels & on bridge. could work like this: when last wagon leaves bridge ramp/tunnel entrance, set signal green. Whenever entering a new fake square, fudge the signal check to return yes, and red or green depending on train on the next square (all this only if the signals are valid, i.e. two one ways, both same way)
- renew wagons along with engine
- make Cht: Semaphores cost, equal to difference between placing and removing a signal for each signal
- slowdown on bridges and before crossings as long as any wagon is on them
- make "build signal" button a toggle, then count squares and build signal every "signalevery x" squares
- make some grf errors nonfatal warnings; but if real error after warning show that instead! - first part in alphas
- in orders menu, make skip change to "skip to" when an order is selected
- if vehicle rename fails, don't close edit window
- Cht to reset "will not get exclusive offers" flag
- show refittable vehicles several times in the purchase list, one for each cargo type
- make bank production dependent on town population, e.g. pop/40 = bags/month possible with NewIndustries
- when building tunnel, not only try lowering one corner of other side but also try raising other corner; do the cheaper of the two
- add sound effects for diesel, electric and monorail/maglev trains entering a tunnel
- allow trains to go backwards: fake it by reversing the order, and copying all engine data from the real engine to the new first wagon; make sure to always reverse it when entering a depot. Will require multihead on to work. perhaps show "correct" (unreversed) order in train window to avoid confusion
- improved steam displays; new sprites for each direction, different sprites if engine is using more power
- show destinations in train and rv lists, like planes and ships
- for trucks, resolve traffic jams by disabling the collision detection
- allow running cost and purchase cost factors > 255 for all vehicle types
- for normally dualheaded engines, count twice as many heads half as much (i.e., each unit of two gives same advantage as one unit for regular engines)
- allow updating vehicle data as game is running?
- maintenance cost for tracks?
- power efficiency factor; or better: internal power used to calc. accel plus power displayed in all vehicle windows
- endyear or gameduration to go with startyear
- high-speed bridges; length 2-inf; expensive (possible?), look=just base, no cover also Cht: UpgradeBridges [to [from]] - possibly now with GRF support for bridges
- Stocks: get part of profit, get money for selling stock. If 75% owned company goes bankrupt, only pay 25%
- Bank in temperate: produce some valuables right after getting others - possible with NewIndustries
- Airport number: Make noise units depend on city size! all cities have 2 at least, up to 400 inhabitants, where they get another one. Then every 300(?) they get one more. Up to?
- Cht: MaxRatings
- Increased production, higher limits.
- Company value doesn't include stations,vehicles,track. When buying a company, bank balance is returned immediately (i.e. buy for free)
- Cht: GlobalAd 0..2, does Small..Large ad campaign at all stations not only close to a city
- Stations: Load fuller trains first and if next train waiting, leave station -> check after signal allow loading of n trains per cargo if more than n*somesetting units waiting - basically implemented by FifoLoading
- Cht: OwnCrossing should determine the owner by tracing the tracks
- bulldoze all roads&computer; gets 10xmoney&city; hates
- bulldoze without penalty
- RVs: no collision detection in the station
- automatic cht: owncrossing after sellout/bankruptcy
- Prevent landscape changes unless good standing. Big penalties.
- Improve ship pathfinding
- Larger tile sizes in the editor.
- cht: money 1,000,000 (i.e. ignore commas and/or decimal points for better legibility)
- add option in menu to jump between editor and playing
- limit station capacity according to facilities attached
- sign cheat to force all vehicles (or of some type) into the depot; like clicking the "depot" button
- in vehicle list: old=red, in depot=red, old+in depot=?? (purple?) - done since alpha 33
- in vehicle window title: show "veh. name (old)" or something
- all windows: replace "X" by push pin and "X". Push pin sets a bit in window structure, if set, window won't be replaced by newer windows - implemented in alpha 43
- Cht: NewCompany to force a new AI company to appear (independent of difficulty?), of course only if slot available