Age | Commit message (Collapse) | Author |
|
by YAPF related change of GetTileTrackStatus() - r4419)
|
|
-Feature: Bridges can now be placed above:
Any railway track combination (excluding depots and waypoints)
Any road combination (excluding depots)
Clear tiles (duh), including fields
Tunnel entrances
Bridge heads
Thanks to Tron for idea and implementation, KUDr for the yapf synchronization and many others for hours of testing
There are still a number of visual problems remaining, especially when electric railways are on or under the bridge.
DO NOT REPORT THOSE BUGS FOR THE TIME BEING please.
|
|
multistop handling.
|
|
support and users for testing.
|
|
variations
|
|
and was number of vehicles (of a type, not total) was reached
now the new vehicle gets the same number as the old one, completely removing the problem where we could run out of numbers
since we don't have to find free numbers for the new vehicles, autoreplace should be somewhat faster, specially in late games
NOTE: in CmdBuildRailVehicle(), bit 0 and 1 in p2 have been switched to make the meaning of bit 0 consistent with the other build commands. CmdCloneVehicle() is modified to follow this as well
|
|
ROAD_{NORMAL,CROSSING,DEPOT} to ROAD_TILE_* for consistency
|
|
|
|
eg. 0xF3A6. Use fixed lengths where applicable (newgrf). Unfortunately '%#X' is unusable since it gives 0XFF3 and '%#x' gives 0xff3 while we want 0xFF3 :P
|
|
|
|
Eats a tiny bit of performance, but the likelihood that the depot is found is greatly increased
|
|
with the remove-tool (r4348 surfaced this). In CmdRemoveRoad tiletype was not checked for ownership. Intorudce IsLevelCrossingTile() which checks if a tile is a crossing without knowing the type. Suggested by peter1138 and Tron.
|
|
should be the first include). Thanks to KUDr for solution and testing
|
|
coordinates of the tile to operate on - to a TileIndex
Remove DoCommandByTile(), because now it does the same as DoCommand()
|
|
|
|
1) Improved the road vehicle allocation (aka slotting) for multistop. Stops can now accept unlimited, er... 256, vehicles.
2) Removed the "wait for stop" feature, because it did not work in practise.
3) Slotting now ignores unreachable stations. Uses NPF at the moment because the old pathfinder cannot do it (yet)
4) Now matter how many vehicles approach a station, they will always be distributed evenly over existing stops.
5) Hopefully the last fundamental change to multistop
|
|
|
|
moved them to station_map.h to keep consistency
|
|
|
|
station from a tile
|
|
-Codechange: No longer hijack the VS_STOPPED flag when waiting for a slot.
-Fix: Vehicles waiting for slots can still be controlled (sent to depot, orders modified, ...)
-Fix: Vehicles no longer stop on crossings and during overtake operations
|
|
|
|
IsTunnel(), which just checks for a tunnel, but not the tile type as IsTunnelTile() does
|
|
|
|
variables sensible names. I flipped a 'b' and a 'd' in r3785
|
|
|
|
|
|
|
|
road vehicles with the new DirDiff stuff
|
|
DiagDirection and friends
|
|
and friends
|
|
|
|
|
|
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
|
|
constness, avoid some more function pointer casts
|
|
|
|
twoards the closest station, not the last one in the list
|
|
|
|
-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).
|
|
This fixes an assert introduced in r3663. Also fix the return type of GetRoadStopType().
|
|
instead of a station's first road stop. This only has effect with road vehicle queuing disabled.
|
|
road pieces
|
|
status field and had the sensible name 'b'; instead directly use the road stop status field
|
|
|
|
use INVALID_VEHICLE instead of nonsense INVALID_SLOT.
|
|
add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff
|
|
|
|
vehicle orders by something remotly comprehensible
|
|
- 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
|
|
newgrf_engine.[ch], and add the new files to project files.
|