Commit Graph

226 Commits

Author SHA1 Message Date
rubidium 28f16a732f (svn r21644) -Change: keep showing "No orders" when the order list is filled with only automatic orders 2010-12-26 13:25:34 +00:00
rubidium 64f04c3a74 (svn r21642) -Feature: concept of automatic station orders; add stub orders for intermediate stations and remove them when not visiting them anymore. This allows you to see what trains visit a station without actually having to order a vehicle to stop at all stations. Based on patch by fonsinchen 2010-12-26 09:03:19 +00:00
terkhen a4a9274177 (svn r21519) -Codechange: Allow direct access to the GroundVehicleCache from a Vehicle. 2010-12-14 21:31:00 +00:00
terkhen 79e2b3153d (svn r21516) -Codechange: Add IsGroundVehicle function to the Vehicle class. 2010-12-14 21:26:03 +00:00
rubidium 6d831906a3 (svn r21508) -Codechange: move the code to handle the pathfinder's "path found" status to a separate function 2010-12-13 21:55:06 +00:00
rubidium 49a77e89c4 (svn r21504) -Codechange: move the "lost" bit from the train's flags to vehicle flags 2010-12-13 21:52:39 +00:00
rubidium 23369337c1 (svn r21466) -Codechange: make VehicleHasDepotOrders a function of Vehicle. 2010-12-11 13:48:30 +00:00
rubidium b46e57d364 (svn r21338) -Fix [FS#4272]: bogus cache mismatch warnings with desync debugging because some cache was invalidated but never reset 2010-11-27 21:09:41 +00:00
rubidium 46186134c8 (svn r21239) -Codechange/Fix: [NewGRF] Use 0xFF instead of 0 as default value for visual effect. This makes setting train prop 22 to 0 actually work (Hirundo) 2010-11-18 14:20:03 +00:00
rubidium 9af570eab4 (svn r21237) -Codechange: Move HandleLocomotiveSmokeCloud to Vehicle::ShowVisualEffect (Hirundo) 2010-11-18 14:15:27 +00:00
rubidium b9407f7ca0 (svn r21235) -Codechange: Move Train::UpdateVisualEffect to the Vehicle class (Hirundo) 2010-11-18 14:09:39 +00:00
rubidium f4689f4301 (svn r21233) -Codechange: Introduce an enum to remove some magic numbers from the visual effect code (Hirundo) 2010-11-18 14:04:36 +00:00
rubidium 79c47ef8b0 (svn r21232) -Codechange: Move cached_vis_effect from the TrainCache to the VehicleCache (Hirundo) 2010-11-18 14:03:12 +00:00
terkhen 6a38925ca3 (svn r21123) -Codechange: Remove max_speed from the Vehicle class. 2010-11-09 17:43:05 +00:00
terkhen c8a56f17f8 (svn r21097) -Codechange: Unify cached max speed for all vehicle types. 2010-11-06 12:53:31 +00:00
terkhen d699c4a345 (svn r21091) -Codechange: Add bit constants for checking NewGRFCache validity. 2010-11-06 12:39:18 +00:00
terkhen 8eb3d653da (svn r21090) -Codechange: Rename VehicleCache to NewGRFCache. 2010-11-06 12:37:55 +00:00
alberth fa13971337 (svn r21088) -Doc: Additions/corrections of doxygen comments. 2010-11-05 16:34:22 +00:00
alberth 5e3991e20e (svn r21087) -Doc: Align and make existing comments available for doxygen. 2010-11-05 15:48:30 +00:00
rubidium 2fb18e975c (svn r20645) -Codechange [FS#4086]: unify the code for checking for breakdown handling as well (Hirundo) 2010-08-28 14:14:37 +00:00
rubidium 702cc96943 (svn r20644) -Codechange [FS#4086]: unify the vehicle breakdown code (Hirundo) 2010-08-28 14:01:50 +00:00
rubidium 1fa98e1695 (svn r20574) -Codechange: a little over 1 million vehicles should be enough for the forseeable future 2010-08-19 20:58:30 +00:00
rubidium 38ca44594f (svn r20539) -Codechange: make order backups more self-contained. 2010-08-18 15:15:59 +00:00
michi_cc a994c1ef71 (svn r20506) -Change: Vehicles will now stop loading after a load cycle that loaded less than possible, unless it's a full load order. This should improve behaviour with gradual loading and cargo continuously trickling in. 2010-08-15 22:37:30 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
frosch a7d168b2e5 (svn r20079) -Codechange [FS#3922]: Add helper functions to deal with the 192-256-magic of vehicle movement. 2010-07-04 13:07:47 +00:00
smatz 00a52cc475 (svn r19756) -Codechange: move UpdateViewport() from Vehicle to SpecializedVehicle in order to improve performance 2010-05-03 23:36:17 +00:00
frosch ec9ac775bf (svn r18929) -Fix [FS#3568]: Preserve some timetable related vehicle flags during autorenew/-replace. 2010-01-27 20:07:29 +00:00
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
rubidium e4af35d316 (svn r18764) -Fix [FS#3422]: split the (un)load ticks counter and signal wait counter; sometimes they might get into eachother's way 2010-01-09 14:43:08 +00:00
rubidium 19fa38601d (svn r18402) -Codechange: unify/centralise the code for crashing vehicles 2009-12-04 20:29:46 +00:00
rubidium 2e2f72b971 (svn r18342) -Fix: erroneous spaces before ; 2009-11-29 19:20:39 +00:00
frosch f97daed5ef (svn r18297) -Fix: Preserve timetable-start when auto-replacing/-renewing. 2009-11-26 14:56:17 +00:00
rubidium a951c505bf (svn r18292) -Codechange: add a command to set the start date of a timetable. Based on work by PhilSophus. 2009-11-25 23:37:15 +00:00
rubidium 2e766884f6 (svn r17795) -Codechange: split cargolist into one for vehicles and one for stations. 2009-10-18 13:39:00 +00:00
rubidium af457fc9fe (svn r17552) -Codechange: rename load_unload_time_rem to something more generic as it's used for more than just load/unload. Also add some documentation about where it is used. 2009-09-15 20:58:44 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
frosch efcaefd178 (svn r17121) -Fix [FS#3060]: Update vehicle position cache when the vehicle sprite changes. 2009-08-08 18:45:12 +00:00
smatz 88a2d688da (svn r17089) -Codechange: move RunVehicleDayProc() to vehicle.cpp 2009-08-06 17:02:49 +00:00
frosch d5a4c89365 (svn r16894) -Codechange: Add [Specialised]Vehicle::Last(). 2009-07-20 19:58:33 +00:00
smatz 868c21cbcc (svn r16813) -Codechange: make IsEngineCountable() member of Vehicle 2009-07-13 16:35:22 +00:00
rubidium 985608c713 (svn r16694) -Fix [FS#2995] (rgradual loading, rnewindustries): only pay for whatever has been actually unloaded and perform the payment when unloading has finished. This fixes, amongst others:
* cheating by starting to unload and after getting paid rushing to the depot to get sold (or unloading, loading and getting paid again for the remainder)
 * cargo being dropped onto a station at the moment a stockpiling industry doesn't accept it anymore
 * industries getting cargo that has not been unloaded yet and subsequently dumping it back on the station in one go
Note: you will now get paid after the unloading has finished, so you'll have to wait a bit longer for 'your' money.
2009-06-29 19:55:36 +00:00
smatz 249b6e6798 (svn r16544) -Codechange: use double-linked list for vehicle position caches in order to improve performance (~5% with many vehicles) 2009-06-09 17:20:06 +00:00
smatz 0c10006907 (svn r16527) -Codechange: use static member functions instead of simple casts when converting Vehicle to specialised vehicle types. Includes safety check 2009-06-06 16:54:22 +00:00
rubidium 2fc0cb3e76 (svn r16505) -Fix [FS#2951] (r16472): since g++ 4.4 the implicit (default) constructor will zero the whole class. This caused all vehicle indices to be 0, which causes all kinds of trouble. 2009-06-02 19:12:28 +00:00
frosch 9853c0dc22 (svn r16480) -Fix (r15617): Invalidate newgrf variable caches of more vehicles in more places. Esp. they were only invalidated for trains. 2009-05-31 12:03:14 +00:00
smatz 8c11d612e4 (svn r16472) -Codechange: set vehicle type in SpecializedVehicle constructor instead of constructor of each vehicle type 2009-05-30 20:13:12 +00:00
smatz faae8f0177 (svn r16445) -Codechange: update old comments (Yexo) 2009-05-26 23:24:34 +00:00
smatz 5a463c8347 (svn r16442) -Codechange: use new Vehicle accessors at more places 2009-05-26 22:45:48 +00:00
smatz 7ee882d03f (svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types 2009-05-26 22:10:13 +00:00
rubidium 86710c5185 (svn r16397) -Codechange: move GetVehicleOrder/GetLastVehicleOrder into Vehicle 2009-05-23 12:27:42 +00:00
rubidium 6237fe1462 (svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier. 2009-05-23 09:10:56 +00:00
rubidium da5661a0c8 (svn r16393) -Codechange: move VehicleRail to Train. 2009-05-22 22:55:41 +00:00
rubidium c4b627af42 (svn r16392) -Codechange: move some variables (the ones that aren't caches) from VehicleRail to Train 2009-05-22 22:33:05 +00:00
rubidium 80e94b9bb1 (svn r16391) -Codechange: use Train instead of Vehicle where appropriate. 2009-05-22 22:22:46 +00:00
rubidium 7a37220881 (svn r16390) -Codechange: move u.road to RoadVehicle. 2009-05-22 20:22:20 +00:00
rubidium c882248348 (svn r16388) -Codechange: move u.air to Aircraft 2009-05-22 20:07:26 +00:00
rubidium 74ea34ca66 (svn r16385) -Codechange: move u.disaster to DisasterVehicle. 2009-05-22 18:57:11 +00:00
rubidium 6d1c974254 (svn r16384) -Codechange: move u.effect to EffectVehicle 2009-05-22 18:56:25 +00:00
rubidium 441011b782 (svn r16382) -Codechange: make GetVehicleTrackdir a member function of Vehicle. 2009-05-22 18:17:20 +00:00
smatz 56a7b70591 (svn r16380) -Codechange: rename pool.hpp to pool_type.hpp 2009-05-22 15:39:22 +00:00
smatz 62a7948af0 (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 2009-05-22 15:13:50 +00:00
smatz 04723b240e (svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index variable instead of var->index 2009-05-22 14:23:36 +00:00
smatz b687ac51ee (svn r16376) -Codechange: Vehicle::Tick() now returns false if the vehicle was deleted 2009-05-22 13:53:14 +00:00
rubidium 88201ccd5c (svn r16333) -Cleanup: remove a bunch of unused wrapper functions. 2009-05-17 11:18:34 +00:00
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 2009-05-17 01:00:56 +00:00
smatz ed1e54bd84 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 2009-05-16 23:44:36 +00:00
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 2009-05-16 23:34:14 +00:00
smatz a1addc1d95 (svn r16302) -Codechange: remove Vehicle::AllocateList 2009-05-13 21:38:23 +00:00
frosch f8944cc9b3 (svn r16261) -Fix (r16260): Replace a space with a newline and a tab. (thanks smatz) 2009-05-09 14:23:19 +00:00
frosch 677ea100b3 (svn r16260) -Codechange: Add Vehicle::IncrementOrderIndex() to deduplicate some code. 2009-05-09 13:37:18 +00:00
rubidium fb2ea6c9ed (svn r15672) -Codechange: (left,right,top,bottom)_coord -> coord.(left,right,top,bottom), i.e. use Rect. 2009-03-11 17:26:58 +00:00
rubidium c0d71b84f9 (svn r15617) -Change [FS#2694]: vehicle variables 40-43 weren't cached (though spec stated they are). Caching these variables can yield a 10+% speed increase when those vehicle variables are queried often. 2009-03-04 23:32:23 +00:00
rubidium d846eef0b6 (svn r15434) -Codechange: bit of type safety for the DC_xxx flags. 2009-02-09 21:20:05 +00:00
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
rubidium b7c7a1f701 (svn r15354) -Fix (r14803): first shared of a vehicle could be NULL making it impossible to (share-)clone the vehicle. 2009-02-05 15:58:42 +00:00
frosch de9a6fc90b (svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions. 2009-02-01 17:14:39 +00:00
smatz 6dffd8ae82 (svn r15216) -Feature: native support for Transport Tycoon (Original) savegames. Based on SVXConverter's source code and documentation by Roman Vetter 2009-01-23 02:35:17 +00:00
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 2009-01-10 00:31:47 +00:00
smatz 7368c740a6 (svn r14828) -Codechange: move most of save/load-specific code to separate files 2009-01-04 15:32:25 +00:00
rubidium 0d54db5f9f (svn r14803) -Codechange: move order list management into it's own class and remove the order count from the savegame as we can easily count that (PhilSophus) 2009-01-03 13:52:06 +00:00
rubidium d428da5a35 (svn r14801) -Codechange: don't reference Vehicle::num_orders directly but through a method GetNumOrders() (PhilSophus) 2009-01-03 13:20:32 +00:00
smatz 53679122af (svn r14753) -Fix (r1): after buying a company, one could have more vehicles with the same UnitID 2008-12-26 23:53:07 +00:00
rubidium 1721222080 (svn r14745) -Codechange: move "depot_list" and "leave_depot_immediately" out of the vehicle struct (saving up to 16 bytes per vehicle) as it is only used to tell a calling function entered a depot (for autoreplace). 2008-12-26 18:26:11 +00:00
frosch 74ed0b5efc (svn r14702) -Documentation: Add a note about the meaning and validity of Vehicle::dest_tile. 2008-12-20 11:51:52 +00:00
rubidium 2ed3c27822 (svn r14592) -Feature [FS#1124]: non-destructive autofill with option to keep waiting times (PhilSophus) 2008-11-18 23:53:37 +00:00
rubidium b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 2008-09-30 20:51:04 +00:00
rubidium 3b798599b6 (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 2008-09-30 20:39:50 +00:00
smatz e4242c8735 (svn r14398) -Cleanup (r14395): unused function sneaked in 2008-09-25 09:50:31 +00:00
smatz 6987e6015a (svn r14395) -Fix [FS#2285]: crashes and GUI desyncs when order is deleted/modified while the timetable window is open
-Fix: close any dropdown and child windows in the Order and Timetable windows when selected order is deselected, deleted, ...
2008-09-24 16:40:06 +00:00
rubidium abd9f74871 (svn r14096) -Codechange: merge the shared order's vehicle list management to a single location. 2008-08-17 19:56:17 +00:00
frosch 9751fbe4dc (svn r14085) -Cleanup (r14083): Remove no longer used functions. 2008-08-16 14:15:32 +00:00
frosch f7826f8a37 (svn r14083) -Fix [FS#1264, FS#2037, FS#2038, FS#2110]: Rewrite the autoreplace kernel. 2008-08-16 14:02:20 +00:00
rubidium e9c33fb288 (svn r13950) -Add [YAPP]: Trains can now also be in a 'stuck' state when waiting on a path reservation. (michi_cc) 2008-08-02 22:53:21 +00:00
rubidium d974acac89 (svn r13681) -Revert (r13678, r13677): the fixes didn't work in all cases (assertions on savegame loads).
-Fix [FS#2102]: but now in a hopefully beter way.
2008-07-08 15:10:23 +00:00
rubidium 3a793ceea9 (svn r13678) -Fix (r13677): electric trains from pre elrail savegames would get stopped on load. 2008-07-06 11:08:40 +00:00
peter1138 510c0acb4a (svn r13205) -Codechange: Remove unnecessary code-style-buggering-up macro. 2008-05-21 12:06:05 +00:00
rubidium 7ccda80b0b (svn r12986) -Codechange: move the landscape and transport related types from openttd.h to their own headers. 2008-05-07 09:07:19 +00:00
bjarni dbf6e344a4 (svn r12940) -Fix [FS#1974](r12913): [autoreplace] a vehicle backup should include the cargo packets in the vehicle as well 2008-05-04 10:05:35 +00:00
bjarni 757de2bdf5 (svn r12913) -Add: ability to backup and restore a player's economic data and data for a vehicle (or chain of vehicles)
Autoreplace uses this with the following benefits:
  -Mass autoreplace (the button in the depot window) will now estimate costs correctly
  -Autoreplace now either replaces correctly or manages to keep the original vehicle (no more broken trains)
  Thanks to Ammler for testing this
2008-04-27 20:09:29 +00:00
smatz 9fc355fca5 (svn r12862) -Codechange: reduce code duplication for VehicleType -> WindowClass lookup 2008-04-24 09:55:20 +00:00
peter1138 5dcd689f56 (svn r12824) -Codechange: Standardise routines for drawing vehicle images, using correct types and less duplication. 2008-04-21 20:50:58 +00:00
rubidium dea4738382 (svn r12814) -Codechange: reshuffle some variables in the Vehicle struct saving 20 bytes with a 32 bit compiler and 32 bytes on 64 bit compiler per vehicle. 2008-04-21 08:35:27 +00:00
rubidium b139756e2b (svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp 2008-04-20 11:12:07 +00:00
rubidium f55ffd14bd (svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing. 2008-04-20 10:13:54 +00:00
glx 3a84a74f4d (svn r12711) -Codechange: remove unneeded loops 2008-04-14 20:48:17 +00:00
rubidium 570519d79b (svn r12658) -Codechange: unify a vast portion of the CmdSend<VehicleType>ToDepot commands. 2008-04-11 08:40:10 +00:00
rubidium 62bdc381e7 (svn r12657) -Codechange: add 'FindClosestDepot' to the vehicle class. 2008-04-11 08:14:43 +00:00
frosch 96700d5605 (svn r12629) -Codechange: Split VehicleNeedsService() into Vehicle::NeedsServicing() and Vehicle::NeedsAutomaticServicing().
-Fix (r11052): Disable servicing by service-interval if a vehicle has depot orders.
2008-04-08 15:48:32 +00:00
rubidium bdd64495cd (svn r12575) -Codechange: unduplicate Process*Orders for trains, ships and road vehicles. 2008-04-05 10:55:50 +00:00
frosch 15a9fba867 (svn r12531) -Codechange: Rename some variables for consistency. 2008-04-01 14:03:20 +00:00
rubidium 4a1035ab95 (svn r12488) -Codechange: split order.h into order_base.h and order_func.h. 2008-03-30 23:24:18 +00:00
rubidium 93d59fe448 (svn r12476) -Codechange: split type engine related types from engine.h (and openttd.h) to engine_type.h. 2008-03-28 18:00:38 +00:00
rubidium 878489e38d (svn r12469) -Codechange: split type related stuff from group.h (and openttd.h) to group_type.h. 2008-03-28 16:34:50 +00:00
glx b64f637c72 (svn r12331) -Feature: [NewGRF] vehicle variable FE bit 8 2008-03-03 20:56:30 +00:00
bjarni 089969e1ca (svn r12230) -Codechange: [autoreplace] made a function to detect if a vehicle needs autorenewing
This will remove duplicated code and ensure that the check is consistent
2008-02-23 22:01:55 +00:00
smatz a190606f2e (svn r12197) -Fix [FS#1788](r12134): show correct last year profit when the train had negative income
-Codechange: use GetDisplayProfitThisYear() to convert vehicle profit to readable form
2008-02-20 17:06:58 +00:00
smatz a0ddc43e92 (svn r12134) -Change: count the number of ticks a vehicle was running this day to calculate running cost
-Fix [FS#1739]: vehicle profit is now counted with 8bit fract, so it is now shown properly in the vehicle details window
2008-02-13 19:24:40 +00:00
belugas fc4f6dcfb1 (svn r12040) -Codechange: Change IsOrderListShared from a simple function to a class member(MagicBuzz). 2008-02-02 02:45:09 +00:00
glx 525409b0fc (svn r12037) -Codechange: replace OnNewDay_(Aircraft|RoadVeh|Ship|Train) with an OnNewDay method in the Vehicle class 2008-02-01 22:02:14 +00:00
peter1138 ab8382c0db (svn r11822) -Codechange: Replaced fixed size custom name array. Names are now attached to their object directly and there is
no limit to the amount of names.
-Fix: NewGRF engines could not be renamed.
2008-01-12 19:58:06 +00:00
rubidium ac528411df (svn r11818) -Codechange: split player.h into smaller pieces. 2008-01-12 14:10:35 +00:00
rubidium 998d7644f6 (svn r11800) -Codechange: move some functions to a more logical location + some type safety. 2008-01-09 21:05:03 +00:00
peter1138 47082fec5c (svn r11741) -Feature: Add support for NewGRF's train 'tilt' flag. Trains with tilt capability (specific details are per NewGRF set) will be given a 20% speed limit bonus on curves. 2008-01-01 22:24:18 +00:00
peter1138 aab495604a (svn r11735) -Fix [FS#1574]: Don't reset loading indicator IDs when only reloading NewGRFs. 2008-01-01 15:06:37 +00:00
rubidium 384503e7d3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 2007-12-27 13:35:39 +00:00
Renamed from src/vehicle.h (Browse further)