summaryrefslogtreecommitdiff
path: root/train_gui.c
AgeCommit message (Collapse)Author
2006-10-17(svn r6801) - Fix (r6619): Always disable the train refit button. It will be ↵peter1138
enabled later if refitting is possible.
2006-10-17(svn r6794) - Fix: In the train detail window, split up articulated parts if ↵peter1138
they can contain cargo. This allows us to show the full cargo contents.
2006-10-12(svn r6760) -Codechange: Do a case insensitive sort of train engine names ↵Darkvater
and just normally check a boolean; no special magic needed
2006-10-12(svn r6759) -Codechange: Remove the brainheaded usage of STR_JUST_STRING to ↵Darkvater
pass a StringID
2006-10-11(svn r6737) - Codechange: Sort train engines by their NewGRF specified list ↵peter1138
position instead of plain EngineID. This brings us back the custom order that was lost when generalized sorting was introduced.
2006-10-10(svn r6716) -Code cleanup: [aircraft/train build windows] fixed a spelling ↵bjarni
mistake in the widget names (the game itself is unaffected by this)
2006-10-10(svn r6714) -Codechange: replaced a direct manipulation of windows with ↵bjarni
InvalidateWindowData() in rail_cmd.c Moved the actual modification of railtype to WE_INVALIDATE_DATA in the train depot handler -Codechange: added SetWindowDirty() to WE_INVALIDATE_DATA as it made no sense to update the list without making the window dirty
2006-10-10(svn r6712) -Code cleanup: renamed buildtrain_d to buildvehicle_d as it's ↵bjarni
used for all vehicle types
2006-10-09(svn r6709) -Fix r6679: [build train window] solved an issue that could lead ↵bjarni
to trailing empty blocks in the list array Since they were freed with the rest of the array, it only meant that we wasted a few bytes (max 16) while the window were open and we didn't leak memory
2006-10-09(svn r6707) -Feature: [build aircraft window] added buttons to view ↵bjarni
propeller planes, jet planes or helicopters -Codechange: the build aircraft window now generates 3 malleced lists and displays based on those list This is preparation for sorting aircraft
2006-10-07(svn r6684) -Feature: [train build window] added sorting options for the enginesbjarni
2006-10-07(svn r6683) -Fix: '<' signed unsigned mismatch produced by VC8KUDr
2006-10-07(svn r6681) -Fix: when vehicles never expire they will stay at peak ↵bjarni
reliability instead of the lowest to make them useful even when old -Fix: when retiring an engine design, invalidate the build windows and invalidate the build window data -Fix: mark build windows dirty when engine reliability changes
2006-10-07(svn r6680) -Codechange r6679: [train build window] only generate the list ↵bjarni
when the window data is invalidated or the window is generated, not on each redraw
2006-10-07(svn r6679) -Feature: [train build window] added filter for wagons, engines ↵bjarni
or both in the display -Codechange: [train build window] to get rid of a really ugly hack, the train build list is now generated in one loop and stored in an array
2006-10-07(svn r6678) -Code cleanup: [train build window] made an enum with widget ↵bjarni
names and fixed some incorrect indents
2006-10-05(svn r6649) - Codechange: Show more correct capacity of articulated wagons ↵peter1138
in the train purchase list.
2006-10-03(svn r6624) -Feature: added ability to add refit commands to vehicle orders ↵bjarni
(can only be done in goto depot orders) Example: make a train transport iron ore from A to B, then it visits a depot and refits to steel It then transport steel back to A or near A if there is a factory and then it visits another depot to refit to iron ore again This is controlled in the orders. If a goto depot order is lightlighted, then "Unload" changes to "Refit" Control click "Refit" removes the refit part of the order (as the tooltip says) The player will still pay the normal refit costs Known issues: If a vehicle is not in a depot, then the refit window will fail to tell refitted cargo capacity Refit costs in the refit window can sometimes print 0 when it should not because the refit calculation is unaware that the vehicle will be refitted in between Warning: autoreplace got a protection against replacing something so you get a new cargo type, but it can fail here. In the iron ore/steel example, it can see that the vehicle carries iron ore and the new one can be refitted to iron ore, then it will replace. It will not check to see that it's valid for steel as well. This is something to look into in the future
2006-10-03(svn r6619) -Codechange: Use accessors for disabled_state.belugas
Another step toward merging XTDwidget. The only two files not converted (window.h and widget.c) will be done at the very last commit)
2006-10-02(svn r6612) -Codechange: Use accessors for hidden_state.belugas
Another step toward merging XTDwidget. The only two files not converted (window.h and widget.c) will be done at the very last commit)
2006-09-28(svn r6562) -Codechange: merged the vehicle list window widget arraysbjarni
It made no sense to maintain 8 nearly identically arrays when a single one can do the job Also made the two buttons always use half of the bottom width each, even when resizing
2006-09-27(svn r6518) -Codechange: unified the vehicle refit windowsbjarni
This was requested by peter1138
2006-09-26(svn r6513) -Codechange: unified the code to draw depot windowsbjarni
This change is intended to make it easier to make depot behaviour consistent and faster to code when adding more features in the future The user interface should hopefully not be affected by this
2006-09-24(svn r6503) -Codechange: added a function to tell what vehicles a depot containsbjarni
This will ensure that you can always get the same list when checking for vehicles in a depot (no need to duplicate code for each place, that needs such a list) Since the vehicles are only looped once for each redraw, drawing speed is around twice as fast (measured to be 114%-121% faster depending on the number of vehicles in the game)
2006-09-23(svn r6499) -Codechange: Finally, got "byte event" outside of the union ↵belugas
WindowEvent, which is now a struct
2006-09-22(svn r6497) -Fix r6165: Vehicles heading for depots when their orders ↵bjarni
contained "service in depot" displayed the stopping in depot string This turned out to be due to OFB_HALT_IN_DEPOT and OFB_SERVICE_IF_NEEDED using the same bit It appears that it doesn't matter for the code, so I adapted the string selection code to handle this
2006-09-04(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it ↵Darkvater
to 'data'.
2006-09-03(svn r6370) -Codechange: moved all the remaining setup for ↵bjarni
PlayerVehWndProc() into WE_CREATE
2006-09-03(svn r6359) -Fix: Do not reset the current cursor action when centering on a ↵tron
depot/hangar (noticed by Neonox)
2006-09-03(svn r6353) -Codechange: Make DestinationID a typedef of uin16, which is as ↵tron
large as any type of destinataion (StationID, DepotID, WaypointID) it can hold DestinationID being a union of these types is just hassle without benefit and cannot be handled correctly everywhere because of local lack of information
2006-09-02(svn r6350) -Codechange: moved some setup stuff into WE_CREATE in ↵bjarni
PlayerVehWndProc() This is possible now that the window number is known when running WE_CREATE and it's a nicer solution
2006-09-01(svn r6291) -Feature: Vehicle lists from the station window now also got the ↵bjarni
goto depot button -Codechange: unified the code for mass goto depot to avoid duplicated code -Fix: Vehicles already on the way to depots will not be cancelled by mass goto depot (made it really hard to send all vehicles at once)
2006-08-31(svn r6280) -Codechange: Use the same naming for trains as for other vehicles:Darkvater
CMD_SEND_TRAIN_TO_DEPOT instead of CMD_TRAIN_GOTO_DEPOT
2006-08-31(svn r6277) Clean up the train details drawing routinetron
2006-08-30(svn r6239) -Code cleanup: cleaned up PlayerVehWndProcbjarni
code to delete an empty shared orders list is now much simpler cleaned up the code to handle button clicks fixed an assert if widget 9 was pressed on a list with vehicles for another company
2006-08-29(svn r6227) -Codechange: added window type flags to use with PlayerVehWndProcbjarni
this makes the list type detection much easier and allowed an if cascade to be turned into a switch case this also makes it easier to add more list types
2006-08-29(svn r6215) -Codechange: [vehicle list windows] unified ↵bjarni
Player(vehicle)WndProc into PlayerVehWndProc Those 4 unified functions were really much alike, so there was no reason to have so much dublicated code
2006-08-28(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else ↵rubidium
{' -> '} else {', tabs between code and comment, etc.
2006-08-28(svn r6184) Remove the unused (because it was NULL in all callers) second ↵tron
parameter of FillDrawPixelInfo() and simplify some expressions
2006-08-28(svn r6181) -Fix r6161: The list of vehicles using a certain station got a ↵bjarni
bit of display code mixed up with the list of vehicles with shared orders (nycom)
2006-08-27(svn r6168) -Code cleanup r6161: removed a newline and added a tab. Thanks ↵bjarni
TrueLight
2006-08-27(svn r6167) -Code cleanup r6161: replaced some uint16 with OrderID and (1 << ↵bjarni
8) with SHARE_FLAG
2006-08-27(svn r6165) -Feature: control click Goto Depot will now make the vehicle servicebjarni
at the depot and leave right away. To tell the difference the status of stopping vehicles will be in red, while servicing vehicles will be green. -Codechange: remove some dead code in CmdSendAircraftToHangar() since it is conflicting with new functionality. Now p2 means the same for all types
2006-08-26(svn r6161) -Feature: List of vehicles with the same shared ordersbjarni
the list is available in the orders window and looks like the list buttons from the station windows (small vehicle) The button is disabled if the vehicle do not have any shared orders or it got shared orders, but an empty order list based on a patch by nycom, thought it ended up getting heavily modified Thanks to TrueLight for proofreading and suggestions
2006-08-26(svn r6142) -Codechange: added WaypointID (sorry DV, couldn't splits it anymore)truelight
-Codechange: introduced DestinationID, which is in fact an union of several types Used in Order struct, so no longer StationID is abused for all targets. Hangars are a big exception, as they use a station-id with GOTO_DEPOT (go figure)
2006-08-22(svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered ↵belugas
label CodeChange : Move almost all fixed strings from ON_PAINT event to Widget array using WWT_LABEL. Feature : All "Select Refit Cargo" are now centered, instead of been left aligned
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-20(svn r6002) -Cleanup: remove the now redundant BASE_YEAR constant.rubidium
2006-08-19(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for ↵truelight
textboxes to only allow certain patterns (like numbers only)
2006-08-16(svn r5926) -Codechange: make _cur_year contain the full year, instead of ↵rubidium
the offset since 1920 -Codechange: store all year related variables that are _not_ stored in a savegame/transported over the network in the same format as _cur_year