Commit Graph

294 Commits

Author SHA1 Message Date
bjarni
371f080182 (svn r6552) -Feature: [depot window] added a "autoreplace all vehicles in depot" button
Like the "sell all" button, this one lacks a sprite as well. We will hopefully get one shortly
2006-09-28 14:17:08 +00:00
bjarni
2579b68e34 (svn r6542) -Feature: [depot window] added a "sell all vehicles in depot" button
It's right below the sell button (sell whole chain button for trains)
   It's still missing a sprite. That one will be added as soon as anybody draws something we can use
   To make room for this button, all depots except train depots now opens with an additional row and can't be resized shorter than that
2006-09-27 22:44:39 +00:00
peter1138
653e7fa548 (svn r6532) - Feature: Add support for NewGRF sound effects. Currently sound priority isn't supported. 2006-09-27 18:17:01 +00:00
bjarni
5dbfb5c272 (svn r6524) -Code cleanup r6515: cleaned up the command to start/stop all 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-27 12:17:33 +00:00
bjarni
1d554da2fc (svn r6515) -Feature: added "start all" and "stop all" buttons to the depot windows 2006-09-26 19:20:35 +00:00
bjarni
8f4a4a81da (svn r6503) -Codechange: added a function to tell what vehicles a depot contains
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-24 15:01:02 +00:00
peter1138
37e00dbef2 (svn r6474) - Add a patch option to control display of liveries, allowing none, your
own, or all companies.
2006-09-17 20:52:54 +00:00
bjarni
7d1baa32bf (svn r6468) -Codechange r6464: now use error() when failing refit in autoreplace to ensure that such a failure will not break a game
We should only reach this error() if there is a bug, that would otherwise make the vehicles carry a different type of cargo without telling the user
   This also kills the warning added in r6464 (oops)
2006-09-16 22:09:26 +00:00
bjarni
3d3d9a11bd (svn r6464) -Fix r6393: killed a warning when compiling without asserts
added an error popup in the game if autoreplace fails to refit
   Since it's only triggered by conditions bugs can trigger, it works kind of like a non-fatal assert in builds without asserts
2006-09-16 16:21:47 +00:00
peter1138
851874d8e1 (svn r6456) - Replace single colour scheme for passenger wagons with separate schemes for each of steam, diesel or electric engines. Savegames from the previous revision will not load. 2006-09-15 17:36:54 +00:00
peter1138
88d5472fe8 (svn r6455) - Feature: Add 2cc (two company colours) livery schemes. This replaces the original colour selection window and bumps the saveload version. Liveries are supported for all vehicles, not just those with 2cc support. Thanks to lakie for GUI inspiration. 2006-09-15 12:27:00 +00:00
bjarni
00a08601c9 (svn r6424) -Codechange: [autoreplace] removed a loop though all vehicles 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-08 10:47:39 +00:00
Darkvater
3fee255543 (svn r6407) -Fix: Check return values of DoCommand() with CmdFailed and that of DoCommandP
with a boolean type.
2006-09-05 23:43:42 +00:00
bjarni
85a71fcea9 (svn r6394) -Fix r6393: removed a warning originally removed in r6376 accidentally readded in r6393 2006-09-05 13:39:38 +00:00
bjarni
4546700218 (svn r6393) -Fix: [autoreplace] now refit costs are added to the estimated costs (could spend more than allowed when estimate and actual cost were not the same)
-Fix: [autoreplace] fixed a very rare failure when building an engine could cost more than the player could pay before selling the old one
   this happened when the replacing the front cost so much that the the rear end didn't have enough money to build as expected
   now the estimate keeps track of the price for the wagons/engines in front of the unit it's currently looking at
