# Todo List

Global AircraftController
  De-mystify the cur_speed values for helicopter rotors.

Global CanEnterTileOwnerCheck
  This function should be used in other places than just NPF, maybe moved to another file too.

Global CmdBuildRoadDepot
  When checking for the tile slope, distingush between "Flat land required" and "land sloped in wrong direction"

Global CmdBuildSingleSignal
  p2 should be replaced by two bits for "along" and "against" the track.

Global CmdBuildTrainDepot
  When checking for the tile slope, distingush between "Flat land required" and "land sloped in wrong direction"

Global CmdBuyCompany
  currently this only works for AI companies

Global CommonRaiseLowerBigLand
  : Incorporate into game itself to allow for ingame raising/lowering of larger chunks at the same time OR remove altogether, as we have 'level land' ?

Class CompanyFinancesWindow
  money_width should be calculated dynamically.

Global CYapfCostRailT::m_max_cost
  fix maximum cost failing with caching (e.g. FS#2900)

Global MusicDriver_QtMidi::Start (const char *const *param)
  Give better error messages by inspecting error codes returned by `Gestalt()` and `EnterMovies()`. Needs changes in InitQuickTimeIfNeeded.

Global NPFHash
  Think of a better hash.

Class NWidgetViewport

  Class derives from NWidgetCore, but does not use colour, widget_data, or tool_tip.

Global PropertyID
  Currently the list only contains properties which are used more than once in the code. I.e. they are available for callback 0x36.

Global SetDirtyBlocks
  The name of the function should be called like `AddDirtyBlock` as it neither set a dirty rect nor add several dirty rects although the function name is in plural. (Progman)

Global ShipVehicleChangeInfo
  Speed fractions for ships on oceans and canals

File sprites.h
  Split the "Sprites" enum into smaller chunks and document them

File tunnelbridge_cmd.cpp
  seperate this file into two