peter1138
ee9f64ecf4
(svn r3602) - Move _railveh_score data to _rail_vehicle_info->ai_rank and remove global variable to return data as we can now access this directly.
2006-02-13 22:13:02 +00:00
tron
5352e9fbcb
(svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff
2006-02-13 21:15:00 +00:00
peter1138
f9b4537228
(svn r3588) - Refit: Use only one global to return the refit capacity rather than one per vehicle type.
2006-02-11 09:24:51 +00:00
peter1138
6d855f3a53
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
2006-02-11 09:17:16 +00:00
tron
50fd9c8f73
(svn r3585) Similar changes to the order handlers of the other vehicle types like r3584
2006-02-10 06:33:56 +00:00
peter1138
bc0b97ea2f
(svn r3579) v->u.rail.first_engine holds an engine type, not a vehicle index, so use INVALID_ENGINE.
2006-02-08 19:06:46 +00:00
peter1138
f491fa733b
(svn r3570) - Explicitly update v->first in TrainConsistChanged() if necessary, as this is far faster than brute forcing it later.
2006-02-07 18:55:06 +00:00
tron
087fe86ed2
(svn r3564) Several smaller changes:
...
- 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-06 09:18:04 +00:00
peter1138
bb016cdff6
(svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them
2006-02-05 19:46:20 +00:00
bjarni
c77c99b3c7
(svn r3535) -Feature: [autoreplace] allow autoreplacing of train wagons
...
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-04 18:25:07 +00:00
peter1138
6c28b1cec7
(svn r3524) - Split newgrf features from engine.[ch] into newgrf_engine.[ch], and add the new files to project files.
2006-02-03 12:55:21 +00:00
tron
1c3e8630fe
(svn r3511) More whitespace ([FS#46] by Rubidium)
2006-02-01 07:36:15 +00:00
tron
9712d6f639
(svn r3510) Fiddle with whitespace and parentheses
2006-02-01 06:32:03 +00:00
bjarni
6f183780c9
(svn r3484) -fix: fixed issue in last commit where loading savegame versions 18 and 19 didn't init the multiheaded engine pointers
2006-01-29 23:04:51 +00:00
Darkvater
4014e36aec
(svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it 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-29 18:57:26 +00:00
peter1138
575d80442e
(svn r3431) - Fix crash when moving vehicles around in a train depot under certain conditions.
2006-01-25 21:33:57 +00:00
peter1138
21ba849dbd
(svn r3422) - Fix: If an engine reaches the rear of a depot, make the engine 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-23 21:05:05 +00:00
bjarni
a4d1725de7
(svn r3403) -Codechange: [multiheaded engines] the references between the front and rear engines are no longer saved
...
instead the pointers are generated on load
2006-01-18 15:05:01 +00:00
bjarni
2b31f5fe7e
(svn r3402) -Fix: [building/cloning] added a string telling if build failed due to not being able to build a vehicle. Triggered when cloning a retired design
2006-01-18 14:12:26 +00:00
peter1138
9c17d0ec93
(svn r3392) Train depot fixes:
...
- 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-08 16:56:41 +00:00
peter1138
e1f9b72c82
(svn r3388) - NewGRF: Allow train running cost class to differ from engine class. Also fix typo in r3384.
2006-01-07 16:47:59 +00:00
truelight
58acfeacaa
(svn r3381) -Fix: r3374 left one bug: allow moving around wagons in a 100 long train
2006-01-07 10:57:32 +00:00
peter1138
5e68953907
(svn r3378) - NewGRF Fix: Use order status to determine whether a vehicle is loading instead
...
of speed, and get that state from first vehicle in a train consist.
2006-01-06 22:49:00 +00:00
truelight
59bea21c2c
(svn r3374) -Fix: [ FS#36 ] Don't allow trains to get bigger than 100 via drag and drop
2006-01-06 21:10:58 +00:00
truelight
a165a40803
(svn r3373) -Fix: don't link a wagon to itself, which resulted in a wagon disapearing, and a depot which was unable to remove
2006-01-06 18:26:02 +00:00
tron
2053685fb5
(svn r3367) Unify the 4 distinct 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 21:35:54 +00:00
tron
318fe153eb
(svn r3365) Staticise 36 functions
2006-01-05 12:40:50 +00:00
tron
ed4b89ee36
(svn r3353) Simplify the automatic length adjustment algorithm for replacing trains: Use the length of the train before the replacement as reference length
2005-12-29 12:42:59 +00:00
peter1138
901068fd6e
(svn r3352) - NewGRF: Move initialization of vehicle random_bits to DC_EXEC blocks to allow use of Random() instead of InteractiveRandom(), which will alleviate some possible network desyncs.
2005-12-28 22:29:59 +00:00
peter1138
c5adf63d77
(svn r3303) Change #if PF_BENCHMARK to #ifdef PF_BENCHMARK
2005-12-14 09:15:06 +00:00
tron
9822b4d755
(svn r3297) Staticise
2005-12-14 06:20:23 +00:00
peter1138
0b48a69e02
(svn r3248) - Codechange: Change interface of CanRefitTo() to supply the engine type directly instead of getting it from a vehicle. This allows the function to be used before vehicles are involved.
2005-11-29 22:29:59 +00:00
bjarni
bc06997bbe
(svn r3219) -Codechange: removed the now obsolite code in the build train command to make half multiheaded engines
2005-11-19 00:10:20 +00:00
bjarni
16e65960b9
(svn r3218) -Feature: Multiheaded train engines will now stay in the same train
...
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-18 23:41:03 +00:00
tron
96dea28eae
(svn r3208) Don't explicitly pass the engine type to look for to GetRearEngine(), because it's the engine type of the vehicle which gets passed as first parameter
2005-11-16 14:07:34 +00:00
tron
d09db07ca1
(svn r3204) Make handling of clicking on vehicles a bit less ugly by avoiding function declarations in .c files and unnecessary indirection
2005-11-16 12:52:01 +00:00
tron
9d0e7b6458
(svn r3181) -Bracing
...
-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 19:48:04 +00:00
tron
6509e42db3
(svn r3179) - RandomRange() and RandomTile() instead of home brewed versions
...
- CHANCE*() instead of mumbling strange numbers
2005-11-14 09:21:05 +00:00
tron
524fd25cbd
(svn r3177) GB, CLRBIT, HASBIT, TOGGLEBIT
2005-11-14 08:09:57 +00:00
tron
b34de09e62
(svn r3176) Use proper types, not some variants of int
2005-11-13 21:16:34 +00:00
tron
81e5b16d71
(svn r3172) static, const
2005-11-13 13:43:55 +00:00
bjarni
1b3e626ff9
(svn r3156) -Fix: removed some cases where autoreplace windows were redrawn when nothing was changed
...
due to the FOR_ALL_VEHICLES(), redrawing those windows are slow
2005-11-08 23:18:09 +00:00
bjarni
df6c48fdba
(svn r3155) -Feature: [autoreplace] autoreplace can now remove cars from too 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 23:20:47 +00:00
peter1138
d91a4df8d7
(svn r3150) Unify some code duplication in HandleLocomotiveSmokeCloud()
2005-11-07 13:02:33 +00:00
peter1138
1fecb61566
(svn r3147) Fix crash when building dual-head rail vehicles...
2005-11-06 13:29:28 +00:00
peter1138
b88564b6be
(svn r3146) Avoid use of variable size declared arrays when allocating articulated rail vehicles.
2005-11-06 12:39:30 +00:00
peter1138
3610c0474b
(svn r3145) Fix two off-by-one errors in building articulated rail vehicles.
2005-11-06 10:17:20 +00:00
bjarni
a3c06f20fa
(svn r3144) -Fix: a new train is now made if the front unit is an engine and the former front engine is moved away (Meush)
2005-11-06 01:15:10 +00:00
peter1138
0d9379f904
(svn r3139) -NewGRF, Feature: support for articulated rail vehicles. This is used, for example, by coal tenders.
2005-11-05 16:07:26 +00:00
bjarni
7715deec3d
(svn r3136) -Fix: [autoreplace] all cargo in engines that consists of more 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 20:52:03 +00:00