summaryrefslogtreecommitdiff
path: root/train_cmd.c
AgeCommit message (Collapse)Author
2006-12-28(svn r7592) -Feature: Add support for tractive effort to 'realistic' ↵peter1138
acceleration.
2006-12-27(svn r7573) -Merged the bridge branch. Allows to build bridges of arbitrary ↵celestar
rail/road combinations (including signals)
2006-12-26(svn r7565) -Codechange: Rework DEBUG functionality. Look for appropiate ↵Darkvater
debugging levels to use in debug.h. grfmsg() is now used as a specific debug-function for grf.
2006-12-10(svn r7473) -Fix (r7269): Pass a cargo type to determine the freight weight peter1138
multiplier instead of a vehicle. Fixes incorrect display of total train capacity.
2006-12-09(svn r7459) -Fix: make sure TrainConsistChanged() is called for the first ↵glx
vehicle of a chain after reffiting because free wagons present in depot can have the same type as the one bought and refitted by autoreplace
2006-12-07(svn r7425) -Fix (r1681): With realistic acceleration, guarantee a minimum ↵peter1138
braking force is applied. This ensures trains will stop when going down hill.
2006-12-07(svn r7421) -Fix (r2475): Changed "kick off" acceleration resulted in only a ↵peter1138
small amount of power being applied whilst moving off and then double the power at 1 mph. This resulted in a perceived delay before trains moved. Fix this by applying the full power of the engine (or the kick off, whichever is greater). Essay over.
2006-12-05(svn r7389) -Fix: when forcing a vehicle to go to a depot, clear refit ↵bjarni
orders from current orders (caused refit error popup when not having no orders)
2006-12-05(svn r7386) -Codechange r7385: moved deletion of the vehicle highlight from ↵bjarni
DeleteVehicle to the sell commands as they are not called as often Also added a return to the window loop prevent looking at the rest of the windows once the right depot window is found
2006-12-05(svn r7378) -Fix (r2428): Don't update vehicle images when turning a train ↵peter1138
around. During this procedure the train is split into parts which can result in incorrect images being used.
2006-12-03(svn r7330) -Fix (r7304): Data invalidation doesn't always happen as the local peter1138
player, resulting in an empty vehicle purchase list. Specify the player as an argument to IsEngineBuildable()
2006-12-02(svn r7326) -Feature: Add support for gradual (un)loading of vehicles (Maedhros)peter1138
2006-12-01(svn r7313) -Codechange: Calling invalidate data on a window will surely ↵Darkvater
warrant a redraw, so call that after the WE_INVALIDATE_DATA event and remove (some of) the superflouous calls.
2006-11-27(svn r7269) -Feature: Add freight trains patch option. This option is a ↵peter1138
multiplier for the weight of cargo on freight trains, to simulate longer heavier trains. The default value of 1 behaves as before.
2006-11-27(svn r7268) -Codechange: change rail vehicle cached weight from 16 to 32 bit ↵peter1138
values to avoid possible overflows.
2006-11-17(svn r7195) -Feature: [FS#297, optional elrails] New patches/vehicles option ↵KUDr
'disable electrified railways'. (original patch by maedhros, ideas: peter1138, Darkvater, Rubidium, Patrick, Eddi|zuHause, ..)
2006-10-29(svn r7003) -Fix: only the appropriate train owner can now see the "Train is ↵KUDr
lost" message (peter1138)
2006-10-17(svn r6800) -Feature change: [train is lost] message is now generated ↵KUDr
immediately when pathfinder can't find the path. (thanks MeusH, peter1138 and Brianetta for ideas and help).
2006-10-15(svn r6782) - Fix (r3947): Invalidate depot & vehicle windows when reversing ↵peter1138
a single engine with ctrl-click.
2006-10-13(svn r6765) - Fix: Don't add up running cost of articulated engine parts.peter1138
2006-10-12(svn r6755) - Fix: Pass the newly created vehicle when checking for ↵peter1138
articulated engines. As this could result in more parts being added than previously counted, we check to see if we need to allocate more vehicles as we add parts.
2006-10-10(svn r6728) -Fix r6651: solved issue where moving rail vehicles in a depot ↵bjarni
could read from a NULL pointer
2006-10-05(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATAbjarni
This gives the ability to invalidate some window data and recalculate as needed instead of doing it for each WE_PAINT This event is called right away when using InvalidateWindowData(), so it may be a good idea to set a bool or similar in the window or similar and then act on that bool in WE_PAINT instead of doing a lot of stuff in WE_INVALIDATE_DATA as it might be called more than once before WE_PAINT is called InvalidateWindowData() will not automatically repaint the window, so if you want to repaint it as well, you need to mark it dirty as well. Made the depot windows use WE_INVALIDATE_DATA to set when to generate the engine and wagon lists instead of at each redraw It makes no sense to regenerate the list when say using the scrollbar if we know that no vehicle have entered or left the list NOTE: currently there is a piece of code to generate the list when it's not needed and compare it to the stored list and assert if they mismatch This check is somewhat slow and kills the whole idea of WE_INVALIDATE_DATA, so it's a short lived one to verify that InvalidateWindowData() is used everywhere where it's needed
2006-10-05(svn r6649) - Codechange: Show more correct capacity of articulated wagons ↵peter1138
in the train purchase list.
2006-10-04(svn r6637) -Codechange: merged all (vehicle type)EnterDepot into ↵bjarni
VehicleEnterDepot() This revealed duplicated code like aircraft lists got invalidated twice Moved invalidation of the vehicle detail window to VehicleServiceInDepot() as it should always be updated when serviced
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-02(svn r6618) - After refitting a train, update its cached variables as they ↵peter1138
may change.
2006-09-27(svn r6532) - Feature: Add support for NewGRF sound effects. Currently sound ↵peter1138
priority isn't supported.
2006-09-27(svn r6524) -Code cleanup r6515: cleaned up the command to start/stop all ↵bjarni
vehicles in a depot. IsWholeTrainInDepot() is removed as CheckTrainInDepot() could be used instead Cleaned up the check to see if a vehicle is valid for start/stop
2006-09-22(svn r6496) -Codechange: removed direct map access in train_cmd.c (Rubidium)glx
2006-09-08(svn r6424) -Codechange: [autoreplace] removed a loop though all vehicles ↵bjarni
from each time the window is redrawn To do this, the player struct contains an array, that contains the count of each engine type that the player owns Those arrays are updated each time a vehicle is build or deleted and is calculated on load (it's not saved) It's possible to access the arrays outside of the autoreplace GUI, so feel free to read from them in other patches as well
2006-09-05(svn r6406) -Codechange: Rename TileOffsByDir to TileOffsByDiagDir because ↵Darkvater
it accepts DiagDirections, and add TileOffsByDir that handles Directions. -Codechange: Make the treeloop use TileOffsByDir().
2006-09-05(svn r6395) -Fix: when converting a depot from/to elrail, update the power ↵glx
of trains that are in it
2006-09-04(svn r6381) -Cleanup: make the '/* */' comments that span multiple lines ↵rubidium
more uniform. -Cleanup: whitespace alignment of a few tables.
2006-09-04(svn r6378) -Codechange: Rename VLW_FLAGS to VLW_MASK as it is a maskDarkvater
2006-09-04(svn r6376) -Codechange: [vehicle refit] moved all refit cost calculations ↵bjarni
into GetRefitCost() Now it's possible to tell refit costs for an EngineID without actually having build a vehicle
2006-09-03(svn r6356) -Fix: FS#263 planes come out of hangar and drive back into hangarbjarni
Now all vehicles are serviced when it's time for service and they are in a depot This will avoid the goto depot order from ever showing up when in a depot
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 r6352) -Fix: FS#322 Send to depot bugbjarni
now vehicles can't be sent to a depot when they are already inside a depot before they would remember the order and try to turn around when leaving the depot
2006-09-02(svn r6304) -Codechange r6295: Use !! instead of (bool) in commands to send ↵bjarni
vehicles to depots
2006-09-01(svn r6295) -Feature: using goto depot with a different control selection ↵bjarni
will now alter the service/stopping in depot flag instead of cancelling the goto depot order
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-30(svn r6246) -Feature: added the many times requested "send all vehicle to ↵bjarni
depot" button it's located in the vehicle list screen and does the same as in the shared orders window (send all vehicles in list to a depot) it will still not inform the player if a vehicle failed to find a depot, so don't take for granted that all of them go
2006-08-29(svn r6229) -Feature: Shared order lists now got a "goto depot" buttonbjarni
this will try to send all vehicles in the list to depots/hangars currently if one fails to find a depot, it will not tell the player
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 r6195) -Codechange: do not use '//' in '/* ... */' style comments and ↵rubidium
'/*' or '*/' in '//' style comments.
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 r6159) -Fix: FindClosestTrainDepot hardly ever found a depot with NPF ↵Darkvater
off due to absence of distance-normalization (Rojer)
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 r6053) -Codechange: renamed all IsXXXIndex to IsValidXXXIDtruelight
-Codechange: IsValidXXXID now also checks if XXX is really valid, not if the number is within range Both changes again in preperation of the new mem-pool system, which requires this. IsValidXXXID is not a bit less pretty, but that will be cleaned up after the new mem-pool system