summaryrefslogtreecommitdiff
path: root/order_cmd.c
AgeCommit message (Collapse)Author
2006-10-16(svn r6788) - Codechange: Add and use a function to test if a string ID is a ↵peter1138
custom name.
2006-10-14(svn r6771) -Codechange: Replace two macros with functions. IS_HUMAN_PLAYER andDarkvater
IS_INTERACTIVE_PLAYER
2006-10-08(svn r6694) -Fix: FS#361 Refit-to Order bug (only one of the two bugs ↵bjarni
mentioned there) -Now refit orders are copied when copying orders -Fixed an initilation issue where CT_INVALID was used instead of CT_NO_REFIT (resulted in crashes in the order window) -Fixed a compiler warning in the function to load TTD savegames
2006-10-05(svn r6647) -Fix: [vehicle list windows] Lists of shared orders are now no ↵bjarni
longer closed by a window event if the list is empty The window is now closed when the order is deleted. This is because removing windows from a window event is asking for problems
2006-10-03(svn r6627) -Fix r6624: fixed some warningsbjarni
Now it happened again. Somebody got warnings, that I didn't get... I will look into this issue
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-09-04(svn r6381) -Cleanup: make the '/* */' comments that span multiple lines ↵rubidium
more uniform. -Cleanup: whitespace alignment of a few tables.
2006-09-03(svn r6361) -Fix: When removing orders of a deleted station/depot/waypoint ↵tron
do not skip vehicles without an order list, because they still can have a current order and/or last visited station, which must be inspected
2006-09-03(svn r6360) -Codechange: Polish RemoveOrderFromAllVehicles()tron
2006-09-03(svn r6355) -Fix: Go to hangar orders for aircraft could get spuriously ↵tron
removed when a road or rail depot got deleted (Darkvater and me) This bug is probably ages old
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-08-26(svn r6145) -Codechange: added OrderID to indicate Order indexes out of the pooltruelight
2006-08-26(svn r6144) -Codechange: renamed OrderID to VehicleOrderID, because it had ↵truelight
nothing to do with the Order-pool, but with the place of the order within the vehicle-order (hence its name) (part of FS#13, blathijs)
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-26(svn r6137) -Codechange: some very minor cleanups:truelight
- Start using DeleteXXX for every pool item, not manually doing it - Use some wrapper to improve logic - Rewrote some pieces to improve logic
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
2006-08-22(svn r6052) -Codechange: change OrderType (order->type) in a typedeftruelight
-Codechange: renamed DeleteDestinationFromVehicleOrder to RemoveOrderFromAllVehicles to reflect his function better -Codechange: changed the params of RemoveOrderFromAllVehicles, to avoid unneeded variable-creation
2006-08-22(svn r6051) -Fix r6047: forgot many times a ! :(truelight
2006-08-22(svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips ↵truelight
invalid ones -Codechange: use IsValidXXX where ever possible Note: both changes to prepare for new pool system, which needs those changes. For every pool there are 2 ugly lines, which will be removed when done implementing new pool system. Based on FS#13 by blathijs, partly implemented.
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-07-26(svn r5615) Move GetStationTileForVehicle() to its only usertron
2006-06-27(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectaculartron
2006-06-10(svn r5210) Many small changes which piled up: const, unsigned, variable ↵tron
scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc.
2006-04-18(svn r4471) - Pools: Add a facility for calling a custom function during ↵peter1138
pool block clean up.
2006-04-10(svn r4342) Change the first two parameters of commands - virtual pixel ↵tron
coordinates of the tile to operate on - to a TileIndex Remove DoCommandByTile(), because now it does the same as DoCommand()
2006-03-16(svn r3895) - Add proper SLE(G)_CONDNULL macros for the empty space ↵Darkvater
reservation in savegames and update where used - Also add this capability to settings
2006-03-04(svn r3758) Remove the news validation callback. It is superseded by r3757.tron
2006-03-04(svn r3757) -Feature: Delete news items about vehicles, when they get staletron
This is used to delete - all news about a vehicle, when it gets deleted - "vehicle has stopped in depot" news, when it gets started - "vehicle has invalid orders" news, when the orders get changed
2006-03-02(svn r3730) Multistop modifications:celestar
-Codechange: Completely rewritten the slot assignment system. It now consumes less CPU cycles and memory -Codechange: Increased maximum number of roadstops to 16. -Fix: Several conditions where a slot becomes unliked from a vehicle -Codechange: ClearSlot now only takes one parameter, the vehicle -Feature: Console command 'clearslots' to clear ALL currently assinged slots. debug usage only -Feature: vehicles that cannot get a slot now wait on the road instead of planlessly blocking stops or circling around -Codechange: Adjusted debug levels TODO: Make the slot finder compatible with (a) pathfinder(s).
2006-02-20(svn r3627) - Change all hardcoded 255 max-saveload versions with the define ↵Darkvater
SL_MAX_VERSION
2006-02-06(svn r3564) Several smaller changes:tron
- Don't treat non-booleans as booleans - Reduce variable scope - Bracing - Use DeMorgan's law to make conditionals easier to read - if cascade -> switch - Replace some magic numbers by symbolic names - Avoid assignments within other statements
2006-02-01(svn r3510) Fiddle with whitespace and parenthesestron
2006-01-05(svn r3365) Staticise 36 functionstron
2005-12-29(svn r3353) Simplify the automatic length adjustment algorithm for replacing ↵tron
trains: Use the length of the train before the replacement as reference length
2005-12-18(svn r3313) Remove GPMI related changes from trunktron
Revisions in detail: 2542, 3226 (partial), 3229, 3231, 3232, 3238, 3242-3245, 3251, 3253, 3260, 3263, 3265, 3266, 3269, 3277, 3278, 3279, 3283 (partial), 3304, 3305, 3306
2005-12-14(svn r3305) -Rename: Changed all instances of ottd_ related to the AI to ttai_truelight
2005-11-23(svn r3232) -Add: implemented the event-system for AIstruelight
-Add: added several hooks (event-callbacks) for road-related-stuff
2005-11-22(svn r3227) -Codechange: [Savegame] removed 'minor' version, and renamed ↵truelight
'major' version to just: version.
2005-11-15(svn r3187) Simplify overly complicated ifs, especially if (foo) return ↵tron
false; else return true; is confusing
2005-11-14(svn r3181) -Bracingtron
-Indentation -Whitespace -DeMorgan's Law -Test with NULL or 0 for non-booleans -'\0' instead of 0 for chars -Remove redundantly redundant comments (like DoFoo(); // Do foo) -Join multiple short lines with a single statement -Split single lines with multiple statements -Avoid assignments in if
2005-11-14(svn r3177) GB, CLRBIT, HASBIT, TOGGLEBITtron
2005-11-13(svn r3172) static, consttron
2005-11-07(svn r3155) -Feature: [autoreplace] autoreplace can now remove cars from too ↵bjarni
long trains -Trains will now remember the length of stations it visits and sell cars when being autoreplaced if they became too long -If it needs to remove cars, then it starts from the front and sells all it can find until the train is short enough -This only works for trains, that knows the station length of the route so a full uninterrupted run is needed -a train needs 1-2 runs to detect if the shortest station is expanded -This feature can be turned on and off in the train replace window and each company can have it's own setting -NOTE: minor savegame version bump
2005-10-23(svn r3078) Some more stuff, which piled up:tron
- const, whitespace, indentation, bracing, GB/SB, pointless casts - use the trinary operator where appropriate - data types (uint[] -> AcceptedCargo, ...) - if cascade -> switch - if (ptr) -> if (ptr != NULL) - DeMorgan's Law - Fix some comments - 0 -> '\0', change magic numbers to symbolic constants
2005-09-16(svn r2959) - Fix: [ 1266036 ] Fix [ 1236317 ] Vehicles with and TRANSFER ↵Darkvater
order don't have that order restored (i_dachev). Also disallow non-train type vehicles to have non-stop orders.
2005-08-06(svn r2819) Make variables, which are exclusive for internal use of the ↵tron
save/load code, static in saveload.c
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-22(svn r2673) Include functions.h directly, not globally via openttd.htron
2005-07-20(svn r2650) Convert many explicit shifts+ands to extract bits to invocations ↵tron
of GB - should be a bit nicer to read
2005-07-17(svn r2599) Fix: Road vehicle multistop handling used NPF even if NPF was ↵ludde
off???? - Also simplified/optimized the code. - Now it uses manhattan distance as an approximation instead of actual distance to find the distance. Much faster.