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 CmdCompanyCtrl
In the case of p1=0, create new company, the clientID of the new client is in parameter p2. This parameter is passed in at function DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) on the server itself. First of all this is unbelievably ugly; second of all, well, it IS ugly! Someone fix this up :) So where to fix?

Global CmdRestoreOrderIndex
Unfortunately you cannot safely restore the unitnumber or the old vehicle as far as I can see. We can store it in BackuppedOrders, and restore it, but but we have no way of seeing it has been tampered with or not, as we have no legit way of knowing what that ID was.
If we do want to backup/restore it, just add UnitID uid to BackuppedOrders, and restore it as parameter 'y' (ugly hack I know) for example. "v->unitnumber = y;"

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 DEF_SERVER_RECEIVE_COMMAND
CMD_COMPANY_CTRL with p1 = 0 announces a new company to the server. To give the company the correct ID, the server injects p2 and executes the command. Any other p1 is prohibited. Pretty ugly and should be redone together with its function.

Global EditorTerraformClick_Dynamite
Merge with terraform_gui.cpp (move there) after I have cooled down at its braindeadness and changed OnButtonClick to include the widget as well in the function declaration. Post 0.4.0 - Darkvater

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.

Global NWidgetCore::FindScrollbar (Window *w, bool allow_next=true) const =0
This implementation uses the constraint that a scrollbar must be the next item in the Window::nested_array, and the scrollbar data is stored in the Window structure (Window::vscroll, Window::vscroll2, and Window::hscroll). Alternative light-weight implementations may be considered, eg by sub-classing a canvas-like widget, and/or by having an explicit link between the scrollbar and the widget being scrolled.

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 RailVehicleChangeInfo
Air drag for trains.

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

Global SlError
this was used to have a central place to handle errors, but it is pretty ugly, and seriously interferes with any multithreaded approaches

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

File tunnelbridge_cmd.cpp
seperate this file into two

Generated on Tue Sep 14 17:07:20 2010 for OpenTTD by  doxygen 1.6.1