-Codechange: [autoreplace] added function to learn if and what cargo type to refit to. Needed to allow the estimation to tell refit costs
2006-09-05 12:46:14 +00:00
glx
9aa84ab2d2 (svn r6386) -Fix(r6376): removed a warning 2006-09-04 22:22:38 +00:00
rubidium
63687763e9 (svn r6381) -Cleanup: make the '/* */' comments that span multiple lines more uniform.
-Cleanup: whitespace alignment of a few tables.
2006-09-04 20:40:33 +00:00
bjarni
1a0476535d (svn r6376) -Codechange: [vehicle refit] moved all refit cost calculations into GetRefitCost()
Now it's possible to tell refit costs for an EngineID without actually having build a vehicle
2006-09-04 09:07:52 +00:00
tron
1c21c645ae (svn r6353) -Codechange: Make DestinationID a typedef of uin16, which is as 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-03 08:25:27 +00:00
bjarni
45eb7cb12a (svn r6300) -Fix: FS#321 autoreplace / wagon removal
turned out to be a failure to run the wagon remoral code if the player didn't have enough money to do the replace after the replace took place
  the cost animation failed to show in this condition as well
  Now the test is not run anymore after the replace took place
2006-09-01 18:35:36 +00:00
bjarni
d7e1d08d53 (svn r6291) -Feature: Vehicle lists from the station window now also got the 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-09-01 10:24:15 +00:00
bjarni
53227e29f8 (svn r6284) -Code Cleanup r6282: cleaned up the code a bit 2006-08-31 19:15:01 +00:00
bjarni
3367b2a95b (svn r6282) -Codechange: made a function to create the vehicle list for vehicle list windows
this list is also used by mass goto depot to ensure that they use the same vehicles
	right now only the list of all vehicles use this for goto depot, but eventually all the types will use this
