summaryrefslogtreecommitdiff
path: root/train_cmd.c
AgeCommit message (Collapse)Author
2006-02-04(svn r3535) -Feature: [autoreplace] allow autoreplacing of train wagonsbjarni
currently ALL available wagons are displayed in the right menu in the replace window however the replacement will only be done if the new wagon can be refitted to carry same cargo as the old one is currently carrying Since the standard vehicles do not have any valid wagon replacements, this feature can only be used when using newgrf sets
2006-02-03(svn r3524) - Split newgrf features from engine.[ch] into ↵peter1138
newgrf_engine.[ch], and add the new files to project files.
2006-02-01(svn r3511) More whitespace ([FS#46] by Rubidium)tron
2006-02-01(svn r3510) Fiddle with whitespace and parenthesestron
2006-01-29(svn r3484) -fix: fixed issue in last commit where loading savegame versions ↵bjarni
18 and 19 didn't init the multiheaded engine pointers
2006-01-29(svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it ↵Darkvater
in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) - The only change is that the nsignalsw.grf file is kept and that existing nightlies with PBS signals get those signals converted to combo-signals.
2006-01-25(svn r3431) - Fix crash when moving vehicles around in a train depot under ↵peter1138
certain conditions.
2006-01-23(svn r3422) - Fix: If an engine reaches the rear of a depot, make the engine ↵peter1138
turn around before it reaches the tile end (same as a normal end of line.) This fixes a bug whereby the engine could poke into the depot and crash with another engine just leaving it.
2006-01-18(svn r3403) -Codechange: [multiheaded engines] the references between the ↵bjarni
front and rear engines are no longer saved instead the pointers are generated on load
2006-01-18(svn r3402) -Fix: [building/cloning] added a string telling if build failed ↵bjarni
due to not being able to build a vehicle. Triggered when cloning a retired design
2006-01-08(svn r3392) Train depot fixes:peter1138
- Only count the parts from the source train that will be moved, not the whole train. - Don't count articulated parts of an engine. This alleviates issues with autoreplacing very long trains.
2006-01-07(svn r3388) - NewGRF: Allow train running cost class to differ from engine ↵peter1138
class. Also fix typo in r3384.
2006-01-07(svn r3381) -Fix: r3374 left one bug: allow moving around wagons in a 100 ↵truelight
long train
2006-01-06(svn r3378) - NewGRF Fix: Use order status to determine whether a vehicle is ↵peter1138
loading instead of speed, and get that state from first vehicle in a train consist.
2006-01-06(svn r3374) -Fix: [ FS#36 ] Don't allow trains to get bigger than 100 via ↵truelight
drag and drop
2006-01-06(svn r3373) -Fix: don't link a wagon to itself, which resulted in a wagon ↵truelight
disapearing, and a depot which was unable to remove
2006-01-05(svn r3367) Unify the 4 distinct ↵tron
CMD_CHANGE_{AIRCRAFT,ROADVEH,SHIP,TRAIN}_SERVICE_INT commands into one CMD_CHANGE_SERVICE_INT command. As side effect this is a -Fix: The default AI tried to change the service intervals of vehicles via the CMD_CHANGE_TRAIN_SERVICE_INT command - regardless of the type of the vehicle - which of course failed for non-trains
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-28(svn r3352) - NewGRF: Move initialization of vehicle random_bits to DC_EXEC ↵peter1138
blocks to allow use of Random() instead of InteractiveRandom(), which will alleviate some possible network desyncs.
2005-12-14(svn r3303) Change #if PF_BENCHMARK to #ifdef PF_BENCHMARKpeter1138
2005-12-14(svn r3297) Staticisetron
2005-11-29(svn r3248) - Codechange: Change interface of CanRefitTo() to supply the ↵peter1138
engine type directly instead of getting it from a vehicle. This allows the function to be used before vehicles are involved.
2005-11-19(svn r3219) -Codechange: removed the now obsolite code in the build train ↵bjarni
command to make half multiheaded engines
2005-11-18(svn r3218) -Feature: Multiheaded train engines will now stay in the same trainbjarni
This means that any user attempt to remove a rear engine will tell the user to move the front engine instead This fixes the assert when moving multiheaded engines (introduced in r3144) Note: to make old savegames use this feature, some engines might be turned around in order to link engines in pairs -Codechange: train subtype is now a bitmask This allows fast access to info like if it is a wagon or engine and if it is in front and so on Note: savegame version bump
2005-11-16(svn r3208) Don't explicitly pass the engine type to look for to ↵tron
GetRearEngine(), because it's the engine type of the vehicle which gets passed as first parameter
2005-11-16(svn r3204) Make handling of clicking on vehicles a bit less ugly by ↵tron
avoiding function declarations in .c files and unnecessary indirection
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 r3179) - RandomRange() and RandomTile() instead of home brewed versionstron
- CHANCE*() instead of mumbling strange numbers
2005-11-14(svn r3177) GB, CLRBIT, HASBIT, TOGGLEBITtron
2005-11-13(svn r3176) Use proper types, not some variants of inttron
2005-11-13(svn r3172) static, consttron
2005-11-08(svn r3156) -Fix: removed some cases where autoreplace windows were redrawn ↵bjarni
when nothing was changed due to the FOR_ALL_VEHICLES(), redrawing those windows are slow
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-11-07(svn r3150) Unify some code duplication in HandleLocomotiveSmokeCloud()peter1138
2005-11-06(svn r3147) Fix crash when building dual-head rail vehicles...peter1138
2005-11-06(svn r3146) Avoid use of variable size declared arrays when allocating ↵peter1138
articulated rail vehicles.
2005-11-06(svn r3145) Fix two off-by-one errors in building articulated rail vehicles.peter1138
2005-11-06(svn r3144) -Fix: a new train is now made if the front unit is an engine and ↵bjarni
the former front engine is moved away (Meush)
2005-11-05(svn r3139) -NewGRF, Feature: support for articulated rail vehicles. This is ↵peter1138
used, for example, by coal tenders.
2005-11-04(svn r3136) -Fix: [autoreplace] all cargo in engines that consists of more ↵bjarni
than one vehicle will try to move cargo from all vehicles currently this applies to planes and multiheaded train engines (no more lost airmail) added GetNextEnginePart() that returns the next vehicle in an engine nomatter what type it is when more types of multivehicle engines are added, they will have to be added here too or autoreplace will not remove all cargo
2005-11-04(svn r3132) -NewGRF: support positioning of rail vehicle visual effects.peter1138
2005-11-03(svn r3124) Alter train loading/unloading time to use the actual length of ↵peter1138
the train instead of the number of wagons. The actual length is cached in the first vehicle of the train.
2005-10-31(svn r3111) -Fix: [autoreplace] [ 1341783 ] Assertion failure in vehicle.c ↵bjarni
line 378 running MaybeReplaceVehicle() is now delayed until after the loop in CallVehicleTicks() This avoids selling the vehicle the loop currently works with (and continues to work with afterwards)
2005-10-30(svn r3107) -NewGRF: Move train y-position offset adjustment to remove code ↵peter1138
duplication, and make it apply only to vehicles with a custom image.
2005-10-29(svn r3101) -Codechange: added _new_vehicle_idbjarni
this var works like _new_train_id and the rest of that kind of vars, except it is set each time a vehicle is build, nomatter what type this is a nice tool to code vehicle independent code, which in turn can reduce code duplication Right now it's used in ReplaceVehicle() and CmdCloneVehicle()
2005-10-28(svn r3098) static, const, uint -> TileIndex, indentation, bracing, unused ↵tron
return values, ... mostly related to the clone vehicle GUI
2005-10-24(svn r3081) -Codechange: [autoreplace] complete rewrite of autoreplacebjarni
this is a complete rewrite, that makes use of existing commands like build and sell this means that multiheaded train engines are replaced correctly
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-10-18(svn r3058) The default AI may not build dual headed trains under certain ↵tron
circumstances. Simplify this check by testing the rail vehicle info flags instead of passing a global variable around. Note: This is not exactly the original behaviour, because the Lev4 was always allowed to be built, but i guess that was a glitch.