(svn r2448) General cleanup of rail related code, more to follow.
* Add: rail.[ch] for rail-related enums and wrapper functions. * Codechange: Removed dozens of magic numbers with below enums. * Codechange: Rewrote CheckTrackCombination(). * Add: TILE_SIZE, TILE_PIXELS and TILE_HEIGHT constants. * Add: enums RailTileType, RailTileSubtype, SignalType to mask against the map arrays. * Add: enums Track, TrackBits, Trackdir, TrackdirBits for railway track data. (Note that the old RAIL_BIT constants are replaced by TRACK_BIT ones). * Add: enums Direction and DiagDirection * Codechange: Moved a bunch of track(dir) related lookup arrays from npf.[ch] to rail.[ch]. * Codechange: move RailType enum from tile.h to rail.h. * Add: Wrapper functions for masking signal status in the map arrays: SignalAlongTrackdir, SignalAgainstTrackdir and SignalOnTrack. * Add: Wrapper functions to access rail tiles, using above enums * Add: Wrapper functions to modify tracks, trackdirs, directions, etc. * Add: Wrapper functions for all lookup arrays in rail.[ch] (Arrays are still used in parts of the code) * Codechange: Renamed some variables and arguments to better represent what they contain (railbit -> track, bits -> trackdirbits, etc.). * Codechange: Don't use FindLandscapeHeight() in CmdRemoveSingleRail(), since it returns way too much info. Use GetTileSlope() instead. * Codechange: [NPF] Removed some unused globals and code from npf.c.
This commit is contained in:
@@ -15,10 +15,10 @@
|
||||
#include "engine.h"
|
||||
#include "sound.h"
|
||||
#include "debug.h"
|
||||
#include "npf.h"
|
||||
#include "vehicle_gui.h"
|
||||
#include "depot.h"
|
||||
#include "station.h"
|
||||
#include "rail.h"
|
||||
|
||||
#define INVALID_COORD (-0x8000)
|
||||
#define GEN_HASH(x,y) (((x & 0x1F80)>>7) + ((y & 0xFC0)))
|
||||
@@ -1752,7 +1752,8 @@ byte GetVehicleTrackdir(const Vehicle* v)
|
||||
return _track_direction_to_trackdir[FIND_FIRST_BIT(v->u.rail.track)][v->direction];
|
||||
break;
|
||||
case VEH_Ship:
|
||||
if (v->u.ship.state == 0x80) /* We'll assume the ship is facing outwards */
|
||||
if (v->u.ship.state == 0x80) /* Inside a depot? */
|
||||
/* We'll assume the ship is facing outwards */
|
||||
return _dir_to_diag_trackdir[GetDepotDirection(v->tile, TRANSPORT_WATER)]; /* Ship in depot */
|
||||
|
||||
return _track_direction_to_trackdir[FIND_FIRST_BIT(v->u.ship.state)][v->direction];
|
||||
|
||||
Reference in New Issue
Block a user