FuturePlans

From TTWiki
Revision as of 19:50, 14 December 2004 by Prof_Frink (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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.

This list is not updated very regularly, for a more up-to-date version check [1] at the source code page of the TTDPatch site.

  • Make station coverage depend on size of station, especially increase coverage of large airports
  • More options for refitting aircraft, allow changing relative sizes of passengers and mail compartments, refit each compartment individually
  • Make combined pre-signals more useful

-- PathBasedSignalling feature in alphas

  • Include depots in some useful way in pre-signal setups
  • Allow AI roads to be bulldozed to clear up their excessive use of space

-- AbandonedRoads feature in alphas

  • Maximum loan should depend on company value too
  • Slow down time and/or make it possible to build during pause

-- BuildWhilePaused feature in alphas

-- GameSpeed feature in alphas

  • Load carriers in the order that they arrive at a station
  • 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.
  • Even larger stations; maybe there is a way to have even more than 7 platforms and be longer than 7 squares

-- 14x15 with alphas

  • 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

-- SortVehicleLists in alphas

  • 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

-- Added to GeneralFixes in alphas

  • Improved path finding for trains and ships
  • Hydroplanes that can land on water and use the ship docks
  • Faster scrolling with ))Ctrl-Shift[[]]Ctrl-Shift[[
  • Link road signals to train signals, so they go red quicker when a train approaches

-- PathBasedSignalling feature in alphas

  • Disable particular vehicle types for the AI, so they can not build road vehicles etc.

-- AIConstructionChances feature in alphas

  • Make tenders for steam engines mandatory

-- Added in alphas, with GRFs that support this feature.

  • 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".
  • Make planes have limited fuel supply and limited range, depending on plane size
  • Add hotkeys to the airport and dock construction windows as well
  • A freight trains option that allows really heavy cargo trains by for example making each coal wagon count as ten

-- FreightTrains feature in alphas

  • 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
  • Allow refitting of train wagons, so that fewer vehicle slots are necessary for a large variety of train wagons

-- Added in alphas

  • Allow adding new sound effects, especially for new vehicles
  • Allow trains to drive backwards
  • Show list of destinations in the train and road vehicles lists, like for planes and ships
  • Implement speed limits for cargo wagons (trains)

-- Added in alphas

  • Make tracks cost maintenance, maybe depending on use
  • Fixing bug with taking over Oil Rig messing stations array
  • for beta: make ai boost obsolete
  • 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 hotkeys work for ship and aircraft tools too (and maybe others?)
  • 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?
  • 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
  • make trigger 4 work without gradualloading
  • make makelang check for duplicate entries
  • make grftrans able to use both .grf and _trans.grf to have only the new entries untranslated
  • allow non-AI companies by renaming manager to same name; hook renaming and if same, copy text ID.  take note in temp array.  don't need to store in savegame data, just check again after loading
  • 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?
  • change msg if messageboxw not avail to show error loc or something
  • make overload stop work without fullloadany; also adjust it in some way?
  • bug in badpylon code, check concrete higher bridge (check old patch too)
  • in bribe, check if error msg can be generated by action handler
  • station prop to set default layout type
  • 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 does 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

 -> make it write action 0 feature 4 prop 8 set to FFFFFFF, make that use the mapping of the previous .grf ?

 -> or add another bit to action 4 to do that

  • properly support non-contiguous IDs in action 0, for stations and houses (does this work properly now?)
  • morecurrencies overwrites default curr selection (not GBP in BE version)
  • add grf status to main menu game options windows; set default for starting new game; consider currently chosen climate, gray out "apply" button
  • 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?
  • allow AI to build paper routes in temperate (tries to deliver to town)
  • 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
  • refitting multihds works wrong? check MB message
  • parameter for wagonspeedlimits sets diff for empty wagons
  • cargo disappears when refitting more wagons to same cargo, see shadow's post in alpha discussion
  • allow non-passenger-default planes
  • check uz's train crash

 -> clear train path only after leaving the *next* tile

  • rotor still not getting reset right? see DaleStan's post
  • 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
  • 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
  • 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
  • implement George's 24-dir action 1 for road vehicles turning
  • 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

 think about how to allow multi-ICE sets (head-wagons-tail-head-wagons-tail)

  • 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 company is in time between take-over offer and bankrupcy, it won't do anything even if it has the cash. use this to make non-ai controlled subsidiaries perhaps?
  • 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?

 try changing the two immediate operands at 16A4D1 from 6 to some larger

 value, and setting the following two at minus half that value

 (i.e. currently they're -3)

  • make feeder service optional by selecting both load and unload at an order
  • make station coverage depend on size: large airports bigger, small airports normal, similar for train stations.
  • when refitting planes/trains, show mail, and show passengers/mail as well as just passengers
  • Presignals don't look right in toyland, where signals look different
  • Bug: Industry acceptance is mostly ignored
  • !! 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

  • Makefile: make install dirs an environment parameter in .bat files
  • 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.
  • signals in tunnels & on bridge. could work like this: when last waggon 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!
  • 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
  • when building tunnel, not only try lowering one corner of other side but also try raising other corner; do what's cheapest 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
  • how about ship speed > 127 km/h?
  • 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]]
  • One line in CFG file should be version number. Then new versions should ask "New version of TTDPatch, update CFG file?" if ttdpatch.cfg exists (if N is answered still update it, but only change the version number!)

 This should take obsolete values into account.  But what about players who

 try out a new version but then go back to the old one?

  • Refit both plane compartments separately; also choose relative size?
  • minimum load; never leave a station if less than X percent full.  Perhaps only if not forced unload.
  • 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
  • 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

  • Cht: OwnCrossing should determine the owner by tracing the tracks
  • Plane: Crash instead of getting slower, but much more rarely, and try

    to crash where they are not at airport. Option to disable all crashes

  • Max Loan = 10% of real comp.value (w/o cur.loan) + initial loan
  • bulldoze all roads&computer; gets 10xmoney&city; hates
  • bulldoze without penalty
  • RV's: no collision detection in the station
  • different sub-divisions on planes, e.g. 0% mail, 10% mail,

 25% mail, 50% mail, 75% mail, 100% mail cycled by Ctrl

  • Restrict switches for competitions
  • automatic cht: owncrossing after sellout/bankruptcy
  • Prevent landscape changes unless good standing.  Big penalties.
  • Improve ship pathfinding for longer distances.  Diagonal not north then west
  • Larger tile sizes in the editor.
  • Add other industries (lumber mill!)
  • 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
  • some hydroplanes that land on water and use the boat docks?
  • fullloadany should be optional by vehicle type
  • link ratings and cargo of several stations to "simulate" several facilities

 of each type

  • 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.

  • 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?)
  • 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

  • Cht: NewCompany to force a new AI company to appear (independent of

 difficulty?), of course only if slot available

  • Towns: factor all passenger&mail; numbers to "fake" larger towns.
  • city display: show more inhabitants, multiply by some constant factor

 => change text string to show "Population: x,000" to multiply by 1000