summaryrefslogtreecommitdiff
path: root/station.h
AgeCommit message (Collapse)Author
2006-04-08(svn r4324) Remove the unused road stop type attribute from struct RoadStoptron
2006-04-04(svn r4272) -Codechange: Moved the map-accessing stuff from station.h into ↵celestar
station_map.h
2006-04-03(svn r4259) -[multistop] Fix/Feature/Codechange:celestar
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
2006-03-31(svn r4215) -Codechange: Renamed *RoadStation* functions to *RoadStop* and ↵celestar
moved them to station_map.h to keep consistency
2006-03-29(svn r4155) -Changed GetRoadStopByTile to use GetStationType and moved it. ↵celestar
TODO: unify RS_TRUCK and STATION_TRUCK (same for bus)
2006-03-26(svn r4131) - CodeChange: Add proper semantics for StationID for such ↵Darkvater
variables instead of using the general uint16-type. StationID was added for depots, waypoints and stations where necessary. We probably need to change GetDepot(), IsDepotIndex(), IsStationIndex(), GetWaypoint() and IsWaypointIndex() as well to use StationID.
2006-03-26(svn r4111) Fix/Remove some stale commentstron
2006-03-05(svn r3766) Add a function to get the RoadBits from an arbitrary tiletron
2006-03-02(svn r3730) Multistop modifications:celestar
-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).
2006-02-27(svn r3681) - [Multistop] Check the RoadStop type before check its status. ↵peter1138
This fixes an assert introduced in r3663. Also fix the return type of GetRoadStopType().
2006-02-18(svn r3612) - RoadStop->slot[] stores a vehicle index. Adjust its type and ↵peter1138
use INVALID_VEHICLE instead of nonsense INVALID_SLOT.
2006-02-03(svn r3530) - NewGRF: Move station resolver to newgrf_stationpeter1138
2006-02-03(svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update ↵peter1138
project files.
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-11-14(svn r3177) GB, CLRBIT, HASBIT, TOGGLEBITtron
2005-11-12(svn r3167) - NewGRF: Start moving custom station code to separate files.peter1138
Rewrite handling of station classes. Allow for more than 8 station tile layouts. Start of code to unload custom stations.
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-10-22(svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in ↵tron
comments, excess empty lines, minor other changes nothing spectacular, just some stuff, which piled up
2005-10-16(svn r3049) Replace byte/int/uint by RailType where appropriatetron
2005-10-07(svn r3024) -Codechange: Another batch of replacements of ↵tron
int/uint/int16/byte/-1 with proper types and constants
2005-10-04(svn r3014) -NewGRF, Codechange: Make all sprite group references be ↵peter1138
pointers instead of copying the data around.
2005-09-30(svn r3001) s/Player*/const Player*/tron
s/byte/PlayerID/ s/int/PlayerID/ and related changes
2005-09-18(svn r2962) - const correctness for all Get* functions and most Draw* ↵Darkvater
functions that don't change their pointer parameters - change a lot of byte player types to PlayerID - beautify header files, same "#endif /* filename */" ending
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-21(svn r2664) Remove depedency on player.h from variables.htron
2005-07-13(svn r2558) Change the internal map format from 7 arrays to one array of ↵tron
structs, this doesn't change the saved format for now. It's a stepping stone for further changes.
2005-06-24(svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile"tron
2005-06-15(svn r2441) -Feature: You can now give transfer order to set up feeder systemscelestar
2005-05-14(svn r2306) - CodeChange: Check the last commands; refits. This needed an ↵Darkvater
extensive rewrite and global/local-cargo ID juggling and bitmasking. However with this done it looks better as well and is compatible with newgrf handling. Big thanks to HackyKid for doing most of the work. This also closes patch "[ 1199277 ] Command checks"
2005-05-06(svn r2272) Remove unused attribute from struct Stationtron
2005-05-02(svn r2255) - Fix: [ 9680363 ] [NPF] Broken buoy handling for shipsmatthijs
Buoys will now try to get within 3 tiles of a buoy instead of a the actual buoy tile. This gets ships to got past buoys in a realistic (IMO) way instead of barging right through them. - Fix: [NPF] Trains get curves penalties sometimes even when the track is straight. - Add: [NPF] Ships get a penalty for going over buoys now, so they will try to go around. - Add: [NPF] Ships get a penalty for curves too, yay for straight lines. - Add: TrackdirToTrack(), TrackToTrackdir(), IsDiagonalTrack() and IsDiagonalTrackdir() helper functions. - Add: IsBuoy() and IsBuoyTile() helper functions. - Codechange: Rearranged part of the control flow of ShipController(), removing a goto.
2005-05-02(svn r2246) - CodeChange: Station is 'st' not 'station' - random commit of ↵Darkvater
the day
2005-04-22(svn r2222) Check the parameters of Cmd{Insert,Delete,Modify,Skip}Order() ↵tron
and CmdRestoreOrderIndex(): - Check if the vehicle exists - Check if the vehicle belongs to the correct player - Check if the new order is valid (type, destination, flags) (CmdInsertOrder)
2005-04-12(svn r2189) Introduce and use IsCompatibleTrainStationTile()tron
This should prevent trains, which are longer than the station, to turn around without stopping under certain circumstances and fix speed limit for trains entering a station, when realistic accerlation is used
2005-04-11(svn r2184) - CodeChange: remove the copy of ClearSlot(), which is now also ↵Darkvater
called for CmdSkipOrder(). This also fixes the involuntary crash introduced 2 revisions ago
2005-03-25(svn r2055) -CodeChange: Begun introducting StationIDcelestar
2005-03-25(svn r2054) -CodeChange: Removed an unused enumcelestar
2005-03-10(svn r1981) Typedef some structs and enumstron
2005-03-05(svn r1928) Miscellaneous cleanups (data types, whitespace, const correctness)tron
2005-02-13(svn r1872) -Fix: Fixed an inline problem which caused MSVC6 to not compile :/celestar
2005-02-06(svn r1834) - Fix: NPF does not check the owner of its target, busses try to ↵matthijs
enter other players' depots. TODO - Add: asserts to find the v->u.rail.track == 0 problem. - Add: IsValidDepot(), IsValidTown(), IsValidSign(), IsValidVehicle(), IsValidStation() - Add: GetTileOwner(), IsTileOwner() - Codechange: Replaced IsShipDepotTile(), IsTrainDepotTile(), IsRoadDepotTile() by IsTileDepotType(). - Codechange: typedeffed the MAP_OWNERS as Owner. Should be used as variable type. - Codechange: Replaced a few uint by TileIndex.
2005-02-04(svn r1788) -Add: Made RoadStops dynamic. You can now create up to 64k ↵truelight
roadstops.
2005-02-03(svn r1776) -Add: Dynamic stations. You can now have up to 64k of stationstruelight
2005-02-02(svn r1770) -Fix: Hopefully last pieces of code that are containing a station-idtruelight
(and should be an uint16, not uint8)
2005-01-31(svn r1751) - Feature: New PathFinder (NPF).matthijs
- Supports trains, road vehicles and ships. - Uses A* pathfinding (same codebase as the new ai). - Currently unlimited search depth, so might perform badly on large maps/networks (especially ships). - Will always find a route if there is one. - Allows custom penalties for obstacles to be set in openttd.cfg (npf_ values). - With NPF enabled, ships can have orders that are very far apart. Be careful, this will break (ships get lost) when the old pathfinder is used again. - Feature: Disabling 90 degree turns for trains and ships. - Requires NPF to be enabled. - Ships and trains can no longer make weird 90 degree turns on tile borders. - Codechange: Removed table/directions.h. - table/directions.h contained ugly static tables but was included more than once. The tables, along with a few new ones are in npf.[ch] now. Better suggestions for a location? - Fix: Binary heap in queue.c did not allocate enough space, resulting in a segfault. - Codechange: Rewritten FindFirstBit2x64, added KillFirstBit2x64. - Codechange: Introduced constant INVALID_TILE, to replace the usage of 0 as an invalid tile. Also replaces TILE_WRAPPED. - Codechange: Moved TileAddWrap() to map.[ch] - Add TileIndexDiffCByDir(), TileIndexDiffCByDir(). - Codechange: Moved IsTrainStationTile() to station.h - Add: IsRoadStationTile() and GetRoadStationDir().
2005-01-29(svn r1721) -Feature: It is now possible to build multiple road stations (up ↵celestar
to 8) on a single station. Thanks to: Truelight for the saveload code, Darkvater and Hackykid for network testing and Tron for proof-reading 1500 lines of diff.
2005-01-22(svn r1594) Convert all undefined parameter lists to (void) and add the ↵tron
appropriate warning flags in the Makefile
2005-01-15(svn r1525) -Codechange: rewrote the _order_array, now it can be made dynamic.truelight
-Codechange: renamed all 'schedule' stuff to 'order(list)' -Codechange: moved all order-stuff to order_cmd.c / order.h -Codechange: vehicles that share orders are now linked to eachother with next_shared/prev_shared in Vehicle Developers: please use AssignOrder to assign data to an order. If not, you _WILL_ make the save-routine to assert!
2005-01-06(svn r1407) -Codechange: changed a lot around _stations, _vehicles, _towns ↵truelight
and _industries (in prepare of dynamic arrays): - DEREF_XXX is changed into GetXXX - All direct call are directed via GetXXX - struct Industry has now an index-field - ENUM'd some stuff - Replaced home built loops with FOR_ALL_XXX - Added _stations_size, _vehicles_size, ... which gives the length of the array (which will be dynamic in the near future) - Changed lengtof(XXX) to _XXX_size (e.g. _stations_size) - Removed all endof(XXX) (because mostly it was part of a FOR_ALL_XXX) - Made the sort-functions of all 4 dynamic - Made all 4 Initialize functions more of the same - Some minor tab-fixing and stuff (tnx to Tron for proof-reading my 100kb patch ;)) Note for all: please do NOT directly call _stations, _vehicles, _towns and _industries, but use the right wrapper to access them. Thank you. Ps: please also do not use 'v++', where v is of type Vehicle *.