(svn r2255) - Fix: [ 9680363 ] [NPF] Broken buoy handling for ships

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.
This commit is contained in:
matthijs
2005-05-02 22:13:20 +00:00
parent d26052c7df
commit 2ab5eee78b
9 changed files with 119 additions and 50 deletions

View File

@@ -890,7 +890,7 @@ static void DrawSmallOrderList(Vehicle *v, int x, int y) {
sel--;
if (order->type == OT_GOTO_STATION) {
if (!(GetStation(order->station)->had_vehicle_of_type & HVOT_BUOY)) {
if (!IsBuoy(GetStation(order->station))){
SetDParam(0, order->station);
DrawString(x, y, STR_A036, 0);