2006-08-31 17:42:27 +00:00
Darkvater
fd09bd15b2 (svn r6280) -Codechange: Use the same naming for trains as for other vehicles:
CMD_SEND_TRAIN_TO_DEPOT instead of CMD_TRAIN_GOTO_DEPOT
2006-08-31 15:57:38 +00:00
bjarni
7922c9ff84 (svn r6249) -Fix: fixed assert when pressing goto depot in an empty list (forgot to disable the button in this condition)
-Code cleanup r6246: simplified SendAllVehiclesToDepot() and moved an { in PlayerVehWndProc()
2006-08-30 23:01:45 +00:00
bjarni
744840c3da (svn r6246) -Feature: added the many times requested "send all vehicle to 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-30 21:39:01 +00:00
bjarni
15f9208302 (svn r6229) -Feature: Shared order lists now got a "goto depot" button
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-29 23:39:57 +00:00
rubidium
27cee58ab8 (svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc. 2006-08-28 18:53:03 +00:00
truelight
96e9fd333b (svn r6157) -Codechange: DeleteVehicle removes a vehicle from the pool
-Codechange: DestroyVehicle is called by DeleteVehicle to remove all things where a vehicle depends on.
  Last 2 changes to prepare for new pool system. Not pretty now, will be soon.
2006-08-26 20:09:25 +00:00
truelight
db8dfcd6e9 (svn r6142) -Codechange: added WaypointID (sorry DV, couldn't splits it anymore)
-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 16:34:03 +00:00
truelight
b23f719ab9 (svn r6053) -Codechange: renamed all IsXXXIndex to IsValidXXXID
-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 18:15:17 +00:00
truelight
0461d89612 (svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips 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 15:33:35 +00:00
rubidium
480af9c917 (svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct. 2006-08-22 14:38:37 +00:00
rubidium
28a0843707 (svn r5999) -Feature: change the original date format to a 32 bits format based at the year 0.
The game date subsystem now allows someone to start in the year 0 and continue
up to the year 5 000 000. However, you currently cannot build anything before 
1920 as there is no newgrf support for dates before 1920 or after 2090 yet.
2006-08-20 18:40:57 +00:00
bjarni
08fd0bed1f (svn r5917) -Fix: [clone vehicles] FS#275 Bugfix: Cloned Road Vehicles Are Not Refitted To Correct Cargo (Mart3p) 2006-08-15 15:27:30 +00:00
Darkvater
a35511dc9b (svn r5898) -Fix [FS#249]: Bugfix: Goto Depot not always working for road vehicles. (mart3p) 2006-08-14 22:34:43 +00:00
bjarni
4b82897e25 (svn r5891) -Code cleanup: cleaned up the code added in revision 5888 2006-08-14 16:18:41 +00:00
bjarni
37f94c7557 (svn r5888) -Fix: [autoreplace] if vehicles breakdowns and service are turned off, the vehicles failed to enter any depots
now they will quickly go to a depot if set to be replaced
	the tradeoff is that a vehicle set to be replaced and without a depot in the orders will forget about the orders and head for a depot. If the replace fails (lack of money), it will exit and try to head for the depot again
	also all vehicles of that type will rush to the depots at once, risking causing traffic jams. This is because there is no way to even it out like normal depot visits offers
	Tip: add a depot to the orders of all vehicles, set it to service only and it will always be skipped unless the vehicle is set to be replaced. This should help on the jam issue and if the replace fails, the vehicle will go though a whole round of the orders and make more money before trying again
2006-08-14 15:03:01 +00:00
rubidium
243872b4fd (svn r5887) -Cleanup: move date related functions, defines and variables to date.[ch]
-Cleanup: fix whitespace related coding style issues in date.[ch]
-Cleanup: make original comments doxygen compatible and remove/change outdated comments
2006-08-14 14:21:15 +00:00
tron
0973dc78cd (svn r5614) Move a type declaration to its only user 2006-07-26 08:41:14 +00:00
tron
16bf3e35cd (svn r5613) Rename VS_DISASTER to VS_SHADOW, because this is what this flag actually means 2006-07-26 08:32:20 +00:00
tron
3aa408ee02 (svn r5612) Restructure some code which uses the vehicle position hash to make it a bit clearer what's going on 2006-07-26 08:27:05 +00:00
tron
c4ed8e9ec4 (svn r5599) GetPrevVehicleInChain() may never fail to find a valid vehicle. Reflect this in the code 2006-07-23 17:17:43 +00:00
KUDr
b14c5fdf74 (svn r5483) -Fix: [YAPF] desync - for MP games invalidate YAPF cache on every tick to keep it exactly the same on server and clients (it doesn't fix the real source of the problem, but should solve it). Thanks TrueLight for hunting this bug. 2006-07-11 19:04:50 +00:00
bjarni
446804c19d (svn r5468) -Fix: fixed declaration after statement added in 5465 (I wonder why the makefile failed to warn about this)
also removed a few lines of debug code
2006-07-07 17:16:52 +00:00
bjarni
356954ca26 (svn r5465) -Feature: [autoreplace] replacing from a train engine without cargo capacity to one with cargo capacity will now make autoreplace refit the engine to carry the cargo type from the last wagon in the train
if the train is carrying the type of cargo, that is default for the engine, it will not be refitted
	if the last wagon do not carry cargo, the refit will be to the type of the last wagon, that do carry cargo
2006-07-07 07:19:38 +00:00
bjarni
0df769f3ed (svn r5428) -Fix: [vehicles] sovled crash when trying to build a vehicle type, that is set to max 0 (spotted by roboman)
somebody might add a better string than "too many vehicles in game" since none are allowed, but at least it will not crash anymore
2006-06-29 09:05:30 +00:00
tron
2b27073156 (svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular 2006-06-27 21:25:53 +00:00
peter1138
e679cfe802 (svn r5191) - NewGRF: add cargo refit support for road vehicles 2006-06-09 07:45:26 +00:00
peter1138
d286235a6a (svn r5146) - NewGRF: Support selection of aircraft default cargo type by checking its refit mask. If aircraft can be refitted to passengers, no change happens, else the first refittable type is chosen. Also use refit capacity to determine the default capacity. 2006-06-07 07:20:28 +00:00